]> granicus.if.org Git - transmission/commitdiff
Clear filter upon double clicking on filtered torrent list notice
authorMike Gelfand <mikedld@mikedld.com>
Sat, 24 Oct 2015 20:56:45 +0000 (20:56 +0000)
committerMike Gelfand <mikedld@mikedld.com>
Sat, 24 Oct 2015 20:56:45 +0000 (20:56 +0000)
qt/FilterBar.cc
qt/FilterBar.h
qt/MainWindow.cc
qt/TorrentView.cc
qt/TorrentView.h

index 251390cc5e83ab00472185ffd116040bfb6340da..faecb718ce740884bddf1f182a023d66c13c82bc 100644 (file)
@@ -276,6 +276,18 @@ FilterBar::~FilterBar ()
 ****
 ***/
 
+void
+FilterBar::clear ()
+{
+  myActivityCombo->setCurrentIndex (0);
+  myTrackerCombo->setCurrentIndex (0);
+  myLineEdit->clear ();
+}
+
+/***
+****
+***/
+
 void
 FilterBar::refreshPref (int key)
 {
index 4dffe72fdc0d08f36505d70ef6aad9c09576bd64..70476c758e554899d80d58e492ae778230e859d3 100644 (file)
@@ -30,6 +30,9 @@ class FilterBar: public QWidget
     FilterBar (Prefs& prefs, const TorrentModel& torrents, const TorrentFilter& filter, QWidget * parent = nullptr);
     virtual ~FilterBar ();
 
+  public slots:
+    void clear ();
+
   private:
     FilterBarComboBox * createTrackerCombo (QStandardItemModel *);
     FilterBarComboBox * createActivityCombo ();
index 5732c3a94282bb4893934da674199752f8973e93..bb12a86f531da692e98d9ceebc96a1bc9378cb71 100644 (file)
@@ -258,6 +258,7 @@ MainWindow::MainWindow (Session& session, Prefs& prefs, TorrentModel& model, boo
   connect (&myModel, SIGNAL (rowsRemoved (QModelIndex, int, int)), SLOT (refreshTorrentViewHeader ()));
   connect (&myFilterModel, SIGNAL (rowsInserted (QModelIndex, int, int)), SLOT (refreshTorrentViewHeader ()));
   connect (&myFilterModel, SIGNAL (rowsRemoved (QModelIndex, int, int)), SLOT (refreshTorrentViewHeader ()));
+  connect (ui.listView, SIGNAL (headerDoubleClicked ()), myFilterBar, SLOT (clear ()));
 
   QList<int> initKeys;
   initKeys << Prefs::MAIN_WINDOW_X
index be1b186bc035d2be9f8426bff96ce09e9fbbbb86..3344df0e253b8087a751b4b082e0951faf07f56b 100644 (file)
@@ -16,7 +16,7 @@
 class TorrentView::HeaderWidget: public QWidget
 {
   public:
-    HeaderWidget (QWidget * parent):
+    HeaderWidget (TorrentView * parent):
       QWidget (parent),
       myText ()
     {
@@ -56,6 +56,11 @@ class TorrentView::HeaderWidget: public QWidget
       painter.drawItemText (option.rect, Qt::AlignCenter, option.palette, true, myText, QPalette::ButtonText);
     }
 
+    virtual void mouseDoubleClickEvent (QMouseEvent * /*event*/)
+    {
+      emit static_cast<TorrentView *> (parent ())->headerDoubleClicked ();
+    }
+
   private:
     QString myText;
 };
index cda3eb0d94d56bd8f254d7079673e8298cd02db3..b07530160495228a874f8962331bd29ecf1b685a 100644 (file)
@@ -22,6 +22,9 @@ class TorrentView: public QListView
   public slots:
     void setHeaderText (const QString& text);
 
+  signals:
+    void headerDoubleClicked ();
+
   protected:
     virtual void resizeEvent (QResizeEvent * event);