summaryrefslogtreecommitdiff
path: root/sw/source/uibase/docvw
AgeCommit message (Collapse)Author
5 daystdf#164703 tdf#111969 sw Get*Correction: only mouse passes PixelPosJustin Luth
This fixes my 24.8 commit 5bc7d0186d1a70990377a2f4c630fe11e2dfd166. All my focus was on mouse clicks, so I didn't realize that keyboard shortcuts were badly affected. Avoid all of that cursor -> pixel -> cursor madness and just don't provide a pixel position at all when it is a keyboard request for a context menu. I don't see how to create a unit test for this. (See earlier patchsets) Change-Id: Id1fe7d1c15ce590ea4f882be49cfe539971c8c69 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181522 Reviewed-by: Justin Luth <jluth@mail.com> Tested-by: Jenkins
2025-02-04tdf#164072 sw annotation: Use menu parent that outlives menuMichael Weghorn
When opening the popup menu by right-clicking on a Writer comment and selecting "Delete All Comments", the SwAnnotationWin (`mrSidebarWin`) gets disposed while the popup menu and its associated MenuFloatingWindow are still alive. With the menu floating window being a child of the SwAnnotationWin, that would trigger the below assert since commit 6708246e20ce522e673f539369cd38687d2dd16d Author: Michael Weghorn <m.weghorn@posteo.de> Date: Thu Dec 5 11:06:48 2024 +0000 tdf#164093 tdf#157001 a11y: Improve menu window disposal Avoid disposing parent window before its child by not using the SwAnnotationWin, but its parent as the popup menu parent. warn:legacy.osl:64828:64828:vcl/source/window/window.cxx:307: Window ( N2sw10annotation15SwAnnotationWinE()) with live SystemWindows destroyed: 18MenuFloatingWindow() Window ( N2sw10annotation15SwAnnotationWinE()) with live SystemWindows destroyed: 18MenuFloatingWindow() [New Thread 64828.64829] [New Thread 64828.64830] [New Thread 64828.64831] [New Thread 64828.64832] [New Thread 64828.64833] [New Thread 64828.64835] Thread 1 received signal SIGABRT, Aborted. __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 warning: 44 ./nptl/pthread_kill.c: No such file or directory (rr) bt #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 #1 0x00007f580ac9de2f in __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:78 #2 0x00007f580ac49d02 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #3 0x00007f580ac324f0 in __GI_abort () at ./stdlib/abort.c:79 #4 0x00007f5801fbc2cb in SalAbort (rErrorText="Window ( N2sw10annotation15SwAnnotationWinE()) with live SystemWindows destroyed: 18MenuFloatingWindow()", bDumpCore=true) at /home/michi/development/git/libreoffice/vcl/source/app/salplug.cxx:403 #5 0x00007f5802087961 in Application::Abort (rErrorText="Window ( N2sw10annotation15SwAnnotationWinE()) with live SystemWindows destroyed: 18MenuFloatingWindow()") at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:300 #6 0x00007f580188bba8 in vcl::Window::dispose (this=0x55711f066550) at /home/michi/development/git/libreoffice/vcl/source/window/window.cxx:308 #7 0x00007f5801902216 in Control::dispose (this=0x55711f066550) at /home/michi/development/git/libreoffice/vcl/source/control/ctrl.cxx:61 #8 0x00007f58019552cc in InterimItemWindow::dispose (this=0x55711f066550) at /home/michi/development/git/libreoffice/vcl/source/control/InterimItemWindow.cxx:54 #9 0x00007f57ca8fb980 in sw::annotation::SwAnnotationWin::dispose (this=0x55711f066550) at /home/michi/development/git/libreoffice/sw/source/uibase/docvw/AnnotationWin.cxx:189 #10 0x00007f5801b06ee3 in VclReferenceBase::disposeOnce (this=0x55711f0667e8) at /home/michi/development/git/libreoffice/vcl/source/outdev/vclreferencebase.cxx:38 #11 0x00007f57ca939d52 in VclPtr<sw::annotation::SwAnnotationWin>::disposeAndClear (this=0x5571205dc3e0) at include/vcl/vclptr.hxx:207 #12 0x00007f57ca9260b5 in SwPostItMgr::RemoveItem (this=0x55711a340eb0, pBroadcast=0x55711fe07bb0) at /home/michi/development/git/libreoffice/sw/source/uibase/docvw/PostItMgr.cxx:529 #13 0x00007f57ca926662 in SwPostItMgr::Notify (this=0x55711a340eb0, rBC=..., rHint=...) at /home/michi/development/git/libreoffice/sw/source/uibase/docvw/PostItMgr.cxx:595 #14 0x00007f5806551a4c in SfxBroadcaster::Broadcast (this=0x55711fe07bb0, rHint=...) at /home/michi/development/git/libreoffice/svl/source/notify/SfxBroadcaster.cxx:43 #15 0x00007f57ca0e62c9 in SwpHints::DeleteAtPos (this=0x5571215061d0, nPos=0) at /home/michi/development/git/libreoffice/sw/source/core/txtnode/thints.cxx:3440 #16 0x00007f57ca0b31d1 in SwTextNode::EraseText (this=0x55711a2d3070, rIdx=SwContentIndex (node 9 offset 4), nCount=1, nMode=SwInsertFlags::DEFAULT) at /home/michi/development/git/libreoffice/sw/source/core/txtnode/ndtxt.cxx:2877 #17 0x00007f57ca0b501d in SwTextNode::EraseText (this=0x55711a2d3070, rIdx=SwPosition (node 9, offset 4), nCount=1, nMode=SwInsertFlags::DEFAULT) at /home/michi/development/git/libreoffice/sw/source/core/txtnode/ndtxt.cxx:2837 #18 0x00007f57ca1494c2 in SwUndoDelete::SaveContent (this=0x557121daf110, pStart=0x7ffcf6391340, pEnd=0x7ffcf6391388, pSttTextNd=0x55711a2d3070, pEndTextNd=0x55711a2d3070) at /home/michi/development/git/libreoffice/sw/source/core/undo/undel.cxx:476 #19 0x00007f57ca147457 in SwUndoDelete::SwUndoDelete (this=0x557121daf110, rPam=SwPaM = {...}, flags=SwDeleteFlags::ArtificialSelection, bFullPara=false, bCalledByTableCpy=false) at /home/michi/development/git/libreoffice/sw/source/core/undo/undel.cxx:264 #20 0x00007f57c97e72e8 in std::make_unique<SwUndoDelete, SwPaM&, SwDeleteFlags const&> (__args=SwPaM = {...}, __args=@0x7ffcf6391214: SwDeleteFlags::ArtificialSelection) at /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_ptr.h:1077 #21 0x00007f57c97d79a1 in sw::DocumentContentOperationsManager::DeleteRangeImplImpl (this=0x55711dbb22d0, rPam=SwPaM = {...}, flags=SwDeleteFlags::ArtificialSelection) at /home/michi/development/git/libreoffice/sw/source/core/doc/DocumentContentOperationsManager.cxx:4574 #22 0x00007f57c97bf899 in sw::DocumentContentOperationsManager::DeleteRangeImpl (this=0x55711dbb22d0, rPam=SwPaM = {...}, flags=SwDeleteFlags::ArtificialSelection) at /home/michi/development/git/libreoffice/sw/source/core/doc/DocumentContentOperationsManager.cxx:4500 #23 0x00007f57c97c2cf9 in sw::DocumentContentOperationsManager::DeleteAndJoinImpl (this=0x55711dbb22d0, rPam=SwPaM = {...}, flags=SwDeleteFlags::ArtificialSelection) at /home/michi/development/git/libreoffice/sw/source/core/doc/DocumentContentOperationsManager.cxx:4471 #24 0x00007f57c97bfc2d in (anonymous namespace)::lcl_DoWithBreaks (rDocumentContentOperations=..., rPam=SwPaM = {...}, flags=SwDeleteFlags::ArtificialSelection, pFunc=(bool (sw::DocumentContentOperationsManager::*)(class sw::DocumentContentOperationsManager * const, class SwPaM &, enum SwDeleteFlags)) 0x7f57c97c2cb0 <sw::DocumentContentOperationsManager::DeleteAndJoinImpl(SwPaM&, SwDeleteFlags)>) at /home/michi/development/git/libreoffice/sw/source/core/doc/DocumentContentOperationsManager.cxx:686 #25 0x00007f57c97c1773 in sw::DocumentContentOperationsManager::DeleteAndJoin (this=0x55711dbb22d0, rPam=SwPaM = {...}, flags=SwDeleteFlags::ArtificialSelection) at /home/michi/development/git/libreoffice/sw/source/core/doc/DocumentContentOperationsManager.cxx:2377 #26 0x00007f57c9a7ef97 in SwEditShell::DeleteSel (this=0x55711b0054e0, rPam=SwPaM = {...}, isArtificialSelection=true, goLeft=false, pUndo=0x7ffcf6391d9f) at /home/michi/development/git/libreoffice/sw/source/core/edit/eddel.cxx:122 #27 0x00007f57c9a7f538 in SwEditShell::Delete (this=0x55711b0054e0, isArtificialSelection=true, goLeft=false) at /home/michi/development/git/libreoffice/sw/source/core/edit/eddel.cxx:164 #28 0x00007f57cae1c83b in SwWrtShell::DelRight (this=0x55711b0054e0, isReplaceHeuristic=false) at /home/michi/development/git/libreoffice/sw/source/uibase/wrtsh/delete.cxx:419 #29 0x00007f57ca930aaa in SwPostItMgr::Delete (this=0x55711a340eb0) at /home/michi/development/git/libreoffice/sw/source/uibase/docvw/PostItMgr.cxx:1770 #30 0x00007f57caa8d050 in SwAnnotationShell::NoteExec (this=0x55711eef12c0, rReq=...) at /home/michi/development/git/libreoffice/sw/source/uibase/shells/annotsh.cxx:1170 #31 0x00007f57caa8cf15 in SfxStubSwAnnotationShellNoteExec (pShell=0x55711eef12c0, rReq=...) at workdir/SdiTarget/sw/sdi/swslots.hxx:19464 #32 0x00007f5806fc9fbe in SfxDispatcher::Call_Impl (this=0x55711ae7d3b0, rShell=..., rSlot=..., rReq=..., bRecord=true) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:255 #33 0x00007f5806fce446 in SfxDispatcher::Execute_ (this=0x55711ae7d3b0, rShell=..., rSlot=..., rReq=..., eCallMode=SfxCallMode::RECORD) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:754 #34 0x00007f5806fb6c8e in SfxBindings::Execute_Impl (this=0x55711de05e80, aReq=..., pSlot=0x7f57caf33a18 <aSwAnnotationShellSlots_Impl+8712>, pShell=0x55711eef12c0) at /home/michi/development/git/libreoffice/sfx2/source/control/bindings.cxx:1045 #35 0x00007f580709d8bd in SfxDispatchController_Impl::dispatch (this=0x55711e141080, aURL=..., aArgs=empty uno::Sequence, rListener=empty uno::Reference) at /home/michi/development/git/libreoffice/sfx2/source/control/unoctitm.cxx:735 #36 0x00007f580709c374 in SfxOfficeDispatch::dispatch (this=0x55711e140fe0, aURL=..., aArgs=empty uno::Sequence) at /home/michi/development/git/libreoffice/sfx2/source/control/unoctitm.cxx:254 #37 0x00007f5808307ddb in framework::MenuBarManager::Select (this=0x55711fe3b8c0, pMenu=0x5571215e12b0) at /home/michi/development/git/libreoffice/framework/source/uielement/menubarmanager.cxx:821 #38 0x00007f580830784d in framework::MenuBarManager::LinkStubSelect (instance=0x55711fe3b8c0, data=0x5571215e12b0) at /home/michi/development/git/libreoffice/framework/source/uielement/menubarmanager.cxx:776 #39 0x00007f58017a64f6 in Link<Menu*, bool>::Call (this=0x5571215e1320, data=0x5571215e12b0) at include/tools/link.hxx:105 #40 0x00007f5801798233 in Menu::Select (this=0x5571215e12b0) at /home/michi/development/git/libreoffice/vcl/source/window/menu.cxx:352 #41 0x00007f58017a56a8 in PopupMenu::ImplFlushPendingSelect (this=0x5571215e12b0) at /home/michi/development/git/libreoffice/vcl/source/window/menu.cxx:2872 #42 0x00007f58017a5ced in PopupMenu::FinishRun (this=0x5571215e12b0, pWin=..., pParentWin=..., bRealExecute=true, bIsNativeMenu=true) at /home/michi/development/git/libreoffice/vcl/source/window/menu.cxx:3108 #43 0x00007f58017a5487 in PopupMenu::ImplExecute (this=0x5571215e12b0, pParentWin=..., rRect=..., nPopupModeFlags=(FloatWinPopupFlags::Down | FloatWinPopupFlags::NoKeyClose | FloatWinPopupFlags::AllMouseButtonClose | FloatWinPopupFlags::NewLevel | FloatWinPopupFlags::NoMouseUpClose | FloatWinPopupFlags::GrabFocus), pSFrom=0x0, bPreSelectFirst=false) at /home/michi/development/git/libreoffice/vcl/source/window/menu.cxx:3033 #44 0x00007f58017a3eca in PopupMenu::Execute (this=0x5571215e12b0, pExecWindow=0x55711f066550, rRect=..., nFlags=(PopupMenuFlags::ExecuteDown | PopupMenuFlags::NoMouseUpClose)) at /home/michi/development/git/libreoffice/vcl/source/window/menu.cxx:2860 #45 0x00007f58034b67d3 in VCLXMenu::execute (this=0x5571215df5a0, rxWindowPeer=uno::Reference to (VCLXWindow *) 0x55711ef4bbe8, rPos=..., nFlags=1) at /home/michi/development/git/libreoffice/toolkit/source/awt/vclxmenu.cxx:509 #46 0x00007f5806fd2d91 in SfxDispatcher::ExecutePopup (this=0x55711ae7d3b0, rResName="annotation", pWin=0x55711f066550, pPos=0x7ffcf6394968) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:1937 #47 0x00007f5806fd2186 in SfxDispatcher::ExecutePopup (pWin=0x55711f066550, pPos=0x7ffcf6394968) at /home/michi/development/git/libreoffice/sfx2/source/control/dispatch.cxx:1785 #48 0x00007f57ca95d2c3 in sw::sidebarwindows::SidebarTextControl::Command (this=0x5571215354d0, rCEvt=...) at /home/michi/development/git/libreoffice/sw/source/uibase/docvw/SidebarTxtControl.cxx:443 #49 0x00007f5801fb39e1 in weld::CustomWeld::DoCommand (this=0x557121536330, rPos=...) at /home/michi/development/git/libreoffice/vcl/source/app/customweld.cxx:93 #50 0x00007f5801fb371d in weld::CustomWeld::LinkStubDoCommand (instance=0x557121536330, data=...) at /home/michi/development/git/libreoffice/vcl/source/app/customweld.cxx:91 #51 0x00007f57f7799bb6 in Link<CommandEvent const&, bool>::Call (this=0x55711a2c0bd0, data=...) at include/tools/link.hxx:105 #52 0x00007f57f7703ba8 in (anonymous namespace)::GtkInstanceDrawingArea::signal_command (this=0x55711a2c0900, rCEvt=...) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:19099 #53 0x00007f57f7701f3d in (anonymous namespace)::GtkInstanceDrawingArea::signal_popup_menu (this=0x55711a2c0900, rCEvt=...) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:18731 #54 0x00007f57f76e3cc7 in (anonymous namespace)::GtkInstanceWidget::signalPopupMenu (pWidget=0x55712152de30, widget=0x55711a2c0900) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:2701 #55 0x00007f57f6c9adb5 in ??? () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #56 0x00007f580552c9c0 in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #57 0x00007f5805540d83 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #58 0x00007f5805548440 in g_signal_emitv () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #59 0x00007f57f6cce9f5 in ??? () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #60 0x00007f57f6cceff0 in ??? () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #61 0x00007f57f6cd04bb in gtk_bindings_activate_event () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #62 0x00007f57f6c97caa in ??? () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #63 0x00007f580552c9c0 in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #64 0x00007f5805541360 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #65 0x00007f5805542072 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #66 0x00007f5805548666 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #67 0x00007f5805548723 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #68 0x00007f57f6f551cc in ??? () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #69 0x00007f57f6f78143 in gtk_window_propagate_key_event () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #70 0x00007f57f6f7c9fb in ??? () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #71 0x00007f57f77fc4ac in key_forward (pEvent=0x55711a45b0c0, pDest=0x55711ae7bae0) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkframe.cxx:4239 #72 0x00007f57f77f2f8d in GtkSalFrame::signalKey (pWidget=0x55711ae7bae0, pEvent=0x55711a45b0c0, frame=0x55711af84100) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkframe.cxx:4300 #73 0x00007f57f6c97caa in ??? () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #74 0x00007f580552c9c0 in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #75 0x00007f5805540d83 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #76 0x00007f5805542072 in ??? () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #77 0x00007f5805548666 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #78 0x00007f5805548723 in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 #79 0x00007f57f6f551cc in ??? () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #80 0x00007f57f6e05e6f in ??? () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #81 0x00007f57f6e07b76 in gtk_main_do_event () at /lib/x86_64-linux-gnu/libgtk-3.so.0 #82 0x00007f57f7da7ce9 in ??? () at /lib/x86_64-linux-gnu/libgdk-3.so.0 #83 0x00007f57f7ddc096 in ??? () at /lib/x86_64-linux-gnu/libgdk-3.so.0 #84 0x00007f57fd10b81f in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #85 0x00007f57fd10da57 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #86 0x00007f57fd10e1c0 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #87 0x00007f57f768350c in GtkSalData::Yield (this=0x55711906f850, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkdata.cxx:405 #88 0x00007f57f7688413 in GtkInstance::DoYield (this=0x55711906f700, bWait=true, bHandleAllCurrentEvents=false) at /home/michi/development/git/libreoffice/vcl/unx/gtk3/gtkinst.cxx:439 #89 0x00007f5802088706 in ImplYield (i_bWait=true, i_bAllEvents=false) at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:385 #90 0x00007f580208801f in Application::Yield () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:488 #91 0x00007f5802087e00 in Application::Execute () at /home/michi/development/git/libreoffice/vcl/source/app/svapp.cxx:360 #92 0x00007f580af287f9 in desktop::Desktop::Main (this=0x7ffcf6397a70) at /home/michi/development/git/libreoffice/desktop/source/app/app.cxx:1679 #93 0x00007f58020a9b86 in ImplSVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:230 #94 0x00007f58020ab779 in SVMain () at /home/michi/development/git/libreoffice/vcl/source/app/svmain.cxx:248 #95 0x00007f580afa20da in soffice_main () at /home/michi/development/git/libreoffice/desktop/source/app/sofficemain.cxx:122 #96 0x00005570fb1c4a6d in sal_main () at /home/michi/development/git/libreoffice/desktop/source/app/main.c:51 #97 0x00005570fb1c4a47 in main (argc=2, argv=0x7ffcf6397c78) at /home/michi/development/git/libreoffice/desktop/source/app/main.c:49 Change-Id: I20d037038c0d4a84d104bf9987bae28835dac609 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181110 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2025-01-27enable spotlight subset in kit modeCaolán McNamara
Use the index of the style within the list of writer's instantiated styles as the indicator number to use, so this is stable regardless of what particular mode the style dialog/panel is using. Unused styles don't get a number indicator, but do have a (stable) color until they are used in the document. For kit, Para/Char style mode renders all styles, not just the subset selected in the style dialog/panel, when Para/Char spotlight is enabled. Change-Id: I513e4a676a7c4f7f542c016afa5a79d158778210 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178481 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> (cherry picked from commit e5eec842b0c61c9c91a8f836661d6885c9c236a8) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180768 Tested-by: Jenkins
2025-01-24tdf#164318 Add dialog to show content of fields in readonly documentsOliver Specht
Change-Id: I0036e8c02b57dab91361213489c5a6189149b553 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179953 Tested-by: Jenkins Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
2025-01-24Resolves tdf#164586 - Confirm 'Delete all comments'Heiko Tietze
Option Common::Misc::QueryDeleteAllComments added but with default false to keep the familiar workflow and to prevent macros to fails Change-Id: I9424d900d226b7b757701f5f16209a0241adf7cf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180596 Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org> Tested-by: Jenkins
2025-01-21tdf#50743 tdf#37507 Improve scrolling while selectingOliver Specht
If the mouse leaves the document window scrolling of selections happens now in smaller steps so the user is able to stop at the intended position easier. Change-Id: Ifd21c92936021f8e2213d34446672e2a8eab568f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178724 Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de> Tested-by: Jenkins Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
2025-01-20Make Programmatic Names typesafeNoel Grandin
by creating a wrapper class, to make it obvious in the code what kind of name we are dealing with. The new class is in sw/inc/names.hxx Change-Id: Ifb3e598d497f098cf1fce71b87c5e0da9f8a7151 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180406 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2025-01-17lok: send username of the person who removed commentsPranam Lashkari
This can be userful to know when a user is editing comment and another user deletes it. It will help to identify and inform about the conflict to relevent users only Change-Id: I81f5edc8f6cbb85ad00e03b5bf668b68eeae1ad8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179298 Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> (cherry picked from commit 0b3e73526496875735eeb657929d94897a840b02) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180289 Tested-by: Jenkins Reviewed-by: Pranam Lashkari <lpranam@collabora.com>
2025-01-15sw: Rename SwFEShell::{IsObjSelected -> GetSelectedObjCount}Michael Weghorn
The method returns the number of selected objects, not just a bool indicating whether any (or a particular) object is selected, other than the SwFEShell::IsObjSelected variant that takes a `const SdrObject&` param. Rename the method to make that clearer. Change-Id: I30afec5322d2e6f1d31e5bc0ca6c252faa1fb4d8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180223 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2025-01-11pdf: change StructElement to enum class, move out of PDFWriterTomaž Vajngerl
Moves the StructElement out of PDFWriter and changes it to enum class. This makes it mroe type safe, easier to search and more clear what type we are using. Change-Id: Icf469319a01f58397b131c3517bc75fba4072500 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179977 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-12-27merge SwSidebarItem and SwAnnotationItem classesNoel Grandin
Because the separation is not doing useful. Which reveals that SwAnnotationWin::ChangeSidebarItem was doing some very dodgy object slicing when assigning to mrSidebarItem. Fix that by using a pointer in SwAnnotationWin instead. Change-Id: I516dfaac7066d8f1effe351ef388c03dd1127fd7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179445 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-12-13a11y: Move VCLXAccessibleComponent from toolkit to vclMichael Weghorn
After commit 168512dce7f1f1453c045584d47bd78a0a6c73f7 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Thu Dec 12 18:06:13 2024 +0100 a11y: Stop using VCLXWindow in vcl a11y classes and further related commits, VCLXAccessibleComponent no longer depends on anything in the toolkit module, so move it from there to vcl. This way, subclassing VCLXAccessibleComponent (as the a11y classes for vcl widgets do, currently located in accessibility/ ) no longer introduces a toolkit dependency. Change-Id: I4fd33fb1dc2265d75e8ca9ad87bcc70db61639d3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178434 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-12-12sw a11y: clang-format SidebarWinAccessible codeMichael Weghorn
Change-Id: I623d7ce9520236dcca7322c808e89328c26cb70c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178387 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-12-12sw a11y: Merge SidebarWinAccessible and SidebarWinAccessibleContextMichael Weghorn
Instead of having two separate classes to implement the XAccessible and the XAccessibleContext interfaces, let SidebarWinAccessible implement both and merge the corresponding logic from SidebarWinAccessibleContext into SidebarWinAccessible. This also reduces duplication. In SidebarWinAccessible::getAccessibleContext, simply return a reference to the object itself (after checking that the object is still alive). After Change-Id: If0894e733273eecad268c6a932ecee7c2e34b4c2 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Thu Dec 12 18:06:13 2024 +0100 a11y: Stop using VCLXWindow in vcl a11y classes , there's also no more need for SidebarWinAccessible to subclass VCLXWindow, so drop that inheritance. Change-Id: I5688ced4f83a0291de49741dc1b9df8c8f256099 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178386 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-12-12a11y: Stop using VCLXWindow in vcl a11y classesMichael Weghorn
Adjust VCLXAccessibleComponent and subclasses to take a vcl::Window arg instead of a VCLXWindow in the ctor and drop the VCLXAccessibleComponent::m_xVCLXWindow member that used to hold a reference to the VCLXWindow. (VCLXAccessibleComponent still holds a VclPtr to the corresponding vcl::Window.) Instead of passing the UNO/toolkit peer (VCLXWindow and subclasses) to the AccessibleFactory to create an XAccessibleContext context for the underlying VCL widget, pass the underlying vcl widget, which can now be passed as is to the corresponding ctors of VCLXAccessibleComponent and specialized subclasses. This follows earlier commits replacing the use of the VCLXWindow classes by direct uses of the vcl::Window subclasses inside VCLXAccessibleComponent and subclasses and is the next step in reducing the UNO/toolkit dependency in the accessibility implementation for vcl widgets. For now, the logic where those accessible objects are created remains in VCLXWindow::CreateAccessibleContext and overrides, but that can change in the future. `IAccessibleFactory::createAccessibleContext(VCLXMultiLineEdit*)` is just dropped and doesn't need its own replacement: The previous VCLXMultiLineEdit variant was creating a VCLXAccessibleEdit like the variant taking a VCLXEdit, but VCLXMultiLineEdit doesn't subclass VCLXEdit. The vcl MultiLineEdit however subclasses Edit, so VCLXMultiLineEdit::CreateAccessibleContext can make use of `IAccessibleFactory::createAccessibleContext(Edit*)` as well now. This also implements what was mentioned in earlier commit Change-Id: I67bb7a6a237e57d0c522790c09a595c02ac06325 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Thu Dec 12 17:16:29 2024 +0100 sw annotation win a11y: Skip VCLXWindow logic : > Drop the comment about the code being dodgy from > SwAnnotationWin::CreateAccessible. This commit partially > addresses it and switching VCLXAccessibleComponent > to using the vcl::Window will take care of the rest, > see upcoming commit > Change-Id If0894e733273eecad268c6a932ecee7c2e34b4c2 > ("a11y: Stop using VCLXWindow in vcl a11y classes"). Now that the VCLXAccessibleComponent ctor takes a vcl::Window, the sw::annotation::SwAnnotationWin can be passed directly. From a user perspective, no change in behavior is intended by this commit. Change-Id: If0894e733273eecad268c6a932ecee7c2e34b4c2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178385 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-12-12sw annotation win a11y: Skip VCLXWindow logicMichael Weghorn
Instead of overriding the base class VCLXWindow::CreateAccessibleContext which gets called by VCLXWindow::getAccessibleContext and results in the VCLXWindow base class also keeping a pointer to the XAccessible, override VCLXWindow::getAccessibleContext right away, and keep a reference to the SidebarWinAccessibleContext in SidebarWinAccessible itself. This simplifies the code, removes the need to cast the XAccessibleContext retrieved via the base class methods, and also prepares for making VCLXAccessibleComponent no more rely on the VCLXWindow, but using a vcl::Window directly in an upcoming commit. Drop the comment about the code being dodgy from SwAnnotationWin::CreateAccessible. This commit partially addresses it and switching VCLXAccessibleComponent to using the vcl::Window will take care of the rest, see upcoming commit Change-Id If0894e733273eecad268c6a932ecee7c2e34b4c2 ("a11y: Stop using VCLXWindow in vcl a11y classes"). Change-Id: I67bb7a6a237e57d0c522790c09a595c02ac06325 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178384 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-12-12sw a11y: Pass the VCLXWindow to SidebarWinAccessibleContext ctorMichael Weghorn
SwAnnotationWin::CreateAccessible returns the very object that is calling the SidebarWinAccessibleContext ctor. Make that more obvious by passing it as a param instead of calling SwAnnotationWin::CreateAccessible and then dynamic_casting that to a VCLXWindow. Change-Id: Id2ef80c7e5540276548c635cf550a552302b2fcc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178383 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-12-12sw a11y: Move SidebarWinAccessibleContext declaration to headerMichael Weghorn
This is in preparation of reworking the SidebarWinAccessible logic in upcoming commits. Change-Id: Ia1c9bf6a62d1cefb6147f82891361b0ced251263 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178367 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-12-11sw: lokit: make sure to read annotation html with utf-8Rashesh
- its online specific patch where the we pass html for annotation - to test: 1. Open document in online 2. Use "pt" keyboard to type comment "légend" and save 3. Before: légend; After: légend Change-Id: Ibd32fbd70c780938e8036362313067e8c1bc8f61 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178300 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-11-24Let ESelection use EPaM for simplificationMike Kaganski
And drop EPosition, which duplicates EPaM, except for its default ctor (used in a single place). Change-Id: I48bb6dafcba84465d61579df0ec71b815945532a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177075 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-11-24Turn SW_MOD macro to a functionMike Kaganski
Change-Id: Ide1f6fd2fc8a80b31353a14e416505a2349cea2b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177071 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-11-23GetAttrOutlineContentVisible may be constMike Kaganski
Change-Id: If94b948ddcc2fac9bce254947b78afc1c6f0383e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177078 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-11-23Avoid new string allocations, when only checking if emptyMike Kaganski
Change-Id: I35a44dedd27b5c3470ed035e64ec0461d8d0cbdf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177074 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-11-22sw: no need to pass a bool as a referenceXisco Fauli
Change-Id: I62aabd66d368856959be032d866888b82b018dd9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177018 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-11-12loplugin:reftotemp in swNoel Grandin
Change-Id: I370d18643b0c83c60846a0b6f051440a043c647a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176486 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-06sw lok: async readonly dialog when pressing delete key on protected contentMiklos Vajna
Open online.git/test/samples/writer.fodt, ctrl-a, del, the read-only dialog is blocking. This was working already for the character insert case, but not when going via KEY_DELETE. Fix the problem similar to what commit 0c03a97fb8844ad0de1abea79b5265617a509460 (sw edit win: fix read-only selections while handling ExtTextInput, 2021-01-13) did, by switching to the async path here. There doesn't seem to be any reason for the old sync behavior, other than the safe "keep things unchanged" default in InfoReadOnlyDialog(). Change-Id: I9330cb235bf6c19f96e9d21889eb9639725daf8c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176113 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-11-05Don't need to send both text and htmlCaolán McNamara
now that the other end can use html Change-Id: Idb7959b041ebbbd9284007594473019cf603981f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175166 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> (cherry picked from commit 9ed5dd5d1b48b9a17967d85c0fad4994c40caafa) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175998 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-10-30sw: redline changes may try to set broadcast on non PostIt fieldsPranam Lashkari
broadcast was set from sw::UpdateFramesForRemoveDeleteRedline which triggered SwPostItMgr::Notify in that case SwFormatFieldHintWhich::INSERTED may have pField which maybe different from SwPostIt fixed regression from 0b7a9c231f66b5c2659ab3aa6a0f3c7991b9e721 problem:(in LOK) with tracked changed on delete a merge field then reject the changes LOK will crash Change-Id: Ic1fafa1408d7a238133f5b3d18bf948d539aa991 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175808 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175833 Reviewed-by: Pranam Lashkari <lpranam@collabora.com> Tested-by: Jenkins
2024-10-29Allow replies with rich text content from command argumentsCaolán McNamara
Change-Id: I46d200048bdfef767882e94c7544f40f2e0b3c8c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174593 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit 3eae55420d1d8daee6efad456f651a9ff189723b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175752 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-10-16tdf#159286 FORMTEXT selection changedOliver Specht
As long as FORMTEXT has default content of 5 en spaces a click selects the content. If the content has changed then the cursor is placed at the mouse position. Change-Id: If0e7717d04d29887b63ec20ed6b82c625400421a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173812 Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de> Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de> Tested-by: Jenkins
2024-10-08RegisterAnswer is never passed nullCaolán McNamara
Change-Id: I3d724c5ea77865de9850a655aaa23c9633b68d22 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174643 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-10-07allow creating rich content comments via .uno:InsertAnnotation argsCaolán McNamara
Change-Id: I186f5955cad88c1d0d6cae66a7eb0a7845bb73a0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174591 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-10-06Fix typoAndrea Gelmini
Change-Id: I0e3779d845e48fe0ea5d91284f8701f34f9cd48e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174535 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
2024-10-05add a 'simple-html' export to editengCaolán McNamara
currently justs supports hyperlinks and nothing else over plain text. puts each paragraph in a separate div Change-Id: I645d28e0bb6ed13e930e1555753846d10ecf5dd9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174388 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174504 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-10-04allow editeng html import to treat divs as inserting a newlineCaolán McNamara
optional, currently cowardly defaulted off, except for the specific use-case. Change-Id: I8a6176ee356fa4d2b665d5325d9b7aba2a6579f6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174472 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-10-04support setting writer comment contents from simple-htmlCaolán McNamara
Change-Id: I42002c1b1ade940603ca6d2ca0f6072f1672cce8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174471 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-09-30tdf#158323: CRASH when switch back from HTML to Normal View...Julien Nabet
after edit in HTML code. bt: 0 rtl::Reference<SfxStyleSheetPool>::get (this=0xb8) at include/rtl/ref.hxx:205 1 0x00007f4361f3857c in SwDocStyleSheetPool::GetEEStyleSheetPool (this=0x0) at sw/inc/docstyle.hxx:236 2 0x00007f4362dcb8e2 in SwPostItMgr::SwPostItMgr (this=0x558439087f60, pView=0x5584387f7e80) at /home/julien/lo/libreoffice/sw/source/uibase/docvw/PostItMgr.cxx:229 3 0x00007f43630e6b14 in SwView::SwView (this=0x5584387f7e80, _rFrame=..., pOldSh=0x5584356fa360) at /home/julien/lo/libreoffice/sw/source/uibase/uiview/view.cxx:1003 4 0x00007f43632fee79 in SwWebView::SwWebView (this=0x5584387f7e80, _rFrame=..., _pShell=0x5584356fa360) at /home/julien/lo/libreoffice/sw/source/uibase/web/wview.cxx:85 5 0x00007f43632feb51 in SwWebView::CreateInstance (rFrame=..., pOldView=0x5584356fa360) at /home/julien/lo/libreoffice/sw/source/uibase/web/wview.cxx:67 6 0x00007f4393710655 in SfxViewFactory::CreateInstance (this=0x558434c3a090, rFrame=..., pOldSh=0x5584356fa360) at /home/julien/lo/libreoffice/sfx2/source/view/viewfac.cxx:26 7 0x00007f4393501e31 in SfxBaseModel::createViewController (this=0x558431de5a80, i_rViewName="Default", i_rArguments=empty uno::Sequence, i_rFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x5584360bf520) at /home/julien/lo/libreoffice/sfx2/source/doc/sfxbasemodel.cxx:4334 8 0x00007f4393502a3f in non-virtual thunk to SfxBaseModel::createViewController(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XFrame> const&) () at /home/julien/lo/libreoffice/instdir/program/libsfxlo.so 9 0x00007f43936b4ce4 in (anonymous namespace)::SfxFrameLoader_Impl::impl_createDocumentView (i_rModel=uno::Reference to (SwXTextDocument *) 0x558431de5b10, i_rFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x5584360bf520, i_rViewFactoryArgs=..., i_rViewName="Default") at /home/julien/lo/libreoffice/sfx2/source/view/frmload.cxx:577 10 0x00007f43936b1f6c in (anonymous namespace)::SfxFrameLoader_Impl::load (this=0x558436633660, rArgs=uno::Sequence of length 18 = {...}, _rTargetFrame=uno::Reference to ((anonymous namespace)::XFrameImpl *) 0x5584360bf520) at /home/julien/lo/libreoffice/sfx2/source/view/frmload.cxx:759 11 0x00007f439441ea51 in framework::LoadEnv::impl_loadContent (this=0x7ffdd69352c8) at /home/julien/lo/libreoffice/framework/source/loadenv/loadenv.cxx:1176 12 0x00007f439441b7d4 in framework::LoadEnv::start (this=0x7ffdd69352c8) at /home/julien/lo/libreoffice/framework/source/loadenv/loadenv.cxx:412 Regression from: https://git.libreoffice.org/core/+/d934aeace6e7049db3959421538ae382cb97b1d1%5E%21 tdf#103064 sw,editeng: make para styles work inside comments Change-Id: Ib9a1c9fe779ad14f93de0e1b3645beddb85e511d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174210 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-09-27tdf#162855 Draw a guide line while resizing the comment sidebarRafael Lima
This patch draws a guide line while the user is dragging the comment sidebar edge, to provide a better feedback of the size that will be applied. Thanks to Jim Raykowski for his comments and contributions. It should be noted that he authored much of this patch. Change-Id: I08d4761a25c021c3ddda563a70fc0324000e4e62 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173017 Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com> Reviewed-by: Rafael Lima <rafael.palma.lima@gmail.com>
2024-09-25sw: add new command to make a response comment rootJaume Pujantell
Adds the option to convert a reply comment into a new top comment while preserving the parent-child realtions of the other comments in the thread. Change-Id: I3cd5e5466fadc2226651d7c244b5139ec2d1f949 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173051 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173870 Reviewed-by: Jaume Pujantell <jaume.pujantell@collabora.com> Tested-by: Jenkins
2024-09-25Resolves tdf#152297 Track comments in the Navigator also by focusJim Raykowski
inside the comment box Change-Id: I7ced30c606d89a11012e21bfce18939b7660f038 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173824 Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com>
2024-09-13sw: add Comments Panel in sidebarMohit Marathe
This commit adds a sidebar deck for comments. It has all the functionalities of the old comments shown via annotation window. Change-Id: Ibab0e21a54c097d0f42bddb1d07da74319970135 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167840 Tested-by: Jenkins Reviewed-by: Sarper Akdemir <sarper.akdemir@allotropia.de>
2024-09-09tdf#162852 Fix minimum comment sidebar widthRafael Lima
If the mouse is released over the document, the value of nPxWidth can get negative, so we need a signed integer variable here to make std::clamp work as expected. Change-Id: I721b53e9eddee4f02ad31718f8c7187242ba44e1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173016 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-09-05use less dynamic_cast when broadcasting SfxHintNoel Grandin
Change-Id: If4d33cbbf36a9ad495b80a7347b39d0f4bc0405e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172857 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-08-23tdf#158556 make SfxGrabBagItem hashableNoel Grandin
Change-Id: I0af373e9c5c93a82eb37437ac365677700d45853 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172311 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-08-13Fix typoAndrea Gelmini
Change-Id: I0495b414fb542b92bdf0e2cde7fe1a010ab315f3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171803 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
2024-08-13Resolves tdf#162435 - TC author colors inherit anchor colorsHeiko Tietze
Fix to regression from I773793de8cfbdc0d23124db790604b93030375c2 * base color is now anchor, light/dark calculated as luminance * default colors adjusted respectively Change-Id: I9872a959d51714c736cd2adb216d76a0846aeec6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171753 Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org> Tested-by: Jenkins
2024-08-12Resolves: tdf#112932 Pressing enter in read-ony Table of ContentJim Raykowski
doesnt jump to heading Allows jump to heading using the Enter key or key modifier one in combination with the Enter key (Ctrl+Enter) when table of content is in protected mode. This changes the previous behavior of only allowing the Enter key to jump to the heading when the document is in read-only mode to also allowing key modifier one in combination with the Enter key to jump to the heading. Change-Id: Ib7451cef40d3ecf56295c2b23a6e663fad18fece Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171554 Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org> Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com>
2024-08-11Resolves tdf#61242 - Customization of comment background colorHeiko Tietze
* COL_AUTHOR<1..>_DARK/LIGHT/NORMAL removed Author1..9 added * dark variants calculated from light with 50% brightness * light does In/DecreaseLuminance(30) and dark (sd) resp. anchor (sw) In/DecreaseLuminance(80) depending on GetUseDarkMode() * sw: font color depends on outline background, which now picks up DOCCOLOR; this does not work for dark colors in light mode, for example * sd does not update on changes and requires a restart Change-Id: I773793de8cfbdc0d23124db790604b93030375c2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171523 Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org> Tested-by: Jenkins
2024-08-08cid#1607356 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1607117 COPY_INSTEAD_OF_MOVE cid#1607089 COPY_INSTEAD_OF_MOVE cid#1606977 COPY_INSTEAD_OF_MOVE cid#1606899 COPY_INSTEAD_OF_MOVE cid#1606785 COPY_INSTEAD_OF_MOVE cid#1606769 COPY_INSTEAD_OF_MOVE cid#1606740 COPY_INSTEAD_OF_MOVE cid#1606738 COPY_INSTEAD_OF_MOVE cid#1606675 COPY_INSTEAD_OF_MOVE cid#1606533 COPY_INSTEAD_OF_MOVE cid#1558100 COPY_INSTEAD_OF_MOVE cid#1558098 COPY_INSTEAD_OF_MOVE cid#1558083 COPY_INSTEAD_OF_MOVE cid#1558077 COPY_INSTEAD_OF_MOVE cid#1558074 COPY_INSTEAD_OF_MOVE Change-Id: Ica17dec2c2102ef85283fd883a0a4e64aec307c2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171620 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-08-06tdf#159146 Fix layout after resizing commend width in WriterRafael Lima
This patch ensure that resizing the comment sidebar will update the entire layout. Change-Id: Ia3c805569525c558191b253d694ac1f2e99f2ace Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171039 Tested-by: Jenkins Reviewed-by: Rafael Lima <rafael.palma.lima@gmail.com> Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>