diff options
Diffstat (limited to 'kdeprint/kmprinter.cpp')
-rw-r--r-- | kdeprint/kmprinter.cpp | 224 |
1 files changed, 0 insertions, 224 deletions
diff --git a/kdeprint/kmprinter.cpp b/kdeprint/kmprinter.cpp deleted file mode 100644 index b18116ef8..000000000 --- a/kdeprint/kmprinter.cpp +++ /dev/null @@ -1,224 +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 "kmprinter.h" -#include "kprinter.h" -#include "driver.h" - -#include <klocale.h> -#include <kfiledialog.h> - -KMPrinter::KMPrinter() -: KMObject() -{ - m_type = KMPrinter::Printer; - m_dbentry = 0; - m_harddefault = m_softdefault = m_ownsoftdefault = false; - m_driver = 0; - m_isedited = false; - m_printercap = 0; -} - -KMPrinter::KMPrinter(const KMPrinter& p) -: KMObject() -{ - m_driver = 0; // don't copy driver structure - m_harddefault = m_softdefault = m_ownsoftdefault = false; - m_isedited = false; - copy(p); -} - -KMPrinter::~KMPrinter() -{ - delete m_driver; -} - -void KMPrinter::copy(const KMPrinter& p) -{ - m_name = p.m_name; - m_printername = p.m_printername; - m_instancename = p.m_instancename; - m_type = p.m_type; - m_state = p.m_state; - m_device = p.m_device; - m_members = p.m_members; - m_description = p.m_description; - m_location = p.m_location; - m_manufacturer = p.m_manufacturer; - m_model = p.m_model; - m_uri = p.m_uri; - m_driverinfo = p.m_driverinfo; - m_dbentry = p.m_dbentry; - m_pixmap = p.m_pixmap; - //m_harddefault = p.m_harddefault; - //m_softdefault = p.m_softdefault; - m_options = p.m_options; - m_printercap = p.m_printercap; - setDiscarded(false); -} - -void KMPrinter::setDriver(DrMain *driver) -{ - delete m_driver; - m_driver = driver; -} - -DrMain* KMPrinter::takeDriver() -{ - DrMain *dr = m_driver; - m_driver = 0; - return dr; -} - -TQString KMPrinter::pixmap() -{ - if (!m_pixmap.isEmpty()) return m_pixmap; - - QString str("tdeprint_printer"); - if (!isValid()) str.append("_defect"); - else - { - //if (isHardDefault()) str.append("_default"); - if (isClass(true)) str.append("_class"); - else if (isRemote()) str.append("_remote"); - switch (state()) - { - case KMPrinter::Stopped: - str.append("_stopped"); - break; - case KMPrinter::Processing: - str.append("_process"); - break; - default: - break; - } - } - return str; -} - -int KMPrinter::compare(KMPrinter *p1, KMPrinter *p2) -{ - if (p1 && p2) - { - bool s1(p1->isSpecial()), s2(p2->isSpecial()); - if (s1 && s2) return TQString::compare(p1->name(),p2->name()); - else if (s1) return 1; - else if (s2) return -1; - else - { - bool c1(p1->isClass(false)), c2(p2->isClass(false)); - if (c1 == c2) return TQString::compare(p1->name(),p2->name()); - else if (c1 && !c2) return -1; - else if (!c1 && c2) return 1; - } - } - return 0; -} - -TQString KMPrinter::stateString() const -{ - QString s; - switch (state()) - { - case KMPrinter::Idle: s = i18n("Idle"); break; - case KMPrinter::Processing: s = i18n("Processing..."); break; - case KMPrinter::Stopped: s = i18n("Stopped"); break; - default: return i18n("Unknown State", "Unknown"); - } - s += (" " + (m_state & Rejecting ? i18n("(rejecting jobs)") : i18n("(accepting jobs)"))); - return s; -} - -bool KMPrinter::autoConfigure(KPrinter *printer, TQWidget *parent) -{ - // standard settings - printer->setPrinterName(printerName()); - printer->setSearchName(name()); - // printer default settings (useful for instances) - printer->setOptions(defaultOptions()); - // special printer case: - // - add command - // - ask for output file (if needed) using default extension. - if (isSpecial()) - { - if (option("kde-special-file") == "1") - { - // build-up default filename/directory - TQString fName = printer->docFileName(), ext = option( "kde-special-extension" ); - if ( fName.isEmpty() ) - fName = ( printer->docName() + "." + ext ); - else - { - int p = fName.findRev( '.' ); - if ( p == -1 ) - fName.append( "." ).append( ext ); - else - { - fName.truncate( p+1 ); - fName.append( ext ); - } - } - fName.prepend( "/" ).prepend( printer->docDirectory() ); - - // build-up file dialog - KFileDialog *dialog = new KFileDialog (fName, - TQString::null, - parent, - "filedialog", - true); - dialog->setOperationMode (KFileDialog::Saving); - - QString mimetype = option("kde-special-mimetype"); - - if (!mimetype.isEmpty()) - { - TQStringList filter; - filter << mimetype; - filter << "all/allfiles"; - dialog->setMimeFilter (filter, mimetype); - } - else if (!ext.isEmpty()) - dialog->setFilter ("*." + ext + "\n*|" + i18n ("All Files")); - - if (dialog->exec ()) - { - printer->setOutputToFile(true); - printer->setOutputFileName(dialog->selectedFile ()); - } - else - { - // action canceled - return false; - } - } - printer->setOption( "kde-isspecial", "1" ); - printer->setOption( "kde-special-command", option( "kde-special-command" ) ); - } - - return true; -} - -TQString KMPrinter::deviceProtocol() const -{ - int p = m_device.find( ':' ); - if ( p != -1 ) - return m_device.left( p ); - else - return TQString::null; -} |