summaryrefslogtreecommitdiff
path: root/sfx2/source/sidebar
AgeCommit message (Collapse)Author
9 daysjsdialog: enable style sidebarSzymon Kłos
- disable not supported previews field, action menu for now Change-Id: Ife94ee96dd15bd92752ff6e9cc5e68243aac0851 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175646 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179625 Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Tested-by: Jenkins
2024-12-11tdf#62845: Hide some sidebar panels in Viewer app modeMike Kaganski
These are confusing and cluttering the UI in this mode. Change-Id: I909f17f71846f5a7e82e43f078f32ed7b5daf159 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177961 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-12-10lok: use locale units in dialogs and sidebarPranam Lashkari
this patch updates fix for the dialog which were not fixed by e2708fecb34fb4084f8db5f2c5ffb4d8923002ca Change-Id: I7a9531d5af5b388cd6d763ea8c8d62ff4e7f12ca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177896 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178203 Tested-by: Jenkins
2024-11-08no need to take a copy of the getProcessComponentContext return valueNoel Grandin
we can just take a "const &". (found by running clang-tidy with the performance-unnecessary-copy-initialization warning) Change-Id: I20fd208c65303da78170b1ac06c638fdf3aa094b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176267 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-10-16loplugin:unusedfieldsNoel Grandin
Change-Id: If05b87f1e6c19b15b03b2695921a582e078d0f1a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175011 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-08-27Resolves: tdf#120748 Using the mouse wheel to change tabs in theJim Raykowski
sidebar tabbar leaves the key input focus in a control that is not visible Change-Id: I9d0b85607b660e3059c6cd528528d773bc3b8ef3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172449 Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com>
2024-08-19tdf#105131 Remove Restore Defaut from sidebar custom menuOlivier Hallot
Refer to tdf#105131 comment #13 Change-Id: Ia3b33ed4ab971b6f6dd3c751c5f6e3dc6f30f5da Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171906 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org> Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2024-08-15Resolves tdf#162450 - Hide sidebar tab buttonHeiko Tietze
Change-Id: I568976e2f6c8ca03f1aeea35d7607fdd5ea53649 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171887 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2024-08-02cid#1556086 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1556087 COPY_INSTEAD_OF_MOVE cid#1556093 COPY_INSTEAD_OF_MOVE cid#1556094 COPY_INSTEAD_OF_MOVE cid#1556105 COPY_INSTEAD_OF_MOVE cid#1556121 COPY_INSTEAD_OF_MOVE cid#1556184 COPY_INSTEAD_OF_MOVE cid#1556399 COPY_INSTEAD_OF_MOVE cid#1556405 COPY_INSTEAD_OF_MOVE cid#1556419 COPY_INSTEAD_OF_MOVE cid#1556421 COPY_INSTEAD_OF_MOVE cid#1556444 COPY_INSTEAD_OF_MOVE cid#1556448 COPY_INSTEAD_OF_MOVE cid#1556457 COPY_INSTEAD_OF_MOVE cid#1556468 COPY_INSTEAD_OF_MOVE Change-Id: I1f352682daebd4e3ed2e7fe669aa0943dcc33edd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171372 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-07-25O[U]String overloads that return view for rest parameterNoel Grandin
Add new overloads to OUString methods that have a "OUString* rest" style parameter. Instead return a view, which does not require allocation. To avoid overload ambiguity, split the methods into different variants that do not use default parameters. Change-Id: I1aa366115750f1f7ea4fe665804195f59f7c4b69 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167632 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-07-19Fix "lets" -> "let's"Andrea Gelmini
Change-Id: Ie9b6961a2786a518876db7b26258e67e8afee848 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169760 Reviewed-by: Andrea Gelmini <andrea.gelmini@gelma.net> Tested-by: Jenkins
2024-07-15tdf#161782 Focus document when Esc is pressed in the Gallery/NavigatorRafael Lima
When Esc is pressed on a Panel that has no visible title, move focus to the document. Change-Id: Ib5571dbd9f8a37017e21d2e01e7b546eb2330751 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169668 Reviewed-by: Jim Raykowski <raykowj@gmail.com> Reviewed-by: Rafael Lima <rafael.palma.lima@gmail.com> Tested-by: Jenkins
2024-07-12cid#1555513 silence Use of auto that causes a copyCaolán McNamara
Change-Id: I9c079460215ca2c62126a04caec2b1246dff0f46 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170411 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-06-26tdf#159835 sfx2: Skip sidebar menu update for gtk4 to work around crashMichael Weghorn
After commit daed96f0818b1baae5de8b74b866009d7d89f853 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Wed Jun 19 13:08:34 2024 +0200 tdf#159835 sfx2: Keep sidebar menu up to date , starting LO Writer with the gtk4 VCL plugin resulted in a crash (backtrace below) due to the current menu implementation for the gtk4 VCL plugin being incomplete/broken. For now, until the underlying issue has been fixed, at least avoid crashing by skipping the menu update when using gtk4. This effectively reverts back to the old behavior for gtk4, where before the above commit, `mxMenuButton->get_active()` in `TabBar::OnToolboxClicked` would always return false when clicking the menu button in the sidebar, so the code path triggering the crash wouldn't be hit, thus not triggering the pre-existing underlying issue. Backtrace of the crash: Thread 1 "soffice.bin" received signal SIGSEGV, Segmentation fault. 0x00007fffe9d25afe in g_atomic_ref_count_inc () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #0 0x00007fffe9d25afe in g_atomic_ref_count_inc () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #1 0x00007fffe9cfb3b6 in g_hash_table_ref () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fffe90ff92e in () at /lib/x86_64-linux-gnu/libgio-2.0.so.0 #3 0x00007fffe90feaf4 in () at /lib/x86_64-linux-gnu/libgio-2.0.so.0 #4 0x00007fffe90fef2c in g_menu_model_get_item_attribute () at /lib/x86_64-linux-gnu/libgio-2.0.so.0 #5 0x00007fffe44fd500 in (anonymous namespace)::MenuHelper::get_item_id(int) const (this=0x55555c78dbf0, pos=0) at vcl/unx/gtk4/../gtk3/gtkinst.cxx:5748 #6 0x00007fffe44fc976 in (anonymous namespace)::GtkInstanceMenu::get_id(int) const (this=0x55555c78dbf0, pos=0) at vcl/unx/gtk4/../gtk3/gtkinst.cxx:11711 #7 0x00007fffe44fcd40 in virtual thunk to (anonymous namespace)::GtkInstanceMenu::get_id(int) const () at vcl/unx/gtk4/../gtk3/gtkinst.cxx:11745 #8 0x00007ffff3fae52b in sfx2::sidebar::TabBar::UpdateMenus() (this=0x55555c7ce530) at .../libreoffice/sfx2/source/sidebar/TabBar.cxx:342 #9 0x00007ffff3faf86a in sfx2::sidebar::TabBar::TabBar(vcl::Window*, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&, std::function<void (rtl::OUString const&)>, std::function<void (weld::Menu&, weld::Menu&)>, sfx2::sidebar::SidebarController&) (this=0x55555c7ce530, pParentWindow=0x55555c62cea0, rxFrame=..., aDeckActivationFunctor=..., aPopupMenuSignalConnectFunction=..., rParentSidebarController=...) at .../libreoffice/sfx2/source/sidebar/TabBar.cxx:76 #10 0x00007ffff3f1c84d in VclPtr<sfx2::sidebar::TabBar>::Create<VclPtr<sfx2::sidebar::SidebarDockingWindow>&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame>&, sfx2::sidebar::SidebarController::SidebarController(sfx2::sidebar::SidebarDockingWindow*, SfxViewFrame const*)::$_3, sfx2::sidebar::SidebarController::$_3(sfx2::sidebar::SidebarDockingWindow*, SfxViewFrame const*)::$_4, sfx2::sidebar::SidebarController&>(VclPtr<sfx2::sidebar::SidebarDockingWindow>&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame>&, sfx2::sidebar::SidebarController::SidebarController(sfx2::sidebar::SidebarDockingWindow*, SfxViewFrame const*)::$_3&&, sfx2::sidebar::SidebarController::$_3(sfx2::sidebar::SidebarDockingWindow*, SfxViewFrame const*)::$_4&&, sfx2::sidebar::SidebarController&) (arg=..., arg=..., arg=..., arg=..., arg=...) at include/vcl/vclptr.hxx:129 #11 0x00007ffff3f1cc86 in sfx2::sidebar::SidebarController::SidebarController(sfx2::sidebar::SidebarDockingWindow*, SfxViewFrame const*) (this=0x55555c6f1fc0, pParentWindow=0x55555c62cea0, pViewFrame=0x55555abb87a0) at .../libreoffice/sfx2/source/sidebar/SidebarController.cxx:119 #12 0x00007ffff3f1d59f in sfx2::sidebar::SidebarController::create(sfx2::sidebar::SidebarDockingWindow*, SfxViewFrame const*) (pParentWindow=0x55555c62cea0, pViewFrame=0x55555abb87a0) at .../libreoffice/sfx2/source/sidebar/SidebarController.cxx:147 #13 0x00007ffff3f1a997 in sfx2::sidebar::SidebarDockingWindow::GetOrCreateSidebarController() (this=0x55555c62cea0) at .../libreoffice/sfx2/source/sidebar/SidebarDockingWindow.cxx:64 #14 0x00007ffff3f1ac24 in sfx2::sidebar::SidebarDockingWindow::SidebarDockingWindow(SfxBindings*, sfx2::sidebar::SidebarChildWindow&, vcl::Window*, long) (this=0x55555c62cea0, pSfxBindings=0x55555abdafe0, rChildWindow=..., pParentWindow=0x55555abdb6a0, nBits=137975825761) at .../libreoffice/sfx2/source/sidebar/SidebarDockingWindow.cxx:55 #15 0x00007ffff3f19e79 in VclPtr<sfx2::sidebar::SidebarDockingWindow>::Create<SfxBindings*&, sfx2::sidebar::SidebarChildWindow&, vcl::Window*&, long>(SfxBindings*&, sfx2::sidebar::SidebarChildWindow&, vcl::Window*&, long&&) (arg=@0x7fffffff45f8: 0x55555abdafe0, arg=..., arg=@0x7fffffff4600: 0x55555abdb6a0, arg=@0x7fffffff45e8: 137975825761) at include/vcl/vclptr.hxx:129 #16 0x00007ffff3f1960e in sfx2::sidebar::SidebarChildWindow::SidebarChildWindow(vcl::Window*, unsigned short, SfxBindings*, SfxChildWinInfo*) (this=0x55555c7d3130, pParentWindow=0x55555abdb6a0, nId=10336, pBindings=0x55555abdafe0, pInfo=0x7fffffff4878) at .../libreoffice/sfx2/source/sidebar/SidebarChildWindow.cxx:36 #17 0x00007ffff3f19d0c in std::make_unique<sfx2::sidebar::SidebarChildWindow, vcl::Window*&, unsigned short&, SfxBindings*&, SfxChildWinInfo*&>(vcl::Window*&, unsigned short&, SfxBindings*&, SfxChildWinInfo*&) (__args=@0x7fffffff46c0: 0x55555abdb6a0, __args=@0x7fffffff46be: 10336, __args=@0x7fffffff46b0: 0x55555abdafe0, __args=@0x7fffffff46a8: 0x7fffffff4878) at /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/unique_ptr.h:1070 #18 0x00007ffff3f19344 in sfx2::sidebar::SidebarChildWindow::CreateImpl(vcl::Window*, unsigned short, SfxBindings*, SfxChildWinInfo*) (pParent=0x55555abdb6a0, nId=10336, pBindings=0x55555abdafe0, pInfo=0x7fffffff4878) at .../libreoffice/sfx2/source/sidebar/SidebarChildWindow.cxx:30 #19 0x00007ffff38b2b4b in SfxChildWindow::CreateChildWindow(unsigned short, vcl::Window*, SfxBindings*, SfxChildWinInfo&) (nId=10336, pParent=0x55555abdb6a0, pBindings=0x55555abdafe0, rInfo=...) at .../libreoffice/sfx2/source/appl/childwin.cxx:241 #20 0x00007ffff39592dd in SfxWorkWindow::CreateChildWin_Impl(SfxChildWin_Impl*, bool) (this=0x555556828e50, pCW=0x55555c4e3a00, bSetFocus=false) at .../libreoffice/sfx2/source/appl/workwin.cxx:1351 #21 0x00007ffff3958fdc in SfxWorkWindow::UpdateChildWindows_Impl() (this=0x555556828e50) at .../libreoffice/sfx2/source/appl/workwin.cxx:1300 #22 0x00007ffff39584da in SfxWorkWindow::UpdateObjectBars_Impl2() (this=0x555556828e50) at .../libreoffice/sfx2/source/appl/workwin.cxx:1248 #23 0x00007ffff3957a0b in SfxWorkWindow::UpdateObjectBars_Impl() (this=0x555556828e50) at .../libreoffice/sfx2/source/appl/workwin.cxx:1096 #24 0x00007ffff39cbeb5 in SfxDispatcher::Update_Impl(bool) (this=0x55555abd9fc0, bForce=false) at .../libreoffice/sfx2/source/control/dispatch.cxx:1122 #25 0x00007ffff4059a69 in SfxBaseController::ConnectSfxFrame_Impl(SfxBaseController::ConnectSfxFrame) (this=0x55555ac3f8b0, i_eConnect=SfxBaseController::E_CONNECT) at .../libreoffice/sfx2/source/view/sfxbasecontroller.cxx:1206 #26 0x00007ffff4058aac in SfxBaseController::attachFrame(com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&) (this=0x55555ac3f8b0, xFrame=...) at .../libreoffice/sfx2/source/view/sfxbasecontroller.cxx:530 Change-Id: I9c04b4faff4da084bfa8f932d9f95a233bc1f528 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169534 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-06-20tdf#159835 sfx2: Keep sidebar menu up to dateMichael Weghorn
No longer update the menu for the menu button in the sidebar in the handler that gets called when the button gets clicked, but continually keep the menu up to date instead. This ensures that the menu is up-to-date when it gets shown. Updating the menu in the button handler is too late since commit f075fa01cb4f74185f13eb0a8d7f84cf1f47af49 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Tue Aug 22 10:26:32 2023 +0200 tdf#141101 tdf#101886 a11y: Restore previous focus on col/line popup close , as the handler is now no more called before the menu gets shown. Do the update in method `TabBar::UpdateMenus` instead and call that one whenever items change or the sidebar gets docked/undocked, as menu entries are shown for the items and for (un)docking. This makes the menu show all entries again when opened the first time after starting Writer, which was no longer the case after the above-mentioned commmit. Change-Id: I9a7e341e88d2de5f34e8f85ebada3ff2ebf6b47d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169196 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-06-20tdf#159835 sfx2 Connect SidebarController menu handlers earlierMichael Weghorn
Instead of connecting the SidebarController handlers for handling activation of `TabBar` menu items every time in `TabBar::OnToolboxClicked` (which is the handler that gets called when clicking the menu button), do so once in the `TabBar` ctor. This also ensures that the handlers are connected before the menu shows for the first time, which is no longer true for the previous approach since commit f075fa01cb4f74185f13eb0a8d7f84cf1f47af49 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Tue Aug 22 10:26:32 2023 +0200 tdf#141101 tdf#101886 a11y: Restore previous focus on col/line popup close Now, clicking on the sidebar menu and selecting the "Undock" entry works to undock the first time, not only when opening the menu for the second time. Populating all menu entries before the menu gets opened for the first time still needs to be implemented separately. Change-Id: I7e5d5e511c2ce2c7304e8f88676970d76e6319df Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169193 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-06-18tdf#159835 sfx2: Simplify TabBar::OnToolboxClickedMichael Weghorn
Now that the logic from `SidebarController::PopulatePopupMenus` has been moved here in Change-Id: I8236f2467239e6a2f485d468656e961478eeb09c Author: Michael Weghorn <m.weghorn@posteo.de> Date: Mon Jun 17 13:35:12 2024 +0200 tdf#159835 sfx2: Move logic to populate sidebar menus to TabBar as well, simplify `TabBar::OnToolboxClicked`: No longer use one loop to build a vector of entries and another to process these, but use a single loop for that instead. Drop the now unused `DeckMenuData` class. Change-Id: I884f3b70bb4d85b9a52421e9de6042cda80cfa0b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169006 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-06-18tdf#159835 sfx2: Move logic to populate sidebar menus to TabBarMichael Weghorn
Move the logic to populate the menus from `SidebarController::PopulatePopupMenus` (called by `SidebarController::ShowPopupMenu`) to `TabBar::OnToolboxClicked`. The latter called `SidebarController::ShowPopupMenu`. (In a first step, take over the existing implementation but leave further changes for following commits.) `TabBar::OnToolboxClicked` already collects all the deck data relevant for the menus and the menus are members of that class, so it seems more straighforward to populate the menus there right away. The only information needed from `SidebarController` is whether the sidebar is docked or not, so add a new method `SidebarController::IsDocked` to retrieve that information. Rename `SidebarController::ShowPopupMenu` to `SidebarController::ConnectMenuActivateHandlers` as it only connects the signals now, and rename `PopupMenuProvider` to `PopupMenuSignalConnectFunction` accordingly. This commit does some refactoring in preparation of fixing tdf#159835, no change in behavior intended (yet). Change-Id: I8236f2467239e6a2f485d468656e961478eeb09c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169005 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-06-18tdf#159835 sfx2: Use reference instead of pointerMichael Weghorn
This e.g. makes it clear that this is never null. Also use an `m` prefix for the class member. Change-Id: Ia66245f17e7f0ca9e57750e8606c8ccc1387eb97 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169004 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-05-12replace createFromAscii with OUString literals in OConfigurationNodeNoel Grandin
Change-Id: I487828fd11e1b22da2cc651b413f0744bf43b6d9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167526 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-05-11replace createFromAscii with OUString literals in OConfigurationNodeNoel Grandin
Change-Id: I19017bc993f0adafdae32313e0e01e69e1bbe80b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167517 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-05-10loplugin:ostr in sfx2Noel Grandin
Change-Id: I6306260d03c1208ec250c2f9a3860fa569f6d9c8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167448 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-05-01WaE: C6011 Dereferencing NULL pointer warningsCaolán McNamara
Change-Id: Ic2231df89b900c17beac4627e3573b45aef0bc26 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166954 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-04-02tdf#146619 Drop unused 'using namespace' in: sfx2/Gabor Kelemen
Change-Id: I3748612644c9c4eb88d7fb6e2d512954de9c1002 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165538 Tested-by: Jenkins Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
2024-03-28null deref of mpSidebarControllerCaolán McNamara
follow the pattern used in the rest of this and skip the branch that depends on mpSidebarController existing git show -w Change-Id: I739754b2af7ad09fa80c36693d8adbf173ece2e2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165426 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-03-24for OSL_DEBUG_LEVEL >= 2, adapt to b55bf0cbdfdc6820Tomoyuki Kubota
Change-Id: Ie3b9746ca150fba8f9849649b6e6bbd0439e1a1b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165234 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-03-21cool#8278 sfx2 lok: fix lost hide notification on sidebar switchMiklos Vajna
Similar to commit 55feb670ca28e0a48ac82a65b5559598704d993e (cool#8278 sfx2 lok: fix unexpected non-json sidebar status update, 2024-03-21), the trouble here was not around hiding the sidebar but around switching between decks. This went wrong in commit aaf6ce108e91b1504befe19afcee471e3316ae7a (cool#7492 sfx2 lok: set language/locale on async sidebar update, 2024-01-11), where I didn't notice that SidebarController::SwitchToDeck() may emit two callbacks, so the effort to avoid code duplication went a bit too far: the hide+show case only emitted a show callback. Fix this by building a list of state changes to emit, so once se switch decks, not only the new one is "on", but also the old one is "off". Change-Id: I1678ee61e004697a6a5c6ecaf40a18b2d1d47e61 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165108 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-03-21Drop C/C++ DEBUG macroStephan Bergmann
...(that was defined iff OSL_DEBUG_LEVEL >= 2) and replace its uses with OSL_DEBUG_LEVEL directly Change-Id: I807c15a02cc8ced9852287df0afb4808761d19d2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165067 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-03-21cool#8278 sfx2 lok: fix unexpected non-json sidebar status updateMiklos Vajna
Open an Impress document via LOK, open the slide layout sidebar, click the toggle icon so it gets closed: the toggle icon will signal that the sidebar is open, when it's closed already. This is a regression from commit aaf6ce108e91b1504befe19afcee471e3316ae7a (cool#7492 sfx2 lok: set language/locale on async sidebar update, 2024-01-11), previously we always emitted LOK_CALLBACK_STATE_CHANGED callbacks with plain text payloads for the sidebar, where the locale with implicit (with all its issues), but the above scenario worked fine. Fix the problem by making SidebarController::disposeDecks() consistent with SwitchToDeck(), so now we always emit JSON payloads for the sidebar deck changes. An alternative would be to improve the code around extractUnoCommand() in online.git to handle a mix of plain text and JSON payloads, but the plain text payload is tricky to extend, so using more JSON payloads sounds like a better fix. Change-Id: I5b75c2987c230c6720181a1e95ae579727943235 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165055 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-03-18cid#1594401 Explicit null dereferencedCaolán McNamara
Change-Id: I0ab5cedcf5c573fa00aca4c51f021251974337ff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164953 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-03-12lok: use locale units in dialogs and sidebarJaume Pujantell
When oepning tha same doucment with different locales, the dailogs and sidebar show units (cm/inch) of the first locale (or the locale used in preloading, en-US) for all the views. This patch changes the units used according to the LOK locale. Change-Id: I3d515873bde661f2d9048bbc405843e83134cca7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164589 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit 3ca938a25439d6f23bbd6830a96e5180ff94f757) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164619 Tested-by: Jenkins
2024-03-01tdf#159837 Drop unneeded TabBar EventNotify KEYINPUT handling codeJim Raykowski
to make qt and windows VCL backends respond to shortcuts when the keyboard focus is on a TabBar tab. commit 51f8e04eaaea50b779e3882e87628a6e625e0fd8 done to make the Shift+Ctrl+F10 short cut, used to dock/undock the sidebar, work from the sidebar tabbar appears no longer necessary. Simply passing the KEYINPUT event on to InterimItemWindow::EventNotify seems to be enough. Change-Id: Idfa8be4260d31e686acf1b49e89549deb9463a41 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164051 Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com>
2024-01-27Drop std::as_const from css::uno::Sequence iterationsMike Kaganski
Obsoleted by commit 2484de6728bd11bb7949003d112f1ece2223c7a1 (Remove non-const Sequence::begin()/end() in internal code, 2021-10-15) and commit fb3c04bd1930eedacd406874e1a285d62bbf27d9 (Drop non-const Sequence::operator[] in internal code, 2021-11-05). Change-Id: Idbafef5d34c0d4771cbbf75b9db9712e504164cd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162640 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-01-11cool#7492 sfx2 lok: set language/locale on async sidebar updateMiklos Vajna
Create two Calc views, set the first view language to English, second view language to German. Type in the English view, double-click on a chart in the German view. The sidebar in the German view will have English strings in it. This doesn't happen if there is no typing right after the chart activation in the English view. What happens is that the sidebar update is async, and sfx2::sidebar::SidebarController::notifyContextChangeEvent() gets called, which registers an aync event when it calls AsynchronousCall::RequestCall(). Then later this job gets scheduled, but possibly by that time the active view is the English one, leading to English strings when chart::ColumnChartDialogController::getName() calls SchResId(), which works from the language of the current view. Fix the problem similar to what commit fb7b0b944741e4efae8d92a6e305036aff906c7a (cool#7492 sfx2 lok: just set language/locale on async binding update, 2024-01-09), did: set the language/locale from the current view before executing the async job and restore the old value once we're done. Extract the now duplicated code to a new SfxLokLanguageGuard, so in case more places have a problem with incorrect l10n, then it's meant to be a one-liner to fix further places. Change-Id: I52724a24d93fb753175a3b9b99bc33178519d981 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161920 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2023-10-20Extended loplugin:ostr: Automatic rewrite O[U]StringLiteral: sfx2Stephan Bergmann
Change-Id: Ied8f0aff05ffd2f9e187fcb690789baf5fcf0c30 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158220 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-10-11FocusManager::IsPanelTitleVisible is deadNoel Grandin
ever since commit df2c41859287282501c8ebd7b3c67465455a457c Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Sat Sep 23 21:01:50 2023 +0200 MoveFocusInsideDeckTitle is dead Change-Id: I641622453b35526c7654c84d25d9d7c873249b43 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157817 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-10-06tdf#150639 Fix sidebar width too narrowMihai Vasiliu
The mnWidthOnSplitterButtonDown is initialized to 0 at program start. This makes every call to take the else case until the user manually changes the width, but some decks such as Master Slides have the mnMinimalWidth too low which makes them too narrow for the content they should display to the user. Change-Id: I8fc4924f777770dedbdc8d162ceceb620ff80e59 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157596 Tested-by: Jenkins Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-09-24MoveFocusInsideDeckTitle is deadNoel Grandin
after commit 9ca60dc90958001c078ed6331bd432c36961a425 Author: Rafael Lima <rafael.palma.lima@gmail.com> Date: Wed Jul 26 02:00:40 2023 +0200 tdf#156156 Add Help button to sidebar decks Change-Id: I71893e5f0b35ffec3eb718b0dfb556a3405b5c4d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157197 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-28new loplugin:optionalboolNoel Grandin
which warns against using the 'operator bool' conversion of std::optional<bool> which can lead to interesting bugs The bugs that this plugin have been submitted independantly, so this change is just using has_value() in relevant places. Change-Id: I259b837feeecddcb8cd1d7e5db1e85bf505907cb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155978 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-19loplugin: new global analysis locking2Noel Grandin
look for methods where we don't need to guard access to the field, because the field is never modified Change-Id: I62c33cc3f52881557515765d3733c4afc78547aa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155836 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-13Revert "clang-tidy bugprone-parent-virtual-call in sfx2"Noel Grandin
This reverts commit 0f3b36bd2749f360df84d1594c01e619ba0f4930. There are some odd things gone in with some of these changes that I do understand. Reverting until I have worked it out. Change-Id: Ifa383ee7ed2db4f81e2b0ac593e652288a07514f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155596 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-12clang-tidy bugprone-parent-virtual-call in sfx2Noel Grandin
Change-Id: Id1e32a696dd97d1bded467834e5fbd14345d02c1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155619 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-08tdf#125797 Sidebar: Skip over disabled tabbar tabsJim Raykowski
This patch makes keyboard navigation of the sidebar tabbar skip over disabled tabs. Tabs become disabled when a document is set in read- only mode. They can also be disabled by user customization of the tabbar. Change-Id: Iafabfe27fbeaea60acf66527eafbb5396edaf647 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155442 Tested-by: Jenkins Reviewed-by: Rafael Lima <rafael.palma.lima@gmail.com>
2023-08-05Fix typoAndrea Gelmini
Change-Id: Iea0d313fd641927eb83f11364a0ea690e3e4c635 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155365 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-08-05tdf#156156 Add Help button to sidebar decksRafael Lima
This patch adds a Help button to the sidebar deck, so that each deck has its own Help ID, which can later be used as reference to write help pages. The Help IDs of each sidebar deck is a combination of the string "SIDEBAR_" + the deck ID (as defined in Sidebar.xcu). Change-Id: Ib7f106ff917e41130bde136e1e6f04bb2af40daf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154918 Tested-by: Jenkins Reviewed-by: Stéphane Guillou <stephane.guillou@libreoffice.org> Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2023-08-04tdf#156557 Sidebar: Make Shift+Tab kb navigation behave as expectedJim Raykowski
This patch makes Shift+Tab change keyboard focus to the last panel control of the previous panel when focus is currently on a panel title. It also makes Shift+Tab change keyboard focus to the Tabbar hamburger menu when focus is currently on the "Close Sidebar Deck" button. Change-Id: I3ff849655afc4f01dba2268055292eee573adf43 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155333 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-07-17Remove leftover debug codeHossein
This fprintf was leftover from 1653bb9bffaa84a40b7d81a8277e887ea28df4e4 which came up with attachment 94167 from tdf#75059 in terminal output with just opening and closing in the official 7.5.1.2 binaries. Change-Id: Ib04b5f6dd3426e97a14b3c6f38b68481f1bf85b7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154518 Tested-by: Jenkins Reviewed-by: Hossein <hossein@libreoffice.org>
2023-07-13lok: sidebar: send full update only when changed panelsSzymon Kłos
we only need to send update when: - we switch to other deck - panels were hidden, shown, created this helps to avoid full updates in navigator when clicking on images, what causes context change Change-Id: If1bca6167cdc3e9294eb5aefb923e92bc9043edc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153401 Reviewed-by: Attila Szűcs <attila.szucs@collabora.com> Tested-by: Attila Szűcs <attila.szucs@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154360 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2023-05-15LOK: Navi-1 open/close on sidebarAttila Szűcs
Enabling Navigator sidebar in case of LOKit. Change-Id: I3a656fa12822e5866c2cd4fbf82627a88f26903a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151307 Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151704 Tested-by: Jenkins
2023-04-30Use getXWeak in sfx2Mike Kaganski
Change-Id: I364f13308adf8b3257e53da2bc6576088bb958f0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150867 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>