commit 9f56d10f506dc9196c3b2850468d274277cf65e4
Author: Elan Ruusamäe <[email protected]>
Date:   Wed May 28 12:27:22 2014 +0300

    drop cups16.patch
    
    it originated from fedora, which took it from trinity project, so it's
    kind of applied :)

 kdelibs-cups16.patch | 849 ---------------------------------------------------
 kdelibs.spec         |   3 -
 2 files changed, 852 deletions(-)
---
diff --git a/kdelibs.spec b/kdelibs.spec
index cbb1804..72979ff 100644
--- a/kdelibs.spec
+++ b/kdelibs.spec
@@ -63,7 +63,6 @@ Patch12:      %{name}-konqueror-agent.patch
 Patch15:       dcopobject-destruct-crash.patch
 Patch17:       %{name}-3.5.10-LDFLAG_fix-1.patch
 Patch19:       %{name}-gcc4.patch
-Patch21:       %{name}-cups16.patch
 URL:           http://www.kde.org/
 %{?with_openexr:BuildRequires: OpenEXR-devel >= 1.4.0.a}
 BuildRequires: acl-devel
@@ -373,9 +372,7 @@ strony innych użytkowników lokalnych.
 %patch15 -p1
 %patch17 -p1
 %patch19 -p1
-#%patch21 -p1 seems outdated
 
-#mv -f configure{,.dist}
 :>admin/test-driver
 
 # add https://www.cacert.org/ root certificate
