Mercurial > hg > bitcoin
changeset 2452:59fdd54612a3 draft
Merge pull request #1243 from laanwj/2012_05_uiconsole_focus
Automatically focus entry widget when console tab comes into focus
author | Gregory Maxwell <gmaxwell@gmail.com> |
---|---|
date | Wed, 09 May 2012 08:34:00 -0700 |
parents | 02acb28fdf41 (current diff) 2fa6930a8fe5 (diff) |
children | 8aca668fcae1 |
files | |
diffstat | 3 files changed, 23 insertions(+), 26 deletions(-) [+] |
line wrap: on
line diff
--- a/src/qt/forms/rpcconsole.ui +++ b/src/qt/forms/rpcconsole.ui @@ -19,9 +19,9 @@ <property name="currentIndex"> <number>0</number> </property> - <widget class="QWidget" name="tab"> + <widget class="QWidget" name="tab_info"> <attribute name="title"> - <string>Information</string> + <string>&Information</string> </attribute> <layout class="QGridLayout" name="gridLayout" columnstretch="0,1"> <property name="horizontalSpacing"> @@ -232,9 +232,9 @@ </item> </layout> </widget> - <widget class="QWidget" name="tab_2"> + <widget class="QWidget" name="tab_console"> <attribute name="title"> - <string>Console</string> + <string>&Console</string> </attribute> <layout class="QVBoxLayout" name="verticalLayout_3"> <property name="spacing">
--- a/src/qt/rpcconsole.cpp +++ b/src/qt/rpcconsole.cpp @@ -113,27 +113,6 @@ 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 @@ { 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(); + } +}
--- a/src/qt/rpcconsole.h +++ b/src/qt/rpcconsole.h @@ -28,12 +28,13 @@ }; 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);