25#include <svtools/strings.hrc>
39 unsigned int nCount = rPrinters.size();
42 for(
unsigned int i = 0;
i <
nCount;
i++ )
79 (pTempPrinter->GetDriverName() != pInfo->
GetDriver()) )
86 pPropBtn->
set_sensitive(pTempPrinter->HasSupport(PrinterSupport::SetupDialog));
103 aPrnName = pTempPrinter->GetName();
105 aPrnName = pPrinter->
GetName();
133 return aStr + rAddStr;
154 if ( nStatus & PrintQueueFlags::Ready )
156 if ( nStatus & PrintQueueFlags::Paused )
158 if ( nStatus & PrintQueueFlags::PendingDeletion )
160 if ( nStatus & PrintQueueFlags::Busy )
162 if ( nStatus & PrintQueueFlags::Initializing )
164 if ( nStatus & PrintQueueFlags::Waiting )
166 if ( nStatus & PrintQueueFlags::WarmingUp )
168 if ( nStatus & PrintQueueFlags::Processing )
170 if ( nStatus & PrintQueueFlags::Printing )
172 if ( nStatus & PrintQueueFlags::Offline )
174 if ( nStatus & PrintQueueFlags::Error )
176 if ( nStatus & PrintQueueFlags::StatusUnknown )
178 if ( nStatus & PrintQueueFlags::PaperJam )
180 if ( nStatus & PrintQueueFlags::PaperOut )
182 if ( nStatus & PrintQueueFlags::ManualFeed )
184 if ( nStatus & PrintQueueFlags::PaperProblem )
186 if ( nStatus & PrintQueueFlags::IOActive )
188 if ( nStatus & PrintQueueFlags::OutputBinFull )
190 if ( nStatus & PrintQueueFlags::TonerLow )
192 if ( nStatus & PrintQueueFlags::NoToner )
194 if ( nStatus & PrintQueueFlags::PagePunt )
196 if ( nStatus & PrintQueueFlags::UserIntervention )
198 if ( nStatus & PrintQueueFlags::OutOfMemory )
200 if ( nStatus & PrintQueueFlags::DoorOpen )
202 if ( nStatus & PrintQueueFlags::PowerSave )
206 sal_uInt32 nJobs = rInfo.
GetJobs();
209 OUString aJobStr(
SvtResId( STR_SVT_PRNDLG_JOBCOUNT ) );
210 OUString aJobs( OUString::number( nJobs ) );
218 : GenericDialogController(pParent,
"svt/ui/printersetupdialog.ui",
"PrinterSetupDialog")
219 , m_xLbName(m_xBuilder->weld_combo_box(
"name"))
220 , m_xBtnProperties(m_xBuilder->weld_button(
"properties"))
221 , m_xBtnOptions(m_xBuilder->weld_button(
"options"))
222 , m_xFiStatus(m_xBuilder->weld_label(
"status"))
223 , m_xFiType(m_xBuilder->weld_label(
"type"))
224 , m_xFiLocation(m_xBuilder->weld_label(
"location"))
225 , m_xFiComment(m_xBuilder->weld_label(
"comment"))
226 , maStatusTimer(
"PrinterSetupDialog maStatusTimer")
269 const OUString aTempStr;
287 if ( !mpTempPrinter )
295 mpPrinter, mpTempPrinter);
301 if (rWidget.is_visible())
302 ImplStatusHdl(&maStatusTimer);
308 if (nEvent != VclEventId::ApplicationDataChanged)
312 if (!
pData ||
pData->GetType() != DataChangedEventType::PRINTER)
318 pPrn = mpTempPrinter;
329 SAL_WARN(
"svtools.dialogs",
"PrinterSetupDialog::execute() - No Printer or printer is printing" );
340 short nRet = GenericDialogController::run();
Reference< XExecutableDialog > m_xDialog
static void AddEventListener(const Link< VclSimpleEvent &, void > &rEventListener)
static void RemoveEventListener(const Link< VclSimpleEvent &, void > &rEventListener)
std::unique_ptr< weld::Label > m_xFiType
std::unique_ptr< weld::Label > m_xFiComment
virtual short run() override
std::unique_ptr< weld::Button > m_xBtnOptions
std::unique_ptr< weld::Label > m_xFiLocation
VclPtr< Printer > mpPrinter
std::unique_ptr< weld::ComboBox > m_xLbName
PrinterSetupDialog(weld::Window *pWindow)
SVT_DLLPRIVATE void ImplSetInfo()
VclPtr< Printer > mpTempPrinter
std::unique_ptr< weld::Button > m_xBtnProperties
void SetOptionsHdl(const Link< weld::Button &, void > &rLink)
std::unique_ptr< weld::Label > m_xFiStatus
virtual ~PrinterSetupDialog() override
static OUString GetDefaultPrinterName()
bool HasSupport(PrinterSupport eFeature) const
const OUString & GetDriverName() const
static void updatePrinters()
static const std::vector< OUString > & GetPrinterQueues()
static const QueueInfo * GetQueueInfo(const OUString &rPrinterName, bool bStatusUpdate)
const OUString & GetName() const
const JobSetup & GetJobSetup() const
const OUString & GetComment() const
PrintQueueFlags GetStatus() const
const OUString & GetDriver() const
sal_uInt32 GetJobs() const
const OUString & GetLocation() const
const OUString & GetPrinterName() const
void SetTimeout(sal_uInt64 nTimeoutMs)
void SetInvokeHandler(const Link< Timer *, void > &rLink)
virtual void Start(bool bStartTimer=true) override
static VclPtr< reference_type > Create(Arg &&... arg)
virtual OUString get_active_text() const=0
void append_text(const OUString &rStr)
virtual int get_active() const=0
void set_active_text(const OUString &rStr)
std::shared_ptr< weld::Dialog > m_xDialog
#define LINK(Instance, Class, Member)
#define SAL_WARN(area, stream)
std::unique_ptr< sal_Int32[]> pData
Printer * ImplPrnDlgListBoxSelect(const weld::ComboBox *pBox, weld::Button *pPropBtn, Printer const *pPrinter, Printer *pTempPrinterIn)
IMPL_LINK_NOARG(PrinterSetupDialog, ImplStatusHdl, Timer *, void)
static OUString ImplPrnDlgAddResString(const OUString &rStr, TranslateId pResId)
IMPL_LINK(PrinterSetupDialog, ImplGetFocusHdl, weld::Widget &, rWidget, void)
OUString ImplPrnDlgGetStatusText(const QueueInfo &rInfo)
void ImplFillPrnDlgListBox(const Printer *pPrinter, weld::ComboBox *pBox, weld::Button *pPropBtn)
Printer * ImplPrnDlgUpdatePrinter(Printer const *pPrinter, Printer *pTempPrinterIn)
static OUString ImplPrnDlgAddString(const OUString &rStr, std::u16string_view rAddStr)
void ImplPrnDlgUpdateQueueInfo(const weld::ComboBox *pBox, QueueInfo &rInfo)
void ImplFreePrnDlgListBox(weld::ComboBox *pBox, bool bClear)
#define IMPL_PRINTDLG_STATUS_UPDATE
constexpr sal_uInt32 QUEUE_JOBS_DONTKNOW
OUString SvtResId(TranslateId aId)