diff --git a/src/tuxclocker-qt/widgets/DeviceTreeView.cpp b/src/tuxclocker-qt/widgets/DeviceTreeView.cpp index dc34643..9043c03 100644 --- a/src/tuxclocker-qt/widgets/DeviceTreeView.cpp +++ b/src/tuxclocker-qt/widgets/DeviceTreeView.cpp @@ -7,6 +7,9 @@ Q_DECLARE_METATYPE(AssignableItemData) DeviceTreeView::DeviceTreeView(DeviceModel &model, QWidget *parent) : QTreeView(parent), m_deviceModel(model) { + auto triggers = editTriggers() ^= DoubleClicked; + triggers |= SelectedClicked; + setEditTriggers(SelectedClicked | EditKeyPressed); setContextMenuPolicy(Qt::CustomContextMenu); connect(this, &QTreeView::customContextMenuRequested, [this](QPoint point) { auto index = indexAt(point); diff --git a/src/tuxclocker-qt/widgets/DeviceTreeView.hpp b/src/tuxclocker-qt/widgets/DeviceTreeView.hpp index 4447aa2..7892888 100644 --- a/src/tuxclocker-qt/widgets/DeviceTreeView.hpp +++ b/src/tuxclocker-qt/widgets/DeviceTreeView.hpp @@ -13,6 +13,15 @@ public: DeviceTreeView(DeviceModel &model, QWidget *parent = nullptr); // Accessor method for connecting everything in the browser const DeviceModel &deviceModel() {return m_deviceModel;} +protected: + /* Workaround for the retarded behavior of waiting for a double click, + you can't even disable it! */ + bool edit(const QModelIndex &index, QAbstractItemView::EditTrigger trigger, + QEvent *event) { + return QTreeView::edit(index, + trigger == QAbstractItemView::SelectedClicked ? + QAbstractItemView::AllEditTriggers : trigger, event); + } private: DeviceModel &m_deviceModel; DeviceModelDelegate *m_delegate;