Automatically focus entry widget when console tab comes into focus

Fixes #1241
This commit is contained in:
Wladimir J. van der Laan
2012-05-09 17:12:05 +02:00
parent 2e767410b8
commit b84172434d
3 changed files with 21 additions and 24 deletions

View File

@@ -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();
}
}