summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-04-20 13:05:24 +0100
committerCaolán McNamara <caolanm@redhat.com>2018-04-23 12:33:44 +0200
commitc0af8057188c0e95831f9e6d1ef96a424da6f9b2 (patch)
tree6509c67d0cfcc42e3b107004167f2efcccda43cd
parent27e26fc4286f66ab1bf4c807d86b8f3254c5c68b (diff)
weld SfxPrintOptionsDialog
and SwMMResultPrintDialog Change-Id: Icded6a26a3a151293bea0c9173334cf634283e89 Reviewed-on: https://gerrit.libreoffice.org/53299 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--include/sfx2/prnmon.hxx19
-rw-r--r--include/sfx2/tabdlg.hxx4
-rw-r--r--include/sfx2/viewsh.hxx2
-rw-r--r--include/svtools/prnsetup.hxx50
-rw-r--r--include/vcl/print.hxx7
-rw-r--r--include/vcl/weld.hxx6
-rw-r--r--sc/source/ui/inc/prevwsh.hxx2
-rw-r--r--sc/source/ui/inc/tabvwsh.hxx2
-rw-r--r--sc/source/ui/inc/tpprint.hxx10
-rw-r--r--sc/source/ui/optdlg/tpprint.cxx54
-rw-r--r--sc/source/ui/view/prevwsh.cxx4
-rw-r--r--sc/source/ui/view/tabvwsh4.cxx4
-rw-r--r--sfx2/source/view/printer.cxx47
-rw-r--r--sfx2/source/view/viewprn.cxx43
-rw-r--r--sfx2/uiconfig/ui/printeroptionsdialog.ui11
-rw-r--r--starmath/inc/view.hxx2
-rw-r--r--starmath/source/view.cxx4
-rw-r--r--svtools/source/dialogs/prnsetup.cxx173
-rw-r--r--svtools/uiconfig/ui/printersetupdialog.ui22
-rw-r--r--sw/inc/swabstdlg.hxx2
-rw-r--r--sw/inc/view.hxx4
-rw-r--r--sw/source/ui/config/optpage.cxx6
-rw-r--r--sw/source/ui/dbui/mmresultdialogs.cxx121
-rw-r--r--sw/source/ui/dialog/swdlgfact.cxx6
-rw-r--r--sw/source/ui/dialog/swdlgfact.hxx2
-rw-r--r--sw/source/ui/envelp/envprt.cxx7
-rw-r--r--sw/source/ui/envelp/labprt.cxx7
-rw-r--r--sw/source/ui/inc/mmresultdialogs.hxx38
-rw-r--r--sw/source/uibase/app/apphdl.cxx2
-rw-r--r--sw/source/uibase/inc/pview.hxx2
-rw-r--r--sw/source/uibase/uiview/pview.cxx4
-rw-r--r--sw/source/uibase/uiview/viewprt.cxx16
-rw-r--r--sw/uiconfig/swriter/ui/mmresultprintdialog.ui35
-rw-r--r--vcl/headless/svpprn.cxx2
-rw-r--r--vcl/inc/headless/svpprn.hxx2
-rw-r--r--vcl/inc/osx/salprn.h2
-rw-r--r--vcl/inc/salprn.hxx2
-rw-r--r--vcl/inc/unx/genprn.h2
-rw-r--r--vcl/inc/win/salprn.h2
-rw-r--r--vcl/osx/salprn.cxx2
-rw-r--r--vcl/source/app/salvtables.cxx16
-rw-r--r--vcl/source/gdi/print.cxx13
-rw-r--r--vcl/source/gdi/print3.cxx2
-rw-r--r--vcl/source/window/printdlg.cxx2
-rw-r--r--vcl/unx/generic/print/genprnpsp.cxx4
-rw-r--r--vcl/unx/gtk3/gtk3gtkinst.cxx16
-rw-r--r--vcl/win/gdi/salprn.cxx8
47 files changed, 388 insertions, 405 deletions
diff --git a/include/sfx2/prnmon.hxx b/include/sfx2/prnmon.hxx
index 4f1bacd93e80..66dec0442723 100644
--- a/include/sfx2/prnmon.hxx
+++ b/include/sfx2/prnmon.hxx
@@ -22,33 +22,32 @@
#include <memory>
#include <sal/config.h>
#include <sfx2/dllapi.h>
-
-#include <vcl/button.hxx>
-#include <vcl/dialog.hxx>
#include <sfx2/printer.hxx>
+#include <vcl/weld.hxx>
class SfxViewShell;
struct SfxPrintOptDlg_Impl;
-class SfxPrintOptionsDialog : public ModalDialog
+class SfxPrintOptionsDialog : public weld::GenericDialogController
{
private:
std::unique_ptr<SfxPrintOptDlg_Impl> pDlgImpl;
SfxViewShell* pViewSh;
std::unique_ptr<SfxItemSet> pOptions;
VclPtr<SfxTabPage> pPage;
+ std::unique_ptr<weld::Widget> m_xHelpBtn;
+ std::unique_ptr<weld::Container> m_xContainer;
+ DECL_LINK(HelpRequestHdl, weld::Widget&, bool);
public:
- SfxPrintOptionsDialog( vcl::Window *pParent,
- SfxViewShell *pViewShell,
- const SfxItemSet *rOptions );
+ SfxPrintOptionsDialog(weld::Window *pParent,
+ SfxViewShell *pViewShell,
+ const SfxItemSet *rOptions);
virtual ~SfxPrintOptionsDialog() override;
- virtual void dispose() override;
- virtual short Execute() override;
- virtual bool EventNotify( NotifyEvent& rNEvt ) override;
+ short execute();
const SfxItemSet& GetOptions() const { return *pOptions; }
void DisableHelp();
diff --git a/include/sfx2/tabdlg.hxx b/include/sfx2/tabdlg.hxx
index 72ba2378fcfe..f171de346dce 100644
--- a/include/sfx2/tabdlg.hxx
+++ b/include/sfx2/tabdlg.hxx
@@ -47,13 +47,13 @@ struct TabPageParent
, pPage(nullptr)
{
}
- TabPageParent(weld::Window* _pPage)
+ TabPageParent(weld::Container* _pPage)
: pParent(nullptr)
, pPage(_pPage)
{
}
VclPtr<vcl::Window> pParent;
- weld::Widget* pPage;
+ weld::Container* pPage;
};
typedef VclPtr<SfxTabPage> (*CreateTabPage)(TabPageParent pParent, const SfxItemSet *rAttrSet);
diff --git a/include/sfx2/viewsh.hxx b/include/sfx2/viewsh.hxx
index f29f94c87591..8f72837bbdaa 100644
--- a/include/sfx2/viewsh.hxx
+++ b/include/sfx2/viewsh.hxx
@@ -244,7 +244,7 @@ public:
virtual SfxPrinter* GetPrinter( bool bCreate = false );
virtual sal_uInt16 SetPrinter( SfxPrinter *pNewPrinter, SfxPrinterChangeFlags nDiffFlags = SFX_PRINTER_ALL );
virtual bool HasPrintOptionsPage() const;
- virtual VclPtr<SfxTabPage> CreatePrintOptionsPage( TabPageParent pParent, const SfxItemSet &rOptions );
+ virtual VclPtr<SfxTabPage> CreatePrintOptionsPage(weld::Container* pPage, const SfxItemSet &rOptions);
Printer* GetActivePrinter() const;
// Working set
diff --git a/include/svtools/prnsetup.hxx b/include/svtools/prnsetup.hxx
index 64c2ed5d4d7e..f1f5b6c73832 100644
--- a/include/svtools/prnsetup.hxx
+++ b/include/svtools/prnsetup.hxx
@@ -21,64 +21,58 @@
#define INCLUDED_SVTOOLS_PRNSETUP_HXX
#include <svtools/svtdllapi.h>
-
-#include <vcl/dialog.hxx>
-#include <vcl/fixed.hxx>
-#include <vcl/button.hxx>
-#include <vcl/group.hxx>
-#include <vcl/lstbox.hxx>
+#include <vcl/weld.hxx>
#include <vcl/timer.hxx>
class Printer;
class QueueInfo;
-
-class SVT_DLLPUBLIC PrinterSetupDialog : public ModalDialog
+class SVT_DLLPUBLIC PrinterSetupDialog : public weld::GenericDialogController
{
private:
- VclPtr<ListBox> m_pLbName;
- VclPtr<PushButton> m_pBtnProperties;
- VclPtr<PushButton> m_pBtnOptions;
- VclPtr<FixedText> m_pFiStatus;
- VclPtr<FixedText> m_pFiType;
- VclPtr<FixedText> m_pFiLocation;
- VclPtr<FixedText> m_pFiComment;
+ std::unique_ptr<weld::ComboBoxText> m_xLbName;
+ std::unique_ptr<weld::Button> m_xBtnProperties;
+ std::unique_ptr<weld::Button> m_xBtnOptions;
+ std::unique_ptr<weld::Label> m_xFiStatus;
+ std::unique_ptr<weld::Label> m_xFiType;
+ std::unique_ptr<weld::Label> m_xFiLocation;
+ std::unique_ptr<weld::Label> m_xFiComment;
AutoTimer maStatusTimer;
VclPtr<Printer> mpPrinter;
VclPtr<Printer> mpTempPrinter;
SVT_DLLPRIVATE void ImplSetInfo();
- DECL_DLLPRIVATE_LINK( ImplPropertiesHdl, Button*, void );
- DECL_DLLPRIVATE_LINK( ImplChangePrinterHdl, ListBox&, void );
- DECL_DLLPRIVATE_LINK( ImplStatusHdl, Timer*, void );
+ DECL_DLLPRIVATE_LINK( ImplPropertiesHdl, weld::Button&, void );
+ DECL_DLLPRIVATE_LINK( ImplChangePrinterHdl, weld::ComboBoxText&, void );
+ DECL_DLLPRIVATE_LINK( ImplGetFocusHdl, weld::Widget&, void );
+ DECL_DLLPRIVATE_LINK( ImplStatusHdl, Timer*, void );
+ DECL_DLLPRIVATE_LINK( ImplDataChangedHdl, VclSimpleEvent&, void);
public:
- PrinterSetupDialog( vcl::Window* pWindow );
+ PrinterSetupDialog(weld::Window* pWindow);
virtual ~PrinterSetupDialog() override;
- virtual void dispose() override;
void SetPrinter( Printer* pNewPrinter ) { mpPrinter = pNewPrinter; }
Printer* GetPrinter() const { return mpPrinter; }
- virtual void DataChanged( const DataChangedEvent& rDCEvt ) override;
- virtual bool EventNotify( NotifyEvent& rNEvt ) override;
+ short execute();
- virtual short Execute() override;
+ weld::Window* GetFrameWeld() const { return m_xDialog.get(); }
- void SetOptionsHdl( const Link<Button*,void>& rLink );
+ void SetOptionsHdl( const Link<weld::Button&,void>& rLink );
};
#define IMPL_PRINTDLG_STATUS_UPDATE 15000
void ImplFillPrnDlgListBox( const Printer* pPrinter,
- ListBox* pBox, PushButton* pPropBtn );
-void ImplFreePrnDlgListBox( ListBox* pBox, bool bClear = true );
-Printer* ImplPrnDlgListBoxSelect( ListBox const * pBox, PushButton* pPropBtn,
+ weld::ComboBoxText* pBox, weld::Button* pPropBtn );
+void ImplFreePrnDlgListBox( weld::ComboBoxText* pBox, bool bClear = true );
+Printer* ImplPrnDlgListBoxSelect( weld::ComboBoxText const * pBox, weld::Button* pPropBtn,
Printer const * pPrinter, Printer* pTempPrinter );
Printer* ImplPrnDlgUpdatePrinter( Printer const * pPrinter, Printer* pTempPrinter );
-void ImplPrnDlgUpdateQueueInfo( ListBox const * pBox, QueueInfo& rInfo );
+void ImplPrnDlgUpdateQueueInfo( weld::ComboBoxText const * pBox, QueueInfo& rInfo );
OUString ImplPrnDlgGetStatusText( const QueueInfo& rInfo );
#endif // INCLUDED_SVTOOLS_PRNSETUP_HXX
diff --git a/include/vcl/print.hxx b/include/vcl/print.hxx
index ae40d76ce96f..0c14fb3f2955 100644
--- a/include/vcl/print.hxx
+++ b/include/vcl/print.hxx
@@ -51,6 +51,7 @@ namespace vcl {
class PrintDialog;
}
+namespace weld { class Window; }
enum class PrinterSupport
{
@@ -291,8 +292,8 @@ public:
bool SetJobSetup( const JobSetup& rSetup );
const JobSetup& GetJobSetup() const { return maJobSetup; }
- bool Setup( vcl::Window* pWindow,
- PrinterSetupMode eMode = PrinterSetupMode::DocumentGlobal );
+ bool Setup(weld::Window* pWindow,
+ PrinterSetupMode eMode = PrinterSetupMode::DocumentGlobal);
bool SetPrinterProps( const Printer* pPrinter );
/** SetPrinterOptions is used internally only now
@@ -559,7 +560,7 @@ public:
SAL_DLLPRIVATE void pushPropertiesToPrinter();
SAL_DLLPRIVATE void resetPaperToLastConfigured();
VCL_PLUGIN_PUBLIC void setJobState( css::view::PrintableState );
- SAL_DLLPRIVATE void setupPrinter( vcl::Window* i_pDlgParent );
+ SAL_DLLPRIVATE void setupPrinter( weld::Window* i_pDlgParent );
SAL_DLLPRIVATE int getPageCountProtected() const;
SAL_DLLPRIVATE css::uno::Sequence< css::beans::PropertyValue >
diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx
index ae9931eb2b0c..93c5b55ed644 100644
--- a/include/vcl/weld.hxx
+++ b/include/vcl/weld.hxx
@@ -37,7 +37,8 @@ public:
virtual void set_sensitive(bool sensitive) = 0;
virtual bool get_sensitive() const = 0;
virtual void set_visible(bool visible) = 0;
- virtual bool get_visible() const = 0;
+ virtual bool get_visible() const = 0; //if this widget visibility is true
+ virtual bool is_visible() const = 0; //if this widget visibility and all parents is true
virtual void grab_focus() = 0;
virtual bool has_focus() const = 0;
virtual void show() = 0;
@@ -155,6 +156,8 @@ public:
void connect_help(const Link<Widget&, bool>& rLink) { m_aHelpRequestHdl = rLink; }
+ virtual SystemEnvData get_system_data() const = 0;
+
virtual void resize_to_request() = 0;
};
@@ -189,6 +192,7 @@ public:
= 0;
virtual void set_default_response(int response) = 0;
virtual Button* get_widget_for_response(int response) = 0;
+ virtual Container* weld_content_area() = 0;
};
class VCL_DLLPUBLIC MessageDialog : virtual public Dialog
diff --git a/sc/source/ui/inc/prevwsh.hxx b/sc/source/ui/inc/prevwsh.hxx
index 179e6b1de882..bfeb685faa99 100644
--- a/sc/source/ui/inc/prevwsh.hxx
+++ b/sc/source/ui/inc/prevwsh.hxx
@@ -105,7 +105,7 @@ public:
virtual SfxPrinter* GetPrinter( bool bCreate = false ) override;
virtual sal_uInt16 SetPrinter( SfxPrinter* pNewPrinter, SfxPrinterChangeFlags nDiffFlags = SFX_PRINTER_ALL ) override;
virtual bool HasPrintOptionsPage() const override;
- virtual VclPtr<SfxTabPage> CreatePrintOptionsPage( TabPageParent pParent, const SfxItemSet &rOptions ) override;
+ virtual VclPtr<SfxTabPage> CreatePrintOptionsPage(weld::Container* pPage, const SfxItemSet &rOptions) override;
void AddAccessibilityObject( SfxListener& rObject );
void RemoveAccessibilityObject( SfxListener& rObject );
diff --git a/sc/source/ui/inc/tabvwsh.hxx b/sc/source/ui/inc/tabvwsh.hxx
index 17bc4ecf1b76..126811185faf 100644
--- a/sc/source/ui/inc/tabvwsh.hxx
+++ b/sc/source/ui/inc/tabvwsh.hxx
@@ -318,7 +318,7 @@ public:
SfxPrinterChangeFlags nDiffFlags = SFX_PRINTER_ALL ) override;
virtual bool HasPrintOptionsPage() const override;
- virtual VclPtr<SfxTabPage> CreatePrintOptionsPage( TabPageParent pParent, const SfxItemSet &rOptions ) override;
+ virtual VclPtr<SfxTabPage> CreatePrintOptionsPage(weld::Container* pPage, const SfxItemSet &rOptions) override;
void ConnectObject( const SdrOle2Obj* pObj );
void ActivateObject( SdrOle2Obj* pObj, long nVerb );
diff --git a/sc/source/ui/inc/tpprint.hxx b/sc/source/ui/inc/tpprint.hxx
index fb201a5b852c..9ddae6ec4dae 100644
--- a/sc/source/ui/inc/tpprint.hxx
+++ b/sc/source/ui/inc/tpprint.hxx
@@ -21,19 +21,17 @@
#define INCLUDED_SC_SOURCE_UI_INC_TPPRINT_HXX
#include <sfx2/tabdlg.hxx>
-#include <vcl/fixed.hxx>
class ScTpPrintOptions : public SfxTabPage
{
friend class VclPtr<ScTpPrintOptions>;
- VclPtr<CheckBox> m_pSkipEmptyPagesCB;
- VclPtr<CheckBox> m_pSelectedSheetsCB;
- VclPtr<CheckBox> m_pForceBreaksCB;
+ std::unique_ptr<weld::CheckButton> m_xSkipEmptyPagesCB;
+ std::unique_ptr<weld::CheckButton> m_xSelectedSheetsCB;
+ std::unique_ptr<weld::CheckButton> m_xForceBreaksCB;
- ScTpPrintOptions( vcl::Window* pParent, const SfxItemSet& rCoreSet );
+ ScTpPrintOptions(TabPageParent pPage, const SfxItemSet& rCoreSet);
public:
virtual ~ScTpPrintOptions() override;
- virtual void dispose() override;
static VclPtr<SfxTabPage> Create( TabPageParent pParent, const SfxItemSet* rCoreSet );
virtual bool FillItemSet( SfxItemSet* rCoreSet ) override;
virtual void Reset( const SfxItemSet* rCoreSet ) override;
diff --git a/sc/source/ui/optdlg/tpprint.cxx b/sc/source/ui/optdlg/tpprint.cxx
index 9c8dcbc77300..f38a2f5cc7b7 100644
--- a/sc/source/ui/optdlg/tpprint.cxx
+++ b/sc/source/ui/optdlg/tpprint.cxx
@@ -26,34 +26,22 @@
#include <scmod.hxx>
#include <sc.hrc>
-ScTpPrintOptions::ScTpPrintOptions( vcl::Window* pParent,
+ScTpPrintOptions::ScTpPrintOptions( TabPageParent pPage,
const SfxItemSet& rCoreAttrs )
- : SfxTabPage ( pParent,
- "optCalcPrintPage",
- "modules/scalc/ui/optdlg.ui",
- &rCoreAttrs )
+ : SfxTabPage(pPage, "modules/scalc/ui/optdlg.ui", "optCalcPrintPage", &rCoreAttrs )
+ , m_xSkipEmptyPagesCB(m_xBuilder->weld_check_button("suppressCB"))
+ , m_xSelectedSheetsCB(m_xBuilder->weld_check_button("printCB"))
+ , m_xForceBreaksCB(m_xBuilder->weld_check_button("forceBreaksCB"))
{
- get( m_pSkipEmptyPagesCB , "suppressCB" );
- get( m_pSelectedSheetsCB , "printCB" );
- get( m_pForceBreaksCB, "forceBreaksCB" );
}
ScTpPrintOptions::~ScTpPrintOptions()
{
- disposeOnce();
}
-void ScTpPrintOptions::dispose()
+VclPtr<SfxTabPage> ScTpPrintOptions::Create(TabPageParent pParent, const SfxItemSet* rAttrSet)
{
- m_pSkipEmptyPagesCB.clear();
- m_pSelectedSheetsCB.clear();
- m_pForceBreaksCB.clear();
- SfxTabPage::dispose();
-}
-
-VclPtr<SfxTabPage> ScTpPrintOptions::Create( TabPageParent pParent, const SfxItemSet* rAttrSet )
-{
- return VclPtr<ScTpPrintOptions>::Create( pParent.pParent, *rAttrSet );
+ return VclPtr<ScTpPrintOptions>::Create(pParent, *rAttrSet);
}
DeactivateRC ScTpPrintOptions::DeactivatePage( SfxItemSet* pSetP )
@@ -80,38 +68,38 @@ void ScTpPrintOptions::Reset( const SfxItemSet* rCoreSet )
if ( SfxItemState::SET == rCoreSet->GetItemState( SID_PRINT_SELECTEDSHEET, false , &pItem ) )
{
bool bChecked = static_cast<const SfxBoolItem*>(pItem)->GetValue();
- m_pSelectedSheetsCB->Check( bChecked );
+ m_xSelectedSheetsCB->set_active( bChecked );
}
else
{
- m_pSelectedSheetsCB->Check( !aOptions.GetAllSheets() );
+ m_xSelectedSheetsCB->set_active( !aOptions.GetAllSheets() );
}
- m_pSkipEmptyPagesCB->Check( aOptions.GetSkipEmpty() );
- m_pSkipEmptyPagesCB->SaveValue();
- m_pSelectedSheetsCB->SaveValue();
- m_pForceBreaksCB->Check( aOptions.GetForceBreaks() );
- m_pForceBreaksCB->SaveValue();
+ m_xSkipEmptyPagesCB->set_active( aOptions.GetSkipEmpty() );
+ m_xSkipEmptyPagesCB->save_state();
+ m_xSelectedSheetsCB->save_state();
+ m_xForceBreaksCB->set_active( aOptions.GetForceBreaks() );
+ m_xForceBreaksCB->save_state();
}
bool ScTpPrintOptions::FillItemSet( SfxItemSet* rCoreAttrs )
{
rCoreAttrs->ClearItem( SID_PRINT_SELECTEDSHEET );
- bool bSkipEmptyChanged = m_pSkipEmptyPagesCB->IsValueChangedFromSaved();
- bool bSelectedSheetsChanged = m_pSelectedSheetsCB->IsValueChangedFromSaved();
- bool bForceBreaksChanged = m_pForceBreaksCB->IsValueChangedFromSaved();
+ bool bSkipEmptyChanged = m_xSkipEmptyPagesCB->get_state_changed_from_saved();
+ bool bSelectedSheetsChanged = m_xSelectedSheetsCB->get_state_changed_from_saved();
+ bool bForceBreaksChanged = m_xForceBreaksCB->get_state_changed_from_saved();
if ( bSkipEmptyChanged || bSelectedSheetsChanged || bForceBreaksChanged )
{
ScPrintOptions aOpt;
- aOpt.SetSkipEmpty( m_pSkipEmptyPagesCB->IsChecked() );
- aOpt.SetAllSheets( !m_pSelectedSheetsCB->IsChecked() );
- aOpt.SetForceBreaks( m_pForceBreaksCB->IsChecked() );
+ aOpt.SetSkipEmpty( m_xSkipEmptyPagesCB->get_active() );
+ aOpt.SetAllSheets( !m_xSelectedSheetsCB->get_active() );
+ aOpt.SetForceBreaks( m_xForceBreaksCB->get_active() );
rCoreAttrs->Put( ScTpPrintItem( aOpt ) );
if ( bSelectedSheetsChanged )
{
- rCoreAttrs->Put( SfxBoolItem( SID_PRINT_SELECTEDSHEET, m_pSelectedSheetsCB->IsChecked() ) );
+ rCoreAttrs->Put( SfxBoolItem( SID_PRINT_SELECTEDSHEET, m_xSelectedSheetsCB->get_active() ) );
}
return true;
}
diff --git a/sc/source/ui/view/prevwsh.cxx b/sc/source/ui/view/prevwsh.cxx
index ac3f87758d0a..3d8360d52747 100644
--- a/sc/source/ui/view/prevwsh.cxx
+++ b/sc/source/ui/view/prevwsh.cxx
@@ -516,13 +516,13 @@ bool ScPreviewShell::HasPrintOptionsPage() const
return true;
}
-VclPtr<SfxTabPage> ScPreviewShell::CreatePrintOptionsPage( TabPageParent pParent, const SfxItemSet &rOptions )
+VclPtr<SfxTabPage> ScPreviewShell::CreatePrintOptionsPage(weld::Container* pPage, const SfxItemSet &rOptions)
{
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "ScAbstractFactory create fail!");
::CreateTabPage ScTpPrintOptionsCreate = pFact->GetTabPageCreatorFunc(RID_SC_TP_PRINT);
if ( ScTpPrintOptionsCreate )
- return ScTpPrintOptionsCreate( pParent, &rOptions );
+ return ScTpPrintOptionsCreate(pPage, &rOptions);
return VclPtr<SfxTabPage>();
}
diff --git a/sc/source/ui/view/tabvwsh4.cxx b/sc/source/ui/view/tabvwsh4.cxx
index f5d0815f1570..401cca9ebd95 100644
--- a/sc/source/ui/view/tabvwsh4.cxx
+++ b/sc/source/ui/view/tabvwsh4.cxx
@@ -1049,13 +1049,13 @@ bool ScTabViewShell::HasPrintOptionsPage() const
return true;
}
-VclPtr<SfxTabPage> ScTabViewShell::CreatePrintOptionsPage( TabPageParent pParent, const SfxItemSet &rOptions )
+VclPtr<SfxTabPage> ScTabViewShell::CreatePrintOptionsPage(weld::Container* pPage, const SfxItemSet &rOptions )
{
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "ScAbstractFactory create fail!");
::CreateTabPage ScTpPrintOptionsCreate = pFact->GetTabPageCreatorFunc(RID_SC_TP_PRINT);
if ( ScTpPrintOptionsCreate )
- return ScTpPrintOptionsCreate( pParent, &rOptions );
+ return ScTpPrintOptionsCreate(pPage, &rOptions);
return VclPtr<SfxTabPage>();
}
diff --git a/sfx2/source/view/printer.cxx b/sfx2/source/view/printer.cxx
index ee1b6e7f7edd..4b8ef5bd1cc9 100644
--- a/sfx2/source/view/printer.cxx
+++ b/sfx2/source/view/printer.cxx
@@ -190,50 +190,38 @@ void SfxPrinter::SetOptions( const SfxItemSet &rNewOptions )
}
-SfxPrintOptionsDialog::SfxPrintOptionsDialog(vcl::Window *pParent,
- SfxViewShell *pViewShell,
- const SfxItemSet *pSet)
-
- : ModalDialog(pParent, "PrinterOptionsDialog",
- "sfx/ui/printeroptionsdialog.ui")
+SfxPrintOptionsDialog::SfxPrintOptionsDialog(weld::Window *pParent,
+ SfxViewShell *pViewShell,
+ const SfxItemSet *pSet)
+ : GenericDialogController(pParent, "sfx/ui/printeroptionsdialog.ui", "PrinterOptionsDialog")
, pDlgImpl(new SfxPrintOptDlg_Impl)
, pViewSh(pViewShell)
, pOptions(pSet->Clone())
+ , m_xHelpBtn(m_xBuilder->weld_widget("help"))
+ , m_xContainer(m_xDialog->weld_content_area())
{
- VclContainer *pVBox = get_content_area();
-
// Insert TabPage
- pPage.reset(pViewSh->CreatePrintOptionsPage(pVBox, *pOptions));
+ pPage.reset(pViewSh->CreatePrintOptionsPage(m_xContainer.get(), *pOptions));
DBG_ASSERT( pPage, "CreatePrintOptions != SFX_VIEW_HAS_PRINTOPTIONS" );
if( pPage )
{
pPage->Reset( pOptions.get() );
- SetHelpId( pPage->GetHelpId() );
- pPage->Show();
+ m_xDialog->set_help_id(pPage->GetHelpId());
}
}
SfxPrintOptionsDialog::~SfxPrintOptionsDialog()
{
- disposeOnce();
-}
-
-void SfxPrintOptionsDialog::dispose()
-{
- pDlgImpl.reset();
pPage.disposeAndClear();
- pOptions.reset();
- ModalDialog::dispose();
}
-
-short SfxPrintOptionsDialog::Execute()
+short SfxPrintOptionsDialog::execute()
{
if( ! pPage )
return RET_CANCEL;
- short nRet = ModalDialog::Execute();
+ short nRet = m_xDialog->run();
if ( nRet == RET_OK )
pPage->FillItemSet( pOptions.get() );
else
@@ -241,24 +229,15 @@ short SfxPrintOptionsDialog::Execute()
return nRet;
}
-
-bool SfxPrintOptionsDialog::EventNotify( NotifyEvent& rNEvt )
+IMPL_LINK_NOARG(SfxPrintOptionsDialog, HelpRequestHdl, weld::Widget&, bool)
{
- if ( rNEvt.GetType() == MouseNotifyEvent::KEYINPUT )
- {
- if ( rNEvt.GetKeyEvent()->GetKeyCode().GetCode() == KEY_F1 && pDlgImpl->mbHelpDisabled )
- return true; // help disabled -> <F1> does nothing
- }
-
- return ModalDialog::EventNotify( rNEvt );
+ return !pDlgImpl->mbHelpDisabled;
}
-
void SfxPrintOptionsDialog::DisableHelp()
{
pDlgImpl->mbHelpDisabled = true;
-
- get<HelpButton>("help")->Disable();
+ m_xHelpBtn->set_sensitive(false);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/view/viewprn.cxx b/sfx2/source/view/viewprn.cxx
index 44cc9d509045..19534cb129e1 100644
--- a/sfx2/source/view/viewprn.cxx
+++ b/sfx2/source/view/viewprn.cxx
@@ -407,38 +407,36 @@ class SfxDialogExecutor_Impl
{
private:
SfxViewShell* _pViewSh;
- VclPtr<PrinterSetupDialog> _pSetupParent;
+ PrinterSetupDialog& _rSetupParent;
std::unique_ptr<SfxItemSet> _pOptions;
bool _bHelpDisabled;
- DECL_LINK( Execute, Button*, void );
+ DECL_LINK( Execute, weld::Button&, void );
public:
- SfxDialogExecutor_Impl( SfxViewShell* pViewSh, PrinterSetupDialog* pParent );
+ SfxDialogExecutor_Impl( SfxViewShell* pViewSh, PrinterSetupDialog& rParent );
- Link<Button*, void> GetLink() const { return LINK(const_cast<SfxDialogExecutor_Impl*>(this), SfxDialogExecutor_Impl, Execute); }
+ Link<weld::Button&, void> GetLink() const { return LINK(const_cast<SfxDialogExecutor_Impl*>(this), SfxDialogExecutor_Impl, Execute); }
const SfxItemSet* GetOptions() const { return _pOptions.get(); }
void DisableHelp() { _bHelpDisabled = true; }
};
-SfxDialogExecutor_Impl::SfxDialogExecutor_Impl( SfxViewShell* pViewSh, PrinterSetupDialog* pParent ) :
+SfxDialogExecutor_Impl::SfxDialogExecutor_Impl( SfxViewShell* pViewSh, PrinterSetupDialog& rParent ) :
_pViewSh ( pViewSh ),
- _pSetupParent ( pParent ),
+ _rSetupParent ( rParent ),
_pOptions ( nullptr ),
_bHelpDisabled ( false )
{
}
-IMPL_LINK_NOARG(SfxDialogExecutor_Impl, Execute, Button*, void)
+IMPL_LINK_NOARG(SfxDialogExecutor_Impl, Execute, weld::Button&, void)
{
// Options noted locally
if ( !_pOptions )
{
- DBG_ASSERT( _pSetupParent, "no dialog parent" );
- if( _pSetupParent )
- _pOptions = static_cast<SfxPrinter*>( _pSetupParent->GetPrinter() )->GetOptions().Clone();
+ _pOptions = static_cast<SfxPrinter*>( _rSetupParent.GetPrinter() )->GetOptions().Clone();
}
assert(_pOptions);
@@ -446,13 +444,12 @@ IMPL_LINK_NOARG(SfxDialogExecutor_Impl, Execute, Button*, void)
return;
// Create Dialog
- VclPtrInstance<SfxPrintOptionsDialog> pDlg( static_cast<vcl::Window*>(_pSetupParent),
- _pViewSh, _pOptions.get() );
- if ( _bHelpDisabled )
- pDlg->DisableHelp();
- if ( pDlg->Execute() == RET_OK )
+ SfxPrintOptionsDialog aDlg(_rSetupParent.GetFrameWeld(), _pViewSh, _pOptions.get() );
+ if (_bHelpDisabled)
+ aDlg.DisableHelp();
+ if (aDlg.execute() == RET_OK)
{
- _pOptions = pDlg->GetOptions().Clone();
+ _pOptions = aDlg.GetOptions().Clone();
}
}
@@ -824,20 +821,20 @@ void SfxViewShell::ExecPrint_Impl( SfxRequest &rReq )
VclPtr<SfxPrinter> pDlgPrinter = pPrinter->Clone();
// execute PrinterSetupDialog
- VclPtrInstance<PrinterSetupDialog> pPrintSetupDlg( GetWindow() );
+ PrinterSetupDialog aPrintSetupDlg(GetFrameWeld());
std::unique_ptr<SfxDialogExecutor_Impl> pExecutor;
if (pImpl->m_bHasPrintOptions && HasPrintOptionsPage())
{
// additional controls for dialog
- pExecutor.reset( new SfxDialogExecutor_Impl( this, pPrintSetupDlg ) );
+ pExecutor.reset( new SfxDialogExecutor_Impl( this, aPrintSetupDlg ) );
if ( bPrintOnHelp )
pExecutor->DisableHelp();
- pPrintSetupDlg->SetOptionsHdl( pExecutor->GetLink() );
+ aPrintSetupDlg.SetOptionsHdl( pExecutor->GetLink() );
}
- pPrintSetupDlg->SetPrinter( pDlgPrinter );
- nDialogRet = pPrintSetupDlg->Execute();
+ aPrintSetupDlg.SetPrinter( pDlgPrinter );
+ nDialogRet = aPrintSetupDlg.execute();
if ( pExecutor && pExecutor->GetOptions() )
{
@@ -851,8 +848,6 @@ void SfxViewShell::ExecPrint_Impl( SfxRequest &rReq )
}
}
- pPrintSetupDlg.disposeAndClear();
-
// no recording of PrinterSetup except printer name (is printer dependent)
rReq.Ignore();
@@ -897,7 +892,7 @@ sal_uInt16 SfxViewShell::SetPrinter( SfxPrinter* /*pNewPrinter*/, SfxPrinterChan
VclPtr<SfxTabPage> SfxViewShell::CreatePrintOptionsPage
(
- TabPageParent /*pParent*/,
+ weld::Container* /*pPage*/,
const SfxItemSet& /*rOptions*/
)
{
diff --git a/sfx2/uiconfig/ui/printeroptionsdialog.ui b/sfx2/uiconfig/ui/printeroptionsdialog.ui
index b041fffe0efc..f502002486f2 100644
--- a/sfx2/uiconfig/ui/printeroptionsdialog.ui
+++ b/sfx2/uiconfig/ui/printeroptionsdialog.ui
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
+<!-- Generated with glade 3.20.4 -->
<interface domain="sfx">
<requires lib="gtk+" version="3.18"/>
<object class="GtkDialog" id="PrinterOptionsDialog">
@@ -7,6 +7,9 @@
<property name="border_width">6</property>
<property name="title" translatable="yes" context="printeroptionsdialog|PrinterOptionsDialog">Printer Options</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>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1">
@@ -22,6 +25,8 @@
<property name="label">gtk-ok</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="has_default">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
</object>
@@ -36,6 +41,7 @@
<property name="label">gtk-cancel</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
+ <property name="can_default">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
</object>
@@ -78,5 +84,8 @@
<action-widget response="-6">cancel</action-widget>
<action-widget response="-11">help</action-widget>
</action-widgets>
+ <child>
+ <placeholder/>
+ </child>
</object>
</interface>
diff --git a/starmath/inc/view.hxx b/starmath/inc/view.hxx
index 7b6e741895bb..f0d8af2424f5 100644
--- a/starmath/inc/view.hxx
+++ b/starmath/inc/view.hxx
@@ -251,7 +251,7 @@ protected:
void InsertFrom(SfxMedium &rMedium);
virtual bool HasPrintOptionsPage() const override;
- virtual VclPtr<SfxTabPage> CreatePrintOptionsPage(TabPageParent pParent,
+ virtual VclPtr<SfxTabPage> CreatePrintOptionsPage(weld::Container* pPage,
const SfxItemSet &rOptions) override;
virtual void Deactivate(bool IsMDIActivate) override;
virtual void Activate(bool IsMDIActivate) override;
diff --git a/starmath/source/view.cxx b/starmath/source/view.cxx
index 819aaec2da13..5850194c3468 100644
--- a/starmath/source/view.cxx
+++ b/starmath/source/view.cxx
@@ -1260,10 +1260,10 @@ bool SmViewShell::HasPrintOptionsPage() const
return true;
}
-VclPtr<SfxTabPage> SmViewShell::CreatePrintOptionsPage(TabPageParent pParent,
+VclPtr<SfxTabPage> SmViewShell::CreatePrintOptionsPage(weld::Container* pPage,
const SfxItemSet &rOptions)
{
- return SmPrintOptionsTabPage::Create(pParent, rOptions);
+ return SmPrintOptionsTabPage::Create(pPage, rOptions);
}
SmEditWindow *SmViewShell::GetEditWindow()
diff --git a/svtools/source/dialogs/prnsetup.cxx b/svtools/source/dialogs/prnsetup.cxx
index d7a8b06a7900..3d97febb7d30 100644
--- a/svtools/source/dialogs/prnsetup.cxx
+++ b/svtools/source/dialogs/prnsetup.cxx
@@ -20,11 +20,11 @@
#include <svtools/prnsetup.hxx>
#include <svtools/strings.hrc>
#include <svtools/svtresid.hxx>
+#include <vcl/svapp.hxx>
#include <vcl/print.hxx>
-
void ImplFillPrnDlgListBox( const Printer* pPrinter,
- ListBox* pBox, PushButton* pPropBtn )
+ weld::ComboBoxText* pBox, weld::Button* pPropBtn )
{
ImplFreePrnDlgListBox( pBox );
@@ -33,29 +33,29 @@ void ImplFillPrnDlgListBox( const Printer* pPrinter,
if ( nCount )
{
for( unsigned int i = 0; i < nCount; i++ )
- pBox->InsertEntry( rPrinters[i] );
- pBox->SelectEntry( pPrinter->GetName() );
+ pBox->append_text( rPrinters[i] );
+ pBox->set_active( pPrinter->GetName() );
}
- pBox->Enable( nCount != 0 );
- pPropBtn->Show( pPrinter->HasSupport( PrinterSupport::SetupDialog ) );
+ pBox->set_sensitive(nCount != 0);
+ pPropBtn->show( pPrinter->HasSupport( PrinterSupport::SetupDialog ) );
}
-void ImplFreePrnDlgListBox( ListBox* pBox, bool bClear )
+void ImplFreePrnDlgListBox( weld::ComboBoxText* pBox, bool bClear )
{
if ( bClear )
- pBox->Clear();
+ pBox->clear();
}
-Printer* ImplPrnDlgListBoxSelect( ListBox const * pBox, PushButton* pPropBtn,
+Printer* ImplPrnDlgListBoxSelect( const weld::ComboBoxText* pBox, weld::Button* pPropBtn,
Printer const * pPrinter, Printer* pTempPrinterIn )
{
VclPtr<Printer> pTempPrinter( pTempPrinterIn );
- if ( pBox->GetSelectedEntryPos() != LISTBOX_ENTRY_NOTFOUND )
+ if ( pBox->get_active() != -1 )
{
- const QueueInfo* pInfo = Printer::GetQueueInfo( pBox->GetSelectedEntry(), true );
+ const QueueInfo* pInfo = Printer::GetQueueInfo( pBox->get_active_text(), true );
if( pInfo)
{
if ( !pTempPrinter )
@@ -76,13 +76,13 @@ Printer* ImplPrnDlgListBoxSelect( ListBox const * pBox, PushButton* pPropBtn,
}
}
- pPropBtn->Enable( pTempPrinter->HasSupport( PrinterSupport::SetupDialog ) );
+ pPropBtn->set_sensitive(pTempPrinter->HasSupport(PrinterSupport::SetupDialog));
}
else
- pPropBtn->Disable();
+ pPropBtn->set_sensitive(false);
}
else
- pPropBtn->Disable();
+ pPropBtn->set_sensitive(false);
return pTempPrinter;
}
@@ -107,11 +107,11 @@ Printer* ImplPrnDlgUpdatePrinter( Printer const * pPrinter, Printer* pTempPrinte
}
-void ImplPrnDlgUpdateQueueInfo( ListBox const * pBox, QueueInfo& rInfo )
+void ImplPrnDlgUpdateQueueInfo( const weld::ComboBoxText* pBox, QueueInfo& rInfo )
{
- if ( pBox->GetSelectedEntryPos() != LISTBOX_ENTRY_NOTFOUND )
+ if ( pBox->get_active() != -1 )
{
- const QueueInfo* pInfo = Printer::GetQueueInfo( pBox->GetSelectedEntry(), true );
+ const QueueInfo* pInfo = Printer::GetQueueInfo( pBox->get_active_text(), true );
if( pInfo )
rInfo = *pInfo;
}
@@ -207,147 +207,128 @@ OUString ImplPrnDlgGetStatusText( const QueueInfo& rInfo )
return aStr;
}
-
-PrinterSetupDialog::PrinterSetupDialog(vcl::Window* pParent)
- : ModalDialog(pParent, "PrinterSetupDialog",
- "svt/ui/printersetupdialog.ui")
+PrinterSetupDialog::PrinterSetupDialog(weld::Window* pParent)
+ : GenericDialogController(pParent, "svt/ui/printersetupdialog.ui", "PrinterSetupDialog")
+ , m_xLbName(m_xBuilder->weld_combo_box_text("name"))
+ , m_xBtnProperties(m_xBuilder->weld_button("properties"))
+ , m_xBtnOptions(m_xBuilder->weld_button("options"))
+ , m_xFiStatus(m_xBuilder->weld_label("status"))
+ , m_xFiType(m_xBuilder->weld_label("type"))
+ , m_xFiLocation(m_xBuilder->weld_label("location"))
+ , m_xFiComment(m_xBuilder->weld_label("comment"))
{
- get(m_pLbName, "name");
- m_pLbName->SetStyle(m_pLbName->GetStyle() | WB_SORT);
- get(m_pBtnProperties, "properties");
- get(m_pBtnOptions, "options");
- get(m_pFiStatus, "status");
- get(m_pFiType, "type");
- get(m_pFiLocation, "location");
- get(m_pFiComment, "comment");
+ m_xLbName->make_sorted();
// show options button only if link is set
- m_pBtnOptions->Hide();
+ m_xBtnOptions->hide();
mpPrinter = nullptr;
mpTempPrinter = nullptr;
maStatusTimer.SetTimeout( IMPL_PRINTDLG_STATUS_UPDATE );
maStatusTimer.SetInvokeHandler( LINK( this, PrinterSetupDialog, ImplStatusHdl ) );
- m_pBtnProperties->SetClickHdl( LINK( this, PrinterSetupDialog, ImplPropertiesHdl ) );
- m_pLbName->SetSelectHdl( LINK( this, PrinterSetupDialog, ImplChangePrinterHdl ) );
+ m_xBtnProperties->connect_clicked( LINK( this, PrinterSetupDialog, ImplPropertiesHdl ) );
+ m_xLbName->connect_changed( LINK( this, PrinterSetupDialog, ImplChangePrinterHdl ) );
+ m_xDialog->connect_focus_in( LINK( this, PrinterSetupDialog, ImplGetFocusHdl ) );
+ Application::AddEventListener(LINK( this, PrinterSetupDialog, ImplDataChangedHdl ) );
}
-
PrinterSetupDialog::~PrinterSetupDialog()
{
- disposeOnce();
-}
-
-void PrinterSetupDialog::dispose()
-{
- ImplFreePrnDlgListBox(m_pLbName, false);
- m_pLbName.clear();
- m_pBtnProperties.clear();
- m_pBtnOptions.clear();
- m_pFiStatus.clear();
- m_pFiType.clear();
- m_pFiLocation.clear();
- m_pFiComment.clear();
- mpTempPrinter.disposeAndClear();
- mpPrinter.clear();
- ModalDialog::dispose();
+ Application::RemoveEventListener(LINK( this, PrinterSetupDialog, ImplDataChangedHdl ) );
+ ImplFreePrnDlgListBox(m_xLbName.get(), false);
}
-void PrinterSetupDialog::SetOptionsHdl( const Link<Button*,void>& rLink )
+void PrinterSetupDialog::SetOptionsHdl(const Link<weld::Button&, void>& rLink)
{
- m_pBtnOptions->SetClickHdl( rLink );
- m_pBtnOptions->Show( rLink.IsSet() );
+ m_xBtnOptions->connect_clicked(rLink);
+ m_xBtnOptions->show(rLink.IsSet());
}
void PrinterSetupDialog::ImplSetInfo()
{
- const QueueInfo* pInfo = Printer::GetQueueInfo(m_pLbName->GetSelectedEntry(), true);
+ const QueueInfo* pInfo = Printer::GetQueueInfo(m_xLbName->get_active_text(), true);
if ( pInfo )
{
- m_pFiType->SetText( pInfo->GetDriver() );
- m_pFiLocation->SetText( pInfo->GetLocation() );
- m_pFiComment->SetText( pInfo->GetComment() );
- m_pFiStatus->SetText( ImplPrnDlgGetStatusText( *pInfo ) );
+ m_xFiType->set_label( pInfo->GetDriver() );
+ m_xFiLocation->set_label( pInfo->GetLocation() );
+ m_xFiComment->set_label( pInfo->GetComment() );
+ m_xFiStatus->set_label( ImplPrnDlgGetStatusText( *pInfo ) );
}
else
{
OUString aTempStr;
- m_pFiType->SetText( aTempStr );
- m_pFiLocation->SetText( aTempStr );
- m_pFiComment->SetText( aTempStr );
- m_pFiStatus->SetText( aTempStr );
+ m_xFiType->set_label( aTempStr );
+ m_xFiLocation->set_label( aTempStr );
+ m_xFiComment->set_label( aTempStr );
+ m_xFiStatus->set_label( aTempStr );
}
}
-
IMPL_LINK_NOARG(PrinterSetupDialog, ImplStatusHdl, Timer *, void)
{
QueueInfo aInfo;
- ImplPrnDlgUpdateQueueInfo(m_pLbName, aInfo);
- m_pFiStatus->SetText( ImplPrnDlgGetStatusText( aInfo ) );
+ ImplPrnDlgUpdateQueueInfo(m_xLbName.get(), aInfo);
+ m_xFiStatus->set_label( ImplPrnDlgGetStatusText( aInfo ) );
}
-IMPL_LINK_NOARG(PrinterSetupDialog, ImplPropertiesHdl, Button*, void)
+IMPL_LINK_NOARG(PrinterSetupDialog, ImplPropertiesHdl, weld::Button&, void)
{
if ( !mpTempPrinter )
mpTempPrinter = VclPtr<Printer>::Create( mpPrinter->GetJobSetup() );
- mpTempPrinter->Setup( this );
+ mpTempPrinter->Setup(m_xDialog.get());
}
-
-IMPL_LINK_NOARG(PrinterSetupDialog, ImplChangePrinterHdl, ListBox&, void)
+IMPL_LINK_NOARG(PrinterSetupDialog, ImplChangePrinterHdl, weld::ComboBoxText&, void)
{
- mpTempPrinter = ImplPrnDlgListBoxSelect(m_pLbName, m_pBtnProperties,
- mpPrinter, mpTempPrinter );
+ mpTempPrinter = ImplPrnDlgListBoxSelect(m_xLbName.get(), m_xBtnProperties.get(),
+ mpPrinter, mpTempPrinter);
ImplSetInfo();
}
-
-bool PrinterSetupDialog::EventNotify( NotifyEvent& rNEvt )
+IMPL_LINK(PrinterSetupDialog, ImplGetFocusHdl, weld::Widget&, rWidget, void)
{
- if ( (rNEvt.GetType() == MouseNotifyEvent::GETFOCUS) && IsReallyVisible() )
- ImplStatusHdl( &maStatusTimer );
-
- return ModalDialog::EventNotify( rNEvt );
+ if (rWidget.is_visible())
+ ImplStatusHdl(&maStatusTimer);
}
-
-void PrinterSetupDialog::DataChanged( const DataChangedEvent& rDCEvt )
+IMPL_LINK(PrinterSetupDialog, ImplDataChangedHdl, VclSimpleEvent&, rEvt, void)
{
- if ( rDCEvt.GetType() == DataChangedEventType::PRINTER )
- {
- mpTempPrinter = ImplPrnDlgUpdatePrinter( mpPrinter, mpTempPrinter );
- Printer* pPrn;
- if ( mpTempPrinter )
- pPrn = mpTempPrinter;
- else
- pPrn = mpPrinter;
- ImplFillPrnDlgListBox(pPrn, m_pLbName, m_pBtnProperties);
- ImplSetInfo();
- }
-
- ModalDialog::DataChanged( rDCEvt );
+ VclEventId nEvent = rEvt.GetId();
+ if (nEvent != VclEventId::ApplicationDataChanged)
+ return;
+
+ DataChangedEvent* pData = static_cast<DataChangedEvent*>(static_cast<VclWindowEvent&>(rEvt).GetData());
+ if (!pData || pData->GetType() != DataChangedEventType::PRINTER)
+ return;
+
+ mpTempPrinter = ImplPrnDlgUpdatePrinter(mpPrinter, mpTempPrinter);
+ Printer* pPrn;
+ if (mpTempPrinter)
+ pPrn = mpTempPrinter;
+ else
+ pPrn = mpPrinter;
+ ImplFillPrnDlgListBox(pPrn, m_xLbName.get(), m_xBtnProperties.get());
+ ImplSetInfo();
}
-
-short PrinterSetupDialog::Execute()
+short PrinterSetupDialog::execute()
{
if ( !mpPrinter || mpPrinter->IsPrinting() || mpPrinter->IsJobActive() )
{
- SAL_WARN( "svtools.dialogs", "PrinterSetupDialog::Execute() - No Printer or printer is printing" );
+ SAL_WARN( "svtools.dialogs", "PrinterSetupDialog::execute() - No Printer or printer is printing" );
return RET_CANCEL;
}
Printer::updatePrinters();
- ImplFillPrnDlgListBox(mpPrinter, m_pLbName, m_pBtnProperties);
+ ImplFillPrnDlgListBox(mpPrinter, m_xLbName.get(), m_xBtnProperties.get());
ImplSetInfo();
maStatusTimer.Start();
// start dialog
- short nRet = ModalDialog::Execute();
+ short nRet = m_xDialog->run();
// update data if the dialog was terminated with OK
if ( nRet == RET_OK )
diff --git a/svtools/uiconfig/ui/printersetupdialog.ui b/svtools/uiconfig/ui/printersetupdialog.ui
index 0ccfccdbfc02..354d7a7e441d 100644
--- a/svtools/uiconfig/ui/printersetupdialog.ui
+++ b/svtools/uiconfig/ui/printersetupdialog.ui
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
+<!-- Generated with glade 3.20.4 -->
<interface domain="svt">
<requires lib="gtk+" version="3.18"/>
<object class="GtkDialog" id="PrinterSetupDialog">
@@ -7,6 +7,9 @@
<property name="border_width">6</property>
<property name="title" translatable="yes" context="printersetupdialog|PrinterSetupDialog">Printer Setup</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>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1">
@@ -43,7 +46,6 @@
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
- <property name="secondary">True</property>
</packing>
</child>
<child>
@@ -107,10 +109,10 @@
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">1</property>
<property name="label" translatable="yes" context="printersetupdialog|label2">Name:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">name</property>
+ <property name="xalign">1</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -121,8 +123,8 @@
<object class="GtkLabel" id="label3">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">1</property>
<property name="label" translatable="yes" context="printersetupdialog|label3">Status:</property>
+ <property name="xalign">1</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -133,8 +135,8 @@
<object class="GtkLabel" id="label4">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">1</property>
<property name="label" translatable="yes" context="printersetupdialog|label4">Type:</property>
+ <property name="xalign">1</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -145,8 +147,8 @@
<object class="GtkLabel" id="label5">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">1</property>
<property name="label" translatable="yes" context="printersetupdialog|label5">Location:</property>
+ <property name="xalign">1</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -157,8 +159,8 @@
<object class="GtkLabel" id="label6">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">1</property>
<property name="label" translatable="yes" context="printersetupdialog|label6">Comment:</property>
+ <property name="xalign">1</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -226,7 +228,7 @@
</packing>
</child>
<child>
- <object class="GtkComboBox" id="name">
+ <object class="GtkComboBoxText" id="name">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
@@ -261,9 +263,11 @@
</child>
<action-widgets>
<action-widget response="-11">help</action-widget>
- <action-widget response="0">options</action-widget>
<action-widget response="-5">ok</action-widget>
<action-widget response="-6">cancel</action-widget>
</action-widgets>
+ <child>
+ <placeholder/>
+ </child>
</object>
</interface>
diff --git a/sw/inc/swabstdlg.hxx b/sw/inc/swabstdlg.hxx
index 14d352f4e481..63411ef6b03c 100644
--- a/sw/inc/swabstdlg.hxx
+++ b/sw/inc/swabstdlg.hxx
@@ -499,7 +499,7 @@ public:
virtual CreateTabPage GetTabPageCreatorFunc( sal_uInt16 nId ) = 0;
virtual void ExecuteMMResultSaveDialog() = 0;
- virtual void ExecuteMMResultPrintDialog() = 0;
+ virtual void ExecuteMMResultPrintDialog(weld::Window* pParent) = 0;
virtual void ExecuteMMResultEmailDialog() = 0;
protected:
diff --git a/sw/inc/view.hxx b/sw/inc/view.hxx
index 73a9138455b0..2dedb5ff5f99 100644
--- a/sw/inc/view.hxx
+++ b/sw/inc/view.hxx
@@ -618,7 +618,7 @@ public:
// methods for printing
SAL_DLLPRIVATE virtual SfxPrinter* GetPrinter( bool bCreate = false ) override;
SAL_DLLPRIVATE virtual bool HasPrintOptionsPage() const override;
- SAL_DLLPRIVATE virtual VclPtr<SfxTabPage> CreatePrintOptionsPage( TabPageParent pParent,
+ SAL_DLLPRIVATE virtual VclPtr<SfxTabPage> CreatePrintOptionsPage(weld::Container* pParent,
const SfxItemSet& rSet) override;
static SvxSearchItem* GetSearchItem() { return m_pSrchItem; }
/// See SfxViewShell::getPart().
@@ -646,7 +646,7 @@ inline const SwDocShell *SwView::GetDocShell() const
return const_cast<SwView*>(this)->GetDocShell();
}
-VclPtr<SfxTabPage> CreatePrintOptionsPage( TabPageParent pParent,
+VclPtr<SfxTabPage> CreatePrintOptionsPage( weld::Container* pPage,
const SfxItemSet &rOptions,
bool bPreview);
diff --git a/sw/source/ui/config/optpage.cxx b/sw/source/ui/config/optpage.cxx
index 03006daf0728..133b423ae433 100644
--- a/sw/source/ui/config/optpage.cxx
+++ b/sw/source/ui/config/optpage.cxx
@@ -451,7 +451,11 @@ void SwAddPrinterTabPage::Reset( const SfxItemSet* )
m_xEndRB->set_active(pAddPrinterAttr->m_nPrintPostIts== SwPostItMode::EndDoc ) ;
m_xEndPageRB->set_active(pAddPrinterAttr->m_nPrintPostIts== SwPostItMode::EndPage ) ;
m_xInMarginsRB->set_active(pAddPrinterAttr->m_nPrintPostIts== SwPostItMode::InMargins ) ;
- m_xFaxLB->set_active( pAddPrinterAttr->m_sFaxName );
+ auto nFound = m_xFaxLB->find_text(pAddPrinterAttr->m_sFaxName);
+ if (nFound != -1)
+ m_xFaxLB->set_active(nFound);
+ else
+ m_xFaxLB->set_active(0);
}
if (m_xProspectCB->get_active())
{
diff --git a/sw/source/ui/dbui/mmresultdialogs.cxx b/sw/source/ui/dbui/mmresultdialogs.cxx
index e19dee61342f..6fcd3740d58f 100644
--- a/sw/source/ui/dbui/mmresultdialogs.cxx
+++ b/sw/source/ui/dbui/mmresultdialogs.cxx
@@ -254,54 +254,36 @@ void SwMMResultSaveDialog::dispose()
SfxModalDialog::dispose();
}
-SwMMResultPrintDialog::SwMMResultPrintDialog()
- : SfxModalDialog(nullptr, "MMResultPrintDialog", "modules/swriter/ui/mmresultprintdialog.ui")
- , m_pTempPrinter(nullptr)
+SwMMResultPrintDialog::SwMMResultPrintDialog(weld::Window* pParent)
+ : GenericDialogController(pParent, "modules/swriter/ui/mmresultprintdialog.ui", "MMResultPrintDialog")
+ , m_xPrinterFT(m_xBuilder->weld_label("printerft"))
+ , m_xPrinterLB(m_xBuilder->weld_combo_box_text("printers"))
+ , m_xPrinterSettingsPB(m_xBuilder->weld_button("printersettings"))
+ , m_xPrintAllRB(m_xBuilder->weld_radio_button("printallrb"))
+ , m_xFromRB(m_xBuilder->weld_radio_button("fromrb"))
+ , m_xFromNF(m_xBuilder->weld_spin_button("from"))
+ , m_xToFT(m_xBuilder->weld_label("toft"))
+ , m_xToNF(m_xBuilder->weld_spin_button("to"))
+ , m_xOKButton(m_xBuilder->weld_button("ok"))
{
- get(m_pPrinterFT, "printerft");
- get(m_pPrinterLB, "printers");
- m_pPrinterLB->SetStyle(m_pPrinterLB->GetStyle() | WB_SORT);
- get(m_pPrinterSettingsPB, "printersettings");
- get(m_pPrintAllRB, "printallrb");
- get(m_pFromRB, "fromrb");
- get(m_pFromNF, "from-nospin");
- get(m_pToFT, "toft");
- get(m_pToNF, "to-nospin");
- get(m_pOKButton, "ok");
+ m_xPrinterLB->make_sorted();
- m_pPrinterLB->SetSelectHdl(LINK(this, SwMMResultPrintDialog, PrinterChangeHdl_Impl));
- m_pPrinterSettingsPB->SetClickHdl(LINK(this, SwMMResultPrintDialog, PrinterSetupHdl_Impl));
+ m_xPrinterLB->connect_changed(LINK(this, SwMMResultPrintDialog, PrinterChangeHdl_Impl));
+ m_xPrinterSettingsPB->connect_clicked(LINK(this, SwMMResultPrintDialog, PrinterSetupHdl_Impl));
- Link<Button*,void> aLink = LINK(this, SwMMResultPrintDialog, DocumentSelectionHdl_Impl);
- m_pPrintAllRB->SetClickHdl(aLink);
- m_pFromRB->SetClickHdl(aLink);
+ Link<weld::ToggleButton&,void> aLink = LINK(this, SwMMResultPrintDialog, DocumentSelectionHdl_Impl);
+ m_xPrintAllRB->connect_toggled(aLink);
+ m_xFromRB->connect_toggled(aLink);
// m_pPrintAllRB is the default, so disable m_pFromNF and m_pToNF initially.
- aLink.Call(m_pPrintAllRB);
+ aLink.Call(*m_xPrintAllRB);
- m_pOKButton->SetClickHdl(LINK(this, SwMMResultPrintDialog, PrintHdl_Impl));
+ m_xOKButton->connect_clicked(LINK(this, SwMMResultPrintDialog, PrintHdl_Impl));
FillInPrinterSettings();
}
SwMMResultPrintDialog::~SwMMResultPrintDialog()
{
- disposeOnce();
-}
-
-void SwMMResultPrintDialog::dispose()
-{
- m_pPrinterFT.clear();
- m_pPrinterLB.clear();
- m_pPrinterSettingsPB.clear();
- m_pPrintAllRB.clear();
- m_pFromRB.clear();
- m_pFromNF.clear();
- m_pToFT.clear();
- m_pToNF.clear();
- m_pOKButton.clear();
- m_pTempPrinter.clear();
-
- SfxModalDialog::dispose();
}
SwMMResultEmailDialog::SwMMResultEmailDialog()
@@ -375,33 +357,30 @@ void SwMMResultPrintDialog::FillInPrinterSettings()
const std::vector<OUString>& rPrinters = Printer::GetPrinterQueues();
unsigned int nCount = rPrinters.size();
bool bMergePrinterExists = false;
- if ( nCount )
- {
- for( unsigned int i = 0; i < nCount; i++ )
- {
- m_pPrinterLB->InsertEntry( rPrinters[i] );
- if( !bMergePrinterExists && rPrinters[i] == xConfigItem->GetSelectedPrinter() )
- bMergePrinterExists = true;
- }
+ for (unsigned int i = 0; i < nCount; ++i)
+ {
+ m_xPrinterLB->append_text( rPrinters[i] );
+ if( !bMergePrinterExists && rPrinters[i] == xConfigItem->GetSelectedPrinter() )
+ bMergePrinterExists = true;
}
assert(xConfigItem);
if(!bMergePrinterExists)
{
SfxPrinter* pPrinter = pView->GetWrtShell().getIDocumentDeviceAccess().getPrinter( true );
- m_pPrinterLB->SelectEntry(pPrinter->GetName());
+ m_xPrinterLB->set_active(pPrinter->GetName());
}
else
{
- m_pPrinterLB->SelectEntry(xConfigItem->GetSelectedPrinter());
+ m_xPrinterLB->set_active(xConfigItem->GetSelectedPrinter());
}
sal_Int32 count = xConfigItem->GetMergedDocumentCount();
- m_pToNF->SetValue(count);
- m_pToNF->SetMax(count);
+ m_xToNF->set_value(count);
+ m_xToNF->set_max(count);
- m_pPrinterLB->SelectEntry(xConfigItem->GetSelectedPrinter());
+ m_xPrinterLB->set_active(xConfigItem->GetSelectedPrinter());
}
void SwMMResultEmailDialog::FillInEmailSettings()
@@ -469,12 +448,12 @@ IMPL_LINK(SwMMResultSaveDialog, DocumentSelectionHdl_Impl, Button*, pButton, voi
m_pToNF->Enable(bEnableFromTo);
}
-IMPL_LINK(SwMMResultPrintDialog, DocumentSelectionHdl_Impl, Button*, pButton, void)
+IMPL_LINK(SwMMResultPrintDialog, DocumentSelectionHdl_Impl, weld::ToggleButton&, rButton, void)
{
- bool bEnableFromTo = pButton == m_pFromRB;
- m_pFromNF->Enable(bEnableFromTo);
- m_pToFT->Enable(bEnableFromTo);
- m_pToNF->Enable(bEnableFromTo);
+ bool bEnableFromTo = &rButton == m_xFromRB.get();
+ m_xFromNF->set_sensitive(bEnableFromTo);
+ m_xToFT->set_sensitive(bEnableFromTo);
+ m_xToNF->set_sensitive(bEnableFromTo);
}
IMPL_LINK(SwMMResultEmailDialog, DocumentSelectionHdl_Impl, Button*, pButton, void)
@@ -748,14 +727,14 @@ IMPL_LINK(SwMMResultSaveDialog, SaveOutputHdl_Impl, Button*, pButton, void)
endDialog(pButton);
}
-IMPL_LINK(SwMMResultPrintDialog, PrinterChangeHdl_Impl, ListBox&, rBox, void)
+IMPL_LINK(SwMMResultPrintDialog, PrinterChangeHdl_Impl, weld::ComboBoxText&, rBox, void)
{
SwView* pView = ::GetActiveView();
std::shared_ptr<SwMailMergeConfigItem> xConfigItem = pView->GetMailMergeConfigItem();
assert(xConfigItem);
- if (rBox.GetSelectedEntryPos() != LISTBOX_ENTRY_NOTFOUND)
+ if (rBox.get_active() != -1)
{
- const QueueInfo* pInfo = Printer::GetQueueInfo( rBox.GetSelectedEntry(), false );
+ const QueueInfo* pInfo = Printer::GetQueueInfo( rBox.get_active_text(), false );
if( pInfo )
{
@@ -776,15 +755,15 @@ IMPL_LINK(SwMMResultPrintDialog, PrinterChangeHdl_Impl, ListBox&, rBox, void)
else if( ! m_pTempPrinter )
m_pTempPrinter = VclPtr<Printer>::Create();
- m_pPrinterSettingsPB->Enable( m_pTempPrinter->HasSupport( PrinterSupport::SetupDialog ) );
+ m_xPrinterSettingsPB->set_sensitive(m_pTempPrinter->HasSupport(PrinterSupport::SetupDialog));
}
else
- m_pPrinterSettingsPB->Disable();
+ m_xPrinterSettingsPB->set_sensitive(false);
- xConfigItem->SetSelectedPrinter(rBox.GetSelectedEntry());
+ xConfigItem->SetSelectedPrinter(rBox.get_active_text());
}
-IMPL_LINK(SwMMResultPrintDialog, PrintHdl_Impl, Button*, pButton, void)
+IMPL_LINK_NOARG(SwMMResultPrintDialog, PrintHdl_Impl, weld::Button&, void)
{
SwView* pView = ::GetActiveView();
std::shared_ptr<SwMailMergeConfigItem> xConfigItem = pView->GetMailMergeConfigItem();
@@ -799,15 +778,15 @@ IMPL_LINK(SwMMResultPrintDialog, PrintHdl_Impl, Button*, pButton, void)
sal_uInt32 nEnd = 0;
sal_uInt32 documentCount = xConfigItem->GetMergedDocumentCount();
- if(m_pPrintAllRB->IsChecked())
+ if (m_xPrintAllRB->get_active())
{
nBegin = 0;
nEnd = documentCount;
}
else
{
- nBegin = static_cast< sal_Int32 >(m_pFromNF->GetValue() - 1);
- nEnd = static_cast< sal_Int32 >(m_pToNF->GetValue());
+ nBegin = m_xFromNF->get_value() - 1;
+ nEnd = m_xToNF->get_value();
if(nEnd > documentCount)
nEnd = documentCount;
}
@@ -838,15 +817,15 @@ IMPL_LINK(SwMMResultPrintDialog, PrintHdl_Impl, Button*, pButton, void)
pTargetView->ExecPrint( aProps, false, true );
SfxGetpApp()->NotifyEvent(SfxEventHint(SfxEventHintId::SwMailMergeEnd, SwDocShell::GetEventName(STR_SW_EVENT_MAIL_MERGE_END), pObjSh));
- endDialog(pButton);
+ m_xDialog->response(RET_OK);
}
-IMPL_LINK(SwMMResultPrintDialog, PrinterSetupHdl_Impl, Button*, pButton, void)
+IMPL_LINK_NOARG(SwMMResultPrintDialog, PrinterSetupHdl_Impl, weld::Button&, void)
{
- if( !m_pTempPrinter )
- PrinterChangeHdl_Impl(*m_pPrinterLB);
- if(m_pTempPrinter)
- m_pTempPrinter->Setup(pButton);
+ if (!m_pTempPrinter)
+ PrinterChangeHdl_Impl(*m_xPrinterLB);
+ if (m_pTempPrinter)
+ m_pTempPrinter->Setup(m_xDialog.get());
}
IMPL_LINK(SwMMResultEmailDialog, SendTypeHdl_Impl, ListBox&, rBox, void)
diff --git a/sw/source/ui/dialog/swdlgfact.cxx b/sw/source/ui/dialog/swdlgfact.cxx
index fd0e2009e953..a5a6ca3ded6c 100644
--- a/sw/source/ui/dialog/swdlgfact.cxx
+++ b/sw/source/ui/dialog/swdlgfact.cxx
@@ -1139,10 +1139,10 @@ void SwAbstractDialogFactory_Impl::ExecuteMMResultSaveDialog()
pDialog->Execute();
}
-void SwAbstractDialogFactory_Impl::ExecuteMMResultPrintDialog()
+void SwAbstractDialogFactory_Impl::ExecuteMMResultPrintDialog(weld::Window* pParent)
{
- ScopedVclPtrInstance<SwMMResultPrintDialog> pDialog;
- pDialog->Execute();
+ SwMMResultPrintDialog aDialog(pParent);
+ aDialog.run();
}
void SwAbstractDialogFactory_Impl::ExecuteMMResultEmailDialog()
diff --git a/sw/source/ui/dialog/swdlgfact.hxx b/sw/source/ui/dialog/swdlgfact.hxx
index 48fd7f95c91f..fd13c1d76100 100644
--- a/sw/source/ui/dialog/swdlgfact.hxx
+++ b/sw/source/ui/dialog/swdlgfact.hxx
@@ -649,7 +649,7 @@ public:
virtual CreateTabPage GetTabPageCreatorFunc( sal_uInt16 nId ) override;
virtual void ExecuteMMResultSaveDialog() override;
- virtual void ExecuteMMResultPrintDialog() override;
+ virtual void ExecuteMMResultPrintDialog(weld::Window* pParent) override;
virtual void ExecuteMMResultEmailDialog() override;
};
diff --git a/sw/source/ui/envelp/envprt.cxx b/sw/source/ui/envelp/envprt.cxx
index 0e52ab4a7f98..7605bd485354 100644
--- a/sw/source/ui/envelp/envprt.cxx
+++ b/sw/source/ui/envelp/envprt.cxx
@@ -115,10 +115,9 @@ IMPL_LINK( SwEnvPrtPage, ButtonHdl, Button *, pBtn, void )
// Call printer setup
if (pPrt)
{
- VclPtrInstance< PrinterSetupDialog > pDlg(this);
- pDlg->SetPrinter(pPrt);
- pDlg->Execute();
- pDlg.reset();
+ PrinterSetupDialog aDlg(GetFrameWeld());
+ aDlg.SetPrinter(pPrt);
+ aDlg.execute();
GrabFocus();
m_pPrinterInfo->SetText(pPrt->GetName());
}
diff --git a/sw/source/ui/envelp/labprt.cxx b/sw/source/ui/envelp/labprt.cxx
index c876f2e2eece..faecd0ee8018 100644
--- a/sw/source/ui/envelp/labprt.cxx
+++ b/sw/source/ui/envelp/labprt.cxx
@@ -87,10 +87,9 @@ IMPL_LINK( SwLabPrtPage, CountHdl, Button *, pButton, void )
if (!pPrinter)
pPrinter = VclPtr<Printer>::Create();
- VclPtrInstance< PrinterSetupDialog > pDlg(this);
- pDlg->SetPrinter(pPrinter);
- pDlg->Execute();
- pDlg.disposeAndClear();
+ PrinterSetupDialog aDlg(GetFrameWeld());
+ aDlg.SetPrinter(pPrinter);
+ aDlg.execute();
GrabFocus();
m_pPrinterInfo->SetText(pPrinter->GetName());
return;
diff --git a/sw/source/ui/inc/mmresultdialogs.hxx b/sw/source/ui/inc/mmresultdialogs.hxx
index 01e89826372c..a63a6653c418 100644
--- a/sw/source/ui/inc/mmresultdialogs.hxx
+++ b/sw/source/ui/inc/mmresultdialogs.hxx
@@ -25,6 +25,7 @@
#include <vcl/field.hxx>
#include <vcl/lstbox.hxx>
#include <vcl/prgsbar.hxx>
+#include <vcl/weld.hxx>
#include <sfx2/objsh.hxx>
#include <sfx2/basedlgs.hxx>
#include <svtools/simptabl.hxx>
@@ -68,35 +69,30 @@ public:
};
/// Dialog implementing the printing of the result document.
-class SwMMResultPrintDialog : public SfxModalDialog
+class SwMMResultPrintDialog : public weld::GenericDialogController
{
- VclPtr<FixedText> m_pPrinterFT;
- VclPtr<ListBox> m_pPrinterLB;
- VclPtr<PushButton> m_pPrinterSettingsPB;
-
- VclPtr<RadioButton> m_pPrintAllRB;
-
- VclPtr<RadioButton> m_pFromRB;
- VclPtr<NumericField> m_pFromNF;
- VclPtr<FixedText> m_pToFT;
- VclPtr<NumericField> m_pToNF;
-
- VclPtr<Button> m_pOKButton;
-
VclPtr<Printer> m_pTempPrinter;
- DECL_LINK(PrinterChangeHdl_Impl, ListBox&,void );
- DECL_LINK(PrintHdl_Impl, Button*, void);
- DECL_LINK(PrinterSetupHdl_Impl, Button*, void );
- DECL_LINK(DocumentSelectionHdl_Impl, Button*, void);
+ std::unique_ptr<weld::Label> m_xPrinterFT;
+ std::unique_ptr<weld::ComboBoxText> m_xPrinterLB;
+ std::unique_ptr<weld::Button> m_xPrinterSettingsPB;
+ std::unique_ptr<weld::RadioButton> m_xPrintAllRB;
+ std::unique_ptr<weld::RadioButton> m_xFromRB;
+ std::unique_ptr<weld::SpinButton> m_xFromNF;
+ std::unique_ptr<weld::Label> m_xToFT;
+ std::unique_ptr<weld::SpinButton> m_xToNF;
+ std::unique_ptr<weld::Button> m_xOKButton;
+
+ DECL_LINK(PrinterChangeHdl_Impl, weld::ComboBoxText&, void );
+ DECL_LINK(PrintHdl_Impl, weld::Button&, void);
+ DECL_LINK(PrinterSetupHdl_Impl, weld::Button&, void );
+ DECL_LINK(DocumentSelectionHdl_Impl, weld::ToggleButton&, void);
void FillInPrinterSettings();
public:
- SwMMResultPrintDialog();
+ SwMMResultPrintDialog(weld::Window* pParent);
virtual ~SwMMResultPrintDialog() override;
-
- virtual void dispose() override;
};
/// Dialog implementing the sending as email of the result document.
diff --git a/sw/source/uibase/app/apphdl.cxx b/sw/source/uibase/app/apphdl.cxx
index 1a74f3f64f11..6be30033a10f 100644
--- a/sw/source/uibase/app/apphdl.cxx
+++ b/sw/source/uibase/app/apphdl.cxx
@@ -816,7 +816,7 @@ void SwModule::ExecOther(SfxRequest& rReq)
switch (nWhich)
{
case FN_MAILMERGE_SAVE_DOCUMENTS: pFact->ExecuteMMResultSaveDialog(); break;
- case FN_MAILMERGE_PRINT_DOCUMENTS: pFact->ExecuteMMResultPrintDialog(); break;
+ case FN_MAILMERGE_PRINT_DOCUMENTS: pFact->ExecuteMMResultPrintDialog(rReq.GetFrameWeld()); break;
case FN_MAILMERGE_EMAIL_DOCUMENTS: pFact->ExecuteMMResultEmailDialog(); break;
}
}
diff --git a/sw/source/uibase/inc/pview.hxx b/sw/source/uibase/inc/pview.hxx
index 5d046f60933e..059aecd1c060 100644
--- a/sw/source/uibase/inc/pview.hxx
+++ b/sw/source/uibase/inc/pview.hxx
@@ -201,7 +201,7 @@ class SW_DLLPUBLIC SwPagePreview: public SfxViewShell
SAL_DLLPRIVATE virtual SfxPrinter* GetPrinter( bool bCreate = false ) override;
SAL_DLLPRIVATE virtual sal_uInt16 SetPrinter( SfxPrinter *pNewPrinter, SfxPrinterChangeFlags nDiffFlags = SFX_PRINTER_ALL ) override;
SAL_DLLPRIVATE virtual bool HasPrintOptionsPage() const override;
- SAL_DLLPRIVATE virtual VclPtr<SfxTabPage> CreatePrintOptionsPage(TabPageParent pParent, const SfxItemSet &rOptions) override;
+ SAL_DLLPRIVATE virtual VclPtr<SfxTabPage> CreatePrintOptionsPage(weld::Container* pParent, const SfxItemSet &rOptions) override;
SAL_DLLPRIVATE void CalcAndSetBorderPixel( SvBorder &rToFill );
diff --git a/sw/source/uibase/uiview/pview.cxx b/sw/source/uibase/uiview/pview.cxx
index cd2248684316..76f46c2a46dc 100644
--- a/sw/source/uibase/uiview/pview.cxx
+++ b/sw/source/uibase/uiview/pview.cxx
@@ -1706,10 +1706,10 @@ bool SwPagePreview::HasPrintOptionsPage() const
return true;
}
-VclPtr<SfxTabPage> SwPagePreview::CreatePrintOptionsPage( TabPageParent pParent,
+VclPtr<SfxTabPage> SwPagePreview::CreatePrintOptionsPage( weld::Container* pPage,
const SfxItemSet &rOptions )
{
- return ::CreatePrintOptionsPage( TabPageParent(pParent.pParent), rOptions, !m_bNormalPrint );
+ return ::CreatePrintOptionsPage(pPage, rOptions, !m_bNormalPrint);
}
void SwPagePreviewWin::SetViewShell( SwViewShell* pShell )
diff --git a/sw/source/uibase/uiview/viewprt.cxx b/sw/source/uibase/uiview/viewprt.cxx
index f840dc3a4160..d7ac18727985 100644
--- a/sw/source/uibase/uiview/viewprt.cxx
+++ b/sw/source/uibase/uiview/viewprt.cxx
@@ -170,10 +170,10 @@ namespace
// TabPage for application-specific print options
-VclPtr<SfxTabPage> SwView::CreatePrintOptionsPage(TabPageParent pParent,
+VclPtr<SfxTabPage> SwView::CreatePrintOptionsPage(weld::Container* pPage,
const SfxItemSet& rSet)
{
- return ::CreatePrintOptionsPage( pParent, rSet, false );
+ return ::CreatePrintOptionsPage(pPage, rSet, false);
}
// Print dispatcher
@@ -303,7 +303,7 @@ void SwView::NotifyCursor(SfxViewShell* pViewShell) const
// Create page printer/additions for SwView and SwPagePreview
-VclPtr<SfxTabPage> CreatePrintOptionsPage( TabPageParent pParent,
+VclPtr<SfxTabPage> CreatePrintOptionsPage( weld::Container* pPage,
const SfxItemSet &rOptions,
bool bPreview )
{
@@ -317,16 +317,16 @@ VclPtr<SfxTabPage> CreatePrintOptionsPage( TabPageParent pParent,
if (!fnCreatePage)
return nullptr;
- VclPtr<SfxTabPage> pPage = fnCreatePage(pParent, &rOptions);
- OSL_ENSURE(pPage, "No page");
- if (!pPage)
+ VclPtr<SfxTabPage> pSfxPage = fnCreatePage(pPage, &rOptions);
+ OSL_ENSURE(pSfxPage, "No page");
+ if (!pSfxPage)
return nullptr;
SfxAllItemSet aSet(*(rOptions.GetPool()));
aSet.Put(SfxBoolItem(SID_PREVIEWFLAG_TYPE, bPreview));
aSet.Put(SfxBoolItem(SID_FAX_LIST, true));
- pPage->PageCreated(aSet);
- return pPage;
+ pSfxPage->PageCreated(aSet);
+ return pSfxPage;
}
void SetAppPrintOptions( SwViewShell* pSh, bool bWeb )
diff --git a/sw/uiconfig/swriter/ui/mmresultprintdialog.ui b/sw/uiconfig/swriter/ui/mmresultprintdialog.ui
index e1ef3d8aae08..64096ab8776c 100644
--- a/sw/uiconfig/swriter/ui/mmresultprintdialog.ui
+++ b/sw/uiconfig/swriter/ui/mmresultprintdialog.ui
@@ -1,11 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
+<!-- Generated with glade 3.20.4 -->
<interface domain="sw">
<requires lib="gtk+" version="3.18"/>
+ <object class="GtkAdjustment" id="adjustment1">
+ <property name="lower">1</property>
+ <property name="upper">100000</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment2">
+ <property name="lower">1</property>
+ <property name="upper">100000</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
<object class="GtkDialog" id="MMResultPrintDialog">
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="title" translatable="yes" context="mmresultprintdialog|MMResultPrintDialog">Print merged document</property>
+ <property name="modal">True</property>
+ <property name="default_width">0</property>
+ <property name="default_height">0</property>
<property name="type_hint">dialog</property>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1">
@@ -57,6 +72,7 @@
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
+ <property name="secondary">True</property>
</packing>
</child>
</object>
@@ -93,10 +109,10 @@
<object class="GtkLabel" id="printerft">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="mmresultprintdialog|printerft">_Printer</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">printers</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -205,7 +221,7 @@
<property name="draw_indicator">True</property>
<property name="group">printallrb</property>
<accessibility>
- <relation type="label-for" target="from-nospin"/>
+ <relation type="label-for" target="from"/>
</accessibility>
</object>
<packing>
@@ -219,7 +235,7 @@
<property name="can_focus">False</property>
<property name="label" translatable="yes" context="mmresultprintdialog|toft">_To</property>
<property name="use_underline">True</property>
- <property name="mnemonic_widget">to-nospin</property>
+ <property name="mnemonic_widget">to</property>
</object>
<packing>
<property name="left_attach">2</property>
@@ -227,10 +243,11 @@
</packing>
</child>
<child>
- <object class="GtkSpinButton" id="from-nospin">
+ <object class="GtkSpinButton" id="from">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="text" translatable="no">1</property>
+ <property name="text">1</property>
+ <property name="adjustment">adjustment1</property>
<property name="value">1</property>
<accessibility>
<relation type="labelled-by" target="fromrb"/>
@@ -242,10 +259,11 @@
</packing>
</child>
<child>
- <object class="GtkSpinButton" id="to-nospin">
+ <object class="GtkSpinButton" id="to">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="text">1</property>
+ <property name="adjustment">adjustment2</property>
<property name="value">1</property>
</object>
<packing>
@@ -288,5 +306,8 @@
<action-widget response="-6">cancel</action-widget>
<action-widget response="-11">help</action-widget>
</action-widgets>
+ <child>
+ <placeholder/>
+ </child>
</object>
</interface>
diff --git a/vcl/headless/svpprn.cxx b/vcl/headless/svpprn.cxx
index a0ec78290429..e54c01a4c437 100644
--- a/vcl/headless/svpprn.cxx
+++ b/vcl/headless/svpprn.cxx
@@ -267,7 +267,7 @@ GenPspGraphics *SvpSalInstance::CreatePrintGraphics()
return new GenPspGraphics();
}
-bool SvpSalInfoPrinter::Setup( SalFrame*, ImplJobSetup* )
+bool SvpSalInfoPrinter::Setup( weld::Window*, ImplJobSetup* )
{
return false;
}
diff --git a/vcl/inc/headless/svpprn.hxx b/vcl/inc/headless/svpprn.hxx
index d38d36d13091..a7572af2f2e3 100644
--- a/vcl/inc/headless/svpprn.hxx
+++ b/vcl/inc/headless/svpprn.hxx
@@ -30,7 +30,7 @@
class SvpSalInfoPrinter : public PspSalInfoPrinter
{
public:
- virtual bool Setup( SalFrame* pFrame, ImplJobSetup* pSetupData ) override;
+ virtual bool Setup( weld::Window* pFrame, ImplJobSetup* pSetupData ) override;
};
class SvpSalPrinter : public PspSalPrinter
diff --git a/vcl/inc/osx/salprn.h b/vcl/inc/osx/salprn.h
index 8f9c04017a66..717c8e15e61c 100644
--- a/vcl/inc/osx/salprn.h
+++ b/vcl/inc/osx/salprn.h
@@ -68,7 +68,7 @@ class AquaSalInfoPrinter : public SalInfoPrinter
virtual SalGraphics* AcquireGraphics() override;
virtual void ReleaseGraphics( SalGraphics* i_pGraphics ) override;
- virtual bool Setup( SalFrame* i_pFrame, ImplJobSetup* i_pSetupData ) override;
+ virtual bool Setup( weld::Window* i_pFrame, ImplJobSetup* i_pSetupData ) override;
virtual bool SetPrinterData( ImplJobSetup* pSetupData ) override;
virtual bool SetData( JobSetFlags i_nFlags, ImplJobSetup* i_pSetupData ) override;
virtual void GetPageInfo( const ImplJobSetup* i_pSetupData,
diff --git a/vcl/inc/salprn.hxx b/vcl/inc/salprn.hxx
index d9da1a6d80ed..d2af082164ee 100644
--- a/vcl/inc/salprn.hxx
+++ b/vcl/inc/salprn.hxx
@@ -60,7 +60,7 @@ public:
virtual SalGraphics* AcquireGraphics() = 0;
virtual void ReleaseGraphics( SalGraphics* pGraphics ) = 0;
- virtual bool Setup( SalFrame* pFrame, ImplJobSetup* pSetupData ) = 0;
+ virtual bool Setup(weld::Window* pFrame, ImplJobSetup* pSetupData) = 0;
// This function set the driver data and
// set the new indepen data in pSetupData
virtual bool SetPrinterData( ImplJobSetup* pSetupData ) = 0;
diff --git a/vcl/inc/unx/genprn.h b/vcl/inc/unx/genprn.h
index 9d80de32f99b..a8ad4fb062c1 100644
--- a/vcl/inc/unx/genprn.h
+++ b/vcl/inc/unx/genprn.h
@@ -40,7 +40,7 @@ public:
// override all pure virtual methods
virtual SalGraphics* AcquireGraphics() override;
virtual void ReleaseGraphics( SalGraphics* pGraphics ) override;
- virtual bool Setup( SalFrame* pFrame, ImplJobSetup* pSetupData ) override;
+ virtual bool Setup( weld::Window* pFrame, ImplJobSetup* pSetupData ) override;
virtual bool SetPrinterData( ImplJobSetup* pSetupData ) override;
virtual bool SetData( JobSetFlags nFlags, ImplJobSetup* pSetupData ) override;
virtual void GetPageInfo( const ImplJobSetup* pSetupData,
diff --git a/vcl/inc/win/salprn.h b/vcl/inc/win/salprn.h
index f9be4757ad13..c0c6e7fb7932 100644
--- a/vcl/inc/win/salprn.h
+++ b/vcl/inc/win/salprn.h
@@ -55,7 +55,7 @@ public:
virtual SalGraphics* AcquireGraphics() override;
virtual void ReleaseGraphics( SalGraphics* pGraphics ) override;
- virtual bool Setup( SalFrame* pFrame, ImplJobSetup* pSetupData ) override;
+ virtual bool Setup( weld::Window* pFrame, ImplJobSetup* pSetupData ) override;
virtual bool SetPrinterData( ImplJobSetup* pSetupData ) override;
virtual bool SetData( JobSetFlags nFlags, ImplJobSetup* pSetupData ) override;
virtual void GetPageInfo( const ImplJobSetup* pSetupData,
diff --git a/vcl/osx/salprn.cxx b/vcl/osx/salprn.cxx
index b87585de91db..baeb6c6d71d9 100644
--- a/vcl/osx/salprn.cxx
+++ b/vcl/osx/salprn.cxx
@@ -148,7 +148,7 @@ void AquaSalInfoPrinter::ReleaseGraphics( SalGraphics* )
mbGraphics = false;
}
-bool AquaSalInfoPrinter::Setup( SalFrame*, ImplJobSetup* )
+bool AquaSalInfoPrinter::Setup( weld::Window*, ImplJobSetup* )
{
return false;
}
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index ab1d797c8aba..a22721c52276 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -37,6 +37,7 @@
#include <vcl/layout.hxx>
#include <vcl/menubtn.hxx>
#include <vcl/slider.hxx>
+#include <vcl/sysdata.hxx>
#include <vcl/tabctrl.hxx>
#include <vcl/tabpage.hxx>
#include <vcl/unowrap.hxx>
@@ -215,6 +216,11 @@ public:
return m_xWidget->IsVisible();
}
+ virtual bool is_visible() const override
+ {
+ return m_xWidget->IsReallyVisible();
+ }
+
virtual void grab_focus() override
{
m_xWidget->GrabFocus();
@@ -562,6 +568,11 @@ public:
return true;
}
+ virtual SystemEnvData get_system_data() const override
+ {
+ return *m_xWindow->GetSystemData();
+ }
+
virtual ~SalInstanceWindow() override
{
clear_child_help(m_xWindow);
@@ -622,6 +633,11 @@ public:
{
m_xDialog->set_default_response(nResponse);
}
+
+ virtual Container* weld_content_area() override
+ {
+ return new SalInstanceContainer(m_xDialog->get_content_area(), false);
+ }
};
class SalInstanceMessageDialog : public SalInstanceDialog, public virtual weld::MessageDialog
diff --git a/vcl/source/gdi/print.cxx b/vcl/source/gdi/print.cxx
index 8e068cbde877..b697e9e01557 100644
--- a/vcl/source/gdi/print.cxx
+++ b/vcl/source/gdi/print.cxx
@@ -1043,7 +1043,7 @@ bool Printer::SetJobSetup( const JobSetup& rSetup )
return false;
}
-bool Printer::Setup( vcl::Window* pWindow, PrinterSetupMode eMode )
+bool Printer::Setup(weld::Window* pWindow, PrinterSetupMode eMode)
{
if ( IsDisplayPrinter() )
return false;
@@ -1056,18 +1056,19 @@ bool Printer::Setup( vcl::Window* pWindow, PrinterSetupMode eMode )
rData.SetPrinterSetupMode( eMode );
// TODO: orig page size
- SalFrame* pFrame;
- if ( !pWindow )
- pWindow = ImplGetDefaultWindow();
+ if (!pWindow)
+ {
+ vcl::Window* pDefWin = ImplGetDefaultWindow();
+ pWindow = pDefWin ? pDefWin->GetFrameWeld() : nullptr;
+ }
if( !pWindow )
return false;
- pFrame = pWindow->ImplGetFrame();
ReleaseGraphics();
ImplSVData* pSVData = ImplGetSVData();
pSVData->maAppData.mnModalMode++;
nImplSysDialog++;
- bool bSetup = mpInfoPrinter->Setup( pFrame, &rData );
+ bool bSetup = mpInfoPrinter->Setup(pWindow, &rData);
pSVData->maAppData.mnModalMode--;
nImplSysDialog--;
if ( bSetup )
diff --git a/vcl/source/gdi/print3.cxx b/vcl/source/gdi/print3.cxx
index 48647b8d4921..544e07ce02d4 100644
--- a/vcl/source/gdi/print3.cxx
+++ b/vcl/source/gdi/print3.cxx
@@ -796,7 +796,7 @@ void PrinterController::resetPrinterOptions( bool i_bFileOutput )
mpImplData->mxPrinter->SetPrinterOptions( aOpt );
}
-void PrinterController::setupPrinter( vcl::Window* i_pParent )
+void PrinterController::setupPrinter( weld::Window* i_pParent )
{
bool bRet = false;
diff --git a/vcl/source/window/printdlg.cxx b/vcl/source/window/printdlg.cxx
index 6ca8876aea27..a7ef48c01e83 100644
--- a/vcl/source/window/printdlg.cxx
+++ b/vcl/source/window/printdlg.cxx
@@ -1720,7 +1720,7 @@ IMPL_LINK( PrintDialog, ClickHdl, Button*, pButton, void )
{
if( pButton == maJobPage.mpSetupButton )
{
- maPController->setupPrinter( this );
+ maPController->setupPrinter(GetFrameWeld());
// tdf#63905 don't use cache: page size may change
preparePreview();
diff --git a/vcl/unx/generic/print/genprnpsp.cxx b/vcl/unx/generic/print/genprnpsp.cxx
index b2d46d91d753..dc1d4ebf54cd 100644
--- a/vcl/unx/generic/print/genprnpsp.cxx
+++ b/vcl/unx/generic/print/genprnpsp.cxx
@@ -524,7 +524,7 @@ void PspSalInfoPrinter::ReleaseGraphics( SalGraphics* pGraphics )
}
}
-bool PspSalInfoPrinter::Setup( SalFrame* pFrame, ImplJobSetup* pJobSetup )
+bool PspSalInfoPrinter::Setup( weld::Window* pFrame, ImplJobSetup* pJobSetup )
{
if( ! pFrame || ! pJobSetup )
return false;
@@ -540,7 +540,7 @@ bool PspSalInfoPrinter::Setup( SalFrame* pFrame, ImplJobSetup* pJobSetup )
aInfo.m_bPapersizeFromSetup = pJobSetup->GetPapersizeFromSetup();
aInfo.meSetupMode = pJobSetup->GetPrinterSetupMode();
- if (SetupPrinterDriver(pFrame->GetFrameWeld(), aInfo))
+ if (SetupPrinterDriver(pFrame, aInfo))
{
aInfo.resolveDefaultBackend();
rtl_freeMemory( const_cast<sal_uInt8*>(pJobSetup->GetDriverData()) );
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index 20f94158612e..74a4c3473011 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -1226,6 +1226,11 @@ public:
return gtk_widget_get_visible(m_pWidget);
}
+ virtual bool is_visible() const override
+ {
+ return gtk_widget_is_visible(m_pWidget);
+ }
+
virtual void grab_focus() override
{
gtk_widget_grab_focus(m_pWidget);
@@ -1805,6 +1810,12 @@ public:
return ret;
}
+ virtual SystemEnvData get_system_data() const override
+ {
+ assert(false && "nothing should call this impl, yet anyway, if ever");
+ return SystemEnvData();
+ }
+
virtual ~GtkInstanceWindow() override
{
if (m_xWindow.is())
@@ -2025,6 +2036,11 @@ public:
virtual weld::Button* get_widget_for_response(int nResponse) override;
+ virtual Container* weld_content_area() override
+ {
+ return new GtkInstanceContainer(GTK_CONTAINER(gtk_dialog_get_content_area(m_pDialog)), false);
+ }
+
virtual ~GtkInstanceDialog() override
{
g_signal_handler_disconnect(m_pDialog, m_nCloseSignalId);
diff --git a/vcl/win/gdi/salprn.cxx b/vcl/win/gdi/salprn.cxx
index 37b72ebfadcd..a682f9d33f0a 100644
--- a/vcl/win/gdi/salprn.cxx
+++ b/vcl/win/gdi/salprn.cxx
@@ -348,7 +348,7 @@ static bool ImplTestSalJobSetup( WinSalInfoPrinter const * pPrinter,
}
static bool ImplUpdateSalJobSetup( WinSalInfoPrinter const * pPrinter, ImplJobSetup* pSetupData,
- bool bIn, WinSalFrame* pVisibleDlgParent )
+ bool bIn, weld::Window* pVisibleDlgParent )
{
HANDLE hPrn;
LPWSTR pPrinterNameW = const_cast<LPWSTR>(o3tl::toW(pPrinter->maDeviceName.getStr()));
@@ -392,7 +392,7 @@ static bool ImplUpdateSalJobSetup( WinSalInfoPrinter const * pPrinter, ImplJobSe
// check if the dialog should be shown
if ( pVisibleDlgParent )
{
- hWnd = pVisibleDlgParent->mhWnd;
+ hWnd = pVisibleDlgParent->get_system_data().hWnd;
nMode |= DM_IN_PROMPT;
}
@@ -1164,9 +1164,9 @@ void WinSalInfoPrinter::ReleaseGraphics( SalGraphics* )
mbGraphics = FALSE;
}
-bool WinSalInfoPrinter::Setup( SalFrame* pFrame, ImplJobSetup* pSetupData )
+bool WinSalInfoPrinter::Setup(weld::Window* pFrame, ImplJobSetup* pSetupData)
{
- if ( ImplUpdateSalJobSetup( this, pSetupData, true, static_cast<WinSalFrame*>(pFrame) ) )
+ if ( ImplUpdateSalJobSetup(this, pSetupData, true, pFrame))
{
ImplDevModeToJobSetup( this, pSetupData, JobSetFlags::ALL );
return ImplUpdateSalPrnIC( this, pSetupData );