diff options
author | am <am@f440f766-f032-0410-8965-dc7d17de2ca0> | 2009-11-06 16:52:04 +0000 |
---|---|---|
committer | am <am@f440f766-f032-0410-8965-dc7d17de2ca0> | 2009-11-06 16:52:04 +0000 |
commit | cb094b007ec5b7c197a7df502a778a2ce919128f (patch) | |
tree | 2add8b0593fddcdd84e902c466d8885f59d5147c /actorwidget.cpp | |
parent | c9497f0e16ad13493f59b835016d46d919378f6d (diff) | |
download | SheMov-cb094b007ec5b7c197a7df502a778a2ce919128f.tar.gz SheMov-cb094b007ec5b7c197a7df502a778a2ce919128f.tar.bz2 SheMov-cb094b007ec5b7c197a7df502a778a2ce919128f.zip |
-made burnDir configurable via ConfigurationDialog
-revamped archivedialog to make it more intuitive
-added simple listModel without database access (should be renamed)
-actorlist in archivedialog now is a QTreeView
-changed mFileList in achiveFileWidget
git-svn-id: file:///var/svn/repos2/shemov/trunk@421 f440f766-f032-0410-8965-dc7d17de2ca0
Diffstat (limited to 'actorwidget.cpp')
-rw-r--r-- | actorwidget.cpp | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/actorwidget.cpp b/actorwidget.cpp new file mode 100644 index 0000000..a62331e --- /dev/null +++ b/actorwidget.cpp @@ -0,0 +1,65 @@ +/* + 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 <QVBoxLayout> +#include <QHBoxLayout> +#include <QPushButton> +#include <QTreeView> +#include <QLabel> + +#include <QDebug> + +#include "actorwidget.h" +#include "actormodel.h" + +ActorWidget::ActorWidget(QWidget *parent) : QWidget(parent) { + QVBoxLayout *mainLayout = new QVBoxLayout; + + QLabel *l1 = new QLabel(tr("Actors")); + + mModel = new ActorModel; + mView = new QTreeView; + mView->setModel(mModel); + mView->setRootIsDecorated(false); + mView->setSelectionMode(QAbstractItemView::ExtendedSelection); + mView->setHeaderHidden(true); + + QHBoxLayout *buttonLayout = new QHBoxLayout; + mRemoveActor = new QPushButton(tr("&Remove selected")); + connect(mRemoveActor, SIGNAL(clicked()), this, SLOT(removeActor())); + mClearAll = new QPushButton(tr("Remove &all")); + connect(mClearAll, SIGNAL(clicked()), this, SLOT(clear())); + buttonLayout->addStretch(); + buttonLayout->addWidget(mClearAll); + buttonLayout->addWidget(mRemoveActor); + + mainLayout->addWidget(l1); + mainLayout->addWidget(mView); + mainLayout->addLayout(buttonLayout); + + setLayout(mainLayout); +} + +const QStringList ActorWidget::actors(){ + return mModel->items(); +} + +void ActorWidget::addActor(const QString &actor) { + mModel->addItem(actor); +} + +void ActorWidget::clear() { + mModel->clear(); +} + +void ActorWidget::removeActor() { + QModelIndexList idxs = mView->selectionModel()->selectedRows(); + foreach(QModelIndex idx, idxs){ + mModel->removeItem(idx.data()); + } +} + |