Kaydet (Commit) 0fdf02b8 authored tarafından Caolán McNamara's avatar Caolán McNamara

weld OUserAdminDlg

Change-Id: I3e190db7c00ebff55296fe1ffb8999d9892c7723
Reviewed-on: https://gerrit.libreoffice.org/62329
Tested-by: Jenkins
Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst 6d579133
...@@ -46,24 +46,24 @@ namespace dbaui ...@@ -46,24 +46,24 @@ namespace dbaui
using namespace ::com::sun::star::sdbcx; using namespace ::com::sun::star::sdbcx;
// OUserAdminDlg // OUserAdminDlg
OUserAdminDlg::OUserAdminDlg(vcl::Window* _pParent OUserAdminDlg::OUserAdminDlg(weld::Window* pParent,
, SfxItemSet* _pItems SfxItemSet* pItems,
,const Reference< XComponentContext >& _rxORB const Reference< XComponentContext >& rxORB,
,const css::uno::Any& _aDataSourceName const css::uno::Any& rDataSourceName,
,const Reference< XConnection >& _xConnection) const Reference< XConnection >& xConnection)
: SfxTabDialog(_pParent, "UserAdminDialog", "dbaccess/ui/useradmindialog.ui", _pItems) : SfxTabDialogController(pParent, "dbaccess/ui/useradmindialog.ui", "UserAdminDialog", pItems)
, m_pItemSet(_pItems) , m_pParent(pParent)
, m_xConnection(_xConnection) , m_pItemSet(pItems)
, m_bOwnConnection(!_xConnection.is()) , m_xConnection(xConnection)
, m_bOwnConnection(!xConnection.is())
{ {
m_pImpl.reset(new ODbDataSourceAdministrationHelper(_rxORB,GetFrameWeld(),_pParent ? _pParent->GetFrameWeld() : nullptr, this)); m_pImpl.reset(new ODbDataSourceAdministrationHelper(rxORB, m_xDialog.get(), pParent, this));
m_pImpl->setDataSourceOrName(_aDataSourceName); m_pImpl->setDataSourceOrName(rDataSourceName);
Reference< XPropertySet > xDatasource = m_pImpl->getCurrentDataSource(); Reference< XPropertySet > xDatasource = m_pImpl->getCurrentDataSource();
m_pImpl->translateProperties(xDatasource, *_pItems); m_pImpl->translateProperties(xDatasource, *pItems);
SetInputSet(_pItems); SetInputSet(pItems);
// propagate this set as our new input set and reset the example set // propagate this set as our new input set and reset the example set
delete m_pExampleSet; m_xExampleSet.reset(new SfxItemSet(*GetInputSetImpl()));
m_pExampleSet = new SfxItemSet(*GetInputSetImpl());
AddTabPage("settings", OUserAdmin::Create, nullptr); AddTabPage("settings", OUserAdmin::Create, nullptr);
...@@ -72,11 +72,6 @@ namespace dbaui ...@@ -72,11 +72,6 @@ namespace dbaui
} }
OUserAdminDlg::~OUserAdminDlg() OUserAdminDlg::~OUserAdminDlg()
{
disposeOnce();
}
void OUserAdminDlg::dispose()
{ {
if ( m_bOwnConnection ) if ( m_bOwnConnection )
{ {
...@@ -90,11 +85,9 @@ namespace dbaui ...@@ -90,11 +85,9 @@ namespace dbaui
} }
SetInputSet(nullptr); SetInputSet(nullptr);
DELETEZ(m_pExampleSet);
SfxTabDialog::dispose();
} }
short OUserAdminDlg::Execute() short OUserAdminDlg::run()
{ {
try try
{ {
...@@ -107,29 +100,24 @@ namespace dbaui ...@@ -107,29 +100,24 @@ namespace dbaui
} }
catch(const SQLException&) catch(const SQLException&)
{ {
::dbtools::showError(::dbtools::SQLExceptionInfo(::cppu::getCaughtException()), VCLUnoHelper::GetInterface(GetParent()), getORB()); ::dbtools::showError(::dbtools::SQLExceptionInfo(::cppu::getCaughtException()), m_pParent->GetXWindow(), getORB());
return RET_CANCEL; return RET_CANCEL;
} }
catch(const Exception&) catch(const Exception&)
{ {
DBG_UNHANDLED_EXCEPTION("dbaccess"); DBG_UNHANDLED_EXCEPTION("dbaccess");
} }
short nRet = SfxTabDialog::Execute(); short nRet = SfxTabDialogController::run();
if ( nRet == RET_OK ) if ( nRet == RET_OK )
m_pImpl->saveChanges(*GetOutputItemSet()); m_pImpl->saveChanges(*GetOutputItemSet());
return nRet; return nRet;
} }
void OUserAdminDlg::PageCreated(sal_uInt16 _nId, SfxTabPage& _rPage) void OUserAdminDlg::PageCreated(const OString& rId, SfxTabPage& _rPage)
{ {
// register ourself as modified listener // register ourself as modified listener
static_cast<OGenericAdministrationPage&>(_rPage).SetServiceFactory( m_pImpl->getORB() ); static_cast<OGenericAdministrationPage&>(_rPage).SetServiceFactory( m_pImpl->getORB() );
static_cast<OGenericAdministrationPage&>(_rPage).SetAdminDialog(this,this); static_cast<OGenericAdministrationPage&>(_rPage).SetAdminDialog(this,this);
SfxTabDialogController::PageCreated(rId, _rPage);
vcl::Window *pWin = GetViewWindow();
if(pWin)
pWin->Invalidate();
SfxTabDialog::PageCreated(_nId, _rPage);
} }
const SfxItemSet* OUserAdminDlg::getOutputSet() const const SfxItemSet* OUserAdminDlg::getOutputSet() const
{ {
...@@ -166,7 +154,7 @@ namespace dbaui ...@@ -166,7 +154,7 @@ namespace dbaui
} }
void OUserAdminDlg::setTitle(const OUString& _sTitle) void OUserAdminDlg::setTitle(const OUString& _sTitle)
{ {
SetText(_sTitle); m_xDialog->set_title(_sTitle);
} }
void OUserAdminDlg::enableConfirmSettings( bool ) {} void OUserAdminDlg::enableConfirmSettings( bool ) {}
void OUserAdminDlg::saveDatasource() void OUserAdminDlg::saveDatasource()
......
...@@ -41,28 +41,27 @@ namespace dbaui ...@@ -41,28 +41,27 @@ namespace dbaui
/** implements the user admin dialog /** implements the user admin dialog
*/ */
class OUserAdminDlg : public SfxTabDialog, public IItemSetHelper, public IDatabaseSettingsDialog class OUserAdminDlg : public SfxTabDialogController, public IItemSetHelper, public IDatabaseSettingsDialog
{ {
weld::Window* m_pParent;
std::unique_ptr<ODbDataSourceAdministrationHelper> m_pImpl; std::unique_ptr<ODbDataSourceAdministrationHelper> m_pImpl;
SfxItemSet* m_pItemSet; SfxItemSet* m_pItemSet;
css::uno::Reference< css::sdbc::XConnection> m_xConnection; css::uno::Reference< css::sdbc::XConnection> m_xConnection;
bool m_bOwnConnection; bool m_bOwnConnection;
protected: protected:
virtual void PageCreated(sal_uInt16 _nId, SfxTabPage& _rPage) override; virtual void PageCreated(const OString& rId, SfxTabPage& _rPage) override;
public: public:
OUserAdminDlg( vcl::Window* _pParent OUserAdminDlg(weld::Window* pParent, SfxItemSet* pItems,
,SfxItemSet* _pItems const css::uno::Reference< css::uno::XComponentContext >& rxORB,
,const css::uno::Reference< css::uno::XComponentContext >& _rxORB const css::uno::Any& rDataSourceName,
,const css::uno::Any& _aDataSourceName const css::uno::Reference< css::sdbc::XConnection>& rConnection);
,const css::uno::Reference< css::sdbc::XConnection>& _xConnection);
virtual ~OUserAdminDlg() override; virtual ~OUserAdminDlg() override;
virtual void dispose() override;
virtual const SfxItemSet* getOutputSet() const override; virtual const SfxItemSet* getOutputSet() const override;
virtual SfxItemSet* getWriteOutputSet() override; virtual SfxItemSet* getWriteOutputSet() override;
virtual short Execute() override; virtual short run() override;
// forwards to ODbDataSourceAdministrationHelper // forwards to ODbDataSourceAdministrationHelper
virtual css::uno::Reference< css::uno::XComponentContext > getORB() const override; virtual css::uno::Reference< css::uno::XComponentContext > getORB() const override;
......
...@@ -94,7 +94,7 @@ Reference<XPropertySetInfo> SAL_CALL OUserSettingsDialog::getPropertySetInfo() ...@@ -94,7 +94,7 @@ Reference<XPropertySetInfo> SAL_CALL OUserSettingsDialog::getPropertySetInfo()
svt::OGenericUnoDialog::Dialog OUserSettingsDialog::createDialog(const css::uno::Reference<css::awt::XWindow>& rParent) svt::OGenericUnoDialog::Dialog OUserSettingsDialog::createDialog(const css::uno::Reference<css::awt::XWindow>& rParent)
{ {
return svt::OGenericUnoDialog::Dialog(VclPtr<OUserAdminDlg>::Create(VCLUnoHelper::GetWindow(rParent), m_pDatasourceItems.get(), m_aContext, m_aInitialSelection, m_xActiveConnection)); return svt::OGenericUnoDialog::Dialog(o3tl::make_unique<OUserAdminDlg>(Application::GetFrameWeld(rParent), m_pDatasourceItems.get(), m_aContext, m_aInitialSelection, m_xActiveConnection));
} }
} // namespace dbaui } // namespace dbaui
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.20.0 --> <!-- Generated with glade 3.22.1 -->
<interface domain="dba"> <interface domain="dba">
<requires lib="gtk+" version="3.18"/> <requires lib="gtk+" version="3.18"/>
<object class="GtkDialog" id="UserAdminDialog"> <object class="GtkDialog" id="UserAdminDialog">
...@@ -7,7 +7,13 @@ ...@@ -7,7 +7,13 @@
<property name="border_width">6</property> <property name="border_width">6</property>
<property name="title" translatable="yes" context="useradmindialog|UserAdminDialog">User Administration</property> <property name="title" translatable="yes" context="useradmindialog|UserAdminDialog">User Administration</property>
<property name="resizable">False</property> <property name="resizable">False</property>
<property name="modal">True</property>
<property name="default_width">0</property>
<property name="default_height">0</property>
<property name="type_hint">dialog</property> <property name="type_hint">dialog</property>
<child>
<placeholder/>
</child>
<child internal-child="vbox"> <child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1"> <object class="GtkBox" id="dialog-vbox1">
<property name="can_focus">False</property> <property name="can_focus">False</property>
...@@ -73,7 +79,7 @@ ...@@ -73,7 +79,7 @@
<child> <child>
<object class="GtkNotebook" id="tabcontrol"> <object class="GtkNotebook" id="tabcontrol">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can_focus">True</property>
<property name="hexpand">True</property> <property name="hexpand">True</property>
<property name="vexpand">True</property> <property name="vexpand">True</property>
<property name="scrollable">True</property> <property name="scrollable">True</property>
...@@ -85,6 +91,30 @@ ...@@ -85,6 +91,30 @@
<child> <child>
<placeholder/> <placeholder/>
</child> </child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object> </object>
</child> </child>
<child type="tab"> <child type="tab">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment