kdeprint Library API Documentation

kpgeneralpage.cpp

00001 /* 00002 * This file is part of the KDE libraries 00003 * Copyright (c) 2001 Michael Goffioul <kdeprint@swing.be> 00004 * 00005 * This library is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU Library General Public 00007 * License version 2 as published by the Free Software Foundation. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Library General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Library General Public License 00015 * along with this library; see the file COPYING.LIB. If not, write to 00016 * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00017 * Boston, MA 02111-1307, USA. 00018 **/ 00019 00020 #include "kpgeneralpage.h" 00021 #include "driver.h" 00022 #include "kmprinter.h" 00023 #include "kprinter.h" 00024 00025 #include <qcombobox.h> 00026 #include <qlabel.h> 00027 #include <qbuttongroup.h> 00028 #include <qlayout.h> 00029 #include <qradiobutton.h> 00030 00031 #include <kcursor.h> 00032 #include <klocale.h> 00033 #include <kiconloader.h> 00034 #include <kdialog.h> 00035 00036 // Some ID's 00037 #define ORIENT_PORTRAIT_ID 0 00038 #define ORIENT_LANDSCAPE_ID 1 00039 #define ORIENT_REVLANDSCAPE_ID 2 00040 #define ORIENT_REVPORTRAIT_ID 3 00041 00042 #define DUPLEX_NONE_ID 0 00043 #define DUPLEX_LONG_ID 1 00044 #define DUPLEX_SHORT_ID 2 00045 00046 #define NUP_1_ID 0 00047 #define NUP_2_ID 1 00048 #define NUP_4_ID 2 00049 00050 static void initCombo(QComboBox *cb, DrListOption *opt) 00051 { 00052 cb->clear(); 00053 QPtrListIterator<DrBase> it(*(opt->choices())); 00054 for (;it.current();++it) 00055 { 00056 cb->insertItem(it.current()->get("text")); 00057 if (it.current() == opt->currentChoice()) 00058 cb->setCurrentItem(cb->count()-1); 00059 } 00060 } 00061 00062 static void setComboItem(QComboBox *cb, const QString& txt) 00063 { 00064 for (int i=0;i<cb->count();i++) 00065 if (cb->text(i) == txt) 00066 { 00067 cb->setCurrentItem(i); 00068 return; 00069 } 00070 } 00071 00072 static int findOption(const char *strs[], int n, const QString& txt) 00073 { 00074 for (int i=0;i<n;i+=2) 00075 if (txt == strs[i]) return (i/2); 00076 return (-1); 00077 } 00078 00079 //************************************************************************************************* 00080 00081 // default values in case of NULL driver 00082 static const char* default_size[] = { 00083 "A4", I18N_NOOP("ISO A4"), 00084 "Letter", I18N_NOOP("US Letter"), 00085 "Legal", I18N_NOOP("US Legal"), 00086 "Ledger", I18N_NOOP("Ledger"), 00087 "Folio", I18N_NOOP("Folio"), 00088 "Comm10", I18N_NOOP("US #10 Envelope"), 00089 "DL", I18N_NOOP("ISO DL Envelope"), 00090 "Tabloid", I18N_NOOP("Tabloid"), 00091 "A3", I18N_NOOP( "ISO A3" ), 00092 "A2", I18N_NOOP( "ISO A2" ), 00093 "A1", I18N_NOOP( "ISO A1" ), 00094 "A0", I18N_NOOP( "ISO A0" ) 00095 }; 00096 #define SMALLSIZE_BEGIN 0 00097 #define MEDIUMSIZE_BEGIN 14 00098 #define HIGHSIZE_BEGIN 20 00099 #define DEFAULT_SIZE 24 00100 00101 #define DEFAULT_SOURCE 8 00102 static const char* default_source[] = { 00103 "Upper", I18N_NOOP("Upper Tray"), 00104 "Lower", I18N_NOOP("Lower Tray"), 00105 "MultiPurpose", I18N_NOOP("Multi-Purpose Tray"), 00106 "LargeCapacity", I18N_NOOP("Large Capacity Tray") 00107 }; 00108 #define DEFAULT_TYPE 4 00109 static const char* default_type[] = { 00110 "Normal", I18N_NOOP("Normal"), 00111 "Transparency", I18N_NOOP("Transparency") 00112 }; 00113 00114 //*************************************************************************************************** 00115 00116 KPGeneralPage::KPGeneralPage(KMPrinter *pr, DrMain *dr, QWidget *parent, const char *name) 00117 : KPrintDialogPage(pr,dr,parent,name) 00118 { 00119 setTitle(i18n("General")); 00120 00121 // widget creation 00122 QLabel *m_pagesizelabel = new QLabel(i18n("Page s&ize:"), this); 00123 m_pagesizelabel->setAlignment(Qt::AlignVCenter|Qt::AlignRight); 00124 QLabel *m_papertypelabel = new QLabel(i18n("Paper t&ype:"), this); 00125 m_papertypelabel->setAlignment(Qt::AlignVCenter|Qt::AlignRight); 00126 QLabel *m_inputslotlabel = new QLabel(i18n("Paper so&urce:"), this); 00127 m_inputslotlabel->setAlignment(Qt::AlignVCenter|Qt::AlignRight); 00128 m_pagesize = new QComboBox(this); 00129 m_papertype = new QComboBox(this); 00130 m_inputslot = new QComboBox(this); 00131 m_pagesizelabel->setBuddy(m_pagesize); 00132 m_papertypelabel->setBuddy(m_papertype); 00133 m_inputslotlabel->setBuddy(m_inputslot); 00134 m_orientbox = new QButtonGroup(0, Qt::Vertical, i18n("Orientation"), this); 00135 m_duplexbox = new QButtonGroup(0, Qt::Vertical, i18n("Duplex Printing"), this); 00136 m_nupbox = new QButtonGroup(0, Qt::Vertical, i18n("Pages per Sheet"), this); 00137 m_bannerbox = new QGroupBox(0, Qt::Vertical, i18n("Banners"), this); 00138 QRadioButton *m_portrait = new QRadioButton(i18n("&Portrait"), m_orientbox); 00139 QRadioButton *m_landscape = new QRadioButton(i18n("&Landscape"), m_orientbox); 00140 QRadioButton *m_revland = new QRadioButton(i18n("&Reverse landscape"), m_orientbox); 00141 QRadioButton *m_revport = new QRadioButton(i18n("R&everse portrait"), m_orientbox); 00142 m_portrait->setChecked(true); 00143 m_orientpix = new QLabel(m_orientbox); 00144 m_orientpix->setAlignment(Qt::AlignCenter); 00145 QRadioButton *m_dupnone = new QRadioButton(i18n("duplex orientation", "&None"), m_duplexbox); 00146 QRadioButton *m_duplong = new QRadioButton(i18n("duplex orientation", "Lon&g side"), m_duplexbox); 00147 QRadioButton *m_dupshort = new QRadioButton(i18n("duplex orientation", "S&hort side"), m_duplexbox); 00148 m_dupnone->setChecked(true); 00149 m_duplexpix = new QLabel(m_duplexbox); 00150 m_duplexpix->setAlignment(Qt::AlignCenter); 00151 QRadioButton *m_nup1 = new QRadioButton("&1", m_nupbox); 00152 QRadioButton *m_nup2 = new QRadioButton("&2", m_nupbox); 00153 QRadioButton *m_nup4 = new QRadioButton("&4", m_nupbox); 00154 m_nup1->setChecked(true); 00155 m_nuppix = new QLabel(m_nupbox); 00156 m_nuppix->setAlignment(Qt::AlignCenter); 00157 m_startbanner = new QComboBox(m_bannerbox); 00158 m_endbanner = new QComboBox(m_bannerbox); 00159 QLabel *m_startbannerlabel = new QLabel(i18n("S&tart:"), m_bannerbox); 00160 QLabel *m_endbannerlabel = new QLabel(i18n("En&d:"), m_bannerbox); 00161 m_startbannerlabel->setBuddy(m_startbanner); 00162 m_endbannerlabel->setBuddy(m_endbanner); 00163 00164 // layout creation 00165 QVBoxLayout *lay0 = new QVBoxLayout(this, 0, KDialog::spacingHint()); 00166 QGridLayout *lay1 = new QGridLayout(0, 3, 2, 0, KDialog::spacingHint()); 00167 QGridLayout *lay2 = new QGridLayout(0, 2, 2, 0, KDialog::spacingHint()); 00168 lay0->addStretch(1); 00169 lay0->addLayout(lay1); 00170 lay0->addStretch(1); 00171 lay0->addLayout(lay2); 00172 lay0->addStretch(2); 00173 lay1->addWidget(m_pagesizelabel, 0, 0); 00174 lay1->addWidget(m_papertypelabel, 1, 0); 00175 lay1->addWidget(m_inputslotlabel, 2, 0); 00176 lay1->addWidget(m_pagesize, 0, 1); 00177 lay1->addWidget(m_papertype, 1, 1); 00178 lay1->addWidget(m_inputslot, 2, 1); 00179 lay2->addWidget(m_orientbox, 0, 0); 00180 lay2->addWidget(m_bannerbox, 1, 0); 00181 lay2->addWidget(m_duplexbox, 0, 1); 00182 lay2->addWidget(m_nupbox, 1, 1); 00183 lay2->setColStretch(0, 1); 00184 lay2->setColStretch(1, 1); 00185 QGridLayout *lay3 = new QGridLayout(m_orientbox->layout(), 4, 2, 00186 KDialog::spacingHint()); 00187 lay3->addWidget(m_portrait, 0, 0); 00188 lay3->addWidget(m_landscape, 1, 0); 00189 lay3->addWidget(m_revland, 2, 0); 00190 lay3->addWidget(m_revport, 3, 0); 00191 lay3->addMultiCellWidget(m_orientpix, 0, 3, 1, 1); 00192 QGridLayout *lay4 = new QGridLayout(m_duplexbox->layout(), 3, 2, 00193 KDialog::spacingHint()); 00194 lay4->addWidget(m_dupnone, 0, 0); 00195 lay4->addWidget(m_duplong, 1, 0); 00196 lay4->addWidget(m_dupshort, 2, 0); 00197 lay4->addMultiCellWidget(m_duplexpix, 0, 2, 1, 1); 00198 lay4->setRowStretch( 0, 1 ); 00199 QGridLayout *lay5 = new QGridLayout(m_nupbox->layout(), 3, 2, 00200 KDialog::spacingHint()); 00201 lay5->addWidget(m_nup1, 0, 0); 00202 lay5->addWidget(m_nup2, 1, 0); 00203 lay5->addWidget(m_nup4, 2, 0); 00204 lay5->addMultiCellWidget(m_nuppix, 0, 2, 1, 1); 00205 QGridLayout *lay6 = new QGridLayout(m_bannerbox->layout(), 2, 2, 00206 KDialog::spacingHint()); 00207 lay6->addWidget(m_startbannerlabel, 0, 0); 00208 lay6->addWidget(m_endbannerlabel, 1, 0); 00209 lay6->addWidget(m_startbanner, 0, 1); 00210 lay6->addWidget(m_endbanner, 1, 1); 00211 lay6->setColStretch(1, 1); 00212 00213 // connections (+ misc) 00214 connect(m_orientbox,SIGNAL(clicked(int)),SLOT(slotOrientationChanged(int))); 00215 connect(m_nupbox,SIGNAL(clicked(int)),SLOT(slotNupChanged(int))); 00216 connect(m_duplexbox,SIGNAL(clicked(int)),SLOT(slotDuplexChanged(int))); 00217 00218 // init 00219 initialize(); 00220 } 00221 00222 KPGeneralPage::~KPGeneralPage() 00223 { 00224 } 00225 00226 void KPGeneralPage::initialize() 00227 { 00228 if (driver()) 00229 { 00230 // Size, Type and Source 00231 DrListOption *opt = (DrListOption*)driver()->findOption("PageSize"); 00232 if (opt) initCombo(m_pagesize,opt); 00233 else m_pagesize->setEnabled(false); 00234 opt = (DrListOption*)driver()->findOption("MediaType"); 00235 if (opt) initCombo(m_papertype,opt); 00236 else m_papertype->setEnabled(false); 00237 opt = (DrListOption*)driver()->findOption("InputSlot"); 00238 if (opt) initCombo(m_inputslot,opt); 00239 else m_inputslot->setEnabled(false); 00240 // Duplex 00241 opt = (DrListOption*)driver()->findOption("Duplex"); 00242 if (opt) 00243 { 00244 if ( opt->choices()->count() == 2 ) 00245 { 00246 // probably a On/Off option instead of the standard PS one 00247 QButton *btn = m_duplexbox->find( DUPLEX_SHORT_ID ); 00248 m_duplexbox->remove( btn ); 00249 btn->hide(); 00250 //delete btn; 00251 m_duplexbox->find( DUPLEX_NONE_ID )->setText( i18n( "Disabled" ) ); 00252 m_duplexbox->find( DUPLEX_LONG_ID )->setText( i18n( "Enabled" ) ); 00253 m_duplexpix->hide(); 00254 } 00255 if (opt->currentChoice()) 00256 { 00257 int ID(DUPLEX_NONE_ID); 00258 if (opt->currentChoice()->name() == "DuplexNoTumble" || opt->currentChoice()->name() == "On") ID = DUPLEX_LONG_ID; 00259 else if (opt->currentChoice()->name() == "DuplexTumble") ID = DUPLEX_SHORT_ID; 00260 m_duplexbox->setButton(ID); 00261 slotDuplexChanged(ID); 00262 } 00263 } 00264 else m_duplexbox->setEnabled(false); 00265 } 00266 else 00267 { 00268 // PageSize 00269 for (int i=SMALLSIZE_BEGIN+1;i<MEDIUMSIZE_BEGIN;i+=2) 00270 m_pagesize->insertItem(i18n(default_size[i])); 00271 if ( printer()->printerCap() & KMPrinter::CapMedium ) 00272 for ( int i=MEDIUMSIZE_BEGIN+1; i<HIGHSIZE_BEGIN; i+=2 ) 00273 m_pagesize->insertItem(i18n(default_size[i])); 00274 if ( printer()->printerCap() & KMPrinter::CapLarge ) 00275 for ( int i=HIGHSIZE_BEGIN+1; i<DEFAULT_SIZE; i+=2 ) 00276 m_pagesize->insertItem(i18n(default_size[i])); 00277 // set default page size using locale settings 00278 QString psname = pageSizeToPageName((KPrinter::PageSize)(KGlobal::locale()->pageSize())); 00279 int index = findOption(default_size, DEFAULT_SIZE, psname); 00280 if (index >= 0) 00281 m_pagesize->setCurrentItem(index); 00282 // MediaType 00283 for (int i=1;i<DEFAULT_TYPE;i+=2) 00284 m_papertype->insertItem(i18n(default_type[i])); 00285 // PageSize 00286 for (int i=1;i<DEFAULT_SOURCE;i+=2) 00287 m_inputslot->insertItem(i18n(default_source[i])); 00288 00289 // Enable duplex setting if supported 00290 m_duplexbox->setEnabled( printer()->printerCap() & KMPrinter::CapDuplex ); 00291 } 00292 00293 // Banners 00294 QStringList values = QStringList::split(',',printer()->option("kde-banners-supported"),false); 00295 if (values.count() > 0) 00296 { 00297 for (QStringList::ConstIterator it = values.begin(); it != values.end(); ++it) 00298 { 00299 m_startbanner->insertItem(*it); 00300 m_endbanner->insertItem(*it); 00301 } 00302 values = QStringList::split(',',printer()->option("kde-banners"),false); 00303 while (values.count() < 2) values.append("none"); 00304 setComboItem(m_startbanner, values[0]); 00305 setComboItem(m_endbanner, values[1]); 00306 } 00307 else 00308 m_bannerbox->setEnabled(false); 00309 00310 slotOrientationChanged(ORIENT_PORTRAIT_ID); 00311 slotNupChanged(NUP_1_ID); 00312 } 00313 00314 void KPGeneralPage::setOptions(const QMap<QString,QString>& opts) 00315 { 00316 QString value; 00317 00318 if (driver()) 00319 { 00320 value = opts["PageSize"]; 00321 if (m_pagesize->isEnabled() && !value.isEmpty()) 00322 { 00323 DrBase *ch = ((DrListOption*)driver()->findOption("PageSize"))->findChoice(value); 00324 if (ch) setComboItem(m_pagesize, ch->get("text")); 00325 } 00326 value = opts["MediaType"]; 00327 if (m_papertype->isEnabled() && !value.isEmpty()) 00328 { 00329 DrBase *ch = ((DrListOption*)driver()->findOption("MediaType"))->findChoice(value); 00330 if (ch) setComboItem(m_papertype, ch->get("text")); 00331 } 00332 value = opts["InputSlot"]; 00333 if (m_inputslot->isEnabled() && !value.isEmpty()) 00334 { 00335 DrBase *ch = ((DrListOption*)driver()->findOption("InputSlot"))->findChoice(value); 00336 if (ch) setComboItem(m_inputslot, ch->get("text")); 00337 } 00338 00339 value = opts["Duplex"]; 00340 if (m_duplexbox->isEnabled() && !value.isEmpty()) 00341 { 00342 int ID(0); 00343 if (value == "DuplexNoTumble" || value == "On") ID = 1; 00344 else if (value == "DuplexTumble") ID = 2; 00345 m_duplexbox->setButton(ID); 00346 slotDuplexChanged(ID); 00347 } 00348 } 00349 else 00350 { 00351 // Try to find "media" option 00352 value = opts["media"]; 00353 if (!value.isEmpty()) 00354 { 00355 int index(-1); 00356 QStringList l = QStringList::split(',',value,false); 00357 if (l.count() > 0 && (index=findOption(default_size,DEFAULT_SIZE,l[0])) >= 0) 00358 m_pagesize->setCurrentItem(index); 00359 if (l.count() > 1 && (index=findOption(default_type,DEFAULT_TYPE,l[1])) >= 0) 00360 m_papertype->setCurrentItem(index); 00361 if (l.count() > 2 && (index=findOption(default_source,DEFAULT_SOURCE,l[2])) >= 0) 00362 m_inputslot->setCurrentItem(index); 00363 } 00364 00365 // Try to find "sides" option 00366 value = opts["sides"]; 00367 int ID(0); 00368 if (value == "two-sided-long-edge") ID = 1; 00369 else if (value == "two-sided-short-edge") ID = 2; 00370 m_duplexbox->setButton(ID); 00371 slotDuplexChanged(ID); 00372 } 00373 00374 // Banners 00375 value = opts["job-sheets"]; 00376 if (!value.isEmpty()) 00377 { 00378 QStringList l = QStringList::split(',',value,false); 00379 if (l.count() > 0) setComboItem(m_startbanner,l[0]); 00380 if (l.count() > 1) setComboItem(m_endbanner,l[1]); 00381 } 00382 00383 // Orientation 00384 value = opts["orientation-requested"]; 00385 if (!value.isEmpty()) 00386 { 00387 bool ok; 00388 int ID = value.toInt(&ok)-3; 00389 if (ok) 00390 { 00391 m_orientbox->setButton(ID); 00392 slotOrientationChanged(ID); 00393 } 00394 } 00395 00396 // N-up 00397 value = opts["number-up"]; 00398 if (!value.isEmpty()) 00399 { 00400 bool ok; 00401 int ID = QMIN(value.toInt(&ok)-1,2); 00402 if (ok) 00403 { 00404 m_nupbox->setButton(ID); 00405 slotNupChanged(ID); 00406 } 00407 } 00408 00409 if ( m_orientbox->isEnabled() ) 00410 m_orientbox->setDisabled( opts[ "kde-orientation-fixed" ] == "1" ); 00411 if ( m_pagesize->isEnabled() ) 00412 m_pagesize->setDisabled( opts[ "kde-pagesize-fixed" ] == "1" ); 00413 } 00414 00415 void KPGeneralPage::getOptions(QMap<QString,QString>& opts, bool incldef) 00416 { 00417 QString value; 00418 00419 if (driver()) 00420 { 00421 DrListOption *opt; 00422 if ((opt=(DrListOption*)driver()->findOption("PageSize")) != NULL) 00423 { 00424 DrBase *ch = opt->choices()->at(m_pagesize->currentItem()); 00425 if (incldef || ch->name() != opt->get("default")) opts["PageSize"] = ch->name(); 00426 } 00427 if ((opt=(DrListOption*)driver()->findOption("MediaType")) != NULL) 00428 { 00429 DrBase *ch = opt->choices()->at(m_papertype->currentItem()); 00430 if (incldef || ch->name() != opt->get("default")) opts["MediaType"] = ch->name(); 00431 } 00432 if ((opt=(DrListOption*)driver()->findOption("InputSlot")) != NULL) 00433 { 00434 DrBase *ch = opt->choices()->at(m_inputslot->currentItem()); 00435 if (incldef || ch->name() != opt->get("default")) opts["InputSlot"] = ch->name(); 00436 } 00437 00438 if (m_duplexbox->isEnabled() && (opt=(DrListOption*)driver()->findOption("Duplex")) != NULL) 00439 { 00440 bool twoChoices = ( m_duplexbox->count() == 2 ); 00441 switch (m_duplexbox->id(m_duplexbox->selected())) 00442 { 00443 case DUPLEX_NONE_ID: value = ( twoChoices ? "Off" : "None" ); break; 00444 case DUPLEX_LONG_ID: value = ( twoChoices ? "On" : "DuplexNoTumble" ); break; 00445 case DUPLEX_SHORT_ID: value = "DuplexTumble"; break; 00446 } 00447 if (incldef || value != opt->get("default")) opts["Duplex"] = value; 00448 } 00449 } 00450 else 00451 { 00452 value = QString("%1,%2,%3").arg(default_size[m_pagesize->currentItem()*2]).arg(default_type[m_papertype->currentItem()*2]).arg(default_source[m_inputslot->currentItem()*2]); 00453 opts["media"] = value; 00454 00455 if (m_duplexbox->isEnabled()) 00456 { 00457 switch (m_duplexbox->id(m_duplexbox->selected())) 00458 { 00459 case 0: value = "one-sided"; break; 00460 case 1: value = "two-sided-long-edge"; break; 00461 case 2: value = "two-sided-short-edge"; break; 00462 } 00463 opts["sides"] = value; 00464 } 00465 } 00466 00467 value = QString::number(m_orientbox->id(m_orientbox->selected())+3); 00468 if (value != "3" || incldef) opts["orientation-requested"] = value; 00469 00470 if (m_nupbox->isEnabled()) 00471 { 00472 switch (m_nupbox->id(m_nupbox->selected())) 00473 { 00474 case 0: value = "1"; break; 00475 case 1: value = "2"; break; 00476 case 2: value = "4"; break; 00477 } 00478 if (value != "1" || incldef) opts["number-up"] = value; 00479 } 00480 00481 if (m_bannerbox->isEnabled()) 00482 { 00483 QStringList l = QStringList::split(',',printer()->option("kde-banners"),false); 00484 if (incldef || (l.count() == 2 && (l[0] != m_startbanner->currentText() || l[1] != m_endbanner->currentText())) 00485 || (l.count() == 0 && (m_startbanner->currentText() != "none" || m_endbanner->currentText() != "none"))) 00486 { 00487 value = QString("%1,%2").arg(m_startbanner->currentText()).arg(m_endbanner->currentText()); 00488 opts["job-sheets"] = value; 00489 } 00490 } 00491 } 00492 00493 void KPGeneralPage::slotOrientationChanged(int ID) 00494 { 00495 QString iconstr; 00496 switch (ID) 00497 { 00498 case ORIENT_PORTRAIT_ID: iconstr = "kdeprint_portrait"; break; 00499 case ORIENT_LANDSCAPE_ID: iconstr = "kdeprint_landscape"; break; 00500 case ORIENT_REVPORTRAIT_ID: iconstr = "kdeprint_revportrait"; break; 00501 case ORIENT_REVLANDSCAPE_ID: iconstr = "kdeprint_revlandscape"; break; 00502 default: iconstr = "kdeprint_portrait"; break; 00503 } 00504 m_orientpix->setPixmap(UserIcon(iconstr)); 00505 } 00506 00507 void KPGeneralPage::slotNupChanged(int ID) 00508 { 00509 QString iconstr; 00510 switch (ID) 00511 { 00512 case NUP_1_ID: iconstr = "kdeprint_nup1"; break; 00513 case NUP_2_ID: iconstr = "kdeprint_nup2"; break; 00514 case NUP_4_ID: iconstr = "kdeprint_nup4"; break; 00515 default: iconstr = "kdeprint_nup1"; break; 00516 } 00517 m_nuppix->setPixmap(UserIcon(iconstr)); 00518 } 00519 00520 void KPGeneralPage::slotDuplexChanged(int ID) 00521 { 00522 if (m_duplexbox->isEnabled()) 00523 { 00524 QString iconstr; 00525 switch (ID) 00526 { 00527 case DUPLEX_NONE_ID: iconstr = "kdeprint_duplex_none"; break; 00528 case DUPLEX_LONG_ID: iconstr = "kdeprint_duplex_long"; break; 00529 case DUPLEX_SHORT_ID: iconstr = "kdeprint_duplex_short"; break; 00530 default: iconstr = "kdeprint_duplex_none"; break; 00531 } 00532 m_duplexpix->setPixmap(UserIcon(iconstr)); 00533 } 00534 } 00535 #include "kpgeneralpage.moc"
KDE Logo
This file is part of the documentation for kdeprint Library Version 3.2.3.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sun Oct 10 18:55:55 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003