[Merge] lp:~jonas-drange/ubuntu-settings-components/printerbackend into lp:~phablet-team/ubuntu-settings-components/printer-components
Andrew Hayzen
andrew.hayzen at canonical.com
Mon Jan 23 12:26:22 UTC 2017
Review: Needs Fixing
3 minor inline comments from QtCreator
1x Q_ENUMS had a trailing semi-colon
2x Q_SLOT instead of Q_SLOTS
Diff comments:
>
> === added file 'plugins/Ubuntu/Settings/Printers/backend/backend.h'
> --- plugins/Ubuntu/Settings/Printers/backend/backend.h 1970-01-01 00:00:00 +0000
> +++ plugins/Ubuntu/Settings/Printers/backend/backend.h 2017-01-22 19:31:51 +0000
> @@ -0,0 +1,153 @@
> +/*
> + * Copyright (C) 2017 Canonical, Ltd.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU Lesser General Public License as published by
> + * the Free Software Foundation; version 3.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU Lesser General Public License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public License
> + * along with this program. If not, see <http://www.gnu.org/licenses/>.
> + */
> +
> +#ifndef USC_PRINTERS_BACKEND_H
> +#define USC_PRINTERS_BACKEND_H
> +
> +#include "printer/printer.h"
> +#include "printer/printerjob.h"
> +
> +// TODO: remove cups specific things from this API
> +#include <cups/cups.h>
> +
> +#include <QObject>
> +#include <QPageSize>
> +#include <QList>
> +#include <QString>
> +#include <QStringList>
> +
> +class Printer;
> +class PrinterJob;
> +class PRINTERS_DECL_EXPORT PrinterBackend : public QObject
> +{
> + Q_OBJECT
> +public:
> + explicit PrinterBackend(QObject *parent = Q_NULLPTR);
> + explicit PrinterBackend(const QString &printerName,
> + QObject *parent = Q_NULLPTR);
> + virtual ~PrinterBackend();
> +
> + enum class BackendType
> + {
> + DefaultType = 0,
> + CupsType,
> + PdfType,
> + };
> + Q_ENUM(BackendType);
QtCreator warns about having an extra ';'
> +
> + virtual bool holdsDefinition() const;
> +
> + virtual QString printerAdd(const QString &name,
> + const QUrl &uri,
> + const QUrl &ppdFile,
> + const QString &info,
> + const QString &location);
> + virtual QString printerAddWithPpd(const QString &name,
> + const QUrl &uri,
> + const QString &ppdFileName,
> + const QString &info,
> + const QString &location);
> + virtual QString printerDelete(const QString &name);
> + virtual QString printerSetEnabled(const QString &name,
> + const bool enabled);
> + virtual QString printerSetAcceptJobs(
> + const QString &name,
> + const bool enabled,
> + const QString &reason = QString::null);
> + virtual QString printerSetInfo(const QString &name,
> + const QString &info);
> + virtual QString printerSetLocation(const QString &name,
> + const QString &location);
> + virtual QString printerSetShared(const QString &name,
> + const bool shared);
> + virtual QString printerSetJobSheets(const QString &name,
> + const QString &start,
> + const QString &end);
> + virtual QString printerSetErrorPolicy(const QString &name,
> + const PrinterEnum::ErrorPolicy &policy);
> +
> + virtual QString printerSetOpPolicy(const QString &name,
> + const PrinterEnum::OperationPolicy &policy);
> + virtual QString printerSetUsersAllowed(const QString &name,
> + const QStringList &users);
> + virtual QString printerSetUsersDenied(const QString &name,
> + const QStringList &users);
> + virtual QString printerAddOptionDefault(const QString &name,
> + const QString &option,
> + const QStringList &values);
> + virtual QString printerDeleteOptionDefault(const QString &name,
> + const QString &value);
> + virtual QString printerAddOption(const QString &name,
> + const QString &option,
> + const QStringList &values);
> +
> + // TODO: const for both these getters (if possible)!
> + virtual QVariant printerGetOption(const QString &name,
> + const QString &option) const;
> + virtual QMap<QString, QVariant> printerGetOptions(
> + const QString &name, const QStringList &options
> + );
> + // FIXME: maybe have a PrinterDest iface that has a CupsDest impl?
> + virtual cups_dest_t* makeDest(const QString &name,
> + const PrinterJob *options);
> +
> + virtual QList<ColorModel> printerGetSupportedColorModels(
> + const QString &name) const;
> + virtual ColorModel printerGetDefaultColorModel(const QString &name) const;
> + virtual QList<PrintQuality> printerGetSupportedQualities(
> + const QString &name) const;
> + virtual PrintQuality printerGetDefaultQuality(const QString &name) const;
> + virtual int printFileToDest(const QString &filepath,
> + const QString &title,
> + const cups_dest_t *dest);
> +
> + virtual QString printerName() const;
> + virtual QString description() const;
> + virtual QString location() const;
> + virtual QString makeAndModel() const;
> +
> + virtual PrinterEnum::State state() const;
> + virtual QList<QPageSize> supportedPageSizes() const;
> + virtual QPageSize defaultPageSize() const;
> + virtual bool supportsCustomPageSizes() const;
> +
> + virtual QPageSize minimumPhysicalPageSize() const;
> + virtual QPageSize maximumPhysicalPageSize() const;
> + virtual QList<int> supportedResolutions() const;
> + virtual PrinterEnum::DuplexMode defaultDuplexMode() const;
> + virtual QList<PrinterEnum::DuplexMode> supportedDuplexModes() const;
> +
> + virtual QList<Printer*> availablePrinters();
> + virtual QStringList availablePrinterNames();
> + virtual Printer* getPrinter(const QString &printerName);
> + virtual QString defaultPrinterName();
> +
> + virtual BackendType backendType() const;
> +
> +public Q_SLOT:
QtCreator warns this should be Q_SLOTS (with a 'S')
> + virtual void refresh();
> +
> +Q_SIGNALS:
> + void printerAdded(const QString &name);
> + void printerModified(const QString &name, const bool ppdChanged);
> + void printerDeleted(const QString &name);
> + void printerStateChanged(const QString &name);
> +
> +protected:
> + const QString m_printerName;
> +};
> +
> +#endif // USC_PRINTERS_BACKEND_H
>
> === added file 'plugins/Ubuntu/Settings/Printers/backend/backend_cups.h'
> --- plugins/Ubuntu/Settings/Printers/backend/backend_cups.h 1970-01-01 00:00:00 +0000
> +++ plugins/Ubuntu/Settings/Printers/backend/backend_cups.h 2017-01-22 19:31:51 +0000
> @@ -0,0 +1,130 @@
> +/*
> + * Copyright (C) 2017 Canonical, Ltd.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU Lesser General Public License as published by
> + * the Free Software Foundation; version 3.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU Lesser General Public License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public License
> + * along with this program. If not, see <http://www.gnu.org/licenses/>.
> + */
> +
> +#ifndef USC_PRINTERS_CUPS_BACKEND_H
> +#define USC_PRINTERS_CUPS_BACKEND_H
> +
> +#include "backend/backend.h"
> +#include "cups/cupsfacade.h"
> +
> +#include <QPrinterInfo>
> +
> +class PRINTERS_DECL_EXPORT PrinterCupsBackend : public PrinterBackend
> +{
> +public:
> + explicit PrinterCupsBackend(QObject *parent = Q_NULLPTR);
> + explicit PrinterCupsBackend(CupsFacade *cups, QPrinterInfo info,
> + QObject *parent = Q_NULLPTR);
> + virtual ~PrinterCupsBackend() override;
> +
> + virtual bool holdsDefinition() const override;
> +
> + virtual QString printerAdd(const QString &name,
> + const QUrl &uri,
> + const QUrl &ppdFile,
> + const QString &info,
> + const QString &location) override;
> + virtual QString printerAddWithPpd(const QString &name,
> + const QUrl &uri,
> + const QString &ppdFileName,
> + const QString &info,
> + const QString &location) override;
> + virtual QString printerDelete(const QString &name) override;
> + virtual QString printerSetEnabled(const QString &name,
> + const bool enabled) override;
> + virtual QString printerSetAcceptJobs(
> + const QString &name,
> + const bool enabled,
> + const QString &reason = QString::null) override;
> + virtual QString printerSetInfo(const QString &name,
> + const QString &info) override;
> + virtual QString printerSetLocation(const QString &name,
> + const QString &location) override;
> + virtual QString printerSetShared(const QString &name,
> + const bool shared) override;
> + virtual QString printerSetJobSheets(const QString &name,
> + const QString &start,
> + const QString &end) override;
> + virtual QString printerSetErrorPolicy(const QString &name,
> + const PrinterEnum::ErrorPolicy &policy) override;
> +
> + virtual QString printerSetOpPolicy(const QString &name,
> + const PrinterEnum::OperationPolicy &policy) override;
> + virtual QString printerSetUsersAllowed(const QString &name,
> + const QStringList &users) override;
> + virtual QString printerSetUsersDenied(const QString &name,
> + const QStringList &users) override;
> + virtual QString printerAddOptionDefault(const QString &name,
> + const QString &option,
> + const QStringList &values) override;
> + virtual QString printerDeleteOptionDefault(const QString &name,
> + const QString &value) override;
> + virtual QString printerAddOption(const QString &name,
> + const QString &option,
> + const QStringList &values) override;
> +
> + // TODO: const for both these getters (if possible)!
> + virtual QVariant printerGetOption(const QString &name,
> + const QString &option) const override;
> + virtual QMap<QString, QVariant> printerGetOptions(
> + const QString &name, const QStringList &options
> + ) override;
> + // FIXME: maybe have a PrinterDest iface that has a CupsDest impl?
> + virtual cups_dest_t* makeDest(const QString &name,
> + const PrinterJob *options) override;
> +
> + virtual QList<ColorModel> printerGetSupportedColorModels(
> + const QString &name) const override;
> + virtual ColorModel printerGetDefaultColorModel(const QString &name) const;
> + virtual QList<PrintQuality> printerGetSupportedQualities(
> + const QString &name) const override;
> + virtual PrintQuality printerGetDefaultQuality(const QString &name) const;
> + virtual int printFileToDest(const QString &filepath,
> + const QString &title,
> + const cups_dest_t *dest) override;
> +
> + virtual QString printerName() const override;
> + virtual QString description() const override;
> + virtual QString location() const override;
> + virtual QString makeAndModel() const override;
> +
> + virtual PrinterEnum::State state() const override;
> + virtual QList<QPageSize> supportedPageSizes() const override;
> + virtual QPageSize defaultPageSize() const override;
> + virtual bool supportsCustomPageSizes() const override;
> +
> + virtual QPageSize minimumPhysicalPageSize() const override;
> + virtual QPageSize maximumPhysicalPageSize() const override;
> + virtual QList<int> supportedResolutions() const override;
> + virtual PrinterEnum::DuplexMode defaultDuplexMode() const override;
> + virtual QList<PrinterEnum::DuplexMode> supportedDuplexModes() const override;
> +
> + virtual QList<Printer*> availablePrinters() override;
> + virtual QStringList availablePrinterNames() override;
> + virtual Printer* getPrinter(const QString &printerName) override;
> + virtual QString defaultPrinterName() override;
> +
> + virtual PrinterBackend::BackendType backendType() const override;
> +
> +public Q_SLOT:
QtCreator warns this should be Q_SLOTS
> + virtual void refresh() override;
> +
> +private:
> + CupsFacade *m_cups;
> + QPrinterInfo m_info;
> +};
> +
> +#endif // USC_PRINTERS_CUPS_BACKEND_H
--
https://code.launchpad.net/~jonas-drange/ubuntu-settings-components/printerbackend/+merge/315317
Your team Ubuntu Phablet Team is subscribed to branch lp:~phablet-team/ubuntu-settings-components/printer-components.
More information about the Ubuntu-reviews
mailing list