diff options
| author | 2015-09-13 03:29:07 +0200 | |
|---|---|---|
| committer | 2015-09-13 03:29:07 +0200 | |
| commit | 111490940a8ccb38fd2d0020bdee4744ab794112 (patch) | |
| tree | fe45224d13f5181bce141648023eeccf7bd413e5 /src | |
| parent | Fix transparent labels in popup menus with Qt5 (diff) | |
| download | KVIrc-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.h | 3 | ||||
| -rw-r--r-- | src/kvirc/ui/KviInputEditor.cpp | 51 | ||||
| -rw-r--r-- | src/kvirc/ui/KviInputEditor.h | 1 | ||||
| -rw-r--r-- | src/kvirc/ui/KviMenuBar.cpp | 9 |
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 } |
