aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar Fabio Bas2023-10-04 22:44:13 +0200
committerGravatar ctrlaltca2023-10-18 10:26:35 +0200
commitcba0ebedf3f0cc4da6f8729dde10282b23eb18e6 (patch)
tree337a47550ae01e0f3e7b7cdec73e559dbdc32a33 /src
parentRemove unused calls to viewOptions() (diff)
downloadKVIrc-cba0ebedf3f0cc4da6f8729dde10282b23eb18e6.tar.gz
KVIrc-cba0ebedf3f0cc4da6f8729dde10282b23eb18e6.tar.bz2
KVIrc-cba0ebedf3f0cc4da6f8729dde10282b23eb18e6.zip
Make shortcuts compatible with qt6; remove unused KviShortcut constructor since it creates ambiguity with the previous
Diffstat (limited to 'src')
-rw-r--r--src/kvilib/config/kvi_shortcuts.h44
-rw-r--r--src/kvilib/core/KviShortcut.cpp25
-rw-r--r--src/kvilib/core/KviShortcut.h9
-rw-r--r--src/kvirc/ui/KviInputEditor.h2
-rw-r--r--src/kvirc/ui/KviMainWindow.cpp44
-rw-r--r--src/modules/editor/ScriptEditorImplementation.cpp2
6 files changed, 67 insertions, 59 deletions
diff --git a/src/kvilib/config/kvi_shortcuts.h b/src/kvilib/config/kvi_shortcuts.h
index d82e1f6d0..46ca9e265 100644
--- a/src/kvilib/config/kvi_shortcuts.h
+++ b/src/kvilib/config/kvi_shortcuts.h
@@ -183,24 +183,20 @@
#define KVI_SHORTCUTS_EXEC "Ctrl+Shift+X" // Ctrl+Shift+X
#define KVI_SHORTCUTS_INPUT_REDO QKeySequence::Redo // Ctrl+Shift+Z
-#define KVI_SHORTCUTS_WIN_PREV Qt::AltModifier + Qt::Key_Up // Qt::AltModifier + Qt::Key_Up
-#define KVI_SHORTCUTS_WIN_NEXT Qt::AltModifier + Qt::Key_Down // Qt::AltModifier + Qt::Key_Down
-#define KVI_SHORTCUTS_WIN_NEXT_TAB Qt::ControlModifier + Qt::Key_Tab // Ctrl+Tab
-#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) // --------------
-#define KVI_SHORTCUTS_WIN_PREV_TAB Qt::ControlModifier + Qt::ShiftModifier + Qt::Key_Tab // Ctrl+Shift+Tab
-#else // --------------
-#define KVI_SHORTCUTS_WIN_PREV_TAB Qt::ControlModifier + Qt::Key_Backtab // Ctrl+Shift+Tab
-#endif // --------------
-#define KVI_SHORTCUTS_WIN_PREV_CONTEXT Qt::AltModifier + Qt::ShiftModifier + Qt::Key_Up // Qt::AltModifier + Qt::ShiftModifier + Qt::Key_Up
-#define KVI_SHORTCUTS_WIN_NEXT_CONTEXT Qt::AltModifier + Qt::ShiftModifier + Qt::Key_Down // Qt::AltModifier + Qt::ShiftModifier + Qt::Key_Down
-#define KVI_SHORTCUTS_WIN_PREV_HIGHLIGHT Qt::AltModifier + Qt::Key_PageUp // Qt::AltModifier + Qt::Key_PageUp
-#define KVI_SHORTCUTS_WIN_NEXT_HIGHLIGHT Qt::AltModifier + Qt::Key_PageDown // Qt::AltModifier + Qt::Key_PageDown
+#define KVI_SHORTCUTS_WIN_PREV Qt::AltModifier, Qt::Key_Up // Qt::AltModifier + Qt::Key_Up
+#define KVI_SHORTCUTS_WIN_NEXT Qt::AltModifier, Qt::Key_Down // Qt::AltModifier + Qt::Key_Down
+#define KVI_SHORTCUTS_WIN_NEXT_TAB QKeySequence::NextChild // Ctrl+Tab
+#define KVI_SHORTCUTS_WIN_PREV_TAB QKeySequence::PreviousChild // Ctrl+Shift+Tab
+#define KVI_SHORTCUTS_WIN_PREV_CONTEXT "Alt+Shift+Up" // Qt::AltModifier + Qt::ShiftModifier + Qt::Key_Up
+#define KVI_SHORTCUTS_WIN_NEXT_CONTEXT "Alt+Shift+Down" // Qt::AltModifier + Qt::ShiftModifier + Qt::Key_Down
+#define KVI_SHORTCUTS_WIN_PREV_HIGHLIGHT Qt::AltModifier, Qt::Key_PageUp // Qt::AltModifier + Qt::Key_PageUp
+#define KVI_SHORTCUTS_WIN_NEXT_HIGHLIGHT Qt::AltModifier, Qt::Key_PageDown // Qt::AltModifier + Qt::Key_PageDown
#define KVI_SHORTCUTS_WIN_PREV_PAGE QKeySequence::MoveToPreviousPage // Qt::Key_PageUp
#define KVI_SHORTCUTS_WIN_NEXT_PAGE QKeySequence::MoveToNextPage // Qt::Key_PageDown
#define KVI_SHORTCUTS_WIN_HOME QKeySequence::MoveToStartOfDocument // Qt::ControlModifier + Qt::Key_Home
#define KVI_SHORTCUTS_WIN_END QKeySequence::MoveToEndOfDocument // Qt::ControlModifier + Qt::Key_End
-#define KVI_SHORTCUTS_WIN_PREV_LINE Qt::ShiftModifier + Qt::Key_PageUp // Qt::ShiftModifier + Qt::Key_PageUp
-#define KVI_SHORTCUTS_WIN_NEXT_LINE Qt::ShiftModifier + Qt::Key_PageDown // Qt::ShiftModifier + Qt::Key_PageDown
+#define KVI_SHORTCUTS_WIN_PREV_LINE QKeySequence::SelectPreviousLine // Qt::ShiftModifier + Qt::Key_PageUp
+#define KVI_SHORTCUTS_WIN_NEXT_LINE QKeySequence::SelectNextLine // Qt::ShiftModifier + Qt::Key_PageDown
#define KVI_SHORTCUTS_INPUT_PREV_WORD QKeySequence::MoveToPreviousWord // Qt::ControlModifier + Qt::Key_Left
#define KVI_SHORTCUTS_INPUT_NEXT_WORD QKeySequence::MoveToNextWord // Qt::ControlModifier + Qt::Key_Right
#define KVI_SHORTCUTS_INPUT_PREV_WORD_SELECT QKeySequence::SelectPreviousWord // Qt::ControlModifier + Qt::ShiftModifier + Qt::Key_Left
@@ -209,19 +205,19 @@
//Ctrl+<digit>: Script accelerators (see OnAccelKeyPressed) // --------------
//F2-F12, Shift+(F1-F12): Script accelerators (see OnAccelKeyPressed) // --------------
//
-#define KVI_SHORTCUTS_INPUT_HISTORY Qt::ControlModifier + Qt::Key_PageUp // Qt::ControlModifier + Qt::Key_PageUp
+#define KVI_SHORTCUTS_INPUT_HISTORY Qt::ControlModifier, Qt::Key_PageUp // Qt::ControlModifier + Qt::Key_PageUp
#define KVI_SHORTCUTS_INPUT_PREV_CHAR QKeySequence::MoveToPreviousChar // Qt::Key_Left
#define KVI_SHORTCUTS_INPUT_NEXT_CHAR QKeySequence::MoveToNextChar // Qt::Key_Right
#define KVI_SHORTCUTS_INPUT_PREV_CHAR_SELECT QKeySequence::SelectPreviousChar // Qt::ShiftModifier + Qt::Key_Left
#define KVI_SHORTCUTS_INPUT_NEXT_CHAR_SELECT QKeySequence::SelectNextChar // Qt::ShiftModifier + Qt::Key_Right
#define KVI_SHORTCUTS_INPUT_DELETE_PREV_WORD QKeySequence::DeleteStartOfWord // Qt::ControlModifier + Qt::Key_Backspace
#define KVI_SHORTCUTS_INPUT_DELETE_NEXT_WORD QKeySequence::DeleteEndOfWord // Qt::ControlModifier + Qt::Key_Delete
-#define KVI_SHORTCUTS_INPUT_MULTILINE Qt::AltModifier + Qt::Key_Return // Qt::AltModifier + Qt::Key_Return
-#define KVI_SHORTCUTS_INPUT_MULTILINE_2 Qt::AltModifier + Qt::Key_Enter // Qt::AltModifier + Qt::Key_Enter
-#define KVI_SHORTCUTS_INPUT_SEND_PLAIN Qt::ControlModifier + Qt::Key_Return // Qt::ControlModifier + Qt::Key_Return
-#define KVI_SHORTCUTS_INPUT_SEND_PLAIN_2 Qt::ControlModifier + Qt::Key_Enter // Qt::ControlModifier + Qt::Key_Enter
-#define KVI_SHORTCUTS_INPUT_SEND_KVS Qt::ShiftModifier + Qt::Key_Return // Qt::ShiftModifier + Qt::Key_Return
-#define KVI_SHORTCUTS_INPUT_SEND_KVS_2 Qt::ShiftModifier + Qt::Key_Enter // Qt::ShiftModifier + Qt::Key_Enter
+#define KVI_SHORTCUTS_INPUT_MULTILINE Qt::AltModifier, Qt::Key_Return // Qt::AltModifier + Qt::Key_Return
+#define KVI_SHORTCUTS_INPUT_MULTILINE_2 Qt::AltModifier, Qt::Key_Enter // Qt::AltModifier + Qt::Key_Enter
+#define KVI_SHORTCUTS_INPUT_SEND_PLAIN Qt::ControlModifier, Qt::Key_Return // Qt::ControlModifier + Qt::Key_Return
+#define KVI_SHORTCUTS_INPUT_SEND_PLAIN_2 Qt::ControlModifier, Qt::Key_Enter // Qt::ControlModifier + Qt::Key_Enter
+#define KVI_SHORTCUTS_INPUT_SEND_KVS Qt::ShiftModifier, Qt::Key_Return // Qt::ShiftModifier + Qt::Key_Return
+#define KVI_SHORTCUTS_INPUT_SEND_KVS_2 Qt::ShiftModifier, Qt::Key_Enter // Qt::ShiftModifier + Qt::Key_Enter
#define KVI_SHORTCUTS_INPUT_HOME QKeySequence::MoveToStartOfLine // Qt::Key_Home
#define KVI_SHORTCUTS_INPUT_END QKeySequence::MoveToEndOfLine // Qt::Key_End
#define KVI_SHORTCUTS_INPUT_HOME_SELECT QKeySequence::SelectStartOfLine // Qt::ShiftModifier + Qt::Key_Home
@@ -229,11 +225,11 @@
#define KVI_SHORTCUTS_INPUT_HISTORY_PREV QKeySequence::MoveToPreviousLine // Qt::Key_Up
#define KVI_SHORTCUTS_INPUT_HISTORY_NEXT QKeySequence::MoveToNextLine // Qt::Key_Down
#define KVI_SHORTCUTS_INPUT_ESCAPE Qt::Key_Escape // Qt::Key_Escape
-#define KVI_SHORTCUTS_INPUT_DUMMY Qt::ShiftModifier + Qt::Key_Escape // Qt::ShiftModifier + Qt::Key_Escape
+#define KVI_SHORTCUTS_INPUT_DUMMY Qt::ShiftModifier, Qt::Key_Escape // Qt::ShiftModifier + Qt::Key_Escape
#define KVI_SHORTCUTS_WIN_ZOOM_IN QKeySequence::ZoomIn // Ctrl++
#define KVI_SHORTCUTS_WIN_ZOOM_OUT QKeySequence::ZoomOut // Ctrl+-
-#define KVI_SHORTCUTS_WIN_ZOOM_DEFAULT Qt::ControlModifier + Qt::Key_0 // Qt::ControlModifier + Qt::Key_0
-#define KVI_SHORTCUTS_INPUT_CORRECT_SPELLING Qt::ControlModifier + Qt::Key_G // Qt::ControlModifier + Qt::Key_G
+#define KVI_SHORTCUTS_WIN_ZOOM_DEFAULT Qt::ControlModifier, Qt::Key_0 // Qt::ControlModifier + Qt::Key_0
+#define KVI_SHORTCUTS_INPUT_CORRECT_SPELLING Qt::ControlModifier, Qt::Key_G // Qt::ControlModifier + Qt::Key_G
#define KVI_SHORTCUTS_INPUT_MENU Qt::Key_Menu // Qt::Key_Menu
/*
diff --git a/src/kvilib/core/KviShortcut.cpp b/src/kvilib/core/KviShortcut.cpp
index d8632a523..5e032f5b3 100644
--- a/src/kvilib/core/KviShortcut.cpp
+++ b/src/kvilib/core/KviShortcut.cpp
@@ -26,27 +26,32 @@
#include <QShortcut>
+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
QShortcut * KviShortcut::create(const char * key, QWidget * parent, const char * member, const char * ambiguousMember, Qt::ShortcutContext context)
+#else
+QShortcut * KviShortcut::create(const char * key, QObject * parent, const char * member, const char * ambiguousMember, Qt::ShortcutContext context)
+#endif
{
//qDebug("New Plain Shortcut %s\n", QKeySequence(key).toString().toUtf8().data());
return new QShortcut(QKeySequence(key), parent, member, ambiguousMember, context);
}
+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
QShortcut * KviShortcut::create(const QKeySequence & key, QWidget * parent, const char * member, const char * ambiguousMember, Qt::ShortcutContext context)
+#else
+QShortcut * KviShortcut::create(const QKeySequence & key, QObject * parent, const char * member, const char * ambiguousMember, Qt::ShortcutContext context)
+#endif
{
//qDebug("New KeySe Shortcut %s\n", key.toString().toUtf8().data());
return new QShortcut(key, parent, member, ambiguousMember, context);
}
-void KviShortcut::create(QKeySequence::StandardKey key, QWidget * parent, const char * member, const char * ambiguousMember, Qt::ShortcutContext context, KviPointerList<QShortcut> * pBufferList)
+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+QShortcut * KviShortcut::create(Qt::KeyboardModifier mod, Qt::Key key, QWidget * parent, const char * member, const char * ambiguousMember, Qt::ShortcutContext context)
+#else
+QShortcut * KviShortcut::create(Qt::KeyboardModifier mod, Qt::Key key, QObject * parent, const char * member, const char * ambiguousMember, Qt::ShortcutContext context)
+#endif
{
- QKeySequence singleKey;
- QList<QKeySequence> allKeys = QKeySequence::keyBindings(key);
- foreach(singleKey, allKeys)
- {
- //qDebug("New Multi Shortcut %s\n", singleKey.toString().toUtf8().data());
- QShortcut * pShortcut = new QShortcut(singleKey, parent, member, ambiguousMember, context);
- if(pBufferList)
- pBufferList->append(pShortcut);
- }
+ //qDebug("New KeySe Shortcut %s\n", key.toString().toUtf8().data());
+ return new QShortcut(QKeySequence(mod, key), parent, member, ambiguousMember, context);
}
diff --git a/src/kvilib/core/KviShortcut.h b/src/kvilib/core/KviShortcut.h
index 4de4fd309..90b0be676 100644
--- a/src/kvilib/core/KviShortcut.h
+++ b/src/kvilib/core/KviShortcut.h
@@ -32,6 +32,7 @@
class QShortcut;
class QWidget;
+class QObject;
class KVILIB_API KviShortcut
{
@@ -40,9 +41,15 @@ private:
~KviShortcut();
public:
+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
static QShortcut * create(const char * key, QWidget * parent, const char * member = nullptr, const char * ambiguousMember = nullptr, Qt::ShortcutContext context = Qt::WindowShortcut);
static QShortcut * create(const QKeySequence & key, QWidget * parent, const char * member = nullptr, const char * ambiguousMember = nullptr, Qt::ShortcutContext context = Qt::WindowShortcut);
- static void create(QKeySequence::StandardKey key, QWidget * parent, const char * member = nullptr, const char * ambiguousMember = nullptr, Qt::ShortcutContext context = Qt::WindowShortcut, KviPointerList<QShortcut> * pBufferList = nullptr);
+ static QShortcut * create(Qt::KeyboardModifier mod, Qt::Key key, QWidget * parent, const char * member = nullptr, const char * ambiguousMember = nullptr, Qt::ShortcutContext context = Qt::WindowShortcut);
+#else
+ static QShortcut * create(const char * key, QObject * parent, const char * member = nullptr, const char * ambiguousMember = nullptr, Qt::ShortcutContext context = Qt::WindowShortcut);
+ static QShortcut * create(const QKeySequence & key, QObject * parent, const char * member = nullptr, const char * ambiguousMember = nullptr, Qt::ShortcutContext context = Qt::WindowShortcut);
+ static QShortcut * create(Qt::KeyboardModifier mod, Qt::Key key, QObject * parent, const char * member = nullptr, const char * ambiguousMember = nullptr, Qt::ShortcutContext context = Qt::WindowShortcut);
+#endif
};
#endif //_KVI_SHORTCUT_CLASSFILE_H_
diff --git a/src/kvirc/ui/KviInputEditor.h b/src/kvirc/ui/KviInputEditor.h
index aacf53098..58b92c879 100644
--- a/src/kvirc/ui/KviInputEditor.h
+++ b/src/kvirc/ui/KviInputEditor.h
@@ -66,7 +66,7 @@ class QFontMetrics;
#define KVI_INPUT_DEF_FORE 101
#ifndef ACCEL_KEY
-#define ACCEL_KEY(k) "\t" + QKeySequence(Qt::ControlModifier | Qt::Key_##k).toString()
+#define ACCEL_KEY(k) "\t" + QKeySequence(Qt::ControlModifier + Qt::Key_##k).toString()
#endif
class KviInputEditorSpellCheckerBlock
diff --git a/src/kvirc/ui/KviMainWindow.cpp b/src/kvirc/ui/KviMainWindow.cpp
index a6742f597..10bbbd066 100644
--- a/src/kvirc/ui/KviMainWindow.cpp
+++ b/src/kvirc/ui/KviMainWindow.cpp
@@ -275,16 +275,16 @@ void KviMainWindow::installAccelerators()
m_pAccellerators.push_back(KviShortcut::create(KVI_SHORTCUTS_WIN_NEXT_TAB, this, SLOT(switchToNextWindow()), nullptr, Qt::ApplicationShortcut));
static int accel_table[] = {
- Qt::Key_1 + Qt::ControlModifier, // script accels...
- Qt::Key_2 + Qt::ControlModifier,
- Qt::Key_3 + Qt::ControlModifier,
- Qt::Key_4 + Qt::ControlModifier,
- Qt::Key_5 + Qt::ControlModifier,
- Qt::Key_6 + Qt::ControlModifier,
- Qt::Key_7 + Qt::ControlModifier,
- Qt::Key_8 + Qt::ControlModifier,
- Qt::Key_9 + Qt::ControlModifier,
- Qt::Key_0 + Qt::ControlModifier,
+ Qt::Key_1 | Qt::ControlModifier, // script accels...
+ Qt::Key_2 | Qt::ControlModifier,
+ Qt::Key_3 | Qt::ControlModifier,
+ Qt::Key_4 | Qt::ControlModifier,
+ Qt::Key_5 | Qt::ControlModifier,
+ Qt::Key_6 | Qt::ControlModifier,
+ Qt::Key_7 | Qt::ControlModifier,
+ Qt::Key_8 | Qt::ControlModifier,
+ Qt::Key_9 | Qt::ControlModifier,
+ Qt::Key_0 | Qt::ControlModifier,
Qt::Key_F2,
Qt::Key_F3,
Qt::Key_F4,
@@ -296,18 +296,18 @@ void KviMainWindow::installAccelerators()
Qt::Key_F10,
Qt::Key_F11,
Qt::Key_F12,
- Qt::Key_F1 + Qt::ShiftModifier,
- Qt::Key_F2 + Qt::ShiftModifier,
- Qt::Key_F3 + Qt::ShiftModifier,
- Qt::Key_F4 + Qt::ShiftModifier,
- Qt::Key_F5 + Qt::ShiftModifier,
- Qt::Key_F6 + Qt::ShiftModifier,
- Qt::Key_F7 + Qt::ShiftModifier,
- Qt::Key_F8 + Qt::ShiftModifier,
- Qt::Key_F9 + Qt::ShiftModifier,
- Qt::Key_F10 + Qt::ShiftModifier,
- Qt::Key_F11 + Qt::ShiftModifier,
- Qt::Key_F12 + Qt::ShiftModifier
+ Qt::Key_F1 | Qt::ShiftModifier,
+ Qt::Key_F2 | Qt::ShiftModifier,
+ Qt::Key_F3 | Qt::ShiftModifier,
+ Qt::Key_F4 | Qt::ShiftModifier,
+ Qt::Key_F5 | Qt::ShiftModifier,
+ Qt::Key_F6 | Qt::ShiftModifier,
+ Qt::Key_F7 | Qt::ShiftModifier,
+ Qt::Key_F8 | Qt::ShiftModifier,
+ Qt::Key_F9 | Qt::ShiftModifier,
+ Qt::Key_F10 | Qt::ShiftModifier,
+ Qt::Key_F11 | Qt::ShiftModifier,
+ Qt::Key_F12 | Qt::ShiftModifier
};
for(auto key : accel_table)
diff --git a/src/modules/editor/ScriptEditorImplementation.cpp b/src/modules/editor/ScriptEditorImplementation.cpp
index 6b5e8c4ac..81081fae8 100644
--- a/src/modules/editor/ScriptEditorImplementation.cpp
+++ b/src/modules/editor/ScriptEditorImplementation.cpp
@@ -385,7 +385,7 @@ void ScriptEditorWidget::keyPressEvent(QKeyEvent * e)
bool isShortcut = ((e->modifiers() & Qt::ControlModifier) && e->key() == Qt::Key_E); // CTRL+E
if(!m_pCompleter || !isShortcut) // don't process the shortcut when we have a completer
QTextEdit::keyPressEvent(e);
- const bool ctrlOrShift = e->modifiers() & (Qt::ControlModifier + Qt::ShiftModifier);
+ const bool ctrlOrShift = e->modifiers() & (Qt::ControlModifier | Qt::ShiftModifier);
if(!m_pCompleter || (ctrlOrShift && e->text().isEmpty()))
return;
static QString eow("~!@#$%^&*()_+{}|:\"<>?,/;'[]\\-="); // end of word