summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-02-27 10:11:52 +0000
committerCaolán McNamara <caolanm@redhat.com>2018-02-27 17:25:59 +0100
commit9fcef57a34dbd88a98621dfaf8668fa076dd98f1 (patch)
tree844e9ca54e0b30faf1b71b42397b4a8143460a43
parentofz#6571 catch exception (diff)
downloadcore-9fcef57a34dbd88a98621dfaf8668fa076dd98f1.tar.gz
core-9fcef57a34dbd88a98621dfaf8668fa076dd98f1.zip
convert Redline warning dialog to .ui to get helpids
etc. Change-Id: Ic5e6031fe99347f19002d5d8527b5632333fefb0 Reviewed-on: https://gerrit.libreoffice.org/50431 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--basic/source/runtime/iosys.cxx20
-rw-r--r--include/sfx2/strings.hrc3
-rw-r--r--sc/inc/validat.hxx2
-rw-r--r--sc/source/core/data/validat.cxx42
-rw-r--r--sc/source/ui/app/inputhdl.cxx2
-rw-r--r--sc/source/ui/docshell/dbdocfun.cxx14
-rw-r--r--sc/source/ui/view/dbfunc.cxx12
-rw-r--r--sc/source/ui/view/dbfunc3.cxx16
-rw-r--r--sc/source/ui/view/spelleng.cxx12
-rw-r--r--sc/source/ui/view/viewfun2.cxx15
-rw-r--r--sfx2/source/dialog/filedlghelper.cxx9
-rw-r--r--sw/UIConfig_swriter.mk1
-rw-r--r--sw/inc/helpids.h4
-rw-r--r--sw/inc/strings.hrc5
-rw-r--r--sw/source/uibase/shells/textsh1.cxx26
-rw-r--r--sw/source/uibase/uiview/viewling.cxx6
-rw-r--r--sw/uiconfig/swriter/ui/queryredlinedialog.ui83
-rw-r--r--uui/source/iahndl.cxx63
-rw-r--r--uui/source/secmacrowarnings.hxx1
19 files changed, 212 insertions, 124 deletions
diff --git a/basic/source/runtime/iosys.cxx b/basic/source/runtime/iosys.cxx
index 49932c9e8316..76acd11775a9 100644
--- a/basic/source/runtime/iosys.cxx
+++ b/basic/source/runtime/iosys.cxx
@@ -21,8 +21,8 @@
#include <vcl/dialog.hxx>
#include <vcl/edit.hxx>
#include <vcl/button.hxx>
-#include <vcl/msgbox.hxx>
#include <vcl/svapp.hxx>
+#include <vcl/weld.hxx>
#include <osl/file.hxx>
#include <tools/urlobj.hxx>
@@ -720,12 +720,10 @@ void SbiIoSystem::Shutdown()
// anything left to PRINT?
if( !aOut.isEmpty() )
{
-#if defined __GNUC__
vcl::Window* pParent = Application::GetDefDialogParent();
- ScopedVclPtrInstance<MessBox>( pParent, MessBoxStyle::Ok, 0, OUString(), aOut )->Execute();
-#else
- ScopedVclPtrInstance<MessBox>( Application::GetDefDialogParent(), MessBoxStyle::Ok, 0, OUString(), aOut )->Execute();
-#endif
+ std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(pParent ? pParent->GetFrameWeld() : nullptr, VclMessageType::Warning,
+ VclButtonsType::Ok, aOut));
+ xBox->run();
}
aOut.clear();
}
@@ -860,10 +858,12 @@ void SbiIoSystem::WriteCon(const OUString& rText)
}
{
SolarMutexGuard aSolarGuard;
- if( !ScopedVclPtrInstance<MessBox>(
- Application::GetDefDialogParent(),
- MessBoxStyle::OkCancel | MessBoxStyle::DefaultOk,
- 0, OUString(), s)->Execute() )
+
+ vcl::Window* pParent = Application::GetDefDialogParent();
+ std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(pParent ? pParent->GetFrameWeld() : nullptr, VclMessageType::Warning,
+ VclButtonsType::OkCancel, s));
+ xBox->set_default_response(RET_OK);
+ if (!xBox->run())
{
nError = ERRCODE_BASIC_USER_ABORT;
}
diff --git a/include/sfx2/strings.hrc b/include/sfx2/strings.hrc
index c36a37b4893a..4e8346b209a5 100644
--- a/include/sfx2/strings.hrc
+++ b/include/sfx2/strings.hrc
@@ -305,6 +305,9 @@
#define STR_CLEAR_CHAR NC_("STR_CLEAR_CHAR", "Remove")
#define STR_CLEAR_ALL_CHAR NC_("STR_CLEAR_ALL_CHAR", "Clear All")
+#define STR_PASSWORD_LEN NC_("STR_PASSWORD_LEN", "Password length")
+#define STR_PASSWORD_WARNING NC_("STR_PASSWORD_WARNING", "The password you have entered causes interoperability issues. Please enter a password that is shorter than 52 bytes, or longer than 55 bytes.")
+
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/inc/validat.hxx b/sc/inc/validat.hxx
index d1cb884ca756..bc13663a7e6d 100644
--- a/sc/inc/validat.hxx
+++ b/sc/inc/validat.hxx
@@ -135,7 +135,7 @@ public:
bool IsDataValid( ScRefCellValue& rCell, const ScAddress& rPos ) const;
// TRUE -> break
- bool DoError( vcl::Window* pParent, const OUString& rInput, const ScAddress& rPos ) const;
+ bool DoError(weld::Window* pParent, const OUString& rInput, const ScAddress& rPos) const;
void DoCalcError( ScFormulaCell* pCell ) const;
bool IsEmpty() const;
diff --git a/sc/source/core/data/validat.cxx b/sc/source/core/data/validat.cxx
index 5eb776843018..afd69531c6ef 100644
--- a/sc/source/core/data/validat.cxx
+++ b/sc/source/core/data/validat.cxx
@@ -374,11 +374,11 @@ void ScValidationData::DoCalcError( ScFormulaCell* pCell ) const
// true -> abort
-bool ScValidationData::DoError( vcl::Window* pParent, const OUString& rInput,
- const ScAddress& rPos ) const
+bool ScValidationData::DoError(weld::Window* pParent, const OUString& rInput,
+ const ScAddress& rPos) const
{
if ( eErrorStyle == SC_VALERR_MACRO )
- return DoMacro( rPos, rInput, nullptr, pParent ? pParent->GetFrameWeld() : nullptr);
+ return DoMacro(rPos, rInput, nullptr, pParent);
// Output error message
@@ -389,29 +389,39 @@ bool ScValidationData::DoError( vcl::Window* pParent, const OUString& rInput,
if (aMessage.isEmpty())
aMessage = ScGlobal::GetRscString( STR_VALID_DEFERROR );
- //TODO: ErrorBox / WarningBox / InfoBox ?
- //TODO: (with InfoBox always OK-Button only)
-
- MessBoxStyle nStyle = MessBoxStyle::NONE;
+ VclButtonsType eStyle = VclButtonsType::Ok;
+ VclMessageType eType = VclMessageType::Error;
switch (eErrorStyle)
{
- case SC_VALERR_STOP:
- nStyle = MessBoxStyle::Ok | MessBoxStyle::DefaultOk;
+ case SC_VALERR_INFO:
+ eType = VclMessageType::Info;
+ eStyle = VclButtonsType::OkCancel;
break;
case SC_VALERR_WARNING:
- nStyle = MessBoxStyle::OkCancel | MessBoxStyle::DefaultCancel;
+ eType = VclMessageType::Warning;
+ eStyle = VclButtonsType::OkCancel;
+ break;
+ default:
break;
+ }
+
+ std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(pParent, eType,
+ eStyle, aMessage));
+ xBox->set_title(aTitle);
+
+ switch (eErrorStyle)
+ {
case SC_VALERR_INFO:
- nStyle = MessBoxStyle::OkCancel | MessBoxStyle::DefaultOk;
+ xBox->set_default_response(RET_OK);
+ break;
+ case SC_VALERR_WARNING:
+ xBox->set_default_response(RET_CANCEL);
break;
default:
- {
- // added to avoid warnings
- }
+ break;
}
- ScopedVclPtrInstance< MessBox > aBox( pParent, nStyle, 0, aTitle, aMessage );
- sal_uInt16 nRet = aBox->Execute();
+ short nRet = xBox->run();
return ( eErrorStyle == SC_VALERR_STOP || nRet == RET_CANCEL );
}
diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx
index bff453de38cd..b78a2a18c1c4 100644
--- a/sc/source/ui/app/inputhdl.cxx
+++ b/sc/source/ui/app/inputhdl.cxx
@@ -2670,7 +2670,7 @@ void ScInputHandler::EnterHandler( ScEnterMode nBlockMode )
else
pParent = Application::GetDefDialogParent();
- if ( pData->DoError( pParent, aString, aCursorPos ) )
+ if (pData->DoError(pParent ? pParent->GetFrameWeld() : nullptr, aString, aCursorPos))
bForget = true; // Do not take over input
}
}
diff --git a/sc/source/ui/docshell/dbdocfun.cxx b/sc/source/ui/docshell/dbdocfun.cxx
index 841b1c792486..c81d66554003 100644
--- a/sc/source/ui/docshell/dbdocfun.cxx
+++ b/sc/source/ui/docshell/dbdocfun.cxx
@@ -18,7 +18,6 @@
*/
#include <sfx2/app.hxx>
-#include <vcl/msgbox.hxx>
#include <vcl/weld.hxx>
#include <vcl/waitobj.hxx>
#include <svx/dataaccessdescriptor.hxx>
@@ -1008,14 +1007,17 @@ void ScDBDocFunc::DoSubTotals( SCTAB nTab, const ScSubTotalParam& rParam,
bool bOk = true;
if (rParam.bReplace)
+ {
if (rDoc.TestRemoveSubTotals( nTab, rParam ))
{
- bOk = ScopedVclPtrInstance<MessBox>( ScDocShell::GetActiveDialogParent(), MessBoxStyle::YesNo | MessBoxStyle::DefaultYes, 0,
- // "StarCalc" "Delete Data?"
- ScGlobal::GetRscString( STR_MSSG_DOSUBTOTALS_0 ),
- ScGlobal::GetRscString( STR_MSSG_DOSUBTOTALS_1 ) )->Execute()
- == RET_YES;
+ vcl::Window* pWin = ScDocShell::GetActiveDialogParent();
+ std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Question,
+ VclButtonsType::YesNo, ScGlobal::GetRscString(STR_MSSG_DOSUBTOTALS_1))); // "Delete Data?"
+ xBox->set_title(ScGlobal::GetRscString(STR_MSSG_DOSUBTOTALS_0)); // "StarCalc"
+ bOk = xBox->run() == RET_YES;
}
+ }
if (bOk)
{
diff --git a/sc/source/ui/view/dbfunc.cxx b/sc/source/ui/view/dbfunc.cxx
index f72d8bdecb35..b59c5a2cea04 100644
--- a/sc/source/ui/view/dbfunc.cxx
+++ b/sc/source/ui/view/dbfunc.cxx
@@ -20,7 +20,6 @@
#include <scitems.hxx>
#include <sfx2/app.hxx>
#include <sfx2/bindings.hxx>
-#include <vcl/msgbox.hxx>
#include <vcl/weld.hxx>
#include <com/sun/star/sdbc/XResultSet.hpp>
@@ -339,10 +338,13 @@ void ScDBFunc::ToggleAutoFilter()
{
if (!bHeader)
{
- if ( ScopedVclPtrInstance<MessBox>( GetViewData().GetDialogParent(), MessBoxStyle::YesNo | MessBoxStyle::DefaultYes, 0,
- ScGlobal::GetRscString( STR_MSSG_DOSUBTOTALS_0 ), // "StarCalc"
- ScGlobal::GetRscString( STR_MSSG_MAKEAUTOFILTER_0 ) // header from first row?
- )->Execute() == RET_YES )
+ vcl::Window* pWin = GetViewData().GetDialogParent();
+ std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Question,
+ VclButtonsType::YesNo, ScGlobal::GetRscString(STR_MSSG_MAKEAUTOFILTER_0))); // header from first row?
+ xBox->set_title(ScGlobal::GetRscString(STR_MSSG_DOSUBTOTALS_0)); // "StarCalc"
+ xBox->set_default_response(RET_YES);
+ if (xBox->run() == RET_YES)
{
pDBData->SetHeader( true ); //! Undo ??
}
diff --git a/sc/source/ui/view/dbfunc3.cxx b/sc/source/ui/view/dbfunc3.cxx
index 91f3a68a6bac..dd81e409baca 100644
--- a/sc/source/ui/view/dbfunc3.cxx
+++ b/sc/source/ui/view/dbfunc3.cxx
@@ -21,8 +21,8 @@
#include <scitems.hxx>
#include <sfx2/bindings.hxx>
#include <vcl/svapp.hxx>
-#include <vcl/msgbox.hxx>
#include <vcl/waitobj.hxx>
+#include <vcl/weld.hxx>
#include <svl/zforlist.hxx>
#include <sfx2/app.hxx>
#include <com/sun/star/beans/XPropertySet.hpp>
@@ -418,14 +418,18 @@ void ScDBFunc::DoSubTotals( const ScSubTotalParam& rParam, bool bRecord,
WaitObject aWait( GetViewData().GetDialogParent() );
bool bOk = true;
if (rParam.bReplace)
+ {
if (rDoc.TestRemoveSubTotals( nTab, rParam ))
{
- bOk = ScopedVclPtrInstance<MessBox>( GetViewData().GetDialogParent(), MessBoxStyle::YesNo | MessBoxStyle::DefaultYes, 0,
- // "StarCalc" "delete data?"
- ScGlobal::GetRscString( STR_MSSG_DOSUBTOTALS_0 ),
- ScGlobal::GetRscString( STR_MSSG_DOSUBTOTALS_1 ) )->Execute()
- == RET_YES;
+ vcl::Window* pWin = GetViewData().GetDialogParent();
+ std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ ScGlobal::GetRscString(STR_MSSG_DOSUBTOTALS_1))); // "delete data?"
+ xBox->set_title(ScGlobal::GetRscString(STR_MSSG_DOSUBTOTALS_0)); // "StarCalc"
+ xBox->set_default_response(RET_YES);
+ bOk = xBox->run() == RET_YES;
}
+ }
if (bOk)
{
diff --git a/sc/source/ui/view/spelleng.cxx b/sc/source/ui/view/spelleng.cxx
index 9e39ea9dfa61..7ef031f2c8c4 100644
--- a/sc/source/ui/view/spelleng.cxx
+++ b/sc/source/ui/view/spelleng.cxx
@@ -29,7 +29,6 @@
#include <sfx2/viewfrm.hxx>
#include <vcl/settings.hxx>
#include <vcl/svapp.hxx>
-#include <vcl/msgbox.hxx>
#include <vcl/weld.hxx>
#include <spelldialog.hxx>
@@ -307,10 +306,13 @@ bool ScSpellingEngine::ShowTableWrapDialog()
{
vcl::Window* pParent = GetDialogParent();
ScWaitCursorOff aWaitOff( pParent );
- ScopedVclPtrInstance<MessBox> aMsgBox( pParent, MessBoxStyle::YesNo | MessBoxStyle::DefaultYes, 0,
- ScGlobal::GetRscString( STR_MSSG_DOSUBTOTALS_0 ),
- ScGlobal::GetRscString( STR_SPELLING_BEGIN_TAB) );
- return aMsgBox->Execute() == RET_YES;
+
+ std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(pParent ? pParent->GetFrameWeld() : nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo,
+ ScGlobal::GetRscString(STR_SPELLING_BEGIN_TAB))); // "delete data?"
+ xBox->set_title(ScGlobal::GetRscString(STR_MSSG_DOSUBTOTALS_0));
+ xBox->set_default_response(RET_YES);
+ return xBox->run() == RET_YES;
}
void ScSpellingEngine::ShowFinishDialog()
diff --git a/sc/source/ui/view/viewfun2.cxx b/sc/source/ui/view/viewfun2.cxx
index de917324290e..5198708574d0 100644
--- a/sc/source/ui/view/viewfun2.cxx
+++ b/sc/source/ui/view/viewfun2.cxx
@@ -35,7 +35,8 @@
#include <svl/zforlist.hxx>
#include <svx/srchdlg.hxx>
#include <svx/svdview.hxx>
-#include <vcl/msgbox.hxx>
+#include <vcl/svapp.hxx>
+#include <vcl/weld.hxx>
#include <vcl/waitobj.hxx>
#include <basic/sbstar.hxx>
@@ -2058,12 +2059,12 @@ void ScViewFunc::Solve( const ScSolveParam& rParam )
aMsgStr += ScGlobal::GetRscString( STR_MSSG_SOLVE_4 );
}
- ScopedVclPtrInstance<MessBox> aBox( GetViewData().GetDialogParent(),
- MessBoxStyle::YesNo | MessBoxStyle::DefaultNo, 0,
- ScGlobal::GetRscString( STR_MSSG_DOSUBTOTALS_0 ), aMsgStr );
- sal_uInt16 nRetVal = aBox->Execute();
-
- if ( RET_YES == nRetVal )
+ vcl::Window* pWin = GetViewData().GetDialogParent();
+ std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr,
+ VclMessageType::Question, VclButtonsType::YesNo, aMsgStr));
+ xBox->set_title(ScGlobal::GetRscString(STR_MSSG_DOSUBTOTALS_0));
+ xBox->set_default_response(RET_NO);
+ if (xBox->run() == RET_NO)
EnterValue( nDestCol, nDestRow, nDestTab, nSolveResult );
GetViewData().GetViewShell()->UpdateInputHandler( true );
diff --git a/sfx2/source/dialog/filedlghelper.cxx b/sfx2/source/dialog/filedlghelper.cxx
index 32249bd1db6b..33404ae1ca2d 100644
--- a/sfx2/source/dialog/filedlghelper.cxx
+++ b/sfx2/source/dialog/filedlghelper.cxx
@@ -2692,10 +2692,11 @@ ErrCode RequestPassword(const std::shared_ptr<const SfxFilter>& pCurrentFilter,
{
break;
}
- ScopedVclPtrInstance<MessBox>(Application::GetDefDialogParent(),
- MessBoxStyle::Ok, 0, "Password length",
- "The password you have entered causes interoperability issues. Please enter a password that is shorter than 52 bytes, or longer than 55 bytes."
- )->Execute();
+ vcl::Window* pWin = Application::GetDefDialogParent();
+ std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(pWin ? pWin->GetFrameWeld() : nullptr, VclMessageType::Warning,
+ VclButtonsType::Ok, SfxResId(STR_PASSWORD_LEN)));
+ xBox->set_secondary_text(SfxResId(STR_PASSWORD_WARNING));
+ xBox->run();
}
while (true);
if ( pPasswordRequest->isPassword() )
diff --git a/sw/UIConfig_swriter.mk b/sw/UIConfig_swriter.mk
index 9d5a8a811ad9..c518b76d8234 100644
--- a/sw/UIConfig_swriter.mk
+++ b/sw/UIConfig_swriter.mk
@@ -194,6 +194,7 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/swriter,\
sw/uiconfig/swriter/ui/querycontinuebegindialog \
sw/uiconfig/swriter/ui/querycontinueenddialog \
sw/uiconfig/swriter/ui/querydefaultcompatdialog \
+ sw/uiconfig/swriter/ui/queryredlinedialog \
sw/uiconfig/swriter/ui/queryrotateintostandarddialog \
sw/uiconfig/swriter/ui/querysavelabeldialog \
sw/uiconfig/swriter/ui/queryshowchangesdialog \
diff --git a/sw/inc/helpids.h b/sw/inc/helpids.h
index cd7028624ea7..fc1fe83aa446 100644
--- a/sw/inc/helpids.h
+++ b/sw/inc/helpids.h
@@ -99,10 +99,6 @@
// More Help-IDs
#define HID_EDIT_FORMULA "SW_HID_EDIT_FORMULA"
-#define HID_AUTOFORMAT_REJECT "SW_HID_AUTOFORMAT_REJECT"
-#define HID_AUTOFORMAT_ACCEPT "SW_HID_AUTOFORMAT_ACCEPT"
-#define HID_AUTOFORMAT_EDIT_CHG "SW_HID_AUTOFORMAT_EDIT_CHG"
-
#define HID_AUTH_FIELD_IDENTIFIER "SW_HID_AUTH_FIELD_IDENTIFIER"
#define HID_AUTH_FIELD_AUTHORITY_TYPE "SW_HID_AUTH_FIELD_AUTHORITY_TYPE"
#define HID_AUTH_FIELD_ADDRESS "SW_HID_AUTH_FIELD_ADDRESS"
diff --git a/sw/inc/strings.hrc b/sw/inc/strings.hrc
index b00b04bfdfcb..4144f809cd96 100644
--- a/sw/inc/strings.hrc
+++ b/sw/inc/strings.hrc
@@ -1206,11 +1206,6 @@
#define STR_REDLINE_FORMATED NC_("STR_REDLINE_FORMATED", "Formats")
#define STR_REDLINE_TABLECHG NC_("STR_REDLINE_TABLECHG", "Table Changes")
#define STR_REDLINE_FMTCOLLSET NC_("STR_REDLINE_FMTCOLLSET", "Applied Paragraph Styles")
-#define STR_REDLINE_TITLE NC_("STR_REDLINE_TITLE", "AutoCorrect")
-#define STR_REDLINE_MSG NC_("STR_REDLINE_MSG", "AutoCorrect completed.\nYou can accept or reject all changes,\nor accept or reject particular changes.")
-#define STR_REDLINE_ACCEPT_ALL NC_("STR_REDLINE_ACCEPT_ALL", "Accept All")
-#define STR_REDLINE_REJECT_ALL NC_("STR_REDLINE_REJECT_ALL", "Reject All")
-#define STR_REDLINE_EDIT NC_("STR_REDLINE_EDIT", "Edit Changes")
#define STR_PAGE NC_("STR_PAGE", "Page ")
#define STR_PAGE_COUNT NC_("STR_PAGE_COUNT", "Page %1 of %2")
#define STR_PAGE_COUNT_CUSTOM NC_("STR_PAGE_COUNT_CUSTOM", "Page %1 of %2 (Page %3)")
diff --git a/sw/source/uibase/shells/textsh1.cxx b/sw/source/uibase/shells/textsh1.cxx
index 3641c4c89978..e5d96d77e795 100644
--- a/sw/source/uibase/shells/textsh1.cxx
+++ b/sw/source/uibase/shells/textsh1.cxx
@@ -38,7 +38,9 @@
#include <sfx2/bindings.hxx>
#include <sfx2/dispatch.hxx>
#include <sfx2/objitem.hxx>
+#include <vcl/svapp.hxx>
#include <vcl/unohelp2.hxx>
+#include <vcl/weld.hxx>
#include <sfx2/request.hxx>
#include <svl/eitem.hxx>
#include <svl/macitem.hxx>
@@ -273,25 +275,11 @@ static void sw_CharDialogResult(const SfxItemSet* pSet, SwWrtShell &rWrtSh, std:
}
-static short lcl_AskRedlineFlags(vcl::Window *pWin)
+static short lcl_AskRedlineFlags(weld::Window *pWin)
{
- ScopedVclPtrInstance<MessBox> aQBox( pWin, MessBoxStyle::NONE, 0,
- SwResId( STR_REDLINE_TITLE ),
- SwResId( STR_REDLINE_MSG ) );
- aQBox->SetImage(GetStandardQueryBoxImage());
- const ButtonDialogFlags nBtnFlags = ButtonDialogFlags::Default |
- ButtonDialogFlags::OK |
- ButtonDialogFlags::Focus;
-
- aQBox->AddButton(SwResId(STR_REDLINE_ACCEPT_ALL), RET_OK, nBtnFlags);
- aQBox->GetPushButton( RET_OK )->SetHelpId(HID_AUTOFORMAT_ACCEPT);
- aQBox->AddButton(SwResId(STR_REDLINE_REJECT_ALL), RET_CANCEL, ButtonDialogFlags::Cancel);
- aQBox->GetPushButton( RET_CANCEL )->SetHelpId(HID_AUTOFORMAT_REJECT );
- aQBox->AddButton(SwResId(STR_REDLINE_EDIT), 2);
- aQBox->GetPushButton( 2 )->SetHelpId(HID_AUTOFORMAT_EDIT_CHG);
- aQBox->SetButtonHelpText( RET_OK, OUString() );
-
- return aQBox->Execute();
+ std::unique_ptr<weld::Builder> xBuilder(Application::CreateBuilder(pWin, "modules/swriter/ui/queryredlinedialog.ui"));
+ std::unique_ptr<weld::MessageDialog> xQBox(xBuilder->weld_message_dialog("QueryRedlineDialog"));
+ return xQBox->run();
}
static void sw_ParagraphDialogResult(SfxItemSet* pSet, SwWrtShell &rWrtSh, SfxRequest& rReq, SwPaM* pPaM)
@@ -741,7 +729,7 @@ void SwTextShell::Execute(SfxRequest &rReq)
ScopedVclPtr<AbstractSwModalRedlineAcceptDlg> pDlg(pFact->CreateSwModalRedlineAcceptDlg(&GetView().GetEditWin()));
OSL_ENSURE(pDlg, "Dialog creation failed!");
- switch (lcl_AskRedlineFlags(&GetView().GetEditWin()))
+ switch (lcl_AskRedlineFlags(GetView().GetEditWin().GetFrameWeld()))
{
case RET_OK:
{
diff --git a/sw/source/uibase/uiview/viewling.cxx b/sw/source/uibase/uiview/viewling.cxx
index 4f2191f4027e..f8724e5743c9 100644
--- a/sw/source/uibase/uiview/viewling.cxx
+++ b/sw/source/uibase/uiview/viewling.cxx
@@ -406,8 +406,10 @@ void SwView::HyphenateDocument()
// do not hyphenate if interactive hyphenation is active elsewhere
if (SwEditShell::HasHyphIter())
{
- ScopedVclPtrInstance<MessBox>( nullptr, MessBoxStyle::Ok, 0, SwResId( STR_HYPH_TITLE ),
- SwResId( STR_MULT_INTERACT_HYPH_WARN ) )->Execute();
+ std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(nullptr, VclMessageType::Warning,
+ VclButtonsType::Ok, SwResId(STR_MULT_INTERACT_HYPH_WARN)));
+ xBox->set_title(SwResId(STR_HYPH_TITLE));
+ xBox->run();
return;
}
diff --git a/sw/uiconfig/swriter/ui/queryredlinedialog.ui b/sw/uiconfig/swriter/ui/queryredlinedialog.ui
new file mode 100644
index 000000000000..47ecdabbc956
--- /dev/null
+++ b/sw/uiconfig/swriter/ui/queryredlinedialog.ui
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.2 -->
+<interface domain="sw">
+ <requires lib="gtk+" version="3.0"/>
+ <object class="GtkMessageDialog" id="QueryRedlineDialog">
+ <property name="can_focus">False</property>
+ <property name="title" translatable="yes" context="queryredlinedialog|QueryRedlineDialog">Delete this theme?</property>
+ <property name="resizable">False</property>
+ <property name="type_hint">dialog</property>
+ <property name="skip_taskbar_hint">True</property>
+ <property name="message_type">question</property>
+ <property name="text" translatable="yes" context="queryredlinedialog|QueryRedlineDialog">AutoCorrect completed.</property>
+ <property name="secondary_text" translatable="yes" context="queryredlinedialog|QueryRedlineDialog">You can accept or reject all changes,
+or accept or reject particular changes.</property>
+ <child internal-child="vbox">
+ <object class="GtkBox">
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">12</property>
+ <child internal-child="action_area">
+ <object class="GtkButtonBox">
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkButton" id="cancel">
+ <property name="label" translatable="yes" context="queryredlinedialog|cancel">Reject All</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="ok">
+ <property name="label" translatable="yes" context="queryredlinedialog|ok">Accept All</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="has_default">True</property>
+ <property name="receives_default">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="edit">
+ <property name="label" translatable="yes" context="queryredlinedialog|edit">Edit Changes</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="-6">cancel</action-widget>
+ <action-widget response="-5">ok</action-widget>
+ <action-widget response="2">edit</action-widget>
+ </action-widgets>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+</interface>
diff --git a/uui/source/iahndl.cxx b/uui/source/iahndl.cxx
index b45b9cea2c2d..228ff20af632 100644
--- a/uui/source/iahndl.cxx
+++ b/uui/source/iahndl.cxx
@@ -63,13 +63,13 @@
#include <osl/conditn.hxx>
#include <unotools/resmgr.hxx>
#include <vcl/errinf.hxx>
+#include <vcl/svapp.hxx>
+#include <vcl/weld.hxx>
#include <osl/thread.hxx>
#include <tools/diagnose_ex.h>
#include <comphelper/documentconstants.hxx>
#include <comphelper/propertysequence.hxx>
#include <svtools/sfxecode.hxx>
-#include <vcl/msgbox.hxx>
-#include <vcl/svapp.hxx>
#include <unotools/configmgr.hxx>
#include <toolkit/helper/vclunohelper.hxx>
#include <comphelper/processfactory.hxx>
@@ -965,36 +965,35 @@ namespace {
DialogMask
executeMessageBox(
- vcl::Window * pParent,
+ weld::Window * pParent,
OUString const & rTitle,
OUString const & rMessage,
- MessBoxStyle nButtonMask)
+ VclMessageType eMessageType)
{
SolarMutexGuard aGuard;
- WinBits nStyle(0);
- ScopedVclPtrInstance< MessBox > xBox(pParent, nButtonMask, nStyle, rTitle, rMessage);
+ std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(pParent, eMessageType,
+ eMessageType == VclMessageType::Question ? VclButtonsType::YesNo : VclButtonsType::Ok, rMessage));
+ xBox->set_title(rTitle);
- sal_uInt16 aMessResult = xBox->Execute();
+ short nMessResult = xBox->run();
DialogMask aResult = DialogMask::NONE;
- switch( aMessResult )
+ switch (nMessResult)
{
- case RET_OK:
- aResult = DialogMask::ButtonsOk;
- break;
- case RET_CANCEL:
- aResult = DialogMask::ButtonsCancel;
- break;
- case RET_YES:
- aResult = DialogMask::ButtonsYes;
- break;
- case RET_NO:
- aResult = DialogMask::ButtonsNo;
- break;
- case RET_RETRY:
- aResult = DialogMask::ButtonsRetry;
- break;
- default: assert(false);
+ case RET_OK:
+ aResult = DialogMask::ButtonsOk;
+ break;
+ case RET_CANCEL:
+ aResult = DialogMask::ButtonsCancel;
+ break;
+ case RET_YES:
+ aResult = DialogMask::ButtonsYes;
+ break;
+ case RET_NO:
+ aResult = DialogMask::ButtonsNo;
+ break;
+ default:
+ assert(false);
}
return aResult;
@@ -1117,7 +1116,8 @@ UUIInteractionHelper::handleGenericErrorRequest(
aTitle += " - " ;
aTitle += aErrTitle;
- executeMessageBox(getParentProperty(), aTitle, aErrorString, MessBoxStyle::Ok);
+ vcl::Window* pWin = getParentProperty();
+ executeMessageBox(pWin ? pWin->GetFrameWeld() : nullptr, aTitle, aErrorString, VclMessageType::Error);
}
else
{
@@ -1218,15 +1218,11 @@ UUIInteractionHelper::handleBrokenPackageRequest(
return;
}
- MessBoxStyle nButtonMask;
+ VclMessageType eMessageType;
if( xApprove.is() && xDisapprove.is() )
- {
- nButtonMask = MessBoxStyle::YesNo | MessBoxStyle::DefaultYes;
- }
+ eMessageType = VclMessageType::Question;
else if ( xAbort.is() )
- {
- nButtonMask = MessBoxStyle::Ok;
- }
+ eMessageType = VclMessageType::Warning;
else
return;
@@ -1235,7 +1231,8 @@ UUIInteractionHelper::handleBrokenPackageRequest(
" " +
utl::ConfigManager::getProductVersion() );
- switch (executeMessageBox(getParentProperty(), title, aMessage, nButtonMask))
+ vcl::Window* pWin = getParentProperty();
+ switch (executeMessageBox(pWin ? pWin->GetFrameWeld() : nullptr, title, aMessage, eMessageType))
{
case DialogMask::ButtonsOk:
OSL_ENSURE( xAbort.is(), "unexpected situation" );
diff --git a/uui/source/secmacrowarnings.hxx b/uui/source/secmacrowarnings.hxx
index 62517709d66b..8a34d90ffd9c 100644
--- a/uui/source/secmacrowarnings.hxx
+++ b/uui/source/secmacrowarnings.hxx
@@ -23,6 +23,7 @@
#include <vcl/dialog.hxx>
#include <unotools/securityoptions.hxx>
#include <vcl/button.hxx>
+#include <vcl/fixed.hxx>
#include <com/sun/star/uno/Sequence.hxx>
namespace com {