25#include <tdefiledialog.h> 
   30    m_type = KMPrinter::Printer;
 
   32    m_harddefault = m_softdefault = m_ownsoftdefault = 
false;
 
   38KMPrinter::KMPrinter(
const KMPrinter& p)
 
   42    m_harddefault = m_softdefault = m_ownsoftdefault = 
false;
 
   47KMPrinter::~KMPrinter()
 
   52void KMPrinter::copy(
const KMPrinter& p)
 
   55    m_printername = p.m_printername;
 
   56    m_instancename = p.m_instancename;
 
   59    m_device = p.m_device;
 
   60    m_members = p.m_members;
 
   61    m_description = p.m_description;
 
   62    m_location = p.m_location;
 
   63    m_manufacturer = p.m_manufacturer;
 
   66    m_driverinfo = p.m_driverinfo;
 
   67    m_dbentry = p.m_dbentry;
 
   68    m_pixmap = p.m_pixmap;
 
   71    m_options = p.m_options;
 
   72    m_printercap = p.m_printercap;
 
   76void KMPrinter::setDriver(DrMain *driver)
 
   82DrMain* KMPrinter::takeDriver()
 
   84    DrMain  *dr = m_driver;
 
   89TQString KMPrinter::pixmap()
 
   91    if (!m_pixmap.isEmpty()) 
return m_pixmap;
 
   93    TQString    str(
"tdeprint_printer");
 
   94    if (!isValid()) str.append(
"_defect");
 
   98        if (isClass(
true)) str.append(
"_class");
 
   99        else if (isRemote()) str.append(
"_remote");
 
  102            case KMPrinter::Stopped:
 
  103                str.append(
"_stopped");
 
  105            case KMPrinter::Processing:
 
  106                str.append(
"_process");
 
  115int KMPrinter::compare(KMPrinter *p1, KMPrinter *p2)
 
  119        bool    s1(p1->isSpecial()), s2(p2->isSpecial());
 
  120        if (s1 && s2) 
return TQString::compare(p1->name(),p2->name());
 
  121        else if (s1) 
return 1;
 
  122        else if (s2) 
return -1;
 
  125            bool    c1(p1->isClass(
false)), c2(p2->isClass(
false));
 
  126            if (c1 == c2) 
return TQString::compare(p1->name(),p2->name());
 
  127            else if (c1 && !c2) 
return -1;
 
  128            else if (!c1 && c2) 
return 1;
 
  134TQString KMPrinter::stateString()
 const 
  139        case KMPrinter::Idle: s = i18n(
"Idle"); 
break;
 
  140        case KMPrinter::Processing: s = i18n(
"Processing..."); 
break;
 
  141        case KMPrinter::Stopped: s = i18n(
"Stopped"); 
break;
 
  142        default: 
return i18n(
"Unknown State", 
"Unknown");
 
  144    s += (
" " + (m_state & Rejecting ? i18n(
"(rejecting jobs)") : i18n(
"(accepting jobs)")));
 
  148bool KMPrinter::autoConfigure(
KPrinter *printer, TQWidget *parent)
 
  160        if (option(
"kde-special-file") == 
"1")
 
  163            TQString fName = printer->
docFileName(), ext = option( 
"kde-special-extension" );
 
  164            if ( fName.isEmpty() )
 
  165                fName = ( printer->
docName() + 
"." + ext );
 
  168                int p = fName.findRev( 
'.' );
 
  170                    fName.append( 
"." ).append( ext );
 
  173                    fName.truncate( p+1 );
 
  177            fName.prepend( 
"/" ).prepend( printer->
docDirectory() );
 
  180            KFileDialog *dialog = 
new KFileDialog (fName,
 
  185            dialog->setOperationMode (KFileDialog::Saving);
 
  187            TQString    mimetype = option(
"kde-special-mimetype");
 
  189            if (!mimetype.isEmpty())
 
  193                filter << 
"all/allfiles";
 
  194                dialog->setMimeFilter (filter, mimetype);
 
  196            else if (!ext.isEmpty())
 
  197                dialog->setFilter (
"*." + ext + 
"\n*|" + i18n (
"All Files"));
 
  210        printer->
setOption( 
"kde-isspecial", 
"1" );
 
  211        printer->
setOption( 
"kde-special-command", option( 
"kde-special-command" ) );
 
  217TQString KMPrinter::deviceProtocol()
 const 
  219    int p = m_device.find( 
':' );
 
  221        return m_device.left( p );
 
  223        return TQString::null;
 
This class is the main interface to access the TDE print framework.
 
TQString docName() const
See TQPrinter::docName().
 
void setPrinterName(const TQString &)
See TQPrinter::setPrinterName().
 
TQString docDirectory() const
Get the default document directory, that is the directory used for any output file.
 
void setOutputToFile(bool)
See TQPrinter::setOutputToFile().
 
void setOutputFileName(const TQString &)
See TQPrinter::setOutputFileName().
 
void setOption(const TQString &key, const TQString &value)
Adds or modifies an option in the KPrinter object.
 
TQString docFileName() const
Get the default document filename, that is the default basename used for the output file.
 
void setOptions(const TQMap< TQString, TQString > &opts)
Sets the option set in one operation.
 
void setSearchName(const TQString &n)
Sets the search name of the KPrinter object.