diff --git a/kdelibs-cups16.patch b/kdelibs-cups16.patch
deleted file mode 100644
index e1664b3..0000000
--- a/kdelibs-cups16.patch
+++ /dev/null
@@ -1,849 +0,0 @@
-diff -ur kdelibs-3.5.10/kdeprint/configure.in.in 
kdelibs-3.5.10-cups16/kdeprint/configure.in.in
---- kdelibs-3.5.10/kdeprint/configure.in.in    2005-09-10 10:27:43.000000000 
+0200
-+++ kdelibs-3.5.10-cups16/kdeprint/configure.in.in     2012-12-25 
16:29:53.000000000 +0100
-@@ -84,6 +84,13 @@
-       if test "$ac_have_new_cups" = "yes"; then
-       AC_DEFINE(HAVE_CUPS_NO_PWD_CACHE, 1, CUPS doesn't have password caching)
-       fi
-+
-+      dnl check if CUPS is at least 1.6
-+      ac_have_new_cups="no"
-+      AC_CHECK_CUPS_VERSION(1.06)
-+      if test "$ac_have_new_cups" = "yes"; then
-+        AC_DEFINE(HAVE_CUPS_1_6, 1, CUPS is at least version 1.6)
-+      fi
-     fi
-   fi
-   LDFLAGS="$ac_LDFLAGS_save"
-diff -ur kdelibs-3.5.10/kdeprint/cups/cupsdconf2/cupsdconf.cpp 
kdelibs-3.5.10-cups16/kdeprint/cups/cupsdconf2/cupsdconf.cpp
---- kdelibs-3.5.10/kdeprint/cups/cupsdconf2/cupsdconf.cpp      2005-10-10 
17:06:30.000000000 +0200
-+++ kdelibs-3.5.10-cups16/kdeprint/cups/cupsdconf2/cupsdconf.cpp       
2012-12-25 16:34:57.000000000 +0100
-@@ -629,26 +629,44 @@
-       cups_lang_t*    lang = cupsLangDefault();
-       ippAddString(request_, IPP_TAG_OPERATION, IPP_TAG_CHARSET, 
"attributes-charset", NULL, cupsLangEncoding(lang));
-       ippAddString(request_, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, 
"attributes-natural-language", NULL, lang->language);
-+#ifdef HAVE_CUPS_1_6
-+      ippSetOperation(request_, CUPS_GET_PRINTERS);
-+#else // HAVE_CUPS_1_6
-       request_->request.op.operation_id = CUPS_GET_PRINTERS;
-+#endif // HAVE_CUPS_1_6
-       request_ = cupsDoRequest(http_, request_, "/printers/");
-       if (request_)
-       {
-               QString name;
-               int     type(0);
-+#ifdef HAVE_CUPS_1_6
-+              ipp_attribute_t *attr = ippFirstAttribute(request_);
-+#else // HAVE_CUPS_1_6
-               ipp_attribute_t *attr = request_->attrs;
-+#endif // HAVE_CUPS_1_6
-               while (attr)
-               {
-                       // check new printer (keep only local non-implicit 
printers)
-+#ifdef HAVE_CUPS_1_6
-+                      if (!ippGetName(attr))
-+#else // HAVE_CUPS_1_6
-                       if (!attr->name)
-+#endif // HAVE_CUPS_1_6
-                       {
-                               if (!(type & CUPS_PRINTER_REMOTE) && !(type & 
CUPS_PRINTER_IMPLICIT) && !name.isEmpty())
-                                       resources_.append(new 
CupsResource("/printers/"+name));
-                               name = "";
-                               type = 0;
-                       }
-+#ifdef HAVE_CUPS_1_6
-+                      else if (strcmp(ippGetName(attr), "printer-name") == 0) 
name = ippGetString(attr, 0, NULL);
-+                      else if (strcmp(ippGetName(attr), "printer-type") == 0) 
type = ippGetInteger(attr, 0);
-+                      attr = ippNextAttribute(request_);
-+#else // HAVE_CUPS_1_6
-                       else if (strcmp(attr->name, "printer-name") == 0) name 
= attr->values[0].string.text;
-                       else if (strcmp(attr->name, "printer-type") == 0) type 
= attr->values[0].integer;
-                       attr = attr->next;
-+#endif // HAVE_CUPS_1_6
-               }
-               if (!(type & CUPS_PRINTER_REMOTE) && !(type & 
CUPS_PRINTER_IMPLICIT) && !name.isEmpty())
-                       resources_.append(new CupsResource("/printers/"+name));
-@@ -658,26 +676,44 @@
-       request_ = ippNew();
-       ippAddString(request_, IPP_TAG_OPERATION, IPP_TAG_CHARSET, 
"attributes-charset", NULL, cupsLangEncoding(lang));
-       ippAddString(request_, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, 
"attributes-natural-language", NULL, lang->language);
-+#ifdef HAVE_CUPS_1_6
-+      ippSetOperation(request_, CUPS_GET_CLASSES);
-+#else // HAVE_CUPS_1_6
-       request_->request.op.operation_id = CUPS_GET_CLASSES;
-+#endif // HAVE_CUPS_1_6
-       request_ = cupsDoRequest(http_, request_, "/classes/");
-       if (request_)
-       {
-               QString name;
-               int     type(0);
-+#ifdef HAVE_CUPS_1_6
-+              ipp_attribute_t *attr = ippFirstAttribute(request_);
-+#else // HAVE_CUPS_1_6
-               ipp_attribute_t *attr = request_->attrs;
-+#endif // HAVE_CUPS_1_6
-               while (attr)
-               {
-                       // check new class (keep only local classes)
-+#ifdef HAVE_CUPS_1_6
-+                      if (!ippGetName(attr))
-+#else // HAVE_CUPS_1_6
-                       if (!attr->name)
-+#endif // HAVE_CUPS_1_6
-                       {
-                               if (!(type & CUPS_PRINTER_REMOTE) && 
!name.isEmpty())
-                                       resources_.append(new 
CupsResource("/classes/"+name));
-                               name = "";
-                               type = 0;
-                       }
-+#ifdef HAVE_CUPS_1_6
-+                      else if (strcmp(ippGetName(attr), "printer-name") == 0) 
name = ippGetString(attr, 0, NULL);
-+                      else if (strcmp(ippGetName(attr), "printer-type") == 0) 
type = ippGetInteger(attr, 0);
-+                      attr = ippNextAttribute(request_);
-+#else // HAVE_CUPS_1_6
-                       else if (strcmp(attr->name, "printer-name") == 0) name 
= attr->values[0].string.text;
-                       else if (strcmp(attr->name, "printer-type") == 0) type 
= attr->values[0].integer;
-                       attr = attr->next;
-+#endif // HAVE_CUPS_1_6
-               }
-               if (!(type & CUPS_PRINTER_REMOTE) && !name.isEmpty())
-                       resources_.append(new CupsResource("/classes/"+name));
-diff -ur kdelibs-3.5.10/kdeprint/cups/ipprequest.cpp 
kdelibs-3.5.10-cups16/kdeprint/cups/ipprequest.cpp
---- kdelibs-3.5.10/kdeprint/cups/ipprequest.cpp        2007-10-08 
11:52:10.000000000 +0200
-+++ kdelibs-3.5.10-cups16/kdeprint/cups/ipprequest.cpp 2012-12-25 
16:55:53.000000000 +0100
-@@ -51,6 +51,58 @@
-               kdDebug(500) << "Null request" << endl;
-               return;
-       }
-+#ifdef HAVE_CUPS_1_6
-+      kdDebug(500) << "State = 0x" << QString::number(ippGetState(req), 16) 
<< endl;
-+      kdDebug(500) << "ID = 0x" << QString::number(ippGetRequestId(req), 16) 
<< endl;
-+      if (answer)
-+      {
-+              kdDebug(500) << "Status = 0x" << 
QString::number(ippGetStatusCode(req), 16) << endl;
-+              kdDebug(500) << "Status message = " << 
ippErrorString(ippGetStatusCode(req)) << endl;
-+      }
-+      else
-+              kdDebug(500) << "Operation = 0x" << 
QString::number(ippGetOperation(req), 16) << endl;
-+      int minorVersion;
-+      int majorVersion = ippGetVersion(req, &minorVersion);
-+      kdDebug(500) << "Version = " << (int)(majorVersion) << "." << 
(int)(minorVersion) << endl;
-+      kdDebug(500) << endl;
-+
-+      ipp_attribute_t *attr = ippFirstAttribute(req);
-+      while (attr)
-+      {
-+              QString s = QString::fromLatin1("%1 (0x%2) = 
").arg(ippGetName(attr)).arg(ippGetValueTag(attr), 0, 16);
-+              for (int i=0;i<ippGetCount(attr);i++)
-+              {
-+                      switch (ippGetValueTag(attr))
-+                      {
-+                              case IPP_TAG_INTEGER:
-+                              case IPP_TAG_ENUM:
-+                                      s += 
("0x"+QString::number(ippGetInteger(attr, i), 16));
-+                                      break;
-+                              case IPP_TAG_BOOLEAN:
-+                                      s += (ippGetBoolean(attr, i) ? "true" : 
"false");
-+                                      break;
-+                              case IPP_TAG_STRING:
-+                              case IPP_TAG_TEXT:
-+                              case IPP_TAG_NAME:
-+                              case IPP_TAG_KEYWORD:
-+                              case IPP_TAG_URI:
-+                              case IPP_TAG_MIMETYPE:
-+                              case IPP_TAG_NAMELANG:
-+                              case IPP_TAG_TEXTLANG:
-+                              case IPP_TAG_CHARSET:
-+                              case IPP_TAG_LANGUAGE:
-+                                      s += ippGetString(attr, i, NULL);
-+                                      break;
-+                              default:
-+                                      break;
-+                      }
-+                      if (i != (ippGetCount(attr)-1))
-+                              s += ", ";
-+              }
-+              kdDebug(500) << s << endl;
-+              attr = ippNextAttribute(req);
-+      }
-+#else // HAVE_CUPS_1_6
-       kdDebug(500) << "State = 0x" << QString::number(req->state, 16) << endl;
-       kdDebug(500) << "ID = 0x" << 
QString::number(req->request.status.request_id, 16) << endl;
-       if (answer)
-@@ -99,6 +151,7 @@
-               kdDebug(500) << s << endl;
-               attr = attr->next;
-       }
-+#endif // HAVE_CUPS_1_6
- }
- 
- QString errorString(int status)
-@@ -177,7 +230,11 @@
-               ipp_attribute_t *attr = 
ippAddStrings(request_,(ipp_tag_t)group,(ipp_tag_t)type,name.latin1(),(int)(values.count()),NULL,NULL);
-               int     i(0);
-               for (QStringList::ConstIterator it=values.begin(); it != 
values.end(); ++it, i++)
-+#ifdef HAVE_CUPS_1_6
-+                      ippSetString(request_, &attr, i, 
strdup((*it).local8Bit()));
-+#else // HAVE_CUPS_1_6
-                       attr->values[i].string.text = strdup((*it).local8Bit());
-+#endif // HAVE_CUPS_1_6
-       }
- }
- 
-@@ -193,7 +250,11 @@
-               ipp_attribute_t *attr = 
ippAddIntegers(request_,(ipp_tag_t)group,(ipp_tag_t)type,name.latin1(),(int)(values.count()),NULL);
-               int     i(0);
-               for (QValueList<int>::ConstIterator it=values.begin(); it != 
values.end(); ++it, i++)
-+#ifdef HAVE_CUPS_1_6
-+                      ippSetInteger(request_, &attr, i, *it);
-+#else // HAVE_CUPS_1_6
-                       attr->values[i].integer = *it;
-+#endif // HAVE_CUPS_1_6
-       }
- }
- 
-@@ -209,19 +270,32 @@
-               ipp_attribute_t *attr = 
ippAddBooleans(request_,(ipp_tag_t)group,name.latin1(),(int)(values.count()),NULL);
-               int     i(0);
-               for (QValueList<bool>::ConstIterator it=values.begin(); it != 
values.end(); ++it, i++)
-+#ifdef HAVE_CUPS_1_6
-+                      ippSetBoolean(request_, &attr, i, (char)(*it));
-+#else // HAVE_CUPS_1_6
-                       attr->values[i].boolean = (char)(*it);
-+#endif // HAVE_CUPS_1_6
-       }
- }
- 
- void IppRequest::setOperation(int op)
- {
-+#ifdef HAVE_CUPS_1_6
-+      ippSetOperation(request_, (ipp_op_t)op);
-+      ippSetRequestId(request_, 1);           // 0 is not RFC-compliant, 
should be at least 1
-+#else // HAVE_CUPS_1_6
-       request_->request.op.operation_id = (ipp_op_t)op;
-       request_->request.op.request_id = 1;    // 0 is not RFC-compliant, 
should be at least 1
-+#endif // HAVE_CUPS_1_6
- }
- 
- int IppRequest::status()
- {
-+#ifdef HAVE_CUPS_1_6
-+      return (request_ ? ippGetStatusCode(request_) : (connect_ ? 
cupsLastError() : -2));
-+#else // HAVE_CUPS_1_6
-       return (request_ ? request_->request.status.status_code : (connect_ ? 
cupsLastError() : -2));
-+#endif // HAVE_CUPS_1_6
- }
- 
- QString IppRequest::statusMessage()
-@@ -248,7 +322,11 @@
-       ipp_attribute_t *attr = ippFindAttribute(request_, name.latin1(), 
(ipp_tag_t)type);
-       if (attr)
-       {
-+#ifdef HAVE_CUPS_1_6
-+              value = ippGetInteger(attr, 0);
-+#else // HAVE_CUPS_1_6
-               value = attr->values[0].integer;
-+#endif // HAVE_CUPS_1_6
-               return true;
-       }
-       else return false;
-@@ -260,7 +338,11 @@
-       ipp_attribute_t *attr = ippFindAttribute(request_, name.latin1(), 
(ipp_tag_t)type);
-       if (attr)
-       {
-+#ifdef HAVE_CUPS_1_6
-+              value = QString::fromLocal8Bit(ippGetString(attr, 0, NULL));
-+#else // HAVE_CUPS_1_6
-               value = QString::fromLocal8Bit(attr->values[0].string.text);
-+#endif // HAVE_CUPS_1_6
-               return true;
-       }
-       else return false;
-@@ -273,8 +355,13 @@
-       values.clear();
-       if (attr)
-       {
-+#ifdef HAVE_CUPS_1_6
-+              for (int i=0;i<ippGetCount(attr);i++)
-+                      values.append(QString::fromLocal8Bit(ippGetString(attr, 
i, NULL)));
-+#else // HAVE_CUPS_1_6
-               for (int i=0;i<attr->num_values;i++)
-                       
values.append(QString::fromLocal8Bit(attr->values[i].string.text));
-+#endif // HAVE_CUPS_1_6
-               return true;
-       }
-       else return false;
-@@ -286,7 +373,11 @@
-       ipp_attribute_t *attr = ippFindAttribute(request_, name.latin1(), 
IPP_TAG_BOOLEAN);
-       if (attr)
-       {
-+#ifdef HAVE_CUPS_1_6
-+              value = (bool)ippGetBoolean(attr, 0);
-+#else // HAVE_CUPS_1_6
-               value = (bool)attr->values[0].boolean;
-+#endif // HAVE_CUPS_1_6
-               return true;
-       }
-       else return false;
-@@ -338,10 +429,18 @@
-       }
- 
-       /* No printers found */
-+#ifdef HAVE_CUPS_1_6
-+      if ( request_ && ippGetStatusCode(request_) == 0x406 )
-+#else // HAVE_CUPS_1_6
-       if ( request_ && request_->request.status.status_code == 0x406 )
-+#endif // HAVE_CUPS_1_6
-               return true;
- 
-+#ifdef HAVE_CUPS_1_6
-+      if (!request_ || ippGetState(request_) == IPP_ERROR || 
(ippGetStatusCode(request_) & 0x0F00))
-+#else // HAVE_CUPS_1_6
-       if (!request_ || request_->state == IPP_ERROR || 
(request_->request.status.status_code & 0x0F00))
-+#endif // HAVE_CUPS_1_6
-               return false;
- 
- 
-@@ -356,14 +455,88 @@
-       output << "<tr><th bgcolor=\"dark blue\"><font color=\"white\">" << 
i18n("Attribute") << "</font></th>" << endl;
-       output << "<th bgcolor=\"dark blue\"><font color=\"white\">" << 
i18n("Values") << "</font></th></tr>" << endl;
-       // go to the first attribute of the specified group
-+#ifdef HAVE_CUPS_1_6
-+      ipp_attribute_t *attr = ippFirstAttribute(request_);
-+      while (attr && ippGetGroupTag(attr) != group)
-+              attr = ippNextAttribute(request_);
-+#else // HAVE_CUPS_1_6
-       ipp_attribute_t *attr = request_->attrs;
-       while (attr && attr->group_tag != group)
-               attr = attr->next;
-+#endif // HAVE_CUPS_1_6
-       // print each attribute
--      ipp_uchar_t     *d;
--      QCString        dateStr;
--      QDateTime       dt;
--      bool    bg(false);
-+      const ipp_uchar_t       *d;
-+      QCString                dateStr;
-+      QDateTime               dt;
-+      bool                    bg(false);
-+#ifdef HAVE_CUPS_1_6
-+      while (attr && ippGetGroupTag(attr) == group)
-+      {
-+              output << "  <tr bgcolor=\"" << (bg ? "#ffffd9" : "#ffffff") << 
"\">\n    <td><b>" << ippGetName(attr) << "</b></td>\n    <td>" << endl;
-+              bg = !bg;
-+              for (int i=0; i<ippGetCount(attr); i++)
-+              {
-+                      switch (ippGetValueTag(attr))
-+                      {
-+                              case IPP_TAG_INTEGER:
-+                                      if (ippGetName(attr) && 
strstr(ippGetName(attr), "time"))
-+                                      {
-+                                              dt.setTime_t((unsigned 
int)(ippGetInteger(attr, i)));
-+                                              output << dt.toString();
-+                                      }
-+                                      else
-+                                              output << ippGetInteger(attr, 
i);
-+                                      break;
-+                              case IPP_TAG_ENUM:
-+                                      output << "0x" << hex << 
ippGetInteger(attr, i) << dec;
-+                                      break;
-+                              case IPP_TAG_BOOLEAN:
-+                                      output << (ippGetBoolean(attr, i) ? 
i18n("True") : i18n("False"));
-+                                      break;
-+                              case IPP_TAG_STRING:
-+                              case IPP_TAG_TEXTLANG:
-+                              case IPP_TAG_NAMELANG:
-+                              case IPP_TAG_TEXT:
-+                              case IPP_TAG_NAME:
-+                              case IPP_TAG_KEYWORD:
-+                              case IPP_TAG_URI:
-+                              case IPP_TAG_CHARSET:
-+                              case IPP_TAG_LANGUAGE:
-+                              case IPP_TAG_MIMETYPE:
-+                                      output << ippGetString(attr, i, NULL);
-+                                      break;
-+                              case IPP_TAG_RESOLUTION:
-+                                      int xres;
-+                                      int yres;
-+                                      ipp_res_t units;
-+                                      xres = ippGetResolution(attr, i, &yres, 
&units);
-+                                      output << "( " << xres
-+                                             << ", " << yres << " )";
-+                                      break;
-+                              case IPP_TAG_RANGE:
-+                                      int lowervalue;
-+                                      int uppervalue;
-+                                      lowervalue = ippGetRange(attr, i, 
&uppervalue);
-+                                      output << "[ " << (lowervalue > 0 ? 
lowervalue : 1)
-+                                             << ", " << (uppervalue > 0 ? 
uppervalue : 65535) << " ]";
-+                                      break;
-+                              case IPP_TAG_DATE:
-+                                      d = ippGetDate(attr, i);
-+                                      dateStr.sprintf("%.4d-%.2d-%.2d, 
%.2d:%.2d:%.2d %c%.2d%.2d",
-+                                                      d[0]*256+d[1], d[2], 
d[3],
-+                                                      d[4], d[5], d[6],
-+                                                      d[8], d[9], d[10]);
-+                                      output << dateStr;
-+                                      break;
-+                              default:
-+                                      continue;
-+                      }
-+                      if (i < ippGetCount(attr)-1)
-+                              output << "<br>";
-+              }
-+              output << "</td>\n  </tr>" << endl;
-+              attr = ippNextAttribute(request_);
-+#else // HAVE_CUPS_1_6
-       while (attr && attr->group_tag == group)
-       {
-               output << "  <tr bgcolor=\"" << (bg ? "#ffffd9" : "#ffffff") << 
"\">\n    <td><b>" << attr->name << "</b></td>\n    <td>" << endl;
-@@ -423,6 +596,7 @@
-               }
-               output << "</td>\n  </tr>" << endl;
-               attr = attr->next;
-+#endif // HAVE_CUPS_1_6
-       }
-       // end table
-       output << "</table>" << endl;
-@@ -438,6 +612,59 @@
-               ipp_attribute_t *attr = first();
-               while (attr)
-               {
-+#ifdef HAVE_CUPS_1_6
-+                      if (group != -1 && ippGetGroupTag(attr) != group)
-+                      {
-+                              attr = ippNextAttribute(request_);
-+                              continue;
-+                      }
-+                      QString value;
-+                      for (int i=0; i<ippGetCount(attr); i++)
-+                      {
-+                              switch (ippGetValueTag(attr))
-+                              {
-+                                      case IPP_TAG_INTEGER:
-+                                      case IPP_TAG_ENUM:
-+                                              
value.append(QString::number(ippGetInteger(attr, i))).append(",");
-+                                              break;
-+                                      case IPP_TAG_BOOLEAN:
-+                                              
value.append((ippGetBoolean(attr, i) ? "true" : "false")).append(",");
-+                                              break;
-+                                      case IPP_TAG_RANGE:
-+                                              int lowervalue;
-+                                              int uppervalue;
-+                                              lowervalue = ippGetRange(attr, 
i, &uppervalue);
-+                                              if (lowervalue > 0)
-+                                                      
value.append(QString::number(lowervalue));
-+                                              if (lowervalue != uppervalue)
-+                                              {
-+                                                      value.append("-");
-+                                                      if (uppervalue > 0)
-+                                                              
value.append(QString::number(uppervalue));
-+                                              }
-+                                              value.append(",");
-+                                              break;
-+                                      case IPP_TAG_STRING:
-+                                      case IPP_TAG_TEXT:
-+                                      case IPP_TAG_NAME:
-+                                      case IPP_TAG_KEYWORD:
-+                                      case IPP_TAG_URI:
-+                                      case IPP_TAG_MIMETYPE:
-+                                      case IPP_TAG_NAMELANG:
-+                                      case IPP_TAG_TEXTLANG:
-+                                      case IPP_TAG_CHARSET:
-+                                      case IPP_TAG_LANGUAGE:
-+                                              
value.append(QString::fromLocal8Bit(ippGetString(attr, i, NULL))).append(",");
-+                                              break;
-+                                      default:
-+                                              break;
-+                              }
-+                      }
-+                      if (!value.isEmpty())
-+                              value.truncate(value.length()-1);
-+                      opts[QString::fromLocal8Bit(ippGetName(attr))] = value;
-+                      attr = ippNextAttribute(request_);
-+#else // HAVE_CUPS_1_6
-                       if (group != -1 && attr->group_tag != group)
-                       {
-                               attr = attr->next;
-@@ -486,6 +713,7 @@
-                               value.truncate(value.length()-1);
-                       opts[QString::fromLocal8Bit(attr->name)] = value;
-                       attr = attr->next;
-+#endif // HAVE_CUPS_1_6
-               }
-       }
-       return opts;
-@@ -542,3 +770,11 @@
-       }
- #endif
- }
-+
-+#ifdef HAVE_CUPS_1_6
-+ipp_attribute_t* IppRequest::first()
-+{ return (request_ ? ippFirstAttribute(request_) : NULL); }
-+#else // HAVE_CUPS_1_6
-+ipp_attribute_t* IppRequest::first()
-+{ return (request_ ? request_->attrs : NULL); }
-+#endif // HAVE_CUPS_1_6
-diff -ur kdelibs-3.5.10/kdeprint/cups/ipprequest.h 
kdelibs-3.5.10-cups16/kdeprint/cups/ipprequest.h
---- kdelibs-3.5.10/kdeprint/cups/ipprequest.h  2005-10-10 17:06:30.000000000 
+0200
-+++ kdelibs-3.5.10-cups16/kdeprint/cups/ipprequest.h   2012-12-25 
16:37:50.000000000 +0100
-@@ -27,6 +27,8 @@
- 
- #include <cups/ipp.h>
- 
-+#include "config.h"
-+
- class IppRequest
- {
- public:
-@@ -72,7 +74,10 @@
-       bool keyword(const QString& name, QStringList& value);
-       bool mime(const QString& name, QString& value);
-       ipp_attribute_t* first();
-+#ifndef HAVE_CUPS_1_6
-       ipp_attribute_t* last();
-+#endif // HAVE_CUPS_1_6
-+      ipp_t* request();
-       QMap<QString,QString> toMap(int group = -1);
-       void setMap(const QMap<QString,QString>& opts);
- 
-@@ -178,11 +183,10 @@
- inline bool IppRequest::doRequest(const QString& res)
- { return doFileRequest(res); }
- 
--inline ipp_attribute_t* IppRequest::first()
--{ return (request_ ? request_->attrs : NULL); }
--
-+#ifndef HAVE_CUPS_1_6
- inline ipp_attribute_t* IppRequest::last()
- { return (request_ ? request_->last : NULL); }
-+#endif // HAVE_CUPS_1_6
- 
- inline void IppRequest::setHost(const QString& host)
- { host_ = host; }
-@@ -193,4 +197,7 @@
- inline void IppRequest::dump(int state)
- { dump_ = state; }
- 
-+inline ipp_t* IppRequest::request()
-+{ return request_; }
-+
- #endif
-diff -ur kdelibs-3.5.10/kdeprint/cups/kmcupsjobmanager.cpp 
kdelibs-3.5.10-cups16/kdeprint/cups/kmcupsjobmanager.cpp
---- kdelibs-3.5.10/kdeprint/cups/kmcupsjobmanager.cpp  2007-01-15 
12:34:19.000000000 +0100
-+++ kdelibs-3.5.10-cups16/kdeprint/cups/kmcupsjobmanager.cpp   2012-12-25 
16:34:57.000000000 +0100
-@@ -36,6 +36,8 @@
- #include <kdebug.h>
- #include <kurl.h>
- 
-+#include "config.h"
-+
- KMCupsJobManager::KMCupsJobManager(QObject *parent, const char *name, const 
QStringList & /*args*/)
- : KMJobManager(parent,name)
- {
-@@ -166,10 +168,79 @@
- void KMCupsJobManager::parseListAnswer(IppRequest& req, KMPrinter *pr)
- {
-       ipp_attribute_t *attr = req.first();
-+      ipp_attribute_t *nextAttr;
-       KMJob           *job = new KMJob();
-       QString         uri;
-       while (attr)
-       {
-+#ifdef HAVE_CUPS_1_6
-+              QString name(ippGetName(attr));
-+              if (name == "job-id") job->setId(ippGetInteger(attr, 0));
-+              else if (name == "job-uri") 
job->setUri(QString::fromLocal8Bit(ippGetString(attr, 0, NULL)));
-+              else if (name == "job-name") 
job->setName(QString::fromLocal8Bit(ippGetString(attr, 0, NULL)));
-+              else if (name == "job-state")
-+              {
-+                      switch (ippGetInteger(attr, 0))
-+                      {
-+                              case IPP_JOB_PENDING:
-+                                      job->setState(KMJob::Queued);
-+                                      break;
-+                              case IPP_JOB_HELD:
-+                                      job->setState(KMJob::Held);
-+                                      break;
-+                              case IPP_JOB_PROCESSING:
-+                                      job->setState(KMJob::Printing);
-+                                      break;
-+                              case IPP_JOB_STOPPED:
-+                                      job->setState(KMJob::Error);
-+                                      break;
-+                              case IPP_JOB_CANCELLED:
-+                                      job->setState(KMJob::Cancelled);
-+                                      break;
-+                              case IPP_JOB_ABORTED:
-+                                      job->setState(KMJob::Aborted);
-+                                      break;
-+                              case IPP_JOB_COMPLETED:
-+                                      job->setState(KMJob::Completed);
-+                                      break;
-+                              default:
-+                                      job->setState(KMJob::Unknown);
-+                                      break;
-+                      }
-+              }
-+              else if (name == "job-k-octets") 
job->setSize(ippGetInteger(attr, 0));
-+              else if (name == "job-originating-user-name") 
job->setOwner(QString::fromLocal8Bit(ippGetString(attr, 0, NULL)));
-+              else if (name == "job-k-octets-completed") 
job->setProcessedSize(ippGetInteger(attr, 0));
-+              else if (name == "job-media-sheets") 
job->setPages(ippGetInteger(attr, 0));
-+              else if (name == "job-media-sheets-completed") 
job->setProcessedPages(ippGetInteger(attr, 0));
-+              else if (name == "job-printer-uri" && !pr->isRemote())
-+              {
-+                      QString str(ippGetString(attr, 0, NULL));
-+                      int     p = str.findRev('/');
-+                      if (p != -1)
-+                              job->setPrinter(str.mid(p+1));
-+              }
-+              else if (name == "job-priority")
-+              {
-+                      job->setAttribute(0, 
QString::fromLatin1("%1").arg(ippGetInteger(attr, 0), 3));
-+              }
-+              else if (name == "job-billing")
-+              {
-+                      job->setAttributeCount(2);
-+                      job->setAttribute(1, 
QString::fromLocal8Bit(ippGetString(attr, 0, NULL)));
-+              }
-+
-+              nextAttr = ippNextAttribute(req.request());
-+              if (name.isEmpty() || (!nextAttr))
-+              {
-+                      if (job->printer().isEmpty())
-+                              job->setPrinter(pr->printerName());
-+                      job->setRemote(pr->isRemote());
-+                      addJob(job);    // don't use job after this call !!!
-+                      job = new KMJob();
-+              }
-+              attr = nextAttr;
-+#else // HAVE_CUPS_1_6
-               QString name(attr->name);
-               if (name == "job-id") job->setId(attr->values[0].integer);
-               else if (name == "job-uri") 
job->setUri(QString::fromLocal8Bit(attr->values[0].string.text));
-@@ -236,6 +307,7 @@
-               }
- 
-               attr = attr->next;
-+#endif // HAVE_CUPS_1_6
-       }
-       delete job;
- }
-diff -ur kdelibs-3.5.10/kdeprint/cups/kmcupsmanager.cpp 
kdelibs-3.5.10-cups16/kdeprint/cups/kmcupsmanager.cpp
---- kdelibs-3.5.10/kdeprint/cups/kmcupsmanager.cpp     2007-01-15 
12:34:19.000000000 +0100
-+++ kdelibs-3.5.10-cups16/kdeprint/cups/kmcupsmanager.cpp      2012-12-25 
16:34:57.000000000 +0100
-@@ -476,9 +476,59 @@
- void KMCupsManager::processRequest(IppRequest* req)
- {
-       ipp_attribute_t *attr = req->first();
-+      ipp_attribute_t *nextAttr;
-       KMPrinter       *printer = new KMPrinter();
-       while (attr)
-       {
-+#ifdef HAVE_CUPS_1_6
-+              QString attrname(ippGetName(attr));
-+              if (attrname == "printer-name")
-+              {
-+                      QString value = 
QString::fromLocal8Bit(ippGetString(attr, 0, NULL));
-+                      printer->setName(value);
-+                      printer->setPrinterName(value);
-+              }
-+              else if (attrname == "printer-type")
-+              {
-+                      int     value = ippGetInteger(attr, 0);
-+                      printer->setType(0);
-+                      printer->addType(((value & CUPS_PRINTER_CLASS) || 
(value & CUPS_PRINTER_IMPLICIT) ? KMPrinter::Class : KMPrinter::Printer));
-+                      if ((value & CUPS_PRINTER_REMOTE)) 
printer->addType(KMPrinter::Remote);
-+                      if ((value & CUPS_PRINTER_IMPLICIT)) 
printer->addType(KMPrinter::Implicit);
-+
-+                      // convert printer-type attribute
-+                      printer->setPrinterCap( ( value & CUPS_PRINTER_OPTIONS 
) >> 2 );
-+              }
-+              else if (attrname == "printer-state")
-+              {
-+                      switch (ippGetInteger(attr, 0))
-+                      {
-+                              case IPP_PRINTER_IDLE: 
printer->setState(KMPrinter::Idle); break;
-+                              case IPP_PRINTER_PROCESSING: 
printer->setState(KMPrinter::Processing); break;
-+                              case IPP_PRINTER_STOPPED: 
printer->setState(KMPrinter::Stopped); break;
-+                      }
-+              }
-+              else if (attrname == "printer-uri-supported")
-+              {
-+                      printer->setUri(KURL(ippGetString(attr, 0, NULL)));
-+              }
-+              else if (attrname == "printer-location")
-+              {
-+                      
printer->setLocation(QString::fromLocal8Bit(ippGetString(attr, 0, NULL)));
-+              }
-+              else if (attrname == "printer-is-accepting-jobs")
-+              {
-+                      printer->setAcceptJobs(ippGetBoolean(attr, 0));
-+              }
-+
-+              nextAttr = ippNextAttribute(req->request());
-+              if (attrname.isEmpty() || (!nextAttr))
-+              {
-+                      addPrinter(printer);
-+                      printer = new KMPrinter();
-+              }
-+              attr = nextAttr;
-+#else // HAVE_CUPS_1_6
-               QString attrname(attr->name);
-               if (attrname == "printer-name")
-               {
-@@ -524,6 +574,7 @@
-                       printer = new KMPrinter();
-               }
-               attr = attr->next;
-+#endif // HAVE_CUPS_1_6
-       }
-       delete printer;
- }
-@@ -817,6 +868,7 @@
- {
-       QStringList     list;
-       IppRequest      req;
-+      ipp_attribute_t *nextAttr;
-       req.setOperation(CUPS_GET_DEVICES);
-       if (req.doRequest("/"))
-       {
-@@ -824,6 +876,24 @@
-               ipp_attribute_t *attr = req.first();
-               while (attr)
-               {
-+#ifdef HAVE_CUPS_1_6
-+                      QString attrname(ippGetName(attr));
-+                      if (attrname == "device-info") desc = 
ippGetString(attr, 0, NULL);
-+                      else if (attrname == "device-make-and-model") printer = 
ippGetString(attr, 0, NULL);
-+                      else if (attrname == "device-uri") uri = 
ippGetString(attr, 0, NULL);
-+                      else if ( attrname == "device-class" ) cl = 
ippGetString(attr, 0, NULL);
-+                      nextAttr = ippNextAttribute(req.request());
-+                      if (attrname.isEmpty() || (!nextAttr))
-+                      {
-+                              if (!uri.isEmpty())
-+                              {
-+                                      if (printer == "Unknown") printer = 
QString::null;
-+                                      list << cl << uri << desc << printer;
-+                              }
-+                              uri = desc = printer = cl = QString::null;
-+                      }
-+                      attr = nextAttr;
-+#else // HAVE_CUPS_1_6
-                       QString attrname(attr->name);
-                       if (attrname == "device-info") desc = 
attr->values[0].string.text;
-                       else if (attrname == "device-make-and-model") printer = 
attr->values[0].string.text;
-@@ -839,6 +909,7 @@
-                               uri = desc = printer = cl = QString::null;
-                       }
-                       attr = attr->next;
-+#endif // HAVE_CUPS_1_6
-               }
-       }
-       return list;
-diff -ur kdelibs-3.5.10/kdeprint/cups/kmcupsuimanager.cpp 
kdelibs-3.5.10-cups16/kdeprint/cups/kmcupsuimanager.cpp
---- kdelibs-3.5.10/kdeprint/cups/kmcupsuimanager.cpp   2006-10-01 
19:33:43.000000000 +0200
-+++ kdelibs-3.5.10-cups16/kdeprint/cups/kmcupsuimanager.cpp    2012-12-25 
16:34:57.000000000 +0100
-@@ -60,6 +60,8 @@
- #include <kaction.h>
- #include <kmessagebox.h>
- 
-+#include "config.h"
-+
- KMCupsUiManager::KMCupsUiManager(QObject *parent, const char *name, const 
QStringList & /*args*/)
- : KMUiManager(parent,name)
- {
-@@ -143,6 +145,24 @@
-               ipp_attribute_t *attr = req.first();
-               while (attr)
-               {
-+#ifdef HAVE_CUPS_1_6
-+                      if (ippGetName(attr) && 
strcmp(ippGetName(attr),"device-uri") == 0)
-+                      {
-+                              if (strncmp(ippGetString(attr, 0, 
NULL),"socket",6) == 0) backend->enableBackend(KMWizard::TCP,true);
-+                              else if (strncmp(ippGetString(attr, 0, 
NULL),"parallel",8) == 0) backend->enableBackend(KMWizard::Local,true);
-+                              else if (strncmp(ippGetString(attr, 0, 
NULL),"serial",6) == 0) backend->enableBackend(KMWizard::Local,true);
-+                              else if (strncmp(ippGetString(attr, 0, 
NULL),"smb",3) == 0) backend->enableBackend(KMWizard::SMB,true);
-+                              else if (strncmp(ippGetString(attr, 0, 
NULL),"lpd",3) == 0) backend->enableBackend(KMWizard::LPD,true);
-+                              else if (strncmp(ippGetString(attr, 0, 
NULL),"usb",3) == 0) backend->enableBackend(KMWizard::Local,true);
-+                              else if (strncmp(ippGetString(attr, 0, 
NULL),"http",4) == 0 || strncmp(ippGetString(attr, 0, NULL),"ipp",3) == 0)
-+                              {
-+                                      
backend->enableBackend(KMWizard::IPP,true);
-+                                      
backend->enableBackend(KMWizard::Custom+1,true);
-+                              }
-+                              else if (strncmp(ippGetString(attr, 0, 
NULL),"fax",3) == 0) backend->enableBackend(KMWizard::Custom+2,true);
-+                      }
-+                      attr = ippNextAttribute(req.request());
-+#else // HAVE_CUPS_1_6
-                       if (attr->name && strcmp(attr->name,"device-uri") == 0)
-                       {
-                               if 
(strncmp(attr->values[0].string.text,"socket",6) == 0) 
backend->enableBackend(KMWizard::TCP,true);
-@@ -159,6 +179,7 @@
-                               else if 
(strncmp(attr->values[0].string.text,"fax",3) == 0) 
backend->enableBackend(KMWizard::Custom+2,true);
-                       }
-                       attr = attr->next;
-+#endif // HAVE_CUPS_1_6
-               }
-               backend->enableBackend(KMWizard::Class, true);
-               backend->enableBackend(KMWizard::Custom+5, true);
-diff -ur kdelibs-3.5.10/kdeprint/cups/kmwfax.cpp 
kdelibs-3.5.10-cups16/kdeprint/cups/kmwfax.cpp
---- kdelibs-3.5.10/kdeprint/cups/kmwfax.cpp    2007-01-15 12:34:19.000000000 
+0100
-+++ kdelibs-3.5.10-cups16/kdeprint/cups/kmwfax.cpp     2012-12-25 
16:34:57.000000000 +0100
-@@ -30,6 +30,8 @@
- #include <kiconloader.h>
- #include <kurl.h>
- 
-+#include "config.h"
-+
- KMWFax::KMWFax(QWidget *parent, const char *name)
- : KMWizardPage(parent,name)
- {
-@@ -55,11 +57,19 @@
-               ipp_attribute_t *attr = req.first();
-               while (attr)
-               {
-+#ifdef HAVE_CUPS_1_6
-+                      if (ippGetName(attr) && 
strcmp(ippGetName(attr),"device-uri") == 0 && strncmp(ippGetString(attr, 0, 
NULL),"fax",3) == 0)
-+                      {
-+                              
m_list->insertItem(SmallIcon("blockdevice"),QString::fromLatin1(ippGetString(attr,
 0, NULL)));
-+                      }
-+                      attr = ippNextAttribute(req.request());
-+#else // HAVE_CUPS_1_6
-                       if (attr->name && strcmp(attr->name,"device-uri") == 0 
&& strncmp(attr->values[0].string.text,"fax",3) == 0)
-                       {
-                               
m_list->insertItem(SmallIcon("blockdevice"),QString::fromLatin1(attr->values[0].string.text));
-                       }
-                       attr = attr->next;
-+#endif // HAVE_CUPS_1_6
-               }
-       }
- }
-diff -ur kdelibs-3.5.10/kdeprint/cups/kmwippselect.cpp 
kdelibs-3.5.10-cups16/kdeprint/cups/kmwippselect.cpp
---- kdelibs-3.5.10/kdeprint/cups/kmwippselect.cpp      2007-01-15 
12:34:19.000000000 +0100
-+++ kdelibs-3.5.10-cups16/kdeprint/cups/kmwippselect.cpp       2012-12-25 
16:34:57.000000000 +0100
-@@ -29,6 +29,8 @@
- #include <kdebug.h>
- #include <kiconloader.h>
- 
-+#include "config.h"
-+
- KMWIppSelect::KMWIppSelect(QWidget *parent, const char *name)
- : KMWizardPage(parent,name)
- {
-@@ -83,9 +85,15 @@
-               ipp_attribute_t *attr = req.first();
-               while (attr)
-               {
-+#ifdef HAVE_CUPS_1_6
-+                      if (ippGetName(attr) && 
strcmp(ippGetName(attr),"printer-name") == 0)
-+                              
m_list->insertItem(SmallIcon("kdeprint_printer"),QString::fromLatin1(ippGetString(attr,
 0, NULL)));
-+                      attr = ippNextAttribute(req.request());
-+#else // HAVE_CUPS_1_6
-                       if (attr->name && strcmp(attr->name,"printer-name") == 
0)
-                               
m_list->insertItem(SmallIcon("kdeprint_printer"),QString::fromLatin1(attr->values[0].string.text));
-                       attr = attr->next;
-+#endif // HAVE_CUPS_1_6
-               }
-               m_list->sort();
-       }
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/kdelibs.git/commitdiff/bebbf7283de02f6dfb8c1326b800d88c4e807c11

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to