Age | Commit message (Collapse) | Author |
|
The result of this patch is that a keyboard shortcut can now
set the font fore-/back-ground color using the
color shown in the toolbar/sidebar.
This is now possible thanks to Maxim's work in 7.6.2
tdf#154270 Sync toolbar button recent colors
and Andreas Heinisch's 24.8 commit 8c822b764b35a0116a0865e991a87c8315e0
tdf#72991 - Remember last used color depending in cui
This patch does 3 things:
1. SetRecentColor when the app initializes
2. Uses SID_ATTR_CHAR_COLOR's recentColor for .uno:FontColor
if no pItem was provided (i.e. a keyboard shortcut called it)
3. Uses SID_ATTR_CHAR_BACK_COLOR's recentColor for .uno:CharBackColor
if no pItem was provided
(Note that without a selection,
CharBackColor isn't so useful for a keyboard shortcut,
since it turns the drag-and-drop template on.)
Setting the recent color right away is critical for user acceptance.
Otherwise, it would only function after they first modified the color
in the toolbar/sidebar.
make CppunitTest_sw_uiwriter9 CPPUNIT_TEST_NAME=testTdf34804
Unfortunately, I can't reliably know if this request
came from an awt::KeyEvent or not, because in that case
we could just avoid CharBackColor's template altogether.
[While there is rReq.GetModifiers() as a good hint,
it is not a guarantee (in case assigned to a function key,
or CTRL held while clicking the toolbar, etc.)]
Change-Id: I7377f087dcdf7011205af005cd0d172100bade2b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174804
Tested-by: Jenkins
Reviewed-by: Justin Luth <jluth@mail.com>
|
|
Change-Id: If05b87f1e6c19b15b03b2695921a582e078d0f1a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175011
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
|
|
Add a "Remove Duplicate Records" entry under Calc > menu Data
to remove duplicate records from a rectangular selection
of cells in Calc.
Change-Id: Ic8340d7f1e19461ef3666fd2ef65294b73577d5c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160685
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Tested-by: Jenkins
|
|
Open the sign dialog, the Add button is hidden, even if the LOK clients
initializes the view with a working signing certificate.
SfxMedium::SignContents_Impl() knows the correct view, but by the time
the execution arrives to the DigitalSignaturesDialog ctor, this info is
lost, so we don't know what is the current view.
Fix the problem by looking up the view of the object shell at UNO
command dispatch time, and passing that around, so the signature dialog
can also access it. If the view has a signing certificate configured,
then allow signing.
The certificate chooser triggered by this button still needs fixing.
Change-Id: I1fae63cea27ea1e68e938879f4507f53ade484f1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173964
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
In case signing certificate would be stored in the model (like it
happens on the desktop), then the certificate viewer would show all
signing certs of the currently editing users, which is far from
expected.
At the same time, there is just one NSS database per process, so it's
hard to not have them in the same database.
Fix the problem by storing a reference to the signing key in the view
shell, then we can show only that in xmlsecurity/ in LOK mode, and thing
else.
This is just the sfx2/ side of things, the xmlsecurity/ part still needs
implementing.
Change-Id: Id7a56f28598ec60217c6bac095c2ff350f39bc3b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173837
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
The desktop way to sign documents is to manually import a .p12 file into
your Firefox user profile, and then the signing key is available in all
views. The LOK case wants per-view signing certificates, set in a way
similar to the name of the user.
Start implementing this by:
1) Extending initializeForRendering() to have JSON entries for the
signing cert/key/ca chain.
2) Importing the CA chain as trusted certificates, using a new
SfxLokHelper::extractCertificates() + test for this.
3) Marking a certificate as trusted is tricky, extract
SfxLokHelper::addCertificate() from the existing doc_addCertificate()
to do this.
4) Parsing the signing certificate, but just warn if that fails, still
need to connect that to the SfxViewShell later.
Change-Id: I00e40b3cdd68dbe8994f28861dc7b0f578189643
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173806
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
I want to improve extractCertificate() so it can work on a certificate
chain, but that's easier when this code is not directly in desktop/, but
at some lower level.
This allows covering the code with tests from CppunitTest_sfx2_view in a
follow-up change.
If this code will be needed by some non-LOK area as well, then it can be
moved down further, but let's wait for a second area first.
Change-Id: I6291da0c3e56aed7dca1a8dc1446209044cace92
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173691
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Sign a document with macros (via file -> digital signatures -> digital
signatures), realize that you still get a warning on file open, sign the
macros in the document (via tools -> macros -> digital signature),
realize that you did this in the wrong order, so now you have to re-sign
the doc content.
The reason for this is that the macro signature only signs the macro
parts of the document (so you can still edit the document and the
signature is valid, as long as you don't touch macros), while the doc
content signature signs everything, including the macro signature, so
the order of the two matters.
Solve this trouble by adding a new setting that allows doing the two
signatures in one step. Do this by extending the doc content signing
code with an optional pre-step that first signs the document macros.
This is a bit tricky to do, since xmlsecurity/ gets an RW signature
stream and a RO document storage from sfx2/, but transferring one more
signature stream can solve this trouble.
Other tricky parts of the change:
1) The crypto signing is always done by libxmlsec, so
DigitalSignaturesDialog::SetScriptingSignatureStream() has to update
the storage of the sign manager's sign helper, otherwise, the hashes in
the macro signature will be empty.
2) Signing reads the RO storage, so normally the macro signature
would not be part of the doc signature when creating both signatures
inside a single dialog. (The storage is only committed after the
dialog ends.) Fix this problem by extending
DocumentSignatureManager::add() and UriBindingHelper::OpenInputStream()
to provide kind of an overlay when xmlsecurity/ gets a script signature
stream: this way the macro signature will be part of the doc signature
while the dialog is in progress. No overlay is needed later, once both
streams are committed to the storage on dialog end.
Change-Id: Ic2728689997165595991d5ec59c7a2683286e22d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173263
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
previously Save as dialog's "Sign with default certificate"
checkbox's senstivity was decided depending on if there was a
matching key.
Doing that forces a dialog pop-up for password protected NSS
databases.
Now if there's a value in
"/org.openoffice.UserProfile/Data/signingkey", the checkbox
is sensitive.
Matching key is checked during save, and reported if it isn't
found & signing failed.
Change-Id: Ia714b70ce6456752200088cc5382ab6374af9587
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173129
Reviewed-by: Sarper Akdemir <sarper.akdemir@allotropia.de>
Tested-by: Jenkins
|
|
Currently SfxObjectShell::CheckIsReadonly() has a hack for the LOK case
to show the signatures dialog read-only, as only that is async.
The next step is to make DocumentDigitalSignatures::ImplViewSignatures()
async, though that requires all callers of the function to be async, so
make DocumentDigitalSignatures::signScriptingContent() async as well.
There is also DocumentDigitalSignatures::signPackage(), but turns out
that's dead code, so just remove it.
Once this is in place, we had a problem that the callbacks tried to
interact with libxmlsec, but the dialog was still alive in
DocumentDigitalSignatures::ImplViewSignatures() by the time the callback
was running, so there were two DocumentSignatureManager instances at the
same time, and both assumes it should call the global libxmlsec
init/uninit, which resulted in failing to verify the just created
signature.
Fix this similar to how Tomaz fixed the same problem around pdfium in
commit 067a8a954c8e1d8d6465a4ab5fb61e93f16c26c2 (pdfium: only init
pdfium library one and destroy on LO exit, 2020-06-03).
Change-Id: I3fb63c06195564732e1576dbd755157e676fb762
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173117
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Currently SfxObjectShell::CheckIsReadonly() has a hack for the LOK case
to show the signatures dialog read-only, as only that is async.
The next step is to make
DocumentDigitalSignatures::signDocumentContent() async, but passing an
std::function via the UNO API is tricky.
Notice how DocumentDigitalSignatures in xmlsecurity/ also implements
sfx2::DigitalSignatures, add a new SignDocumentContentAsync() there and
adapt all uses of signDocumentContent() to go with that instead.
This requires introducing some lambdas for code after
signDocumentContent() in general and for ODF/OOXML specific code in
particular, to avoid code duplication.
Change-Id: If771ced711041364988af45ad9dd0dd1a2a8660d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173060
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Currently SfxObjectShell::CheckIsReadonly() has a hack for the LOK case
to show the signatures dialog read-only, as only that is async.
The next step to get rid of this hack is to make
SfxMedium::SignContents_Impl() async, now that
SfxObjectShell::SignDocumentContent() is async.
This requires all callers of SfxMedium::SignContents_Impl() to be async,
most notably SfxObjectShell::SignScriptingContent() has to be converted
as well.
Note that no lifecycle problem is expected here for the callback, since
the object shell and its medium is typically around for as long as the
document is loaded.
Change-Id: I57f2c747f8448b9adc0398f874ede36211fed817
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172934
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Currently SfxObjectShell::CheckIsReadonly() has a hack for the LOK case
to show the signatures dialog read-only, as only that is async.
The first problem for the read-write signatures dialog is that
SfxObjectShell::ExecFile_Impl() has code after invoking
SfxObjectShell::SignDocumentContent(), which will be executed too early
if the dialog is executed async.
Fix the problem by moving the code in question into a new
SfxObjectShell::AfterSignContent(), and only invoke that as a callback
after the async run finished.
The message dialog in the moved code is still non-async, but we can deal
with that later.
Change-Id: I32f0895118ac0da72105ec3a24c0294e18c05545
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172914
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
This reverts commit 2164406a973fd40fcc56b8839a21854f6b50a53b.
Reason for revert: Going to implement a scrolled window
Change-Id: Icc7dc71860bfcafaea1323a3d0c6f7e1f7dd380f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172758
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Tested-by: Jenkins
|
|
advanced Find and Replace search dialog, inherit (pre-fill) search
field's term from current value of find bar's focused search entry
Makes the Writer quick find panel behave as such.
Change-Id: I2164f443d6ef120d86b001499f67795eaeaf224d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172375
Reviewed-by: Jim Raykowski <raykowj@gmail.com>
Tested-by: Jenkins
|
|
Special case fast destruction of background saving children.
Change-Id: I8fba4d0818d23a8b0e1bb4d074e1afae7dacde33
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165448
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
(cherry picked from commit 7d784910689172014b8cf6144e654402696d8801)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172520
|
|
Change-Id: Ia8205dd32ee7fd3f67ae2c3f6fec4366c2c4d4f7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172455
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Tested-by: Jenkins
|
|
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>
|
|
which shaves some time off loading complex files.
Note that this class is often used as a superclass, so I checked all of
the subclasses and marked some of them as "does not support hashing"
until they can be independently verified to be safe
Change-Id: Id4187eda8d6145e89e17dc10c2e3113b7a93da85
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171891
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Similar to commit 99c1bd1a4ef5365d8c26a41c8e858c67e673beb4 (Disallow
closing document during generation of preview, 2024-03-11), it may
happen that an external process is closes a document that is being
in the process of the background layout, leading to use-after-free.
The request thread at the crash time, executing XComponent::dispose:
swlo.dll!SwNoTextFrame::~SwNoTextFrame() Line 170
swlo.dll!SwNoTextFrame::`scalar deleting destructor'(unsigned int)
swlo.dll!SwFrame::DestroyFrame(SwFrame * const pFrame) Line 397
swlo.dll!SwFlyFrame::DeleteCnt() Line 424
swlo.dll!SwFlyFrame::DestroyImpl() Line 358
swlo.dll!SwFlyFreeFrame::DestroyImpl() Line 89
swlo.dll!SwFrame::DestroyFrame(SwFrame * const pFrame) Line 396
swlo.dll!SwLayoutFrame::DestroyImpl() Line 516
swlo.dll!SwFrame::DestroyFrame(SwFrame * const pFrame) Line 396
swlo.dll!SwLayoutFrame::DestroyImpl() Line 540
swlo.dll!SwPageFrame::DestroyImpl() Line 317
swlo.dll!SwFrame::DestroyFrame(SwFrame * const pFrame) Line 396
swlo.dll!SwLayoutFrame::DestroyImpl() Line 540
swlo.dll!SwRootFrame::DestroyImpl() Line 570
swlo.dll!SwFrame::DestroyFrame(SwFrame * const pFrame) Line 396
swlo.dll!std::_Ref_count_resource<SwRootFrame *,void (__cdecl*)(SwFrame *)>::_Destroy() Line 1222
swlo.dll!std::_Ref_count_base::_Decref() Line 1164
swlo.dll!std::_Ptr_base<SwRootFrame>::_Decref() Line 1380
swlo.dll!std::shared_ptr<SwRootFrame>::~shared_ptr<SwRootFrame>() Line 1685
swlo.dll!SwViewShell::~SwViewShell() Line 354
swlo.dll!SwCursorShell::~SwCursorShell() Line 3440
swlo.dll!SwEditShell::~SwEditShell() Line 63
swlo.dll!SwFEShell::~SwFEShell() Line 699
swlo.dll!SwWrtShell::~SwWrtShell() Line 2065
swlo.dll!SwWrtShell::`scalar deleting destructor'(unsigned int)
swlo.dll!std::default_delete<SwWrtShell>::operator()(SwWrtShell * _Ptr) Line 3302
swlo.dll!std::unique_ptr<SwWrtShell,std::default_delete<SwWrtShell>>::reset(SwWrtShell * _Ptr) Line 3447
swlo.dll!SwView::~SwView() Line 1196
swlo.dll!SwView::`vector deleting destructor'(unsigned int)
sfxlo.dll!SfxViewFrame::ReleaseObjectShell_Impl() Line 1140
sfxlo.dll!SfxViewFrame::~SfxViewFrame() Line 2059
sfxlo.dll!SfxViewFrame::`scalar deleting destructor'(unsigned int)
sfxlo.dll!SfxViewFrame::Close() Line 1192
sfxlo.dll!SfxFrame::DoClose_Impl() Line 138
sfxlo.dll!SfxBaseController::dispose() Line 928
fwklo.dll!`anonymous namespace'::XFrameImpl::setComponent(const com::sun::star::uno::Reference<com::sun::star::awt::XWindow> & xComponentWindow, const com::sun::star::uno::Reference<com::sun::star::frame::XController> & xController) Line 1496
fwklo.dll!`anonymous namespace'::XFrameImpl::close(unsigned char bDeliverOwnership) Line 1707
sfxlo.dll!SfxFrame::DoClose() Line 104
sfxlo.dll!SfxViewFrame::Notify(SfxBroadcaster & __formal, const SfxHint & rHint) Line 1820
svllo.dll!SfxBroadcaster::Broadcast(const SfxHint & rHint) Line 40
sfxlo.dll!`anonymous namespace'::SfxModelListener_Impl::notifyClosing(const com::sun::star::lang::EventObject & __formal) Line 154
sfxlo.dll!SfxBaseModel::close(unsigned char bDeliverOwnership) Line 1511
swlo.dll!SwXTextDocument::close(unsigned char bDeliverOwnership) Line 574
sfxlo.dll!SfxBaseModel::dispose() Line 745
swlo.dll!SwXTextDocument::dispose() Line 561
mscx_uno.dll!`anonymous namespace'::cpp_call(bridges::cpp_uno::shared::UnoInterfaceProxy * pThis, bridges::cpp_uno::shared::VtableSlot aVtableSlot, _typelib_TypeDescriptionReference * pReturnTypeRef, long nParams, _typelib_MethodParameter * pParams, void * pUnoReturn, void * * pUnoArgs, _uno_Any * * ppUnoExc) Line 214
mscx_uno.dll!unoInterfaceProxyDispatch(_uno_Interface * pUnoI, const _typelib_TypeDescription * pMemberTD, void * pReturn, void * * pArgs, _uno_Any * * ppException) Line 430
binaryurplo.dll!binaryurp::IncomingRequest::execute_throw(binaryurp::BinaryAny * returnValue, std::vector<binaryurp::BinaryAny,std::allocator<binaryurp::BinaryAny>> * outArguments) Line 239
binaryurplo.dll!binaryurp::IncomingRequest::execute() Line 79
binaryurplo.dll!request(void * pThreadSpecificData) Line 84
cppu3.dll!cppu_threadpool::JobQueue::enter(const void * nDisposeId, bool bReturnWhenNoJob) Line 101
cppu3.dll!cppu_threadpool::ORequestThread::run() Line 165
cppu3.dll!threadFunc(void * param) Line 190
sal3.dll!oslWorkerWrapperFunction(void * pData) Line 67
Main thread, doing an idle layout of the same document:
emboleobj.dll!OleComponent::SetExtent(const com::sun::star::awt::Size & aVisAreaSize, __int64 nAspect) Line 1099
emboleobj.dll!OleEmbeddedObject::setVisualAreaSize(__int64 nAspect, const com::sun::star::awt::Size & aSize) Line 138
swlo.dll!SwWrtShell::CalcAndSetScale(svt::EmbeddedObjectRef & xObj, const SwRect * pFlyPrtRect, const SwRect * pFlyFrameRect, const bool bNoTextFramePrtAreaChanged) Line 777
swlo.dll!SwContentNotify::ImplDestroy() Line 926
swlo.dll!SwContentNotify::~SwContentNotify() Line 1037
swlo.dll!SwNoTextFrame::MakeAll(OutputDevice * pRenderContext) Line 584
swlo.dll!SwFrame::OptPrepareMake() Line 412
swlo.dll!SwFrame::OptCalc() Line 1110
swlo.dll!SwLayAction::FormatContent_(const SwContentFrame * pContent, const SwPageFrame * pPage) Line 1969
swlo.dll!SwLayAction::FormatFlyContent(const SwFlyFrame * pFly) Line 1994
swlo.dll!SwObjectFormatter::FormatObj_(SwAnchoredObject & _rAnchoredObj) Line 312
swlo.dll!SwObjectFormatterTextFrame::DoFormatObj(SwAnchoredObject & _rAnchoredObj, const bool _bCheckForMovedFwd) Line 133
swlo.dll!SwObjectFormatter::FormatObjsAtFrame_(SwTextFrame * _pMasterTextFrame) Line 414
swlo.dll!SwObjectFormatterTextFrame::DoFormatObjs() Line 348
swlo.dll!SwObjectFormatter::FormatObjsAtFrame(SwFrame & _rAnchorFrame, const SwPageFrame & _rPageFrame, SwLayAction * _pLayAction) Line 160
swlo.dll!SwLayAction::FormatContent(SwPageFrame * pPage) Line 1802
swlo.dll!SwLayAction::InternalAction(OutputDevice * pRenderContext) Line 607
swlo.dll!SwLayAction::Action(OutputDevice * pRenderContext) Line 390
swlo.dll!SwLayIdle::SwLayIdle(SwRootFrame * pRt, SwViewShellImp * pI) Line 2372
swlo.dll!SwViewShell::LayoutIdle() Line 827
swlo.dll!sw::DocumentTimerManager::DoIdleJobs(Timer * __formal) Line 176
swlo.dll!sw::DocumentTimerManager::LinkStubDoIdleJobs(void * instance, Timer * data) Line 156
vcllo.dll!Link<Timer *,void>::Call(Timer * data) Line 111
vcllo.dll!Timer::Invoke() Line 75
vcllo.dll!Scheduler::CallbackTaskScheduling() Line 509
vcllo.dll!SalTimer::CallCallback() Line 53
vclplug_winlo.dll!WinSalTimer::ImplHandleElapsedTimer() Line 169
vclplug_winlo.dll!ImplSalYield(bool bWait, bool bHandleAllCurrentEvents) Line 525
vclplug_winlo.dll!WinSalInstance::DoYield(bool bWait, bool bHandleAllCurrentEvents) Line 581
vcllo.dll!ImplYield(bool i_bWait, bool i_bAllEvents) Line 385
vcllo.dll!Application::Yield() Line 473
vcllo.dll!Application::Execute() Line 361
sofficeapp.dll!desktop::Desktop::Main() Line 1652
vcllo.dll!ImplSVMain() Line 229
vcllo.dll!SVMain() Line 262
sofficeapp.dll!soffice_main() Line 121
soffice.bin!sal_main() Line 51
soffice.bin!main(int argc, char * * argv) Line 49
soffice.bin!invoke_main() Line 79
soffice.bin!__scrt_common_main_seh() Line 288
soffice.bin!__scrt_common_main() Line 331
soffice.bin!mainCRTStartup(void * __formal) Line 17
Change-Id: I92102a9cd11ccde307b070ebc1984eb3d17d65bf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171856
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
|
|
in just the SingleTabController, which is a specific subset of all
dialogs, the case of a dialog that hosts a page typically seen in a
multi-table dialog. Why should such a dialog have no help, while
its sibling containing the same page alongside others would have help,
or vice-versa.
Change-Id: I3f54c0088e30a396e83e990510ebe7f1f3bc7bda
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171848
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
The SfxSingleTabDialogController was explictely showing the Help button even
if it was previously hidden by the VclBuilder due to lack of Help URL in
Collabora Online
This was the case in the spelling option dialog.
See https://github.com/CollaboraOnline/online/issues/9699
Signed-off-by: Hubert Figuière <hub@collabora.com>
Change-Id: I4454f3d1f0c097faeebf912c3282335fed67ec84
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171697
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/+/171847
Tested-by: Jenkins
|
|
Change-Id: Ia8868a80e4eba9a9a1c0b31077d9eca0c5b00466
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171633
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
and
cid#1555849 COPY_INSTEAD_OF_MOVE
cid#1555936 COPY_INSTEAD_OF_MOVE
cid#1555951 COPY_INSTEAD_OF_MOVE
cid#1555955 COPY_INSTEAD_OF_MOVE
cid#1555960 COPY_INSTEAD_OF_MOVE
cid#1555964 COPY_INSTEAD_OF_MOVE
cid#1555965 COPY_INSTEAD_OF_MOVE
cid#1555975 COPY_INSTEAD_OF_MOVE
cid#1555979 COPY_INSTEAD_OF_MOVE
cid#1555987 COPY_INSTEAD_OF_MOVE
cid#1555990 COPY_INSTEAD_OF_MOVE
cid#1555991 COPY_INSTEAD_OF_MOVE
cid#1556002 COPY_INSTEAD_OF_MOVE
cid#1556008 COPY_INSTEAD_OF_MOVE
cid#1556011 COPY_INSTEAD_OF_MOVE
cid#1556015 COPY_INSTEAD_OF_MOVE
cid#1556017 COPY_INSTEAD_OF_MOVE
cid#1556023 COPY_INSTEAD_OF_MOVE
Change-Id: I8ab99d8e52a1780173a4272c59d408432c29de9f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171572
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
managing which a11y issue should be checked. In default mode all the a11y issues are checked.
Change-Id: Ib01e7d76e74b0b9cc9df259295edbee135b1c8a2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170324
Tested-by: Jenkins
Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
|
|
Include X.509 certificates under Tools->Options->UserData
among the keys for signing.
Add a new checkbox to Save file dialog, to sign with that
selected key easily.
The checkbox is disabled if there's no matching key found.
Change-Id: I9fc16790c479819cd1f35bcad040d0ebc7c4bdef
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170619
Tested-by: Jenkins
Reviewed-by: Sarper Akdemir <sarper.akdemir@allotropia.de>
|
|
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>
|
|
Change-Id: Ia2a7feb2f47a59f7c693e2023f9c2c8b3b934f81
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170336
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
Tested-by: Jenkins
|
|
Change-Id: Ifd22f5cc618137d715f78f0a04550256987752ac
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170186
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
|
|
the CTRL+F search
Change-Id: I51ccd2186c47a91958c262efac9a1514b9c3b138
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169606
Reviewed-by: Jim Raykowski <raykowj@gmail.com>
Tested-by: Jenkins
|
|
Introduces OverridingShells that when set, makes the view
act like the MainViewShell.
The main use case is having more then one ViewShell in a
single window, where context (toolbars, sidebars etc.) can
jump in between different ViewShells.
Uses OverridingShells to enable NotesPane to react
ToolBarShells. Accessing the functionality of ToolBarShells
without the previous hacks with slot forwarding.
Change-Id: Icc9721d7f54097025bc9dc7ef7069aed856e6d96
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169658
Tested-by: Jenkins
Reviewed-by: Sarper Akdemir <sarper.akdemir@allotropia.de>
|
|
Check if the hyperlink have missing name and add a fix button
to fix the warning.
Change-Id: I3a69490aa81cf0ed9d0edb04eaa3401e4b47eb7f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169508
Tested-by: Jenkins
Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
|
|
Change-Id: Ia216da9bd7764f2d21aaee761a02eafda88d892e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169257
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
|
|
for Formatted warnings and keep them not expanded (default) to avoid
to many visible warning message on the sidebar.
Change-Id: Ic251909d793198c3c4ce5e132b763c15ac1c9a9e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169110
Tested-by: Jenkins
Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
|
|
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>
|
|
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>
|
|
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
|
|
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
|
|
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>
|
|
The SfxPoolItem has a new member SfxItemType m_eItemType to
compare types based on enums instead of typeinfo() which
consumes a lot of time e.g. while AutoFormat is running
Change-Id: I033ce67bc9a28ee4790f162380314de85fb4154e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166452
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
|
|
Change-Id: I3714061376afaf1186e4f7cfe5b28bfb54aa7a99
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168789
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Tested-by: Jenkins
|
|
Giving the user the option to determine if they should trust an
invalid signature in HIGH macro security doesn't make sense.
CommonName of the signature is the most prominent feature presented
and the CommonName of a certificate can be easily forged for an
invalid signature, tricking the user into accepting an invalid
signature.
in the HIGH macro security setting only show the pop-up to
enable/disable signed macro if the certificate signature can be
validated.
Additionally present a ViewSignatures button in the Macro Disabled
infobar, so that the user can inspect what are the invalid signatures
and why (wihtout the ability of enabling macros).
Change-Id: Ia766fb701660160ee5dc9f6e077f4012a44ce721
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168667
Tested-by: Jenkins
Reviewed-by: Sarper Akdemir <sarper.akdemir@allotropia.de>
|
|
so we can drop the hierarchical search
these probably do nothing in the absence of the classic help. fpicker
case might benefit from moving some a11y translations out of help into
core.
Change-Id: I01b8d0c7cc1a1b3697d3332e330c6b4654e76af1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168507
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: Ic9876dbdd0dc0ce887a6eb135bd411f8e3dc9e12
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168288
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
linefragment.ui and documentinfopage.ui modified to keep
the usual dialog dimension
Change-Id: I1777e4094e584d676a48855717827aaed413e251
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168139
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
|
|
Change-Id: I78c4d190f8fcb96abaad267b19ab6cb3732a1807
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168112
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
after 9eb083ab732512c3ab64007c3be1c54be97172f6
"check GetShell"
Change-Id: I0dcef57019fde7639ddbb981cbd41c13f857b4af
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167905
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
|
|
dd889b290304b73f96a9a8e6e0f144d3aa2ba7e1
Change-Id: Idf0594c546e4d9ca263272ed1534b27948e8e930
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167956
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Tested-by: Jenkins
|
|
Change-Id: Iaba1a77ae0ac7537f1dbf05fa097b3235b36f64d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167921
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
This should help to associate the right view-ids, with the right
windows, and help to catch any stray / lingering windows from closed
sessions - hopefully.
Change-Id: I197a3280d5d2aeddd356ee037c51e4887f43278b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167765
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
(cherry picked from commit 8d979fae0c435b820302c76fcfdc2642b4820360)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167684
Tested-by: Jenkins
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
|