Automatically focus entry widget when console tab comes into focus
Fixes #1241
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user