Ignore:
Timestamp:
Feb 17, 2010, 8:53:20 PM (15 years ago)
Author:
Dmitry A. Kuminov
Message:

gui: Implemented support for printing through CUPS on OS/2.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/gui/painting/qpdf.cpp

    r561 r573  
    941941{
    942942    Q_D(QPdfBaseEngine);
    943 #if !defined(QT_NO_CUPS) && !defined(QT_NO_LIBRARY)
     943#if !defined(QT_NO_CUPS) && (!defined(QT_NO_LIBRARY) || defined(Q_WS_PM))
    944944    if (QCUPSSupport::isAvailable()) {
    945945        QCUPSSupport cups;
     
    15061506        break;
    15071507    case PPK_NumberOfCopies:
    1508 #if !defined(QT_NO_CUPS) && !defined(QT_NO_LIBRARY)
     1508#if !defined(QT_NO_CUPS) && (!defined(QT_NO_LIBRARY) || defined(Q_WS_PM))
    15091509        if (QCUPSSupport::isAvailable())
    15101510            ret = 1;
     
    16731673        }
    16741674        outDevice = file;
    1675 #if !defined(QT_NO_CUPS) && !defined(QT_NO_LIBRARY)
     1675#if !defined(QT_NO_CUPS) && (!defined(QT_NO_LIBRARY) || defined(Q_WS_PM))
    16761676    } else if (QCUPSSupport::isAvailable()) {
    16771677        QCUPSSupport cups;
     
    16911691            pr = printerName;
    16921692        int fds[2];
     1693#ifdef Q_WS_PM
     1694        if (::pipe(fds) != 0) {
     1695#else
    16931696        if (qt_safe_pipe(fds) != 0) {
     1697#endif
    16941698            qWarning("QPdfPrinter: Could not open pipe to print");
    16951699            return false;
     
    17121716                ::_exit(0);
    17131717            }
     1718#ifdef Q_WS_PM
     1719            ::dup2(fds[0], 0);
     1720#else
    17141721            qt_safe_dup2(fds[0], 0, 0);
     1722#endif
    17151723
    17161724            closeAllOpenFds();
     
    17891797        QT_CLOSE(fds[0]);
    17901798        fd = fds[1];
     1799#ifdef Q_WS_PM
     1800        (void)::waitpid(pid, 0, 0);
     1801#else
    17911802        (void)qt_safe_waitpid(pid, 0, 0);
    1792 
     1803#endif
    17931804        if (fd < 0)
    17941805            return false;
     
    18171828    outDevice = 0;
    18181829
    1819 #if !defined(QT_NO_CUPS) && !defined(QT_NO_LIBRARY)
     1830#if !defined(QT_NO_CUPS) && (!defined(QT_NO_LIBRARY) || defined(Q_WS_PM))
    18201831    if (!cupsTempFile.isEmpty()) {
    18211832        QString tempFile = cupsTempFile;
     
    20302041        h = qRound(customPaperSize.height()*resolution/72.);
    20312042    } else {
    2032 #if !defined(QT_NO_CUPS) && !defined(QT_NO_LIBRARY)
     2043#if !defined(QT_NO_CUPS) && (!defined(QT_NO_LIBRARY) || defined(Q_WS_PM))
    20332044        if (QCUPSSupport::isAvailable() && !cupsPaperRect.isNull()) {
    20342045            QRect r = cupsPaperRect;
     
    20582069    QRect r;
    20592070
    2060 #if !defined(QT_NO_CUPS) && !defined(QT_NO_LIBRARY)
     2071#if !defined(QT_NO_CUPS) && (!defined(QT_NO_LIBRARY) || defined(Q_WS_PM))
    20612072    if (!hasCustomPageMargins && QCUPSSupport::isAvailable() && !cupsPageRect.isNull()) {
    20622073        r = cupsPageRect;
Note: See TracChangeset for help on using the changeset viewer.