[SCM] cantata/master: Imported Upstream version 1.3.4.ds1
stuart at users.alioth.debian.org
stuart at users.alioth.debian.org
Wed May 28 14:10:33 UTC 2014
The following commit has been merged in the master branch:
commit 2100210d2289bab0d3923b1cd6ec551ab295c3b0
Author: Stuart Prescott <stuart at debian.org>
Date: Wed May 14 20:43:23 2014 +1000
Imported Upstream version 1.3.4.ds1
diff --git a/3rdparty/qxt/CMakeLists.txt b/3rdparty/qxt/CMakeLists.txt
deleted file mode 100644
index 345c45c..0000000
--- a/3rdparty/qxt/CMakeLists.txt
+++ /dev/null
@@ -1,32 +0,0 @@
-cmake_minimum_required(VERSION 2.6)
-
-set(QXT-SOURCES
- qxtglobal.cpp
- qxtglobalshortcut.cpp
-)
-
-set(QXT-MOC-HEADERS
- qxtglobalshortcut.h
-)
-
-find_package(X11)
-include_directories(${X11_INCLUDE_DIR})
-
-if(WIN32)
- set(QXT-SOURCES ${QXT-SOURCES} qxtglobalshortcut_win.cpp)
-elseif(APPLE)
- set(QXT-SOURCES ${QXT-SOURCES} qxtglobalshortcut_mac.cpp)
-else(WIN32)
- set(QXT-SOURCES ${QXT-SOURCES} qxtglobalshortcut_x11.cpp)
-endif(WIN32)
-
-if (ENABLE_QT5)
- QT5_WRAP_CPP(QXT-SOURCES-MOC ${QXT-MOC-HEADERS})
-else (ENABLE_QT5)
- QT4_WRAP_CPP(QXT-SOURCES-MOC ${QXT-MOC-HEADERS})
-endif (ENABLE_QT5)
-
-ADD_LIBRARY(qxt STATIC
- ${QXT-SOURCES}
- ${QXT-SOURCES-MOC}
-)
diff --git a/3rdparty/qxt/LICENSE b/3rdparty/qxt/LICENSE
deleted file mode 100644
index 91a9970..0000000
--- a/3rdparty/qxt/LICENSE
+++ /dev/null
@@ -1,89 +0,0 @@
-Qt Extension Library
-Copyright (C) 2007 Qxt Foundation
-
-------------------- Disclaimer ------------------------------------------------
-
-Until the Qxt Foundation is legally established, copyright for the
-source code falls back to the original contributor. For information about the
-status of the Qxt Foundation, or about the copyright status of any part of Qxt,
-contact the Qxt project maintainers at <foundation at libqxt.org>
-
-Once the Qxt Foundation has been legally established, all contributors must
-transfer all copyright interest to the Qxt Foundation before their submissions
-will be added to the project.
-
-------------------- License ---------------------------------------------------
-
-This library is free software; you can redistribute it and/or modify it
-under the terms of the Common Public License, version 1.0, as published by IBM
-or under the terms of the GNU Lesser General Public License, version 2.1,
-as published by the Free Software Foundation
-
-This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY
-KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
-WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR
-FITNESS FOR A PARTICULAR PURPOSE.
-
-You should have received a copy of the CPL along with this file.
-See the LICENSE file and the cpl1.0.txt file included with the source
-distribution for more information. If you did not receive a copy of the
-license, contact the Qxt Foundation.
-
-You should have received a copy of the LGPL along with this file.
-See the LICENSE file and the lgpl-2.1.txt file included with the source
-distribution for more information. If you did not receive a copy of the
-license, contact the Qxt Foundation.
-
-Parts of Qxt depend on Qt 4 and/or other libraries that have their own
-licenses. Qxt is independent of these licenses; however, use of these other
-libraries is subject to their respective license agreements.
-
-------------------- Intent ----------------------------------------------------
-
-The following section describes the opinions and intent of the Qxt Foundation
-with regards to the licensing and use of the Qxt source code and library. In
-the event that the CPL is found to be illegal or invalid, or if any application
-or clause of the license is subjected to question or abuse, this section is a
-general statement of the desired interpretation.
-
-This section has no legal standing and the statements made here are strictly
-subject to the text of the CPL; that is, if this section and the CPL are in
-disagreement, the text of the CPL takes precedence. In no way does this
-intent grant you any additional rights or impose any additional restrictions.
-
-If you have questions about licensing, contact the maintainers.
-
-Qxt is built and supported by open-source enthusiasts.
-- Please respect the open-source background of the contributors. The code is
- provided for everyone's use; you may not restrict the rights of anyone to
- use it.
- - No individual may claim ownership of any part of the code. It belongs
- to the community.
- - You may modify the source code to suit your needs, but these changes
- must be made free. If you distribute a modified form of Qxt, you must
- also distribute the entire source code of the modified form.
- - Digital Rights Management (DRM) puts unfair, unfree restrictions on
- users and developers. It is the opposite of Free Software. We can't
- stop you from using it, but please don't use the Qxt name for software
- restricted by DRM.
-- Please respect the time and effort put into the project by the developers.
- - If you find Qxt useful, it would be appreciated if you would include
- text in your application (for instance, in the About dialog) giving
- acknowledgement to Qxt.
- - If you make modifications to the source code, you must not call the
- modified version "Qxt." It's okay to include "Qxt" in the name, but
- anyone who receives the modified version needs to know that it's not
- the same as the version distributed by the Qxt Foundation.
-- We want everyone to be able to use Qxt without restrictions.
- - If you distribute Qxt in compiled binary form, please ensure that
- everyone who receives it can get the source code used to create it.
- - You are free to use Qxt in closed-source applications as long as you
- distribute Qxt in an open-source fashion. This does not require you
- to make your entire application open-source.
-- The Qxt Foundation is a non-profit, non-political organization.
- - Please don't use the Qxt name in any political or semi-political
- propaganda or publication. We don't like it.
-- Qxt is distributed "as-is," with no warranty.
- - If it makes your program crash, your computer blow up, or tiny demons
- fly out of your nose, please don't sue us.
-
diff --git a/3rdparty/qxt/keymapper_x11.h b/3rdparty/qxt/keymapper_x11.h
deleted file mode 100644
index dec8285..0000000
--- a/3rdparty/qxt/keymapper_x11.h
+++ /dev/null
@@ -1,364 +0,0 @@
-#ifndef KEYMAPPER_X11_H
-#define KEYMAPPER_X11_H
-
-// (davidsansome) Nicked from qkeymapper_x11.cpp
-
-#include <Qt>
-
-#define XK_MISCELLANY
-#define XK_LATIN1
-#define XK_KOREAN
-#define XK_XKB_KEYS
-#include <X11/keysymdef.h>
-
-//
-// Keyboard event translation
-//
-
-#ifndef XK_ISO_Left_Tab
-#define XK_ISO_Left_Tab 0xFE20
-#endif
-
-#ifndef XK_dead_hook
-#define XK_dead_hook 0xFE61
-#endif
-
-#ifndef XK_dead_horn
-#define XK_dead_horn 0xFE62
-#endif
-
-#ifndef XK_Codeinput
-#define XK_Codeinput 0xFF37
-#endif
-
-#ifndef XK_Kanji_Bangou
-#define XK_Kanji_Bangou 0xFF37 /* same as codeinput */
-#endif
-
-// Fix old X libraries
-#ifndef XK_KP_Home
-#define XK_KP_Home 0xFF95
-#endif
-#ifndef XK_KP_Left
-#define XK_KP_Left 0xFF96
-#endif
-#ifndef XK_KP_Up
-#define XK_KP_Up 0xFF97
-#endif
-#ifndef XK_KP_Right
-#define XK_KP_Right 0xFF98
-#endif
-#ifndef XK_KP_Down
-#define XK_KP_Down 0xFF99
-#endif
-#ifndef XK_KP_Prior
-#define XK_KP_Prior 0xFF9A
-#endif
-#ifndef XK_KP_Next
-#define XK_KP_Next 0xFF9B
-#endif
-#ifndef XK_KP_End
-#define XK_KP_End 0xFF9C
-#endif
-#ifndef XK_KP_Insert
-#define XK_KP_Insert 0xFF9E
-#endif
-#ifndef XK_KP_Delete
-#define XK_KP_Delete 0xFF9F
-#endif
-
-// the next lines are taken from XFree > 4.0 (X11/XF86keysyms.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
-// end of XF86keysyms.h
-
-// Special keys used by Qtopia, mapped into the X11 private keypad range.
-#define QTOPIAXK_Select 0x11000601
-#define QTOPIAXK_Yes 0x11000602
-#define QTOPIAXK_No 0x11000603
-#define QTOPIAXK_Cancel 0x11000604
-#define QTOPIAXK_Printer 0x11000605
-#define QTOPIAXK_Execute 0x11000606
-#define QTOPIAXK_Sleep 0x11000607
-#define QTOPIAXK_Play 0x11000608
-#define QTOPIAXK_Zoom 0x11000609
-#define QTOPIAXK_Context1 0x1100060A
-#define QTOPIAXK_Context2 0x1100060B
-#define QTOPIAXK_Context3 0x1100060C
-#define QTOPIAXK_Context4 0x1100060D
-#define QTOPIAXK_Call 0x1100060E
-#define QTOPIAXK_Hangup 0x1100060F
-#define QTOPIAXK_Flip 0x11000610
-
-// keyboard mapping table
-static const unsigned int KeyTbl[] = {
-
- // misc keys
-
- XK_Escape, Qt::Key_Escape,
- XK_Tab, Qt::Key_Tab,
- XK_ISO_Left_Tab, Qt::Key_Backtab,
- XK_BackSpace, Qt::Key_Backspace,
- XK_Return, Qt::Key_Return,
- XK_Insert, Qt::Key_Insert,
- XK_Delete, Qt::Key_Delete,
- XK_Clear, Qt::Key_Delete,
- XK_Pause, Qt::Key_Pause,
- XK_Print, Qt::Key_Print,
- 0x1005FF60, Qt::Key_SysReq, // hardcoded Sun SysReq
- 0x1007ff00, Qt::Key_SysReq, // hardcoded X386 SysReq
-
- // cursor movement
-
- XK_Home, Qt::Key_Home,
- XK_End, Qt::Key_End,
- XK_Left, Qt::Key_Left,
- XK_Up, Qt::Key_Up,
- XK_Right, Qt::Key_Right,
- XK_Down, Qt::Key_Down,
- XK_Prior, Qt::Key_PageUp,
- XK_Next, Qt::Key_PageDown,
-
- // modifiers
-
- XK_Shift_L, Qt::Key_Shift,
- XK_Shift_R, Qt::Key_Shift,
- XK_Shift_Lock, Qt::Key_Shift,
- XK_Control_L, Qt::Key_Control,
- XK_Control_R, Qt::Key_Control,
- XK_Meta_L, Qt::Key_Meta,
- XK_Meta_R, Qt::Key_Meta,
- XK_Alt_L, Qt::Key_Alt,
- XK_Alt_R, Qt::Key_Alt,
- XK_Caps_Lock, Qt::Key_CapsLock,
- XK_Num_Lock, Qt::Key_NumLock,
- XK_Scroll_Lock, Qt::Key_ScrollLock,
- XK_Super_L, Qt::Key_Super_L,
- XK_Super_R, Qt::Key_Super_R,
- XK_Menu, Qt::Key_Menu,
- XK_Hyper_L, Qt::Key_Hyper_L,
- XK_Hyper_R, Qt::Key_Hyper_R,
- XK_Help, Qt::Key_Help,
- 0x1000FF74, Qt::Key_Backtab, // hardcoded HP backtab
- 0x1005FF10, Qt::Key_F11, // hardcoded Sun F36 (labeled F11)
- 0x1005FF11, Qt::Key_F12, // hardcoded Sun F37 (labeled F12)
-
- // numeric and function keypad keys
-
- XK_KP_Space, Qt::Key_Space,
- XK_KP_Tab, Qt::Key_Tab,
- XK_KP_Enter, Qt::Key_Enter,
- //XK_KP_F1, Qt::Key_F1,
- //XK_KP_F2, Qt::Key_F2,
- //XK_KP_F3, Qt::Key_F3,
- //XK_KP_F4, Qt::Key_F4,
- XK_KP_Home, Qt::Key_Home,
- XK_KP_Left, Qt::Key_Left,
- XK_KP_Up, Qt::Key_Up,
- XK_KP_Right, Qt::Key_Right,
- XK_KP_Down, Qt::Key_Down,
- XK_KP_Prior, Qt::Key_PageUp,
- XK_KP_Next, Qt::Key_PageDown,
- XK_KP_End, Qt::Key_End,
- XK_KP_Begin, Qt::Key_Clear,
- XK_KP_Insert, Qt::Key_Insert,
- XK_KP_Delete, Qt::Key_Delete,
- XK_KP_Equal, Qt::Key_Equal,
- XK_KP_Multiply, Qt::Key_Asterisk,
- XK_KP_Add, Qt::Key_Plus,
- XK_KP_Separator, Qt::Key_Comma,
- XK_KP_Subtract, Qt::Key_Minus,
- XK_KP_Decimal, Qt::Key_Period,
- XK_KP_Divide, Qt::Key_Slash,
-
- // International input method support keys
-
- // International & multi-key character composition
- XK_ISO_Level3_Shift, Qt::Key_AltGr,
- XK_Multi_key, Qt::Key_Multi_key,
- XK_Codeinput, Qt::Key_Codeinput,
- XK_SingleCandidate, Qt::Key_SingleCandidate,
- XK_MultipleCandidate, Qt::Key_MultipleCandidate,
- XK_PreviousCandidate, Qt::Key_PreviousCandidate,
-
- // Misc Functions
- XK_Mode_switch, Qt::Key_Mode_switch,
- XK_script_switch, Qt::Key_Mode_switch,
-
- // Japanese keyboard support
- XK_Kanji, Qt::Key_Kanji,
- XK_Muhenkan, Qt::Key_Muhenkan,
- //XK_Henkan_Mode, Qt::Key_Henkan_Mode,
- XK_Henkan_Mode, Qt::Key_Henkan,
- XK_Henkan, Qt::Key_Henkan,
- XK_Romaji, Qt::Key_Romaji,
- XK_Hiragana, Qt::Key_Hiragana,
- XK_Katakana, Qt::Key_Katakana,
- XK_Hiragana_Katakana, Qt::Key_Hiragana_Katakana,
- XK_Zenkaku, Qt::Key_Zenkaku,
- XK_Hankaku, Qt::Key_Hankaku,
- XK_Zenkaku_Hankaku, Qt::Key_Zenkaku_Hankaku,
- XK_Touroku, Qt::Key_Touroku,
- XK_Massyo, Qt::Key_Massyo,
- XK_Kana_Lock, Qt::Key_Kana_Lock,
- XK_Kana_Shift, Qt::Key_Kana_Shift,
- XK_Eisu_Shift, Qt::Key_Eisu_Shift,
- XK_Eisu_toggle, Qt::Key_Eisu_toggle,
- //XK_Kanji_Bangou, Qt::Key_Kanji_Bangou,
- //XK_Zen_Koho, Qt::Key_Zen_Koho,
- //XK_Mae_Koho, Qt::Key_Mae_Koho,
- XK_Kanji_Bangou, Qt::Key_Codeinput,
- XK_Zen_Koho, Qt::Key_MultipleCandidate,
- XK_Mae_Koho, Qt::Key_PreviousCandidate,
-
-#ifdef XK_KOREAN
- // Korean keyboard support
- XK_Hangul, Qt::Key_Hangul,
- XK_Hangul_Start, Qt::Key_Hangul_Start,
- XK_Hangul_End, Qt::Key_Hangul_End,
- XK_Hangul_Hanja, Qt::Key_Hangul_Hanja,
- XK_Hangul_Jamo, Qt::Key_Hangul_Jamo,
- XK_Hangul_Romaja, Qt::Key_Hangul_Romaja,
- //XK_Hangul_Codeinput, Qt::Key_Hangul_Codeinput,
- XK_Hangul_Codeinput, Qt::Key_Codeinput,
- XK_Hangul_Jeonja, Qt::Key_Hangul_Jeonja,
- XK_Hangul_Banja, Qt::Key_Hangul_Banja,
- XK_Hangul_PreHanja, Qt::Key_Hangul_PreHanja,
- XK_Hangul_PostHanja, Qt::Key_Hangul_PostHanja,
- //XK_Hangul_SingleCandidate,Qt::Key_Hangul_SingleCandidate,
- //XK_Hangul_MultipleCandidate,Qt::Key_Hangul_MultipleCandidate,
- //XK_Hangul_PreviousCandidate,Qt::Key_Hangul_PreviousCandidate,
- XK_Hangul_SingleCandidate, Qt::Key_SingleCandidate,
- XK_Hangul_MultipleCandidate,Qt::Key_MultipleCandidate,
- XK_Hangul_PreviousCandidate,Qt::Key_PreviousCandidate,
- XK_Hangul_Special, Qt::Key_Hangul_Special,
- //XK_Hangul_switch, Qt::Key_Hangul_switch,
- XK_Hangul_switch, Qt::Key_Mode_switch,
-#endif // XK_KOREAN
-
- // dead keys
- XK_dead_grave, Qt::Key_Dead_Grave,
- XK_dead_acute, Qt::Key_Dead_Acute,
- XK_dead_circumflex, Qt::Key_Dead_Circumflex,
- XK_dead_tilde, Qt::Key_Dead_Tilde,
- XK_dead_macron, Qt::Key_Dead_Macron,
- XK_dead_breve, Qt::Key_Dead_Breve,
- XK_dead_abovedot, Qt::Key_Dead_Abovedot,
- XK_dead_diaeresis, Qt::Key_Dead_Diaeresis,
- XK_dead_abovering, Qt::Key_Dead_Abovering,
- XK_dead_doubleacute, Qt::Key_Dead_Doubleacute,
- XK_dead_caron, Qt::Key_Dead_Caron,
- XK_dead_cedilla, Qt::Key_Dead_Cedilla,
- XK_dead_ogonek, Qt::Key_Dead_Ogonek,
- XK_dead_iota, Qt::Key_Dead_Iota,
- XK_dead_voiced_sound, Qt::Key_Dead_Voiced_Sound,
- XK_dead_semivoiced_sound, Qt::Key_Dead_Semivoiced_Sound,
- XK_dead_belowdot, Qt::Key_Dead_Belowdot,
- 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
- XF86XK_Back, Qt::Key_Back,
- XF86XK_Forward, Qt::Key_Forward,
- XF86XK_Stop, Qt::Key_Stop,
- XF86XK_Refresh, Qt::Key_Refresh,
- XF86XK_Favorites, Qt::Key_Favorites,
- XF86XK_AudioMedia, Qt::Key_LaunchMedia,
- 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,
- XF86XK_AudioPlay, Qt::Key_MediaPlay,
- XF86XK_AudioStop, Qt::Key_MediaStop,
- 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_Standby, Qt::Key_Standby,
-
- XF86XK_Launch0, Qt::Key_Launch2,
- XF86XK_Launch1, Qt::Key_Launch3,
- XF86XK_Launch2, Qt::Key_Launch4,
- XF86XK_Launch3, Qt::Key_Launch5,
- XF86XK_Launch4, Qt::Key_Launch6,
- XF86XK_Launch5, Qt::Key_Launch7,
- XF86XK_Launch6, Qt::Key_Launch8,
- XF86XK_Launch7, Qt::Key_Launch9,
- XF86XK_Launch8, Qt::Key_LaunchA,
- XF86XK_Launch9, Qt::Key_LaunchB,
- XF86XK_LaunchA, Qt::Key_LaunchC,
- XF86XK_LaunchB, Qt::Key_LaunchD,
- XF86XK_LaunchC, Qt::Key_LaunchE,
- XF86XK_LaunchD, Qt::Key_LaunchF,
-
- // Qtopia keys
- QTOPIAXK_Select, Qt::Key_Select,
- QTOPIAXK_Yes, Qt::Key_Yes,
- QTOPIAXK_No, Qt::Key_No,
- QTOPIAXK_Cancel, Qt::Key_Cancel,
- QTOPIAXK_Printer, Qt::Key_Printer,
- QTOPIAXK_Execute, Qt::Key_Execute,
- QTOPIAXK_Sleep, Qt::Key_Sleep,
- QTOPIAXK_Play, Qt::Key_Play,
- QTOPIAXK_Zoom, Qt::Key_Zoom,
- QTOPIAXK_Context1, Qt::Key_Context1,
- QTOPIAXK_Context2, Qt::Key_Context2,
- QTOPIAXK_Context3, Qt::Key_Context3,
- QTOPIAXK_Context4, Qt::Key_Context4,
- QTOPIAXK_Call, Qt::Key_Call,
- QTOPIAXK_Hangup, Qt::Key_Hangup,
- QTOPIAXK_Flip, Qt::Key_Flip,
-
- 0, 0
-};
-
-#endif // KEYMAPPER_X11_H
diff --git a/3rdparty/qxt/media-keys.patch b/3rdparty/qxt/media-keys.patch
deleted file mode 100644
index 31e52f3..0000000
--- a/3rdparty/qxt/media-keys.patch
+++ /dev/null
@@ -1,432 +0,0 @@
-diff -ru libqxt-old/src/gui/keymapper_x11.h libqxt/src/gui/keymapper_x11.h
---- libqxt-old/src/gui/keymapper_x11.h 2010-04-21 15:17:56.000000000 +0100
-+++ libqxt/src/gui/keymapper_x11.h 2010-04-21 15:18:16.000000000 +0100
-@@ -0,0 +1,364 @@
-+#ifndef KEYMAPPER_X11_H
-+#define KEYMAPPER_X11_H
-+
-+// (davidsansome) Nicked from qkeymapper_x11.cpp
-+
-+#include <Qt>
-+
-+#define XK_MISCELLANY
-+#define XK_LATIN1
-+#define XK_KOREAN
-+#define XK_XKB_KEYS
-+#include <X11/keysymdef.h>
-+
-+//
-+// Keyboard event translation
-+//
-+
-+#ifndef XK_ISO_Left_Tab
-+#define XK_ISO_Left_Tab 0xFE20
-+#endif
-+
-+#ifndef XK_dead_hook
-+#define XK_dead_hook 0xFE61
-+#endif
-+
-+#ifndef XK_dead_horn
-+#define XK_dead_horn 0xFE62
-+#endif
-+
-+#ifndef XK_Codeinput
-+#define XK_Codeinput 0xFF37
-+#endif
-+
-+#ifndef XK_Kanji_Bangou
-+#define XK_Kanji_Bangou 0xFF37 /* same as codeinput */
-+#endif
-+
-+// Fix old X libraries
-+#ifndef XK_KP_Home
-+#define XK_KP_Home 0xFF95
-+#endif
-+#ifndef XK_KP_Left
-+#define XK_KP_Left 0xFF96
-+#endif
-+#ifndef XK_KP_Up
-+#define XK_KP_Up 0xFF97
-+#endif
-+#ifndef XK_KP_Right
-+#define XK_KP_Right 0xFF98
-+#endif
-+#ifndef XK_KP_Down
-+#define XK_KP_Down 0xFF99
-+#endif
-+#ifndef XK_KP_Prior
-+#define XK_KP_Prior 0xFF9A
-+#endif
-+#ifndef XK_KP_Next
-+#define XK_KP_Next 0xFF9B
-+#endif
-+#ifndef XK_KP_End
-+#define XK_KP_End 0xFF9C
-+#endif
-+#ifndef XK_KP_Insert
-+#define XK_KP_Insert 0xFF9E
-+#endif
-+#ifndef XK_KP_Delete
-+#define XK_KP_Delete 0xFF9F
-+#endif
-+
-+// the next lines are taken from XFree > 4.0 (X11/XF86keysyms.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
-+// end of XF86keysyms.h
-+
-+// Special keys used by Qtopia, mapped into the X11 private keypad range.
-+#define QTOPIAXK_Select 0x11000601
-+#define QTOPIAXK_Yes 0x11000602
-+#define QTOPIAXK_No 0x11000603
-+#define QTOPIAXK_Cancel 0x11000604
-+#define QTOPIAXK_Printer 0x11000605
-+#define QTOPIAXK_Execute 0x11000606
-+#define QTOPIAXK_Sleep 0x11000607
-+#define QTOPIAXK_Play 0x11000608
-+#define QTOPIAXK_Zoom 0x11000609
-+#define QTOPIAXK_Context1 0x1100060A
-+#define QTOPIAXK_Context2 0x1100060B
-+#define QTOPIAXK_Context3 0x1100060C
-+#define QTOPIAXK_Context4 0x1100060D
-+#define QTOPIAXK_Call 0x1100060E
-+#define QTOPIAXK_Hangup 0x1100060F
-+#define QTOPIAXK_Flip 0x11000610
-+
-+// keyboard mapping table
-+static const unsigned int KeyTbl[] = {
-+
-+ // misc keys
-+
-+ XK_Escape, Qt::Key_Escape,
-+ XK_Tab, Qt::Key_Tab,
-+ XK_ISO_Left_Tab, Qt::Key_Backtab,
-+ XK_BackSpace, Qt::Key_Backspace,
-+ XK_Return, Qt::Key_Return,
-+ XK_Insert, Qt::Key_Insert,
-+ XK_Delete, Qt::Key_Delete,
-+ XK_Clear, Qt::Key_Delete,
-+ XK_Pause, Qt::Key_Pause,
-+ XK_Print, Qt::Key_Print,
-+ 0x1005FF60, Qt::Key_SysReq, // hardcoded Sun SysReq
-+ 0x1007ff00, Qt::Key_SysReq, // hardcoded X386 SysReq
-+
-+ // cursor movement
-+
-+ XK_Home, Qt::Key_Home,
-+ XK_End, Qt::Key_End,
-+ XK_Left, Qt::Key_Left,
-+ XK_Up, Qt::Key_Up,
-+ XK_Right, Qt::Key_Right,
-+ XK_Down, Qt::Key_Down,
-+ XK_Prior, Qt::Key_PageUp,
-+ XK_Next, Qt::Key_PageDown,
-+
-+ // modifiers
-+
-+ XK_Shift_L, Qt::Key_Shift,
-+ XK_Shift_R, Qt::Key_Shift,
-+ XK_Shift_Lock, Qt::Key_Shift,
-+ XK_Control_L, Qt::Key_Control,
-+ XK_Control_R, Qt::Key_Control,
-+ XK_Meta_L, Qt::Key_Meta,
-+ XK_Meta_R, Qt::Key_Meta,
-+ XK_Alt_L, Qt::Key_Alt,
-+ XK_Alt_R, Qt::Key_Alt,
-+ XK_Caps_Lock, Qt::Key_CapsLock,
-+ XK_Num_Lock, Qt::Key_NumLock,
-+ XK_Scroll_Lock, Qt::Key_ScrollLock,
-+ XK_Super_L, Qt::Key_Super_L,
-+ XK_Super_R, Qt::Key_Super_R,
-+ XK_Menu, Qt::Key_Menu,
-+ XK_Hyper_L, Qt::Key_Hyper_L,
-+ XK_Hyper_R, Qt::Key_Hyper_R,
-+ XK_Help, Qt::Key_Help,
-+ 0x1000FF74, Qt::Key_Backtab, // hardcoded HP backtab
-+ 0x1005FF10, Qt::Key_F11, // hardcoded Sun F36 (labeled F11)
-+ 0x1005FF11, Qt::Key_F12, // hardcoded Sun F37 (labeled F12)
-+
-+ // numeric and function keypad keys
-+
-+ XK_KP_Space, Qt::Key_Space,
-+ XK_KP_Tab, Qt::Key_Tab,
-+ XK_KP_Enter, Qt::Key_Enter,
-+ //XK_KP_F1, Qt::Key_F1,
-+ //XK_KP_F2, Qt::Key_F2,
-+ //XK_KP_F3, Qt::Key_F3,
-+ //XK_KP_F4, Qt::Key_F4,
-+ XK_KP_Home, Qt::Key_Home,
-+ XK_KP_Left, Qt::Key_Left,
-+ XK_KP_Up, Qt::Key_Up,
-+ XK_KP_Right, Qt::Key_Right,
-+ XK_KP_Down, Qt::Key_Down,
-+ XK_KP_Prior, Qt::Key_PageUp,
-+ XK_KP_Next, Qt::Key_PageDown,
-+ XK_KP_End, Qt::Key_End,
-+ XK_KP_Begin, Qt::Key_Clear,
-+ XK_KP_Insert, Qt::Key_Insert,
-+ XK_KP_Delete, Qt::Key_Delete,
-+ XK_KP_Equal, Qt::Key_Equal,
-+ XK_KP_Multiply, Qt::Key_Asterisk,
-+ XK_KP_Add, Qt::Key_Plus,
-+ XK_KP_Separator, Qt::Key_Comma,
-+ XK_KP_Subtract, Qt::Key_Minus,
-+ XK_KP_Decimal, Qt::Key_Period,
-+ XK_KP_Divide, Qt::Key_Slash,
-+
-+ // International input method support keys
-+
-+ // International & multi-key character composition
-+ XK_ISO_Level3_Shift, Qt::Key_AltGr,
-+ XK_Multi_key, Qt::Key_Multi_key,
-+ XK_Codeinput, Qt::Key_Codeinput,
-+ XK_SingleCandidate, Qt::Key_SingleCandidate,
-+ XK_MultipleCandidate, Qt::Key_MultipleCandidate,
-+ XK_PreviousCandidate, Qt::Key_PreviousCandidate,
-+
-+ // Misc Functions
-+ XK_Mode_switch, Qt::Key_Mode_switch,
-+ XK_script_switch, Qt::Key_Mode_switch,
-+
-+ // Japanese keyboard support
-+ XK_Kanji, Qt::Key_Kanji,
-+ XK_Muhenkan, Qt::Key_Muhenkan,
-+ //XK_Henkan_Mode, Qt::Key_Henkan_Mode,
-+ XK_Henkan_Mode, Qt::Key_Henkan,
-+ XK_Henkan, Qt::Key_Henkan,
-+ XK_Romaji, Qt::Key_Romaji,
-+ XK_Hiragana, Qt::Key_Hiragana,
-+ XK_Katakana, Qt::Key_Katakana,
-+ XK_Hiragana_Katakana, Qt::Key_Hiragana_Katakana,
-+ XK_Zenkaku, Qt::Key_Zenkaku,
-+ XK_Hankaku, Qt::Key_Hankaku,
-+ XK_Zenkaku_Hankaku, Qt::Key_Zenkaku_Hankaku,
-+ XK_Touroku, Qt::Key_Touroku,
-+ XK_Massyo, Qt::Key_Massyo,
-+ XK_Kana_Lock, Qt::Key_Kana_Lock,
-+ XK_Kana_Shift, Qt::Key_Kana_Shift,
-+ XK_Eisu_Shift, Qt::Key_Eisu_Shift,
-+ XK_Eisu_toggle, Qt::Key_Eisu_toggle,
-+ //XK_Kanji_Bangou, Qt::Key_Kanji_Bangou,
-+ //XK_Zen_Koho, Qt::Key_Zen_Koho,
-+ //XK_Mae_Koho, Qt::Key_Mae_Koho,
-+ XK_Kanji_Bangou, Qt::Key_Codeinput,
-+ XK_Zen_Koho, Qt::Key_MultipleCandidate,
-+ XK_Mae_Koho, Qt::Key_PreviousCandidate,
-+
-+#ifdef XK_KOREAN
-+ // Korean keyboard support
-+ XK_Hangul, Qt::Key_Hangul,
-+ XK_Hangul_Start, Qt::Key_Hangul_Start,
-+ XK_Hangul_End, Qt::Key_Hangul_End,
-+ XK_Hangul_Hanja, Qt::Key_Hangul_Hanja,
-+ XK_Hangul_Jamo, Qt::Key_Hangul_Jamo,
-+ XK_Hangul_Romaja, Qt::Key_Hangul_Romaja,
-+ //XK_Hangul_Codeinput, Qt::Key_Hangul_Codeinput,
-+ XK_Hangul_Codeinput, Qt::Key_Codeinput,
-+ XK_Hangul_Jeonja, Qt::Key_Hangul_Jeonja,
-+ XK_Hangul_Banja, Qt::Key_Hangul_Banja,
-+ XK_Hangul_PreHanja, Qt::Key_Hangul_PreHanja,
-+ XK_Hangul_PostHanja, Qt::Key_Hangul_PostHanja,
-+ //XK_Hangul_SingleCandidate,Qt::Key_Hangul_SingleCandidate,
-+ //XK_Hangul_MultipleCandidate,Qt::Key_Hangul_MultipleCandidate,
-+ //XK_Hangul_PreviousCandidate,Qt::Key_Hangul_PreviousCandidate,
-+ XK_Hangul_SingleCandidate, Qt::Key_SingleCandidate,
-+ XK_Hangul_MultipleCandidate,Qt::Key_MultipleCandidate,
-+ XK_Hangul_PreviousCandidate,Qt::Key_PreviousCandidate,
-+ XK_Hangul_Special, Qt::Key_Hangul_Special,
-+ //XK_Hangul_switch, Qt::Key_Hangul_switch,
-+ XK_Hangul_switch, Qt::Key_Mode_switch,
-+#endif // XK_KOREAN
-+
-+ // dead keys
-+ XK_dead_grave, Qt::Key_Dead_Grave,
-+ XK_dead_acute, Qt::Key_Dead_Acute,
-+ XK_dead_circumflex, Qt::Key_Dead_Circumflex,
-+ XK_dead_tilde, Qt::Key_Dead_Tilde,
-+ XK_dead_macron, Qt::Key_Dead_Macron,
-+ XK_dead_breve, Qt::Key_Dead_Breve,
-+ XK_dead_abovedot, Qt::Key_Dead_Abovedot,
-+ XK_dead_diaeresis, Qt::Key_Dead_Diaeresis,
-+ XK_dead_abovering, Qt::Key_Dead_Abovering,
-+ XK_dead_doubleacute, Qt::Key_Dead_Doubleacute,
-+ XK_dead_caron, Qt::Key_Dead_Caron,
-+ XK_dead_cedilla, Qt::Key_Dead_Cedilla,
-+ XK_dead_ogonek, Qt::Key_Dead_Ogonek,
-+ XK_dead_iota, Qt::Key_Dead_Iota,
-+ XK_dead_voiced_sound, Qt::Key_Dead_Voiced_Sound,
-+ XK_dead_semivoiced_sound, Qt::Key_Dead_Semivoiced_Sound,
-+ XK_dead_belowdot, Qt::Key_Dead_Belowdot,
-+ 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
-+ XF86XK_Back, Qt::Key_Back,
-+ XF86XK_Forward, Qt::Key_Forward,
-+ XF86XK_Stop, Qt::Key_Stop,
-+ XF86XK_Refresh, Qt::Key_Refresh,
-+ XF86XK_Favorites, Qt::Key_Favorites,
-+ XF86XK_AudioMedia, Qt::Key_LaunchMedia,
-+ 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,
-+ XF86XK_AudioPlay, Qt::Key_MediaPlay,
-+ XF86XK_AudioStop, Qt::Key_MediaStop,
-+ 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_Standby, Qt::Key_Standby,
-+
-+ XF86XK_Launch0, Qt::Key_Launch2,
-+ XF86XK_Launch1, Qt::Key_Launch3,
-+ XF86XK_Launch2, Qt::Key_Launch4,
-+ XF86XK_Launch3, Qt::Key_Launch5,
-+ XF86XK_Launch4, Qt::Key_Launch6,
-+ XF86XK_Launch5, Qt::Key_Launch7,
-+ XF86XK_Launch6, Qt::Key_Launch8,
-+ XF86XK_Launch7, Qt::Key_Launch9,
-+ XF86XK_Launch8, Qt::Key_LaunchA,
-+ XF86XK_Launch9, Qt::Key_LaunchB,
-+ XF86XK_LaunchA, Qt::Key_LaunchC,
-+ XF86XK_LaunchB, Qt::Key_LaunchD,
-+ XF86XK_LaunchC, Qt::Key_LaunchE,
-+ XF86XK_LaunchD, Qt::Key_LaunchF,
-+
-+ // Qtopia keys
-+ QTOPIAXK_Select, Qt::Key_Select,
-+ QTOPIAXK_Yes, Qt::Key_Yes,
-+ QTOPIAXK_No, Qt::Key_No,
-+ QTOPIAXK_Cancel, Qt::Key_Cancel,
-+ QTOPIAXK_Printer, Qt::Key_Printer,
-+ QTOPIAXK_Execute, Qt::Key_Execute,
-+ QTOPIAXK_Sleep, Qt::Key_Sleep,
-+ QTOPIAXK_Play, Qt::Key_Play,
-+ QTOPIAXK_Zoom, Qt::Key_Zoom,
-+ QTOPIAXK_Context1, Qt::Key_Context1,
-+ QTOPIAXK_Context2, Qt::Key_Context2,
-+ QTOPIAXK_Context3, Qt::Key_Context3,
-+ QTOPIAXK_Context4, Qt::Key_Context4,
-+ QTOPIAXK_Call, Qt::Key_Call,
-+ QTOPIAXK_Hangup, Qt::Key_Hangup,
-+ QTOPIAXK_Flip, Qt::Key_Flip,
-+
-+ 0, 0
-+};
-+
-+#endif // KEYMAPPER_X11_H
-diff -ru libqxt-old/src/gui/qxtglobalshortcut_win.cpp libqxt/src/gui/qxtglobalshortcut_win.cpp
---- libqxt-old/src/gui/qxtglobalshortcut_win.cpp 2010-04-21 15:17:56.000000000 +0100
-+++ libqxt/src/gui/qxtglobalshortcut_win.cpp 2010-04-21 15:18:16.000000000 +0100
-@@ -156,6 +156,21 @@
- case Qt::Key_Slash:
- return VK_DIVIDE;
-
-+ case Qt::Key_MediaNext:
-+ return VK_MEDIA_NEXT_TRACK;
-+ case Qt::Key_MediaPrevious:
-+ return VK_MEDIA_PREV_TRACK;
-+ case Qt::Key_MediaStop:
-+ return VK_MEDIA_STOP;
-+ case Qt::Key_MediaPlay:
-+ return VK_MEDIA_PLAY_PAUSE;
-+ case Qt::Key_VolumeDown:
-+ return VK_VOLUME_DOWN;
-+ case Qt::Key_VolumeUp:
-+ return VK_VOLUME_UP;
-+ case Qt::Key_VolumeMute:
-+ return VK_VOLUME_MUTE;
-+
- // numbers
- case Qt::Key_0:
- case Qt::Key_1:
-diff -ru libqxt-old/src/gui/qxtglobalshortcut_x11.cpp libqxt/src/gui/qxtglobalshortcut_x11.cpp
---- libqxt-old/src/gui/qxtglobalshortcut_x11.cpp 2010-04-21 15:17:56.000000000 +0100
-+++ libqxt/src/gui/qxtglobalshortcut_x11.cpp 2010-04-21 15:18:16.000000000 +0100
-@@ -26,6 +26,8 @@
- #include <QX11Info>
- #include <X11/Xlib.h>
-
-+#include "keymapper_x11.h"
-+
- static int (*original_x_errhandler)(Display* display, XErrorEvent* event);
-
- static int qxt_x_errhandler(Display* display, XErrorEvent *event)
-@@ -81,8 +83,25 @@
-
- quint32 QxtGlobalShortcutPrivate::nativeKeycode(Qt::Key key)
- {
-+ // (davidsansome) Try the table from QKeyMapper first - this seems to be
-+ // the only way to get Keysyms for the media keys.
-+ unsigned int keysym = 0;
-+ int i = 0;
-+ while (KeyTbl[i]) {
-+ if (KeyTbl[i+1] == static_cast<uint>(key)) {
-+ keysym = KeyTbl[i];
-+ break;
-+ }
-+ i += 2;
-+ }
-+
-+ // If that didn't work then fall back on XStringToKeysym
-+ if (!keysym) {
-+ keysym = XStringToKeysym(QKeySequence(key).toString().toLatin1().data());
-+ }
-+
- Display* display = QX11Info::display();
-- return XKeysymToKeycode(display, XStringToKeysym(QKeySequence(key).toString().toLatin1().data()));
-+ return XKeysymToKeycode(display, keysym);
- }
-
- bool QxtGlobalShortcutPrivate::registerShortcut(quint32 nativeKey, quint32 nativeMods)
diff --git a/3rdparty/qxt/meta-modifier.patch b/3rdparty/qxt/meta-modifier.patch
deleted file mode 100644
index f77b97a..0000000
--- a/3rdparty/qxt/meta-modifier.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Index: qxtglobalshortcut_x11.cpp
-===================================================================
---- qxtglobalshortcut_x11.cpp (revision 1208)
-+++ qxtglobalshortcut_x11.cpp (working copy)
-@@ -74,8 +74,9 @@
- native |= ControlMask;
- if (modifiers & Qt::AltModifier)
- native |= Mod1Mask;
-+ if (modifiers & Qt::MetaModifier)
-+ native |= Mod4Mask;
- // TODO: resolve these?
-- //if (modifiers & Qt::MetaModifier)
- //if (modifiers & Qt::KeypadModifier)
- //if (modifiers & Qt::GroupSwitchModifier)
- return native;
diff --git a/3rdparty/qxt/qxtglobal.cpp b/3rdparty/qxt/qxtglobal.cpp
deleted file mode 100644
index fe7b9e7..0000000
--- a/3rdparty/qxt/qxtglobal.cpp
+++ /dev/null
@@ -1,241 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) Qxt Foundation. Some rights reserved.
- **
- ** This file is part of the QxtCore module of the Qxt library.
- **
- ** This library is free software; you can redistribute it and/or modify it
- ** under the terms of the Common Public License, version 1.0, as published
- ** by IBM, and/or under the terms of the GNU Lesser General Public License,
- ** version 2.1, as published by the Free Software Foundation.
- **
- ** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY
- ** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
- ** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR
- ** FITNESS FOR A PARTICULAR PURPOSE.
- **
- ** You should have received a copy of the CPL and the LGPL along with this
- ** file. See the LICENSE file and the cpl1.0.txt/lgpl-2.1.txt files
- ** included with the source distribution for more information.
- ** If you did not receive a copy of the licenses, contact the Qxt Foundation.
- **
- ** <http://libqxt.org> <foundation at libqxt.org>
- **
- ****************************************************************************/
-
-#include "qxtglobal.h"
-
-/*!
- \headerfile <QxtGlobal>
- \title Global Qxt Declarations
- \inmodule QxtCore
-
- \brief The <QxtGlobal> header provides basic declarations and
- is included by all other Qxt headers.
- */
-
-/*!
- \macro QXT_VERSION
- \relates <QxtGlobal>
-
- This macro expands a numeric value of the form 0xMMNNPP (MM =
- major, NN = minor, PP = patch) that specifies Qxt's version
- number. For example, if you compile your application against Qxt
- 0.4.0, the QXT_VERSION macro will expand to 0x000400.
-
- You can use QXT_VERSION to use the latest Qt features where
- available. For example:
- \code
- #if QXT_VERSION >= 0x000400
- qxtTabWidget->setTabMovementMode(QxtTabWidget::InPlaceMovement);
- #endif
- \endcode
-
- \sa QXT_VERSION_STR, qxtVersion()
- */
-
-/*!
- \macro QXT_VERSION_STR
- \relates <QxtGlobal>
-
- This macro expands to a string that specifies Qxt's version number
- (for example, "0.4.0"). This is the version against which the
- application is compiled.
-
- \sa qxtVersion(), QXT_VERSION
- */
-
-/*!
- \relates <QxtGlobal>
-
- Returns the version number of Qxt at run-time as a string (for
- example, "0.4.0"). This may be a different version than the
- version the application was compiled against.
-
- \sa QXT_VERSION_STR
- */
-const char* qxtVersion()
-{
- return QXT_VERSION_STR;
-}
-
-/*!
-\headerfile <QxtPimpl>
-\title The Qxt private implementation
-\inmodule QxtCore
-
-\brief The <QxtPimpl> header provides tools for hiding
-details of a class.
-
-Application code generally doesn't have to be concerned about hiding its
-implementation details, but when writing library code it is important to
-maintain a constant interface, both source and binary. Maintaining a constant
-source interface is easy enough, but keeping the binary interface constant
-means moving implementation details into a private class. The PIMPL, or
-d-pointer, idiom is a common method of implementing this separation. QxtPimpl
-offers a convenient way to connect the public and private sides of your class.
-
-\section1 Getting Started
-Before you declare the public class, you need to make a forward declaration
-of the private class. The private class must have the same name as the public
-class, followed by the word Private. For example, a class named MyTest would
-declare the private class with:
-\code
-class MyTestPrivate;
-\endcode
-
-\section1 The Public Class
-Generally, you shouldn't keep any data members in the public class without a
-good reason. Functions that are part of the public interface should be declared
-in the public class, and functions that need to be available to subclasses (for
-calling or overriding) should be in the protected section of the public class.
-To connect the private class to the public class, include the
-QXT_DECLARE_PRIVATE macro in the private section of the public class. In the
-example above, the private class is connected as follows:
-\code
-private:
- QXT_DECLARE_PRIVATE(MyTest)
-\endcode
-
-Additionally, you must include the QXT_INIT_PRIVATE macro in the public class's
-constructor. Continuing with the MyTest example, your constructor might look
-like this:
-\code
-MyTest::MyTest() {
- // initialization
- QXT_INIT_PRIVATE(MyTest);
-}
-\endcode
-
-\section1 The Private Class
-As mentioned above, data members should usually be kept in the private class.
-This allows the memory layout of the private class to change without breaking
-binary compatibility for the public class. Functions that exist only as
-implementation details, or functions that need access to private data members,
-should be implemented here.
-
-To define the private class, inherit from the template QxtPrivate class, and
-include the QXT_DECLARE_PUBLIC macro in its public section. The template
-parameter should be the name of the public class. For example:
-\code
-class MyTestPrivate : public QxtPrivate<MyTest> {
-public:
- MyTestPrivate();
- QXT_DECLARE_PUBLIC(MyTest)
-};
-\endcode
-
-\section1 Accessing Private Members
-Use the qxt_d() function (actually a function-like object) from functions in
-the public class to access the private class. Similarly, functions in the
-private class can invoke functions in the public class by using the qxt_p()
-function (this one's actually a function).
-
-For example, assume that MyTest has methods named getFoobar and doBaz(),
-and MyTestPrivate has a member named foobar and a method named doQuux().
-The code might resemble this example:
-\code
-int MyTest::getFoobar() {
- return qxt_d().foobar;
-}
-
-void MyTestPrivate::doQuux() {
- qxt_p().doBaz(foobar);
-}
-\endcode
-*/
-
-/*!
- * \macro QXT_DECLARE_PRIVATE(PUB)
- * \relates <QxtPimpl>
- * Declares that a public class has a related private class.
- *
- * This shuold be put in the private section of the public class. The parameter is the name of the public class.
- */
-
-/*!
- * \macro QXT_DECLARE_PUBLIC(PUB)
- * \relates <QxtPimpl>
- * Declares that a private class has a related public class.
- *
- * This may be put anywhere in the declaration of the private class. The parameter is the name of the public class.
- */
-
-/*!
- * \macro QXT_INIT_PRIVATE(PUB)
- * \relates <QxtPimpl>
- * Initializes resources owned by the private class.
- *
- * This should be called from the public class's constructor,
- * before qxt_d() is used for the first time. The parameter is the name of the public class.
- */
-
-/*!
- * \macro QXT_D(PUB)
- * \relates <QxtPimpl>
- * Returns a reference in the current scope named "d" to the private class.
- *
- * This function is only available in a class using \a QXT_DECLARE_PRIVATE.
- */
-
-/*!
- * \macro QXT_P(PUB)
- * \relates <QxtPimpl>
- * Creates a reference in the current scope named "q" to the public class.
- *
- * This macro only works in a class using \a QXT_DECLARE_PUBLIC.
- */
-
-/*!
- * \fn QxtPrivate<PUB>& PUB::qxt_d()
- * \relates <QxtPimpl>
- * Returns a reference to the private class.
- *
- * This function is only available in a class using \a QXT_DECLARE_PRIVATE.
- */
-
-/*!
- * \fn const QxtPrivate<PUB>& PUB::qxt_d() const
- * \relates <QxtPimpl>
- * Returns a const reference to the private class.
- *
- * This function is only available in a class using \a QXT_DECLARE_PRIVATE.
- * This overload will be automatically used in const functions.
- */
-
-/*!
- * \fn PUB& QxtPrivate::qxt_p()
- * \relates <QxtPimpl>
- * Returns a reference to the public class.
- *
- * This function is only available in a class using \a QXT_DECLARE_PUBLIC.
- */
-
-/*!
- * \fn const PUB& QxtPrivate::qxt_p() const
- * \relates <QxtPimpl>
- * Returns a const reference to the public class.
- *
- * This function is only available in a class using \a QXT_DECLARE_PUBLIC.
- * This overload will be automatically used in const functions.
- */
diff --git a/3rdparty/qxt/qxtglobal.h b/3rdparty/qxt/qxtglobal.h
deleted file mode 100644
index 038ceaf..0000000
--- a/3rdparty/qxt/qxtglobal.h
+++ /dev/null
@@ -1,207 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) Qxt Foundation. Some rights reserved.
- **
- ** This file is part of the QxtCore module of the Qxt library.
- **
- ** This library is free software; you can redistribute it and/or modify it
- ** under the terms of the Common Public License, version 1.0, as published
- ** by IBM, and/or under the terms of the GNU Lesser General Public License,
- ** version 2.1, as published by the Free Software Foundation.
- **
- ** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY
- ** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
- ** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR
- ** FITNESS FOR A PARTICULAR PURPOSE.
- **
- ** You should have received a copy of the CPL and the LGPL along with this
- ** file. See the LICENSE file and the cpl1.0.txt/lgpl-2.1.txt files
- ** included with the source distribution for more information.
- ** If you did not receive a copy of the licenses, contact the Qxt Foundation.
- **
- ** <http://libqxt.org> <foundation at libqxt.org>
- **
- ****************************************************************************/
-
-#ifndef QXTGLOBAL_H
-#define QXTGLOBAL_H
-
-#include <qglobal.h>
-
-#define QXT_VERSION 0x000600
-#define QXT_VERSION_STR "0.6.0"
-
-//--------------------------global macros------------------------------
-
-#ifndef QXT_NO_MACROS
-
-#endif // QXT_NO_MACROS
-
-//--------------------------export macros------------------------------
-
-#define QXT_DLLEXPORT DO_NOT_USE_THIS_ANYMORE
-
-#if !defined(QXT_STATIC)
-# if defined(BUILD_QXT_CORE)
-# define QXT_CORE_EXPORT Q_DECL_EXPORT
-# else
-# define QXT_CORE_EXPORT Q_DECL_IMPORT
-# endif
-#else
-# define QXT_CORE_EXPORT
-#endif // BUILD_QXT_CORE
-
-#if !defined(QXT_STATIC)
-# if defined(BUILD_QXT_GUI)
-# define QXT_GUI_EXPORT Q_DECL_EXPORT
-# else
-# define QXT_GUI_EXPORT Q_DECL_IMPORT
-# endif
-#else
-# define QXT_GUI_EXPORT
-#endif // BUILD_QXT_GUI
-
-#if !defined(QXT_STATIC)
-# if defined(BUILD_QXT_NETWORK)
-# define QXT_NETWORK_EXPORT Q_DECL_EXPORT
-# else
-# define QXT_NETWORK_EXPORT Q_DECL_IMPORT
-# endif
-#else
-# define QXT_NETWORK_EXPORT
-#endif // BUILD_QXT_NETWORK
-
-#if !defined(QXT_STATIC)
-# if defined(BUILD_QXT_SQL)
-# define QXT_SQL_EXPORT Q_DECL_EXPORT
-# else
-# define QXT_SQL_EXPORT Q_DECL_IMPORT
-# endif
-#else
-# define QXT_SQL_EXPORT
-#endif // BUILD_QXT_SQL
-
-#if !defined(QXT_STATIC)
-# if defined(BUILD_QXT_WEB)
-# define QXT_WEB_EXPORT Q_DECL_EXPORT
-# else
-# define QXT_WEB_EXPORT Q_DECL_IMPORT
-# endif
-#else
-# define QXT_WEB_EXPORT
-#endif // BUILD_QXT_WEB
-
-#if !defined(QXT_STATIC)
-# if defined(BUILD_QXT_BERKELEY)
-# define QXT_BERKELEY_EXPORT Q_DECL_EXPORT
-# else
-# define QXT_BERKELEY_EXPORT Q_DECL_IMPORT
-# endif
-#else
-# define QXT_BERKELEY_EXPORT
-#endif // BUILD_QXT_BERKELEY
-
-#if !defined(QXT_STATIC)
-# if defined(BUILD_QXT_ZEROCONF)
-# define QXT_ZEROCONF_EXPORT Q_DECL_EXPORT
-# else
-# define QXT_ZEROCONF_EXPORT Q_DECL_IMPORT
-# endif
-#else
-# define QXT_ZEROCONF_EXPORT
-#endif // QXT_ZEROCONF_EXPORT
-
-#if defined BUILD_QXT_CORE || defined BUILD_QXT_GUI || defined BUILD_QXT_SQL || defined BUILD_QXT_NETWORK || defined BUILD_QXT_WEB || defined BUILD_QXT_BERKELEY || defined BUILD_QXT_ZEROCONF
-# define BUILD_QXT
-#endif
-
-QXT_CORE_EXPORT const char* qxtVersion();
-
-#ifndef QT_BEGIN_NAMESPACE
-#define QT_BEGIN_NAMESPACE
-#endif
-
-#ifndef QT_END_NAMESPACE
-#define QT_END_NAMESPACE
-#endif
-
-#ifndef QT_FORWARD_DECLARE_CLASS
-#define QT_FORWARD_DECLARE_CLASS(Class) class Class;
-#endif
-
-/****************************************************************************
-** This file is derived from code bearing the following notice:
-** The sole author of this file, Adam Higerd, has explicitly disclaimed all
-** copyright interest and protection for the content within. This file has
-** been placed in the public domain according to United States copyright
-** statute and case law. In jurisdictions where this public domain dedication
-** is not legally recognized, anyone who receives a copy of this file is
-** permitted to use, modify, duplicate, and redistribute this file, in whole
-** or in part, with no restrictions or conditions. In these jurisdictions,
-** this file shall be copyright (C) 2006-2008 by Adam Higerd.
-****************************************************************************/
-
-#define QXT_DECLARE_PRIVATE(PUB) friend class PUB##Private; QxtPrivateInterface<PUB, PUB##Private> qxt_d;
-#define QXT_DECLARE_PUBLIC(PUB) friend class PUB;
-#define QXT_INIT_PRIVATE(PUB) qxt_d.setPublic(this);
-#define QXT_D(PUB) PUB##Private& d = qxt_d()
-#define QXT_P(PUB) PUB& p = qxt_p()
-
-template <typename PUB>
-class QxtPrivate
-{
-public:
- virtual ~QxtPrivate()
- {}
- inline void QXT_setPublic(PUB* pub)
- {
- qxt_p_ptr = pub;
- }
-
-protected:
- inline PUB& qxt_p()
- {
- return *qxt_p_ptr;
- }
- inline const PUB& qxt_p() const
- {
- return *qxt_p_ptr;
- }
-
-private:
- PUB* qxt_p_ptr;
-};
-
-template <typename PUB, typename PVT>
-class QxtPrivateInterface
-{
- friend class QxtPrivate<PUB>;
-public:
- QxtPrivateInterface()
- {
- pvt = new PVT;
- }
- ~QxtPrivateInterface()
- {
- delete pvt;
- }
-
- inline void setPublic(PUB* pub)
- {
- pvt->QXT_setPublic(pub);
- }
- inline PVT& operator()()
- {
- return *static_cast<PVT*>(pvt);
- }
- inline const PVT& operator()() const
- {
- return *static_cast<PVT*>(pvt);
- }
-private:
- QxtPrivateInterface(const QxtPrivateInterface&) { }
- QxtPrivateInterface& operator=(const QxtPrivateInterface&) { }
- QxtPrivate<PUB>* pvt;
-};
-
-#endif // QXT_GLOBAL
diff --git a/3rdparty/qxt/qxtglobalshortcut.cpp b/3rdparty/qxt/qxtglobalshortcut.cpp
deleted file mode 100644
index ef378f9..0000000
--- a/3rdparty/qxt/qxtglobalshortcut.cpp
+++ /dev/null
@@ -1,191 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) Qxt Foundation. Some rights reserved.
- **
- ** This file is part of the QxtGui module of the Qxt library.
- **
- ** This library is free software; you can redistribute it and/or modify it
- ** under the terms of the Common Public License, version 1.0, as published
- ** by IBM, and/or under the terms of the GNU Lesser General Public License,
- ** version 2.1, as published by the Free Software Foundation.
- **
- ** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY
- ** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
- ** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR
- ** FITNESS FOR A PARTICULAR PURPOSE.
- **
- ** You should have received a copy of the CPL and the LGPL along with this
- ** file. See the LICENSE file and the cpl1.0.txt/lgpl-2.1.txt files
- ** included with the source distribution for more information.
- ** If you did not receive a copy of the licenses, contact the Qxt Foundation.
- **
- ** <http://libqxt.org> <foundation at libqxt.org>
- **
- ****************************************************************************/
-#include "qxtglobalshortcut.h"
-#include "qxtglobalshortcut_p.h"
-#include <QAbstractEventDispatcher>
-#include <QtDebug>
-
-bool QxtGlobalShortcutPrivate::error = false;
-int QxtGlobalShortcutPrivate::ref = 0;
-QAbstractEventDispatcher::EventFilter QxtGlobalShortcutPrivate::prevEventFilter = 0;
-QHash<QPair<quint32, quint32>, QxtGlobalShortcut*> QxtGlobalShortcutPrivate::shortcuts;
-
-QxtGlobalShortcutPrivate::QxtGlobalShortcutPrivate() : enabled(true), key(Qt::Key(0)), mods(Qt::NoModifier)
-{
- if (!ref++)
- prevEventFilter = QAbstractEventDispatcher::instance()->setEventFilter(eventFilter);
-}
-
-QxtGlobalShortcutPrivate::~QxtGlobalShortcutPrivate()
-{
- if (!--ref)
- QAbstractEventDispatcher::instance()->setEventFilter(prevEventFilter);
-}
-
-bool QxtGlobalShortcutPrivate::setShortcut(const QKeySequence& shortcut)
-{
- Qt::KeyboardModifiers allMods = Qt::ShiftModifier | Qt::ControlModifier | Qt::AltModifier | Qt::MetaModifier;
- key = shortcut.isEmpty() ? Qt::Key(0) : Qt::Key((shortcut[0] ^ allMods) & shortcut[0]);
- mods = shortcut.isEmpty() ? Qt::KeyboardModifiers(0) : Qt::KeyboardModifiers(shortcut[0] & allMods);
- const quint32 nativeKey = nativeKeycode(key);
- const quint32 nativeMods = nativeModifiers(mods);
- const bool res = registerShortcut(nativeKey, nativeMods);
- shortcuts.insert(qMakePair(nativeKey, nativeMods), &qxt_p());
- if (!res)
- qWarning() << "QxtGlobalShortcut failed to register:" << QKeySequence(key + mods).toString();
- return res;
-}
-
-bool QxtGlobalShortcutPrivate::unsetShortcut()
-{
- const quint32 nativeKey = nativeKeycode(key);
- const quint32 nativeMods = nativeModifiers(mods);
- const bool res = unregisterShortcut(nativeKey, nativeMods);
- shortcuts.remove(qMakePair(nativeKey, nativeMods));
- if (!res)
- qWarning() << "QxtGlobalShortcut failed to unregister:" << QKeySequence(key + mods).toString();
- key = Qt::Key(0);
- mods = Qt::KeyboardModifiers(0);
- return res;
-}
-
-void QxtGlobalShortcutPrivate::activateShortcut(quint32 nativeKey, quint32 nativeMods)
-{
- QxtGlobalShortcut* shortcut = shortcuts.value(qMakePair(nativeKey, nativeMods));
- if (shortcut && shortcut->isEnabled())
- emit shortcut->activated();
-}
-
-/*!
- \class QxtGlobalShortcut
- \inmodule QxtGui
- \brief The QxtGlobalShortcut class provides a global shortcut aka "hotkey".
-
- A global shortcut triggers even if the application is not active. This
- makes it easy to implement applications that react to certain shortcuts
- still if some other application is active or if the application is for
- example minimized to the system tray.
-
- Example usage:
- \code
- QxtGlobalShortcut* shortcut = new QxtGlobalShortcut(window);
- connect(shortcut, SIGNAL(activated()), window, SLOT(toggleVisibility()));
- shortcut->setShortcut(QKeySequence("Ctrl+Shift+F12"));
- \endcode
-
- \bold {Note:} Since Qxt 0.6 QxtGlobalShortcut no more requires QxtApplication.
- */
-
-/*!
- \fn QxtGlobalShortcut::activated()
-
- This signal is emitted when the user types the shortcut's key sequence.
-
- \sa shortcut
- */
-
-/*!
- Constructs a new QxtGlobalShortcut with \a parent.
- */
-QxtGlobalShortcut::QxtGlobalShortcut(QObject* parent)
- : QObject(parent)
-{
- QXT_INIT_PRIVATE(QxtGlobalShortcut);
-}
-
-/*!
- Constructs a new QxtGlobalShortcut with \a shortcut and \a parent.
- */
-QxtGlobalShortcut::QxtGlobalShortcut(const QKeySequence& shortcut, QObject* parent)
- : QObject(parent)
-{
- QXT_INIT_PRIVATE(QxtGlobalShortcut);
- setShortcut(shortcut);
-}
-
-/*!
- Destructs the QxtGlobalShortcut.
- */
-QxtGlobalShortcut::~QxtGlobalShortcut()
-{
- if (qxt_d().key != 0)
- qxt_d().unsetShortcut();
-}
-
-/*!
- \property QxtGlobalShortcut::shortcut
- \brief the shortcut key sequence
-
- \bold {Note:} Notice that corresponding key press and release events are not
- delivered for registered global shortcuts even if they are disabled.
- Also, comma separated key sequences are not supported.
- Only the first part is used:
-
- \code
- qxtShortcut->setShortcut(QKeySequence("Ctrl+Alt+A,Ctrl+Alt+B"));
- Q_ASSERT(qxtShortcut->shortcut() == QKeySequence("Ctrl+Alt+A"));
- \endcode
- */
-QKeySequence QxtGlobalShortcut::shortcut() const
-{
- return QKeySequence(qxt_d().key | qxt_d().mods);
-}
-
-bool QxtGlobalShortcut::setShortcut(const QKeySequence& shortcut)
-{
- if (qxt_d().key != 0)
- qxt_d().unsetShortcut();
- return qxt_d().setShortcut(shortcut);
-}
-
-/*!
- \property QxtGlobalShortcut::enabled
- \brief whether the shortcut is enabled
-
- A disabled shortcut does not get activated.
-
- The default value is \c true.
-
- \sa setDisabled()
- */
-bool QxtGlobalShortcut::isEnabled() const
-{
- return qxt_d().enabled;
-}
-
-void QxtGlobalShortcut::setEnabled(bool enabled)
-{
- qxt_d().enabled = enabled;
-}
-
-/*!
- Sets the shortcut \a disabled.
-
- \sa enabled
- */
-void QxtGlobalShortcut::setDisabled(bool disabled)
-{
- qxt_d().enabled = !disabled;
-}
diff --git a/3rdparty/qxt/qxtglobalshortcut.h b/3rdparty/qxt/qxtglobalshortcut.h
deleted file mode 100644
index a97ba2d..0000000
--- a/3rdparty/qxt/qxtglobalshortcut.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) Qxt Foundation. Some rights reserved.
- **
- ** This file is part of the QxtGui module of the Qxt library.
- **
- ** This library is free software; you can redistribute it and/or modify it
- ** under the terms of the Common Public License, version 1.0, as published
- ** by IBM, and/or under the terms of the GNU Lesser General Public License,
- ** version 2.1, as published by the Free Software Foundation.
- **
- ** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY
- ** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
- ** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR
- ** FITNESS FOR A PARTICULAR PURPOSE.
- **
- ** You should have received a copy of the CPL and the LGPL along with this
- ** file. See the LICENSE file and the cpl1.0.txt/lgpl-2.1.txt files
- ** included with the source distribution for more information.
- ** If you did not receive a copy of the licenses, contact the Qxt Foundation.
- **
- ** <http://libqxt.org> <foundation at libqxt.org>
- **
- ****************************************************************************/
-#ifndef QXTGLOBALSHORTCUT_H
-#define QXTGLOBALSHORTCUT_H
-
-#include "qxtglobal.h"
-#include <QObject>
-#include <QKeySequence>
-class QxtGlobalShortcutPrivate;
-
-class QXT_GUI_EXPORT QxtGlobalShortcut : public QObject
-{
- Q_OBJECT
- QXT_DECLARE_PRIVATE(QxtGlobalShortcut)
- Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled)
- Q_PROPERTY(QKeySequence shortcut READ shortcut WRITE setShortcut)
-
-public:
- explicit QxtGlobalShortcut(QObject* parent = 0);
- explicit QxtGlobalShortcut(const QKeySequence& shortcut, QObject* parent = 0);
- virtual ~QxtGlobalShortcut();
-
- QKeySequence shortcut() const;
- bool setShortcut(const QKeySequence& shortcut);
-
- bool isEnabled() const;
-
-public Q_SLOTS:
- void setEnabled(bool enabled = true);
- void setDisabled(bool disabled = true);
-
-Q_SIGNALS:
- void activated();
-};
-
-#endif // QXTGLOBALSHORTCUT_H
diff --git a/3rdparty/qxt/qxtglobalshortcut_mac.cpp b/3rdparty/qxt/qxtglobalshortcut_mac.cpp
deleted file mode 100644
index 0bcea7f..0000000
--- a/3rdparty/qxt/qxtglobalshortcut_mac.cpp
+++ /dev/null
@@ -1,207 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) Qxt Foundation. Some rights reserved.
- **
- ** This file is part of the QxtGui module of the Qxt library.
- **
- ** This library is free software; you can redistribute it and/or modify it
- ** under the terms of the Common Public License, version 1.0, as published
- ** by IBM, and/or under the terms of the GNU Lesser General Public License,
- ** version 2.1, as published by the Free Software Foundation.
- **
- ** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY
- ** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
- ** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR
- ** FITNESS FOR A PARTICULAR PURPOSE.
- **
- ** You should have received a copy of the CPL and the LGPL along with this
- ** file. See the LICENSE file and the cpl1.0.txt/lgpl-2.1.txt files
- ** included with the source distribution for more information.
- ** If you did not receive a copy of the licenses, contact the Qxt Foundation.
- **
- ** <http://libqxt.org> <foundation at libqxt.org>
- **
- ****************************************************************************/
-#include <Carbon/Carbon.h>
-#include "qxtglobalshortcut_p.h"
-#include <QMap>
-#include <QHash>
-#include <QtDebug>
-#include <QApplication>
-
-typedef QPair<uint, uint> Identifier;
-static QMap<quint32, EventHotKeyRef> keyRefs;
-static QHash<Identifier, quint32> keyIDs;
-static quint32 hotKeySerial = 0;
-static bool qxt_mac_handler_installed = false;
-
-OSStatus qxt_mac_handle_hot_key(EventHandlerCallRef nextHandler, EventRef event, void* data)
-{
- // pass event to the app event filter
- Q_UNUSED(data);
- qApp->macEventFilter(nextHandler, event);
- return noErr;
-}
-
-bool QxtGlobalShortcutPrivate::eventFilter(void* message)
-//bool QxtGlobalShortcutPrivate::macEventFilter(EventHandlerCallRef caller, EventRef event)
-{
- EventRef event = (EventRef) message;
- if (GetEventClass(event) == kEventClassKeyboard && GetEventKind(event) == kEventHotKeyPressed)
- {
- EventHotKeyID keyID;
- GetEventParameter(event, kEventParamDirectObject, typeEventHotKeyID, NULL, sizeof(keyID), NULL, &keyID);
- Identifier id = keyIDs.key(keyID.id);
- activateShortcut(id.second, id.first);
- }
- return false;
-}
-
-quint32 QxtGlobalShortcutPrivate::nativeModifiers(Qt::KeyboardModifiers modifiers)
-{
- quint32 native = 0;
- if (modifiers & Qt::ShiftModifier)
- native |= shiftKeyBit;
- if (modifiers & Qt::ControlModifier)
- native |= cmdKey;
- if (modifiers & Qt::AltModifier)
- native |= optionKey;
- if (modifiers & Qt::MetaModifier)
- native |= controlKey;
- if (modifiers & Qt::KeypadModifier)
- native |= kEventKeyModifierNumLockMask;
- return native;
-}
-
-quint32 QxtGlobalShortcutPrivate::nativeKeycode(Qt::Key key)
-{
- UTF16Char ch;
- // Constants found in NSEvent.h from AppKit.framework
- if (key == Qt::Key_Up) ch = 0xF700;
- else if (key == Qt::Key_Down) ch = 0xF701;
- else if (key == Qt::Key_Left) ch = 0xF702;
- else if (key == Qt::Key_Right) ch = 0xF703;
- else if (key >= Qt::Key_F1 && key <= Qt::Key_F35)
- ch = key - Qt::Key_F1 + 0xF704;
- else if (key == Qt::Key_Insert) ch = 0xF727;
- else if (key == Qt::Key_Delete) ch = 0xF728;
- else if (key == Qt::Key_Home) ch = 0xF729;
- else if (key == Qt::Key_End) ch = 0xF72B;
- else if (key == Qt::Key_PageUp) ch = 0xF72C;
- else if (key == Qt::Key_PageDown) ch = 0xF72D;
- else if (key == Qt::Key_Print) ch = 0xF72E;
- else if (key == Qt::Key_ScrollLock) ch = 0xF72F;
- else if (key == Qt::Key_Pause) ch = 0xF730;
- else if (key == Qt::Key_SysReq) ch = 0xF731;
- else if (key == Qt::Key_Stop) ch = 0xF734;
- else if (key == Qt::Key_Menu) ch = 0xF735;
- else if (key == Qt::Key_Select) ch = 0xF741;
- else if (key == Qt::Key_Execute) ch = 0xF742;
- else if (key == Qt::Key_Help) ch = 0xF746;
- else if (key == Qt::Key_Mode_switch) ch = 0xF747;
- else if (key == Qt::Key_Escape) ch = 27;
- else if (key == Qt::Key_Return) ch = 13;
- else if (key == Qt::Key_Enter) ch = 3;
- else if (key == Qt::Key_Tab) ch = 9;
- else ch = key;
-
- KeyboardLayoutRef layout;
- KeyboardLayoutKind layoutKind;
- KLGetCurrentKeyboardLayout(&layout);
- KLGetKeyboardLayoutProperty(layout, kKLKind, const_cast<const void**>(reinterpret_cast<void**>(&layoutKind)));
-
- if (layoutKind == kKLKCHRKind)
- { // no Unicode available
- if (ch > 255) return 0;
-
- char* data;
- KLGetKeyboardLayoutProperty(layout, kKLKCHRData, const_cast<const void**>(reinterpret_cast<void**>(&data)));
- int ct = *reinterpret_cast<short*>(data + 258);
- for (int i = 0; i < ct; i++)
- {
- char* keyTable = data + 260 + 128 * i;
- for (int j = 0; j < 128; j++)
- {
- if (keyTable[j] == ch) return j;
- }
- }
-
- return 0;
- }
-
- char* data;
- KLGetKeyboardLayoutProperty(layout, kKLuchrData, const_cast<const void**>(reinterpret_cast<void**>(&data)));
- UCKeyboardLayout* header = reinterpret_cast<UCKeyboardLayout*>(data);
- UCKeyboardTypeHeader* table = header->keyboardTypeList;
-
- for (quint32 i=0; i < header->keyboardTypeCount; i++)
- {
- UCKeyStateRecordsIndex* stateRec = 0;
- if (table[i].keyStateRecordsIndexOffset != 0)
- {
- stateRec = reinterpret_cast<UCKeyStateRecordsIndex*>(data + table[i].keyStateRecordsIndexOffset);
- if (stateRec->keyStateRecordsIndexFormat != kUCKeyStateRecordsIndexFormat) stateRec = 0;
- }
-
- UCKeyToCharTableIndex* charTable = reinterpret_cast<UCKeyToCharTableIndex*>(data + table[i].keyToCharTableIndexOffset);
- if (charTable->keyToCharTableIndexFormat != kUCKeyToCharTableIndexFormat) continue;
-
- for (quint32 j=0; j < charTable->keyToCharTableCount; j++)
- {
- UCKeyOutput* keyToChar = reinterpret_cast<UCKeyOutput*>(data + charTable->keyToCharTableOffsets[j]);
- for (quint32 k=0; k < charTable->keyToCharTableSize; k++)
- {
- if (keyToChar[k] & kUCKeyOutputTestForIndexMask)
- {
- long idx = keyToChar[k] & kUCKeyOutputGetIndexMask;
- if (stateRec && idx < stateRec->keyStateRecordCount)
- {
- UCKeyStateRecord* rec = reinterpret_cast<UCKeyStateRecord*>(data + stateRec->keyStateRecordOffsets[idx]);
- if (rec->stateZeroCharData == ch) return k;
- }
- }
- else if (!(keyToChar[k] & kUCKeyOutputSequenceIndexMask) && keyToChar[k] < 0xFFFE)
- {
- if (keyToChar[k] == ch) return k;
- }
- } // for k
- } // for j
- } // for i
-
- return 0;
-}
-
-bool QxtGlobalShortcutPrivate::registerShortcut(quint32 nativeKey, quint32 nativeMods)
-{
- if (!qxt_mac_handler_installed)
- {
- EventTypeSpec t;
- t.eventClass = kEventClassKeyboard;
- t.eventKind = kEventHotKeyPressed;
- InstallApplicationEventHandler(&qxt_mac_handle_hot_key, 1, &t, NULL, NULL);
- }
-
- EventHotKeyID keyID;
- keyID.signature = 'cute';
- keyID.id = ++hotKeySerial;
-
- EventHotKeyRef ref = 0;
- bool rv = !RegisterEventHotKey(nativeKey, nativeMods, keyID, GetApplicationEventTarget(), 0, &ref);
- if (rv)
- {
- keyIDs.insert(Identifier(nativeMods, nativeKey), keyID.id);
- keyRefs.insert(keyID.id, ref);
- }
- qDebug() << ref;
- return rv;
-}
-
-bool QxtGlobalShortcutPrivate::unregisterShortcut(quint32 nativeKey, quint32 nativeMods)
-{
- Identifier id(nativeMods, nativeKey);
- if (!keyIDs.contains(id)) return false;
-
- EventHotKeyRef ref = keyRefs.take(keyIDs[id]);
- keyIDs.remove(id);
- return !UnregisterEventHotKey(ref);
-}
diff --git a/3rdparty/qxt/qxtglobalshortcut_p.h b/3rdparty/qxt/qxtglobalshortcut_p.h
deleted file mode 100644
index 4570396..0000000
--- a/3rdparty/qxt/qxtglobalshortcut_p.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) Qxt Foundation. Some rights reserved.
- **
- ** This file is part of the QxtGui module of the Qxt library.
- **
- ** This library is free software; you can redistribute it and/or modify it
- ** under the terms of the Common Public License, version 1.0, as published
- ** by IBM, and/or under the terms of the GNU Lesser General Public License,
- ** version 2.1, as published by the Free Software Foundation.
- **
- ** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY
- ** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
- ** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR
- ** FITNESS FOR A PARTICULAR PURPOSE.
- **
- ** You should have received a copy of the CPL and the LGPL along with this
- ** file. See the LICENSE file and the cpl1.0.txt/lgpl-2.1.txt files
- ** included with the source distribution for more information.
- ** If you did not receive a copy of the licenses, contact the Qxt Foundation.
- **
- ** <http://libqxt.org> <foundation at libqxt.org>
- **
- ****************************************************************************/
-#ifndef QXTGLOBALSHORTCUT_P_H
-#define QXTGLOBALSHORTCUT_P_H
-
-#include "qxtglobalshortcut.h"
-#include <QAbstractEventDispatcher>
-#include <QKeySequence>
-#include <QHash>
-
-class QxtGlobalShortcutPrivate : public QxtPrivate<QxtGlobalShortcut>
-{
-public:
- QXT_DECLARE_PUBLIC(QxtGlobalShortcut)
- QxtGlobalShortcutPrivate();
- ~QxtGlobalShortcutPrivate();
-
- bool enabled;
- Qt::Key key;
- Qt::KeyboardModifiers mods;
-
- bool setShortcut(const QKeySequence& shortcut);
- bool unsetShortcut();
-
- static bool error;
- static int ref;
- static QAbstractEventDispatcher::EventFilter prevEventFilter;
- static bool eventFilter(void* message);
-
-private:
- static quint32 nativeKeycode(Qt::Key keycode);
- static quint32 nativeModifiers(Qt::KeyboardModifiers modifiers);
-
- static bool registerShortcut(quint32 nativeKey, quint32 nativeMods);
- static bool unregisterShortcut(quint32 nativeKey, quint32 nativeMods);
- static void activateShortcut(quint32 nativeKey, quint32 nativeMods);
-
- static QHash<QPair<quint32, quint32>, QxtGlobalShortcut*> shortcuts;
-};
-
-#endif // QXTGLOBALSHORTCUT_P_H
diff --git a/3rdparty/qxt/qxtglobalshortcut_win.cpp b/3rdparty/qxt/qxtglobalshortcut_win.cpp
deleted file mode 100644
index d81f108..0000000
--- a/3rdparty/qxt/qxtglobalshortcut_win.cpp
+++ /dev/null
@@ -1,229 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) Qxt Foundation. Some rights reserved.
- **
- ** This file is part of the QxtGui module of the Qxt library.
- **
- ** This library is free software; you can redistribute it and/or modify it
- ** under the terms of the Common Public License, version 1.0, as published
- ** by IBM, and/or under the terms of the GNU Lesser General Public License,
- ** version 2.1, as published by the Free Software Foundation.
- **
- ** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY
- ** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
- ** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR
- ** FITNESS FOR A PARTICULAR PURPOSE.
- **
- ** You should have received a copy of the CPL and the LGPL along with this
- ** file. See the LICENSE file and the cpl1.0.txt/lgpl-2.1.txt files
- ** included with the source distribution for more information.
- ** If you did not receive a copy of the licenses, contact the Qxt Foundation.
- **
- ** <http://libqxt.org> <foundation at libqxt.org>
- **
- ****************************************************************************/
-#include "qxtglobalshortcut_p.h"
-#include <qt_windows.h>
-
-bool QxtGlobalShortcutPrivate::eventFilter(void* message)
-{
- MSG* msg = static_cast<MSG*>(message);
- if (msg->message == WM_HOTKEY)
- {
- const quint32 keycode = HIWORD(msg->lParam);
- const quint32 modifiers = LOWORD(msg->lParam);
- activateShortcut(keycode, modifiers);
- }
- return false;
-}
-
-quint32 QxtGlobalShortcutPrivate::nativeModifiers(Qt::KeyboardModifiers modifiers)
-{
- // MOD_ALT, MOD_CONTROL, (MOD_KEYUP), MOD_SHIFT, MOD_WIN
- quint32 native = 0;
- if (modifiers & Qt::ShiftModifier)
- native |= MOD_SHIFT;
- if (modifiers & Qt::ControlModifier)
- native |= MOD_CONTROL;
- if (modifiers & Qt::AltModifier)
- native |= MOD_ALT;
- if (modifiers & Qt::MetaModifier)
- native |= MOD_WIN;
- // TODO: resolve these?
- //if (modifiers & Qt::KeypadModifier)
- //if (modifiers & Qt::GroupSwitchModifier)
- return native;
-}
-
-quint32 QxtGlobalShortcutPrivate::nativeKeycode(Qt::Key key)
-{
- switch (key)
- {
- case Qt::Key_Escape:
- return VK_ESCAPE;
- case Qt::Key_Tab:
- case Qt::Key_Backtab:
- return VK_TAB;
- case Qt::Key_Backspace:
- return VK_BACK;
- case Qt::Key_Return:
- case Qt::Key_Enter:
- return VK_RETURN;
- case Qt::Key_Insert:
- return VK_INSERT;
- case Qt::Key_Delete:
- return VK_DELETE;
- case Qt::Key_Pause:
- return VK_PAUSE;
- case Qt::Key_Print:
- return VK_PRINT;
- case Qt::Key_Clear:
- return VK_CLEAR;
- case Qt::Key_Home:
- return VK_HOME;
- case Qt::Key_End:
- return VK_END;
- case Qt::Key_Left:
- return VK_LEFT;
- case Qt::Key_Up:
- return VK_UP;
- case Qt::Key_Right:
- return VK_RIGHT;
- case Qt::Key_Down:
- return VK_DOWN;
- case Qt::Key_PageUp:
- return VK_PRIOR;
- case Qt::Key_PageDown:
- return VK_NEXT;
- case Qt::Key_F1:
- return VK_F1;
- case Qt::Key_F2:
- return VK_F2;
- case Qt::Key_F3:
- return VK_F3;
- case Qt::Key_F4:
- return VK_F4;
- case Qt::Key_F5:
- return VK_F5;
- case Qt::Key_F6:
- return VK_F6;
- case Qt::Key_F7:
- return VK_F7;
- case Qt::Key_F8:
- return VK_F8;
- case Qt::Key_F9:
- return VK_F9;
- case Qt::Key_F10:
- return VK_F10;
- case Qt::Key_F11:
- return VK_F11;
- case Qt::Key_F12:
- return VK_F12;
- case Qt::Key_F13:
- return VK_F13;
- case Qt::Key_F14:
- return VK_F14;
- case Qt::Key_F15:
- return VK_F15;
- case Qt::Key_F16:
- return VK_F16;
- case Qt::Key_F17:
- return VK_F17;
- case Qt::Key_F18:
- return VK_F18;
- case Qt::Key_F19:
- return VK_F19;
- case Qt::Key_F20:
- return VK_F20;
- case Qt::Key_F21:
- return VK_F21;
- case Qt::Key_F22:
- return VK_F22;
- case Qt::Key_F23:
- return VK_F23;
- case Qt::Key_F24:
- return VK_F24;
- case Qt::Key_Space:
- return VK_SPACE;
- case Qt::Key_Asterisk:
- return VK_MULTIPLY;
- case Qt::Key_Plus:
- return VK_ADD;
- case Qt::Key_Comma:
- return VK_SEPARATOR;
- case Qt::Key_Minus:
- return VK_SUBTRACT;
- case Qt::Key_Slash:
- return VK_DIVIDE;
-
- case Qt::Key_MediaNext:
- return VK_MEDIA_NEXT_TRACK;
- case Qt::Key_MediaPrevious:
- return VK_MEDIA_PREV_TRACK;
- case Qt::Key_MediaStop:
- return VK_MEDIA_STOP;
- case Qt::Key_MediaPlay:
- return VK_MEDIA_PLAY_PAUSE;
- case Qt::Key_VolumeDown:
- return VK_VOLUME_DOWN;
- case Qt::Key_VolumeUp:
- return VK_VOLUME_UP;
- case Qt::Key_VolumeMute:
- return VK_VOLUME_MUTE;
-
- // numbers
- case Qt::Key_0:
- case Qt::Key_1:
- case Qt::Key_2:
- case Qt::Key_3:
- case Qt::Key_4:
- case Qt::Key_5:
- case Qt::Key_6:
- case Qt::Key_7:
- case Qt::Key_8:
- case Qt::Key_9:
- return key;
-
- // letters
- case Qt::Key_A:
- case Qt::Key_B:
- case Qt::Key_C:
- case Qt::Key_D:
- case Qt::Key_E:
- case Qt::Key_F:
- case Qt::Key_G:
- case Qt::Key_H:
- case Qt::Key_I:
- case Qt::Key_J:
- case Qt::Key_K:
- case Qt::Key_L:
- case Qt::Key_M:
- case Qt::Key_N:
- case Qt::Key_O:
- case Qt::Key_P:
- case Qt::Key_Q:
- case Qt::Key_R:
- case Qt::Key_S:
- case Qt::Key_T:
- case Qt::Key_U:
- case Qt::Key_V:
- case Qt::Key_W:
- case Qt::Key_X:
- case Qt::Key_Y:
- case Qt::Key_Z:
- return key;
-
- default:
- return 0;
- }
-}
-
-bool QxtGlobalShortcutPrivate::registerShortcut(quint32 nativeKey, quint32 nativeMods)
-{
- return RegisterHotKey(0, nativeMods ^ nativeKey, nativeMods, nativeKey);
-}
-
-bool QxtGlobalShortcutPrivate::unregisterShortcut(quint32 nativeKey, quint32 nativeMods)
-{
- return UnregisterHotKey(0, nativeMods ^ nativeKey);
-}
diff --git a/3rdparty/qxt/qxtglobalshortcut_x11.cpp b/3rdparty/qxt/qxtglobalshortcut_x11.cpp
deleted file mode 100644
index c22894d..0000000
--- a/3rdparty/qxt/qxtglobalshortcut_x11.cpp
+++ /dev/null
@@ -1,135 +0,0 @@
-/****************************************************************************
- **
- ** Copyright (C) Qxt Foundation. Some rights reserved.
- **
- ** This file is part of the QxtGui module of the Qxt library.
- **
- ** This library is free software; you can redistribute it and/or modify it
- ** under the terms of the Common Public License, version 1.0, as published
- ** by IBM, and/or under the terms of the GNU Lesser General Public License,
- ** version 2.1, as published by the Free Software Foundation.
- **
- ** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY
- ** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
- ** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR
- ** FITNESS FOR A PARTICULAR PURPOSE.
- **
- ** You should have received a copy of the CPL and the LGPL along with this
- ** file. See the LICENSE file and the cpl1.0.txt/lgpl-2.1.txt files
- ** included with the source distribution for more information.
- ** If you did not receive a copy of the licenses, contact the Qxt Foundation.
- **
- ** <http://libqxt.org> <foundation at libqxt.org>
- **
- ****************************************************************************/
-#include "qxtglobalshortcut_p.h"
-#include <QX11Info>
-#include <X11/Xlib.h>
-
-#include "keymapper_x11.h"
-
-static int (*original_x_errhandler)(Display* display, XErrorEvent* event);
-
-static int qxt_x_errhandler(Display* display, XErrorEvent *event)
-{
- Q_UNUSED(display);
- switch (event->error_code)
- {
- case BadAccess:
- case BadValue:
- case BadWindow:
- if (event->request_code == 33 /* X_GrabKey */ ||
- event->request_code == 34 /* X_UngrabKey */)
- {
- QxtGlobalShortcutPrivate::error = true;
- //TODO:
- //char errstr[256];
- //XGetErrorText(dpy, err->error_code, errstr, 256);
- }
- default:
- return 0;
- }
-}
-
-bool QxtGlobalShortcutPrivate::eventFilter(void* message)
-{
- XEvent* event = static_cast<XEvent*>(message);
- if (event->type == KeyPress)
- {
- XKeyEvent* key = (XKeyEvent*) event;
- activateShortcut(key->keycode,
- // Mod1Mask == Alt, Mod4Mask == Meta
- key->state & (ShiftMask | ControlMask | Mod1Mask | Mod4Mask));
- }
- return false;
-}
-
-quint32 QxtGlobalShortcutPrivate::nativeModifiers(Qt::KeyboardModifiers modifiers)
-{
- // ShiftMask, LockMask, ControlMask, Mod1Mask, Mod2Mask, Mod3Mask, Mod4Mask, and Mod5Mask
- quint32 native = 0;
- if (modifiers & Qt::ShiftModifier)
- native |= ShiftMask;
- if (modifiers & Qt::ControlModifier)
- native |= ControlMask;
- if (modifiers & Qt::AltModifier)
- native |= Mod1Mask;
- if (modifiers & Qt::MetaModifier)
- native |= Mod4Mask;
- // TODO: resolve these?
- //if (modifiers & Qt::KeypadModifier)
- //if (modifiers & Qt::GroupSwitchModifier)
- return native;
-}
-
-quint32 QxtGlobalShortcutPrivate::nativeKeycode(Qt::Key key)
-{
- // (davidsansome) Try the table from QKeyMapper first - this seems to be
- // the only way to get Keysyms for the media keys.
- unsigned int keysym = 0;
- int i = 0;
- while (KeyTbl[i]) {
- if (KeyTbl[i+1] == static_cast<uint>(key)) {
- keysym = KeyTbl[i];
- break;
- }
- i += 2;
- }
-
- // If that didn't work then fall back on XStringToKeysym
- if (!keysym) {
- keysym = XStringToKeysym(QKeySequence(key).toString().toLatin1().data());
- }
-
- Display* display = QX11Info::display();
- return XKeysymToKeycode(display, keysym);
-}
-
-bool QxtGlobalShortcutPrivate::registerShortcut(quint32 nativeKey, quint32 nativeMods)
-{
- Display* display = QX11Info::display();
- Window window = QX11Info::appRootWindow();
- Bool owner = True;
- int pointer = GrabModeAsync;
- int keyboard = GrabModeAsync;
- error = false;
- original_x_errhandler = XSetErrorHandler(qxt_x_errhandler);
- XGrabKey(display, nativeKey, nativeMods, window, owner, pointer, keyboard);
- XGrabKey(display, nativeKey, nativeMods | Mod2Mask, window, owner, pointer, keyboard); // allow numlock
- XSync(display, False);
- XSetErrorHandler(original_x_errhandler);
- return !error;
-}
-
-bool QxtGlobalShortcutPrivate::unregisterShortcut(quint32 nativeKey, quint32 nativeMods)
-{
- Display* display = QX11Info::display();
- Window window = QX11Info::appRootWindow();
- error = false;
- original_x_errhandler = XSetErrorHandler(qxt_x_errhandler);
- XUngrabKey(display, nativeKey, nativeMods, window);
- XUngrabKey(display, nativeKey, nativeMods | Mod2Mask, window); // allow numlock
- XSync(display, False);
- XSetErrorHandler(original_x_errhandler);
- return !error;
-}
--
cantata packaging
More information about the pkg-multimedia-commits
mailing list