Age | Commit message (Collapse) | Author |
|
Make sure that created empty QImages are filled with transparent pixels.
Copying data from previous QImage on widget resize removes blanking
on window resize when qt5 vcl plugin is used.
Change-Id: If072a4b8b334bc87dbe4aaea9aa8774bb5e202ee
Reviewed-on: https://gerrit.libreoffice.org/63029
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
Tested-by: Katarina Behrens <Katarina.Behrens@cib.de>
|
|
Widget will be painted later, after correct widget size is set.
If window is not resizeable and painted before setting correct size,
it saves clipping size in function vcl::Window::ImplIntersectWindowClipRegion
and never updates it when window is resized to correct size.
This initial painting call causes painting issues in
"File" -> "Wizard" -> "Letter" dialog:
"Cancel" button is painted only partially, as well as line above that button.
Other unresizeable windows with width over 640 pixels or height over 480 pixels
may be affected too.
Change-Id: Ieccb58368670ebbbe6d17826fafc717101309ac4
Reviewed-on: https://gerrit.libreoffice.org/63017
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
|
|
Change-Id: I412c3d263881d24dea1bb61520c2291d8f0b9b20
Reviewed-on: https://gerrit.libreoffice.org/63016
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
|
|
fixing up the bit that failed the last time
Change-Id: I235f8f92cbc0c3e31837e01a9b094580c6f5aecf
Reviewed-on: https://gerrit.libreoffice.org/62786
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
This reverts commit 26c375671aa362b2f59d84645784938677ae1719.
Conflicts:
vcl/qt5/Qt5Frame.cxx
It caused null pointer dereference during UITest_writer_tests, as seen at
<https://ci.libreoffice.org//job/lo_ubsan/1090/>:
> /sfx2/source/appl/childwin.cxx:654:18: runtime error: member call on null pointer of type 'vcl::Window'
> #0 0x2b97d4160fa3 in SfxChildWindow::SetWorkWindow_Impl(SfxWorkWindow*) /sfx2/source/appl/childwin.cxx:654:18
> #1 0x2b97d462ab86 in SfxWorkWindow::CreateChildWin_Impl(SfxChildWin_Impl*, bool) /sfx2/source/appl/workwin.cxx:1350:9
> #2 0x2b97d463e6bb in SfxWorkWindow::ToggleChildWindow_Impl(unsigned short, bool) /sfx2/source/appl/workwin.cxx:1837:21
> #3 0x2b97d6eae94d in SfxViewFrame::ToggleChildWindow(unsigned short) /sfx2/source/view/viewfrm.cxx:3080:9
> #4 0x2b987664316d in SwView::UpdateWordCount(SfxShell*, unsigned short) /sw/source/uibase/uiview/view1.cxx:212:9
> #5 0x2b9876126a5d in SwTextShell::Execute(SfxRequest&) /sw/source/uibase/shells/textsh1.cxx:1369:9
> #6 0x2b98760a2391 in SfxStubSwTextShellExecute(SfxShell*, SfxRequest&) /workdir/SdiTarget/sw/sdi/swslots.hxx:2974:1
> #7 0x2b97d49050f6 in SfxShell::CallExec(void (*)(SfxShell*, SfxRequest&), SfxRequest&) /include/sfx2/shell.hxx:207:35
> #8 0x2b97d48c27d0 in SfxDispatcher::Call_Impl(SfxShell&, SfxSlot const&, SfxRequest&, bool) /sfx2/source/control/dispatch.cxx:353:13
> #9 0x2b97d48de12d in SfxDispatcher::Execute_(SfxShell&, SfxSlot const&, SfxRequest&, SfxCallMode) /sfx2/source/control/dispatch.cxx:854:9
> #10 0x2b97d482ea34 in SfxBindings::Execute_Impl(SfxRequest&, SfxSlot const*, SfxShell*) /sfx2/source/control/bindings.cxx:1063:9
> #11 0x2b97d4e5cead in SfxDispatchController_Impl::dispatch(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XDispatchResultListener> const&) /sfx2/source/control/unoctitm.cxx:754:29
> #12 0x2b97d4e60b5e in SfxOfficeDispatch::dispatchWithNotification(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XDispatchResultListener> const&) /sfx2/source/control/unoctitm.cxx:239:9
> #13 0x2b97c6c10b19 in comphelper::dispatchCommand(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XDispatchResultListener> const&) /comphelper/source/misc/dispatchcommand.cxx:60:9
> #14 0x2b980472020c in UITest::executeCommand(rtl::OUString const&) /vcl/source/uitest/uitest.cxx:22:12
[...]
Change-Id: I276684a5617bfec3803b195af59c51735bfa470a
|
|
Change-Id: Ic0e85b2077c89a63301cf1d5b1cede7f6a0d7dce
Reviewed-on: https://gerrit.libreoffice.org/62767
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
enable modeless dialogs to emit a response so runAsync can be used with
them and get something called when the dialog is dismissed
Change-Id: Ie9603bcc063cefabbae635949671baf06620785d
Reviewed-on: https://gerrit.libreoffice.org/61383
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Ib066b1d6df90f330f2f93ec639bd7bc59a08c024
Reviewed-on: https://gerrit.libreoffice.org/62507
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
According to Qt doc, setScreen by itself is ineffective and this
additional step is needed. It still wouldn't work w/ dual screen
on older KDE Plasma (<= 5.12) but tests positively in GNOME and
Plasma 5.13.5
Change-Id: I080b6f93aa3c21411f606ade6df42e9bc3f6f299
Reviewed-on: https://gerrit.libreoffice.org/62351
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
Tested-by: Katarina Behrens <Katarina.Behrens@cib.de>
|
|
since commit 8d791a9d9657f6573ce27947c0289b36c6eba77c
(Set Qt5Widget to be a central widget of QMainWindow)
Change-Id: Ifd23043312a92b260871630862f1b949851a6d89
Reviewed-on: https://gerrit.libreoffice.org/62348
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
|
|
Who would have thought that this information has to be stored in
SalFrame
Change-Id: I8fbdf1794184e8dfd0b0025d29a19938dbb2af03
Reviewed-on: https://gerrit.libreoffice.org/62236
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
|
|
Change-Id: I3e570bdeddc82f1d8cd46a362964e53527e6c152
Reviewed-on: https://gerrit.libreoffice.org/62193
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
|
|
the video in the presentation still doesn't play but at least the
crash is gone
Change-Id: I78ab4ff9412998f235a4b44a23b0e9d3ef4143e0
Reviewed-on: https://gerrit.libreoffice.org/61944
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
|
|
Change-Id: If87ceeb8ddc4b2aada8ea0c963385a291622fef6
Reviewed-on: https://gerrit.libreoffice.org/61932
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
Tested-by: Katarina Behrens <Katarina.Behrens@cib.de>
|
|
Change-Id: Iab328edd799dd4ce04312db4e640f86a8f7fda77
Reviewed-on: https://gerrit.libreoffice.org/61897
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
Tested-by: Katarina Behrens <Katarina.Behrens@cib.de>
|
|
Change-Id: Iaad25a7acdc7d64013bc3dd0d9410e7d2d5c6762
Reviewed-on: https://gerrit.libreoffice.org/61791
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
|
|
Change-Id: I18ef6cb58632898ddfcb28098b99447565bcfb99
Reviewed-on: https://gerrit.libreoffice.org/61720
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
|
|
put (so far) no-op UNO ifaces in place
Change-Id: I95394cfe05b8e3db21ddce6dfed1c1bb1d0e6381
Reviewed-on: https://gerrit.libreoffice.org/61385
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
|
|
This is just a minimal fix for Qt errors from JunitTest_svx_unoapi,
which was manipulating Qt5Timer and other timers, resulting in a
spew of timer error messages like:
QObject::killTimer: Timers cannot be stopped from another thread
QObject::startTimer: Timers cannot be started from another thread
QBasicTimer::start: QBasicTimer can only be used with threads started with QThread
Eventually all the QWidget manipulation in the Qt5Frame must be
redirected to the main thread, just like Qt5FilePicker already does.
Change-Id: I66054e6c90f99d27bd5818dcaa5876c515867f77
Reviewed-on: https://gerrit.libreoffice.org/60672
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
it causes too many issues: giant tooltips, dialogs can't be smaller
than 640x480 etc. Need to figure out a better solution
Change-Id: I4cc404687a60f2e0a39fd748fcc8cfea7cb7c0ac
Reviewed-on: https://gerrit.libreoffice.org/60038
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
Change-Id: I4336b9cf8600acb42812ed8bbf14bb72828338e1
|
|
(And <https://doc.qt.io/archives/qt-4.8/qregion.html#united> indeed says:
"Returns a region which is the union of this region and r.")
Change-Id: Icc18376e89167029823f64a01236a4fccaf7ea3a
|
|
Change-Id: Ia78a0a2d26159e46bc58557477723a366b8e677a
Reviewed-on: https://gerrit.libreoffice.org/60010
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
- call X11 screensaver disable for preso
- add SAL_NO_MOUSEGRABS check for mouse capture
- call min/max size methods on correct widget
Change-Id: I0dc838d9254d3a7f8848ec8283b0c10d00f36b42
Reviewed-on: https://gerrit.libreoffice.org/60009
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
- some cleanup
- ShowFullScreen
- ToTop/SetAlwaysOnTop
- CaptureMouse/SetPointerPos
- Beep/Flush
- ClipRegion functions
Change-Id: Ieafdbdae3f808879b9ad0ebed0fa99a2e4f7ee2e
Reviewed-on: https://gerrit.libreoffice.org/60008
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
Consider also blank user profile (empty-ish WindowState) and show
maximized window in that case
Change-Id: Idddcef357cec5f6e6923884ee0c5b454451e8caa
Reviewed-on: https://gerrit.libreoffice.org/59764
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
it was not a step in the right direction in 1st place. We distinguish
between main window frame (QMainWindow) and everything else (QWidget)
differently now
Change-Id: I331c9760f7616b2f199e63e5e521df74b08acc62
Reviewed-on: https://gerrit.libreoffice.org/58853
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
this is meant to solve the problem of native menu bar overlapping
w/ non-native, as well as the inability to place an object or select
text dragging the mouse cursor w/ LMB pressed
Change-Id: I29f590ebf79d1ecc7e17b402125384cf13774bf3
Reviewed-on: https://gerrit.libreoffice.org/58171
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
Primary as a debugging measure to compare output for Qt5Graphics.
Checks mpToolkitName, so we just disable it for qt5 not kde5.
Change-Id: Ib7a67c4bec16d81dd87b6351ba106f655d37948b
Reviewed-on: https://gerrit.libreoffice.org/58790
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
This is all QStyle based. Font handling still to do.
Change-Id: I784e64aa88d013146e2c9a07051a0a76a1369ff0
Reviewed-on: https://gerrit.libreoffice.org/58788
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
QWidget destructor always deletes all its children, which is fatal
in case not-yet-deleted frame (e.g. because it's in lazy delete queue)
points to one of those children
There's parent-child relationships between the frames though, so perhaps
no need to have it double. For native modality this seems enough
Change-Id: I556ace8d7949bcdfb208170cc08181ac1f2622e8
Reviewed-on: https://gerrit.libreoffice.org/57560
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
|
|
instead of hack with hiding the window and showing it again (otherwise
modality change has no effect and worse yet, weird things happen)
it would be much easier to use QDialog
Change-Id: Ie7029ca66380495c4aad246d02f4b96cb55eb01e
|
|
Change-Id: I9539eb77f663e1174919ae801495801f81571710
|
|
just between us girls, I hate you clang-format
Change-Id: I4cd041eff7a9fa01eb9192cf357e3f07a26fa6ad
|
|
and some addional work on activating menus
Change-Id: I0c4d87dc158f3253aa97d151385fce14551c11b9
|
|
to distinguish between QMainWindow (top-level SalFrame) and QWidget
(everything else). The former are going to receive a native menu
Change-Id: I9023d1e464345f96f13967f5e2c8b0716890fbc9
|
|
or derivative thereof
Change-Id: Iea0d5e838de0ea397dcbffd11c33f021d53face2
|
|
This reverts commit 8bc951daf79decbd8a599a409c6d33c5456710e0.
As discussed at
<https://lists.freedesktop.org/archives/libreoffice/2018-April/079955.html>
"long->sal_Int32 in tools/gen.hxx", that commit caused lots of problems with
signed integer overflow, and the original plan was to redo it to consistently
use sal_Int64 instead of sal_Int32. <https://gerrit.libreoffice.org/#/c/52471/>
"sal_Int32->sal_Int64 in tools/gen.hxx" tried that. However, it failed
miserably on Windows, causing odd failures like not writing out Pictures/*.svm
streams out into .odp during CppunitTest_sd_export_ooxml2. So the next best
approach is to just revert the original commit, at least for now.
Includes revert of follow-up 8c50aff2175e85c54957d98ce32af40a3a87e168 "Fix
Library_vclplug_qt5".
Change-Id: Ia8bf34272d1ed38aac00e5d07a9d13fb03f439ae
Reviewed-on: https://gerrit.libreoffice.org/52532
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...after 8bc951daf79decbd8a599a409c6d33c5456710e0 "long->sal_Int32 in
tools/gen.hxx". (According to <https://doc.qt.io/qt-5/qwidget.html>,
QtWidget::height and QtWidget::width both return int, so the change should be
OK, assuming int isn't larger than sal_Int32.)
Change-Id: I847212db59cceb49743801d6cc204eb7b2e9ea9a
|
|
Change-Id: I07c5cee0b7fa7d05370c8dc61cae0e6a2aead348
|
|
Change-Id: Ic6a895f9dd9d1474681217d6ddfd31898f916c2c
|
|
Change-Id: I2d17ccdc9addb911fef8925d87b794075946c3ca
|
|
The geometry is used for mouse hit tests for mapping
LO mouse events to popup positions.
This way (popup) menus become at at least usable.
Change-Id: Ic2b409d7a8937320c70b9f377374fe7d51e4ebf3
Reviewed-on: https://gerrit.libreoffice.org/47276
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
It is used only inside vcl, and it should stay that way.
Change-Id: Ia1a14ab13cb7d3580771c880f959abb2b695b032
Reviewed-on: https://gerrit.libreoffice.org/44698
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Tor Lillqvist <tml@collabora.com>
|
|
Restrict the git hook further to only enforce style in case the found
clang-format binary's version matches to avoid output differences with
different clang-format version.
While at it, move the blacklist reading after the version check to speed
up committing a bit when no local enforcement happens.
Also add a simple script to list formatted files, since the blacklist is
large enough that doing it naively from the shell is too slow.
Change-Id: I0bc05961d262cc6bc91c6efdd1b91994ecfc6940
Reviewed-on: https://gerrit.libreoffice.org/44662
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
|
|
...even if that can cause reformatting of already formatted code. The problem I
came across is that without this something like
> namespace {
>
> void f1();
>
> void f2();
>
> }
(which is quite a common style in the current code base) would be changed to
> namespace
> {
>
> void f1();
>
> void f2();
> }
instead of
> namespace
> {
> void f1();
>
> void f2();
> }
and I found no other clang-format style option that would result in the
presence or absence of an empty line be identical at the start and end of the
namespace block.
vmiklos asked to reformat the existing new (i.e., non-blacklisted) files at the
same time, so this commit includes that. Some of those new files had not been
formatted at all, so this commit includes their full reformatting changes.
Change-Id: I54daf0c11098d07d02c802104cf7f56372e61f7c
Reviewed-on: https://gerrit.libreoffice.org/44450
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I1d6d4a6ce285e46b3910f5e48b6beb1685460f74
Reviewed-on: https://gerrit.libreoffice.org/44376
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Scrollwheel handling seems to work with mouse, but not correct
when using a touchpad - at least for me.
Change-Id: I4f1b32205516912e31f9c52605ba2bf4ec6059a8
|
|
Change-Id: I36631c332ddffbca73768cdc4a596213e0b026ef
|
|
Change-Id: Ie47b8def36d67255b61eab04bc7e3818bb1d8ea8
|