diff options
Diffstat (limited to 'src/modules')
| -rw-r--r-- | src/modules/editor/scripteditor.cpp | 29 | ||||
| -rw-r--r-- | src/modules/options/optw_input.cpp | 8 | ||||
| -rw-r--r-- | src/modules/spaste/controller.cpp | 21 |
3 files changed, 36 insertions, 22 deletions
diff --git a/src/modules/editor/scripteditor.cpp b/src/modules/editor/scripteditor.cpp index 1b6ee2841..70534a8e4 100644 --- a/src/modules/editor/scripteditor.cpp +++ b/src/modules/editor/scripteditor.cpp @@ -343,24 +343,25 @@ void KviScriptEditorWidget::keyPressEvent(QKeyEvent * e) // Adapted from QT4 QCompleter example bool isShortcut = ((e->modifiers() & Qt::ControlModifier) && e->key() == Qt::Key_E); // CTRL+E if (!m_pCompleter || !isShortcut) // dont process the shortcut when we have a completer - QTextEdit::keyPressEvent(e); + QTextEdit::keyPressEvent(e); const bool ctrlOrShift = e->modifiers() & (Qt::ControlModifier | Qt::ShiftModifier); - if (!m_pCompleter || (ctrlOrShift && e->text().isEmpty())) - return; - static QString eow("~!@#$%^&*()_+{}|:\"<>?,/;'[]\\-="); // end of word - bool hasModifier = (e->modifiers() != Qt::NoModifier) && !ctrlOrShift; - QString completionPrefix = textUnderCursor(); + if (!m_pCompleter || (ctrlOrShift && e->text().isEmpty())) + return; + static QString eow("~!@#$%^&*()_+{}|:\"<>?,/;'[]\\-="); // end of word + bool hasModifier = (e->modifiers() != Qt::NoModifier) && !ctrlOrShift; + QString completionPrefix = textUnderCursor(); if (!isShortcut && (hasModifier || e->text().isEmpty()|| completionPrefix.length() < 3 || eow.contains(e->text().right(1)))) { - m_pCompleter->popup()->hide(); + m_pCompleter->popup()->hide(); return; - } - if (completionPrefix != m_pCompleter->completionPrefix()) { - m_pCompleter->setCompletionPrefix(completionPrefix); - m_pCompleter->popup()->setCurrentIndex(m_pCompleter->completionModel()->index(0, 0)); - } - QRect cr = cursorRect(); - cr.setWidth(m_pCompleter->popup()->sizeHintForColumn(0)+ m_pCompleter->popup()->verticalScrollBar()->sizeHint().width()); + } + if (completionPrefix != m_pCompleter->completionPrefix()) + { + m_pCompleter->setCompletionPrefix(completionPrefix); + m_pCompleter->popup()->setCurrentIndex(m_pCompleter->completionModel()->index(0, 0)); + } + QRect cr = cursorRect(); + cr.setWidth(m_pCompleter->popup()->sizeHintForColumn(0)+ m_pCompleter->popup()->verticalScrollBar()->sizeHint().width()); m_pCompleter->complete(cr); } diff --git a/src/modules/options/optw_input.cpp b/src/modules/options/optw_input.cpp index 246ff2502..0ea7f720e 100644 --- a/src/modules/options/optw_input.cpp +++ b/src/modules/options/optw_input.cpp @@ -143,12 +143,14 @@ KviInputFeaturesOptionsWidget::KviInputFeaturesOptionsWidget(QWidget * parent) addBoolSelector(0,0,0,0,__tr2qs_ctx("Warp cursor at the end of line when browsing history","options"),KviOption_boolInputHistoryCursorAtEnd); 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); - KviTalGroupBox * g = addGroupBox(0,3,0,3,Qt::Horizontal,__tr2qs_ctx("Nick completion","options")); + 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); + + 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); 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); - addBoolSelector(0,4,0,4,__tr2qs_ctx("Commandline in user-friendly mode by default","options"),KviOption_boolCommandlineInUserFriendlyModeByDefault); - addRowSpacer(0,5,0,5); + addRowSpacer(0,6,0,6); } KviInputFeaturesOptionsWidget::~KviInputFeaturesOptionsWidget() diff --git a/src/modules/spaste/controller.cpp b/src/modules/spaste/controller.cpp index 80d354ec0..db2e0a711 100644 --- a/src/modules/spaste/controller.cpp +++ b/src/modules/spaste/controller.cpp @@ -1,10 +1,10 @@ //============================================================================= // // File : controller.h -// Creation date : Thu Apr 30 2002 17:13:12 GMT by Juanjo Álvarez +// Creation date : Thu Apr 30 2002 17:13:12 GMT by Juanjo Alvarez // // This file is part of the KVirc irc client distribution -// Copyright (C) 2002 Juanjo Álvarez (juanjux@yahoo.es) +// Copyright (C) 2002 Juanjo Alvarez (juanjux@yahoo.es) // Copyright (C) 2002-2008 Szymon Stefanek (kvirc@tin.it) // // This program is FREE software. You can redistribute it and/or @@ -100,6 +100,8 @@ void SPasteController::pasteFile(void) if(line.isEmpty()) line = QChar(KVI_TEXT_RESET); + line.replace('\t',QString(KVI_OPTION_UINT(KviOption_uintSpacesToExpandTabulationInput),' ')); //expand tabs to spaces + if(!g_pApp->windowExists(m_pWindow)) { m_pFile->close(); @@ -118,10 +120,19 @@ void SPasteController::pasteClipboard(void) if(m_clipBuffIterator != m_pClipBuff->end()) { if(!g_pApp->windowExists(m_pWindow)) + { delete this; - else { - if((*m_clipBuffIterator).isEmpty())(*m_clipBuffIterator) = QChar(KVI_TEXT_RESET); - m_pWindow->ownMessage((*m_clipBuffIterator).toAscii()); // <-- not good :/ + } else { + QString line; + if((*m_clipBuffIterator).isEmpty()) + { + line = QChar(KVI_TEXT_RESET); + } else { + line = *m_clipBuffIterator; + } + + line.replace('\t',QString(KVI_OPTION_UINT(KviOption_uintSpacesToExpandTabulationInput),' ')); //expand tabs to spaces + m_pWindow->ownMessage(line); ++m_clipBuffIterator; } } else delete this;//Clipboard finished |
