extra/qt to 4.8.0-6

This commit is contained in:
Kevin Mihelich 2012-03-09 12:11:50 -05:00
parent 7afadf567a
commit 1e5610e5fc
2 changed files with 95 additions and 7 deletions

View file

@ -14,7 +14,7 @@ plugrel=1
pkgbase=qt
pkgname=('qt' 'qt-private-headers')
pkgver=4.8.0
pkgrel=5
pkgrel=6
arch=('i686' 'x86_64')
url='http://qt-project.org/'
license=('GPL3' 'LGPL')
@ -29,7 +29,8 @@ source=("http://get.qt.nokia.com/qt/source/${_pkgfqn}.tar.gz"
'qtconfig.desktop'
'fix-qgraphicsscene-regression.patch'
'improved-filter-event.patch'
'qurl-backward-compatibility.patch')
'qurl-backward-compatibility.patch'
'improve-cups-support.patch')
md5sums=('e8a5fdbeba2927c948d9f477a6abe904'
'fc211414130ab2764132e7370f8e5caa'
'85179f5e0437514f8639957e1d8baf62'
@ -37,7 +38,8 @@ md5sums=('e8a5fdbeba2927c948d9f477a6abe904'
'6b771c8a81dd90b45e8a79afa0e5bbfd'
'c2e91fc028250a590e76effe234468e2'
'444ebeb716d7c7379835efb8aa88e6c8'
'7bc255a36733d0fbc80c1902ade4beca')
'7bc255a36733d0fbc80c1902ade4beca'
'c439c7731c25387352d8453ca7574971')
build() {
cd "${srcdir}"/${_pkgfqn}
@ -48,6 +50,9 @@ build() {
patch -p1 -i "${srcdir}"/improved-filter-event.patch
patch -p1 -i "${srcdir}"/qurl-backward-compatibility.patch
# (FS#28381) (KDEBUG#180051)
patch -p1 -i "${srcdir}"/improve-cups-support.patch
export QT4DIR="${srcdir}"/${_pkgfqn}
export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH}
@ -58,10 +63,8 @@ build() {
sed -i "/^QMAKE_LFLAGS\s/s|+=|+= ${LDFLAGS}|g" mkspecs/common/gcc-base.conf
if [ "${CARCH}" = "armv7h" ]; then
useneon=""
mymakeflags="-j2"
else
useneon="-no-neon"
mymakeflags="-j1"
fi
@ -72,7 +75,7 @@ build() {
-importdir /usr/lib/qt/imports \
-datadir /usr/share/qt \
-translationdir /usr/share/qt/translations \
-sysconfdir /etc \
-sysconfdir /etc/xdg \
-examplesdir /usr/share/doc/qt/examples \
-demosdir /usr/share/doc/qt/demos \
-plugin-sql-{psql,mysql,sqlite,odbc} \
@ -99,7 +102,8 @@ build() {
-no-ssse3 \
-no-sse4.1 \
-no-sse4.2 \
-no-avx ${useneon}
-no-avx \
-no-neon
make ${mymakeflags}
}

View file

@ -0,0 +1,84 @@
diff -ur qt-everywhere-opensource-src-4.6.2/src/gui/dialogs/qprintdialog_unix.cpp qt-everywhere-opensource-src-4.6.2-cups/src/gui/dialogs/qprintdialog_unix.cpp
--- qt-everywhere-opensource-src-4.6.2/src/gui/dialogs/qprintdialog_unix.cpp 2010-02-11 16:55:22.000000000 +0100
+++ qt-everywhere-opensource-src-4.6.2-cups/src/gui/dialogs/qprintdialog_unix.cpp 2010-02-28 04:34:16.000000000 +0100
@@ -569,6 +569,32 @@
void QPrintDialogPrivate::selectPrinter(QCUPSSupport *cups)
{
options.duplex->setEnabled(cups && cups->ppdOption("Duplex"));
+
+ if (cups) {
+ const ppd_option_t* duplex = cups->ppdOption("Duplex");
+ if (duplex) {
+ // copy default ppd duplex to qt dialog
+ if (qstrcmp(duplex->defchoice, "DuplexTumble") == 0)
+ options.duplexShort->setChecked(true);
+ else if (qstrcmp(duplex->defchoice, "DuplexNoTumble") == 0)
+ options.duplexLong->setChecked(true);
+ else
+ options.noDuplex->setChecked(true);
+ }
+
+ if (cups->currentPPD()) {
+ // set default color
+ if (cups->currentPPD()->color_device)
+ options.color->setChecked(true);
+ else
+ options.grayscale->setChecked(true);
+ }
+
+ // set collation
+ const ppd_option_t *collate = cups->ppdOption("Collate");
+ if (collate)
+ options.collate->setChecked(qstrcmp(collate->defchoice, "True")==0);
+ }
}
#endif
diff -ur qt-everywhere-opensource-src-4.6.2/src/gui/painting/qprinter.cpp qt-everywhere-opensource-src-4.6.2-cups/src/gui/painting/qprinter.cpp
--- qt-everywhere-opensource-src-4.6.2/src/gui/painting/qprinter.cpp 2010-02-11 16:55:22.000000000 +0100
+++ qt-everywhere-opensource-src-4.6.2-cups/src/gui/painting/qprinter.cpp 2010-02-28 04:55:15.000000000 +0100
@@ -627,6 +627,44 @@
&& d_ptr->paintEngine->type() != QPaintEngine::MacPrinter) {
setOutputFormat(QPrinter::PdfFormat);
}
+
+#if !defined(QT_NO_CUPS) && !defined(QT_NO_LIBRARY)
+ // fill in defaults from ppd file
+ QCUPSSupport cups;
+
+ int printernum = -1;
+ for (int i = 0; i < cups.availablePrintersCount(); i++) {
+ if (printerName().toLocal8Bit() == cups.availablePrinters()[i].name)
+ printernum = i;
+ }
+ if (printernum >= 0) {
+ cups.setCurrentPrinter(printernum);
+
+ const ppd_option_t* duplex = cups.ppdOption("Duplex");
+ if (duplex) {
+ // copy default ppd duplex to qt dialog
+ if (qstrcmp(duplex->defchoice, "DuplexTumble") == 0)
+ setDuplex(DuplexShortSide);
+ else if (qstrcmp(duplex->defchoice, "DuplexNoTumble") == 0)
+ setDuplex(DuplexLongSide);
+ else
+ setDuplex(DuplexNone);
+ }
+
+ if (cups.currentPPD()) {
+ // set default color
+ if (cups.currentPPD()->color_device)
+ setColorMode(Color);
+ else
+ setColorMode(GrayScale);
+ }
+
+ // set collation
+ const ppd_option_t *collate = cups.ppdOption("Collate");
+ if (collate)
+ setCollateCopies(qstrcmp(collate->defchoice, "True")==0);
+ }
+#endif
}
/*!