diff options
-rw-r--r-- | archivetreeview.cpp | 9 | ||||
-rw-r--r-- | archivetreeview.h | 10 | ||||
-rw-r--r-- | filestreemodel.cpp | 15 | ||||
-rw-r--r-- | filestreemodel.h | 9 | ||||
-rw-r--r-- | shemov.cpp | 10 | ||||
-rw-r--r-- | shemov.h | 1 |
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 @@ -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()); } @@ -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(); |