~phablet-team/ubuntu-settings-components/printer-components

« back to all changes in this revision

Viewing changes to plugins/Ubuntu/Settings/Printers/printer/printerjob.cpp

  • Committer: Jonas G. Drange
  • Date: 2017-01-20 12:22:39 UTC
  • mfrom: (207.1.7 quality-read-write)
  • Revision ID: jonas.drange@canonical.com-20170120122239-tgiaem78dpz6y0zc
* Implements read/write of select Quality ppd settings
* Updates PrinterJob to use the correct quality setting
* Fixes broken ColorModel system, now reflects most ppds, and leaves the ppd implementation details in the ppd (colorspace, organization, etc)

Show diffs side-by-side

added added

removed removed

Lines of Context:
31
31
    , m_printer_name(QStringLiteral(""))
32
32
    , m_print_range(QStringLiteral(""))
33
33
    , m_print_range_mode(PrinterEnum::PrintRange::AllPages)
34
 
    , m_quality(PrinterEnum::Quality::NormalQuality)
 
34
    , m_quality(0)
35
35
    // TODO: Do we need a separate Job state?
36
36
    // NotStarted, InQueue, Processing, Complete, Error ?
37
37
    , m_state(PrinterEnum::State::IdleState)
88
88
 
89
89
ColorModel PrinterJob::getColorModel() const
90
90
{
 
91
    ColorModel ret;
91
92
    if (m_printer && colorModel() > -1 && colorModel() < m_printer->supportedColorModels().count()) {
92
 
        return m_printer->supportedColorModels().at(colorModel());
93
 
    } else {
94
 
        return ColorModel();
95
 
    }
 
93
        ret = m_printer->supportedColorModels().at(colorModel());
 
94
    }
 
95
    return ret;
 
96
}
 
97
 
 
98
PrintQuality PrinterJob::getPrintQuality() const
 
99
{
 
100
    PrintQuality ret;
 
101
    if (m_printer && quality() > -1 && quality() < m_printer->supportedPrintQualities().count()) {
 
102
        ret = m_printer->supportedPrintQualities().at(quality());
 
103
    }
 
104
    return ret;
96
105
}
97
106
 
98
107
PrinterEnum::DuplexMode PrinterJob::getDuplexMode() const
115
124
        // Load defaults from printer
116
125
        setColorModel(m_printer->supportedColorModels().indexOf(m_printer->defaultColorModel()));
117
126
        setDuplexMode(m_printer->supportedDuplexModes().indexOf(m_printer->defaultDuplexMode()));
118
 
        setQuality(m_printer->quality());
 
127
        setQuality(m_printer->supportedPrintQualities().indexOf(m_printer->defaultPrintQuality()));
119
128
    }
120
129
}
121
130
 
152
161
    return m_print_range_mode;
153
162
}
154
163
 
155
 
PrinterEnum::Quality PrinterJob::quality() const
 
164
int PrinterJob::quality() const
156
165
{
157
166
    return m_quality;
158
167
}
261
270
    }
262
271
}
263
272
 
264
 
void PrinterJob::setQuality(const PrinterEnum::Quality &quality)
 
273
void PrinterJob::setQuality(const int quality)
265
274
{
266
275
    if (m_quality != quality) {
267
276
        m_quality = quality;