katie/src/gui/painting/qprinterinfo.cpp
Ivailo Monev 80d4bc168e more copyright changes
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
2019-06-03 14:21:30 +00:00

183 lines
4.3 KiB
C++

/****************************************************************************
**
** Copyright (C) 2015 The Qt Company Ltd.
** Copyright (C) 2016-2019 Ivailo Monev
**
** This file is part of the documentation of the Katie Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: http://www.gnu.org/copyleft/fdl.html.
** $QT_END_LICENSE$
**
****************************************************************************/
#include "qprinterinfo.h"
#include "qprinterinfo_p.h"
#ifndef QT_NO_PRINTER
QT_BEGIN_NAMESPACE
QPrinterInfoPrivate QPrinterInfoPrivate::shared_null;
/*!
\class QPrinterInfo
\brief The QPrinterInfo class gives access to information about
existing printers.
\ingroup printing
Use the static functions to generate a list of QPrinterInfo
objects. Each QPrinterInfo object in the list represents a single
printer and can be queried for name, supported paper sizes, and
whether or not it is the default printer.
\since 4.4
*/
/*!
\fn QList<QPrinterInfo> QPrinterInfo::availablePrinters()
Returns a list of available printers on the system.
*/
/*!
\fn QPrinterInfo QPrinterInfo::defaultPrinter()
Returns the default printer on the system.
The return value should be checked using isNull() before being
used, in case there is no default printer.
\sa isNull()
*/
/*!
Constructs an empty QPrinterInfo object.
\sa isNull()
*/
QPrinterInfo::QPrinterInfo()
: d_ptr(&QPrinterInfoPrivate::shared_null)
{
}
/*!
\since 4.8
Constructs a copy of \a other.
*/
QPrinterInfo::QPrinterInfo(const QPrinterInfo &other)
: d_ptr(new QPrinterInfoPrivate(*other.d_ptr))
{
}
/*!
Constructs a QPrinterInfo object from \a printer.
*/
QPrinterInfo::QPrinterInfo(const QPrinter &printer)
: d_ptr(&QPrinterInfoPrivate::shared_null)
{
foreach (const QPrinterInfo &printerInfo, availablePrinters()) {
if (printerInfo.printerName() == printer.printerName()) {
d_ptr.reset(new QPrinterInfoPrivate(*printerInfo.d_ptr));
break;
}
}
}
/*!
\internal
*/
QPrinterInfo::QPrinterInfo(const QString &name)
: d_ptr(new QPrinterInfoPrivate(name))
{
}
/*!
Destroys the QPrinterInfo object. References to the values in the
object become invalid.
*/
QPrinterInfo::~QPrinterInfo()
{
}
/*!
\since 4.8
Sets the QPrinterInfo object to be equal to \a other.
*/
QPrinterInfo &QPrinterInfo::operator=(const QPrinterInfo &other)
{
Q_ASSERT(d_ptr);
d_ptr.reset(new QPrinterInfoPrivate(*other.d_ptr));
return *this;
}
/*!
Returns the name of the printer.
\sa QPrinter::setPrinterName()
*/
QString QPrinterInfo::printerName() const
{
const Q_D(QPrinterInfo);
return d->name;
}
/*!
Returns whether this QPrinterInfo object holds a printer definition.
An empty QPrinterInfo object could result for example from calling
defaultPrinter() when there are no printers on the system.
*/
bool QPrinterInfo::isNull() const
{
const Q_D(QPrinterInfo);
return d == &QPrinterInfoPrivate::shared_null;
}
/*!
Returns whether this printer is the default printer.
*/
bool QPrinterInfo::isDefault() const
{
const Q_D(QPrinterInfo);
return d->isDefault;
}
/*!
\fn QList< QPrinter::PaperSize> QPrinterInfo::supportedPaperSizes() const
\since 4.4
Returns a list of supported paper sizes by the printer.
Not all printer drivers support this query, so the list may be empty.
On Mac OS X 10.3, this function always returns an empty list.
*/
QT_END_NAMESPACE
#endif // QT_NO_PRINTER