src/gui/dialogs/qprintdialog_qws.cpp
changeset 30 5dc02b23752f
parent 18 2f34d5167611
--- a/src/gui/dialogs/qprintdialog_qws.cpp	Wed Jun 23 19:07:03 2010 +0300
+++ b/src/gui/dialogs/qprintdialog_qws.cpp	Tue Jul 06 15:10:48 2010 +0300
@@ -163,7 +163,7 @@
     printer->setPaperSize(pageSize);
     printer->setPageOrder(pageOrder2);
     printer->setColorMode(colorMode2);
-    printer->setNumCopies(numCopies);
+    printer->setCopyCount(numCopies);
 
     switch ((rangeCombo->itemData(rangeCombo->currentIndex())).toInt()){
     case (int)QPrintDialog::AllPages:
@@ -178,6 +178,10 @@
         q->setPrintRange(QPrintDialog::PageRange);
         q->setFromTo(firstPage->value(), lastPage->value());
         break;
+    case (int)QPrintDialog::CurrentPage:
+        q->setPrintRange(QPrintDialog::CurrentPage);
+        q->setFromTo(0, 0);
+        break;
     }
     q->accept();
 }
@@ -375,6 +379,7 @@
     rangeCombo->addItem(QPrintDialog::tr("Print all"), QPrintDialog::AllPages);
     rangeCombo->addItem(QPrintDialog::tr("Print selection"), QPrintDialog::Selection);
     rangeCombo->addItem(QPrintDialog::tr("Print range"), QPrintDialog::PageRange);
+    rangeCombo->addItem(QPrintDialog::tr("Print current page"), QPrintDialog::CurrentPage);
     QObject::connect(rangeCombo, SIGNAL(activated(int)),
             q, SLOT(_q_printRangeSelected(int)));
 
@@ -479,8 +484,8 @@
             printGray->setChecked(true);
 
         // number of copies
-        copies->setValue(p->numCopies());
-        _q_setNumCopies(p->numCopies());
+        copies->setValue(p->copyCount());
+        _q_setNumCopies(p->copyCount());
     }
 
     if (p) {
@@ -490,6 +495,9 @@
         if (!q->isOptionEnabled(QPrintDialog::PrintPageRange)
                 && rangeCombo->findData(QPrintDialog::PageRange) > 0)
             rangeCombo->removeItem(rangeCombo->findData(QPrintDialog::PageRange));
+        if (!q->isOptionEnabled(QPrintDialog::PrintCurrentPage)
+                && rangeCombo->findData(QPrintDialog::CurrentPage) > 0)
+            rangeCombo->removeItem(rangeCombo->findData(QPrintDialog::CurrentPage));
 
         switch (q->printRange()) {
         case QPrintDialog::AllPages:
@@ -501,6 +509,9 @@
         case QPrintDialog::PageRange:
             rangeCombo->setCurrentIndex((int)(QPrintDialog::PageRange));
             break;
+        case QPrintDialog::CurrentPage:
+            rangeCombo->setCurrentIndex((int)(QPrintDialog::CurrentPage));
+            break;
         }
     }