- kde-qt patches (as of 20091026)
This commit is contained in:
parent
63c4ae2e27
commit
390b42cf03
|
@ -0,0 +1,117 @@
|
|||
From b48e2091871516496cf0b133249fbf5326a55831 Mon Sep 17 00:00:00 2001
|
||||
From: Lubos Lunak <l.lunak@kde.org>
|
||||
Date: Sat, 23 Feb 2008 16:44:52 +0100
|
||||
Subject: [PATCH 01/13] This patch uses object name as a fallback for window role if no window
|
||||
role is set explicitly using setWindowRole(). Since Qt3 always used
|
||||
the object name as the window role and most Qt3/KDE3 code is ported to
|
||||
call setObjectName(),
|
||||
|
||||
this makes the window role set in many cases (which KWin uses for window identifying).
|
||||
|
||||
NOTE: It is suggested to apply patch #0209 as well when this patch is used.
|
||||
|
||||
qt-bugs@ issue : 167704
|
||||
Trolltech task ID : 168283 (status: "fixed" for Qt 4.4.0, but effectively refused)
|
||||
---
|
||||
src/corelib/kernel/qobject.cpp | 8 ++++++++
|
||||
src/corelib/kernel/qobject_p.h | 3 +++
|
||||
src/gui/kernel/qwidget_p.h | 1 +
|
||||
src/gui/kernel/qwidget_x11.cpp | 27 +++++++++++++++++++++------
|
||||
4 files changed, 33 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp
|
||||
index 6487194..ef0369e 100644
|
||||
--- a/src/corelib/kernel/qobject.cpp
|
||||
+++ b/src/corelib/kernel/qobject.cpp
|
||||
@@ -993,8 +993,16 @@ void QObject::setObjectName(const QString &name)
|
||||
{
|
||||
Q_D(QObject);
|
||||
d->objectName = name;
|
||||
+#if defined(Q_WS_X11)
|
||||
+ d->checkWindowRole();
|
||||
+#endif
|
||||
}
|
||||
|
||||
+#if defined(Q_WS_X11)
|
||||
+void QObjectPrivate::checkWindowRole()
|
||||
+{
|
||||
+}
|
||||
+#endif
|
||||
|
||||
#ifdef QT3_SUPPORT
|
||||
/*! \internal
|
||||
diff --git a/src/corelib/kernel/qobject_p.h b/src/corelib/kernel/qobject_p.h
|
||||
index 0bcccba..6ab9e10 100644
|
||||
--- a/src/corelib/kernel/qobject_p.h
|
||||
+++ b/src/corelib/kernel/qobject_p.h
|
||||
@@ -144,6 +144,9 @@ public:
|
||||
mutable quint32 connectedSignals;
|
||||
|
||||
QString objectName;
|
||||
+#if defined(Q_WS_X11)
|
||||
+ virtual void checkWindowRole();
|
||||
+#endif
|
||||
|
||||
// Note: you must hold the signalSlotLock() before accessing the lists below or calling the functions
|
||||
struct Connection
|
||||
diff --git a/src/gui/kernel/qwidget_p.h b/src/gui/kernel/qwidget_p.h
|
||||
index 774e390..176d6fa 100644
|
||||
--- a/src/gui/kernel/qwidget_p.h
|
||||
+++ b/src/gui/kernel/qwidget_p.h
|
||||
@@ -358,6 +358,7 @@ public:
|
||||
|
||||
#if defined(Q_WS_X11)
|
||||
void setWindowRole();
|
||||
+ virtual void checkWindowRole();
|
||||
void sendStartupMessage(const char *message) const;
|
||||
void setNetWmWindowTypes();
|
||||
void x11UpdateIsOpaque();
|
||||
diff --git a/src/gui/kernel/qwidget_x11.cpp b/src/gui/kernel/qwidget_x11.cpp
|
||||
index 79ee8c9..b56849c 100644
|
||||
--- a/src/gui/kernel/qwidget_x11.cpp
|
||||
+++ b/src/gui/kernel/qwidget_x11.cpp
|
||||
@@ -778,13 +778,17 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
|
||||
data.fstrut_dirty = 1;
|
||||
|
||||
// declare the widget's window role
|
||||
+ QByteArray windowRole;
|
||||
if (QTLWExtra *topData = maybeTopData()) {
|
||||
- if (!topData->role.isEmpty()) {
|
||||
- QByteArray windowRole = topData->role.toUtf8();
|
||||
- XChangeProperty(dpy, id,
|
||||
- ATOM(WM_WINDOW_ROLE), XA_STRING, 8, PropModeReplace,
|
||||
- (unsigned char *)windowRole.constData(), windowRole.length());
|
||||
- }
|
||||
+ if (!topData->role.isEmpty())
|
||||
+ windowRole = topData->role.toUtf8();
|
||||
+ }
|
||||
+ if (windowRole.isEmpty()) // use object name as a fallback
|
||||
+ windowRole = objectName.toUtf8();
|
||||
+ if (!windowRole.isEmpty()) {
|
||||
+ XChangeProperty(dpy, id,
|
||||
+ ATOM(WM_WINDOW_ROLE), XA_STRING, 8, PropModeReplace,
|
||||
+ (unsigned char *)windowRole.constData(), windowRole.length());
|
||||
}
|
||||
|
||||
// set client leader property
|
||||
@@ -2768,6 +2772,17 @@ void QWidgetPrivate::setWindowRole()
|
||||
(unsigned char *)windowRole.constData(), windowRole.length());
|
||||
}
|
||||
|
||||
+void QWidgetPrivate::checkWindowRole()
|
||||
+{
|
||||
+ Q_Q(QWidget);
|
||||
+ if( !q->windowRole().isEmpty() || !q->internalWinId())
|
||||
+ return;
|
||||
+ QByteArray windowRole = objectName.toUtf8(); // use as a fallback
|
||||
+ XChangeProperty(X11->display, q->internalWinId(),
|
||||
+ ATOM(WM_WINDOW_ROLE), XA_STRING, 8, PropModeReplace,
|
||||
+ (unsigned char *)windowRole.constData(), windowRole.length());
|
||||
+}
|
||||
+
|
||||
Q_GLOBAL_STATIC(QX11PaintEngine, qt_widget_paintengine)
|
||||
QPaintEngine *QWidget::paintEngine() const
|
||||
{
|
||||
--
|
||||
1.6.5.1
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
From 339e220e29ff39b86705438b4be6f90e5618d27b Mon Sep 17 00:00:00 2001
|
||||
From: Lubos Lunak <l.lunak@kde.org>
|
||||
Date: Tue, 2 Oct 2007 16:08:32 +0200
|
||||
Subject: [PATCH 02/13] This patch makes override-redirect windows (popup menu, dropdown menu,
|
||||
tooltip, combobox, etc.) also have more window properties like WM_CLASS,
|
||||
so they can be used when compositing.
|
||||
|
||||
qt-bugs@ issue : none
|
||||
bugs.kde.org number : none
|
||||
---
|
||||
src/gui/kernel/qwidget_x11.cpp | 21 +++++++++++++++------
|
||||
1 files changed, 15 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/src/gui/kernel/qwidget_x11.cpp b/src/gui/kernel/qwidget_x11.cpp
|
||||
index 79ee8c9..a74a849 100644
|
||||
--- a/src/gui/kernel/qwidget_x11.cpp
|
||||
+++ b/src/gui/kernel/qwidget_x11.cpp
|
||||
@@ -719,6 +719,11 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
|
||||
Q_ASSERT(id);
|
||||
XChangeWindowAttributes(dpy, id, CWOverrideRedirect | CWSaveUnder,
|
||||
&wsa);
|
||||
+ XClassHint class_hint;
|
||||
+ QByteArray appName = qAppName().toLatin1();
|
||||
+ class_hint.res_name = appName.data(); // application name
|
||||
+ class_hint.res_class = const_cast<char *>(QX11Info::appClass()); // application class
|
||||
+ XSetWMProperties(dpy, id, 0, 0, 0, 0, 0, 0, &class_hint);
|
||||
} else if (topLevel && !desktop) { // top-level widget
|
||||
if (!X11->wm_client_leader)
|
||||
create_wm_client_leader();
|
||||
@@ -769,13 +774,21 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
|
||||
// set EWMH window types
|
||||
setNetWmWindowTypes();
|
||||
|
||||
+ // when we create a toplevel widget, the frame strut should be dirty
|
||||
+ data.fstrut_dirty = 1;
|
||||
+
|
||||
+ } else {
|
||||
+ // non-toplevel widgets don't have a frame, so no need to
|
||||
+ // update the strut
|
||||
+ data.fstrut_dirty = 0;
|
||||
+ }
|
||||
+
|
||||
+ if (initializeWindow && (popup || (topLevel && !desktop))) { // properties set on all toplevel windows
|
||||
// set _NET_WM_PID
|
||||
long curr_pid = getpid();
|
||||
XChangeProperty(dpy, id, ATOM(_NET_WM_PID), XA_CARDINAL, 32, PropModeReplace,
|
||||
(unsigned char *) &curr_pid, 1);
|
||||
|
||||
- // when we create a toplevel widget, the frame strut should be dirty
|
||||
- data.fstrut_dirty = 1;
|
||||
|
||||
// declare the widget's window role
|
||||
if (QTLWExtra *topData = maybeTopData()) {
|
||||
@@ -791,10 +804,6 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
|
||||
XChangeProperty(dpy, id, ATOM(WM_CLIENT_LEADER),
|
||||
XA_WINDOW, 32, PropModeReplace,
|
||||
(unsigned char *)&X11->wm_client_leader, 1);
|
||||
- } else {
|
||||
- // non-toplevel widgets don't have a frame, so no need to
|
||||
- // update the strut
|
||||
- data.fstrut_dirty = 0;
|
||||
}
|
||||
|
||||
if (initializeWindow && q->internalWinId()) {
|
||||
--
|
||||
1.6.5.1
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
From 68eaa07de69e873b89d4aba341c6ed1ca81f6819 Mon Sep 17 00:00:00 2001
|
||||
From: Lubos Lunak <l.lunak@kde.org>
|
||||
Date: Wed, 30 Jan 2008 14:24:01 +0100
|
||||
Subject: [PATCH 03/13] This patch changes QObjectPrivateVersion, thus preventing mixing
|
||||
parts of upstream Qt and qt-copy. In general it is a bad idea to mix
|
||||
e.g. libQtCore from one build and libQtGui from another one, and other
|
||||
qt-copy patches could make changes in Qt internal structures that could
|
||||
cause problems when mixed with upstream Qt.
|
||||
|
||||
This patch does not make qt-copy binary incompatible with upstream Qt.
|
||||
It only further enforces using the same sources for the whole Qt build.
|
||||
|
||||
qt-bugs@ issue : none
|
||||
Trolltech task ID : none
|
||||
bugs.kde.org number : none
|
||||
---
|
||||
src/corelib/kernel/qobject_p.h | 4 +++-
|
||||
1 files changed, 3 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/src/corelib/kernel/qobject_p.h b/src/corelib/kernel/qobject_p.h
|
||||
index 0bcccba..88192fd 100644
|
||||
--- a/src/corelib/kernel/qobject_p.h
|
||||
+++ b/src/corelib/kernel/qobject_p.h
|
||||
@@ -83,7 +83,9 @@ extern QSignalSpyCallbackSet Q_CORE_EXPORT qt_signal_spy_callback_set;
|
||||
|
||||
inline QObjectData::~QObjectData() {}
|
||||
|
||||
-enum { QObjectPrivateVersion = QT_VERSION };
|
||||
+// add 0x1000000 to mark it as qt-copy version, with possible modifications
|
||||
+// in some Q*Private class
|
||||
+enum { QObjectPrivateVersion = QT_VERSION + 0x1000000 };
|
||||
|
||||
class Q_CORE_EXPORT QObjectPrivate : public QObjectData
|
||||
{
|
||||
--
|
||||
1.6.5.1
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
From 86fc0d43cdcf3232ae0e4e6f4f28cf8f1a45ede5 Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Reed <rangerrick@befunk.com>
|
||||
Date: Tue, 19 Feb 2008 17:37:37 +0100
|
||||
Subject: [PATCH 04/13] This patch adds support for using -isystem to allow putting an include
|
||||
directory at the end of the compiler's header search path.
|
||||
|
||||
I don't have the exact output anymore (I've since patched Qt's configure) but
|
||||
essentially, since I have pcre.h in /opt/kde4-deps/include, it was
|
||||
conflicting with Qt's (modified) pcre.h in the WebKit bits, since
|
||||
-I /opt/kde4-deps/include ends up in CXXFLAGS in the generated makefiles, it
|
||||
comes *before* the specific locations in INCPATH on the compile line, and you
|
||||
end up with a conflict with the system-installed pcre.h.
|
||||
|
||||
Presumably, if your pcre.h is in /usr/include as on most Linux systems, you
|
||||
wouldn't notice this issue since /usr/include's already in your include path
|
||||
and people likely don't pass -I /usr/include to configure. I suspect that on
|
||||
any platform with a regular, system-installed pcre.h (or clucene headers),
|
||||
adding -I /usr/include would exhibit this bug, just as a custom-installed
|
||||
pcre/clucene in another root would.
|
||||
|
||||
qt-bugs@ issue : 199610
|
||||
Trolltech task ID :
|
||||
bugs.kde.org number :
|
||||
---
|
||||
configure | 8 ++++++++
|
||||
1 files changed, 8 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 2c108ad..610a201 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -927,6 +927,11 @@ while [ "$#" -gt 0 ]; do
|
||||
VAL=`echo $1 | sed 's,-D,,'`
|
||||
fi
|
||||
;;
|
||||
+ -isystem)
|
||||
+ VAR="add_isystempath"
|
||||
+ shift
|
||||
+ VAL="$1"
|
||||
+ ;;
|
||||
-I?*|-I)
|
||||
VAR="add_ipath"
|
||||
if [ "$1" = "-I" ]; then
|
||||
@@ -1890,6 +1895,9 @@ while [ "$#" -gt 0 ]; do
|
||||
add_ipath)
|
||||
I_FLAGS="$I_FLAGS -I\"${VAL}\""
|
||||
;;
|
||||
+ add_isystempath)
|
||||
+ I_FLAGS="$I_FLAGS -isystem \"${VAL}\""
|
||||
+ ;;
|
||||
add_lpath)
|
||||
L_FLAGS="$L_FLAGS -L\"${VAL}\""
|
||||
;;
|
||||
--
|
||||
1.6.5.1
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
From 733d1afd03908d695aa8a6518f453b9ff0e5b8a2 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Knight <robertknight@gmail.com>
|
||||
Date: Sun, 20 Apr 2008 16:28:31 +0200
|
||||
Subject: [PATCH 05/13] When tabs are inserted or removed in a QTabBar,
|
||||
QTabBarPrivate::refresh() is called to update the layout. If the
|
||||
tabbar widget is hidden, this just sets a boolean variable
|
||||
(layoutDirty) and returns, so the parent widget's layout is not
|
||||
notified about the possible geometry change.
|
||||
|
||||
Prior to Qt 4.4 this was not a problem because the geometry was
|
||||
recalculated in QTabBar::sizeHint() if the layoutDirty variable was
|
||||
set. In Qt 4.4 however the layout caches size hint information in
|
||||
QWidgetItemV2. Since the cache information is not invalidated, the
|
||||
layout may end up using out-of-date size hint information to compute
|
||||
the widget size.
|
||||
|
||||
If the QTabBar is empty when QTabBar::sizeHint() is called, it will
|
||||
return a size with a height of 0, which will be kept in the cache and
|
||||
so the tab bar will never be shown.
|
||||
|
||||
This patch fixes the problem by calling updateGeometry() whenever the
|
||||
tab bar's layout is refreshed.
|
||||
|
||||
qt-bugs@ issue : 208185
|
||||
Trolltech task ID : 208349
|
||||
bugs.kde.org number : 159014
|
||||
---
|
||||
src/gui/widgets/qtabbar.cpp | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/src/gui/widgets/qtabbar.cpp b/src/gui/widgets/qtabbar.cpp
|
||||
index 419d456..41107a0 100644
|
||||
--- a/src/gui/widgets/qtabbar.cpp
|
||||
+++ b/src/gui/widgets/qtabbar.cpp
|
||||
@@ -678,8 +678,8 @@ void QTabBarPrivate::refresh()
|
||||
layoutTabs();
|
||||
makeVisible(currentIndex);
|
||||
q->update();
|
||||
- q->updateGeometry();
|
||||
}
|
||||
+ q->updateGeometry();
|
||||
}
|
||||
|
||||
/*!
|
||||
--
|
||||
1.6.5.1
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
From 8e28e0603a900e1b18ebfd14c4f87b16dabf4cf6 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Ehrlicher <ch.ehrlicher@gmx.de>
|
||||
Date: Fri, 19 Sep 2008 17:41:26 +0200
|
||||
Subject: [PATCH 06/13] Fix configure.exe to do an out-of-source build on windows
|
||||
|
||||
qt-bugs@ issue : N227213
|
||||
Trolltech task ID : none yet
|
||||
---
|
||||
bin/syncqt | 6 +++++-
|
||||
projects.pro | 3 +++
|
||||
src/tools/moc/main.cpp | 6 ++++++
|
||||
3 files changed, 14 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/bin/syncqt b/bin/syncqt
|
||||
index 7a9f1d3..b5a8e1c 100755
|
||||
--- a/bin/syncqt
|
||||
+++ b/bin/syncqt
|
||||
@@ -365,9 +365,13 @@ sub fixPaths {
|
||||
$match_dir = $tmp;
|
||||
$i = $slash;
|
||||
}
|
||||
+ my $cnt_ofs = 0;
|
||||
+ if($match_dir =~ /^[a-zA-Z]:$/) {
|
||||
+ $cnt_ofs = 1;
|
||||
+ }
|
||||
if($match_dir) {
|
||||
my $after = substr($dir, length($match_dir));
|
||||
- my $count = ($after =~ tr,/,,);
|
||||
+ my $count = ($after =~ tr,/,,) - $cnt_ofs;
|
||||
my $dots = "";
|
||||
for(my $i = 0; $i < $count; $i++) {
|
||||
$dots .= "../";
|
||||
diff --git a/projects.pro b/projects.pro
|
||||
index 2596c0a..3ba0688 100644
|
||||
--- a/projects.pro
|
||||
+++ b/projects.pro
|
||||
@@ -127,6 +127,9 @@ unix {
|
||||
DEFAULT_QMAKESPEC ~= s,^.*mkspecs/,,g
|
||||
mkspecs.commands += $(DEL_FILE) $(INSTALL_ROOT)$$mkspecs.path/default; $(SYMLINK) $$DEFAULT_QMAKESPEC $(INSTALL_ROOT)$$mkspecs.path/default
|
||||
}
|
||||
+win32 {
|
||||
+ mkspecs.files += $$QT_BUILD_TREE/mkspecs/default
|
||||
+}
|
||||
INSTALLS += mkspecs
|
||||
|
||||
false:macx { #mac install location
|
||||
diff --git a/src/tools/moc/main.cpp b/src/tools/moc/main.cpp
|
||||
index d519b09..7979836 100644
|
||||
--- a/src/tools/moc/main.cpp
|
||||
+++ b/src/tools/moc/main.cpp
|
||||
@@ -94,7 +94,13 @@ static QByteArray combinePath(const char *infile, const char *outfile)
|
||||
inSplitted.prepend(QLatin1String(".."));
|
||||
}
|
||||
inSplitted.append(inFileInfo.fileName());
|
||||
+#ifdef Q_WS_WIN
|
||||
+ const QString rel = inSplitted.join(QLatin1String("/"));
|
||||
+ const QString abs = inFileInfo.absoluteFilePath();
|
||||
+ return QFile::encodeName(rel.length() < abs.length() ? rel : abs);
|
||||
+#else
|
||||
return QFile::encodeName(inSplitted.join(QLatin1String("/")));
|
||||
+#endif
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
1.6.5.1
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
From 0afcf33127c6ccbe5dfaae4f4c5e02f28dc10ae1 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Ehrlicher <ch.ehrlicher@gmx.de>
|
||||
Date: Thu, 8 May 2008 21:25:49 +0200
|
||||
Subject: [PATCH 07/13] When using qmake outside qt src tree, it sometimes generates wrong
|
||||
paths (wrong path separator)
|
||||
|
||||
qt-bugs@ issue : none
|
||||
Trolltech task ID : 214661
|
||||
---
|
||||
qmake/property.cpp | 29 ++++++++++++++++-------------
|
||||
1 files changed, 16 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/qmake/property.cpp b/qmake/property.cpp
|
||||
index 8ba89f9..dd78349 100644
|
||||
--- a/qmake/property.cpp
|
||||
+++ b/qmake/property.cpp
|
||||
@@ -81,29 +81,32 @@ QMakeProperty::keyBase(bool version) const
|
||||
QString
|
||||
QMakeProperty::value(QString v, bool just_check)
|
||||
{
|
||||
+ QString ret;
|
||||
if(v == "QT_INSTALL_PREFIX")
|
||||
- return QLibraryInfo::location(QLibraryInfo::PrefixPath);
|
||||
+ ret = QLibraryInfo::location(QLibraryInfo::PrefixPath);
|
||||
else if(v == "QT_INSTALL_DATA")
|
||||
- return QLibraryInfo::location(QLibraryInfo::DataPath);
|
||||
+ ret = QLibraryInfo::location(QLibraryInfo::DataPath);
|
||||
else if(v == "QT_INSTALL_DOCS")
|
||||
- return QLibraryInfo::location(QLibraryInfo::DocumentationPath);
|
||||
+ ret = QLibraryInfo::location(QLibraryInfo::DocumentationPath);
|
||||
else if(v == "QT_INSTALL_HEADERS")
|
||||
- return QLibraryInfo::location(QLibraryInfo::HeadersPath);
|
||||
+ ret = QLibraryInfo::location(QLibraryInfo::HeadersPath);
|
||||
else if(v == "QT_INSTALL_LIBS")
|
||||
- return QLibraryInfo::location(QLibraryInfo::LibrariesPath);
|
||||
+ ret = QLibraryInfo::location(QLibraryInfo::LibrariesPath);
|
||||
else if(v == "QT_INSTALL_BINS")
|
||||
- return QLibraryInfo::location(QLibraryInfo::BinariesPath);
|
||||
+ ret = QLibraryInfo::location(QLibraryInfo::BinariesPath);
|
||||
else if(v == "QT_INSTALL_PLUGINS")
|
||||
- return QLibraryInfo::location(QLibraryInfo::PluginsPath);
|
||||
+ ret = QLibraryInfo::location(QLibraryInfo::PluginsPath);
|
||||
else if(v == "QT_INSTALL_TRANSLATIONS")
|
||||
- return QLibraryInfo::location(QLibraryInfo::TranslationsPath);
|
||||
+ ret = QLibraryInfo::location(QLibraryInfo::TranslationsPath);
|
||||
else if(v == "QT_INSTALL_CONFIGURATION")
|
||||
- return QLibraryInfo::location(QLibraryInfo::SettingsPath);
|
||||
+ ret = QLibraryInfo::location(QLibraryInfo::SettingsPath);
|
||||
else if(v == "QT_INSTALL_EXAMPLES")
|
||||
- return QLibraryInfo::location(QLibraryInfo::ExamplesPath);
|
||||
+ ret = QLibraryInfo::location(QLibraryInfo::ExamplesPath);
|
||||
else if(v == "QT_INSTALL_DEMOS")
|
||||
- return QLibraryInfo::location(QLibraryInfo::DemosPath);
|
||||
- else if(v == "QMAKE_MKSPECS")
|
||||
+ ret = QLibraryInfo::location(QLibraryInfo::DemosPath);
|
||||
+ if(!ret.isEmpty())
|
||||
+ return QDir::toNativeSeparators(ret);
|
||||
+ if(v == "QMAKE_MKSPECS")
|
||||
return qmake_mkspec_paths().join(Option::target_mode == Option::TARG_WIN_MODE ? ";" : ":");
|
||||
else if(v == "QMAKE_VERSION")
|
||||
return qmake_version();
|
||||
@@ -116,7 +119,7 @@ QMakeProperty::value(QString v, bool just_check)
|
||||
int slash = v.lastIndexOf('/');
|
||||
QVariant var = settings->value(keyBase(slash == -1) + v);
|
||||
bool ok = var.isValid();
|
||||
- QString ret = var.toString();
|
||||
+ ret = var.toString();
|
||||
if(!ok) {
|
||||
QString version = qmake_version();
|
||||
if(slash != -1) {
|
||||
--
|
||||
1.6.5.1
|
||||
|
|
@ -0,0 +1,93 @@
|
|||
From 8731ab999b849dac4716e3d29f5f55ed8e56438e Mon Sep 17 00:00:00 2001
|
||||
From: Thiago Macieira <thiago.macieira@nokia.com>
|
||||
Date: Thu, 25 Jun 2009 13:50:29 +0200
|
||||
Subject: [PATCH 08/13] This patch makes the raster graphics system use shared images instead
|
||||
of shared pixmaps.
|
||||
|
||||
Shared memory pixmaps are deprecated since they are slower than shared
|
||||
images with modern graphics hardware. They are also not supported by EXA
|
||||
drivers and can be disabled in the latest version of the NVidia driver.
|
||||
|
||||
qt-bugs@ issue : none
|
||||
Qt Software task ID : none
|
||||
bugs.kde.org number : none
|
||||
---
|
||||
src/gui/image/qnativeimage.cpp | 10 ----------
|
||||
src/gui/image/qnativeimage_p.h | 1 -
|
||||
src/gui/painting/qwindowsurface_raster.cpp | 13 ++++++++++---
|
||||
3 files changed, 10 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/src/gui/image/qnativeimage.cpp b/src/gui/image/qnativeimage.cpp
|
||||
index 3745708..3c21fce 100644
|
||||
--- a/src/gui/image/qnativeimage.cpp
|
||||
+++ b/src/gui/image/qnativeimage.cpp
|
||||
@@ -147,7 +147,6 @@ QNativeImage::QNativeImage(int width, int height, QImage::Format format,bool /*
|
||||
{
|
||||
if (!X11->use_mitshm) {
|
||||
xshmimg = 0;
|
||||
- xshmpm = 0;
|
||||
image = QImage(width, height, format);
|
||||
return;
|
||||
}
|
||||
@@ -191,11 +190,6 @@ QNativeImage::QNativeImage(int width, int height, QImage::Format format,bool /*
|
||||
shmctl(xshminfo.shmid, IPC_RMID, 0);
|
||||
return;
|
||||
}
|
||||
- xshmpm = XShmCreatePixmap(X11->display, DefaultRootWindow(X11->display), xshmimg->data,
|
||||
- &xshminfo, width, height, dd);
|
||||
- if (!xshmpm) {
|
||||
- qWarning() << "QNativeImage: Unable to create shared Pixmap.";
|
||||
- }
|
||||
}
|
||||
|
||||
|
||||
@@ -204,10 +198,6 @@ QNativeImage::~QNativeImage()
|
||||
if (!xshmimg)
|
||||
return;
|
||||
|
||||
- if (xshmpm) {
|
||||
- XFreePixmap(X11->display, xshmpm);
|
||||
- xshmpm = 0;
|
||||
- }
|
||||
XShmDetach(X11->display, &xshminfo);
|
||||
xshmimg->data = 0;
|
||||
XDestroyImage(xshmimg);
|
||||
diff --git a/src/gui/image/qnativeimage_p.h b/src/gui/image/qnativeimage_p.h
|
||||
index 07d5dfe..ba01854 100644
|
||||
--- a/src/gui/image/qnativeimage_p.h
|
||||
+++ b/src/gui/image/qnativeimage_p.h
|
||||
@@ -90,7 +90,6 @@ public:
|
||||
|
||||
#elif defined(Q_WS_X11) && !defined(QT_NO_MITSHM)
|
||||
XImage *xshmimg;
|
||||
- Pixmap xshmpm;
|
||||
XShmSegmentInfo xshminfo;
|
||||
|
||||
#elif defined(Q_WS_MAC)
|
||||
diff --git a/src/gui/painting/qwindowsurface_raster.cpp b/src/gui/painting/qwindowsurface_raster.cpp
|
||||
index d6fb03b..09963d9 100644
|
||||
--- a/src/gui/painting/qwindowsurface_raster.cpp
|
||||
+++ b/src/gui/painting/qwindowsurface_raster.cpp
|
||||
@@ -220,9 +220,16 @@ void QRasterWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoi
|
||||
|
||||
QRect br = rgn.boundingRect().translated(offset);
|
||||
#ifndef QT_NO_MITSHM
|
||||
- if (d_ptr->image->xshmpm) {
|
||||
- XCopyArea(X11->display, d_ptr->image->xshmpm, widget->handle(), d_ptr->gc,
|
||||
- br.x(), br.y(), br.width(), br.height(), wbr.x(), wbr.y());
|
||||
+ if (d_ptr->image->xshmimg && (br.width() * br.height() > 65536)) {
|
||||
+ const QImage &src = d->image->image;
|
||||
+ br = br.intersected(src.rect());
|
||||
+ // Hack to make sure we satisify the PutImage() constraints in the X server,
|
||||
+ // since the doShmPutImage() route currently forces a migration to system ram.
|
||||
+ wbr.setX(wbr.x() - br.x());
|
||||
+ br.setX(0);
|
||||
+ br.setWidth(src.width());
|
||||
+ XShmPutImage(X11->display, widget->handle(), d_ptr->gc, d_ptr->image->xshmimg,
|
||||
+ br.x(), br.y(), wbr.x(), wbr.y(), br.width(), br.height(), False);
|
||||
XSync(X11->display, False);
|
||||
} else
|
||||
#endif
|
||||
--
|
||||
1.6.5.1
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
From bb8255da422470c5012b6b1c4c24eb2afb6804dc Mon Sep 17 00:00:00 2001
|
||||
From: Thiago Macieira <thiago.macieira@nokia.com>
|
||||
Date: Fri, 26 Jun 2009 11:41:45 +0200
|
||||
Subject: [PATCH 09/13] Restore a section of the file that got removed due to conflict resolution.
|
||||
|
||||
Thanks to Kevin Kofler for pointing this out
|
||||
---
|
||||
src/gui/kernel/qapplication_x11.cpp | 6 +++---
|
||||
1 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp
|
||||
index 33aec9e..53f020b 100644
|
||||
--- a/src/gui/kernel/qapplication_x11.cpp
|
||||
+++ b/src/gui/kernel/qapplication_x11.cpp
|
||||
@@ -1955,9 +1955,9 @@ void qt_init(QApplicationPrivate *priv, int,
|
||||
bool local = displayName.isEmpty() || displayName.lastIndexOf(QLatin1Char(':')) == 0;
|
||||
if (local && (qgetenv("QT_X11_NO_MITSHM").toInt() == 0)) {
|
||||
Visual *defaultVisual = DefaultVisual(X11->display, DefaultScreen(X11->display));
|
||||
- X11->use_mitshm = mitshm_pixmaps && (defaultVisual->red_mask == 0xff0000
|
||||
- && defaultVisual->green_mask == 0xff00
|
||||
- && defaultVisual->blue_mask == 0xff);
|
||||
+ X11->use_mitshm = defaultVisual->red_mask == 0xff0000
|
||||
+ && defaultVisual->green_mask == 0xff00
|
||||
+ && defaultVisual->blue_mask == 0xff;
|
||||
}
|
||||
}
|
||||
#endif // QT_NO_MITSHM
|
||||
--
|
||||
1.6.5.1
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
From 4b5ae1db24fa1b96f00ef62bd2e1063a8a313e5c Mon Sep 17 00:00:00 2001
|
||||
From: Albert Astals Cid <aacid@kde.org>
|
||||
Date: Sat, 27 Jun 2009 14:19:23 +0200
|
||||
Subject: [PATCH 10/13] Fix #error line not to have a ' as it's not correct
|
||||
|
||||
---
|
||||
src/3rdparty/webkit/WebCore/DerivedSources.cpp | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/src/3rdparty/webkit/WebCore/DerivedSources.cpp b/src/3rdparty/webkit/WebCore/DerivedSources.cpp
|
||||
index f698913..aaf8983 100644
|
||||
--- a/src/3rdparty/webkit/WebCore/DerivedSources.cpp
|
||||
+++ b/src/3rdparty/webkit/WebCore/DerivedSources.cpp
|
||||
@@ -334,5 +334,5 @@
|
||||
// want StaticConstructors.h to "pollute" all the source files we #include here
|
||||
// accidentally, so we'll throw an error whenever any file includes it.
|
||||
#ifdef StaticConstructors_h
|
||||
-#error Don't include any file in DerivedSources.cpp that includes StaticConstructors.h
|
||||
+#error Do not include any file in DerivedSources.cpp that includes StaticConstructors.h
|
||||
#endif
|
||||
--
|
||||
1.6.5.1
|
||||
|
|
@ -0,0 +1,660 @@
|
|||
From 1a94cd7b132497f70a2b97ec2b58f6e2b1c5076a Mon Sep 17 00:00:00 2001
|
||||
From: Helio Chissini de Castro <helio@kde.org>
|
||||
Date: Fri, 10 Jul 2009 16:00:13 -0300
|
||||
Subject: [PATCH 11/13] Fill gap of X.org/XFree multimedia/special/launcher keys
|
||||
Qt up to 4.5.x is missing whole setup of multimedia keys already defined by X
|
||||
|
||||
---
|
||||
src/corelib/global/qnamespace.h | 97 ++++++++++++-
|
||||
src/gui/kernel/qkeymapper_x11.cpp | 286 ++++++++++++++++++++++++++++++-------
|
||||
src/gui/kernel/qkeysequence.cpp | 174 +++++++++++++++++------
|
||||
3 files changed, 461 insertions(+), 96 deletions(-)
|
||||
|
||||
diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h
|
||||
index 3edbca7..ddf27a8 100644
|
||||
--- a/src/corelib/global/qnamespace.h
|
||||
+++ b/src/corelib/global/qnamespace.h
|
||||
@@ -895,12 +895,10 @@ public:
|
||||
Key_Dead_Horn = 0x01001262,
|
||||
|
||||
// multimedia/internet keys - ignored by default - see QKeyEvent c'tor
|
||||
-
|
||||
Key_Back = 0x01000061,
|
||||
Key_Forward = 0x01000062,
|
||||
Key_Stop = 0x01000063,
|
||||
Key_Refresh = 0x01000064,
|
||||
-
|
||||
Key_VolumeDown = 0x01000070,
|
||||
Key_VolumeMute = 0x01000071,
|
||||
Key_VolumeUp = 0x01000072,
|
||||
@@ -909,7 +907,6 @@ public:
|
||||
Key_BassDown = 0x01000075,
|
||||
Key_TrebleUp = 0x01000076,
|
||||
Key_TrebleDown = 0x01000077,
|
||||
-
|
||||
Key_MediaPlay = 0x01000080,
|
||||
Key_MediaStop = 0x01000081,
|
||||
Key_MediaPrevious = 0x01000082,
|
||||
@@ -918,13 +915,11 @@ public:
|
||||
#endif
|
||||
Key_MediaNext = 0x01000083,
|
||||
Key_MediaRecord = 0x01000084,
|
||||
-
|
||||
Key_HomePage = 0x01000090,
|
||||
Key_Favorites = 0x01000091,
|
||||
Key_Search = 0x01000092,
|
||||
Key_Standby = 0x01000093,
|
||||
Key_OpenUrl = 0x01000094,
|
||||
-
|
||||
Key_LaunchMail = 0x010000a0,
|
||||
Key_LaunchMedia = 0x010000a1,
|
||||
Key_Launch0 = 0x010000a2,
|
||||
@@ -943,6 +938,98 @@ public:
|
||||
Key_LaunchD = 0x010000af,
|
||||
Key_LaunchE = 0x010000b0,
|
||||
Key_LaunchF = 0x010000b1,
|
||||
+ Key_MonBrightnessUp = 0x010000b2,
|
||||
+ Key_MonBrightnessDown = 0x010000b3,
|
||||
+ Key_KeyboardLightOnOff = 0x010000b4,
|
||||
+ Key_KeyboardBrightnessUp = 0x010000b5,
|
||||
+ Key_KeyboardBrightnessDown = 0x010000b6,
|
||||
+ Key_PowerOff = 0x010000b7,
|
||||
+ Key_WakeUp = 0x010000b8,
|
||||
+ Key_Eject = 0x010000b9,
|
||||
+ Key_ScreenSaver = 0x010000ba,
|
||||
+ Key_WWW = 0x010000bb,
|
||||
+ Key_Memo = 0x010000bc,
|
||||
+ Key_LightBulb = 0x010000bd,
|
||||
+ Key_Shop = 0x010000be,
|
||||
+ Key_History = 0x010000bf,
|
||||
+ Key_AddFavorite = 0x010000c0,
|
||||
+ Key_HotLinks = 0x010000c1,
|
||||
+ Key_BrightnessAdjust = 0x010000c2,
|
||||
+ Key_Finance = 0x010000c3,
|
||||
+ Key_Community = 0x010000c4,
|
||||
+ Key_AudioRewind = 0x010000c5,
|
||||
+ Key_BackForward = 0x010000c6,
|
||||
+ Key_ApplicationLeft = 0x010000c7,
|
||||
+ Key_ApplicationRight = 0x010000c8,
|
||||
+ Key_Book = 0x010000c9,
|
||||
+ Key_CD = 0x010000ca,
|
||||
+ Key_Calculator = 0x010000cb,
|
||||
+ Key_ToDoList = 0x010000cc,
|
||||
+ Key_ClearGrab = 0x010000cd,
|
||||
+ Key_Close = 0x010000ce,
|
||||
+ Key_Copy = 0x010000cf,
|
||||
+ Key_Cut = 0x010000d0,
|
||||
+ Key_Display = 0x010000d1,
|
||||
+ Key_DOS = 0x010000d2,
|
||||
+ Key_Documents = 0x010000d3,
|
||||
+ Key_Excel = 0x010000d4,
|
||||
+ Key_Explorer = 0x010000d5,
|
||||
+ Key_Game = 0x010000d6,
|
||||
+ Key_Go = 0x010000d7,
|
||||
+ Key_iTouch = 0x010000d8,
|
||||
+ Key_LogOff = 0x010000d9,
|
||||
+ Key_Market = 0x010000da,
|
||||
+ Key_Meeting = 0x010000db,
|
||||
+ Key_MenuKB = 0x010000dc,
|
||||
+ Key_MenuPB = 0x010000dd,
|
||||
+ Key_MySites = 0x010000de,
|
||||
+ Key_News = 0x010000df,
|
||||
+ Key_OfficeHome = 0x010000e0,
|
||||
+ Key_Option = 0x010000e1,
|
||||
+ Key_Paste = 0x010000e2,
|
||||
+ Key_Phone = 0x010000e3,
|
||||
+ Key_Calendar = 0x010000e4,
|
||||
+ Key_Reply = 0x010000e5,
|
||||
+ Key_Reload = 0x010000e6,
|
||||
+ Key_RotateWindows = 0x010000e7,
|
||||
+ Key_RotationPB = 0x010000e8,
|
||||
+ Key_RotationKB = 0x010000e9,
|
||||
+ Key_Save = 0x010000ea,
|
||||
+ Key_Send = 0x010000eb,
|
||||
+ Key_Spell = 0x010000ec,
|
||||
+ Key_SplitScreen = 0x010000ed,
|
||||
+ Key_Support = 0x010000ee,
|
||||
+ Key_TaskPane = 0x010000ef,
|
||||
+ Key_Terminal = 0x010000f0,
|
||||
+ Key_Tools = 0x010000f1,
|
||||
+ Key_Travel = 0x010000f2,
|
||||
+ Key_Video = 0x010000f3,
|
||||
+ Key_Word = 0x010000f4,
|
||||
+ Key_Xfer = 0x010000f5,
|
||||
+ Key_ZoomIn = 0x010000f6,
|
||||
+ Key_ZoomOut = 0x010000f7,
|
||||
+ Key_Away = 0x010000f8,
|
||||
+ Key_Messenger = 0x010000f9,
|
||||
+ Key_WebCam = 0x010000fa,
|
||||
+ Key_MailForward = 0x010000fb,
|
||||
+ Key_Pictures = 0x010000fc,
|
||||
+ Key_Music = 0x010000fd,
|
||||
+ Key_Battery = 0x010000fe,
|
||||
+ Key_Bluetooth = 0x010000ff,
|
||||
+ Key_WLAN = 0x01000100,
|
||||
+ Key_UWB = 0x01000101,
|
||||
+ Key_AudioForward = 0x01000102,
|
||||
+ Key_AudioRepeat = 0x01000103,
|
||||
+ Key_AudioRandomPlay = 0x01000104,
|
||||
+ Key_Subtitle = 0x01000105,
|
||||
+ Key_AudioCycleTrack = 0x01000106,
|
||||
+ Key_Time = 0x01000107,
|
||||
+ Key_Hibernate = 0x01000108,
|
||||
+ Key_View = 0x01000109,
|
||||
+ Key_TopMenu = 0x0100010a,
|
||||
+ Key_PowerDown = 0x0100010b,
|
||||
+ Key_Suspend = 0x0100010c,
|
||||
+ Key_ContrastAdjust = 0x0100010d,
|
||||
|
||||
Key_MediaLast = 0x0100ffff,
|
||||
|
||||
diff --git a/src/gui/kernel/qkeymapper_x11.cpp b/src/gui/kernel/qkeymapper_x11.cpp
|
||||
index 98ed61c..f55b491 100644
|
||||
--- a/src/gui/kernel/qkeymapper_x11.cpp
|
||||
+++ b/src/gui/kernel/qkeymapper_x11.cpp
|
||||
@@ -714,47 +714,144 @@ extern bool qt_sm_blockUserInput;
|
||||
#define XK_KP_Delete 0xFF9F
|
||||
#endif
|
||||
|
||||
-// the next lines are taken from XFree > 4.0 (X11/XF86keysyms.h), defining some special
|
||||
+// the next lines are taken on 10/2009 from X.org (X11/XF86keysym.h), defining some special
|
||||
// multimedia keys. They are included here as not every system has them.
|
||||
-#define XF86XK_Standby 0x1008FF10
|
||||
-#define XF86XK_AudioLowerVolume 0x1008FF11
|
||||
-#define XF86XK_AudioMute 0x1008FF12
|
||||
-#define XF86XK_AudioRaiseVolume 0x1008FF13
|
||||
-#define XF86XK_AudioPlay 0x1008FF14
|
||||
-#define XF86XK_AudioStop 0x1008FF15
|
||||
-#define XF86XK_AudioPrev 0x1008FF16
|
||||
-#define XF86XK_AudioNext 0x1008FF17
|
||||
-#define XF86XK_HomePage 0x1008FF18
|
||||
-#define XF86XK_Calculator 0x1008FF1D
|
||||
-#define XF86XK_Mail 0x1008FF19
|
||||
-#define XF86XK_Start 0x1008FF1A
|
||||
-#define XF86XK_Search 0x1008FF1B
|
||||
-#define XF86XK_AudioRecord 0x1008FF1C
|
||||
-#define XF86XK_Back 0x1008FF26
|
||||
-#define XF86XK_Forward 0x1008FF27
|
||||
-#define XF86XK_Stop 0x1008FF28
|
||||
-#define XF86XK_Refresh 0x1008FF29
|
||||
-#define XF86XK_Favorites 0x1008FF30
|
||||
-#define XF86XK_AudioPause 0x1008FF31
|
||||
-#define XF86XK_AudioMedia 0x1008FF32
|
||||
-#define XF86XK_MyComputer 0x1008FF33
|
||||
-#define XF86XK_OpenURL 0x1008FF38
|
||||
-#define XF86XK_Launch0 0x1008FF40
|
||||
-#define XF86XK_Launch1 0x1008FF41
|
||||
-#define XF86XK_Launch2 0x1008FF42
|
||||
-#define XF86XK_Launch3 0x1008FF43
|
||||
-#define XF86XK_Launch4 0x1008FF44
|
||||
-#define XF86XK_Launch5 0x1008FF45
|
||||
-#define XF86XK_Launch6 0x1008FF46
|
||||
-#define XF86XK_Launch7 0x1008FF47
|
||||
-#define XF86XK_Launch8 0x1008FF48
|
||||
-#define XF86XK_Launch9 0x1008FF49
|
||||
-#define XF86XK_LaunchA 0x1008FF4A
|
||||
-#define XF86XK_LaunchB 0x1008FF4B
|
||||
-#define XF86XK_LaunchC 0x1008FF4C
|
||||
-#define XF86XK_LaunchD 0x1008FF4D
|
||||
-#define XF86XK_LaunchE 0x1008FF4E
|
||||
-#define XF86XK_LaunchF 0x1008FF4F
|
||||
+#define XF86XK_MonBrightnessUp 0x1008FF02
|
||||
+#define XF86XK_MonBrightnessDown 0x1008FF03
|
||||
+#define XF86XK_KbdLightOnOff 0x1008FF04
|
||||
+#define XF86XK_KbdBrightnessUp 0x1008FF05
|
||||
+#define XF86XK_KbdBrightnessDown 0x1008FF06
|
||||
+#define XF86XK_Standby 0x1008FF10
|
||||
+#define XF86XK_AudioLowerVolume 0x1008FF11
|
||||
+#define XF86XK_AudioMute 0x1008FF12
|
||||
+#define XF86XK_AudioRaiseVolume 0x1008FF13
|
||||
+#define XF86XK_AudioPlay 0x1008FF14
|
||||
+#define XF86XK_AudioStop 0x1008FF15
|
||||
+#define XF86XK_AudioPrev 0x1008FF16
|
||||
+#define XF86XK_AudioNext 0x1008FF17
|
||||
+#define XF86XK_HomePage 0x1008FF18
|
||||
+#define XF86XK_Mail 0x1008FF19
|
||||
+#define XF86XK_Start 0x1008FF1A
|
||||
+#define XF86XK_Search 0x1008FF1B
|
||||
+#define XF86XK_AudioRecord 0x1008FF1C
|
||||
+#define XF86XK_Calculator 0x1008FF1D
|
||||
+#define XF86XK_Memo 0x1008FF1E
|
||||
+#define XF86XK_ToDoList 0x1008FF1F
|
||||
+#define XF86XK_Calendar 0x1008FF20
|
||||
+#define XF86XK_PowerDown 0x1008FF21
|
||||
+#define XF86XK_ContrastAdjust 0x1008FF22
|
||||
+#define XF86XK_Back 0x1008FF26
|
||||
+#define XF86XK_Forward 0x1008FF27
|
||||
+#define XF86XK_Stop 0x1008FF28
|
||||
+#define XF86XK_Refresh 0x1008FF29
|
||||
+#define XF86XK_PowerOff 0x1008FF2A
|
||||
+#define XF86XK_WakeUp 0x1008FF2B
|
||||
+#define XF86XK_Eject 0x1008FF2C
|
||||
+#define XF86XK_ScreenSaver 0x1008FF2D
|
||||
+#define XF86XK_WWW 0x1008FF2E
|
||||
+#define XF86XK_Sleep 0x1008FF2F
|
||||
+#define XF86XK_Favorites 0x1008FF30
|
||||
+#define XF86XK_AudioPause 0x1008FF31
|
||||
+#define XF86XK_AudioMedia 0x1008FF32
|
||||
+#define XF86XK_MyComputer 0x1008FF33
|
||||
+#define XF86XK_LightBulb 0x1008FF35
|
||||
+#define XF86XK_Shop 0x1008FF36
|
||||
+#define XF86XK_History 0x1008FF37
|
||||
+#define XF86XK_OpenURL 0x1008FF38
|
||||
+#define XF86XK_AddFavorite 0x1008FF39
|
||||
+#define XF86XK_HotLinks 0x1008FF3A
|
||||
+#define XF86XK_BrightnessAdjust 0x1008FF3B
|
||||
+#define XF86XK_Finance 0x1008FF3C
|
||||
+#define XF86XK_Community 0x1008FF3D
|
||||
+#define XF86XK_AudioRewind 0x1008FF3E
|
||||
+#define XF86XK_BackForward 0x1008FF3F
|
||||
+#define XF86XK_Launch0 0x1008FF40
|
||||
+#define XF86XK_Launch1 0x1008FF41
|
||||
+#define XF86XK_Launch2 0x1008FF42
|
||||
+#define XF86XK_Launch3 0x1008FF43
|
||||
+#define XF86XK_Launch4 0x1008FF44
|
||||
+#define XF86XK_Launch5 0x1008FF45
|
||||
+#define XF86XK_Launch6 0x1008FF46
|
||||
+#define XF86XK_Launch7 0x1008FF47
|
||||
+#define XF86XK_Launch8 0x1008FF48
|
||||
+#define XF86XK_Launch9 0x1008FF49
|
||||
+#define XF86XK_LaunchA 0x1008FF4A
|
||||
+#define XF86XK_LaunchB 0x1008FF4B
|
||||
+#define XF86XK_LaunchC 0x1008FF4C
|
||||
+#define XF86XK_LaunchD 0x1008FF4D
|
||||
+#define XF86XK_LaunchE 0x1008FF4E
|
||||
+#define XF86XK_LaunchF 0x1008FF4F
|
||||
+#define XF86XK_ApplicationLeft 0x1008FF50
|
||||
+#define XF86XK_ApplicationRight 0x1008FF51
|
||||
+#define XF86XK_Book 0x1008FF52
|
||||
+#define XF86XK_CD 0x1008FF53
|
||||
+#define XF86XK_Calculater 0x1008FF54
|
||||
+#define XF86XK_Clear 0x1008FF55
|
||||
+#define XF86XK_ClearGrab 0x1008FE21
|
||||
+#define XF86XK_Close 0x1008FF56
|
||||
+#define XF86XK_Copy 0x1008FF57
|
||||
+#define XF86XK_Cut 0x1008FF58
|
||||
+#define XF86XK_Display 0x1008FF59
|
||||
+#define XF86XK_DOS 0x1008FF5A
|
||||
+#define XF86XK_Documents 0x1008FF5B
|
||||
+#define XF86XK_Excel 0x1008FF5C
|
||||
+#define XF86XK_Explorer 0x1008FF5D
|
||||
+#define XF86XK_Game 0x1008FF5E
|
||||
+#define XF86XK_Go 0x1008FF5F
|
||||
+#define XF86XK_iTouch 0x1008FF60
|
||||
+#define XF86XK_LogOff 0x1008FF61
|
||||
+#define XF86XK_Market 0x1008FF62
|
||||
+#define XF86XK_Meeting 0x1008FF63
|
||||
+#define XF86XK_MenuKB 0x1008FF65
|
||||
+#define XF86XK_MenuPB 0x1008FF66
|
||||
+#define XF86XK_MySites 0x1008FF67
|
||||
+#define XF86XK_News 0x1008FF69
|
||||
+#define XF86XK_OfficeHome 0x1008FF6A
|
||||
+#define XF86XK_Option 0x1008FF6C
|
||||
+#define XF86XK_Paste 0x1008FF6D
|
||||
+#define XF86XK_Phone 0x1008FF6E
|
||||
+#define XF86XK_Reply 0x1008FF72
|
||||
+#define XF86XK_Reload 0x1008FF73
|
||||
+#define XF86XK_RotateWindows 0x1008FF74
|
||||
+#define XF86XK_RotationPB 0x1008FF75
|
||||
+#define XF86XK_RotationKB 0x1008FF76
|
||||
+#define XF86XK_Save 0x1008FF77
|
||||
+#define XF86XK_Send 0x1008FF7B
|
||||
+#define XF86XK_Spell 0x1008FF7C
|
||||
+#define XF86XK_SplitScreen 0x1008FF7D
|
||||
+#define XF86XK_Support 0x1008FF7E
|
||||
+#define XF86XK_TaskPane 0x1008FF7F
|
||||
+#define XF86XK_Terminal 0x1008FF80
|
||||
+#define XF86XK_Tools 0x1008FF81
|
||||
+#define XF86XK_Travel 0x1008FF82
|
||||
+#define XF86XK_Video 0x1008FF87
|
||||
+#define XF86XK_Word 0x1008FF89
|
||||
+#define XF86XK_Xfer 0x1008FF8A
|
||||
+#define XF86XK_ZoomIn 0x1008FF8B
|
||||
+#define XF86XK_ZoomOut 0x1008FF8C
|
||||
+#define XF86XK_Away 0x1008FF8D
|
||||
+#define XF86XK_Messenger 0x1008FF8E
|
||||
+#define XF86XK_WebCam 0x1008FF8F
|
||||
+#define XF86XK_MailForward 0x1008FF90
|
||||
+#define XF86XK_Pictures 0x1008FF91
|
||||
+#define XF86XK_Music 0x1008FF92
|
||||
+#define XF86XK_Battery 0x1008FF93
|
||||
+#define XF86XK_Bluetooth 0x1008FF94
|
||||
+#define XF86XK_WLAN 0x1008FF95
|
||||
+#define XF86XK_UWB 0x1008FF96
|
||||
+#define XF86XK_AudioForward 0x1008FF97
|
||||
+#define XF86XK_AudioRepeat 0x1008FF98
|
||||
+#define XF86XK_AudioRandomPlay 0x1008FF99
|
||||
+#define XF86XK_Subtitle 0x1008FF9A
|
||||
+#define XF86XK_AudioCycleTrack 0x1008FF9B
|
||||
+#define XF86XK_Time 0x1008FF9F
|
||||
+#define XF86XK_Select 0x1008FFA0
|
||||
+#define XF86XK_View 0x1008FFA1
|
||||
+#define XF86XK_TopMenu 0x1008FFA2
|
||||
+#define XF86XK_Suspend 0x1008FFA7
|
||||
+#define XF86XK_Hibernate 0x1008FFA8
|
||||
+
|
||||
+
|
||||
// end of XF86keysyms.h
|
||||
|
||||
// Special keys used by Qtopia, mapped into the X11 private keypad range.
|
||||
@@ -942,10 +1039,8 @@ static const unsigned int KeyTbl[] = {
|
||||
XK_dead_hook, Qt::Key_Dead_Hook,
|
||||
XK_dead_horn, Qt::Key_Dead_Horn,
|
||||
|
||||
- // Special multimedia keys
|
||||
- // currently only tested with MS internet keyboard
|
||||
-
|
||||
- // browsing keys
|
||||
+ // Special keys from X.org - This include multimedia keys,
|
||||
+ // wireless/bluetooth/uwb keys, special launcher keys, etc.
|
||||
XF86XK_Back, Qt::Key_Back,
|
||||
XF86XK_Forward, Qt::Key_Forward,
|
||||
XF86XK_Stop, Qt::Key_Stop,
|
||||
@@ -955,8 +1050,6 @@ static const unsigned int KeyTbl[] = {
|
||||
XF86XK_OpenURL, Qt::Key_OpenUrl,
|
||||
XF86XK_HomePage, Qt::Key_HomePage,
|
||||
XF86XK_Search, Qt::Key_Search,
|
||||
-
|
||||
- // media keys
|
||||
XF86XK_AudioLowerVolume, Qt::Key_VolumeDown,
|
||||
XF86XK_AudioMute, Qt::Key_VolumeMute,
|
||||
XF86XK_AudioRaiseVolume, Qt::Key_VolumeUp,
|
||||
@@ -965,13 +1058,106 @@ static const unsigned int KeyTbl[] = {
|
||||
XF86XK_AudioPrev, Qt::Key_MediaPrevious,
|
||||
XF86XK_AudioNext, Qt::Key_MediaNext,
|
||||
XF86XK_AudioRecord, Qt::Key_MediaRecord,
|
||||
-
|
||||
- // launch keys
|
||||
XF86XK_Mail, Qt::Key_LaunchMail,
|
||||
XF86XK_MyComputer, Qt::Key_Launch0,
|
||||
- XF86XK_Calculator, Qt::Key_Launch1,
|
||||
+ XF86XK_Calculator, Qt::Key_Calculator,
|
||||
+ XF86XK_Memo, Qt::Key_Memo,
|
||||
+ XF86XK_ToDoList, Qt::Key_ToDoList,
|
||||
+ XF86XK_Calendar, Qt::Key_Calendar,
|
||||
+ XF86XK_PowerDown, Qt::Key_PowerDown,
|
||||
+ XF86XK_ContrastAdjust, Qt::Key_ContrastAdjust,
|
||||
XF86XK_Standby, Qt::Key_Standby,
|
||||
-
|
||||
+ XF86XK_MonBrightnessUp, Qt::Key_MonBrightnessUp,
|
||||
+ XF86XK_MonBrightnessDown, Qt::Key_MonBrightnessDown,
|
||||
+ XF86XK_KbdLightOnOff, Qt::Key_KeyboardLightOnOff,
|
||||
+ XF86XK_KbdBrightnessUp, Qt::Key_KeyboardBrightnessUp,
|
||||
+ XF86XK_KbdBrightnessDown, Qt::Key_KeyboardBrightnessDown,
|
||||
+ XF86XK_PowerOff, Qt::Key_PowerOff,
|
||||
+ XF86XK_WakeUp, Qt::Key_WakeUp,
|
||||
+ XF86XK_Eject, Qt::Key_Eject,
|
||||
+ XF86XK_ScreenSaver, Qt::Key_ScreenSaver,
|
||||
+ XF86XK_WWW, Qt::Key_WWW,
|
||||
+ XF86XK_Sleep, Qt::Key_Sleep,
|
||||
+ XF86XK_LightBulb, Qt::Key_LightBulb,
|
||||
+ XF86XK_Shop, Qt::Key_Shop,
|
||||
+ XF86XK_History, Qt::Key_History,
|
||||
+ XF86XK_AddFavorite, Qt::Key_AddFavorite,
|
||||
+ XF86XK_HotLinks, Qt::Key_HotLinks,
|
||||
+ XF86XK_BrightnessAdjust, Qt::Key_BrightnessAdjust,
|
||||
+ XF86XK_Finance, Qt::Key_Finance,
|
||||
+ XF86XK_Community, Qt::Key_Community,
|
||||
+ XF86XK_AudioRewind, Qt::Key_AudioRewind,
|
||||
+ XF86XK_BackForward, Qt::Key_BackForward,
|
||||
+ XF86XK_ApplicationLeft, Qt::Key_ApplicationLeft,
|
||||
+ XF86XK_ApplicationRight, Qt::Key_ApplicationRight,
|
||||
+ XF86XK_Book, Qt::Key_Book,
|
||||
+ XF86XK_CD, Qt::Key_CD,
|
||||
+ XF86XK_Calculater, Qt::Key_Calculator,
|
||||
+ XF86XK_Clear, Qt::Key_Clear,
|
||||
+ XF86XK_ClearGrab, Qt::Key_ClearGrab,
|
||||
+ XF86XK_Close, Qt::Key_Close,
|
||||
+ XF86XK_Copy, Qt::Key_Copy,
|
||||
+ XF86XK_Cut, Qt::Key_Cut,
|
||||
+ XF86XK_Display, Qt::Key_Display,
|
||||
+ XF86XK_DOS, Qt::Key_DOS,
|
||||
+ XF86XK_Documents, Qt::Key_Documents,
|
||||
+ XF86XK_Excel, Qt::Key_Excel,
|
||||
+ XF86XK_Explorer, Qt::Key_Explorer,
|
||||
+ XF86XK_Game, Qt::Key_Game,
|
||||
+ XF86XK_Go, Qt::Key_Go,
|
||||
+ XF86XK_iTouch, Qt::Key_iTouch,
|
||||
+ XF86XK_LogOff, Qt::Key_LogOff,
|
||||
+ XF86XK_Market, Qt::Key_Market,
|
||||
+ XF86XK_Meeting, Qt::Key_Meeting,
|
||||
+ XF86XK_MenuKB, Qt::Key_MenuKB,
|
||||
+ XF86XK_MenuPB, Qt::Key_MenuPB,
|
||||
+ XF86XK_MySites, Qt::Key_MySites,
|
||||
+ XF86XK_News, Qt::Key_News,
|
||||
+ XF86XK_OfficeHome, Qt::Key_OfficeHome,
|
||||
+ XF86XK_Option, Qt::Key_Option,
|
||||
+ XF86XK_Paste, Qt::Key_Paste,
|
||||
+ XF86XK_Phone, Qt::Key_Phone,
|
||||
+ XF86XK_Reply, Qt::Key_Reply,
|
||||
+ XF86XK_Reload, Qt::Key_Reload,
|
||||
+ XF86XK_RotateWindows, Qt::Key_RotateWindows,
|
||||
+ XF86XK_RotationPB, Qt::Key_RotationPB,
|
||||
+ XF86XK_RotationKB, Qt::Key_RotationKB,
|
||||
+ XF86XK_Save, Qt::Key_Save,
|
||||
+ XF86XK_Send, Qt::Key_Send,
|
||||
+ XF86XK_Spell, Qt::Key_Spell,
|
||||
+ XF86XK_SplitScreen, Qt::Key_SplitScreen,
|
||||
+ XF86XK_Support, Qt::Key_Support,
|
||||
+ XF86XK_TaskPane, Qt::Key_TaskPane,
|
||||
+ XF86XK_Terminal, Qt::Key_Terminal,
|
||||
+ XF86XK_Tools, Qt::Key_Tools,
|
||||
+ XF86XK_Travel, Qt::Key_Travel,
|
||||
+ XF86XK_Video, Qt::Key_Video,
|
||||
+ XF86XK_Word, Qt::Key_Word,
|
||||
+ XF86XK_Xfer, Qt::Key_Xfer,
|
||||
+ XF86XK_ZoomIn, Qt::Key_ZoomIn,
|
||||
+ XF86XK_ZoomOut, Qt::Key_ZoomOut,
|
||||
+ XF86XK_Away, Qt::Key_Away,
|
||||
+ XF86XK_Messenger, Qt::Key_Messenger,
|
||||
+ XF86XK_WebCam, Qt::Key_WebCam,
|
||||
+ XF86XK_MailForward, Qt::Key_MailForward,
|
||||
+ XF86XK_Pictures, Qt::Key_Pictures,
|
||||
+ XF86XK_Music, Qt::Key_Music,
|
||||
+ XF86XK_Battery, Qt::Key_Battery,
|
||||
+ XF86XK_Bluetooth, Qt::Key_Bluetooth,
|
||||
+ XF86XK_WLAN, Qt::Key_WLAN,
|
||||
+ XF86XK_UWB, Qt::Key_UWB,
|
||||
+ XF86XK_AudioForward, Qt::Key_AudioForward,
|
||||
+ XF86XK_AudioRepeat, Qt::Key_AudioRepeat,
|
||||
+ XF86XK_AudioRandomPlay, Qt::Key_AudioRandomPlay,
|
||||
+ XF86XK_Subtitle, Qt::Key_Subtitle,
|
||||
+ XF86XK_AudioCycleTrack, Qt::Key_AudioCycleTrack,
|
||||
+ XF86XK_Time, Qt::Key_Time,
|
||||
+ XF86XK_Select, Qt::Key_Select,
|
||||
+ XF86XK_View, Qt::Key_View,
|
||||
+ XF86XK_TopMenu, Qt::Key_TopMenu,
|
||||
+ XF86XK_Bluetooth, Qt::Key_Bluetooth,
|
||||
+ XF86XK_Suspend, Qt::Key_Suspend,
|
||||
+ XF86XK_Hibernate, Qt::Key_Hibernate,
|
||||
XF86XK_Launch0, Qt::Key_Launch2,
|
||||
XF86XK_Launch1, Qt::Key_Launch3,
|
||||
XF86XK_Launch2, Qt::Key_Launch4,
|
||||
diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp
|
||||
index 894f663..665c058 100644
|
||||
--- a/src/gui/kernel/qkeysequence.cpp
|
||||
+++ b/src/gui/kernel/qkeysequence.cpp
|
||||
@@ -396,47 +396,139 @@ static const struct {
|
||||
{ Qt::Key_Menu, QT_TRANSLATE_NOOP("QShortcut", "Menu") },
|
||||
{ Qt::Key_Help, QT_TRANSLATE_NOOP("QShortcut", "Help") },
|
||||
|
||||
- // Multimedia keys
|
||||
- { Qt::Key_Back, QT_TRANSLATE_NOOP("QShortcut", "Back") },
|
||||
- { Qt::Key_Forward, QT_TRANSLATE_NOOP("QShortcut", "Forward") },
|
||||
- { Qt::Key_Stop, QT_TRANSLATE_NOOP("QShortcut", "Stop") },
|
||||
- { Qt::Key_Refresh, QT_TRANSLATE_NOOP("QShortcut", "Refresh") },
|
||||
- { Qt::Key_VolumeDown, QT_TRANSLATE_NOOP("QShortcut", "Volume Down") },
|
||||
- { Qt::Key_VolumeMute, QT_TRANSLATE_NOOP("QShortcut", "Volume Mute") },
|
||||
- { Qt::Key_VolumeUp, QT_TRANSLATE_NOOP("QShortcut", "Volume Up") },
|
||||
- { Qt::Key_BassBoost, QT_TRANSLATE_NOOP("QShortcut", "Bass Boost") },
|
||||
- { Qt::Key_BassUp, QT_TRANSLATE_NOOP("QShortcut", "Bass Up") },
|
||||
- { Qt::Key_BassDown, QT_TRANSLATE_NOOP("QShortcut", "Bass Down") },
|
||||
- { Qt::Key_TrebleUp, QT_TRANSLATE_NOOP("QShortcut", "Treble Up") },
|
||||
- { Qt::Key_TrebleDown, QT_TRANSLATE_NOOP("QShortcut", "Treble Down") },
|
||||
- { Qt::Key_MediaPlay, QT_TRANSLATE_NOOP("QShortcut", "Media Play") },
|
||||
- { Qt::Key_MediaStop, QT_TRANSLATE_NOOP("QShortcut", "Media Stop") },
|
||||
- { Qt::Key_MediaPrevious,QT_TRANSLATE_NOOP("QShortcut", "Media Previous") },
|
||||
- { Qt::Key_MediaNext, QT_TRANSLATE_NOOP("QShortcut", "Media Next") },
|
||||
- { Qt::Key_MediaRecord, QT_TRANSLATE_NOOP("QShortcut", "Media Record") },
|
||||
- { Qt::Key_HomePage, QT_TRANSLATE_NOOP("QShortcut", "Home Page") },
|
||||
- { Qt::Key_Favorites, QT_TRANSLATE_NOOP("QShortcut", "Favorites") },
|
||||
- { Qt::Key_Search, QT_TRANSLATE_NOOP("QShortcut", "Search") },
|
||||
- { Qt::Key_Standby, QT_TRANSLATE_NOOP("QShortcut", "Standby") },
|
||||
- { Qt::Key_OpenUrl, QT_TRANSLATE_NOOP("QShortcut", "Open URL") },
|
||||
- { Qt::Key_LaunchMail, QT_TRANSLATE_NOOP("QShortcut", "Launch Mail") },
|
||||
- { Qt::Key_LaunchMedia, QT_TRANSLATE_NOOP("QShortcut", "Launch Media") },
|
||||
- { Qt::Key_Launch0, QT_TRANSLATE_NOOP("QShortcut", "Launch (0)") },
|
||||
- { Qt::Key_Launch1, QT_TRANSLATE_NOOP("QShortcut", "Launch (1)") },
|
||||
- { Qt::Key_Launch2, QT_TRANSLATE_NOOP("QShortcut", "Launch (2)") },
|
||||
- { Qt::Key_Launch3, QT_TRANSLATE_NOOP("QShortcut", "Launch (3)") },
|
||||
- { Qt::Key_Launch4, QT_TRANSLATE_NOOP("QShortcut", "Launch (4)") },
|
||||
- { Qt::Key_Launch5, QT_TRANSLATE_NOOP("QShortcut", "Launch (5)") },
|
||||
- { Qt::Key_Launch6, QT_TRANSLATE_NOOP("QShortcut", "Launch (6)") },
|
||||
- { Qt::Key_Launch7, QT_TRANSLATE_NOOP("QShortcut", "Launch (7)") },
|
||||
- { Qt::Key_Launch8, QT_TRANSLATE_NOOP("QShortcut", "Launch (8)") },
|
||||
- { Qt::Key_Launch9, QT_TRANSLATE_NOOP("QShortcut", "Launch (9)") },
|
||||
- { Qt::Key_LaunchA, QT_TRANSLATE_NOOP("QShortcut", "Launch (A)") },
|
||||
- { Qt::Key_LaunchB, QT_TRANSLATE_NOOP("QShortcut", "Launch (B)") },
|
||||
- { Qt::Key_LaunchC, QT_TRANSLATE_NOOP("QShortcut", "Launch (C)") },
|
||||
- { Qt::Key_LaunchD, QT_TRANSLATE_NOOP("QShortcut", "Launch (D)") },
|
||||
- { Qt::Key_LaunchE, QT_TRANSLATE_NOOP("QShortcut", "Launch (E)") },
|
||||
- { Qt::Key_LaunchF, QT_TRANSLATE_NOOP("QShortcut", "Launch (F)") },
|
||||
+ // Special keys
|
||||
+ // Includes multimedia, launcher, lan keys ( bluetooth, wireless )
|
||||
+ // window navigation
|
||||
+ { Qt::Key_Back, QT_TRANSLATE_NOOP("QShortcut", "Back") },
|
||||
+ { Qt::Key_Forward, QT_TRANSLATE_NOOP("QShortcut", "Forward") },
|
||||
+ { Qt::Key_Stop, QT_TRANSLATE_NOOP("QShortcut", "Stop") },
|
||||
+ { Qt::Key_Refresh, QT_TRANSLATE_NOOP("QShortcut", "Refresh") },
|
||||
+ { Qt::Key_VolumeDown, QT_TRANSLATE_NOOP("QShortcut", "Volume Down") },
|
||||
+ { Qt::Key_VolumeMute, QT_TRANSLATE_NOOP("QShortcut", "Volume Mute") },
|
||||
+ { Qt::Key_VolumeUp, QT_TRANSLATE_NOOP("QShortcut", "Volume Up") },
|
||||
+ { Qt::Key_BassBoost, QT_TRANSLATE_NOOP("QShortcut", "Bass Boost") },
|
||||
+ { Qt::Key_BassUp, QT_TRANSLATE_NOOP("QShortcut", "Bass Up") },
|
||||
+ { Qt::Key_BassDown, QT_TRANSLATE_NOOP("QShortcut", "Bass Down") },
|
||||
+ { Qt::Key_TrebleUp, QT_TRANSLATE_NOOP("QShortcut", "Treble Up") },
|
||||
+ { Qt::Key_TrebleDown, QT_TRANSLATE_NOOP("QShortcut", "Treble Down") },
|
||||
+ { Qt::Key_MediaPlay, QT_TRANSLATE_NOOP("QShortcut", "Media Play") },
|
||||
+ { Qt::Key_MediaStop, QT_TRANSLATE_NOOP("QShortcut", "Media Stop") },
|
||||
+ { Qt::Key_MediaPrevious, QT_TRANSLATE_NOOP("QShortcut", "Media Previous") },
|
||||
+ { Qt::Key_MediaNext, QT_TRANSLATE_NOOP("QShortcut", "Media Next") },
|
||||
+ { Qt::Key_MediaRecord, QT_TRANSLATE_NOOP("QShortcut", "Media Record") },
|
||||
+ { Qt::Key_HomePage, QT_TRANSLATE_NOOP("QShortcut", "Home Page") },
|
||||
+ { Qt::Key_Favorites, QT_TRANSLATE_NOOP("QShortcut", "Favorites") },
|
||||
+ { Qt::Key_Search, QT_TRANSLATE_NOOP("QShortcut", "Search") },
|
||||
+ { Qt::Key_Standby, QT_TRANSLATE_NOOP("QShortcut", "Standby") },
|
||||
+ { Qt::Key_OpenUrl, QT_TRANSLATE_NOOP("QShortcut", "Open URL") },
|
||||
+ { Qt::Key_LaunchMail, QT_TRANSLATE_NOOP("QShortcut", "Launch Mail") },
|
||||
+ { Qt::Key_LaunchMedia, QT_TRANSLATE_NOOP("QShortcut", "Launch Media") },
|
||||
+ { Qt::Key_Launch0, QT_TRANSLATE_NOOP("QShortcut", "Launch (0)") },
|
||||
+ { Qt::Key_Launch1, QT_TRANSLATE_NOOP("QShortcut", "Launch (1)") },
|
||||
+ { Qt::Key_Launch2, QT_TRANSLATE_NOOP("QShortcut", "Launch (2)") },
|
||||
+ { Qt::Key_Launch3, QT_TRANSLATE_NOOP("QShortcut", "Launch (3)") },
|
||||
+ { Qt::Key_Launch4, QT_TRANSLATE_NOOP("QShortcut", "Launch (4)") },
|
||||
+ { Qt::Key_Launch5, QT_TRANSLATE_NOOP("QShortcut", "Launch (5)") },
|
||||
+ { Qt::Key_Launch6, QT_TRANSLATE_NOOP("QShortcut", "Launch (6)") },
|
||||
+ { Qt::Key_Launch7, QT_TRANSLATE_NOOP("QShortcut", "Launch (7)") },
|
||||
+ { Qt::Key_Launch8, QT_TRANSLATE_NOOP("QShortcut", "Launch (8)") },
|
||||
+ { Qt::Key_Launch9, QT_TRANSLATE_NOOP("QShortcut", "Launch (9)") },
|
||||
+ { Qt::Key_LaunchA, QT_TRANSLATE_NOOP("QShortcut", "Launch (A)") },
|
||||
+ { Qt::Key_LaunchB, QT_TRANSLATE_NOOP("QShortcut", "Launch (B)") },
|
||||
+ { Qt::Key_LaunchC, QT_TRANSLATE_NOOP("QShortcut", "Launch (C)") },
|
||||
+ { Qt::Key_LaunchD, QT_TRANSLATE_NOOP("QShortcut", "Launch (D)") },
|
||||
+ { Qt::Key_LaunchE, QT_TRANSLATE_NOOP("QShortcut", "Launch (E)") },
|
||||
+ { Qt::Key_LaunchF, QT_TRANSLATE_NOOP("QShortcut", "Launch (F)") },
|
||||
+ { Qt::Key_MonBrightnessUp, QT_TRANSLATE_NOOP("QShortcut", "Monitor Brightness Up") },
|
||||
+ { Qt::Key_MonBrightnessDown, QT_TRANSLATE_NOOP("QShortcut", "Monitor Brightness Down") },
|
||||
+ { Qt::Key_KeyboardLightOnOff, QT_TRANSLATE_NOOP("QShortcut", "Keyboard Light On/Off") },
|
||||
+ { Qt::Key_KeyboardBrightnessUp, QT_TRANSLATE_NOOP("QShortcut", "Keyboard Brightness Up") },
|
||||
+ { Qt::Key_KeyboardBrightnessDown, QT_TRANSLATE_NOOP("QShortcut", "Keyboard Brightness Down") },
|
||||
+ { Qt::Key_PowerOff, QT_TRANSLATE_NOOP("QShortcut", "Power Off") },
|
||||
+ { Qt::Key_WakeUp, QT_TRANSLATE_NOOP("QShortcut", "Wake Up") },
|
||||
+ { Qt::Key_Eject, QT_TRANSLATE_NOOP("QShortcut", "Eject") },
|
||||
+ { Qt::Key_ScreenSaver, QT_TRANSLATE_NOOP("QShortcut", "Screensaver") },
|
||||
+ { Qt::Key_WWW, QT_TRANSLATE_NOOP("QShortcut", "WWW") },
|
||||
+ { Qt::Key_Sleep, QT_TRANSLATE_NOOP("QShortcut", "Sleep") },
|
||||
+ { Qt::Key_LightBulb, QT_TRANSLATE_NOOP("QShortcut", "LightBulb") },
|
||||
+ { Qt::Key_Shop, QT_TRANSLATE_NOOP("QShortcut", "Shop") },
|
||||
+ { Qt::Key_History, QT_TRANSLATE_NOOP("QShortcut", "History") },
|
||||
+ { Qt::Key_AddFavorite, QT_TRANSLATE_NOOP("QShortcut", "Add Favorite") },
|
||||
+ { Qt::Key_HotLinks, QT_TRANSLATE_NOOP("QShortcut", "Hot Links") },
|
||||
+ { Qt::Key_BrightnessAdjust, QT_TRANSLATE_NOOP("QShortcut", "Adjust Brightness") },
|
||||
+ { Qt::Key_Finance, QT_TRANSLATE_NOOP("QShortcut", "Finance") },
|
||||
+ { Qt::Key_Community, QT_TRANSLATE_NOOP("QShortcut", "Community") },
|
||||
+ { Qt::Key_AudioRewind, QT_TRANSLATE_NOOP("QShortcut", "Audio Rewind") },
|
||||
+ { Qt::Key_BackForward, QT_TRANSLATE_NOOP("QShortcut", "Back Forward") },
|
||||
+ { Qt::Key_ApplicationLeft, QT_TRANSLATE_NOOP("QShortcut", "Application Left") },
|
||||
+ { Qt::Key_ApplicationRight, QT_TRANSLATE_NOOP("QShortcut", "Application Right") },
|
||||
+ { Qt::Key_Book, QT_TRANSLATE_NOOP("QShortcut", "Book") },
|
||||
+ { Qt::Key_CD, QT_TRANSLATE_NOOP("QShortcut", "CD") },
|
||||
+ { Qt::Key_Calculator, QT_TRANSLATE_NOOP("QShortcut", "Calculator") },
|
||||
+ { Qt::Key_Clear, QT_TRANSLATE_NOOP("QShortcut", "Clear") },
|
||||
+ { Qt::Key_ClearGrab, QT_TRANSLATE_NOOP("QShortcut", "Clear Grab") },
|
||||
+ { Qt::Key_Close, QT_TRANSLATE_NOOP("QShortcut", "Close") },
|
||||
+ { Qt::Key_Copy, QT_TRANSLATE_NOOP("QShortcut", "Copy") },
|
||||
+ { Qt::Key_Cut, QT_TRANSLATE_NOOP("QShortcut", "Cut") },
|
||||
+ { Qt::Key_Display, QT_TRANSLATE_NOOP("QShortcut", "Display") },
|
||||
+ { Qt::Key_DOS, QT_TRANSLATE_NOOP("QShortcut", "DOS") },
|
||||
+ { Qt::Key_Documents, QT_TRANSLATE_NOOP("QShortcut", "Documents") },
|
||||
+ { Qt::Key_Excel, QT_TRANSLATE_NOOP("QShortcut", "Spreadsheet") },
|
||||
+ { Qt::Key_Explorer, QT_TRANSLATE_NOOP("QShortcut", "Browser") },
|
||||
+ { Qt::Key_Game, QT_TRANSLATE_NOOP("QShortcut", "Game") },
|
||||
+ { Qt::Key_Go, QT_TRANSLATE_NOOP("QShortcut", "Go") },
|
||||
+ { Qt::Key_iTouch, QT_TRANSLATE_NOOP("QShortcut", "iTouch") },
|
||||
+ { Qt::Key_LogOff, QT_TRANSLATE_NOOP("QShortcut", "Logoff") },
|
||||
+ { Qt::Key_Market, QT_TRANSLATE_NOOP("QShortcut", "Market") },
|
||||
+ { Qt::Key_Meeting, QT_TRANSLATE_NOOP("QShortcut", "Meeting") },
|
||||
+ { Qt::Key_MenuKB, QT_TRANSLATE_NOOP("QShortcut", "Keyboard Menu") },
|
||||
+ { Qt::Key_MenuPB, QT_TRANSLATE_NOOP("QShortcut", "Menu PB") },
|
||||
+ { Qt::Key_MySites, QT_TRANSLATE_NOOP("QShortcut", "My Sites") },
|
||||
+ { Qt::Key_News, QT_TRANSLATE_NOOP("QShortcut", "News") },
|
||||
+ { Qt::Key_OfficeHome, QT_TRANSLATE_NOOP("QShortcut", "Home Office") },
|
||||
+ { Qt::Key_Option, QT_TRANSLATE_NOOP("QShortcut", "Option") },
|
||||
+ { Qt::Key_Paste, QT_TRANSLATE_NOOP("QShortcut", "Paste") },
|
||||
+ { Qt::Key_Phone, QT_TRANSLATE_NOOP("QShortcut", "Phone") },
|
||||
+ { Qt::Key_Reply, QT_TRANSLATE_NOOP("QShortcut", "Reply") },
|
||||
+ { Qt::Key_Reload, QT_TRANSLATE_NOOP("QShortcut", "Reload") },
|
||||
+ { Qt::Key_RotateWindows, QT_TRANSLATE_NOOP("QShortcut", "Rotate Windows") },
|
||||
+ { Qt::Key_RotationPB, QT_TRANSLATE_NOOP("QShortcut", "Rotation PB") },
|
||||
+ { Qt::Key_RotationKB, QT_TRANSLATE_NOOP("QShortcut", "Rotation KB") },
|
||||
+ { Qt::Key_Save, QT_TRANSLATE_NOOP("QShortcut", "Save") },
|
||||
+ { Qt::Key_Send, QT_TRANSLATE_NOOP("QShortcut", "Send") },
|
||||
+ { Qt::Key_Spell, QT_TRANSLATE_NOOP("QShortcut", "Spellchecker") },
|
||||
+ { Qt::Key_SplitScreen, QT_TRANSLATE_NOOP("QShortcut", "Split Screen") },
|
||||
+ { Qt::Key_Support, QT_TRANSLATE_NOOP("QShortcut", "Support") },
|
||||
+ { Qt::Key_TaskPane, QT_TRANSLATE_NOOP("QShortcut", "Task Panel") },
|
||||
+ { Qt::Key_Terminal, QT_TRANSLATE_NOOP("QShortcut", "Terminal") },
|
||||
+ { Qt::Key_Tools, QT_TRANSLATE_NOOP("QShortcut", "Tools") },
|
||||
+ { Qt::Key_Travel, QT_TRANSLATE_NOOP("QShortcut", "Travel") },
|
||||
+ { Qt::Key_Video, QT_TRANSLATE_NOOP("QShortcut", "Video") },
|
||||
+ { Qt::Key_Word, QT_TRANSLATE_NOOP("QShortcut", "Word Processor") },
|
||||
+ { Qt::Key_Xfer, QT_TRANSLATE_NOOP("QShortcut", "XFer") },
|
||||
+ { Qt::Key_ZoomIn, QT_TRANSLATE_NOOP("QShortcut", "Zoom In") },
|
||||
+ { Qt::Key_ZoomOut, QT_TRANSLATE_NOOP("QShortcut", "Zoom Out") },
|
||||
+ { Qt::Key_Away, QT_TRANSLATE_NOOP("QShortcut", "Away") },
|
||||
+ { Qt::Key_Messenger, QT_TRANSLATE_NOOP("QShortcut", "Messenger") },
|
||||
+ { Qt::Key_WebCam, QT_TRANSLATE_NOOP("QShortcut", "WebCam") },
|
||||
+ { Qt::Key_MailForward, QT_TRANSLATE_NOOP("QShortcut", "Mail Forward") },
|
||||
+ { Qt::Key_Pictures, QT_TRANSLATE_NOOP("QShortcut", "Pictures") },
|
||||
+ { Qt::Key_Music, QT_TRANSLATE_NOOP("QShortcut", "Music") },
|
||||
+ { Qt::Key_Battery, QT_TRANSLATE_NOOP("QShortcut", "Battery") },
|
||||
+ { Qt::Key_Bluetooth, QT_TRANSLATE_NOOP("QShortcut", "Bluetooth") },
|
||||
+ { Qt::Key_WLAN, QT_TRANSLATE_NOOP("QShortcut", "Wireless") },
|
||||
+ { Qt::Key_UWB, QT_TRANSLATE_NOOP("QShortcut", "Ultra Wide Band") },
|
||||
+ { Qt::Key_AudioForward, QT_TRANSLATE_NOOP("QShortcut", "Audio Forward") },
|
||||
+ { Qt::Key_AudioRepeat, QT_TRANSLATE_NOOP("QShortcut", "Audio Repeat") },
|
||||
+ { Qt::Key_AudioRandomPlay, QT_TRANSLATE_NOOP("QShortcut", "Audio Random Play") },
|
||||
+ { Qt::Key_Subtitle, QT_TRANSLATE_NOOP("QShortcut", "Subtitle") },
|
||||
+ { Qt::Key_AudioCycleTrack, QT_TRANSLATE_NOOP("QShortcut", "Audio Cycle Track") },
|
||||
+ { Qt::Key_Time, QT_TRANSLATE_NOOP("QShortcut", "Time") },
|
||||
+ { Qt::Key_Select, QT_TRANSLATE_NOOP("QShortcut", "Select") },
|
||||
+ { Qt::Key_View, QT_TRANSLATE_NOOP("QShortcut", "View") },
|
||||
+ { Qt::Key_TopMenu, QT_TRANSLATE_NOOP("QShortcut", "Top Menu") },
|
||||
+ { Qt::Key_Suspend, QT_TRANSLATE_NOOP("QShortcut", "Suspend") },
|
||||
+ { Qt::Key_Hibernate, QT_TRANSLATE_NOOP("QShortcut", "Hibernate") },
|
||||
|
||||
// --------------------------------------------------------------
|
||||
// More consistent namings
|
||||
--
|
||||
1.6.5.1
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
From 9eb3560cfd5cd0bc9c7bf79f2c27657ee07b8f95 Mon Sep 17 00:00:00 2001
|
||||
From: Albert Astals Cid <aacid@kde.org>
|
||||
Date: Sat, 8 Aug 2009 14:40:25 +0200
|
||||
Subject: [PATCH 12/13] Add context to tr calls in QShortcut
|
||||
|
||||
Some languages have special rules for using "+" to concatenate strings and
|
||||
for example it needs to be Ctrl + Shift instead of Ctrl+Shift, adding
|
||||
context to these strings helps creating a more correct translation
|
||||
---
|
||||
src/gui/kernel/qkeysequence.cpp | 20 ++++++++++----------
|
||||
1 files changed, 10 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp
|
||||
index 894f663..c17f253 100644
|
||||
--- a/src/gui/kernel/qkeysequence.cpp
|
||||
+++ b/src/gui/kernel/qkeysequence.cpp
|
||||
@@ -991,10 +991,10 @@ int QKeySequencePrivate::decodeString(const QString &str, QKeySequence::Sequence
|
||||
|
||||
QList<QModifKeyName> modifs;
|
||||
if (nativeText) {
|
||||
- modifs << QModifKeyName(Qt::CTRL, QShortcut::tr("Ctrl").toLower().append(QLatin1Char('+')))
|
||||
- << QModifKeyName(Qt::SHIFT, QShortcut::tr("Shift").toLower().append(QLatin1Char('+')))
|
||||
- << QModifKeyName(Qt::ALT, QShortcut::tr("Alt").toLower().append(QLatin1Char('+')))
|
||||
- << QModifKeyName(Qt::META, QShortcut::tr("Meta").toLower().append(QLatin1Char('+')));
|
||||
+ modifs << QModifKeyName(Qt::CTRL, QShortcut::tr("Ctrl", "Ctrl key, used for shortcuts").toLower().append(QLatin1Char('+')))
|
||||
+ << QModifKeyName(Qt::SHIFT, QShortcut::tr("Shift", "Shift key, used for shortcuts").toLower().append(QLatin1Char('+')))
|
||||
+ << QModifKeyName(Qt::ALT, QShortcut::tr("Alt", "Alt key, used for shortcuts").toLower().append(QLatin1Char('+')))
|
||||
+ << QModifKeyName(Qt::META, QShortcut::tr("Meta", "Meta key, used for shortcuts").toLower().append(QLatin1Char('+')));
|
||||
}
|
||||
modifs += *gmodifs; // Test non-translated ones last
|
||||
|
||||
@@ -1086,7 +1086,7 @@ QString QKeySequence::encodeString(int key)
|
||||
static inline void addKey(QString &str, const QString &theKey, QKeySequence::SequenceFormat format)
|
||||
{
|
||||
if (!str.isEmpty())
|
||||
- str += (format == QKeySequence::NativeText) ? QShortcut::tr("+")
|
||||
+ str += (format == QKeySequence::NativeText) ? QShortcut::tr("+", "Symbol used to concatenate keys in shortcuts")
|
||||
: QString::fromLatin1("+");
|
||||
str += theKey;
|
||||
}
|
||||
@@ -1111,13 +1111,13 @@ QString QKeySequencePrivate::encodeString(int key, QKeySequence::SequenceFormat
|
||||
{
|
||||
// On other systems the order is Meta, Control, Alt, Shift
|
||||
if ((key & Qt::META) == Qt::META)
|
||||
- s = nativeText ? QShortcut::tr("Meta") : QString::fromLatin1("Meta");
|
||||
+ s = nativeText ? QShortcut::tr("Meta", "Meta key, used for shortcuts") : QString::fromLatin1("Meta");
|
||||
if ((key & Qt::CTRL) == Qt::CTRL)
|
||||
- addKey(s, nativeText ? QShortcut::tr("Ctrl") : QString::fromLatin1("Ctrl"), format);
|
||||
+ addKey(s, nativeText ? QShortcut::tr("Ctrl", "Ctrl key, used for shortcuts") : QString::fromLatin1("Ctrl"), format);
|
||||
if ((key & Qt::ALT) == Qt::ALT)
|
||||
- addKey(s, nativeText ? QShortcut::tr("Alt") : QString::fromLatin1("Alt"), format);
|
||||
+ addKey(s, nativeText ? QShortcut::tr("Alt", "Alt key, used for shortcuts") : QString::fromLatin1("Alt"), format);
|
||||
if ((key & Qt::SHIFT) == Qt::SHIFT)
|
||||
- addKey(s, nativeText ? QShortcut::tr("Shift") : QString::fromLatin1("Shift"), format);
|
||||
+ addKey(s, nativeText ? QShortcut::tr("Shift", "Shift key, used for shortcuts") : QString::fromLatin1("Shift"), format);
|
||||
}
|
||||
|
||||
|
||||
@@ -1132,7 +1132,7 @@ QString QKeySequencePrivate::encodeString(int key, QKeySequence::SequenceFormat
|
||||
p += QChar((key-0x10000)%400+0xdc00);
|
||||
}
|
||||
} else if (key >= Qt::Key_F1 && key <= Qt::Key_F35) {
|
||||
- p = nativeText ? QShortcut::tr("F%1").arg(key - Qt::Key_F1 + 1)
|
||||
+ p = nativeText ? QShortcut::tr("F%1", "Fx key, used for shortcuts").arg(key - Qt::Key_F1 + 1)
|
||||
: QString::fromLatin1("F%1").arg(key - Qt::Key_F1 + 1);
|
||||
} else if (key) {
|
||||
int i=0;
|
||||
--
|
||||
1.6.5.1
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
From bfc22f6e7cafd99a60f970dfb9f4a159774ebc03 Mon Sep 17 00:00:00 2001
|
||||
From: Dario Freddi <drf@kde.org>
|
||||
Date: Mon, 28 Sep 2009 15:58:12 +0200
|
||||
Subject: [PATCH 13/13] Fix QNativeImage constructor
|
||||
|
||||
Signed-off-by: Dario Freddi <drf@kde.org>
|
||||
---
|
||||
src/gui/image/qnativeimage.cpp | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/src/gui/image/qnativeimage.cpp b/src/gui/image/qnativeimage.cpp
|
||||
index 1c1b8f3..3390693 100644
|
||||
--- a/src/gui/image/qnativeimage.cpp
|
||||
+++ b/src/gui/image/qnativeimage.cpp
|
||||
@@ -148,7 +148,7 @@ QImage::Format QNativeImage::systemFormat()
|
||||
#elif defined(Q_WS_X11) && !defined(QT_NO_MITSHM)
|
||||
|
||||
QNativeImage::QNativeImage(int width, int height, QImage::Format format,bool /* isTextBuffer */, QWidget *widget)
|
||||
- : xshmimg(0), xshmpm(0)
|
||||
+ : xshmimg(0)
|
||||
{
|
||||
if (!X11->use_mitshm) {
|
||||
image = QImage(width, height, format);
|
||||
--
|
||||
1.6.5.1
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
diff -up qt-x11-opensource-src-4.5.3/src/gui/image/qnativeimage.cpp.me qt-x11-opensource-src-4.5.3/src/gui/image/qnativeimage.cpp
|
||||
--- qt-x11-opensource-src-4.5.3/src/gui/image/qnativeimage.cpp.me 2009-10-02 18:26:02.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.3/src/gui/image/qnativeimage.cpp 2009-10-02 18:27:13.000000000 +0200
|
||||
@@ -144,7 +144,7 @@ QImage::Format QNativeImage::systemForma
|
||||
#elif defined(Q_WS_X11) && !defined(QT_NO_MITSHM)
|
||||
|
||||
QNativeImage::QNativeImage(int width, int height, QImage::Format format,bool /* isTextBuffer */, QWidget *widget)
|
||||
- : xshmimg(0), xshmpm(0)
|
||||
+ : xshmimg(0)
|
||||
{
|
||||
if (!X11->use_mitshm) {
|
||||
image = QImage(width, height, format);
|
||||
@@ -195,11 +195,6 @@ QNativeImage::QNativeImage(int width, in
|
||||
shmctl(xshminfo.shmid, IPC_RMID, 0);
|
||||
return;
|
||||
}
|
||||
- xshmpm = XShmCreatePixmap(X11->display, DefaultRootWindow(X11->display), xshmimg->data,
|
||||
- &xshminfo, width, height, dd);
|
||||
- if (!xshmpm) {
|
||||
- qWarning() << "QNativeImage: Unable to create shared Pixmap.";
|
||||
- }
|
||||
}
|
||||
|
||||
|
||||
@@ -208,10 +203,6 @@ QNativeImage::~QNativeImage()
|
||||
if (!xshmimg)
|
||||
return;
|
||||
|
||||
- if (xshmpm) {
|
||||
- XFreePixmap(X11->display, xshmpm);
|
||||
- xshmpm = 0;
|
||||
- }
|
||||
XShmDetach(X11->display, &xshminfo);
|
||||
xshmimg->data = 0;
|
||||
XDestroyImage(xshmimg);
|
||||
diff -up qt-x11-opensource-src-4.5.3/src/gui/image/qnativeimage_p.h.me qt-x11-opensource-src-4.5.3/src/gui/image/qnativeimage_p.h
|
||||
--- qt-x11-opensource-src-4.5.3/src/gui/image/qnativeimage_p.h.me 2009-10-02 18:33:38.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.3/src/gui/image/qnativeimage_p.h 2009-10-02 18:34:01.000000000 +0200
|
||||
@@ -90,7 +90,6 @@ public:
|
||||
|
||||
#elif defined(Q_WS_X11) && !defined(QT_NO_MITSHM)
|
||||
XImage *xshmimg;
|
||||
- Pixmap xshmpm;
|
||||
XShmSegmentInfo xshminfo;
|
||||
|
||||
#elif defined(Q_WS_MAC)
|
||||
diff -up qt-x11-opensource-src-4.5.3/src/gui/kernel/qapplication_x11.cpp.me qt-x11-opensource-src-4.5.3/src/gui/kernel/qapplication_x11.cpp
|
||||
--- qt-x11-opensource-src-4.5.3/src/gui/kernel/qapplication_x11.cpp.me 2009-10-02 18:27:55.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.3/src/gui/kernel/qapplication_x11.cpp 2009-10-02 18:33:30.000000000 +0200
|
||||
@@ -1959,12 +1959,9 @@ void qt_init(QApplicationPrivate *priv,
|
||||
bool local = displayName.isEmpty() || displayName.lastIndexOf(QLatin1Char(':')) == 0;
|
||||
if (local && (qgetenv("QT_X11_NO_MITSHM").toInt() == 0)) {
|
||||
Visual *defaultVisual = DefaultVisual(X11->display, DefaultScreen(X11->display));
|
||||
- X11->use_mitshm = mitshm_pixmaps && ((defaultVisual->red_mask == 0xff0000
|
||||
- || defaultVisual->red_mask == 0xf800)
|
||||
- && (defaultVisual->green_mask == 0xff00
|
||||
- || defaultVisual->green_mask == 0x7e0)
|
||||
- && (defaultVisual->blue_mask == 0xff
|
||||
- || defaultVisual->blue_mask == 0x1f));
|
||||
+ X11->use_mitshm = (defaultVisual->red_mask == 0xff0000 || defaultVisual->red_mask == 0xf800)
|
||||
+ && (defaultVisual->green_mask == 0xff00 || defaultVisual->green_mask == 0x7e0)
|
||||
+ && (defaultVisual->blue_mask == 0xff || defaultVisual->blue_mask == 0x1f);
|
||||
}
|
||||
}
|
||||
#endif // QT_NO_MITSHM
|
||||
diff -up qt-x11-opensource-src-4.5.3/src/gui/painting/qwindowsurface_raster.cpp.me qt-x11-opensource-src-4.5.3/src/gui/painting/qwindowsurface_raster.cpp
|
||||
--- qt-x11-opensource-src-4.5.3/src/gui/painting/qwindowsurface_raster.cpp.me 2009-10-02 18:34:18.000000000 +0200
|
||||
+++ qt-x11-opensource-src-4.5.3/src/gui/painting/qwindowsurface_raster.cpp 2009-10-02 18:35:54.000000000 +0200
|
||||
@@ -220,9 +220,16 @@ void QRasterWindowSurface::flush(QWidget
|
||||
|
||||
QRect br = rgn.boundingRect().translated(offset);
|
||||
#ifndef QT_NO_MITSHM
|
||||
- if (d_ptr->image->xshmpm) {
|
||||
- XCopyArea(X11->display, d_ptr->image->xshmpm, widget->handle(), d_ptr->gc,
|
||||
- br.x(), br.y(), br.width(), br.height(), wbr.x(), wbr.y());
|
||||
+ if (d_ptr->image->xshmimg && (br.width() * br.height() > 65536)) {
|
||||
+ const QImage &src = d->image->image;
|
||||
+ br = br.intersected(src.rect());
|
||||
+ // Hack to make sure we satisify the PutImage() constraints in the X server,
|
||||
+ // since the doShmPutImage() route currently forces a migration to system ram.
|
||||
+ wbr.setX(wbr.x() - br.x());
|
||||
+ br.setX(0);
|
||||
+ br.setWidth(src.width());
|
||||
+ XShmPutImage(X11->display, widget->handle(), d_ptr->gc, d_ptr->image->xshmimg,
|
||||
+ br.x(), br.y(), wbr.x(), wbr.y(), br.width(), br.height(), False);
|
||||
XSync(X11->display, False);
|
||||
} else
|
||||
#endif
|
|
@ -1,5 +1,5 @@
|
|||
# quick-n-dirty method to fetch patches from -patched git branch
|
||||
# unfortunately, requires an already checked-out copy of the git repo
|
||||
|
||||
# when switching branches, use 'git fetch', 'git checkout'
|
||||
git format-patch --output-directory kde-qt-patches v4.6.0-beta..v4.6-stable-patched
|
||||
# when switching branches, use something like: git checkout --track -b remotes/origin/4.6.0-beta1-patched
|
||||
git format-patch --output-directory kde-qt-patches v4.6.0-beta1..origin/4.6.0-beta1-patched
|
||||
|
|
48
qt.spec
48
qt.spec
|
@ -4,17 +4,17 @@
|
|||
# -no-pch disables precompiled headers, make ccache-friendly
|
||||
%define no_pch -no-pch
|
||||
|
||||
%define _default_patch_fuzz 2
|
||||
%define _default_patch_fuzz 3
|
||||
|
||||
%define pre beta1
|
||||
# enable kde-qt integration/patches (currently a no-op)
|
||||
#define kde_qt 1
|
||||
%define kde_qt 1
|
||||
|
||||
Summary: Qt toolkit
|
||||
Name: qt
|
||||
Epoch: 1
|
||||
Version: 4.6.0
|
||||
Release: 0.2.%{pre}%{?dist}
|
||||
Release: 0.3.%{pre}%{?dist}
|
||||
|
||||
# See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details
|
||||
License: LGPLv2 with exceptions or GPLv3 with exceptions
|
||||
|
@ -65,7 +65,21 @@ Patch54: qt-x11-opensource-src-4.5.1-mysql_config.patch
|
|||
# security patches
|
||||
|
||||
# kde-qt git patches
|
||||
|
||||
Patch201: 0001-This-patch-uses-object-name-as-a-fallback-for-window.patch
|
||||
Patch202: 0002-This-patch-makes-override-redirect-windows-popup-men.patch
|
||||
Patch203: 0003-This-patch-changes-QObjectPrivateVersion-thus-preven.patch
|
||||
Patch204: 0004-This-patch-adds-support-for-using-isystem-to-allow-p.patch
|
||||
Patch205: 0005-When-tabs-are-inserted-or-removed-in-a-QTabBar.patch
|
||||
Patch206: 0006-Fix-configure.exe-to-do-an-out-of-source-build-on-wi.patch
|
||||
Patch207: 0007-When-using-qmake-outside-qt-src-tree-it-sometimes-ge.patch
|
||||
Patch208: 0008-This-patch-makes-the-raster-graphics-system-use-shar.patch
|
||||
Patch209: 0009-Restore-a-section-of-the-file-that-got-removed-due-t.patch
|
||||
## older, but actually applies, version of patches 208, 209, 213 (double check)
|
||||
Patch274: 0274-shm-native-image-fix.patch
|
||||
Patch210: 0010-Fix-error-line-not-to-have-a-as-it-s-not-correct.patch
|
||||
Patch211: 0011-Fill-gap-of-X.org-XFree-multimedia-special-launcher-.patch
|
||||
Patch212: 0012-Add-context-to-tr-calls-in-QShortcut.patch
|
||||
Patch213: 0013-Fix-QNativeImage-constructor.patch
|
||||
|
||||
Source10: http://gstreamer.freedesktop.org/data/images/artwork/gstreamer-logo.svg
|
||||
Source11: hi16-phonon-gstreamer.png
|
||||
|
@ -102,9 +116,9 @@ Source31: hi48-app-qt4-logo.png
|
|||
# if -phonon-backend, include in packaging (else it's omitted)
|
||||
%define phonon_backend_packaged 1
|
||||
%endif
|
||||
%define phonon_version 4.3.1
|
||||
%define phonon_version 4.3.50
|
||||
%define phonon_version_major 4.3
|
||||
%define phonon_release 100
|
||||
%define phonon_release 1
|
||||
%define webkit -webkit
|
||||
%define gtkstyle -gtkstyle
|
||||
%define nas -no-nas-sound
|
||||
|
@ -385,6 +399,22 @@ Qt libraries used for drawing widgets and OpenGL items.
|
|||
# security fixes
|
||||
|
||||
# kde-qt branch
|
||||
%patch201 -p1 -b .kde-qt-0001
|
||||
%patch202 -p1 -b .kde-qt-0002
|
||||
%patch203 -p1 -b .kde-qt-0003
|
||||
%patch204 -p1 -b .kde-qt-0004
|
||||
%patch205 -p1 -b .kde-qt-0005
|
||||
%patch206 -p1 -b .kde-qt-0006
|
||||
%patch207 -p1 -b .kde-qt-0007
|
||||
## needs manual love
|
||||
#patch208 -p1 -b .kde-qt-0008
|
||||
#patch209 -p1 -b .kde-qt-0009
|
||||
%patch274 -p1 -b .qt-copy-0274
|
||||
## already applied?
|
||||
#patch210 -p1 -b .kde-qt-0010
|
||||
%patch211 -p1 -b .kde-qt-0011
|
||||
%patch212 -p1 -b .kde-qt-0012
|
||||
#patch213 -p1 -b .kde-qt-0013
|
||||
|
||||
# drop -fexceptions from $RPM_OPT_FLAGS
|
||||
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fexceptions||g'`
|
||||
|
@ -750,9 +780,6 @@ fi
|
|||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%doc README LGPL_EXCEPTION.txt LICENSE.LGPL LICENSE.GPL3
|
||||
%if 0%{?kde_qt:1}
|
||||
%doc README.kde-qt
|
||||
%endif
|
||||
%if "%{_qt4_libdir}" != "%{_libdir}"
|
||||
/etc/ld.so.conf.d/*
|
||||
%dir %{_qt4_libdir}
|
||||
|
@ -965,6 +992,9 @@ fi
|
|||
|
||||
|
||||
%changelog
|
||||
* Mon Oct 26 2009 Rex Dieter <rdieter@fedoraproject.org> - 4.6.0-0.3.beta1
|
||||
- kde-qt patches (as of 20091026)
|
||||
|
||||
* Fri Oct 16 2009 Than Ngo <than@redhat.com> - 4.6.0-0.2.beta1
|
||||
- subpackage sqlite plugin, add Require on qt-sqlite in qt-x11
|
||||
for assistant
|
||||
|
|
Loading…
Reference in New Issue