diff options
author | Konstantin Ritt <ritt.ks@gmail.com> | 2010-12-01 12:31:19 +0300 |
---|---|---|
committer | axis <qt-info@nokia.com> | 2010-12-20 16:14:15 +0100 |
commit | 2cf77579cf41594e036beeacf3dc3b6aa9f05cfa (patch) | |
tree | 9bc096c8ee45e139fd912e9f6af5ae7880b884a7 /src/gui/painting/qprinterinfo_win.cpp | |
parent | f725c90032b83df62432018af362830e899e71c1 (diff) |
refactoring of QPrinterInfo
move QPrinterInfoPrivate to it's own header file;
rename qprinterinfo.qdoc to qprinterinfo.cpp to make it consistent with others;
squash the duplicated code into qprinterinfo.cpp;
avoid extra d_ptr assignments in the QPrinterInfo copying c-tor;
simplify the QPrinterInfo from QPrinter c-tor code;
fix styling and few method param names;
remove the `m_` prefix of QPrinterInfoPrivate's members (as they are members
of a private class anyway ;P)
remove the boilerplates
Merge-request: 2516
Signed-off-by: axis
Diffstat (limited to 'src/gui/painting/qprinterinfo_win.cpp')
-rw-r--r-- | src/gui/painting/qprinterinfo_win.cpp | 106 |
1 files changed, 6 insertions, 100 deletions
diff --git a/src/gui/painting/qprinterinfo_win.cpp b/src/gui/painting/qprinterinfo_win.cpp index 808de2cb61..962aa2d3e3 100644 --- a/src/gui/painting/qprinterinfo_win.cpp +++ b/src/gui/painting/qprinterinfo_win.cpp @@ -40,6 +40,7 @@ ****************************************************************************/ #include "qprinterinfo.h" +#include "qprinterinfo_p.h" #include <qstringlist.h> @@ -51,39 +52,6 @@ QT_BEGIN_NAMESPACE extern QPrinter::PaperSize mapDevmodePaperSize(int s); -class QPrinterInfoPrivate -{ -public: - QPrinterInfoPrivate() : - m_isNull(true), m_default(false) - {} - QPrinterInfoPrivate(const QString& name) : - m_name(name), - m_isNull(false), m_default(false) - {} - ~QPrinterInfoPrivate() - {} - - QString m_name; - bool m_isNull; - bool m_default; -}; - -static QPrinterInfoPrivate nullQPrinterInfoPrivate; - -class QPrinterInfoPrivateDeleter -{ -public: - static inline void cleanup(QPrinterInfoPrivate *d) - { - if (d != &nullQPrinterInfoPrivate) - delete d; - } -}; - -///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// - QList<QPrinterInfo> QPrinterInfo::availablePrinters() { QList<QPrinterInfo> printers; @@ -105,7 +73,7 @@ QList<QPrinterInfo> QPrinterInfo::availablePrinters() for (uint i = 0; i < returned; ++i) { printers.append(QPrinterInfo(QString::fromWCharArray(infoList[i].pPrinterName))); if (printers.at(i).printerName() == defPrn.printerName()) - printers[i].d_ptr->m_default = true; + printers[i].d_ptr->isDefault = true; } delete [] buffer; } @@ -127,86 +95,24 @@ QPrinterInfo QPrinterInfo::defaultPrinter() QString printerName = noConfiguredPrinters ? QString() : info.at(0); QPrinterInfo prn(printerName); - prn.d_ptr->m_default = true; + prn.d_ptr->isDefault = true; if (noConfiguredPrinters) - prn.d_ptr->m_isNull = true; + prn.d_ptr->isNull = true; return prn; } -///////////////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////////////// - -QPrinterInfo::QPrinterInfo() - : d_ptr(&nullQPrinterInfoPrivate) -{ -} - -QPrinterInfo::QPrinterInfo(const QString& name) - : d_ptr(new QPrinterInfoPrivate(name)) -{ -} - -QPrinterInfo::QPrinterInfo(const QPrinterInfo& src) - : d_ptr(&nullQPrinterInfoPrivate) -{ - *this = src; -} - -QPrinterInfo::QPrinterInfo(const QPrinter& prn) - : d_ptr(&nullQPrinterInfoPrivate) -{ - QList<QPrinterInfo> list = availablePrinters(); - for (int c = 0; c < list.size(); ++c) { - if (prn.printerName() == list[c].printerName()) { - *this = list[c]; - return; - } - } - - *this = QPrinterInfo(); -} - -QPrinterInfo::~QPrinterInfo() -{ -} - -QPrinterInfo& QPrinterInfo::operator=(const QPrinterInfo& src) -{ - Q_ASSERT(d_ptr); - d_ptr.reset(new QPrinterInfoPrivate(*src.d_ptr)); - return *this; -} - -QString QPrinterInfo::printerName() const -{ - const Q_D(QPrinterInfo); - return d->m_name; -} - -bool QPrinterInfo::isNull() const -{ - const Q_D(QPrinterInfo); - return d->m_isNull; -} - -bool QPrinterInfo::isDefault() const -{ - const Q_D(QPrinterInfo); - return d->m_default; -} - QList<QPrinter::PaperSize> QPrinterInfo::supportedPaperSizes() const { const Q_D(QPrinterInfo); QList<QPrinter::PaperSize> paperList; - DWORD size = DeviceCapabilities(reinterpret_cast<const wchar_t*>(d->m_name.utf16()), + DWORD size = DeviceCapabilities(reinterpret_cast<const wchar_t*>(d->name.utf16()), NULL, DC_PAPERS, NULL, NULL); if ((int)size == -1) return paperList; wchar_t *papers = new wchar_t[size]; - size = DeviceCapabilities(reinterpret_cast<const wchar_t*>(d->m_name.utf16()), + size = DeviceCapabilities(reinterpret_cast<const wchar_t*>(d->name.utf16()), NULL, DC_PAPERS, papers, NULL); for (int c = 0; c < (int)size; ++c) { |