summaryrefslogtreecommitdiffstats
path: root/archiveview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'archiveview.cpp')
-rw-r--r--archiveview.cpp57
1 files changed, 51 insertions, 6 deletions
diff --git a/archiveview.cpp b/archiveview.cpp
index 8e1257c..94e6a20 100644
--- a/archiveview.cpp
+++ b/archiveview.cpp
@@ -18,9 +18,12 @@
#include <QVBoxLayout>
#include <QHeaderView>
#include <QSpinBox>
+#include <QGroupBox>
+#include <QTextEdit>
#include "archiveview.h"
#include "archivecontroller.h"
+#include "mappingtablewidget.h"
#include "smglobals.h"
#include "helper.h"
@@ -92,13 +95,50 @@ ArchiveView::ArchiveView(QWidget *parent) : QWidget(parent) {
mFilesProxy->setSourceModel(mFilesModel);
mFiles->setModel(mFilesProxy);
- QSplitter *treeSplitter = new QSplitter(Qt::Horizontal);
- treeSplitter->addWidget(treeWidget);
- treeSplitter->addWidget(mFiles);
- treeSplitter->setStretchFactor(0, 1);
- treeSplitter->setStretchFactor(1, 4);
+ QHBoxLayout *bottomRightLayout = new QHBoxLayout;
+ mActorView = new SmTreeView;
+ mActorView->setHeaderHidden(true);
+ mActorModel = new SimpleModel(this);
+ mActorView->setModel(mActorModel);
+ QGroupBox *actorBox = new QGroupBox(tr("Actors"));
+ QHBoxLayout *actorLayout = new QHBoxLayout;
+ actorLayout->addWidget(mActorView);
+ actorBox->setLayout(actorLayout);
+
+ mGenreView = new SmTreeView;
+ mGenreView->setHeaderHidden(true);
+ mGenreModel = new SimpleModel(this);
+ mGenreView->setModel(mGenreModel);
+ QGroupBox *genreBox = new QGroupBox(tr("Genres"));
+ QHBoxLayout *genreLayout = new QHBoxLayout;
+ genreLayout->addWidget(mGenreView);
+ genreBox->setLayout(genreLayout);
+
+ mMetadataView = new QTextEdit;
+ mMetadataView->setReadOnly(true);
+ QGroupBox *metadataBox = new QGroupBox("Metadata");
+ QHBoxLayout *metadataLayout = new QHBoxLayout;
+ metadataLayout->addWidget(mMetadataView);
+ metadataBox->setLayout(metadataLayout);
+
+ bottomRightLayout->addWidget(actorBox);
+ bottomRightLayout->addWidget(genreBox);
+ bottomRightLayout->addWidget(metadataBox);
+ QVBoxLayout *rightLayout = new QVBoxLayout;
+ rightLayout->addWidget(mFiles);
+ rightLayout->addLayout(bottomRightLayout);
+ QWidget *rightWidget = new QWidget;
+ rightLayout->setStretchFactor(mFiles, 3);
+ rightWidget->setLayout(rightLayout);
+
+ mTreeSplitter = new QSplitter(Qt::Horizontal);
+ mTreeSplitter->addWidget(treeWidget);
+ mTreeSplitter->addWidget(rightWidget);
+ mTreeSplitter->setStretchFactor(0, 1);
+ mTreeSplitter->setStretchFactor(1, 4);
QHBoxLayout *mainLayout = new QHBoxLayout;
- mainLayout->addWidget(treeSplitter);
+ mainLayout->addWidget(mTreeSplitter);
+
setLayout(mainLayout);
initController();
}
@@ -117,6 +157,8 @@ void ArchiveView::readSettings(){
list = s.value("archivemodel/expandedseries").toList();
mExpandedItems[ArchiveModel::SeriesName] = list;
mCurrentArchivePath = s.value("archivemodel/selectedseries").toStringList();
+ QByteArray splitterState = s.value("archivemodel/vsplitter").toByteArray();
+ mTreeSplitter->restoreState(splitterState);
doSelection();
mFiles->readHeaderConfig();
mFiles->setSortingEnabled(true);
@@ -130,6 +172,7 @@ void ArchiveView::writeSettings() {
s.setValue("archivemodel/expandedactors", mExpandedItems.value(ArchiveModel::Actor));
s.setValue("archivemodel/expandedseries", mExpandedItems.value(ArchiveModel::SeriesName));
s.setValue("archivemodel/selectedseries", mCurrentArchivePath);
+ s.setValue("archivemodel/vsplitter", mTreeSplitter->saveState());
mFiles->writeHeaderConfig();
}
@@ -200,6 +243,8 @@ void ArchiveView::initController(){
mController->setArchiveTree(mTree, mProxy);
mController->setArchiveFiles(mFiles, mFilesProxy);
mController->setModels(mArchiveModel, mFilesModel);
+ mController->setMappingModels(mActorModel, mGenreModel);
+ mController->setMetadata(mMetadataView);
mController->init();
SmGlobals::instance()->setArchiveController(mController);
}