diff --git a/desktop/toolkit/qt/actions.py b/desktop/toolkit/qt/actions.py deleted file mode 100644 index 7218e7ad02..0000000000 --- a/desktop/toolkit/qt/actions.py +++ /dev/null @@ -1,181 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- -# -# Licensed under the GNU General Public License, version 3. -# See the file http://www.gnu.org/licenses/gpl.txt - -from pisi.actionsapi import shelltools -from pisi.actionsapi import autotools -from pisi.actionsapi import pisitools -from pisi.actionsapi import qt4 -from pisi.actionsapi import get - -import os - -WorkDir = "qt-everywhere-opensource-src-%s" % get.srcVERSION().replace('_','-').replace('pre1', 'tp') - -qtbase = qt4.prefix -absoluteWorkDir = "%s/%s" % (get.workDIR(), WorkDir) -bindirQt4="/usr/lib/qt4/bin" - -def setup(): - pisitools.flags.add("-I/usr/include/gtk-2.0/gdk") - #make sure we don't use them - checkdeletepath="%s/qtbase/src/3rdparty" % absoluteWorkDir - for dir in ('libjpeg', 'freetype', 'libpng', 'zlib', "libtiff"): - if os.path.exists(checkdeletepath+dir): - shelltools.unlinkDir(checkdeletepath+dir) - - filteredCFLAGS = get.CFLAGS().replace("-g3", "-g") - filteredCXXFLAGS = get.CXXFLAGS().replace("-g3", "-g") - - vars = {"PISILINUX_CC" : get.CC() + (" -m32" if get.buildTYPE() == "emul32" else ""), - "PISILINUX_CXX": get.CXX() + (" -m32" if get.buildTYPE() == "emul32" else ""), - "PISILINUX_CFLAGS": filteredCFLAGS + (" -m32" if get.buildTYPE() == "emul32" else ""), - "PISILINUX_LDFLAGS": get.LDFLAGS() + (" -m32" if get.buildTYPE() == "emul32" else "")} - - for k, v in vars.items(): - pisitools.dosed("mkspecs/common/g++-base.conf", k, v) - pisitools.dosed("mkspecs/common/g++-unix.conf", k, v) - - shelltools.export("CFLAGS", filteredCFLAGS) - shelltools.export("CXXFLAGS", filteredCXXFLAGS) - #check that dosed commands without releated patches - pisitools.dosed("mkspecs/common/gcc-base-unix.conf", "\-Wl,\-rpath,") - pisitools.dosed("mkspecs/common/gcc-base.conf", "\-O2", filteredCFLAGS) - pisitools.dosed("mkspecs/common/gcc-base.conf", "^(QMAKE_LFLAGS\s+\+=)", r"\1 %s" % get.LDFLAGS()) - - if not get.buildTYPE() == "emul32": - #-no-pch makes build ccache-friendly - options = "-no-pch \ - -v \ - -stl \ - -fast \ - -qdbus \ - -qvfb \ - -glib \ - -no-sql-sqlite2 \ - -no-sql-sqlite \ - -system-sqlite \ - -system-zlib \ - -system-libpng \ - -system-libjpeg \ - -system-libtiff \ - -system-libmng \ - -plugin-sql-sqlite \ - -plugin-sql-odbc \ - -plugin-sql-psql \ - -plugin-sql-ibase \ - -I/usr/include/firebird/ \ - -I/usr/include/postgresql/server/ \ - -release \ - -no-separate-debug-info \ - -phonon \ - -no-phonon-backend \ - -webkit \ - -no-rpath \ - -openssl-linked \ - -dbus-linked \ - -xmlpatterns \ - -opensource \ - -reduce-relocations \ - -prefix %s \ - -bindir %s \ - -libdir %s \ - -docdir %s \ - -examplesdir %s \ - -demosdir %s\ - -plugindir %s \ - -translationdir %s \ - -sysconfdir %s \ - -datadir %s \ - -importdir %s \ - -headerdir %s \ - -confirm-license " % (qt4.prefix, bindirQt4, qt4.libdir, qt4.docdir, qt4.examplesdir, qt4.demosdir, qt4.plugindir, qt4.translationdir, -qt4.sysconfdir, -qt4.datadir, qt4.importdir, qt4.includedir) - else: - pisitools.dosed("mkspecs/linux-g++-64/qmake.conf", "-m64", "-m32") - shelltools.export("LDFLAGS", "-m32 %s" % get.LDFLAGS()) - options = "-no-pch \ - -v \ - -prefix /usr \ - -libdir /usr/lib32 \ - -plugindir /usr/lib32/qt/plugins \ - -importdir /usr/lib32/qt/imports \ - -datadir /usr/share/qt \ - -translationdir /usr/share/qt/translations \ - -sysconfdir /etc \ - -system-sqlite \ - -no-phonon \ - -no-phonon-backend \ - -webkit \ - -graphicssystem raster \ - -openssl-linked \ - -nomake demos \ - -nomake examples \ - -nomake docs \ - -nomake tools \ - -optimized-qmake \ - -no-rpath \ - -dbus-linked \ - -reduce-relocations \ - -no-openvg \ - -confirm-license \ - -opensource " - - autotools.rawConfigure(options) - -def build(): - shelltools.export("LD_LIBRARY_PATH", "%s/lib:%s" % (get.curDIR(), get.ENV("LD_LIBRARY_PATH"))) - autotools.make() - -def install(): - if get.buildTYPE() == "emul32": - qt4.install("INSTALL_ROOT=%s32" % get.installDIR()) - shelltools.move("%s32/usr/lib32" % get.installDIR(), "%s/usr" % get.installDIR()) - return - - qt4.install() - pisitools.dodir(qt4.bindir) - - #Remove phonon, we use KDE's phonon but we have to build Qt with Phonon support for webkit and some other stuff - pisitools.remove("%s/libphonon*" % qt4.libdir) - pisitools.removeDir("%s/phonon" % qt4.includedir) - if shelltools.isDirectory("%s/%s/phonon_backend" % (get.installDIR(), qt4.plugindir)): - pisitools.removeDir("%s/phonon_backend" % qt4.plugindir) - pisitools.remove("%s/pkgconfig/phonon*" % qt4.libdir) - # Phonon 4.5 provides libphononwidgets.so file - pisitools.remove("%s/designer/libphononwidgets.so" % qt4.plugindir) - - #Remove lost /usr/tests directory - pisitools.removeDir("usr/tests") - - # Turkish translations - shelltools.export("LD_LIBRARY_PATH", "%s%s" % (get.installDIR(), qt4.libdir)) - shelltools.system("%s%s/lrelease l10n-tr/*.ts" % (get.installDIR(), bindirQt4)) - pisitools.insinto(qt4.translationdir, "l10n-tr/*.qm") - - # Fix all occurances of WorkDir in pc files - pisitools.dosed("%s%s/pkgconfig/*.pc" % (get.installDIR(), qt4.libdir), "%s/qt-x11-opensource-src-%s" % (get.workDIR(), get.srcVERSION()), qt4.prefix) - - #I hope qtchooser will manage this issue - for bin in shelltools.ls("%s/usr/lib/qt4/bin" % get.installDIR()): - pisitools.dosym("/usr/lib/qt4/bin/%s" % bin, "/usr/bin/%s-qt4" % bin) - - mkspecPath = "%s/mkspecs" % qtbase - - for root, dirs, files in os.walk("%s%s" % (get.installDIR(), qtbase)): - # Remove unnecessary spec files.. - if root.endswith(mkspecPath): - for dir in dirs: - if not dir.startswith("linux") and dir not in ["common","qws","features","default"]: - pisitools.removeDir(os.path.join(mkspecPath,dir)) - for name in files: - if name.endswith(".prl"): - pisitools.dosed(os.path.join(root, name), "^QMAKE_PRL_BUILD_DIR.*", "") - - # Remove useless image directory, images of HTML docs are in doc/html/images - pisitools.removeDir("%s/src" % qt4.docdir) - - pisitools.dodoc("changes-*", "LGPL_EXCEPTION.txt", "LICENSE.*", "README") diff --git a/desktop/toolkit/qt/files/CVE-2014-0190.patch b/desktop/toolkit/qt/files/CVE-2014-0190.patch deleted file mode 100644 index da0b69d163..0000000000 --- a/desktop/toolkit/qt/files/CVE-2014-0190.patch +++ /dev/null @@ -1,32 +0,0 @@ -Don't crash on broken GIF images - -Broken GIF images could set invalid width and height -values inside the image, leading to Qt creating a null -QImage for it. In that case we need to abort decoding -the image and return an error. - -Initial patch by Rich Moore. - -Backport of Id82a4036f478bd6e49c402d6598f57e7e5bb5e1e from Qt 5 - -Task-number: QTBUG-38367 -Change-Id: I0680740018aaa8356d267b7af3f01fac3697312a -Security-advisory: CVE-2014-0190 - -diff -up qt-everywhere-opensource-src-4.8.6/src/gui/image/qgifhandler.cpp.QTBUG-38367 qt-everywhere-opensource-src-4.8.6/src/gui/image/qgifhandler.cpp ---- qt-everywhere-opensource-src-4.8.6/src/gui/image/qgifhandler.cpp.QTBUG-38367 2014-04-10 13:37:12.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.6/src/gui/image/qgifhandler.cpp 2014-04-24 15:58:54.515862458 -0500 -@@ -359,6 +359,13 @@ int QGIFFormat::decode(QImage *image, co - memset(bits, 0, image->byteCount()); - } - -+ // Check if the previous attempt to create the image failed. If it -+ // did then the image is broken and we should give up. -+ if (image->isNull()) { -+ state = Error; -+ return -1; -+ } -+ - disposePrevious(image); - disposed = false; - diff --git a/desktop/toolkit/qt/files/data/assistant.desktop b/desktop/toolkit/qt/files/data/assistant.desktop deleted file mode 100644 index 55a65a8d3a..0000000000 --- a/desktop/toolkit/qt/files/data/assistant.desktop +++ /dev/null @@ -1,136 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Exec=/usr/lib/qt4/bin/assistant -Name=Qt4 Assistant -Name[af]=Qt4 Assistent -Name[ar]=معاون Qt4 -Name[az]=Qt4 Yardımçısı -Name[bn]=কিউ-টি সহায়ক -Name[br]=Skoazeller Qt4 -Name[bs]=Qt4 Asistent -Name[ca]=Assistent Qt4 -Name[cs]=Qt4 asistent -Name[cy]=Cymhorthwr Qt4 -Name[de]=Qt4-Assistent -Name[el]=Βοηθός Qt4 -Name[eo]=Qt4-Asistilo -Name[es]=Asistente Qt4 -Name[eu]=Qt4 laguntzailea -Name[fa]=دستیار Qt4 -Name[fo]=Qt4-hjálpari -Name[fy]=Qt4-assistent -Name[hi]=क्यूटी सहायक -Name[hr]=Qt4 Asistent -Name[hsb]=Qt4 Asistent -Name[ja]=Qt4 アシスタント -Name[km]=អ្នក​ជំនួយការ Qt4 -Name[ko]=Qt4 도우미 -Name[lo]=ຄຳແນະນຳການໃ້ຊ້Qt4 -Name[lv]=Qt4 Asistents -Name[mk]=Qt4-Асистент -Name[mn]=Qt4-туслагч -Name[ms]=Pembantu Qt4 -Name[nds]=Qt4-Hölper -Name[nl]=Qt4 Assistent -Name[nso]=Mothusi wa Qt4 -Name[pa]=Qt4 ਸਹਾਇਕ -Name[pt]=Assistente do Qt4 -Name[pt_BR]=Assistente Qt4 -Name[ro]=Asistent Qt4 -Name[ru]=Помощник Qt4 -Name[rw]=Umufasha Qt4 -Name[sl]=Pomočnik za Qt4 -Name[ss]=Lisekela leQt4 -Name[ta]=Qt4 துணைவன் -Name[tg]=Дастёри Qt4 -Name[th]=คำแนะนำการใช้ Qt4 -Name[tr]=Qt4 Asistanı -Name[uk]=Qt4-асистент -Name[uz]=Qt43 ёрдамчи -Name[ven]=Qt4 Muthusi -Name[vi]=Trợ giúp Qt4 -Name[wa]=Macrea Qt4 -Name[xh]=Qt4 Umncedi -Name[zh_CN]=Qt4 助手 -Name[zh_TW]=Qt4 助理 -Name[zu]=Umsizi we-Qt4 -GenericName=Document Browser -GenericName[af]=Dokument Blaaier -GenericName[ar]=متصفح المستندات -GenericName[az]=Sənəd Səyyahı -GenericName[bg]=Преглед на документи -GenericName[bn]=নথী ব্রাউজার -GenericName[br]=Furcher Teulioù -GenericName[bs]=Preglednik QT dokumenata -GenericName[ca]=Navegador de documents -GenericName[cs]=Prohlížeč dokumentace -GenericName[cy]=Porydd Dogfen -GenericName[da]=Dokumentfremviser -GenericName[de]=Dokumentbrowser -GenericName[el]=Προβολέας εγγράφων -GenericName[eo]=Dokumentorigardilo -GenericName[es]=Navegador de documentos -GenericName[et]=Dokumentatsiooni brauser -GenericName[eu]=Dokumentu arakatzailea -GenericName[fa]=مرورگر سند -GenericName[fi]=Asiakirjaselain -GenericName[fo]=Skjalakagari -GenericName[fr]=Explorateur de documentation Qt4 -GenericName[fy]=Dokumintblêder -GenericName[ga]=Brabhsálaí Cáipéise -GenericName[gl]=Navegador de Documentos -GenericName[he]=דפדפן מסמכים -GenericName[hi]=दस्तावेज़ ब्राउज़रज़र -GenericName[hr]=Preglednik dokumenata -GenericName[hu]=Dokumentumböngésző -GenericName[id]=Peselancar Document -GenericName[is]=Skjalavafri -GenericName[it]=Visualizzatore di documenti -GenericName[ja]=ドキュメントブラウザ -GenericName[km]=កម្មវិធី​រុករក​ឯកសារ -GenericName[ko]=문서 탐색기 -GenericName[lo]=ເຄື່ອງມືເລືອກເບິ່ງແຟ້ມເອກະສານ -GenericName[lt]=Dokumentų naršyklė -GenericName[lv]=Dokumentu Pārlūks -GenericName[mk]=Прелистувач на документи -GenericName[mn]=Баримтын хөтөч -GenericName[ms]=Pelungsur Dokumen -GenericName[mt]=Browser ta' Dokumenti -GenericName[nb]=Dokumentleser -GenericName[nds]=Dokmentkieker -GenericName[nl]=Documentbrowser -GenericName[nn]=Dokumentlesar -GenericName[nso]=Seinyakisi sa Tokomane -GenericName[pa]=ਦਸਤਾਵੇਜ਼ ਝਲਕਾਰਾ -GenericName[pl]=Przeglądarka dokumentów -GenericName[pt]=Navegador de Documentos -GenericName[pt_BR]=Navegador de Documentos -GenericName[ro]=Navigator de documente -GenericName[ru]=Программа просмотра документов -GenericName[rw]=Mucukumbuzi w'Inyandiko -GenericName[se]=Dokumeantalogan -GenericName[sk]=Prehliadač dokumentácie -GenericName[sl]=Pregledovalnik dokumentov -GenericName[sr]=Прегледач докумената -GenericName[sr@Latn]=Pregledač dokumenata -GenericName[ss]=Ibrawuza yelidokhumente -GenericName[sv]=Dokumentbläddrare -GenericName[ta]=ஆவண உலாவி -GenericName[tg]=Тафсири ҳуҷҷат -GenericName[th]=เครื่องมือเลือกดูแฟ้มเอกสาร -GenericName[tr]=Belge Tarayıcısı -GenericName[tt]=İstälek Küzätüçe -GenericName[uk]=Навігатор документів -GenericName[uz]=Ҳужжат браузери -GenericName[ven]=Buronza ya manwalwa -GenericName[vi]=Trình duyệt tài liệu -GenericName[wa]=Foyteu di documints -GenericName[xh]=Umkhangeli Wencwadi Zoxwebhu -GenericName[zh_CN]=文档浏览器 -GenericName[zh_TW]=文件閱讀器 -GenericName[zu]=Umcingi Woshicilelo -X-KDE-StartupNotify=true -Icon=assistant -Terminal=false -Type=Application -Categories=Qt;Development; diff --git a/desktop/toolkit/qt/files/data/assistant.png b/desktop/toolkit/qt/files/data/assistant.png deleted file mode 100644 index bfb642dc2d..0000000000 Binary files a/desktop/toolkit/qt/files/data/assistant.png and /dev/null differ diff --git a/desktop/toolkit/qt/files/data/designer.desktop b/desktop/toolkit/qt/files/data/designer.desktop deleted file mode 100644 index 3415a53936..0000000000 --- a/desktop/toolkit/qt/files/data/designer.desktop +++ /dev/null @@ -1,132 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Exec=/usr/lib/qt4/bin/designer -Name=Qt4 Designer -Name[af]=Qt4 Ontwerper -Name[ar]=مصمم Qt4 -Name[bn]=কিউ-টি ডিসাইনার -Name[br]=Ergrafer Qt4 -Name[ca]=Dissenyador Qt4 -Name[cs]=Qt4 designer -Name[cy]=Dylunydd Qt4 -Name[de]=Qt4-Designer -Name[eo]=Qt4-Desegnilo -Name[es]=Diseñador Qt4 -Name[eu]=Qt4 diseinatzailea -Name[fa]=Qt4 طراح -Name[gl]=Deseñador de Qt4 -Name[hi]=क्यूटी डिज़ाइनर -Name[hr]=Qt4 Dizajner -Name[hsb]=Qt4 designer -Name[is]=Qt4 hönnuðurinn -Name[it]=Designer Qt4 -Name[ja]=Qt4 デザイナー -Name[km]=កម្មវិធី​រចនា Qt4 -Name[ko]=Qt4 디자이너 -Name[lo]=ອອກແບບສ່ວນຕິດຕໍ່ຜູ້ໃຊ້ສຳຫັລບ Qt4 -Name[lv]=Qt4 Dizainers -Name[mk]=Qt4-Дизајнер -Name[mn]=Qt4-Дизайнер -Name[ms]=Pembantu Qt4 -Name[mt]=Diżinjatur Qt4 -Name[nds]=Qt4-Designer -Name[nso]=Mohlami wa Qt4 -Name[oc]=Dessinador Qt4 -Name[pa]=Qt4 ਡਿਜ਼ਾਈਨਰ -Name[rw]=Umuhanzi Qt4 -Name[sl]=Snovalnik Qt4 -Name[ss]=Umhleli weQt4 -Name[sv]=Qt4 designer -Name[ta]=Qt4 வடிவமைப்பாளர் -Name[tg]=Тароҳи Qt4 -Name[th]=ออกแบบส่วนติดต่อผู้ใช้สำหรับ Qt4 -Name[tr]=Qt4 Tasarımcı -Name[tt]=Qt4 Tözüçe -Name[uk]=Дизайнер Qt4 -Name[uz]=Qt43 дизайнер -Name[ven]=Qt4 Mufhati -Name[vi]=Trình thiết kế Qt4 -Name[xh]=Umyili we Qt4 -Name[zh_CN]=Qt4 设计器 -Name[zh_TW]=Qt4 設計師 -Name[zu]=Umakhi we-Qt4 -GenericName=Interface Designer -GenericName[af]=Koppelvlak Ontwerper -GenericName[ar]=مصمم واجهات إستخدام -GenericName[az]=Ara Üz Tərtibçisi -GenericName[bn]=ইন্টারফেস পরিকল্পনা -GenericName[br]=Ergrafer etrefas -GenericName[bs]=Qt4 alat za dizajniranje interfejsa -GenericName[ca]=Dissenyador d'interfícies -GenericName[cs]=Návrhář rozhraní -GenericName[cy]=Dylunydd Rhyngwyneb -GenericName[da]=Grænsefladedesigner -GenericName[de]=Schnittstellendesigner -GenericName[el]=Σχεδιαστής διασυνδέσεων -GenericName[eo]=Interfacdesegnilo -GenericName[es]=Diseñador de interfaces -GenericName[et]=Kasutajaliidese disainer -GenericName[eu]=Interfaze diseinatzailea -GenericName[fa]=طراح واسط -GenericName[fi]=Käyttöliittymäsuunnittelija -GenericName[fo]=Nýtaramótssniðari -GenericName[fr]=Concepteur d'interface -GenericName[fy]=Ynterface-ûntwerper -GenericName[ga]=Dearthóir Comhéadain -GenericName[gl]=Deseñador de Interfaces -GenericName[he]=מעצב ממשקים -GenericName[hi]=इंटरफेस डिज़ाइनर -GenericName[hr]=Dizajner sučelja -GenericName[hu]=Felülettervező -GenericName[id]=Perancang Antarmuka -GenericName[is]=Viðmótshönnun -GenericName[it]=Disegnatore di interfacce -GenericName[ja]=インターフェースデザイナー -GenericName[km]=កម្មវិធី​រចនា​ចំណុច​ប្រទាក់ -GenericName[ko]=인터페이스 디자이너 -GenericName[lo]=ເຄື່ອງມືອອກແບບສ່ວນຕິດຕໍ່ຜູ້ໃຊ້ -GenericName[lt]=Sąsajos kūrimo programa -GenericName[lv]=Saskarnes Dizainers -GenericName[mk]=Дизајнер на интерфејси -GenericName[mn]=Гадаргуун дизайнер -GenericName[ms]=Pereka Antaramuka -GenericName[mt]=Diżinjatur tal-interfaċċji -GenericName[nb]=Utforming av grensesnitt -GenericName[nds]=Koppelsteed-Maker -GenericName[nl]=Interface-ontwerper -GenericName[nn]=Utforming av grensesnitt -GenericName[nso]=Mohlami wa Interface -GenericName[pa]=ਇੰਟਰਫੇਸ਼ ਡਿਜ਼ਾਈਨਰ -GenericName[pl]=Projektant interfejsu -GenericName[pt]=Editor de Interfaces -GenericName[pt_BR]=Interface do Designer -GenericName[ro]=Dezvoltator de interfeţe -GenericName[ru]=Редактор интерфейса приложений Qt4 -GenericName[rw]=Umuhanzi w'Imigaragarire -GenericName[se]=Laktahábmejeaddji -GenericName[sk]=Návrh rozhrania -GenericName[sl]=Snovalnik vmesnikov -GenericName[sr]=Дизајнер интерфејса -GenericName[sr@Latn]=Dizajner interfejsa -GenericName[ss]=Umhleli wesichumanisi -GenericName[sv]=Gränssnittseditor -GenericName[ta]=முகப்புப் வடிவமைப்பாளர் -GenericName[tg]=Тароҳи робита -GenericName[th]=เครื่องมือออกแบบส่วนติดต่อผู้ใช้ -GenericName[tr]=Arayüz tasarım programı -GenericName[tt]=Yözara Tözegeç -GenericName[uk]=Дизайн інтерфейсу -GenericName[uz]=Интерфейс дизайнери -GenericName[ven]=Muvhati wa nga Phanda -GenericName[vi]=Trình thiết kế giao diện -GenericName[wa]=Dessineu d' eterfaces -GenericName[xh]=Umyili Wezojongongano -GenericName[zh_CN]=界面设计器 -GenericName[zh_TW]=界面設計師 -GenericName[zu]=Umakhi Womxhumanisi -X-KDE-StartupNotify=true -MimeType=application/x-designer; -Icon=designer -Terminal=false -Type=Application -Categories=Qt;Development; diff --git a/desktop/toolkit/qt/files/data/designer.png b/desktop/toolkit/qt/files/data/designer.png deleted file mode 100644 index 5ebc4a9729..0000000000 Binary files a/desktop/toolkit/qt/files/data/designer.png and /dev/null differ diff --git a/desktop/toolkit/qt/files/data/hi128-app-qt4-logo.png b/desktop/toolkit/qt/files/data/hi128-app-qt4-logo.png deleted file mode 100644 index b8f8263bbe..0000000000 Binary files a/desktop/toolkit/qt/files/data/hi128-app-qt4-logo.png and /dev/null differ diff --git a/desktop/toolkit/qt/files/data/hi48-app-qt4-logo.png b/desktop/toolkit/qt/files/data/hi48-app-qt4-logo.png deleted file mode 100644 index b8ede18d92..0000000000 Binary files a/desktop/toolkit/qt/files/data/hi48-app-qt4-logo.png and /dev/null differ diff --git a/desktop/toolkit/qt/files/data/linguist.desktop b/desktop/toolkit/qt/files/data/linguist.desktop deleted file mode 100644 index 223d18a749..0000000000 --- a/desktop/toolkit/qt/files/data/linguist.desktop +++ /dev/null @@ -1,128 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Exec=/usr/lib/qt4/bin/linguist -Name=Qt4 Linguist -Name[ar]=لغوي Qt4 -Name[bn]=কিউ-টি লিঙ্গুইস্ট -Name[ca]=Lingüista Qt4 -Name[cy]=Ieithydd Qt4 -Name[de]=Qt4-Linguist -Name[eo]=Qt4-Lingvisto -Name[es]=Lingüista Qt4 -Name[fa]=Qt4 زبان‌شناس -Name[fi]=Qt4 Linquist -Name[fy]=Qt4 Linquist -Name[gl]=Lingüista Qt4 -Name[hi]=क्यूटी लिंग्विस्ट -Name[hr]=Qt4 Lingvist -Name[km]=ភាសាវិទូ Qt4 -Name[ko]=Qt4 언어학자 -Name[lo]=ແປພາສາຂອງ Qt4 -Name[lv]=Qt4 Lingvists -Name[mk]=Qt4-Јазичар -Name[mn]=Qt4-Хэл зүй -Name[ms]=Jurubahasa Qt4 -Name[mt]=Lingwist Qt4 -Name[nb]=Qt4-Linguist -Name[nds]=Qt4-Linguist -Name[nl]=Qt4 Linquist -Name[nso]=Sekaleleme sa Qt4 -Name[pa]=Qt4 ਲੈਂਗੂਇਸਟ -Name[pl]=Lingwista Qt4 -Name[ru]=Qt4 Лингвист -Name[rw]=Byindimi Qt4 -Name[sl]=Jezikoslovec Qt4 -Name[sv]=Qt4 linguist -Name[ta]=Qt4 மொழியறிஞர் -Name[tg]=Забони Qt4 -Name[th]=แปลภาษาของ Qt4 -Name[tr]=Qt4 Dilci -Name[tt]=Qt4 Telbelgeç -Name[uk]=Qt4-лінгвіст -Name[uz]=Qt4 лингвист -Name[ven]=Qt4 Radzinyambo -Name[vi]=Ngôn ngữ Qt4 -Name[xh]=Usolwimi we Qt4 -Name[zh_CN]=Qt4 语言家 -Name[zh_TW]=Qt4 語言學家 -Name[zu]=Owozolimi we-Qt4 -GenericName=Translation Tool -GenericName[af]=Vertaling Program -GenericName[ar]=أداة للترجمة -GenericName[az]=Tərcümə Vasitəsi -GenericName[bn]=অনুবাদ টুল -GenericName[br]=Ostilh troidigezh -GenericName[bs]=Alat za prevođenje -GenericName[ca]=Eina de traducció -GenericName[cs]=Překladatelský nástroj -GenericName[cy]=Erfyn Cyfieithu -GenericName[da]=Oversættelsesværktøj -GenericName[de]=Übersetzungsprogramm -GenericName[el]=Εργαλείο μεταφράσεων -GenericName[eo]=Tradukilo por Qt4-programoj -GenericName[es]=Herramienta de traducción -GenericName[et]=Tõlkimise rakendus -GenericName[eu]=Itzulpenerako tresnak -GenericName[fa]=ابزار ترجمه -GenericName[fi]=Käännöstyökalu -GenericName[fo]=Umsetingaramboð -GenericName[fr]=Outil de traduction -GenericName[fy]=Fertaalprogramma -GenericName[ga]=Uirlis Aistriúcháin -GenericName[gl]=Ferramenta de Tradución -GenericName[he]=כלי תרגום -GenericName[hi]=अनुवाद औज़ार -GenericName[hr]=Alat za prevođenje -GenericName[hsb]=Grat za přełožowanje -GenericName[hu]=Fordítássegítő -GenericName[id]=Kakas Penerjemah -GenericName[is]=Þýðingartól -GenericName[it]=Strumento per le traduzioni -GenericName[ja]=翻訳ツール -GenericName[km]=កម្មវិធី​បកប្រែ -GenericName[ko]=번역 도구 -GenericName[lo]=ເຄື່ອງມືແປພາສາ -GenericName[lt]=Vertimo įrankis -GenericName[lv]=Tulkošanas Rīks -GenericName[mk]=Алатка за преведување -GenericName[mn]=Орчуулгын програм -GenericName[ms]=Perkakasan Penterjemahan -GenericName[mt]=Għodda tat-traduzzjoni -GenericName[nb]=Oversettelsesverktøy -GenericName[nds]=Warktüüch för't Översetten -GenericName[nl]=Vertaalprogramma -GenericName[nn]=Omsetjingsverktøy -GenericName[nso]=Sebereka sa Thlathollo -GenericName[pa]=ਅਨੁਵਾਦ ਸੰਦ -GenericName[pl]=Narzędzie dla tłumaczy -GenericName[pt]=Ferramenta de Tradução -GenericName[pt_BR]=Ferramenta de Tradução -GenericName[ro]=Utilitar de traducere -GenericName[ru]=Переводчик для Qt4 -GenericName[se]=Jorgalanreaidu -GenericName[sk]=Prekladací nástroj -GenericName[sl]=Orodje za prevajanje -GenericName[sr]=Алат за превођење -GenericName[sr@Latn]=Alat za prevođenje -GenericName[ss]=Lithulusi lekuhumusha -GenericName[sv]=Översättningsverktyg -GenericName[ta]=மொழிபெயர்ப்புக் கருவி -GenericName[tg]=Тарҷумагар барои QT -GenericName[th]=เครื่องมือแปลภาษา -GenericName[tr]=Çeviri Aracı -GenericName[tt]=Tärcemäläw Qoralı -GenericName[uk]=Засіб для перекладів -GenericName[uz]=Таржима қилиш воситаси -GenericName[ven]=Zwishumiswa zwau Dologa -GenericName[vi]=Công cụ dịch -GenericName[wa]=Usteye di ratournaedje -GenericName[xh]=Isixhobo Soguqulelo lomsebenzi kolunye ulwimi -GenericName[zh_CN]=翻译工具 -GenericName[zh_TW]=翻譯工具 -GenericName[zu]=Ithuluzi Lokuguqulela -X-KDE-StartupNotify=true -MimeType=application/x-linguist; -Terminal=false -Type=Application -Icon=linguist -Categories=Qt;Development; diff --git a/desktop/toolkit/qt/files/data/linguist.png b/desktop/toolkit/qt/files/data/linguist.png deleted file mode 100644 index 47c9f17a4f..0000000000 Binary files a/desktop/toolkit/qt/files/data/linguist.png and /dev/null differ diff --git a/desktop/toolkit/qt/files/data/phonon-gstreamer.svg b/desktop/toolkit/qt/files/data/phonon-gstreamer.svg deleted file mode 100644 index 26998462f1..0000000000 --- a/desktop/toolkit/qt/files/data/phonon-gstreamer.svg +++ /dev/null @@ -1,54 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - diff --git a/desktop/toolkit/qt/files/data/qdbusviewer.desktop b/desktop/toolkit/qt/files/data/qdbusviewer.desktop deleted file mode 100755 index d1b05715d0..0000000000 --- a/desktop/toolkit/qt/files/data/qdbusviewer.desktop +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env xdg-open -[Desktop Entry] -Name=Qt4 QDbusViewer -GenericName=D-Bus Debugger -Comment=Debug D-Bus applications -Exec=/usr/lib/qt4/bin/qdbusviewer -Icon=qdbusviewer -Terminal=false -Type=Application -Categories=Qt;Development;Debugger; - diff --git a/desktop/toolkit/qt/files/data/qtconfig.desktop b/desktop/toolkit/qt/files/data/qtconfig.desktop deleted file mode 100755 index 3f461f8e22..0000000000 --- a/desktop/toolkit/qt/files/data/qtconfig.desktop +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env xdg-open -[Desktop Entry] -Name=Qt4 Config -Comment=Configure Qt4 behavior, styles, fonts -Exec=/usr/lib/qt4/bin/qtconfig -Icon=qt4-logo -Terminal=false -Type=Application -Categories=Qt;Settings; diff --git a/desktop/toolkit/qt/files/data/qtdemo.desktop b/desktop/toolkit/qt/files/data/qtdemo.desktop deleted file mode 100644 index 1f0b5baa0e..0000000000 --- a/desktop/toolkit/qt/files/data/qtdemo.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Name=Qt4 Demo -Comment=Show Qt4 demos and programming examples -Comment[tr]=Qt4 demolarını ve programlama örneklerini göster -Exec=/usr/lib/qt4/bin/qtdemo -Icon=qt4-logo -Terminal=false -Encoding=UTF-8 -Type=Application -Categories=Qt;Development; diff --git a/desktop/toolkit/qt/files/fedora/qt-cupsEnumDests.patch b/desktop/toolkit/qt/files/fedora/qt-cupsEnumDests.patch deleted file mode 100644 index 7d59f22e8d..0000000000 --- a/desktop/toolkit/qt/files/fedora/qt-cupsEnumDests.patch +++ /dev/null @@ -1,238 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups.cpp.cupsEnumDests qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups.cpp ---- qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups.cpp.cupsEnumDests 2012-11-23 10:09:53.000000000 +0000 -+++ qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups.cpp 2013-07-03 15:30:06.232936976 +0100 -@@ -50,9 +50,19 @@ - - QT_BEGIN_NAMESPACE - -+typedef int (*CupsEnumDests)(unsigned flags, int msec, int *cancel, -+ cups_ptype_t type, cups_ptype_t mask, -+ cups_dest_cb_t cb, void *user_data); -+typedef http_t * (*CupsConnectDest)(cups_dest_t *dest, unsigned flags, -+ int msec, int *cancel, -+ char *resource, size_t resourcesize, -+ cups_dest_cb_t cb, void *user_data); -+typedef int (*CupsCopyDest)(cups_dest_t *dest, int num_dests, -+ cups_dest_t **dests); - typedef int (*CupsGetDests)(cups_dest_t **dests); - typedef void (*CupsFreeDests)(int num_dests, cups_dest_t *dests); - typedef const char* (*CupsGetPPD)(const char *printer); -+typedef const char* (*CupsGetPPD2)(http_t *http, const char *printer); - typedef int (*CupsMarkOptions)(ppd_file_t *ppd, int num_options, cups_option_t *options); - typedef ppd_file_t* (*PPDOpenFile)(const char *filename); - typedef void (*PPDMarkDefaults)(ppd_file_t *ppd); -@@ -66,12 +76,24 @@ typedef const char* (*CupsLangEncoding)( - typedef int (*CupsAddOption)(const char *name, const char *value, int num_options, cups_option_t **options); - typedef int (*CupsTempFd)(char *name, int len); - typedef int (*CupsPrintFile)(const char * name, const char * filename, const char * title, int num_options, cups_option_t * options); -+typedef int (*CupsPrintFile2)(http_t *http, const char *name, const char *filename, const char *title, int num_options, cups_option_t *options); -+ -+typedef struct -+{ -+ cups_dest_t *printers; -+ int num_printers; -+} EnumDestsContext; - - static bool cupsLoaded = false; - static int qt_cups_num_printers = 0; -+static cups_dest_t *qt_cups_printers = 0; -+static CupsEnumDests _cupsEnumDests = 0; -+static CupsConnectDest _cupsConnectDest = 0; -+static CupsCopyDest _cupsCopyDest = 0; - static CupsGetDests _cupsGetDests = 0; - static CupsFreeDests _cupsFreeDests = 0; - static CupsGetPPD _cupsGetPPD = 0; -+static CupsGetPPD2 _cupsGetPPD2 = 0; - static PPDOpenFile _ppdOpenFile = 0; - static PPDMarkDefaults _ppdMarkDefaults = 0; - static PPDClose _ppdClose = 0; -@@ -84,14 +106,35 @@ static CupsLangEncoding _cupsLangEncodin - static CupsAddOption _cupsAddOption = 0; - static CupsTempFd _cupsTempFd = 0; - static CupsPrintFile _cupsPrintFile = 0; -+static CupsPrintFile2 _cupsPrintFile2 = 0; -+ -+static int enum_dest_cb (void *user_data, unsigned flags, cups_dest_t *dest) -+{ -+ EnumDestsContext *context = (EnumDestsContext *) user_data; -+ -+ if ((flags & (CUPS_DEST_FLAGS_UNCONNECTED | -+ CUPS_DEST_FLAGS_REMOVED | -+ CUPS_DEST_FLAGS_ERROR | -+ CUPS_DEST_FLAGS_RESOLVING | -+ CUPS_DEST_FLAGS_CONNECTING | -+ CUPS_DEST_FLAGS_CANCELED)) == 0) -+ context->num_printers = _cupsCopyDest (dest, context->num_printers, -+ &context->printers); -+ -+ return 1; -+} - - static void resolveCups() - { - QLibrary cupsLib(QLatin1String("cups"), 2); - if(cupsLib.load()) { -+ _cupsEnumDests = (CupsEnumDests) cupsLib.resolve("cupsEnumDests"); -+ _cupsConnectDest = (CupsConnectDest) cupsLib.resolve("cupsConnectDest"); -+ _cupsCopyDest = (CupsCopyDest) cupsLib.resolve("cupsCopyDest"); - _cupsGetDests = (CupsGetDests) cupsLib.resolve("cupsGetDests"); - _cupsFreeDests = (CupsFreeDests) cupsLib.resolve("cupsFreeDests"); - _cupsGetPPD = (CupsGetPPD) cupsLib.resolve("cupsGetPPD"); -+ _cupsGetPPD2 = (CupsGetPPD2) cupsLib.resolve("cupsGetPPD2"); - _cupsLangGet = (CupsLangGet) cupsLib.resolve("cupsLangGet"); - _cupsLangEncoding = (CupsLangEncoding) cupsLib.resolve("cupsLangEncoding"); - _ppdOpenFile = (PPDOpenFile) cupsLib.resolve("ppdOpenFile"); -@@ -104,14 +147,27 @@ static void resolveCups() - _cupsAddOption = (CupsAddOption) cupsLib.resolve("cupsAddOption"); - _cupsTempFd = (CupsTempFd) cupsLib.resolve("cupsTempFd"); - _cupsPrintFile = (CupsPrintFile) cupsLib.resolve("cupsPrintFile"); -+ _cupsPrintFile2 = (CupsPrintFile2) cupsLib.resolve("cupsPrintFile2"); - -- if (_cupsGetDests && _cupsFreeDests) { -- cups_dest_t *printers; -+ if (_cupsEnumDests && _cupsCopyDest && -+ _cupsConnectDest && _cupsGetPPD2 && -+ _cupsPrintFile2) { -+ EnumDestsContext context; -+ context.printers = 0; -+ context.num_printers = 0; -+ _cupsEnumDests(0, -1, 0, 0, 0, -+ enum_dest_cb, &context); -+ -+ qt_cups_printers = context.printers; -+ qt_cups_num_printers = context.num_printers; -+ } else if (_cupsGetDests && _cupsFreeDests) { -+ cups_dest_t *printers; - int num_printers = _cupsGetDests(&printers); -- if (num_printers) -- _cupsFreeDests(num_printers, printers); -- qt_cups_num_printers = num_printers; -- } -+ -+ if (num_printers) -+ _cupsFreeDests(num_printers, printers); -+ qt_cups_num_printers = num_printers; -+ } - } - cupsLoaded = true; - } -@@ -134,7 +190,15 @@ QCUPSSupport::QCUPSSupport() - return; - - // Update the available printer count -- qt_cups_num_printers = prnCount = _cupsGetDests(&printers); -+ if (qt_cups_printers && _cupsCopyDest) { -+ int i; -+ for (i = 0; i < qt_cups_num_printers; ++i) { -+ prnCount = _cupsCopyDest (&qt_cups_printers[i], -+ prnCount, -+ &printers); -+ } -+ } else -+ qt_cups_num_printers = prnCount = _cupsGetDests(&printers); - - for (int i = 0; i < prnCount; ++i) { - if (printers[i].is_default) { -@@ -188,7 +252,19 @@ const ppd_file_t* QCUPSSupport::setCurre - currPPD = 0; - page_sizes = 0; - -- const char *ppdFile = _cupsGetPPD(printers[index].name); -+ const char *ppdFile = 0; -+ if (_cupsConnectDest && _cupsGetPPD2) { -+ char resource[HTTP_MAX_URI]; -+ http_t *http = _cupsConnectDest (&printers[index], 0, -1, 0, -+ resource, sizeof (resource), -+ 0, 0); -+ if (http) { -+ char *name = strrchr (resource, '/'); -+ if (name) -+ ppdFile = _cupsGetPPD2 (http, ++name); -+ } -+ } else -+ ppdFile = _cupsGetPPD(printers[index].name); - - if (!ppdFile) - return 0; -@@ -343,7 +419,29 @@ bool QCUPSSupport::printerHasPPD(const c - { - if (!isAvailable()) - return false; -- const char *ppdFile = _cupsGetPPD(printerName); -+ -+ const char *ppdFile = 0; -+ if (_cupsConnectDest && _cupsGetPPD2) { -+ int i; -+ for (i = 0; i < prnCount; ++i) -+ if (!strcmp (printers[i].name, printerName)) -+ break; -+ -+ if (i == prnCount) -+ return false; -+ -+ char resource[HTTP_MAX_URI]; -+ http_t *http = _cupsConnectDest (&printers[i], 0, -1, 0, -+ resource, sizeof (resource), -+ 0, 0); -+ if (http) { -+ char *name = strrchr (resource, '/'); -+ if (name) -+ ppdFile = _cupsGetPPD2 (http, ++name); -+ } -+ } else -+ ppdFile = _cupsGetPPD(printerName); -+ - if (ppdFile) - unlink(ppdFile); - return (ppdFile != 0); -@@ -394,6 +492,26 @@ QPair QCUPSSupport::tempFd - int QCUPSSupport::printFile(const char * printerName, const char * filename, const char * title, - int num_options, cups_option_t * options) - { -+ if (_cupsConnectDest && _cupsPrintFile2) { -+ int i; -+ for (i = 0; i < prnCount; ++i) -+ if (!strcmp (printers[i].name, printerName)) -+ break; -+ -+ if (i != prnCount) { -+ char resource[HTTP_MAX_URI]; -+ http_t *http = _cupsConnectDest (&printers[i], 0, -1, 0, -+ resource, sizeof (resource), -+ 0, 0); -+ if (http) { -+ char *name = strrchr (resource, '/'); -+ if (name) -+ return _cupsPrintFile2 (http, ++name, filename, title, -+ num_options, options); -+ } -+ } -+ } -+ - return _cupsPrintFile(printerName, filename, title, num_options, options); - } - -diff -up qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups_p.h.cupsEnumDests qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups_p.h ---- qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups_p.h.cupsEnumDests 2012-11-23 10:09:53.000000000 +0000 -+++ qt-everywhere-opensource-src-4.8.4/src/gui/painting/qcups_p.h 2013-07-03 15:27:24.733343017 +0100 -@@ -92,7 +92,7 @@ public: - - QStringList options() const; - -- static bool printerHasPPD(const char *printerName); -+ bool printerHasPPD(const char *printerName); - - QString unicodeString(const char *s); - -diff -up qt-everywhere-opensource-src-4.8.4/src/gui/painting/qprinter.cpp.cupsEnumDests qt-everywhere-opensource-src-4.8.4/src/gui/painting/qprinter.cpp ---- qt-everywhere-opensource-src-4.8.4/src/gui/painting/qprinter.cpp.cupsEnumDests 2013-07-03 15:27:24.531342277 +0100 -+++ qt-everywhere-opensource-src-4.8.4/src/gui/painting/qprinter.cpp 2013-07-03 15:27:24.733343017 +0100 -@@ -844,7 +844,7 @@ void QPrinter::setPrinterName(const QStr - if(d->use_default_engine - && d->outputFormat == QPrinter::NativeFormat) { - if (QCUPSSupport::cupsVersion() >= 10200 -- && QCUPSSupport::printerHasPPD(name.toLocal8Bit().constData())) -+ && QCUPSSupport().printerHasPPD(name.toLocal8Bit().constData())) - setOutputFormat(QPrinter::PdfFormat); - else - setOutputFormat(QPrinter::PostScriptFormat); diff --git a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.6.2-cups.patch b/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.6.2-cups.patch deleted file mode 100644 index e0305e11b8..0000000000 --- a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.6.2-cups.patch +++ /dev/null @@ -1,84 +0,0 @@ -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 - } - - /*! diff --git a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch b/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch deleted file mode 100644 index d4e5924dff..0000000000 --- a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch +++ /dev/null @@ -1,69 +0,0 @@ -diff -ur qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_glib.cpp qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck/src/gui/kernel/qguieventdispatcher_glib.cpp ---- qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_glib.cpp 2010-06-02 04:03:15.000000000 +0200 -+++ qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck/src/gui/kernel/qguieventdispatcher_glib.cpp 2010-12-08 22:22:38.000000000 +0100 -@@ -76,7 +76,7 @@ - GX11EventSource *source = reinterpret_cast(s); - return (XEventsQueued(X11->display, QueuedAfterFlush) - || (!(source->flags & QEventLoop::ExcludeUserInputEvents) -- && !source->d->queuedUserInputEvents.isEmpty())); -+ && source->d && !source->d->queuedUserInputEvents.isEmpty())); - } - - static gboolean x11EventSourceCheck(GSource *s) -@@ -84,7 +84,7 @@ - GX11EventSource *source = reinterpret_cast(s); - return (XEventsQueued(X11->display, QueuedAfterFlush) - || (!(source->flags & QEventLoop::ExcludeUserInputEvents) -- && !source->d->queuedUserInputEvents.isEmpty())); -+ && source->d && !source->d->queuedUserInputEvents.isEmpty())); - } - - static gboolean x11EventSourceDispatch(GSource *s, GSourceFunc callback, gpointer user_data) -@@ -95,7 +95,7 @@ - do { - XEvent event; - if (!(source->flags & QEventLoop::ExcludeUserInputEvents) -- && !source->d->queuedUserInputEvents.isEmpty()) { -+ && source->d && !source->d->queuedUserInputEvents.isEmpty()) { - // process a pending user input event - event = source->d->queuedUserInputEvents.takeFirst(); - } else if (XEventsQueued(X11->display, QueuedAlready)) { -@@ -112,7 +112,8 @@ - case XKeyRelease: - case EnterNotify: - case LeaveNotify: -- source->d->queuedUserInputEvents.append(event); -+ if (source->d) -+ source->d->queuedUserInputEvents.append(event); - continue; - - case ClientMessage: -@@ -127,7 +128,8 @@ - break; - } - } -- source->d->queuedUserInputEvents.append(event); -+ if (source->d) -+ source->d->queuedUserInputEvents.append(event); - continue; - - default: -@@ -140,7 +142,7 @@ - } - - // send through event filter -- if (source->q->filterEvent(&event)) -+ if (source->q && source->q->filterEvent(&event)) - continue; - - if (qApp->x11ProcessEvent(&event) == 1) -@@ -152,7 +154,8 @@ - - out: - -- source->d->runTimersOnceWithNormalPriority(); -+ if (source->d) -+ source->d->runTimersOnceWithNormalPriority(); - - if (callback) - callback(user_data); diff --git a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.0-QTBUG-22037.patch b/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.0-QTBUG-22037.patch deleted file mode 100644 index 4279ce2e77..0000000000 --- a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.0-QTBUG-22037.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h.QTBUG-22037 qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h ---- qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h.QTBUG-22037 2011-10-03 22:44:32.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.0/src/corelib/tools/qlist.h 2011-10-15 14:25:52.238694974 -0500 -@@ -769,26 +769,18 @@ Q_OUTOFLINE_TEMPLATE void QList::clea - template - Q_OUTOFLINE_TEMPLATE int QList::removeAll(const T &_t) - { -- int index = indexOf(_t); -- if (index == -1) -- return 0; -- -+ detachShared(); - const T t = _t; -- detach(); -- -- Node *i = reinterpret_cast(p.at(index)); -- Node *e = reinterpret_cast(p.end()); -- Node *n = i; -- node_destruct(i); -- while (++i != e) { -- if (i->t() == t) -- node_destruct(i); -- else -- *n++ = *i; -- } -- -- int removedCount = e - n; -- d->end -= removedCount; -+ int removedCount=0, i=0; -+ Node *n; -+ while (i < p.size()) -+ if ((n = reinterpret_cast(p.at(i)))->t() == t) { -+ node_destruct(n); -+ p.remove(i); -+ ++removedCount; -+ } else { -+ ++i; -+ } - return removedCount; - } - diff --git a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.0-tp-multilib-optflags.patch b/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.0-tp-multilib-optflags.patch deleted file mode 100644 index 5c8b5a1dda..0000000000 --- a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.0-tp-multilib-optflags.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf.multilib qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf ---- qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf.multilib 2011-05-23 12:26:21.000000000 +0200 -+++ qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-32/qmake.conf 2011-05-25 13:39:38.789054074 +0200 -@@ -12,6 +12,8 @@ QMAKE_INCREMENTAL_STYLE = sublib - QMAKE_CFLAGS = -m32 - QMAKE_LFLAGS = -m32 - -+QMAKE_CFLAGS_RELEASE += -O2 -+ - include(../common/linux.conf) - include(../common/gcc-base-unix.conf) - include(../common/g++-unix.conf) -diff -up qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf.multilib qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf ---- qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf.multilib 2011-05-23 12:26:21.000000000 +0200 -+++ qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++-64/qmake.conf 2011-05-25 13:39:47.460747770 +0200 -@@ -15,6 +15,8 @@ QMAKE_INCREMENTAL_STYLE = sublib - QMAKE_CFLAGS = -m64 - QMAKE_LFLAGS = -m64 - -+QMAKE_CFLAGS_RELEASE += -O2 -+ - include(../common/linux.conf) - include(../common/gcc-base-unix.conf) - include(../common/g++-unix.conf) -diff -up qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf.multilib qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf ---- qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf.multilib 2011-05-23 12:26:21.000000000 +0200 -+++ qt-everywhere-opensource-src-4.8.0-tp/mkspecs/linux-g++/qmake.conf 2011-05-25 13:39:26.630088814 +0200 -@@ -9,6 +9,8 @@ CONFIG += qt warn_on release increment - QT += core gui - QMAKE_INCREMENTAL_STYLE = sublib - -+QMAKE_CFLAGS_RELEASE += -O2 -+ - include(../common/linux.conf) - include(../common/gcc-base-unix.conf) - include(../common/g++-unix.conf) diff --git a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.1-qt3support_debuginfo.patch b/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.1-qt3support_debuginfo.patch deleted file mode 100644 index 7458314672..0000000000 --- a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.1-qt3support_debuginfo.patch +++ /dev/null @@ -1,10 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.1/src/qt3support/qt3support.pro.debuginfo qt-everywhere-opensource-src-4.8.1/src/qt3support/qt3support.pro ---- qt-everywhere-opensource-src-4.8.1/src/qt3support/qt3support.pro.debuginfo 2012-03-14 09:01:17.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.1/src/qt3support/qt3support.pro 2012-05-11 11:55:37.780070386 -0500 -@@ -34,6 +34,3 @@ MOCDIR = .moc - - *-g++*: QMAKE_CXXFLAGS += -fno-strict-aliasing - --CONFIG -= separate_debug_info --CONFIG += no_debug_info -- diff --git a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.3-no_Werror.patch b/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.3-no_Werror.patch deleted file mode 100644 index 86dcc288d5..0000000000 --- a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.3-no_Werror.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.3/src/3rdparty/webkit/Source/WebKit.pri.no_Werror qt-everywhere-opensource-src-4.8.3/src/3rdparty/webkit/Source/WebKit.pri ---- qt-everywhere-opensource-src-4.8.3/src/3rdparty/webkit/Source/WebKit.pri.no_Werror 2012-09-06 02:33:50.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.3/src/3rdparty/webkit/Source/WebKit.pri 2012-09-11 09:03:19.152159783 -0500 -@@ -102,7 +102,7 @@ CONFIG -= warn_on - - # Treat warnings as errors on x86/Linux/GCC - linux-g++* { -- !CONFIG(standalone_package):if(isEqual(QT_ARCH,x86_64)|isEqual(QT_ARCH,i386)): QMAKE_CXXFLAGS += -Werror -+ #!CONFIG(standalone_package):if(isEqual(QT_ARCH,x86_64)|isEqual(QT_ARCH,i386)): QMAKE_CXXFLAGS += -Werror - - greaterThan(QT_GCC_MAJOR_VERSION, 3):greaterThan(QT_GCC_MINOR_VERSION, 5) { - if (!contains(QMAKE_CXXFLAGS, -std=c++0x) && !contains(QMAKE_CXXFLAGS, -std=gnu++0x)) { diff --git a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.4-qmake_pkgconfig_requires_private.patch b/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.4-qmake_pkgconfig_requires_private.patch deleted file mode 100644 index 0494c81f06..0000000000 --- a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.4-qmake_pkgconfig_requires_private.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.4/qmake/generators/makefile.cpp.qmake_pkgconfig_requires_private qt-everywhere-opensource-src-4.8.4/qmake/generators/makefile.cpp ---- qt-everywhere-opensource-src-4.8.4/qmake/generators/makefile.cpp.qmake_pkgconfig_requires_private 2012-11-23 04:11:21.000000000 -0600 -+++ qt-everywhere-opensource-src-4.8.4/qmake/generators/makefile.cpp 2013-02-11 07:36:36.192779528 -0600 -@@ -3293,6 +3293,12 @@ MakefileGenerator::writePkgConfigFile() - t << "Requires: " << requires << endl; - } - -+ // requires.private -+ const QString requires_private = project->values("QMAKE_PKGCONFIG_REQUIRES_PRIVATE").join(" "); -+ if (!requires_private.isEmpty()) { -+ t << "Requires.private: " << requires_private << endl; -+ } -+ - t << endl; - } - diff --git a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-QTBUG-14467.patch b/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-QTBUG-14467.patch deleted file mode 100644 index 81d74ff4d5..0000000000 --- a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-QTBUG-14467.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.5/mkspecs/features/qt_functions.prf.QTBUG-14467 qt-everywhere-opensource-src-4.8.5/mkspecs/features/qt_functions.prf ---- qt-everywhere-opensource-src-4.8.5/mkspecs/features/qt_functions.prf.QTBUG-14467 2013-05-30 16:19:17.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.5/mkspecs/features/qt_functions.prf 2013-06-09 11:53:45.709773603 -0500 -@@ -72,7 +72,7 @@ defineTest(qtAddLibrary) { - } - isEmpty(LINKAGE) { - if(!debug_and_release|build_pass):CONFIG(debug, debug|release) { -- win32:LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}d -+ win32:LINKAGE = -l$${LIB_NAME}d$${QT_LIBINFIX} - mac:LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX}_debug - } - isEmpty(LINKAGE):LINKAGE = -l$${LIB_NAME}$${QT_LIBINFIX} -diff -up qt-everywhere-opensource-src-4.8.5/mkspecs/features/win32/windows.prf.QTBUG-14467 qt-everywhere-opensource-src-4.8.5/mkspecs/features/win32/windows.prf ---- qt-everywhere-opensource-src-4.8.5/mkspecs/features/win32/windows.prf.QTBUG-14467 2013-05-30 16:19:17.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.5/mkspecs/features/win32/windows.prf 2013-06-09 11:53:45.710773593 -0500 -@@ -6,7 +6,7 @@ contains(TEMPLATE, ".*app"){ - - qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) { - isEqual(entryLib, -lqtmain): { -- CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX}d -+ CONFIG(debug, debug|release): QMAKE_LIBS += $${entryLib}d$${QT_LIBINFIX} - else: QMAKE_LIBS += $${entryLib}$${QT_LIBINFIX} - } else { - QMAKE_LIBS += $${entryLib} diff --git a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-QTBUG-21900.patch b/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-QTBUG-21900.patch deleted file mode 100644 index 018872f6d4..0000000000 --- a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-QTBUG-21900.patch +++ /dev/null @@ -1,84 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.5/src/gui/kernel/qapplication_x11.cpp.QTBUG-21900 qt-everywhere-opensource-src-4.8.5/src/gui/kernel/qapplication_x11.cpp ---- qt-everywhere-opensource-src-4.8.5/src/gui/kernel/qapplication_x11.cpp.QTBUG-21900 2013-05-30 16:18:05.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.5/src/gui/kernel/qapplication_x11.cpp 2013-06-09 11:53:45.891771748 -0500 -@@ -818,6 +818,27 @@ static Bool qt_sync_request_scanner(Disp - #endif - #endif // QT_NO_XSYNC - -+struct qt_configure_event_data -+{ -+ WId window; -+ WId parent; -+}; -+ -+static Bool qt_configure_event_scanner(Display*, XEvent *event, XPointer arg) -+{ -+ qt_configure_event_data *data = -+ reinterpret_cast(arg); -+ if (event->type == ConfigureNotify && -+ event->xconfigure.window == data->window) { -+ return true; -+ } else if (event->type == ReparentNotify && -+ event->xreparent.window == data->window) { -+ data->parent = event->xreparent.parent; -+ } -+ -+ return false; -+} -+ - static void qt_x11_create_intern_atoms() - { - const char *names[QX11Data::NAtoms]; -@@ -5302,8 +5323,11 @@ bool QETWidget::translateConfigEvent(con - if (d->extra->compress_events) { - // ConfigureNotify compression for faster opaque resizing - XEvent otherEvent; -- while (XCheckTypedWindowEvent(X11->display, internalWinId(), ConfigureNotify, -- &otherEvent)) { -+ qt_configure_event_data configureData; -+ configureData.window = internalWinId(); -+ configureData.parent = d->topData()->parentWinId; -+ while (XCheckIfEvent(X11->display, &otherEvent, -+ &qt_configure_event_scanner, (XPointer)&configureData)) { - if (qt_x11EventFilter(&otherEvent)) - continue; - -@@ -5316,13 +5340,19 @@ bool QETWidget::translateConfigEvent(con - newSize.setWidth(otherEvent.xconfigure.width); - newSize.setHeight(otherEvent.xconfigure.height); - -+ trust = isVisible() -+ && (configureData.parent == XNone || -+ configureData.parent == QX11Info::appRootWindow()); -+ - if (otherEvent.xconfigure.send_event || trust) { - newCPos.rx() = otherEvent.xconfigure.x + - otherEvent.xconfigure.border_width; - newCPos.ry() = otherEvent.xconfigure.y + - otherEvent.xconfigure.border_width; - isCPos = true; -- } -+ } else { -+ isCPos = false; -+ } - } - #ifndef QT_NO_XSYNC - qt_sync_request_event_data sync_event; -@@ -5335,9 +5365,14 @@ bool QETWidget::translateConfigEvent(con - } - - if (!isCPos) { -- // we didn't get an updated position of the toplevel. -- // either we haven't moved or there is a bug in the window manager. -- // anyway, let's query the position to be certain. -+ // If the last configure event didn't have a trustable position, -+ // it's necessary to query, see ICCCM 4.24: -+ // -+ // Any real ConfigureNotify event on a top-level window implies -+ // that the window’s position on the root may have changed, even -+ // though the event reports that the window’s position in its -+ // parent is unchanged because the window may have been reparented. -+ - int x, y; - Window child; - XTranslateCoordinates(X11->display, internalWinId(), diff --git a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-QTBUG-35459.patch b/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-QTBUG-35459.patch deleted file mode 100644 index dede8324d5..0000000000 --- a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-QTBUG-35459.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur qt-everywhere-opensource-src-4.8.5-CVE-2013-4549/src/xml/sax/qxml.cpp qt-everywhere-opensource-src-4.8.5-QTBUG-35459/src/xml/sax/qxml.cpp ---- qt-everywhere-opensource-src-4.8.5-CVE-2013-4549/src/xml/sax/qxml.cpp 2013-12-05 19:23:33.000000000 +0100 -+++ qt-everywhere-opensource-src-4.8.5-QTBUG-35459/src/xml/sax/qxml.cpp 2014-01-13 20:13:59.000000000 +0100 -@@ -428,7 +428,7 @@ - // for the DTD currently being parsed. - static const int dtdRecursionLimit = 2; - // The maximum amount of characters an entity value may contain, after expansion. -- static const int entityCharacterLimit = 1024; -+ static const int entityCharacterLimit = 65536; - - const QString &string(); - void stringClear(); diff --git a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-QTBUG-4862.patch b/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-QTBUG-4862.patch deleted file mode 100644 index ee1d19136a..0000000000 --- a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-QTBUG-4862.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.5/src/corelib/io/qfilesystemengine_unix.cpp.QTBUG-4862 qt-everywhere-opensource-src-4.8.5/src/corelib/io/qfilesystemengine_unix.cpp ---- qt-everywhere-opensource-src-4.8.5/src/corelib/io/qfilesystemengine_unix.cpp.QTBUG-4862 2013-06-09 12:02:50.323221694 -0500 -+++ qt-everywhere-opensource-src-4.8.5/src/corelib/io/qfilesystemengine_unix.cpp 2013-06-09 12:38:53.140804742 -0500 -@@ -624,6 +624,25 @@ QString QFileSystemEngine::homePath() - { - QString home = QFile::decodeName(qgetenv("HOME")); - if (home.isEmpty()) -+ { -+#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD) -+ int size_max = sysconf(_SC_GETPW_R_SIZE_MAX); -+ if (size_max == -1) -+ size_max = 1024; -+ QVarLengthArray buf(size_max); -+#endif -+ struct passwd *pw = 0; -+ uid_t user_id = getuid(); -+ pw = getpwuid(user_id); -+#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD) -+ struct passwd entry; -+ getpwuid_r(user_id, &entry, buf.data(), buf.size(), &pw); -+#else -+ pw = getpwuid(user_id); -+#endif -+ home = QFile::decodeName(QByteArray(pw->pw_dir)); -+ } -+ if (home.isEmpty()) - home = rootPath(); - return QDir::cleanPath(home); - } diff --git a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-mysql_config.patch b/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-mysql_config.patch deleted file mode 100644 index fc0ee7670b..0000000000 --- a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-mysql_config.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.5/configure.mysql_config qt-everywhere-opensource-src-4.8.5/configure ---- qt-everywhere-opensource-src-4.8.5/configure.mysql_config 2013-06-07 00:16:41.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.5/configure 2014-03-07 10:09:27.412071146 -0600 -@@ -5480,8 +5480,15 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do - [ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`"$WHICH" mysql_config` - if [ -x "$CFG_MYSQL_CONFIG" ]; then - QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null` -+ $CFG_MYSQL_CONFIG --variable=pkglibdir &>/dev/null && \ -+ QT_MYSQL_PKGLIBDIR=`$CFG_MYSQL_CONFIG --variable=pkglibdir 2>/dev/null` -+ if [ -n "$QT_MYSQL_PKGLIBDIR" ]; then -+ QT_LFLAGS_MYSQL_R="-L$QT_MYSQL_PKGLIBDIR -lmysqlclient_r" -+ QT_LFLAGS_MYSQL="-L$QT_MYSQL_PKGLIBDIR -lmysqlclient" -+ else - QT_LFLAGS_MYSQL_R=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null` - QT_LFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --libs 2>/dev/null` -+ fi - QT_MYSQL_VERSION=`$CFG_MYSQL_CONFIG --version 2>/dev/null` - QT_MYSQL_VERSION_MAJOR=`echo $QT_MYSQL_VERSION | cut -d . -f 1` - fi diff --git a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-qgtkstyle_disable_gtk_theme_check.patch b/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-qgtkstyle_disable_gtk_theme_check.patch deleted file mode 100644 index 9a9f773537..0000000000 --- a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-qgtkstyle_disable_gtk_theme_check.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp.qgtkstyle_disable_gtk_theme_check qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp ---- qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp.qgtkstyle_disable_gtk_theme_check 2013-06-09 16:28:22.938840346 -0500 -+++ qt-everywhere-opensource-src-4.8.5/src/gui/styles/qgtkstyle_p.cpp 2013-06-09 17:03:01.781125479 -0500 -@@ -503,18 +503,6 @@ void QGtkStylePrivate::initGtkWidgets() - return; - } - -- static QString themeName; -- if (!gtkWidgetMap()->contains("GtkWindow") && themeName.isEmpty()) { -- themeName = getThemeName(); -- -- if (themeName == QLS("Qt") || themeName == QLS("Qt4")) { -- // Due to namespace conflicts with Qt3 and obvious recursion with Qt4, -- // we cannot support the GTK_Qt Gtk engine -- qWarning("QGtkStyle cannot be used together with the GTK_Qt engine."); -- return; -- } -- } -- - if (QGtkStylePrivate::gtk_init) { - // Gtk will set the Qt error handler so we have to reset it afterwards - x11ErrorHandler qt_x_errhandler = XSetErrorHandler(0); diff --git a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-qt_plugin_path.patch b/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-qt_plugin_path.patch deleted file mode 100644 index 6a87783e3a..0000000000 --- a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-qt_plugin_path.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qcoreapplication.cpp.qt_plugin_path qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qcoreapplication.cpp ---- qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qcoreapplication.cpp.qt_plugin_path 2013-06-07 00:16:52.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qcoreapplication.cpp 2013-06-21 07:14:10.045039936 -0500 -@@ -2511,6 +2511,15 @@ QStringList QCoreApplication::libraryPat - if (!app_libpaths->contains(installPathPlugins)) - app_libpaths->append(installPathPlugins); - } -+ -+ // hack in support for kde4 plugin paths -- Rex -+ QString kde4PathPlugins = QLibraryInfo::location(QLibraryInfo::LibrariesPath) + QLatin1String("/kde4/plugins"); -+ if (QFile::exists(kde4PathPlugins)) { -+ // Make sure we convert from backslashes to slashes. -+ //kde4PathPlugins = QDir(kde4PathPlugins).canonicalPath(); -+ if (!app_libpaths->contains(kde4PathPlugins)) -+ app_libpaths->append(kde4PathPlugins); -+ } - #endif - - // If QCoreApplication is not yet instantiated, diff --git a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-tds_no_strict_aliasing.patch b/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-tds_no_strict_aliasing.patch deleted file mode 100644 index 2deeb51bbf..0000000000 --- a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-tds_no_strict_aliasing.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.5/src/sql/drivers/tds/qsql_tds.pri.tds_no_strict_aliasing qt-everywhere-opensource-src-4.8.5/src/sql/drivers/tds/qsql_tds.pri ---- qt-everywhere-opensource-src-4.8.5/src/sql/drivers/tds/qsql_tds.pri.tds_no_strict_aliasing 2013-06-09 11:57:49.198291245 -0500 -+++ qt-everywhere-opensource-src-4.8.5/src/sql/drivers/tds/qsql_tds.pri 2013-06-09 12:01:24.120100371 -0500 -@@ -1,6 +1,8 @@ - HEADERS += $$PWD/qsql_tds.h - SOURCES += $$PWD/qsql_tds.cpp - -+*-g++*: QMAKE_CXXFLAGS += -fno-strict-aliasing -+ - unix|win32-g++*: { - LIBS += $$QT_LFLAGS_TDS - !contains(LIBS, .*sybdb.*):LIBS += -lsybdb diff --git a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-uic_multilib.patch b/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-uic_multilib.patch deleted file mode 100644 index d04d1be5af..0000000000 --- a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-uic_multilib.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.5/src/tools/moc/moc.cpp.uic_multilib qt-everywhere-opensource-src-4.8.5/src/tools/moc/moc.cpp -diff -up qt-everywhere-opensource-src-4.8.5/src/tools/uic3/embed.cpp.uic_multilib qt-everywhere-opensource-src-4.8.5/src/tools/uic3/embed.cpp ---- qt-everywhere-opensource-src-4.8.5/src/tools/uic3/embed.cpp.uic_multilib 2013-05-30 16:18:04.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.5/src/tools/uic3/embed.cpp 2013-06-09 11:50:25.597813974 -0500 -@@ -152,8 +152,7 @@ void Ui3Reader::embed(const char *projec - for ( it = images.begin(); it != images.end(); ++it ) - out << "** " << *it << "\n"; - out << "**\n"; -- out << "** Created: " << QDateTime::currentDateTime().toString() << "\n"; -- out << "** by: The User Interface Compiler for Qt version " << QT_VERSION_STR << "\n"; -+ out << "** Created: by: The User Interface Compiler for Qt version " << QT_VERSION_STR << "\n"; - out << "**\n"; - out << "** WARNING! All changes made in this file will be lost!\n"; - out << "****************************************************************************/\n"; -diff -up qt-everywhere-opensource-src-4.8.5/src/tools/uic3/uic.cpp.uic_multilib qt-everywhere-opensource-src-4.8.5/src/tools/uic3/uic.cpp ---- qt-everywhere-opensource-src-4.8.5/src/tools/uic3/uic.cpp.uic_multilib 2013-05-30 16:18:04.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.5/src/tools/uic3/uic.cpp 2013-06-09 11:51:28.310174526 -0500 -@@ -146,8 +146,7 @@ void Uic::writeCopyrightHeader(DomUI *ui - out << "/********************************************************************************\n"; - out << "** Form generated from reading UI file '" << QFileInfo(opt.inputFile).fileName() << "'\n"; - out << "**\n"; -- out << "** Created: " << QDateTime::currentDateTime().toString() << "\n"; -- out << "** " << QString::fromLatin1("by: Qt User Interface Compiler version %1\n").arg(QLatin1String(QT_VERSION_STR)); -+ out << "** Created by: " << QString::fromLatin1("Qt User Interface Compiler version %1\n").arg(QLatin1String(QT_VERSION_STR)); - out << "**\n"; - out << "** WARNING! All changes made in this file will be lost when recompiling UI file!\n"; - out << "********************************************************************************/\n\n"; -diff -up qt-everywhere-opensource-src-4.8.5/src/tools/uic/uic.cpp.uic_multilib qt-everywhere-opensource-src-4.8.5/src/tools/uic/uic.cpp diff --git a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-webcore_debuginfo.patch b/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-webcore_debuginfo.patch deleted file mode 100644 index 1ea8af2b0e..0000000000 --- a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.5-webcore_debuginfo.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -up qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebCore/WebCore.pri.webkit_debuginfo qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebCore/WebCore.pri ---- qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebCore/WebCore.pri.webkit_debuginfo 2013-06-07 00:16:55.000000000 -0500 -+++ qt-everywhere-opensource-src-4.8.5/src/3rdparty/webkit/Source/WebCore/WebCore.pri 2013-07-11 14:04:19.937056249 -0500 -@@ -5,6 +5,12 @@ include(features.pri) - - # Uncomment this to enable Texture Mapper. - # CONFIG += texmap -+# -+equals(QT_ARCH, s390)|equals(QT_ARCH, arm)|equals(QT_ARCH, mips)|equals(QT_ARCH, i386)|equals(QT_ARCH, i686)|equals(QT_ARCH, x86_64)|equals(QT_ARCH, powerpc64)|equals(QT_ARCH, powerpc) { -+ message("WebCore workaround for QtWebkit: do not build with -g, but with -g1") -+ QMAKE_CXXFLAGS_RELEASE -= -g -+ QMAKE_CXXFLAGS_RELEASE += -g1 -+} - - QT *= network - diff --git a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.6-QTBUG-34614.patch b/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.6-QTBUG-34614.patch deleted file mode 100644 index 8b0468bb66..0000000000 --- a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.6-QTBUG-34614.patch +++ /dev/null @@ -1,95 +0,0 @@ ---- src/corelib/kernel/qeventdispatcher_glib.cpp.sav 2014-03-28 15:26:37.000000000 +0100 -+++ qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventdispatcher_glib.cpp 2014-04-24 09:44:09.358659204 +0200 -@@ -255,22 +255,30 @@ struct GPostEventSource - GSource source; - QAtomicInt serialNumber; - int lastSerialNumber; -+ QEventLoop::ProcessEventsFlags processEventsFlags; - QEventDispatcherGlibPrivate *d; - }; - - static gboolean postEventSourcePrepare(GSource *s, gint *timeout) - { -+ GPostEventSource *source = reinterpret_cast(s); - QThreadData *data = QThreadData::current(); - if (!data) - return false; - -+ QEventLoop::ProcessEventsFlags excludeAllFlags -+ = QEventLoop::ExcludeUserInputEvents -+ | QEventLoop::ExcludeSocketNotifiers -+ | QEventLoop::X11ExcludeTimers; -+ if ((source->processEventsFlags & excludeAllFlags) == excludeAllFlags) -+ return false; -+ - gint dummy; - if (!timeout) - timeout = &dummy; - const bool canWait = data->canWaitLocked(); - *timeout = canWait ? -1 : 0; - -- GPostEventSource *source = reinterpret_cast(s); - return (!canWait - || (source->serialNumber != source->lastSerialNumber)); - } -@@ -284,8 +292,14 @@ static gboolean postEventSourceDispatch( - { - GPostEventSource *source = reinterpret_cast(s); - source->lastSerialNumber = source->serialNumber; -- QCoreApplication::sendPostedEvents(); -- source->d->runTimersOnceWithNormalPriority(); -+ QEventLoop::ProcessEventsFlags excludeAllFlags -+ = QEventLoop::ExcludeUserInputEvents -+ | QEventLoop::ExcludeSocketNotifiers -+ | QEventLoop::X11ExcludeTimers; -+ if ((source->processEventsFlags & excludeAllFlags) != excludeAllFlags) { -+ QCoreApplication::sendPostedEvents(); -+ source->d->runTimersOnceWithNormalPriority(); -+ } - return true; // i dunno, george... - } - -@@ -329,6 +343,7 @@ QEventDispatcherGlibPrivate::QEventDispa - postEventSource = reinterpret_cast(g_source_new(&postEventSourceFuncs, - sizeof(GPostEventSource))); - postEventSource->serialNumber = 1; -+ postEventSource->processEventsFlags = QEventLoop::AllEvents; - postEventSource->d = this; - g_source_set_can_recurse(&postEventSource->source, true); - g_source_attach(&postEventSource->source, mainContext); -@@ -423,6 +438,7 @@ bool QEventDispatcherGlib::processEvents - - // tell postEventSourcePrepare() and timerSource about any new flags - QEventLoop::ProcessEventsFlags savedFlags = d->timerSource->processEventsFlags; -+ d->postEventSource->processEventsFlags = flags; - d->timerSource->processEventsFlags = flags; - d->socketNotifierSource->processEventsFlags = flags; - -@@ -435,6 +451,7 @@ bool QEventDispatcherGlib::processEvents - while (!result && canWait) - result = g_main_context_iteration(d->mainContext, canWait); - -+ d->postEventSource->processEventsFlags = savedFlags; - d->timerSource->processEventsFlags = savedFlags; - d->socketNotifierSource->processEventsFlags = savedFlags; - ---- src/corelib/kernel/qeventdispatcher_unix.cpp.sav 2013-06-07 07:16:52.000000000 +0200 -+++ qt-everywhere-opensource-src-4.8.6/src/corelib/kernel/qeventdispatcher_unix.cpp 2014-04-24 09:43:06.927589535 +0200 -@@ -905,7 +905,15 @@ bool QEventDispatcherUNIX::processEvents - - // we are awake, broadcast it - emit awake(); -- QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData); -+ -+ QEventLoop::ProcessEventsFlags excludeAllFlags -+ = QEventLoop::ExcludeUserInputEvents -+ | QEventLoop::ExcludeSocketNotifiers -+ | QEventLoop::X11ExcludeTimers; -+ if ((flags & excludeAllFlags) == excludeAllFlags) -+ return false; -+ if(( flags & excludeAllFlags ) != excludeAllFlags ) -+ QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData); - - int nevents = 0; - const bool canWait = (d->threadData->canWaitLocked() - diff --git a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.6-QTBUG-37380.patch b/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.6-QTBUG-37380.patch deleted file mode 100644 index 296a5ada69..0000000000 --- a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.6-QTBUG-37380.patch +++ /dev/null @@ -1,64 +0,0 @@ -Author: Jan-Marek Glogowski -Date: Thu Mar 06 18:44:43 2014 +0100 - - Honor QEventLoop::ExcludeSocketNotifiers in glib event loop. - - Implements QEventLoop::ExcludeSocketNotifiers in the same way - QEventLoop::X11ExcludeTimers is already implemented for the glib - event loop. - ---- qt4-x11-4.8.1.orig/src/corelib/kernel/qeventdispatcher_glib.cpp -+++ qt4-x11-4.8.1/src/corelib/kernel/qeventdispatcher_glib.cpp -@@ -65,6 +65,7 @@ struct GPollFDWithQSocketNotifier - struct GSocketNotifierSource - { - GSource source; -+ QEventLoop::ProcessEventsFlags processEventsFlags; - QList pollfds; - }; - -@@ -80,6 +81,9 @@ static gboolean socketNotifierSourceChec - GSocketNotifierSource *src = reinterpret_cast(source); - - bool pending = false; -+ if (src->processEventsFlags & QEventLoop::ExcludeSocketNotifiers) -+ return pending; -+ - for (int i = 0; !pending && i < src->pollfds.count(); ++i) { - GPollFDWithQSocketNotifier *p = src->pollfds.at(i); - -@@ -103,6 +107,9 @@ static gboolean socketNotifierSourceDisp - QEvent event(QEvent::SockAct); - - GSocketNotifierSource *src = reinterpret_cast(source); -+ if (src->processEventsFlags & QEventLoop::ExcludeSocketNotifiers) -+ return true; -+ - for (int i = 0; i < src->pollfds.count(); ++i) { - GPollFDWithQSocketNotifier *p = src->pollfds.at(i); - -@@ -330,6 +337,7 @@ QEventDispatcherGlibPrivate::QEventDispa - reinterpret_cast(g_source_new(&socketNotifierSourceFuncs, - sizeof(GSocketNotifierSource))); - (void) new (&socketNotifierSource->pollfds) QList(); -+ socketNotifierSource->processEventsFlags = QEventLoop::AllEvents; - g_source_set_can_recurse(&socketNotifierSource->source, true); - g_source_attach(&socketNotifierSource->source, mainContext); - -@@ -415,6 +423,7 @@ bool QEventDispatcherGlib::processEvents - // tell postEventSourcePrepare() and timerSource about any new flags - QEventLoop::ProcessEventsFlags savedFlags = d->timerSource->processEventsFlags; - d->timerSource->processEventsFlags = flags; -+ d->socketNotifierSource->processEventsFlags = flags; - - if (!(flags & QEventLoop::EventLoopExec)) { - // force timers to be sent at normal priority -@@ -426,6 +435,7 @@ bool QEventDispatcherGlib::processEvents - result = g_main_context_iteration(d->mainContext, canWait); - - d->timerSource->processEventsFlags = savedFlags; -+ d->socketNotifierSource->processEventsFlags = savedFlags; - - if (canWait) - emit awake(); - diff --git a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.6-QTBUG-38585.patch b/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.6-QTBUG-38585.patch deleted file mode 100644 index 6aee4fee73..0000000000 --- a/desktop/toolkit/qt/files/fedora/qt-everywhere-opensource-src-4.8.6-QTBUG-38585.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- src/gui/kernel/qclipboard_x11.cpp.sav 2014-04-25 09:52:03.855693228 +0200 -+++ qt-everywhere-opensource-src-4.8.6/src/gui/kernel/qclipboard_x11.cpp 2014-04-25 09:51:58.038693777 +0200 -@@ -548,7 +548,8 @@ bool QX11Data::clipboardWaitForEvent(Win - return false; - - XSync(X11->display, false); -- usleep(50000); -+ if (!XPending(X11->display)) -+ usleep(5000); - - now.start(); - - diff --git a/desktop/toolkit/qt/files/fedora/qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm.patch b/desktop/toolkit/qt/files/fedora/qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm.patch deleted file mode 100644 index e5ab4bad96..0000000000 --- a/desktop/toolkit/qt/files/fedora/qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm.patch +++ /dev/null @@ -1,50 +0,0 @@ -diff -ur qt-x11-opensource-src-4.5.0/src/corelib/arch/qatomic_i386.h qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm/src/corelib/arch/qatomic_i386.h ---- qt-x11-opensource-src-4.5.0/src/corelib/arch/qatomic_i386.h 2009-02-25 22:09:21.000000000 +0100 -+++ qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm/src/corelib/arch/qatomic_i386.h 2009-04-01 17:54:21.000000000 +0200 -@@ -115,8 +115,8 @@ - asm volatile("lock\n" - "incl %0\n" - "setne %1" -- : "=m" (_q_value), "=qm" (ret) -- : "m" (_q_value) -+ : "+m" (_q_value), "=qm" (ret) -+ : - : "memory"); - return ret != 0; - } -@@ -127,8 +127,8 @@ - asm volatile("lock\n" - "decl %0\n" - "setne %1" -- : "=m" (_q_value), "=qm" (ret) -- : "m" (_q_value) -+ : "+m" (_q_value), "=qm" (ret) -+ : - : "memory"); - return ret != 0; - } -diff -ur qt-x11-opensource-src-4.5.0/src/corelib/arch/qatomic_x86_64.h qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm/src/corelib/arch/qatomic_x86_64.h ---- qt-x11-opensource-src-4.5.0/src/corelib/arch/qatomic_x86_64.h 2009-02-25 22:09:21.000000000 +0100 -+++ qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm/src/corelib/arch/qatomic_x86_64.h 2009-04-01 17:54:32.000000000 +0200 -@@ -116,8 +116,8 @@ - asm volatile("lock\n" - "incl %0\n" - "setne %1" -- : "=m" (_q_value), "=qm" (ret) -- : "m" (_q_value) -+ : "+m" (_q_value), "=qm" (ret) -+ : - : "memory"); - return ret != 0; - } -@@ -128,8 +128,8 @@ - asm volatile("lock\n" - "decl %0\n" - "setne %1" -- : "=m" (_q_value), "=qm" (ret) -- : "m" (_q_value) -+ : "+m" (_q_value), "=qm" (ret) -+ : - : "memory"); - return ret != 0; - } diff --git a/desktop/toolkit/qt/files/fedora/qt-x11-opensource-src-4.5.1-enable_ft_lcdfilter.patch b/desktop/toolkit/qt/files/fedora/qt-x11-opensource-src-4.5.1-enable_ft_lcdfilter.patch deleted file mode 100644 index 4ab3ea4b11..0000000000 --- a/desktop/toolkit/qt/files/fedora/qt-x11-opensource-src-4.5.1-enable_ft_lcdfilter.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up qt-x11-opensource-src-4.5.1/src/gui/text/qfontengine_ft.cpp.enable_ft_lcdfilter qt-x11-opensource-src-4.5.1/src/gui/text/qfontengine_ft.cpp ---- qt-x11-opensource-src-4.5.1/src/gui/text/qfontengine_ft.cpp.enable_ft_lcdfilter 2009-04-21 18:57:41.000000000 -0500 -+++ qt-x11-opensource-src-4.5.1/src/gui/text/qfontengine_ft.cpp 2009-04-24 11:17:49.562695405 -0500 -@@ -72,7 +72,7 @@ - #include FT_CONFIG_OPTIONS_H - #endif - --#if defined(FT_LCD_FILTER_H) && defined(FT_CONFIG_OPTION_SUBPIXEL_RENDERING) -+#if defined(FT_LCD_FILTER_H) - #define QT_USE_FREETYPE_LCDFILTER - #endif - diff --git a/desktop/toolkit/qt/files/mkspecs.patch b/desktop/toolkit/qt/files/mkspecs.patch deleted file mode 100644 index 2cd05f90e5..0000000000 --- a/desktop/toolkit/qt/files/mkspecs.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff -Naur mkspecs/common.orig/g++-base.conf mkspecs/common/g++-base.conf ---- mkspecs/common.orig/g++-base.conf 2012-03-14 16:01:12.000000000 +0200 -+++ mkspecs/common/g++-base.conf 2012-04-05 14:53:05.670347102 +0300 -@@ -8,17 +8,23 @@ - # you can use the manual test in tests/manual/mkspecs. - # - --QMAKE_CC = gcc -+QMAKE_CC = PISILINUX_CC - - QMAKE_LINK_C = $$QMAKE_CC - QMAKE_LINK_C_SHLIB = $$QMAKE_CC - --QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -g -+QMAKE_CFLAGS_RELEASE += PISILINUX_CFLAGS -+QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += PISILINUX_CFLAGS -g - --QMAKE_CXX = g++ -+QMAKE_CXX = PISILINUX_CXX - --QMAKE_LINK = $$QMAKE_CXX --QMAKE_LINK_SHLIB = $$QMAKE_CXX -+ -+QMAKE_LINK = PISILINUX_CXX -+QMAKE_LINK_SHLIB = PISILINUX_CXX -+QMAKE_LINK_C = PISILINUX_CC -+QMAKE_LINK_C_SHLIB = PISILINUX_CC -+ -+QMAKE_LFLAGS_RELEASE += PISILINUX_LDFLAGS - - QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO - -diff -Naur mkspecs/common.orig/g++-unix.conf mkspecs/common/g++-unix.conf ---- mkspecs/common.orig/g++-unix.conf 2012-03-14 16:01:12.000000000 +0200 -+++ mkspecs/common/g++-unix.conf 2012-04-05 14:49:41.723399705 +0300 -@@ -10,5 +10,5 @@ - - include(g++-base.conf) - --QMAKE_LFLAGS_RELEASE += -Wl,-O1 -+QMAKE_LFLAGS_RELEASE += PISILINUX_LDFLAGS - QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined -diff -Naur mkspecs/common.orig/linux.conf mkspecs/common/linux.conf ---- mkspecs/common.orig/linux.conf 2012-03-14 16:01:12.000000000 +0200 -+++ mkspecs/common/linux.conf 2012-04-05 14:54:23.487037709 +0300 -@@ -57,7 +57,7 @@ - QMAKE_MOVE = mv -f - QMAKE_DEL_FILE = rm -f - QMAKE_DEL_DIR = rmdir --QMAKE_STRIP = strip -+QMAKE_STRIP = - QMAKE_STRIPFLAGS_LIB += --strip-unneeded - QMAKE_CHK_DIR_EXISTS = test -d - QMAKE_MKDIR = mkdir -p diff --git a/desktop/toolkit/qt/files/opensuse/0001-Don-t-crash-on-broken-GIF-images.patch b/desktop/toolkit/qt/files/opensuse/0001-Don-t-crash-on-broken-GIF-images.patch deleted file mode 100644 index 011918935e..0000000000 --- a/desktop/toolkit/qt/files/opensuse/0001-Don-t-crash-on-broken-GIF-images.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 19d31c5b036a46365584d7d97e87f7fe16150623 Mon Sep 17 00:00:00 2001 -From: Lars Knoll -Date: Thu, 24 Apr 2014 15:33:27 +0200 -Subject: [PATCH] Don't crash on broken GIF images - -Broken GIF images could set invalid width and height -values inside the image, leading to Qt creating a null -QImage for it. In that case we need to abort decoding -the image and return an error. - -Initial patch by Rich Moore. - -Backport of Id82a4036f478bd6e49c402d6598f57e7e5bb5e1e from Qt 5 - -Task-number: QTBUG-38367 -Change-Id: I0680740018aaa8356d267b7af3f01fac3697312a -Security-advisory: CVE-2014-0190 ---- - src/gui/image/qgifhandler.cpp | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/src/gui/image/qgifhandler.cpp b/src/gui/image/qgifhandler.cpp -index 3324f04..5199dd3 100644 ---- a/src/gui/image/qgifhandler.cpp -+++ b/src/gui/image/qgifhandler.cpp -@@ -359,6 +359,13 @@ int QGIFFormat::decode(QImage *image, const uchar *buffer, int length, - memset(bits, 0, image->byteCount()); - } - -+ // Check if the previous attempt to create the image failed. If it -+ // did then the image is broken and we should give up. -+ if (image->isNull()) { -+ state = Error; -+ return -1; -+ } -+ - disposePrevious(image); - disposed = false; - --- -1.9.0 - diff --git a/desktop/toolkit/qt/files/opensuse/0180-window-role.diff b/desktop/toolkit/qt/files/opensuse/0180-window-role.diff deleted file mode 100644 index 661c3ba5b2..0000000000 --- a/desktop/toolkit/qt/files/opensuse/0180-window-role.diff +++ /dev/null @@ -1,96 +0,0 @@ -Index: src/corelib/kernel/qobject.cpp -=================================================================== ---- src/corelib/kernel/qobject.cpp.orig -+++ src/corelib/kernel/qobject.cpp -@@ -1102,10 +1102,19 @@ void QObject::setObjectName(const QStrin - - d->objectName = name; - -+#if defined(Q_WS_X11) -+ d->checkWindowRole(); -+#endif -+ - if (objectNameChanged) - d->declarativeData->objectNameChanged(d->declarativeData, this); - } - -+#if defined(Q_WS_X11) -+void QObjectPrivate::checkWindowRole() -+{ -+} -+#endif - - #ifdef QT3_SUPPORT - /*! \internal -Index: src/corelib/kernel/qobject_p.h -=================================================================== ---- src/corelib/kernel/qobject_p.h.orig -+++ src/corelib/kernel/qobject_p.h -@@ -162,6 +162,9 @@ public: - #ifdef QT3_SUPPORT - void sendPendingChildInsertedEvents(); - #endif -+#if defined(Q_WS_X11) -+ virtual void checkWindowRole(); -+#endif - - static inline Sender *setCurrentSender(QObject *receiver, - Sender *sender); -Index: src/gui/kernel/qwidget_p.h -=================================================================== ---- src/gui/kernel/qwidget_p.h.orig -+++ src/gui/kernel/qwidget_p.h -@@ -784,6 +784,7 @@ public: - static QWidget *keyboardGrabber; - - void setWindowRole(); -+ virtual void checkWindowRole(); - void sendStartupMessage(const char *message) const; - void setNetWmWindowTypes(); - void x11UpdateIsOpaque(); -Index: src/gui/kernel/qwidget_x11.cpp -=================================================================== ---- src/gui/kernel/qwidget_x11.cpp.orig -+++ src/gui/kernel/qwidget_x11.cpp -@@ -849,13 +849,17 @@ void QWidgetPrivate::create_sys(WId wind - - - // declare the widget's window role -+ QByteArray windowRole; - if (QTLWExtra *topData = maybeTopData()) { -- if (!topData->role.isEmpty()) { -- QByteArray windowRole = topData->role.toUtf8(); -- XChangeProperty(dpy, id, -- ATOM(WM_WINDOW_ROLE), XA_STRING, 8, PropModeReplace, -- (unsigned char *)windowRole.constData(), windowRole.length()); -- } -+ if (!topData->role.isEmpty()) -+ windowRole = topData->role.toUtf8(); -+ } -+ if (windowRole.isEmpty()) // use object name as a fallback -+ windowRole = objectName.toUtf8(); -+ if (!windowRole.isEmpty()) { -+ XChangeProperty(dpy, id, -+ ATOM(WM_WINDOW_ROLE), XA_STRING, 8, PropModeReplace, -+ (unsigned char *)windowRole.constData(), windowRole.length()); - } - - // set client leader property -@@ -3015,6 +3019,17 @@ void QWidgetPrivate::setWindowRole() - XChangeProperty(X11->display, q->internalWinId(), - ATOM(WM_WINDOW_ROLE), XA_STRING, 8, PropModeReplace, - (unsigned char *)windowRole.constData(), windowRole.length()); -+} -+ -+void QWidgetPrivate::checkWindowRole() -+{ -+ Q_Q(QWidget); -+ if( !q->windowRole().isEmpty() || !q->internalWinId()) -+ return; -+ QByteArray windowRole = objectName.toUtf8(); // use as a fallback -+ XChangeProperty(X11->display, q->internalWinId(), -+ ATOM(WM_WINDOW_ROLE), XA_STRING, 8, PropModeReplace, -+ (unsigned char *)windowRole.constData(), windowRole.length()); - } - - Q_GLOBAL_STATIC(QX11PaintEngine, qt_widget_paintengine) diff --git a/desktop/toolkit/qt/files/opensuse/0188-fix-moc-parser-same-name-header.diff b/desktop/toolkit/qt/files/opensuse/0188-fix-moc-parser-same-name-header.diff deleted file mode 100644 index 660dfdf0ad..0000000000 --- a/desktop/toolkit/qt/files/opensuse/0188-fix-moc-parser-same-name-header.diff +++ /dev/null @@ -1,37 +0,0 @@ -qt-bugs@ issue : none -Trolltech task ID : none -applied: yes -author: Helio Chissini de Castro -os: unix - -In situations where included header have same name as their parent dir, i.e. -include/QtMyModule/QtMyModule and #include on code. moc will fail if parent dir was -added in front of includepath. -moc -Iinclude -Iinclude/QtMyModule fails -moc -Iinclude/QtMyModule works -This patch move dir test to proper place, as entry is validated only if is a real file, not a dir. -Detected by qca2 plugins code that uses QtCrypto/QtCrypto -Thanks to Thiago to find proper syntax - -Index: src/tools/moc/preprocessor.cpp -=================================================================== ---- src/tools/moc/preprocessor.cpp.orig -+++ src/tools/moc/preprocessor.cpp -@@ -799,7 +799,7 @@ void Preprocessor::preprocess(const QByt - QFileInfo fi; - if (local) - fi.setFile(QFileInfo(QString::fromLocal8Bit(filename)).dir(), QString::fromLocal8Bit(include)); -- for (int j = 0; j < Preprocessor::includes.size() && !fi.exists(); ++j) { -+ for (int j = 0; j < Preprocessor::includes.size() && ( !fi.exists() || fi.isDir() ); ++j) { - const IncludePath &p = Preprocessor::includes.at(j); - if (p.isFrameworkPath) { - const int slashPos = include.indexOf('/'); -@@ -819,7 +819,7 @@ void Preprocessor::preprocess(const QByt - } - } - -- if (!fi.exists() || fi.isDir()) -+ if ( !fi.exists() ) - continue; - include = fi.canonicalFilePath().toLocal8Bit(); - diff --git a/desktop/toolkit/qt/files/opensuse/0191-listview-alternate-row-colors.diff b/desktop/toolkit/qt/files/opensuse/0191-listview-alternate-row-colors.diff deleted file mode 100644 index 480464cee2..0000000000 --- a/desktop/toolkit/qt/files/opensuse/0191-listview-alternate-row-colors.diff +++ /dev/null @@ -1,24 +0,0 @@ -qt-bugs@ issue : 178507 -Trolltech task ID : 179170 -applied: no -author: Matthew Woehlke - -This patch fixes incorrect setting of the palette color group in -QListView that resulted in alternate rows being drawn with the Active -AlternateBase color even for inactive widgets (while the rest of the -widget is drawn correctly). Please let me know if QListView is not -the only culprit. (QTreeView was fixed by TT already.) - -Index: src/gui/itemviews/qlistview.cpp -=================================================================== ---- src/gui/itemviews/qlistview.cpp.orig -+++ src/gui/itemviews/qlistview.cpp -@@ -997,7 +997,7 @@ void QListView::paintEvent(QPaintEvent * - option.state &= ~QStyle::State_Enabled; - cg = QPalette::Disabled; - } else { -- cg = QPalette::Normal; -+ cg = window()->isActiveWindow() ? QPalette::Active : QPalette::Inactive; - } - option.palette.setCurrentColorGroup(cg); - } diff --git a/desktop/toolkit/qt/files/opensuse/0195-compositing-properties.diff b/desktop/toolkit/qt/files/opensuse/0195-compositing-properties.diff deleted file mode 100644 index 53789264c5..0000000000 --- a/desktop/toolkit/qt/files/opensuse/0195-compositing-properties.diff +++ /dev/null @@ -1,60 +0,0 @@ -qt-bugs@ issue : none -bugs.kde.org number : none -applied: no -author: Lubos Lunak - -This patch makes override-redirect windows (popup menu, dropdown menu, -tooltip, combobox, etc.) also have more window properties like WM_CLASS, -so they can be used when compositing. - -Index: src/gui/kernel/qwidget_x11.cpp -=================================================================== ---- src/gui/kernel/qwidget_x11.cpp.orig -+++ src/gui/kernel/qwidget_x11.cpp -@@ -773,6 +773,11 @@ void QWidgetPrivate::create_sys(WId wind - Q_ASSERT(id); - XChangeWindowAttributes(dpy, id, CWOverrideRedirect | CWSaveUnder, - &wsa); -+ XClassHint class_hint; -+ QByteArray appName = qAppName().toLatin1(); -+ class_hint.res_name = appName.data(); // application name -+ class_hint.res_class = const_cast(QX11Info::appClass()); // application class -+ XSetWMProperties(dpy, id, 0, 0, 0, 0, 0, 0, &class_hint); - } else if (topLevel && !desktop) { // top-level widget - if (!X11->wm_client_leader) - create_wm_client_leader(); -@@ -827,13 +832,21 @@ void QWidgetPrivate::create_sys(WId wind - // set EWMH window types - setNetWmWindowTypes(); - -+ // when we create a toplevel widget, the frame strut should be dirty -+ data.fstrut_dirty = 1; -+ -+ } else { -+ // non-toplevel widgets don't have a frame, so no need to -+ // update the strut -+ data.fstrut_dirty = 0; -+ } -+ -+ if (initializeWindow && (popup || (topLevel && !desktop))) { // properties set on all toplevel windows - // set _NET_WM_PID - long curr_pid = getpid(); - XChangeProperty(dpy, id, ATOM(_NET_WM_PID), XA_CARDINAL, 32, PropModeReplace, - (unsigned char *) &curr_pid, 1); - -- // when we create a toplevel widget, the frame strut should be dirty -- data.fstrut_dirty = 1; - - // declare the widget's window role - if (QTLWExtra *topData = maybeTopData()) { -@@ -849,10 +862,6 @@ void QWidgetPrivate::create_sys(WId wind - XChangeProperty(dpy, id, ATOM(WM_CLIENT_LEADER), - XA_WINDOW, 32, PropModeReplace, - (unsigned char *)&X11->wm_client_leader, 1); -- } else { -- // non-toplevel widgets don't have a frame, so no need to -- // update the strut -- data.fstrut_dirty = 0; - } - - if (initializeWindow && q->internalWinId()) { diff --git a/desktop/toolkit/qt/files/opensuse/0225-invalidate-tabbar-geometry-on-refresh.patch b/desktop/toolkit/qt/files/opensuse/0225-invalidate-tabbar-geometry-on-refresh.patch deleted file mode 100644 index d79c6f0897..0000000000 --- a/desktop/toolkit/qt/files/opensuse/0225-invalidate-tabbar-geometry-on-refresh.patch +++ /dev/null @@ -1,35 +0,0 @@ -qt-bugs@ issue : None -Trolltech task ID : None -bugs.kde.org number : 159014 -applied: no -author: Robert Knight - -When tabs are inserted or removed in a QTabBar, QTabBarPrivate::refresh() -is called to update the layout. If the tabbar widget is hidden, this -just sets a boolean variable (layoutDirty) and returns, so the parent widget's layout -is not notified about the possible geometry change. - -Prior to Qt 4.4 this was not a problem because the geometry was recalculated -in QTabBar::sizeHint() if the layoutDirty variable was set. In Qt 4.4 however the layout -caches size hint information in QWidgetItemV2. Since the cache information is not invalidated, -the layout may end up using out-of-date size hint information to compute the widget size. - -If the QTabBar is empty when QTabBar::sizeHint() is called, it will return a size with a height -of 0, which will be kept in the cache and so the tab bar will never be shown. - -This patch fixes the problem by calling updateGeometry() whenever the tab bar's layout is refreshed. - -Index: src/gui/widgets/qtabbar.cpp -=================================================================== ---- src/gui/widgets/qtabbar.cpp.orig -+++ src/gui/widgets/qtabbar.cpp -@@ -723,8 +723,8 @@ void QTabBarPrivate::refresh() - layoutTabs(); - makeVisible(currentIndex); - q->update(); -- q->updateGeometry(); - } -+ q->updateGeometry(); - } - - /*! diff --git a/desktop/toolkit/qt/files/opensuse/QSystemTrayicon.diff b/desktop/toolkit/qt/files/opensuse/QSystemTrayicon.diff deleted file mode 100644 index 2be68adba4..0000000000 --- a/desktop/toolkit/qt/files/opensuse/QSystemTrayicon.diff +++ /dev/null @@ -1,1486 +0,0 @@ -Description: Introduce a plugin system for QSystemTrayIcon. - Designed to be used with sni-qt (https://launchpad.net/sni-qt) -Author: agateau@kde.org -Forwarded: no - -Introduce a plugin system for QSystemTrayIcon. Designed to be used with sni-qt -(https://launchpad.net/sni-qt) ---- - examples/desktop/systray/window.cpp | 40 ++ - examples/desktop/systray/window.h | 6 - src/gui/util/qabstractsystemtrayiconsys.cpp | 65 +++ - src/gui/util/qabstractsystemtrayiconsys_p.h | 106 ++++++ - src/gui/util/qsystemtrayicon.cpp | 6 - src/gui/util/qsystemtrayicon_p.h | 85 ++--- - src/gui/util/qsystemtrayicon_x11.cpp | 356 ++++----------------- - src/gui/util/qxembedsystemtrayicon_x11.cpp | 469 ++++++++++++++++++++++++++++ - src/gui/util/qxembedsystemtrayicon_x11_p.h | 104 ++++++ - src/gui/util/util.pri | 7 - 10 files changed, 916 insertions(+), 328 deletions(-) - -Index: qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.cpp -=================================================================== ---- qt-everywhere-opensource-src-4.8.6.orig/examples/desktop/systray/window.cpp -+++ qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.cpp -@@ -158,15 +158,23 @@ void Window::createIconGroupBox() - iconComboBox->addItem(QIcon(":/images/bad.svg"), tr("Bad")); - iconComboBox->addItem(QIcon(":/images/heart.svg"), tr("Heart")); - iconComboBox->addItem(QIcon(":/images/trash.svg"), tr("Trash")); -+ iconComboBox->addItem(QIcon::fromTheme("system-file-manager"), tr("File Manager")); - - showIconCheckBox = new QCheckBox(tr("Show icon")); - showIconCheckBox->setChecked(true); - -+#if defined(Q_WS_X11) -+ jitToolTipCheckBox = new QCheckBox(tr("Just In Time Tooltip")); -+#endif -+ - QHBoxLayout *iconLayout = new QHBoxLayout; - iconLayout->addWidget(iconLabel); - iconLayout->addWidget(iconComboBox); - iconLayout->addStretch(); - iconLayout->addWidget(showIconCheckBox); -+#if defined(Q_WS_X11) -+ iconLayout->addWidget(jitToolTipCheckBox); -+#endif - iconGroupBox->setLayout(iconLayout); - } - -@@ -254,5 +262,37 @@ void Window::createTrayIcon() - trayIconMenu->addAction(quitAction); - - trayIcon = new QSystemTrayIcon(this); -+ QByteArray category = qgetenv("SNI_CATEGORY"); -+ if (!category.isEmpty()) { -+ trayIcon->setProperty("_qt_sni_category", QString::fromLocal8Bit(category)); -+ } - trayIcon->setContextMenu(trayIconMenu); -+ -+#if defined(Q_WS_X11) -+ trayIcon->installEventFilter(this); -+#endif -+} -+ -+#if defined(Q_WS_X11) -+bool Window::eventFilter(QObject *, QEvent *event) -+{ -+ switch(event->type()) { -+ case QEvent::ToolTip: -+ if (jitToolTipCheckBox->isChecked()) { -+ QString timeString = QTime::currentTime().toString(); -+ trayIcon->setToolTip(tr("Current Time: %1").arg(timeString)); -+ } -+ break; -+ case QEvent::Wheel: { -+ QWheelEvent *wheelEvent = static_cast(event); -+ int delta = wheelEvent->delta() > 0 ? 1 : -1; -+ int index = (iconComboBox->currentIndex() + delta) % iconComboBox->count(); -+ iconComboBox->setCurrentIndex(index); -+ break; -+ } -+ default: -+ break; -+ } -+ return false; - } -+#endif -Index: qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.h -=================================================================== ---- qt-everywhere-opensource-src-4.8.6.orig/examples/desktop/systray/window.h -+++ qt-everywhere-opensource-src-4.8.6/examples/desktop/systray/window.h -@@ -69,6 +69,9 @@ public: - - protected: - void closeEvent(QCloseEvent *event); -+#if defined(Q_WS_X11) -+ bool eventFilter(QObject *object, QEvent *event); -+#endif - - private slots: - void setIcon(int index); -@@ -86,6 +89,9 @@ private: - QLabel *iconLabel; - QComboBox *iconComboBox; - QCheckBox *showIconCheckBox; -+#if defined(Q_WS_X11) -+ QCheckBox *jitToolTipCheckBox; -+#endif - - QGroupBox *messageGroupBox; - QLabel *typeLabel; -Index: qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys.cpp -=================================================================== ---- /dev/null -+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys.cpp -@@ -0,0 +1,65 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -+** All rights reserved. -+** Contact: Nokia Corporation (qt-info@nokia.com) -+** -+** This file is part of the QtGui module of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** GNU Lesser General Public License Usage -+** This file may be used under the terms of the GNU Lesser General Public -+** License version 2.1 as published by the Free Software Foundation and -+** appearing in the file LICENSE.LGPL included in the packaging of this -+** file. Please review the following information to ensure the GNU Lesser -+** General Public License version 2.1 requirements will be met: -+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** In addition, as a special exception, Nokia gives you certain additional -+** rights. These rights are described in the Nokia Qt LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU General -+** Public License version 3.0 as published by the Free Software Foundation -+** and appearing in the file LICENSE.GPL included in the packaging of this -+** file. Please review the following information to ensure the GNU General -+** Public License version 3.0 requirements will be met: -+** http://www.gnu.org/copyleft/gpl.html. -+** -+** Other Usage -+** Alternatively, this file may be used in accordance with the terms and -+** conditions contained in a signed written agreement between you and Nokia. -+** -+** -+** -+** -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+#ifndef QT_NO_SYSTEMTRAYICON -+ -+#include "qabstractsystemtrayiconsys_p.h" -+ -+ -+QSystemTrayIconSysFactoryInterface::QSystemTrayIconSysFactoryInterface() -+{ -+} -+ -+///////////////////////////////////////////////// -+QAbstractSystemTrayIconSys::QAbstractSystemTrayIconSys(QSystemTrayIcon *icon) -+: trayIcon(icon) -+{ -+} -+ -+QAbstractSystemTrayIconSys::~QAbstractSystemTrayIconSys() -+{ -+} -+ -+void QAbstractSystemTrayIconSys::sendActivated(QSystemTrayIcon::ActivationReason reason) -+{ -+ qtsystray_sendActivated(trayIcon, reason); -+} -+ -+#endif -Index: qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys_p.h -=================================================================== ---- /dev/null -+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qabstractsystemtrayiconsys_p.h -@@ -0,0 +1,106 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -+** All rights reserved. -+** Contact: Nokia Corporation (qt-info@nokia.com) -+** -+** This file is part of the QtGui module of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** GNU Lesser General Public License Usage -+** This file may be used under the terms of the GNU Lesser General Public -+** License version 2.1 as published by the Free Software Foundation and -+** appearing in the file LICENSE.LGPL included in the packaging of this -+** file. Please review the following information to ensure the GNU Lesser -+** General Public License version 2.1 requirements will be met: -+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** In addition, as a special exception, Nokia gives you certain additional -+** rights. These rights are described in the Nokia Qt LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU General -+** Public License version 3.0 as published by the Free Software Foundation -+** and appearing in the file LICENSE.GPL included in the packaging of this -+** file. Please review the following information to ensure the GNU General -+** Public License version 3.0 requirements will be met: -+** http://www.gnu.org/copyleft/gpl.html. -+** -+** Other Usage -+** Alternatively, this file may be used in accordance with the terms and -+** conditions contained in a signed written agreement between you and Nokia. -+** -+** -+** -+** -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+#ifndef QABSTRACTSYSTEMTRAYICONSYS_P_H -+#define QABSTRACTSYSTEMTRAYICONSYS_P_H -+ -+// -+// W A R N I N G -+// ------------- -+// -+// This file is not part of the Qt API. It exists for the convenience -+// of a number of Qt sources files. This header file may change from -+// version to version without notice, or even be removed. -+// -+// We mean it. -+// -+ -+#ifndef QT_NO_SYSTEMTRAYICON -+ -+#include -+#include -+ -+class QAbstractSystemTrayIconSys; -+ -+class Q_GUI_EXPORT QSystemTrayIconSysFactoryInterface : public QObject, public QFactoryInterface -+{ -+ Q_OBJECT -+public: -+ QSystemTrayIconSysFactoryInterface(); -+ virtual QAbstractSystemTrayIconSys * create(QSystemTrayIcon *) = 0; -+ virtual bool isAvailable() const = 0; -+ -+ // \reimp -+ virtual QStringList keys() const { return QStringList() << QLatin1String("default"); } -+ -+Q_SIGNALS: -+ void availableChanged(bool); -+}; -+ -+#define QSystemTrayIconSysFactoryInterface_iid "com.nokia.qt.QSystemTrayIconSysFactoryInterface" -+Q_DECLARE_INTERFACE(QSystemTrayIconSysFactoryInterface, QSystemTrayIconSysFactoryInterface_iid) -+ -+class QRect; -+ -+class Q_GUI_EXPORT QAbstractSystemTrayIconSys -+{ -+public: -+ QAbstractSystemTrayIconSys(QSystemTrayIcon *icon); -+ virtual ~QAbstractSystemTrayIconSys(); -+ -+ virtual QRect geometry() const = 0; -+ virtual void updateVisibility() = 0; -+ virtual void updateIcon() = 0; -+ virtual void updateToolTip() = 0; -+ virtual void updateMenu() = 0; -+ virtual void showMessage(const QString &title, const QString &message, -+ QSystemTrayIcon::MessageIcon icon, int msecs) = 0; -+ -+ void sendActivated(QSystemTrayIcon::ActivationReason); -+ -+protected: -+ QSystemTrayIcon *trayIcon; -+}; -+ -+#endif // QT_NO_SYSTEMTRAYICON -+ -+#endif // QABSTRACTSYSTEMTRAYICONSYS_P_H -+ -Index: qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon.cpp -=================================================================== ---- qt-everywhere-opensource-src-4.8.6.orig/src/gui/util/qsystemtrayicon.cpp -+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon.cpp -@@ -287,12 +287,6 @@ bool QSystemTrayIcon::isVisible() const - */ - bool QSystemTrayIcon::event(QEvent *e) - { --#if defined(Q_WS_X11) -- if (e->type() == QEvent::ToolTip) { -- Q_D(QSystemTrayIcon); -- return d->sys->deliverToolTipEvent(e); -- } --#endif - return QObject::event(e); - } - -Index: qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_p.h -=================================================================== ---- qt-everywhere-opensource-src-4.8.6.orig/src/gui/util/qsystemtrayicon_p.h -+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_p.h -@@ -62,10 +62,17 @@ - #include "QtGui/qpixmap.h" - #include "QtCore/qstring.h" - #include "QtCore/qpointer.h" -+#if defined(Q_WS_X11) -+#include "QtCore/qset.h" -+#endif - - QT_BEGIN_NAMESPACE - -+#if defined(Q_WS_X11) -+class QAbstractSystemTrayIconSys; -+#else - class QSystemTrayIconSys; -+#endif - class QToolButton; - class QLabel; - -@@ -75,6 +82,9 @@ class QSystemTrayIconPrivate : public QO - - public: - QSystemTrayIconPrivate() : sys(0), visible(false) { } -+ #if defined(Q_WS_X11) -+ ~QSystemTrayIconPrivate(); -+ #endif - - void install_sys(); - void remove_sys(); -@@ -90,7 +100,11 @@ public: - QPointer menu; - QIcon icon; - QString toolTip; -+ #if defined(Q_WS_X11) -+ QAbstractSystemTrayIconSys *sys; -+ #else - QSystemTrayIconSys *sys; -+ #endif - bool visible; - }; - -@@ -123,60 +137,37 @@ private: - }; - - #if defined(Q_WS_X11) --QT_BEGIN_INCLUDE_NAMESPACE --#include --#include --#include --#include --QT_END_INCLUDE_NAMESPACE -+class QSystemTrayIconSysFactoryInterface; - --class QSystemTrayIconSys : public QWidget -+/** -+ * This class acts as a composite QSystemTrayIconSysFactory: It can create -+ * instances of QAbstractSystemTrayIconSys* using either a plugin or the -+ * builtin factory and will cause QSystemTrayIconPrivate to recreate their -+ * 'sys' instances if the plugin availability changes. -+ */ -+class QSystemTrayIconSysFactory : public QObject - { -- friend class QSystemTrayIconPrivate; -- -+ Q_OBJECT - public: -- QSystemTrayIconSys(QSystemTrayIcon *q); -- ~QSystemTrayIconSys(); -- enum { -- SYSTEM_TRAY_REQUEST_DOCK = 0, -- SYSTEM_TRAY_BEGIN_MESSAGE = 1, -- SYSTEM_TRAY_CANCEL_MESSAGE =2 -- }; -- -- void addToTray(); -- void updateIcon(); -- XVisualInfo* getSysTrayVisualInfo(); -- -- // QObject::event is public but QWidget's ::event() re-implementation -- // is protected ;( -- inline bool deliverToolTipEvent(QEvent *e) -- { return QWidget::event(e); } -- -- static Window sysTrayWindow; -- static QList trayIcons; -- static QCoreApplication::EventFilter oldEventFilter; -- static bool sysTrayTracker(void *message, long *result); -- static Window locateSystemTray(); -- static Atom sysTraySelection; -- static XVisualInfo sysTrayVisual; -+ QSystemTrayIconSysFactory(); -+ void registerSystemTrayIconPrivate(QSystemTrayIconPrivate *iconPrivate); -+ void unregisterSystemTrayIconPrivate(QSystemTrayIconPrivate *iconPrivate); - --protected: -- void paintEvent(QPaintEvent *pe); -- void resizeEvent(QResizeEvent *re); -- bool x11Event(XEvent *event); -- void mousePressEvent(QMouseEvent *event); -- void mouseDoubleClickEvent(QMouseEvent *event); --#ifndef QT_NO_WHEELEVENT -- void wheelEvent(QWheelEvent *event); --#endif -- bool event(QEvent *e); -+ QAbstractSystemTrayIconSys *create(QSystemTrayIcon *) const; -+ -+ bool isAvailable() const; -+ -+private Q_SLOTS: -+ void refreshTrayIconPrivates(); - - private: -- QPixmap background; -- QSystemTrayIcon *q; -- Colormap colormap; -+ QSystemTrayIconSysFactoryInterface *factory() const; -+ void loadPluginFactory(); -+ -+ QSystemTrayIconSysFactoryInterface *pluginFactory; -+ QSet trayIconPrivates; - }; --#endif // Q_WS_X11 -+#endif - - QT_END_NAMESPACE - -Index: qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_x11.cpp -=================================================================== ---- qt-everywhere-opensource-src-4.8.6.orig/src/gui/util/qsystemtrayicon_x11.cpp -+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qsystemtrayicon_x11.cpp -@@ -38,311 +38,122 @@ - ** $QT_END_LICENSE$ - ** - ****************************************************************************/ -+#ifndef QT_NO_SYSTEMTRAYICON -+ -+#include - --#include "private/qt_x11_p.h" --#include "qlabel.h" --#include "qx11info_x11.h" --#include "qpainter.h" --#include "qpixmap.h" --#include "qbitmap.h" --#include "qevent.h" --#include "qapplication.h" --#include "qlist.h" --#include "qmenu.h" --#include "qtimer.h" - #include "qsystemtrayicon_p.h" --#include "qpaintengine.h" -+#include "qabstractsystemtrayiconsys_p.h" -+#include "qcoreapplication.h" -+#include "qxembedsystemtrayicon_x11_p.h" - --#ifndef QT_NO_SYSTEMTRAYICON - QT_BEGIN_NAMESPACE - --Window QSystemTrayIconSys::sysTrayWindow = XNone; --QList QSystemTrayIconSys::trayIcons; --QCoreApplication::EventFilter QSystemTrayIconSys::oldEventFilter = 0; --Atom QSystemTrayIconSys::sysTraySelection = XNone; --XVisualInfo QSystemTrayIconSys::sysTrayVisual = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; -- --// Locate the system tray --Window QSystemTrayIconSys::locateSystemTray() --{ -- Display *display = QX11Info::display(); -- if (sysTraySelection == XNone) { -- int screen = QX11Info::appScreen(); -- QString net_sys_tray = QString::fromLatin1("_NET_SYSTEM_TRAY_S%1").arg(screen); -- sysTraySelection = XInternAtom(display, net_sys_tray.toLatin1(), False); -- } -- -- return XGetSelectionOwner(QX11Info::display(), sysTraySelection); --} -+Q_GLOBAL_STATIC(QSystemTrayIconSysFactory, qt_guiSystemTrayIconSysFactory) - --XVisualInfo* QSystemTrayIconSys::getSysTrayVisualInfo() -+QSystemTrayIconSysFactory::QSystemTrayIconSysFactory() -+: pluginFactory(0) - { -- Display *display = QX11Info::display(); -- -- if (!sysTrayVisual.visual) { -- Window win = locateSystemTray(); -- if (win != XNone) { -- Atom actual_type; -- int actual_format; -- ulong nitems, bytes_remaining; -- uchar *data = 0; -- int result = XGetWindowProperty(display, win, ATOM(_NET_SYSTEM_TRAY_VISUAL), 0, 1, -- False, XA_VISUALID, &actual_type, -- &actual_format, &nitems, &bytes_remaining, &data); -- VisualID vid = 0; -- if (result == Success && data && actual_type == XA_VISUALID && actual_format == 32 && -- nitems == 1 && bytes_remaining == 0) -- vid = *(VisualID*)data; -- if (data) -- XFree(data); -- if (vid == 0) -- return 0; -- -- uint mask = VisualIDMask; -- XVisualInfo *vi, rvi; -- int count; -- rvi.visualid = vid; -- vi = XGetVisualInfo(display, mask, &rvi, &count); -- if (vi) { -- sysTrayVisual = vi[0]; -- XFree((char*)vi); -- } -- if (sysTrayVisual.depth != 32) -- memset(&sysTrayVisual, 0, sizeof(sysTrayVisual)); -- } -- } -- -- return sysTrayVisual.visual ? &sysTrayVisual : 0; - } - --bool QSystemTrayIconSys::sysTrayTracker(void *message, long *result) -+void QSystemTrayIconSysFactory::loadPluginFactory() - { -- bool retval = false; -- if (QSystemTrayIconSys::oldEventFilter) -- retval = QSystemTrayIconSys::oldEventFilter(message, result); -- -- if (trayIcons.isEmpty()) -- return retval; -- -- Display *display = QX11Info::display(); -- XEvent *ev = (XEvent *)message; -- if (ev->type == DestroyNotify && ev->xany.window == sysTrayWindow) { -- sysTrayWindow = locateSystemTray(); -- memset(&sysTrayVisual, 0, sizeof(sysTrayVisual)); -- for (int i = 0; i < trayIcons.count(); i++) { -- if (sysTrayWindow == XNone) { -- QBalloonTip::hideBalloon(); -- trayIcons[i]->hide(); // still no luck -- trayIcons[i]->destroy(); -- trayIcons[i]->create(); -- } else -- trayIcons[i]->addToTray(); // add it to the new tray -- } -- retval = true; -- } else if (ev->type == ClientMessage && sysTrayWindow == XNone) { -- static Atom manager_atom = XInternAtom(display, "MANAGER", False); -- XClientMessageEvent *cm = (XClientMessageEvent *)message; -- if ((cm->message_type == manager_atom) && ((Atom)cm->data.l[1] == sysTraySelection)) { -- sysTrayWindow = cm->data.l[2]; -- memset(&sysTrayVisual, 0, sizeof(sysTrayVisual)); -- XSelectInput(display, sysTrayWindow, StructureNotifyMask); -- for (int i = 0; i < trayIcons.count(); i++) { -- trayIcons[i]->addToTray(); -- } -- retval = true; -- } -- } else if (ev->type == PropertyNotify && ev->xproperty.atom == ATOM(_NET_SYSTEM_TRAY_VISUAL) && -- ev->xproperty.window == sysTrayWindow) { -- memset(&sysTrayVisual, 0, sizeof(sysTrayVisual)); -- for (int i = 0; i < trayIcons.count(); i++) { -- trayIcons[i]->addToTray(); -- } -- } -- -- return retval; --} -- --QSystemTrayIconSys::QSystemTrayIconSys(QSystemTrayIcon *q) -- : QWidget(0, Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint), -- q(q), colormap(0) --{ -- setAttribute(Qt::WA_AlwaysShowToolTips); -- setAttribute(Qt::WA_QuitOnClose, false); -- setAttribute(Qt::WA_NoSystemBackground, true); -- setAttribute(Qt::WA_PaintOnScreen); -- -- static bool eventFilterAdded = false; -- Display *display = QX11Info::display(); -- if (!eventFilterAdded) { -- oldEventFilter = qApp->setEventFilter(sysTrayTracker); -- eventFilterAdded = true; -- Window root = QX11Info::appRootWindow(); -- XWindowAttributes attr; -- XGetWindowAttributes(display, root, &attr); -- if ((attr.your_event_mask & StructureNotifyMask) != StructureNotifyMask) { -- (void) QApplication::desktop(); // lame trick to ensure our event mask is not overridden -- XSelectInput(display, root, attr.your_event_mask | StructureNotifyMask); // for MANAGER selection -- } -+ if (pluginFactory) { -+ return; - } -- if (trayIcons.isEmpty()) { -- sysTrayWindow = locateSystemTray(); -- if (sysTrayWindow != XNone) -- XSelectInput(display, sysTrayWindow, StructureNotifyMask); // track tray events -+#ifndef QT_NO_LIBRARY -+ QFactoryLoader loader(QSystemTrayIconSysFactoryInterface_iid, QLatin1String("/systemtrayicon")); -+ pluginFactory = qobject_cast(loader.instance(QLatin1String("default"))); -+ if (pluginFactory) { -+ // Set parent to ensure factory destructor is called when application -+ // is closed -+ pluginFactory->setParent(QCoreApplication::instance()); -+ connect(pluginFactory, SIGNAL(availableChanged(bool)), SLOT(refreshTrayIconPrivates())); - } -- trayIcons.append(this); -- setMouseTracking(true); --#ifndef QT_NO_TOOLTIP -- setToolTip(q->toolTip()); --#endif -- if (sysTrayWindow != XNone) -- addToTray(); -+#endif // QT_NO_LIBRARY - } - --QSystemTrayIconSys::~QSystemTrayIconSys() -+QSystemTrayIconSysFactoryInterface *QSystemTrayIconSysFactory::factory() const - { -- trayIcons.removeAt(trayIcons.indexOf(this)); -- Display *display = QX11Info::display(); -- if (trayIcons.isEmpty()) { -- if (sysTrayWindow == XNone) -- return; -- if (display) -- XSelectInput(display, sysTrayWindow, 0); // stop tracking the tray -- sysTrayWindow = XNone; -+ if (!pluginFactory) { -+ const_cast(this)->loadPluginFactory(); - } -- if (colormap) -- XFreeColormap(display, colormap); -+ if (pluginFactory && pluginFactory->isAvailable()) { -+ return pluginFactory; -+ } -+ static QXEmbedSystemTrayIconSysFactory def; -+ return def.isAvailable() ? &def : 0; - } - --void QSystemTrayIconSys::addToTray() -+void QSystemTrayIconSysFactory::refreshTrayIconPrivates() - { -- Q_ASSERT(sysTrayWindow != XNone); -- Display *display = QX11Info::display(); -- -- XVisualInfo *vi = getSysTrayVisualInfo(); -- if (vi && vi->visual) { -- Window root = RootWindow(display, vi->screen); -- Window p = root; -- if (QWidget *pw = parentWidget()) -- p = pw->effectiveWinId(); -- colormap = XCreateColormap(display, root, vi->visual, AllocNone); -- XSetWindowAttributes wsa; -- wsa.background_pixmap = 0; -- wsa.colormap = colormap; -- wsa.background_pixel = 0; -- wsa.border_pixel = 0; -- Window wid = XCreateWindow(display, p, -1, -1, 1, 1, -- 0, vi->depth, InputOutput, vi->visual, -- CWBackPixmap|CWBackPixel|CWBorderPixel|CWColormap, &wsa); -- create(wid); -- } else { -- XSetWindowBackgroundPixmap(display, winId(), ParentRelative); -- } -- -- // GNOME, NET WM Specification -- static Atom netwm_tray_atom = XInternAtom(display, "_NET_SYSTEM_TRAY_OPCODE", False); -- long l[5] = { CurrentTime, SYSTEM_TRAY_REQUEST_DOCK, static_cast(winId()), 0, 0 }; -- XEvent ev; -- memset(&ev, 0, sizeof(ev)); -- ev.xclient.type = ClientMessage; -- ev.xclient.window = sysTrayWindow; -- ev.xclient.message_type = netwm_tray_atom; -- ev.xclient.format = 32; -- memcpy((char *)&ev.xclient.data, (const char *) l, sizeof(l)); -- XSendEvent(display, sysTrayWindow, False, 0, &ev); -- setMinimumSize(22, 22); // required at least on GNOME --} -- --void QSystemTrayIconSys::updateIcon() --{ -- update(); --} -- --void QSystemTrayIconSys::resizeEvent(QResizeEvent *re) --{ -- QWidget::resizeEvent(re); -- updateIcon(); --} -- --void QSystemTrayIconSys::paintEvent(QPaintEvent*) --{ -- QPainter p(this); -- if (!getSysTrayVisualInfo()) { -- const QRegion oldSystemClip = p.paintEngine()->systemClip(); -- const QRect clearedRect = oldSystemClip.boundingRect(); -- XClearArea(QX11Info::display(), winId(), clearedRect.x(), clearedRect.y(), -- clearedRect.width(), clearedRect.height(), False); -- QPaintEngine *pe = p.paintEngine(); -- pe->setSystemClip(clearedRect); -- q->icon().paint(&p, rect()); -- pe->setSystemClip(oldSystemClip); -- } else { -- p.setCompositionMode(QPainter::CompositionMode_Source); -- p.fillRect(rect(), Qt::transparent); -- p.setCompositionMode(QPainter::CompositionMode_SourceOver); -- q->icon().paint(&p, rect()); -+ Q_FOREACH(QSystemTrayIconPrivate *trayIconPrivate, trayIconPrivates) { -+ if (trayIconPrivate->sys) { -+ delete trayIconPrivate->sys; -+ trayIconPrivate->sys = 0; -+ } -+ // When visible is true, sys is usually not 0 but it can be 0 if the -+ // call to install_sys() failed. -+ if (trayIconPrivate->visible) { -+ trayIconPrivate->install_sys(); -+ } - } - } - --void QSystemTrayIconSys::mousePressEvent(QMouseEvent *ev) -+void QSystemTrayIconSysFactory::registerSystemTrayIconPrivate(QSystemTrayIconPrivate* trayIconPrivate) - { -- QPoint globalPos = ev->globalPos(); -- if (ev->button() == Qt::RightButton && q->contextMenu()) -- q->contextMenu()->popup(globalPos); -- -- if (QBalloonTip::isBalloonVisible()) { -- emit q->messageClicked(); -- QBalloonTip::hideBalloon(); -- } -- -- if (ev->button() == Qt::LeftButton) -- emit q->activated(QSystemTrayIcon::Trigger); -- else if (ev->button() == Qt::RightButton) -- emit q->activated(QSystemTrayIcon::Context); -- else if (ev->button() == Qt::MidButton) -- emit q->activated(QSystemTrayIcon::MiddleClick); -+ trayIconPrivates.insert(trayIconPrivate); - } - --void QSystemTrayIconSys::mouseDoubleClickEvent(QMouseEvent *ev) -+void QSystemTrayIconSysFactory::unregisterSystemTrayIconPrivate(QSystemTrayIconPrivate* trayIconPrivate) - { -- if (ev->button() == Qt::LeftButton) -- emit q->activated(QSystemTrayIcon::DoubleClick); -+ trayIconPrivates.remove(trayIconPrivate); - } - --#ifndef QT_NO_WHEELEVENT --void QSystemTrayIconSys::wheelEvent(QWheelEvent *e) -+QAbstractSystemTrayIconSys *QSystemTrayIconSysFactory::create(QSystemTrayIcon *trayIcon) const - { -- QApplication::sendEvent(q, e); -+ QSystemTrayIconSysFactoryInterface *f = factory(); -+ if (!f) { -+ qWarning("No systemtrayicon available"); -+ return 0; -+ } -+ return f->create(trayIcon); - } --#endif - --bool QSystemTrayIconSys::event(QEvent *e) -+bool QSystemTrayIconSysFactory::isAvailable() const - { -- if (e->type() == QEvent::ToolTip) { -- return QApplication::sendEvent(q, e); -- } -- return QWidget::event(e); -+ return factory(); - } - --bool QSystemTrayIconSys::x11Event(XEvent *event) -+//////////////////////////////////////////////// -+QSystemTrayIconPrivate::~QSystemTrayIconPrivate() - { -- if (event->type == ReparentNotify) -- show(); -- return QWidget::x11Event(event); -+ qt_guiSystemTrayIconSysFactory()->unregisterSystemTrayIconPrivate(this); -+ delete sys; - } - --//////////////////////////////////////////////////////////////////////////// - void QSystemTrayIconPrivate::install_sys() - { - Q_Q(QSystemTrayIcon); -- if (!sys) -- sys = new QSystemTrayIconSys(q); -+ if (!sys) { -+ // Register ourself even if create() fails: our "sys" will get created -+ // later by refreshTrayIconPrivates() if a systemtray becomes -+ // available. This situation can happen for applications which are -+ // started at login time, while the desktop itself is starting up. -+ qt_guiSystemTrayIconSysFactory()->registerSystemTrayIconPrivate(this); -+ sys = qt_guiSystemTrayIconSysFactory()->create(q); -+ if (!sys) { -+ return; -+ } -+ } -+ sys->updateVisibility(); - } - - QRect QSystemTrayIconPrivate::geometry_sys() const - { -- if (!sys) -- return QRect(); -- return QRect(sys->mapToGlobal(QPoint(0, 0)), sys->size()); -+ if (!sys || !visible) -+ return QRect(); -+ return sys->geometry(); - } - - void QSystemTrayIconPrivate::remove_sys() -@@ -350,35 +161,35 @@ void QSystemTrayIconPrivate::remove_sys( - if (!sys) - return; - QBalloonTip::hideBalloon(); -- sys->hide(); // this should do the trick, but... -- delete sys; // wm may resize system tray only for DestroyEvents -- sys = 0; -+ sys->updateVisibility(); - } - - void QSystemTrayIconPrivate::updateIcon_sys() - { -- if (!sys) -+ if (!sys || !visible) - return; - sys->updateIcon(); - } - - void QSystemTrayIconPrivate::updateMenu_sys() - { -- -+ if (!sys || !visible) -+ return; -+ sys->updateMenu(); - } - - void QSystemTrayIconPrivate::updateToolTip_sys() - { -- if (!sys) -+ if (!sys || !visible) - return; - #ifndef QT_NO_TOOLTIP -- sys->setToolTip(toolTip); -+ sys->updateToolTip(); - #endif - } - - bool QSystemTrayIconPrivate::isSystemTrayAvailable_sys() - { -- return QSystemTrayIconSys::locateSystemTray() != XNone; -+ return qt_guiSystemTrayIconSysFactory()->isAvailable(); - } - - bool QSystemTrayIconPrivate::supportsMessages_sys() -@@ -389,12 +200,9 @@ bool QSystemTrayIconPrivate::supportsMes - void QSystemTrayIconPrivate::showMessage_sys(const QString &message, const QString &title, - QSystemTrayIcon::MessageIcon icon, int msecs) - { -- if (!sys) -+ if (!sys || !visible) - return; -- QPoint g = sys->mapToGlobal(QPoint(0, 0)); -- QBalloonTip::showBalloon(icon, message, title, sys->q, -- QPoint(g.x() + sys->width()/2, g.y() + sys->height()/2), -- msecs); -+ sys->showMessage(message, title, icon, msecs); - } - - QT_END_NAMESPACE -Index: qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11.cpp -=================================================================== ---- /dev/null -+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11.cpp -@@ -0,0 +1,469 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -+** All rights reserved. -+** Contact: Nokia Corporation (qt-info@nokia.com) -+** -+** This file is part of the QtGui module of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** GNU Lesser General Public License Usage -+** This file may be used under the terms of the GNU Lesser General Public -+** License version 2.1 as published by the Free Software Foundation and -+** appearing in the file LICENSE.LGPL included in the packaging of this -+** file. Please review the following information to ensure the GNU Lesser -+** General Public License version 2.1 requirements will be met: -+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** In addition, as a special exception, Nokia gives you certain additional -+** rights. These rights are described in the Nokia Qt LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU General -+** Public License version 3.0 as published by the Free Software Foundation -+** and appearing in the file LICENSE.GPL included in the packaging of this -+** file. Please review the following information to ensure the GNU General -+** Public License version 3.0 requirements will be met: -+** http://www.gnu.org/copyleft/gpl.html. -+** -+** Other Usage -+** Alternatively, this file may be used in accordance with the terms and -+** conditions contained in a signed written agreement between you and Nokia. -+** -+** -+** -+** -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+#include "qxembedsystemtrayicon_x11_p.h" -+ -+#ifndef QT_NO_SYSTEMTRAYICON -+ -+#include "private/qt_x11_p.h" -+#include "qapplication.h" -+#include "qevent.h" -+#include "qlist.h" -+#include "qmenu.h" -+#include "qpainter.h" -+#include "qpaintengine.h" -+#include "qsystemtrayicon_p.h" -+#include "qx11info_x11.h" -+ -+QT_BEGIN_INCLUDE_NAMESPACE -+#include -+#include -+#include -+#include -+QT_END_INCLUDE_NAMESPACE -+ -+QT_BEGIN_NAMESPACE -+ -+class QSystemTrayIconWidget : public QWidget -+{ -+public: -+ QSystemTrayIconWidget(QSystemTrayIcon *q, QXEmbedSystemTrayIconSys *s); -+ ~QSystemTrayIconWidget(); -+ -+ static Window locateSystemTray(); -+ -+protected: -+ void paintEvent(QPaintEvent *pe); -+ void resizeEvent(QResizeEvent *re); -+ bool x11Event(XEvent *event); -+ void mousePressEvent(QMouseEvent *event); -+ void mouseDoubleClickEvent(QMouseEvent *event); -+#ifndef QT_NO_WHEELEVENT -+ void wheelEvent(QWheelEvent *event); -+#endif -+ bool event(QEvent *e); -+ -+private: -+ enum { -+ SYSTEM_TRAY_REQUEST_DOCK = 0, -+ SYSTEM_TRAY_BEGIN_MESSAGE = 1, -+ SYSTEM_TRAY_CANCEL_MESSAGE =2 -+ }; -+ -+ void addToTray(); -+ static XVisualInfo* getSysTrayVisualInfo(); -+ -+ static Window sysTrayWindow; -+ static QList trayIcons; -+ static QCoreApplication::EventFilter oldEventFilter; -+ static bool sysTrayTracker(void *message, long *result); -+ static Atom sysTraySelection; -+ static XVisualInfo sysTrayVisual; -+ -+ QSystemTrayIcon *q; -+ QXEmbedSystemTrayIconSys *sys; -+ Colormap colormap; -+}; -+ -+Window QSystemTrayIconWidget::sysTrayWindow = XNone; -+QList QSystemTrayIconWidget::trayIcons; -+QCoreApplication::EventFilter QSystemTrayIconWidget::oldEventFilter = 0; -+Atom QSystemTrayIconWidget::sysTraySelection = XNone; -+XVisualInfo QSystemTrayIconWidget::sysTrayVisual = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; -+ -+QSystemTrayIconWidget::QSystemTrayIconWidget(QSystemTrayIcon* q, QXEmbedSystemTrayIconSys* sys) -+: QWidget(0, Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint) -+, q(q) -+, sys(sys) -+, colormap(0) -+{ -+ setAttribute(Qt::WA_AlwaysShowToolTips); -+ setAttribute(Qt::WA_QuitOnClose, false); -+ setAttribute(Qt::WA_NoSystemBackground, true); -+ setAttribute(Qt::WA_PaintOnScreen); -+ setMouseTracking(true); -+#ifndef QT_NO_TOOLTIP -+ setToolTip(q->toolTip()); -+#endif -+ -+ static bool eventFilterAdded = false; -+ Display *display = QX11Info::display(); -+ if (!eventFilterAdded) { -+ oldEventFilter = qApp->setEventFilter(sysTrayTracker); -+ eventFilterAdded = true; -+ Window root = QX11Info::appRootWindow(); -+ XWindowAttributes attr; -+ XGetWindowAttributes(display, root, &attr); -+ if ((attr.your_event_mask & StructureNotifyMask) != StructureNotifyMask) { -+ (void) QApplication::desktop(); // lame trick to ensure our event mask is not overridden -+ XSelectInput(display, root, attr.your_event_mask | StructureNotifyMask); // for MANAGER selection -+ } -+ } -+ if (trayIcons.isEmpty()) { -+ sysTrayWindow = locateSystemTray(); -+ if (sysTrayWindow != XNone) -+ XSelectInput(display, sysTrayWindow, StructureNotifyMask); // track tray events -+ } -+ trayIcons.append(this); -+ if (sysTrayWindow != XNone) -+ addToTray(); -+} -+ -+QSystemTrayIconWidget::~QSystemTrayIconWidget() -+{ -+ trayIcons.removeAt(trayIcons.indexOf(this)); -+ Display *display = QX11Info::display(); -+ if (trayIcons.isEmpty()) { -+ if (sysTrayWindow == XNone) -+ return; -+ if (display) -+ XSelectInput(display, sysTrayWindow, 0); // stop tracking the tray -+ sysTrayWindow = XNone; -+ } -+ if (colormap) -+ XFreeColormap(display, colormap); -+} -+ -+void QSystemTrayIconWidget::resizeEvent(QResizeEvent *re) -+{ -+ QWidget::resizeEvent(re); -+ update(); -+} -+ -+void QSystemTrayIconWidget::paintEvent(QPaintEvent*) -+{ -+ QPainter p(this); -+ if (!getSysTrayVisualInfo()) { -+ const QRegion oldSystemClip = p.paintEngine()->systemClip(); -+ const QRect clearedRect = oldSystemClip.boundingRect(); -+ XClearArea(QX11Info::display(), winId(), clearedRect.x(), clearedRect.y(), -+ clearedRect.width(), clearedRect.height(), False); -+ QPaintEngine *pe = p.paintEngine(); -+ pe->setSystemClip(clearedRect); -+ q->icon().paint(&p, rect()); -+ pe->setSystemClip(oldSystemClip); -+ } else { -+ p.setCompositionMode(QPainter::CompositionMode_Source); -+ p.fillRect(rect(), Qt::transparent); -+ p.setCompositionMode(QPainter::CompositionMode_SourceOver); -+ q->icon().paint(&p, rect()); -+ } -+} -+ -+void QSystemTrayIconWidget::mousePressEvent(QMouseEvent *ev) -+{ -+ QPoint globalPos = ev->globalPos(); -+ if (ev->button() == Qt::RightButton && q->contextMenu()) -+ q->contextMenu()->popup(globalPos); -+ -+ if (QBalloonTip::isBalloonVisible()) { -+ QMetaObject::invokeMethod(q, "messageClicked"); -+ QBalloonTip::hideBalloon(); -+ } -+ -+ if (ev->button() == Qt::LeftButton) -+ qtsystray_sendActivated(q, QSystemTrayIcon::Trigger); -+ else if (ev->button() == Qt::RightButton) -+ qtsystray_sendActivated(q, QSystemTrayIcon::Context); -+ else if (ev->button() == Qt::MidButton) -+ qtsystray_sendActivated(q, QSystemTrayIcon::MiddleClick); -+} -+ -+void QSystemTrayIconWidget::mouseDoubleClickEvent(QMouseEvent *ev) -+{ -+ if (ev->button() == Qt::LeftButton) -+ qtsystray_sendActivated(q, QSystemTrayIcon::DoubleClick); -+} -+ -+#ifndef QT_NO_WHEELEVENT -+void QSystemTrayIconWidget::wheelEvent(QWheelEvent *e) -+{ -+ sys->sendWheelEventToTrayIcon(e->delta(), e->orientation()); -+} -+#endif -+ -+bool QSystemTrayIconWidget::event(QEvent *e) -+{ -+ if (e->type() == QEvent::ToolTip) { -+ sys->sendToolTipEventToTrayIcon(); -+ } -+ return QWidget::event(e); -+} -+ -+bool QSystemTrayIconWidget::x11Event(XEvent *event) -+{ -+ if (event->type == ReparentNotify) -+ show(); -+ return QWidget::x11Event(event); -+} -+ -+// Locate the system tray -+Window QSystemTrayIconWidget::locateSystemTray() -+{ -+ Display *display = QX11Info::display(); -+ if (sysTraySelection == XNone) { -+ int screen = QX11Info::appScreen(); -+ QString net_sys_tray = QString::fromLatin1("_NET_SYSTEM_TRAY_S%1").arg(screen); -+ sysTraySelection = XInternAtom(display, net_sys_tray.toLatin1(), False); -+ } -+ -+ return XGetSelectionOwner(QX11Info::display(), sysTraySelection); -+} -+ -+XVisualInfo* QSystemTrayIconWidget::getSysTrayVisualInfo() -+{ -+ Display *display = QX11Info::display(); -+ -+ if (!sysTrayVisual.visual) { -+ Window win = locateSystemTray(); -+ if (win != XNone) { -+ Atom actual_type; -+ int actual_format; -+ ulong nitems, bytes_remaining; -+ uchar *data = 0; -+ int result = XGetWindowProperty(display, win, ATOM(_NET_SYSTEM_TRAY_VISUAL), 0, 1, -+ False, XA_VISUALID, &actual_type, -+ &actual_format, &nitems, &bytes_remaining, &data); -+ VisualID vid = 0; -+ if (result == Success && data && actual_type == XA_VISUALID && actual_format == 32 && -+ nitems == 1 && bytes_remaining == 0) -+ vid = *(VisualID*)data; -+ if (data) -+ XFree(data); -+ if (vid == 0) -+ return 0; -+ -+ uint mask = VisualIDMask; -+ XVisualInfo *vi, rvi; -+ int count; -+ rvi.visualid = vid; -+ vi = XGetVisualInfo(display, mask, &rvi, &count); -+ if (vi) { -+ sysTrayVisual = vi[0]; -+ XFree((char*)vi); -+ } -+ if (sysTrayVisual.depth != 32) -+ memset(&sysTrayVisual, 0, sizeof(sysTrayVisual)); -+ } -+ } -+ -+ return sysTrayVisual.visual ? &sysTrayVisual : 0; -+} -+ -+bool QSystemTrayIconWidget::sysTrayTracker(void *message, long *result) -+{ -+ bool retval = false; -+ if (QSystemTrayIconWidget::oldEventFilter) -+ retval = QSystemTrayIconWidget::oldEventFilter(message, result); -+ -+ if (trayIcons.isEmpty()) -+ return retval; -+ -+ Display *display = QX11Info::display(); -+ XEvent *ev = (XEvent *)message; -+ if (ev->type == DestroyNotify && ev->xany.window == sysTrayWindow) { -+ sysTrayWindow = locateSystemTray(); -+ memset(&sysTrayVisual, 0, sizeof(sysTrayVisual)); -+ for (int i = 0; i < trayIcons.count(); i++) { -+ if (sysTrayWindow == XNone) { -+ QBalloonTip::hideBalloon(); -+ trayIcons[i]->hide(); // still no luck -+ trayIcons[i]->destroy(); -+ trayIcons[i]->create(); -+ } else -+ trayIcons[i]->addToTray(); // add it to the new tray -+ } -+ retval = true; -+ } else if (ev->type == ClientMessage && sysTrayWindow == XNone) { -+ static Atom manager_atom = XInternAtom(display, "MANAGER", False); -+ XClientMessageEvent *cm = (XClientMessageEvent *)message; -+ if ((cm->message_type == manager_atom) && ((Atom)cm->data.l[1] == sysTraySelection)) { -+ sysTrayWindow = cm->data.l[2]; -+ memset(&sysTrayVisual, 0, sizeof(sysTrayVisual)); -+ XSelectInput(display, sysTrayWindow, StructureNotifyMask); -+ for (int i = 0; i < trayIcons.count(); i++) { -+ trayIcons[i]->addToTray(); -+ } -+ retval = true; -+ } -+ } else if (ev->type == PropertyNotify && ev->xproperty.atom == ATOM(_NET_SYSTEM_TRAY_VISUAL) && -+ ev->xproperty.window == sysTrayWindow) { -+ memset(&sysTrayVisual, 0, sizeof(sysTrayVisual)); -+ for (int i = 0; i < trayIcons.count(); i++) { -+ trayIcons[i]->addToTray(); -+ } -+ } -+ -+ return retval; -+} -+ -+void QSystemTrayIconWidget::addToTray() -+{ -+ Q_ASSERT(sysTrayWindow != XNone); -+ Display *display = QX11Info::display(); -+ -+ XVisualInfo *vi = getSysTrayVisualInfo(); -+ if (vi && vi->visual) { -+ Window root = RootWindow(display, vi->screen); -+ Window p = root; -+ if (QWidget *pw = parentWidget()) -+ p = pw->effectiveWinId(); -+ colormap = XCreateColormap(display, root, vi->visual, AllocNone); -+ XSetWindowAttributes wsa; -+ wsa.background_pixmap = 0; -+ wsa.colormap = colormap; -+ wsa.background_pixel = 0; -+ wsa.border_pixel = 0; -+ Window wid = XCreateWindow(display, p, -1, -1, 1, 1, -+ 0, vi->depth, InputOutput, vi->visual, -+ CWBackPixmap|CWBackPixel|CWBorderPixel|CWColormap, &wsa); -+ create(wid); -+ } else { -+ XSetWindowBackgroundPixmap(display, winId(), ParentRelative); -+ } -+ -+ // GNOME, NET WM Specification -+ static Atom netwm_tray_atom = XInternAtom(display, "_NET_SYSTEM_TRAY_OPCODE", False); -+ long l[5] = { CurrentTime, SYSTEM_TRAY_REQUEST_DOCK, static_cast(winId()), 0, 0 }; -+ XEvent ev; -+ memset(&ev, 0, sizeof(ev)); -+ ev.xclient.type = ClientMessage; -+ ev.xclient.window = sysTrayWindow; -+ ev.xclient.message_type = netwm_tray_atom; -+ ev.xclient.format = 32; -+ memcpy((char *)&ev.xclient.data, (const char *) l, sizeof(l)); -+ XSendEvent(display, sysTrayWindow, False, 0, &ev); -+ setMinimumSize(22, 22); // required at least on GNOME -+} -+ -+//////////////////////////////////////////////////////////////////////////// -+QXEmbedSystemTrayIconSys::QXEmbedSystemTrayIconSys(QSystemTrayIcon *q) -+: QAbstractSystemTrayIconSys(q) -+, widget(0) -+{ -+} -+ -+QXEmbedSystemTrayIconSys::~QXEmbedSystemTrayIconSys() -+{ -+ delete widget; -+} -+ -+QRect QXEmbedSystemTrayIconSys::geometry() const -+{ -+ if (!widget) -+ return QRect(); -+ return QRect(widget->mapToGlobal(QPoint(0, 0)), widget->size()); -+} -+ -+void QXEmbedSystemTrayIconSys::updateIcon() -+{ -+ if (!widget) -+ return; -+ widget->update(); -+} -+ -+void QXEmbedSystemTrayIconSys::updateToolTip() -+{ -+ if (!widget) -+ return; -+ widget->setToolTip(trayIcon->toolTip()); -+} -+ -+void QXEmbedSystemTrayIconSys::showMessage(const QString &message, const QString &title, -+ QSystemTrayIcon::MessageIcon icon, int msecs) -+{ -+ if (!widget) -+ return; -+ QPoint point = geometry().center(); -+ QBalloonTip::showBalloon(icon, message, title, trayIcon, point, msecs); -+} -+ -+void QXEmbedSystemTrayIconSys::updateVisibility() -+{ -+ bool visible = trayIcon->isVisible(); -+ if (visible && !widget) -+ widget = new QSystemTrayIconWidget(trayIcon, this); -+ else if (!visible && widget) { -+ delete widget; -+ widget = 0; -+ } -+} -+ -+void QXEmbedSystemTrayIconSys::sendToolTipEventToTrayIcon() -+{ -+#ifndef QT_NO_TOOLTIP -+ // Pass the event through QSystemTrayIcon so that it gets a chance to -+ // update the tooltip, then asks widget to show the tooltip -+ Q_ASSERT(widget); -+ QPoint globalPos = QCursor::pos(); -+ QPoint pos = widget->mapFromGlobal(globalPos); -+ QHelpEvent event(QEvent::ToolTip, pos, globalPos); -+ QApplication::sendEvent(trayIcon, &event); -+#endif -+} -+ -+void QXEmbedSystemTrayIconSys::sendWheelEventToTrayIcon(int delta, Qt::Orientation orientation) -+{ -+#ifndef QT_NO_WHEELEVENT -+ Q_ASSERT(widget); -+ QPoint globalPos = QCursor::pos(); -+ QPoint pos = widget->mapFromGlobal(globalPos); -+ QWheelEvent event(pos, globalPos, delta, Qt::NoButton, Qt::NoModifier, orientation); -+ QApplication::sendEvent(trayIcon, &event); -+#endif -+} -+ -+void QXEmbedSystemTrayIconSys::updateMenu() -+{ -+} -+ -+///////////////////////////////////////////////////////////// -+QAbstractSystemTrayIconSys * QXEmbedSystemTrayIconSysFactory::create(QSystemTrayIcon *icon) -+{ -+ return new QXEmbedSystemTrayIconSys(icon); -+} -+ -+bool QXEmbedSystemTrayIconSysFactory::isAvailable() const -+{ -+ return QSystemTrayIconWidget::locateSystemTray() != XNone; -+} -+ -+QT_END_NAMESPACE -+#endif //QT_NO_SYSTEMTRAYICON -Index: qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11_p.h -=================================================================== ---- /dev/null -+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/qxembedsystemtrayicon_x11_p.h -@@ -0,0 +1,104 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -+** All rights reserved. -+** Contact: Nokia Corporation (qt-info@nokia.com) -+** -+** This file is part of the QtGui module of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** GNU Lesser General Public License Usage -+** This file may be used under the terms of the GNU Lesser General Public -+** License version 2.1 as published by the Free Software Foundation and -+** appearing in the file LICENSE.LGPL included in the packaging of this -+** file. Please review the following information to ensure the GNU Lesser -+** General Public License version 2.1 requirements will be met: -+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** In addition, as a special exception, Nokia gives you certain additional -+** rights. These rights are described in the Nokia Qt LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU General -+** Public License version 3.0 as published by the Free Software Foundation -+** and appearing in the file LICENSE.GPL included in the packaging of this -+** file. Please review the following information to ensure the GNU General -+** Public License version 3.0 requirements will be met: -+** http://www.gnu.org/copyleft/gpl.html. -+** -+** Other Usage -+** Alternatively, this file may be used in accordance with the terms and -+** conditions contained in a signed written agreement between you and Nokia. -+** -+** -+** -+** -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+#ifndef QXEMBEDSYSTEMTRAYICON_X11_P_H -+#define QXEMBEDSYSTEMTRAYICON_X11_P_H -+ -+// -+// W A R N I N G -+// ------------- -+// -+// This file is not part of the Qt API. It exists for the convenience -+// of a number of Qt sources files. This header file may change from -+// version to version without notice, or even be removed. -+// -+// We mean it. -+// -+ -+#ifndef QT_NO_SYSTEMTRAYICON -+ -+#include "qabstractsystemtrayiconsys_p.h" -+ -+QT_BEGIN_NAMESPACE -+ -+class QSystemTrayIconWidget; -+ -+class QXEmbedSystemTrayIconSys : public QAbstractSystemTrayIconSys -+{ -+public: -+ QXEmbedSystemTrayIconSys(QSystemTrayIcon *); -+ ~QXEmbedSystemTrayIconSys(); -+ -+ QRect geometry() const; -+ -+ void updateVisibility(); -+ -+ void updateIcon(); -+ -+ void updateToolTip(); -+ -+ void updateMenu(); -+ -+ void showMessage(const QString &message, const QString &title, -+ QSystemTrayIcon::MessageIcon icon, int msecs); -+ -+private: -+ friend class QSystemTrayIconWidget; -+ QSystemTrayIconWidget *widget; -+ -+ void sendToolTipEventToTrayIcon(); -+ -+ void sendWheelEventToTrayIcon(int delta, Qt::Orientation orientation); -+}; -+ -+struct QXEmbedSystemTrayIconSysFactory : public QSystemTrayIconSysFactoryInterface -+{ -+ QAbstractSystemTrayIconSys * create(QSystemTrayIcon *trayIcon); -+ bool isAvailable() const; -+}; -+ -+ -+QT_END_NAMESPACE -+ -+#endif // QT_NO_SYSTEMTRAYICON -+ -+#endif // QXEMBEDSYSTEMTRAYICON_X11_P_H -+ -Index: qt-everywhere-opensource-src-4.8.6/src/gui/util/util.pri -=================================================================== ---- qt-everywhere-opensource-src-4.8.6.orig/src/gui/util/util.pri -+++ qt-everywhere-opensource-src-4.8.6/src/gui/util/util.pri -@@ -29,8 +29,13 @@ wince* { - } - - unix:x11 { -+ HEADERS += \ -+ util/qabstractsystemtrayiconsys_p.h \ -+ util/qxembedsystemtrayicon_x11_p.h - SOURCES += \ -- util/qsystemtrayicon_x11.cpp -+ util/qabstractsystemtrayiconsys.cpp \ -+ util/qsystemtrayicon_x11.cpp \ -+ util/qxembedsystemtrayicon_x11.cpp - } - - embedded|qpa { diff --git a/desktop/toolkit/qt/files/opensuse/build-qvfb-tool.diff b/desktop/toolkit/qt/files/opensuse/build-qvfb-tool.diff deleted file mode 100644 index 085811baf8..0000000000 --- a/desktop/toolkit/qt/files/opensuse/build-qvfb-tool.diff +++ /dev/null @@ -1,13 +0,0 @@ -Index: tools/tools.pro -=================================================================== ---- tools/tools.pro.orig -+++ tools/tools.pro -@@ -37,6 +37,8 @@ mac { - - embedded:SUBDIRS += kmap2qmap - -+SUBDIRS += qvfb -+ - contains(QT_CONFIG, dbus):SUBDIRS += qdbus - # We don't need these command line utilities on embedded platforms. - !wince*:!symbian:contains(QT_CONFIG, xmlpatterns): SUBDIRS += xmlpatterns xmlpatternsvalidator diff --git a/desktop/toolkit/qt/files/opensuse/fix-moc-from-choking-on-boost-headers.patch b/desktop/toolkit/qt/files/opensuse/fix-moc-from-choking-on-boost-headers.patch deleted file mode 100644 index ed0f5e83e9..0000000000 --- a/desktop/toolkit/qt/files/opensuse/fix-moc-from-choking-on-boost-headers.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- qt-snapshot/src/tools/moc/main.cpp 2013-03-16 19:09:31.954011186 +0100 -+++ qt-snapshot/src/tools/moc/main.cpp 2013-05-28 22:38:39.781681541 +0200 -@@ -190,6 +190,8 @@ int runMoc(int _argc, char **_argv) - - // Workaround a bug while parsing the boost/type_traits/has_operator.hpp header. See QTBUG-22829 - pp.macros["BOOST_TT_HAS_OPERATOR_HPP_INCLUDED"]; -+ pp.macros["BOOST_LEXICAL_CAST_INCLUDED"]; -+ pp.macros["BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION"]; - - QByteArray filename; - QByteArray output; - diff --git a/desktop/toolkit/qt/files/opensuse/fix_assistant_segfault_QTBUG-25324.patch b/desktop/toolkit/qt/files/opensuse/fix_assistant_segfault_QTBUG-25324.patch deleted file mode 100644 index 75bbdb7cf2..0000000000 --- a/desktop/toolkit/qt/files/opensuse/fix_assistant_segfault_QTBUG-25324.patch +++ /dev/null @@ -1,14 +0,0 @@ -Index: qt-everywhere-opensource-src-4.8.3/tools/assistant/tools/assistant/mainwindow.cpp -=================================================================== ---- qt-everywhere-opensource-src-4.8.3.orig/tools/assistant/tools/assistant/mainwindow.cpp -+++ qt-everywhere-opensource-src-4.8.3/tools/assistant/tools/assistant/mainwindow.cpp -@@ -945,8 +945,7 @@ void MainWindow::updateApplicationFont() - if (helpEngine.usesAppFont()) - font = helpEngine.appFont(); - -- const QWidgetList &widgets = qApp->allWidgets(); -- foreach (QWidget* widget, widgets) -+ foreach (QWidget* widget, QApplication::allWidgets()) - widget->setFont(font); - } - diff --git a/desktop/toolkit/qt/files/opensuse/handle-tga-files-properly.diff b/desktop/toolkit/qt/files/opensuse/handle-tga-files-properly.diff deleted file mode 100644 index 6fbe0cb7a1..0000000000 --- a/desktop/toolkit/qt/files/opensuse/handle-tga-files-properly.diff +++ /dev/null @@ -1,56 +0,0 @@ -Index: src/plugins/imageformats/tga/qtgafile.cpp -=================================================================== ---- src/plugins/imageformats/tga/qtgafile.cpp.orig -+++ src/plugins/imageformats/tga/qtgafile.cpp -@@ -41,6 +41,7 @@ - - #include "qtgafile.h" - -+#include - #include - #include - #include -@@ -266,3 +267,16 @@ QImage QTgaFile::readImage() - // TODO: add processing of TGA extension information - ie TGA 2.0 files - return im; - } -+/** -+ * Checks if device contains a valid tga image, *without* changing device -+ * position. -+ */ -+bool QTgaFile::canRead(QIODevice *device) -+{ -+ QByteArray header = device->peek(HeaderSize); -+ if (header.size() < HeaderSize) -+ return false; -+ QBuffer buffer(&header); -+ QTgaFile tga(&buffer); -+ return tga.isValid(); -+} -Index: src/plugins/imageformats/tga/qtgafile.h -=================================================================== ---- src/plugins/imageformats/tga/qtgafile.h.orig -+++ src/plugins/imageformats/tga/qtgafile.h -@@ -93,6 +93,8 @@ public: - inline QSize size() const; - inline Compression compression() const; - -+ static bool canRead(QIODevice *device); -+ - private: - static inline quint16 littleEndianInt(const unsigned char *d); - -Index: src/plugins/imageformats/tga/qtgahandler.cpp -=================================================================== ---- src/plugins/imageformats/tga/qtgahandler.cpp.orig -+++ src/plugins/imageformats/tga/qtgahandler.cpp -@@ -77,8 +77,7 @@ bool QTgaHandler::canRead(QIODevice *dev - qWarning("QTgaHandler::canRead() called with no device"); - return false; - } -- QTgaFile tga(device); -- return tga.isValid(); -+ return QTgaFile::canRead(device); - } - - bool QTgaHandler::read(QImage *image) diff --git a/desktop/toolkit/qt/files/opensuse/libqt4-libtool-nodate.diff b/desktop/toolkit/qt/files/opensuse/libqt4-libtool-nodate.diff deleted file mode 100644 index f2b43991a0..0000000000 --- a/desktop/toolkit/qt/files/opensuse/libqt4-libtool-nodate.diff +++ /dev/null @@ -1,13 +0,0 @@ -Index: qmake/generators/unix/unixmake2.cpp -=================================================================== ---- qmake/generators/unix/unixmake2.cpp.orig -+++ qmake/generators/unix/unixmake2.cpp -@@ -1301,7 +1301,7 @@ UnixMakefileGenerator::writeLibtoolFile( - QTextStream t(&ft); - t << "# " << lname << " - a libtool library file\n"; - t << "# Generated by qmake/libtool (" << qmake_version() << ") (Qt " -- << QT_VERSION_STR << ") on: " << QDateTime::currentDateTime().toString(); -+ << QT_VERSION_STR << ")"; - t << "\n"; - - t << "# The name that we can dlopen(3).\n" diff --git a/desktop/toolkit/qt/files/opensuse/no-moc-date.diff b/desktop/toolkit/qt/files/opensuse/no-moc-date.diff deleted file mode 100644 index fdc6b264bc..0000000000 --- a/desktop/toolkit/qt/files/opensuse/no-moc-date.diff +++ /dev/null @@ -1,26 +0,0 @@ ---- tools/qdbus/qdbusxml2cpp/qdbusxml2cpp.cpp.orig -+++ tools/qdbus/qdbusxml2cpp/qdbusxml2cpp.cpp -@@ -549,9 +549,11 @@ static void writeProxy(const QString &fi - } else { - includeGuard = QLatin1String("QDBUSXML2CPP_PROXY"); - } -+#if 0 - includeGuard = QString(QLatin1String("%1_%2")) - .arg(includeGuard) - .arg(QDateTime::currentDateTime().toTime_t()); -+#endif - hs << "#ifndef " << includeGuard << endl - << "#define " << includeGuard << endl - << endl; -@@ -855,9 +857,11 @@ static void writeAdaptor(const QString & - } else { - includeGuard = QLatin1String("QDBUSXML2CPP_ADAPTOR"); - } -+#if 0 - includeGuard = QString(QLatin1String("%1_%2")) - .arg(includeGuard) - .arg(QDateTime::currentDateTime().toTime_t()); -+#endif - hs << "#ifndef " << includeGuard << endl - << "#define " << includeGuard << endl - << endl; diff --git a/desktop/toolkit/qt/files/opensuse/qatomic-generic.patch b/desktop/toolkit/qt/files/opensuse/qatomic-generic.patch deleted file mode 100644 index 1f2347fd38..0000000000 --- a/desktop/toolkit/qt/files/opensuse/qatomic-generic.patch +++ /dev/null @@ -1,21 +0,0 @@ -Index: qt-everywhere-opensource-src-4.8.4/src/corelib/arch/qatomic_generic.h -=================================================================== ---- qt-everywhere-opensource-src-4.8.4.orig/src/corelib/arch/qatomic_generic.h -+++ qt-everywhere-opensource-src-4.8.4/src/corelib/arch/qatomic_generic.h -@@ -109,6 +109,16 @@ Q_CORE_EXPORT bool QBasicAtomicPointer_t - Q_CORE_EXPORT void *QBasicAtomicPointer_fetchAndStoreOrdered(void * volatile *, void *); - Q_CORE_EXPORT void *QBasicAtomicPointer_fetchAndAddOrdered(void * volatile *, qptrdiff); - -+inline bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *_q_value, const void *expected_value, const void *newValue) -+{ -+ return QBasicAtomicPointer_testAndSetOrdered(_q_value, const_cast(expected_value), const_cast(newValue)); -+} -+ -+inline void *QBasicAtomicPointer_fetchAndStoreOrdered(void * volatile *_q_value, const void *newValue) -+{ -+ return QBasicAtomicPointer_fetchAndStoreOrdered(_q_value, const_cast(newValue)); -+} -+ - // Reference counting - - inline bool QBasicAtomicInt::ref() diff --git a/desktop/toolkit/qt/files/opensuse/qdbusconnection-no-warning-output.patch b/desktop/toolkit/qt/files/opensuse/qdbusconnection-no-warning-output.patch deleted file mode 100644 index eed366fd5b..0000000000 --- a/desktop/toolkit/qt/files/opensuse/qdbusconnection-no-warning-output.patch +++ /dev/null @@ -1,15 +0,0 @@ -Index: src/dbus/qdbusconnection.cpp -=================================================================== ---- src/dbus/qdbusconnection.cpp.orig -+++ src/dbus/qdbusconnection.cpp -@@ -1110,8 +1110,10 @@ public: - // make sure this connection is running on the main thread - QCoreApplication *instance = QCoreApplication::instance(); - if (!instance) { -+#ifndef QT_NO_DEBUG - qWarning("QDBusConnection: %s D-Bus connection created before QCoreApplication. Application may misbehave.", - type == SessionBus ? "session" : type == SystemBus ? "system" : "generic"); -+#endif - } else if (QDBusConnectionPrivate::d(*this)) { - QDBusConnectionPrivate::d(*this)->moveToThread(instance->thread()); - } diff --git a/desktop/toolkit/qt/files/opensuse/qfatal-noreturn.diff b/desktop/toolkit/qt/files/opensuse/qfatal-noreturn.diff deleted file mode 100644 index 2fafb87e42..0000000000 --- a/desktop/toolkit/qt/files/opensuse/qfatal-noreturn.diff +++ /dev/null @@ -1,12 +0,0 @@ -Index: src/corelib/global/qglobal.h -=================================================================== ---- src/corelib/global/qglobal.h.orig -+++ src/corelib/global/qglobal.h -@@ -1772,6 +1772,7 @@ Q_CORE_EXPORT void qCritical(const char - Q_CORE_EXPORT void qFatal(const char *, ...) /* print fatal message and exit */ - #if defined(Q_CC_GNU) && !defined(__INSURE__) - __attribute__ ((format (printf, 1, 2))) -+ __attribute__ ((noreturn)) - #endif - ; - diff --git a/desktop/toolkit/qt/files/opensuse/qlocale_icu-no-warning-output.patch b/desktop/toolkit/qt/files/opensuse/qlocale_icu-no-warning-output.patch deleted file mode 100644 index f54715e786..0000000000 --- a/desktop/toolkit/qt/files/opensuse/qlocale_icu-no-warning-output.patch +++ /dev/null @@ -1,61 +0,0 @@ -From b924fb26f14b38c5a92d7271b2eba73080cfb337 Mon Sep 17 00:00:00 2001 -From: Hrvoje Senjan -Date: Tue, 30 Jul 2013 01:02:38 +0200 -Subject: [PATCH 1/1] qlocale_icu-no-warning-output.patch - -Since openSUSE now has it's own icu so versioning, and -we can't predict what will happen in future, qWarnings -about icu libraries and symbols are now only emmited in -debug builds. This will be usefull regardless of icu versioning. - ---- - src/corelib/tools/qlocale_icu.cpp | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/src/corelib/tools/qlocale_icu.cpp b/src/corelib/tools/qlocale_icu.cpp -index c3e2907..ce09677 100644 ---- a/src/corelib/tools/qlocale_icu.cpp -+++ b/src/corelib/tools/qlocale_icu.cpp -@@ -84,7 +84,9 @@ bool qt_initIcu(const QString &localeString) - QLibrary lib(QLatin1String("icui18n"), QLatin1String(U_ICU_VERSION_SHORT)); - lib.setLoadHints(QLibrary::ImprovedSearchHeuristics); - if (!lib.load()) { -+#ifndef QT_NO_DEBUG - qWarning() << "Unable to load library icui18n" << lib.errorString(); -+#endif - status = ErrorLoading; - return false; - } -@@ -105,7 +107,9 @@ bool qt_initIcu(const QString &localeString) - ptr_ucol_close = 0; - ptr_ucol_strcoll = 0; - -+#ifndef QT_NO_DEBUG - qWarning("Unable to find symbols in icui18n"); -+#endif - status = ErrorLoading; - return false; - } -@@ -114,7 +118,9 @@ bool qt_initIcu(const QString &localeString) - QLibrary ucLib(QLatin1String("icuuc"), QLatin1String(U_ICU_VERSION_SHORT)); - ucLib.setLoadHints(QLibrary::ImprovedSearchHeuristics); - if (!ucLib.load()) { -+#ifndef QT_NO_DEBUG - qWarning() << "Unable to load library icuuc" << ucLib.errorString(); -+#endif - status = ErrorLoading; - return false; - } -@@ -131,7 +137,9 @@ bool qt_initIcu(const QString &localeString) - ptr_u_strToUpper = 0; - ptr_u_strToLower = 0; - -+#ifndef QT_NO_DEBUG - qWarning("Unable to find symbols in icuuc"); -+#endif - status = ErrorLoading; - return false; - } --- -1.8.3.1 - diff --git a/desktop/toolkit/qt/files/opensuse/qt-debug-timer.diff b/desktop/toolkit/qt/files/opensuse/qt-debug-timer.diff deleted file mode 100644 index 585ba294c6..0000000000 --- a/desktop/toolkit/qt/files/opensuse/qt-debug-timer.diff +++ /dev/null @@ -1,26 +0,0 @@ -Index: src/corelib/kernel/qeventdispatcher_unix.cpp -=================================================================== ---- src/corelib/kernel/qeventdispatcher_unix.cpp.orig -+++ src/corelib/kernel/qeventdispatcher_unix.cpp -@@ -592,6 +592,21 @@ int QTimerInfoList::activateTimers() - - if (!firstTimerInfo) { - firstTimerInfo = currentTimerInfo; -+ QObject* o = firstTimerInfo->obj; -+ static int debug_timer = -1; -+ if (debug_timer < 0) -+ debug_timer = getenv("QT_DEBUG_TIMER") ? 1 : 0; -+ if (debug_timer > 0) { -+ QString objPath = o->objectName(); -+ if(objPath.isEmpty()) objPath = QLatin1String("<") + o->parent()->metaObject()->className() + QLatin1String(">"); -+ for (; o->parent(); o = o->parent()) -+ if (!o->parent()->objectName().isEmpty()) -+ objPath.prepend(o->parent()->objectName() + "/"); -+ else -+ objPath.prepend(QLatin1String("<") + o->parent()->metaObject()->className() + QLatin1String(">/")); -+ qDebug("activating %d ms timer for %s", firstTimerInfo->interval.tv_sec * 1000 -+ + firstTimerInfo->interval.tv_usec / 1000, qPrintable(objPath)); -+ } - } else if (firstTimerInfo == currentTimerInfo) { - // avoid sending the same timer multiple times - break; diff --git a/desktop/toolkit/qt/files/opensuse/qt-never-strip.diff b/desktop/toolkit/qt/files/opensuse/qt-never-strip.diff deleted file mode 100644 index 81e9c67e18..0000000000 --- a/desktop/toolkit/qt/files/opensuse/qt-never-strip.diff +++ /dev/null @@ -1,30 +0,0 @@ -Index: configure -=================================================================== ---- configure.orig -+++ configure -@@ -65,7 +65,6 @@ OPT_CMDLINE=`echo $@ | sed "s,-v ,,g; s, - - # initialize global variables - QMAKE_SWITCHES= --QMAKE_VARS= - QMAKE_CONFIG= - QTCONFIG_CONFIG= - QT_CONFIG= -@@ -1625,7 +1624,7 @@ while [ "$#" -gt 0 ]; do - QMakeVar add QMAKE_CFLAGS -pg - QMakeVar add QMAKE_CXXFLAGS -pg - QMakeVar add QMAKE_LFLAGS -pg -- QMAKE_VARS="$QMAKE_VARS CONFIG+=nostrip" -+ QMakeVar add CONFIG nostrip - else - UNKNOWN_OPT=yes - fi -@@ -3359,6 +3358,8 @@ if [ "$OPT_VERBOSE" = "yes" ]; then - fi - fi - -+QMakeVar add CONFIG nostrip -+ - #------------------------------------------------------------------------------- - # tests that don't need qmake (must be run before displaying help) - #------------------------------------------------------------------------------- diff --git a/desktop/toolkit/qt/files/opensuse/use-freetype-default.diff b/desktop/toolkit/qt/files/opensuse/use-freetype-default.diff deleted file mode 100644 index e7b94a80b2..0000000000 --- a/desktop/toolkit/qt/files/opensuse/use-freetype-default.diff +++ /dev/null @@ -1,40 +0,0 @@ -Index: src/gui/text/qfontengine_x11.cpp -=================================================================== ---- src/gui/text/qfontengine_x11.cpp.orig -+++ src/gui/text/qfontengine_x11.cpp -@@ -967,6 +967,26 @@ Q_GUI_EXPORT void qt_x11ft_convert_patte - *antialias = b; - } - -+#include -+#include FT_FREETYPE_H -+#include FT_LCD_FILTER_H -+ -+static bool subpixel_rendering_available() -+{ -+ static int implemented = -1; -+ -+ if (implemented >= 0) -+ return implemented; -+ -+ extern FT_Library qt_getFreetype(); -+ FT_Library lib = qt_getFreetype(); -+ -+ if (FT_Err_Unimplemented_Feature == -+ FT_Library_SetLcdFilter(lib, FT_LCD_FILTER_DEFAULT )) -+ return (implemented = false); -+ -+ return (implemented = true); -+} - - QFontEngineX11FT::QFontEngineX11FT(FcPattern *pattern, const QFontDef &fd, int screen) - : QFontEngineFT(fd) -@@ -984,7 +1004,7 @@ QFontEngineX11FT::QFontEngineX11FT(FcPat - canUploadGlyphsToServer = QApplication::testAttribute(Qt::AA_X11InitThreads) || (qApp->thread() == QThread::currentThread()); - - subpixelType = Subpixel_None; -- if (antialias) { -+ if (subpixel_rendering_available() && antialias) { - int subpixel = X11->display ? X11->screens[screen].subpixel : FC_RGBA_UNKNOWN; - if (subpixel == FC_RGBA_UNKNOWN) - (void) FcPatternGetInteger(pattern, FC_RGBA, 0, &subpixel); diff --git a/desktop/toolkit/qt/files/turkish.patch.bz2 b/desktop/toolkit/qt/files/turkish.patch.bz2 deleted file mode 100644 index 16b3bc68b6..0000000000 Binary files a/desktop/toolkit/qt/files/turkish.patch.bz2 and /dev/null differ diff --git a/desktop/toolkit/qt/pspec.xml b/desktop/toolkit/qt/pspec.xml deleted file mode 100644 index 9218907c19..0000000000 --- a/desktop/toolkit/qt/pspec.xml +++ /dev/null @@ -1,496 +0,0 @@ - - - - - qt - http://qt.nokia.com - - PisiLinux Community - admins@pisilinux.org - - LGPLv2.1 - GPLv3 - library - Qt toolkit version 4 - Qt is a cross platform GUI toolkit. - http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.tar.gz - - mariadb-lib - cups-devel - mesa-devel - gtk2-devel - tiff-devel - libSM-devel - libICE-devel - libmng-devel - libXext-devel - alsa-lib-devel - firebird-devel - unixODBC-devel - libXrandr-devel - gstreamer-devel - fontconfig-devel - libXrender-devel - postgresql-server - libjpeg-turbo-devel - firebird-superserver - gst-plugins-base-devel - qtchooser - - - - fedora/qt-everywhere-opensource-src-4.8.0-tp-multilib-optflags.patch - fedora/qt-everywhere-opensource-src-4.8.5-uic_multilib.patch - fedora/qt-everywhere-opensource-src-4.8.5-webcore_debuginfo.patch - fedora/qt-cupsEnumDests.patch - fedora/qt-x11-opensource-src-4.5.1-enable_ft_lcdfilter.patch - fedora/qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch - fedora/qt-everywhere-opensource-src-4.8.1-qt3support_debuginfo.patch - fedora/qt-everywhere-opensource-src-4.8.5-qt_plugin_path.patch - fedora/qt-everywhere-opensource-src-4.8.4-qmake_pkgconfig_requires_private.patch - fedora/qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm.patch - fedora/qt-everywhere-opensource-src-4.8.5-mysql_config.patch - fedora/qt-everywhere-opensource-src-4.6.2-cups.patch - fedora/qt-everywhere-opensource-src-4.8.5-QTBUG-14467.patch - fedora/qt-everywhere-opensource-src-4.8.3-no_Werror.patch - fedora/qt-everywhere-opensource-src-4.8.0-QTBUG-22037.patch - fedora/qt-everywhere-opensource-src-4.8.5-QTBUG-21900.patch - fedora/qt-everywhere-opensource-src-4.8.5-tds_no_strict_aliasing.patch - fedora/qt-everywhere-opensource-src-4.8.5-QTBUG-4862.patch - fedora/qt-everywhere-opensource-src-4.8.5-QTBUG-35459.patch - fedora/qt-everywhere-opensource-src-4.8.5-qgtkstyle_disable_gtk_theme_check.patch - - fedora/qt-everywhere-opensource-src-4.8.6-QTBUG-34614.patch - fedora/qt-everywhere-opensource-src-4.8.6-QTBUG-37380.patch - fedora/qt-everywhere-opensource-src-4.8.6-QTBUG-38585.patch - - opensuse/qt-never-strip.diff - opensuse/use-freetype-default.diff - opensuse/0191-listview-alternate-row-colors.diff - opensuse/0188-fix-moc-parser-same-name-header.diff - opensuse/0195-compositing-properties.diff - opensuse/0180-window-role.diff - opensuse/0225-invalidate-tabbar-geometry-on-refresh.patch - opensuse/qt-debug-timer.diff - opensuse/qfatal-noreturn.diff - opensuse/no-moc-date.diff - opensuse/libqt4-libtool-nodate.diff - opensuse/build-qvfb-tool.diff - opensuse/handle-tga-files-properly.diff - opensuse/qdbusconnection-no-warning-output.patch - opensuse/fix_assistant_segfault_QTBUG-25324.patch - opensuse/qatomic-generic.patch - opensuse/QSystemTrayicon.diff - opensuse/fix-moc-from-choking-on-boost-headers.patch - opensuse/qlocale_icu-no-warning-output.patch - opensuse/0001-Don-t-crash-on-broken-GIF-images.patch - - CVE-2014-0190.patch - - turkish.patch.bz2 - - mkspecs.patch - - - - - qt - - mesa - tiff - libICE - libSM - libmng - libXext - alsa-lib - gstreamer - fontconfig - libXrender - libjpeg-turbo - qtchooser - - - /etc - /usr/lib/qt4/bin - /usr/bin/qdbus* - /usr/bin/qtconfig - /usr/lib - /usr/share/applications - /usr/lib/qt4/imports - /usr/lib/qt4/templates - /usr/share/qt4/translations/*_tr.* - - - data/qdbusviewer.desktop - data/qtconfig.desktop - - - - - qt-32bit - emul32 - 32-bit shared libraries for qt - emul32 - - mesa-32bit - tiff-32bit - dbus-32bit - zlib-32bit - glib2-32bit - libSM-32bit - libpng-32bit - libmng-32bit - libICE-32bit - libX11-32bit - sqlite-32bit - openssl-32bit - libXext-32bit - freetype-32bit - alsa-lib-32bit - libXrender-32bit - fontconfig-32bit - libjpeg-turbo-32bit - - - uClibc - mesa-32bit - tiff-32bit - dbus-32bit - zlib-32bit - libSM-32bit - glib2-32bit - libX11-32bit - libpng-32bit - libmng-32bit - libICE-32bit - sqlite-32bit - openssl-32bit - libXext-32bit - freetype-32bit - alsa-lib-32bit - libXrender-32bit - fontconfig-32bit - libjpeg-turbo-32bit - qt - - - /usr/lib32 - - - - - qt-webkit - - qt - gstreamer - libXrender - gst-plugins-base - - - /usr/lib/*WebKit* - - - - - qt-webkit-32bit - emul32 - 32-bit shared libraries for qt-webkit - emul32 - - glib2-32bit - libX11-32bit - sqlite-32bit - gstreamer-32bit - libXrender-32bit - gst-plugins-base-32bit - - - qt-webkit - qt-32bit - glib2-32bit - libX11-32bit - sqlite-32bit - gstreamer-32bit - libXrender-32bit - gst-plugins-base-32bit - - - /usr/lib32/*WebKit* - - - - - qt-webkit-devel - Development files for Qt Webkit - - qt-devel - - - /usr/include/Qt/*WebKit* - /usr/include/Qt/*webkit* - /usr/include/QtWebKit - /usr/lib/pkgconfig/*WebKit* - - - - - qt-devel - Development files for Qt - - qt - - mesa-devel - - - - /usr/bin - /usr/include - /usr/share/qt4/mkspecs - /usr/lib/pkgconfig - /usr/lib32/pkgconfig - /usr/share/qt4/q3porting.xml - - - - - qt-l10n - locale - Translation files for Qt library and tools. Supported languages are: da, de, fr, ja, pl, ru, zh_CN, zh_TW - - /usr/share/qt4/translations - - - - - qt-designer - designer - - qt - qt-webkit - - - /usr/bin/designer - /usr/lib/qt4/plugins/designer - /usr/share/applications/designer.desktop - /usr/share/pixmaps/designer.png - - - data/designer.desktop - data/designer.png - - - - - qt-linguist - linguist - - qt - - - /usr/bin/linguist - /usr/share/qt4/phrasebooks - /usr/share/applications/linguist.desktop - /usr/share/pixmaps/linguist.png - - - data/linguist.desktop - data/linguist.png - - - - - qt-docs - assistant - Development documents of Qt and Qt Assistant tool - - qt - qt-webkit - - - /usr/bin/assistant - /usr/share/applications/assistant.desktop - /usr/share/pixmaps/assistant.png - /usr/share/icons - /usr/share/doc - /usr/share/doc/qt4/qch - - - data/assistant.desktop - data/assistant.png - data/hi128-app-qt4-logo.png - data/hi48-app-qt4-logo.png - - - - - qt-docs-html - Development documents of Qt in HTML format - - /usr/share/doc/qt4/html - - - - - qt-demos - qt4-logo - - qt - qt-webkit - mesa - phonon - - - /usr/bin/qtdemo - /usr/lib/qt4/demos - /usr/lib/qt4/examples - /usr/lib/qt4/plugins/designer/libarthurplugin.so - /usr/share/applications/qtdemo.desktop - /usr/tests/qt4 - - - data/qtdemo.desktop - - - - - qt-sql-mysql - - qt - mariadb-lib - - - /usr/lib/qt4/plugins/sqldrivers/libqsqlmysql.so - - - - - qt-sql-postgresql - - qt - postgresql-lib - - - /usr/lib/qt4/plugins/sqldrivers/libqsqlpsql.so - - - - - qt-sql-sqlite - - qt - sqlite - - - /usr/lib/qt4/plugins/sqldrivers/libqsqlite.so - - - - - qt-sql-odbc - - qt - unixODBC - - - /usr/lib/qt4/plugins/sqldrivers/libqsqlodbc.so - - - - - qt-sql-ibase - - qt - firebird-client - - - /usr/lib/qt4/plugins/sqldrivers/libqsqlibase.so - - - - - - 2015-04-09 - 4.8.6 - Rebuild for qt5 - Ayhan Yalçınsoy - ayhanyalcinsoy@pisilinux.org - - - 2014-05-20 - 4.8.6 - Version bump, fix CVE. - Serdar Soytetir - kaptan@pisilinux.org - - - 2014-04-10 - 4.8.5 - Rebuild. - Serdar Soytetir - kaptan@pisilinux.org - - - 2014-02-21 - 4.8.5 - Rebuild for Mariadb. - Serdar Soytetir - kaptan@pisilinux.org - - - 2014-02-01 - 4.8.5 - Rebuild for new libmng. - Serdar Soytetir - kaptan@pisilinux.org - - - 2013-12-14 - 4.8.5 - Re-cleanup qt, fix systemtray issues. - Serdar Soytetir - kaptan@pisilinux.org - - - 2013-12-11 - 4.8.5 - Cleanup some patches, rebuild. - Serdar Soytetir - kaptan@pisilinux.org - - - 2013-08-05 - 4.8.5 - Patched. - Osman Erkan - osman.erkan@pisilinux.org - - - 2013-07-03 - 4.8.5 - Version bump. - Marcin Bojara - marcin@pisilinux.org - - - 2013-03-11 - 4.8.4 - Patch cleanup, add some enhancements. - Serdar Soytetir - kaptan@pisilinux.org - - - 2013-02-15 - 4.8.4 - Add emul32 - Marcin Bojara - marcin@pisilinux.org - - - 2012-12-08 - 4.8.4 - First release - Yusuf Aydemir - yusuf.aydemir@pisilinux.org - - - diff --git a/desktop/toolkit/qt/translations.xml b/desktop/toolkit/qt/translations.xml deleted file mode 100644 index fc38bd2536..0000000000 --- a/desktop/toolkit/qt/translations.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - qt - Qt araç takımı, sürüm 4 - Qt bir çok platformda çalışabilen ve grafiksel kullanıcı arayüzü (GUI) oluşturmaya yarayan bir araç takımıdır. - Qt est une boîte à outils graphique multi-plateforme. - Qt es un toolkit para GUI multiplataforma. - - - - qt-devel - Qt için geliştirme dosyaları - - - - qt-webkit-devel - Qt Webkit için geliştirme dosyaları - - - - qt-l10n - Qt kitaplık ve araçları için dil dosyaları. Desteklenen diller: da, de, fr, ja, pl, ru, zh_CN, zh_TW - - - - qt-docs - Qt için geliştirme belgeleri ve Qt Assistant aracı - - - - qt-docs-html - Qt için HTML biçiminde geliştirme belgeleri - -