aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar Fabio Bas2008-12-30 10:05:59 +0000
committerGravatar Fabio Bas2008-12-30 10:05:59 +0000
commit7fc8cb2c83ddfd22023a08525c3d730890c55de9 (patch)
tree1c65dad925f69e0a670cb3d9a9a53f125a018631 /src
parentpartial fix for #322 (diff)
downloadKVIrc-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.cpp29
-rw-r--r--src/kvirc/ui/kvi_input.h6
-rw-r--r--src/modules/editor/scripteditor.cpp5
-rw-r--r--src/modules/editor/scripteditor.h1
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; };