diff options
author | Arno <am@disconnect.de> | 2013-06-01 06:53:34 +0200 |
---|---|---|
committer | Arno <am@disconnect.de> | 2013-06-01 06:53:34 +0200 |
commit | ac5f624734f712bce84f36cc47c0133a1382534f (patch) | |
tree | ff3f0105b341dbc91dbe4471b4a55429fe127ce4 /archiveview.cpp | |
parent | 39223db7f24eb285af7f0b7a3b061d9a92453122 (diff) | |
download | SheMov-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.cpp | 60 |
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){ +} |