Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
SwViewShell and SwCursorShell both have non-virtual
StartAction()/EndAction()?
Also, StartAllAction()/EndAllAction() can just be on the base class.
Change-Id: Ieaf88bb746b2479f44a635e4fd917fc91efb51a8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180072
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
Instead of Color, we have Light and Dark in the registry. So each theme extension
will specify dark and light color values for each "customizable element" like
DocColor etc. Under appearance we have three radio buttons - light/dark/system. If
system is selected then light/dark colors are switched based on the system's
theme. if explicitly light/dark is selected - that color is used from the
registry.
ColorConfigValue now has three entries nColor, nLightColor, nDarkColor. nColor is
used as a cache for the color being used at the moment. This is to avoid otherwise
expensive function calls + hundreds of modifications in the codebase just to
change nColor. nColor is cached either when the theme is loaded or when changes
are committed in `ColorConfig_Impl::ImplCommit()`.
Now, if Automatic theme is selected then themes is disabled and the application
uses the system colors. If some other scheme is selected like "CustomTheme" etc,
then LibreOffice themes/UI color customization is enabled and the theme colors are
used.
Instead of a scroll window, now we have a combobox for the registry entries and a
single color dropdown to select the color value. This color dropdown is for
convinience in case the user wants to change some specific color that's bothering
him. For themeing, theme extensions should be used.
API CHANGE
+ remove Color in favour of Light and Dark
+ AppBackground has additional two - BackgroundType and Bitmap
+ remove officecfg::Office::Common::Misc::Appearnce in favor of
officecfg::Office::Common::Appearance::ApplicationAppearance
+ move LibreofficeTheme under officecfg::Office::Common::Appearance
UI
+ it looks like https://i.imgur.com/UMxjfuC.png which is a little
different from how the [mockup] on the ticket describes it, and that's
because of lack of time due to upcomming feature freeze.
+ system/light/dark allow the user to switch between light/dark modes
based on either the system theme (system) or by manually specifying
light/dark.
+ ui themeing and color customization is disabled when automatic theme
is selected, and enabled otherwise.
[mockup]: https://bug-attachments.documentfoundation.org/attachment.cgi?id=197469
Change-Id: I1a7f70dfe44b81f863814f87e8d46e146c0e3d5a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174835
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Tested-by: Jenkins
Reviewed-by: Sahil Gautam <sahil.gautam.extern@allotropia.de>
|
|
IgnoreTabsAndBlanksForLineCalculation was added to the option->
writer->compatibility options with the label "Make whitespace
character height not affect line height"
Change-Id: I8b99409b01ba2af635018d15cde2e549dff92732
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175831
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
and
cid#1633780 Initialization or destruction ordering is unspecified
cid#1633778 Initialization or destruction ordering is unspecified
cid#1633777 Initialization or destruction ordering is unspecified
cid#1633776 Initialization or destruction ordering is unspecified
Change-Id: I8ae7cbede6df2ad747fe57d0ac2800e1b6a31038
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175576
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
|
|
so we can fix a shutdown use-after-free in sot.
Change-Id: I32f83bd94627d72d7bee7ea2ebd6ab77a7f78435
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175335
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This change adds a Writer compatibility flag, MS_WORD_COMP_GRID_METRICS.
When set, Writer will always use the font's external leading when
calculating line height for text grid, even if ADD_EXT_LEADING is unset.
This change also automatically sets the MS_WORD_COMP_GRID_METRICS
compatibility flag when importing DOC and DOCX files.
Change-Id: I63a94d7d20354163f1f97745a38e286686d6a4a8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173693
Tested-by: Jenkins
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
|
|
Load a document, see the 'signaturestatus: 4' callback
(SignatureState::NOTVALIDATED, "signature is OK, but certificate could
not be validated"), wait till the view is initialized, notice the
strange later arriving 'statechanged: .uno:Signature=3' callback, which
hints that the document was modified, but we're right after load, so
that should not happen.
I already tried to prevent doc modified status in commit
654f972a97c374fa90eb3984a44c7f54ddba9c61 (sw lok: make sure author name
change doesn't mark the doc as modified, 2023-01-16), but this is not
enough for the doc sign case, where SfxObjectShell::SetModified() ends
up refreshing the doc title, which calls
SfxObjectShell::GetDocumentSignatureState() and then caches the wrong
SignatureState::INVALID state.
Fix the problem by adding a flag to not mark the document as modified
during "init view" in the first place: that keeps the document unchanged
after updating fields, but doesn't break the doc sign status.
Now LOK clients get a first 'signaturestatus: 4' on load, and a
'statechanged: .uno:Signature=4' on initializing the view, which is a
bit redundant, but at least is consistent.
Change-Id: I42d50525ba96900eeeb927a50f1484c882347b13
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173514
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Open the 300 pages bugdoc, paste a oneliner plain text content in a
paragraph which is part of a numbered list, observe a 274 ms hang till
layout is done for all pages, then we get an updated tile.
We already do the layout in two passes: once for the visible area and
then an idle pass for the rest of the pages. But we didn't notice that
the LOK client has pending input events, so the list of events were like
this:
debug:20492:20486: SwTransferable::PasteData: finished in 5 ms
debug:20492:20486: SwLayAction::InternalAction: finished in 273 ms
debug:20492:20486: SwViewShell::PaintTile
With this patch, the order of evens is rather like:
debug:7541:7535: SwTransferable::PasteData: finished in 4 ms
debug:7541:7535: SwViewShell::PaintTile
debug:7541:7535: SwLayAction::InternalAction: finished in 261 ms
Which means that once a LOK client opts in to provide an any input
callback, the end-to-end time from the paste uno command dispatch to
receiving the first tile update decreases from 963 ms to 14 ms.
Change-Id: Ia9e734f84121b7d87150cb3479fc265ca8ee0292
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171885
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
This allows to drop the partial fix created for tdf#124603 (except for unit
test). The problem solved in commit 4c91e94e892943ef5e031d65f6f42864233cb4cd
(tdf#92036: sw: fix idle spelling loop, 2015-09-09) is kept solved; when a
word is marked pending, this is signalled to the viewshell. SwCursorShell
stores that as a flag, which will then start an idle on cursor update, and
finally call SwViewShell::LayoutIdle, which does the spell checking. If the
cursor is still in the word that is pending the check, the cycle will repeat,
trying spell checks only at cursor update, not as a busy loop.
Change-Id: I5dc77baabffa723e261d553e40d40e5ace4266bc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168413
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Doing this via a macro was possible already, but that didn't invalidate
the endnote positions on the layout, so required a document reload,
which was ugly.
Implement the new SwViewShell::SetContinuousEndnotes() by removing the
endnote frames in the document, so they'll be re-created at the expected
place as the layout action ends.
Change-Id: If96e70ab29c5a6c95fce36775e9a9a61277fc8a1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168383
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Doing this via a macro was possible already, but that didn't invalidate
the object positions on the layout, so required a document reload, which
was ugly.
Change-Id: I65dec046727588952f8e41a89eae25f81feb7f82
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167182
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: I17703c2fe388f485462bd82982664f0b4a14d537
Signed-off-by: Mohit Marathe <mohitmarathe@proton.me>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166040
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I2c4745910fc3654f2021e77f9fa590d3da3464ea
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163749
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This is similar to commit 51d8a2ef54751403fa707816e27ddb4e7faa8231
(cool#7492 sfx2 lok: fix bad view id / statusbar string on async binding
update, 2024-01-08), but here the problem was that the async job tried
to get the current view from the model, which is not correct.
Fix the buggy page number string in the status bar by requesting callers
of SwViewShell::GetFirstLastVisPageNumbers() to provide the view, given
that SwViewShell itself doesn't have access to SwView, only the
SwWrtShell subclass would have that.
Change-Id: I7e10c05d2429ea2771d6c3e46ac9ce77c0eb2bbe
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163474
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Rename "NoSpaceAfterHangingFootnoteNumbering" and friends to
"NoGapAfterNoteNumber". This is cleaner, no less descriprive.
Change-Id: I87d3103e4ddfc05e5604eaa4fe707b1fd5711aae
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162654
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I1e0e3f259bfc0700d1bd8b1cace905ff5848f6a0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162652
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
This class no longer notifies listeners since 2019
commit 3135d820d0172ef5695a4b97cec505e6ad03d67a
so presumably the listeners can be dropped as well.
The sd part tried to execute SID commands which seem
to be removed since 2004
commit f77ad7f15f53526714518bb3562ba7de4ba0d45e
Change-Id: I81d234aabe10b53278c89ffd846240507854d0c1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161237
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
Instead of invalidating the entire window, just invalidate the
parts that need to change.
Invalidate a sequence of Rectangles rather than bundle them
into a vcl::Region. Currently Window::Invalidate(const vcl::Region&...
does a LogicInvalidate(rRegion.GetBoundRect()) so get a mega rectangle
that covers everthing which is the opposite of what I want to get here.
It might be worth using GetRegionRectangles there.
Change-Id: Idc3f5f7d19dd57da725072ec4161d932c0c26902
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154973
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
these fields can be private
Change-Id: I74423a9ae2ef0263a28c8a716ab1c55861e453d9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154092
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
commit 407731c9f403c35357a0d1428c9b99835f79a5f7
Author: Noel Grandin <noel@peralex.com>
Date: Tue Jul 21 10:44:17 2015 +0200
loplugin:unusedmethods sw
removed the SetFrameView() method, which in turn
was dead since
commit 1c6da69ba2bc437d826573c7909a220290a67311
Author: Frank Schoenheit [fs] <frank.schoenheit@sun.com>
Date: Mon Nov 30 12:56:05 2009 +0100
[CWS autorecovery] removed some dead/unused stuff
Change-Id: I6e74dd7609ecd6ce459b6397a852caa6bde7fac8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153812
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ia530086fe35e64379e55135d392020304b466325
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152649
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
which is triggered on a new joiner to a shared document
but doesn't seem useful in the online case at least
https: //github.com/CollaboraOnline/online/issues/6379
Change-Id: Ic5034658d9e8a7ca1dfab44ce3905b95a5705eb2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152164
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
and bubble to a new InvalidateAll the collected
reasons for that whole document Invalidate
https: //github.com/CollaboraOnline/online/issues/6379
Change-Id: Id71c59f9cafebe42085337ee1e9591eb9f1162d2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152162
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
EndActionByVirDev only arises in the non-mainstream use html web document case and precedes the introduction of DoubleBuffer. It would be helpful to have one less corner case to consider.
Change-Id: Ibb9064cf5b37b1806f90c24ad9fbf84a8e37c0c3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151854
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
if its a high contrast mode with white text on black background. Reuse
isOutputToWindow to distinguish between the case we are outputting to
screen but not using a vcl::Window (and want to use the appropiate color
for autocolor) vs the cases we are printing or exporting to pdf and not
using a vcl::Window where the color should be black.
Change-Id: Ib688892a6315fe88ba585613539088611d3995ad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145234
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I3c94d68cb85adc2005a5a5e3b03a311732f782c3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141617
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
page into view
Uses newly introduced GetFirstLastVisPageNumbers function which does
not include pages having only visible bottom or top margins. This
solves the issue of pages with bottom margin remnants in the view
causing Page Next to not move the expected page into view.
Change-Id: Iec05f132b39e1db92be5d13c7d4cc41072dddac0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132373
Tested-by: Jenkins
Reviewed-by: Jim Raykowski <raykowj@gmail.com>
|
|
Charts were already updated, it was not consistent that other embedded
objects are not updated.
This is especially useful if an ODT file is manipulated by a 3rd-party,
then loaded into Writer just to update the previews of OLE objects.
Change-Id: If61aa037739c593abade933dcdd5474ad566b3e3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126253
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Due the to way views are updated on any document change, invalidations
are at least O(n^2), and since LOK may use a number of views and
for each view the entire document is considered to be the view area,
this can lead to a huge number of invalidations that are mostly
the same repeated rectangles.
Change-Id: I63682958d2fc388344641dcd19fa1d2b39054b51
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123617
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Change-Id: I4c0002e72703eded435bfe4985f5b0121bf8524b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122843
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
... SwTableProperties_Impl and SwViewShell
See tdf#94879 for motivation.
Change-Id: I7c8fe1f95d9ff1dbd7b9980845ff7fdfb36d1e26
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115691
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: I491742c51ddc7c97f02b148dfb81d9ba820a759e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108600
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: Ib8fb5b223a1b3cc05a75ecfcc7c763bbb3928fae
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105965
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
Change-Id: I44be72b3a9b14823ec37a3c799cffb4fb4d6e1de
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104527
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
and some more like that
Change-Id: I02dae666d8935a90afd9c43cfb32a048c69a1d4a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103628
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
I copied and modified the unusedfields plugin to find unused
variables.
Change-Id: I18ed6daa202da70a2e564e4fe4760aed7ce070ba
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100891
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ie2c3e3f95a687b12b89bcfc5cad44fb7a1d4568f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93862
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ic74fcf0c8f7c671de5187bdee284bb43c7299d1f
Reviewed-on: https://gerrit.libreoffice.org/84923
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I73c3c6d2165287d2d581a04b23b1d3b48166a488
Reviewed-on: https://gerrit.libreoffice.org/79780
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I15d8553bff7528f690ff92bee75d6a67037c0adf
Reviewed-on: https://gerrit.libreoffice.org/78062
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
"Accessiblity"
It passed "make check" on Linux
Change-Id: I14a6f010caa12df01c4eb211ddedc42bcc06da66
Reviewed-on: https://gerrit.libreoffice.org/77666
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
|
|
Change-Id: Icb7c22cf4ac95eab54d04e79312fb471ca27bceb
Reviewed-on: https://gerrit.libreoffice.org/74246
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I42ca7acb41699df91b91a9f59fc68cd30972a397
Reviewed-on: https://gerrit.libreoffice.org/70988
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
this is the single biggest chunk of stuff my upcoming paramtypedef
loplugin will warn about, so do it separately
Change-Id: I412e69e76406d6d947101885d4cd92c65e021508
Reviewed-on: https://gerrit.libreoffice.org/68486
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Layout was not invalidated correctly since the visible area is 0
in headless mode.
So just reformat the whole doc when doing the pdf conversion headless.
An attempt to fix this was already made with commit 1ecca673b40fedc53db125e332b087d1c120a254
but that didn't cover all cases.
Change-Id: I3f620b2f2db2c4a6e5bf279b33e5c93697e4e2d4
Reviewed-on: https://gerrit.libreoffice.org/67417
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
|
|
Instead of in the middle of the entire document, which may be far away.
Change-Id: I50a1a5f159b73a3803cd7a549939b73a366e7dc5
Reviewed-on: https://gerrit.libreoffice.org/66584
Tested-by: Jenkins
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
|
|
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.
- Also fix .h / .hrc files
- Remove a bit of duplication from the .yaml file
Change-Id: I22145a79343497678e481d882544eb08e765312a
Reviewed-on: https://gerrit.libreoffice.org/65878
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.
Change-Id: If1b2e04872eb0dd6725802c1709a9085f4cd8c91
Reviewed-on: https://gerrit.libreoffice.org/64141
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: I4fb437356bc154cfefc5958592ae5888e24d59c3
Reviewed-on: https://gerrit.libreoffice.org/63804
Tested-by: Jenkins
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
|