aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2012-05-09 17:12:05 +0200
committerWladimir J. van der Laan <laanwj@gmail.com>2012-05-09 17:15:09 +0200
commitb84172434d32ee26268817daf865897570e9ac32 (patch)
treefa50401356fe4ea45b38c7b26d421e38bcf2994f
parent2e767410b83a4468bf83be9c39f99cf0325c7739 (diff)
Automatically focus entry widget when console tab comes into focus
Fixes #1241
-rw-r--r--src/qt/forms/rpcconsole.ui4
-rw-r--r--src/qt/rpcconsole.cpp38
-rw-r--r--src/qt/rpcconsole.h3
3 files changed, 21 insertions, 24 deletions
diff --git a/src/qt/forms/rpcconsole.ui b/src/qt/forms/rpcconsole.ui
index bde607c527..d973e3a9f9 100644
--- a/src/qt/forms/rpcconsole.ui
+++ b/src/qt/forms/rpcconsole.ui
@@ -19,7 +19,7 @@
<property name="currentIndex">
<number>0</number>
</property>
- <widget class="QWidget" name="tab">
+ <widget class="QWidget" name="tab_info">
<attribute name="title">
<string>Information</string>
</attribute>
@@ -232,7 +232,7 @@
</item>
</layout>
</widget>
- <widget class="QWidget" name="tab_2">
+ <widget class="QWidget" name="tab_console">
<attribute name="title">
<string>Console</string>
</attribute>
diff --git a/src/qt/rpcconsole.cpp b/src/qt/rpcconsole.cpp
index d59f5c6a38..6d983989e9 100644
--- a/src/qt/rpcconsole.cpp
+++ b/src/qt/rpcconsole.cpp
@@ -113,27 +113,6 @@ RPCConsole::~RPCConsole()
delete ui;
}
-bool RPCConsole::event(QEvent *event)
-{
- int returnValue = QWidget::event(event);
-
- if (event->type() == QEvent::LayoutRequest && firstLayout)
- {
- // Work around QTableWidget issue:
- // Call resizeRowsToContents on first Layout request with widget visible,
- // to make sure multiline messages that were added before the console was shown
- // have the right height.
- if(ui->messagesWidget->isVisible())
- {
- firstLayout = false;
- ui->messagesWidget->resizeRowsToContents();
- }
- return true;
- }
-
- return returnValue;
-}
-
bool RPCConsole::eventFilter(QObject* obj, QEvent *event)
{
if(obj == ui->lineEdit)
@@ -314,3 +293,20 @@ void RPCConsole::copyMessage()
{
GUIUtil::copyEntryData(ui->messagesWidget, 1, Qt::EditRole);
}
+
+void RPCConsole::on_tabWidget_currentChanged(int index)
+{
+ if(ui->tabWidget->widget(index) == ui->tab_console)
+ {
+ if(firstLayout)
+ {
+ // Work around QTableWidget issue:
+ // Call resizeRowsToContents on first Layout request with widget visible,
+ // to make sure multiline messages that were added before the console was shown
+ // have the right height.
+ firstLayout = false;
+ ui->messagesWidget->resizeRowsToContents();
+ }
+ ui->lineEdit->setFocus();
+ }
+}
diff --git a/src/qt/rpcconsole.h b/src/qt/rpcconsole.h
index a0a73bedd3..2ec47b0cf8 100644
--- a/src/qt/rpcconsole.h
+++ b/src/qt/rpcconsole.h
@@ -28,12 +28,13 @@ public:
};
protected:
- virtual bool event(QEvent *event);
virtual bool eventFilter(QObject* obj, QEvent *event);
private slots:
void on_lineEdit_returnPressed();
+ void on_tabWidget_currentChanged(int index);
+
public slots:
void clear();
void message(int category, const QString &message);