diff options
Diffstat (limited to 'kdeprint/kpcopiespage.cpp')
-rw-r--r-- | kdeprint/kpcopiespage.cpp | 349 |
1 files changed, 0 insertions, 349 deletions
diff --git a/kdeprint/kpcopiespage.cpp b/kdeprint/kpcopiespage.cpp deleted file mode 100644 index bc0e03e0d..000000000 --- a/kdeprint/kpcopiespage.cpp +++ /dev/null @@ -1,349 +0,0 @@ -/* - * This file is part of the KDE libraries - * Copyright (c) 2001 Michael Goffioul <tdeprint@swing.be> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License version 2 as published by the Free Software Foundation. - * - * This library 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 - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - **/ - -#include "kpcopiespage.h" -#include "kmfactory.h" -#include "kmuimanager.h" -#include "kprinter.h" -#include "kxmlcommand.h" - -#include <tqlabel.h> -#include <tqcombobox.h> -#include <tqspinbox.h> -#include <tqbuttongroup.h> -#include <tqradiobutton.h> -#include <tqlineedit.h> -#include <tqcheckbox.h> -#include <tqtooltip.h> -#include <tqwhatsthis.h> -#include <tqlayout.h> - -#include <kapplication.h> -#include <klocale.h> -#include <kiconloader.h> -#include <kseparator.h> - -KPCopiesPage::KPCopiesPage(KPrinter *prt, TQWidget *parent, const char *name) -: KPrintDialogPage(parent,name) -{ - //WhatsThis strings.... (added by pfeifle@kde.org) - TQString whatsThisPageSelectionLabel = i18n( " <qt><p><b>Page Selection</b></p> " - " <p>Here you can control if you print a certain selection only out of all" - " the pages from the complete document." - " </p>" - " </qt>" ); - TQString whatsThisAllPagesLabel = i18n( " <qt><b>All Pages:</b> Select \"All\" to print the complete document." - " Since this is the default, it is pre-selected." - " </p>" - " </qt>" ); - TQString whatsThisCurrentPagesLabel = i18n( " <qt><b>Current Page:</b> Select <em>\"Current\"</em> if you want " - " to print the page currently visible in your KDE application.</p>" - " <p><b>Note:</b> this field is disabled if you print from" - " non-KDE applications like Mozilla or OpenOffice.org, since here KDEPrint has no" - " means to determine which document page you are currently viewing.</p></qt>" ); - TQString whatsThisPageRangeLabel = i18n( " <qt><b>Page Range:</b> Choose a \"Page Range\" to select a subset of the" - " complete document pages" - " to be printed. The format is <em>\"n,m,o-p,q,r,s-t, u\"</em>.</p>" - " <p><b>Example:</b> <em>\"4,6,10-13,17,20,23-25\"</em> will print" - " the pages 4, 6, 10, 11, 12, 13, 17, 20, 23, 24, 25 of your document.</p>" - " <br> " - " <hr> " - " <p><em><b>Additional hint for power users:</b> This KDEPrint GUI element matches " - " with the CUPS commandline job option parameter:</em> " - " <pre>" - " -o page-ranges=... # example: \"4,6,10-13,17,20,23-25\" " - " </pre>" - " </p> " - "</qt>" ); - TQString whatsThisPageSetLabel = i18n( " <qt><b>Page Set:</b>" - " <p>Choose <em>\"All Pages\"</em>, <em>\"Even Pages\"</em> or" - " <em>\"Odd Pages\"</em>" - " if you want to print a page selection matching one of these terms. The default" - " is <em>\"All Pages\"</em>.</p>" - " <p><b>Note:</b> If you combine a selection of a <em>\"Page Range\"</em> with a" - " <em>\"Page Set\"</em> of <em>\"Odd\"</em> or <em>\"Even\"</em>, you will only get the" - " odd or even pages from the originally selected page range. This is useful if you" - " odd or even pages from the originally selected page range. This is useful if you" - " want to print a page range in duplex on a simplex-only printer. In this case you" - " can feed the paper to the printer twice; in the first pass, select \"Odd\" or" - " \"Even\" (depending on your printer model), in second pass select the other" - " option. You may need to <em>\"Reverse\"</em> the output in one of the passes (depending" - " on your printer model).</p> " - " <br> " - " <hr> " - " <p><em><b>Additional hint for power users:</b> This KDEPrint GUI element matches " - " with the CUPS commandline job option parameter:</em> " - " <pre>" - " -o page-set=... # example: \"odd\" or \"even\" " - " </pre>" - " </p> " - " </qt>" ); - TQString whatsThisCopiesLabel = i18n( " <qt><b>Output Settings:</b>" - " Here you can determine the number of copies, the output order and the collate" - " mode for the pages of your printjob. (Note, that the maximum number of copies " - " allowed to print may be restricted by your print subsystem.)</p>" - " <p>The 'Copies' setting defaults to 1. </p> " - " <br> " - " <hr> " - " <p><em><b>Additional hint for power users:</b> This KDEPrint GUI element matches " - " with the CUPS commandline job option parameter:</em> " - " <pre>" - " -o copies=... # examples: \"5\" or \"42\" " - " <br> " - " -o outputorder=... # example: \"reverse\"" - " <br> " - " -o Collate=... # example: \"true\" or \"false\" " - " </pre>" - " </p> " - ".</qt>" ); - TQString whatsThisNumberOfCopiesLabel = i18n( " <qt><b>Number of Copies:</b> Determine the number of requested copies here." - " You can increase or decrease" - " the number of printed copies by clicking on the up and down arrows. You can also type the figure" - " directly into the box. </p>" - " <br> " - " <hr> " - " <p><em><b>Additional hint for power users:</b> This KDEPrint GUI element matches " - " with the CUPS commandline job option parameter:</em> " - " <pre>" - " -o copies=... # examples: \"5\" or \"42\" " - " </pre>" - " </p> " - " </qt>" ); - TQString whatsThisCollateLabel = i18n( " <qt><b>Collate Copies</b>" - " <p>If the <em>\"Collate\"</em> checkbox is enabled (default), the output order for" - " multiple copies of a multi-page document will be \"1-2-3-..., 1-2-3-..., 1-2-3-...\".</p>" - " <p>If the <em>\"Collate\"</em> checkbox is disabled, the output order for" - " multiple copies of a multi-page document will be \"1-1-1-..., 2-2-2-..., 3-3-3-...\".</p>" - " <br> " - " <hr> " - " <p><em><b>Additional hint for power users:</b> This KDEPrint GUI element matches " - " with the CUPS commandline job option parameter:</em> " - " <pre>" - " -o Collate=... # example: \"true\" or \"false\" " - " </pre>" - " </p> " - " </qt>" ); - TQString whatsThisReverseLabel = i18n( " <qt><b>Reverse Order</b>" - " <p> If the <em>\"Reverse\"</em> checkbox is enabled, the output order for" - " multiple copies of a multi-page document will be \"...-3-2-1, ...-3-2-1, ...-3-2-1\", if you" - " also have <em>en</em>abled the <em>\"Collate\"</em> checkbox at the same time" - " (the usual usecase).</p>" - " <p>If the <em>\"Reverse\"</em> checkbox is enabled, the output order for" - " multiple copies of a multi-page document will be \"...-3-3-3, ...-2-2-2, ...-1-1-1\", if you" - " have <em>dis</em>abled the <em>\"Collate\"</em> checkbox at the same time. </p>" - " <br> " - " <hr> " - " <p><em><b>Additional hint for power users:</b> This KDEPrint GUI element matches " - " with the CUPS commandline job option parameter:</em> " - " <pre>" - " -o outputorder=... # example: \"reverse\"" - " " - " </pre>" - " </p> " - " </qt>" ); - m_printer = prt; - m_useplugin = true; - - setTitle(i18n("C&opies")); - setId(KPrinter::CopiesPage); - - // widget creation - TQButtonGroup *m_pagebox = new TQButtonGroup(0, Qt::Vertical, i18n("Page Selection"), this); - TQWhatsThis::add(m_pagebox, whatsThisPageSelectionLabel); - m_all = new TQRadioButton(i18n("&All"), m_pagebox); - TQWhatsThis::add(m_all, whatsThisAllPagesLabel); - m_current = new TQRadioButton(i18n("Cu&rrent"), m_pagebox); - TQWhatsThis::add(m_current, whatsThisCurrentPagesLabel); - m_range = new TQRadioButton(i18n("Ran&ge"), m_pagebox); - TQWhatsThis::add(m_range, whatsThisPageRangeLabel); - m_rangeedit = new TQLineEdit(m_pagebox); - TQWhatsThis::add(m_rangeedit, whatsThisPageRangeLabel); - connect(m_range, TQT_SIGNAL(clicked()), m_rangeedit, TQT_SLOT(setFocus())); - TQToolTip::add(m_rangeedit, i18n("<p>Enter pages or group of pages to print separated by commas (1,2-5,8).</p>")); -// TQWhatsThis::add(m_rangeedit, i18n("<p>Enter pages or group of pages to print separated by commas (1,2-5,8).</p>")); - //TQLabel *m_rangeexpl = new TQLabel(m_pagebox); - //m_rangeexpl->setText(i18n("<p>Enter pages or group of pages to print separated by commas (1,2-5,8).</p>")); - TQGroupBox *m_copybox = new TQGroupBox(0, Qt::Vertical, i18n("Output Settings"), this); - TQWhatsThis::add(m_copybox, whatsThisCopiesLabel); - m_collate = new TQCheckBox(i18n("Co&llate"), m_copybox); - TQWhatsThis::add(m_collate, whatsThisCollateLabel); - m_order = new TQCheckBox(i18n("Re&verse"), m_copybox); - TQWhatsThis::add(m_order, whatsThisReverseLabel); - m_collatepix = new TQLabel(m_copybox); - m_collatepix->tqsetAlignment(Qt::AlignCenter); - m_collatepix->setMinimumHeight(70); - TQLabel *m_copieslabel = new TQLabel(i18n("Cop&ies:"), m_copybox); - m_copies = new TQSpinBox(m_copybox); - m_copies->setRange(1,999); - TQWhatsThis::add(m_copies, whatsThisNumberOfCopiesLabel); - m_copieslabel->setBuddy(m_copies); - TQWhatsThis::add(m_copieslabel, whatsThisNumberOfCopiesLabel); - m_pageset = new TQComboBox(m_pagebox); - m_pageset->insertItem(i18n("All Pages")); - m_pageset->insertItem(i18n("Odd Pages")); - m_pageset->insertItem(i18n("Even Pages")); - TQWhatsThis::add(m_pageset, whatsThisPageSetLabel); - TQLabel *m_pagesetlabel = new TQLabel(i18n("Page &set:"), m_pagebox); - m_pagesetlabel->setBuddy(m_pageset); - TQWhatsThis::add(m_pagesetlabel, whatsThisPageSetLabel); - KSeparator *sepline = new KSeparator(Qt::Horizontal, m_pagebox); - sepline->setMinimumHeight(10); - - TQWidget::setTabOrder( m_all, m_current ); - TQWidget::setTabOrder( m_current, m_range ); - TQWidget::setTabOrder( m_range, m_rangeedit ); - TQWidget::setTabOrder( m_rangeedit, m_pageset ); - TQWidget::setTabOrder( m_pageset, m_copies ); - TQWidget::setTabOrder( m_copies, m_collate ); - TQWidget::setTabOrder( m_collate, m_order ); - - // layout creation - TQGridLayout *l1 = new TQGridLayout(this, 2, 2, 0, 5); - l1->setRowStretch(1,1); - l1->setColStretch(0,1); - l1->setColStretch(1,1); - l1->addWidget(m_pagebox,0,0); - l1->addWidget(m_copybox,0,1); - TQVBoxLayout *l3 = new TQVBoxLayout(TQT_TQLAYOUT(m_pagebox->tqlayout()), 5); - l3->addWidget(m_all); - l3->addWidget(m_current); - TQHBoxLayout *l4 = new TQHBoxLayout(0, 0, 5); - l3->addLayout(l4); - l4->addWidget(m_range,0); - l4->addWidget(m_rangeedit,1); - //l3->addWidget(m_rangeexpl); - l3->addWidget(sepline); - TQHBoxLayout *l2 = new TQHBoxLayout(0, 0, 5); - l3->addLayout(l2); - l2->addWidget(m_pagesetlabel,0); - l2->addWidget(m_pageset,1); - TQGridLayout *l5 = new TQGridLayout(m_copybox->tqlayout(), 4, 2, 10); - l5->setRowStretch(4,1); - l5->addWidget(m_copieslabel,0,0); - l5->addWidget(m_copies,0,1); - l5->addMultiCellWidget(m_collatepix,1,2,0,0); - l5->addWidget(m_collate,1,1); - l5->addWidget(m_order,2,1); - - // some initialization - m_all->setChecked(true); - m_copies->setValue(1); - initialize(m_useplugin); - slotCollateClicked(); - - // connections - connect(m_rangeedit,TQT_SIGNAL(textChanged(const TQString&)),TQT_SLOT(slotRangeEntered())); - connect(m_collate,TQT_SIGNAL(clicked()),TQT_SLOT(slotCollateClicked())); - connect(m_order,TQT_SIGNAL(clicked()),TQT_SLOT(slotCollateClicked())); - - if (!kapp->authorize("print/copies")) - { - setTitle(i18n("Pages")); - m_copybox->hide(); - } -} - -KPCopiesPage::~KPCopiesPage() -{ -} - -void KPCopiesPage::slotRangeEntered() -{ - m_range->setChecked(true); -} - -void KPCopiesPage::slotCollateClicked() -{ - TQString s("tdeprint_"); - s.append((m_collate->isChecked() ? "collate" : "uncollate")); - if (m_order->isChecked()) s.append("_reverse"); - m_collatepix->setPixmap(UserIcon(s)); -} - -void KPCopiesPage::initialize(bool usePlugin) -{ - m_useplugin = usePlugin; - int f = KMFactory::self()->uiManager()->copyFlags(m_printer, m_useplugin); - - m_current->setEnabled((f & KMUiManager::Current)); - m_range->setEnabled((f & KMUiManager::Range)); - m_rangeedit->setEnabled((f & KMUiManager::Range)); - m_collate->setEnabled((f & KMUiManager::Collate)); - m_order->setEnabled((f & KMUiManager::Order)); - m_pageset->setEnabled((f & KMUiManager::PageSet)); - - // by default, if collate disabled, set it to true - m_collate->setChecked(!(f & KMUiManager::NoAutoCollate)); - slotCollateClicked(); -} - -void KPCopiesPage::setOptions(const TQMap<TQString,TQString>& options) -{ - TQString value; - // copies - value = options["kde-copies"]; - if (!value.isEmpty()) m_copies->setValue(value.toInt()); - // output order - value = options["kde-pageorder"]; - if (m_order->isEnabled()) m_order->setChecked(value == "Reverse"); - // collate - value = options["kde-collate"]; - if (m_collate->isEnabled()) m_collate->setChecked(!(value == "Uncollate")); - // update pixmap - slotCollateClicked(); - // page ranges - value = options["kde-range"]; - if (!value.isEmpty() && m_range->isEnabled() && value != "1-") - { - m_rangeedit->setText(value); - m_range->setChecked(true); - } - else if (options["kde-current"] == "1") - m_current->setChecked(true); - else - m_all->setChecked(true); - // page set - value = options["kde-pageset"]; - if (!value.isEmpty() && m_pageset->isEnabled()) - m_pageset->setCurrentItem(value.toInt()); - else - m_pageset->setCurrentItem(0); -} - -void KPCopiesPage::getOptions(TQMap<TQString,TQString>& options, bool incldef) -{ - // copies - options["kde-copies"] = m_copies->text(); - // output order - options["kde-pageorder"] = (m_order->isChecked() ? "Reverse" : "Forward"); - // collate - options["kde-collate"] = (m_collate->isChecked() ? "Collate" : "Uncollate"); - // ranges - options["kde-current"] = (m_current->isChecked() ? "1" : "0"); - options["kde-range"] = (m_range->isChecked() ? m_rangeedit->text() : (incldef ? TQString::tqfromLatin1("1-") : TQString::tqfromLatin1(""))); - // page set - options["kde-pageset"] = TQString::number(m_pageset->currentItem()); -} - -void KPCopiesPage::reload() -{ - initialize(m_useplugin); -} - -#include "kpcopiespage.moc" |