summaryrefslogtreecommitdiffstats
path: root/archivefilewidget.h
diff options
context:
space:
mode:
Diffstat (limited to 'archivefilewidget.h')
-rw-r--r--archivefilewidget.h65
1 files changed, 65 insertions, 0 deletions
diff --git a/archivefilewidget.h b/archivefilewidget.h
new file mode 100644
index 0000000..8a9dbc9
--- /dev/null
+++ b/archivefilewidget.h
@@ -0,0 +1,65 @@
+/*
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version
+ 2 of the License, or (at your option) any later version.
+*/
+
+#ifndef ARCHIVEFILEWIDGET_H
+#define ARCHIVEFILEWIDGET_H
+
+#include <QWidget>
+#include <QHash>
+#include <QList>
+#include <QLineEdit>
+
+class QTextEdit;
+class QComboBox;
+class QSpinBox;
+class QPushButton;
+class QStringList;
+class MovieModel;
+class ListModel;
+
+class ArchiveFileWidget : public QWidget {
+ Q_OBJECT
+ public:
+ ArchiveFileWidget(MovieModel *model = 0, QWidget *parent = 0, Qt::WindowFlags f = 0);
+ ~ArchiveFileWidget() {};
+ void setMovieModel(MovieModel *model);
+ void setGenreModel(ListModel *model);
+ void setActorsModel(ListModel *model);
+ void setFiles(const QStringList &files);
+ const QList<int> actorIds() const;
+ int genreId() const;
+ const QString movieTitle() const { return mTitle->text(); };
+
+ signals:
+ void statusbarMessage(const QString &message);
+ void archive();
+
+ private slots:
+ void addActor();
+ void removeActor();
+
+ private:
+ void createActorList();
+ MovieModel *mModel;
+ ListModel *mGenreModel;
+ ListModel *mActorsModel;
+ QTextEdit *mFiles;
+ QTextEdit *mSelectedActors;
+ QComboBox *mGenre;
+ QComboBox *mActors;
+ QPushButton *mAddActor;
+ QPushButton *mRemoveActor;
+ QPushButton *mArchive;
+ QSpinBox *mQuality;
+ QLineEdit *mTitle;
+ QStringList mFileList;
+ QHash<QString, QString> mMd5Sums;
+ QHash<QString, int> mActorIdMap;
+};
+
+#endif
+