summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--archivetreeview.cpp9
-rw-r--r--archivetreeview.h10
-rw-r--r--filestreemodel.cpp15
-rw-r--r--filestreemodel.h9
-rw-r--r--shemov.cpp10
-rw-r--r--shemov.h1
6 files changed, 47 insertions, 7 deletions
diff --git a/archivetreeview.cpp b/archivetreeview.cpp
index e13920c..23574cc 100644
--- a/archivetreeview.cpp
+++ b/archivetreeview.cpp
@@ -74,6 +74,8 @@ ArchiveTreeView::ArchiveTreeView(QWidget *parent) : QWidget(parent){
splitter->setStretchFactor(1, 3);
mainLayout->addWidget(splitter);
setLayout(mainLayout);
+
+ constructWindowTitle();
}
void ArchiveTreeView::setFileViewMode(int mode){
@@ -94,6 +96,7 @@ void ArchiveTreeView::setFileViewMode(int mode){
mFilesWidget->filesTree()->resizeColumnToContents(0);
mFilesWidget->filesTree()->resizeColumnToContents(1);
mFilesWidget->filesTree()->resizeColumnToContents(2);
+ constructWindowTitle();
}
void ArchiveTreeView::currentChanged(const QItemSelection &selected, const QItemSelection &deselected){
@@ -179,3 +182,9 @@ void ArchiveTreeView::playSelected(const QString &preferred){
args << files;
QProcess::startDetached(program, args);
}
+
+void ArchiveTreeView::constructWindowTitle(){
+ QString modeString = mFilesModel->modeName();
+ mWindowTitle = QString("Movie Archive - [%1]").arg(modeString);
+ emit needWindowTitleChange(mWindowTitle);
+}
diff --git a/archivetreeview.h b/archivetreeview.h
index d4c70a3..54f304f 100644
--- a/archivetreeview.h
+++ b/archivetreeview.h
@@ -28,6 +28,10 @@ class ArchiveTreeView : public QWidget
explicit ArchiveTreeView(QWidget *parent = 0);
SeriesTreeWidget *seriesWidget() { return mSeriesWidget; }
FilesTreeWidget *filesWidget() { return mFilesWidget; }
+ const QString windowTitle() { return mWindowTitle; }
+
+ signals:
+ void needWindowTitleChange(QString);
public slots:
void setFileViewMode(int mode);
@@ -38,6 +42,9 @@ class ArchiveTreeView : public QWidget
void playSelected(const QString &preferred = QString());
private:
+ //functions
+ void constructWindowTitle();
+
//widgets
SeriesTreeWidget *mSeriesWidget;
FilesTreeWidget *mFilesWidget;
@@ -52,6 +59,9 @@ class ArchiveTreeView : public QWidget
//lists
QModelIndexList mSelectedItems;
+
+ //misc
+ QString mWindowTitle;
};
#endif
diff --git a/filestreemodel.cpp b/filestreemodel.cpp
index 38e86b8..b02c8ac 100644
--- a/filestreemodel.cpp
+++ b/filestreemodel.cpp
@@ -15,7 +15,7 @@
#include "smtreeitem.h"
#include "helper.h"
-FilesTreeModel::FilesTreeModel(QStringList &headers, QObject *parent) : SmTreeModel(headers, parent){
+FilesTreeModel::FilesTreeModel(QStringList &headers, QObject *parent) : SmTreeModel(headers, parent), mMode(Normal){
//database setup
mDb = QSqlDatabase::database("treedb");
mUpdateDvdQuery = new QSqlQuery(mDb);
@@ -38,6 +38,11 @@ FilesTreeModel::FilesTreeModel(QStringList &headers, QObject *parent) : SmTreeMo
//cover types
mCoverTypes = mFileTypes;
mCoverTypes.remove(1);
+
+ //mode names
+ mModeNames.insert(Normal, "Normal");
+ mModeNames.insert(Archived, "Archived");
+ mModeNames.insert(Local, "Local");
}
FilesTreeModel::~FilesTreeModel(){
@@ -49,6 +54,13 @@ FilesTreeModel::~FilesTreeModel(){
mDb = QSqlDatabase();
}
+const QString FilesTreeModel::modeName(int mode) const{
+ if(mode == -1){
+ return mModeNames.value(mMode);
+ }
+ return mModeNames.value(mode);
+}
+
void FilesTreeModel::setIds(const QList<int> &seriesPartIds){
QStringList ids;
foreach(int s, seriesPartIds){
@@ -76,6 +88,7 @@ void FilesTreeModel::setMode(int mode){
if(queryOk){
populate(modeQuery);
}
+ mMode = mode;
}
QVariant FilesTreeModel::data(const QModelIndex &index, int role) const{
diff --git a/filestreemodel.h b/filestreemodel.h
index 46a83c5..2408e35 100644
--- a/filestreemodel.h
+++ b/filestreemodel.h
@@ -26,6 +26,8 @@ class FilesTreeModel : public SmTreeModel {
explicit FilesTreeModel(QStringList &headers, QObject *parent = 0);
const QHash<int, QString> fileTypes() const { return mFileTypes; }
const QHash<int, QString> coverTypes() const { return mCoverTypes; }
+ const QString modeName(int mode = -1) const;
+ int mode() const { return mMode; }
~FilesTreeModel();
//data + flags
@@ -42,15 +44,22 @@ class FilesTreeModel : public SmTreeModel {
bool deleteFiles(const QModelIndexList &files);
private:
+ //functions
void populate(QSqlQuery &filesQuery);
+
+ //database
QSqlDatabase mDb;
QSqlQuery *mUpdateDvdQuery;
QSqlQuery *mUpdateQualityQuery;
QSqlQuery *mInsertFileQuery;
QSqlQuery *mFilesQuery;
QSqlQuery *mDeleteFileQuery;
+
+ //misc
QHash<int, QString> mFileTypes;
QHash<int, QString> mCoverTypes;
+ QHash<int, QString> mModeNames;
+ int mMode;
};
#endif // FILESTREEMODEL_H
diff --git a/shemov.cpp b/shemov.cpp
index 6778f0d..5cda0c1 100644
--- a/shemov.cpp
+++ b/shemov.cpp
@@ -71,6 +71,7 @@ SheMov::SheMov(QWidget *parent, Qt::WindowFlags flags) : QMainWindow(parent, fla
mTab->addTab(mATree, "Tree");
connect(mATree->filesWidget(), SIGNAL(statusMessage(QString)), this, SLOT(statusbarMessage(QString)));
connect(mATree->filesWidget(), SIGNAL(sizeChanged(qint64)), this, SLOT(setSize(qint64)));
+ connect(mATree, SIGNAL(needWindowTitleChange(QString)), this, SLOT(setWindowTitle(QString)));
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addWidget(mTab);
@@ -81,7 +82,7 @@ SheMov::SheMov(QWidget *parent, Qt::WindowFlags flags) : QMainWindow(parent, fla
setFsFree();
connect(mFSWidget->fileView()->selectionModel(), SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)), this, SLOT(updateSelectionCount(const QItemSelection &, const QItemSelection &)));
- connect(mFSWidget, SIGNAL(windowTitle(const QString &)), this, SLOT(newWindowTitle(const QString &)));
+ connect(mFSWidget, SIGNAL(windowTitle(QString)), this, SLOT(setWindowTitle(QString)));
connect(mFSWidget->fileView(), SIGNAL(statusbarMessage(const QString &)), this, SLOT(statusbarMessage(const QString &)));
connect(mFSWidget, SIGNAL(statusbarMessage(const QString &)), this, SLOT(statusbarMessage(const QString &)));
connect(mFSWidget, SIGNAL(newTemplate(const QString &)), this, SLOT(setTemplate(const QString &)));
@@ -129,10 +130,6 @@ void SheMov::updateSelectionCount(const QItemSelection & /* sel */, const QItemS
}
}
-void SheMov::newWindowTitle(const QString &title){
- setWindowTitle(title);
-}
-
void SheMov::statusbarMessage(const QString &message){
statusBar()->showMessage(message);
}
@@ -153,6 +150,9 @@ void SheMov::tabChanged(int newTab){
if(newTab == 0){
setWindowTitle(mFSWidget->windowTitle());
}
+ if(newTab == 1){
+ setWindowTitle(mATree->windowTitle());
+ }
updateSelectionCount(QItemSelection(), QItemSelection());
}
diff --git a/shemov.h b/shemov.h
index 2a01783..4ba2f48 100644
--- a/shemov.h
+++ b/shemov.h
@@ -33,7 +33,6 @@ class SheMov : public QMainWindow {
private slots:
void updateSelectionCount(const QItemSelection &sel, const QItemSelection &prev);
- void newWindowTitle(const QString &title);
void statusbarMessage(const QString &message);
void setTemplate(const QString &newTemplate);
void configure();