Age | Commit message (Collapse) | Author | Files | Lines |
|
BitmapColor itself is kept to distingish the Color usage as part
of a color palette, which continues to store the offset in the
blue value. The original special mbIndex handling is long gone
since commit 1fefdd6f3b41 ("Alpha channel in BitmapColor - change
bIndex to alpha"), so there is no data difference.
This also results in the following changes:
* now has a basic_ostream<charT, traits>& operator<<
(that was my actual starting point... for an other bug fix)
* there is a minimal difference for GetLiminance
BGR(29,151,76) => BGR(28,151,77)
* no more return values for Merge and Invert
(previously returning *this)
* replaces all GetBlueOrIndex with GetIndex
This leaves one "problematic" part: the GetColorError handling.
At first glance it should probably be virtual. The Color variant
is less strict then the BitmapColor one - for whatever reason.
BitmapColor is always used to search for the best match in a
Palette. Currently I'm simply leaving both variants. Would be
nice to have an explict for functions here.
Change-Id: I251ba3024a1d60f2a9d9fde9cd0a60f08e8322a7
Reviewed-on: https://gerrit.libreoffice.org/72181
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: I0cc79534112ae8897a9887942238ff1236c4a3eb
Reviewed-on: https://gerrit.libreoffice.org/72217
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Qt generates three change events when changing the KDE theme:
FontChange, StyleChange and PaletteChange. LO has two:
SettingChanged and FontChanged. And like Qt LO will inform all
widgets / windows independently. To prevent several redraws,
this patch just collects all Qt's change events and notifies LO
once a bit later via a Timer.
Change-Id: I9b45f543f13a84e39247a642a0e33c9ec008a46a
Reviewed-on: https://gerrit.libreoffice.org/72196
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: I64b5c3c5a19408febe7753db6ea403b91f7f5c83
Reviewed-on: https://gerrit.libreoffice.org/72188
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
By creating deleted methods for the wrong calls.
Avoids the compiler needing to construct a temporary
Change-Id: I3b8c648d6bb22d22827bf74f21ea5a2a17fc0f6a
Reviewed-on: https://gerrit.libreoffice.org/72103
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I4894023e42cbfa32916ee3ddfb2cfb5426cfc69f
Reviewed-on: https://gerrit.libreoffice.org/72195
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Change-Id: Ia9c99a17d5a95d67a412cfde959192c99caa70be
Reviewed-on: https://gerrit.libreoffice.org/71956
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
ImpPeekGraphicFormat now uses GraphicFormatDetector for type
detection.
Change-Id: I4ef2c3c57f72466fcb8c56c64a30f00ad6421d25
Reviewed-on: https://gerrit.libreoffice.org/72137
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I6afc443ced9f4a6a436d9ba5beea22d1701c5d1e
Reviewed-on: https://gerrit.libreoffice.org/72143
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I2729cb85f156ddafec69cc3280e9d8544f7c6182
Reviewed-on: https://gerrit.libreoffice.org/72117
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
This just stops the bleeding (crash) in a special case when screen
number argument of SalFrame::ShowFullScreen is -1 (meaning
'fullscreen spanning all available displays')
It doesn't yet extend the fullscreen window over all screens, this
will be done in a follow-up fix
Change-Id: I2cf48096a1fe1ec33c943f10acb41c59585b325f
Reviewed-on: https://gerrit.libreoffice.org/71965
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
|
|
We need to get VCL initialized early in UniPoll mode, since the main
setup doesn't occur until runPoll is invoked, and we want to call lots
of virtual methods that take the SolarMutex before then - which requires
VCL to be initialized.
Change-Id: Id9c1b74c126cf7bb71d6560b7585d37327a9f5ef
Reviewed-on: https://gerrit.libreoffice.org/72071
Tested-by: Jenkins
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Change-Id: I01916000ba2300a3905fe606301abd8ddadd3770
Reviewed-on: https://gerrit.libreoffice.org/72113
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
It's converted to QString anyway.
Change-Id: I5d9ccf05416dae603c195edc335d7b522dcf8c5d
Reviewed-on: https://gerrit.libreoffice.org/72102
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Currently we detect a graphic format in a ImpPeekGraphicFormat
method, which is called when reading a graphic from a stream.
The code is quite convoluted and doesn't help with readability
of graphicfilter.cxx
Additionally there exists an detection code written for the UNO
class GraphicDescriptor, which duplicates the detection, but can
in addition also extract other metadata at the same time.
This introduces the initial implementation of GraphicFormatDetector
class. It will first replace the code in ImpPeekGraphicFormat
to detect the graphic format and then later also be extended to
do what the GraphicDescriptor is doing. But currently it only
duplicates the implementation of ImpPeekGraphicFormat.
The problem with both of the current solution is that there are
not any tests written. For the GraphicFormatDetector however the
approach is to add test cases to check the current implementation
and only then refactor the code.
Change-Id: Idb9d3859b4380e3f15237d97aff969ce81e631dd
Reviewed-on: https://gerrit.libreoffice.org/72086
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: Ia91e8d470729fff3f34e5f244a7e19359433a2ee
Reviewed-on: https://gerrit.libreoffice.org/72068
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I7b4d2e5e611935284e2902b0089950768dfb7717
Reviewed-on: https://gerrit.libreoffice.org/72036
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Such ID is not meant to be presented to the user, but to be an ID
which is stable over application development. Typically, this is
the gtkbuilder ID. Such an ID can then be used to identify a given
well-known accessible object independently from the current locale,
user-visible labelling, or dialog structure. This can then be used
for tailored screen reading (e.g. automatically announcing the
content of a well-known object), or for automatic regression testing
(to check the behavior of well-known objects). Uniqueness within
the window is thus desirable when returning a non-empty string.
This adds XAccessibleXContext2 to augment XAccessibleXContext with
getAccessibleId(). The VCL implementation just takes Window::get_id(),
i.e. the gtkbuilder id, which is enough for most use cases for now.
atk_object_wrapper_new then passes it to
atk_object_set_accessible_id() for AT-SPI technologies to pick it up.
Change-Id: Iea0ad08d036e539dbcfec1a9be026c8da8d17357
Reviewed-on: https://gerrit.libreoffice.org/71743
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Jenkins
|
|
Change-Id: I1fa8248efa16a718f273f20620281737b0da455d
Reviewed-on: https://gerrit.libreoffice.org/72024
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Plus some build fixes triggered by this.
Change-Id: I59b21def706598ceffd45ae5b1f0262ec9c1ad50
Reviewed-on: https://gerrit.libreoffice.org/71581
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
2nd attempt to fix the bug described in commit 00221089800c ("Qt5
IM allow committing empty strings") and various siblings of it.
This also reverts it.
What I see is calls with "all-empty" events (preedit, commit and
replacementLength() == 0; no QInputMethodEvent::Attribute), some
from QIBusPlatformInputContext::updatePreeditText.
There are various Writer document edit states with (selected)
text, undo, cursor position and focus changes to other windows via
Ctrl+Tab, which will result in inputMethodEvent calls totally in
contrast to the expected text state, all somehow always related to
all-empty events. They currently result in wrongly deleted
selected text, change of selection, cursor movement or general
change of text from old preedit. Most time on focus out / window
change, some times at first meta-key press after focus in.
This patch tries hard not to corrupt Writers edit state with these
all-empty events. No idea if this is some bug on LO's qt5 side or
expected, but KDE kate and VCL gtk3 and gen work fine, so I assume
Qt's behaviour is correct. FWIW gtk3 also does some extended IM
handling with focus, so probably this is the Qt equivalent of it.
But then I couldn't find some eqivalent code in Qt's source code.
I actually expected an even more complex solution (if this really
fixes all cases).
Works for a multitude of tests I tried to come up with, but is
quite probably not the final fix to this, as qt5 current doesn't
handle replacementStart() and replacementLength() at all.
Also never saw a call to Qt5Frame::EndExtTextInput.
Change-Id: I4210e0588041cfb4d80dbdfdb937e430a5f7cbfb
Reviewed-on: https://gerrit.libreoffice.org/71988
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
This is intended to replace the ImplPixelFormat in macOS and
OpenGL backends, which are duplicated. It'll also come in
handy for other situations in the future.
Also ImplPixelFormat4 (4-bit Palette) in the macOS backend
doesn't work and never has worked correctly (bug at writing).
This fact was discovered while testing the ScanlineTranformer,
which was based on the ImplPixelFormat* code.
Change-Id: I96a172bd61c2cc116ab3e8b9f47f23f945243e96
Reviewed-on: https://gerrit.libreoffice.org/71992
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I4b4fc85024d64f94197bd0fd25ed8ba0ada004ba
Signed-off-by: Adrien Ollier <adr.ollier@hotmail.fr>
Reviewed-on: https://gerrit.libreoffice.org/71807
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
...after 7764439f85f23efb4510b41e795abd1e4c9089e9 "WidgetDefinition: add
'action' state for the PushButton" introduced code that downcasts that
suspicious ImplControlValue to a PushButtonValue
Change-Id: I3ed24cc4a862d53ad5b6e95b4707bab7947ce7ba
Reviewed-on: https://gerrit.libreoffice.org/71998
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Jenkins
|
|
Change-Id: Idfefe7598df0b2e382be84aa5bfc8b60201768a7
Reviewed-on: https://gerrit.libreoffice.org/71991
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: Ia29abf667b1d010692e89b3b8c23614a4b345669
Reviewed-on: https://gerrit.libreoffice.org/71962
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I1c10010eb7fd33a03f477af0cba03ae74859b174
Reviewed-on: https://gerrit.libreoffice.org/71959
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Improve the conversion method to do something reasonable with
empty Rectangle.
Use the conversion method in more places.
Change-Id: I48c13f3d6dae71f39f03f7939101e545c8125503
Reviewed-on: https://gerrit.libreoffice.org/71853
Tested-by: Jenkins
Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
This includes some not-so-nice lifetime handling of the button
"clicked" connection handling. I decided to keep the code in
one place, simply always forcing a disconnect on show, instead
of a more "optimized" code version in SetFrame.
First we try to get the icon from the system theme, but use LO's
own icon theme as a fallback.
Change-Id: Ic0459623ec907b9a54bef4670bf65cf587cd47ea
Reviewed-on: https://gerrit.libreoffice.org/71784
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Apparently the offset needs to be checked against the total size
of the stream, not against the remaining size.
(regression from b67d9a5db61de3cef2dac072c55bf1dac9a2dc4c)
Change-Id: I7e714b7c4ce34b5285cfbf9ca81133ecbbb16fc1
Reviewed-on: https://gerrit.libreoffice.org/71903
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
|
|
drop xFocusWin hack, I don't see what gain it gives
Change-Id: I31952b5440797e6209ed1de6b546f1e4c0238d08
Reviewed-on: https://gerrit.libreoffice.org/71675
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Rather than emitting asynchronously at idle.
Change-Id: I6c72e9fad0b5587941e3a4a4d17d331a0d889942
Reviewed-on: https://gerrit.libreoffice.org/71809
Tested-by: Jenkins
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Change-Id: Ib65ec7fd957ab19c703d31da9eb74390126d2d04
Signed-off-by: Adrien Ollier <adr.ollier@hotmail.fr>
Reviewed-on: https://gerrit.libreoffice.org/71881
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: Ib268a6b32257aee812e5bae27a6db94431d2abbb
Reviewed-on: https://gerrit.libreoffice.org/71739
Tested-by: Jenkins
Tested-by: Xisco Faulí <xiscofauli@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
the Add can fail, and this is a reference-counted type
Change-Id: I9a6e7656a8c744222b4b10031cc6fd54e67c8ce0
Reviewed-on: https://gerrit.libreoffice.org/71858
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I0db9ec275cc95184ceb2cdbce8ae5343a10582c1
Reviewed-on: https://gerrit.libreoffice.org/71861
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I1cf10d297e4be1c4db68b9272f7104d4c1360145
Reviewed-on: https://gerrit.libreoffice.org/71876
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Iead091fee3b6c72d610f42598edb7cbb681d0cd4
Reviewed-on: https://gerrit.libreoffice.org/71870
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Pointed out in the post-commit review of
<https://gerrit.libreoffice.org/71592>, thanks Mike.
Change-Id: I49006e041a5110e995af44b7437ba0b48c4c860d
Reviewed-on: https://gerrit.libreoffice.org/71868
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Kind of a regression from commit 4d382636b0b1 ("qt5: Add basic
a11y support"), which made it public for a single call.
Change-Id: I631a861a98388223770cfca2704c3ddee6a0a8a0
Reviewed-on: https://gerrit.libreoffice.org/71836
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: Ia0ddbc0181e90d0657534ad6198b21948bf47e26
Reviewed-on: https://gerrit.libreoffice.org/71829
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Ib286741cc86ec38bd9e32e809f33c3f283ee6d7a
Reviewed-on: https://gerrit.libreoffice.org/71828
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
makes the function shorter
Change-Id: I22118d9b86e5497cb9b566efe9151f2da646cb16
Signed-off-by: Adrien Ollier <adr.ollier@hotmail.fr>
Reviewed-on: https://gerrit.libreoffice.org/71806
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I0224dccb130ead02da46f2376b3df5ec889f8e8c
Signed-off-by: Adrien Ollier <adr.ollier@hotmail.fr>
Reviewed-on: https://gerrit.libreoffice.org/71812
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This is a really nasty bug, which is mainly triggered by focus
change. It happens because Qt tries to delete the surrounding text
on the first key press after focusing in, sending an empty commit
string via QInputMethodEvent.
To reproduce:
* type some dummy word in Writer
* select a part of the word
* Alt+Tab to a different window to switch focus
* Alt+Tab back to Writer
* Press Alt => deletes the selected text
Instead of Alt+Tab you can also switch the IM via hotkey.
Change-Id: I0ce4c64aebf93a422bd3067f204da1d8f326a327
Reviewed-on: https://gerrit.libreoffice.org/71796
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
At least my ibus installation doesn't ask for the current input
position (Qt::ImCursorRectangle), in comparison to fcitx. So just
as gtk3, we now actively updates the IM position on every
keypress. Fixes the ibus hint window position for me, which would
otherwise be displayed in the top-left screen corner.
Change-Id: I9e5f0fb6b134615bc00cdd169ce8592f01239d20
Reviewed-on: https://gerrit.libreoffice.org/71785
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Actually really evaluate some of the formating provided by the
QInputMethodEvent::TextFormat attribute and not blindly underline
all of the text. This evaluates the same formating that the gtk3
backend evaluates from pango, so the result should be somehow on
par. Couldn't find a way to test the red strike-out text.
Don't know how often I typed hyoujunnsutairu to test this bug,
which - according to Google - translates to "standard style".
Change-Id: I4263df6dc1e0e5ce5d8cb0be681656ccd662a830
Reviewed-on: https://gerrit.libreoffice.org/71783
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
This sets the cursor position to the one provided by the
QInputMethodEvent::Cursor attribute.
Change-Id: I4a99f9939b53c69631e45d41102bf9c7f53f0ff5
Reviewed-on: https://gerrit.libreoffice.org/71782
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: I2e64d4b61605267cca7709c1cfe50d35069f4459
Reviewed-on: https://gerrit.libreoffice.org/71790
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
that was changed in commit 5cb3a6da2a61 ("Move and fix Asian
kerning unicode point check").
Change-Id: I96e815462a154e241eb8d871025e94304d458ffc
Reviewed-on: https://gerrit.libreoffice.org/71487
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|