diff options
| author | 2009-03-15 16:48:46 +0000 | |
|---|---|---|
| committer | 2009-03-15 16:48:46 +0000 | |
| commit | 7afb0c5065e4340f9229b639834271883feeff87 (patch) | |
| tree | 96967386b24986f55717a7bfdb5c225fdd5cff6d /src | |
| parent | highlight engine: added an option to switch between free match and strict wor... (diff) | |
| download | KVIrc-7afb0c5065e4340f9229b639834271883feeff87.tar.gz KVIrc-7afb0c5065e4340f9229b639834271883feeff87.tar.bz2 KVIrc-7afb0c5065e4340f9229b639834271883feeff87.zip | |
implemented zsh completion (closes #2)
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@3144 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
| -rw-r--r-- | src/kvirc/kernel/kvi_options.cpp | 3 | ||||
| -rw-r--r-- | src/kvirc/kernel/kvi_options.h | 3 | ||||
| -rw-r--r-- | src/kvirc/ui/kvi_input_editor.cpp | 15 | ||||
| -rw-r--r-- | src/modules/options/optw_input.cpp | 7 |
4 files changed, 24 insertions, 4 deletions
diff --git a/src/kvirc/kernel/kvi_options.cpp b/src/kvirc/kernel/kvi_options.cpp index 59416504e..4dfc00a9e 100644 --- a/src/kvirc/kernel/kvi_options.cpp +++ b/src/kvirc/kernel/kvi_options.cpp @@ -314,7 +314,8 @@ KviBoolOption g_boolOptionsTable[KVI_NUM_BOOL_OPTIONS]= BOOL_OPTION("PasteLastLogOnChannelJoin",false,KviOption_sectFlagLogging), BOOL_OPTION("PasteLastLogOnQueryJoin",false,KviOption_sectFlagLogging), BOOL_OPTION("UseSpecifiedSmartColorForOwnNick",false,KviOption_sectFlagIrcView | KviOption_groupTheme), - BOOL_OPTION("UseFullWordHighlighting",false,KviOption_sectFlagIrcView) + BOOL_OPTION("UseFullWordHighlighting",false,KviOption_sectFlagIrcView), + BOOL_OPTION("ZshLikeNickCompletion",false,KviOption_sectFlagInput) }; #define STRING_OPTION(_txt,_val,_flags) KviStringOption(KVI_STRING_OPTIONS_PREFIX _txt,_val,_flags) diff --git a/src/kvirc/kernel/kvi_options.h b/src/kvirc/kernel/kvi_options.h index 66eb093dc..e0a3bc199 100644 --- a/src/kvirc/kernel/kvi_options.h +++ b/src/kvirc/kernel/kvi_options.h @@ -322,7 +322,8 @@ DECLARE_OPTION_STRUCT(KviStringListOption,QStringList) #define KviOption_boolPasteLastLogOnQueryJoin 228 /* query */ #define KviOption_boolUseSpecifiedSmartColorForOwnNick 229 /* interface::ircview */ #define KviOption_boolUseFullWordHighlighting 230 /* highlight */ -#define KVI_NUM_BOOL_OPTIONS 231 +#define KviOption_boolZshLikeNickCompletion 231 +#define KVI_NUM_BOOL_OPTIONS 232 #define KVI_STRING_OPTIONS_PREFIX "string" diff --git a/src/kvirc/ui/kvi_input_editor.cpp b/src/kvirc/ui/kvi_input_editor.cpp index ebabf1a77..de8fd9a07 100644 --- a/src/kvirc/ui/kvi_input_editor.cpp +++ b/src/kvirc/ui/kvi_input_editor.cpp @@ -1746,7 +1746,20 @@ void KviInputEditor::completion(bool bShift) // empty word will end up here if(m_pUserListView) { - if(KVI_OPTION_BOOL(KviOption_boolBashLikeNickCompletion)) + if(KVI_OPTION_BOOL(KviOption_boolZshLikeNickCompletion)) + { + if(m_szLastCompletedNick.isEmpty()) + { + //first round of zsh completion + m_pUserListView->completeNickBashLike(szWord,&tmp,bShift); + bIsNick = true; + m_szLastCompletedNick=szWord; + } else { + standardNickCompletion(bShift,szWord,bFirstWordInLine); + repaintWithCursorOn(); + return; + } + } else if(KVI_OPTION_BOOL(KviOption_boolBashLikeNickCompletion)) { m_pUserListView->completeNickBashLike(szWord,&tmp,bShift); bIsNick = true; diff --git a/src/modules/options/optw_input.cpp b/src/modules/options/optw_input.cpp index 0ea7f720e..d49594527 100644 --- a/src/modules/options/optw_input.cpp +++ b/src/modules/options/optw_input.cpp @@ -147,7 +147,12 @@ KviInputFeaturesOptionsWidget::KviInputFeaturesOptionsWidget(QWidget * parent) addUIntSelector(0,4,0,4,__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")); - addBoolSelector(g,__tr2qs_ctx("Use bash-like nick completion","options"),KviOption_boolBashLikeNickCompletion); + 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)); + connect(b,SIGNAL(toggled(bool)),c,SLOT(setDisabled(bool))); + connect(c,SIGNAL(toggled(bool)),b,SLOT(setDisabled(bool))); + 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); addRowSpacer(0,6,0,6); |
