/guitone-1.0rc5/src/model/GetAttributes.h
C Header | 70 lines | 40 code | 12 blank | 18 comment | 0 complexity | bc9a8b48c2144982f88b6df11bd52c22 MD5 | raw file
Possible License(s): GPL-3.0
- /***************************************************************************
- * Copyright (C) 2006 by Thomas Keller *
- * me@thomaskeller.biz *
- * *
- * 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 3 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program. If not, see <http://www.gnu.org/licenses/>. *
- ***************************************************************************/
- #ifndef GETATTRIBUTES_H
- #define GETATTRIBUTES_H
- #include "AutomateCommand.h"
- #include <QAbstractItemModel>
- class GetAttributes : public QAbstractItemModel, public AutomateCommand
- {
- Q_OBJECT
- public:
- struct Attribute {
- enum AttributeState { Added, Dropped, Changed, Unchanged } state;
- QString key;
- QString value;
- };
- GetAttributes(QObject *);
- virtual ~GetAttributes();
- // needed Qt Model methods
- QVariant data(const QModelIndex &, int) const;
- Qt::ItemFlags flags(const QModelIndex &) const;
- QVariant headerData(int, Qt::Orientation, int) const;
- QModelIndex index(int, int, const QModelIndex &) const;
- QModelIndex parent(const QModelIndex &) const;
- int rowCount(const QModelIndex &) const;
- int columnCount(const QModelIndex &) const;
- bool setAttribute(const QString &, const QString &);
- bool dropAttribute(const QString &);
- bool dropAllAttributes();
- bool hasDroppableAttributes() const;
- inline bool attributesLoaded() const { return !itemPath.isEmpty(); }
- public slots:
- void setMonotoneHandle(const MonotoneHandlePtr &);
- void readAttributes(const QString & itemPath = QString());
- void revert();
- signals:
- void attributesRead();
- private:
- void processTaskResult(const MonotoneTaskPtr &);
- QList<Attribute> attributes;
- MonotoneHandlePtr monotoneHandle;
- QString itemPath;
- };
- #endif