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

weld ActualizeProgress

Change-Id: I35c486ac2dcf9818e331816f554a5c414bdb2386
Reviewed-on: https://gerrit.libreoffice.org/64214
Tested-by: Jenkins
Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst 74580868
...@@ -374,78 +374,55 @@ void TakeProgress::LaunchThread() ...@@ -374,78 +374,55 @@ void TakeProgress::LaunchThread()
maTakeThread->launch(); maTakeThread->launch();
} }
ActualizeProgress::ActualizeProgress(vcl::Window* pWindow, GalleryTheme* pThm) ActualizeProgress::ActualizeProgress(weld::Window* pWindow, GalleryTheme* pThm)
: ModalDialog(pWindow, "GalleryUpdateProgress", : GenericDialogController(pWindow, "cui/ui/galleryupdateprogress.ui",
"cui/ui/galleryupdateprogress.ui") "GalleryUpdateProgress")
, pIdle(nullptr) , pIdle(nullptr)
, pTheme(pThm) , pTheme(pThm)
, m_xFtActualizeFile(m_xBuilder->weld_label("file"))
, m_xBtnCancel(m_xBuilder->weld_button("cancel"))
{ {
get(m_pFtActualizeFile, "file"); m_xBtnCancel->connect_clicked(LINK(this, ActualizeProgress, ClickCancelBtn));
get(m_pBtnCancel, "cancel");
m_pBtnCancel->SetClickHdl( LINK( this, ActualizeProgress, ClickCancelBtn ) );
} }
ActualizeProgress::~ActualizeProgress() ActualizeProgress::~ActualizeProgress()
{ {
disposeOnce();
} }
short ActualizeProgress::run()
void ActualizeProgress::dispose()
{ {
m_pFtActualizeFile.clear();
m_pBtnCancel.clear();
ModalDialog::dispose();
}
short ActualizeProgress::Execute()
{
short nRet;
pIdle = new Idle("ActualizeProgressTimeout"); pIdle = new Idle("ActualizeProgressTimeout");
pIdle->SetInvokeHandler( LINK( this, ActualizeProgress, TimeoutHdl ) ); pIdle->SetInvokeHandler( LINK( this, ActualizeProgress, TimeoutHdl ) );
pIdle->SetPriority( TaskPriority::LOWEST ); pIdle->SetPriority( TaskPriority::LOWEST );
pIdle->Start(); pIdle->Start();
nRet = ModalDialog::Execute(); return GenericDialogController::run();
return nRet;
} }
IMPL_LINK_NOARG(ActualizeProgress, ClickCancelBtn, weld::Button&, void)
IMPL_LINK_NOARG(ActualizeProgress, ClickCancelBtn, Button*, void)
{ {
pTheme->AbortActualize(); pTheme->AbortActualize();
EndDialog( RET_OK ); m_xDialog->response(RET_OK);
} }
IMPL_LINK( ActualizeProgress, TimeoutHdl, Timer*, _pTimer, void) IMPL_LINK( ActualizeProgress, TimeoutHdl, Timer*, _pTimer, void)
{ {
if ( _pTimer ) if (_pTimer)
{ {
_pTimer->Stop(); _pTimer->Stop();
delete _pTimer; delete _pTimer;
} }
pTheme->Actualize( LINK( this, ActualizeProgress, ActualizeHdl ), &aStatusProgress ); pTheme->Actualize(LINK(this, ActualizeProgress, ActualizeHdl), &aStatusProgress);
ClickCancelBtn( nullptr ); ClickCancelBtn(*m_xBtnCancel);
} }
IMPL_LINK( ActualizeProgress, ActualizeHdl, const INetURLObject&, rURL, void ) IMPL_LINK( ActualizeProgress, ActualizeHdl, const INetURLObject&, rURL, void )
{ {
Application::Reschedule( true ); Application::Reschedule(true);
m_xFtActualizeFile->set_label(GetReducedString(rURL, 30));
Flush();
m_pFtActualizeFile->SetText( GetReducedString( rURL, 30 ) );
m_pFtActualizeFile->Flush();
} }
TitleDialog::TitleDialog(weld::Window* pParent, const OUString& rOldTitle) TitleDialog::TitleDialog(weld::Window* pParent, const OUString& rOldTitle)
: GenericDialogController(pParent, "cui/ui/gallerytitledialog.ui", "GalleryTitleDialog") : GenericDialogController(pParent, "cui/ui/gallerytitledialog.ui", "GalleryTitleDialog")
, m_xEdit(m_xBuilder->weld_entry("entry")) , m_xEdit(m_xBuilder->weld_entry("entry"))
......
...@@ -104,6 +104,11 @@ short CuiAbstractController_Impl::Execute() ...@@ -104,6 +104,11 @@ short CuiAbstractController_Impl::Execute()
return m_xDlg->run(); return m_xDlg->run();
} }
short CuiAbstractSingleTabController_Impl::Execute()
{
return m_xDlg->run();
}
IMPL_ABSTDLG_BASE(CuiVclAbstractDialog_Impl) IMPL_ABSTDLG_BASE(CuiVclAbstractDialog_Impl)
IMPL_ABSTDLG_BASE(VclAbstractRefreshableDialog_Impl); IMPL_ABSTDLG_BASE(VclAbstractRefreshableDialog_Impl);
IMPL_ABSTDLG_BASE(CuiAbstractTabDialog_Impl); IMPL_ABSTDLG_BASE(CuiAbstractTabDialog_Impl);
...@@ -339,12 +344,12 @@ void CuiAbstractTabController_Impl::SetText( const OUString& rStr ) ...@@ -339,12 +344,12 @@ void CuiAbstractTabController_Impl::SetText( const OUString& rStr )
m_xDlg->set_title(rStr); m_xDlg->set_title(rStr);
} }
const SfxItemSet* CuiAbstractController_Impl::GetOutputItemSet() const const SfxItemSet* CuiAbstractSingleTabController_Impl::GetOutputItemSet() const
{ {
return m_xDlg->GetOutputItemSet(); return m_xDlg->GetOutputItemSet();
} }
void CuiAbstractController_Impl::SetText(const OUString& rStr) void CuiAbstractSingleTabController_Impl::SetText(const OUString& rStr)
{ {
m_xDlg->set_title(rStr); m_xDlg->set_title(rStr);
} }
...@@ -1068,10 +1073,10 @@ VclPtr<AbstractSpellDialog> AbstractDialogFactory_Impl::CreateSvxSpellDialog( ...@@ -1068,10 +1073,10 @@ VclPtr<AbstractSpellDialog> AbstractDialogFactory_Impl::CreateSvxSpellDialog(
return VclPtr<AbstractSpellDialog_Impl>::Create(pDlg); return VclPtr<AbstractSpellDialog_Impl>::Create(pDlg);
} }
VclPtr<VclAbstractRefreshableDialog> AbstractDialogFactory_Impl::CreateActualizeProgressDialog( vcl::Window* pParent, GalleryTheme* pThm ) VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateActualizeProgressDialog(weld::Window* pParent,
GalleryTheme* pThm)
{ {
VclPtrInstance<ActualizeProgress> pDlg(pParent, pThm); return VclPtr<CuiAbstractController_Impl>::Create(o3tl::make_unique<ActualizeProgress>(pParent, pThm));
return VclPtr<VclAbstractRefreshableDialog_Impl>::Create( pDlg );
} }
VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateScriptErrorDialog(const css::uno::Any& rException) VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateScriptErrorDialog(const css::uno::Any& rException)
...@@ -1322,7 +1327,7 @@ VclPtr<SfxAbstractDialog> AbstractDialogFactory_Impl::CreateEventConfigDialog(we ...@@ -1322,7 +1327,7 @@ VclPtr<SfxAbstractDialog> AbstractDialogFactory_Impl::CreateEventConfigDialog(we
const SfxItemSet& rAttr, const SfxItemSet& rAttr,
const Reference< XFrame >& _rxDocumentFrame) const Reference< XFrame >& _rxDocumentFrame)
{ {
return VclPtr<CuiAbstractController_Impl>::Create(o3tl::make_unique<SfxMacroAssignDlg>(pParent, _rxDocumentFrame, rAttr)); return VclPtr<CuiAbstractSingleTabController_Impl>::Create(o3tl::make_unique<SfxMacroAssignDlg>(pParent, _rxDocumentFrame, rAttr));
} }
VclPtr<SfxAbstractDialog> AbstractDialogFactory_Impl::CreateSfxDialog(vcl::Window* pParent, VclPtr<SfxAbstractDialog> AbstractDialogFactory_Impl::CreateSfxDialog(vcl::Window* pParent,
...@@ -1335,10 +1340,10 @@ VclPtr<SfxAbstractDialog> AbstractDialogFactory_Impl::CreateSfxDialog(vcl::Windo ...@@ -1335,10 +1340,10 @@ VclPtr<SfxAbstractDialog> AbstractDialogFactory_Impl::CreateSfxDialog(vcl::Windo
{ {
case RID_SVXPAGE_MEASURE : case RID_SVXPAGE_MEASURE :
{ {
return VclPtr<CuiAbstractController_Impl>::Create(o3tl::make_unique<SvxMeasureDialog>(pParent ? pParent->GetFrameWeld() : nullptr, rAttr, pView)); return VclPtr<CuiAbstractSingleTabController_Impl>::Create(o3tl::make_unique<SvxMeasureDialog>(pParent ? pParent->GetFrameWeld() : nullptr, rAttr, pView));
} }
case RID_SVXPAGE_CONNECTION : case RID_SVXPAGE_CONNECTION :
return VclPtr<CuiAbstractController_Impl>::Create(o3tl::make_unique<SvxConnectionDialog>(pParent ? pParent->GetFrameWeld() : nullptr, rAttr, pView)); return VclPtr<CuiAbstractSingleTabController_Impl>::Create(o3tl::make_unique<SvxConnectionDialog>(pParent ? pParent->GetFrameWeld() : nullptr, rAttr, pView));
case RID_SFXPAGE_DBREGISTER : case RID_SFXPAGE_DBREGISTER :
pDlg = VclPtr<DatabaseRegistrationDialog>::Create( pParent, rAttr ); pDlg = VclPtr<DatabaseRegistrationDialog>::Create( pParent, rAttr );
......
...@@ -85,6 +85,18 @@ class CuiVclAbstractDialog_Impl : public VclAbstractDialog ...@@ -85,6 +85,18 @@ class CuiVclAbstractDialog_Impl : public VclAbstractDialog
DECL_ABSTDLG_BASE(CuiVclAbstractDialog_Impl,Dialog) DECL_ABSTDLG_BASE(CuiVclAbstractDialog_Impl,Dialog)
}; };
class CuiAbstractController_Impl : public VclAbstractDialog
{
protected:
std::unique_ptr<weld::DialogController> m_xDlg;
public:
explicit CuiAbstractController_Impl(std::unique_ptr<weld::DialogController> p)
: m_xDlg(std::move(p))
{
}
virtual short Execute() override;
};
class VclAbstractRefreshableDialog_Impl : public VclAbstractRefreshableDialog class VclAbstractRefreshableDialog_Impl : public VclAbstractRefreshableDialog
{ {
DECL_ABSTDLG_BASE(VclAbstractRefreshableDialog_Impl,Dialog) DECL_ABSTDLG_BASE(VclAbstractRefreshableDialog_Impl,Dialog)
...@@ -100,12 +112,12 @@ class CuiAbstractSfxDialog_Impl : public SfxAbstractDialog ...@@ -100,12 +112,12 @@ class CuiAbstractSfxDialog_Impl : public SfxAbstractDialog
virtual void SetText( const OUString& rStr ) override; virtual void SetText( const OUString& rStr ) override;
}; };
class CuiAbstractController_Impl : public SfxAbstractDialog class CuiAbstractSingleTabController_Impl : public SfxAbstractDialog
{ {
protected: protected:
std::unique_ptr<SfxSingleTabDialogController> m_xDlg; std::unique_ptr<SfxSingleTabDialogController> m_xDlg;
public: public:
explicit CuiAbstractController_Impl(std::unique_ptr<SfxSingleTabDialogController> p) explicit CuiAbstractSingleTabController_Impl(std::unique_ptr<SfxSingleTabDialogController> p)
: m_xDlg(std::move(p)) : m_xDlg(std::move(p))
{ {
} }
...@@ -116,7 +128,6 @@ public: ...@@ -116,7 +128,6 @@ public:
virtual void SetText( const OUString& rStr ) override; virtual void SetText( const OUString& rStr ) override;
}; };
class CuiAbstractTabDialog_Impl : public SfxAbstractTabDialog class CuiAbstractTabDialog_Impl : public SfxAbstractTabDialog
{ {
DECL_ABSTDLG_BASE(CuiAbstractTabDialog_Impl,SfxTabDialog) DECL_ABSTDLG_BASE(CuiAbstractTabDialog_Impl,SfxTabDialog)
...@@ -737,7 +748,7 @@ public: ...@@ -737,7 +748,7 @@ public:
SfxBindings* pBindings, SfxBindings* pBindings,
svx::SpellDialogChildWindow* pSpellChildWindow ) override; svx::SpellDialogChildWindow* pSpellChildWindow ) override;
virtual VclPtr<VclAbstractRefreshableDialog> CreateActualizeProgressDialog( vcl::Window* pParent, GalleryTheme* pThm ) override; virtual VclPtr<VclAbstractDialog> CreateActualizeProgressDialog(weld::Window* pParent, GalleryTheme* pThm) override;
virtual VclPtr<AbstractTitleDialog> CreateTitleDialog(weld::Window* pParent, const OUString& rOldText) override; virtual VclPtr<AbstractTitleDialog> CreateTitleDialog(weld::Window* pParent, const OUString& rOldText) override;
virtual VclPtr<AbstractGalleryIdDialog> CreateGalleryIdDialog(weld::Window* pParent, virtual VclPtr<AbstractGalleryIdDialog> CreateGalleryIdDialog(weld::Window* pParent,
GalleryTheme* pThm) override; GalleryTheme* pThm) override;
......
...@@ -143,25 +143,24 @@ public: ...@@ -143,25 +143,24 @@ public:
void SetFile( const INetURLObject& rURL ) { m_xFtTakeFile->set_label(GetReducedString(rURL, 30)); } void SetFile( const INetURLObject& rURL ) { m_xFtTakeFile->set_label(GetReducedString(rURL, 30)); }
}; };
class ActualizeProgress : public ModalDialog class ActualizeProgress : public weld::GenericDialogController
{ {
private: private:
VclPtr<FixedText> m_pFtActualizeFile;
VclPtr<CancelButton> m_pBtnCancel;
Idle* pIdle; Idle* pIdle;
GalleryTheme* pTheme; GalleryTheme* pTheme;
GalleryProgress aStatusProgress; GalleryProgress aStatusProgress;
std::unique_ptr<weld::Label> m_xFtActualizeFile;
std::unique_ptr<weld::Button> m_xBtnCancel;
DECL_LINK( ClickCancelBtn, Button*, void ); DECL_LINK(ClickCancelBtn, weld::Button&, void);
DECL_LINK( TimeoutHdl, Timer*, void ); DECL_LINK(TimeoutHdl, Timer*, void);
DECL_LINK( ActualizeHdl, const INetURLObject&, void ); DECL_LINK(ActualizeHdl, const INetURLObject&, void);
public: public:
ActualizeProgress( vcl::Window* pWindow, GalleryTheme* pThm ); ActualizeProgress(weld::Window* pWindow, GalleryTheme* pThm);
virtual ~ActualizeProgress() override; virtual ~ActualizeProgress() override;
virtual void dispose() override;
virtual short Execute() override; virtual short run() override;
}; };
class TitleDialog : public weld::GenericDialogController class TitleDialog : public weld::GenericDialogController
......
...@@ -347,8 +347,8 @@ public: ...@@ -347,8 +347,8 @@ public:
SfxBindings* pBindings, SfxBindings* pBindings,
svx::SpellDialogChildWindow* pSpellChildWindow )=0; svx::SpellDialogChildWindow* pSpellChildWindow )=0;
virtual VclPtr<VclAbstractRefreshableDialog> CreateActualizeProgressDialog( vcl::Window* pParent, virtual VclPtr<VclAbstractDialog> CreateActualizeProgressDialog(weld::Window* pParent,
GalleryTheme* pThm ) = 0; GalleryTheme* pThm) = 0;
virtual VclPtr<AbstractTitleDialog> CreateTitleDialog(weld::Window* pParent, virtual VclPtr<AbstractTitleDialog> CreateTitleDialog(weld::Window* pParent,
const OUString& rOldText) = 0; const OUString& rOldText) = 0;
virtual VclPtr<AbstractGalleryIdDialog> CreateGalleryIdDialog(weld::Window* pParent, virtual VclPtr<AbstractGalleryIdDialog> CreateGalleryIdDialog(weld::Window* pParent,
......
...@@ -341,9 +341,8 @@ void GalleryBrowser1::ImplExecute(const OString &rIdent) ...@@ -341,9 +341,8 @@ void GalleryBrowser1::ImplExecute(const OString &rIdent)
GalleryTheme* pTheme = mpGallery->AcquireTheme( GetSelectedTheme(), *this ); GalleryTheme* pTheme = mpGallery->AcquireTheme( GetSelectedTheme(), *this );
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create(); SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
ScopedVclPtr<VclAbstractRefreshableDialog> aActualizeProgress(pFact->CreateActualizeProgressDialog( this, pTheme )); ScopedVclPtr<VclAbstractDialog> aActualizeProgress(pFact->CreateActualizeProgressDialog(GetFrameWeld(), pTheme));
aActualizeProgress->Update();
aActualizeProgress->Execute(); aActualizeProgress->Execute();
mpGallery->ReleaseTheme( pTheme, *this ); mpGallery->ReleaseTheme( pTheme, *this );
} }
......
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