V1048 The 'eEnableChildren' variable was assigned the same value. See lines 2537 and 2542.
Change-Id: If1e7630ea3fc3bec8401977a011f29380c70da0c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175156
Reviewed-by: David Gilbert <freedesktop@treblig.org>
Tested-by: Jenkins
Change-Id: If68fa2c871472a21d9404370351828753db37ee4
V1037: Two or more case-branches perform the same actions. Check lines: 727, 731
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175159
Tested-by: Jenkins
Reviewed-by: David Gilbert <freedesktop@treblig.org>
* Update helpcontent2 from branch 'master'
to 4c8d7f27a01462bf8e05b6fd5cdc979433d62412
- Remove empty paragraph at line 78
Removed empty paragraph at line 78 to avoid warnings and translation problems.
Change-Id: I6d28f08bed4ec68921c1b8640504eff966cf517c
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/176349
Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
Tested-by: Jenkins
* Update helpcontent2 from branch 'master'
to 9e9a188e016b3126a9b07d50084338dfead65bf6
- Fix empty heading in 'Edit module' help page
Added text to the heading in line 77, so that in now reads "Reset", to avoid the warning:
> Helpex warning: invalid po attributes extracted from /home/timar/libreoffice-master/helpcontent2/source/text/shared/optionen/01010401.xhp
> No string specified!>
> GroupID: hd_id3161832
- and problems with translation.
Change-Id: Ia5936a110fa1bbe663032f5fc36b07b7e1af210c
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/176347
Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
Tested-by: Jenkins
and extrusion-specularity.
In ODF strict always value 'draw:MetalODF' was written. Changed the
logic to write 'loext:MetalMSCompatible' too, depending on eMetalType.
Using a QName as value requires a namespace declaration for the prefix
'loext'. That is now written directly at the element, not as global
declaration, to restrict its scope to the element. A global declaration
would hide when attributes or elements are accidentially written in
'loext' namespace.
The pattern for nonNegativePercent had missed the percent sign.
The export is adapted to write the percent sign.
Validation is skipped for save to ODF 1.3, because currently the
implicit validation uses always latest ODF version, see tdf#163806.
Tests are extended to cover ODF 1.4 and value draw:MetalODF.
Change-Id: I836d11b9cd327b9772e800d9797e04e1613ab2f9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176246
Tested-by: Jenkins
Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
Commit f4c2c7c79c lowered the Skia
flushing priority to solve tdf#157312. But the commit caused the
"window will dock in rectangle" border to not be drawn when dragging
a dockable window over a dockable position.
Surprisingly, tdf#157312 does not reoccur without the commit so
it appears that the commit is now unnecessary.
Change-Id: Ibd74ef94e8448cf32fd690d7a26dd098191040b8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176341
Tested-by: Jenkins
Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
so make this less confusing
Change-Id: Icc4d4c43f0d35963bb71cdcd64bdd78b00ed9632
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176324
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Add a new QtInstanceNotebook class that is the
weld::Notebook implementation using a native
Qt widget. It uses a QTabWidget.
Initially, all methods trigger an assert;
the actual logic still needs to be implemented
in future commits.
Let QtBuilder handle "GtkNotebook" objects by
creating a QTabWidget and let
QtInstanceBuilder::weld_notebook return
an instance of the new class.
Change-Id: I5a0671a1ba98bea3e0659e4f280706179bfb4d47
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176322
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Split the existing VclBuilder::handleTabChild into two
methods and make the logic not specific to vcl::Window
available to other subclasses as well, to make it
available for reuse by QtBuilder in the future.
In order to do that, move the existing XML parsing logic
from the beginning of VclBuilder::handleTabChild to the base
class into WidgetBuilder::handleTabChild.
Add a new purely virtual method `applyTabChildProperties`
to WidgetBuilder and move the corresponding logic for
vcl::Window to the new VclBuilder override of this method.
Call that method at the end of WidgetBuilder::handleTabChild.
For QtBuilder, just add a dummy implementation that
triggers an assert initially, which matches what
would have happened right at the beginning
of the previous WidgetBuilder::handleTabChild
implementation without this commit in place.
Change-Id: Ie5664bd341182fa51035b547accf9393d65a0702
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176320
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
In VclBuilder::handleTabChild, move casting the vcl::Window to
TabControl further down to avoid vcl::Window specific code in
the XML parsing logic.
Introduce a new purely virtual helper method
WidgetBuilder::isHorizontalTabControl,
implement for VclBuilder and QtBuilder and
use that in the XML parsing logic instead
of directly checking whether the parent is
a TabControl widget.
This gets rid of one detail specific to the VCL
implementation in the XML parsing part and is in
preparation of further refactoring of
VclBuilder::handleTabChild for reuse with QtBuilder.
Change-Id: I05c637f81bce4a5cdd443960a1ad096c347df560
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176319
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
V1037 Two or more case-branches perform the same actions. Check lines: 94, 97
Change-Id: If4eeadad5a9985a2d4e8336ab4cba9188655b6ba
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175227
Tested-by: Jenkins
Reviewed-by: David Gilbert <freedesktop@treblig.org>
V1037 Two or more case-branches perform the same actions. Check lines: 94, 99
Change-Id: I406b94c79426cebbd4813a019389d0cac0616bbf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175226
Tested-by: Jenkins
Reviewed-by: David Gilbert <freedesktop@treblig.org>
V1037 Two or more case-branches perform the same actions. Check lines: 999, 1003
V1037 Two or more case-branches perform the same actions. Check lines: 1557, 1566, 1595
V1037 Two or more case-branches perform the same actions. Check lines: 2593, 2689
Change-Id: I0a3ab375e9e8c72802615108948c96808a2ec0b4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175208
Tested-by: Jenkins
Reviewed-by: David Gilbert <freedesktop@treblig.org>
and
cid#1634580 Use of auto that causes a copy
cid#1634578 Use of auto that causes a copy
Change-Id: Iad2ec6285b1eb923f3f30e8b18ee577d53ca140b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176312
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Add a new QtInstanceTreeView class that is the
weld::TreeView implementation using a native
Qt widget. It uses a QTreeView.
Initially, all methods trigger an assert;
the actual logic still needs to be implemented
in future commits.
Let QtBuilder handle "GtkTreeView" objects by
creating a QTreeView.
Let QtInstanceBuilder::weld_treeview return
an instance of the new class.
Change-Id: Ia3e694dbef9033fe45a6d2bdbe09fc021cd47c58
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176307
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Similar to how OutputDevice::approximate_digit_width, used
by SalInstanceWidget::get_approximate_digit_width does it,
get the width for all a text containing all of of the 10 digits
and divide by 10 to get the average/approximate width of a digit.
This method e.g. gets called by the print progress dialog.
Change-Id: Ib1779a0a211f571c10714a291fed8f84ae5906ee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176306
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Trigger asserts in more currently not (yet)
implemented methods, so anything missing becomes
clear more easily when working on adding support for another
dialog in the future, rather than some functionality
just not working as expected.
None of the newly added asserts was triggered
in a quick test of opening all of the dialogs
currently listed in QtInstanceBuilder::IsUIFileSupported.
Change-Id: Iea0c7aa22744cd7652ca6cbc2fbb287bfeaa4ef7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176305
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
The gtk_window_present doc says:
> Presents a window to the user.
>
> This may mean raising the window in the stacking order, unminimizing it,
> moving it to the current desktop and/or giving it the keyboard
> focus (possibly dependent on the user’s platform, window manager
> and preferences).
Therefore, call QWindow::requestActivate [2] for the Qt
implementation of weld::Window::present.
[1] https://docs.gtk.org/gtk4/method.Window.present.html
[2] https://doc.qt.io/qt-6/qwindow.html#requestActivate
Change-Id: I1c73dba1675523171a92c760836c6702a81f4c12
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176303
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Set QtInstanceWindow as an event filter for it's
QWidget, and call `signal_container_focus_changed`
when receiving a QEvent::WindowActivate or QEvent::WindowDeactivate
event.
This code path got triggered as expected in a
quick test switching between e.g. the "Help" -> "About"
dialog and other windows in KDE Plasma using the Alt+Tab
shortcut.
The VCL implementation does something similar by
handling VclEventId::WindowActivate and
VclEventId::WindowDeactivate events, see
SalInstanceContainer::HandleEventListener.
For non-top-level containers, a different solution
will probably be needed.
For now, adjust the assert in
QtInstanceContainer::connect_container_focus_changed
to only trigger for non-QtInstanceWindow containers.
And call the base class implementation, so that the
handler is actually set for the QtInstanceWindow
case.
A potential solution for QtInstanceContainer
might be to connect to the QApplication::focusChanged
signal in QtInstanceContainer::connect_container_focus_changed
and in the slot check whether exactly one of the old and
new focus widgets has the container's widget in
hierarchy.
Change-Id: I945c8bf0999d93ae91cf25dcffd3fd3ce164d214
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176302
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Declare support for the "LibreOfficeDev Help Not Installed"
dialog that shows when pressing F1 in a build that doesn't
include the local help.
This means that native Qt widgets are used for that dialog
now when using the qt5 or qt6 VCL plugin and starting LO with
environment variable SAL_VCL_QT_USE_WELDED_WIDGETS=1 set.
Change-Id: I25254fd462b867a10e3ed6efc31d9b145466b0f5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176299
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
If a synchronous message dialog is closed by means other than clicking
a button, return the QDialog::exec response code in
QtInstanceMessageDialog::run, comparable to what already
happens in the async case (s. QtInstanceMessageDialog::dialogFinished)
instead of always returning RET_CLOSE.
This is relevant e.g. for the "LibreOfficeDev Help Not
Installed" dialog that shows when pressing F1 in a build
not including local help, which will be declared as
supported in an upcoming commit. That dialog gets
closed with a response code of RET_YES
when the link button is clicked, see
HelpManualMessage's DownloadClickHdl
(in sfx2/source/appl/sfxhelp.cxx).
Change-Id: Iaa1599dda618e61a5b19264f1984d570a45c6881
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176298
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
In QtHyperlinkLabel::update, always set a non-empty
string for the link target, as otherwise the text
in the QLabel will not be a clickable hyperlink, but
just plain text. While that seems reasonable in general,
this is problematic as the QtHyperlinkLabel is the widget
used for QtInstanceLinkButton, and a weld::LinkButton
should be clickable even if the link target is empty, as
a custom signal handler can be set that doesn't make use
of th URI anyway.
Therefore, just set a single space character as the URI
if the actual one is empty.
This is relevant e.g. for the "LibreOfficeDev Help Not
Installed" dialog that shows when pressing F1 in a build
not including local help, which will be declared as
supported in an upcoming commit.
Change-Id: I1db4c405793109ae9af811d6dd08b1da37246271
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176297
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Move logic to set "GtkLabel" properties on
a QLabel to a new helper method
QtBuilder::setLabelProperties and call it right
after creating the QLabel for a "GtkLabel", and only
for that case.
This also prevents potentially overwriting the
text of a QtHyperlinkLabel widget created for a
"GtkLinkButton" object in a .ui file, as that
class also derives from QLabel, but has specialized
handling for setting the label text to be a hyperlink.
Change-Id: I8bfcc31a503a1c9deec32bcd584e1a86c3dfff19
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176296
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Since the initial import, it used to only notify the first listener.
I guess it was just an overlook of using 'if' instead of 'while' in
the macro code, later flattened.
Change-Id: If2b769e71f937271c004a7152da751b26a2e0f24
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176293
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Changes to the background fill were not being updated
in Writer's sidebar, ever since the introduction in 5.3.
Each of these invalidations can be observed to be necessary
in the corresponding fill type and fill choice listboxes.
It already worked in Draw, and I don't see anywhere
this would be needed in Calc
Change-Id: I42f94ee99036761ff69293bcbb44aeda61e1b321
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176300
Tested-by: Jenkins
Reviewed-by: Justin Luth <jluth@mail.com>
The trouble with signing via ca/cert/key PEM files is that usually the
CA is not trusted by the received of the signature. 3rd-party services
are available to do generate trusted signatures, but then you need to
share your document with them, which can be also problematic.
A middle-ground here is to sign the hash of the document by a 3rd-party,
something that's supported by e.g.
<https://docs.eideasy.com/electronic-signatures/api-flow-with-file-hashes-pdf.html>
(which itself aggregates a number of providers).
As a first step, add LOK API to get what would be the signature time
during signing -- but instead of actually signing, just return this
information. Once the same is done with the doc hash, this is supposed
to provide the same info than what the reference
<https://github.com/eideasy/eideasy-external-pades-digital-signatures>
app does.
This is only a start: incrementally replace XCertificate with
SignatureContext, which allows aborting the signing right before calling
into NSS, and also later it'll allow injecting the PKCS#7 object we get
from the 3rd-party.
Change-Id: I108564f047fdb4fb796240c7d18a584cd9044313
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176279
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
The window title set using SpellingDialog::SetTitle_Impl
was overwritten right away by the next call to
`m_xDialog->set_title(...)`, so was never meant to be used
in practice anyway.
The
// use this function to apply the correct image to be used...
comment suggests that SpellingDialog::SetTitle_Impl also
sets some image, which was actually the case when the code
was initially introduced in
commit d32b3a714f
Author: Mathias Bauer <mba@openoffice.org>
Date: Sat Oct 31 00:36:06 2009 +0100
#i106421#: move svx/source/cui to cui
, but that's no longer the case since
commit bc3c10b5ce
Author: Cédric Bosdonnat <cedric.bosdonnat@free.fr>
Date: Sun Oct 23 07:35:06 2011 -0700
Grammar checking dialog: reworked how explanations are shown
, so there's no more reason to call SpellingDialog::SetTitle_Impl
before setting the actual title.
Change-Id: I56d7478271b53a6ec033a8ead9b05d3eff6ad5b7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176256
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Crashreport signature:
> SIG Fatal signal received: SIGSEGV code: 1 for address: 0x0
> program/libmergedlo.so
> vcl::ImportPDFUnloaded(rtl::OUString const&, std::vector<vcl::PDFGraphicResult, std::allocator<vcl::PDFGraphicResult> >&)
> vcl/source/filter/ipdf/pdfread.cxx:335
> program/libsdlo.so
> SdPdfFilter::Import()
> sd/source/filter/pdf/sdpdffilter.cxx:55
> program/libsdlo.so
> sd::DrawDocShell::ConvertFrom(SfxMedium&)
> sd/source/ui/docshell/docshel4.cxx:502 (discriminator 2)
> libmergedlo.so
> SfxObjectShell::DoLoad(SfxMedium*)
> sfx2/source/doc/objstor.cxx:786
I.e. in case we search for a marker image inside the annotation's
object, then handle the image type without a bitmap the same as
non-image types.
Change-Id: I443b5f448ea4544183fb4ed0b457e85a45f51acc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176282
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Button "apply to all slides" setups properties selected above
to all the slides. Repeat options are common to the whole
presentation. Let's move repeat section to the bottom so it
is less confusing
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I19bb8d10c3969ceb033e2a6d26489999bb7451c9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174357
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: vivek javiya <vivek.javiya@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176283
Tested-by: Jenkins