Debian

Available patches from Ubuntu

To see Ubuntu differences wrt. to Debian, write down a grep-dctrl query identifying the packages you're interested in:
grep-dctrl -n -sPackage Sources.Debian
(e.g. -FPackage linux-ntfs or linux-ntfs)

Modified packages are listed below:

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: qt4-x11

qt4-x11 (4:4.8.7+dfsg-7ubuntu1) yakkety; urgency=medium * Merge with Debian since qtchooser has versioned Breaks. (LP: #1584654) -- Timo Jyrinki <timo-jyrinki@ubuntu.com> Mon, 23 May 2016 15:02:32 +0000

Modifications :
  1. Download patch debian/patches/kubuntu_43_no_meego_helper.patch

    --- 4:4.8.7+dfsg-7/debian/patches/kubuntu_43_no_meego_helper.patch 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/debian/patches/kubuntu_43_no_meego_helper.patch 2016-01-07 10:57:47.000000000 +0000 @@ -0,0 +1,21 @@ +Description: do not build QtMeegoGraphicsSystemHelper library +Author: Dmitry Shachnev <mitya57@ubuntu.com> +Forwarded: no +Last-Update: 2014-11-04 + +--- a/tools/tools.pro ++++ b/tools/tools.pro +@@ -50,5 +50,3 @@ + QTDIR_build:REQUIRES = "contains(QT_CONFIG, full-config)" + + !win32:!embedded:!mac:!symbian:CONFIG += x11 +- +-x11:contains(QT_CONFIG, opengles2):contains(QT_CONFIG, egl):SUBDIRS += qmeegographicssystemhelper +--- a/src/plugins/graphicssystems/graphicssystems.pro ++++ b/src/plugins/graphicssystems/graphicssystems.pro +@@ -11,5 +11,3 @@ + } + + !win32:!embedded:!mac:!symbian:CONFIG += x11 +- +-x11:contains(QT_CONFIG, opengles2):contains(QT_CONFIG, egl):SUBDIRS += meego
  2. Download patch .pc/kubuntu_94_xinput_valuators_fix.diff/src/gui/kernel/qapplication_x11.cpp
  3. Download patch debian/qt4-designer.links
  4. Download patch .pc/kubuntu_95_qt_disable_bounce.diff/src/gui/widgets/qabstractscrollarea.cpp
  5. Download patch examples/touch/fingerpaint/scribblearea.cpp

    --- 4:4.8.7+dfsg-7/examples/touch/fingerpaint/scribblearea.cpp 2015-05-07 14:14:39.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/examples/touch/fingerpaint/scribblearea.cpp 2016-06-03 13:39:05.000000000 +0000 @@ -186,7 +186,9 @@ bool ScribbleArea::event(QEvent *event) QRectF rect = touchPoint.rect(); if (rect.isEmpty()) { qreal diameter = qreal(50) * touchPoint.pressure(); + QPointF center = rect.center(); rect.setSize(QSizeF(diameter, diameter)); + rect.moveCenter(center); } QPainter painter(&image);
  6. Download patch config.tests/x11/xinput2/xinput2.pro

    --- 4:4.8.7+dfsg-7/config.tests/x11/xinput2/xinput2.pro 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/config.tests/x11/xinput2/xinput2.pro 2016-06-03 13:39:05.000000000 +0000 @@ -0,0 +1,4 @@ +CONFIG += x11 +CONFIG -= qt +LIBS += -lXi +SOURCES = xinput2.cpp
  7. Download patch debian/libqtgui4.symbols

    --- 4:4.8.7+dfsg-7/debian/libqtgui4.symbols 2016-02-10 14:02:40.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/debian/libqtgui4.symbols 2016-05-23 15:06:57.000000000 +0000 @@ -3437,6 +3437,7 @@ libQtGui.so.4 libqtgui4 #MINVER# _ZN14QWidgetPrivate18_q_showIfNotHiddenEv@Base 4:4.5.3 _ZN14QWidgetPrivate18setConstraints_sysEv@Base 4:4.5.3 _ZN14QWidgetPrivate18setWindowTitle_sysERK7QString@Base 4:4.5.3 + _ZN14QWidgetPrivate19registerTouchWindowEv@Base 4:4.8.7 _ZN14QWidgetPrivate19setNetWmWindowTypesEv@Base 4:4.5.3 _ZN14QWidgetPrivate19updateIsTranslucentEv@Base 4:4.5.3 _ZN14QWidgetPrivate20reparentFocusWidgetsEP7QWidget@Base 4:4.5.3 @@ -4961,6 +4962,7 @@ libQtGui.so.4 libqtgui4 #MINVER# _ZN19QApplicationPrivate21cleanupMultitouch_sysEv@Base 4:4.6.1 _ZN19QApplicationPrivate21createEventDispatcherEv@Base 4:4.5.3 _ZN19QApplicationPrivate21obey_desktop_settingsE@Base 4:4.5.3 + _ZN19QApplicationPrivate21x11GetTouchDeviceInfoEv@Base 4:4.8.7 _ZN19QApplicationPrivate22quitOnLastWindowClosedE@Base 4:4.5.3 _ZN19QApplicationPrivate22reset_instance_pointerEv@Base 4:4.5.3 _ZN19QApplicationPrivate22translateRawTouchEventEP7QWidgetN11QTouchEvent10DeviceTypeERK5QListINS2_10TouchPointEE@Base 4:4.6.1 @@ -5891,6 +5893,9 @@ libQtGui.so.4 libqtgui4 #MINVER# _ZN24QAbstractPageSetupDialogD0Ev@Base 4:4.5.3 _ZN24QAbstractPageSetupDialogD1Ev@Base 4:4.5.3 _ZN24QAbstractPageSetupDialogD2Ev@Base 4:4.5.3 + _ZN24QAccessibleTextInterface22textAtOffsetFromStringEiN12QAccessible212BoundaryTypeEPiS2_RK7QString@Base 4:4.8.7 + _ZN24QAccessibleTextInterface25textAfterOffsetFromStringEiN12QAccessible212BoundaryTypeEPiS2_RK7QString@Base 4:4.8.7 + _ZN24QAccessibleTextInterface26textBeforeOffsetFromStringEiN12QAccessible212BoundaryTypeEPiS2_RK7QString@Base 4:4.8.7 _ZN24QGraphicsSceneHoverEvent10setLastPosERK7QPointF@Base 4:4.5.3 _ZN24QGraphicsSceneHoverEvent11setScenePosERK7QPointF@Base 4:4.5.3 _ZN24QGraphicsSceneHoverEvent12setModifiersE6QFlagsIN2Qt16KeyboardModifierEE@Base 4:4.5.3
  8. Download patch .pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/gui/accessible/qaccessible.cpp
  9. Download patch .pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/declarative/util/util.pri

    --- 4:4.8.7+dfsg-7/.pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/declarative/util/util.pri 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/.pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/declarative/util/util.pri 2015-05-07 14:14:48.000000000 +0000 @@ -0,0 +1,72 @@ +INCLUDEPATH += $$PWD + +SOURCES += \ + $$PWD/qdeclarativeapplication.cpp \ + $$PWD/qdeclarativeutilmodule.cpp\ + $$PWD/qdeclarativeview.cpp \ + $$PWD/qdeclarativeconnections.cpp \ + $$PWD/qdeclarativepackage.cpp \ + $$PWD/qdeclarativeanimation.cpp \ + $$PWD/qdeclarativesystempalette.cpp \ + $$PWD/qdeclarativespringanimation.cpp \ + $$PWD/qdeclarativesmoothedanimation.cpp \ + $$PWD/qdeclarativestate.cpp\ + $$PWD/qdeclarativetransitionmanager.cpp \ + $$PWD/qdeclarativestateoperations.cpp \ + $$PWD/qdeclarativepropertychanges.cpp \ + $$PWD/qdeclarativestategroup.cpp \ + $$PWD/qdeclarativetransition.cpp \ + $$PWD/qdeclarativelistmodel.cpp\ + $$PWD/qdeclarativelistaccessor.cpp \ + $$PWD/qdeclarativeopenmetaobject.cpp \ + $$PWD/qdeclarativetimeline.cpp \ + $$PWD/qdeclarativetimer.cpp \ + $$PWD/qdeclarativebind.cpp \ + $$PWD/qdeclarativepropertymap.cpp \ + $$PWD/qdeclarativepixmapcache.cpp \ + $$PWD/qdeclarativebehavior.cpp \ + $$PWD/qdeclarativefontloader.cpp \ + $$PWD/qdeclarativestyledtext.cpp \ + $$PWD/qdeclarativelistmodelworkeragent.cpp \ + $$PWD/qlistmodelinterface.cpp + +HEADERS += \ + $$PWD/qdeclarativeapplication_p.h \ + $$PWD/qdeclarativeutilmodule_p.h\ + $$PWD/qdeclarativeview.h \ + $$PWD/qdeclarativeconnections_p.h \ + $$PWD/qdeclarativepackage_p.h \ + $$PWD/qdeclarativeanimation_p.h \ + $$PWD/qdeclarativeanimation_p_p.h \ + $$PWD/qdeclarativesystempalette_p.h \ + $$PWD/qdeclarativespringanimation_p.h \ + $$PWD/qdeclarativesmoothedanimation_p.h \ + $$PWD/qdeclarativesmoothedanimation_p_p.h \ + $$PWD/qdeclarativestate_p.h\ + $$PWD/qdeclarativestateoperations_p.h \ + $$PWD/qdeclarativepropertychanges_p.h \ + $$PWD/qdeclarativestate_p_p.h\ + $$PWD/qdeclarativetransitionmanager_p_p.h \ + $$PWD/qdeclarativestategroup_p.h \ + $$PWD/qdeclarativetransition_p.h \ + $$PWD/qdeclarativelistmodel_p.h\ + $$PWD/qdeclarativelistmodel_p_p.h\ + $$PWD/qdeclarativelistaccessor_p.h \ + $$PWD/qdeclarativeopenmetaobject_p.h \ + $$PWD/qdeclarativenullablevalue_p_p.h \ + $$PWD/qdeclarativetimeline_p_p.h \ + $$PWD/qdeclarativetimer_p.h \ + $$PWD/qdeclarativebind_p.h \ + $$PWD/qdeclarativepropertymap.h \ + $$PWD/qdeclarativepixmapcache_p.h \ + $$PWD/qdeclarativebehavior_p.h \ + $$PWD/qdeclarativefontloader_p.h \ + $$PWD/qdeclarativestyledtext_p.h \ + $$PWD/qdeclarativelistmodelworkeragent_p.h \ + $$PWD/qlistmodelinterface_p.h + +contains(QT_CONFIG, xmlpatterns) { + QT+=xmlpatterns + SOURCES += $$PWD/qdeclarativexmllistmodel.cpp + HEADERS += $$PWD/qdeclarativexmllistmodel_p.h +}
  10. Download patch .pc/kubuntu_28_xi2.1.patch/src/gui/kernel/qapplication_x11.cpp
  11. Download patch .pc/kubuntu_10_ibus_input_method.diff/tools/qtconfig/mainwindow.cpp
  12. Download patch debian/qt4-dev-tools.links
  13. Download patch debian/patches/kubuntu_qclipboard_fix_recursive.diff

    --- 4:4.8.7+dfsg-7/debian/patches/kubuntu_qclipboard_fix_recursive.diff 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/debian/patches/kubuntu_qclipboard_fix_recursive.diff 2016-01-07 10:57:47.000000000 +0000 @@ -0,0 +1,105 @@ +Description: Repaint errors when run with X11 clipboard code branch + Fixes crash in LibreOffice with KDE integration +Author: Jan-Marek Glogowski +Origin: see bug +Bug: https://bugreports.qt-project.org/browse/QTBUG-34614 +Forwarded: see bug +Applied-Upstream: nope +Reviewed-by: Jonathan Riddell +Last-Update: 2014-11-22 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- qt/src/corelib/kernel/qeventdispatcher_glib.cpp.sav 2014-03-28 15:26:37.000000000 +0100 ++++ qt/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<GPostEventSource *>(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<GPostEventSource *>(s); + return (!canWait + || (source->serialNumber != source->lastSerialNumber)); + } +@@ -284,8 +292,14 @@ static gboolean postEventSourceDispatch( + { + GPostEventSource *source = reinterpret_cast<GPostEventSource *>(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<GPostEventSource *>(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; + +--- qt/src/corelib/kernel/qeventdispatcher_unix.cpp.sav 2013-06-07 07:16:52.000000000 +0200 ++++ qt/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()
  14. Download patch debian/patches/kubuntu_10_ibus_input_method.diff

    --- 4:4.8.7+dfsg-7/debian/patches/kubuntu_10_ibus_input_method.diff 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/debian/patches/kubuntu_10_ibus_input_method.diff 2016-01-07 10:57:47.000000000 +0000 @@ -0,0 +1,44 @@ +Description: change default input method from xim to ibus for kubuntu + Probably neeeds a more invasive change to go upstream. +Author: Jonathan Riddell <jriddell@ubuntu.com> +Forwarded: no +Last-Update: 2009-12-23 +--- + src/gui/kernel/qapplication_x11.cpp | 2 +- + src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp | 2 +- + tools/qtconfig/mainwindow.cpp | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +--- a/src/gui/kernel/qapplication_x11.cpp ++++ b/src/gui/kernel/qapplication_x11.cpp +@@ -1089,7 +1089,7 @@ + X11->default_im = QLatin1String("imsw-multi"); + } else { + X11->default_im = settings.value(QLatin1String("DefaultInputMethod"), +- QLatin1String("xim")).toString(); ++ QLatin1String("ibus")).toString(); + } + #endif //QT_NO_IM + settings.endGroup(); // Qt +--- a/src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp ++++ b/src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp +@@ -79,7 +79,7 @@ + if (def.isEmpty()) { + QSettings settings(QSettings::UserScope, QLatin1String("Trolltech")); + settings.beginGroup(QLatin1String("Qt")); +- def = settings.value(QLatin1String("DefaultInputMethod"), QLatin1String("xim")).toString(); ++ def = settings.value(QLatin1String("DefaultInputMethod"), QLatin1String("ibus")).toString(); + } + current = keys.indexOf(def); + if (current < 0) +--- a/tools/qtconfig/mainwindow.cpp ++++ b/tools/qtconfig/mainwindow.cpp +@@ -397,7 +397,7 @@ + #if defined(Q_WS_X11) && !defined(QT_NO_XIM) + QStringList inputMethodCombo = QInputContextFactory::keys(); + int inputMethodComboIndex = -1; +- QString defaultInputMethod = settings.value(QLatin1String("DefaultInputMethod"), QLatin1String("xim")).toString(); ++ QString defaultInputMethod = settings.value(QLatin1String("DefaultInputMethod"), QLatin1String("ibus")).toString(); + for (int i = inputMethodCombo.size()-1; i >= 0; --i) { + const QString &im = inputMethodCombo.at(i); + if (im.contains(QLatin1String("imsw"))) {
  15. Download patch .pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/declarative/declarative.pro

    --- 4:4.8.7+dfsg-7/.pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/declarative/declarative.pro 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/.pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/declarative/declarative.pro 2015-05-07 14:14:48.000000000 +0000 @@ -0,0 +1,46 @@ +TARGET = QtDeclarative +QPRO_PWD = $$PWD +QT = core gui script network +contains(QT_CONFIG, svg): QT += svg +DEFINES += QT_BUILD_DECLARATIVE_LIB QT_NO_URL_CAST_FROM_STRING +win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x66000000 +solaris-cc*:QMAKE_CXXFLAGS_RELEASE -= -O2 + +unix|win32-g++*:QMAKE_PKGCONFIG_REQUIRES = QtCore QtGui + +exists("qdeclarative_enable_gcov") { + QMAKE_CXXFLAGS = -fprofile-arcs -ftest-coverage -fno-elide-constructors + LIBS += -lgcov +} + +include(../qbase.pri) + +#INCLUDEPATH -= $$QMAKE_INCDIR_QT/$$TARGET +#DESTDIR=. + +#modules +include(util/util.pri) +include(graphicsitems/graphicsitems.pri) +include(qml/qml.pri) +include(debugger/debugger.pri) + +symbian: { + TARGET.UID3=0x2001E623 + LIBS += -lefsrv -lhal + + contains(QT_CONFIG, freetype) { + DEFINES += QT_NO_FONTCONFIG + INCLUDEPATH += \ + ../3rdparty/freetype/src \ + ../3rdparty/freetype/include + } +} + +linux-g++-maemo:DEFINES += QDECLARATIVEVIEW_NOBACKGROUND + +DEFINES += QT_NO_OPENTYPE +INCLUDEPATH += ../3rdparty/harfbuzz/src + +blackberry: { + DEFINES += CUSTOM_DECLARATIVE_DEBUG_TRACE_INSTANCE +}
  16. Download patch .pc/kubuntu_28_xi2.1.patch/src/gui/kernel/qwidget_p.h
  17. Download patch .pc/kubuntu_28_xi2.1.patch/src/gui/kernel/qwidget.cpp
  18. Download patch debian/patches/kubuntu_98_a11y_fix_crash.diff

    --- 4:4.8.7+dfsg-7/debian/patches/kubuntu_98_a11y_fix_crash.diff 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/debian/patches/kubuntu_98_a11y_fix_crash.diff 2016-01-07 10:57:47.000000000 +0000 @@ -0,0 +1,37 @@ +Index: qt4-x11-4.8.6-64-g5dc8b2b/src/declarative/qml/qdeclarativeengine.cpp +=================================================================== +--- qt4-x11-4.8.6-64-g5dc8b2b.orig/src/declarative/qml/qdeclarativeengine.cpp ++++ qt4-x11-4.8.6-64-g5dc8b2b/src/declarative/qml/qdeclarativeengine.cpp +@@ -2567,4 +2567,10 @@ bool QDeclarative_isFileCaseCorrect(cons + return true; + } + ++QDeclarativeAccessibilityUpdater *QDeclarativeEnginePrivate::getAccessibilityUpdater(QDeclarativeEngine *e) ++{ ++ static QDeclarativeAccessibilityUpdater accessibilityUpdater; ++ return &accessibilityUpdater; ++} ++ + QT_END_NAMESPACE +Index: qt4-x11-4.8.6-64-g5dc8b2b/src/declarative/qml/qdeclarativeengine_p.h +=================================================================== +--- qt4-x11-4.8.6-64-g5dc8b2b.orig/src/declarative/qml/qdeclarativeengine_p.h ++++ qt4-x11-4.8.6-64-g5dc8b2b/src/declarative/qml/qdeclarativeengine_p.h +@@ -238,8 +238,6 @@ public: + + mutable QMutex mutex; + +- QDeclarativeAccessibilityUpdater accessibilityUpdater; +- + QDeclarativeTypeLoader typeLoader; + QDeclarativeImportDatabase importDatabase; + +@@ -314,7 +312,7 @@ public: + static QScriptValue formatTime(QScriptContext*, QScriptEngine*); + static QScriptValue formatDateTime(QScriptContext*, QScriptEngine*); + #endif +- static QDeclarativeAccessibilityUpdater *getAccessibilityUpdater(QDeclarativeEngine *e) { return &e->d_func()->accessibilityUpdater; } ++ static QDeclarativeAccessibilityUpdater *getAccessibilityUpdater(QDeclarativeEngine *e); + static QScriptEngine *getScriptEngine(QDeclarativeEngine *e) { if (!e) return 0; return &e->d_func()->scriptEngine; } + static QDeclarativeEngine *getEngine(QScriptEngine *e) { return static_cast<QDeclarativeScriptEngine*>(e)->p->q_func(); } + static QDeclarativeEnginePrivate *get(QDeclarativeEngine *e) { return e->d_func(); }
  19. Download patch .pc/kubuntu_93_disable_overlay_scrollbars.diff/src/gui/styles/qgtkstyle_p.cpp
  20. Download patch debian/rules

    --- 4:4.8.7+dfsg-7/debian/rules 2016-05-22 14:19:42.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/debian/rules 2016-05-23 15:06:57.000000000 +0000 @@ -60,7 +60,7 @@ else gles2_architectures := none_for_now endif ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH), $(gles2_architectures))) - extra_configure_opts += -opengl es2 + extra_configure_opts += -opengl es2 -no-neon else extra_configure_opts += -opengl desktop \ -no-egl @@ -142,7 +142,7 @@ endif -xmlpatterns \ -no-multimedia \ -audio-backend \ - -phonon \ + -no-phonon \ -no-phonon-backend \ -svg \ -no-webkit \ @@ -350,13 +350,11 @@ override_dh_installchangelogs: override_dh_strip: $(foreach pkg,$(pkgs_dbg),dh_strip -p$(pkg) --dbg-package=$(pkg)-dbg;) dh_strip $(foreach pkg,$(pkgs_dbgbin),-p$(pkg)) --dbg-package=qt4-bin-dbg - dh_strip -plibqt4-phonon dh_strip --remaining-packages --dbg-package=libqt4-dbg override_dh_makeshlibs: # Specific shlibs version (e.g.: 4:4.5.2) $(foreach pkg,$(pkgs_lib),dh_makeshlibs -p$(pkg) -V '$(pkg) (>= $(shlibs_version))' -- -c0;) - dh_makeshlibs -plibqt4-phonon -V'$(libqt4phonon_shlibs)' # Generate shlibs local files for pkg in $(pkgs_lib); do \ if test -e debian/$${pkg}/DEBIAN/shlibs ; then \
  21. Download patch debian/patches/kubuntu_95_qt_disable_bounce.diff

    --- 4:4.8.7+dfsg-7/debian/patches/kubuntu_95_qt_disable_bounce.diff 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/debian/patches/kubuntu_95_qt_disable_bounce.diff 2016-01-07 10:57:47.000000000 +0000 @@ -0,0 +1,31 @@ +Description: Manually remove panning gesture subscription from qabstractscrollarea.cpp. + Thus all scrolling happens via mouse wheel events synthesised by X. +Author: Jussi Pakkanen <jussi.pakkanen@canonical.com> +Bug-Ubuntu: https://bugs.launchpad.net/bugs/805972 +Forwarded: no + +=== modified file 'src/gui/widgets/qabstractscrollarea.cpp' +--- + src/gui/widgets/qabstractscrollarea.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/src/gui/widgets/qabstractscrollarea.cpp ++++ b/src/gui/widgets/qabstractscrollarea.cpp +@@ -296,7 +296,7 @@ void QAbstractScrollAreaPrivate::init() + layoutChildren(); + #ifndef Q_WS_MAC + #ifndef QT_NO_GESTURES +- viewport->grabGesture(Qt::PanGesture); ++ //viewport->grabGesture(Qt::PanGesture); + #endif + #endif + } +@@ -549,7 +549,7 @@ void QAbstractScrollArea::setViewport(QW + d->viewport->installEventFilter(d->viewportFilter.data()); + #ifndef Q_WS_MAC + #ifndef QT_NO_GESTURES +- d->viewport->grabGesture(Qt::PanGesture); ++// d->viewport->grabGesture(Qt::PanGesture); + #endif + #endif + d->layoutChildren();
  22. Download patch debian/patches/kubuntu_12_fix_stack_protector.diff

    --- 4:4.8.7+dfsg-7/debian/patches/kubuntu_12_fix_stack_protector.diff 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/debian/patches/kubuntu_12_fix_stack_protector.diff 2016-01-07 10:57:47.000000000 +0000 @@ -0,0 +1,27 @@ +Description: There should be no reason to disable stack protector unless one + is building with an ancient version of GCC. +Author: Kees Cook <kees@ubuntu.com> +Bug-Ubuntu: https://launchpad.net/bugs/538237 +Forwarded: no + +--- + src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri | 8 -------- + 1 file changed, 8 deletions(-) + +--- a/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri ++++ b/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri +@@ -58,14 +58,6 @@ contains(JAVASCRIPTCORE_JIT,no) { + DEFINES+=ENABLE_YARR=0 + } + +-# Rules when JIT enabled (not disabled) +-!contains(DEFINES, ENABLE_JIT=0) { +- linux*-g++*:greaterThan(QT_GCC_MAJOR_VERSION,3):greaterThan(QT_GCC_MINOR_VERSION,0) { +- QMAKE_CXXFLAGS += -fno-stack-protector +- QMAKE_CFLAGS += -fno-stack-protector +- } +-} +- + wince* { + INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/ce-compat + SOURCES += $$QT_SOURCE_TREE/src/3rdparty/ce-compat/ce_time.c
  23. Download patch .pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/gui/accessible/qaccessible_mac_cocoa.mm
  24. Download patch .pc/kubuntu_37_cups_settings.diff/src/gui/dialogs/qprintdialog_unix.cpp
  25. Download patch .pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/gui/accessible/qaccessible2.h
  26. Download patch .pc/kubuntu_37_cups_settings.diff/src/gui/painting/qprinter.cpp
  27. Download patch .pc/kubuntu_10_ibus_input_method.diff/src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp
  28. Download patch .pc/kubuntu_qclipboard_delay.diff/src/gui/kernel/qclipboard_x11.cpp
  29. Download patch .pc/kubuntu_28_xi2.1.patch/examples/touch/fingerpaint/scribblearea.cpp
  30. Download patch debian/control

    --- 4:4.8.7+dfsg-7/debian/control 2016-05-03 18:58:24.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/debian/control 2016-05-23 08:54:21.000000000 +0000 @@ -1,14 +1,14 @@ Source: qt4-x11 Section: libs Priority: optional -Maintainer: Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org> +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +XSBC-Original-Maintainer: Debian/Kubuntu Qt/KDE Maintainers <debian-qt-kde@lists.debian.org> Uploaders: Sune Vuorela <debian@pusling.com>, Pino Toscano <pino@debian.org>, Lisandro Damián Nicanor Pérez Meyer <lisandro@debian.org>, Timo Jyrinki <timo@debian.org> Build-Depends: debhelper (>= 9), dpkg-dev (>= 1.16.1), - firebird-dev [amd64 armel i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sh4 sparc], flex, freetds-dev, libasound2-dev [linux-any], @@ -16,9 +16,10 @@ Build-Depends: debhelper (>= 9), libcups2-dev, libdbus-1-dev, libfreetype6-dev, - libgl1-mesa-dev, + libgl1-mesa-dev [!armel !armhf], + libgles2-mesa-dev [armel armhf], libglib2.0-dev, - libglu1-mesa-dev, + libglu1-mesa-dev [!armel !armhf], libgtk2.0-dev, libice-dev, libicu-dev, @@ -30,7 +31,6 @@ Build-Depends: debhelper (>= 9), libpq-dev, libreadline-dev, libsm-dev, - libsqlite0-dev, libsqlite3-dev, libssl-dev, libtiff-dev, @@ -153,7 +153,7 @@ Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${misc:Depends}, ${shlibs:Depends} -Recommends: libqt4-sql-mysql | libqt4-sql-odbc | libqt4-sql-psql | libqt4-sql-sqlite | libqt4-sql-sqlite2 | libqt4-sql-ibase [amd64 armel i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sh4 sparc] +Recommends: libqt4-sql-mysql | libqt4-sql-odbc | libqt4-sql-psql | libqt4-sql-sqlite Suggests: libqt4-dev Description: Qt 4 SQL module Qt is a cross-platform C++ application framework. Qt's primary feature @@ -165,18 +165,6 @@ Description: Qt 4 SQL module If you wish to use the SQL module for development, you should install the libqt4-dev package. -Package: libqt4-sql-ibase -Architecture: amd64 armel i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sh4 sparc -Multi-Arch: same -Pre-Depends: ${misc:Pre-Depends} -Depends: ${misc:Depends}, ${shlibs:Depends} -Suggests: libqt4-dev -Description: Qt 4 InterBase/FireBird database driver - This package contains the InterBase/FireBird plugin for Qt 4. - . - Install it if you intend to use or write Qt programs that are to access an - InterBase/FireBird DB. - Package: libqt4-sql-mysql Architecture: any Multi-Arch: same @@ -225,18 +213,6 @@ Description: Qt 4 SQLite 3 database driv Install it if you intend to use or write Qt programs that are to access an SQLite 3 DB. -Package: libqt4-sql-sqlite2 -Architecture: any -Multi-Arch: same -Pre-Depends: ${misc:Pre-Depends} -Depends: ${misc:Depends}, ${shlibs:Depends} -Suggests: libqt4-dev -Description: Qt 4 SQLite 2 database driver - This package contains the SQLite 2 plugin for Qt 4. - . - Install it if you intend to use or write Qt programs that are to access an - SQLite 2 DB. - Package: libqt4-sql-tds Architecture: any Multi-Arch: same @@ -304,9 +280,6 @@ Description: Qt 4 D-Bus module Applications using the QtDBus module can provide services to other, remote applications by exporting objects, as well as use services exported by those applications by placing calls and accessing properties. - . - This package depends on qdbus and libqtdbus4 to break their circular dependency - and allow easy updates from Squeeze to Wheezy. Package: libqtdbus4 Architecture: any @@ -378,23 +351,6 @@ Description: Qt 4 test module The QtTest module provides classes for unit testing Qt applications and libraries. -Package: libqt4-phonon -Architecture: any -Multi-Arch: same -Pre-Depends: ${misc:Pre-Depends} -Depends: ${misc:Depends}, ${shlibs:Depends} -Conflicts: libphonon4 -Description: Qt 4 Phonon module - Qt is a cross-platform C++ application framework. Qt's primary feature - is its rich set of widgets that provide standard GUI functionality. - . - The Qt Phonon module provides a cross-platform multimedia framework that - enables the use of audio and video content in Qt applications. - . - The sole purpose of this package to provide Phonon libraries until libphonon4 - is built from the phonon source package. Therefore it's only useful when - bootstraping new architectures or rebuilding the whole archive from scratch. - Package: libqt4-declarative Architecture: any Multi-Arch: same @@ -513,8 +469,9 @@ Description: Qt 4 development programs Package: libqt4-opengl-dev Architecture: any Section: libdevel -Depends: libgl1-mesa-dev | libgl-dev, - libglu1-mesa-dev, +Depends: libgl1-mesa-dev [!armel !armhf], + libgles2-mesa-dev [armel armhf], + libglu1-mesa-dev [!armel !armhf], libqt4-dev (= ${binary:Version}), libqt4-opengl (= ${binary:Version}), ${misc:Depends}
  31. Download patch .pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/declarative/util/qdeclarativetransitionmanager.cpp
  32. Download patch .pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/plugins/accessible/widgets/main.cpp
  33. Download patch .pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/declarative/util/qdeclarativeanimation_p_p.h
  34. Download patch .pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/declarative/graphicsitems/qdeclarativetext.cpp
  35. Download patch debian/patches/kubuntu_28_xi2.1.patch
  36. Download patch .pc/applied-patches

    --- 4:4.8.7+dfsg-7/.pc/applied-patches 2016-06-03 13:38:45.726148084 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/.pc/applied-patches 2016-06-03 13:39:05.722695076 +0000 @@ -36,7 +36,6 @@ buildable_appchooser_states_demos.patch powerpcspe.diff sh.diff kfreebsd_monotonic_clock.diff -powerpc_designer_gstabs.diff qt-multiarch-plugin-path-compat.diff s390x_jscore.diff add_missing_method_for_QBasicAtomicPointer_on_s390.patch @@ -50,3 +49,19 @@ QtScript_x32_config.diff x32.diff no-ssl3.patch qt-everywhere-opensource-src-4.8.7-gcc6.patch +kubuntu_10_ibus_input_method.diff +kubuntu_12_fix_stack_protector.diff +kubuntu_28_xi2.1.patch +kubuntu_30_translucent_drag_pixmap.diff +kubuntu_37_cups_settings.diff +kubuntu_39_fix_medium_font.diff +kubuntu_40_disable_neon.patch +kubuntu_43_no_meego_helper.patch +kubuntu_93_disable_overlay_scrollbars.diff +kubuntu_94_xinput_valuators_fix.diff +kubuntu_95_qt_disable_bounce.diff +kubuntu_97_a11y_qt_and_qml_backport.diff +kubuntu_98_a11y_fix_crash.diff +kubuntu_glib-honor-ExcludeSocketNotifiers-flag.diff +kubuntu_qclipboard_delay.diff +kubuntu_qclipboard_fix_recursive.diff
  37. Download patch debian/patches/kubuntu_94_xinput_valuators_fix.diff

    --- 4:4.8.7+dfsg-7/debian/patches/kubuntu_94_xinput_valuators_fix.diff 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/debian/patches/kubuntu_94_xinput_valuators_fix.diff 2016-01-07 10:57:47.000000000 +0000 @@ -0,0 +1,146 @@ +Description: Fix XInput event valuator access. + Fix was proposed upstream at + https://qt.gitorious.org/qt/qt/merge_requests/1397 but Qt since moved to + gerrit. Needs re-forwarding. +Author: Jussi Pakkanen <jussi.pakkanen@ubuntu.com> +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/qt4-x11/+bug/799202 +Forwarded: no + +--- + src/gui/kernel/qapplication_x11.cpp | 96 ++++++++++++++++++++++++++++++------ + 1 file changed, 82 insertions(+), 14 deletions(-) + +--- a/src/gui/kernel/qapplication_x11.cpp ++++ b/src/gui/kernel/qapplication_x11.cpp +@@ -4809,6 +4809,20 @@ + return false; + } + ++/* XInput only reports those valuators whose values have changed. ++ * We have to preserve old values. This is a quick hack to test ++ * whether it works or not. It will most likely fail in several ++ * ways if, for example, there is more than one tablet event ++ * source or anything like that. ++ */ ++ ++static int previousXLoc = 0; ++static int previousYLoc = 0; ++static int previousXTilt = 0; ++static int previousYTilt = 0; ++static qreal previousPressure = 0; ++static qreal previousRotation = 0; ++ + bool QETWidget::translateXinputEvent(const XEvent *ev, QTabletDeviceData *tablet) + { + #if defined (Q_OS_IRIX) +@@ -4827,12 +4841,14 @@ + QPoint global, + curr; + QPointF hiRes; +- qreal pressure = 0; +- int xTilt = 0, +- yTilt = 0, ++ qreal pressure = previousPressure; ++ int xLoc = previousXLoc, ++ yLoc = previousYLoc, ++ xTilt = previousXTilt, ++ yTilt = previousYTilt, + z = 0; + qreal tangentialPressure = 0; +- qreal rotation = 0; ++ qreal rotation = previousRotation; + int deviceType = QTabletEvent::NoDevice; + int pointerType = QTabletEvent::UnknownPointer; + const XDeviceMotionEvent *motion = 0; +@@ -4976,22 +4992,64 @@ + fetchWacomToolId(deviceType, uid); + + QRect screenArea = qApp->desktop()->rect(); ++ const unsigned char xIndex = 0; ++ const unsigned char yIndex = 1; ++ const unsigned char pressureIndex = 2; ++ const unsigned char xTiltIndex = 3; ++ const unsigned char yTiltIndex = 4; ++ const unsigned char rotationIndex = 5; + if (motion) { +- xTilt = (short) motion->axis_data[3]; +- yTilt = (short) motion->axis_data[4]; +- rotation = ((short) motion->axis_data[5]) / 64.0; +- pressure = (short) motion->axis_data[2]; ++ const unsigned char firstAxis = motion->first_axis; ++ const unsigned char axesCount = motion->axes_count; ++ const unsigned char maxIndex = firstAxis + axesCount; ++ ++ if (xIndex >= firstAxis && xIndex < maxIndex) ++ xLoc = motion->axis_data[xIndex - firstAxis]; ++ ++ if (yIndex >= firstAxis && yIndex < maxIndex) ++ yLoc = motion->axis_data[yIndex - firstAxis]; ++ ++ if (xTiltIndex >= firstAxis && xTiltIndex < maxIndex) ++ xTilt = (short) motion->axis_data[xTiltIndex - firstAxis]; ++ ++ if (yTiltIndex >= firstAxis && yTiltIndex < maxIndex) ++ yTilt = (short) motion->axis_data[yTiltIndex - firstAxis]; ++ ++ if (rotationIndex >= firstAxis && rotationIndex < maxIndex) ++ rotation = ((short) motion->axis_data[rotationIndex - firstAxis]) / 64.0; ++ ++ if (pressureIndex >= firstAxis && pressureIndex < maxIndex) ++ pressure = (short) motion->axis_data[pressureIndex - firstAxis]; ++ + modifiers = X11->translateModifiers(motion->state); +- hiRes = tablet->scaleCoord(motion->axis_data[0], motion->axis_data[1], ++ hiRes = tablet->scaleCoord(xLoc, yLoc, + screenArea.x(), screenArea.width(), + screenArea.y(), screenArea.height()); + } else if (button) { +- xTilt = (short) button->axis_data[3]; +- yTilt = (short) button->axis_data[4]; +- rotation = ((short) button->axis_data[5]) / 64.0; +- pressure = (short) button->axis_data[2]; ++ const unsigned char firstAxis = button->first_axis; ++ const unsigned char axesCount = button->axes_count; ++ const unsigned char maxIndex = firstAxis + axesCount; ++ ++ if (xIndex >= firstAxis && xIndex < maxIndex) ++ xLoc = button->axis_data[xIndex - firstAxis]; ++ ++ if (yIndex >= firstAxis && yIndex < maxIndex) ++ yLoc = button->axis_data[yIndex - firstAxis]; ++ ++ if (xTiltIndex >= firstAxis && xTiltIndex < maxIndex) ++ xTilt = (short) button->axis_data[xTiltIndex - firstAxis]; ++ ++ if (yTiltIndex >= firstAxis && yTiltIndex < maxIndex) ++ yTilt = (short) button->axis_data[yTiltIndex - firstAxis]; ++ ++ if (rotationIndex >= firstAxis && rotationIndex < maxIndex) ++ rotation = ((short) button->axis_data[rotationIndex - firstAxis]) / 64.0; ++ ++ if (pressureIndex >= firstAxis && pressureIndex < maxIndex) ++ pressure = (short) button->axis_data[pressureIndex - firstAxis]; ++ + modifiers = X11->translateModifiers(button->state); +- hiRes = tablet->scaleCoord(button->axis_data[0], button->axis_data[1], ++ hiRes = tablet->scaleCoord(xLoc, yLoc, + screenArea.x(), screenArea.width(), + screenArea.y(), screenArea.height()); + } else if (proximity) { +@@ -5025,6 +5083,16 @@ + deviceType, pointerType, + qreal(pressure / qreal(tablet->maxPressure - tablet->minPressure)), + xTilt, yTilt, tangentialPressure, rotation, z, modifiers, uid); ++ /* Preserve current values because the X server will *not* ++ * re-send them if they do not change. ++ */ ++ previousXLoc = xLoc; ++ previousYLoc = yLoc; ++ previousXTilt = xTilt; ++ previousYTilt = yTilt; ++ previousPressure = pressure; ++ previousRotation = rotation; ++ + if (proximity) { + QApplication::sendSpontaneousEvent(qApp, &e); + } else {
  38. Download patch .pc/kubuntu_30_translucent_drag_pixmap.diff/src/gui/kernel/qdnd_x11.cpp
  39. Download patch config.tests/x11/xinput2/xinput2.cpp

    --- 4:4.8.7+dfsg-7/config.tests/x11/xinput2/xinput2.cpp 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/config.tests/x11/xinput2/xinput2.cpp 2016-06-03 13:39:05.000000000 +0000 @@ -0,0 +1,75 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the config.tests of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, 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. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <X11/Xlib.h> +#include <X11/extensions/XInput2.h> +#include <X11/extensions/Xge.h> + +#if XI_2_Major < 2 || XI_2_Minor < 2 +# error "Missing XInput 2.2 or later" +#endif + +int main(int, char **) +{ + // need XGenericEventCookie for XInput2 to work + Display *dpy = 0; + XEvent xevent; + if (XGetEventData(dpy, &xevent.xcookie)) { + XFreeEventData(dpy, &xevent.xcookie); + } + + XIEvent *xievent; + xievent = 0; + + XIDeviceEvent *xideviceevent; + xideviceevent = 0; + + XIHierarchyEvent *xihierarchyevent; + xihierarchyevent = 0; + + int deviceid = 0; + int len = 0; + Atom *atoms = XIListProperties(dpy, deviceid, &len); + if (atoms) + XFree(atoms); + + return 0; +}
  40. Download patch .pc/kubuntu_28_xi2.1.patch/configure
  41. Download patch debian/qt4-qtconfig.links
  42. Download patch .pc/powerpc_designer_gstabs.diff/tools/designer/src/components/signalsloteditor/signalsloteditor.pri

    --- 4:4.8.7+dfsg-7/.pc/powerpc_designer_gstabs.diff/tools/designer/src/components/signalsloteditor/signalsloteditor.pri 2015-05-07 14:14:40.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/.pc/powerpc_designer_gstabs.diff/tools/designer/src/components/signalsloteditor/signalsloteditor.pri 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ - -INCLUDEPATH += $$PWD - -HEADERS += $$PWD/signalslot_utils_p.h \ - $$PWD/connectdialog_p.h \ - $$PWD/signalsloteditor.h \ - $$PWD/signalsloteditor_tool.h \ - $$PWD/signalsloteditor_plugin.h \ - $$PWD/signalsloteditor_global.h \ - $$PWD/signalsloteditor_p.h \ - $$PWD/signalsloteditorwindow.h - -SOURCES += $$PWD/signalslot_utils.cpp \ - $$PWD/connectdialog.cpp \ - $$PWD/signalsloteditor.cpp \ - $$PWD/signalsloteditor_tool.cpp \ - $$PWD/signalsloteditor_plugin.cpp \ - $$PWD/signalsloteditor_instance.cpp \ - $$PWD/signalsloteditorwindow.cpp - -FORMS += $$PWD/connectdialog.ui
  43. Download patch .pc/kubuntu_qclipboard_fix_recursive.diff/src/corelib/kernel/qeventdispatcher_glib.cpp
  44. Download patch .pc/kubuntu_28_xi2.1.patch/src/gui/kernel/qwidget_x11.cpp
  45. Download patch configure

    --- 4:4.8.7+dfsg-7/configure 2016-06-03 13:38:45.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/configure 2016-06-03 13:39:05.000000000 +0000 @@ -886,6 +886,7 @@ CFG_DECORATION_AVAILABLE="styled windows CFG_DECORATION_ON="${CFG_DECORATION_AVAILABLE}" # all on by default CFG_DECORATION_PLUGIN_AVAILABLE= CFG_DECORATION_PLUGIN= +CFG_XINPUT2=auto CFG_XINPUT=runtime CFG_XKB=auto CFG_NIS=auto @@ -1195,7 +1196,7 @@ while [ "$#" -gt 0 ]; do VAL=no ;; #Qt style yes options - -incremental|-qvfb|-profile|-shared|-static|-sm|-xinerama|-xshape|-xsync|-xinput|-egl|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-nis|-qdbus|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-qt3support|-debug-and-release|-exceptions|-cocoa|-carbon|-universal|-harfbuzz|-prefix-install|-silent|-armfpa|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-ptmalloc|-xmlpatterns|-phonon|-phonon-backend|-multimedia|-audio-backend|-svg|-declarative|-declarative-debug|-javascript-jit|-script|-scripttools|-rpath|-force-pkg-config|-s60|-usedeffiles|-icu) + -incremental|-qvfb|-profile|-shared|-static|-sm|-xinerama|-xshape|-xsync|-xinput|-xinput2|-egl|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-nis|-qdbus|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-qt3support|-debug-and-release|-exceptions|-cocoa|-carbon|-universal|-harfbuzz|-prefix-install|-silent|-armfpa|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-ptmalloc|-xmlpatterns|-phonon|-phonon-backend|-multimedia|-audio-backend|-svg|-declarative|-declarative-debug|-javascript-jit|-script|-scripttools|-rpath|-force-pkg-config|-s60|-usedeffiles|-icu) VAR=`echo $1 | sed "s,^-\(.*\),\1,"` VAL=yes ;; @@ -1889,6 +1890,13 @@ while [ "$#" -gt 0 ]; do UNKNOWN_OPT=yes fi ;; + xinput2) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_XINPUT2="$VAL" + else + UNKNOWN_OPT=yes + fi + ;; xinput) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then CFG_XINPUT="$VAL" @@ -4324,6 +4332,13 @@ if [ "$PLATFORM_X11" = "yes" ]; then XMY="*" XMN=" " fi + if [ "$CFG_XINPUT2" = "no" ]; then + X2Y=" " + X2N="*" + else + X2Y="*" + X2N=" " + fi if [ "$CFG_XINPUT" = "no" ]; then XIY=" " XIN="*" @@ -4428,7 +4443,10 @@ Qt/X11 only: Requires fontconfig/fontconfig.h, libfontconfig, freetype.h and libfreetype. - $XIN -no-xinput ......... Do not compile Xinput support. + $X2N -no-xinput2......... Do not compile XInput2 support. + $X2Y -xinput2............ Compile XInput2 support. + + $XIN -no-xinput.......... Do not compile Xinput support. $XIY -xinput ............ Compile Xinput support. This also enabled tablet support which requires IRIX with wacom.h and libXi or XFree86 with X11/extensions/XInput.h and libXi. @@ -6434,7 +6452,22 @@ if [ "$PLATFORM_X11" = "yes" ]; then fi fi - # auto-detect Xinput support + # auto-detect XInput2/Xinput support + if [ "$CFG_XINPUT2" != "no" ]; then + if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xinput2 "XInput2" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then + CFG_XINPUT2=yes + else + if [ "$CFG_XINPUT2" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then + echo "XInput2 support cannot be enabled due to functionality tests!" + echo " Turn on verbose messaging (-v) to $0 to see the final report." + echo " If you believe this message is in error you may use the continue" + echo " switch (-continue) to $0 to continue." + exit 101 + else + CFG_XINPUT2=no + fi + fi + fi if [ "$CFG_XINPUT" != "no" ]; then if compileTest x11/xinput "XInput" $X11TESTS_FLAGS; then if [ "$CFG_XINPUT" != "runtime" ]; then @@ -7659,9 +7692,12 @@ if [ "$PLATFORM_X11" = "yes" ]; then if [ "$CFG_FONTCONFIG" = "yes" ]; then QT_CONFIG="$QT_CONFIG fontconfig" fi - if [ "$CFG_XINPUT" = "yes" ]; then + if [ "$CFG_XINPUT2" = "yes" -o "$CFG_XINPUT" = "yes" ]; then QMakeVar set QMAKE_LIBS_X11 '-lXi $$QMAKE_LIBS_X11' fi + if [ "$CFG_XINPUT2" = "yes" ]; then + QT_CONFIG="$QT_CONFIG xinput2" + fi if [ "$CFG_XINPUT" = "yes" ]; then QT_CONFIG="$QT_CONFIG xinput tablet" fi @@ -8595,6 +8631,7 @@ if [ "$XPLATFORM_SYMBIAN" = "no" ]; then [ "$CFG_XVIDEO" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XVIDEO" [ "$CFG_XSYNC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XSYNC" [ "$CFG_XINPUT" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINPUT QT_NO_TABLET" + [ "$CFG_XINPUT2" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINPUT2" [ "$CFG_XCURSOR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XCURSOR" [ "$CFG_XINERAMA" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINERAMA" @@ -9168,6 +9205,7 @@ if [ "$PLATFORM_X11" = "yes" ]; then echo "Xfixes support ......... $CFG_XFIXES" echo "Xrandr support ......... $CFG_XRANDR" echo "Xrender support ........ $CFG_XRENDER" + echo "XInput2 support ........ $CFG_XINPUT2" echo "Xi support ............. $CFG_XINPUT" echo "MIT-SHM support ........ $CFG_MITSHM" echo "FontConfig support ..... $CFG_FONTCONFIG"
  46. Download patch debian/libqt4-dev-bin.links
  47. Download patch .pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp
  48. Download patch src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri

    --- 4:4.8.7+dfsg-7/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri 2015-05-07 14:14:47.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri 2016-06-03 13:39:05.000000000 +0000 @@ -58,14 +58,6 @@ contains(JAVASCRIPTCORE_JIT,no) { DEFINES+=ENABLE_YARR=0 } -# Rules when JIT enabled (not disabled) -!contains(DEFINES, ENABLE_JIT=0) { - linux*-g++*:greaterThan(QT_GCC_MAJOR_VERSION,3):greaterThan(QT_GCC_MINOR_VERSION,0) { - QMAKE_CXXFLAGS += -fno-stack-protector - QMAKE_CFLAGS += -fno-stack-protector - } -} - wince* { INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/ce-compat SOURCES += $$QT_SOURCE_TREE/src/3rdparty/ce-compat/ce_time.c
  49. Download patch debian/patches/kubuntu_40_disable_neon.patch

    --- 4:4.8.7+dfsg-7/debian/patches/kubuntu_40_disable_neon.patch 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/debian/patches/kubuntu_40_disable_neon.patch 2016-01-07 10:57:47.000000000 +0000 @@ -0,0 +1,15 @@ +Description: armel is no longer supported in Ubuntu, disable neon + . + qt4-x11 (4:4.8.4+dfsg-0ubuntu2) raring; urgency=low + . + * Disable neon for Ubuntu since armel is no longer supported. +Author: Tim Gardner <tim.gardner@canonical.com> + +--- /dev/null ++++ qt4-x11-4.8.4+dfsg/imports/junk +@@ -0,0 +1 @@ ++1 +--- /dev/null ++++ qt4-x11-4.8.4+dfsg/templates/junk +@@ -0,0 +1 @@ ++1
  50. Download patch debian/patches/kubuntu_39_fix_medium_font.diff

    --- 4:4.8.7+dfsg-7/debian/patches/kubuntu_39_fix_medium_font.diff 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/debian/patches/kubuntu_39_fix_medium_font.diff 2016-01-07 10:57:47.000000000 +0000 @@ -0,0 +1,105 @@ +From: Ken VanDine <ken.vandine@canonical.com> +Description: Default to regular font in X11 + Default to Regular/Normal instead of Medium in QFontDatabase for X11. + . + Tweak the buckets so that Medium has preference over Bold when DemiBold + is requested. +Bug-Ubuntu: https://launchpad.net/bugs/744812 +Bug: https://bugreports.qt-project.org/browse/QTBUG-27301 +Forwarded: https://codereview.qt-project.org/#change,35591 +Author: Michał Sawicz<michal.sawicz@canonical.com> + +--- a/src/gui/text/qfontdatabase_x11.cpp ++++ b/src/gui/text/qfontdatabase_x11.cpp +@@ -729,10 +729,17 @@ + static int getFCWeight(int fc_weight) + { + int qtweight = QFont::Black; +- if (fc_weight <= (FC_WEIGHT_LIGHT + FC_WEIGHT_MEDIUM) / 2) ++ if (fc_weight <= (FC_WEIGHT_LIGHT + FC_WEIGHT_REGULAR) / 2) + qtweight = QFont::Light; +- else if (fc_weight <= (FC_WEIGHT_MEDIUM + FC_WEIGHT_DEMIBOLD) / 2) ++ else if (fc_weight <= (FC_WEIGHT_REGULAR + FC_WEIGHT_MEDIUM) / 2) + qtweight = QFont::Normal; ++#if 0 ++ // FIXME: Uncomment this when it's safe to expand the Enum to include ::Medium ++ // Will map Medium to DemiBold via fallthrough for the moment, ++ // but avoids API/ABI break ++ else if (fc_weight <= (FC_WEIGHT_MEDIUM + FC_WEIGHT_DEMIBOLD) / 2) ++ qtweight = QFont::Medium; ++#endif + else if (fc_weight <= (FC_WEIGHT_DEMIBOLD + FC_WEIGHT_BOLD) / 2) + qtweight = QFont::DemiBold; + else if (fc_weight <= (FC_WEIGHT_BOLD + FC_WEIGHT_BLACK) / 2) +@@ -772,9 +779,13 @@ + fontDef.styleHint + */ + ++ // Default to Regular and thus to the common case. Previous ++ // versions of Qt requested Medium as default. This is fine until ++ // a Medium weight is actually provided by a font, and so gets ++ // promoted to bold fallthrough. + int weight; + if (FcPatternGetInteger(pattern, FC_WEIGHT, 0, &weight) != FcResultMatch) +- weight = FC_WEIGHT_MEDIUM; ++ weight = FC_WEIGHT_REGULAR; + fontDef.weight = getFCWeight(weight); + + int slant; +@@ -1066,16 +1077,19 @@ + // capitalize(value); + familyName = QString::fromUtf8((const char *)value); + slant_value = FC_SLANT_ROMAN; +- weight_value = FC_WEIGHT_MEDIUM; ++ weight_value = FC_WEIGHT_REGULAR; + spacing_value = FC_PROPORTIONAL; + file_value = 0; + index_value = 0; + scalable = FcTrue; + ++ // Fallthroughs in case a match was not found. In previous ++ // versions of Qt, Medium was requested from FontConfig, ++ // leading to a promotion from Medium to Bold. + if (FcPatternGetInteger (fonts->fonts[i], FC_SLANT, 0, &slant_value) != FcResultMatch) + slant_value = FC_SLANT_ROMAN; + if (FcPatternGetInteger (fonts->fonts[i], FC_WEIGHT, 0, &weight_value) != FcResultMatch) +- weight_value = FC_WEIGHT_MEDIUM; ++ weight_value = FC_WEIGHT_REGULAR; + if (FcPatternGetInteger (fonts->fonts[i], FC_SPACING, 0, &spacing_value) != FcResultMatch) + spacing_value = FC_PROPORTIONAL; + if (FcPatternGetString (fonts->fonts[i], FC_FILE, 0, &file_value) != FcResultMatch) +@@ -1487,14 +1501,32 @@ + } + + int weight_value = FC_WEIGHT_BLACK; ++ // Default and request Regular font weight if none specified ++ // Previous versions of Qt default to requesting Medium, even ++ // though this weight does not typically exist. + if (request.weight == 0) +- weight_value = FC_WEIGHT_MEDIUM; ++ weight_value = FC_WEIGHT_REGULAR; + else if (request.weight < (QFont::Light + QFont::Normal) / 2) + weight_value = FC_WEIGHT_LIGHT; +- else if (request.weight < (QFont::Normal + QFont::DemiBold) / 2) ++#if 0 ++ // FIXME: Avoid ABI Break; active this full codepath when ++ // QFont::Medium enum is available in the future ++ else if (request.weight < (QFont::Normal + QFont::Medium) / 2) ++ weight_value = FC_WEIGHT_REGULAR; ++ else if (request.weight < (QFont::Medium + QFont::DemiBold) / 2) + weight_value = FC_WEIGHT_MEDIUM; + else if (request.weight < (QFont::DemiBold + QFont::Bold) / 2) + weight_value = FC_WEIGHT_DEMIBOLD; ++#else ++ // For the moment This may still not full-circle correctly; via ++ // Medium->DemiBold->Bold promotion. However It's hard to do much ++ // about this without an ABI/API tweak to include the fuller set ++ // of standard TTF/CSS/FontConfig weights. ++ else if (request.weight < (QFont::Normal + QFont::DemiBold) / 2) ++ weight_value = FC_WEIGHT_REGULAR; ++ else if (request.weight < (QFont::DemiBold + QFont::Bold) / 2) ++ weight_value = (FC_WEIGHT_MEDIUM + FC_WEIGHT_DEMIBOLD) / 2; ++#endif + else if (request.weight < (QFont::Bold + QFont::Black) / 2) + weight_value = FC_WEIGHT_BOLD; + FcPatternDel(pattern, FC_WEIGHT);
  51. Download patch debian/patches/kubuntu_93_disable_overlay_scrollbars.diff

    --- 4:4.8.7+dfsg-7/debian/patches/kubuntu_93_disable_overlay_scrollbars.diff 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/debian/patches/kubuntu_93_disable_overlay_scrollbars.diff 2016-01-07 10:57:47.000000000 +0000 @@ -0,0 +1,59 @@ +From b3460f7aa01262374c014092b618407de5cb0390 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Aur=C3=A9lien=20G=C3=A2teau?= <aurelien.gateau@canonical.com> +Date: Wed, 28 Sep 2011 16:19:18 +0200 +Subject: [PATCH] Use ubuntu_gtk_disable_overlay_scrollbar() to get rid of + overlay scrollbars +Forwarded: no + +This is more robust than using the LIBOVERLAY_SCROLLBAR environment variable +as some programs (vlc) do not let us set variables. +--- + src/gui/styles/qgtkstyle_p.cpp | 4 ++++ + src/gui/styles/qgtkstyle_p.h | 2 ++ + 2 files changed, 6 insertions(+) + +--- a/src/gui/styles/qgtkstyle_p.cpp ++++ b/src/gui/styles/qgtkstyle_p.cpp +@@ -84,6 +84,7 @@ + + Ptr_gtk_container_forall QGtkStylePrivate::gtk_container_forall = 0; + Ptr_gtk_init QGtkStylePrivate::gtk_init = 0; ++Ptr_ubuntu_gtk_set_use_overlay_scrollbar QGtkStylePrivate::ubuntu_gtk_set_use_overlay_scrollbar = 0; + Ptr_gtk_style_attach QGtkStylePrivate::gtk_style_attach = 0; + Ptr_gtk_window_new QGtkStylePrivate::gtk_window_new = 0; + Ptr_gtk_widget_destroy QGtkStylePrivate::gtk_widget_destroy = 0; +@@ -316,6 +317,7 @@ + libgtk.setLoadHints(QLibrary::ImprovedSearchHeuristics); + + gtk_init = (Ptr_gtk_init)libgtk.resolve("gtk_init"); ++ ubuntu_gtk_set_use_overlay_scrollbar = (Ptr_ubuntu_gtk_set_use_overlay_scrollbar)libgtk.resolve("ubuntu_gtk_set_use_overlay_scrollbar"); + gtk_window_new = (Ptr_gtk_window_new)libgtk.resolve("gtk_window_new"); + gtk_style_attach = (Ptr_gtk_style_attach)libgtk.resolve("gtk_style_attach"); + gtk_widget_destroy = (Ptr_gtk_widget_destroy)libgtk.resolve("gtk_widget_destroy"); +@@ -520,6 +522,8 @@ + x11ErrorHandler qt_x_errhandler = XSetErrorHandler(0); + QGtkStylePrivate::gtk_init (NULL, NULL); + XSetErrorHandler(qt_x_errhandler); ++ if (QGtkStylePrivate::ubuntu_gtk_set_use_overlay_scrollbar) ++ QGtkStylePrivate::ubuntu_gtk_set_use_overlay_scrollbar(false); + + // make a window + GtkWidget* gtkWindow = QGtkStylePrivate::gtk_window_new(GTK_WINDOW_POPUP); +--- a/src/gui/styles/qgtkstyle_p.h ++++ b/src/gui/styles/qgtkstyle_p.h +@@ -137,6 +137,7 @@ + typedef bool (*Ptr_gconf_client_get_bool)(GConfClient*, const char*, GError **); + + typedef void (*Ptr_gtk_init)(int *, char ***); ++typedef void (*Ptr_ubuntu_gtk_set_use_overlay_scrollbar) (gboolean); + typedef GtkWidget* (*Ptr_gtk_window_new) (GtkWindowType); + typedef GtkStyle* (*Ptr_gtk_style_attach)(GtkStyle *, GdkWindow *); + typedef void (*Ptr_gtk_widget_destroy) (GtkWidget *); +@@ -358,6 +359,7 @@ + + static Ptr_gtk_container_forall gtk_container_forall; + static Ptr_gtk_init gtk_init; ++ static Ptr_ubuntu_gtk_set_use_overlay_scrollbar ubuntu_gtk_set_use_overlay_scrollbar; + static Ptr_gtk_style_attach gtk_style_attach; + static Ptr_gtk_window_new gtk_window_new; + static Ptr_gtk_widget_destroy gtk_widget_destroy;
  52. Download patch debian/patches/series

    --- 4:4.8.7+dfsg-7/debian/patches/series 2016-05-03 21:00:01.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/debian/patches/series 2016-05-23 15:06:57.000000000 +0000 @@ -47,7 +47,6 @@ buildable_appchooser_states_demos.patch powerpcspe.diff sh.diff kfreebsd_monotonic_clock.diff -powerpc_designer_gstabs.diff qt-multiarch-plugin-path-compat.diff s390x_jscore.diff add_missing_method_for_QBasicAtomicPointer_on_s390.patch @@ -61,3 +60,21 @@ QtScript_x32_config.diff x32.diff no-ssl3.patch qt-everywhere-opensource-src-4.8.7-gcc6.patch + +# Kubuntu patches +kubuntu_10_ibus_input_method.diff +kubuntu_12_fix_stack_protector.diff +kubuntu_28_xi2.1.patch +kubuntu_30_translucent_drag_pixmap.diff +kubuntu_37_cups_settings.diff +kubuntu_39_fix_medium_font.diff +kubuntu_40_disable_neon.patch +kubuntu_43_no_meego_helper.patch +kubuntu_93_disable_overlay_scrollbars.diff +kubuntu_94_xinput_valuators_fix.diff +kubuntu_95_qt_disable_bounce.diff +kubuntu_97_a11y_qt_and_qml_backport.diff +kubuntu_98_a11y_fix_crash.diff +kubuntu_glib-honor-ExcludeSocketNotifiers-flag.diff +kubuntu_qclipboard_delay.diff +kubuntu_qclipboard_fix_recursive.diff
  53. Download patch .pc/kubuntu_97_a11y_qt_and_qml_backport.diff/examples/declarative/ui-components/slideswitch/qml/slideswitch/content/Switch.qml

    --- 4:4.8.7+dfsg-7/.pc/kubuntu_97_a11y_qt_and_qml_backport.diff/examples/declarative/ui-components/slideswitch/qml/slideswitch/content/Switch.qml 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/.pc/kubuntu_97_a11y_qt_and_qml_backport.diff/examples/declarative/ui-components/slideswitch/qml/slideswitch/content/Switch.qml 2015-05-07 14:14:38.000000000 +0000 @@ -0,0 +1,117 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +//![0] +import QtQuick 1.0 + +Item { + id: toggleswitch + width: background.width; height: background.height + +//![1] + property bool on: false +//![1] + +//![2] + function toggle() { + if (toggleswitch.state == "on") + toggleswitch.state = "off"; + else + toggleswitch.state = "on"; + } +//![2] + +//![3] + function releaseSwitch() { + if (knob.x == 1) { + if (toggleswitch.state == "off") return; + } + if (knob.x == 78) { + if (toggleswitch.state == "on") return; + } + toggle(); + } +//![3] + +//![4] + Image { + id: background + source: "background.svg" + MouseArea { anchors.fill: parent; onClicked: toggle() } + } +//![4] + +//![5] + Image { + id: knob + x: 1; y: 2 + source: "knob.svg" + + MouseArea { + anchors.fill: parent + drag.target: knob; drag.axis: Drag.XAxis; drag.minimumX: 1; drag.maximumX: 78 + onClicked: toggle() + onReleased: releaseSwitch() + } + } +//![5] + +//![6] + states: [ + State { + name: "on" + PropertyChanges { target: knob; x: 78 } + PropertyChanges { target: toggleswitch; on: true } + }, + State { + name: "off" + PropertyChanges { target: knob; x: 1 } + PropertyChanges { target: toggleswitch; on: false } + } + ] +//![6] + +//![7] + transitions: Transition { + NumberAnimation { properties: "x"; easing.type: Easing.InOutQuad; duration: 200 } + } +//![7] +} +//![0]
  54. Download patch .pc/kubuntu_39_fix_medium_font.diff/src/gui/text/qfontdatabase_x11.cpp
  55. Download patch debian/Trolltech.conf

    --- 4:4.8.7+dfsg-7/debian/Trolltech.conf 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/debian/Trolltech.conf 2016-01-07 10:57:47.000000000 +0000 @@ -0,0 +1,2 @@ +[qt] +4.8\libraryPath=/usr/lib/kde4/plugins
  56. Download patch debian/libqtcore4.install

    --- 4:4.8.7+dfsg-7/debian/libqtcore4.install 2016-05-03 18:58:24.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/debian/libqtcore4.install 2016-05-23 08:54:52.000000000 +0000 @@ -2,3 +2,4 @@ usr/lib/*/libQtCLucene.so.* usr/lib/*/libQtCore.so.* usr/lib/*/qt-default/qtchooser/default.conf usr/lib/*/qt4/plugins/codecs/*.so +debian/Trolltech.conf etc/xdg/
  57. Download patch .pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/gui/accessible/accessible.pri

    --- 4:4.8.7+dfsg-7/.pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/gui/accessible/accessible.pri 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/.pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/gui/accessible/accessible.pri 2015-05-07 14:14:43.000000000 +0000 @@ -0,0 +1,25 @@ +# Qt accessibility module + +contains(QT_CONFIG, accessibility) { + HEADERS += accessible/qaccessible.h \ + accessible/qaccessible2.h \ + accessible/qaccessibleobject.h \ + accessible/qaccessiblewidget.h \ + accessible/qaccessibleplugin.h + SOURCES += accessible/qaccessible.cpp \ + accessible/qaccessible2.cpp \ + accessible/qaccessibleobject.cpp \ + accessible/qaccessiblewidget.cpp \ + accessible/qaccessibleplugin.cpp + + mac:!embedded:!qpa { + HEADERS += accessible/qaccessible_mac_p.h + OBJECTIVE_SOURCES += accessible/qaccessible_mac.mm \ + accessible/qaccessible_mac_cocoa.mm + } else:win32 { + SOURCES += accessible/qaccessible_win.cpp + } else { + HEADERS += accessible/qaccessiblebridge.h + SOURCES += accessible/qaccessible_unix.cpp accessible/qaccessiblebridge.cpp + } +}
  58. Download patch debian/patches/kubuntu_97_a11y_qt_and_qml_backport.diff
  59. Download patch .pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/declarative/graphicsitems/qdeclarativeitem.h
  60. Download patch examples/declarative/ui-components/slideswitch/qml/slideswitch/content/Switch.qml

    --- 4:4.8.7+dfsg-7/examples/declarative/ui-components/slideswitch/qml/slideswitch/content/Switch.qml 2015-05-07 14:14:38.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/examples/declarative/ui-components/slideswitch/qml/slideswitch/content/Switch.qml 2016-06-03 13:39:05.000000000 +0000 @@ -44,6 +44,7 @@ import QtQuick 1.0 Item { id: toggleswitch width: background.width; height: background.height + property string accessibleRole : "CheckBox" //![1] property bool on: false
  61. Download patch .pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/plugins/accessible/widgets/widgets.pro

    --- 4:4.8.7+dfsg-7/.pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/plugins/accessible/widgets/widgets.pro 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/.pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/plugins/accessible/widgets/widgets.pro 2015-05-07 14:14:48.000000000 +0000 @@ -0,0 +1,24 @@ +TARGET = qtaccessiblewidgets +include(../../qpluginbase.pri) +include (../qaccessiblebase.pri) + +QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/accessible + +QTDIR_build:REQUIRES += "contains(QT_CONFIG, accessibility)" + +SOURCES += main.cpp \ + simplewidgets.cpp \ + rangecontrols.cpp \ + complexwidgets.cpp \ + qaccessiblewidgets.cpp \ + qaccessiblemenu.cpp \ + itemviews.cpp + +HEADERS += qaccessiblewidgets.h \ + simplewidgets.h \ + rangecontrols.h \ + complexwidgets.h \ + qaccessiblemenu.h \ + itemviews.h + +
  62. Download patch .pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/gui/accessible/qaccessible_win.cpp
  63. Download patch src/declarative/accessible/qdeclarativeaccessible.cpp

    --- 4:4.8.7+dfsg-7/src/declarative/accessible/qdeclarativeaccessible.cpp 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/src/declarative/accessible/qdeclarativeaccessible.cpp 2016-06-03 13:39:05.000000000 +0000 @@ -0,0 +1,80 @@ +/**************************************************************************** +** +** 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 QtDeclarative module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, 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. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qdeclarativeaccessible_p.h" + +#include <qdeclarativeexpression.h> +#include <qdeclarativecontext.h> +#include <qdeclarativeinfo.h> + +#include <private/qdeclarativeproperty_p.h> +#include <private/qdeclarativeitem_p.h> + +#include <QtCore/qdebug.h> +#include <QtCore/qstringlist.h> + +#include <QtGui/qevent.h> + +#include <private/qobject_p.h> + +#ifndef QT_NO_ACCESSIBILITY + +QT_BEGIN_NAMESPACE + + +QDeclarativeAccessibleAttached::QDeclarativeAccessibleAttached(QObject *parent=0) + : QObject(parent) +{ + Q_ASSERT(parent); +} + +QDeclarativeAccessibleAttached::~QDeclarativeAccessibleAttached() +{ +} + +QDeclarativeAccessibleAttached *QDeclarativeAccessibleAttached::qmlAttachedProperties(QObject *obj) +{ + return new QDeclarativeAccessibleAttached(obj); +} + +QT_END_NAMESPACE + +#endif // QT_NO_GESTURES
  64. Download patch debian/qt4-linguist-tools.links
  65. Download patch debian/libqt4-declarative.symbols

    --- 4:4.8.7+dfsg-7/debian/libqt4-declarative.symbols 2015-11-17 00:56:49.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/debian/libqt4-declarative.symbols 2016-01-07 11:25:17.000000000 +0000 @@ -71,6 +71,7 @@ libQtDeclarative.so.4 libqt4-declarative _ZN16QDeclarativeItem16setKeepMouseGrabEb@Base 4:4.7.0~beta1 _ZN16QDeclarativeItem16staticMetaObjectE@Base 4:4.7.0~beta1 _ZN16QDeclarativeItem17componentCompleteEv@Base 4:4.7.0~beta1 + _ZN16QDeclarativeItem17setAccessibleRoleEN11QAccessible4RoleE@Base 4:4.8.7 (subst)_ZN16QDeclarativeItem17setBaselineOffsetE{qreal}@Base 4:4.7.0~beta1 (subst)_ZN16QDeclarativeItem17setImplicitHeightE{qreal}@Base 4:4.7.0~beta1 _ZN16QDeclarativeItem18activeFocusChangedEb@Base 4:4.7.0~rc1 @@ -840,6 +841,7 @@ libQtDeclarative.so.4 libqt4-declarative _ZN23QDeclarativeItemPrivate21implicitHeightChangedEv@Base 4:4.7.4 _ZN23QDeclarativeItemPrivate23setImplicitLayoutMirrorEbb@Base 4:4.7.4 _ZN23QDeclarativeItemPrivate24removeItemChangeListenerEP30QDeclarativeItemChangeListener6QFlagsINS_10ChangeTypeEE@Base 4:4.7.0~beta1 + _ZN23QDeclarativeItemPrivate28setAccessibleFlagAndListenerEv@Base 4:4.8.7 _ZN23QDeclarativeItemPrivate4dataEv@Base 4:4.7.0~beta2 _ZN23QDeclarativeItemPrivate5startER13QElapsedTimer@Base 4:4.7.0~beta2 _ZN23QDeclarativeItemPrivate6statesEv@Base 4:4.7.0~beta1 @@ -1224,6 +1226,18 @@ libQtDeclarative.so.4 libqt4-declarative _ZN29QDeclarativeDebugEnginesQueryD0Ev@Base 4:4.7.0~beta1 _ZN29QDeclarativeDebugEnginesQueryD1Ev@Base 4:4.7.0~beta1 _ZN29QDeclarativeDebugEnginesQueryD2Ev@Base 4:4.7.0~beta1 + _ZN30QDeclarativeAccessibleAttached11nameChangedEv@Base 4:4.8.7 + _ZN30QDeclarativeAccessibleAttached11qt_metacallEN11QMetaObject4CallEiPPv@Base 4:4.8.7 + _ZN30QDeclarativeAccessibleAttached11qt_metacastEPKc@Base 4:4.8.7 + _ZN30QDeclarativeAccessibleAttached11roleChangedEv@Base 4:4.8.7 + _ZN30QDeclarativeAccessibleAttached16staticMetaObjectE@Base 4:4.8.7 + _ZN30QDeclarativeAccessibleAttached18descriptionChangedEv@Base 4:4.8.7 + _ZN30QDeclarativeAccessibleAttached21qmlAttachedPropertiesEP7QObject@Base 4:4.8.7 + _ZN30QDeclarativeAccessibleAttachedC1EP7QObject@Base 4:4.8.7 + _ZN30QDeclarativeAccessibleAttachedC2EP7QObject@Base 4:4.8.7 + _ZN30QDeclarativeAccessibleAttachedD0Ev@Base 4:4.8.7 + _ZN30QDeclarativeAccessibleAttachedD1Ev@Base 4:4.8.7 + _ZN30QDeclarativeAccessibleAttachedD2Ev@Base 4:4.8.7 _ZN30QDeclarativeDebugFileReference13setLineNumberEi@Base 4:4.7.0~beta1 _ZN30QDeclarativeDebugFileReference15setColumnNumberEi@Base 4:4.7.0~beta1 _ZN30QDeclarativeDebugFileReference6setUrlERK4QUrl@Base 4:4.7.0~beta1 @@ -1354,6 +1368,7 @@ libQtDeclarative.so.4 libqt4-declarative _ZNK16QDeclarativeItem12boundingRectEv@Base 4:4.7.0~beta1 _ZNK16QDeclarativeItem13implicitWidthEv@Base 4:4.7.0~beta1 _ZNK16QDeclarativeItem13keepMouseGrabEv@Base 4:4.7.0~beta1 + _ZNK16QDeclarativeItem14accessibleRoleEv@Base 4:4.8.7 _ZNK16QDeclarativeItem14baselineOffsetEv@Base 4:4.7.0~beta1 _ZNK16QDeclarativeItem14hasActiveFocusEv@Base 4:4.7.0~rc1 _ZNK16QDeclarativeItem14implicitHeightEv@Base 4:4.7.0~beta1 @@ -1424,6 +1439,7 @@ libQtDeclarative.so.4 libqt4-declarative _ZNK16QDeclarativeView10rootObjectEv@Base 4:4.7.0~beta1 _ZNK16QDeclarativeView11initialSizeEv@Base 4:4.7.0~beta2 _ZNK16QDeclarativeView11rootContextEv@Base 4:4.7.0~rc1 + _ZNK16QDeclarativeView18accessibleRootItemEv@Base 4:4.8.7 _ZNK16QDeclarativeView6engineEv@Base 4:4.7.0~rc1 _ZNK16QDeclarativeView6errorsEv@Base 4:4.7.0~beta1 _ZNK16QDeclarativeView6sourceEv@Base 4:4.7.0~beta1 @@ -1828,6 +1844,7 @@ libQtDeclarative.so.4 libqt4-declarative _ZNK29QDeclarativeAbstractAnimation9isRunningEv@Base 4:4.7.1 _ZNK29QDeclarativeDebugEnginesQuery10metaObjectEv@Base 4:4.7.0~beta1 _ZNK29QDeclarativeDebugEnginesQuery7enginesEv@Base 4:4.7.0~beta1 + _ZNK30QDeclarativeAccessibleAttached10metaObjectEv@Base 4:4.8.7 _ZNK30QDeclarativeDebugFileReference10lineNumberEv@Base 4:4.7.0~beta1 _ZNK30QDeclarativeDebugFileReference12columnNumberEv@Base 4:4.7.0~beta1 _ZNK30QDeclarativeDebugFileReference3urlEv@Base 4:4.7.0~beta1 @@ -1940,6 +1957,7 @@ libQtDeclarative.so.4 libqt4-declarative _ZTI28QDeclarativeInspectorService@Base 4:4.8.0 _ZTI29QDeclarativeAbstractAnimation@Base 4:4.7.1 _ZTI29QDeclarativeDebugEnginesQuery@Base 4:4.7.0~beta1 + _ZTI30QDeclarativeAccessibleAttached@Base 4:4.8.7 _ZTI30QDeclarativeDebugPropertyWatch@Base 4:4.7.0~beta1 _ZTI30QDeclarativeExtensionInterface@Base 4:4.7.0~beta1 _ZTI30QDeclarativeOpenMetaObjectType@Base 4:4.7.0~beta1 @@ -2009,6 +2027,7 @@ libQtDeclarative.so.4 libqt4-declarative _ZTS28QDeclarativeInspectorService@Base 4:4.8.0 _ZTS29QDeclarativeAbstractAnimation@Base 4:4.7.1 _ZTS29QDeclarativeDebugEnginesQuery@Base 4:4.7.0~beta1 + _ZTS30QDeclarativeAccessibleAttached@Base 4:4.8.7 _ZTS30QDeclarativeDebugPropertyWatch@Base 4:4.7.0~beta1 _ZTS30QDeclarativeExtensionInterface@Base 4:4.7.0~beta1 _ZTS30QDeclarativeOpenMetaObjectType@Base 4:4.7.0~beta1 @@ -2076,6 +2095,7 @@ libQtDeclarative.so.4 libqt4-declarative _ZTV28QDeclarativeInspectorService@Base 4:4.8.0 _ZTV29QDeclarativeAbstractAnimation@Base 4:4.7.1 _ZTV29QDeclarativeDebugEnginesQuery@Base 4:4.7.0~beta1 + _ZTV30QDeclarativeAccessibleAttached@Base 4:4.8.7 _ZTV30QDeclarativeDebugPropertyWatch@Base 4:4.7.0~beta1 _ZTV30QDeclarativeOpenMetaObjectType@Base 4:4.7.0~beta1 _ZTV31QDeclarativePropertyValueSource@Base 4:4.7.0~beta1
  66. Download patch .pc/kubuntu_28_xi2.1.patch/src/gui/kernel/qevent.h
  67. Download patch imports/junk

    --- 4:4.8.7+dfsg-7/imports/junk 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/imports/junk 2016-06-03 13:39:05.000000000 +0000 @@ -0,0 +1 @@ +1
  68. Download patch .pc/kubuntu_10_ibus_input_method.diff/src/gui/kernel/qapplication_x11.cpp
  69. Download patch src/corelib/kernel/qeventdispatcher_glib.cpp

    --- 4:4.8.7+dfsg-7/src/corelib/kernel/qeventdispatcher_glib.cpp 2015-05-07 14:14:48.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/src/corelib/kernel/qeventdispatcher_glib.cpp 2016-06-03 13:39:05.000000000 +0000 @@ -65,6 +65,7 @@ struct GPollFDWithQSocketNotifier struct GSocketNotifierSource { GSource source; + QEventLoop::ProcessEventsFlags processEventsFlags; QList<GPollFDWithQSocketNotifier *> pollfds; }; @@ -80,6 +81,9 @@ static gboolean socketNotifierSourceChec GSocketNotifierSource *src = reinterpret_cast<GSocketNotifierSource *>(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<GSocketNotifierSource *>(source); + if (src->processEventsFlags & QEventLoop::ExcludeSocketNotifiers) + return true; + for (int i = 0; i < src->pollfds.count(); ++i) { GPollFDWithQSocketNotifier *p = src->pollfds.at(i); @@ -248,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<GPostEventSource *>(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<GPostEventSource *>(s); return (!canWait || (source->serialNumber != source->lastSerialNumber)); } @@ -277,8 +292,14 @@ static gboolean postEventSourceDispatch( { GPostEventSource *source = reinterpret_cast<GPostEventSource *>(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... } @@ -322,6 +343,7 @@ QEventDispatcherGlibPrivate::QEventDispa postEventSource = reinterpret_cast<GPostEventSource *>(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); @@ -331,6 +353,7 @@ QEventDispatcherGlibPrivate::QEventDispa reinterpret_cast<GSocketNotifierSource *>(g_source_new(&socketNotifierSourceFuncs, sizeof(GSocketNotifierSource))); (void) new (&socketNotifierSource->pollfds) QList<GPollFDWithQSocketNotifier *>(); + socketNotifierSource->processEventsFlags = QEventLoop::AllEvents; g_source_set_can_recurse(&socketNotifierSource->source, true); g_source_attach(&socketNotifierSource->source, mainContext); @@ -415,7 +438,9 @@ 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; if (!(flags & QEventLoop::EventLoopExec)) { // force timers to be sent at normal priority @@ -426,7 +451,9 @@ 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; if (canWait) emit awake();
  70. Download patch .pc/kubuntu_12_fix_stack_protector.diff/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri
  71. Download patch .pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/declarative/util/qdeclarativebehavior.cpp
  72. Download patch .pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/declarative/qml/qdeclarativeengine_p.h
  73. Download patch .pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/declarative/graphicsitems/qdeclarativeitem_p.h
  74. Download patch .pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/declarative/graphicsitems/qdeclarativeitem.cpp
  75. Download patch debian/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-22829.patch

    --- 4:4.8.7+dfsg-7/debian/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-22829.patch 2015-05-01 15:48:50.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/debian/patches/qt-everywhere-opensource-src-4.8.5-QTBUG-22829.patch 2016-04-26 13:42:57.000000000 +0000 @@ -6,10 +6,11 @@ Bug-RedHat: https://bugzilla.redhat.com/ Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/qt4-x11/+bug/1119656 Applied-Upstream: Qt5 has proper parsing support. -diff -up qt-everywhere-opensource-src-4.8.5/src/tools/moc/main.cpp.QTBUG-22829 qt-everywhere-opensource-src-4.8.5/src/tools/moc/main.cpp ---- qt-everywhere-opensource-src-4.8.5/src/tools/moc/main.cpp.QTBUG-22829 2013-06-09 17:04:02.762459323 -0500 -+++ qt-everywhere-opensource-src-4.8.5/src/tools/moc/main.cpp 2013-06-09 17:08:20.409680813 -0500 -@@ -188,8 +188,9 @@ int runMoc(int _argc, char **_argv) +Index: qt4-x11-4.8.7+dfsg/src/tools/moc/main.cpp +=================================================================== +--- qt4-x11-4.8.7+dfsg.orig/src/tools/moc/main.cpp ++++ qt4-x11-4.8.7+dfsg/src/tools/moc/main.cpp +@@ -188,8 +188,11 @@ int runMoc(int _argc, char **_argv) pp.macros["Q_MOC_RUN"]; pp.macros["__cplusplus"]; @@ -17,6 +18,8 @@ diff -up qt-everywhere-opensource-src-4. + // Workaround a bugs while parsing some boost headers. See QTBUG-22829 pp.macros["BOOST_TT_HAS_OPERATOR_HPP_INCLUDED"]; + pp.macros["BOOST_LEXICAL_CAST_INCLUDED"]; ++ // ditto for boost 1.60 ++ pp.macros["BOOST_TYPE_TRAITS_HPP"]; QByteArray filename; QByteArray output;
  76. Download patch src/declarative/accessible/accessible.pri

    --- 4:4.8.7+dfsg-7/src/declarative/accessible/accessible.pri 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/src/declarative/accessible/accessible.pri 2016-06-03 13:39:05.000000000 +0000 @@ -0,0 +1,2 @@ +SOURCES += $$PWD/qdeclarativeaccessible.cpp +HEADERS += $$PWD/qdeclarativeaccessible_p.h
  77. Download patch .pc/kubuntu_28_xi2.1.patch/src/gui/kernel/kernel.pri
  78. Download patch .pc/kubuntu_qclipboard_fix_recursive.diff/src/corelib/kernel/qeventdispatcher_unix.cpp
  79. Download patch .pc/kubuntu_glib-honor-ExcludeSocketNotifiers-flag.diff/src/corelib/kernel/qeventdispatcher_glib.cpp
  80. Download patch .pc/kubuntu_43_no_meego_helper.patch/tools/tools.pro

    --- 4:4.8.7+dfsg-7/.pc/kubuntu_43_no_meego_helper.patch/tools/tools.pro 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/.pc/kubuntu_43_no_meego_helper.patch/tools/tools.pro 2016-06-03 13:39:05.000000000 +0000 @@ -0,0 +1,54 @@ +TEMPLATE = subdirs + +!contains(QT_CONFIG, no-gui) { + no-png { + message("Some graphics-related tools are unavailable without PNG support") + } else { + symbian { + SUBDIRS = designer + } else:wince* { + SUBDIRS = qtestlib designer + } else { + SUBDIRS = assistant \ + pixeltool \ + porting \ + qtestlib \ + qttracereplay + contains(QT_EDITION, Console) { + SUBDIRS += designer/src/uitools # Linguist depends on this + } else { + SUBDIRS += designer + } + } + unix:!symbian:!mac:!embedded:!qpa:SUBDIRS += qtconfig + win32:!wince*:SUBDIRS += activeqt + } + contains(QT_CONFIG, declarative) { + SUBDIRS += qml + !wince*:!symbian: SUBDIRS += qmlplugindump + } +} + +!wince*:!symbian:SUBDIRS += linguist + +mac { + SUBDIRS += macdeployqt +} + +embedded:SUBDIRS += kmap2qmap + +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 +embedded: SUBDIRS += makeqpf + +!wince*:!cross_compile:SUBDIRS += qdoc3 + +SUBDIRS += qvfb + +CONFIG+=ordered +QTDIR_build:REQUIRES = "contains(QT_CONFIG, full-config)" + +!win32:!embedded:!mac:!symbian:CONFIG += x11 + +x11:contains(QT_CONFIG, opengles2):contains(QT_CONFIG, egl):SUBDIRS += qmeegographicssystemhelper
  81. Download patch .pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/gui/accessible/qaccessible2.cpp
  82. Download patch .pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/declarative/util/qdeclarativeview.cpp
  83. Download patch .pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/declarative/util/qdeclarativeanimation.cpp
  84. Download patch debian/patches/kubuntu_glib-honor-ExcludeSocketNotifiers-flag.diff

    --- 4:4.8.7+dfsg-7/debian/patches/kubuntu_glib-honor-ExcludeSocketNotifiers-flag.diff 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/debian/patches/kubuntu_glib-honor-ExcludeSocketNotifiers-flag.diff 2016-01-07 10:57:47.000000000 +0000 @@ -0,0 +1,67 @@ +Description: Honor QEventLoop::ExcludeSocketNotifiers in glib event loop. + Implements QEventLoop::ExcludeSocketNotifiers in the same way + QEventLoop::X11ExcludeTimers is already implemented for the glib + event loop. + Fixes crash in Libreoffice with KDE theme +Forwarded: https://codereview.qt-project.org/#change,80528 +Bug-Qt: https://bugreports.qt-project.org/browse/QTBUG-37380 +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/qt4-x11/+bug/1290514 +Author: Jan-Marek Glogowski <glogow@fbihome.de> +Last-Update: 2014-03-11 + +Index: qt4-x11-4.8.5+git192-g085f851+dfsg/src/corelib/kernel/qeventdispatcher_glib.cpp +=================================================================== +--- qt4-x11-4.8.5+git192-g085f851+dfsg.orig/src/corelib/kernel/qeventdispatcher_glib.cpp 2014-03-11 13:28:12.330924177 +0000 ++++ qt4-x11-4.8.5+git192-g085f851+dfsg/src/corelib/kernel/qeventdispatcher_glib.cpp 2014-03-11 13:28:12.314924177 +0000 +@@ -65,6 +65,7 @@ + struct GSocketNotifierSource + { + GSource source; ++ QEventLoop::ProcessEventsFlags processEventsFlags; + QList<GPollFDWithQSocketNotifier *> pollfds; + }; + +@@ -80,6 +81,9 @@ + GSocketNotifierSource *src = reinterpret_cast<GSocketNotifierSource *>(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 @@ + QEvent event(QEvent::SockAct); + + GSocketNotifierSource *src = reinterpret_cast<GSocketNotifierSource *>(source); ++ if (src->processEventsFlags & QEventLoop::ExcludeSocketNotifiers) ++ return true; ++ + for (int i = 0; i < src->pollfds.count(); ++i) { + GPollFDWithQSocketNotifier *p = src->pollfds.at(i); + +@@ -331,6 +338,7 @@ + reinterpret_cast<GSocketNotifierSource *>(g_source_new(&socketNotifierSourceFuncs, + sizeof(GSocketNotifierSource))); + (void) new (&socketNotifierSource->pollfds) QList<GPollFDWithQSocketNotifier *>(); ++ socketNotifierSource->processEventsFlags = QEventLoop::AllEvents; + g_source_set_can_recurse(&socketNotifierSource->source, true); + g_source_attach(&socketNotifierSource->source, mainContext); + +@@ -416,6 +424,7 @@ + // 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 +@@ -427,6 +436,7 @@ + result = g_main_context_iteration(d->mainContext, canWait); + + d->timerSource->processEventsFlags = savedFlags; ++ d->socketNotifierSource->processEventsFlags = savedFlags; + + if (canWait) + emit awake();
  85. Download patch src/corelib/kernel/qeventdispatcher_unix.cpp

    --- 4:4.8.7+dfsg-7/src/corelib/kernel/qeventdispatcher_unix.cpp 2015-05-07 14:14:48.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/src/corelib/kernel/qeventdispatcher_unix.cpp 2016-06-03 13:39:05.000000000 +0000 @@ -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()
  86. Download patch .pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/gui/accessible/qaccessible_mac_p.h
  87. Download patch .pc/kubuntu_28_xi2.1.patch/src/gui/kernel/qt_x11_p.h
  88. Download patch debian/patches/kubuntu_37_cups_settings.diff

    --- 4:4.8.7+dfsg-7/debian/patches/kubuntu_37_cups_settings.diff 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/debian/patches/kubuntu_37_cups_settings.diff 2016-01-07 10:57:47.000000000 +0000 @@ -0,0 +1,92 @@ +Description: use CUPS settings in print dialog +Bug: https://bugreports.qt-project.org/browse/QTBUG-25372 +Bug-KDE: https://bugs.kde.org/180051 +Bug-Ubuntu: https://launchpad.net/bugs/905147 +Forwarded: no + +Index: precise-updates-qt4-x11/src/gui/dialogs/qprintdialog_unix.cpp +=================================================================== +--- precise-updates-qt4-x11.orig/src/gui/dialogs/qprintdialog_unix.cpp 2012-07-25 17:06:19.586211000 +0200 ++++ precise-updates-qt4-x11/src/gui/dialogs/qprintdialog_unix.cpp 2012-07-25 17:18:27.612092214 +0200 +@@ -579,6 +579,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 + +Index: precise-updates-qt4-x11/src/gui/painting/qprinter.cpp +=================================================================== +--- precise-updates-qt4-x11.orig/src/gui/painting/qprinter.cpp 2012-07-25 17:06:19.586211000 +0200 ++++ precise-updates-qt4-x11/src/gui/painting/qprinter.cpp 2012-07-25 17:18:27.612092214 +0200 +@@ -609,6 +609,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 + } + + /*!
  89. Download patch .pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/declarative/graphicsitems/qdeclarativeflickable.cpp
  90. Download patch .pc/kubuntu_28_xi2.1.patch/src/gui/kernel/qapplication_p.h
  91. Download patch .pc/kubuntu_43_no_meego_helper.patch/src/plugins/graphicssystems/graphicssystems.pro

    --- 4:4.8.7+dfsg-7/.pc/kubuntu_43_no_meego_helper.patch/src/plugins/graphicssystems/graphicssystems.pro 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/.pc/kubuntu_43_no_meego_helper.patch/src/plugins/graphicssystems/graphicssystems.pro 2015-05-07 14:14:48.000000000 +0000 @@ -0,0 +1,15 @@ +TEMPLATE = subdirs +SUBDIRS += trace +!wince*:contains(QT_CONFIG, opengl):SUBDIRS += opengl +contains(QT_CONFIG, openvg):contains(QT_CONFIG, egl) { + SUBDIRS += openvg +} + +contains(QT_CONFIG, shivavg) { + # Only works under X11 at present + !win32:!embedded:!mac:SUBDIRS += shivavg +} + +!win32:!embedded:!mac:!symbian:CONFIG += x11 + +x11:contains(QT_CONFIG, opengles2):contains(QT_CONFIG, egl):SUBDIRS += meego
  92. Download patch debian/qt4-qmake.links
  93. Download patch debian/patches/kubuntu_30_translucent_drag_pixmap.diff

    --- 4:4.8.7+dfsg-7/debian/patches/kubuntu_30_translucent_drag_pixmap.diff 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/debian/patches/kubuntu_30_translucent_drag_pixmap.diff 2016-01-07 10:57:47.000000000 +0000 @@ -0,0 +1,33 @@ +Description Change I469e3d39: use a translucent drag pixmap if compositing is active + due to be accepted after Qt 5 d'n'd is fixed(!) +Author: Ignat Semenov +Forwarded: http://codereview.qt-project.org/#change,16809 + +--- + src/gui/kernel/qdnd_x11.cpp | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +Index: qt-everywhere-opensource-src-4.8.4/src/gui/kernel/qdnd_x11.cpp +=================================================================== +--- qt-everywhere-opensource-src-4.8.4.orig/src/gui/kernel/qdnd_x11.cpp 2013-01-09 12:39:43.617142864 +0000 ++++ qt-everywhere-opensource-src-4.8.4/src/gui/kernel/qdnd_x11.cpp 2013-01-09 12:39:43.609142864 +0000 +@@ -290,11 +290,15 @@ + + void setPixmap(const QPixmap &pm) + { +- QBitmap mask = pm.mask(); +- if (!mask.isNull()) { +- setMask(mask); +- } else { ++ if (QX11Info::isCompositingManagerRunning()) { ++ setAttribute(Qt::WA_TranslucentBackground); + clearMask(); ++ } else { ++ QBitmap mask = pm.mask(); ++ if (!mask.isNull()) ++ setMask(mask); ++ else ++ clearMask(); + } + resize(pm.width(),pm.height()); + pixmap = pm;
  94. Download patch .pc/kubuntu_98_a11y_fix_crash.diff/src/declarative/qml/qdeclarativeengine_p.h
  95. Download patch .pc/kubuntu_98_a11y_fix_crash.diff/src/declarative/qml/qdeclarativeengine.cpp
  96. Download patch .pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/gui/accessible/qaccessible_mac.mm
  97. Download patch .pc/kubuntu_93_disable_overlay_scrollbars.diff/src/gui/styles/qgtkstyle_p.h
  98. Download patch .pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/gui/accessible/qaccessible.h
  99. Download patch debian/patches/kubuntu_qclipboard_delay.diff

    --- 4:4.8.7+dfsg-7/debian/patches/kubuntu_qclipboard_delay.diff 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/debian/patches/kubuntu_qclipboard_delay.diff 2016-01-07 10:57:47.000000000 +0000 @@ -0,0 +1,35 @@ +Description: Delays with QClipboard and "useEventLoop" + If LibreOffice is running with KDE integration and KFileDialog is + open, if clipboard contents are held by LO (i.e. Ctrl+C in LO before + the dialog is opened), then there is a visible delay when moving the + mouse over the dialog contents. This is because KFileDialog + repeatedly checks clipboard contents and these checks take visibly + long (and there's not so few of them). + . + LO/Qt integration needs to set QClipboard to "useEventLoop" mode. The + code there adds 50ms delay to every single clipboard data fetch, + presumably to avoid busy-looping, but it's quite long and often + needless. + . + The attached patch avoids any visible delay in the KFileDialog in this case. +Author: Luboš Luňák +Origin: other>, see bug +Bug: https://bugreports.qt-project.org/browse/QTBUG-38585 +Forwarded: see bug +Applied-Upstream: not yet +Reviewed-by: Jonathan Riddell +Last-Update: 2014-11-22 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- qt/src/gui/kernel/qclipboard_x11.cpp.sav 2014-04-25 09:52:03.855693228 +0200 ++++ qt/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(); +
  100. Download patch .pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/declarative/util/qdeclarativeview.h

    --- 4:4.8.7+dfsg-7/.pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/declarative/util/qdeclarativeview.h 1970-01-01 00:00:00.000000000 +0000 +++ 4:4.8.7+dfsg-7ubuntu1/.pc/kubuntu_97_a11y_qt_and_qml_backport.diff/src/declarative/util/qdeclarativeview.h 2015-05-07 14:14:48.000000000 +0000 @@ -0,0 +1,119 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtDeclarative module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company 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. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QDECLARATIVEVIEW_H +#define QDECLARATIVEVIEW_H + +#include <QtCore/qdatetime.h> +#include <QtCore/qurl.h> +#include <QtGui/qgraphicssceneevent.h> +#include <QtGui/qgraphicsview.h> +#include <QtGui/qwidget.h> +#include <QtDeclarative/qdeclarativedebug.h> + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +QT_MODULE(Declarative) + +class QGraphicsObject; +class QDeclarativeEngine; +class QDeclarativeContext; +class QDeclarativeError; + +class QDeclarativeViewPrivate; +class Q_DECLARATIVE_EXPORT QDeclarativeView : public QGraphicsView +{ + Q_OBJECT + Q_PROPERTY(ResizeMode resizeMode READ resizeMode WRITE setResizeMode) + Q_PROPERTY(Status status READ status NOTIFY statusChanged) + Q_PROPERTY(QUrl source READ source WRITE setSource DESIGNABLE true) + Q_ENUMS(ResizeMode Status) +public: + explicit QDeclarativeView(QWidget *parent = 0); + QDeclarativeView(const QUrl &source, QWidget *parent = 0); + virtual ~QDeclarativeView(); + + QUrl source() const; + void setSource(const QUrl&); + + QDeclarativeEngine* engine() const; + QDeclarativeContext* rootContext() const; + + QGraphicsObject *rootObject() const; + + enum ResizeMode { SizeViewToRootObject, SizeRootObjectToView }; + ResizeMode resizeMode() const; + void setResizeMode(ResizeMode); + + enum Status { Null, Ready, Loading, Error }; + Status status() const; + + QList<QDeclarativeError> errors() const; + + QSize sizeHint() const; + QSize initialSize() const; + +Q_SIGNALS: + void sceneResized(QSize size); // ??? + void statusChanged(QDeclarativeView::Status); + +private Q_SLOTS: + void continueExecute(); + +protected: + virtual void resizeEvent(QResizeEvent *); + virtual void paintEvent(QPaintEvent *event); + virtual void timerEvent(QTimerEvent*); + virtual void setRootObject(QObject *obj); + virtual bool eventFilter(QObject *watched, QEvent *e); + +private: + Q_DISABLE_COPY(QDeclarativeView) + Q_DECLARE_PRIVATE(QDeclarativeView) +}; + +QT_END_NAMESPACE + +QT_END_HEADER + +#endif // QDECLARATIVEVIEW_H
  101. ...
  1. qt4-x11