Under gtk/gtk3 we send CommandEventId::ModKeyChange on
key down, to support the auto-accelerator feature. But
at least the handler in SwEditWin::Command must get it
on key up, in order to not interfere with other
ctrl+shift+X shortcuts, which work on key down.
To achieve that, we need:
- On key up pass the key that was just released, instead
of the current state of nothing being pressed.
- Have a flag of whether it's a key down or up event, so
it can be checked by the application code.
Change-Id: If188d6ccdc3b214a2c3ed20aad291d74d46b358f
Reviewed-on: https://gerrit.libreoffice.org/37275
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
Mostly generated using
make check COMPILER_EXTERNAL_TOOL=1 CCACHE_PREFIX=clang-rename-wrapper RENAME_ARGS="-qualified-name=Rectangle -new-name=tools::Rectangle"
Except some modules have their own foo::tools namespace, so there have
to use ::tools::Rectangle. This commit just moves the class from the
global namespace, it does not update pre/postwin.h yet.
Change-Id: I42b2de3c6f769fcf28cfe086f98eb31e42a305f2
Reviewed-on: https://gerrit.libreoffice.org/35923
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
so no Invalidate will be called if auto accelerators are not enabled
so there should be no blinking under windows
Change-Id: Iccc5dad7af41f39ac02d3be93e935f2d926a82a6
Seem UBSAN doesn't like my forced reinterpret_cast to set the Idles
Link in the Timer class. Now there are two possible solution:
1. convert all (DECL|IMPL).*_LINK call sites to use a Timer* or
2. split the inheritance of Idle from Timer again to maintain
different Link<>s and move all common code into a TimerBase.
While the 1st is more correct, the 2nd has a better indicator for
Idles. This implements the first solution.
And while at it, this also converts all call sites of SetTimeoutHdl
and SetIdleHdl to SetInvokeHandler and gets rid of some local Link
objects, which are just passed to the SetInvokeHandler call.
It also introduces ClearInvokeHandler() and replaces the respective
call sites of SetInvokeHandler( Link<Timer *, void>() ).
Change-Id: I40c4167b1493997b7f136add4dad2f4ff5504b69
Moves all the "task-specific" stuff into a Task class and just
keeps the "real" static Scheduler functions in the original
Scheduler class.
Change-Id: I9eb02d46e2bcf1abb06af5bab1fa0ee734d1984c
Inspired by a recent bug report where we were assigning the result
of VclPtr<T>::Create to a raw pointer.
As a consequence, we also need to change various methods that were
returning newly created Window subclasses via raw pointer, to
instead return those via VclPtr
Change-Id: I8118e0195a5b2b4780e646cfb0e151692e54ae2b
Reviewed-on: https://gerrit.libreoffice.org/31318
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
There is annoying overloading between Window::Notify and
SfxListener::Notify, and the Window one has apparently fewer
implementations, so rename that and remove lots of disambiguating
"using Notify" in multiply inheriting classes.
Change-Id: I8b597fd9e70cf2e7103b9dfa7cc666e79e7aff49
of
commit afeddaf7e0
Author: Caolán McNamara <caolanm@redhat.com>
Date: Wed Dec 16 10:46:10 2015 +0000
Related: rhbz#1281906 set a min size on un-resizeable non-layout dialogs
and using a mixture of gtk_window_set_default_size before its visible, and
gtk_window_set_default_size + gtk_window_resize after its shown now works for
me under wayland so the original problem can be solved that way
Change-Id: Iaf8fd3019a7e902ad07b6825f919c6f25288e9b7
of
commit afeddaf7e0
Author: Caolán McNamara <caolanm@redhat.com>
Date: Wed Dec 16 10:46:10 2015 +0000
Related: rhbz#1281906 set a min size on un-resizeable non-layout dialogs
and setting a size-request seems to do the right thing for me now under wayland
so the original problem can be solved that way
Change-Id: Ie2dd71c5a32131a60729448f0665d5cae2a83692
when height takes left-right borders, and width top-bottom.
And also - Why do we calculate the borders twice - as the call
to CalcWindowSize does this again?
Change-Id: I63a66939bd526a225ccac9bdd6262feba48da5c2
This reverts commit 95942b16f4
("Resolves: tdf#90481 fix cropped buttons"), and changes the
code in a way that seems to not crop buttons anymore. Tested
under gtk3 with File > Digital Signatures... and the toolbar
underline dropdown.
Change-Id: Idcb680c82f594f630b1dd7c76c42912e6b5a093a
...which was introduced with 3ead3ad52f "Gradually
typed Link" to distinguish the new, typed versions from the old, untyped ones,
but is no longer necessary since 382eb1a23c
"remove untyped Link<>" removed the old versions.
Change-Id: I494025df486a16a45861fcd8192dfe0275b1103c
because they are not widget-layout tab pages, we have to dive down
through the WB_DIALOGCONTROL widgets as well
Change-Id: I13dbf88878efd89794158ce43137381008e18890
this returns things to passing the alt to the thing with the focus
and depends on ::Command handlers passing the alt-press/release back
up through the Command hierarchy to get to the default top-level
handler eventually
Change-Id: I869120f43810adfa2fac4670c2db143b790a1f9b
from dialog and send the 'alt' to the active floating window, if there
is one, before trying the menubar.
so popups like the calc autofilter one can display their accelerators
when alt is pressed
Change-Id: I52e45b72885b1b0a7362cecc30e41d218a48a58d
- created VclVBox control which creates SlideTransitionPane
- SlideTransitionPane extended with second constructor
which loads ui in horizontal mode
- introduced CloseMethod for NotebookBar to kill widgets in right order
Change-Id: Ic3ba35cb7734aa744a4804c5b670fed7c1bec204
Reviewed-on: https://gerrit.libreoffice.org/25844
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
This reverts commit 9fdd671fb2.
Not only introduced it the regression of
https://bugs.documentfoundation.org/show_bug.cgi?id=98437 in that
dialogs with options shown closed in a different size than they would be
opened with options not shown now open in the previous closed size, but
it also introduces regressions for dialogs with nested windows where if
the initial layout is skipped for the remembered outer window size the
inner windows are not initialized anymore.
One example is the Calc Manage Names dialog, where the table is a nested
window that now has an initial width 0 and thus the column headers that
should be equally sized distributed are lumped together at the top left
and only two are displayed instead of three and the table content is
messed up.
Change-Id: I319d931cde2b7b87261e4c04122b91cd0f64b117
Reviewed-on: https://gerrit.libreoffice.org/23402
Reviewed-by: pepp <pelloux@gmail.com>
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Eike Rathke <erack@redhat.com>
Consistency is important. (I know that we are wildly inconsistent in
many things, even inside individual source files. Like the spacing of
the expression in an if statement. But putting an opening brace on a
separate line is something we do quite consistently.)
Change-Id: I7c50628653b94a4da0fc4dc8db8869a5f1a64527
If position and size were loaded from the WindowStateData
structure there's no need to recompute the layout.
As an added benefit if the user previously resized/move the
dialog, the new one will open using the same geometry.
Change-Id: I306504080357f9be8f3e628ba13ca5dc2957dd52
Reviewed-on: https://gerrit.libreoffice.org/21850
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: jan iversen <jani@documentfoundation.org>
Tested-by: jan iversen <jani@documentfoundation.org>