diff options
| author | 2015-11-04 16:39:05 -0500 | |
|---|---|---|
| committer | 2015-11-04 16:39:05 -0500 | |
| commit | 4fa5b389e853065181447f11985b7b985de9165b (patch) | |
| tree | 0d9638247e3276028a4ba5f644f768e8fa6ad32e /src | |
| parent | Merge pull request #1714 from blindsighttf2/favorites (diff) | |
| download | KVIrc-4fa5b389e853065181447f11985b7b985de9165b.tar.gz KVIrc-4fa5b389e853065181447f11985b7b985de9165b.tar.bz2 KVIrc-4fa5b389e853065181447f11985b7b985de9165b.zip | |
events: Add option to require Control to copy
Closes #1709
Diffstat (limited to 'src')
| -rw-r--r-- | src/kvirc/kernel/KviOptions.cpp | 3 | ||||
| -rw-r--r-- | src/kvirc/kernel/KviOptions.h | 3 | ||||
| -rw-r--r-- | src/kvirc/ui/KviIrcView.h | 1 | ||||
| -rw-r--r-- | src/kvirc/ui/KviIrcView_events.cpp | 4 | ||||
| -rw-r--r-- | src/modules/options/OptionsWidget_input.cpp | 11 |
5 files changed, 15 insertions, 7 deletions
diff --git a/src/kvirc/kernel/KviOptions.cpp b/src/kvirc/kernel/KviOptions.cpp index 5148ae620..744df1afc 100644 --- a/src/kvirc/kernel/KviOptions.cpp +++ b/src/kvirc/kernel/KviOptions.cpp @@ -335,7 +335,8 @@ KviBoolOption g_boolOptionsTable[KVI_NUM_BOOL_OPTIONS]= BOOL_OPTION("UserListViewUseAwayColor",true,KviOption_sectFlagUserListView | KviOption_resetUpdateGui), BOOL_OPTION("ShowUserFlagForChannelsInWindowList",true,KviOption_sectFlagWindowList | KviOption_resetUpdateGui), BOOL_OPTION("EnableCustomCursorWidth",false,KviOption_sectFlagGui | KviOption_resetUpdateGui), - BOOL_OPTION("ShowFavoriteServersOnly",false,KviOption_sectFlagFrame) + BOOL_OPTION("ShowFavoriteServersOnly",false,KviOption_sectFlagFrame), + BOOL_OPTION("RequireControlToCopy",false,KviOption_sectFlagIrcView) }; #define STRING_OPTION(_txt,_val,_flags) KviStringOption(KVI_STRING_OPTIONS_PREFIX _txt,_val,_flags) diff --git a/src/kvirc/kernel/KviOptions.h b/src/kvirc/kernel/KviOptions.h index f1fabb8bd..45a35f1dd 100644 --- a/src/kvirc/kernel/KviOptions.h +++ b/src/kvirc/kernel/KviOptions.h @@ -355,8 +355,9 @@ DECLARE_OPTION_STRUCT(KviStringListOption,QStringList) #define KviOption_boolShowUserFlagForChannelsInWindowList 260 #define KviOption_boolEnableCustomCursorWidth 261 /* interface */ #define KviOption_boolShowFavoriteServersOnly 262 /* connection::ircservers */ +#define KviOption_boolRequireControlToCopy 263 /* interface::ircview */ -#define KVI_NUM_BOOL_OPTIONS 263 +#define KVI_NUM_BOOL_OPTIONS 264 #define KVI_STRING_OPTIONS_PREFIX "string" diff --git a/src/kvirc/ui/KviIrcView.h b/src/kvirc/ui/KviIrcView.h index ed27bd48c..5e950e6ec 100644 --- a/src/kvirc/ui/KviIrcView.h +++ b/src/kvirc/ui/KviIrcView.h @@ -125,6 +125,7 @@ private: bool m_bMouseIsDown; bool m_bShiftPressed; + bool m_bCtrlPressed; bool m_bSkipScrollBarRepaint; int m_iMouseTimer; diff --git a/src/kvirc/ui/KviIrcView_events.cpp b/src/kvirc/ui/KviIrcView_events.cpp index 140fb3d43..74e06e6d4 100644 --- a/src/kvirc/ui/KviIrcView_events.cpp +++ b/src/kvirc/ui/KviIrcView_events.cpp @@ -277,6 +277,7 @@ void KviIrcView::mousePressEvent(QMouseEvent * e) m_bMouseIsDown = true; m_bShiftPressed = (e->modifiers() & Qt::ShiftModifier); + m_bCtrlPressed = (e->modifiers() & Qt::ControlModifier); if(m_iMouseTimer) // clicked at least twice within the doubleClickInterval(): this is a double click then... { @@ -496,6 +497,8 @@ void KviIrcView::mouseReleaseEvent(QMouseEvent *e) QString szSelectionText; while(tempLine) { + if(KVI_OPTION_BOOL(KviOption_boolRequireControlToCopy) && !m_bCtrlPressed) + break; if(tempLine->uIndex == init->uIndex) { if(tempLine->uIndex == end->uIndex) @@ -637,6 +640,7 @@ void KviIrcView::mouseReleaseEvent(QMouseEvent *e) { m_bMouseIsDown = false; m_bShiftPressed = false; + m_bCtrlPressed = false; // Insert the lines blocked while selecting while(KviIrcViewLine * l = m_pMessagesStoppedWhileSelecting->first()) { diff --git a/src/modules/options/OptionsWidget_input.cpp b/src/modules/options/OptionsWidget_input.cpp index 855497890..a900a8f3b 100644 --- a/src/modules/options/OptionsWidget_input.cpp +++ b/src/modules/options/OptionsWidget_input.cpp @@ -144,9 +144,10 @@ OptionsWidget_inputFeatures::OptionsWidget_inputFeatures(QWidget * parent) addBoolSelector(0,1,0,1,__tr2qs_ctx("Enable the input history logging","options"),KviOption_boolEnableInputHistory); //G&N 2005 addBoolSelector(0,2,0,2,__tr2qs_ctx("Hide input toolbuttons by default","options"),KviOption_boolHideInputToolButtons); addBoolSelector(0,3,0,3,__tr2qs_ctx("Commandline in user-friendly mode by default","options"),KviOption_boolCommandlineInUserFriendlyModeByDefault); - addUIntSelector(0,4,0,4,__tr2qs_ctx("Expand tabulations in input using this amount of spaces:","options"),KviOption_uintSpacesToExpandTabulationInput,1,24,8,true); + addBoolSelector(0,4,0,4,__tr2qs_ctx("Require 'Control' to be held down to copy text","options"),KviOption_boolRequireControlToCopy); + addUIntSelector(0,5,0,5,__tr2qs_ctx("Expand tabulations in input using this amount of spaces:","options"),KviOption_uintSpacesToExpandTabulationInput,1,24,8,true); - KviTalGroupBox * g = addGroupBox(0,5,0,5,Qt::Horizontal,__tr2qs_ctx("Nick Completion","options")); + KviTalGroupBox * g = addGroupBox(0,6,0,6,Qt::Horizontal,__tr2qs_ctx("Nick Completion","options")); KviBoolSelector * b, *c; b = addBoolSelector(g,__tr2qs_ctx("Use bash-like nick completion","options"),KviOption_boolBashLikeNickCompletion,!KVI_OPTION_BOOL(KviOption_boolZshLikeNickCompletion)); c = addBoolSelector(g,__tr2qs_ctx("Use zsh-like nick completion","options"),KviOption_boolZshLikeNickCompletion,!KVI_OPTION_BOOL(KviOption_boolBashLikeNickCompletion)); @@ -156,11 +157,11 @@ OptionsWidget_inputFeatures::OptionsWidget_inputFeatures(QWidget * parent) addStringSelector(g,__tr2qs_ctx("Nick completion postfix string","options"),KviOption_stringNickCompletionPostfix); addBoolSelector(g,__tr2qs_ctx("Use the completion postfix string for the first word only","options"),KviOption_boolUseNickCompletionPostfixForFirstWordOnly); - KviBoolSelector *d = addBoolSelector(0,6,0,6,__tr2qs_ctx("Use a custom cursor width","options"),KviOption_boolEnableCustomCursorWidth); - KviUIntSelector *f = addUIntSelector(0,7,0,7,__tr2qs_ctx("Custom cursor width:","options"),KviOption_uintCustomCursorWidth,1,24,8,KVI_OPTION_BOOL(KviOption_boolEnableCustomCursorWidth)); + KviBoolSelector *d = addBoolSelector(0,7,0,7,__tr2qs_ctx("Use a custom cursor width","options"),KviOption_boolEnableCustomCursorWidth); + KviUIntSelector *f = addUIntSelector(0,8,0,8,__tr2qs_ctx("Custom cursor width:","options"),KviOption_uintCustomCursorWidth,1,24,8,KVI_OPTION_BOOL(KviOption_boolEnableCustomCursorWidth)); f->setSuffix(__tr2qs_ctx(" px","options")); connect(d,SIGNAL(toggled(bool)),f,SLOT(setEnabled(bool))); - addRowSpacer(0,8,0,8); + addRowSpacer(0,9,0,9); } OptionsWidget_inputFeatures::~OptionsWidget_inputFeatures() |
