[Libreoffice-commits] core.git: basctl/source basic/source chart2/source cui/source dbaccess/source editeng/source extensions/source filter/source include/editeng include/svtools include/vcl sc/source sd/source sfx2/source svtools/source svx/source sw/source toolkit/source uui/source uui/uiconfig vcl/source vcl/unx xmlsecurity/source
Caolán McNamara
caolanm at redhat.com
Sun Feb 25 19:03:50 UTC 2018
basctl/source/basicide/basides1.cxx | 14 -
basctl/source/basicide/basidesh.cxx | 8
basic/source/runtime/basrdll.cxx | 6
basic/source/runtime/methods.cxx | 187 +++++++--------
chart2/source/controller/main/ChartController_Window.cxx | 6
cui/source/customize/cfg.cxx | 2
cui/source/dialogs/SpellDialog.cxx | 3
cui/source/dialogs/cuigaldlg.cxx | 8
cui/source/dialogs/multipat.cxx | 11
cui/source/options/optdict.cxx | 4
cui/source/options/treeopt.cxx | 7
cui/source/tabpages/backgrnd.cxx | 2
dbaccess/source/ui/dlg/generalpage.cxx | 8
dbaccess/source/ui/dlg/sqlmessage.cxx | 2
dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx | 7
editeng/source/editeng/editdbg.cxx | 9
editeng/source/editeng/editeng.cxx | 8
editeng/source/misc/unolingu.cxx | 10
extensions/source/propctrlr/propcontroller.cxx | 7
extensions/source/update/ui/updatecheckui.cxx | 4
filter/source/graphicfilter/eps/eps.cxx | 7
filter/source/xsltdialog/xmlfiltersettingsdialog.cxx | 15 -
include/editeng/unolingu.hxx | 4
include/svtools/ehdl.hxx | 6
include/vcl/builder.hxx | 2
include/vcl/dialog.hxx | 8
include/vcl/errinf.hxx | 11
include/vcl/messagedialog.hxx | 7
include/vcl/msgbox.hxx | 12
include/vcl/weld.hxx | 2
sc/source/core/data/dpobject.cxx | 9
sc/source/ui/dbgui/consdlg.cxx | 20 +
sc/source/ui/dbgui/scendlg.cxx | 12
sc/source/ui/docshell/arealink.cxx | 10
sc/source/ui/docshell/dbdocfun.cxx | 9
sc/source/ui/docshell/dbdocimp.cxx | 9
sc/source/ui/docshell/docfunc.cxx | 21 +
sc/source/ui/docshell/docsh3.cxx | 8
sc/source/ui/docshell/docsh4.cxx | 19 -
sc/source/ui/docshell/docsh5.cxx | 33 +-
sc/source/ui/docshell/docsh6.cxx | 9
sc/source/ui/docshell/impex.cxx | 9
sc/source/ui/optdlg/tpusrlst.cxx | 5
sc/source/ui/view/cellsh1.cxx | 8
sc/source/ui/view/spelleng.cxx | 10
sc/source/ui/view/tabview2.cxx | 9
sc/source/ui/view/viewfun4.cxx | 10
sd/source/ui/dlg/PhotoAlbumDialog.cxx | 7
sd/source/ui/func/fudraw.cxx | 7
sd/source/ui/func/futhes.cxx | 2
sd/source/ui/view/drawview.cxx | 9
sd/source/ui/view/drviews2.cxx | 69 ++++-
sd/source/ui/view/drviewse.cxx | 26 +-
sd/source/ui/view/drviewsi.cxx | 11
sd/source/ui/view/sdview4.cxx | 11
sd/source/ui/view/viewshe2.cxx | 3
sfx2/source/bastyp/fltfnc.cxx | 11
sfx2/source/dialog/securitypage.cxx | 8
sfx2/source/doc/new.cxx | 2
sfx2/source/view/ipclient.cxx | 3
svtools/source/graphic/provider.cxx | 2
svtools/source/misc/ehdl.cxx | 80 +++---
svx/source/dialog/imapdlg.cxx | 2
svx/source/svdraw/svdedtv1.cxx | 8
svx/source/svdraw/svdedxv.cxx | 7
svx/source/svdraw/svdpntv.cxx | 7
sw/source/core/frmedt/fetab.cxx | 30 +-
sw/source/ui/index/cnttab.cxx | 11
sw/source/ui/misc/bookmark.cxx | 7
sw/source/uibase/app/docsh.cxx | 12
sw/source/uibase/app/docsh2.cxx | 5
sw/source/uibase/dochdl/gloshdl.cxx | 8
sw/source/uibase/lingu/hyp.cxx | 9
sw/source/uibase/lingu/olmenu.cxx | 4
sw/source/uibase/uiview/viewling.cxx | 4
sw/source/uibase/utlui/unotools.cxx | 7
toolkit/source/awt/vclxtoolkit.cxx | 13 +
uui/source/iahndl-errorhandler.cxx | 21 +
uui/source/iahndl.cxx | 5
uui/source/sslwarndlg.cxx | 22 -
uui/source/sslwarndlg.hxx | 10
uui/uiconfig/ui/sslwarndialog.ui | 1
vcl/source/app/salvtables.cxx | 13 +
vcl/source/window/builder.cxx | 53 ----
vcl/source/window/dialog.cxx | 112 ++++++++
vcl/source/window/errinf.cxx | 8
vcl/source/window/layout.cxx | 99 +------
vcl/source/window/msgbox.cxx | 24 -
vcl/unx/gtk3/gtk3gtkinst.cxx | 33 ++
xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx | 14 -
90 files changed, 862 insertions(+), 535 deletions(-)
New commits:
commit d75144cf44779a8f6cc9bccf9b0a6328b94a5b90
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Feb 21 21:20:15 2018 +0000
convert remaining InfoBox to weld::MessageDialog
Change-Id: I91d828e38d96264cf4a76f30940942556b8f78d8
Reviewed-on: https://gerrit.libreoffice.org/50205
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/basctl/source/basicide/basides1.cxx b/basctl/source/basicide/basides1.cxx
index 22afa37f5d2a..5fce14ec5114 100644
--- a/basctl/source/basicide/basides1.cxx
+++ b/basctl/source/basicide/basides1.cxx
@@ -48,6 +48,7 @@
#include <svl/visitem.hxx>
#include <svl/whiter.hxx>
#include <vcl/xtextedt.hxx>
+#include <vcl/svapp.hxx>
#include <vcl/msgbox.hxx>
#include <vcl/weld.hxx>
@@ -114,7 +115,11 @@ void Shell::ExecuteCurrent( SfxRequest& rReq )
OUString aReplStr(IDEResId(RID_STR_SEARCHREPLACES));
aReplStr = aReplStr.replaceAll("XX", OUString::number(nFound));
- ScopedVclPtrInstance<InfoBox>(pCurWin, aReplStr)->Execute();
+
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pCurWin->GetFrameWeld(),
+ VclMessageType::Info, VclButtonsType::Ok,
+ aReplStr));
+ xInfoBox->run();
}
else
{
@@ -181,7 +186,12 @@ void Shell::ExecuteCurrent( SfxRequest& rReq )
SetCurWindow( pWin, true );
}
if ( !nFound && !bCanceled )
- ScopedVclPtrInstance<InfoBox>(pCurWin, IDEResId(RID_STR_SEARCHNOTFOUND))->Execute();
+ {
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pCurWin->GetFrameWeld(),
+ VclMessageType::Info, VclButtonsType::Ok,
+ IDEResId(RID_STR_SEARCHNOTFOUND)));
+ xInfoBox->run();
+ }
}
rReq.Done();
diff --git a/basctl/source/basicide/basidesh.cxx b/basctl/source/basicide/basidesh.cxx
index e4791604572b..58b4d42c50c7 100644
--- a/basctl/source/basicide/basidesh.cxx
+++ b/basctl/source/basicide/basidesh.cxx
@@ -62,7 +62,7 @@
#include <com/sun/star/container/XContainer.hpp>
#include <svx/xmlsecctrl.hxx>
#include <sfx2/viewfac.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <vcl/settings.hxx>
#include <cppuhelper/implbase.hxx>
@@ -386,8 +386,10 @@ bool Shell::PrepareClose( bool bUI )
{
if( bUI )
{
- vcl::Window *pParent = &GetViewFrame()->GetWindow();
- ScopedVclPtrInstance<InfoBox>(pParent, IDEResId(RID_STR_CANNOTCLOSE))->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(GetViewFrame()->GetWindow().GetFrameWeld(),
+ VclMessageType::Info, VclButtonsType::Ok,
+ IDEResId(RID_STR_CANNOTCLOSE)));
+ xInfoBox->run();
}
return false;
}
diff --git a/basic/source/runtime/basrdll.cxx b/basic/source/runtime/basrdll.cxx
index e7a639a5a069..b5949524ccc8 100644
--- a/basic/source/runtime/basrdll.cxx
+++ b/basic/source/runtime/basrdll.cxx
@@ -22,6 +22,7 @@
#include <svl/solar.hrc>
#include <tools/debug.hxx>
#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <vcl/settings.hxx>
#include <basic/sbstar.hxx>
@@ -97,7 +98,10 @@ void BasicDLL::BasicBreak()
{
bJustStopping = true;
StarBASIC::Stop();
- ScopedVclPtrInstance<InfoBox>(nullptr, BasResId(IDS_SBERR_TERMINATED))->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ BasResId(IDS_SBERR_TERMINATED)));
+ xInfoBox->run();
bJustStopping = false;
}
}
diff --git a/basic/source/runtime/methods.cxx b/basic/source/runtime/methods.cxx
index 5f53992360ff..fed8450f8d5b 100644
--- a/basic/source/runtime/methods.cxx
+++ b/basic/source/runtime/methods.cxx
@@ -28,7 +28,8 @@
#include <vcl/settings.hxx>
#include <vcl/sound.hxx>
#include <tools/wintypes.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/button.hxx>
+#include <vcl/weld.hxx>
#include <basic/sbx.hxx>
#include <svl/zforlist.hxx>
#include <rtl/character.hxx>
@@ -4207,75 +4208,30 @@ void SbRtl_SavePicture(StarBASIC *, SbxArray & rPar, bool)
void SbRtl_MsgBox(StarBASIC *, SbxArray & rPar, bool)
{
- static const MessBoxStyle nStyleMap[] =
- {
- MessBoxStyle::Ok, // MB_OK
- MessBoxStyle::OkCancel, // MB_OKCANCEL
- MessBoxStyle::AbortRetryIgnore, // MB_ABORTRETRYIGNORE
- MessBoxStyle::YesNoCancel, // MB_YESNOCANCEL
- MessBoxStyle::YesNo, // MB_YESNO
- MessBoxStyle::RetryCancel // MB_RETRYCANCEL
- };
- static const sal_Int16 nButtonMap[] =
- {
- 2, // RET_CANCEL is 0
- 1, // RET_OK is 1
- 6, // RET_YES is 2
- 7, // RET_NO is 3
- 4 // RET_RETRY is 4
- };
-
-
sal_uInt16 nArgCount = rPar.Count();
if( nArgCount < 2 || nArgCount > 6 )
{
StarBASIC::Error( ERRCODE_BASIC_BAD_ARGUMENT );
return;
}
- MessBoxStyle nWinBits;
WinBits nType = 0; // MB_OK
if( nArgCount >= 3 )
nType = static_cast<WinBits>(rPar.Get(2)->GetInteger());
WinBits nStyle = nType;
nStyle &= 15; // delete bits 4-16
- if( nStyle > 5 )
- {
+ if (nStyle > 5)
nStyle = 0;
- }
- nWinBits = nStyleMap[ nStyle ];
- MessBoxStyle nWinDefBits = MessBoxStyle::DefaultOk | MessBoxStyle::DefaultRetry | MessBoxStyle::DefaultYes;
- if( nType & 256 )
- {
- if( nStyle == 5 )
- {
- nWinDefBits = MessBoxStyle::DefaultCancel;
- }
- else if( nStyle == 2 )
- {
- nWinDefBits = MessBoxStyle::DefaultRetry;
- }
- else
- {
- nWinDefBits = (MessBoxStyle::DefaultCancel | MessBoxStyle::DefaultRetry | MessBoxStyle::DefaultNo);
- }
- }
- else if( nType & 512 )
+ enum BasicResponse
{
- if( nStyle == 2)
- {
- nWinDefBits = MessBoxStyle::DefaultIgnore;
- }
- else
- {
- nWinDefBits = MessBoxStyle::DefaultCancel;
- }
- }
- else if( nStyle == 2)
- {
- nWinDefBits = MessBoxStyle::DefaultCancel;
- }
- nWinBits |= nWinDefBits;
+ Ok = 1,
+ Cancel = 2,
+ Abort = 3,
+ Retry = 4,
+ Ignore = 5,
+ Yes = 6,
+ No = 7
+ };
OUString aMsg = rPar.Get(1)->GetOUString();
OUString aTitle;
@@ -4288,46 +4244,99 @@ void SbRtl_MsgBox(StarBASIC *, SbxArray & rPar, bool)
aTitle = Application::GetDisplayName();
}
- nType &= (16+32+64);
- VclPtr<MessBox> pBox;
+ WinBits nDialogType = nType & (16+32+64);
SolarMutexGuard aSolarGuard;
+ vcl::Window* pParentWin = Application::GetDefDialogParent();
+ weld::Widget* pParent = pParentWin ? pParentWin->GetFrameWeld() : nullptr;
- vcl::Window* pParent = Application::GetDefDialogParent();
- switch( nType )
- {
- case 16:
- pBox.reset(VclPtr<ErrorBox>::Create( pParent, nWinBits, aMsg ));
- break;
- case 32:
- pBox.reset(VclPtr<QueryBox>::Create( pParent, nWinBits, aMsg ));
- break;
- case 48:
- pBox.reset(VclPtr<WarningBox>::Create( pParent, nWinBits, aMsg ));
- break;
- case 64:
- pBox.reset(VclPtr<InfoBox>::Create( pParent, nWinBits, aMsg ));
- break;
- default:
- pBox.reset(VclPtr<MessBox>::Create( pParent, nWinBits, 0, aTitle, aMsg ));
- }
- pBox->SetText( aTitle );
- short nRet = pBox->Execute();
- sal_Int16 nMappedRet;
- if( nStyle == 2 )
+ VclMessageType eType = VclMessageType::Info;
+
+ switch (nDialogType)
{
- nMappedRet = nRet;
- if( nMappedRet == 0 )
- {
- nMappedRet = 3; // Abort
- }
+ case 16:
+ eType = VclMessageType::Error;
+ break;
+ case 32:
+ eType = VclMessageType::Question;
+ break;
+ case 48:
+ eType = VclMessageType::Warning;
+ break;
+ case 64:
+ default:
+ eType = VclMessageType::Info;
+ break;
}
- else
+
+ std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(pParent,
+ eType, VclButtonsType::NONE, aMsg));
+
+ switch (nStyle)
{
- nMappedRet = nButtonMap[ nRet ];
+ case 0: // MB_OK
+ default:
+ xBox->add_button(Button::GetStandardText(StandardButtonType::OK), BasicResponse::Ok);
+ break;
+ case 1: // MB_OKCANCEL
+ xBox->add_button(Button::GetStandardText(StandardButtonType::OK), BasicResponse::Ok);
+ xBox->add_button(Button::GetStandardText(StandardButtonType::Cancel), BasicResponse::Cancel);
+
+ if (nType & 256 || nType & 512)
+ xBox->set_default_response(BasicResponse::Cancel);
+ else
+ xBox->set_default_response(BasicResponse::Ok);
+
+ break;
+ case 2: // MB_ABORTRETRYIGNORE
+ xBox->add_button(Button::GetStandardText(StandardButtonType::Abort), BasicResponse::Abort);
+ xBox->add_button(Button::GetStandardText(StandardButtonType::Retry), BasicResponse::Retry);
+ xBox->add_button(Button::GetStandardText(StandardButtonType::Ignore), BasicResponse::Ignore);
+
+ if (nType & 256)
+ xBox->set_default_response(BasicResponse::Retry);
+ else if (nType & 512)
+ xBox->set_default_response(BasicResponse::Ignore);
+ else
+ xBox->set_default_response(BasicResponse::Cancel);
+
+ break;
+ case 3: // MB_YESNOCANCEL
+ xBox->add_button(Button::GetStandardText(StandardButtonType::Yes), BasicResponse::Yes);
+ xBox->add_button(Button::GetStandardText(StandardButtonType::No), BasicResponse::No);
+ xBox->add_button(Button::GetStandardText(StandardButtonType::Cancel), BasicResponse::Cancel);
+
+ if (nType & 256 || nType & 512)
+ xBox->set_default_response(BasicResponse::Cancel);
+ else
+ xBox->set_default_response(BasicResponse::Yes);
+
+ break;
+ case 4: // MB_YESNO
+ xBox->add_button(Button::GetStandardText(StandardButtonType::Yes), BasicResponse::Yes);
+ xBox->add_button(Button::GetStandardText(StandardButtonType::No), BasicResponse::No);
+
+ if (nType & 256 || nType & 512)
+ xBox->set_default_response(BasicResponse::No);
+ else
+ xBox->set_default_response(BasicResponse::Yes);
+
+ break;
+ case 5: // MB_RETRYCANCEL
+ xBox->add_button(Button::GetStandardText(StandardButtonType::Retry), BasicResponse::Retry);
+ xBox->add_button(Button::GetStandardText(StandardButtonType::Cancel), BasicResponse::Cancel);
+
+ if (nType & 256 || nType & 512)
+ xBox->set_default_response(BasicResponse::Cancel);
+ else
+ xBox->set_default_response(BasicResponse::Retry);
+
+ break;
}
- rPar.Get(0)->PutInteger( nMappedRet );
- pBox.disposeAndClear();
+
+ xBox->set_title(aTitle);
+ sal_Int16 nRet = xBox->run();
+ rPar.Get(0)->PutInteger(nRet);
}
void SbRtl_SetAttr(StarBASIC *, SbxArray & rPar, bool)
diff --git a/chart2/source/controller/main/ChartController_Window.cxx b/chart2/source/controller/main/ChartController_Window.cxx
index 151b916b37be..d00f9e73a2dc 100644
--- a/chart2/source/controller/main/ChartController_Window.cxx
+++ b/chart2/source/controller/main/ChartController_Window.cxx
@@ -73,6 +73,7 @@
#include <vcl/svapp.hxx>
#include <vcl/settings.hxx>
#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <rtl/math.hxx>
#include <svtools/acceleratorexecute.hxx>
@@ -1536,7 +1537,10 @@ bool ChartController::execute_KeyInput( const KeyEvent& rKEvt )
bReturn = executeDispatch_Delete();
if( ! bReturn )
{
- ScopedVclPtrInstance<InfoBox>(pChartWindow, SchResId(STR_ACTION_NOTPOSSIBLE))->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pChartWindow ? pChartWindow->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ SchResId(STR_ACTION_NOTPOSSIBLE)));
+ xInfoBox->run();
}
}
diff --git a/cui/source/customize/cfg.cxx b/cui/source/customize/cfg.cxx
index 94b02b86b56d..7d5ce9d4da6b 100644
--- a/cui/source/customize/cfg.cxx
+++ b/cui/source/customize/cfg.cxx
@@ -3478,7 +3478,7 @@ SvxIconChangeDialog::SvxIconChangeDialog(
pLineEditDescription->set_width_request(aSize.Width());
pLineEditDescription->set_height_request(aSize.Height());
- pFImageInfo->SetImage(InfoBox::GetStandardImage());
+ pFImageInfo->SetImage(GetStandardInfoBoxImage());
pLineEditDescription->SetControlBackground( GetSettings().GetStyleSettings().GetDialogColor() );
pLineEditDescription->SetText(aMessage);
}
diff --git a/cui/source/dialogs/SpellDialog.cxx b/cui/source/dialogs/SpellDialog.cxx
index 95e611a313cb..2bc16dc0df0e 100644
--- a/cui/source/dialogs/SpellDialog.cxx
+++ b/cui/source/dialogs/SpellDialog.cxx
@@ -18,6 +18,7 @@
*/
#include <memory>
+#include <vcl/weld.hxx>
#include <vcl/wrkwin.hxx>
#include <vcl/menu.hxx>
#include <vcl/layout.hxx>
@@ -900,7 +901,7 @@ void SpellDialog::AddToDictionaryExecute( sal_uInt16 nItemId, PopupMenu const *p
}
if (DictionaryError::NONE != nAddRes)
{
- SvxDicError( this, nAddRes );
+ SvxDicError(GetFrameWeld(), nAddRes);
return; // don't continue
}
diff --git a/cui/source/dialogs/cuigaldlg.cxx b/cui/source/dialogs/cuigaldlg.cxx
index ef138dc257a2..7c64d613c1b6 100644
--- a/cui/source/dialogs/cuigaldlg.cxx
+++ b/cui/source/dialogs/cuigaldlg.cxx
@@ -25,7 +25,7 @@
#include <vcl/errinf.hxx>
#include <ucbhelper/content.hxx>
#include <vcl/svapp.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <vcl/weld.hxx>
#include <avmedia/mediawindow.hxx>
#include <unotools/pathoptions.hxx>
@@ -562,8 +562,10 @@ IMPL_LINK_NOARG(GalleryIdDialog, ClickOkHdl, Button*, void)
aStr += " (" + pInfo->GetThemeName() + ")";
- ScopedVclPtrInstance< InfoBox > aBox( this, aStr );
- aBox->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(GetFrameWeld(),
+ VclMessageType::Info, VclButtonsType::Ok,
+ aStr));
+ xInfoBox->run();
m_pLbResName->GrabFocus();
bDifferentThemeExists = true;
}
diff --git a/cui/source/dialogs/multipat.cxx b/cui/source/dialogs/multipat.cxx
index 27f576713467..eccc81553ebd 100644
--- a/cui/source/dialogs/multipat.cxx
+++ b/cui/source/dialogs/multipat.cxx
@@ -21,7 +21,8 @@
#include <osl/file.hxx>
#include <tools/urlobj.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/svapp.hxx>
+#include <vcl/weld.hxx>
#include <sfx2/filedlghelper.hxx>
#include <multipat.hxx>
@@ -92,7 +93,9 @@ IMPL_LINK_NOARG(SvxMultiPathDialog, AddHdl_Impl, Button*, void)
{
OUString sMsg( CuiResId( RID_MULTIPATH_DBL_ERR ) );
sMsg = sMsg.replaceFirst( "%1", sInsPath );
- ScopedVclPtrInstance<InfoBox>(this, sMsg)->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(GetFrameWeld(),
+ VclMessageType::Info, VclButtonsType::Ok, sMsg));
+ xInfoBox->run();
}
SelectHdl_Impl( nullptr );
@@ -116,7 +119,9 @@ IMPL_LINK_NOARG(SvxPathSelectDialog, AddHdl_Impl, Button*, void)
{
OUString sMsg( CuiResId( RID_MULTIPATH_DBL_ERR ) );
sMsg = sMsg.replaceFirst( "%1", sInsPath );
- ScopedVclPtrInstance<InfoBox>(this, sMsg)->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(GetFrameWeld(),
+ VclMessageType::Info, VclButtonsType::Ok, sMsg));
+ xInfoBox->run();
}
else
{
diff --git a/cui/source/options/optdict.cxx b/cui/source/options/optdict.cxx
index 7b4e4ea5797e..30eb207acbc2 100644
--- a/cui/source/options/optdict.cxx
+++ b/cui/source/options/optdict.cxx
@@ -180,7 +180,7 @@ IMPL_LINK_NOARG(SvxNewDictionaryDialog, OKHdl_Impl, Button*, void)
xNewDic = nullptr;
// error: couldn't create new dictionary
SfxErrorContext aContext( ERRCTX_SVX_LINGU_DICTIONARY, OUString(),
- this, RID_SVXERRCTX, SvxResLocale() );
+ GetFrameWeld(), RID_SVXERRCTX, SvxResLocale() );
ErrorHandler::HandleError( *new StringErrorInfo(
ERRCODE_SVX_LINGU_DICT_NOTWRITEABLE, sDict ) );
EndDialog();
@@ -646,7 +646,7 @@ bool SvxEditDictionaryDialog::NewDelHdl(void const * pBtn)
}
}
if (DictionaryError::NONE != nAddRes)
- SvxDicError( this, nAddRes );
+ SvxDicError(GetFrameWeld(), nAddRes);
if(DictionaryError::NONE == nAddRes && !sEntry.isEmpty())
{
diff --git a/cui/source/options/treeopt.cxx b/cui/source/options/treeopt.cxx
index 877f2cfa6a95..8bfd3462b8c9 100644
--- a/cui/source/options/treeopt.cxx
+++ b/cui/source/options/treeopt.cxx
@@ -101,7 +101,7 @@
#include <unotools/viewoptions.hxx>
#include <vcl/help.hxx>
#include <vcl/layout.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <vcl/waitobj.hxx>
#include <vcl/settings.hxx>
#include <svtools/treelistentry.hxx>
@@ -974,7 +974,10 @@ void OfaTreeOptionsDialog::SelectHdl_Impl()
if(!pGroupInfo->m_pModule)
{
pGroupInfo->m_bLoadError = true;
- ScopedVclPtrInstance<InfoBox>(pBox, sNotLoadedError)->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pBox->GetFrameWeld(),
+ VclMessageType::Info, VclButtonsType::Ok,
+ sNotLoadedError));
+ xInfoBox->run();
return;
}
if(bIdentical)
diff --git a/cui/source/tabpages/backgrnd.cxx b/cui/source/tabpages/backgrnd.cxx
index ddf8dcb024b4..a89591b092de 100644
--- a/cui/source/tabpages/backgrnd.cxx
+++ b/cui/source/tabpages/backgrnd.cxx
@@ -880,7 +880,7 @@ void SvxBackgroundTabPage::RaiseLoadError_Impl()
{
SfxErrorContext aContext( ERRCTX_SVX_BACKGROUND,
OUString(),
- this,
+ GetFrameWeld(),
RID_SVXERRCTX,
SvxResLocale() );
diff --git a/dbaccess/source/ui/dlg/generalpage.cxx b/dbaccess/source/ui/dlg/generalpage.cxx
index 28a79c048981..12b1e62f4fe9 100644
--- a/dbaccess/source/ui/dlg/generalpage.cxx
+++ b/dbaccess/source/ui/dlg/generalpage.cxx
@@ -29,7 +29,7 @@
#include <sfx2/filedlghelper.hxx>
#include <sfx2/docfilt.hxx>
#include <vcl/stdtext.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <svl/stritem.hxx>
#include <vcl/waitobj.hxx>
#include <com/sun/star/sdbc/XDriverAccess.hpp>
@@ -717,8 +717,10 @@ namespace dbaui
if ( aFileDlg.GetCurrentFilter() != pFilter->GetUIName() || !pFilter->GetWildcard().Matches(sPath) )
{
OUString sMessage(DBA_RES(STR_ERR_USE_CONNECT_TO));
- ScopedVclPtrInstance< InfoBox > aError(this, sMessage);
- aError->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(GetFrameWeld(),
+ VclMessageType::Info, VclButtonsType::Ok,
+ sMessage));
+ xInfoBox->run();
m_pRB_ConnectDatabase->Check();
OnSetupModeSelected( m_pRB_ConnectDatabase );
return;
diff --git a/dbaccess/source/ui/dlg/sqlmessage.cxx b/dbaccess/source/ui/dlg/sqlmessage.cxx
index 469102a47886..315bae099e57 100644
--- a/dbaccess/source/ui/dlg/sqlmessage.cxx
+++ b/dbaccess/source/ui/dlg/sqlmessage.cxx
@@ -622,7 +622,7 @@ void OSQLMessageBox::Construct( MessBoxStyle _nStyle, MessageType _eImage )
OSL_FAIL( "OSQLMessageBox::impl_initImage: unsupported image type!" );
SAL_FALLTHROUGH;
case Info:
- m_aInfoImage->SetImage(InfoBox::GetStandardImage());
+ m_aInfoImage->SetImage(GetStandardInfoBoxImage());
break;
case Warning:
m_aInfoImage->SetImage(WarningBox::GetStandardImage());
diff --git a/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx b/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx
index 5351959eceb8..8937943db748 100644
--- a/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx
+++ b/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx
@@ -36,7 +36,7 @@
#include <com/sun/star/container/XNameAccess.hpp>
#include <stringconstants.hxx>
#include "QTableWindow.hxx"
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <vcl/settings.hxx>
#include "QueryDesignFieldUndoAct.hxx"
#include <sqlmessage.hxx>
@@ -523,7 +523,10 @@ void OSelectionBrowseBox::InitController(CellControllerRef& /*rController*/, lon
m_pVisibleCell->GetBox().EnableInput(false);
OUString aMessage(DBA_RES(STR_QRY_ORDERBY_UNRELATED));
OQueryDesignView* paDView = getDesignView();
- ScopedVclPtrInstance<InfoBox>(paDView, aMessage)->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(paDView ? paDView->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ aMessage));
+ xInfoBox->run();
}
} break;
case BROW_ORDER_ROW:
diff --git a/editeng/source/editeng/editdbg.cxx b/editeng/source/editeng/editdbg.cxx
index 297fbf7a98dd..3dbdadb6af22 100644
--- a/editeng/source/editeng/editdbg.cxx
+++ b/editeng/source/editeng/editdbg.cxx
@@ -21,7 +21,7 @@
#include <memory>
#include <vcl/wrkwin.hxx>
#include <vcl/dialog.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <vcl/svapp.hxx>
#include <editeng/lspcitem.hxx>
@@ -482,7 +482,12 @@ void EditDbg::ShowEditEngineData( EditEngine* pEE, bool bInfoBox )
}
fclose( fp );
if ( bInfoBox )
- ScopedVclPtrInstance<InfoBox>(nullptr, OUString( "D:\\DEBUG.LOG !" ) )->Execute();
+ {
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ "D:\\DEBUG.LOG !" ));
+ xInfoBox->run();
+ }
}
#endif
diff --git a/editeng/source/editeng/editeng.cxx b/editeng/source/editeng/editeng.cxx
index a822a23406ef..0e5fdd3e596a 100644
--- a/editeng/source/editeng/editeng.cxx
+++ b/editeng/source/editeng/editeng.cxx
@@ -21,7 +21,7 @@
#include <comphelper/lok.hxx>
#include <vcl/wrkwin.hxx>
#include <vcl/dialog.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <vcl/svapp.hxx>
#include <svtools/ctrltool.hxx>
@@ -1042,7 +1042,11 @@ bool EditEngine::PostKeyEvent( const KeyEvent& rKeyEvent, EditView* pEditView, v
bDebugPaint = !bDebugPaint;
OStringBuffer aInfo("DebugPaint: ");
aInfo.append(bDebugPaint ? "On" : "Off");
- ScopedVclPtrInstance<InfoBox>(nullptr, OStringToOUString(aInfo.makeStringAndClear(), RTL_TEXTENCODING_ASCII_US))->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ OStringToOUString(aInfo.makeStringAndClear(), RTL_TEXTENCODING_ASCII_US)));
+ xInfoBox->run();
+
}
bDone = false;
}
diff --git a/editeng/source/misc/unolingu.cxx b/editeng/source/misc/unolingu.cxx
index 57c03f20d26a..6263a0db5398 100644
--- a/editeng/source/misc/unolingu.cxx
+++ b/editeng/source/misc/unolingu.cxx
@@ -44,8 +44,8 @@
#include <unotools/localfilehelper.hxx>
#include <ucbhelper/commandenvironment.hxx>
#include <ucbhelper/content.hxx>
-#include <vcl/msgbox.hxx>
#include <vcl/svapp.hxx>
+#include <vcl/weld.hxx>
#include <linguistic/misc.hxx>
#include <editeng/eerdll.hxx>
#include <editeng/editrids.hrc>
@@ -727,7 +727,7 @@ SvxDicListChgClamp::~SvxDicListChgClamp()
}
}
-short SvxDicError( vcl::Window *pParent, linguistic::DictionaryError nError )
+short SvxDicError(weld::Window *pParent, linguistic::DictionaryError nError)
{
short nRes = 0;
if (linguistic::DictionaryError::NONE != nError)
@@ -741,7 +741,11 @@ short SvxDicError( vcl::Window *pParent, linguistic::DictionaryError nError )
pRid = RID_SVXSTR_DIC_ERR_UNKNOWN;
SAL_WARN("editeng", "unexpected case");
}
- nRes = ScopedVclPtrInstance<InfoBox>(pParent, EditResId(pRid))->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pParent,
+ VclMessageType::Info, VclButtonsType::Ok,
+ EditResId(pRid)));
+ nRes = xInfoBox->run();
+
}
return nRes;
}
diff --git a/extensions/source/propctrlr/propcontroller.cxx b/extensions/source/propctrlr/propcontroller.cxx
index 539e5be292d6..6b19672c004b 100644
--- a/extensions/source/propctrlr/propcontroller.cxx
+++ b/extensions/source/propctrlr/propcontroller.cxx
@@ -42,7 +42,7 @@
#include <toolkit/awt/vclxwindow.hxx>
#include <toolkit/helper/vclunohelper.hxx>
#include <comphelper/property.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <vcl/svapp.hxx>
#include <vcl/tabpage.hxx>
#include <osl/mutex.hxx>
@@ -1376,7 +1376,10 @@ namespace pcr
}
catch(const PropertyVetoException& eVetoException)
{
- ScopedVclPtrInstance<InfoBox>(m_pView, eVetoException.Message)->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(m_pView ? m_pView->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ eVetoException.Message));
+ xInfoBox->run();
PropertyHandlerRef handler = impl_getHandlerForProperty_throw( rName );
Any aNormalizedValue = handler->getPropertyValue( rName );
getPropertyBox().SetPropertyValue( rName, aNormalizedValue, false );
diff --git a/extensions/source/update/ui/updatecheckui.cxx b/extensions/source/update/ui/updatecheckui.cxx
index 82e8e55a750a..b633fa7d2b58 100644
--- a/extensions/source/update/ui/updatecheckui.cxx
+++ b/extensions/source/update/ui/updatecheckui.cxx
@@ -269,7 +269,7 @@ Image UpdateCheckUI::GetBubbleImage( OUString const &rURL )
}
if ( aImage.GetSizePixel().Width() == 0 )
- aImage = InfoBox::GetStandardImage();
+ aImage = GetStandardInfoBoxImage();
return aImage;
}
@@ -777,7 +777,6 @@ void BubbleWindow::Paint(vcl::RenderContext& /*rRenderContext*/, const tools::Re
aThickLine );
SetLineColor( aOldLine );
- //Image aImage = InfoBox::GetStandardImage();
Size aImgSize = maBubbleImage.GetSizePixel();
DrawImage( Point( BUBBLE_BORDER, BUBBLE_BORDER + TIP_HEIGHT ), maBubbleImage );
@@ -820,7 +819,6 @@ void BubbleWindow::Show( bool bVisible, ShowFlags nFlags )
Size aWindowSize = GetSizePixel();
- // Image aImage = InfoBox::GetStandardImage();
Size aImgSize = maBubbleImage.GetSizePixel();
RecalcTextRects();
diff --git a/filter/source/graphicfilter/eps/eps.cxx b/filter/source/graphicfilter/eps/eps.cxx
index 4a47345a14b5..8dc125837701 100644
--- a/filter/source/graphicfilter/eps/eps.cxx
+++ b/filter/source/graphicfilter/eps/eps.cxx
@@ -39,6 +39,7 @@
#include <vcl/fltcall.hxx>
#include <vcl/FilterConfigItem.hxx>
#include <vcl/graphictools.hxx>
+#include <vcl/weld.hxx>
#include <strings.hrc>
#include <math.h>
@@ -439,8 +440,10 @@ bool PSWriter::WritePS( const Graphic& rGraphic, SvStream& rTargetStream, Filter
if ( mbStatus && mnLevelWarning && pFilterConfigItem )
{
std::locale loc = Translate::Create("flt");
- ScopedVclPtrInstance< InfoBox > aInfoBox(nullptr, Translate::get(KEY_VERSION_CHECK, loc));
- aInfoBox->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ Translate::get(KEY_VERSION_CHECK, loc)));
+ xInfoBox->run();
}
if ( xStatusIndicator.is() )
diff --git a/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx b/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
index 80023a48e089..88918bcdac29 100644
--- a/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
+++ b/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
@@ -30,9 +30,10 @@
#include <unotools/pathoptions.hxx>
#include <osl/file.hxx>
#include <o3tl/enumrange.hxx>
+#include <vcl/builderfactory.hxx>
#include <vcl/msgbox.hxx>
#include <vcl/svapp.hxx>
-#include <vcl/builderfactory.hxx>
+#include <vcl/weld.hxx>
#include <sfx2/filedlghelper.hxx>
#include <svtools/treelistentry.hxx>
@@ -902,8 +903,10 @@ void XMLFilterSettingsDialog::onSave()
aMsg = aMsg.replaceFirst( sPlaceholder, aURL.GetName() );
}
- ScopedVclPtrInstance< InfoBox > aBox(this, aMsg );
- aBox->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(GetFrameWeld(),
+ VclMessageType::Info, VclButtonsType::Ok,
+ aMsg));
+ xInfoBox->run();
}
}
@@ -967,8 +970,10 @@ void XMLFilterSettingsDialog::onOpen()
aMsg = aMsg.replaceFirst( sPlaceholder, OUString::number( nFilters ) );
}
- ScopedVclPtrInstance< InfoBox > aBox(this, aMsg );
- aBox->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(GetFrameWeld(),
+ VclMessageType::Info, VclButtonsType::Ok,
+ aMsg));
+ xInfoBox->run();
}
}
diff --git a/include/editeng/unolingu.hxx b/include/editeng/unolingu.hxx
index 78807780da17..4575e201d5ac 100644
--- a/include/editeng/unolingu.hxx
+++ b/include/editeng/unolingu.hxx
@@ -34,7 +34,7 @@
class LinguMgrExitLstnr;
-namespace vcl { class Window; }
+namespace weld { class Window; }
namespace linguistic { enum class DictionaryError; }
@@ -125,7 +125,7 @@ public:
~SvxDicListChgClamp();
};
-EDITENG_DLLPUBLIC short SvxDicError( vcl::Window *pParent, linguistic::DictionaryError nError );
+EDITENG_DLLPUBLIC short SvxDicError(weld::Window *pParent, linguistic::DictionaryError nError);
#endif
diff --git a/include/svtools/ehdl.hxx b/include/svtools/ehdl.hxx
index 2042d70184eb..2efbb761f4ba 100644
--- a/include/svtools/ehdl.hxx
+++ b/include/svtools/ehdl.hxx
@@ -29,16 +29,16 @@ typedef std::pair<const char*, ErrCode> ErrMsgCode;
SVT_DLLPUBLIC extern const ErrMsgCode RID_ERRHDL[];
SVT_DLLPUBLIC extern const ErrMsgCode RID_ERRCTX[];
-namespace vcl { class Window; }
+namespace weld { class Window; }
class SVT_DLLPUBLIC SfxErrorContext : private ErrorContext
{
public:
SfxErrorContext(
- sal_uInt16 nCtxIdP, vcl::Window *pWin=nullptr,
+ sal_uInt16 nCtxIdP, weld::Window *pWin=nullptr,
const ErrMsgCode* pIds = nullptr, const std::locale& rResLocaleP = SvtResLocale());
SfxErrorContext(
- sal_uInt16 nCtxIdP, const OUString &aArg1, vcl::Window *pWin=nullptr,
+ sal_uInt16 nCtxIdP, const OUString &aArg1, weld::Window *pWin=nullptr,
const ErrMsgCode* pIds = nullptr, const std::locale& rResLocaleP = SvtResLocale());
bool GetString(ErrCode nErrId, OUString &rStr) override;
diff --git a/include/vcl/builder.hxx b/include/vcl/builder.hxx
index d9d500051116..bb66872e786d 100644
--- a/include/vcl/builder.hxx
+++ b/include/vcl/builder.hxx
@@ -126,12 +126,10 @@ private:
{
OString m_sID;
VclPtr<vcl::Window> m_pWindow;
- short m_nResponseId;
PackingData m_aPackingData;
WinAndId(const OString &rId, vcl::Window *pWindow, bool bVertical)
: m_sID(rId)
, m_pWindow(pWindow)
- , m_nResponseId(RET_CANCEL)
, m_aPackingData(bVertical)
{
}
diff --git a/include/vcl/dialog.hxx b/include/vcl/dialog.hxx
index 24e0dfd7378f..8695cc4fa632 100644
--- a/include/vcl/dialog.hxx
+++ b/include/vcl/dialog.hxx
@@ -29,6 +29,7 @@
#include <vcl/abstdlg.hxx>
struct DialogImpl;
+class PushButton;
class VclBox;
class VclButtonBox;
@@ -69,7 +70,8 @@ private:
SAL_DLLPRIVATE Dialog (const Dialog &) = delete;
SAL_DLLPRIVATE Dialog & operator= (const Dialog &) = delete;
- DECL_DLLPRIVATE_LINK( ImplAsyncCloseHdl, void*, void );
+ DECL_DLLPRIVATE_LINK(ImplAsyncCloseHdl, void*, void);
+ DECL_DLLPRIVATE_LINK(ResponseHdl, Button*, void);
protected:
using Window::ImplInit;
@@ -78,6 +80,7 @@ protected:
public:
SAL_DLLPRIVATE bool IsInClose() const { return mbInClose; }
virtual void doDeferredInit(WinBits nBits) override;
+ SAL_DLLPRIVATE void disposeOwnedButtons();
protected:
explicit Dialog( WindowType nType );
@@ -170,6 +173,9 @@ public:
void GrabFocusToFirstControl();
virtual void Resize() override;
+
+ void add_button(PushButton* pButton, int nResponse, bool bTransferOwnership);
+ void set_default_response(int nResponse);
};
class VCL_DLLPUBLIC ModelessDialog : public Dialog
diff --git a/include/vcl/errinf.hxx b/include/vcl/errinf.hxx
index f4edc53d46fd..95e16213981b 100644
--- a/include/vcl/errinf.hxx
+++ b/include/vcl/errinf.hxx
@@ -31,6 +31,7 @@
#include <limits.h>
namespace vcl { class Window; }
+namespace weld { class Window; }
class ErrorHandler;
class ErrorContext;
@@ -43,7 +44,7 @@ enum class DialogMask;
typedef void (* DisplayFnPtr)();
typedef DialogMask WindowDisplayErrorFunc(
- vcl::Window*, DialogMask eMask, const OUString &rErr, const OUString &rAction);
+ weld::Window*, DialogMask eMask, const OUString &rErr, const OUString &rAction);
typedef void BasicDisplayErrorFunc(
const OUString &rErr, const OUString &rAction);
@@ -99,7 +100,7 @@ namespace o3tl
}
typedef DialogMask WindowDisplayErrorFunc(
- vcl::Window*, DialogMask nMask, const OUString &rErr, const OUString &rAction);
+ weld::Window*, DialogMask nMask, const OUString &rErr, const OUString &rAction);
typedef void BasicDisplayErrorFunc(
const OUString &rErr, const OUString &rAction);
@@ -128,7 +129,7 @@ public:
@return what sort of dialog to use, with what buttons
*/
- static DialogMask HandleError(ErrCode nId, vcl::Window* pParent = nullptr, DialogMask nMask = DialogMask::MAX);
+ static DialogMask HandleError(ErrCode nId, weld::Window* pParent = nullptr, DialogMask nMask = DialogMask::MAX);
static bool GetErrorString(ErrCode nId, OUString& rStr);
protected:
@@ -204,11 +205,11 @@ class SAL_WARN_UNUSED VCL_DLLPUBLIC ErrorContext
friend class ErrorHandler;
public:
- ErrorContext(vcl::Window *pWin);
+ ErrorContext(weld::Window *pWin);
virtual ~ErrorContext();
virtual bool GetString(ErrCode nErrId, OUString& rCtxStr) = 0;
- vcl::Window* GetParent();
+ weld::Window* GetParent();
static ErrorContext* GetContext();
diff --git a/include/vcl/messagedialog.hxx b/include/vcl/messagedialog.hxx
index 6de75a9fb9a6..1cce2f41009e 100644
--- a/include/vcl/messagedialog.hxx
+++ b/include/vcl/messagedialog.hxx
@@ -26,13 +26,8 @@ private:
VclPtr<FixedImage> m_pImage;
VclPtr<VclMultiLineEdit> m_pPrimaryMessage;
VclPtr<VclMultiLineEdit> m_pSecondaryMessage;
- std::vector<VclPtr<PushButton>> m_aOwnedButtons;
- std::map<VclPtr<const vcl::Window>, short> m_aResponses;
OUString m_sPrimaryString;
OUString m_sSecondaryString;
- DECL_DLLPRIVATE_LINK(ButtonHdl, Button*, void);
- void setButtonHandlers(VclButtonBox const* pButtonBox);
- short get_response(const vcl::Window* pWindow) const;
void create_owned_areas();
friend class VclPtr<MessageDialog>;
@@ -45,8 +40,6 @@ public:
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;
- ///Emitted when an action widget is clicked
- virtual void response(short nResponseId);
OUString const& get_primary_text() const;
OUString const& get_secondary_text() const;
void set_primary_text(const OUString& rPrimaryString);
diff --git a/include/vcl/msgbox.hxx b/include/vcl/msgbox.hxx
index 7c982cc5a996..203d3ea36d80 100644
--- a/include/vcl/msgbox.hxx
+++ b/include/vcl/msgbox.hxx
@@ -88,16 +88,8 @@ public:
virtual Size GetOptimalSize() const override;
};
-class VCL_DLLPUBLIC InfoBox : public MessBox
-{
-public:
- InfoBox( vcl::Window* pParent, const OUString& rMessage );
- InfoBox( vcl::Window* pParent, MessBoxStyle nStyle,
- const OUString& rMessage );
-
- static Image const & GetStandardImage();
- static OUString GetStandardText();
-};
+VCL_DLLPUBLIC Image const & GetStandardInfoBoxImage();
+VCL_DLLPUBLIC OUString GetStandardInfoBoxText();
class VCL_DLLPUBLIC WarningBox : public MessBox
{
diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx
index bfc6a7e10214..69674ab9ba17 100644
--- a/include/vcl/weld.hxx
+++ b/include/vcl/weld.hxx
@@ -96,6 +96,8 @@ class VCL_DLLPUBLIC Dialog : virtual public Window
public:
virtual int run() = 0;
virtual void response(int response) = 0;
+ virtual void add_button(const OUString& rText, int response) = 0;
+ virtual void set_default_response(int response) = 0;
};
class VCL_DLLPUBLIC MessageDialog : virtual public Dialog
diff --git a/sc/source/core/data/dpobject.cxx b/sc/source/core/data/dpobject.cxx
index 0bafb21b85ca..c806f05aae6e 100644
--- a/sc/source/core/data/dpobject.cxx
+++ b/sc/source/core/data/dpobject.cxx
@@ -73,7 +73,8 @@
#include <tools/debug.hxx>
#include <tools/diagnose_ex.h>
#include <svl/zforlist.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/svapp.hxx>
+#include <vcl/weld.hxx>
#include <utility>
#include <vector>
@@ -3308,8 +3309,10 @@ uno::Reference<sdbc::XRowSet> ScDPCollection::DBCaches::createRowSet(
catch ( const sdbc::SQLException& rError )
{
//! store error message
- ScopedVclPtrInstance< InfoBox > aInfoBox( nullptr, rError.Message );
- aInfoBox->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ rError.Message));
+ xInfoBox->run();
}
catch ( uno::Exception& )
{
diff --git a/sc/source/ui/dbgui/consdlg.cxx b/sc/source/ui/dbgui/consdlg.cxx
index 7d1ccc0f6b33..0e3e09839892 100644
--- a/sc/source/ui/dbgui/consdlg.cxx
+++ b/sc/source/ui/dbgui/consdlg.cxx
@@ -32,9 +32,19 @@
#include <strings.hrc>
#include <consdlg.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/svapp.hxx>
+#include <vcl/weld.hxx>
-#define INFOBOX(id) ScopedVclPtrInstance<InfoBox>(this, ScGlobal::GetRscString(id))->Execute()
+namespace
+{
+ void INFOBOX(weld::Window* pWindow, const char* id)
+ {
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWindow,
+ VclMessageType::Info, VclButtonsType::Ok,
+ ScGlobal::GetRscString(id)));
+ xInfoBox->run();
+ }
+}
class ScAreaData
{
@@ -406,7 +416,7 @@ IMPL_LINK_NOARG(ScConsolidateDlg, OkHdl, Button*, void)
}
else
{
- INFOBOX( STR_INVALID_TABREF );
+ INFOBOX(GetFrameWeld(), STR_INVALID_TABREF);
pEdDestArea->GrabFocus();
}
}
@@ -461,11 +471,11 @@ IMPL_LINK( ScConsolidateDlg, ClickHdl, Button*, pBtn, void )
if ( pLbConsAreas->GetEntryPos( aNewArea ) == LISTBOX_ENTRY_NOTFOUND )
pLbConsAreas->InsertEntry( aNewArea );
else
- INFOBOX( STR_AREA_ALREADY_INSERTED );
+ INFOBOX(GetFrameWeld(), STR_AREA_ALREADY_INSERTED);
}
else
{
- INFOBOX( STR_INVALID_TABREF );
+ INFOBOX(GetFrameWeld(), STR_INVALID_TABREF);
pEdDataArea->GrabFocus();
}
}
diff --git a/sc/source/ui/dbgui/scendlg.cxx b/sc/source/ui/dbgui/scendlg.cxx
index b914ed2609a7..77eb9ba6f610 100644
--- a/sc/source/ui/dbgui/scendlg.cxx
+++ b/sc/source/ui/dbgui/scendlg.cxx
@@ -26,7 +26,7 @@
#include <svx/xtable.hxx>
#include <sfx2/objsh.hxx>
#include <unotools/useroptions.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <unotools/localedatawrapper.hxx>
#include <global.hxx>
@@ -151,12 +151,18 @@ IMPL_LINK_NOARG(ScNewScenarioDlg, OkHdl, Button*, void)
if ( !ScDocument::ValidTabName( aName ) )
{
- ScopedVclPtrInstance<InfoBox>(this, ScGlobal::GetRscString(STR_INVALIDTABNAME))->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(GetFrameWeld(),
+ VclMessageType::Info, VclButtonsType::Ok,
+ ScGlobal::GetRscString(STR_INVALIDTABNAME)));
+ xInfoBox->run();
m_pEdName->GrabFocus();
}
else if ( !bIsEdit && !pDoc->ValidNewTabName( aName ) )
{
- ScopedVclPtrInstance<InfoBox>(this, ScGlobal::GetRscString(STR_NEWTABNAMENOTUNIQUE))->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(GetFrameWeld(),
+ VclMessageType::Info, VclButtonsType::Ok,
+ ScGlobal::GetRscString(STR_NEWTABNAMENOTUNIQUE)));
+ xInfoBox->run();
m_pEdName->GrabFocus();
}
else
diff --git a/sc/source/ui/docshell/arealink.cxx b/sc/source/ui/docshell/arealink.cxx
index 63ea2ad325f0..e9ce36f11ac9 100644
--- a/sc/source/ui/docshell/arealink.cxx
+++ b/sc/source/ui/docshell/arealink.cxx
@@ -23,7 +23,7 @@
#include <sfx2/fcontnr.hxx>
#include <sfx2/linkmgr.hxx>
#include <svl/stritem.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <arealink.hxx>
@@ -463,9 +463,11 @@ bool ScAreaLink::Refresh( const OUString& rNewFile, const OUString& rNewFilter,
//! Link dialog must set default parent
// "cannot insert rows"
- ScopedVclPtrInstance<InfoBox> aBox( Application::GetDefDialogParent(),
- ScGlobal::GetRscString( STR_MSSG_DOSUBTOTALS_2 ) );
- aBox->Execute();
+ vcl::Window* pWin = Application::GetDefDialogParent();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ ScGlobal::GetRscString(STR_MSSG_DOSUBTOTALS_2)));
+ xInfoBox->run();
}
// clean up
diff --git a/sc/source/ui/docshell/dbdocfun.cxx b/sc/source/ui/docshell/dbdocfun.cxx
index 50e0f5b514e6..1c413903a35a 100644
--- a/sc/source/ui/docshell/dbdocfun.cxx
+++ b/sc/source/ui/docshell/dbdocfun.cxx
@@ -19,6 +19,7 @@
#include <sfx2/app.hxx>
#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <vcl/waitobj.hxx>
#include <svx/dataaccessdescriptor.hxx>
#include <svx/svdpage.hxx>
@@ -1670,9 +1671,11 @@ void ScDBDocFunc::UpdateImport( const OUString& rTarget, const svx::ODataAccessD
const ScDBData* pData = rDBColl.getNamedDBs().findByUpperName(ScGlobal::pCharClass->uppercase(rTarget));
if (!pData)
{
- ScopedVclPtrInstance<InfoBox> aInfoBox( ScDocShell::GetActiveDialogParent(),
- ScGlobal::GetRscString( STR_TARGETNOTFOUND ) );
- aInfoBox->Execute();
+ vcl::Window* pWin = ScDocShell::GetActiveDialogParent();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ ScGlobal::GetRscString(STR_TARGETNOTFOUND)));
+ xInfoBox->run();
return;
}
diff --git a/sc/source/ui/docshell/dbdocimp.cxx b/sc/source/ui/docshell/dbdocimp.cxx
index d83fb8be69f4..ad0481942934 100644
--- a/sc/source/ui/docshell/dbdocimp.cxx
+++ b/sc/source/ui/docshell/dbdocimp.cxx
@@ -20,7 +20,7 @@
#include <vcl/errinf.hxx>
#include <comphelper/processfactory.hxx>
#include <comphelper/types.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <svx/dataaccessdescriptor.hxx>
#include <sfx2/viewfrm.hxx>
@@ -616,8 +616,11 @@ bool ScDBDocFunc::DoImport( SCTAB nTab, const ScImportParam& rParam,
pErrStringId = STR_MSSG_IMPORTDATA_0;
aErrorMessage = ScGlobal::GetRscString(pErrStringId);
}
- ScopedVclPtrInstance< InfoBox > aInfoBox( ScDocShell::GetActiveDialogParent(), aErrorMessage );
- aInfoBox->Execute();
+ vcl::Window* pWin = ScDocShell::GetActiveDialogParent();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ aErrorMessage));
+ xInfoBox->run();
}
delete pImportDoc;
diff --git a/sc/source/ui/docshell/docfunc.cxx b/sc/source/ui/docshell/docfunc.cxx
index 430da19d4fa8..4ac78e1b67a0 100644
--- a/sc/source/ui/docshell/docfunc.cxx
+++ b/sc/source/ui/docshell/docfunc.cxx
@@ -25,6 +25,7 @@
#include <sfx2/linkmgr.hxx>
#include <sfx2/bindings.hxx>
#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <vcl/virdev.hxx>
#include <vcl/waitobj.hxx>
#include <svl/PasswordHelper.hxx>
@@ -394,8 +395,10 @@ bool ScDocFunc::DetectiveMarkInvalid(SCTAB nTab)
aModificator.SetDocumentModified();
if ( bOverflow )
{
- ScopedVclPtrInstance<InfoBox>( nullptr,
- ScGlobal::GetRscString( STR_DETINVALID_OVERFLOW ) )->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ ScGlobal::GetRscString(STR_DETINVALID_OVERFLOW)));
+ xInfoBox->run();
}
}
else
@@ -3911,8 +3914,11 @@ bool ScDocFunc::Unprotect( SCTAB nTab, const OUString& rPassword, bool bApi )
{
if (!bApi)
{
- ScopedVclPtrInstance< InfoBox > aBox( ScDocShell::GetActiveDialogParent(), ScResId( SCSTR_WRONGPASSWORD ) );
- aBox->Execute();
+ vcl::Window* pWin = ScDocShell::GetActiveDialogParent();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ ScResId(SCSTR_WRONGPASSWORD)));
+ xInfoBox->run();
}
return false;
}
@@ -3941,8 +3947,11 @@ bool ScDocFunc::Unprotect( SCTAB nTab, const OUString& rPassword, bool bApi )
{
if (!bApi)
{
- ScopedVclPtrInstance< InfoBox > aBox( ScDocShell::GetActiveDialogParent(), ScResId( SCSTR_WRONGPASSWORD ) );
- aBox->Execute();
+ vcl::Window* pWin = ScDocShell::GetActiveDialogParent();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ ScResId(SCSTR_WRONGPASSWORD)));
+ xInfoBox->run();
}
return false;
}
diff --git a/sc/source/ui/docshell/docsh3.cxx b/sc/source/ui/docshell/docsh3.cxx
index 8eae0400beee..f13a23113498 100644
--- a/sc/source/ui/docshell/docsh3.cxx
+++ b/sc/source/ui/docshell/docsh3.cxx
@@ -34,6 +34,7 @@
#include <unotools/misccfg.hxx>
#include <vcl/virdev.hxx>
#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <docsh.hxx>
#include "docshimp.hxx"
@@ -1317,8 +1318,11 @@ bool ScDocShell::MergeSharedDocument( ScDocShell* pSharedDocShell )
PostPaintExtras();
PostPaintGridAll();
- ScopedVclPtrInstance< InfoBox > aInfoBox( GetActiveDialogParent(), ScGlobal::GetRscString( STR_DOC_UPDATED ) );
- aInfoBox->Execute();
+ vcl::Window* pWin = GetActiveDialogParent();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ ScGlobal::GetRscString(STR_DOC_UPDATED)));
+ xInfoBox->run();
}
return ( pThisAction != nullptr );
diff --git a/sc/source/ui/docshell/docsh4.cxx b/sc/source/ui/docshell/docsh4.cxx
index 8721cecc6a97..749ec29784a7 100644
--- a/sc/source/ui/docshell/docsh4.cxx
+++ b/sc/source/ui/docshell/docsh4.cxx
@@ -44,6 +44,7 @@ using namespace ::com::sun::star;
#include <svx/ofaitem.hxx>
#include <svl/whiter.hxx>
#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <vcl/waitobj.hxx>
#include <svx/dataaccessdescriptor.hxx>
#include <svx/drawitem.hxx>
@@ -1293,9 +1294,11 @@ bool ScDocShell::ExecuteChangeProtectionDialog( bool bJustQueryIfProtected )
}
else
{
- ScopedVclPtrInstance<InfoBox> aBox( GetActiveDialogParent(),
- ScResId( SCSTR_WRONGPASSWORD ) );
- aBox->Execute();
+ vcl::Window* pWin = ScDocShell::GetActiveDialogParent();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ ScResId(SCSTR_WRONGPASSWORD)));
+ xInfoBox->run();
}
}
else
@@ -1629,10 +1632,12 @@ void ScDocShell::PageStyleModified( const OUString& rStyleName, bool bApi )
if (bWarn && !bApi)
{
- ScWaitCursorOff aWaitOff( GetActiveDialogParent() );
- ScopedVclPtrInstance<InfoBox> aInfoBox(GetActiveDialogParent(),
- ScGlobal::GetRscString(STR_PRINT_INVALID_AREA));
- aInfoBox->Execute();
+ vcl::Window* pWin = GetActiveDialogParent();
+ ScWaitCursorOff aWaitOff(pWin);
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ ScGlobal::GetRscString(STR_PRINT_INVALID_AREA)));
+ xInfoBox->run();
}
}
diff --git a/sc/source/ui/docshell/docsh5.cxx b/sc/source/ui/docshell/docsh5.cxx
index d55f0f29f9c5..8b1730af3a0d 100644
--- a/sc/source/ui/docshell/docsh5.cxx
+++ b/sc/source/ui/docshell/docsh5.cxx
@@ -23,7 +23,7 @@
#include <cassert>
#include <scitems.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <vcl/waitobj.hxx>
#include <sfx2/app.hxx>
#include <sfx2/bindings.hxx>
@@ -82,8 +82,11 @@ void ScDocShell::ErrorMessage(const char* pGlobStrId)
}
}
- ScopedVclPtrInstance< InfoBox > aBox( pParent, ScGlobal::GetRscString(pGlobStrId));
- aBox->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pParent ? pParent->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ ScGlobal::GetRscString(pGlobStrId)));
+ xInfoBox->run();
+
if (bFocus)
pParent->GrabFocus();
}
@@ -519,9 +522,11 @@ void ScDocShell::DoConsolidate( const ScConsolidateParam& rParam, bool bRecord )
if (bErr)
{
- ScopedVclPtrInstance<InfoBox> aBox( GetActiveDialogParent(),
- ScGlobal::GetRscString( STR_CONSOLIDATE_ERR1 ) );
- aBox->Execute();
+ vcl::Window* pWin = GetActiveDialogParent();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ ScGlobal::GetRscString(STR_CONSOLIDATE_ERR1)));
+ xInfoBox->run();
return;
}
@@ -729,16 +734,20 @@ void ScDocShell::UseScenario( SCTAB nTab, const OUString& rName, bool bRecord )
}
else
{
- ScopedVclPtrInstance<InfoBox> aBox( GetActiveDialogParent(),
- ScGlobal::GetRscString( STR_PROTECTIONERR ) );
- aBox->Execute();
+ vcl::Window* pWin = GetActiveDialogParent();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ ScGlobal::GetRscString(STR_PROTECTIONERR)));
+ xInfoBox->run();
}
}
else
{
- ScopedVclPtrInstance<InfoBox> aBox(GetActiveDialogParent(),
- ScGlobal::GetRscString( STR_SCENARIO_NOTFOUND ) );
- aBox->Execute();
+ vcl::Window* pWin = GetActiveDialogParent();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ ScGlobal::GetRscString(STR_SCENARIO_NOTFOUND)));
+ xInfoBox->run();
}
}
else
diff --git a/sc/source/ui/docshell/docsh6.cxx b/sc/source/ui/docshell/docsh6.cxx
index 508ea9f5b882..8e3a28280e2a 100644
--- a/sc/source/ui/docshell/docsh6.cxx
+++ b/sc/source/ui/docshell/docsh6.cxx
@@ -37,7 +37,8 @@
#include <interpre.hxx>
#include <calcconfig.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/svapp.hxx>
+#include <vcl/weld.hxx>
#include <memory>
#include <utility>
@@ -499,8 +500,10 @@ void ScDocShell::CheckConfigOptions()
if (pViewShell)
{
vcl::Window* pParent = pViewShell->GetFrameWin();
- ScopedVclPtrInstance< InfoBox > aBox(pParent, ScGlobal::GetRscString(STR_OPTIONS_WARN_SEPARATORS));
- aBox->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pParent ? pParent->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ ScGlobal::GetRscString(STR_OPTIONS_WARN_SEPARATORS)));
+ xInfoBox->run();
}
// For now, this is the only option setting that could launch info
diff --git a/sc/source/ui/docshell/impex.cxx b/sc/source/ui/docshell/impex.cxx
index 146c097626e1..e39abc0dc479 100644
--- a/sc/source/ui/docshell/impex.cxx
+++ b/sc/source/ui/docshell/impex.cxx
@@ -57,6 +57,7 @@
#include <tools/svlibrary.h>
#include <unotools/configmgr.hxx>
#include <vcl/svapp.hxx>
+#include <vcl/weld.hxx>
#include <memory>
#include <osl/endian.h>
@@ -227,9 +228,11 @@ bool ScImportExport::StartPaste()
ScEditableTester aTester( pDoc, aRange );
if ( !aTester.IsEditable() )
{
- ScopedVclPtrInstance<InfoBox> aInfoBox( Application::GetDefDialogParent(),
- ScGlobal::GetRscString( aTester.GetMessageId() ) );
- aInfoBox->Execute();
+ vcl::Window* pWin = Application::GetDefDialogParent();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ ScGlobal::GetRscString(aTester.GetMessageId())));
+ xInfoBox->run();
return false;
}
}
diff --git a/sc/source/ui/optdlg/tpusrlst.cxx b/sc/source/ui/optdlg/tpusrlst.cxx
index 4eb077076728..52e671bcb33d 100644
--- a/sc/source/ui/optdlg/tpusrlst.cxx
+++ b/sc/source/ui/optdlg/tpusrlst.cxx
@@ -420,7 +420,10 @@ void ScTpUserLists::CopyListFromArea( const ScRefAddress& rStartPos,
if ( bValueIgnored )
{
- ScopedVclPtrInstance<InfoBox>(this, aStrCopyErr)->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(GetFrameWeld(),
+ VclMessageType::Info, VclButtonsType::Ok,
+ aStrCopyErr));
+ xInfoBox->run();
}
}
diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx
index 99227a5dbd7f..f24c6b4c60a6 100644
--- a/sc/source/ui/view/cellsh1.cxx
+++ b/sc/source/ui/view/cellsh1.cxx
@@ -35,6 +35,7 @@
#include <sfx2/dispatch.hxx>
#include <sfx2/request.hxx>
#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <svx/svxdlg.hxx>
#include <sot/formats.hxx>
#include <svx/postattr.hxx>
@@ -2960,8 +2961,11 @@ void ScCellShell::ExecuteDataPilotDialog()
if (pSrcErrorId)
{
// Error occurred during data creation. Launch an error and bail out.
- ScopedVclPtrInstance< InfoBox > aBox(pTabViewShell->GetDialogParent(), ScGlobal::GetRscString(pSrcErrorId));
- aBox->Execute();
+ vcl::Window* pWin = pTabViewShell->GetDialogParent();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ ScGlobal::GetRscString(pSrcErrorId)));
+ xInfoBox->run();
return;
}
diff --git a/sc/source/ui/view/spelleng.cxx b/sc/source/ui/view/spelleng.cxx
index 15fedc1f9733..9e39ea9dfa61 100644
--- a/sc/source/ui/view/spelleng.cxx
+++ b/sc/source/ui/view/spelleng.cxx
@@ -27,9 +27,10 @@
#include <editeng/editobj.hxx>
#include <editeng/editview.hxx>
#include <sfx2/viewfrm.hxx>
-#include <vcl/msgbox.hxx>
-#include <vcl/svapp.hxx>
#include <vcl/settings.hxx>
+#include <vcl/svapp.hxx>
+#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <spelldialog.hxx>
#include <tabvwsh.hxx>
@@ -316,7 +317,10 @@ void ScSpellingEngine::ShowFinishDialog()
{
vcl::Window* pParent = GetDialogParent();
ScWaitCursorOff aWaitOff( pParent );
- ScopedVclPtrInstance<InfoBox>( pParent, ScGlobal::GetRscString( STR_SPELLING_STOP_OK ) )->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pParent ? pParent->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ ScGlobal::GetRscString(STR_SPELLING_STOP_OK)));
+ xInfoBox->run();
}
vcl::Window* ScSpellingEngine::GetDialogParent()
diff --git a/sc/source/ui/view/tabview2.cxx b/sc/source/ui/view/tabview2.cxx
index 17d562836124..4aa52f586910 100644
--- a/sc/source/ui/view/tabview2.cxx
+++ b/sc/source/ui/view/tabview2.cxx
@@ -20,7 +20,7 @@
#include <scitems.hxx>
#include <editeng/eeitem.hxx>
#include <vcl/timer.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <sfx2/app.hxx>
#include <sfx2/viewfrm.hxx>
#include <sfx2/bindings.hxx>
@@ -1434,8 +1434,11 @@ void ScTabView::ErrorMessage(const char* pGlobStrId)
}
}
- ScopedVclPtrInstance<InfoBox> aBox(pParent, ScGlobal::GetRscString(pGlobStrId));
- aBox->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pParent ? pParent->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ ScGlobal::GetRscString(pGlobStrId)));
+ xInfoBox->run();
+
if (bFocus)
pParent->GrabFocus();
}
diff --git a/sc/source/ui/view/viewfun4.cxx b/sc/source/ui/view/viewfun4.cxx
index f59e4b25db5c..78bdd8eb7cc2 100644
--- a/sc/source/ui/view/viewfun4.cxx
+++ b/sc/source/ui/view/viewfun4.cxx
@@ -41,7 +41,7 @@
#include <svtools/transfer.hxx>
#include <svl/urlbmk.hxx>
#include <svl/sharedstringpool.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <avmedia/mediawindow.hxx>
#include <comphelper/storagehelper.hxx>
@@ -399,8 +399,12 @@ void ScViewFunc::DoThesaurus()
LanguageType eLnge = ScViewUtil::GetEffLanguage( &rDoc, ScAddress( nCol, nRow, nTab ) );
OUString aErr = SvtLanguageTable::GetLanguageString(eLnge);
aErr += ScGlobal::GetRscString( STR_SPELLING_NO_LANG );
- ScopedVclPtrInstance< InfoBox > aBox( GetViewData().GetDialogParent(), aErr );
- aBox->Execute();
+
+ vcl::Window* pWin = GetViewData().GetDialogParent();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ aErr));
+ xInfoBox->run();
}
if (pThesaurusEngine->IsModified())
{
diff --git a/sd/source/ui/dlg/PhotoAlbumDialog.cxx b/sd/source/ui/dlg/PhotoAlbumDialog.cxx
index 18978ee448c8..adf5a386ee9f 100644
--- a/sd/source/ui/dlg/PhotoAlbumDialog.cxx
+++ b/sd/source/ui/dlg/PhotoAlbumDialog.cxx
@@ -26,6 +26,7 @@
#include <officecfg/Office/Impress.hxx>
#include <svx/svdview.hxx>
#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <svx/unoshape.hxx>
#include <svx/xfltrit.hxx>
#include <svx/xfillit.hxx>
@@ -490,8 +491,10 @@ IMPL_LINK_NOARG(SdPhotoAlbumDialog, CreateHdl, Button*, void)
}
else
{
- ScopedVclPtrInstance< InfoBox > aInfo(this, OUString("Function is not implemented!"));
- aInfo->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(GetFrameWeld(),
+ VclMessageType::Info, VclButtonsType::Ok,
+ "Function is not implemented!"));
+ xInfoBox->run();
}
EndDialog();
}
diff --git a/sd/source/ui/func/fudraw.cxx b/sd/source/ui/func/fudraw.cxx
index 8d507f4302e1..f25836ae459d 100644
--- a/sd/source/ui/func/fudraw.cxx
+++ b/sd/source/ui/func/fudraw.cxx
@@ -58,7 +58,7 @@
#include <drawview.hxx>
#include <fusel.hxx>
#include <svl/aeitem.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <slideshow.hxx>
#include <svx/sdrhittesthelper.hxx>
@@ -339,7 +339,10 @@ bool FuDraw::KeyInput(const KeyEvent& rKEvt)
{
if (mpView->IsPresObjSelected(false, true, false, true))
{
- ScopedVclPtrInstance<InfoBox>(mpWindow, SdResId(STR_ACTION_NOTPOSSIBLE))->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(mpWindow->GetFrameWeld(),
+ VclMessageType::Info, VclButtonsType::Ok,
+ SdResId(STR_ACTION_NOTPOSSIBLE)));
+ xInfoBox->run();
}
else
{
diff --git a/sd/source/ui/func/futhes.cxx b/sd/source/ui/func/futhes.cxx
index ad1907648d2c..02fca91226bb 100644
--- a/sd/source/ui/func/futhes.cxx
+++ b/sd/source/ui/func/futhes.cxx
@@ -67,7 +67,7 @@ rtl::Reference<FuPoor> FuThesaurus::Create( ViewShell* pViewSh, ::sd::Window* pW
void FuThesaurus::DoExecute( SfxRequest& )
{
SfxErrorContext aContext(ERRCTX_SVX_LINGU_THESAURUS, OUString(),
- mpWindow, RID_SVXERRCTX, SvxResLocale());
+ mpWindow->GetFrameWeld(), RID_SVXERRCTX, SvxResLocale());
if (mpViewShell && dynamic_cast< DrawViewShell *>( mpViewShell ) != nullptr)
{
diff --git a/sd/source/ui/view/drawview.cxx b/sd/source/ui/view/drawview.cxx
index 7620a2cec268..d1b2832c2cc4 100644
--- a/sd/source/ui/view/drawview.cxx
+++ b/sd/source/ui/view/drawview.cxx
@@ -18,7 +18,7 @@
*/
#include <sfx2/dispatch.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <svx/svdpagv.hxx>
#include <sfx2/request.hxx>
#include <svl/style.hxx>
@@ -433,8 +433,11 @@ bool DrawView::SetStyleSheet(SfxStyleSheet* pStyleSheet, bool bDontRemoveHardAtt
{
if (IsPresObjSelected(false))
{
- ScopedVclPtrInstance<InfoBox>(mpDrawViewShell->GetActiveWindow(),
- SdResId(STR_ACTION_NOTPOSSIBLE))->Execute();
+ vcl::Window* pWin = mpDrawViewShell->GetActiveWindow();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ SdResId(STR_ACTION_NOTPOSSIBLE)));
+ xInfoBox->run();
bResult = false;
}
else
diff --git a/sd/source/ui/view/drviews2.cxx b/sd/source/ui/view/drviews2.cxx
index 615bfb9e9a00..6d6dcad9e855 100644
--- a/sd/source/ui/view/drviews2.cxx
+++ b/sd/source/ui/view/drviews2.cxx
@@ -958,7 +958,10 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
if ( mpDrawView->IsPresObjSelected() )
{
::sd::Window* pWindow = GetActiveWindow();
- ScopedVclPtrInstance<InfoBox>(pWindow, SdResId(STR_ACTION_NOTPOSSIBLE))->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWindow ? pWindow->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ SdResId(STR_ACTION_NOTPOSSIBLE)));
+ xInfoBox->run();
}
else
{
@@ -1003,7 +1006,10 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
if ( mpDrawView->IsPresObjSelected() )
{
::sd::Window* pWindow = GetActiveWindow();
- ScopedVclPtrInstance<InfoBox>(pWindow, SdResId(STR_ACTION_NOTPOSSIBLE))->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWindow ? pWindow->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ SdResId(STR_ACTION_NOTPOSSIBLE)));
+ xInfoBox->run();
}
else
{
@@ -1031,7 +1037,10 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
if ( mpDrawView->IsPresObjSelected(true,true,true) )
{
::sd::Window* pWindow = GetActiveWindow();
- ScopedVclPtrInstance<InfoBox>(pWindow, SdResId(STR_ACTION_NOTPOSSIBLE))->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWindow ? pWindow->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ SdResId(STR_ACTION_NOTPOSSIBLE)));
+ xInfoBox->run();
}
else
{
@@ -1545,7 +1554,10 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
if ( mpDrawView->IsPresObjSelected(false) )
{
::sd::Window* pWindow = GetActiveWindow();
- ScopedVclPtrInstance<InfoBox>(pWindow, SdResId(STR_ACTION_NOTPOSSIBLE))->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWindow ? pWindow->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ SdResId(STR_ACTION_NOTPOSSIBLE)));
+ xInfoBox->run();
}
else
{
@@ -1724,11 +1736,16 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
if( !bDone )
{
::sd::Window* pWindow = GetActiveWindow();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWindow ? pWindow->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
#ifndef UNX
- ScopedVclPtrInstance<InfoBox>(pWindow, SdResId(STR_TWAIN_NO_SOURCE))->Execute();
+ SdResId(STR_TWAIN_NO_SOURCE)
#else
- ScopedVclPtrInstance<InfoBox>(pWindow, SdResId(STR_TWAIN_NO_SOURCE_UNX))->Execute();
+ SdResId(STR_TWAIN_NO_SOURCE_UNX)
#endif
+ ));
+ xInfoBox->run();
+
}
else
{
@@ -2449,7 +2466,10 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
if ( mpDrawView->IsPresObjSelected( true, true, true ) )
{
::sd::Window* pWindow = GetActiveWindow();
- ScopedVclPtrInstance<InfoBox>(pWindow, SdResId(STR_ACTION_NOTPOSSIBLE))->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWindow ? pWindow->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ SdResId(STR_ACTION_NOTPOSSIBLE)));
+ xInfoBox->run();
}
else
{
@@ -2568,7 +2588,10 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
if ( mpDrawView->IsPresObjSelected() )
{
::sd::Window* pWindow = GetActiveWindow();
- ScopedVclPtrInstance<InfoBox>(pWindow, SdResId(STR_ACTION_NOTPOSSIBLE))->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWindow ? pWindow->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ SdResId(STR_ACTION_NOTPOSSIBLE)));
+ xInfoBox->run();
}
else
{
@@ -2585,7 +2608,10 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
if ( mpDrawView->IsPresObjSelected() )
{
::sd::Window* pWindow = GetActiveWindow();
- ScopedVclPtrInstance<InfoBox>(pWindow, SdResId(STR_ACTION_NOTPOSSIBLE))->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWindow ? pWindow->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ SdResId(STR_ACTION_NOTPOSSIBLE)));
+ xInfoBox->run();
}
else
{
@@ -2605,7 +2631,10 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
if ( mpDrawView->IsPresObjSelected() )
{
::sd::Window* pWindow = GetActiveWindow();
- ScopedVclPtrInstance<InfoBox>(pWindow, SdResId(STR_ACTION_NOTPOSSIBLE))->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWindow ? pWindow->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ SdResId(STR_ACTION_NOTPOSSIBLE)));
+ xInfoBox->run();
}
else
{
@@ -2626,7 +2655,10 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
if ( mpDrawView->IsPresObjSelected() )
{
::sd::Window* pWindow = GetActiveWindow();
- ScopedVclPtrInstance<InfoBox>(pWindow, SdResId(STR_ACTION_NOTPOSSIBLE))->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWindow ? pWindow->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ SdResId(STR_ACTION_NOTPOSSIBLE)));
+ xInfoBox->run();
}
else
{
@@ -2647,7 +2679,10 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
if ( mpDrawView->IsPresObjSelected() )
{
::sd::Window* pWindow = GetActiveWindow();
- ScopedVclPtrInstance<InfoBox>(pWindow, SdResId(STR_ACTION_NOTPOSSIBLE))->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWindow ? pWindow->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ SdResId(STR_ACTION_NOTPOSSIBLE)));
+ xInfoBox->run();
}
else
{
@@ -2689,7 +2724,10 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
if ( mpDrawView->IsPresObjSelected() )
{
::sd::Window* pWindow = GetActiveWindow();
- ScopedVclPtrInstance<InfoBox>(pWindow, SdResId(STR_ACTION_NOTPOSSIBLE))->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWindow ? pWindow->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ SdResId(STR_ACTION_NOTPOSSIBLE)));
+ xInfoBox->run();
}
else
{
@@ -2781,7 +2819,10 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
if ( mpDrawView->IsPresObjSelected() )
{
::sd::Window* pWindow = GetActiveWindow();
- ScopedVclPtrInstance<InfoBox>(pWindow, SdResId(STR_ACTION_NOTPOSSIBLE))->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWindow ? pWindow->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ SdResId(STR_ACTION_NOTPOSSIBLE)));
+ xInfoBox->run();
}
else
{
diff --git a/sd/source/ui/view/drviewse.cxx b/sd/source/ui/view/drviewse.cxx
index becb587d9e33..151c1fa10c47 100644
--- a/sd/source/ui/view/drviewse.cxx
+++ b/sd/source/ui/view/drviewse.cxx
@@ -34,6 +34,7 @@
#include <svl/aeitem.hxx>
#include <editeng/editstat.hxx>
#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <svl/urlbmk.hxx>
#include <svx/svdpagv.hxx>
#include <svx/fmshell.hxx>
@@ -328,7 +329,10 @@ void DrawViewShell::FuPermanent(SfxRequest& rReq)
if ( mpDrawView->IsPresObjSelected() )
{
::sd::Window* pWindow = GetActiveWindow();
- ScopedVclPtrInstance<InfoBox>(pWindow, SdResId(STR_ACTION_NOTPOSSIBLE) )->Execute();
+ 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)
@@ -365,7 +369,10 @@ void DrawViewShell::FuPermanent(SfxRequest& rReq)
if ( mpDrawView->IsPresObjSelected() )
{
::sd::Window* pWindow = GetActiveWindow();
- ScopedVclPtrInstance<InfoBox>(pWindow, SdResId(STR_ACTION_NOTPOSSIBLE) )->Execute();
+ 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)
@@ -671,7 +678,10 @@ void DrawViewShell::FuDeleteSelectedObjects()
if (mpDrawView->IsPresObjSelected(false, true, false, true))
{
::sd::Window* pWindow = GetActiveWindow();
- ScopedVclPtrInstance<InfoBox>(pWindow, SdResId(STR_ACTION_NOTPOSSIBLE) )->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWindow ? pWindow->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ SdResId(STR_ACTION_NOTPOSSIBLE)));
+ xInfoBox->run();
bConsumed = true;
}
@@ -785,7 +795,10 @@ void DrawViewShell::FuSupport(SfxRequest& rReq)
if ( mpDrawView->IsPresObjSelected(false, true, false, true) )
{
::sd::Window* pWindow = GetActiveWindow();
- ScopedVclPtrInstance<InfoBox>(pWindow, SdResId(STR_ACTION_NOTPOSSIBLE))->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWindow ? pWindow->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ SdResId(STR_ACTION_NOTPOSSIBLE)));
+ xInfoBox->run();
}
else
{
@@ -807,7 +820,10 @@ void DrawViewShell::FuSupport(SfxRequest& rReq)
if ( mpDrawView->IsPresObjSelected(false, true, false, true) )
{
::sd::Window* pWindow = GetActiveWindow();
- ScopedVclPtrInstance<InfoBox>(pWindow, SdResId(STR_ACTION_NOTPOSSIBLE))->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWindow ? pWindow->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ SdResId(STR_ACTION_NOTPOSSIBLE)));
+ xInfoBox->run();
}
else
{
diff --git a/sd/source/ui/view/drviewsi.cxx b/sd/source/ui/view/drviewsi.cxx
index 0212473ddffb..ebd27be7672b 100644
--- a/sd/source/ui/view/drviewsi.cxx
+++ b/sd/source/ui/view/drviewsi.cxx
@@ -33,7 +33,7 @@
#include <svx/float3d.hxx>
#include <svx/f3dchild.hxx>
#include <svx/dialogs.hrc>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <app.hrc>
#include <strings.hrc>
@@ -162,10 +162,11 @@ void DrawViewShell::AssignFrom3DWindow()
}
else
{
- ScopedVclPtrInstance<InfoBox> aInfoBox (
- GetActiveWindow(),
- SdResId(STR_ACTION_NOTPOSSIBLE));
- aInfoBox->Execute();
+ vcl::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();
}
// get focus back
diff --git a/sd/source/ui/view/sdview4.cxx b/sd/source/ui/view/sdview4.cxx
index 37366b5bf9cb..1fa41a3485dc 100644
--- a/sd/source/ui/view/sdview4.cxx
+++ b/sd/source/ui/view/sdview4.cxx
@@ -26,7 +26,7 @@
#include <sfx2/docfilt.hxx>
#include <sfx2/fcontnr.hxx>
#include <sfx2/docfile.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <svl/urlbmk.hxx>
#include <svx/svdpagv.hxx>
#include <svx/xfillit.hxx>
@@ -377,7 +377,8 @@ IMPL_LINK_NOARG(View, DropInsertFileHdl, Timer *, void)
if( !mpViewSh )
return;
- SfxErrorContext aEc( ERRCTX_ERROR, mpViewSh->GetActiveWindow(), RID_SO_ERRCTX );
+ vcl::Window* pWindow = mpViewSh->GetActiveWindow();
+ SfxErrorContext aEc( ERRCTX_ERROR, pWindow ? pWindow->GetFrameWeld() : nullptr, RID_SO_ERRCTX );
ErrCode nError = ERRCODE_NONE;
::std::vector< OUString >::const_iterator aIter( maDropFileVector.begin() );
@@ -570,7 +571,11 @@ IMPL_LINK_NOARG(View, DropInsertFileHdl, Timer *, void)
*/
IMPL_LINK_NOARG(View, DropErrorHdl, Timer *, void)
{
- ScopedVclPtrInstance<InfoBox>( mpViewSh ? mpViewSh->GetActiveWindow() : nullptr, SdResId(STR_ACTION_NOTPOSSIBLE) )->Execute();
+ vcl::Window* pWin = mpViewSh ? mpViewSh->GetActiveWindow() : nullptr;
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ SdResId(STR_ACTION_NOTPOSSIBLE)));
+ xInfoBox->run();
}
/**
diff --git a/sd/source/ui/view/viewshe2.cxx b/sd/source/ui/view/viewshe2.cxx
index 2f31191df6f1..861bb2d1db82 100644
--- a/sd/source/ui/view/viewshe2.cxx
+++ b/sd/source/ui/view/viewshe2.cxx
@@ -718,7 +718,8 @@ bool ViewShell::ActivateObject(SdrOle2Obj* pObj, long nVerb)
{
ErrCode aErrCode = ERRCODE_NONE;
- SfxErrorContext aEC(ERRCTX_SO_DOVERB, GetActiveWindow(), RID_SO_ERRCTX);
+ vcl::Window* pWindow = GetActiveWindow();
+ SfxErrorContext aEC(ERRCTX_SO_DOVERB, pWindow ? pWindow->GetFrameWeld() : nullptr, RID_SO_ERRCTX);
bool bAbort = false;
GetDocSh()->SetWaitCursor( true );
SfxViewShell* pViewShell = GetViewShell();
diff --git a/sfx2/source/bastyp/fltfnc.cxx b/sfx2/source/bastyp/fltfnc.cxx
index ba7cc8ac9330..d28c4ca27dad 100644
--- a/sfx2/source/bastyp/fltfnc.cxx
+++ b/sfx2/source/bastyp/fltfnc.cxx
@@ -37,6 +37,7 @@
#include <basic/sbxmeth.hxx>
#include <basic/sbxcore.hxx>
#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <rtl/ustring.hxx>
#include <rtl/ustrbuf.hxx>
#include <svl/eitem.hxx>
@@ -490,7 +491,10 @@ bool SfxFilterMatcher::IsFilterInstalled_Impl( const std::shared_ptr<const SfxFi
{
#ifdef DBG_UTIL
// Start Setup
- ScopedVclPtrInstance<InfoBox>( nullptr, "Here should the Setup now be starting!" )->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ "Here should the Setup now be starting!"));
+ xInfoBox->run();
#endif
// Installation must still give feedback if it worked or not,
// then the Filterflag be deleted
@@ -502,7 +506,10 @@ bool SfxFilterMatcher::IsFilterInstalled_Impl( const std::shared_ptr<const SfxFi
{
OUString aText( SfxResId(STR_FILTER_CONSULT_SERVICE) );
aText = aText.replaceFirst( "$(FILTER)", pFilter->GetUIName() );
- ScopedVclPtrInstance<InfoBox>( nullptr, aText )->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ aText));
+ xInfoBox->run();
return false;
}
else
diff --git a/sfx2/source/dialog/securitypage.cxx b/sfx2/source/dialog/securitypage.cxx
index cfc79b606335..eb45d935591d 100644
--- a/sfx2/source/dialog/securitypage.cxx
+++ b/sfx2/source/dialog/securitypage.cxx
@@ -32,6 +32,7 @@
#include <vcl/edit.hxx>
#include <vcl/fixed.hxx>
#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <svl/eitem.hxx>
#include <svl/poolitem.hxx>
#include <svl/intitem.hxx>
@@ -123,7 +124,12 @@ static bool lcl_IsPasswordCorrect( const OUString &rPassword )
if (SvPasswordHelper::CompareHashPassword( aPasswordHash, rPassword ))
bRes = true; // password was correct
else
- ScopedVclPtrInstance<InfoBox>(nullptr, SfxResId(RID_SVXSTR_INCORRECT_PASSWORD))->Execute();
+ {
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ SfxResId(RID_SVXSTR_INCORRECT_PASSWORD)));
+ xInfoBox->run();
+ }
return bRes;
}
diff --git a/sfx2/source/doc/new.cxx b/sfx2/source/doc/new.cxx
index 122b06eac288..cd78f4b524ca 100644
--- a/sfx2/source/doc/new.cxx
+++ b/sfx2/source/doc/new.cxx
@@ -214,7 +214,7 @@ IMPL_LINK_NOARG(SfxNewFileDialog_Impl, Update, Timer*, void)
if (!xDocShell.Is())
{
- SfxErrorContext eEC(ERRCTX_SFX_LOADTEMPLATE,pAntiImpl);
+ SfxErrorContext eEC(ERRCTX_SFX_LOADTEMPLATE, pAntiImpl->GetFrameWeld());
SfxApplication *pSfxApp = SfxGetpApp();
SfxItemSet* pSet = new SfxAllItemSet(pSfxApp->GetPool());
pSet->Put(SfxBoolItem(SID_TEMPLATE, true));
diff --git a/sfx2/source/view/ipclient.cxx b/sfx2/source/view/ipclient.cxx
index 86aa5fa35625..81d93b38f55b 100644
--- a/sfx2/source/view/ipclient.cxx
+++ b/sfx2/source/view/ipclient.cxx
@@ -856,7 +856,8 @@ sal_Int64 SfxInPlaceClient::GetAspect() const
ErrCode SfxInPlaceClient::DoVerb( long nVerb )
{
- SfxErrorContext aEc(ERRCTX_SO_DOVERB, m_pViewSh->GetWindow(), RID_SO_ERRCTX);
+ vcl::Window* pWin = m_pViewSh->GetWindow();
+ SfxErrorContext aEc(ERRCTX_SO_DOVERB, pWin ? pWin->GetFrameWeld() : nullptr, RID_SO_ERRCTX);
ErrCode nError = ERRCODE_NONE;
if ( m_xImp->m_xObject.is() )
diff --git a/svtools/source/graphic/provider.cxx b/svtools/source/graphic/provider.cxx
index f0dddfc5610c..3cbbd6ba752b 100644
--- a/svtools/source/graphic/provider.cxx
+++ b/svtools/source/graphic/provider.cxx
@@ -198,7 +198,7 @@ uno::Reference< ::graphic::XGraphic > GraphicProvider::implLoadStandardImage( co
OUString sImageName( rResourceURL.copy( nIndex ) );
if ( sImageName == "info" )
{
- xRet = Graphic(InfoBox::GetStandardImage().GetBitmapEx()).GetXGraphic();
+ xRet = Graphic(GetStandardInfoBoxImage().GetBitmapEx()).GetXGraphic();
}
else if ( sImageName == "warning" )
{
diff --git a/svtools/source/misc/ehdl.cxx b/svtools/source/misc/ehdl.cxx
index dfd28ac168d6..3ab4c7cedb9c 100644
--- a/svtools/source/misc/ehdl.cxx
+++ b/svtools/source/misc/ehdl.cxx
@@ -18,9 +18,9 @@
*/
#include <unotools/resmgr.hxx>
-#include <tools/wintypes.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/button.hxx>
#include <vcl/svapp.hxx>
+#include <vcl/weld.hxx>
#include <vcl/settings.hxx>
#include <svtools/ehdl.hxx>
@@ -33,7 +33,7 @@
#include <strings.hxx>
static DialogMask aWndFunc(
- vcl::Window *pWin, // Parent of the dialog
+ weld::Window *pWin, // Parent of the dialog
DialogMask nFlags,
const OUString &rErr, // error text
const OUString &rAction) // action text
@@ -52,33 +52,17 @@ static DialogMask aWndFunc(
SolarMutexGuard aGuard;
// determine necessary WinBits from the flags
- MessBoxStyle eBits = MessBoxStyle::NONE;
+ VclButtonsType eButtonsType = VclButtonsType::NONE;
+ bool bAddRetry = false;
if ( (nFlags & (DialogMask::ButtonsCancel | DialogMask::ButtonsRetry)) == (DialogMask::ButtonsCancel | DialogMask::ButtonsRetry))
- eBits = MessBoxStyle::RetryCancel;
- else if ( (nFlags & DialogMask::ButtonsOk) == DialogMask::ButtonsOk )
- eBits = MessBoxStyle::Ok;
- else if ( (nFlags & DialogMask::ButtonsYesNo) == DialogMask::ButtonsYesNo )
- eBits = MessBoxStyle::YesNo;
-
- switch(nFlags & DialogMask(0x0f00))
{
- case DialogMask::ButtonDefaultsOk:
- eBits |= MessBoxStyle::DefaultOk;
- break;
-
- case DialogMask::ButtonDefaultsCancel:
- eBits |= MessBoxStyle::DefaultCancel;
- break;
-
- case DialogMask::ButtonDefaultsYes:
- eBits |= MessBoxStyle::DefaultYes;
- break;
-
- case DialogMask::ButtonDefaultsNo:
- eBits |= MessBoxStyle::DefaultNo;
- break;
- default: break;
+ bAddRetry = true;
+ eButtonsType = VclButtonsType::Cancel;
}
+ else if ( (nFlags & DialogMask::ButtonsOk) == DialogMask::ButtonsOk )
+ eButtonsType = VclButtonsType::Ok;
+ else if ( (nFlags & DialogMask::ButtonsYesNo) == DialogMask::ButtonsYesNo )
+ eButtonsType = VclButtonsType::YesNo;
OUString aErr("$(ACTION)$(ERROR)");
OUString aAction(rAction);
@@ -87,19 +71,19 @@ static DialogMask aWndFunc(
aErr = aErr.replaceAll("$(ACTION)", aAction);
aErr = aErr.replaceAll("$(ERROR)", rErr);
- VclPtr<MessBox> pBox;
- switch ( nFlags & DialogMask(0xf000) )
+ VclMessageType eMessageType;
+ switch (nFlags & DialogMask(0xf000))
{
case DialogMask::MessageError:
- pBox.reset(VclPtr<ErrorBox>::Create(pWin, eBits, aErr));
+ eMessageType = VclMessageType::Error;
break;
case DialogMask::MessageWarning:
- pBox.reset(VclPtr<WarningBox>::Create(pWin, eBits, aErr));
+ eMessageType = VclMessageType::Warning;
break;
case DialogMask::MessageInfo:
- pBox.reset(VclPtr<InfoBox>::Create(pWin, aErr));
+ eMessageType = VclMessageType::Info;
break;
default:
@@ -109,8 +93,32 @@ static DialogMask aWndFunc(
}
}
+ std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(pWin,
+ eMessageType, eButtonsType, aErr));
+
+ if (bAddRetry)
+ xBox->add_button(Button::GetStandardText(StandardButtonType::Retry), RET_RETRY);
+
+ switch(nFlags & DialogMask(0x0f00))
+ {
+ case DialogMask::ButtonDefaultsOk:
+ xBox->set_default_response(RET_OK);
+ break;
+ case DialogMask::ButtonDefaultsCancel:
+ xBox->set_default_response(RET_CANCEL);
+ break;
+ case DialogMask::ButtonDefaultsYes:
+ xBox->set_default_response(RET_YES);
+ break;
+ case DialogMask::ButtonDefaultsNo:
+ xBox->set_default_response(RET_NO);
+ break;
+ default:
+ break;
+ }
+
DialogMask nRet = DialogMask::NONE;
- switch ( pBox->Execute() )
+ switch (xBox->run())
{
case RET_OK:
nRet = DialogMask::ButtonsOk;
@@ -131,7 +139,7 @@ static DialogMask aWndFunc(
SAL_WARN( "svtools.misc", "Unknown MessBox return value" );
break;
}
- pBox.disposeAndClear();
+
return nRet;
}
@@ -234,7 +242,7 @@ bool SfxErrorHandler::GetErrorString(ErrCode lErrId, OUString &rStr) const
}
SfxErrorContext::SfxErrorContext(
- sal_uInt16 nCtxIdP, vcl::Window *pWindow, const ErrMsgCode* pIdsP, const std::locale& rResLocaleP)
+ sal_uInt16 nCtxIdP, weld::Window *pWindow, const ErrMsgCode* pIdsP, const std::locale& rResLocaleP)
: ErrorContext(pWindow), nCtxId(nCtxIdP), pIds(pIdsP), aResLocale(rResLocaleP)
{
if (!pIds)
@@ -243,7 +251,7 @@ SfxErrorContext::SfxErrorContext(
SfxErrorContext::SfxErrorContext(
- sal_uInt16 nCtxIdP, const OUString &aArg1P, vcl::Window *pWindow,
+ sal_uInt16 nCtxIdP, const OUString &aArg1P, weld::Window *pWindow,
const ErrMsgCode* pIdsP, const std::locale& rResLocaleP)
: ErrorContext(pWindow), nCtxId(nCtxIdP), pIds(pIdsP), aResLocale(rResLocaleP),
aArg1(aArg1P)
diff --git a/svx/source/dialog/imapdlg.cxx b/svx/source/dialog/imapdlg.cxx
index e910cd964b40..1e200a128d18 100644
--- a/svx/source/dialog/imapdlg.cxx
+++ b/svx/source/dialog/imapdlg.cxx
@@ -476,7 +476,7 @@ void SvxIMapDlg::DoOpen()
if( pIStm->GetError() )
{
- SfxErrorContext eEC(ERRCTX_ERROR, this);
+ SfxErrorContext eEC(ERRCTX_ERROR, GetFrameWeld());
ErrorHandler::HandleError( ERRCODE_IO_GENERAL );
}
else
diff --git a/svx/source/svdraw/svdedtv1.cxx b/svx/source/svdraw/svdedtv1.cxx
index beb7abfeabda..b3bc7bcea969 100644
--- a/svx/source/svdraw/svdedtv1.cxx
+++ b/svx/source/svdraw/svdedtv1.cxx
@@ -26,7 +26,8 @@
#include <svl/itemiter.hxx>
#include <svl/whiter.hxx>
#include <tools/bigint.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/svapp.hxx>
+#include <vcl/weld.hxx>
#include <getallcharpropids.hxx>
#include <svdglob.hxx>
@@ -964,7 +965,10 @@ void SdrEditView::SetAttrToMarked(const SfxItemSet& rAttr, bool bReplaceAll)
if(bHasEEFeatureItems)
{
OUString aMessage("SdrEditView::SetAttrToMarked(): Setting EE_FEATURE items at the SdrView does not make sense! It only leads to overhead and unreadable documents.");
- ScopedVclPtrInstance<InfoBox>(nullptr, aMessage)->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(nullptr,
+ VclMessageType::Info, VclButtonsType::Ok,
+ aMessage));
+ xInfoBox->run();
}
}
#endif
diff --git a/svx/source/svdraw/svdedxv.cxx b/svx/source/svdraw/svdedxv.cxx
index 0539648713d6..f01dd86a3d2c 100644
--- a/svx/source/svdraw/svdedxv.cxx
+++ b/svx/source/svdraw/svdedxv.cxx
@@ -22,7 +22,7 @@
#include <svx/svdedxv.hxx>
#include <svl/solar.hrc>
#include <svl/itemiter.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/weld.hxx>
#include <vcl/hatch.hxx>
#include <svl/whiter.hxx>
#include <svl/style.hxx>
@@ -2076,7 +2076,10 @@ bool SdrObjEditView::SetAttributes(const SfxItemSet& rSet, bool bReplaceAll)
if(bHasEEFeatureItems)
{
OUString aMessage("SdrObjEditView::SetAttributes(): Setting EE_FEATURE items at the SdrView does not make sense! It only leads to overhead and unreadable documents.");
- ScopedVclPtrInstance<InfoBox>(nullptr, aMessage)->Execute();
+ std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(nullptr,
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list