]> granicus.if.org Git - transmission/commitdiff
(trunk, qt) #5312 'download checkbox toggle with spacebar is broken' -- fixed, patch...
authorJordan Lee <jordan@transmissionbt.com>
Sun, 8 Sep 2013 19:07:31 +0000 (19:07 +0000)
committerJordan Lee <jordan@transmissionbt.com>
Sun, 8 Sep 2013 19:07:31 +0000 (19:07 +0000)
qt/file-tree.cc

index 4014d5ef6001a5e8d5ef325d48caa4b0473d5a28..363295dc3554e9b74ea5f0489592b1f9e1e0d914 100644 (file)
@@ -1003,6 +1003,25 @@ FileTreeView :: eventFilter (QObject * o, QEvent * event)
       setColumnWidth(COL_NAME, std::max(left,0));
     }
 
+  // handle using the keyboard to toggle the
+  // wanted/unwanted state or the file priority
+  else if (event->type () == QEvent::KeyPress && state () != EditingState)
+    {
+      switch (static_cast<QKeyEvent*> (event)->key ())
+        {
+        case Qt::Key_Space:
+          foreach (const QModelIndex& i, selectionModel ()->selectedRows (COL_WANTED))
+            clicked (i);
+          break;
+
+        case Qt::Key_Enter:
+        case Qt::Key_Return:
+          foreach (const QModelIndex& i, selectionModel ()->selectedRows (COL_PRIORITY))
+            clicked (i);
+          break;
+        }
+    }
+
   return false;
 }