summaryrefslogtreecommitdiffstats
path: root/searchwidget.h
diff options
context:
space:
mode:
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