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
-
-