summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cui/source/inc/connect.hxx2
-rw-r--r--cui/source/inc/measure.hxx2
-rw-r--r--sw/source/ui/config/mailconfigpage.cxx119
-rw-r--r--sw/source/ui/dbui/mmoutputtypepage.cxx2
-rw-r--r--sw/source/uibase/dbui/mailmergehelper.cxx4
-rw-r--r--sw/source/uibase/inc/mailmergehelper.hxx6
-rw-r--r--sw/uiconfig/swriter/ui/testmailsettings.ui94
-rw-r--r--vcl/inc/bitmaps.hlst1
-rw-r--r--vcl/source/window/builder.cxx28
9 files changed, 161 insertions, 97 deletions
diff --git a/cui/source/inc/connect.hxx b/cui/source/inc/connect.hxx
index 50caaf5b370c..70e54e6fd8f4 100644
--- a/cui/source/inc/connect.hxx
+++ b/cui/source/inc/connect.hxx
@@ -73,7 +73,7 @@ public:
virtual void PageCreated(const SfxAllItemSet& aSet) override;
};
-/* Derived from SfxSingleTabDialog, in order to be informed about
+/* Derived from SfxSingleTabDialogController, in order to be informed about
virtual methods by the control. */
class SvxConnectionDialog : public SfxSingleTabDialogController
{
diff --git a/cui/source/inc/measure.hxx b/cui/source/inc/measure.hxx
index 6574babc86f3..90da75d46061 100644
--- a/cui/source/inc/measure.hxx
+++ b/cui/source/inc/measure.hxx
@@ -87,7 +87,7 @@ public:
};
-/* Derived from SfxSingleTabDialog, in order to be able to be
+/* Derived from SfxSingleTabDialogController, in order to be able to be
informed about virtual methods by the control. */
class SvxMeasureDialog : public SfxSingleTabDialogController
{
diff --git a/sw/source/ui/config/mailconfigpage.cxx b/sw/source/ui/config/mailconfigpage.cxx
index b7752e853e7d..7d73d5e1c669 100644
--- a/sw/source/ui/config/mailconfigpage.cxx
+++ b/sw/source/ui/config/mailconfigpage.cxx
@@ -41,36 +41,33 @@ using namespace ::com::sun::star::lang;
using namespace ::com::sun::star::mail;
using namespace ::com::sun::star::beans;
-class SwTestAccountSettingsDialog : public SfxModalDialog
+class SwTestAccountSettingsDialog : public weld::GenericDialogController
{
- VclPtr<VclMultiLineEdit> m_pErrorsED;
-
- VclPtr<PushButton> m_pStopPB;
-
- VclPtr<FixedText> m_pEstablish;
- VclPtr<FixedText> m_pFind;
- VclPtr<FixedText> m_pResult1;
- VclPtr<FixedText> m_pResult2;
- VclPtr<FixedImage> m_pImage1;
- VclPtr<FixedImage> m_pImage2;
-
- Image m_aCompletedImg;
- Image m_aFailedImg;
+ ImplSVEvent* m_pPostedEvent;
OUString m_sCompleted;
OUString m_sFailed;
OUString m_sErrorServer;
+ bool m_bStop;
VclPtr<SwMailConfigPage> m_pParent;
- bool m_bStop;
+ std::unique_ptr<weld::Button> m_xStopPB;
+ std::unique_ptr<weld::TextView> m_xErrorsED;
+ std::unique_ptr<weld::Label> m_xEstablish;
+ std::unique_ptr<weld::Label> m_xFind;
+ std::unique_ptr<weld::Label> m_xResult1;
+ std::unique_ptr<weld::Label> m_xResult2;
+ std::unique_ptr<weld::Image> m_xImage1;
+ std::unique_ptr<weld::Image> m_xImage2;
+ std::unique_ptr<weld::Image> m_xImage3;
+ std::unique_ptr<weld::Image> m_xImage4;
void Test();
- DECL_LINK(StopHdl, Button*, void);
+ DECL_LINK(StopHdl, weld::Button&, void);
DECL_LINK(TestHdl, void*, void);
public:
explicit SwTestAccountSettingsDialog(SwMailConfigPage* pParent);
virtual ~SwTestAccountSettingsDialog() override;
- virtual void dispose() override;
};
class SwAuthenticationSettingsDialog : public weld::GenericDialogController
@@ -216,7 +213,8 @@ IMPL_LINK_NOARG(SwMailConfigPage, AuthenticationHdl, Button*, void)
IMPL_LINK_NOARG(SwMailConfigPage, TestHdl, Button*, void)
{
- ScopedVclPtrInstance<SwTestAccountSettingsDialog>(this)->Execute();
+ SwTestAccountSettingsDialog aDlg(this);
+ aDlg.run();
}
IMPL_LINK(SwMailConfigPage, SecureHdl, Button*, pBox, void)
@@ -228,61 +226,50 @@ IMPL_LINK(SwMailConfigPage, SecureHdl, Button*, pBox, void)
}
SwTestAccountSettingsDialog::SwTestAccountSettingsDialog(SwMailConfigPage* pParent)
- : SfxModalDialog(pParent, "TestMailSettings", "modules/swriter/ui/testmailsettings.ui")
- , m_aCompletedImg(BitmapEx(RID_BMP_FORMULA_APPLY))
- , m_aFailedImg(BitmapEx(RID_BMP_FORMULA_CANCEL))
- , m_pParent(pParent)
+ : GenericDialogController(pParent->GetFrameWeld(), "modules/swriter/ui/testmailsettings.ui", "TestMailSettings")
, m_bStop(false)
+ , m_pParent(pParent)
+ , m_xStopPB(m_xBuilder->weld_button("stop"))
+ , m_xErrorsED(m_xBuilder->weld_text_view("errors"))
+ , m_xEstablish(m_xBuilder->weld_label("establish"))
+ , m_xFind(m_xBuilder->weld_label("find"))
+ , m_xResult1(m_xBuilder->weld_label("result1"))
+ , m_xResult2(m_xBuilder->weld_label("result2"))
+ , m_xImage1(m_xBuilder->weld_image("image1"))
+ , m_xImage2(m_xBuilder->weld_image("image2"))
+ , m_xImage3(m_xBuilder->weld_image("image3"))
+ , m_xImage4(m_xBuilder->weld_image("image4"))
{
- get(m_pStopPB, "stop");
- get(m_pErrorsED, "errors");
- m_pErrorsED->SetMaxTextWidth(80 * m_pErrorsED->approximate_char_width());
- m_pErrorsED->set_height_request(8 * m_pErrorsED->GetTextHeight());
- m_sErrorServer = m_pErrorsED->GetText();
- m_pErrorsED->SetText("");
- get(m_pEstablish, "establish");
- get(m_pFind, "find");
- get(m_pImage1, "image1");
- get(m_pResult1, "result1");
- get(m_pImage2, "image2");
- get(m_pResult2, "result2");
- m_sCompleted = m_pResult1->GetText();
- m_sFailed = m_pResult2->GetText();
-
- m_pStopPB->SetClickHdl(LINK(this, SwTestAccountSettingsDialog, StopHdl));
-
- Application::PostUserEvent( LINK( this, SwTestAccountSettingsDialog, TestHdl ), this, true );
-}
+ m_xErrorsED->set_size_request(m_xErrorsED->get_approximate_digit_width() * 72,
+ m_xErrorsED->get_height_rows(8));
+ m_sErrorServer = m_xErrorsED->get_text();
+ m_xErrorsED->set_text("");
+ m_sCompleted = m_xResult1->get_label();
+ m_sFailed = m_xResult2->get_label();
-SwTestAccountSettingsDialog::~SwTestAccountSettingsDialog()
-{
- disposeOnce();
+ m_xStopPB->connect_clicked(LINK(this, SwTestAccountSettingsDialog, StopHdl));
+
+ m_pPostedEvent = Application::PostUserEvent(LINK(this, SwTestAccountSettingsDialog, TestHdl));
}
-void SwTestAccountSettingsDialog::dispose()
+SwTestAccountSettingsDialog::~SwTestAccountSettingsDialog()
{
- m_pErrorsED.clear();
- m_pStopPB.clear();
- m_pEstablish.clear();
- m_pFind.clear();
- m_pResult1.clear();
- m_pResult2.clear();
- m_pImage1.clear();
- m_pImage2.clear();
- m_pParent.clear();
- SfxModalDialog::dispose();
+ if (m_pPostedEvent)
+ {
+ Application::RemoveUserEvent(m_pPostedEvent);
+ }
}
-IMPL_LINK_NOARG(SwTestAccountSettingsDialog, StopHdl, Button*, void)
+IMPL_LINK_NOARG(SwTestAccountSettingsDialog, StopHdl, weld::Button&, void)
{
m_bStop = true;
}
IMPL_LINK_NOARG(SwTestAccountSettingsDialog, TestHdl, void*, void)
{
- EnterWait();
+ m_pPostedEvent = nullptr;
+ weld::WaitObject aWait(m_xDialog.get());
Test();
- LeaveWait();
}
void SwTestAccountSettingsDialog::Test()
@@ -318,7 +305,7 @@ void SwTestAccountSettingsDialog::Test()
new SwAuthenticator(
m_pParent->m_pConfigItem->GetInServerUserName(),
m_pParent->m_pConfigItem->GetInServerPassword(),
- this);
+ m_xDialog.get());
xInMailService->addConnectionListener(xConnectionListener);
//check connection
@@ -339,7 +326,7 @@ void SwTestAccountSettingsDialog::Test()
new SwAuthenticator(
m_pParent->m_pConfigItem->GetMailUserName(),
m_pParent->m_pConfigItem->GetMailPassword(),
- this);
+ m_xDialog.get());
else
xAuthenticator = new SwAuthenticator();
@@ -369,18 +356,20 @@ void SwTestAccountSettingsDialog::Test()
sException = e.Message;
}
- m_pResult1->SetText(bIsServer ? m_sCompleted : m_sFailed);
- m_pImage1->SetImage(bIsServer ? m_aCompletedImg : m_aFailedImg);
+ m_xResult1->set_label(bIsServer ? m_sCompleted : m_sFailed);
+ m_xImage1->show(!bIsServer);
+ m_xImage3->show(bIsServer);
- m_pResult2->SetText(bIsLoggedIn ? m_sCompleted : m_sFailed);
- m_pImage2->SetImage(bIsLoggedIn ? m_aCompletedImg : m_aFailedImg);
+ m_xResult2->set_label(bIsLoggedIn ? m_sCompleted : m_sFailed);
+ m_xImage2->show(!bIsLoggedIn);
+ m_xImage4->show(bIsLoggedIn);
if (!bIsServer || !bIsLoggedIn)
{
OUString aErrorMessage(m_sErrorServer);
if (!sException.isEmpty())
aErrorMessage += "\n--\n" + sException;
- m_pErrorsED->SetText(aErrorMessage);
+ m_xErrorsED->set_text(aErrorMessage);
}
}
diff --git a/sw/source/ui/dbui/mmoutputtypepage.cxx b/sw/source/ui/dbui/mmoutputtypepage.cxx
index 9bf6e97400f8..78328fe95788 100644
--- a/sw/source/ui/dbui/mmoutputtypepage.cxx
+++ b/sw/source/ui/dbui/mmoutputtypepage.cxx
@@ -418,7 +418,7 @@ void SwSendMailDialog::SendMails()
uno::Reference< mail::XSmtpService > xSmtpServer =
SwMailMergeHelper::ConnectToSmtpServer( *m_pConfigItem,
m_pImpl->xConnectedInMailService,
- aEmptyOUStr, aEmptyOUStr, this );
+ aEmptyOUStr, aEmptyOUStr, GetFrameWeld() );
bool bIsLoggedIn = xSmtpServer.is() && xSmtpServer->isConnected();
LeaveWait();
if(!bIsLoggedIn)
diff --git a/sw/source/uibase/dbui/mailmergehelper.cxx b/sw/source/uibase/dbui/mailmergehelper.cxx
index e742e88b8583..9768744eeca6 100644
--- a/sw/source/uibase/dbui/mailmergehelper.cxx
+++ b/sw/source/uibase/dbui/mailmergehelper.cxx
@@ -87,7 +87,7 @@ uno::Reference< mail::XSmtpService > ConnectToSmtpServer(
uno::Reference< mail::XMailService >& rxInMailService,
const OUString& rInMailServerPassword,
const OUString& rOutMailServerPassword,
- vcl::Window* pDialogParentWindow )
+ weld::Window* pDialogParentWindow )
{
uno::Reference< mail::XSmtpService > xSmtpServer;
uno::Reference< uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext();
@@ -611,7 +611,7 @@ OUString SwAuthenticator::getPassword( )
{
if(!m_aUserName.isEmpty() && m_aPassword.isEmpty() && m_pParentWindow)
{
- SfxPasswordDialog aPasswdDlg(m_pParentWindow->GetFrameWeld());
+ SfxPasswordDialog aPasswdDlg(m_pParentWindow);
aPasswdDlg.SetMinLen(0);
if (RET_OK == aPasswdDlg.execute())
m_aPassword = aPasswdDlg.GetPassword();
diff --git a/sw/source/uibase/inc/mailmergehelper.hxx b/sw/source/uibase/inc/mailmergehelper.hxx
index a627dc590d6d..c415e0fa5880 100644
--- a/sw/source/uibase/inc/mailmergehelper.hxx
+++ b/sw/source/uibase/inc/mailmergehelper.hxx
@@ -49,7 +49,7 @@ namespace SwMailMergeHelper
css::uno::Reference<css::mail::XMailService>& xInMailService,
const OUString& rInMailServerPassword,
const OUString& rOutMailServerPassword,
- vcl::Window* pDialogParentWindow = nullptr);
+ weld::Window* pDialogParentWindow = nullptr);
}
struct SwAddressPreview_Impl;
@@ -142,12 +142,12 @@ class SW_DLLPUBLIC SwAuthenticator :
{
OUString m_aUserName;
OUString m_aPassword;
- VclPtr<vcl::Window> m_pParentWindow;
+ weld::Window* m_pParentWindow;
public:
SwAuthenticator()
: m_pParentWindow(nullptr)
{}
- SwAuthenticator(const OUString& username, const OUString& password, vcl::Window* pParent)
+ SwAuthenticator(const OUString& username, const OUString& password, weld::Window* pParent)
: m_aUserName(username)
, m_aPassword(password)
, m_pParentWindow(pParent)
diff --git a/sw/uiconfig/swriter/ui/testmailsettings.ui b/sw/uiconfig/swriter/ui/testmailsettings.ui
index 71b75c99753f..9f568fd703a2 100644
--- a/sw/uiconfig/swriter/ui/testmailsettings.ui
+++ b/sw/uiconfig/swriter/ui/testmailsettings.ui
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
+<!-- Generated with glade 3.22.1 -->
<interface domain="sw">
<requires lib="gtk+" version="3.18"/>
<object class="GtkTextBuffer" id="textbuffer1">
@@ -10,6 +10,9 @@
<property name="border_width">6</property>
<property name="title" translatable="yes" context="testmailsettings|TestMailSettings">Test Account Settings</property>
<property name="type_hint">dialog</property>
+ <child>
+ <placeholder/>
+ </child>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1">
<property name="can_focus">False</property>
@@ -95,72 +98,118 @@
<property name="row_spacing">6</property>
<property name="column_spacing">12</property>
<child>
- <object class="GtkImage" id="image1">
+ <object class="GtkLabel" id="establish">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="stock">gtk-missing-image</property>
+ <property name="label" translatable="yes" context="testmailsettings|establish">Establish network connection</property>
+ <property name="xalign">0</property>
</object>
<packing>
- <property name="left_attach">0</property>
+ <property name="left_attach">1</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
- <object class="GtkImage" id="image2">
+ <object class="GtkLabel" id="find">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="stock">gtk-missing-image</property>
+ <property name="label" translatable="yes" context="testmailsettings|find">Find outgoing mail server</property>
+ <property name="xalign">0</property>
</object>
<packing>
- <property name="left_attach">0</property>
+ <property name="left_attach">1</property>
<property name="top_attach">1</property>
</packing>
</child>
<child>
- <object class="GtkLabel" id="establish">
+ <object class="GtkLabel" id="result1">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="testmailsettings|result1">Successful</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes" context="testmailsettings|establish">Establish network connection</property>
</object>
<packing>
- <property name="left_attach">1</property>
+ <property name="left_attach">2</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
- <object class="GtkLabel" id="find">
+ <object class="GtkLabel" id="result2">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="testmailsettings|result2">Failed</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes" context="testmailsettings|find">Find outgoing mail server</property>
</object>
<packing>
- <property name="left_attach">1</property>
+ <property name="left_attach">2</property>
<property name="top_attach">1</property>
</packing>
</child>
<child>
- <object class="GtkLabel" id="result1">
+ <object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes" context="testmailsettings|result1">Successful</property>
+ <child>
+ <object class="GtkImage" id="image1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="stock">gtk-dialog-error</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage" id="image3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="stock">gtk-apply</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</object>
<packing>
- <property name="left_attach">2</property>
+ <property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
- <object class="GtkLabel" id="result2">
+ <object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes" context="testmailsettings|result2">Failed</property>
+ <child>
+ <object class="GtkImage" id="image2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="stock">gtk-dialog-error</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkImage" id="image4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="stock">gtk-apply</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</object>
<packing>
- <property name="left_attach">2</property>
+ <property name="left_attach">0</property>
<property name="top_attach">1</property>
</packing>
</child>
@@ -213,7 +262,7 @@
<property name="vexpand">True</property>
<property name="shadow_type">in</property>
<child>
- <object class="GtkTextView" id="errors:border">
+ <object class="GtkTextView" id="errors">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
@@ -254,7 +303,6 @@
</object>
</child>
<action-widgets>
- <action-widget response="0">stop</action-widget>
<action-widget response="-6">cancel</action-widget>
<action-widget response="-11">help</action-widget>
</action-widgets>
diff --git a/vcl/inc/bitmaps.hlst b/vcl/inc/bitmaps.hlst
index 788a5c965235..d71840e3f3ef 100644
--- a/vcl/inc/bitmaps.hlst
+++ b/vcl/inc/bitmaps.hlst
@@ -138,6 +138,7 @@
#define SPINNER_64_12 "vcl/res/spinner-64-12.png"
//end, Throbber::getDefaultImageURLs
+#define IMG_APPLY "sw/res/sc20558.png"
#define IMG_WARN "dbaccess/res/exwarning.png"
#define IMG_ERROR "dbaccess/res/exerror.png"
#define IMG_INFO "dbaccess/res/exinfo.png"
diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx
index 9ccabc6412e3..c61cbc878864 100644
--- a/vcl/source/window/builder.cxx
+++ b/vcl/source/window/builder.cxx
@@ -70,6 +70,10 @@ namespace
return OUString(SV_RESID_BITMAP_INDEX);
else if (sType == "gtk-refresh")
return OUString(SV_RESID_BITMAP_REFRESH);
+ else if (sType == "gtk-apply")
+ return OUString(IMG_APPLY);
+ else if (sType == "gtk-dialog-error")
+ return OUString(IMG_ERROR);
return OUString();
}
@@ -627,7 +631,7 @@ VclBuilder::VclBuilder(vcl::Window *pParent, const OUString& sUIDir, const OUStr
pTargetButton->SetStyle(pTargetButton->GetStyle() | WB_SMALLSTYLE);
}
else
- SAL_WARN_IF(eType != SymbolType::IMAGE, "vcl.layout", "inimplemented symbol type for radiobuttons");
+ SAL_WARN_IF(eType != SymbolType::IMAGE, "vcl.layout", "unimplemented symbol type for radiobuttons");
if (eType == SymbolType::IMAGE)
{
BitmapEx aBitmap(mapStockToImageResource(rImageInfo.m_sStock));
@@ -658,6 +662,28 @@ VclBuilder::VclBuilder(vcl::Window *pParent, const OUString& sUIDir, const OUStr
delete_by_name(elem.toUtf8());
}
+ //fill in any stock icons in surviving images
+ for (auto const& elem : m_pParserState->m_aStockMap)
+ {
+ FixedImage *pImage = get<FixedImage>(elem.first);
+ SAL_WARN_IF(!pImage, "vcl", "missing elements of image/stock");
+ if (!pImage)
+ continue;
+
+ const stockinfo &rImageInfo = elem.second;
+ if (rImageInfo.m_sStock == "gtk-missing-image")
+ continue;
+
+ SymbolType eType = mapStockToSymbol(rImageInfo.m_sStock);
+ SAL_WARN_IF(eType != SymbolType::IMAGE, "vcl", "unimplemented symbol type for images");
+ if (eType != SymbolType::IMAGE)
+ continue;
+
+ BitmapEx aBitmap(mapStockToImageResource(rImageInfo.m_sStock));
+ const Image aImage(aBitmap);
+ pImage->SetImage(aImage);
+ }
+
//Set button menus when everything has been imported
for (auto const& elem : m_pParserState->m_aButtonMenuMaps)
{