printcapentry.cpp
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 #include "printcapentry.h"
00021 
00022 QString Field::toString() const
00023 {
00024     QString s = name;
00025     switch (type)
00026     {
00027         case String:
00028             s += ("=" + value);
00029             break;
00030         case Integer:
00031             s += ("#" + value);
00032             break;
00033         case Boolean:
00034             if (!value.toInt())
00035                 s += "@";
            break;
    }
    return s;
}
bool PrintcapEntry::writeEntry(QTextStream& t)
{
    t << comment << endl;
    t << name;
    if (aliases.count() > 0)
        t << '|' << aliases.join("|");
00036     t << ':';
00037     for (QMap<QString,Field>::ConstIterator it=fields.begin(); it!=fields.end(); ++it)
00038     {
00039         t << '\\' << endl << "    :";
00040         t << (*it).name;
00041         switch ((*it).type)
00042         {
00043             case Field::String:
00044                 t << '=' << (*it).value << ':';
00045                 break;
00046             case Field::Integer:
00047                 t << '#' << (*it).value << ':';
00048                 break;
00049             case Field::Boolean:
00050                 t << ':';
00051                 break;
00052             default:
00053                 t << endl << endl;
00054                 return false;
00055         }
00056     }
00057     t << endl;
00058     if (!postcomment.isEmpty())
00059         t << postcomment << endl;
00060     t << endl;
00061     return true;
00062 }
00063 
00064 void PrintcapEntry::addField(const QString& name, Field::Type type, const QString& value)
00065 {
00066     Field   f;
00067     f.name = name;
00068     f.type = type;
00069     f.value = value;
00070     fields[name] = f;
00071 }
00072  
This file is part of the documentation for kdeprint Library Version 3.2.0.