Merge pull request #1814 from torresam/rename-autoselect
UI: Autoselect text on scene/source rename
This commit is contained in:
commit
b5cc26a918
@ -259,6 +259,7 @@ void SourceTreeItem::EnterEditMode()
|
||||
setFocusPolicy(Qt::StrongFocus);
|
||||
boxLayout->removeWidget(label);
|
||||
editor = new QLineEdit(label->text());
|
||||
editor->selectAll();
|
||||
editor->installEventFilter(this);
|
||||
boxLayout->insertWidget(1, editor);
|
||||
setFocusProxy(editor);
|
||||
|
@ -258,6 +258,8 @@ OBSBasic::OBSBasic(QWidget *parent)
|
||||
ui->scenes->setAttribute(Qt::WA_MacShowFocusRect, false);
|
||||
ui->sources->setAttribute(Qt::WA_MacShowFocusRect, false);
|
||||
|
||||
ui->scenes->setItemDelegate(new SceneRenameDelegate(ui->scenes));
|
||||
|
||||
auto displayResize = [this]() {
|
||||
struct obs_video_info ovi;
|
||||
|
||||
@ -7192,3 +7194,17 @@ bool OBSBasic::ReplayBufferActive()
|
||||
return false;
|
||||
return outputHandler->ReplayBufferActive();
|
||||
}
|
||||
|
||||
SceneRenameDelegate::SceneRenameDelegate(QObject *parent)
|
||||
: QStyledItemDelegate(parent)
|
||||
{
|
||||
}
|
||||
|
||||
void SceneRenameDelegate::setEditorData(QWidget *editor,
|
||||
const QModelIndex &index) const
|
||||
{
|
||||
QStyledItemDelegate::setEditorData(editor, index);
|
||||
QLineEdit *lineEdit = qobject_cast<QLineEdit*>(editor);
|
||||
if (lineEdit)
|
||||
lineEdit->selectAll();
|
||||
}
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include <QAction>
|
||||
#include <QWidgetAction>
|
||||
#include <QSystemTrayIcon>
|
||||
#include <QStyledItemDelegate>
|
||||
#include <obs.hpp>
|
||||
#include <vector>
|
||||
#include <memory>
|
||||
@ -816,3 +817,12 @@ public:
|
||||
private:
|
||||
std::unique_ptr<Ui::OBSBasic> ui;
|
||||
};
|
||||
|
||||
class SceneRenameDelegate : public QStyledItemDelegate {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
SceneRenameDelegate(QObject *parent);
|
||||
virtual void setEditorData(QWidget *editor, const QModelIndex &index)
|
||||
const override;
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user