From f6c0428a84d403ab91b74bd2e127b41a59b2d6ad Mon Sep 17 00:00:00 2001 From: Jussi Kuokkanen Date: Wed, 3 Jun 2020 23:25:28 +0300 Subject: [PATCH] qt: set edit triggers in device tree view --- src/tuxclocker-qt/widgets/DeviceTreeView.cpp | 3 +++ src/tuxclocker-qt/widgets/DeviceTreeView.hpp | 9 +++++++++ 2 files changed, 12 insertions(+) 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;