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