Source Code (Use browser search to find items of interest.)
Class Index
kdelibs'KTextPrintConfig (./kdelibs/kwrite/ktextprint.h:131)
class KTextPrintConfig : public QObject {
Q_OBJECT
friend KTextPrintDialog;
public:
enum Media {
A4,
B5,
Letter,
Legal,
Executive,
A0,
A1,
A2,
A3,
A5,
A6,
A7,
A8,
A9,
B0,
B1,
B10,
B2,
B3,
B4,
B6,
B7,
B8,
B9,
C5E,
Comm10E,
DLE,
Folio,
Ledger,
Tabloid,
NPageSize};
KTextPrintConfig();
static void print(QWidget *parent, KConfig *, bool dialog,
const QString &title, int docLines, QObject *receiver, const char *member);
void readConfig(KConfig *);
void writeConfig(KConfig *);
void setData(KTextPrintConfigData &);
void getData(KTextPrintConfigData &);
signals:
void doPrint(KTextPrint &);
protected:
int m_destination;
QStringList m_printers;
QString m_command;
int m_copies;
QString m_fileName;
KTextPrint::ColorMode m_colorMode;
KTextPrint::Orientation m_orientation;
Media m_media;
int m_numLines;
int m_numCols;
int m_numRows;
int m_countStep;
int m_flags;
};
kdelibs'KTextPrintConfig::KTextPrintConfig() (./kdelibs/kwrite/ktextprint.cpp:503)
KTextPrintConfig::KTextPrintConfig() {
// Defaults for KTextPrint Configuration
m_destination = 0;
m_command = "lpr -P%p -#%c";
m_copies = 1;
m_fileName = "out.ps";
m_media = A4;
m_orientation = KTextPrint::Portrait;
m_colorMode = KTextPrint::BlackWhite;
m_numCols = 1;
m_numRows = 1;
m_numLines = 70;
m_countStep = 5;
m_flags = KTextPrint::Title | KTextPrint::PageNumbers;
}
kdelibs'KTextPrintConfig::print() (./kdelibs/kwrite/ktextprint.cpp:519)
void KTextPrintConfig::print(QWidget *parent, KConfig *config, bool dialog,
const QString &title, int docLines, QObject *receiver, const char *member) {
KTextPrintConfig textPrintConfig;
bool accepted;
textPrintConfig.readConfig(config);
if (dialog || (textPrintConfig.m_destination == 0
&& textPrintConfig.m_printers.count() == 0)) {
KTextPrintDialog *dlg;
dlg = new KTextPrintDialog(parent, textPrintConfig);
accepted = (dlg->exec() == QDialog::Accepted);
if (accepted) dlg->getData(textPrintConfig);
delete dlg;
} else accepted = true;
if (accepted) {
KTextPrintConfigData data;
// connect callback
connect(&textPrintConfig, SIGNAL(doPrint(KTextPrint &)), receiver, member);
// get data for KTextPrint
textPrintConfig.getData(data);
data.title = title;
data.docLines = docLines;
if (textPrintConfig.m_destination == 0) {
// to printer
// substitute command
QString program(textPrintConfig.m_command);
program.replace(QRegExp("%p"), textPrintConfig.m_printers.first());
program.replace(QRegExp("%c"), QString::number(textPrintConfig.m_copies));
// create pipe
KPipe p(program);
p.open();
// ceate text printer
KTextPrint printer(data, &p);
// activate callback
emit textPrintConfig.doPrint(printer);
// close pipe and check status
p.close();
if (p.status() != IO_Ok) {
KMessageBox::sorry(parent,
i18n("Error executing printer program!"),
i18n("Print"));
}
} else {
// to file
// create file
QFile f(textPrintConfig.m_fileName);
if (f.open(IO_WriteOnly)) {
// ceate text printer
KTextPrint printer(data, &f);
// activate callback
emit textPrintConfig.doPrint(printer);
// close file and check status
f.close();
if (f.status() != IO_Ok) {
KMessageBox::sorry(parent,
i18n("Error writing file!"),
i18n("Print"));
}
} else {
KMessageBox::sorry(parent,
i18n("Error opening file!"),
i18n("Print"));
}
}
textPrintConfig.writeConfig(config);
}
}
kdelibs'KTextPrintConfig::readConfig() (./kdelibs/kwrite/ktextprint.cpp:595)
void KTextPrintConfig::readConfig(KConfig *config) {
int z;
// read from KConfig
config->setGroup("KTextPrint Options");
m_destination = config->readNumEntry("Destination", m_destination);
for (z = 0; z < 6; z++) {
appendToStrList(m_printers, config->readEntry(QString("Printer%1").arg(z)));
}
m_command = config->readEntry("Command", m_command);
m_copies = config->readNumEntry("Copies", m_copies);
m_fileName = config->readEntry("FileName", m_fileName);
m_colorMode = (KTextPrint::ColorMode) config->readNumEntry("ColorMode", (int) m_colorMode);
m_orientation = (KTextPrint::Orientation) config->readNumEntry("Orientation", (int) m_orientation);
m_media = (Media) config->readNumEntry("Media", (int) m_media);
m_numCols = config->readNumEntry("Cols", m_numCols);
m_numRows = config->readNumEntry("Rows", m_numRows);
m_numLines = config->readNumEntry("Lines", m_numLines);
m_countStep = config->readNumEntry("CountStep", m_countStep);
m_flags = config->readNumEntry("Flags", m_flags);
}
kdelibs'KTextPrintConfig::writeConfig() (./kdelibs/kwrite/ktextprint.cpp:621)
void KTextPrintConfig::writeConfig(KConfig *config) {
int z;
config->setGroup("KTextPrint Options");
config->writeEntry("Destination", m_destination);
QStringList::Iterator it = m_printers.begin();
z = 0;
while (it != m_printers.end() && z < 6) {
config->writeEntry(QString("Printer%1").arg(z), *it);
it++;
z++;
}
config->writeEntry("Command", m_command);
config->writeEntry("Copies", m_copies);
config->writeEntry("FileName", m_fileName);
config->writeEntry("ColorMode", (int) m_colorMode);
config->writeEntry("Orientation", (int) m_orientation);
config->writeEntry("Media", (int) m_media);
config->writeEntry("Cols", m_numCols);
config->writeEntry("Rows", m_numRows);
config->writeEntry("Lines", m_numLines);
config->writeEntry("CountStep", m_countStep);
config->writeEntry("Flags", m_flags);
}
kdelibs'KTextPrintConfig::getData() (./kdelibs/kwrite/ktextprint.cpp:649)
void KTextPrintConfig::getData(KTextPrintConfigData &data) {
MediaDef *media = &mediaList[m_media];
data.paperWidth = media->width;
data.paperHeight = media->height;
data.mediaName = media->name;
data.orientation = m_orientation;
data.colorMode = m_colorMode;
data.numCols = m_numCols;
data.numRows = m_numRows;
data.numLines = m_numLines;
data.countStep = m_countStep;
data.flags = m_flags;
}