summaryrefslogtreecommitdiffstats
path: root/archiveview.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2014-12-10 07:13:29 +0100
committerArno <am@disconnect.de>2014-12-10 07:13:29 +0100
commit0e27f8f8aaf1a0dbff9aed960e78f109517a387a (patch)
tree4a3dcfd742d3680878c5ff18994d00dbe3ef7a32 /archiveview.cpp
parentb16cf3ff12cdec93fadfee1c117d989d0763e58b (diff)
downloadSheMov-0e27f8f8aaf1a0dbff9aed960e78f109517a387a.tar.gz
SheMov-0e27f8f8aaf1a0dbff9aed960e78f109517a387a.tar.bz2
SheMov-0e27f8f8aaf1a0dbff9aed960e78f109517a387a.zip
Revamped MetadataWidget
Split it up into a small QTreeView and a QTextEdit for the comment. QTreeView and horizontal scrollbars don't seem to play nice together. Qt never displays the bar even if ElideText is set to none. So add a QToolTip for the Subject/Name, since it's most likely not displayed completely.
Diffstat (limited to 'archiveview.cpp')
-rw-r--r--archiveview.cpp44
1 files changed, 29 insertions, 15 deletions
diff --git a/archiveview.cpp b/archiveview.cpp
index 4cf24d0..b7ae5e6 100644
--- a/archiveview.cpp
+++ b/archiveview.cpp
@@ -115,7 +115,6 @@ ArchiveView::ArchiveView(QWidget *parent) : QWidget(parent) {
mFilesProxy->setSourceModel(mFilesModel);
mFiles->setModel(mFilesProxy);
- QHBoxLayout *bottomRightLayout = new QHBoxLayout;
mActorView = new SmTreeView;
mActorView->setHeaderHidden(true);
mActorModel = new QStandardItemModel(this);
@@ -134,27 +133,39 @@ ArchiveView::ArchiveView(QWidget *parent) : QWidget(parent) {
genreLayout->addWidget(mGenreView);
genreBox->setLayout(genreLayout);
- mMetadataView = new QTextEdit;
- mMetadataView->setReadOnly(true);
- QGroupBox *metadataBox = new QGroupBox("Metadata");
- QHBoxLayout *metadataLayout = new QHBoxLayout;
- metadataLayout->addWidget(mMetadataView);
+ mMetaView = new SmTreeView;
+ mMetaView->setHeaderHidden(true);
+ mMetaModel = new QStandardItemModel(this);
+ mMetaView->setModel(mMetaModel);
+ mComment = new QTextEdit;
+ mComment->setReadOnly(true);
+ QGroupBox *metadataBox = new QGroupBox("Metadata/Comment");
+ QVBoxLayout *metadataLayout = new QVBoxLayout;
+ metadataLayout->addWidget(mMetaView);
+ metadataLayout->addWidget(mComment);
metadataBox->setLayout(metadataLayout);
+ QHBoxLayout *bottomRightLayout = new QHBoxLayout;
bottomRightLayout->addWidget(actorBox);
bottomRightLayout->addWidget(genreBox);
bottomRightLayout->addWidget(metadataBox);
- QVBoxLayout *rightLayout = new QVBoxLayout;
- rightLayout->addWidget(mToolBar);
- rightLayout->addWidget(mFiles);
- rightLayout->addLayout(bottomRightLayout);
- QWidget *rightWidget = new QWidget;
- rightLayout->setStretchFactor(mFiles, 3);
- rightWidget->setLayout(rightLayout);
+ QWidget *bottomRightWidget = new QWidget;
+ bottomRightWidget->setLayout(bottomRightLayout);
+
+ QVBoxLayout *topRightLayout = new QVBoxLayout;
+ topRightLayout->addWidget(mToolBar);
+ topRightLayout->addWidget(mFiles);
+ QWidget *topRightWidget = new QWidget;
+ topRightWidget->setLayout(topRightLayout);
+
+ mRightSplitter = new QSplitter(Qt::Vertical);
+ mRightSplitter->addWidget(topRightWidget);
+ mRightSplitter->addWidget(bottomRightWidget);
+ mRightSplitter->setStretchFactor(0, 4);
mTreeSplitter = new QSplitter(Qt::Horizontal);
mTreeSplitter->addWidget(treeWidget);
- mTreeSplitter->addWidget(rightWidget);
+ mTreeSplitter->addWidget(mRightSplitter);
mTreeSplitter->setStretchFactor(0, 1);
mTreeSplitter->setStretchFactor(1, 4);
QHBoxLayout *mainLayout = new QHBoxLayout;
@@ -185,6 +196,8 @@ void ArchiveView::readSettings(){
mCurrentArchivePath = s.value("archivemodel/selectedseries").toStringList();
QByteArray splitterState = s.value("archivemodel/vsplitter").toByteArray();
mTreeSplitter->restoreState(splitterState);
+ QByteArray hSplitterState = s.value("archivemodel/hsplitter").toByteArray();
+ mRightSplitter->restoreState(hSplitterState);
doSelection();
mFiles->readHeaderConfig();
mFiles->setSortingEnabled(true);
@@ -201,6 +214,7 @@ void ArchiveView::writeSettings() {
s.setValue("archivemodel/expandedfavorites", mExpandedItems.value(ArchiveModel::FavoriteOrder));
s.setValue("archivemodel/selectedseries", mCurrentArchivePath);
s.setValue("archivemodel/vsplitter", mTreeSplitter->saveState());
+ s.setValue("archivemodel/hsplitter", mRightSplitter->saveState());
mFiles->writeHeaderConfig();
}
@@ -272,7 +286,7 @@ void ArchiveView::initController(){
mController->setArchiveFiles(mFiles, mFilesProxy);
mController->setModels(mArchiveModel, mFilesModel);
mController->setMappingModels(mActorModel, mGenreModel);
- mController->setMetadata(mMetadataView);
+ mController->setMetadata(mMetaModel, mComment);
mController->init();
SmGlobals::instance()->setArchiveController(mController);
}