[Libreoffice-commits] core.git: basctl/source chart2/source cui/source dbaccess/source extensions/source extensions/uiconfig extensions/UIConfig_sbibliography.mk filter/source forms/source framework/source include/sfx2 include/vcl sc/inc sc/source sc/uiconfig sc/UIConfig_scalc.mk sd/source sfx2/source solenv/bin svtools/source svx/source sw/source toolkit/source uui/source uui/uiconfig vcl/inc vcl/source vcl/unx xmlsecurity/source
Caolán McNamara
caolanm at redhat.com
Mon Feb 26 15:27:46 UTC 2018
basctl/source/basicide/baside2b.cxx | 7
basctl/source/basicide/baside3.cxx | 5
basctl/source/basicide/basides1.cxx | 21 -
chart2/source/controller/dialogs/DataBrowser.cxx | 8
cui/source/customize/SvxMenuConfigPage.cxx | 8
cui/source/customize/SvxToolbarConfigPage.cxx | 7
cui/source/dialogs/linkdlg.cxx | 16
cui/source/options/optinet2.cxx | 10
cui/source/options/personalization.cxx | 27 -
cui/source/tabpages/page.cxx | 8
dbaccess/source/ui/dlg/CollectionView.cxx | 9
dbaccess/source/ui/dlg/ConnectionHelper.cxx | 19 -
dbaccess/source/ui/dlg/sqlmessage.cxx | 4
dbaccess/source/ui/querydesign/querycontroller.cxx | 10
extensions/UIConfig_sbibliography.mk | 1
extensions/source/bibliography/bibview.cxx | 27 +
extensions/source/propctrlr/xsdvalidationpropertyhandler.cxx | 12
extensions/uiconfig/sbibliography/ui/querydialog.ui | 46 ++
filter/source/pdf/impdialog.cxx | 2
forms/source/runtime/formoperations.cxx | 28 -
framework/source/services/autorecovery.cxx | 12
include/sfx2/linkmgr.hxx | 8
include/vcl/builder.hxx | 3
include/vcl/messagedialog.hxx | 5
include/vcl/msgbox.hxx | 29 -
include/vcl/weld.hxx | 9
sc/UIConfig_scalc.mk | 1
sc/inc/globstr.hrc | 1
sc/source/filter/oox/workbookfragment.cxx | 30 +
sc/source/ui/dbgui/dbnamdlg.cxx | 10
sc/source/ui/docshell/dbdocfun.cxx | 39 +-
sc/source/ui/docshell/docfunc.cxx | 11
sc/source/ui/docshell/docsh.cxx | 28 +
sc/source/ui/docshell/docsh3.cxx | 9
sc/source/ui/docshell/docsh4.cxx | 27 -
sc/source/ui/miscdlgs/crnrdlg.cxx | 16
sc/source/ui/miscdlgs/scuiautofmt.cxx | 10
sc/source/ui/navipi/scenwnd.cxx | 9
sc/source/ui/optdlg/tpusrlst.cxx | 11
sc/source/ui/view/cellsh1.cxx | 21 -
sc/source/ui/view/cellsh3.cxx | 19 -
sc/source/ui/view/tabvwshf.cxx | 23 -
sc/source/ui/view/viewfun3.cxx | 12
sc/source/ui/view/viewfunc.cxx | 12
sc/uiconfig/scalc/ui/recalcquerydialog.ui | 46 ++
sd/source/core/drawdoc3.cxx | 6
sd/source/ui/annotations/annotationmanager.cxx | 10
sd/source/ui/view/drviews4.cxx | 8
sd/source/ui/view/drviewse.cxx | 37 +-
sfx2/source/appl/linkmgr2.cxx | 12
sfx2/source/bastyp/fltfnc.cxx | 9
sfx2/source/dialog/alienwarn.cxx | 52 +-
sfx2/source/dialog/recfloat.cxx | 14
sfx2/source/doc/guisaveas.cxx | 4
sfx2/source/doc/querytemplate.cxx | 2
sfx2/source/inc/alienwarn.hxx | 22 -
sfx2/source/view/viewfrm.cxx | 38 --
svtools/source/graphic/provider.cxx | 4
svx/source/dialog/prtqry.cxx | 2
svx/source/form/databaselocationinput.cxx | 13
sw/source/core/doc/DocumentLinksAdministrationManager.cxx | 2
sw/source/core/edit/edfcol.cxx | 8
sw/source/ui/dbui/mmoutputtypepage.cxx | 2
sw/source/ui/dbui/mmresultdialogs.cxx | 10
sw/source/ui/misc/glosbib.cxx | 11
sw/source/uibase/shells/textsh1.cxx | 2
toolkit/source/awt/vclxtoolkit.cxx | 26 +
uui/source/alreadyopen.cxx | 2
uui/source/filechanged.cxx | 2
uui/source/iahndl-errorhandler.cxx | 151 +++-----
uui/source/iahndl-ssl.cxx | 23 -
uui/source/lockcorrupt.cxx | 2
uui/source/lockfailed.cxx | 2
uui/source/openlocked.cxx | 2
uui/source/sslwarndlg.cxx | 23 -
uui/source/sslwarndlg.hxx | 20 -
uui/source/trylater.cxx | 2
uui/source/unknownauthdlg.cxx | 50 --
uui/source/unknownauthdlg.hxx | 27 -
uui/uiconfig/ui/unknownauthdialog.ui | 3
vcl/inc/strings.hrc | 1
vcl/source/app/salvtables.cxx | 35 +
vcl/source/window/builder.cxx | 8
vcl/source/window/layout.cxx | 203 +++++------
vcl/source/window/msgbox.cxx | 68 ---
vcl/unx/gtk3/gtk3gtkinst.cxx | 34 +
xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx | 6
87 files changed, 963 insertions(+), 671 deletions(-)
New commits:
commit 942f05996bc287923cdbcae12c64e57adf8ec975
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri Feb 23 09:35:08 2018 +0000
convert remaining ErrorBox to weld::MessageDialog
and
convert remaining QueryBox to weld::MessageDialog
Change-Id: Ifb4c316dee8eabf57c4940c44e29c65a2781aa6c
diff --git a/basctl/source/basicide/baside2b.cxx b/basctl/source/basicide/baside2b.cxx
index f25e60c91a23..b7e0fbe518ad 100644
--- a/basctl/source/basicide/baside2b.cxx
+++ b/basctl/source/basicide/baside2b.cxx
@@ -37,7 +37,7 @@
#include <comphelper/string.hxx>
#include <officecfg/Office/Common.hxx>
#include <sfx2/dispatch.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <svl/urihelper.hxx>
#include <svx/svxids.hrc>
#include <vcl/xtextedt.hxx>
@@ -479,7 +479,10 @@ bool EditorWindow::ImpCanModify()
{
// If in Trace-mode, abort the trace or refuse input
// Remove markers in the modules in Notify at Basic::Stopped
- if (ScopedVclPtrInstance<QueryBox>(nullptr, MessBoxStyle::OkCancel, IDEResId(RID_STR_WILLSTOPPRG))->Execute() == RET_OK)
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(nullptr,
+ VclMessageType::Question, VclButtonsType::OkCancel,
+ IDEResId(RID_STR_WILLSTOPPRG)));
+ if (xQueryBox->run() == RET_OK)
{
rModulWindow.GetBasicStatus().bIsRunning = false;
StopBasic();
diff --git a/basctl/source/basicide/baside3.cxx b/basctl/source/basicide/baside3.cxx
index fa23eca1a822..322097b38105 100644
--- a/basctl/source/basicide/baside3.cxx
+++ b/basctl/source/basicide/baside3.cxx
@@ -803,7 +803,7 @@ NameClashQueryBox::NameClashQueryBox( vcl::Window* pParent,
AddButton( IDEResId(RID_STR_DLGIMP_CLASH_REPLACE), RET_NO );
AddButton( StandardButtonType::Cancel, RET_CANCEL, ButtonDialogFlags::Cancel );
- SetImage( QueryBox::GetStandardImage() );
+ SetImage(GetStandardQueryBoxImage());
}
@@ -828,10 +828,9 @@ LanguageMismatchQueryBox::LanguageMismatchQueryBox( vcl::Window* pParent,
AddButton( StandardButtonType::Cancel, RET_CANCEL, ButtonDialogFlags::Cancel );
AddButton( StandardButtonType::Help, RET_HELP, ButtonDialogFlags::Help, 4 );
- SetImage( QueryBox::GetStandardImage() );
+ SetImage(GetStandardQueryBoxImage() );
}
-
bool implImportDialog( vcl::Window* pWin, const OUString& rCurPath, const ScriptDocument& rDocument, const OUString& aLibName )
{
bool bDone = false;
diff --git a/basctl/source/basicide/basides1.cxx b/basctl/source/basicide/basides1.cxx
index 5fce14ec5114..a1f4f07f18cf 100644
--- a/basctl/source/basicide/basides1.cxx
+++ b/basctl/source/basicide/basides1.cxx
@@ -49,7 +49,6 @@
#include <svl/whiter.hxx>
#include <vcl/xtextedt.hxx>
#include <vcl/svapp.hxx>
-#include <vcl/msgbox.hxx>
#include <vcl/weld.hxx>
namespace basctl
@@ -102,7 +101,17 @@ void Shell::ExecuteCurrent( SfxRequest& rReq )
nActModWindows++;
}
- if ( nActModWindows <= 1 || ( !rSearchItem.GetSelection() && ScopedVclPtrInstance<QueryBox>(pCurWin, MessBoxStyle::YesNo|MessBoxStyle::DefaultYes, IDEResId(RID_STR_SEARCHALLMODULES))->Execute() == RET_YES ) )
+ bool bAllModules = nActModWindows <= 1;
+ if (!bAllModules)
+ {
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(pCurWin ? pCurWin->GetFrameWeld() : nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ IDEResId(RID_STR_SEARCHALLMODULES)));
+ xQueryBox->set_default_response(RET_YES);
+ bAllModules = xQueryBox->run() == RET_YES;
+ }
+
+ if (bAllModules)
{
for (auto const& window : aWindowTable)
{
@@ -145,8 +154,12 @@ void Shell::ExecuteCurrent( SfxRequest& rReq )
SfxViewFrame* pViewFrame = GetViewFrame();
SfxChildWindow* pChildWin = pViewFrame ? pViewFrame->GetChildWindow( SID_SEARCH_DLG ) : nullptr;
vcl::Window* pParent = pChildWin ? pChildWin->GetWindow() : nullptr;
- ScopedVclPtrInstance< QueryBox > aQuery(pParent, MessBoxStyle::YesNo|MessBoxStyle::DefaultYes, IDEResId(RID_STR_SEARCHFROMSTART));
- if ( aQuery->Execute() == RET_YES )
+
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(pParent ? pParent->GetFrameWeld() : nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ IDEResId(RID_STR_SEARCHFROMSTART)));
+ xQueryBox->set_default_response(RET_YES);
+ if (xQueryBox->run() == RET_YES)
{
it = aWindowTable.begin();
if ( it != aWindowTable.end() )
diff --git a/chart2/source/controller/dialogs/DataBrowser.cxx b/chart2/source/controller/dialogs/DataBrowser.cxx
index 2a7a41e754cd..b16a20a57401 100644
--- a/chart2/source/controller/dialogs/DataBrowser.cxx
+++ b/chart2/source/controller/dialogs/DataBrowser.cxx
@@ -37,6 +37,7 @@
#include <vcl/image.hxx>
#include <vcl/layout.hxx>
#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <vcl/settings.hxx>
#include <rtl/math.hxx>
@@ -757,9 +758,10 @@ void DataBrowser::ShowWarningBox()
bool DataBrowser::ShowQueryBox()
{
- ScopedVclPtrInstance<QueryBox> pQueryBox(this, MessBoxStyle::YesNo, SchResId(STR_DATA_EDITOR_INCORRECT_INPUT));
-
- return pQueryBox->Execute() == RET_YES;
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(GetFrameWeld(),
+ VclMessageType::Question, VclButtonsType::YesNo,
+ SchResId(STR_DATA_EDITOR_INCORRECT_INPUT)));
+ return xQueryBox->run() == RET_YES;
}
bool DataBrowser::IsDataValid()
diff --git a/cui/source/customize/SvxMenuConfigPage.cxx b/cui/source/customize/SvxMenuConfigPage.cxx
index 1c2ad24094d6..a979233168b2 100644
--- a/cui/source/customize/SvxMenuConfigPage.cxx
+++ b/cui/source/customize/SvxMenuConfigPage.cxx
@@ -27,7 +27,6 @@
#include <vcl/commandinfoprovider.hxx>
#include <vcl/help.hxx>
#include <vcl/weld.hxx>
-#include <vcl/msgbox.hxx>
#include <vcl/decoview.hxx>
#include <vcl/toolbox.hxx>
#include <vcl/scrbar.hxx>
@@ -286,9 +285,10 @@ short SvxMenuConfigPage::QueryReset()
OUString label = SvxConfigPageHelper::replaceSaveInName( msg, saveInName );
- ScopedVclPtrInstance<QueryBox> qbox( this, MessBoxStyle::YesNo, label );
-
- return qbox->Execute();
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(GetFrameWeld(),
+ VclMessageType::Question, VclButtonsType::YesNo,
+ label));
+ return xQueryBox->run();
}
IMPL_LINK_NOARG( SvxMenuConfigPage, SelectMenu, ListBox&, void )
diff --git a/cui/source/customize/SvxToolbarConfigPage.cxx b/cui/source/customize/SvxToolbarConfigPage.cxx
index 49c4349c459b..dcd70890d45c 100644
--- a/cui/source/customize/SvxToolbarConfigPage.cxx
+++ b/cui/source/customize/SvxToolbarConfigPage.cxx
@@ -723,9 +723,10 @@ short SvxToolbarConfigPage::QueryReset()
OUString label = SvxConfigPageHelper::replaceSaveInName( msg, saveInName );
- ScopedVclPtrInstance< QueryBox > qbox( this, MessBoxStyle::YesNo, label );
-
- return qbox->Execute();
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(GetFrameWeld(),
+ VclMessageType::Question, VclButtonsType::YesNo,
+ label));
+ return xQueryBox->run();
}
IMPL_LINK_NOARG( SvxToolbarConfigPage, SelectToolbar, ListBox&, void )
diff --git a/cui/source/dialogs/linkdlg.cxx b/cui/source/dialogs/linkdlg.cxx
index 73e3e4021be9..9b2478f8f746 100644
--- a/cui/source/dialogs/linkdlg.cxx
+++ b/cui/source/dialogs/linkdlg.cxx
@@ -27,7 +27,7 @@
#include <vcl/fixed.hxx>
#include <vcl/group.hxx>
#include <vcl/lstbox.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <vcl/timer.hxx>
#include <vcl/idle.hxx>
#include <svtools/svtabbx.hxx>
@@ -416,9 +416,12 @@ IMPL_LINK_NOARG( SvBaseLinksDlg, BreakLinkClickHdl, Button*, void )
if( !xLink.is() )
return;
- ScopedVclPtrInstance< QueryBox > aBox( this, MessBoxStyle::YesNo | MessBoxStyle::DefaultYes, aStrCloselinkmsg );
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(GetFrameWeld(),
+ VclMessageType::Question, VclButtonsType::YesNo,
+ aStrCloselinkmsg));
+ xQueryBox->set_default_response(RET_YES);
- if( RET_YES == aBox->Execute() )
+ if (RET_YES == xQueryBox->run())
{
m_pTbLinks->GetModel()->Remove( m_pTbLinks->GetEntry( nPos ) );
@@ -447,9 +450,12 @@ IMPL_LINK_NOARG( SvBaseLinksDlg, BreakLinkClickHdl, Button*, void )
}
else
{
- ScopedVclPtrInstance< QueryBox > aBox( this, MessBoxStyle::YesNo | MessBoxStyle::DefaultYes, aStrCloselinkmsgMulti );
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(GetFrameWeld(),
+ VclMessageType::Question, VclButtonsType::YesNo,
+ aStrCloselinkmsgMulti));
+ xQueryBox->set_default_response(RET_YES);
- if( RET_YES == aBox->Execute() )
+ if (RET_YES == xQueryBox->run())
{
SvBaseLinkMemberList aLinkList;
diff --git a/cui/source/options/optinet2.cxx b/cui/source/options/optinet2.cxx
index 1b4161575e67..19de5d14b8ad 100644
--- a/cui/source/options/optinet2.cxx
+++ b/cui/source/options/optinet2.cxx
@@ -23,7 +23,7 @@
#include <officecfg/Office/Common.hxx>
#include <officecfg/Office/Security.hxx>
#include <tools/config.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <svl/intitem.hxx>
#include <svl/stritem.hxx>
#include <svl/eitem.hxx>
@@ -663,8 +663,12 @@ IMPL_LINK_NOARG(SvxSecurityTabPage, SavePasswordHdl, Button*, void)
}
else
{
- ScopedVclPtrInstance< QueryBox > aQuery( this, MessBoxStyle::YesNo|MessBoxStyle::DefaultNo, m_sPasswordStoringDeactivateStr );
- sal_uInt16 nRet = aQuery->Execute();
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(GetFrameWeld(),
+ VclMessageType::Question, VclButtonsType::YesNo,
+ m_sPasswordStoringDeactivateStr));
+ xQueryBox->set_default_response(RET_NO);
+
+ sal_uInt16 nRet = xQueryBox->run();
if( RET_YES == nRet )
{
diff --git a/cui/source/options/personalization.cxx b/cui/source/options/personalization.cxx
index 9b3e482b55d2..b6af6903d0c7 100644
--- a/cui/source/options/personalization.cxx
+++ b/cui/source/options/personalization.cxx
@@ -21,7 +21,7 @@
#include <rtl/strbuf.hxx>
#include <tools/urlobj.hxx>
#include <vcl/edit.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <vcl/lstbox.hxx>
#include <vcl/svapp.hxx>
#include <vcl/settings.hxx>
@@ -709,8 +709,11 @@ void SearchAndParseThread::execute()
sError = CuiResId(RID_SVXSTR_SEARCHERROR);
sError = sError.replaceAll("%1", m_aURL);
m_pPersonaDialog->SetProgress( OUString() );
- ScopedVclPtrInstance< ErrorBox > aBox( nullptr, MessBoxStyle::Ok, sError);
- aBox->Execute();
+
+ std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(nullptr,
+ VclMessageType::Error, VclButtonsType::Ok,
+ sError));
+ xBox->run();
return;
}
}
@@ -722,8 +725,10 @@ void SearchAndParseThread::execute()
sError = CuiResId(RID_SVXSTR_SEARCHERROR);
sError = sError.replaceAll("%1", m_aURL);
m_pPersonaDialog->SetProgress( OUString() );
- ScopedVclPtrInstance< ErrorBox > aBox( nullptr, MessBoxStyle::Ok, sError );
- aBox->Execute();
+ std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(nullptr,
+ VclMessageType::Error, VclButtonsType::Ok,
+ sError));
+ xBox->run();
return;
}
@@ -763,8 +768,10 @@ void SearchAndParseThread::execute()
sError = CuiResId(RID_SVXSTR_SEARCHERROR);
sError = sError.replaceAll("%1", m_aURL);
m_pPersonaDialog->SetProgress( OUString() );
- ScopedVclPtrInstance< ErrorBox > aBox( nullptr, MessBoxStyle::Ok, sError);
- aBox->Execute();
+ std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(nullptr,
+ VclMessageType::Error, VclButtonsType::Ok,
+ sError));
+ xBox->run();
return;
}
continue;
@@ -847,8 +854,10 @@ void SearchAndParseThread::execute()
sError = CuiResId( RID_SVXSTR_SEARCHERROR );
sError = sError.replaceAll("%1", m_aURL);
m_pPersonaDialog->SetProgress( OUString() );
- ScopedVclPtrInstance< ErrorBox > aBox( nullptr, MessBoxStyle::Ok, sError);
- aBox->Execute();
+ std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(nullptr,
+ VclMessageType::Error, VclButtonsType::Ok,
+ sError));
+ xBox->run();
return;
}
diff --git a/cui/source/tabpages/page.cxx b/cui/source/tabpages/page.cxx
index dbde0bf2dc9c..97aab18fd870 100644
--- a/cui/source/tabpages/page.cxx
+++ b/cui/source/tabpages/page.cxx
@@ -25,7 +25,7 @@
#include <sfx2/viewsh.hxx>
#include <svl/itemiter.hxx>
#include <svl/languageoptions.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <unotools/configitem.hxx>
#include <sfx2/htmlmode.hxx>
#include <sal/macros.h>
@@ -1375,7 +1375,11 @@ DeactivateRC SvxPageDescPage::DeactivatePage( SfxItemSet* _pSet )
if ( ePaper != PAPER_SCREEN_4_3 && ePaper != PAPER_SCREEN_16_9 && ePaper != PAPER_SCREEN_16_10 && IsMarginOutOfRange() )
{
- if (ScopedVclPtrInstance<QueryBox>(this, MessBoxStyle::YesNo | MessBoxStyle::DefaultNo, m_pPrintRangeQueryText->GetText())->Execute() == RET_NO)
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(GetFrameWeld(),
+ VclMessageType::Question, VclButtonsType::YesNo,
+ m_pPrintRangeQueryText->GetText()));
+ xQueryBox->set_default_response(RET_NO);
+ if (xQueryBox->run() == RET_NO)
{
MetricField* pField = nullptr;
if ( IsPrinterRangeOverflow( *m_pLeftMarginEdit, nFirstLeftMargin, nLastLeftMargin, MARGIN_LEFT ) )
diff --git a/dbaccess/source/ui/dlg/CollectionView.cxx b/dbaccess/source/ui/dlg/CollectionView.cxx
index ebdd01a8bd23..764d4d43de0c 100644
--- a/dbaccess/source/ui/dlg/CollectionView.cxx
+++ b/dbaccess/source/ui/dlg/CollectionView.cxx
@@ -32,7 +32,8 @@
#include <com/sun/star/container/XChild.hpp>
#include <com/sun/star/container/XNameContainer.hpp>
#include <com/sun/star/beans/PropertyValue.hpp>
-#include <vcl/msgbox.hxx>
+#include <vcl/svapp.hxx>
+#include <vcl/weld.hxx>
#include <stringconstants.hxx>
#include <bitmaps.hlst>
#include <UITools.hxx>
@@ -175,8 +176,10 @@ IMPL_LINK_NOARG(OCollectionView, Save_Click, Button*, void)
{
if ( xNameContainer->hasByName(sName) )
{
- ScopedVclPtrInstance< QueryBox > aBox(this, MessBoxStyle::YesNo, DBA_RES(STR_ALREADYEXISTOVERWRITE));
- if ( aBox->Execute() != RET_YES )
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(GetFrameWeld(),
+ VclMessageType::Question, VclButtonsType::YesNo,
+ DBA_RES(STR_ALREADYEXISTOVERWRITE)));
+ if (xQueryBox->run() != RET_YES)
return;
}
m_pName->SetText(sName);
diff --git a/dbaccess/source/ui/dlg/ConnectionHelper.cxx b/dbaccess/source/ui/dlg/ConnectionHelper.cxx
index a933efe269a4..cf41e45b01e3 100644
--- a/dbaccess/source/ui/dlg/ConnectionHelper.cxx
+++ b/dbaccess/source/ui/dlg/ConnectionHelper.cxx
@@ -33,6 +33,7 @@
#include <osl/process.h>
#include <osl/diagnose.h>
#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <sfx2/filedlghelper.hxx>
#include <dbadmin.hxx>
#include <comphelper/types.hxx>
@@ -475,8 +476,12 @@ namespace dbaui
sQuery = sQuery.replaceFirst("$path$", aTransformer.get(OFileNotation::N_SYSTEM));
m_bUserGrabFocus = false;
- ScopedVclPtrInstance< QueryBox > aQuery(GetParent(), MessBoxStyle::YesNo | MessBoxStyle::DefaultYes, sQuery);
- sal_Int32 nQueryResult = aQuery->Execute();
+ vcl::Window* pWin = GetParent();
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ sQuery));
+ xQueryBox->set_default_response(RET_YES);
+ sal_Int32 nQueryResult = xQueryBox->run();
m_bUserGrabFocus = true;
switch (nQueryResult)
@@ -492,8 +497,14 @@ namespace dbaui
sQuery = sQuery.replaceFirst("$name$", aTransformer.get(OFileNotation::N_SYSTEM));
m_bUserGrabFocus = false;
- ScopedVclPtrInstance< QueryBox > aWhatToDo(GetParent(), MessBoxStyle::RetryCancel | MessBoxStyle::DefaultRetry, sQuery);
- nQueryResult = aWhatToDo->Execute();
+
+ std::unique_ptr<weld::MessageDialog> xWhatToDo(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Question, VclButtonsType::NONE,
+ sQuery));
+ xWhatToDo->add_button(Button::GetStandardText(StandardButtonType::Retry), RET_RETRY);
+ xWhatToDo->add_button(Button::GetStandardText(StandardButtonType::Cancel), RET_CANCEL);
+ xWhatToDo->set_default_response(RET_RETRY);
+ nQueryResult = xWhatToDo->run();
m_bUserGrabFocus = true;
if (RET_RETRY == nQueryResult)
diff --git a/dbaccess/source/ui/dlg/sqlmessage.cxx b/dbaccess/source/ui/dlg/sqlmessage.cxx
index 315bae099e57..5981fcb33ebe 100644
--- a/dbaccess/source/ui/dlg/sqlmessage.cxx
+++ b/dbaccess/source/ui/dlg/sqlmessage.cxx
@@ -628,10 +628,10 @@ void OSQLMessageBox::Construct( MessBoxStyle _nStyle, MessageType _eImage )
m_aInfoImage->SetImage(WarningBox::GetStandardImage());
break;
case Error:
- m_aInfoImage->SetImage(ErrorBox::GetStandardImage());
+ m_aInfoImage->SetImage(GetStandardErrorBoxImage());
break;
case Query:
- m_aInfoImage->SetImage(QueryBox::GetStandardImage());
+ m_aInfoImage->SetImage(GetStandardQueryBoxImage());
break;
}
diff --git a/dbaccess/source/ui/querydesign/querycontroller.cxx b/dbaccess/source/ui/querydesign/querycontroller.cxx
index 94ffa557bcad..0102620d8f11 100644
--- a/dbaccess/source/ui/querydesign/querycontroller.cxx
+++ b/dbaccess/source/ui/querydesign/querycontroller.cxx
@@ -80,6 +80,7 @@
#include <osl/diagnose.h>
#include <vcl/msgbox.hxx>
#include <vcl/svapp.hxx>
+#include <vcl/weld.hxx>
#include <osl/mutex.hxx>
#include <rtl/strbuf.hxx>
#include <memory>
@@ -1738,9 +1739,14 @@ short OQueryController::saveModified()
)
{
OUString sMessageText( lcl_getObjectResourceString( STR_QUERY_SAVEMODIFIED, m_nCommandType ) );
- ScopedVclPtrInstance< QueryBox > aQry( getView(), MessBoxStyle::YesNoCancel | MessBoxStyle::DefaultYes, sMessageText );
- nRet = aQry->Execute();
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(getFrameWeld(),
+ VclMessageType::Question, VclButtonsType::YesNo,
+ sMessageText));
+ xQueryBox->add_button(Button::GetStandardText(StandardButtonType::Cancel), RET_CANCEL);
+ xQueryBox->set_default_response(RET_YES);
+
+ nRet = xQueryBox->run();
if ( ( nRet == RET_YES )
&& !doSaveAsDoc( false )
)
diff --git a/extensions/UIConfig_sbibliography.mk b/extensions/UIConfig_sbibliography.mk
index 0a25c8f0035e..00375d9fae1e 100644
--- a/extensions/UIConfig_sbibliography.mk
+++ b/extensions/UIConfig_sbibliography.mk
@@ -16,6 +16,7 @@ $(eval $(call gb_UIConfig_add_menubarfiles,modules/sbibliography,\
$(eval $(call gb_UIConfig_add_uifiles,modules/sbibliography,\
extensions/uiconfig/sbibliography/ui/choosedatasourcedialog \
extensions/uiconfig/sbibliography/ui/generalpage \
+ extensions/uiconfig/sbibliography/ui/querydialog \
extensions/uiconfig/sbibliography/ui/mappingdialog \
extensions/uiconfig/sbibliography/ui/toolbar \
))
diff --git a/extensions/source/bibliography/bibview.cxx b/extensions/source/bibliography/bibview.cxx
index 33a0df0d564d..308c37ca4f24 100644
--- a/extensions/source/bibliography/bibview.cxx
+++ b/extensions/source/bibliography/bibview.cxx
@@ -32,7 +32,7 @@
#include <vcl/svapp.hxx>
#include <com/sun/star/sdbc/XResultSetUpdate.hpp>
#include <com/sun/star/form/XLoadable.hpp>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <tools/debug.hxx>
using namespace ::com::sun::star;
@@ -138,11 +138,26 @@ namespace bib
{
sErrorString += "\n";
sErrorString += BibResId(RID_MAP_QUESTION);
- ScopedVclPtrInstance< QueryBox > aQuery(this, MessBoxStyle::YesNo, sErrorString);
- aQuery->SetDefaultCheckBoxText();
- short nResult = aQuery->Execute();
- BibModul::GetConfig()->SetShowColumnAssignmentWarning(
- !aQuery->GetCheckBoxState());
+
+ std::unique_ptr<weld::Builder> xBuilder(Application::CreateBuilder(GetFrameWeld(), "modules/sbibliography/ui/querydialog.ui"));
+ std::unique_ptr<weld::MessageDialog> xQueryBox(xBuilder->weld_message_dialog("QueryDialog"));
+ xQueryBox->set_primary_text(sErrorString);
+ std::unique_ptr<weld::CheckButton> xWarningOnBox(xBuilder->weld_check_button("ask"));
+
+ //fdo#75121, a bit tricky because the widgets we want to align with
+ //don't actually exist in the ui description, they're implied
+ std::unique_ptr<weld::Container> xOrigParent(xWarningOnBox->weld_parent());
+ std::unique_ptr<weld::Container> xContentArea(xQueryBox->weld_message_area());
+ xOrigParent->remove(xWarningOnBox.get());
+ xContentArea->add(xWarningOnBox.get());
+
+ short nResult = xQueryBox->run();
+ BibModul::GetConfig()->SetShowColumnAssignmentWarning(!xWarningOnBox->get_active());
+
+ //put them back as they were
+ xContentArea->remove(xWarningOnBox.get());
+ xOrigParent->add(xWarningOnBox.get());
+
if( RET_YES != nResult )
{
bExecute = false;
diff --git a/extensions/source/propctrlr/xsdvalidationpropertyhandler.cxx b/extensions/source/propctrlr/xsdvalidationpropertyhandler.cxx
index 7203c638f353..2f5d063ddc4d 100644
--- a/extensions/source/propctrlr/xsdvalidationpropertyhandler.cxx
+++ b/extensions/source/propctrlr/xsdvalidationpropertyhandler.cxx
@@ -40,7 +40,8 @@
#include <com/sun/star/beans/Optional.hpp>
#include <com/sun/star/inspection/XObjectInspectorUI.hpp>
#include <com/sun/star/inspection/PropertyLineElement.hpp>
-#include <vcl/msgbox.hxx>
+#include <vcl/svapp.hxx>
+#include <vcl/weld.hxx>
#include <tools/debug.hxx>
#include <sal/macros.h>
@@ -510,7 +511,6 @@ namespace pcr
m_pHelper->setValidatingDataTypeByName( _rNewName );
}
-
bool XSDValidationPropertyHandler::implPrepareRemoveCurrentDataType()
{
OSL_PRECOND( m_pHelper.get(), "XSDValidationPropertyHandler::implPrepareRemoveCurrentDataType: this will crash!" );
@@ -525,14 +525,16 @@ namespace pcr
// confirmation message
OUString sConfirmation( PcrRes( RID_STR_CONFIRM_DELETE_DATA_TYPE ) );
sConfirmation = sConfirmation.replaceFirst( "#type#", pType->getName() );
- ScopedVclPtrInstance<QueryBox> aQuery( nullptr, MessBoxStyle::YesNo, sConfirmation ); // TODO/eForms: proper parent
- if ( aQuery->Execute() != RET_YES )
+
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(nullptr, // TODO/eForms: proper parent
+ VclMessageType::Question, VclButtonsType::YesNo,
+ sConfirmation));
+ if (xQueryBox->run() != RET_YES)
return false;
return true;
}
-
bool XSDValidationPropertyHandler::implDoRemoveCurrentDataType()
{
OSL_PRECOND( m_pHelper.get(), "XSDValidationPropertyHandler::implDoRemoveCurrentDataType: this will crash!" );
diff --git a/extensions/uiconfig/sbibliography/ui/querydialog.ui b/extensions/uiconfig/sbibliography/ui/querydialog.ui
new file mode 100644
index 000000000000..1c641670ab73
--- /dev/null
+++ b/extensions/uiconfig/sbibliography/ui/querydialog.ui
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.2 -->
+<interface domain="pcr">
+ <requires lib="gtk+" version="3.20"/>
+ <object class="GtkMessageDialog" id="QueryDialog">
+ <property name="can_focus">False</property>
+ <property name="type_hint">dialog</property>
+ <property name="message_type">question</property>
+ <property name="buttons">yes-no</property>
+ <child internal-child="vbox">
+ <object class="GtkBox">
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">2</property>
+ <child internal-child="action_area">
+ <object class="GtkButtonBox">
+ <property name="can_focus">False</property>
+ <property name="homogeneous">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="ask">
+ <property name="label" translatable="yes" context="querydialog|ask">Do not show this question again.</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+</interface>
diff --git a/filter/source/pdf/impdialog.cxx b/filter/source/pdf/impdialog.cxx
index 5aef8a4695ff..7cdc56634414 100644
--- a/filter/source/pdf/impdialog.cxx
+++ b/filter/source/pdf/impdialog.cxx
@@ -1655,6 +1655,8 @@ ImplErrorDialog::ImplErrorDialog(const std::set< vcl::PDFWriter::ErrorCode >& rE
}
m_pErrors->SetSelectHdl( LINK( this, ImplErrorDialog, SelectHdl ) );
+
+ create_message_area();
}
diff --git a/forms/source/runtime/formoperations.cxx b/forms/source/runtime/formoperations.cxx
index 3597486f07ae..94684287a4b2 100644
--- a/forms/source/runtime/formoperations.cxx
+++ b/forms/source/runtime/formoperations.cxx
@@ -50,7 +50,8 @@
#include <connectivity/dbexception.hxx>
#include <vcl/svapp.hxx>
#include <vcl/stdtext.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/button.hxx>
+#include <vcl/weld.hxx>
#include <vcl/waitobj.hxx>
#include <tools/diagnose_ex.h>
#include <comphelper/container.hxx>
@@ -434,17 +435,22 @@ namespace frm
if(needConfirmation)
{
// TODO: shouldn't this be done with an interaction handler?
- ScopedVclPtrInstance< QueryBox > aQuery( nullptr, MessBoxStyle::YesNoCancel | MessBoxStyle::DefaultYes, FRM_RES_STRING( RID_STR_QUERY_SAVE_MODIFIED_ROW ) );
- switch ( aQuery->Execute() )
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ FRM_RES_STRING(RID_STR_QUERY_SAVE_MODIFIED_ROW)));
+ xQueryBox->add_button(Button::GetStandardText(StandardButtonType::Cancel), RET_CANCEL);
+ xQueryBox->set_default_response(RET_YES);
+
+ switch (xQueryBox->run())
{
- case RET_NO:
- shouldCommit = false;
- SAL_FALLTHROUGH; // don't ask again!
- case RET_YES:
- needConfirmation = false;
- return true;
- case RET_CANCEL:
- return false;
+ case RET_NO:
+ shouldCommit = false;
+ SAL_FALLTHROUGH; // don't ask again!
+ case RET_YES:
+ needConfirmation = false;
+ return true;
+ case RET_CANCEL:
+ return false;
}
}
return true;
diff --git a/framework/source/services/autorecovery.cxx b/framework/source/services/autorecovery.cxx
index f85756fe9016..a7698055e9e5 100644
--- a/framework/source/services/autorecovery.cxx
+++ b/framework/source/services/autorecovery.cxx
@@ -88,7 +88,7 @@
#include <ucbhelper/content.hxx>
#include <osl/time.h>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <osl/file.hxx>
#include <unotools/bootstrap.hxx>
#include <unotools/configmgr.hxx>
@@ -4087,11 +4087,11 @@ void AutoRecovery::impl_showFullDiscError()
if (sBackupPath.getLength() < 1)
sBackupPath = sBackupURL;
- ScopedVclPtrInstance<ErrorBox> dlgError(
- nullptr, MessBoxStyle::Ok,
- sMsg.replaceAll("%PATH", sBackupPath));
- dlgError->SetButtonText(dlgError->GetButtonId(0), sBtn);
- dlgError->Execute();
+ std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(nullptr,
+ VclMessageType::Error, VclButtonsType::NONE,
+ sMsg.replaceAll("%PATH", sBackupPath)));
+ xBox->add_button(sBtn, RET_OK);
+ xBox->run();
}
void AutoRecovery::impl_establishProgress(const AutoRecovery::TDocumentInfo& rInfo ,
diff --git a/include/sfx2/linkmgr.hxx b/include/sfx2/linkmgr.hxx
index a7def55012e5..b1057aef5f1a 100644
--- a/include/sfx2/linkmgr.hxx
+++ b/include/sfx2/linkmgr.hxx
@@ -37,6 +37,8 @@ namespace com { namespace sun { namespace star {
}
}}}
+namespace weld { class Window; }
+
namespace sfx2
{
// For the link to receive information about the status of graphics that
@@ -126,9 +128,9 @@ public:
static SvLinkSourceRef CreateObj( SvBaseLink const * );
- void UpdateAllLinks( bool bAskUpdate,
- bool bUpdateGrfLinks,
- vcl::Window* pParentWin );
+ void UpdateAllLinks(bool bAskUpdate,
+ bool bUpdateGrfLinks,
+ weld::Window* pParentWin);
// Call for list of links (eg for link-dialog)
const SvBaseLinks& GetLinks() const { return aLinkTbl; }
diff --git a/include/vcl/builder.hxx b/include/vcl/builder.hxx
index bb66872e786d..6e47c022b844 100644
--- a/include/vcl/builder.hxx
+++ b/include/vcl/builder.hxx
@@ -36,6 +36,7 @@
class Button;
class ListBox;
+class MessageDialog;
class NumericFormatter;
class PopupMenu;
class SalInstanceBuilder;
@@ -276,6 +277,8 @@ private:
std::vector< VclPtr<VclExpander> > m_aExpanderWidgets;
+ std::vector< VclPtr<MessageDialog> > m_aMessageDialogs;
+
sal_uInt16 m_nLastToolbarId;
sal_uInt16 m_nLastMenuItemId;
diff --git a/include/vcl/messagedialog.hxx b/include/vcl/messagedialog.hxx
index 1cce2f41009e..f7fc3c98bc9b 100644
--- a/include/vcl/messagedialog.hxx
+++ b/include/vcl/messagedialog.hxx
@@ -23,6 +23,7 @@ private:
VclPtr<VclBox> m_pOwnedContentArea;
VclPtr<VclButtonBox> m_pOwnedActionArea;
VclPtr<VclGrid> m_pGrid;
+ VclPtr<VclVBox> m_pMessageBox;
VclPtr<FixedImage> m_pImage;
VclPtr<VclMultiLineEdit> m_pPrimaryMessage;
VclPtr<VclMultiLineEdit> m_pSecondaryMessage;
@@ -39,7 +40,6 @@ public:
VclButtonsType eButtonsType = VclButtonsType::Ok);
MessageDialog(vcl::Window* pParent, const OString& rID, const OUString& rUIXMLDescription);
virtual bool set_property(const OString& rKey, const OUString& rValue) override;
- virtual short Execute() override;
OUString const& get_primary_text() const;
OUString const& get_secondary_text() const;
void set_primary_text(const OUString& rPrimaryString);
@@ -47,6 +47,9 @@ public:
virtual ~MessageDialog() override;
virtual void dispose() override;
+ void create_message_area();
+ VclContainer* get_message_area() const { return m_pMessageBox.get(); }
+
static void SetMessagesWidths(vcl::Window const* pParent, VclMultiLineEdit* pPrimaryMessage,
VclMultiLineEdit* pSecondaryMessage);
};
diff --git a/include/vcl/msgbox.hxx b/include/vcl/msgbox.hxx
index 203d3ea36d80..5df7a5f81437 100644
--- a/include/vcl/msgbox.hxx
+++ b/include/vcl/msgbox.hxx
@@ -105,32 +105,11 @@ public:
static OUString GetStandardText();
};
-class VCL_DLLPUBLIC ErrorBox : public MessBox
-{
-public:
- ErrorBox( vcl::Window* pParent, const OUString& rMessage );
- ErrorBox( vcl::Window* pParent, MessBoxStyle nStyle,
- const OUString& rMessage );
- ErrorBox( vcl::Window* pParent, MessBoxStyle nStyle, WinBits n,
- const OUString& rMessage );
+VCL_DLLPUBLIC Image const & GetStandardErrorBoxImage();
+VCL_DLLPUBLIC OUString GetStandardErrorBoxText();
- static Image GetStandardImage();
- static OUString GetStandardText();
-};
-
-class VCL_DLLPUBLIC QueryBox : public MessBox
-{
-public:
- QueryBox( vcl::Window* pParent, MessBoxStyle nStyle,
- const OUString& rMessage );
- QueryBox( vcl::Window* pParent, MessBoxStyle nStyle, WinBits n,
- const OUString& rMessage );
-
- void SetDefaultCheckBoxText();
-
- static Image const & GetStandardImage();
- static OUString GetStandardText();
-};
+VCL_DLLPUBLIC Image const & GetStandardQueryBoxImage();
+VCL_DLLPUBLIC OUString GetStandardQueryBoxText();
#endif // INCLUDED_VCL_MSGBOX_HXX
diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx
index 69674ab9ba17..5c87a005fe61 100644
--- a/include/vcl/weld.hxx
+++ b/include/vcl/weld.hxx
@@ -19,6 +19,8 @@
namespace weld
{
+class Container;
+
class VCL_DLLPUBLIC Widget
{
public:
@@ -44,13 +46,16 @@ public:
virtual Size get_pixel_size(const OUString& rText) const = 0;
virtual OString get_buildable_name() const = 0;
virtual OString get_help_id() const = 0;
- virtual Widget* weld_parent() const = 0;
+ virtual Container* weld_parent() const = 0;
virtual ~Widget() {}
};
class VCL_DLLPUBLIC Container : virtual public Widget
{
+public:
+ virtual void remove(weld::Widget* pWidget) = 0;
+ virtual void add(weld::Widget* pWidget) = 0;
};
class VCL_DLLPUBLIC Frame : virtual public Container
@@ -107,6 +112,7 @@ public:
virtual OUString get_primary_text() const = 0;
virtual void set_secondary_text(const OUString& rText) = 0;
virtual OUString get_secondary_text() const = 0;
+ virtual Container* weld_message_area() = 0;
};
class VCL_DLLPUBLIC ComboBoxText : virtual public Container
@@ -160,6 +166,7 @@ public:
virtual void insert(const OUString& rText, int pos) = 0;
virtual int n_children() const = 0;
virtual void select(int pos) = 0;
+ using Container::remove;
virtual void remove(int pos) = 0;
virtual int find(const OUString& rText) const = 0;
virtual void set_top_entry(int pos) = 0;
diff --git a/sc/UIConfig_scalc.mk b/sc/UIConfig_scalc.mk
index 2e8c1ad945c3..78a0674eab40 100644
--- a/sc/UIConfig_scalc.mk
+++ b/sc/UIConfig_scalc.mk
@@ -180,6 +180,7 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/scalc,\
sc/uiconfig/scalc/ui/protectsheetdlg \
sc/uiconfig/scalc/ui/queryrunstreamscriptdialog \
sc/uiconfig/scalc/ui/randomnumbergenerator \
+ sc/uiconfig/scalc/ui/recalcquerydialog \
sc/uiconfig/scalc/ui/regressiondialog \
sc/uiconfig/scalc/ui/retypepassdialog \
sc/uiconfig/scalc/ui/retypepassworddialog \
diff --git a/sc/inc/globstr.hrc b/sc/inc/globstr.hrc
index 75085e29bd75..cf29d865364f 100644
--- a/sc/inc/globstr.hrc
+++ b/sc/inc/globstr.hrc
@@ -469,7 +469,6 @@
#define STR_EDIT_EXISTING_COND_FORMATS NC_("STR_EDIT_EXISTING_COND_FORMATS", "The selected cell already contains conditional formatting. You can either edit the existing conditional format or you define a new overlapping conditional format.\n\n Do you want to edit the existing conditional format?")
#define STR_QUERY_FORMULA_RECALC_ONLOAD_ODS NC_("STR_QUERY_FORMULA_RECALC_ONLOAD_ODS", "This document was last saved by an application other than %PRODUCTNAME. Some formula cells may produce different results when recalculated.\n\nDo you want to recalculate all formula cells in this document now?")
#define STR_QUERY_FORMULA_RECALC_ONLOAD_XLS NC_("STR_QUERY_FORMULA_RECALC_ONLOAD_XLS", "This document was last saved by Excel. Some formula cells may produce different results when recalculated.\n\nDo you want to recalculate all formula cells now?")
-#define STR_ALWAYS_PERFORM_SELECTED NC_("STR_ALWAYS_PERFORM_SELECTED", "Always perform this without prompt in the future.")
#define STR_NO_INSERT_DELETE_OVER_PIVOT_TABLE NC_("STR_NO_INSERT_DELETE_OVER_PIVOT_TABLE", "You cannot insert or delete cells when the affected range intersects with pivot table.")
#define STR_DPFIELD_GROUP_BY_SECONDS NC_("STR_DPFIELD_GROUP_BY_SECONDS", "Seconds")
#define STR_DPFIELD_GROUP_BY_MINUTES NC_("STR_DPFIELD_GROUP_BY_MINUTES", "Minutes")
diff --git a/sc/source/filter/oox/workbookfragment.cxx b/sc/source/filter/oox/workbookfragment.cxx
index d80b594c730e..7a57a2a04402 100644
--- a/sc/source/filter/oox/workbookfragment.cxx
+++ b/sc/source/filter/oox/workbookfragment.cxx
@@ -57,7 +57,7 @@
#include <vcl/svapp.hxx>
#include <vcl/timer.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <oox/core/fastparser.hxx>
#include <salhelper/thread.hxx>
@@ -532,15 +532,29 @@ void WorkbookFragment::recalcFormulaCells()
if (rDoc.IsUserInteractionEnabled())
{
// Ask the user if full re-calculation is desired.
- ScopedVclPtrInstance<QueryBox> aBox(
- ScDocShell::GetActiveDialogParent(), MessBoxStyle::YesNo | MessBoxStyle::DefaultYes,
- ScGlobal::GetRscString(STR_QUERY_FORMULA_RECALC_ONLOAD_XLS));
- aBox->SetCheckBoxText(ScGlobal::GetRscString(STR_ALWAYS_PERFORM_SELECTED));
+ vcl::Window* pWin = ScDocShell::GetActiveDialogParent();
- sal_Int32 nRet = aBox->Execute();
- bHardRecalc = nRet == RET_YES;
+ std::unique_ptr<weld::Builder> xBuilder(Application::CreateBuilder(pWin ? pWin->GetFrameWeld() : nullptr,
+ "modules/scalc/ui/recalcquerydialog.ui"));
+ std::unique_ptr<weld::MessageDialog> xQueryBox(xBuilder->weld_message_dialog("RecalcQueryDialog"));
+ xQueryBox->set_primary_text(ScGlobal::GetRscString(STR_QUERY_FORMULA_RECALC_ONLOAD_XLS));
+ xQueryBox->set_default_response(RET_YES);
+ std::unique_ptr<weld::CheckButton> xWarningOnBox(xBuilder->weld_check_button("ask"));
- if (aBox->GetCheckBoxState())
+ //fdo#75121, a bit tricky because the widgets we want to align with
+ //don't actually exist in the ui description, they're implied
+ std::unique_ptr<weld::Container> xOrigParent(xWarningOnBox->weld_parent());
+ std::unique_ptr<weld::Container> xContentArea(xQueryBox->weld_message_area());
+ xOrigParent->remove(xWarningOnBox.get());
+ xContentArea->add(xWarningOnBox.get());
+
+ bHardRecalc = xQueryBox->run() == RET_YES;
+
+ //put them back as they were
+ xContentArea->remove(xWarningOnBox.get());
+ xOrigParent->add(xWarningOnBox.get());
+
+ if (xWarningOnBox->get_active())
{
// Always perform selected action in the future.
std::shared_ptr<comphelper::ConfigurationChanges> batch(comphelper::ConfigurationChanges::create());
diff --git a/sc/source/ui/dbgui/dbnamdlg.cxx b/sc/source/ui/dbgui/dbnamdlg.cxx
index 5df04c90d1ae..45de6c7a64b8 100644
--- a/sc/source/ui/dbgui/dbnamdlg.cxx
+++ b/sc/source/ui/dbgui/dbnamdlg.cxx
@@ -23,7 +23,7 @@
#include <cassert>
#include <comphelper/string.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/svapp.hxx>
#include <vcl/weld.hxx>
#include <reffact.hxx>
@@ -533,9 +533,11 @@ IMPL_LINK_NOARG(ScDbNameDlg, RemoveBtnHdl, Button*, void)
aBuf.append(aStrDelMsg.getToken(0, '#'));
aBuf.append(aStrEntry);
aBuf.append(aStrDelMsg.getToken(1, '#'));
- ScopedVclPtrInstance< QueryBox > aBox(this, MessBoxStyle::YesNo|MessBoxStyle::DefaultYes, aBuf.makeStringAndClear());
-
- if (RET_YES == aBox->Execute())
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(GetFrameWeld(),
+ VclMessageType::Question, VclButtonsType::YesNo,
+ aBuf.makeStringAndClear()));
+ xQueryBox->set_default_response(RET_YES);
+ if (RET_YES == xQueryBox->run())
{
SCTAB nTab;
SCCOL nColStart, nColEnd;
diff --git a/sc/source/ui/docshell/dbdocfun.cxx b/sc/source/ui/docshell/dbdocfun.cxx
index 1c413903a35a..841b1c792486 100644
--- a/sc/source/ui/docshell/dbdocfun.cxx
+++ b/sc/source/ui/docshell/dbdocfun.cxx
@@ -1298,9 +1298,12 @@ bool ScDBDocFunc::DataPilotUpdate( ScDPObject* pOldObj, const ScDPObject* pNewOb
// OutRange of pOldObj (pDestObj) is still old area
if (!lcl_EmptyExcept(&rDoc, aNewOut, pOldObj->GetOutRange()))
{
- ScopedVclPtrInstance<QueryBox> aBox( ScDocShell::GetActiveDialogParent(), MessBoxStyle::YesNo | MessBoxStyle::DefaultYes,
- ScGlobal::GetRscString(STR_PIVOT_NOTEMPTY) );
- if (aBox->Execute() == RET_NO)
+ vcl::Window* pWin = ScDocShell::GetActiveDialogParent();
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ ScGlobal::GetRscString(STR_PIVOT_NOTEMPTY)));
+ xQueryBox->set_default_response(RET_YES);
+ if (xQueryBox->run() == RET_NO)
{
//! like above (not editable)
*pOldObj = aUndoDPObj;
@@ -1349,10 +1352,12 @@ bool ScDBDocFunc::RemovePivotTable(ScDPObject& rDPObj, bool bRecord, bool bApi)
if (pModel && !aListOfObjects.empty())
{
- ScopedVclPtrInstance<QueryBox> aBox(
- ScDocShell::GetActiveDialogParent(), MessBoxStyle::YesNo | MessBoxStyle::DefaultYes,
- ScGlobal::GetRscString(STR_PIVOT_REMOVE_PIVOTCHART));
- if (aBox->Execute() == RET_NO)
+ vcl::Window* pWin = ScDocShell::GetActiveDialogParent();
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ ScGlobal::GetRscString(STR_PIVOT_REMOVE_PIVOTCHART)));
+ xQueryBox->set_default_response(RET_YES);
+ if (xQueryBox->run() == RET_NO)
{
return false;
}
@@ -1493,11 +1498,12 @@ bool ScDBDocFunc::CreatePivotTable(const ScDPObject& rDPObj, bool bRecord, bool
if (!bEmpty)
{
- ScopedVclPtrInstance<QueryBox> aBox(
- ScDocShell::GetActiveDialogParent(), MessBoxStyle::YesNo | MessBoxStyle::DefaultYes,
- ScGlobal::GetRscString(STR_PIVOT_NOTEMPTY));
-
- if (aBox->Execute() == RET_NO)
+ vcl::Window* pWin = ScDocShell::GetActiveDialogParent();
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ ScGlobal::GetRscString(STR_PIVOT_NOTEMPTY)));
+ xQueryBox->set_default_response(RET_YES);
+ if (xQueryBox->run() == RET_NO)
{
//! like above (not editable)
return false;
@@ -1567,9 +1573,12 @@ bool ScDBDocFunc::UpdatePivotTable(ScDPObject& rDPObj, bool bRecord, bool bApi)
{
if (!lcl_EmptyExcept(&rDoc, aNewOut, rDPObj.GetOutRange()))
{
- ScopedVclPtrInstance<QueryBox> aBox( ScDocShell::GetActiveDialogParent(), MessBoxStyle::YesNo | MessBoxStyle::DefaultYes,
- ScGlobal::GetRscString(STR_PIVOT_NOTEMPTY) );
- if (aBox->Execute() == RET_NO)
+ vcl::Window* pWin = ScDocShell::GetActiveDialogParent();
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ ScGlobal::GetRscString(STR_PIVOT_NOTEMPTY)));
+ xQueryBox->set_default_response(RET_YES);
+ if (xQueryBox->run() == RET_NO)
{
rDPObj = aUndoDPObj;
return false;
diff --git a/sc/source/ui/docshell/docfunc.cxx b/sc/source/ui/docshell/docfunc.cxx
index 4ac78e1b67a0..e8705d760aa0 100644
--- a/sc/source/ui/docshell/docfunc.cxx
+++ b/sc/source/ui/docshell/docfunc.cxx
@@ -5106,9 +5106,14 @@ void ScDocFunc::CreateOneName( ScRangeName& rList,
aMessage += aName;
aMessage += aTemplate.getToken( 1, '#' );
- short nResult = ScopedVclPtrInstance<QueryBox>( ScDocShell::GetActiveDialogParent(),
- MessBoxStyle::YesNoCancel | MessBoxStyle::DefaultYes,
- aMessage )->Execute();
+ vcl::Window* pWin = ScDocShell::GetActiveDialogParent();
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ aMessage));
+ xQueryBox->add_button(Button::GetStandardText(StandardButtonType::Cancel), RET_CANCEL);
+ xQueryBox->set_default_response(RET_YES);
+
+ short nResult = xQueryBox->run();
if ( nResult == RET_YES )
{
rList.erase(*pOld);
diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx
index 7815e68d5566..767d5a502827 100644
--- a/sc/source/ui/docshell/docsh.cxx
+++ b/sc/source/ui/docshell/docsh.cxx
@@ -26,6 +26,7 @@
#include <comphelper/classids.hxx>
#include <formula/errorcodes.hxx>
#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <vcl/virdev.hxx>
#include <vcl/waitobj.hxx>
#include <rtl/bootstrap.hxx>
@@ -473,14 +474,29 @@ bool ScDocShell::LoadXML( SfxMedium* pLoadMedium, const css::uno::Reference< css
{
// Generator is not LibreOffice. Ask if the user wants to perform
// full re-calculation.
- ScopedVclPtrInstance<QueryBox> aBox(
- GetActiveDialogParent(), MessBoxStyle::YesNo | MessBoxStyle::DefaultYes,
- ScGlobal::GetRscString(STR_QUERY_FORMULA_RECALC_ONLOAD_ODS));
- aBox->SetCheckBoxText(ScGlobal::GetRscString(STR_ALWAYS_PERFORM_SELECTED));
+ vcl::Window* pWin = GetActiveDialogParent();
- bHardRecalc = aBox->Execute() == RET_YES;
+ std::unique_ptr<weld::Builder> xBuilder(Application::CreateBuilder(pWin ? pWin->GetFrameWeld() : nullptr,
+ "modules/scalc/ui/recalcquerydialog.ui"));
+ std::unique_ptr<weld::MessageDialog> xQueryBox(xBuilder->weld_message_dialog("RecalcQueryDialog"));
+ xQueryBox->set_primary_text(ScGlobal::GetRscString(STR_QUERY_FORMULA_RECALC_ONLOAD_ODS));
+ xQueryBox->set_default_response(RET_YES);
+ std::unique_ptr<weld::CheckButton> xWarningOnBox(xBuilder->weld_check_button("ask"));
- if (aBox->GetCheckBoxState())
+ //fdo#75121, a bit tricky because the widgets we want to align with
+ //don't actually exist in the ui description, they're implied
+ std::unique_ptr<weld::Container> xOrigParent(xWarningOnBox->weld_parent());
+ std::unique_ptr<weld::Container> xContentArea(xQueryBox->weld_message_area());
+ xOrigParent->remove(xWarningOnBox.get());
+ xContentArea->add(xWarningOnBox.get());
+
+ bHardRecalc = xQueryBox->run() == RET_YES;
+
+ //put them back as they were
+ xContentArea->remove(xWarningOnBox.get());
+ xOrigParent->add(xWarningOnBox.get());
+
+ if (xWarningOnBox->get_active())
{
// Always perform selected action in the future.
std::shared_ptr<comphelper::ConfigurationChanges> batch(comphelper::ConfigurationChanges::create());
diff --git a/sc/source/ui/docshell/docsh3.cxx b/sc/source/ui/docshell/docsh3.cxx
index f13a23113498..582f39aad829 100644
--- a/sc/source/ui/docshell/docsh3.cxx
+++ b/sc/source/ui/docshell/docsh3.cxx
@@ -1204,9 +1204,12 @@ bool ScDocShell::MergeSharedDocument( ScDocShell* pSharedDocShell )
ScopedVclPtrInstance< ScConflictsDlg > aDlg( GetActiveDialogParent(), GetViewData(), &rSharedDoc, aConflictsList );
if ( aDlg->Execute() == RET_CANCEL )
{
- ScopedVclPtrInstance<QueryBox> aBox( GetActiveDialogParent(), MessBoxStyle::YesNo | MessBoxStyle::DefaultYes,
- ScGlobal::GetRscString( STR_DOC_WILLNOTBESAVED ) );
- if ( aBox->Execute() == RET_YES )
+ vcl::Window* pWin = GetActiveDialogParent();
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ ScGlobal::GetRscString(STR_DOC_WILLNOTBESAVED)));
+ xQueryBox->set_default_response(RET_YES);
+ if (xQueryBox->run() == RET_YES)
{
return false;
}
diff --git a/sc/source/ui/docshell/docsh4.cxx b/sc/source/ui/docshell/docsh4.cxx
index 749ec29784a7..17f597270876 100644
--- a/sc/source/ui/docshell/docsh4.cxx
+++ b/sc/source/ui/docshell/docsh4.cxx
@@ -261,8 +261,11 @@ void ScDocShell::Execute( SfxRequest& rReq )
aMessage += sTarget;
aMessage += aTemplate.getToken( 1, '#' );
- ScopedVclPtrInstance< QueryBox > aBox( nullptr, MessBoxStyle::YesNo | MessBoxStyle::DefaultYes, aMessage );
- bDo = ( aBox->Execute() == RET_YES );
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ aMessage));
+ xQueryBox->set_default_response(RET_YES);
+ bDo = xQueryBox->run() == RET_YES;
}
if (bDo)
@@ -521,9 +524,12 @@ void ScDocShell::Execute( SfxRequest& rReq )
OSL_ENSURE(pViewSh,"SID_REIMPORT_AFTER_LOAD: no View");
if (pViewSh && pDBColl)
{
- ScopedVclPtrInstance<QueryBox> aBox( GetActiveDialogParent(), MessBoxStyle::YesNo | MessBoxStyle::DefaultYes,
- ScGlobal::GetRscString(STR_REIMPORT_AFTER_LOAD) );
- if (aBox->Execute() == RET_YES)
+ vcl::Window* pWin = GetActiveDialogParent();
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ ScGlobal::GetRscString(STR_REIMPORT_AFTER_LOAD)));
+ xQueryBox->set_default_response(RET_YES);
+ if (xQueryBox->run() == RET_YES)
{
ScDBCollection::NamedDBs& rDBs = pDBColl->getNamedDBs();
ScDBCollection::NamedDBs::iterator itr = rDBs.begin(), itrEnd = rDBs.end();
@@ -973,11 +979,12 @@ void ScDocShell::Execute( SfxRequest& rReq )
bool bContinue = true;
if ( HasName() )
{
- ScopedVclPtrInstance<QueryBox> aBox(
- GetActiveDialogParent(),
- MessBoxStyle::YesNo | MessBoxStyle::DefaultYes,
- ScGlobal::GetRscString( STR_DOC_WILLBESAVED ) );
- if ( aBox->Execute() == RET_NO )
+ vcl::Window* pWin = GetActiveDialogParent();
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ ScGlobal::GetRscString(STR_REIMPORT_AFTER_LOAD)));
+ xQueryBox->set_default_response(RET_YES);
+ if (xQueryBox->run() == RET_NO)
{
bContinue = false;
}
diff --git a/sc/source/ui/miscdlgs/crnrdlg.cxx b/sc/source/ui/miscdlgs/crnrdlg.cxx
index 7eae143a4565..1c464898b75b 100644
--- a/sc/source/ui/miscdlgs/crnrdlg.cxx
+++ b/sc/source/ui/miscdlgs/crnrdlg.cxx
@@ -23,7 +23,6 @@
#include <globstr.hrc>
#include <docsh.hxx>
#include <crnrdlg.hxx>
-#include <vcl/msgbox.hxx>
#include <vcl/weld.hxx>
#include <memory>
@@ -34,10 +33,19 @@ namespace
std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(pParent,
VclMessageType::Warning, VclButtonsType::Ok,
rString));
+ xBox->run();
}
-}
-#define QUERYBOX(m) ScopedVclPtrInstance<QueryBox>(this, MessBoxStyle::YesNo|MessBoxStyle::DefaultYes, m)->Execute()
+ int QUERYBOX(weld::Window* pParent, const OUString& rString)
+ {
+ std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(pParent,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ rString));
+ xBox->set_default_response(RET_YES);
+ return xBox->run();
+ }
+
+}
const sal_uLong nEntryDataCol = 0;
const sal_uLong nEntryDataRow = 1;
@@ -606,7 +614,7 @@ IMPL_LINK_NOARG(ScColRowNameRangesDlg, RemoveBtnHdl, Button*, void)
+ aRangeStr
+ aStrDelMsg.getToken( 1, '#' );
- if ( RET_YES == QUERYBOX(aMsg) )
+ if (RET_YES == QUERYBOX(GetFrameWeld(), aMsg))
{
if ( bColName )
xColNameRanges->Remove( pPair );
diff --git a/sc/source/ui/miscdlgs/scuiautofmt.cxx b/sc/source/ui/miscdlgs/scuiautofmt.cxx
index 455091f6f86e..57579606eaa0 100644
--- a/sc/source/ui/miscdlgs/scuiautofmt.cxx
+++ b/sc/source/ui/miscdlgs/scuiautofmt.cxx
@@ -32,7 +32,7 @@
#include <editeng/udlnitem.hxx>
#include <editeng/wghtitem.hxx>
#include <svl/zforlist.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/svapp.hxx>
#include <vcl/weld.hxx>
#include <comphelper/processfactory.hxx>
#include <sfx2/strings.hrc>
@@ -286,8 +286,12 @@ IMPL_LINK_NOARG(ScAutoFormatDlg, RemoveHdl, Button*, void)
+ m_pLbFormat->GetSelectedEntry()
+ aStrDelMsg.getToken( 1, '#' );
- if ( RET_YES ==
- ScopedVclPtrInstance<QueryBox>( this, MessBoxStyle::YesNo | MessBoxStyle::DefaultYes, aMsg )->Execute() )
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(GetFrameWeld(),
+ VclMessageType::Question, VclButtonsType::YesNo,
+ aMsg));
+ xQueryBox->set_default_response(RET_YES);
+
+ if (RET_YES == xQueryBox->run())
{
m_pLbFormat->RemoveEntry( nIndex );
m_pLbFormat->SelectEntryPos( nIndex-1 );
diff --git a/sc/source/ui/navipi/scenwnd.cxx b/sc/source/ui/navipi/scenwnd.cxx
index ea9dd1af7205..b0ffd8b125ab 100644
--- a/sc/source/ui/navipi/scenwnd.cxx
+++ b/sc/source/ui/navipi/scenwnd.cxx
@@ -24,6 +24,7 @@
#include <svl/stritem.hxx>
#include <vcl/msgbox.hxx>
#include <vcl/svapp.hxx>
+#include <vcl/weld.hxx>
#include <vcl/settings.hxx>
#include <navipi.hxx>
#include <scresid.hxx>
@@ -183,8 +184,14 @@ void ScScenarioListBox::EditScenario()
void ScScenarioListBox::DeleteScenario()
{
if( GetSelectedEntryCount() > 0 )
- if( ScopedVclPtrInstance<QueryBox>( nullptr, MessBoxStyle::YesNo | MessBoxStyle::DefaultYes, ScGlobal::GetRscString( STR_QUERY_DELSCENARIO ) )->Execute() == RET_YES )
+ {
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ ScGlobal::GetRscString(STR_QUERY_DELSCENARIO)));
+ xQueryBox->set_default_response(RET_YES);
+ if (xQueryBox->run() == RET_YES)
ExecuteScenarioSlot( SID_DELETE_SCENARIO );
+ }
}
// class ScScenarioWindow ------------------------------------------------
diff --git a/sc/source/ui/optdlg/tpusrlst.cxx b/sc/source/ui/optdlg/tpusrlst.cxx
index 52e671bcb33d..1d76dd9ca94f 100644
--- a/sc/source/ui/optdlg/tpusrlst.cxx
+++ b/sc/source/ui/optdlg/tpusrlst.cxx
@@ -20,7 +20,6 @@
#undef SC_DLLIMPLEMENTATION
#include <comphelper/string.hxx>
-#include <vcl/msgbox.hxx>
#include <vcl/weld.hxx>
#include <global.hxx>
@@ -617,10 +616,12 @@ IMPL_LINK( ScTpUserLists, BtnClickHdl, Button*, pBtn, void )
+ mpLbLists->GetEntry( nRemovePos )
+ aStrQueryRemove.getToken( 1, '#' );
- if ( RET_YES == ScopedVclPtrInstance<QueryBox>( this,
- MessBoxStyle::YesNo | MessBoxStyle::DefaultYes,
- aMsg
- )->Execute() )
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(GetFrameWeld(),
+ VclMessageType::Question, VclButtonsType::YesNo,
+ aMsg));
+ xQueryBox->set_default_response(RET_YES);
+
+ if (RET_YES == xQueryBox->run())
{
RemoveList( nRemovePos );
UpdateUserListBox();
diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx
index f24c6b4c60a6..8c8ecb6b4426 100644
--- a/sc/source/ui/view/cellsh1.cxx
+++ b/sc/source/ui/view/cellsh1.cxx
@@ -34,7 +34,6 @@
#include <svl/zformat.hxx>
#include <sfx2/dispatch.hxx>
#include <sfx2/request.hxx>
-#include <vcl/msgbox.hxx>
#include <vcl/weld.hxx>
#include <svx/svxdlg.hxx>
#include <sot/formats.hxx>
@@ -2015,9 +2014,12 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
// or should create a new overlapping conditional format
if(!bCondFormatDlg && bContainsExistingCondFormat)
{
- ScopedVclPtrInstance<QueryBox> aBox( pTabViewShell->GetDialogParent(), MessBoxStyle::YesNo | MessBoxStyle::DefaultYes,
- ScGlobal::GetRscString(STR_EDIT_EXISTING_COND_FORMATS) );
- bool bEditExisting = aBox->Execute() == RET_YES;
+ vcl::Window* pWin = pTabViewShell->GetDialogParent();
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ ScGlobal::GetRscString(STR_EDIT_EXISTING_COND_FORMATS)));
+ xQueryBox->set_default_response(RET_YES);
+ bool bEditExisting = xQueryBox->run() == RET_YES;
if(bEditExisting)
{
// differentiate between ranges where one conditional format is defined
@@ -2930,11 +2932,12 @@ void ScCellShell::ExecuteDataPilotDialog()
if ( pDoc->HasSubTotalCells( aRange ) )
{
// confirm selection if it contains SubTotal cells
-
- ScopedVclPtrInstance<QueryBox> aBox( pTabViewShell->GetDialogParent(),
- MessBoxStyle::YesNo | MessBoxStyle::DefaultYes,
- ScGlobal::GetRscString(STR_DATAPILOT_SUBTOTAL) );
- if (aBox->Execute() == RET_NO)
+ vcl::Window* pWin = pTabViewShell->GetDialogParent();
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ ScGlobal::GetRscString(STR_DATAPILOT_SUBTOTAL)));
+ xQueryBox->set_default_response(RET_YES);
+ if (xQueryBox->run() == RET_NO)
bOK = false;
}
if (bOK)
diff --git a/sc/source/ui/view/cellsh3.cxx b/sc/source/ui/view/cellsh3.cxx
index ce2c030ac55c..3322d1701c56 100644
--- a/sc/source/ui/view/cellsh3.cxx
+++ b/sc/source/ui/view/cellsh3.cxx
@@ -25,7 +25,6 @@
#include <sfx2/dispatch.hxx>
#include <sfx2/request.hxx>
#include <svl/stritem.hxx>
-#include <vcl/msgbox.hxx>
#include <vcl/weld.hxx>
#include <sfx2/app.hxx>
#include <globstr.hrc>
@@ -418,11 +417,19 @@ void ScCellShell::Execute( SfxRequest& rReq )
rMark.MarkToMulti();
if ( rMark.IsMultiMarked() )
{
- if ( rReq.IsAPI()
- || RET_YES ==
- ScopedVclPtrInstance<QueryBox>( pTabViewShell->GetDialogParent(), MessBoxStyle::YesNo | MessBoxStyle::DefaultYes,
- ScGlobal::GetRscString(STR_UPDATE_SCENARIO) )->
- Execute() )
+
+ bool bExtend = rReq.IsAPI();
+ if (!bExtend)
+ {
+ vcl::Window* pWin = pTabViewShell->GetDialogParent();
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ ScGlobal::GetRscString(STR_UPDATE_SCENARIO)));
+ xQueryBox->set_default_response(RET_YES);
+ bExtend = xQueryBox->run() == RET_YES;
+ }
+
+ if (bExtend)
{
pTabViewShell->ExtendScenario();
rReq.Done();
diff --git a/sc/source/ui/view/tabvwshf.cxx b/sc/source/ui/view/tabvwshf.cxx
index 75f2d375a2cb..2549dbc8caad 100644
--- a/sc/source/ui/view/tabvwshf.cxx
+++ b/sc/source/ui/view/tabvwshf.cxx
@@ -29,7 +29,7 @@
#include <svl/languageoptions.hxx>
#include <svl/stritem.hxx>
#include <svl/whiter.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/svapp.hxx>
#include <vcl/weld.hxx>
#include <sfx2/objface.hxx>
#include <svx/svxdlg.hxx>
@@ -621,21 +621,26 @@ void ScTabViewShell::ExecuteTable( SfxRequest& rReq )
}
}
+ vcl::Window* pWin = GetDialogParent();
if (bTabWithPivotTable)
{
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ ScGlobal::GetRscString(STR_QUERY_PIVOTTABLE_DELTAB)));
+ xQueryBox->set_default_response(RET_NO);
+
// Hard warning as there is potential of data loss on deletion
- bDoIt = ( RET_YES ==
- ScopedVclPtrInstance<QueryBox>( GetDialogParent(),
- MessBoxStyle::YesNo | MessBoxStyle::DefaultNo,
- ScGlobal::GetRscString(STR_QUERY_PIVOTTABLE_DELTAB))->Execute() );
+ bDoIt = (RET_YES == xQueryBox->run());
}
else
{
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ ScGlobal::GetRscString(STR_QUERY_DELTAB)));
+ xQueryBox->set_default_response(RET_YES);
+
// no parameter given, ask for confirmation
- bDoIt = ( RET_YES ==
- ScopedVclPtrInstance<QueryBox>( GetDialogParent(),
- MessBoxStyle::YesNo | MessBoxStyle::DefaultYes,
- ScGlobal::GetRscString(STR_QUERY_DELTAB))->Execute() );
+ bDoIt = (RET_YES == xQueryBox->run());
}
}
diff --git a/sc/source/ui/view/viewfun3.cxx b/sc/source/ui/view/viewfun3.cxx
index 83b3a51edd86..623966231e62 100644
--- a/sc/source/ui/view/viewfun3.cxx
+++ b/sc/source/ui/view/viewfun3.cxx
@@ -32,7 +32,7 @@
#include <sot/storage.hxx>
#include <vcl/graph.hxx>
#include <vcl/virdev.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <tools/urlobj.hxx>
#include <sot/exchange.hxx>
#include <memory>
@@ -1052,9 +1052,13 @@ bool ScViewFunc::PasteFromClip( InsertDeleteFlags nFlags, ScDocument* pClipDoc,
{
ScWaitCursorOff aWaitOff( GetFrameWin() );
OUString aMessage = ScGlobal::GetRscString( STR_PASTE_BIGGER );
- ScopedVclPtrInstance<QueryBox> aBox( GetViewData().GetDialogParent(),
- MessBoxStyle::YesNo | MessBoxStyle::DefaultNo, aMessage );
- if ( aBox->Execute() != RET_YES )
+
+ vcl::Window* pWin = GetViewData().GetDialogParent();
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ aMessage));
+ xQueryBox->set_default_response(RET_NO);
+ if (xQueryBox->run() != RET_YES)
{
return false;
}
diff --git a/sc/source/ui/view/viewfunc.cxx b/sc/source/ui/view/viewfunc.cxx
index 4dd346c5d3ab..bd21e085d265 100644
--- a/sc/source/ui/view/viewfunc.cxx
+++ b/sc/source/ui/view/viewfunc.cxx
@@ -34,7 +34,7 @@
#include <sfx2/bindings.hxx>
#include <svl/zforlist.hxx>
#include <svl/zformat.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <vcl/virdev.hxx>
#include <vcl/waitobj.hxx>
#include <vcl/wrkwin.hxx>
@@ -442,9 +442,13 @@ void ScViewFunc::EnterData( SCCOL nCol, SCROW nRow, SCTAB nTab,
{
OUString aMessage( ScResId( SCSTR_FORMULA_AUTOCORRECTION ) );
aMessage += aCorrectedFormula;
- nResult = ScopedVclPtrInstance<QueryBox>( GetViewData().GetDialogParent(),
- MessBoxStyle::YesNo | MessBoxStyle::DefaultYes,
- aMessage )->Execute();
+
+ vcl::Window* pWin = GetViewData().GetDialogParent();
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ aMessage));
+ xQueryBox->set_default_response(RET_YES);
+ nResult = xQueryBox->run();
}
if ( nResult == RET_YES )
{
diff --git a/sc/uiconfig/scalc/ui/recalcquerydialog.ui b/sc/uiconfig/scalc/ui/recalcquerydialog.ui
new file mode 100644
index 000000000000..3c21f9663c49
--- /dev/null
+++ b/sc/uiconfig/scalc/ui/recalcquerydialog.ui
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.2 -->
+<interface domain="pcr">
+ <requires lib="gtk+" version="3.20"/>
+ <object class="GtkMessageDialog" id="RecalcQueryDialog">
+ <property name="can_focus">False</property>
+ <property name="type_hint">dialog</property>
+ <property name="message_type">question</property>
+ <property name="buttons">yes-no</property>
+ <child internal-child="vbox">
+ <object class="GtkBox">
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">2</property>
+ <child internal-child="action_area">
+ <object class="GtkButtonBox">
+ <property name="can_focus">False</property>
+ <property name="homogeneous">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="ask">
+ <property name="label" translatable="yes" context="recalcquerydialog|ask">Always perform this without prompt in the future.</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+</interface>
diff --git a/sd/source/core/drawdoc3.cxx b/sd/source/core/drawdoc3.cxx
index 3e50db1f9643..bd731f255465 100644
--- a/sd/source/core/drawdoc3.cxx
+++ b/sd/source/core/drawdoc3.cxx
@@ -466,7 +466,11 @@ bool SdDrawDocument::InsertBookmarkAsPage(
pBMPage->GetLowerBorder() != pRefPage->GetLowerBorder())
{
OUString aStr(SdResId(STR_SCALE_OBJECTS));
- sal_uInt16 nBut = ScopedVclPtrInstance<QueryBox>(nullptr, MessBoxStyle::YesNoCancel, aStr)->Execute();
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ aStr));
+ xQueryBox->add_button(Button::GetStandardText(StandardButtonType::Cancel), RET_CANCEL);
+ sal_uInt16 nBut = xQueryBox->run();
bScaleObjects = nBut == RET_YES;
bContinue = nBut != RET_CANCEL;
diff --git a/sd/source/ui/annotations/annotationmanager.cxx b/sd/source/ui/annotations/annotationmanager.cxx
index d12e80d2e91a..2294115c0394 100644
--- a/sd/source/ui/annotations/annotationmanager.cxx
+++ b/sd/source/ui/annotations/annotationmanager.cxx
@@ -33,7 +33,7 @@
#include <vcl/commandinfoprovider.hxx>
#include <vcl/settings.hxx>
#include <vcl/menu.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <sal/macros.h>
#include <svl/style.hxx>
@@ -837,9 +837,11 @@ void AnnotationManagerImpl::SelectNextAnnotation(bool bForeward)
// Pop up question box that asks the user whether to wrap around.
// The dialog is made modal with respect to the whole application.
- ScopedVclPtrInstance< QueryBox > aQuestionBox( nullptr, (MessBoxStyle::YesNo | MessBoxStyle::DefaultYes), SdResId(pStringId));
- aQuestionBox->SetImage( QueryBox::GetStandardImage() );
- if (aQuestionBox->Execute() != RET_YES)
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ SdResId(pStringId)));
+ xQueryBox->set_default_response(RET_YES);
+ if (xQueryBox->run() != RET_YES)
break;
}
while( true );
diff --git a/sd/source/ui/view/drviews4.cxx b/sd/source/ui/view/drviews4.cxx
index 84ae97063822..5638ab8e3bdf 100644
--- a/sd/source/ui/view/drviews4.cxx
+++ b/sd/source/ui/view/drviews4.cxx
@@ -20,7 +20,7 @@
#include <com/sun/star/drawing/XDrawPagesSupplier.hpp>
#include <DrawViewShell.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <svl/urlbmk.hxx>
#include <svx/svdpagv.hxx>
#include <svx/svdundo.hxx>
@@ -105,7 +105,11 @@ void DrawViewShell::DeleteActualLayer()
// replace placeholder
aString = aString.replaceFirst("$", rName);
- if (ScopedVclPtrInstance<QueryBox>(GetActiveWindow(), MessBoxStyle::YesNo, aString)->Execute() == RET_YES)
+ vcl::Window* pWin = GetActiveWindow();
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ aString));
+ if (xQueryBox->run() == RET_YES)
{
const SdrLayer* pLayer = rAdmin.GetLayer(rName);
mpDrawView->DeleteLayer( pLayer->GetName() );
diff --git a/sd/source/ui/view/drviewse.cxx b/sd/source/ui/view/drviewse.cxx
index 151c1fa10c47..7abbb36c82a9 100644
--- a/sd/source/ui/view/drviewse.cxx
+++ b/sd/source/ui/view/drviewse.cxx
@@ -33,7 +33,6 @@
#include <vcl/waitobj.hxx>
#include <svl/aeitem.hxx>
#include <editeng/editstat.hxx>
-#include <vcl/msgbox.hxx>
#include <vcl/weld.hxx>
#include <svl/urlbmk.hxx>
#include <svx/svdpagv.hxx>
@@ -326,21 +325,25 @@ void DrawViewShell::FuPermanent(SfxRequest& rReq)
if ( mpDrawView->GetMarkedObjectList().GetMarkCount() > 0 &&
!mpDrawView->IsCrookAllowed( mpDrawView->IsCrookNoContortion() ) )
{
+ ::sd::Window* pWindow = GetActiveWindow();
if ( mpDrawView->IsPresObjSelected() )
{
- ::sd::Window* pWindow = GetActiveWindow();
std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWindow ? pWindow->GetFrameWeld() : nullptr,
VclMessageType::Info, VclButtonsType::Ok,
SdResId(STR_ACTION_NOTPOSSIBLE)));
xInfoBox->run();
}
- else if ( ScopedVclPtrInstance<QueryBox>(GetActiveWindow(), MessBoxStyle::YesNo,
- SdResId(STR_ASK_FOR_CONVERT_TO_BEZIER)
- )->Execute() == RET_YES )
+ else
{
- // implicit transformation into bezier
- WaitObject aWait( GetActiveWindow() );
- mpDrawView->ConvertMarkedToPathObj(false);
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(pWindow ? pWindow->GetFrameWeld() : nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ SdResId(STR_ASK_FOR_CONVERT_TO_BEZIER)));
+ if (xQueryBox->run() == RET_YES )
+ {
+ // implicit transformation into bezier
+ WaitObject aWait( GetActiveWindow() );
+ mpDrawView->ConvertMarkedToPathObj(false);
+ }
}
}
}
@@ -366,21 +369,25 @@ void DrawViewShell::FuPermanent(SfxRequest& rReq)
if ( nMarkCnt > 0 && !b3DObjMarked &&
(!mpDrawView->IsShearAllowed() || !mpDrawView->IsDistortAllowed()) )
{
+ ::sd::Window* pWindow = GetActiveWindow();
if ( mpDrawView->IsPresObjSelected() )
{
- ::sd::Window* pWindow = GetActiveWindow();
std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWindow ? pWindow->GetFrameWeld() : nullptr,
VclMessageType::Info, VclButtonsType::Ok,
SdResId(STR_ACTION_NOTPOSSIBLE)));
xInfoBox->run();
}
- else if ( ScopedVclPtrInstance<QueryBox>(GetActiveWindow(), MessBoxStyle::YesNo,
- SdResId(STR_ASK_FOR_CONVERT_TO_BEZIER)
- )->Execute() == RET_YES )
+ else
{
- // implicit transformation into bezier
- WaitObject aWait( GetActiveWindow() );
- mpDrawView->ConvertMarkedToPathObj(false);
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(pWindow ? pWindow->GetFrameWeld() : nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ SdResId(STR_ASK_FOR_CONVERT_TO_BEZIER)));
+ if (xQueryBox->run() == RET_YES)
+ {
+ // implicit transformation into bezier
+ WaitObject aWait( GetActiveWindow() );
+ mpDrawView->ConvertMarkedToPathObj(false);
+ }
}
}
}
diff --git a/sfx2/source/appl/linkmgr2.cxx b/sfx2/source/appl/linkmgr2.cxx
index b6d5d4eb91fb..9ca22e8256e1 100644
--- a/sfx2/source/appl/linkmgr2.cxx
+++ b/sfx2/source/appl/linkmgr2.cxx
@@ -28,7 +28,8 @@
#include <tools/urlobj.hxx>
#include <sot/exchange.hxx>
#include <tools/debug.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/svapp.hxx>
+#include <vcl/weld.hxx>
#include <sfx2/lnkbase.hxx>
#include <sfx2/app.hxx>
#include <vcl/graph.hxx>
@@ -271,7 +272,7 @@ bool LinkManager::GetDisplayNames( const SvBaseLink * pLink,
void LinkManager::UpdateAllLinks(
bool bAskUpdate,
bool bUpdateGrfLinks,
- vcl::Window* pParentWin )
+ weld::Window* pParentWin )
{
// First make a copy of the array in order to update links
// links in ... no contact between them!
@@ -308,7 +309,12 @@ void LinkManager::UpdateAllLinks(
if( bAskUpdate )
{
- int nRet = ScopedVclPtrInstance<QueryBox>(pParentWin, MessBoxStyle::YesNo | MessBoxStyle::DefaultYes, SfxResId( STR_QUERY_UPDATE_LINKS ))->Execute();
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(pParentWin,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ SfxResId(STR_QUERY_UPDATE_LINKS)));
+ xQueryBox->set_default_response(RET_YES);
+
+ int nRet = xQueryBox->run();
if( RET_YES != nRet )
{
SfxObjectShell* pShell = pLink->GetLinkManager()->GetPersist();
diff --git a/sfx2/source/bastyp/fltfnc.cxx b/sfx2/source/bastyp/fltfnc.cxx
index d28c4ca27dad..5bbdfed0b7eb 100644
--- a/sfx2/source/bastyp/fltfnc.cxx
+++ b/sfx2/source/bastyp/fltfnc.cxx
@@ -36,7 +36,6 @@
#include <basic/sbxobj.hxx>
#include <basic/sbxmeth.hxx>
#include <basic/sbxcore.hxx>
-#include <vcl/msgbox.hxx>
#include <vcl/weld.hxx>
#include <rtl/ustring.hxx>
#include <rtl/ustrbuf.hxx>
@@ -485,8 +484,12 @@ bool SfxFilterMatcher::IsFilterInstalled_Impl( const std::shared_ptr<const SfxFi
// Here could a re-installation be offered
OUString aText( SfxResId(STR_FILTER_NOT_INSTALLED) );
aText = aText.replaceFirst( "$(FILTER)", pFilter->GetUIName() );
- ScopedVclPtrInstance< QueryBox > aQuery(nullptr, MessBoxStyle::YesNo | MessBoxStyle::DefaultYes, aText);
- short nRet = aQuery->Execute();
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ aText));
+ xQueryBox->set_default_response(RET_YES);
+
+ short nRet = xQueryBox->run();
if ( nRet == RET_YES )
{
#ifdef DBG_UTIL
diff --git a/sfx2/source/dialog/alienwarn.cxx b/sfx2/source/dialog/alienwarn.cxx
index 66c9424067be..dd88541fbb29 100644
--- a/sfx2/source/dialog/alienwarn.cxx
+++ b/sfx2/source/dialog/alienwarn.cxx
@@ -22,66 +22,62 @@
#include <sfx2/sfxresid.hxx>
#include <sfx2/sfxuno.hxx>
#include <unotools/saveopt.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/svapp.hxx>
#include <alienwarn.hxx>
-SfxAlienWarningDialog::SfxAlienWarningDialog(vcl::Window* pParent, const OUString& _rFormatName,
+SfxAlienWarningDialog::SfxAlienWarningDialog(weld::Window* pParent, const OUString& _rFormatName,
const OUString& _rDefaultExtension, bool rDefaultIsAlien)
- : MessageDialog(pParent, "AlienWarnDialog", "sfx/ui/alienwarndialog.ui")
+ : m_xBuilder(Application::CreateBuilder(pParent, "sfx/ui/alienwarndialog.ui"))
+ , m_xDialog(m_xBuilder->weld_message_dialog("AlienWarnDialog"))
+ , m_xKeepCurrentBtn(m_xBuilder->weld_button("save"))
+ , m_xUseDefaultFormatBtn(m_xBuilder->weld_button("cancel"))
+ , m_xWarningOnBox(m_xBuilder->weld_check_button("ask"))
+ , m_xOrigParent(m_xWarningOnBox->weld_parent())
+ , m_xContentArea(m_xDialog->weld_message_area())
{
- get(m_pWarningOnBox, "ask");
//fdo#75121, a bit tricky because the widgets we want to align with
//don't actually exist in the ui description, they're implied
- m_pWarningOnBox->set_margin_left(QueryBox::GetStandardImage().GetSizePixel().Width() + 12);
-
- get(m_pKeepCurrentBtn, "save");
- get(m_pUseDefaultFormatBtn, "cancel");
+ m_xOrigParent->remove(m_xWarningOnBox.get());
+ m_xContentArea->add(m_xWarningOnBox.get());
OUString aExtension = "ODF";
// replace formatname (text)
- OUString sInfoText = get_primary_text();
+ OUString sInfoText = m_xDialog->get_primary_text();
sInfoText = sInfoText.replaceAll( "%FORMATNAME", _rFormatName );
- set_primary_text(sInfoText);
+ m_xDialog->set_primary_text(sInfoText);
// replace formatname (button)
- sInfoText = m_pKeepCurrentBtn->GetText();
+ sInfoText = m_xKeepCurrentBtn->get_label();
sInfoText = sInfoText.replaceAll( "%FORMATNAME", _rFormatName );
- m_pKeepCurrentBtn->SetText( sInfoText );
+ m_xKeepCurrentBtn->set_label(sInfoText);
// hide ODF explanation if default format is alien
// and set the proper extension in the button
if( rDefaultIsAlien )
{
- set_secondary_text(OUString());
+ m_xDialog->set_secondary_text(OUString());
aExtension = _rDefaultExtension.toAsciiUpperCase();
}
// replace defaultextension (button)
- sInfoText = m_pUseDefaultFormatBtn->GetText();
+ sInfoText = m_xUseDefaultFormatBtn->get_label();
sInfoText = sInfoText.replaceAll( "%DEFAULTEXTENSION", aExtension );
- m_pUseDefaultFormatBtn->SetText( sInfoText );
+ m_xUseDefaultFormatBtn->set_label(sInfoText);
// load value of "warning on" checkbox from save options
- m_pWarningOnBox->Check( SvtSaveOptions().IsWarnAlienFormat() );
+ m_xWarningOnBox->set_active(SvtSaveOptions().IsWarnAlienFormat());
}
SfxAlienWarningDialog::~SfxAlienWarningDialog()
{
- disposeOnce();
-}
-
-void SfxAlienWarningDialog::dispose()
-{
+ m_xContentArea->remove(m_xWarningOnBox.get());
+ m_xOrigParent->add(m_xWarningOnBox.get());
// save value of "warning off" checkbox, if necessary
SvtSaveOptions aSaveOpt;
- bool bChecked = m_pWarningOnBox->IsChecked();
- if ( aSaveOpt.IsWarnAlienFormat() != bChecked )
- aSaveOpt.SetWarnAlienFormat( bChecked );
- m_pKeepCurrentBtn.clear();
- m_pUseDefaultFormatBtn.clear();
- m_pWarningOnBox.clear();
- MessageDialog::dispose();
+ bool bChecked = m_xWarningOnBox->get_active();
+ if (aSaveOpt.IsWarnAlienFormat() != bChecked)
+ aSaveOpt.SetWarnAlienFormat(bChecked);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/dialog/recfloat.cxx b/sfx2/source/dialog/recfloat.cxx
index 09fbdce65552..d023348f4548 100644
--- a/sfx2/source/dialog/recfloat.cxx
+++ b/sfx2/source/dialog/recfloat.cxx
@@ -18,7 +18,8 @@
*/
#include <svl/eitem.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/svapp.hxx>
+#include <vcl/weld.hxx>
#include <recfloat.hxx>
#include <sfx2/strings.hrc>
@@ -59,9 +60,14 @@ bool SfxRecordingFloatWrapper_Impl::QueryClose()
css::uno::Reference< css::frame::XDispatchRecorder > xRecorder = pBindings->GetRecorder();
if ( xRecorder.is() && !xRecorder->getRecordedMacro().isEmpty() )
{
- ScopedVclPtrInstance< QueryBox > aBox(GetWindow(), MessBoxStyle::YesNo | MessBoxStyle::DefaultNo , SfxResId(STR_MACRO_LOSS));
- aBox->SetText( SfxResId(STR_CANCEL_RECORDING) );
- bRet = ( aBox->Execute() == RET_YES );
+ vcl::Window* pWin = GetWindow();
+ std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ SfxResId(STR_MACRO_LOSS)));
+ xQueryBox->set_default_response(RET_NO);
+
+ xQueryBox->set_title(SfxResId(STR_CANCEL_RECORDING));
+ bRet = (xQueryBox->run() == RET_YES);
}
return bRet;
diff --git a/sfx2/source/doc/guisaveas.cxx b/sfx2/source/doc/guisaveas.cxx
index 824f8598f3cc..cbdde2efbb52 100644
--- a/sfx2/source/doc/guisaveas.cxx
+++ b/sfx2/source/doc/guisaveas.cxx
@@ -1803,9 +1803,9 @@ bool SfxStoringHelper::WarnUnacceptableFormat( const uno::Reference< frame::XMod
return true;
vcl::Window* pWin = SfxStoringHelper::GetModelWindow( xModel );
- ScopedVclPtrInstance< SfxAlienWarningDialog > aDlg( pWin, aOldUIName, aDefExtension, bDefIsAlien );
+ SfxAlienWarningDialog aDlg(pWin ? pWin->GetFrameWeld() : nullptr, aOldUIName, aDefExtension, bDefIsAlien);
- return aDlg->Execute() == RET_OK;
+ return aDlg.run() == RET_OK;
}
vcl::Window* SfxStoringHelper::GetModelWindow( const uno::Reference< frame::XModel >& xModel )
diff --git a/sfx2/source/doc/querytemplate.cxx b/sfx2/source/doc/querytemplate.cxx
index 9eef613c96e5..bc9ff49bf977 100644
--- a/sfx2/source/doc/querytemplate.cxx
+++ b/sfx2/source/doc/querytemplate.cxx
@@ -30,7 +30,7 @@ namespace sfx2
QueryTemplateBox::QueryTemplateBox( vcl::Window* pParent, const OUString& rMessage ) :
MessBox ( pParent, MessBoxStyle::NONE, 0, Application::GetDisplayName(), rMessage )
{
- SetImage( QueryBox::GetStandardImage() );
+ SetImage(GetStandardQueryBoxImage());
SetHelpId( HID_QUERY_LOAD_TEMPLATE );
AddButton( SfxResId( STR_QRYTEMPL_UPDATE_BTN ), RET_YES,
diff --git a/sfx2/source/inc/alienwarn.hxx b/sfx2/source/inc/alienwarn.hxx
index 7d2414aad8bc..05f5a3835aee 100644
--- a/sfx2/source/inc/alienwarn.hxx
+++ b/sfx2/source/inc/alienwarn.hxx
@@ -19,21 +19,25 @@
#ifndef INCLUDED_SFX2_SOURCE_INC_ALIENWARN_HXX
#define INCLUDED_SFX2_SOURCE_INC_ALIENWARN_HXX
-#include <vcl/button.hxx>
-#include <vcl/messagedialog.hxx>
+#include <vcl/weld.hxx>
-class SfxAlienWarningDialog : public MessageDialog
+class SfxAlienWarningDialog
{
private:
- VclPtr<PushButton> m_pKeepCurrentBtn;
- VclPtr<PushButton> m_pUseDefaultFormatBtn;
- VclPtr<CheckBox> m_pWarningOnBox;
+ std::unique_ptr<weld::Builder> m_xBuilder;
+ std::unique_ptr<weld::MessageDialog> m_xDialog;
+ std::unique_ptr<weld::Button> m_xKeepCurrentBtn;
+ std::unique_ptr<weld::Button> m_xUseDefaultFormatBtn;
+ std::unique_ptr<weld::CheckButton> m_xWarningOnBox;
+
+ std::unique_ptr<weld::Container> m_xOrigParent;
+ std::unique_ptr<weld::Container> m_xContentArea;
public:
- SfxAlienWarningDialog(vcl::Window* pParent, const OUString& _rFormatName,
+ SfxAlienWarningDialog(weld::Window* pParent, const OUString& _rFormatName,
const OUString& _rDefaultExtension, bool rDefaultIsAlien);
- virtual ~SfxAlienWarningDialog() override;
- virtual void dispose() override;
+ short run() { return m_xDialog->run(); }
+ ~SfxAlienWarningDialog();
};
#endif // INCLUDED_SFX2_SOURCE_INC_ALIENWARN_HXX
diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx
index 33978818fa44..c72f6a47a4a1 100644
--- a/sfx2/source/view/viewfrm.cxx
+++ b/sfx2/source/view/viewfrm.cxx
@@ -134,7 +134,8 @@ using ::com::sun::star::container::XIndexContainer;
#include <sfx2/minfitem.hxx>
#include <sfx2/strings.hrc>
#include "impviewframe.hxx"
-#include <vcl/msgbox.hxx>
+#include <vcl/svapp.hxx>
+#include <vcl/weld.hxx>
#define SfxViewFrame
#include <sfxslots.hxx>
@@ -175,28 +176,23 @@ SfxEditDocumentDialog::SfxEditDocumentDialog(weld::Widget* pParent)
{
}
-class SfxQueryOpenAsTemplate : public QueryBox
+class SfxQueryOpenAsTemplate
{
+private:
+ std::unique_ptr<weld::MessageDialog> m_xQueryBox;
public:
- SfxQueryOpenAsTemplate(vcl::Window* pParent, MessBoxStyle nStyle, bool bAllowIgnoreLock);
-};
-
-SfxQueryOpenAsTemplate::SfxQueryOpenAsTemplate(vcl::Window* pParent, MessBoxStyle nStyle, bool bAllowIgnoreLock)
- : QueryBox(pParent, nStyle, SfxResId(bAllowIgnoreLock ? STR_QUERY_OPENASTEMPLATE_ALLOW_IGNORE : STR_QUERY_OPENASTEMPLATE))
-{
- AddButton(SfxResId(STR_QUERY_OPENASTEMPLATE_OPENCOPY_BTN), RET_YES,
- ButtonDialogFlags::Default | ButtonDialogFlags::OK | ButtonDialogFlags::Focus);
- SetButtonHelpText(RET_YES, OUString());
-
- if (bAllowIgnoreLock)
+ SfxQueryOpenAsTemplate(weld::Window* pParent, bool bAllowIgnoreLock)
+ : m_xQueryBox(Application::CreateMessageDialog(pParent, VclMessageType::Question, VclButtonsType::NONE,
+ SfxResId(bAllowIgnoreLock ? STR_QUERY_OPENASTEMPLATE_ALLOW_IGNORE : STR_QUERY_OPENASTEMPLATE)))
{
- AddButton(SfxResId(STR_QUERY_OPENASTEMPLATE_OPEN_BTN), RET_IGNORE);
- SetButtonHelpText(RET_IGNORE, OUString());
+ m_xQueryBox->add_button(SfxResId(STR_QUERY_OPENASTEMPLATE_OPENCOPY_BTN), RET_YES);
+ if (bAllowIgnoreLock)
+ m_xQueryBox->add_button(SfxResId(STR_QUERY_OPENASTEMPLATE_OPEN_BTN), RET_IGNORE);
+ m_xQueryBox->add_button(Button::GetStandardText( StandardButtonType::Cancel ), RET_CANCEL);
+ m_xQueryBox->set_default_response(RET_YES);
}
-
- AddButton(StandardButtonType::Cancel, RET_CANCEL);
- SetButtonHelpText(RET_CANCEL, OUString());
-}
+ short run() { return m_xQueryBox->run(); }
+};
/// Is this read-only object shell opened via .uno:SignPDF?
bool IsSignPDF(const SfxObjectShellRef& xObjSh)
@@ -463,9 +459,9 @@ void SfxViewFrame::ExecReload_Impl( SfxRequest& rReq )
if (nOpenMode == SFX_STREAM_READWRITE && !rReq.IsAPI())
{
// css::sdbcx::User offering to open it as a template
- ScopedVclPtrInstance<SfxQueryOpenAsTemplate> aBox(&GetWindow(), MessBoxStyle::NONE, bRetryIgnoringLock);
+ SfxQueryOpenAsTemplate aBox(GetWindow().GetFrameWeld(), bRetryIgnoringLock);
- short nUserAnswer = aBox->Execute();
+ short nUserAnswer = aBox.run();
bOpenTemplate = RET_YES == nUserAnswer;
// Always reset this here to avoid infinite loop
bRetryIgnoringLock = RET_IGNORE == nUserAnswer;
diff --git a/solenv/bin/pack_images.py b/solenv/bin/pack_images.py
old mode 100644
new mode 100755
diff --git a/svtools/source/graphic/provider.cxx b/svtools/source/graphic/provider.cxx
index 3cbbd6ba752b..2afef15a646f 100644
--- a/svtools/source/graphic/provider.cxx
+++ b/svtools/source/graphic/provider.cxx
@@ -206,11 +206,11 @@ uno::Reference< ::graphic::XGraphic > GraphicProvider::implLoadStandardImage( co
}
else if ( sImageName == "error" )
{
- xRet = Graphic(ErrorBox::GetStandardImage().GetBitmapEx()).GetXGraphic();
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list