summaryrefslogtreecommitdiffstats
path: root/searchwidget.h
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2017-02-11 06:43:49 +0100
committerArno <arno@disconnect.de>2017-02-11 06:43:49 +0100
commit274e54474010876cb7753924c4116360aa73b906 (patch)
treec088d9a1881d6f78f7b15efb3629627422f7ce95 /searchwidget.h
parent6786163a0c81b71435cf6070db90e0c4d4b59757 (diff)
downloadShemovCleaner-274e54474010876cb7753924c4116360aa73b906.tar.gz
ShemovCleaner-274e54474010876cb7753924c4116360aa73b906.tar.bz2
ShemovCleaner-274e54474010876cb7753924c4116360aa73b906.zip
Create GUI for search widget
Does nothing yet, just the GUI, connections and actions...
Diffstat (limited to 'searchwidget.h')
-rw-r--r--searchwidget.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/searchwidget.h b/searchwidget.h
new file mode 100644
index 0000000..2e04af7
--- /dev/null
+++ b/searchwidget.h
@@ -0,0 +1,46 @@
+#ifndef FILESEARCHWIDGET_H
+#define FILESEARCHWIDGET_H
+
+#include <QWidget>
+
+class QLineEdit;
+class QTreeView;
+class QStandardItemModel;
+class QSortFilterProxyModel;
+class QMenuBar;
+class QToolBar;
+
+class SearchWidget : public QWidget {
+ Q_OBJECT
+ public:
+ enum { NumColumns = 5 };
+ enum Columns { IconColumn = 0, NameColumn = 1, SizeColumn = 2, BitrateColumn = 3, DurationColumn = 4 };
+ enum SearchMode { File, Origin, Title, Subtitle };
+ explicit SearchWidget(QWidget *parent = 0);
+ QMenuBar *menuBar() { return mMenuBar; }
+ QString currentSearch();
+
+ public slots:
+ void clear();
+ void search();
+ void setRegex(bool toggled);
+ void setSearchMode(QAction *action);
+
+ private:
+ void setupGui();
+ void createActions();
+ QLineEdit *mSearch;
+ QTreeView *mResultView;
+ QStandardItemModel *mResultModel;
+ QSortFilterProxyModel *mProxy;
+ QMenuBar *mMenuBar;
+ QToolBar *mToolBar;
+ QAction *mSearchFileA;
+ QAction *mSearchOriginA;
+ QAction *mSearchTitleA;
+ QAction *mSearchSubtitleA;
+ int mSearchMode;
+ bool mIsRegex;
+};
+
+#endif // FILESEARCHWIDGET_H