aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar Szymon Tomasz Stefanek2015-09-13 03:29:07 +0200
committerGravatar Szymon Tomasz Stefanek2015-09-13 03:29:07 +0200
commit111490940a8ccb38fd2d0020bdee4744ab794112 (patch)
treefe45224d13f5181bce141648023eeccf7bd413e5 /src
parentFix transparent labels in popup menus with Qt5 (diff)
downloadKVIrc-111490940a8ccb38fd2d0020bdee4744ab794112.tar.gz
KVIrc-111490940a8ccb38fd2d0020bdee4744ab794112.tar.bz2
KVIrc-111490940a8ccb38fd2d0020bdee4744ab794112.zip
Map Ctrl+Q shortcut to quit action.
Diffstat (limited to 'src')
-rw-r--r--src/kvilib/config/kvi_shortcuts.h3
-rw-r--r--src/kvirc/ui/KviInputEditor.cpp51
-rw-r--r--src/kvirc/ui/KviInputEditor.h1
-rw-r--r--src/kvirc/ui/KviMenuBar.cpp9
4 files changed, 32 insertions, 32 deletions
diff --git a/src/kvilib/config/kvi_shortcuts.h b/src/kvilib/config/kvi_shortcuts.h
index 3a652034f..a179dd2e8 100644
--- a/src/kvilib/config/kvi_shortcuts.h
+++ b/src/kvilib/config/kvi_shortcuts.h
@@ -49,6 +49,7 @@
* \def KVI_SHORTCUTS_USERS Open "Registered Users" dialog
* \def KVI_SHORTCUTS_MANAGE_THEMES Open "Manage Theme" dialog
* \def KVI_SHORTCUTS_MANAGE_ADDONS Open "Manage Theme" dialog
+* \def KVI_SHORTCUTS_QUIT Quit KVIrc
*
* \def KVI_SHORTCUTS_INPUT_ALT Alt key
* \def KVI_SHORTCUTS_INPUT_ALT_2 Meta key
@@ -138,6 +139,7 @@
#define KVI_SHORTCUTS_CONTEXT QKeySequence::New // Ctrl+N
#define KVI_SHORTCUTS_INPUT_RESET "Ctrl+O"
#define KVI_SHORTCUTS_INPUT_PLAINTEXT "Ctrl+P"
+#define KVI_SHORTCUTS_QUIT "Ctrl+Q"
#define KVI_SHORTCUTS_INPUT_REVERSE "Ctrl+R"
#define KVI_SHORTCUTS_SERVERS "Ctrl+S"
#define KVI_SHORTCUTS_INPUT_UNDERLINE QKeySequence::Underline // Ctrl+U
@@ -245,6 +247,7 @@
[b]Ctrl+N:[/b] Open new context[br]
[b]Ctrl+O:[/b] Insert Reset control character[br]
[b]Ctrl+P:[/b] Insert "Plain text" control character[br]
+ [b]Ctrl+Q:[/b] Quit [br]
[b]Ctrl+R:[/b] Insert Reverse control character[br]
[b]Ctrl+S:[/b] Open "Servers" dialog [br]
[b]Ctrl+U:[/b] Insert Underline control character[br]
diff --git a/src/kvirc/ui/KviInputEditor.cpp b/src/kvirc/ui/KviInputEditor.cpp
index 2e461f3fb..3b25b95e4 100644
--- a/src/kvirc/ui/KviInputEditor.cpp
+++ b/src/kvirc/ui/KviInputEditor.cpp
@@ -1129,17 +1129,8 @@ void KviInputEditor::showContextPopup(const QPoint &pos)
KviPointerList<KviInputEditorSpellCheckerBlock> lBuffer;
splitTextIntoSpellCheckerBlocks(m_szTextBuffer,lBuffer);
- KviInputEditorSpellCheckerBlock * pCurrentBlock = NULL;
-
- for(KviInputEditorSpellCheckerBlock * pBlock = lBuffer.first();pBlock;pBlock = lBuffer.next())
- {
- if(m_iCursorPosition <= (pBlock->iStart + pBlock->iLength))
- {
- pCurrentBlock = pBlock;
- break;
- }
- }
-
+ KviInputEditorSpellCheckerBlock * pCurrentBlock = findSpellCheckerBlockAtCursor(lBuffer);
+
if(pCurrentBlock && pCurrentBlock->bSpellCheckable && (!pCurrentBlock->bCorrect))
{
g_pInputPopup->addSeparator();
@@ -1176,6 +1167,22 @@ void KviInputEditor::showContextPopup(const QPoint &pos)
}
+KviInputEditorSpellCheckerBlock * KviInputEditor::findSpellCheckerBlockAtCursor(KviPointerList<KviInputEditorSpellCheckerBlock> &lBlocks)
+{
+ KviInputEditorSpellCheckerBlock * pCurrentBlock = NULL;
+
+ for(KviInputEditorSpellCheckerBlock * pBlock = lBlocks.first();pBlock;pBlock = lBlocks.next())
+ {
+ if(m_iCursorPosition <= (pBlock->iStart + pBlock->iLength))
+ {
+ pCurrentBlock = pBlock;
+ break;
+ }
+ }
+
+ return pCurrentBlock;
+}
+
void KviInputEditor::showSpellCheckerCorrectionsPopup()
{
g_pSpellCheckerPopup->clear();
@@ -1195,16 +1202,7 @@ void KviInputEditor::showSpellCheckerCorrectionsPopup()
KviPointerList<KviInputEditorSpellCheckerBlock> lBuffer;
splitTextIntoSpellCheckerBlocks(m_szTextBuffer,lBuffer);
- KviInputEditorSpellCheckerBlock * pCurrentBlock = NULL;
-
- for(KviInputEditorSpellCheckerBlock * pBlock = lBuffer.first();pBlock;pBlock = lBuffer.next())
- {
- if(m_iCursorPosition <= (pBlock->iStart + pBlock->iLength))
- {
- pCurrentBlock = pBlock;
- break;
- }
- }
+ KviInputEditorSpellCheckerBlock * pCurrentBlock = findSpellCheckerBlockAtCursor(lBuffer);
if(!pCurrentBlock)
return; // doh?
@@ -1280,16 +1278,7 @@ void KviInputEditor::spellCheckerPopupCorrectionActionTriggered()
KviPointerList<KviInputEditorSpellCheckerBlock> lBuffer;
splitTextIntoSpellCheckerBlocks(m_szTextBuffer,lBuffer);
- KviInputEditorSpellCheckerBlock * pCurrentBlock = NULL;
-
- for(KviInputEditorSpellCheckerBlock * pBlock = lBuffer.first();pBlock;pBlock = lBuffer.next())
- {
- if(m_iCursorPosition <= (pBlock->iStart + pBlock->iLength))
- {
- pCurrentBlock = pBlock;
- break;
- }
- }
+ KviInputEditorSpellCheckerBlock * pCurrentBlock = findSpellCheckerBlockAtCursor(lBuffer);
if(!pCurrentBlock)
return; // doh?
diff --git a/src/kvirc/ui/KviInputEditor.h b/src/kvirc/ui/KviInputEditor.h
index 46c0d32ab..32acf5081 100644
--- a/src/kvirc/ui/KviInputEditor.h
+++ b/src/kvirc/ui/KviInputEditor.h
@@ -971,6 +971,7 @@ protected:
QString checkSpelling(const QString &szText);
bool checkWordSpelling(const QString &szWord);
void splitTextIntoSpellCheckerBlocks(const QString &szText,KviPointerList<KviInputEditorSpellCheckerBlock> &lBuffer);
+ KviInputEditorSpellCheckerBlock * findSpellCheckerBlockAtCursor(KviPointerList<KviInputEditorSpellCheckerBlock> &lBlocks);
signals:
/**
* \brief Called when the user press escape
diff --git a/src/kvirc/ui/KviMenuBar.cpp b/src/kvirc/ui/KviMenuBar.cpp
index bbdd3e457..c24b8f8f7 100644
--- a/src/kvirc/ui/KviMenuBar.cpp
+++ b/src/kvirc/ui/KviMenuBar.cpp
@@ -39,6 +39,7 @@
#include "KviActionManager.h"
#include "KviCoreActionNames.h"
#include "KviKvsScript.h"
+#include "KviShortcut.h"
#include <QMenu>
@@ -267,7 +268,13 @@ void KviMenuBar::setupMainPopup(QMenu *pop)
#ifndef COMPILE_ON_MAC
main->addSeparator();
- main->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::QuitApp)),__tr2qs("&Quit"),g_pMainWindow,SLOT(close()));
+ main->addAction(
+ *(g_pIconManager->getSmallIcon(KviIconManager::QuitApp)),
+ __tr2qs("&Quit"),
+ g_pMainWindow,
+ SLOT(close()),
+ QKeySequence(KVI_SHORTCUTS_QUIT)
+ );
#endif //COMPILE_ON_MAC
}