Return std::unique_ptr in Application::CreateMessageDialog
The caller of Application::CreateMessageDialog owns the returned message dialog. So far, it was returned by a plain weld::MessageDialog*. Return a unique_ptr instead, to make clear the ownership semantics. (Also adjust SalInstance::CreateMessageDialog accordingly, which is called by Application::CreateMessageDialog and implements the actual logic to create a message dialog.) Adjust callers where needed. Most callers were already using a smart pointer for the returned message dialog anyway. Change-Id: I7c06bb24b611bd67f5af89800adb13bf22dcc6fa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211013 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
This commit is contained in:
@@ -36,9 +36,9 @@ IMPL_LINK_NOARG(PasswordToOpenModifyDialog, OkBtnClickHdl, weld::Button&, void)
|
|||||||
m_xPasswdToModifyED->get_text().isEmpty();
|
m_xPasswdToModifyED->get_text().isEmpty();
|
||||||
if (bInvalidState)
|
if (bInvalidState)
|
||||||
{
|
{
|
||||||
m_xErrorBox.reset(Application::CreateMessageDialog(m_xDialog.get(),
|
m_xErrorBox = Application::CreateMessageDialog(
|
||||||
VclMessageType::Warning, VclButtonsType::Ok,
|
m_xDialog.get(), VclMessageType::Warning, VclButtonsType::Ok,
|
||||||
m_bIsPasswordToModify? m_aInvalidStateForOkButton : m_aInvalidStateForOkButton_v2));
|
m_bIsPasswordToModify ? m_aInvalidStateForOkButton : m_aInvalidStateForOkButton_v2);
|
||||||
m_xErrorBox->runAsync(m_xErrorBox, [](sal_Int32 /*nResult*/) {});
|
m_xErrorBox->runAsync(m_xErrorBox, [](sal_Int32 /*nResult*/) {});
|
||||||
}
|
}
|
||||||
else // check for mismatched passwords and password policy
|
else // check for mismatched passwords and password policy
|
||||||
@@ -66,9 +66,9 @@ IMPL_LINK_NOARG(PasswordToOpenModifyDialog, OkBtnClickHdl, weld::Button&, void)
|
|||||||
const int nMismatch = (bToOpenMatch? 0 : 1) + (bToModifyMatch? 0 : 1);
|
const int nMismatch = (bToOpenMatch? 0 : 1) + (bToModifyMatch? 0 : 1);
|
||||||
if (nMismatch > 0)
|
if (nMismatch > 0)
|
||||||
{
|
{
|
||||||
m_xErrorBox.reset(Application::CreateMessageDialog(m_xDialog.get(),
|
m_xErrorBox = Application::CreateMessageDialog(
|
||||||
VclMessageType::Warning, VclButtonsType::Ok,
|
m_xDialog.get(), VclMessageType::Warning, VclButtonsType::Ok,
|
||||||
nMismatch == 1 ? m_aOneMismatch : m_aTwoMismatch));
|
nMismatch == 1 ? m_aOneMismatch : m_aTwoMismatch);
|
||||||
m_xErrorBox->runAsync(m_xErrorBox, [this, bToOpenMatch, nMismatch](sal_Int32 /*nResult*/)
|
m_xErrorBox->runAsync(m_xErrorBox, [this, bToOpenMatch, nMismatch](sal_Int32 /*nResult*/)
|
||||||
{
|
{
|
||||||
weld::Entry* pEdit = !bToOpenMatch ? m_xPasswdToOpenED.get() : m_xPasswdToModifyED.get();
|
weld::Entry* pEdit = !bToOpenMatch ? m_xPasswdToOpenED.get() : m_xPasswdToModifyED.get();
|
||||||
|
|||||||
@@ -1212,11 +1212,8 @@ IMPL_STATIC_LINK( SvxScriptErrorDialog, ShowDialog, void*, p, void )
|
|||||||
message = CuiResId( RID_CUISTR_ERROR_TITLE );
|
message = CuiResId( RID_CUISTR_ERROR_TITLE );
|
||||||
|
|
||||||
std::shared_ptr<weld::MessageDialog> xBox;
|
std::shared_ptr<weld::MessageDialog> xBox;
|
||||||
xBox.reset(Application::CreateMessageDialog(
|
xBox = Application::CreateMessageDialog(xData->pParent, VclMessageType::Warning,
|
||||||
xData->pParent,
|
VclButtonsType::Ok, message);
|
||||||
VclMessageType::Warning,
|
|
||||||
VclButtonsType::Ok,
|
|
||||||
message));
|
|
||||||
|
|
||||||
xBox->set_title(CuiResId(RID_CUISTR_ERROR_TITLE));
|
xBox->set_title(CuiResId(RID_CUISTR_ERROR_TITLE));
|
||||||
|
|
||||||
|
|||||||
@@ -525,7 +525,8 @@ void OSQLMessageBox::Construct(weld::Window* pParent, MessBoxStyle _nStyle, Mess
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_xDialog.reset(Application::CreateMessageDialog(pParent, eMessageType, VclButtonsType::NONE, u""_ustr));
|
m_xDialog
|
||||||
|
= Application::CreateMessageDialog(pParent, eMessageType, VclButtonsType::NONE, u""_ustr);
|
||||||
m_xDialog->set_title(utl::ConfigManager::getProductName() + " Base");
|
m_xDialog->set_title(utl::ConfigManager::getProductName() + " Base");
|
||||||
|
|
||||||
impl_fillMessages();
|
impl_fillMessages();
|
||||||
|
|||||||
@@ -1328,8 +1328,9 @@ public:
|
|||||||
static std::unique_ptr<weld::Builder>
|
static std::unique_ptr<weld::Builder>
|
||||||
CreateInterimBuilder(vcl::Window* pParent, const OUString& rUIFile, bool bAllowCycleFocusOut);
|
CreateInterimBuilder(vcl::Window* pParent, const OUString& rUIFile, bool bAllowCycleFocusOut);
|
||||||
|
|
||||||
static weld::MessageDialog* CreateMessageDialog(weld::Widget* pParent, VclMessageType eMessageType,
|
static std::unique_ptr<weld::MessageDialog>
|
||||||
VclButtonsType eButtonType, const OUString& rPrimaryMessage);
|
CreateMessageDialog(weld::Widget* pParent, VclMessageType eMessageType,
|
||||||
|
VclButtonsType eButtonType, const OUString& rPrimaryMessage);
|
||||||
|
|
||||||
static weld::Window* GetFrameWeld(const css::uno::Reference<css::awt::XWindow>& rWindow);
|
static weld::Window* GetFrameWeld(const css::uno::Reference<css::awt::XWindow>& rWindow);
|
||||||
|
|
||||||
|
|||||||
@@ -177,9 +177,8 @@ void ScSolverDlg::RaiseError( ScSolverErr eError )
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_xMessageBox.reset(Application::CreateMessageDialog(m_xDialog.get(),
|
m_xMessageBox = Application::CreateMessageDialog(m_xDialog.get(), VclMessageType::Warning,
|
||||||
VclMessageType::Warning, VclButtonsType::Ok,
|
VclButtonsType::Ok, sMessage);
|
||||||
sMessage));
|
|
||||||
m_xMessageBox->runAsync(m_xMessageBox, [this](sal_Int32 /*nResult*/) {
|
m_xMessageBox->runAsync(m_xMessageBox, [this](sal_Int32 /*nResult*/) {
|
||||||
m_xEdTargetVal->grab_focus();
|
m_xEdTargetVal->grab_focus();
|
||||||
m_xMessageBox.reset();
|
m_xMessageBox.reset();
|
||||||
|
|||||||
@@ -1661,9 +1661,8 @@ void ScTabView::ErrorMessage(TranslateId pGlobStrId)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_xMessageBox.reset(Application::CreateMessageDialog(pParent,
|
m_xMessageBox = Application::CreateMessageDialog(pParent, VclMessageType::Info,
|
||||||
VclMessageType::Info, VclButtonsType::Ok,
|
VclButtonsType::Ok, ScResId(pGlobStrId));
|
||||||
ScResId(pGlobStrId)));
|
|
||||||
|
|
||||||
if (comphelper::LibreOfficeKit::isActive())
|
if (comphelper::LibreOfficeKit::isActive())
|
||||||
m_xMessageBox->SetInstallLOKNotifierHdl(LINK(this, ScTabView, InstallLOKNotifierHdl));
|
m_xMessageBox->SetInstallLOKNotifierHdl(LINK(this, ScTabView, InstallLOKNotifierHdl));
|
||||||
|
|||||||
@@ -380,12 +380,9 @@ IMPL_STATIC_LINK( SfxApplication, GlobalBasicErrorHdl_Impl, StarBASIC*, pStarBas
|
|||||||
if (ErrorStringFactory::CreateString(nErr, aError))
|
if (ErrorStringFactory::CreateString(nErr, aError))
|
||||||
{
|
{
|
||||||
const SfxViewFrame* pViewFrame = SfxViewFrame::Current();
|
const SfxViewFrame* pViewFrame = SfxViewFrame::Current();
|
||||||
std::shared_ptr<weld::MessageDialog> xBox;
|
std::shared_ptr<weld::MessageDialog> xBox = Application::CreateMessageDialog(
|
||||||
xBox.reset(Application::CreateMessageDialog(
|
pViewFrame ? pViewFrame->GetFrameWeld() : nullptr, VclMessageType::Error,
|
||||||
pViewFrame ? pViewFrame->GetFrameWeld() : nullptr,
|
VclButtonsType::Ok, aError);
|
||||||
VclMessageType::Error,
|
|
||||||
VclButtonsType::Ok,
|
|
||||||
aError));
|
|
||||||
|
|
||||||
xBox->runAsync(xBox, [](sal_Int32 /*nResult*/) {});
|
xBox->runAsync(xBox, [](sal_Int32 /*nResult*/) {});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2076,8 +2076,8 @@ bool SfxObjectShell::PrepareForSigning(weld::Window* pDialogParent)
|
|||||||
|
|
||||||
if (!bRememberSignature)
|
if (!bRememberSignature)
|
||||||
{
|
{
|
||||||
xQuestion = std::unique_ptr<weld::MessageDialog>(Application::CreateMessageDialog(pDialogParent,
|
xQuestion = Application::CreateMessageDialog(
|
||||||
VclMessageType::Question, VclButtonsType::YesNo, sQuestion));
|
pDialogParent, VclMessageType::Question, VclButtonsType::YesNo, sQuestion);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( bRememberSignature || ( xQuestion != nullptr && xQuestion->run() == RET_YES ) )
|
if ( bRememberSignature || ( xQuestion != nullptr && xQuestion->run() == RET_YES ) )
|
||||||
|
|||||||
@@ -76,20 +76,21 @@ executeErrorDialog(
|
|||||||
switch (eClassification)
|
switch (eClassification)
|
||||||
{
|
{
|
||||||
case task::InteractionClassification_ERROR:
|
case task::InteractionClassification_ERROR:
|
||||||
xBox.reset(Application::CreateMessageDialog(pParent,
|
xBox = Application::CreateMessageDialog(
|
||||||
VclMessageType::Error, VclButtonsType::NONE, aText.makeStringAndClear()));
|
pParent, VclMessageType::Error, VclButtonsType::NONE, aText.makeStringAndClear());
|
||||||
break;
|
break;
|
||||||
case task::InteractionClassification_WARNING:
|
case task::InteractionClassification_WARNING:
|
||||||
xBox.reset(Application::CreateMessageDialog(pParent,
|
xBox = Application::CreateMessageDialog(
|
||||||
VclMessageType::Warning, VclButtonsType::NONE, aText.makeStringAndClear()));
|
pParent, VclMessageType::Warning, VclButtonsType::NONE, aText.makeStringAndClear());
|
||||||
break;
|
break;
|
||||||
case task::InteractionClassification_INFO:
|
case task::InteractionClassification_INFO:
|
||||||
xBox.reset(Application::CreateMessageDialog(pParent,
|
xBox = Application::CreateMessageDialog(
|
||||||
VclMessageType::Info, VclButtonsType::NONE, aText.makeStringAndClear()));
|
pParent, VclMessageType::Info, VclButtonsType::NONE, aText.makeStringAndClear());
|
||||||
break;
|
break;
|
||||||
case task::InteractionClassification_QUERY:
|
case task::InteractionClassification_QUERY:
|
||||||
xBox.reset(Application::CreateMessageDialog(pParent,
|
xBox = Application::CreateMessageDialog(pParent, VclMessageType::Question,
|
||||||
VclMessageType::Question, VclButtonsType::NONE, aText.makeStringAndClear()));
|
VclButtonsType::NONE,
|
||||||
|
aText.makeStringAndClear());
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
assert(false);
|
assert(false);
|
||||||
|
|||||||
@@ -190,10 +190,9 @@ public:
|
|||||||
const OUString& rUIRoot,
|
const OUString& rUIRoot,
|
||||||
const OUString& rUIFile,
|
const OUString& rUIFile,
|
||||||
bool bAllowCycleFocusOut) override;
|
bool bAllowCycleFocusOut) override;
|
||||||
virtual weld::MessageDialog* CreateMessageDialog(weld::Widget* pParent,
|
virtual std::unique_ptr<weld::MessageDialog>
|
||||||
VclMessageType eMessageType,
|
CreateMessageDialog(weld::Widget* pParent, VclMessageType eMessageType,
|
||||||
VclButtonsType eButtonType,
|
VclButtonsType eButtonType, const OUString& rPrimaryMessage) override;
|
||||||
const OUString& rPrimaryMessage) override;
|
|
||||||
virtual std::unique_ptr<weld::ColorChooserDialog>
|
virtual std::unique_ptr<weld::ColorChooserDialog>
|
||||||
CreateColorChooserDialog(weld::Window* pParent, vcl::ColorPickerMode eMode) override;
|
CreateColorChooserDialog(weld::Window* pParent, vcl::ColorPickerMode eMode) override;
|
||||||
|
|
||||||
|
|||||||
+3
-2
@@ -189,8 +189,9 @@ public:
|
|||||||
const OUString& rUIRoot,
|
const OUString& rUIRoot,
|
||||||
const OUString& rUIFile,
|
const OUString& rUIFile,
|
||||||
bool bAllowCycleFocusOut);
|
bool bAllowCycleFocusOut);
|
||||||
virtual weld::MessageDialog* CreateMessageDialog(weld::Widget* pParent, VclMessageType eMessageType,
|
virtual std::unique_ptr<weld::MessageDialog>
|
||||||
VclButtonsType eButtonType, const OUString& rPrimaryMessage);
|
CreateMessageDialog(weld::Widget* pParent, VclMessageType eMessageType,
|
||||||
|
VclButtonsType eButtonType, const OUString& rPrimaryMessage);
|
||||||
virtual std::unique_ptr<weld::ColorChooserDialog>
|
virtual std::unique_ptr<weld::ColorChooserDialog>
|
||||||
CreateColorChooserDialog(weld::Window* pParent, vcl::ColorPickerMode eMode);
|
CreateColorChooserDialog(weld::Window* pParent, vcl::ColorPickerMode eMode);
|
||||||
virtual weld::Window* GetFrameWeld(const css::uno::Reference<css::awt::XWindow>& rWindow);
|
virtual weld::Window* GetFrameWeld(const css::uno::Reference<css::awt::XWindow>& rWindow);
|
||||||
|
|||||||
@@ -285,7 +285,9 @@ public:
|
|||||||
const OUString& rUIRoot,
|
const OUString& rUIRoot,
|
||||||
const OUString& rUIFile,
|
const OUString& rUIFile,
|
||||||
bool bAllowCycleFocusOut) override;
|
bool bAllowCycleFocusOut) override;
|
||||||
virtual weld::MessageDialog* CreateMessageDialog(weld::Widget* pParent, VclMessageType eMessageType, VclButtonsType eButtonType, const OUString &rPrimaryMessage) override;
|
virtual std::unique_ptr<weld::MessageDialog>
|
||||||
|
CreateMessageDialog(weld::Widget* pParent, VclMessageType eMessageType,
|
||||||
|
VclButtonsType eButtonType, const OUString& rPrimaryMessage) override;
|
||||||
std::unique_ptr<weld::ColorChooserDialog>
|
std::unique_ptr<weld::ColorChooserDialog>
|
||||||
CreateColorChooserDialog(weld::Window* pParent, vcl::ColorPickerMode eMode) override;
|
CreateColorChooserDialog(weld::Window* pParent, vcl::ColorPickerMode eMode) override;
|
||||||
virtual weld::Window* GetFrameWeld(const css::uno::Reference<css::awt::XWindow>& rWindow) override;
|
virtual weld::Window* GetFrameWeld(const css::uno::Reference<css::awt::XWindow>& rWindow) override;
|
||||||
|
|||||||
@@ -944,15 +944,14 @@ std::unique_ptr<weld::Builder> QtInstance::CreateInterimBuilder(vcl::Window* pPa
|
|||||||
return std::make_unique<QtInstanceBuilder>(pWidget, rUIRoot, rUIFile);
|
return std::make_unique<QtInstanceBuilder>(pWidget, rUIRoot, rUIFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
weld::MessageDialog* QtInstance::CreateMessageDialog(weld::Widget* pParent,
|
std::unique_ptr<weld::MessageDialog>
|
||||||
VclMessageType eMessageType,
|
QtInstance::CreateMessageDialog(weld::Widget* pParent, VclMessageType eMessageType,
|
||||||
VclButtonsType eButtonsType,
|
VclButtonsType eButtonsType, const OUString& rPrimaryMessage)
|
||||||
const OUString& rPrimaryMessage)
|
|
||||||
{
|
{
|
||||||
SolarMutexGuard g;
|
SolarMutexGuard g;
|
||||||
if (!IsMainThread())
|
if (!IsMainThread())
|
||||||
{
|
{
|
||||||
weld::MessageDialog* pDialog = nullptr;
|
std::unique_ptr<weld::MessageDialog> pDialog;
|
||||||
RunInMainThread([&] {
|
RunInMainThread([&] {
|
||||||
pDialog = CreateMessageDialog(pParent, eMessageType, eButtonsType, rPrimaryMessage);
|
pDialog = CreateMessageDialog(pParent, eMessageType, eButtonsType, rPrimaryMessage);
|
||||||
});
|
});
|
||||||
@@ -971,7 +970,8 @@ weld::MessageDialog* QtInstance::CreateMessageDialog(weld::Widget* pParent,
|
|||||||
pMessageBox->setText(toQString(rPrimaryMessage));
|
pMessageBox->setText(toQString(rPrimaryMessage));
|
||||||
pMessageBox->setIcon(vclMessageTypeToQtIcon(eMessageType));
|
pMessageBox->setIcon(vclMessageTypeToQtIcon(eMessageType));
|
||||||
pMessageBox->setWindowTitle(toQString(GetStandardMessageDialogText(eMessageType)));
|
pMessageBox->setWindowTitle(toQString(GetStandardMessageDialogText(eMessageType)));
|
||||||
QtInstanceMessageDialog* pDialog = new QtInstanceMessageDialog(pMessageBox);
|
std::unique_ptr<QtInstanceMessageDialog> pDialog
|
||||||
|
= std::make_unique<QtInstanceMessageDialog>(pMessageBox);
|
||||||
pDialog->addStandardButtons(eButtonsType);
|
pDialog->addStandardButtons(eButtonsType);
|
||||||
return pDialog;
|
return pDialog;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -92,16 +92,15 @@ std::unique_ptr<weld::Builder> SalInstance::CreateInterimBuilder(vcl::Window* pP
|
|||||||
return std::make_unique<SalInstanceBuilder>(pParent, rUIRoot, rUIFile);
|
return std::make_unique<SalInstanceBuilder>(pParent, rUIRoot, rUIFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
weld::MessageDialog* SalInstance::CreateMessageDialog(weld::Widget* pParent,
|
std::unique_ptr<weld::MessageDialog>
|
||||||
VclMessageType eMessageType,
|
SalInstance::CreateMessageDialog(weld::Widget* pParent, VclMessageType eMessageType,
|
||||||
VclButtonsType eButtonsType,
|
VclButtonsType eButtonsType, const OUString& rPrimaryMessage)
|
||||||
const OUString& rPrimaryMessage)
|
|
||||||
{
|
{
|
||||||
SalInstanceWidget* pParentInstance = dynamic_cast<SalInstanceWidget*>(pParent);
|
SalInstanceWidget* pParentInstance = dynamic_cast<SalInstanceWidget*>(pParent);
|
||||||
SystemWindow* pParentWidget = pParentInstance ? pParentInstance->getSystemWindow() : nullptr;
|
SystemWindow* pParentWidget = pParentInstance ? pParentInstance->getSystemWindow() : nullptr;
|
||||||
VclPtrInstance<MessageDialog> xMessageDialog(pParentWidget, rPrimaryMessage, eMessageType,
|
VclPtrInstance<MessageDialog> xMessageDialog(pParentWidget, rPrimaryMessage, eMessageType,
|
||||||
eButtonsType);
|
eButtonsType);
|
||||||
return new SalInstanceMessageDialog(xMessageDialog, nullptr, true);
|
return std::make_unique<SalInstanceMessageDialog>(xMessageDialog, nullptr, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<weld::ColorChooserDialog>
|
std::unique_ptr<weld::ColorChooserDialog>
|
||||||
|
|||||||
@@ -56,6 +56,7 @@
|
|||||||
#include <vcl/settings.hxx>
|
#include <vcl/settings.hxx>
|
||||||
#include <slider.hxx>
|
#include <slider.hxx>
|
||||||
#include <vcl/weld/Builder.hxx>
|
#include <vcl/weld/Builder.hxx>
|
||||||
|
#include <vcl/weld/MessageDialog.hxx>
|
||||||
#include <vcl/weld/weldutils.hxx>
|
#include <vcl/weld/weldutils.hxx>
|
||||||
#include <vcl/commandinfoprovider.hxx>
|
#include <vcl/commandinfoprovider.hxx>
|
||||||
#include <iconview.hxx>
|
#include <iconview.hxx>
|
||||||
@@ -199,8 +200,9 @@ std::unique_ptr<weld::Builder> Application::CreateInterimBuilder(vcl::Window* pP
|
|||||||
bAllowCycleFocusOut);
|
bAllowCycleFocusOut);
|
||||||
}
|
}
|
||||||
|
|
||||||
weld::MessageDialog* Application::CreateMessageDialog(weld::Widget* pParent, VclMessageType eMessageType,
|
std::unique_ptr<weld::MessageDialog>
|
||||||
VclButtonsType eButtonType, const OUString& rPrimaryMessage)
|
Application::CreateMessageDialog(weld::Widget* pParent, VclMessageType eMessageType,
|
||||||
|
VclButtonsType eButtonType, const OUString& rPrimaryMessage)
|
||||||
{
|
{
|
||||||
return GetSalInstance()->CreateMessageDialog(pParent, eMessageType, eButtonType, rPrimaryMessage);
|
return GetSalInstance()->CreateMessageDialog(pParent, eMessageType, eButtonType, rPrimaryMessage);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24296,14 +24296,16 @@ std::unique_ptr<weld::Builder> GtkInstance::CreateInterimBuilder(vcl::Window* pP
|
|||||||
return std::make_unique<GtkInstanceBuilder>(pWindow, rUIRoot, rUIFile, xEmbedWindow.get(), bAllowCycleFocusOut);
|
return std::make_unique<GtkInstanceBuilder>(pWindow, rUIRoot, rUIFile, xEmbedWindow.get(), bAllowCycleFocusOut);
|
||||||
}
|
}
|
||||||
|
|
||||||
weld::MessageDialog* GtkInstance::CreateMessageDialog(weld::Widget* pParent, VclMessageType eMessageType, VclButtonsType eButtonsType, const OUString &rPrimaryMessage)
|
std::unique_ptr<weld::MessageDialog>
|
||||||
|
GtkInstance::CreateMessageDialog(weld::Widget* pParent, VclMessageType eMessageType,
|
||||||
|
VclButtonsType eButtonsType, const OUString& rPrimaryMessage)
|
||||||
{
|
{
|
||||||
GtkInstanceWidget* pParentInstance = dynamic_cast<GtkInstanceWidget*>(pParent);
|
GtkInstanceWidget* pParentInstance = dynamic_cast<GtkInstanceWidget*>(pParent);
|
||||||
GtkWindow* pParentWindow = pParentInstance ? pParentInstance->getWindow() : nullptr;
|
GtkWindow* pParentWindow = pParentInstance ? pParentInstance->getWindow() : nullptr;
|
||||||
GtkMessageDialog* pMessageDialog = GTK_MESSAGE_DIALOG(gtk_message_dialog_new(pParentWindow, GTK_DIALOG_MODAL,
|
GtkMessageDialog* pMessageDialog = GTK_MESSAGE_DIALOG(gtk_message_dialog_new(pParentWindow, GTK_DIALOG_MODAL,
|
||||||
VclToGtk(eMessageType), VclToGtk(eButtonsType), "%s",
|
VclToGtk(eMessageType), VclToGtk(eButtonsType), "%s",
|
||||||
OUStringToOString(rPrimaryMessage, RTL_TEXTENCODING_UTF8).getStr()));
|
OUStringToOString(rPrimaryMessage, RTL_TEXTENCODING_UTF8).getStr()));
|
||||||
return new GtkInstanceMessageDialog(pMessageDialog, nullptr, true);
|
return std::make_unique<GtkInstanceMessageDialog>(pMessageDialog, nullptr, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<weld::ColorChooserDialog>
|
std::unique_ptr<weld::ColorChooserDialog>
|
||||||
|
|||||||
Reference in New Issue
Block a user