summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-10-27tdf#163486: PVS: Identical branchesBogdan Buzea
V1037 Two or more case-branches perform the same actions. Check lines: 817, 830 V1037 Two or more case-branches perform the same actions. Check lines: 1251, 1254 Change-Id: I4e121ec3b0c4465f5637b114d2e91e5b639c398c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175276 Tested-by: Jenkins Reviewed-by: David Gilbert <freedesktop@treblig.org>
2024-10-27tdf#163486: PVS: Identical branchesBogdan Buzea
V1037 Two or more case-branches perform the same actions. Check lines: 83, 99 Change-Id: Ibe913d3662bb7cb731dd55327c0df4182b328b69 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175272 Reviewed-by: David Gilbert <freedesktop@treblig.org> Tested-by: Jenkins
2024-10-27tdf#163486: PVS: Identical branchesBogdan Buzea
V1037 Two or more case-branches perform the same actions. Check lines: 331, 334 V1037 Two or more case-branches perform the same actions. Check lines: 529, 532 Change-Id: Id6ad82dd2cb570f7b9c04068e5f404077104a36e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175387 Reviewed-by: David Gilbert <freedesktop@treblig.org> Tested-by: Jenkins
2024-10-27tdf#163486: PVS: Identical branchesBogdan Buzea
V1037 Two or more case-branches perform the same actions. Check lines: 589, 643, 648 Change-Id: I808deb5f3a705ae18e97c51737213f280189fdb4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175214 Tested-by: Jenkins Reviewed-by: David Gilbert <freedesktop@treblig.org>
2024-10-27tdf#163486: PVS: Identical branchesBogdan Buzea
V1037 Two or more case-branches perform the same actions. Check lines: 643, 770 Change-Id: I09ba00a35a9f837bba0ea7450fbf2afc0102e1f6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175350 Tested-by: Jenkins Reviewed-by: David Gilbert <freedesktop@treblig.org>
2024-10-27tdf#163486: PVS: Identical branchesBogdan Buzea
V1037 Two or more case-branches perform the same actions. Check lines: 138, 144 V1037 Two or more case-branches perform the same actions. Check lines: 174, 180 V1037 Two or more case-branches perform the same actions. Check lines: 674, 683 Change-Id: I34790e43cd06578f83185d7de04b2567732fe870 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175349 Reviewed-by: David Gilbert <freedesktop@treblig.org> Tested-by: Jenkins
2024-10-27sc: prefill easy condition dialog with editing condition dataPranam Lashkari
Change-Id: I207bcbf15bedf3dd51980f04899b2c751b64295d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175036 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit 598e93b1b11f4cdff96f6117c2a7d35f3698fd23) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175207 Reviewed-by: Pranam Lashkari <lpranam@collabora.com> Tested-by: Jenkins
2024-10-26cid#1556875 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1556891 COPY_INSTEAD_OF_MOVE cid#1556903 COPY_INSTEAD_OF_MOVE cid#1556917 COPY_INSTEAD_OF_MOVE cid#1556925 COPY_INSTEAD_OF_MOVE cid#1557021 COPY_INSTEAD_OF_MOVE cid#1557092 COPY_INSTEAD_OF_MOVE cid#1557119 COPY_INSTEAD_OF_MOVE cid#1557218 COPY_INSTEAD_OF_MOVE cid#1557342 COPY_INSTEAD_OF_MOVE cid#1557727 COPY_INSTEAD_OF_MOVE cid#1557800 COPY_INSTEAD_OF_MOVE cid#1557821 COPY_INSTEAD_OF_MOVE cid#1557830 COPY_INSTEAD_OF_MOVE cid#1557677 COPY_INSTEAD_OF_MOVE cid#1557674 COPY_INSTEAD_OF_MOVE Change-Id: I20dab0c49a17c28b4feaf97440a36d4962310b29 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175686 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-10-26cid#1606758 Overflowed constantCaolán McNamara
Change-Id: Ia1a3937159186b137b40036f1872d6156ebc0512 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175685 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-10-26cid#1608133 Overflowed constantCaolán McNamara
Change-Id: I38651265938cf076078c34f359b7f3f9ea3728c0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175684 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-10-26Fix wrong string ID's for the sensitivity reportRafael Lima
Change-Id: I4fe860e29eaf11601c633ff32c44d0c4e67b0958 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175605 Tested-by: Jenkins Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2024-10-26sdext replace OUStringLiteral with new OUString literalArnaud VERSINI
Change-Id: I3f2730024fa3cd81c38927d495cdff9c608bddbe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169358 Tested-by: Jenkins Reviewed-by: Arnaud Versini <arnaud.versini@pm.me>
2024-10-26cid#1556052 Data race conditionCaolán McNamara
Change-Id: Id7a5013cbb667ef728b633e2e17f3a16d36ec753 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175680 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-10-26cid#1555767 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1555770 COPY_INSTEAD_OF_MOVE cid#1555788 COPY_INSTEAD_OF_MOVE cid#1555789 COPY_INSTEAD_OF_MOVE cid#1555798 COPY_INSTEAD_OF_MOVE cid#1555816 COPY_INSTEAD_OF_MOVE cid#1555822 COPY_INSTEAD_OF_MOVE cid#1555835 COPY_INSTEAD_OF_MOVE cid#1555845 COPY_INSTEAD_OF_MOVE cid#1555859 COPY_INSTEAD_OF_MOVE cid#1555864 COPY_INSTEAD_OF_MOVE cid#1555868 COPY_INSTEAD_OF_MOVE cid#1555892 COPY_INSTEAD_OF_MOVE cid#1555896 COPY_INSTEAD_OF_MOVE cid#1555921 COPY_INSTEAD_OF_MOVE cid#1555932 COPY_INSTEAD_OF_MOVE cid#1555935 COPY_INSTEAD_OF_MOVE cid#1555944 COPY_INSTEAD_OF_MOVE cid#1555952 COPY_INSTEAD_OF_MOVE cid#1555985 COPY_INSTEAD_OF_MOVE cid#1556024 COPY_INSTEAD_OF_MOVE cid#1556038 COPY_INSTEAD_OF_MOVE cid#1556042 COPY_INSTEAD_OF_MOVE cid#1556044 COPY_INSTEAD_OF_MOVE cid#1556060 COPY_INSTEAD_OF_MOVE cid#1556083 COPY_INSTEAD_OF_MOVE cid#1556085 COPY_INSTEAD_OF_MOVE cid#1556090 COPY_INSTEAD_OF_MOVE cid#1556136 COPY_INSTEAD_OF_MOVE cid#1556157 COPY_INSTEAD_OF_MOVE cid#1556159 COPY_INSTEAD_OF_MOVE cid#1556172 COPY_INSTEAD_OF_MOVE cid#1556179 COPY_INSTEAD_OF_MOVE cid#1556187 COPY_INSTEAD_OF_MOVE cid#1556255 COPY_INSTEAD_OF_MOVE cid#1556256 COPY_INSTEAD_OF_MOVE cid#1556266 COPY_INSTEAD_OF_MOVE cid#1556275 COPY_INSTEAD_OF_MOVE cid#1556290 COPY_INSTEAD_OF_MOVE cid#1556294 COPY_INSTEAD_OF_MOVE cid#1556301 COPY_INSTEAD_OF_MOVE cid#1556311 COPY_INSTEAD_OF_MOVE cid#1556318 COPY_INSTEAD_OF_MOVE cid#1556326 COPY_INSTEAD_OF_MOVE cid#1556369 COPY_INSTEAD_OF_MOVE cid#1556374 COPY_INSTEAD_OF_MOVE cid#1556387 COPY_INSTEAD_OF_MOVE cid#1556388 COPY_INSTEAD_OF_MOVE cid#1556417 COPY_INSTEAD_OF_MOVE cid#1556425 COPY_INSTEAD_OF_MOVE cid#1556435 COPY_INSTEAD_OF_MOVE cid#1556495 COPY_INSTEAD_OF_MOVE cid#1556497 COPY_INSTEAD_OF_MOVE cid#1556501 COPY_INSTEAD_OF_MOVE cid#1556503 COPY_INSTEAD_OF_MOVE cid#1556520 COPY_INSTEAD_OF_MOVE cid#1556523 COPY_INSTEAD_OF_MOVE cid#1556562 COPY_INSTEAD_OF_MOVE cid#1556573 COPY_INSTEAD_OF_MOVE cid#1556576 COPY_INSTEAD_OF_MOVE cid#1556598 COPY_INSTEAD_OF_MOVE cid#1556615 COPY_INSTEAD_OF_MOVE cid#1556626 COPY_INSTEAD_OF_MOVE cid#1556671 COPY_INSTEAD_OF_MOVE cid#1556689 COPY_INSTEAD_OF_MOVE cid#1556701 COPY_INSTEAD_OF_MOVE cid#1556713 COPY_INSTEAD_OF_MOVE cid#1556758 COPY_INSTEAD_OF_MOVE cid#1556759 COPY_INSTEAD_OF_MOVE cid#1556788 COPY_INSTEAD_OF_MOVE cid#1556811 COPY_INSTEAD_OF_MOVE cid#1556821 COPY_INSTEAD_OF_MOVE cid#1556824 COPY_INSTEAD_OF_MOVE cid#1556825 COPY_INSTEAD_OF_MOVE cid#1556862 COPY_INSTEAD_OF_MOVE Change-Id: I4925a79688a983bb07252600430039ec0bcb75b8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175678 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-10-26tdf#48459 sw inline heading: apply it on the selected wordsLászló Németh
Selected text at the beginning of a paragraph (<= 75 characters) become text frame based inline heading at applying a paragraph style (using Formatting toolbar, context menu, Ctrl-1...Ctrl-5 or Styles sidebar panel). If the whole paragraph is selected, or if no or multiple paragraphs are selected, formatting is still applied on the whole paragraphs. Using text frames for inline heading is ODF 1.0 compliant and fully back-compatible with the older Writer versions. The new inline heading frame contains direct formatting to zero the upper and bottom paragraph margin to solve interoperability issues: in MSO, margins of heading styles are zeroed by using the style separators. Note: lack of inline heading was a showstopper for creating APA-, IEEE-, MIL-STD-961E-format, legal etc. documents. Note: recent Formula frame style will be replaced by the planned Inline Heading, which will be used by the DOCX filter to export OOXML style separators instead of text frames. Change-Id: I6722dcaef046bdbca2fe044d175806fa8c65278c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175580 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2024-10-26cid#1633842 Uninitialized scalar fieldCaolán McNamara
Change-Id: I59d9164b191c13ac66d4a663cf5a420f7ccec44a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175675 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-10-26tdf#130857 qt weld: Make link buttons focusable + handle activationMichael Weghorn
Set the text interaction flags [1] for the QLabel used for hyperlinks so that the links can be highlighted and activated using mouse and keyboard. Connect to the QLabel::linkActivated signal that gets emitted when a link gets activated, and call signal_activate_link in response. If that returns false, open the URL using QDesktopServices::openUrl instead. Another way to only support opening the URL using QDesktopServices::openUrl automatically would be to set the `openExternalLinks` property [2], but IIUC, the custom activation handler should have priority. With this in place, when opening the "Help" -> "About LibreOfficeDev" dialog in a WIP branch adding "cui/ui/aboutdialog.ui" to the list of .ui files in QtInstanceBuilder::IsUIFileSupported, the tab order now includes the hyperlinks in the dialog, and pressing Enter while one is focused, or clicking on one of them opens them in the browser when using the qt6 VCL plugin. [1] https://doc.qt.io/qt-6/qlabel.html#textInteractionFlags-prop [2] https://doc.qt.io/qt-6/qlabel.html#openExternalLinks-prop Change-Id: I4e3cbca6d01a652a1038b9750ee9049e1c7491be Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175670 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-10-26tdf#130857 qt weld: Evaluate + set grid item row/col spanMichael Weghorn
When processing packing properties for grid items, also take the "width" and "height" properties into account, which specify the column span and row span, respectively. Pass these as params as well when re-adding the item to the grid, not just the row/col index. With this in place, when opening the "Help" -> "About LibreOfficeDev" dialog in a WIP branch adding "cui/ui/aboutdialog.ui" to the list of .ui files in QtInstanceBuilder::IsUIFileSupported, the "imAbout" image on the left hand side of the dialog is now no longer restricted to the top left cell in the grid, but uses more space as expected. Change-Id: Ia2edb147d7576d863d597c01d4d310e8798a9ecc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175668 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-10-26tdf#130857 qt weld: Implement QtInstanceImage::set_imageMichael Weghorn
Extract a helper to convert a BitmapEx to a QPixmap from the existing helper function `loadQPixmapIcon` and add a new helper that converts a css::uno::Reference<css::graphic::XGraphic>& to a QPixmap reusing most of the code. Use that to implement the QtInstanceImage::set_image variant with that parameter type. With this in place, opening the "Help" -> "About LibreOfficeDev" dialog in a WIP branch adding "cui/ui/aboutdialog.ui" to the list of .ui files in QtInstanceBuilder::IsUIFileSupported now opens the dialog with brand image and LibreOffice Community logo present, but other aspects in that dialog still need attention before enabling this by default. Change-Id: Ide28c0dc126be511ec8e34e57f4f1df7e70297ca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175666 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-10-26tdf#130857 qt weld: Implement QtInstanceWidget::get_preferred_sizeMichael Weghorn
Implement QtInstanceWidget::get_preferred_size by returning the size of the QWidget::sizeHint property [1]: > This property holds the recommended size for the widget With this in place, opening the "Help" -> "About LibreOfficeDev" dialog in a WIP branch adding "cui/ui/aboutdialog.ui" to the list of .ui files in QtInstanceBuilder::IsUIFileSupported now triggers the assert in QtInstanceImage::set_image because that's no implemented yet, while this was not reached at all before, because const tools::Long nWidth(m_pCopyrightLabel->get_preferred_size().getWidth()); at the beginning of AboutDialog::AboutDialog would previously set a preferred width of 0, and with that, there was no attempt to set the images at all. [1] https://doc.qt.io/qt-6/qwidget.html#sizeHint-prop Change-Id: I6eaedf07f73ea5e71a36d3e9bc9a0f55e515ffe7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175665 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-10-26tdf#130857 qt weld: Set actual positions for layouts inside gridMichael Weghorn
Extend QtBuilder::applyGridPackingProperties to not only handle widgets (QWidget), but also layouts (QLayout), so that the proper position inside the grid is also set for these. This will be used e.g. by the "Help" -> "About LibreOfficeDev" dialog. (When adding "cui/ui/aboutdialog.ui" to the list of .ui files in QtInstanceBuilder::IsUIFileSupported, those UI elements that show up are now in the correct positions, but other things unrelated to this particular commit are still missing.) Change-Id: Ic7c342e0307526f29e1fa149acd25a27373069ff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175662 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-10-26tdf#130857 qt weld: Simplify QtBuilder::applyGridPackingPropertiesMichael Weghorn
No longer try to retrieve the current row and column of the widget in the QGridLayout and apply the "top-attach" and "left-attach" properties to set the new row and column separately. Instead, assume (and assert), that both, the new row and column properties are set, get them and then set the position using both of them at the same time. If any of the properties is missing, that most likely needs to be fixed in the .ui file. As a side note, something similar to the previous algorithm to determine the grid position might be useful to implement QtInstanceWidget::get_grid_left_attach etc. at some point. Change-Id: I22e34275e3974f42ca3ee43fa6cb66624e917443 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175661 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-10-26tdf#130857 qt weld: Allow null func for async dialogMichael Weghorn
Drop the assert that a function to call is set in QtInstanceDialog::dialogFinished and just skip that step if none is set. While `m_aRunAsyncFunc` gets set in both QtInstanceDialog::runAsync variants and QtInstanceDialog::dialogFinished shouldn't get called without these having been called first, QtInstanceDialog::runAsync can explicitly be called with null for the function, which is the case e.g. for the "Help" -> "About" dialog (s. the SID_ABOUT case in SfxApplication::MiscExec_Impl), so that assert triggers in a WIP branch for implementing support for that dialog using native Qt widgets when the dialog is closed. Change-Id: I18578a4b1780b05f59817ad85eee3c3a20ba3b41 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175660 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-10-26tdf#130857 qt weld: Add child layouts to gridMichael Weghorn
If a QLayout object is created as the child of a QGridLayout object (e.g. a "GtkBox" as the direct child of a "GtkGrid" in a .ui file), add that layout to the QGridLayout - initially in a new row, but rearranging that will be done as part of processing the "packing" properties of the children once that is implemented for layouts as well. (See QtBuilder::applyPackingProperties and QtBuilder::applyGridPackingProperties where this is currently only implemented for QWidget children). This will be needed e.g. for the "Help" -> "About LibreOfficeDev" dialog. Change-Id: I292134b26efa0dfe5c8fe0684dc02dece338d579 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175659 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-10-26tdf#130857 qt weld: Add a QtInstanceLinkButtonMichael Weghorn
Add a new QtInstanceLinkButton class that is the weld::LinkButton implementing using a native Qt widget. QLabel can be used to display a hyperlink, as it supports the HTML syntax for the text, so using , QLabel myLabel; myLabel.setText(QLatin1String("<a href=\"https://www.libreoffice.org">LibreOffice Website</a>")); can be used to let the QLabel handle a hyperlink. To make it simple to set this as needed for a QLabel, implement a new QLabel subclass called QtHyperlinkLabel that provides convenient getters and setters to set the displayed text and the link target, and takes care of setting the QLabel text based on that as needed. Implement QtInstanceLinkButton using an instance of that class as the widget and create an instance of that class in QtBuilder when encountering a "GtkLinkButton" object while processing a .ui file and evaluate the "label" and "uri" properties. Change-Id: I71d28b6e5e3cbd110ec5b3d1232d55e9d2bb8a1b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175656 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-10-26tdf#130857 qt weld: Add QtInstanceImage skeletonMichael Weghorn
Add a new class QtInstanceImage as a weld::Image implementation using native Qt widgets. It uses a QLabel that holds the Image, which can be set using QLabel::setPixmap [1]. This commit adds the new class, lets QtInstanceBuilder::weld_image return an instance of the new class, and extends QtBuilder to create a QLabel when it encounters a "GtkImage" object. The logic to actually set the image when either processing the .ui file or when one of the weld::Image::set_from_icon_name or one of the weld::Image::set_image variants gets called still needs to be implemented in subsequent commits for the label to actually display an image. [1] https://doc.qt.io/qt-6/qlabel.html#pixmap-prop Change-Id: I3aa526b89487a5301dabd108723d7b68ca85ea66 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175655 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-10-26reduce some rtl_uString_acquire/rtl_uString_release pairsCaolán McNamara
Change-Id: I6d18b07bb0fb1ec355fb4fbfa166449c1041aa82 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175667 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-10-26Revert "tdf#163486: PVS: Array overrun is possible"Julien Nabet
This reverts commit 433eb742c0ff81ff568e4a5f469a6ad4c827b8f5. Reason for revert: see Mike's comment Change-Id: I72832edf3d94e015a44e9764d9139fb41c521097 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175613 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2024-10-26tdf#163486: PVS: Array overrun is possibleJulien Nabet
Change-Id: I53c32af196caabb6084936eb4dd7f360b6226782 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175672 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
2024-10-26Try avoid "vector erase iterator outside range" in Windows buildJulien Nabet
+ adapt test case. Change-Id: I0edbe5543755ab09652ad9fda369748e567260dd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175632 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
2024-10-26Removed exec bits on rtf fileAndrea Gelmini
Change-Id: Ib24816de688a25e509ec416f7aaa475ea94b73e1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175671 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-10-26editeng: unnedded assigmentXisco Fauli
After commit f04ab0ea41db4e91c3dd898a560426867a466988 Author: Xisco Fauli <xiscofauli@libreoffice.org> Date: Wed Oct 23 16:13:04 2024 +0200 tdf#163486: PVS: Expression is always true Change-Id: I33a3cbdc2c7013d5d739c55d3b129f05a329197f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175669 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-10-25sw/qa: simplify a bitXisco Fauli
Change-Id: I5d75561f06ce4f981927afb333af5a99bd7ffe26 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175645 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins
2024-10-25tdf#130857 qt weld: Declare support for Math "Alignment" dlgMichael Weghorn
Add .ui file of Math's "Format" -> "Alignment" dialog to list of files supported by QtInstanceBuilder, so that native Qt widgets are used for that dialog now when using the qt5/qt6 VCL plugins, unless environment variable SAL_VCL_QT_NO_WELDED_WIDGETS=1 is set. Change-Id: Ic0b58b2f77be136eeea9ac8a29501cd30b24dce4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175640 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-10-25tdf#130857 qt weld: Add QtInstanceRadioButtonMichael Weghorn
Implement initial support for native radio buttons using QRadioButton: * Let QtBuilder create a QRadioButton widget when it encounters a "GtkRadioButton" object. * Let QtBuilder::setProperties also handle the QRadioButton case. Both, QRadioButton and QCheckBox derive from QAbstractButton, so reuse the existing logic for QCheckBox to set label and checked status. * Add new class QtInstanceRadioButton as a weld::RadioButton implementation that uses a QRadioButton widget. * Let QtInstanceBuilder::weld_radio_button return an instance of the new class. For now, ignore the GtkRadioButton "group" property [1] that is used to group radio buttons. QRadioButton's are automatically grouped when they have the same parent widget, which is sufficient for the case of the "Alignment" dialog in Math for which support will be declared in an upcoming commit. For more complex scenarios, the use of QButtonGroup [2] could be implemented in the future to explicitly group radio buttons, as mentioned in the QRadioButton doc [3]: > If you need multiple exclusive button groups for radio buttons that > belong to the same parent widget, put them into a QButtonGroup. [1] https://docs.gtk.org/gtk3/property.RadioButton.group.html [2] https://doc.qt.io/qt-6/qbuttongroup.html [3] https://doc.qt.io/qt-6/qradiobutton.html Change-Id: Iaf8b0fef00fc10268c09410080156e7913634ab7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175639 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-10-25tdf#130857 qt weld: Declare support for sw "Rename Object" dialogMichael Weghorn
Add .ui file of Writer's dialog to rename objects to list of files supported by QtInstanceBuilder, so that native Qt widgets are used for that dialog now when using the qt5/qt6 VCL plugins, unless environment variable SAL_VCL_QT_NO_WELDED_WIDGETS=1 is set. That dialog can be triggered e.g. as follows: * create new Writer doc * insert a bookmark ("Insert" -> "Bookmark") * in the Navigator sidebar panel, select the bookmark * righ-click, select "Edit" * press the "Rename" button in the "Bookmark" dialog Change-Id: I0ac8f66b977f5d999bb197cc68e8ce5533fe1ebd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175634 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-10-25tdf#130857 qt weld: Prefer custom handler for dialog buttonsMichael Weghorn
If a custom handler is set for a button in a dialog's button box, skip the default handling (to close the dialog with the corresponding response code, unless it's the help button) in QtInstanceDialog::handleButtonClick, so that the custom handler gets processed instead (see QtInstanceButton::buttonClicked). This is similar to what the VCL implementation (see SalInstanceButton's ClickHdl) and the gtk3 implementation (see GtkInstanceDialog::asyncresponse) do. In order to be able to determine whether a custom click handler is set, make weld::Button::connect_clicked virtual and override it in QtInstanceButton::connect_clicked to set a property on the QPushButton object to indicate that a handler is set. Introduce a static helper method QtInstanceButton::hasCustomClickHandler that evaluates this property. Without this change in place, pressing the "Rename" button in Writer's "Rename Object" dialog that will be declared as supported in upcoming commit Change-Id: I0ac8f66b977f5d999bb197cc68e8ce5533fe1ebd Author: Michael Weghorn <m.weghorn@posteo.de> Date: Fri Oct 25 10:41:45 2024 +0200 tdf#130857 qt weld: Declare support for sw "Rename Object" dialog would not actually result in a bookmark getting renamed, only the dialog would be closed. Change-Id: If3e762100349ecd06c4e9415e9a8f9a44ec6491c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175633 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-10-25tdf#130857 exportepub.ui Define frames in orderMichael Weghorn
Move the definition of the "customize" frame above the "metadata" one in the .ui file so that it matches the visual appearance, which makes sure that tab focus order with the Qt-based VCL plugins is correct as well for Writer's "File" -> "Export As" -> "Export as EPUB" dialog. See commit 02692566ad9fc7c3484f8581ffa0004cd4e43987 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Thu Oct 24 17:43:35 2024 +0200 tdf#130857 optnewdictionarydialog.ui: Define focusable widgets in order for more background. Change-Id: I1db418d4c6394fd8dd0db5127dbcd8e3f0dc09c9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175627 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-10-25tdf#130857 qt weld: Declare support for "Export as EPUB" dialogMichael Weghorn
Add .ui file of Writer's "File" -> "Export as" -> "Export as EPUB" dialog to list of files supported by QtInstanceBuilder, so that native Qt widgets are used for that dialog now when using the qt5/qt6 VCL plugins, unless environment variable SAL_VCL_QT_NO_WELDED_WIDGETS=1 is set. Change-Id: I6509dbccc3bcb8714a4cdeb23925c66057723a8b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175626 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-10-25tdf#130857 qt weld: Add a QtInstanceFrameMichael Weghorn
Add new class QtInstanceFrame as a native Qt implementation for weld::Frame. This uses a QGroupBox as a widget, see commit e2e59d2da1aa4c9f8df62e5a072f0f2cd931781b Author: Michael Weghorn <m.weghorn@posteo.de> Date: Fri Oct 4 10:38:32 2024 +0200 tdf#130857 qt weld: Create QGroupBox for "GtkFrame" Return an instance of it in QtInstanceBuilder::weld_frame. This is used e.g. by the "File" -> "Export as" -> "Export as EPUB" dialog in Writer. Change-Id: I099b8f38fb884881d8d8db38aa918c76f25b6d5e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175625 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-10-25Update git submodulesChristian Lohmaier
* Update translations from branch 'master' to 3afbfbdd5fe5e3053aa67158a95897c21e142ad7 - update translations for master and force-fix errors using pocheck Change-Id: I47284bc708fa842a1bb32efa8df4de4d3c296036
2024-10-25we can remove a SharedString copy nowCaolán McNamara
given that there is no OUString* pValueSource2 case Change-Id: I5420ebf7cc7cd5d0b77256788e8ecd74d445a286 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175638 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-10-25cool#9992 lok doc sign: allow injecting sign cert/key during pdf exportMiklos Vajna
Interactive signing via the .uno:Signature command parameters were possible, but headless PDF export had no similar parameters. The primary difference is that the interactive signing works with the sign certificate of the SfxViewShell, while PDF export has its own vcl::PDFWriter::PDFWriterContext::SignCertificate. Fix the problem similar to what commit 80723fccbb03c215bab84b10ac1eefaedef66b7c (filter: allow PDF export to sign from the cmdline, 2022-02-03) did, but here we don't refer to an already configured sign certificate by name, we take the sign cert/key from parameters instead. Test this in the NSS case where it's known to work, ignore the mscng signing case for now. Change-Id: Ib0c171736d2554fb3678ae4b8842541c43f9f3dd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175644 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-10-25ScQueryEvaluator::compareByString now never has non-null pValueSource2Caolán McNamara
and always has non-null pValueSource1 Change-Id: I5774e8beefeb5e40d316ea8557c656a126f4a7ec Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175637 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-10-25tdf#132253 tdf#163482 Use .uno:InsertHyperlinkDlg as aliasIlmari Lauhakangas
to HyperlinkDialog. The purpose of the obsolete command was to open Character Formatting dialog with the Hyperlink tab focused. Change-Id: I8a3053a7bc7bd98c33224c0988d5c0994d4dca9f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175412 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2024-10-25tdf#139152 Exporting Image or Drawing to PNG is missing metadaNoel Grandin
implement this in a similar fashion to how export to JPEG does it. Add a new method to calculate pixels-per-meter, because that is how PNG stores the values internally Change-Id: I1e4cd5a36af22e52a7c52f5b3bc2407f8523ef9f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175636 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-10-25tdf#160621 follow-up to fix height of field valueOliver Specht
With 2b45427a567d1d52951b6f61aaea74147dab10cf the height and width of the edit variable field dialog has been increased but that didn't always work. Here the grid structure has been changed to give more space to the value field. Change-Id: I1ab0ee7cd31a046db95578801d435e988f039ac5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174714 Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de> Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de> Tested-by: Jenkins
2024-10-25tdf#161538 update page preview on changed printer settingsOliver Specht
Updates the print preview if show/hide automatically generated empty pages is changed. Change-Id: I8ee53c575edb31f16556a66037260cf79f0fb4a7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175416 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
2024-10-25Fix typoAndrea Gelmini
Change-Id: I6bc22a78674982a9fafbda020bfa63f63b37995f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175643 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2024-10-25tdf#160553: writerfilter: RTF import: fix problem with first table in sectionVasily Melenchuk
Handles section properties between tables. JUnit test included Change-Id: I1db8b80749d18c0e73112e4fd1d13d6331aa7291 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165286 Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de> Tested-by: Jenkins