From ac5f624734f712bce84f36cc47c0133a1382534f Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 1 Jun 2013 06:53:34 +0200 Subject: Add view for new ArchiveModel Display the new ArchiveModel in an experimental tab --- archiveview.cpp | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 archiveview.cpp (limited to 'archiveview.cpp') 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 +#include +#include +#include +#include +#include +#include +#include + +#include "archiveview.h" +#include "smglobals.h" + +ArchiveView::ArchiveView(QWidget *parent) : QWidget(parent) { + mArchiveModel = static_cast(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(SmGlobals::instance()->model("ArchiveModel")); + mProxy = new QSortFilterProxyModel; + mProxy->setSourceModel(mModel); + setModel(mProxy); +} + +ArchiveFiles::ArchiveFiles(QWidget *parent) : QTreeView(parent){ +} -- cgit v1.2.3-70-g09d2