From 0a80a781a75807f131c9fa3114acc6611f8cb02a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9gory=20Soutad=C3=A9?= Date: Sun, 7 Oct 2018 12:18:57 +0200 Subject: [PATCH] Add ctrl+r shortcut to check/uncheck operations --- ChangeLog | 1 + src/view/grid/GridAccount.cpp | 25 +++++++++++++++++++++++++ src/view/grid/GridAccount.hpp | 3 ++- 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 57df147..7ed3f52 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,7 @@ v0.8 (07/10/2018) Add multi month operation support : Normal operation with description "... (XX/YY)" will be forwarded to next month Auto fill operation amount if it was the same for the last 3 operations Add quick transfert dialog (ctrl+t shortcut) + Add ctrl+r shortcut to check/uncheck operations ** Dev ** ** Bugs ** Current account value is badly computed if operations are not in date order diff --git a/src/view/grid/GridAccount.cpp b/src/view/grid/GridAccount.cpp index cefa133..96098bf 100644 --- a/src/view/grid/GridAccount.cpp +++ b/src/view/grid/GridAccount.cpp @@ -125,7 +125,10 @@ GridAccount::GridAccount(KissCount* kiss, KissPanel *parent, connect(this, SIGNAL(cellChanged(int, int)), this, SLOT(OnOperationModified(int, int))); if (canAddOperation) + { _ctrlT = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_T), this, SLOT(OnCtrlT())); + _ctrlR = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_R), this, SLOT(OnCtrlR())); + } } GridAccount::~GridAccount() @@ -1711,3 +1714,25 @@ void GridAccount::OnCtrlT(void) } } } + +void GridAccount::OnCtrlR(void) +{ + QModelIndexList selected = selectedIndexes(); + std::vector rows; + std::vector::iterator it; + int row; + + for (int i = 0; i < selected.size(); ++i) + { + row = selected[i].row(); + + it = std::find(rows.begin(), rows.end(), row); + + if (it != rows.end()) + continue; + + OnCheckClicked(_displayedOperations[row].id); + + rows.push_back(row); + } +} diff --git a/src/view/grid/GridAccount.hpp b/src/view/grid/GridAccount.hpp index 9bfc9ca..9c97807 100644 --- a/src/view/grid/GridAccount.hpp +++ b/src/view/grid/GridAccount.hpp @@ -72,6 +72,7 @@ private slots: void OnCheckClicked(int id); void OnDeleteClicked(int id); void OnCtrlT(void); + void OnCtrlR(void); private: KissPanel* _parent; @@ -88,7 +89,7 @@ private: bool _inModification; QCompleter* _completer; int _transfertCompletionIndex; - QShortcut* _ctrlT; + QShortcut* _ctrlT, *_ctrlR; void SetWeek(int week, int line); void ResetWeeks();