Age | Commit message (Collapse) | Author |
|
Change-Id: Ib303b35837fd73cc3dea77e5095f6d00c9dfa1bb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178082
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
|
|
Change-Id: If3138b9b603c21a9cc6fedc08a7db144fb9f00ac
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178077
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
This gets used in the "Tools" -> "XML Filter Settings" dialog
in Writer when selecting multiple rows in the tree view,
then clicking the "Save as Package" button.
The result with SAL_VCL_QT_USE_WELDED_WIDGETS=1 and the
qt6 VCL plugin in XMLFilterSettingsDialog::onSave looks
as expected with this change in place (variables `aFilters`
and `nFilters` contain the selected filters and total
count of these when observed with a breakpoint after the call to
`m_xFilterListBox->selected_foreach`).
The method still triggers an assert later in a WIP
branch where support for that dialog is declared,
because `QtInstanceWindow::GetXWindow` is called,
but not implemented yet.
Change-Id: Iab47f391106132b5a6ee03fd2ad1902d493c0999
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178070
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Add a new QtInstanceTreeIter struct as the weld::TreeIter
implementaton for QtInstanceTreeView.
It uses the QModelIndex of the item it points to.
Add QtInstanceTreeView::modelIndex helper methods
to convert both, an int row index and a QtInstanceTreeIter
to a QModelIndex.
This can be used to deduplicate code when (re)implementing
the methods that have two variants that either take an
int row index or a TreeIter input param.
For QtInstanceTreeView::get_id, add a new variant that
takes a QModelIndex and move the existing logic from
the implementation for the int param there and reuse
it to implemetnat the variant taking a TreeIter param
as well.
Implement a few more methods taking or returning
a weld::TreeIter.
Change-Id: I0508ad14a43214faccc6a3cba208400031bb231c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178069
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Side note: In Writer's "Tool" > "XML Filter Settings" dialog,
trying to always delete the first entry works 3 times
(when using a fresh profile), but doing it again after then
doesn't remove the entry from the treeview, but the entry is
still gone when closing and reopening the dialog.
That's the same with gtk3 however, weld::TreeView::remove
doesn't get called. So it's not a problem in the weld::TreeView
implementations, but probably in XMLFilterSettingsDialog
or some other underlying logic.
Change-Id: Ic91b3d1d62b66574b9e0710b17b2d9606d27a0fb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178068
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
Now that support for multiple columns has been implemented
in QtInstanceTreeView, iterating over all selected model
indices and appending their row index to the vector
results in the row being appended once fore each column
of the selected row. (Index seen twice in `aRows` in
XMLFilterSettingsDialog::updateStates while debugging
another issue in the "Tools" > "XML Filter Settings" dialog
with the qt6 VCL plugin and SAL_VCL_QT_USE_WELDED_WIDGETS=1).
Use QItemSelectionModel::selectedRows (with the default column
index of 0) instead of QItemSelectionModel::selectedIndexes
to prevent that.
Change-Id: Ic8caa299549d954ed844c39c4b2ba957edf2b404
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178067
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
In QtInstanceTreeView::get_id, the nPos param is the
row number, but was incorrectly passed as the
second parameter to QStandardItemModel::index [1]
which is for the column. Swap the params to fix that.
Passing incorrectly would trigger a crash in a WIP branch
for Writer's "Tools" -> "XML Filter Settings" dialog when
clicking on the second row, as the ID data is only set
for the item in the first, not the second column,
so `pInfo` in XMLFilterSettingsDialog::updateStates
would be null.
Backtrace:
1 XMLFilterSettingsDialog::updateStates xmlfiltersettingsdialog.cxx 183 0x7f3eb862194e
2 XMLFilterSettingsDialog::SelectionChangedHdl_Impl xmlfiltersettingsdialog.cxx 153 0x7f3eb8621859
3 XMLFilterSettingsDialog::LinkStubSelectionChangedHdl_Impl xmlfiltersettingsdialog.cxx 151 0x7f3eb861e8cd
4 Link<weld::TreeView&, void>::Call link.hxx 111 0x7f3eeb997aa1
5 weld::TreeView::signal_selection_changed weld.hxx 989 0x7f3eeb99733c
6 QtInstanceTreeView::handleSelectionChanged QtInstanceTreeView.cxx 781 0x7f3eeb98cb2d
7 QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtInstanceTreeView:: *)()>::call(void (QtInstanceTreeView:: *)(), QtInstanceTreeView *, void * *)::{lambda()#1}::operator()() const qobjectdefs_impl.h 127 0x7f3eeb998141
8 QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtInstanceTreeView:: *)()>::call(void (QtInstanceTreeView:: *)(), QtInstanceTreeView *, void * *)::{lambda()#1}>(void * *, QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtInstanceTreeView:: *)()>::call(void (QtInstanceTreeView:: *)(), QtInstanceTreeView *, void * *)::{lambda()#1}&&) qobjectdefs_impl.h 65 0x7f3eeb998079
9 QtPrivate::FunctorCall<std::integer_sequence<unsigned long>, QtPrivate::List<>, void, void (QtInstanceTreeView:: *)()>::call(void (QtInstanceTreeView:: *)(), QtInstanceTreeView *, void * *) qobjectdefs_impl.h 126 0x7f3eeb997fab
10 QtPrivate::FunctionPointer<void (QtInstanceTreeView:: *)()>::call<QtPrivate::List<>, void>(void (QtInstanceTreeView:: *)(), QtInstanceTreeView *, void * *) qobjectdefs_impl.h 174 0x7f3eeb997f2d
11 QtPrivate::QCallableObject<void (QtInstanceTreeView:: *)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void * *, bool *) qobjectdefs_impl.h 545 0x7f3eeb997e56
12 QtPrivate::QSlotObjectBase::call qobjectdefs_impl.h 461 0x7f3eeaa5ce22
13 doActivate<false> qobject.cpp 4139 0x7f3eeab1c644
14 QMetaObject::activate qobject.cpp 4199 0x7f3eeab121b3
15 QMetaObject::activate<void, QItemSelection, QItemSelection> qobjectdefs.h 306 0x7f3eeaf93da5
16 QItemSelectionModel::selectionChanged moc_qitemselectionmodel.cpp 390 0x7f3eeaf85b76
17 QItemSelectionModel::emitSelectionChanged qitemselectionmodel.cpp 2029 0x7f3eeaf87a2f
18 QItemSelectionModel::select qitemselectionmodel.cpp 1372 0x7f3eeaf872f9
19 QTreeViewPrivate::select qtreeview.cpp 4016 0x7f3ee906f2ec
20 QTreeView::setSelection qtreeview.cpp 2393 0x7f3ee906eaae
... <More>
Change-Id: Icf6b3004ab95991da69c0ff86201421d620aaa43
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178066
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
Set orientation to vertical if that's specified
in the .ui file instead of using the default of
horizontal.
This is used by the button box on the right hand side
of the "Tools" -> "XML Filter Settings" dialog.
Change-Id: I64460037649dcd24897c7a5d7148430836702edc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178064
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
Make the `extractTitle` helper function used by
VclBuilder a static method in the BuilderBase
base class for reuse by QtBuilder.
In QtBuilder::makeObject, when encountering a "GtkTreeViewColumn"
object, add a new column to the QTreeView and set the
column title in the underlying model using
QStandardItemModel::setHeaderData.
Return the parent (tree view).
(Returning no object would cause WidgetBuilder::handleObject
to call WidgetBuilder::insertObject again, and thus result
in every column being processed twice, i.e. the double
amount of columns would be inserted).
Adjust QtInstanceTreeView::clear to no longer
call QStandardItemModel::clear [1], as that would
not only remove the "actual" items, but also the
header items, i.e. the column titles would get lost
as well. Remove all rows instead.
With this in place, the tree view in Writer's
"Tool" -> "XML Filter Settings" dialog has the
correct data + title set on open in a WIP branch
where support for that dialog is declared in
QtInstanceBuilder. (Other aspects in the dialog
still need to be addressed however.)
[1] https://doc.qt.io/qt-6/qstandarditemmodel.html#clear
Change-Id: I59956c007ed73cddb299ad2374afd88199ddc94d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178063
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
QTreeView::resizeColumnToContents [1] looks like the Qt
equivalent for GTK's gtk_tree_view_columns_autosize [2].
[1] https://doc.qt.io/qt-6/qtreeview.html#resizeColumnToContents
[2] https://docs.gtk.org/gtk3/method.TreeView.columns_autosize.html
Change-Id: I4771896fb932834f51fa48ceaa3557181f474fcc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178062
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
For now, require that the actual column index is passed.
The weld::TreeView::set_text doc mentions
// col index -1 sets the first text column
, but that is not supported yet, so assert a different
index is passed for now.
Revisit when implementing support for a dialog that actually
makes use of this.
Change-Id: I8ba6e965ba22542bf3151548200b92c8c6b085d9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178061
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Introduced in commit a1b18eba354dc773c214fc3b7ee92c3473ec4a5e (Implement
Custom Font Collections on pre-Windows 10 systems, 2024-08-20).
Change-Id: I2aa16ae560d4dad8489e13289ad79d8be349b6b1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178031
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Now when version 25.8 is in development, and the drop of legacy Windows
versions was announced in release notes.
Change-Id: Iefda63a29cafe40aec78d149067bdd7a3f20cffb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178025
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
This is independent of the selection.
(For selection, there is weld::TreeView::select
and weld::TreeView::get_selected_index instead.)
Change-Id: I3698a080cebaf4411740b0e7a95c54743e84d881
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178024
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Rename weld::TreeView member + methods to clarify
that these are about selection changes:
* m_aChangeHdl to m_aSelectionChangedHdl,
* signal_changed to signal_selection_changed
* connect_changed to connect_selection_changed
In GtkInstanceTreeview, also rename the
related methods calling signal_selection_changed
accordingly for consistency.
Change-Id: I299d7930484677395a0bdd0ff105df18688f2e04
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178023
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: I99b48a7b38c8a53f6908137bfa3e4cee0231c4d9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178015
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Declare support for the "Insert Breaks"
"File" -> Printer Settings" -> "Properties" dialog.
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.
Since this dialog contains tab pages, their .ui files
need to be declared as supported as well.
Change-Id: Ia4360eebf3fed6ab5f78510c866a1703b0db8998
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177923
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
The current item and the selected item(s) are
not necessarily the same.
Looking into the gtk and VCL implementations,
weld::TreeView::signal_changed is called
when the selection (not the current item) changes, so
connect to the QItemSelectionModel::selectionChanged signal
instead of the QItemSelectionModel::currentChanged one
in the Qt implementation.
At the point in time that the QItemSelectionModel::selectionChanged
signal gets emitted, QItemSelectionModel::selectedIndexes
returns the newly selected indices while that was not
yet the case with QItemSelectionModel::currentChanged.
For the "Device" tab in the "File" -> "Printer Settings" -> "Properties"
dialog (for which support will be added in an upcoming commit),
this resulted in the PPD values (in the tree view
on the right) not being shown for the actually selected PPD
option/key (in the left tree view), but for the
one selected previously.
(See RTSDevicePage::SelectHdl for the logic filling
the tree view with items, which gets triggered when
weld::TreeView::signal_changed gets called.)
Change-Id: I31ec5aaaa47cd3d4704f25086b24645fb708be0a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177922
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
Change-Id: I6d71552f4d5004477b5980fe6c8de710dd4aea9d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177565
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
Due to formatting, grapheme clusters can possibly be split across
multiple layouts. Layouts containing split grapheme clusters are created
by laying out the complete string, and extracting only the necessary
glyphs based on source codepoint index.
This approach is good enough for most diacritic cases, but it cannot
handle certain substitution cases where glyphs with advances would be
interleaved with other layouts. Sub-layouts must be contiguous.
This change introduces code to disable grapheme cluster splitting in
these cases that cannot be handled correctly.
Change-Id: I122abbf9c3f8a5efa4c72ad47991d0ad9ff8a8c0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177927
Tested-by: Jenkins
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
|
|
Used e.g. in RTSDevicePage::FillValueBox
(i.e. in the "File" -> "Printer Settings" -> "Properties"
dialog).
Change-Id: Ice39b266b366a6fd6b37b6ece28cee529990dc80
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177909
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
- weld::Menu doesn't have base with weld::Widget
- use separate container, only one menu per WindowId
- first only send menu and cancel, when user activates
option we will send another request and execute entry
as menu can be blocking
- there is connect_activated way of async setup too
Change-Id: Iea03f82a91ecc19af67b91f85364675c119056ea
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177722
(cherry picked from commit efeb511607dacce991866bcf328c96a01ab594f9)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177852
Tested-by: Jenkins
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
|
|
... instead of a pointer, to make clear
that this is always non-null.
Change-Id: I4c8676913b2507f077d8a66973ab5f95e73cb497
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177886
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
... instead of a pointer, to make clear
that this is always non-null.
Change-Id: Ic0f92e672b08494cf3bfaa9a956cb78170bc1ad5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177885
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
In MenuFloatingWindow::dispose, unset the accessible
before calling the base class implementation, to prevent
the accessible from getting disposed there as well.
This is necessary because the MenuFloatingWindow
doesn't create (and therefore own) its accessible
object, but returns that from its menu in
MenuFloatingWindow::CreateAccessible. Therefore,
the PopupMenu as the owner is responsible for disposing the
accessible as well, not the MenuFloatingWindow.
This logic was already implemented in Menu::dispose,
but that doesn't help in cases where the MenuFloatingWindow
gets disposed independently.
In Menu::dispose, drop the extra logic
and just call `m_pWindow.disposeAndClear`
so that MenuFloatingWindow::dispose can
take care of everything that's needed.
(For the MenuBar case, MenuBar::dispose
calls MenuBar::ImplDestroy, which unsets
Menu::m_pWindow, so other than for PopupMenu,
this change to MenuBar::ImplDestroy method doesn't
make a difference for that class.)
Don't dispose the current Menu::m_pWindow in
PopupMenu::FinishRun, but instead in
PopupMenu::ImplExecute (if set) before assigning
a new one, to ensure that the old one gets disposed.
Drop the
SAL_WARN_IF(GetWindow(), "vcl", "Win?!");
because that case is handled fine now. Without this
change in place, I saw that warning getting triggered
while debugging (potentially because PopupMenu::FinishRun
never got reached as the menu didn't show, maybe due to
switching focus to the IDE when reaching a breakpoint
or different timing,...).
This commit by itself doesn't yet fix the crash
from tdf#164093 seen on Windows with NVDA running
because the menu's accessible still incorrectly gets
disposed by the MenuFloatingWindow's VCLXWindow
(toolkit window peer). That will be addressed
in a separate commit.
Change-Id: Ia2931bee23204395e8b3396927acf4fa1d0f077c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177883
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: Ifc63db272484e9a7986e6113989f2f6274f40349
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177846
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
but still has the same problem as the gtk3 iconview with reporting
positions when scrolled
a problem since:
commit a36a58933a1e07d3f54bacd5c2fe8ca53063a63a
CommitDate: Wed Dec 4 07:40:30 2024 +0100
sd: convert sidebar masterpage panels from drawingview to iconview
Change-Id: Ice549b40d88c5d2063e37ccb63490e3537736d39
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177855
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Previously, Writer was not correctly terminating layout contexts at the
starts of small caps spans. This could cause incorrect character
placement in certain cases.
Regression since:
Commit 30d376fb7ded4c96c85ad1112a0e44b5929657c9
"tdf#61444 Correct Writer text layout across formatting changes"
and
Commit ab0a4543cab77ae0c7c0a79feb8aebab71163dd7
"tdf#124116 Correct Writer text shaping across formatting changes"
Change-Id: I863b9b66356eb0a9efb5bbdc75e80b43d56aaaf0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177839
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
Tested-by: Jenkins
|
|
In QtInstanceWidget, connect to the QApplication::focusChanged
signal [1] and when either the old or the new focus widget
is the one belonging to this QtInstanceWidget, notify
about the lost/gained focus.
With this in place, SvxSearchDialog::FocusHdl_Impl
now gets called in a WIP branch where support for the
"Find and Replace" dialog is declared when moving
focus into one of the comboboxes in that dialog.
[1] https://doc.qt.io/qt-6/qapplication.html#focusChanged
Change-Id: I15190cf9b0d2e72d78a57f58da7ff2ebd1e7a6d9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177835
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Similar to what already exists in most subclasses,
add signal_<event_name> methods to call the handlers
and use these in the subclasses instead of calling
the handlers directly.
Change-Id: I6b79ddd859b360e947d97ada57f1573a276d6177
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177834
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Also add Q_OBJECT macros for all subclasses
that didn't have them and run moc for them, too.
Change-Id: Ia42ee7d02b68d54df308d33c88bf286468bfa68f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177833
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
This e.g. gets called when pressing the "Find Next" button
in the "Find and Replace" dialog.
Change-Id: I30e33d52d19b0afe44564486bfa79e3b500ae856
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177832
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
As the comment for weld::ComboBox::connect_changed
(in vcl/include/weld.hxx) says:
/* m_aChangeHdl is called when the active item is changed. The can be due
to the user selecting a different item from the list or while typing
into the entry of a combo box with an entry.
Use changed_by_direct_pick() to discover whether an item was actually explicitly
selected, e.g. from the menu.
*/
void connect_changed(const Link<ComboBox&, void>& rLink) { m_aChangeHdl = rLink; }
QComboBox::currentIndexChanged is not emitted while
typing in an editable combobox, so connect to the
QComboBox::editTextChanged signal in addition.
Also, hold the SolarMutex when calling the signal handler.
QtInstanceComboBox::changed_by_direct_pick isn't implemented
yet, but would trigger an assert when called, so this doesn't
go unnoticed at least.
Witht this commit in change, typing in the "Find"
combobox in the "Find and Replace" dialog in a WIP
branch declaring support for that dialog now results
in the buttons getting enabled or disabled as expected
(disabled when text is empty, enabled when non-empty).
Change-Id: I9b89b3a3c8b5ed7ebdeda7b486bdbf2f7e54fd86
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177831
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Not doing so would e.g. trigger an assert when
toggling the "Match case" checkbox in the "Find and Replace"
dialog in a WIP branch where support for that dialog with
native widgets is declared.
Change-Id: I5dc95e81e81bceaf258ecba6e55dfa280dfdd572
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177830
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Reuse the logic previously implemented in
QtInstanceEntry::set_message_type by moving it to a
static helper method that takes a QLineEdit* param,
and for QtInstanceComboBox::set_entry_message_type,
pass the combo box's line edit.
Change-Id: I8e81c9473da294d2a8c863ed143d735c30ade2a2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177829
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Map to/from what looks like the corresponding QWidget
equivalents.
No explicit testing done.
Change-Id: I47152c8789223372c49ea60f774d0a04a64db2b7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177828
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
These are needed e.g. for the "Find and Replace" dialog.
Use the QWidget::geometry property [1] for now.
An alternative to consider might be QWidget::frameGeometry [2].
At least on Wayland, screen positions are not available
anyway, however.
[1] https://doc.qt.io/qt-6/qwidget.html#geometry-prop
[2] https://doc.qt.io/qt-6/qwidget.html#frameGeometry-prop
Change-Id: I2449d8be688c17a4abb58ba424c966dde0e30e26
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177827
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
Used e.g. by the "Find and Replace" dialog (Ctrl+H).
Change-Id: Ie181eea1600616ddb6a8044864df221ac4bb108d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177826
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: Ib09f054eca56d55ba6b91c8e2377f373fc615430
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177808
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
Other than most of the a11y implementations for vcl
classes, VCLXAccessiblePopupMenu etc. do not
make use of any VCLXWindow (i.e. UNO/toolkit wrapper of a
vcl::Window) and thus do not depend on the toolkit
module, which the accessibility module depends on.
Therefore, there's also no need to use the accessible
factory to create them (which is needed when toolkit
classes are involved to avoid a dependency cycle).
Move those classes from the accessibility module to
vcl and add a new method Menu::CreateAccessible and
move the logic from AccessibleFactory::createAccessible
there. Drop the now unnecessary factory methods
previously used for those classes.
No change in behavior intended (yet), but this
also simplifies the code involved for the
tdf#164093 scenario.
Change-Id: Ie3f6f1a02bf6662206d31383473cdc868e1f9164
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177812
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Move helpers to convert between the Rectangle, Point and Size
classes in vcl and in css::awt from VCLUnoHelper (in the toolkit module)
to vcl::unohelper (in the vcl module), for reuse in vcl in upcoming
commits.
Change-Id: I7b11c8a6b8c843a01ce25b1e4c0fb1869ad1e6ee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177816
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
This is in preparation of moving more from
the accessibility module to vcl.
Currently, the a11y implementations for vcl widgets
are implemented in the accessibility module (in
directory of the same name), which in turn depends
on the toolkit module.
To break the dependency cycle (vcl needs accessibility
to create a11y objects for its widgets), there's a UNO
service.
At least some a11y classes don't really need toolkit,
however, so the plan is to decouple this and move those
from the accessibility module into vcl in upcoming
commits.
Change-Id: I6aeee104f271c804c85727002822b89a9263628f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177810
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
This method from the unpublished XAccessibleExtendedComponent
interface is not used by any of the a11y platform bridges, and
I don't know of any platform a11y API that would need it.
In order to report character/font attributes, there is the
XAccessibleText interface and its
XAccessiText::getCharacterAttributes method instead, which
actually gets used by the platform a11y bridges.
Therefore, drop this method to simplify code, and also decouple
the accessibility module a bit further from the toolkit
module without having to reorganize code further.
(VCLXFont from the toolkit module currently gets used in
various implementations.)
Change-Id: I06ea3cc5998a13927b3f869877b28f03ac07c89b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177809
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
The call sites are actually passing in transparency, in fact to be
consistent with current conventions we are actually dealing with alpha
values. So we need to take the transparent values at the call sites and
convert to alpha values by just subtracting 255. Hence fixing the FIXME
comment.
Change-Id: Ibc55ea77f469ec8afcab0cc26d2b8cdf25ea8a72
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173858
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
... in D2DWriteTextOutRenderer.
Commit 785a56b6be7f3128c2e7a131381e02525a50eb6b (D2DWriteTextOutRenderer:
use grayscale AA for file output, 2024-11-27) has disabled it only when
the export settings explicitly specified a concrete AA setting. In case
when the settings didn't specify explicitly, if AA should be used or not,
then system settings were used, which in case of D2DWriteTextOutRenderer
would still enable ClearType (subpixel AA).
This stores additional flag in StyleSettings, similar to what was done
in commit e6538f5bdd876911ea30f84a6512c03908e620fd (tdf#118966 vcl: add
a flag to determine if AA of fonts is used from the system, 2018-07-28),
that tells the renderer to prevent subpixel AA, even if use of AA itself
is defined by system settings. This flag is currently only considered by
D2DWriteTextOutRenderer.
Change-Id: Ibd1879d3c222276eee00c37a442881d6d47c831f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177780
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
gtk_icon_view_convert_widget_to_bin_window_coords was
dropped in gtk commit [1]
commit 8dc5e13e8c66cd260edff17dbaa10eedcc95ae1b
Author: Timm Bäder <mail@baedert.org>
Date: Tue Jun 27 11:11:57 2017 +0200
iconview: Remove bin_window
, so make the code using it conditional for gtk3.
This at least unbreaks the build for now after
commit a36a58933a1e07d3f54bacd5c2fe8ca53063a63a
Date: Mon Nov 25 17:07:59 2024 +0530
sd: convert sidebar masterpage panels from drawingview to iconview
It's possible gtk4 needs to do something else instead,
but that can still be added later.
See discussion newly started at [2] which might
give some insights.
[1] https://gitlab.gnome.org/GNOME/gtk/-/commit/8dc5e13e8c66cd260edff17dbaa10eedcc95ae1b
[2] https://gerrit.libreoffice.org/c/core/+/177642/comment/4edf0ddd_f71cb30b/
Change-Id: I3bd42614addd03d483c7b41daa2b3a4677b9318e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177769
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: Iac4a64af74c92cbd76335faa62e51fa80ef21789
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177718
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This fix offers two options to preserve the overflowed text:
1: if the "Original size" option is selected for printing,
the overflowed text will be displayed on a new page.
2: if the "Fit to Printable Area" option is selected for printing,
notes will be scaled to fit within the available printable space.
The "Multiple sheets of paper" and "Tile sheet of paper" options are disabled for notes because these options are intended for slide printing and do not make much sense for printing notes.
The orientation for the notes print page has also been fixed.
Change-Id: I99e56cf9aed5c32764797469a8ea7f3b25053882
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177511
Reviewed-by: Nagy Tibor <tibor.nagy.extern@allotropia.de>
Tested-by: Jenkins
|
|
Change-Id: I05ff47fe51cccce6a78745027ae8c2679783bd8a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177766
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Move logic to the only caller that passed something else than
the default nullptr.
Change-Id: I293f2ca7ccd22f8f0f57a7fd91a6b4dfaa6a8846
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177747
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|