diff options
| author | 2008-12-30 10:05:59 +0000 | |
|---|---|---|
| committer | 2008-12-30 10:05:59 +0000 | |
| commit | 7fc8cb2c83ddfd22023a08525c3d730890c55de9 (patch) | |
| tree | 1c65dad925f69e0a670cb3d9a9a53f125a018631 /src | |
| parent | partial fix for #322 (diff) | |
| download | KVIrc-7fc8cb2c83ddfd22023a08525c3d730890c55de9.tar.gz KVIrc-7fc8cb2c83ddfd22023a08525c3d730890c55de9.tar.bz2 KVIrc-7fc8cb2c83ddfd22023a08525c3d730890c55de9.zip | |
Multiline input editor: "find" is supposed to work here, too; move the help label somewhere else. Fixes #328
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@2961 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
| -rw-r--r-- | src/kvirc/ui/kvi_input.cpp | 29 | ||||
| -rw-r--r-- | src/kvirc/ui/kvi_input.h | 6 | ||||
| -rw-r--r-- | src/modules/editor/scripteditor.cpp | 5 | ||||
| -rw-r--r-- | src/modules/editor/scripteditor.h | 1 |
4 files changed, 23 insertions, 18 deletions
diff --git a/src/kvirc/ui/kvi_input.cpp b/src/kvirc/ui/kvi_input.cpp index 4d514c23c..09fafd292 100644 --- a/src/kvirc/ui/kvi_input.cpp +++ b/src/kvirc/ui/kvi_input.cpp @@ -75,8 +75,7 @@ KviInput::KviInput(KviWindow * pPar, KviUserListView * pView) : QWidget(pPar) { setObjectName("input_widget"); - m_pLayout=new QHBoxLayout(this); - m_pLayout->setDirection(QBoxLayout::RightToLeft); + m_pLayout=new QGridLayout(this); m_pLayout->setMargin(0); m_pLayout->setSpacing(0); @@ -171,9 +170,9 @@ KviInput::KviInput(KviWindow * pPar, KviUserListView * pView) m_pHistoryButton->setAutoRaise(true); m_pHideToolsButton->setAutoRaise(true); - m_pLayout->addWidget(m_pHideToolsButton,0); - m_pLayout->addWidget(m_pButtonContainer,0); - m_pLayout->addWidget(m_pInputEditor,10000); + m_pLayout->addWidget(m_pHideToolsButton,0,2,2,1); + m_pLayout->addWidget(m_pButtonContainer,0,1,2,1); + m_pLayout->addWidget(m_pInputEditor,0,0,2,1); } KviInput::~KviInput() @@ -304,8 +303,14 @@ void KviInput::multilineEditorButtonToggled(bool bOn) QString szTmp; m_pMultiLineEditor->getText(szTmp); m_pLayout->removeWidget(m_pMultiLineEditor); + m_pLayout->removeWidget(m_pHelpLabel); + KviScriptEditor::destroyInstance(m_pMultiLineEditor); m_pMultiLineEditor = 0; + + delete m_pHelpLabel; + m_pHelpLabel = 0; + szTmp.replace(QRegExp("[\a\f\n\r\v]"), QString(" ")); szTmp.replace('\t',QString(KVI_OPTION_UINT(KviOption_uintSpacesToExpandTabulationInput),' ')); //expand tabs to spaces m_pInputEditor->setText(szTmp); @@ -315,13 +320,17 @@ void KviInput::multilineEditorButtonToggled(bool bOn) m_pMultiEditorButton->setChecked(false); } else { if(!bOn) return; + m_pInputEditor->hide(); + + m_pHelpLabel = new QLabel(); + m_pHelpLabel->setIndent(5); // we only want a left margin here + m_pHelpLabel->setText(__tr2qs("<Ctrl+Return>; submits, <Ctrl+Backspace>; hides this editor")); + m_pLayout->addWidget(m_pHelpLabel,0,0,1,1); + m_pMultiLineEditor = KviScriptEditor::createInstance(this); - QString szText = __tr2qs("<Ctrl+Return>; submits, <Ctrl+Backspace>; hides this editor"); - m_pMultiLineEditor->setFindText(szText); - m_pMultiLineEditor->setFindLineeditReadOnly(true); m_pMultiLineEditor->setText(m_pInputEditor->text()); - m_pInputEditor->hide(); - m_pLayout->addWidget(m_pMultiLineEditor); + m_pLayout->addWidget(m_pMultiLineEditor,1,0,1,1); + m_pWindow->childrenTreeChanged(m_pMultiLineEditor); m_pMultiLineEditor->setFocus(); m_pMultiEditorButton->setChecked(true); diff --git a/src/kvirc/ui/kvi_input.h b/src/kvirc/ui/kvi_input.h index 51fc27bdc..4731686d1 100644 --- a/src/kvirc/ui/kvi_input.h +++ b/src/kvirc/ui/kvi_input.h @@ -36,8 +36,9 @@ #include <QWidget> #include <QToolButton> +#include <QLabel> -class QHBoxLayout; +class QGridLayout; class KviUserListView; class KviWindow; class KviInputEditor; @@ -75,7 +76,8 @@ public: QToolButton * m_pIconButton; QToolButton * m_pCommandlineModeButton; QToolButton * m_pHideToolsButton; - QHBoxLayout * m_pLayout; + QGridLayout * m_pLayout; + QLabel * m_pHelpLabel; public: /** * \brief Sets the focus to the input line diff --git a/src/modules/editor/scripteditor.cpp b/src/modules/editor/scripteditor.cpp index 70534a8e4..e13c6106a 100644 --- a/src/modules/editor/scripteditor.cpp +++ b/src/modules/editor/scripteditor.cpp @@ -918,11 +918,6 @@ void KviScriptEditorImplementation::setFindText(const QString & szText) m_pEditor->slotFind(); } -void KviScriptEditorImplementation::setFindLineEditReadOnly(bool b) -{ - m_pFindLineEdit->setReadOnly(b); -} - void KviScriptEditorImplementation::updateRowColLabel() { if(m_lastCursorPos==m_pEditor->textCursor().position()) diff --git a/src/modules/editor/scripteditor.h b/src/modules/editor/scripteditor.h index 31d8d63a0..9a35c1b15 100644 --- a/src/modules/editor/scripteditor.h +++ b/src/modules/editor/scripteditor.h @@ -162,7 +162,6 @@ public: virtual void setFocus(); virtual bool isModified(); int getCursor(){return m_pEditor->textCursor().position();}; - void setFindLineEditReadOnly(bool b); void setCursorPosition(int iPos); int cursor(){ return m_lastCursorPos; }; QLineEdit * findLineEdit(){ return m_pFindLineEdit; }; |
