weld SfxCheckinDialog
Change-Id: Iaa7954baf734229683acb81819daa332b02a7733
Reviewed-on: https://gerrit.libreoffice.org/54624
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/include/sfx2/checkin.hxx b/include/sfx2/checkin.hxx
index 77a8085..054c82c 100644
--- a/include/sfx2/checkin.hxx
+++ b/include/sfx2/checkin.hxx
@@ -9,27 +9,23 @@
#ifndef INCLUDED_SFX2_CHECKIN_HXX
#define INCLUDED_SFX2_CHECKIN_HXX
#include <vcl/button.hxx>
#include <vcl/dialog.hxx>
#include <vcl/edit.hxx>
#include <vcl/weld.hxx>
class SfxCheckinDialog : public ModalDialog
class SfxCheckinDialog : public weld::GenericDialogController
{
private:
VclPtr<Edit> m_pCommentED;
VclPtr<CheckBox> m_pMajorCB;
private:
std::unique_ptr<weld::TextView> m_xCommentED;
std::unique_ptr<weld::CheckButton> m_xMajorCB;
std::unique_ptr<weld::Button> m_xOKBtn;
VclPtr<OKButton> m_pOKBtn;
DECL_LINK(OKHdl, weld::Button&, void);
DECL_LINK(OKHdl, Button*, void);
public:
SfxCheckinDialog(weld::Window* pParent);
virtual ~SfxCheckinDialog() override;
public:
SfxCheckinDialog( vcl::Window* pParent );
virtual ~SfxCheckinDialog() override;
virtual void dispose() override;
OUString GetComment( );
bool IsMajor( );
OUString GetComment();
bool IsMajor();
};
#endif
diff --git a/sfx2/source/dialog/checkin.cxx b/sfx2/source/dialog/checkin.cxx
index 60cd7e1..b4834ec 100644
--- a/sfx2/source/dialog/checkin.cxx
+++ b/sfx2/source/dialog/checkin.cxx
@@ -9,42 +9,32 @@
#include <sfx2/checkin.hxx>
SfxCheckinDialog::SfxCheckinDialog( vcl::Window* pParent ) :
ModalDialog( pParent, "CheckinDialog", "sfx/ui/checkin.ui" )
SfxCheckinDialog::SfxCheckinDialog(weld::Window* pParent)
: GenericDialogController( pParent, "sfx/ui/checkin.ui", "CheckinDialog")
, m_xCommentED(m_xBuilder->weld_text_view("VersionComment"))
, m_xMajorCB(m_xBuilder->weld_check_button("MajorVersion"))
, m_xOKBtn(m_xBuilder->weld_button("ok"))
{
get( m_pCommentED, "VersionComment" );
get( m_pMajorCB, "MajorVersion" );
get( m_pOKBtn, "ok" );
m_pOKBtn->SetClickHdl( LINK( this, SfxCheckinDialog, OKHdl ) );
m_xOKBtn->connect_clicked(LINK(this, SfxCheckinDialog, OKHdl));
}
SfxCheckinDialog::~SfxCheckinDialog()
{
disposeOnce();
}
void SfxCheckinDialog::dispose()
{
m_pCommentED.clear();
m_pMajorCB.clear();
m_pOKBtn.clear();
ModalDialog::dispose();
}
OUString SfxCheckinDialog::GetComment( )
{
return m_pCommentED->GetText( );
return m_xCommentED->get_text();
}
bool SfxCheckinDialog::IsMajor( )
{
return m_pMajorCB->IsChecked( );
return m_xMajorCB->get_active();
}
IMPL_LINK_NOARG( SfxCheckinDialog, OKHdl, Button*, void )
IMPL_LINK_NOARG(SfxCheckinDialog, OKHdl, weld::Button&, void )
{
EndDialog( RET_OK );
m_xDialog->response(RET_OK);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/doc/objserv.cxx b/sfx2/source/doc/objserv.cxx
index 009e2a6..fb4bb7c 100644
--- a/sfx2/source/doc/objserv.cxx
+++ b/sfx2/source/doc/objserv.cxx
@@ -353,10 +353,10 @@ void SfxObjectShell::CheckIn( )
{
uno::Reference< document::XCmisDocument > xCmisDoc( GetModel(), uno::UNO_QUERY_THROW );
// Pop up dialog to ask for comment and major
ScopedVclPtrInstance< SfxCheckinDialog > checkinDlg(&GetFrame( )->GetWindow( ));
if ( checkinDlg->Execute( ) == RET_OK )
SfxCheckinDialog checkinDlg(GetFrame()->GetWindow().GetFrameWeld());
if (checkinDlg.run() == RET_OK)
{
xCmisDoc->checkIn( checkinDlg->IsMajor(), checkinDlg->GetComment() );
xCmisDoc->checkIn(checkinDlg.IsMajor(), checkinDlg.GetComment());
uno::Reference< util::XModifiable > xModifiable( GetModel( ), uno::UNO_QUERY );
if ( xModifiable.is( ) )
xModifiable->setModified( false );
diff --git a/sfx2/uiconfig/ui/checkin.ui b/sfx2/uiconfig/ui/checkin.ui
index abae025..6eee5ca 100644
--- a/sfx2/uiconfig/ui/checkin.ui
+++ b/sfx2/uiconfig/ui/checkin.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="sfx">
<requires lib="gtk+" version="3.18"/>
<object class="GtkDialog" id="CheckinDialog">
@@ -9,7 +9,12 @@
<property name="resizable">False</property>
<property name="modal">True</property>
<property name="window_position">center-on-parent</property>
<property name="default_width">0</property>
<property name="default_height">0</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,32 +100,42 @@
</packing>
</child>
<child>
<object class="GtkTextView" id="VersionComment:border">
<property name="width_request">300</property>
<property name="height_request">150</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="wrap_mode">word</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes" context="checkin|label2">Version comment:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">VersionComment:border</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkTextView" id="VersionComment">
<property name="width_request">300</property>
<property name="height_request">150</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="wrap_mode">word</property>
</object>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>