summaryrefslogtreecommitdiffstats
path: root/archiveview.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2013-06-01 06:53:34 +0200
committerArno <am@disconnect.de>2013-06-01 06:53:34 +0200
commitac5f624734f712bce84f36cc47c0133a1382534f (patch)
treeff3f0105b341dbc91dbe4471b4a55429fe127ce4 /archiveview.cpp
parent39223db7f24eb285af7f0b7a3b061d9a92453122 (diff)
downloadSheMov-ac5f624734f712bce84f36cc47c0133a1382534f.tar.gz
SheMov-ac5f624734f712bce84f36cc47c0133a1382534f.tar.bz2
SheMov-ac5f624734f712bce84f36cc47c0133a1382534f.zip
Add view for new ArchiveModel
Display the new ArchiveModel in an experimental tab
Diffstat (limited to 'archiveview.cpp')
-rw-r--r--archiveview.cpp60
1 files changed, 60 insertions, 0 deletions
diff --git a/archiveview.cpp b/archiveview.cpp
new file mode 100644
index 0000000..d91fab7
--- /dev/null
+++ b/archiveview.cpp
@@ -0,0 +1,60 @@
+/*
+ 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.
+*/
+
+#include <QComboBox>
+#include <QHBoxLayout>
+#include <QLabel>
+#include <QLineEdit>
+#include <QPushButton>
+#include <QSortFilterProxyModel>
+#include <QSplitter>
+#include <QVBoxLayout>
+
+#include "archiveview.h"
+#include "smglobals.h"
+
+ArchiveView::ArchiveView(QWidget *parent) : QWidget(parent) {
+ mArchiveModel = static_cast<ArchiveModel*>(SmGlobals::instance()->model("ArchiveModel"));
+ mTree = new ArchiveTree;
+ mSortOrder = new QComboBox;
+ mSortOrder->addItems(mArchiveModel->availableOrders());
+ QLabel *l1 = new QLabel(tr("Filter"));
+ mFilter = new QLineEdit;
+ QPushButton *filter = new QPushButton(tr("Filter"));
+ QPushButton *clear = new QPushButton(tr("Clear"));
+ QHBoxLayout *filterLayout = new QHBoxLayout;
+ filterLayout->addWidget(l1);
+ filterLayout->addWidget(mFilter);
+ filterLayout->addWidget(filter);
+ filterLayout->addWidget(clear);
+ QVBoxLayout *treeLayout = new QVBoxLayout;
+ treeLayout->addWidget(mSortOrder);
+ treeLayout->addLayout(filterLayout);
+ treeLayout->addWidget(mTree);
+ QWidget *treeWidget = new QWidget;
+ treeWidget->setLayout(treeLayout);
+ mFiles = new ArchiveFiles;
+ QSplitter *treeSplitter = new QSplitter(Qt::Horizontal);
+ treeSplitter->addWidget(treeWidget);
+ treeSplitter->addWidget(mFiles);
+ treeSplitter->setStretchFactor(0, 2);
+ treeSplitter->setStretchFactor(1, 3);
+ QHBoxLayout *mainLayout = new QHBoxLayout;
+ mainLayout->addWidget(treeSplitter);
+ setLayout(mainLayout);
+
+}
+
+ArchiveTree::ArchiveTree(QWidget *parent) : QTreeView(parent) {
+ mModel = static_cast<ArchiveModel*>(SmGlobals::instance()->model("ArchiveModel"));
+ mProxy = new QSortFilterProxyModel;
+ mProxy->setSourceModel(mModel);
+ setModel(mProxy);
+}
+
+ArchiveFiles::ArchiveFiles(QWidget *parent) : QTreeView(parent){
+}