core.git: Branch 'distro/collabora/co-23.05' - sc/inc sc/source sc/uiconfig
sc/inc/strings.hrc| 14 sc/source/ui/condformat/condformateasydlg.cxx | 75 -- sc/source/ui/inc/condformateasydlg.hxx|1 sc/uiconfig/scalc/ui/conditionaleasydialog.ui | 28 - 4 files changed, 87 insertions(+), 31 deletions(-) New commits: commit b2ae21c9da28d79839c48768e7ed0b2cf734cf30 Author: codewithvk AuthorDate: Mon Mar 25 22:42:25 2024 +0530 Commit: Tomaž Vajngerl CommitDate: Wed Apr 3 06:08:49 2024 +0200 Conditional Formatting: Adding More Specified Dialogues We have added additional single conditional dialogues to enhance the conditional formatting options for conditions such as duplicates, N elements, etc. Signed-off-by: codewithvk Change-Id: I46d069f259d47739ad1bc859b19513f19d414eb7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165290 Tested-by: Jenkins CollaboraOffice Reviewed-by: Szymon Kłos (cherry picked from commit abcb07e2baf2d59904b50e9c20f8a108ab9f17de) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165325 diff --git a/sc/inc/strings.hrc b/sc/inc/strings.hrc index 2c8bacfb4bea..c11b62fa7d9b 100644 --- a/sc/inc/strings.hrc +++ b/sc/inc/strings.hrc @@ -399,9 +399,21 @@ #define STR_CONDITION_NOT_EQUAL NC_("STR_CONDITION_NOT_EQUAL", "not equal to") #define STR_CONDITION_BETWEEN NC_("STR_CONDITION_BETWEEN", "between") - +#define STR_CONDITION_NOT_BETWEEN NC_("STR_CONDITION_NOT_BETWEEN", "not between") +#define STR_CONDITION_DUPLICATE NC_("STR_CONDITION_DUPLICATE", "duplicate") +#define STR_CONDITION_NOT_DUPLICATE NC_("STR_CONDITION_NOT_DUPLICATE", "not duplicate") +#define STR_CONDITION_TOP_N_ELEMENTS NC_("STR_CONDITION_TOP_N_ELEMENTS", "in top N elements") +#define STR_CONDITION_BOTTOM_N_ELEMENTS NC_("STR_CONDITION_BOTTOM_N_ELEMENTS", "in bottom N elements") +#define STR_CONDITION_TOP_N_PERCENT NC_("STR_CONDITION_TOP_N_PERCENT", "in top N percent") +#define STR_CONDITION_BOTTOM_N_PERCENT NC_("STR_CONDITION_BOTTOM_N_PERCENT", "in bottom N percent") +#define STR_CONDITION_ABOVE_AVERAGE NC_("STR_CONDITION_ABOVE_AVERAGE", "above average") +#define STR_CONDITION_BELOW_AVERAGE NC_("STR_CONDITION_BELOW_AVERAGE", "below average") +#define STR_CONDITION_ABOVE_OR_EQUAL_AVERAGE NC_("STR_CONDITION_ABOVE_OR_EQUAL_AVERAGE", "above or equal average") +#define STR_CONDITION_BELOW_OR_EQUAL_AVERAGE NC_("STR_CONDITION_BELOW_OR_EQUAL_AVERAGE", "below or equal average") #define STR_CONDITION_ERROR NC_("STR_CONDITION_ERROR", "with error ") #define STR_CONDITION_NOERROR NC_("STR_CONDITION_NOERROR", "without error ") +#define STR_CONDITION_BEGINS_WITH NC_("STR_CONDITION_BEGINS_WITH", "begins with") +#define STR_CONDITION_ENDS_WITH NC_("STR_CONDITION_ENDS_WITH", "ends with") #define STR_CONDITION_CONTAINS_TEXT NC_("STR_CONDITION_CONTAINS_TEXT", "containing text") #define STR_CONDITION_NOT_CONTAINS_TEXT NC_("STR_CONDITION_NOT_CONTAINS_TEXT", "not containing text") diff --git a/sc/source/ui/condformat/condformateasydlg.cxx b/sc/source/ui/condformat/condformateasydlg.cxx index 1fed832b9811..a6f4d2ae23b8 100644 --- a/sc/source/ui/condformat/condformateasydlg.cxx +++ b/sc/source/ui/condformat/condformateasydlg.cxx @@ -66,6 +66,7 @@ ConditionalFormatEasyDialog::ConditionalFormatEasyDialog(SfxBindings* pBindings, , mpDocument(>GetDocument()) , mxNumberEntry(m_xBuilder->weld_entry("entryNumber")) , mxNumberEntry2(m_xBuilder->weld_entry("entryNumber2")) +, mxAllInputs(m_xBuilder->weld_container("allInputs")) , mxRangeEntry(new formula::RefEdit(m_xBuilder->weld_entry("entryRange"))) , mxButtonRangeEdit(new formula::RefButton(m_xBuilder->weld_button("rbassign"))) , mxStyles(m_xBuilder->weld_combo_box("themeCombo")) @@ -116,26 +117,62 @@ ConditionalFormatEasyDialog::ConditionalFormatEasyDialog(SfxBindings* pBindings, SetDescription(ScResId(STR_CONDITION_BETWEEN)); mxNumberEntry2->show(); break; -// NotBetween -// Duplicate -// NotDuplicate -// Direct -// Top10 -// Bottom10 -// TopPercent -// BottomPercent -// AboveAverage -// BelowAverage -// AboveEqualAverage -// BelowEqualAverage +case ScConditionMode::NotBetween: +SetDescription(ScResId(STR_CONDITION_NOT_BETWEEN)); +mxNumberEntry2->show(); +break; +case ScConditionMode::Duplicate: +SetDescription(ScResId(STR_CONDITION_DUPLICATE)); +mxAllInputs->hide(); +break; +case ScConditionMode::NotDuplicate: +
core.git: sc/inc sc/source sc/uiconfig
sc/inc/strings.hrc| 14 sc/source/ui/condformat/condformateasydlg.cxx | 75 -- sc/source/ui/inc/condformateasydlg.hxx|1 sc/uiconfig/scalc/ui/conditionaleasydialog.ui | 28 - 4 files changed, 87 insertions(+), 31 deletions(-) New commits: commit a82073a8d280f4500230cca6cc4cb1741b9732af Author: codewithvk AuthorDate: Mon Mar 25 22:42:25 2024 +0530 Commit: Caolán McNamara CommitDate: Tue Apr 2 11:55:15 2024 +0200 Conditional Formatting: Adding More Specified Dialogues We have added additional single conditional dialogues to enhance the conditional formatting options for conditions such as duplicates, N elements, etc. Signed-off-by: codewithvk Change-Id: I46d069f259d47739ad1bc859b19513f19d414eb7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165290 Tested-by: Jenkins CollaboraOffice Reviewed-by: Szymon Kłos (cherry picked from commit abcb07e2baf2d59904b50e9c20f8a108ab9f17de) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165626 Tested-by: Jenkins Reviewed-by: Caolán McNamara diff --git a/sc/inc/strings.hrc b/sc/inc/strings.hrc index 070f117a001e..e5725ef312fd 100644 --- a/sc/inc/strings.hrc +++ b/sc/inc/strings.hrc @@ -406,9 +406,21 @@ #define STR_CONDITION_NOT_EQUAL NC_("STR_CONDITION_NOT_EQUAL", "not equal to") #define STR_CONDITION_BETWEEN NC_("STR_CONDITION_BETWEEN", "between") - +#define STR_CONDITION_NOT_BETWEEN NC_("STR_CONDITION_NOT_BETWEEN", "not between") +#define STR_CONDITION_DUPLICATE NC_("STR_CONDITION_DUPLICATE", "duplicate") +#define STR_CONDITION_NOT_DUPLICATE NC_("STR_CONDITION_NOT_DUPLICATE", "not duplicate") +#define STR_CONDITION_TOP_N_ELEMENTS NC_("STR_CONDITION_TOP_N_ELEMENTS", "in top N elements") +#define STR_CONDITION_BOTTOM_N_ELEMENTS NC_("STR_CONDITION_BOTTOM_N_ELEMENTS", "in bottom N elements") +#define STR_CONDITION_TOP_N_PERCENT NC_("STR_CONDITION_TOP_N_PERCENT", "in top N percent") +#define STR_CONDITION_BOTTOM_N_PERCENT NC_("STR_CONDITION_BOTTOM_N_PERCENT", "in bottom N percent") +#define STR_CONDITION_ABOVE_AVERAGE NC_("STR_CONDITION_ABOVE_AVERAGE", "above average") +#define STR_CONDITION_BELOW_AVERAGE NC_("STR_CONDITION_BELOW_AVERAGE", "below average") +#define STR_CONDITION_ABOVE_OR_EQUAL_AVERAGE NC_("STR_CONDITION_ABOVE_OR_EQUAL_AVERAGE", "above or equal average") +#define STR_CONDITION_BELOW_OR_EQUAL_AVERAGE NC_("STR_CONDITION_BELOW_OR_EQUAL_AVERAGE", "below or equal average") #define STR_CONDITION_ERROR NC_("STR_CONDITION_ERROR", "with error ") #define STR_CONDITION_NOERROR NC_("STR_CONDITION_NOERROR", "without error ") +#define STR_CONDITION_BEGINS_WITH NC_("STR_CONDITION_BEGINS_WITH", "begins with") +#define STR_CONDITION_ENDS_WITH NC_("STR_CONDITION_ENDS_WITH", "ends with") #define STR_CONDITION_CONTAINS_TEXT NC_("STR_CONDITION_CONTAINS_TEXT", "containing text") #define STR_CONDITION_NOT_CONTAINS_TEXT NC_("STR_CONDITION_NOT_CONTAINS_TEXT", "not containing text") diff --git a/sc/source/ui/condformat/condformateasydlg.cxx b/sc/source/ui/condformat/condformateasydlg.cxx index ba28d1e687dd..89cfdeb79c3d 100644 --- a/sc/source/ui/condformat/condformateasydlg.cxx +++ b/sc/source/ui/condformat/condformateasydlg.cxx @@ -50,6 +50,7 @@ ConditionalFormatEasyDialog::ConditionalFormatEasyDialog(SfxBindings* pBindings, , mpDocument(>GetDocument()) , mxNumberEntry(m_xBuilder->weld_entry("entryNumber")) , mxNumberEntry2(m_xBuilder->weld_entry("entryNumber2")) +, mxAllInputs(m_xBuilder->weld_container("allInputs")) , mxRangeEntry(new formula::RefEdit(m_xBuilder->weld_entry("entryRange"))) , mxButtonRangeEdit(new formula::RefButton(m_xBuilder->weld_button("rbassign"))) , mxStyles(m_xBuilder->weld_combo_box("themeCombo")) @@ -96,26 +97,62 @@ ConditionalFormatEasyDialog::ConditionalFormatEasyDialog(SfxBindings* pBindings, SetDescription(ScResId(STR_CONDITION_BETWEEN)); mxNumberEntry2->show(); break; -// NotBetween -// Duplicate -// NotDuplicate -// Direct -// Top10 -// Bottom10 -// TopPercent -// BottomPercent -// AboveAverage -// BelowAverage -// AboveEqualAverage -// BelowEqualAverage +case ScConditionMode::NotBetween: +SetDescription(ScResId(STR_CONDITION_NOT_BETWEEN)); +mxNumberEntry2->show(); +break; +case ScConditionMode::Duplicate: +SetDescription(ScResId(STR_CONDITION_DUPLICATE)); +mxAllInputs->hide(); +break; +case
core.git: Branch 'distro/collabora/co-24.04' - sc/inc sc/source sc/uiconfig
sc/inc/strings.hrc| 14 sc/source/ui/condformat/condformateasydlg.cxx | 75 -- sc/source/ui/inc/condformateasydlg.hxx|1 sc/uiconfig/scalc/ui/conditionaleasydialog.ui | 28 - 4 files changed, 87 insertions(+), 31 deletions(-) New commits: commit abcb07e2baf2d59904b50e9c20f8a108ab9f17de Author: codewithvk AuthorDate: Mon Mar 25 22:42:25 2024 +0530 Commit: Szymon Kłos CommitDate: Tue Mar 26 08:18:04 2024 +0100 Conditional Formatting: Adding More Specified Dialogues We have added additional single conditional dialogues to enhance the conditional formatting options for conditions such as duplicates, N elements, etc. Signed-off-by: codewithvk Change-Id: I46d069f259d47739ad1bc859b19513f19d414eb7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165290 Tested-by: Jenkins CollaboraOffice Reviewed-by: Szymon Kłos diff --git a/sc/inc/strings.hrc b/sc/inc/strings.hrc index 266cb4cc6c5b..1e08d4adf68e 100644 --- a/sc/inc/strings.hrc +++ b/sc/inc/strings.hrc @@ -406,9 +406,21 @@ #define STR_CONDITION_NOT_EQUAL NC_("STR_CONDITION_NOT_EQUAL", "not equal to") #define STR_CONDITION_BETWEEN NC_("STR_CONDITION_BETWEEN", "between") - +#define STR_CONDITION_NOT_BETWEEN NC_("STR_CONDITION_NOT_BETWEEN", "not between") +#define STR_CONDITION_DUPLICATE NC_("STR_CONDITION_DUPLICATE", "duplicate") +#define STR_CONDITION_NOT_DUPLICATE NC_("STR_CONDITION_NOT_DUPLICATE", "not duplicate") +#define STR_CONDITION_TOP_N_ELEMENTS NC_("STR_CONDITION_TOP_N_ELEMENTS", "in top N elements") +#define STR_CONDITION_BOTTOM_N_ELEMENTS NC_("STR_CONDITION_BOTTOM_N_ELEMENTS", "in bottom N elements") +#define STR_CONDITION_TOP_N_PERCENT NC_("STR_CONDITION_TOP_N_PERCENT", "in top N percent") +#define STR_CONDITION_BOTTOM_N_PERCENT NC_("STR_CONDITION_BOTTOM_N_PERCENT", "in bottom N percent") +#define STR_CONDITION_ABOVE_AVERAGE NC_("STR_CONDITION_ABOVE_AVERAGE", "above average") +#define STR_CONDITION_BELOW_AVERAGE NC_("STR_CONDITION_BELOW_AVERAGE", "below average") +#define STR_CONDITION_ABOVE_OR_EQUAL_AVERAGE NC_("STR_CONDITION_ABOVE_OR_EQUAL_AVERAGE", "above or equal average") +#define STR_CONDITION_BELOW_OR_EQUAL_AVERAGE NC_("STR_CONDITION_BELOW_OR_EQUAL_AVERAGE", "below or equal average") #define STR_CONDITION_ERROR NC_("STR_CONDITION_ERROR", "with error ") #define STR_CONDITION_NOERROR NC_("STR_CONDITION_NOERROR", "without error ") +#define STR_CONDITION_BEGINS_WITH NC_("STR_CONDITION_BEGINS_WITH", "begins with") +#define STR_CONDITION_ENDS_WITH NC_("STR_CONDITION_ENDS_WITH", "ends with") #define STR_CONDITION_CONTAINS_TEXT NC_("STR_CONDITION_CONTAINS_TEXT", "containing text") #define STR_CONDITION_NOT_CONTAINS_TEXT NC_("STR_CONDITION_NOT_CONTAINS_TEXT", "not containing text") diff --git a/sc/source/ui/condformat/condformateasydlg.cxx b/sc/source/ui/condformat/condformateasydlg.cxx index a368ec310c7d..2e0b0b0815a3 100644 --- a/sc/source/ui/condformat/condformateasydlg.cxx +++ b/sc/source/ui/condformat/condformateasydlg.cxx @@ -50,6 +50,7 @@ ConditionalFormatEasyDialog::ConditionalFormatEasyDialog(SfxBindings* pBindings, , mpDocument(>GetDocument()) , mxNumberEntry(m_xBuilder->weld_entry("entryNumber")) , mxNumberEntry2(m_xBuilder->weld_entry("entryNumber2")) +, mxAllInputs(m_xBuilder->weld_container("allInputs")) , mxRangeEntry(new formula::RefEdit(m_xBuilder->weld_entry("entryRange"))) , mxButtonRangeEdit(new formula::RefButton(m_xBuilder->weld_button("rbassign"))) , mxStyles(m_xBuilder->weld_combo_box("themeCombo")) @@ -96,26 +97,62 @@ ConditionalFormatEasyDialog::ConditionalFormatEasyDialog(SfxBindings* pBindings, SetDescription(ScResId(STR_CONDITION_BETWEEN)); mxNumberEntry2->show(); break; -// NotBetween -// Duplicate -// NotDuplicate -// Direct -// Top10 -// Bottom10 -// TopPercent -// BottomPercent -// AboveAverage -// BelowAverage -// AboveEqualAverage -// BelowEqualAverage +case ScConditionMode::NotBetween: +SetDescription(ScResId(STR_CONDITION_NOT_BETWEEN)); +mxNumberEntry2->show(); +break; +case ScConditionMode::Duplicate: +SetDescription(ScResId(STR_CONDITION_DUPLICATE)); +mxAllInputs->hide(); +break; +case ScConditionMode::NotDuplicate: +SetDescription(ScResId(STR_CONDITION_NOT_DUPLICATE)); +mxAllInputs->hide(); +break; +// TODO: Direct +case
core.git: Branch 'distro/collabora/co-24.04' - sc/res
sc/res/xml/styles.xml |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit d1cf1d64fbaa79433a647e7523bd78f8159eaf47 Author: codewithvk AuthorDate: Mon Mar 18 14:03:25 2024 +0530 Commit: Tomaž Vajngerl CommitDate: Tue Mar 19 11:39:35 2024 +0100 Remove static font color for headings in Calc Previously, Calc utilized a static font color (dark) for headings, which resulted in visibility issues for Heading 1 and Heading 2 in dark mode. This commit resolves the problem by removing the static font color, allowing for automatic color adjustment. Signed-off-by: codewithvk Change-Id: Idf516077a8cda951c593052c63e53b4d1301d138 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164879 Tested-by: Jenkins CollaboraOffice Reviewed-by: Tomaž Vajngerl diff --git a/sc/res/xml/styles.xml b/sc/res/xml/styles.xml index 37cfc36afae1..259f50c1e200 100644 --- a/sc/res/xml/styles.xml +++ b/sc/res/xml/styles.xml @@ -1,7 +1,7 @@ - +
core.git: Branch 'distro/collabora/co-23.05' - sc/res
sc/res/xml/styles.xml |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 9eb9e06eaef6c1d78aa8aef8e6eece1cc4204737 Author: codewithvk AuthorDate: Mon Mar 18 14:03:25 2024 +0530 Commit: Tomaž Vajngerl CommitDate: Tue Mar 19 11:39:42 2024 +0100 Remove static font color for headings in Calc Previously, Calc utilized a static font color (dark) for headings, which resulted in visibility issues for Heading 1 and Heading 2 in dark mode. This commit resolves the problem by removing the static font color, allowing for automatic color adjustment. Signed-off-by: codewithvk Change-Id: Idf516077a8cda951c593052c63e53b4d1301d138 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164965 Tested-by: Jenkins CollaboraOffice Reviewed-by: Tomaž Vajngerl diff --git a/sc/res/xml/styles.xml b/sc/res/xml/styles.xml index d1d1a750e241..337c00c0098f 100644 --- a/sc/res/xml/styles.xml +++ b/sc/res/xml/styles.xml @@ -1,7 +1,7 @@ - +
core.git: sc/res
sc/res/xml/styles.xml |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 9b6fcd41a7b8f6f844a26e77bb6439caa9bc8e98 Author: codewithvk AuthorDate: Mon Mar 18 14:03:25 2024 +0530 Commit: Tomaž Vajngerl CommitDate: Tue Mar 19 11:39:18 2024 +0100 Remove static font color for headings in Calc Previously, Calc utilized a static font color (dark) for headings, which resulted in visibility issues for Heading 1 and Heading 2 in dark mode. This commit resolves the problem by removing the static font color, allowing for automatic color adjustment. Signed-off-by: codewithvk Change-Id: Idf516077a8cda951c593052c63e53b4d1301d138 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164990 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl diff --git a/sc/res/xml/styles.xml b/sc/res/xml/styles.xml index 37cfc36afae1..259f50c1e200 100644 --- a/sc/res/xml/styles.xml +++ b/sc/res/xml/styles.xml @@ -1,7 +1,7 @@ - +
core.git: Branch 'distro/collabora/co-23.05' - chart2/source
chart2/source/controller/main/ChartController_Properties.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 4674134d510b89af935492daa3d911b5a086ed01 Author: codewithvk AuthorDate: Tue Mar 5 10:38:55 2024 +0530 Commit: Caolán McNamara CommitDate: Tue Mar 5 10:17:24 2024 +0100 Fix: runAsync method call as static call Signed-off-by: codewithvk Change-Id: Ic296a311c5a459bfed7c7fc948dda03691830dd2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164405 Tested-by: Jenkins CollaboraOffice Reviewed-by: Caolán McNamara diff --git a/chart2/source/controller/main/ChartController_Properties.cxx b/chart2/source/controller/main/ChartController_Properties.cxx index dd683660d60d..013f71699301 100644 --- a/chart2/source/controller/main/ChartController_Properties.cxx +++ b/chart2/source/controller/main/ChartController_Properties.cxx @@ -789,7 +789,7 @@ void ChartController::executeDlg_ObjectProperties_withUndoGuard( } //open the dialog -aDlgPtr->runAsync(aDlgPtr, [aDlgPtr, xChartDoc, pItemConverter, bSuccessOnUnchanged, aUndoGuard] (int nResult) +SfxTabDialogController::runAsync(aDlgPtr, [aDlgPtr, xChartDoc, pItemConverter, bSuccessOnUnchanged, aUndoGuard] (int nResult) { if (nResult == RET_OK || (bSuccessOnUnchanged && aDlgPtr->DialogWasClosedWithOK())) { const SfxItemSet* pOutItemSet = aDlgPtr->GetOutputItemSet();
core.git: Branch 'distro/collabora/co-24.04' - chart2/source
chart2/source/controller/inc/ChartController.hxx |2 chart2/source/controller/main/ChartController_Insert.cxx |9 - chart2/source/controller/main/ChartController_Properties.cxx | 58 +-- 3 files changed, 32 insertions(+), 37 deletions(-) New commits: commit 69a5a5ce7fb452b8a1ed1c1edf3571b1df5d7439 Author: codewithvk AuthorDate: Thu Jan 25 18:39:18 2024 +0530 Commit: Caolán McNamara CommitDate: Sun Mar 3 14:53:24 2024 +0100 Make Chart Object Properties Dialogs Async How to reproduce it: When double-clicking on a chart, it will now open the Chart Object Properties dialog box. Previously synchronous, this commit updates it to be asynchronous. Signed-off-by: codewithvk Change-Id: I54c24e0cd30d6ec8b2bfa93567e830405d2fd30c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162576 Tested-by: Jenkins CollaboraOffice Reviewed-by: Tomaž Vajngerl (cherry picked from commit 748a5a01165d40e9bcaa7bfc75b0e6f74fc5a07d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164194 Reviewed-by: Caolán McNamara diff --git a/chart2/source/controller/inc/ChartController.hxx b/chart2/source/controller/inc/ChartController.hxx index 9e72e09ddbd9..752e551828c2 100644 --- a/chart2/source/controller/inc/ChartController.hxx +++ b/chart2/source/controller/inc/ChartController.hxx @@ -429,7 +429,7 @@ private: void executeDispatch_ObjectProperties(); void executeDispatch_FormatObject( std::u16string_view rDispatchCommand ); void executeDlg_ObjectProperties( const OUString& rObjectCID ); -bool executeDlg_ObjectProperties_withoutUndoGuard( const OUString& rObjectCID, bool bSuccessOnUnchanged ); +void executeDlg_ObjectProperties_withUndoGuard( std::shared_ptr aUndoGuard, const OUString& rObjectCID, bool bSuccessOnUnchanged ); void executeDispatch_ChartType(); diff --git a/chart2/source/controller/main/ChartController_Insert.cxx b/chart2/source/controller/main/ChartController_Insert.cxx index 5c069235f7b4..db296081f652 100644 --- a/chart2/source/controller/main/ChartController_Insert.cxx +++ b/chart2/source/controller/main/ChartController_Insert.cxx @@ -359,7 +359,7 @@ void ChartController::executeDispatch_OpenLegendDialog() void ChartController::executeDispatch_InsertMenu_DataLabels() { -UndoGuard aUndoGuard( +std::shared_ptr aUndoGuard = std::make_shared( ActionDescriptionProvider::createDescription( ActionDescriptionProvider::ActionType::Insert, SchResId( STR_OBJECT_DATALABELS )), m_xUndoManager ); @@ -376,12 +376,9 @@ void ChartController::executeDispatch_InsertMenu_DataLabels() OUString aObjectCID = ObjectIdentifier::createClassifiedIdentifierForParticles( ObjectIdentifier::getSeriesParticleFromCID(m_aSelection.getSelectedCID()), aChildParticle ); -bool bSuccess = ChartController::executeDlg_ObjectProperties_withoutUndoGuard( aObjectCID, true ); -if( bSuccess ) -aUndoGuard.commit(); +ChartController::executeDlg_ObjectProperties_withUndoGuard( aUndoGuard, aObjectCID, true ); return; } - try { wrapper::AllDataLabelItemConverter aItemConverter( @@ -409,7 +406,7 @@ void ChartController::executeDispatch_InsertMenu_DataLabels() ControllerLockGuardUNO aCLGuard( getChartModel() ); bool bChanged = aItemConverter.ApplyItemSet( aOutItemSet );//model should be changed now if( bChanged ) -aUndoGuard.commit(); +aUndoGuard->commit(); } } catch(const uno::RuntimeException&) diff --git a/chart2/source/controller/main/ChartController_Properties.cxx b/chart2/source/controller/main/ChartController_Properties.cxx index 5f9e9a7d9570..82ddf5047eda 100644 --- a/chart2/source/controller/main/ChartController_Properties.cxx +++ b/chart2/source/controller/main/ChartController_Properties.cxx @@ -703,24 +703,22 @@ void ChartController::executeDlg_ObjectProperties( const OUString& rSelectedObje { OUString aObjectCID = lcl_getFormatCIDforSelectedCID( rSelectedObjectCID ); -UndoGuard aUndoGuard( ActionDescriptionProvider::createDescription( -ActionDescriptionProvider::ActionType::Format, -ObjectNameProvider::getName( ObjectIdentifier::getObjectType( aObjectCID ))), -m_xUndoManager ); +auto aUndoGuard = std::make_shared( +ActionDescriptionProvider::createDescription( +ActionDescriptionProvider::ActionType::Format, +ObjectNameProvider::getName( ObjectIdentifier::getObjectType( aObjectCID ))), +m_xUndoManager ); -bool bSuccess = ChartController::executeDlg_ObjectProperties_withoutUndoGuard( aObjectCID, false ); -if( bSuccess ) -aUndoGuard.commit(); +ChartController::executeDlg_ObjectProperties_withUndoGuard( aUndoGuard, aObjectCID, false ); } -bool
core.git: chart2/source
chart2/source/controller/inc/ChartController.hxx |2 chart2/source/controller/main/ChartController_Insert.cxx |9 - chart2/source/controller/main/ChartController_Properties.cxx | 58 +-- 3 files changed, 32 insertions(+), 37 deletions(-) New commits: commit 8c3fa629f489fdd5ec73c9ec18010eeaf39955a4 Author: codewithvk AuthorDate: Thu Jan 25 18:39:18 2024 +0530 Commit: Caolán McNamara CommitDate: Sun Mar 3 14:52:38 2024 +0100 Make Chart Object Properties Dialogs Async How to reproduce it: When double-clicking on a chart, it will now open the Chart Object Properties dialog box. Previously synchronous, this commit updates it to be asynchronous. Signed-off-by: codewithvk Change-Id: I54c24e0cd30d6ec8b2bfa93567e830405d2fd30c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162576 Tested-by: Jenkins CollaboraOffice Reviewed-by: Tomaž Vajngerl (cherry picked from commit 748a5a01165d40e9bcaa7bfc75b0e6f74fc5a07d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164125 Tested-by: Jenkins Reviewed-by: Caolán McNamara diff --git a/chart2/source/controller/inc/ChartController.hxx b/chart2/source/controller/inc/ChartController.hxx index e6d42f139053..d1e95efafac3 100644 --- a/chart2/source/controller/inc/ChartController.hxx +++ b/chart2/source/controller/inc/ChartController.hxx @@ -430,7 +430,7 @@ private: void executeDispatch_ObjectProperties(); void executeDispatch_FormatObject( std::u16string_view rDispatchCommand ); void executeDlg_ObjectProperties( const OUString& rObjectCID ); -bool executeDlg_ObjectProperties_withoutUndoGuard( const OUString& rObjectCID, bool bSuccessOnUnchanged ); +void executeDlg_ObjectProperties_withUndoGuard( std::shared_ptr aUndoGuard, const OUString& rObjectCID, bool bSuccessOnUnchanged ); void executeDispatch_ChartType(); diff --git a/chart2/source/controller/main/ChartController_Insert.cxx b/chart2/source/controller/main/ChartController_Insert.cxx index b80ef2bd5fd1..6461955cbc24 100644 --- a/chart2/source/controller/main/ChartController_Insert.cxx +++ b/chart2/source/controller/main/ChartController_Insert.cxx @@ -358,7 +358,7 @@ void ChartController::executeDispatch_OpenLegendDialog() void ChartController::executeDispatch_InsertMenu_DataLabels() { -UndoGuard aUndoGuard( +std::shared_ptr aUndoGuard = std::make_shared( ActionDescriptionProvider::createDescription( ActionDescriptionProvider::ActionType::Insert, SchResId( STR_OBJECT_DATALABELS )), m_xUndoManager ); @@ -375,12 +375,9 @@ void ChartController::executeDispatch_InsertMenu_DataLabels() OUString aObjectCID = ObjectIdentifier::createClassifiedIdentifierForParticles( ObjectIdentifier::getSeriesParticleFromCID(m_aSelection.getSelectedCID()), aChildParticle ); -bool bSuccess = ChartController::executeDlg_ObjectProperties_withoutUndoGuard( aObjectCID, true ); -if( bSuccess ) -aUndoGuard.commit(); +ChartController::executeDlg_ObjectProperties_withUndoGuard( aUndoGuard, aObjectCID, true ); return; } - try { wrapper::AllDataLabelItemConverter aItemConverter( @@ -408,7 +405,7 @@ void ChartController::executeDispatch_InsertMenu_DataLabels() ControllerLockGuardUNO aCLGuard( getChartModel() ); bool bChanged = aItemConverter.ApplyItemSet( aOutItemSet );//model should be changed now if( bChanged ) -aUndoGuard.commit(); +aUndoGuard->commit(); } } catch(const uno::RuntimeException&) diff --git a/chart2/source/controller/main/ChartController_Properties.cxx b/chart2/source/controller/main/ChartController_Properties.cxx index 84f1fdcb9e33..79b6159d4a6e 100644 --- a/chart2/source/controller/main/ChartController_Properties.cxx +++ b/chart2/source/controller/main/ChartController_Properties.cxx @@ -703,24 +703,22 @@ void ChartController::executeDlg_ObjectProperties( const OUString& rSelectedObje { OUString aObjectCID = lcl_getFormatCIDforSelectedCID( rSelectedObjectCID ); -UndoGuard aUndoGuard( ActionDescriptionProvider::createDescription( -ActionDescriptionProvider::ActionType::Format, -ObjectNameProvider::getName( ObjectIdentifier::getObjectType( aObjectCID ))), -m_xUndoManager ); +auto aUndoGuard = std::make_shared( +ActionDescriptionProvider::createDescription( +ActionDescriptionProvider::ActionType::Format, +ObjectNameProvider::getName( ObjectIdentifier::getObjectType( aObjectCID ))), +m_xUndoManager ); -bool bSuccess = ChartController::executeDlg_ObjectProperties_withoutUndoGuard( aObjectCID, false ); -if( bSuccess ) -aUndoGuard.commit(); +ChartController::executeDlg_ObjectProperties_withUndoGuard( aUndoGuard, aObjectCID, false );
core.git: Branch 'distro/collabora/co-23.05' - chart2/source
chart2/source/controller/inc/ChartController.hxx |2 chart2/source/controller/main/ChartController_Insert.cxx |9 - chart2/source/controller/main/ChartController_Properties.cxx | 58 +-- 3 files changed, 32 insertions(+), 37 deletions(-) New commits: commit 748a5a01165d40e9bcaa7bfc75b0e6f74fc5a07d Author: codewithvk AuthorDate: Thu Jan 25 18:39:18 2024 +0530 Commit: Tomaž Vajngerl CommitDate: Fri Mar 1 07:50:49 2024 +0100 Make Chart Object Properties Dialogs Async How to reproduce it: When double-clicking on a chart, it will now open the Chart Object Properties dialog box. Previously synchronous, this commit updates it to be asynchronous. Signed-off-by: codewithvk Change-Id: I54c24e0cd30d6ec8b2bfa93567e830405d2fd30c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162576 Tested-by: Jenkins CollaboraOffice Reviewed-by: Tomaž Vajngerl diff --git a/chart2/source/controller/inc/ChartController.hxx b/chart2/source/controller/inc/ChartController.hxx index f948e3bc6303..f8fd70543089 100644 --- a/chart2/source/controller/inc/ChartController.hxx +++ b/chart2/source/controller/inc/ChartController.hxx @@ -436,7 +436,7 @@ private: void executeDispatch_ObjectProperties(); void executeDispatch_FormatObject( std::u16string_view rDispatchCommand ); void executeDlg_ObjectProperties( const OUString& rObjectCID ); -bool executeDlg_ObjectProperties_withoutUndoGuard( const OUString& rObjectCID, bool bSuccessOnUnchanged ); +void executeDlg_ObjectProperties_withUndoGuard( std::shared_ptr aUndoGuard, const OUString& rObjectCID, bool bSuccessOnUnchanged ); void executeDispatch_ChartType(); diff --git a/chart2/source/controller/main/ChartController_Insert.cxx b/chart2/source/controller/main/ChartController_Insert.cxx index 02b0b224939f..a0c9d9d1fe0b 100644 --- a/chart2/source/controller/main/ChartController_Insert.cxx +++ b/chart2/source/controller/main/ChartController_Insert.cxx @@ -357,7 +357,7 @@ void ChartController::executeDispatch_OpenLegendDialog() void ChartController::executeDispatch_InsertMenu_DataLabels() { -UndoGuard aUndoGuard( +std::shared_ptr aUndoGuard = std::make_shared( ActionDescriptionProvider::createDescription( ActionDescriptionProvider::ActionType::Insert, SchResId( STR_OBJECT_DATALABELS )), m_xUndoManager ); @@ -374,12 +374,9 @@ void ChartController::executeDispatch_InsertMenu_DataLabels() OUString aObjectCID = ObjectIdentifier::createClassifiedIdentifierForParticles( ObjectIdentifier::getSeriesParticleFromCID(m_aSelection.getSelectedCID()), aChildParticle ); -bool bSuccess = ChartController::executeDlg_ObjectProperties_withoutUndoGuard( aObjectCID, true ); -if( bSuccess ) -aUndoGuard.commit(); +ChartController::executeDlg_ObjectProperties_withUndoGuard( aUndoGuard, aObjectCID, true ); return; } - try { wrapper::AllDataLabelItemConverter aItemConverter( @@ -407,7 +404,7 @@ void ChartController::executeDispatch_InsertMenu_DataLabels() ControllerLockGuardUNO aCLGuard( getChartModel() ); bool bChanged = aItemConverter.ApplyItemSet( aOutItemSet );//model should be changed now if( bChanged ) -aUndoGuard.commit(); +aUndoGuard->commit(); } } catch(const uno::RuntimeException&) diff --git a/chart2/source/controller/main/ChartController_Properties.cxx b/chart2/source/controller/main/ChartController_Properties.cxx index 6aedecc81ebc..821049f981c0 100644 --- a/chart2/source/controller/main/ChartController_Properties.cxx +++ b/chart2/source/controller/main/ChartController_Properties.cxx @@ -699,24 +699,22 @@ void ChartController::executeDlg_ObjectProperties( const OUString& rSelectedObje { OUString aObjectCID = lcl_getFormatCIDforSelectedCID( rSelectedObjectCID ); -UndoGuard aUndoGuard( ActionDescriptionProvider::createDescription( -ActionDescriptionProvider::ActionType::Format, -ObjectNameProvider::getName( ObjectIdentifier::getObjectType( aObjectCID ))), -m_xUndoManager ); +auto aUndoGuard = std::make_shared( +ActionDescriptionProvider::createDescription( +ActionDescriptionProvider::ActionType::Format, +ObjectNameProvider::getName( ObjectIdentifier::getObjectType( aObjectCID ))), +m_xUndoManager ); -bool bSuccess = ChartController::executeDlg_ObjectProperties_withoutUndoGuard( aObjectCID, false ); -if( bSuccess ) -aUndoGuard.commit(); +ChartController::executeDlg_ObjectProperties_withUndoGuard( aUndoGuard, aObjectCID, false ); } -bool ChartController::executeDlg_ObjectProperties_withoutUndoGuard( -const OUString& rObjectCID, bool bSuccessOnUnchanged ) +void
core.git: chart2/source
chart2/source/controller/main/ChartController.cxx | 20 ++-- 1 file changed, 10 insertions(+), 10 deletions(-) New commits: commit 4965b055b5998dc345ecaeb80fc8c3874b19e2a5 Author: codewithvk AuthorDate: Wed Feb 14 15:15:37 2024 +0530 Commit: Tomaž Vajngerl CommitDate: Fri Feb 16 12:08:55 2024 +0100 Chart: Make Data Range Dialog Async To reproduce the step, double-click on the chart and right-click to open the context menu, where you can see the option for data ranges. Signed-off-by: codewithvk Change-Id: I0697d5918d35d132aa7c17f86204742017f7ff17 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163358 Tested-by: Jenkins CollaboraOffice Reviewed-by: Tomaž Vajngerl (cherry picked from commit afbb4e44478e520b866032df8f0a0a344568233e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163402 Tested-by: Jenkins diff --git a/chart2/source/controller/main/ChartController.cxx b/chart2/source/controller/main/ChartController.cxx index f17c3dae353e..f9b3ac2a5858 100644 --- a/chart2/source/controller/main/ChartController.cxx +++ b/chart2/source/controller/main/ChartController.cxx @@ -1393,17 +1393,17 @@ void ChartController::executeDispatch_SourceData() rModel.attachDataProvider(xDataProvider); } } - -UndoLiveUpdateGuard aUndoGuard( -SchResId(STR_ACTION_EDIT_DATA_RANGES), m_xUndoManager); - +auto aUndoGuard = std::make_shared(SchResId(STR_ACTION_EDIT_DATA_RANGES), +m_xUndoManager); SolarMutexGuard aSolarGuard; -::chart::DataSourceDialog aDlg(GetChartFrame(), xChartDoc); -if (aDlg.run() == RET_OK) -{ -impl_adaptDataSeriesAutoResize(); -aUndoGuard.commit(); -} +auto aDlg = std::make_shared(GetChartFrame(), xChartDoc); +weld::DialogController::runAsync(aDlg, [this, aUndoGuard](int nResult) { +if (nResult == RET_OK) +{ +impl_adaptDataSeriesAutoResize(); +aUndoGuard->commit(); +} +}); } void ChartController::executeDispatch_MoveSeries( bool bForward )
core.git: Branch 'distro/collabora/co-24.04' - chart2/source
chart2/source/controller/main/ChartController.cxx | 20 ++-- 1 file changed, 10 insertions(+), 10 deletions(-) New commits: commit b5ef1b20ad444361c8684f0c0c5bf99d05e3e7f8 Author: codewithvk AuthorDate: Wed Feb 14 15:15:37 2024 +0530 Commit: Tomaž Vajngerl CommitDate: Fri Feb 16 12:09:04 2024 +0100 Chart: Make Data Range Dialog Async To reproduce the step, double-click on the chart and right-click to open the context menu, where you can see the option for data ranges. Signed-off-by: codewithvk Change-Id: I0697d5918d35d132aa7c17f86204742017f7ff17 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163358 Tested-by: Jenkins CollaboraOffice Reviewed-by: Tomaž Vajngerl (cherry picked from commit afbb4e44478e520b866032df8f0a0a344568233e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163403 diff --git a/chart2/source/controller/main/ChartController.cxx b/chart2/source/controller/main/ChartController.cxx index 29f5d9b6a24d..1c112ac1bfc1 100644 --- a/chart2/source/controller/main/ChartController.cxx +++ b/chart2/source/controller/main/ChartController.cxx @@ -1393,17 +1393,17 @@ void ChartController::executeDispatch_SourceData() rModel.attachDataProvider(xDataProvider); } } - -UndoLiveUpdateGuard aUndoGuard( -SchResId(STR_ACTION_EDIT_DATA_RANGES), m_xUndoManager); - +auto aUndoGuard = std::make_shared(SchResId(STR_ACTION_EDIT_DATA_RANGES), +m_xUndoManager); SolarMutexGuard aSolarGuard; -::chart::DataSourceDialog aDlg(GetChartFrame(), xChartDoc); -if (aDlg.run() == RET_OK) -{ -impl_adaptDataSeriesAutoResize(); -aUndoGuard.commit(); -} +auto aDlg = std::make_shared(GetChartFrame(), xChartDoc); +weld::DialogController::runAsync(aDlg, [this, aUndoGuard](int nResult) { +if (nResult == RET_OK) +{ +impl_adaptDataSeriesAutoResize(); +aUndoGuard->commit(); +} +}); } void ChartController::executeDispatch_MoveSeries( bool bForward )
core.git: Branch 'distro/collabora/co-23.05' - chart2/source
chart2/source/controller/main/ChartController.cxx | 20 ++-- 1 file changed, 10 insertions(+), 10 deletions(-) New commits: commit afbb4e44478e520b866032df8f0a0a344568233e Author: codewithvk AuthorDate: Wed Feb 14 15:15:37 2024 +0530 Commit: Tomaž Vajngerl CommitDate: Fri Feb 16 06:28:49 2024 +0100 Chart: Make Data Range Dialog Async To reproduce the step, double-click on the chart and right-click to open the context menu, where you can see the option for data ranges. Signed-off-by: codewithvk Change-Id: I0697d5918d35d132aa7c17f86204742017f7ff17 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163358 Tested-by: Jenkins CollaboraOffice Reviewed-by: Tomaž Vajngerl diff --git a/chart2/source/controller/main/ChartController.cxx b/chart2/source/controller/main/ChartController.cxx index fbd2968c864d..5601994eee26 100644 --- a/chart2/source/controller/main/ChartController.cxx +++ b/chart2/source/controller/main/ChartController.cxx @@ -1416,17 +1416,17 @@ void ChartController::executeDispatch_SourceData() rModel.attachDataProvider(xDataProvider); } } - -UndoLiveUpdateGuard aUndoGuard( -SchResId(STR_ACTION_EDIT_DATA_RANGES), m_xUndoManager); - +auto aUndoGuard = std::make_shared(SchResId(STR_ACTION_EDIT_DATA_RANGES), +m_xUndoManager); SolarMutexGuard aSolarGuard; -::chart::DataSourceDialog aDlg(GetChartFrame(), xChartDoc); -if (aDlg.run() == RET_OK) -{ -impl_adaptDataSeriesAutoResize(); -aUndoGuard.commit(); -} +auto aDlg = std::make_shared(GetChartFrame(), xChartDoc); +weld::DialogController::runAsync(aDlg, [this, aUndoGuard](int nResult) { +if (nResult == RET_OK) +{ +impl_adaptDataSeriesAutoResize(); +aUndoGuard->commit(); +} +}); } void ChartController::executeDispatch_MoveSeries( bool bForward )
core.git: Branch 'distro/collabora/co-24.04' - chart2/source
chart2/source/controller/main/ChartController.cxx|2 +- chart2/source/controller/main/ChartController_Insert.cxx | 10 +- 2 files changed, 6 insertions(+), 6 deletions(-) New commits: commit b0ea4c567f1bdd1f3f41eda119ea373009cf56ab Author: codewithvk AuthorDate: Sun Feb 4 19:56:55 2024 +0530 Commit: Caolán McNamara CommitDate: Wed Feb 7 21:37:32 2024 +0100 Fix: Convert 'runAsync' class-based calls to static method calls for chart properties Signed-off-by: codewithvk Change-Id: Ib368c2bbb5657a2dbf1b7f340bc9fb0b6f436713 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162975 Tested-by: Jenkins CollaboraOffice Reviewed-by: Tomaž Vajngerl (cherry picked from commit 9e438e7c169f626fb7a5337d645bf92269b52d5e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163019 Reviewed-by: Caolán McNamara diff --git a/chart2/source/controller/main/ChartController.cxx b/chart2/source/controller/main/ChartController.cxx index b9e2755a8d8b..29f5d9b6a24d 100644 --- a/chart2/source/controller/main/ChartController.cxx +++ b/chart2/source/controller/main/ChartController.cxx @@ -1345,7 +1345,7 @@ void ChartController::executeDispatch_ChartType() SolarMutexGuard aSolarGuard; //prepare and open dialog auto aDlg = std::make_shared(GetChartFrame(), getChartModel()); -aDlg->runAsync(aDlg, [this, aUndoGuard](int nResult) { +weld::DialogController::runAsync(aDlg, [this, aUndoGuard](int nResult) { if (nResult == RET_OK) { impl_adaptDataSeriesAutoResize(); diff --git a/chart2/source/controller/main/ChartController_Insert.cxx b/chart2/source/controller/main/ChartController_Insert.cxx index 671baed907a7..5c069235f7b4 100644 --- a/chart2/source/controller/main/ChartController_Insert.cxx +++ b/chart2/source/controller/main/ChartController_Insert.cxx @@ -104,7 +104,7 @@ void ChartController::executeDispatch_InsertAxes() SolarMutexGuard aGuard; auto aDlg = std::make_shared(GetChartFrame(), *aDialogInput); -aDlg->runAsync(aDlg, [this, aDlg, aDialogInput, aUndoGuard](int nResult) { +weld::DialogController::runAsync(aDlg, [this, aDlg, aDialogInput, aUndoGuard](int nResult) { if ( nResult == RET_OK ) { // lock controllers till end of block @@ -289,7 +289,7 @@ void ChartController::executeDispatch_InsertTitles() SolarMutexGuard aGuard; auto aDlg = std::make_shared(GetChartFrame(), *aDialogInput); -aDlg->runAsync(aDlg, [this, aDlg, aDialogInput, aUndoGuard](int nResult){ +weld::DialogController::runAsync(aDlg, [this, aDlg, aDialogInput, aUndoGuard](int nResult){ if ( nResult == RET_OK ) { // lock controllers till end of block @@ -508,7 +508,7 @@ void ChartController::executeDispatch_InsertTrendline() // note: when a user pressed "OK" but didn't change any settings in the // dialog, the SfxTabDialog returns "Cancel" -aDialog->runAsync(aDialog, [this, aDialog, aItemConverter, aUndoGuard](int nResult) { +SfxTabDialogController::runAsync(aDialog, [this, aDialog, aItemConverter, aUndoGuard](int nResult) { if ( nResult == RET_OK || aDialog->DialogWasClosedWithOK() ) { const SfxItemSet* pOutItemSet = aDialog->GetOutputItemSet(); @@ -570,7 +570,7 @@ void ChartController::executeDispatch_InsertErrorBars( bool bYError ) // note: when a user pressed "OK" but didn't change any settings in the // dialog, the SfxTabDialog returns "Cancel" -aDlg->runAsync(aDlg, [this, aDlg, aItemConverter, aUndoGuard](int nResult) { +SfxTabDialogController::runAsync(aDlg, [this, aDlg, aItemConverter, aUndoGuard](int nResult) { if ( nResult == RET_OK || aDlg->DialogWasClosedWithOK() ) { const SfxItemSet* pOutItemSet = aDlg->GetOutputItemSet(); @@ -609,7 +609,7 @@ void ChartController::executeDispatch_InsertErrorBars( bool bYError ) aDlg->SetAxisMinorStepWidthForErrorBarDecimals( InsertErrorBarsDialog::getAxisMinorStepWidthForErrorBarDecimals( getChartModel(), m_xChartView, u"" ) ); -aDlg->runAsync(aDlg, [this, aDlg, aItemConverter, aUndoGuard](int nResult) { +weld::DialogController::runAsync(aDlg, [this, aDlg, aItemConverter, aUndoGuard](int nResult) { if ( nResult == RET_OK ) { SfxItemSet aOutItemSet = aItemConverter->CreateEmptyItemSet();
core.git: Branch 'distro/collabora/co-23.05' - chart2/source
chart2/source/controller/main/ChartController.cxx|2 +- chart2/source/controller/main/ChartController_Insert.cxx | 10 +- 2 files changed, 6 insertions(+), 6 deletions(-) New commits: commit 9e438e7c169f626fb7a5337d645bf92269b52d5e Author: codewithvk AuthorDate: Sun Feb 4 19:56:55 2024 +0530 Commit: Tomaž Vajngerl CommitDate: Wed Feb 7 07:29:04 2024 +0100 Fix: Convert 'runAsync' class-based calls to static method calls for chart properties Signed-off-by: codewithvk Change-Id: Ib368c2bbb5657a2dbf1b7f340bc9fb0b6f436713 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162975 Tested-by: Jenkins CollaboraOffice Reviewed-by: Tomaž Vajngerl diff --git a/chart2/source/controller/main/ChartController.cxx b/chart2/source/controller/main/ChartController.cxx index e234900564e0..fbd2968c864d 100644 --- a/chart2/source/controller/main/ChartController.cxx +++ b/chart2/source/controller/main/ChartController.cxx @@ -1368,7 +1368,7 @@ void ChartController::executeDispatch_ChartType() SolarMutexGuard aSolarGuard; //prepare and open dialog auto aDlg = std::make_shared(GetChartFrame(), getChartModel()); -aDlg->runAsync(aDlg, [this, aUndoGuard](int nResult) { +weld::DialogController::runAsync(aDlg, [this, aUndoGuard](int nResult) { if (nResult == RET_OK) { impl_adaptDataSeriesAutoResize(); diff --git a/chart2/source/controller/main/ChartController_Insert.cxx b/chart2/source/controller/main/ChartController_Insert.cxx index c35ef82d5d64..02b0b224939f 100644 --- a/chart2/source/controller/main/ChartController_Insert.cxx +++ b/chart2/source/controller/main/ChartController_Insert.cxx @@ -102,7 +102,7 @@ void ChartController::executeDispatch_InsertAxes() SolarMutexGuard aGuard; auto aDlg = std::make_shared(GetChartFrame(), *aDialogInput); -aDlg->runAsync(aDlg, [this, aDlg, aDialogInput, aUndoGuard](int nResult) { +weld::DialogController::runAsync(aDlg, [this, aDlg, aDialogInput, aUndoGuard](int nResult) { if ( nResult == RET_OK ) { // lock controllers till end of block @@ -287,7 +287,7 @@ void ChartController::executeDispatch_InsertTitles() SolarMutexGuard aGuard; auto aDlg = std::make_shared(GetChartFrame(), *aDialogInput); -aDlg->runAsync(aDlg, [this, aDlg, aDialogInput, aUndoGuard](int nResult){ +weld::DialogController::runAsync(aDlg, [this, aDlg, aDialogInput, aUndoGuard](int nResult){ if ( nResult == RET_OK ) { // lock controllers till end of block @@ -506,7 +506,7 @@ void ChartController::executeDispatch_InsertTrendline() // note: when a user pressed "OK" but didn't change any settings in the // dialog, the SfxTabDialog returns "Cancel" -aDialog->runAsync(aDialog, [this, aDialog, aItemConverter, aUndoGuard](int nResult) { +SfxTabDialogController::runAsync(aDialog, [this, aDialog, aItemConverter, aUndoGuard](int nResult) { if ( nResult == RET_OK || aDialog->DialogWasClosedWithOK() ) { const SfxItemSet* pOutItemSet = aDialog->GetOutputItemSet(); @@ -568,7 +568,7 @@ void ChartController::executeDispatch_InsertErrorBars( bool bYError ) // note: when a user pressed "OK" but didn't change any settings in the // dialog, the SfxTabDialog returns "Cancel" -aDlg->runAsync(aDlg, [this, aDlg, aItemConverter, aUndoGuard](int nResult) { +SfxTabDialogController::runAsync(aDlg, [this, aDlg, aItemConverter, aUndoGuard](int nResult) { if ( nResult == RET_OK || aDlg->DialogWasClosedWithOK() ) { const SfxItemSet* pOutItemSet = aDlg->GetOutputItemSet(); @@ -607,7 +607,7 @@ void ChartController::executeDispatch_InsertErrorBars( bool bYError ) aDlg->SetAxisMinorStepWidthForErrorBarDecimals( InsertErrorBarsDialog::getAxisMinorStepWidthForErrorBarDecimals( getChartModel(), m_xChartView, u"" ) ); -aDlg->runAsync(aDlg, [this, aDlg, aItemConverter, aUndoGuard](int nResult) { +weld::DialogController::runAsync(aDlg, [this, aDlg, aItemConverter, aUndoGuard](int nResult) { if ( nResult == RET_OK ) { SfxItemSet aOutItemSet = aItemConverter->CreateEmptyItemSet();
core.git: Branch 'distro/collabora/co-24.04' - chart2/source
chart2/source/controller/main/ChartController.cxx| 18 - chart2/source/controller/main/ChartController_Insert.cxx | 168 +++ 2 files changed, 98 insertions(+), 88 deletions(-) New commits: commit 2d51d987b2473fcc6a0ec19053c45e020b22d750 Author: codewithvk AuthorDate: Sun Jan 28 13:43:09 2024 +0530 Commit: Tomaž Vajngerl CommitDate: Wed Feb 7 07:28:09 2024 +0100 Async Dialogs for Few Chart Properties Updated the chart properties dialogs to work asynchronously. The changes affect the following dialogs: Chart Type: Accessible by double-clicking on a chart to select it, then right-clicking to open the context menu. Selecting 'Chart type...' opens the dialog for modifying chart types. Insert Axes: Triggered by double-clicking on a chart to select it, then right-clicking and choosing 'Insert/Delete Axes' from the context menu. This dialog allows users to add or remove chart axes. Insert Titles: Opens when you double-click on a chart, right-click, and select 'Insert Titles...' from the context menu. It's used for adding titles to the chart and its axes. Insert Trendline: For column charts, you can double-click on a column, right-click, and choose 'Insert trendline..' to open this dialog. Insert Error Bars: In a column chart, after selecting a column, right-clicking and choosing 'Insert X Error Bars..' or 'Insert Y Error Bars..' opens the dialog for adding error bars to the chart. Signed-off-by: codewithvk Change-Id: Id7bb8682150f2e3115420d9259c6afd41682641e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162655 Tested-by: Jenkins CollaboraOffice Reviewed-by: Tomaž Vajngerl (cherry picked from commit 71a3cfb71dddba8098d74d7bb1dd414e4696914b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163010 diff --git a/chart2/source/controller/main/ChartController.cxx b/chart2/source/controller/main/ChartController.cxx index ae09e6813dd5..b9e2755a8d8b 100644 --- a/chart2/source/controller/main/ChartController.cxx +++ b/chart2/source/controller/main/ChartController.cxx @@ -1339,17 +1339,19 @@ void SAL_CALL ChartController::releaseContextMenuInterceptor( void ChartController::executeDispatch_ChartType() { -UndoLiveUpdateGuard aUndoGuard( -SchResId( STR_ACTION_EDIT_CHARTTYPE ), m_xUndoManager ); +auto aUndoGuard = std::make_shared(SchResId(STR_ACTION_EDIT_CHARTTYPE), +m_xUndoManager); SolarMutexGuard aSolarGuard; //prepare and open dialog -ChartTypeDialog aDlg(GetChartFrame(), getChartModel()); -if (aDlg.run() == RET_OK) -{ -impl_adaptDataSeriesAutoResize(); -aUndoGuard.commit(); -} +auto aDlg = std::make_shared(GetChartFrame(), getChartModel()); +aDlg->runAsync(aDlg, [this, aUndoGuard](int nResult) { +if (nResult == RET_OK) +{ +impl_adaptDataSeriesAutoResize(); +aUndoGuard->commit(); +} +}); } void ChartController::executeDispatch_SourceData() diff --git a/chart2/source/controller/main/ChartController_Insert.cxx b/chart2/source/controller/main/ChartController_Insert.cxx index 60b059ceffa1..671baed907a7 100644 --- a/chart2/source/controller/main/ChartController_Insert.cxx +++ b/chart2/source/controller/main/ChartController_Insert.cxx @@ -90,35 +90,37 @@ namespace chart void ChartController::executeDispatch_InsertAxes() { -UndoGuard aUndoGuard( +auto aUndoGuard = std::make_shared( ActionDescriptionProvider::createDescription( ActionDescriptionProvider::ActionType::Insert, SchResId( STR_OBJECT_AXES )), m_xUndoManager ); try { -InsertAxisOrGridDialogData aDialogInput; +auto aDialogInput = std::make_shared(); rtl::Reference< Diagram > xDiagram = getFirstDiagram(); -AxisHelper::getAxisOrGridExistence( aDialogInput.aExistenceList, xDiagram ); -AxisHelper::getAxisOrGridPossibilities( aDialogInput.aPossibilityList, xDiagram ); +AxisHelper::getAxisOrGridExistence( aDialogInput->aExistenceList, xDiagram ); +AxisHelper::getAxisOrGridPossibilities( aDialogInput->aPossibilityList, xDiagram ); SolarMutexGuard aGuard; -SchAxisDlg aDlg(GetChartFrame(), aDialogInput); -if (aDlg.run() == RET_OK) -{ -// lock controllers till end of block -ControllerLockGuardUNO aCLGuard( getChartModel() ); +auto aDlg = std::make_shared(GetChartFrame(), *aDialogInput); +aDlg->runAsync(aDlg, [this, aDlg, aDialogInput, aUndoGuard](int nResult) { +if ( nResult == RET_OK ) +{ +// lock controllers till end of block +ControllerLockGuardUNO aCLGuard( getChartModel() ); -InsertAxisOrGridDialogData aDialogOutput; -aDlg.getResult(aDialogOutput); -
core.git: chart2/source
chart2/source/controller/main/ChartController.cxx| 18 - chart2/source/controller/main/ChartController_Insert.cxx | 166 +++ 2 files changed, 97 insertions(+), 87 deletions(-) New commits: commit b9a46c1ec295fe3227a5adb864c849e55838e89e Author: codewithvk AuthorDate: Sun Jan 28 13:43:09 2024 +0530 Commit: Caolán McNamara CommitDate: Tue Feb 6 16:43:43 2024 +0100 Async Dialogs for Few Chart Properties Updated the chart properties dialogs to work asynchronously. The changes affect the following dialogs: Chart Type: Accessible by double-clicking on a chart to select it, then right-clicking to open the context menu. Selecting 'Chart type...' opens the dialog for modifying chart types. Insert Axes: Triggered by double-clicking on a chart to select it, then right-clicking and choosing 'Insert/Delete Axes' from the context menu. This dialog allows users to add or remove chart axes. Insert Titles: Opens when you double-click on a chart, right-click, and select 'Insert Titles...' from the context menu. It's used for adding titles to the chart and its axes. Insert Trendline: For column charts, you can double-click on a column, right-click, and choose 'Insert trendline..' to open this dialog. Insert Error Bars: In a column chart, after selecting a column, right-clicking and choosing 'Insert X Error Bars..' or 'Insert Y Error Bars..' opens the dialog for adding error bars to the chart. Signed-off-by: codewithvk Change-Id: Id7bb8682150f2e3115420d9259c6afd41682641e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162655 Tested-by: Jenkins CollaboraOffice Reviewed-by: Tomaž Vajngerl (cherry picked from commit 71a3cfb71dddba8098d74d7bb1dd414e4696914b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162824 Tested-by: Jenkins Reviewed-by: Caolán McNamara diff --git a/chart2/source/controller/main/ChartController.cxx b/chart2/source/controller/main/ChartController.cxx index ae09e6813dd5..29f5d9b6a24d 100644 --- a/chart2/source/controller/main/ChartController.cxx +++ b/chart2/source/controller/main/ChartController.cxx @@ -1339,17 +1339,19 @@ void SAL_CALL ChartController::releaseContextMenuInterceptor( void ChartController::executeDispatch_ChartType() { -UndoLiveUpdateGuard aUndoGuard( -SchResId( STR_ACTION_EDIT_CHARTTYPE ), m_xUndoManager ); +auto aUndoGuard = std::make_shared(SchResId(STR_ACTION_EDIT_CHARTTYPE), +m_xUndoManager); SolarMutexGuard aSolarGuard; //prepare and open dialog -ChartTypeDialog aDlg(GetChartFrame(), getChartModel()); -if (aDlg.run() == RET_OK) -{ -impl_adaptDataSeriesAutoResize(); -aUndoGuard.commit(); -} +auto aDlg = std::make_shared(GetChartFrame(), getChartModel()); +weld::DialogController::runAsync(aDlg, [this, aUndoGuard](int nResult) { +if (nResult == RET_OK) +{ +impl_adaptDataSeriesAutoResize(); +aUndoGuard->commit(); +} +}); } void ChartController::executeDispatch_SourceData() diff --git a/chart2/source/controller/main/ChartController_Insert.cxx b/chart2/source/controller/main/ChartController_Insert.cxx index 1038e97943db..adb5b74b67d3 100644 --- a/chart2/source/controller/main/ChartController_Insert.cxx +++ b/chart2/source/controller/main/ChartController_Insert.cxx @@ -90,34 +90,36 @@ namespace chart void ChartController::executeDispatch_InsertAxes() { -UndoGuard aUndoGuard( +auto aUndoGuard = std::make_shared( ActionDescriptionProvider::createDescription( ActionDescriptionProvider::ActionType::Insert, SchResId( STR_OBJECT_AXES )), m_xUndoManager ); try { -InsertAxisOrGridDialogData aDialogInput; +auto aDialogInput = std::make_shared(); rtl::Reference< Diagram > xDiagram = getFirstDiagram(); -AxisHelper::getAxisOrGridExistence( aDialogInput.aExistenceList, xDiagram ); -AxisHelper::getAxisOrGridPossibilities( aDialogInput.aPossibilityList, xDiagram ); +AxisHelper::getAxisOrGridExistence( aDialogInput->aExistenceList, xDiagram ); +AxisHelper::getAxisOrGridPossibilities( aDialogInput->aPossibilityList, xDiagram ); SolarMutexGuard aGuard; -SchAxisDlg aDlg(GetChartFrame(), aDialogInput); -if (aDlg.run() == RET_OK) -{ -// lock controllers till end of block -ControllerLockGuardUNO aCLGuard( getChartModel() ); +auto aDlg = std::make_shared(GetChartFrame(), *aDialogInput); +weld::DialogController::runAsync(aDlg, [this, aDlg, aDialogInput, aUndoGuard](int nResult) { +if ( nResult == RET_OK ) +{ +// lock controllers till end of block +ControllerLockGuardUNO aCLGuard( getChartModel() ); -
core.git: Branch 'distro/collabora/co-23.05' - chart2/source
chart2/source/controller/main/ChartController.cxx| 18 - chart2/source/controller/main/ChartController_Insert.cxx | 168 +++ 2 files changed, 98 insertions(+), 88 deletions(-) New commits: commit 71a3cfb71dddba8098d74d7bb1dd414e4696914b Author: codewithvk AuthorDate: Sun Jan 28 13:43:09 2024 +0530 Commit: Tomaž Vajngerl CommitDate: Wed Jan 31 14:15:36 2024 +0100 Async Dialogs for Few Chart Properties Updated the chart properties dialogs to work asynchronously. The changes affect the following dialogs: Chart Type: Accessible by double-clicking on a chart to select it, then right-clicking to open the context menu. Selecting 'Chart type...' opens the dialog for modifying chart types. Insert Axes: Triggered by double-clicking on a chart to select it, then right-clicking and choosing 'Insert/Delete Axes' from the context menu. This dialog allows users to add or remove chart axes. Insert Titles: Opens when you double-click on a chart, right-click, and select 'Insert Titles...' from the context menu. It's used for adding titles to the chart and its axes. Insert Trendline: For column charts, you can double-click on a column, right-click, and choose 'Insert trendline..' to open this dialog. Insert Error Bars: In a column chart, after selecting a column, right-clicking and choosing 'Insert X Error Bars..' or 'Insert Y Error Bars..' opens the dialog for adding error bars to the chart. Signed-off-by: codewithvk Change-Id: Id7bb8682150f2e3115420d9259c6afd41682641e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162655 Tested-by: Jenkins CollaboraOffice Reviewed-by: Tomaž Vajngerl diff --git a/chart2/source/controller/main/ChartController.cxx b/chart2/source/controller/main/ChartController.cxx index 21d757737171..e234900564e0 100644 --- a/chart2/source/controller/main/ChartController.cxx +++ b/chart2/source/controller/main/ChartController.cxx @@ -1362,17 +1362,19 @@ void SAL_CALL ChartController::releaseContextMenuInterceptor( void ChartController::executeDispatch_ChartType() { -UndoLiveUpdateGuard aUndoGuard( -SchResId( STR_ACTION_EDIT_CHARTTYPE ), m_xUndoManager ); +auto aUndoGuard = std::make_shared(SchResId(STR_ACTION_EDIT_CHARTTYPE), +m_xUndoManager); SolarMutexGuard aSolarGuard; //prepare and open dialog -ChartTypeDialog aDlg(GetChartFrame(), getChartModel()); -if (aDlg.run() == RET_OK) -{ -impl_adaptDataSeriesAutoResize(); -aUndoGuard.commit(); -} +auto aDlg = std::make_shared(GetChartFrame(), getChartModel()); +aDlg->runAsync(aDlg, [this, aUndoGuard](int nResult) { +if (nResult == RET_OK) +{ +impl_adaptDataSeriesAutoResize(); +aUndoGuard->commit(); +} +}); } void ChartController::executeDispatch_SourceData() diff --git a/chart2/source/controller/main/ChartController_Insert.cxx b/chart2/source/controller/main/ChartController_Insert.cxx index 40a0a86b1e95..c35ef82d5d64 100644 --- a/chart2/source/controller/main/ChartController_Insert.cxx +++ b/chart2/source/controller/main/ChartController_Insert.cxx @@ -88,35 +88,37 @@ namespace chart void ChartController::executeDispatch_InsertAxes() { -UndoGuard aUndoGuard( +auto aUndoGuard = std::make_shared( ActionDescriptionProvider::createDescription( ActionDescriptionProvider::ActionType::Insert, SchResId( STR_OBJECT_AXES )), m_xUndoManager ); try { -InsertAxisOrGridDialogData aDialogInput; +auto aDialogInput = std::make_shared(); rtl::Reference< Diagram > xDiagram = getFirstDiagram(); -AxisHelper::getAxisOrGridExistence( aDialogInput.aExistenceList, xDiagram ); -AxisHelper::getAxisOrGridPossibilities( aDialogInput.aPossibilityList, xDiagram ); +AxisHelper::getAxisOrGridExistence( aDialogInput->aExistenceList, xDiagram ); +AxisHelper::getAxisOrGridPossibilities( aDialogInput->aPossibilityList, xDiagram ); SolarMutexGuard aGuard; -SchAxisDlg aDlg(GetChartFrame(), aDialogInput); -if (aDlg.run() == RET_OK) -{ -// lock controllers till end of block -ControllerLockGuardUNO aCLGuard( getChartModel() ); +auto aDlg = std::make_shared(GetChartFrame(), *aDialogInput); +aDlg->runAsync(aDlg, [this, aDlg, aDialogInput, aUndoGuard](int nResult) { +if ( nResult == RET_OK ) +{ +// lock controllers till end of block +ControllerLockGuardUNO aCLGuard( getChartModel() ); -InsertAxisOrGridDialogData aDialogOutput; -aDlg.getResult(aDialogOutput); -std::unique_ptr< ReferenceSizeProvider > pRefSizeProvider( -impl_createReferenceSizeProvider()); -bool bChanged =
core.git: 2 commits - cui/source include/cui include/svx sc/source sd/source svx/source
cui/source/inc/numpages.hxx |2 cui/source/tabpages/numpages.cxx | 353 -- include/svx/numberingpreview.hxx | 17 - sc/source/ui/inc/viewfunc.hxx |7 sc/source/ui/view/viewfunc.cxx| 402 ++ sd/source/ui/inc/BulletAndPositionDlg.hxx |2 svx/source/dialog/pagenumberlistbox.cxx | 385 7 files changed, 643 insertions(+), 525 deletions(-) New commits: commit b39c6082aa975ed8e5696c3dc24c3025ed07bbb6 Author: codewithvk AuthorDate: Thu Jan 11 10:27:27 2024 +0530 Commit: Caolán McNamara CommitDate: Wed Jan 31 10:33:48 2024 +0100 Implement Async AutoCorrectQuery Dialogs for Formula Check in calc Key changes include: 1. Decomposition into Four Methods: The core logic of formula processing `ScViewFunc::EnterData` has been divided into four distinct methods: `parseAndCorrectFormula`, `runAutoCorrectQueryAsync`, `finalizeFormulaProcessing`, and `performAutoFormatAndUpdate`. This modular approach improves code readability and maintainability. 2. Introduction of `FormulaProcessingContext` Struct: To manage the complexities of asynchronous behavior and parameter passing, a new struct `FormulaProcessingContext` has been introduced. It acts as a central state holder, ensuring parameter persistence throughout the asynchronous operations and avoiding scope-related errors. 3. Recursive Dependency and Loop Replacement: The methods `parseAndCorrectFormula` and `runAutoCorrectQueryAsync` are interdependent and recursively call each other. This recursive strategy effectively replaces the previous `do while` loop in the code, streamlining the process of formula correction. 4. Asynchronous Dialog Invocation: The `runAutoCorrectQueryAsync` method now handles the asynchronous triggering of AutoCorrectQuery dialogs. This change significantly improves the user experience by preventing UI freezes during formula processing. Overall, this commit achieves the goal of making AutoCorrectQuery dialogs asynchronous while refactoring `ScViewFunc::EnterData` for better code structure and performance. Signed-off-by: codewithvk Change-Id: If159b98d54c0eaed41789eca7913a929b1e19c1c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162740 Tested-by: Jenkins Reviewed-by: Caolán McNamara diff --git a/sc/source/ui/inc/viewfunc.hxx b/sc/source/ui/inc/viewfunc.hxx index 117cd407bbd8..82d202b2df8e 100644 --- a/sc/source/ui/inc/viewfunc.hxx +++ b/sc/source/ui/inc/viewfunc.hxx @@ -345,6 +345,10 @@ public: voidOnLOKInsertDeleteRow(SCROW nStartRow, tools::Long nOffset); voidOnLOKSetWidthOrHeight(SCCOLROW nStart, bool bWidth); +boolTestFormatArea( SCCOL nCol, SCROW nRow, SCTAB nTab, bool bAttrChanged ); +voidDoAutoAttributes( SCCOL nCol, SCROW nRow, SCTAB nTab, +bool bAttrChanged ); + // Internal helper functions protected: static void UpdateLineAttrs( ::editeng::SvxBorderLine&rLine, @@ -381,9 +385,6 @@ private: sal_uInt16 GetOptimalColWidth( SCCOL nCol, SCTAB nTab, bool bFormula ); voidStartFormatArea(); -boolTestFormatArea( SCCOL nCol, SCROW nRow, SCTAB nTab, bool bAttrChanged ); -voidDoAutoAttributes( SCCOL nCol, SCROW nRow, SCTAB nTab, -bool bAttrChanged ); voidMarkAndJumpToRanges(const ScRangeList& rRanges); voidCopyAutoSpellData( FillDir eDir, SCCOL nStartCol, SCROW nStartRow, diff --git a/sc/source/ui/view/viewfunc.cxx b/sc/source/ui/view/viewfunc.cxx index a6d28ecbc37b..ed5de281b5bc 100644 --- a/sc/source/ui/view/viewfunc.cxx +++ b/sc/source/ui/view/viewfunc.cxx @@ -136,6 +136,46 @@ ScViewFunc::~ScViewFunc() namespace { +struct FormulaProcessingContext +{ +std::shared_ptr aPos; +std::shared_ptr aComp; +std::shared_ptr aModificator; +std::shared_ptr pArr; +std::shared_ptr pArrFirst; + +const EditTextObject* pData; +ScMarkData aMark; +ScViewFunc& rViewFunc; + +OUString aCorrectedFormula; +OUString aFormula; +OUString aString; + +SCCOL nCol; +SCROW nRow; +SCTAB nTab; + +bool bMatrixExpand; +bool bNumFmtChanged; +bool bRecord; + +ScViewData& GetViewData() const +{ +return rViewFunc.GetViewData(); +} + +ScDocFunc& GetDocFunc() const +{ +return GetViewData().GetDocFunc(); +} + +ScDocument& GetDoc() const +{ +return GetViewData().GetDocument(); +} +}; + void collectUIInformation(std::map&& aParameters, const OUString& rAction) { EventDescription aDescription; @@ -358,7 +398,7 @@ static bool lcl_AddFunction( ScAppOptions& rAppOpt,
core.git: Branch 'distro/collabora/co-24.04' - sc/source
sc/source/ui/inc/viewfunc.hxx |7 sc/source/ui/view/viewfunc.cxx | 402 - 2 files changed, 246 insertions(+), 163 deletions(-) New commits: commit 79ff3aa89dbe85d4a648e5fa5953c172b9cd35b5 Author: codewithvk AuthorDate: Thu Jan 11 10:27:27 2024 +0530 Commit: Caolán McNamara CommitDate: Tue Jan 30 12:50:43 2024 +0100 Implement Async AutoCorrectQuery Dialogs for Formula Check in calc Key changes include: 1. Decomposition into Four Methods: The core logic of formula processing `ScViewFunc::EnterData` has been divided into four distinct methods: `parseAndCorrectFormula`, `runAutoCorrectQueryAsync`, `finalizeFormulaProcessing`, and `performAutoFormatAndUpdate`. This modular approach improves code readability and maintainability. 2. Introduction of `FormulaProcessingContext` Struct: To manage the complexities of asynchronous behavior and parameter passing, a new struct `FormulaProcessingContext` has been introduced. It acts as a central state holder, ensuring parameter persistence throughout the asynchronous operations and avoiding scope-related errors. 3. Recursive Dependency and Loop Replacement: The methods `parseAndCorrectFormula` and `runAutoCorrectQueryAsync` are interdependent and recursively call each other. This recursive strategy effectively replaces the previous `do while` loop in the code, streamlining the process of formula correction. 4. Asynchronous Dialog Invocation: The `runAutoCorrectQueryAsync` method now handles the asynchronous triggering of AutoCorrectQuery dialogs. This change significantly improves the user experience by preventing UI freezes during formula processing. Overall, this commit achieves the goal of making AutoCorrectQuery dialogs asynchronous while refactoring `ScViewFunc::EnterData` for better code structure and performance. Signed-off-by: codewithvk Change-Id: If159b98d54c0eaed41789eca7913a929b1e19c1c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161906 Tested-by: Jenkins CollaboraOffice Tested-by: Caolán McNamara Reviewed-by: Caolán McNamara Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162741 diff --git a/sc/source/ui/inc/viewfunc.hxx b/sc/source/ui/inc/viewfunc.hxx index bf6a9a77269a..a49941e7052e 100644 --- a/sc/source/ui/inc/viewfunc.hxx +++ b/sc/source/ui/inc/viewfunc.hxx @@ -345,6 +345,10 @@ public: voidOnLOKInsertDeleteRow(SCROW nStartRow, tools::Long nOffset); voidOnLOKSetWidthOrHeight(SCCOLROW nStart, bool bWidth); +boolTestFormatArea( SCCOL nCol, SCROW nRow, SCTAB nTab, bool bAttrChanged ); +voidDoAutoAttributes( SCCOL nCol, SCROW nRow, SCTAB nTab, +bool bAttrChanged ); + // Internal helper functions protected: static void UpdateLineAttrs( ::editeng::SvxBorderLine&rLine, @@ -372,9 +376,6 @@ private: sal_uInt16 GetOptimalColWidth( SCCOL nCol, SCTAB nTab, bool bFormula ); voidStartFormatArea(); -boolTestFormatArea( SCCOL nCol, SCROW nRow, SCTAB nTab, bool bAttrChanged ); -voidDoAutoAttributes( SCCOL nCol, SCROW nRow, SCTAB nTab, -bool bAttrChanged ); voidMarkAndJumpToRanges(const ScRangeList& rRanges); voidCopyAutoSpellData( FillDir eDir, SCCOL nStartCol, SCROW nStartRow, diff --git a/sc/source/ui/view/viewfunc.cxx b/sc/source/ui/view/viewfunc.cxx index 25633cae38f7..5d5d07b215c6 100644 --- a/sc/source/ui/view/viewfunc.cxx +++ b/sc/source/ui/view/viewfunc.cxx @@ -134,6 +134,46 @@ ScViewFunc::~ScViewFunc() { } +struct FormulaProcessingContext +{ +std::shared_ptr aPos; +std::shared_ptr aComp; +std::shared_ptr aModificator; +std::shared_ptr pArr; +std::shared_ptr pArrFirst; + +const EditTextObject* pData; +ScMarkData aMark; +ScViewFunc& rViewFunc; + +OUString aCorrectedFormula; +OUString aFormula; +OUString aString; + +SCCOL nCol; +SCROW nRow; +SCTAB nTab; + +bool bMatrixExpand; +bool bNumFmtChanged; +bool bRecord; + +ScViewData& GetViewData() const +{ +return rViewFunc.GetViewData(); +} + +ScDocFunc& GetDocFunc() const +{ +return GetViewData().GetDocFunc(); +} + +ScDocument& GetDoc() const +{ +return GetViewData().GetDocument(); +} +}; + namespace { void collectUIInformation(std::map&& aParameters, const OUString& rAction) @@ -358,7 +398,7 @@ static bool lcl_AddFunction( ScAppOptions& rAppOpt, sal_uInt16 nOpCode ) namespace HelperNotifyChanges { -static void NotifyIfChangesListeners(const ScDocShell , ScMarkData& rMark, +static void NotifyIfChangesListeners(const ScDocShell , const ScMarkData& rMark,
core.git: Branch 'distro/collabora/co-23.05' - sc/source
sc/source/ui/inc/viewfunc.hxx |7 sc/source/ui/view/viewfunc.cxx | 400 - 2 files changed, 245 insertions(+), 162 deletions(-) New commits: commit eb9bdb19a619b747b7ca64bb017a7409c7b84056 Author: codewithvk AuthorDate: Thu Jan 11 10:27:27 2024 +0530 Commit: Caolán McNamara CommitDate: Tue Jan 30 11:23:21 2024 +0100 Implement Async AutoCorrectQuery Dialogs for Formula Check in calc Key changes include: 1. Decomposition into Four Methods: The core logic of formula processing `ScViewFunc::EnterData` has been divided into four distinct methods: `parseAndCorrectFormula`, `runAutoCorrectQueryAsync`, `finalizeFormulaProcessing`, and `performAutoFormatAndUpdate`. This modular approach improves code readability and maintainability. 2. Introduction of `FormulaProcessingContext` Struct: To manage the complexities of asynchronous behavior and parameter passing, a new struct `FormulaProcessingContext` has been introduced. It acts as a central state holder, ensuring parameter persistence throughout the asynchronous operations and avoiding scope-related errors. 3. Recursive Dependency and Loop Replacement: The methods `parseAndCorrectFormula` and `runAutoCorrectQueryAsync` are interdependent and recursively call each other. This recursive strategy effectively replaces the previous `do while` loop in the code, streamlining the process of formula correction. 4. Asynchronous Dialog Invocation: The `runAutoCorrectQueryAsync` method now handles the asynchronous triggering of AutoCorrectQuery dialogs. This change significantly improves the user experience by preventing UI freezes during formula processing. Overall, this commit achieves the goal of making AutoCorrectQuery dialogs asynchronous while refactoring `ScViewFunc::EnterData` for better code structure and performance. Signed-off-by: codewithvk Change-Id: If159b98d54c0eaed41789eca7913a929b1e19c1c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161906 Tested-by: Jenkins CollaboraOffice Tested-by: Caolán McNamara Reviewed-by: Caolán McNamara diff --git a/sc/source/ui/inc/viewfunc.hxx b/sc/source/ui/inc/viewfunc.hxx index b5b4ffec6b75..4bcdcaab0b6f 100644 --- a/sc/source/ui/inc/viewfunc.hxx +++ b/sc/source/ui/inc/viewfunc.hxx @@ -345,6 +345,10 @@ public: voidOnLOKInsertDeleteRow(SCROW nStartRow, tools::Long nOffset); voidOnLOKSetWidthOrHeight(SCCOLROW nStart, bool bWidth); +boolTestFormatArea( SCCOL nCol, SCROW nRow, SCTAB nTab, bool bAttrChanged ); +voidDoAutoAttributes( SCCOL nCol, SCROW nRow, SCTAB nTab, +bool bAttrChanged ); + // Internal helper functions protected: static void UpdateLineAttrs( ::editeng::SvxBorderLine&rLine, @@ -372,9 +376,6 @@ private: sal_uInt16 GetOptimalColWidth( SCCOL nCol, SCTAB nTab, bool bFormula ); voidStartFormatArea(); -boolTestFormatArea( SCCOL nCol, SCROW nRow, SCTAB nTab, bool bAttrChanged ); -voidDoAutoAttributes( SCCOL nCol, SCROW nRow, SCTAB nTab, -bool bAttrChanged ); voidMarkAndJumpToRanges(const ScRangeList& rRanges); voidCopyAutoSpellData( FillDir eDir, SCCOL nStartCol, SCROW nStartRow, diff --git a/sc/source/ui/view/viewfunc.cxx b/sc/source/ui/view/viewfunc.cxx index bc27224324a8..503c96d29db1 100644 --- a/sc/source/ui/view/viewfunc.cxx +++ b/sc/source/ui/view/viewfunc.cxx @@ -113,6 +113,46 @@ ScViewFunc::~ScViewFunc() { } +struct FormulaProcessingContext +{ +std::shared_ptr aPos; +std::shared_ptr aComp; +std::shared_ptr aModificator; +std::shared_ptr pArr; +std::shared_ptr pArrFirst; + +const EditTextObject* pData; +ScMarkData aMark; +ScViewFunc& rViewFunc; + +OUString aCorrectedFormula; +OUString aFormula; +OUString aString; + +SCCOL nCol; +SCROW nRow; +SCTAB nTab; + +bool bMatrixExpand; +bool bNumFmtChanged; +bool bRecord; + +ScViewData& GetViewData() const +{ +return rViewFunc.GetViewData(); +} + +ScDocFunc& GetDocFunc() const +{ +return GetViewData().GetDocFunc(); +} + +ScDocument& GetDoc() const +{ +return GetViewData().GetDocument(); +} +}; + namespace { void collectUIInformation(std::map&& aParameters, const OUString& rAction) @@ -337,7 +377,7 @@ static bool lcl_AddFunction( ScAppOptions& rAppOpt, sal_uInt16 nOpCode ) namespace HelperNotifyChanges { -static void NotifyIfChangesListeners(const ScDocShell , ScMarkData& rMark, +static void NotifyIfChangesListeners(const ScDocShell , const ScMarkData& rMark, SCCOL nCol, SCROW nRow, const OUString& rType
core.git: 2 commits - chart2/source sc/source
chart2/source/controller/main/ChartController_Window.cxx |4 sc/source/ui/app/inputhdl.cxx|5 sc/source/ui/view/cellsh1.cxx| 151 --- 3 files changed, 91 insertions(+), 69 deletions(-) New commits: commit 4b33e878a446b0bcdb1d5f882a05a256967eea54 Author: codewithvk AuthorDate: Sun Dec 10 23:30:47 2023 +0530 Commit: Caolán McNamara CommitDate: Wed Jan 10 10:49:23 2024 +0100 Make format condition, chart delete and pivot table error async todo: Make executeDlg_ObjectProperties_withoutUndoGuard dialogs to async. Signed-off-by: codewithvk Change-Id: I9927c1008d34370b9394aaf653afb575f69f2d45 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160557 Tested-by: Jenkins CollaboraOffice Reviewed-by: Caolán McNamara Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161703 Tested-by: Caolán McNamara diff --git a/chart2/source/controller/main/ChartController_Window.cxx b/chart2/source/controller/main/ChartController_Window.cxx index 1bdb1f2ed48a..1b2b3654c201 100644 --- a/chart2/source/controller/main/ChartController_Window.cxx +++ b/chart2/source/controller/main/ChartController_Window.cxx @@ -1602,10 +1602,10 @@ bool ChartController::execute_KeyInput( const KeyEvent& rKEvt ) bReturn = executeDispatch_Delete(); if( ! bReturn ) { -std::unique_ptr xInfoBox(Application::CreateMessageDialog(pChartWindow->GetFrameWeld(), +std::shared_ptr xInfoBox(Application::CreateMessageDialog(pChartWindow->GetFrameWeld(), VclMessageType::Info, VclButtonsType::Ok, SchResId(STR_ACTION_NOTPOSSIBLE))); -xInfoBox->run(); +xInfoBox->runAsync(xInfoBox, [] (int) {}); } } diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx index 35e4eec23ebc..4907b6b50c05 100644 --- a/sc/source/ui/view/cellsh1.cxx +++ b/sc/source/ui/view/cellsh1.cxx @@ -170,6 +170,49 @@ void SetTabNoAndCursor( const ScViewData& rViewData, std::u16string_view rCellId } } +void HandleConditionalFormat(sal_uInt32 nIndex, bool bCondFormatDlg, bool bContainsCondFormat, + const sal_uInt16 nSlot, SfxViewShell* pTabViewShell) +{ +condformat::dialog::ScCondFormatDialogType eType = condformat::dialog::NONE; +switch (nSlot) +{ +case SID_OPENDLG_CONDFRMT: +case SID_OPENDLG_CURRENTCONDFRMT: +eType = condformat::dialog::CONDITION; +break; +case SID_OPENDLG_COLORSCALE: +eType = condformat::dialog::COLORSCALE; +break; +case SID_OPENDLG_DATABAR: +eType = condformat::dialog::DATABAR; +break; +case SID_OPENDLG_ICONSET: +eType = condformat::dialog::ICONSET; +break; +case SID_OPENDLG_CONDDATE: +eType = condformat::dialog::DATE; +break; +default: +assert(false); +break; +} + +if (bCondFormatDlg || !bContainsCondFormat) +{ +// Put the xml string parameter to initialize the +// Conditional Format Dialog. +ScCondFormatDlgItem aDlgItem(nullptr, nIndex, false); // Change here +aDlgItem.SetDialogType(eType); +pTabViewShell->GetPool().DirectPutItemInPool(aDlgItem); + +sal_uInt16 nId = ScCondFormatDlgWrapper::GetChildWindowId(); +SfxViewFrame& rViewFrm = pTabViewShell->GetViewFrame(); +SfxChildWindow* pWnd = rViewFrm.GetChildWindow(nId); + +SC_MOD()->SetRefDialog(nId, pWnd == nullptr); +} +} + void InsertCells(ScTabViewShell* pTabViewShell, SfxRequest , InsCellCmd eCmd) { if (eCmd!=INS_NONE) @@ -2156,7 +2199,6 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq ) } // try to find an existing conditional format -const ScConditionalFormat* pCondFormat = nullptr; const ScPatternAttr* pPattern = rDoc.GetPattern(aPos.Col(), aPos.Row(), aPos.Tab()); ScConditionalFormatList* pList = rDoc.GetCondFormList(aPos.Tab()); const ScCondFormatIndexes& rCondFormats = pPattern->GetItem(ATTR_CONDITIONAL).GetCondFormatData(); @@ -2168,7 +2210,7 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq ) for (const auto& rCondFormat : rCondFormats) { // check if at least one existing conditional format has the same range -pCondFormat = pList->GetFormat(rCondFormat); +const ScConditionalFormat* pCondFormat = pList->GetFormat(rCondFormat); if(!pCondFormat) continue; @@ -2345,78 +2387,57 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
core.git: vcl/jsdialog
vcl/jsdialog/enabled.cxx |1 + 1 file changed, 1 insertion(+) New commits: commit 23e4c6bbe2a946268b443f434a49a90c5a9f8ff5 Author: codewithvk AuthorDate: Wed Jan 3 22:25:10 2024 +0530 Commit: Caolán McNamara CommitDate: Sat Jan 6 22:22:45 2024 +0100 jsdialog: enable calc formula error dialog Signed-off-by: codewithvk Change-Id: Ib4d1b3d4d869b5be194c90e50c60cc89d8257b53 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161592 Tested-by: Jenkins CollaboraOffice Reviewed-by: Szymon Kłos (cherry picked from commit 56ae4e455d6a8ac2116700c7b8913d64c665f362) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161681 Tested-by: Jenkins Reviewed-by: Caolán McNamara diff --git a/vcl/jsdialog/enabled.cxx b/vcl/jsdialog/enabled.cxx index cbeaf3335cbf..d5997c9c6a9f 100644 --- a/vcl/jsdialog/enabled.cxx +++ b/vcl/jsdialog/enabled.cxx @@ -145,6 +145,7 @@ bool isBuilderEnabled(std::u16string_view rUIFile, bool bMobile) || rUIFile == u"modules/scalc/ui/validationcriteriapage.ui" || rUIFile == u"modules/scalc/ui/validationdialog.ui" || rUIFile == u"modules/scalc/ui/validationhelptabpage.ui" +|| rUIFile == u"modules/scalc/ui/warnautocorrect.ui" || rUIFile == u"modules/scalc/ui/ztestdialog.ui" // schart || rUIFile == u"modules/schart/ui/attributedialog.ui"
core.git: Branch 'distro/collabora/co-23.05' - chart2/source sc/source
chart2/source/controller/main/ChartController_Window.cxx |4 sc/source/ui/view/cellsh1.cxx| 149 --- 2 files changed, 88 insertions(+), 65 deletions(-) New commits: commit ea07fd4bfccb9297a6956e0d8e2e1d6f1b4aa41f Author: codewithvk AuthorDate: Sun Dec 10 23:30:47 2023 +0530 Commit: Caolán McNamara CommitDate: Fri Jan 5 20:31:12 2024 +0100 Make format condition, chart delete and pivot table error async todo: Make executeDlg_ObjectProperties_withoutUndoGuard dialogs to async. Signed-off-by: codewithvk Change-Id: I9927c1008d34370b9394aaf653afb575f69f2d45 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160557 Tested-by: Jenkins CollaboraOffice Reviewed-by: Caolán McNamara diff --git a/chart2/source/controller/main/ChartController_Window.cxx b/chart2/source/controller/main/ChartController_Window.cxx index 25910034175a..6875ee702b81 100644 --- a/chart2/source/controller/main/ChartController_Window.cxx +++ b/chart2/source/controller/main/ChartController_Window.cxx @@ -1601,10 +1601,10 @@ bool ChartController::execute_KeyInput( const KeyEvent& rKEvt ) bReturn = executeDispatch_Delete(); if( ! bReturn ) { -std::unique_ptr xInfoBox(Application::CreateMessageDialog(pChartWindow->GetFrameWeld(), +std::shared_ptr xInfoBox(Application::CreateMessageDialog(pChartWindow->GetFrameWeld(), VclMessageType::Info, VclButtonsType::Ok, SchResId(STR_ACTION_NOTPOSSIBLE))); -xInfoBox->run(); +xInfoBox->runAsync(xInfoBox, [] (int) {}); } } diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx index aaeb5d8e644e..a4bc6dba15d5 100644 --- a/sc/source/ui/view/cellsh1.cxx +++ b/sc/source/ui/view/cellsh1.cxx @@ -170,6 +170,49 @@ void SetTabNoAndCursor( const ScViewData& rViewData, std::u16string_view rCellId } } +void HandleConditionalFormat(sal_uInt32 nIndex, bool bCondFormatDlg, bool bContainsCondFormat, + const sal_uInt16 nSlot, SfxViewShell* pTabViewShell) +{ +condformat::dialog::ScCondFormatDialogType eType = condformat::dialog::NONE; +switch (nSlot) +{ +case SID_OPENDLG_CONDFRMT: +case SID_OPENDLG_CURRENTCONDFRMT: +eType = condformat::dialog::CONDITION; +break; +case SID_OPENDLG_COLORSCALE: +eType = condformat::dialog::COLORSCALE; +break; +case SID_OPENDLG_DATABAR: +eType = condformat::dialog::DATABAR; +break; +case SID_OPENDLG_ICONSET: +eType = condformat::dialog::ICONSET; +break; +case SID_OPENDLG_CONDDATE: +eType = condformat::dialog::DATE; +break; +default: +assert(false); +break; +} + +if (bCondFormatDlg || !bContainsCondFormat) +{ +// Put the xml string parameter to initialize the +// Conditional Format Dialog. +ScCondFormatDlgItem aDlgItem(nullptr, nIndex, false); // Change here +aDlgItem.SetDialogType(eType); +pTabViewShell->GetPool().Put(aDlgItem); + +sal_uInt16 nId = ScCondFormatDlgWrapper::GetChildWindowId(); +SfxViewFrame* pViewFrm = pTabViewShell->GetViewFrame(); +SfxChildWindow* pWnd = pViewFrm->GetChildWindow(nId); + +SC_MOD()->SetRefDialog(nId, pWnd == nullptr); +} +} + void InsertCells(ScTabViewShell* pTabViewShell, SfxRequest , InsCellCmd eCmd) { if (eCmd!=INS_NONE) @@ -2345,78 +2388,58 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq ) // or should create a new overlapping conditional format if(bContainsCondFormat && !bCondFormatDlg && bContainsExistingCondFormat) { -std::unique_ptr xQueryBox(Application::CreateMessageDialog(pTabViewShell->GetFrameWeld(), +std::shared_ptr xQueryBox(Application::CreateMessageDialog(pTabViewShell->GetFrameWeld(), VclMessageType::Question, VclButtonsType::YesNo, ScResId(STR_EDIT_EXISTING_COND_FORMATS), pTabViewShell)); xQueryBox->set_default_response(RET_YES); -bool bEditExisting = xQueryBox->run() == RET_YES; -if (bEditExisting) -{ -// differentiate between ranges where one conditional format is defined -// and several formats are defined -// if we have only one => open the cond format dlg to edit it -// otherwise open the manage cond format dlg -if (rCondFormats.size() ==
core.git: Branch 'distro/collabora/co-23.05' - vcl/jsdialog
vcl/jsdialog/enabled.cxx |1 + 1 file changed, 1 insertion(+) New commits: commit 56ae4e455d6a8ac2116700c7b8913d64c665f362 Author: codewithvk AuthorDate: Wed Jan 3 22:25:10 2024 +0530 Commit: Szymon Kłos CommitDate: Thu Jan 4 12:28:03 2024 +0100 jsdialog: enable calc formula error dialog Signed-off-by: codewithvk Change-Id: Ib4d1b3d4d869b5be194c90e50c60cc89d8257b53 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161592 Tested-by: Jenkins CollaboraOffice Reviewed-by: Szymon Kłos diff --git a/vcl/jsdialog/enabled.cxx b/vcl/jsdialog/enabled.cxx index cbeaf3335cbf..d5997c9c6a9f 100644 --- a/vcl/jsdialog/enabled.cxx +++ b/vcl/jsdialog/enabled.cxx @@ -145,6 +145,7 @@ bool isBuilderEnabled(std::u16string_view rUIFile, bool bMobile) || rUIFile == u"modules/scalc/ui/validationcriteriapage.ui" || rUIFile == u"modules/scalc/ui/validationdialog.ui" || rUIFile == u"modules/scalc/ui/validationhelptabpage.ui" +|| rUIFile == u"modules/scalc/ui/warnautocorrect.ui" || rUIFile == u"modules/scalc/ui/ztestdialog.ui" // schart || rUIFile == u"modules/schart/ui/attributedialog.ui"