diff options
Diffstat (limited to 'noatun-plugins/oblique/cmodule.h')
-rw-r--r-- | noatun-plugins/oblique/cmodule.h | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/noatun-plugins/oblique/cmodule.h b/noatun-plugins/oblique/cmodule.h new file mode 100644 index 0000000..f60c6c3 --- /dev/null +++ b/noatun-plugins/oblique/cmodule.h @@ -0,0 +1,123 @@ +// Copyright (c) 2003 Charles Samuels <charles@kde.org> +// See the file COPYING for redistribution terms. + +#ifndef CMODULE_H +#define CMODULE_H + +#include <noatun/pref.h> +#include "query.h" + +class KListView; +class KLineEdit; +class QDialog; +class Oblique; +class QCheckBox; +class QComboBox; +class QPushButton; +class QTabWidget; + +class SchemaConfig : public QWidget +{ +Q_OBJECT + Oblique *mOblique; + + KListView *mSchemaTree; + KLineEdit *mPropertyEdit, *mValueEdit, *mPresentationEdit; + QComboBox *mSchemaList; + + QCheckBox *mOptionPlayable, *mOptionChildrenVisible, *mOptionAutoOpen; + + QPushButton *mAdd, *mRemove, *mCopy; + + QPushButton *mAddSibling, *mAddChild, *mRemoveSelf; + + QDialog *mRegexpEditor; + bool mIgnore; + + struct QueryItem + { + Query query; + QString title; + bool changed; + }; + + QMap<QString, QueryItem> mQueries; + +public: + SchemaConfig(QWidget *parent, Oblique *oblique); + + Oblique *oblique() { return mOblique; } + + void reopen(); + void save(); + + static QString nameToFilename(const QString &name); + static QString filenameToName(const QString &filename); + +public slots: + void newSchema(); + void copySchema(); + void removeSchema(); + + void selectSchema(const QString &title); + + void addSibling(); + void addChild(); + void removeSelf(); + + void setCurrentModified(); + +private slots: + void editValueRegexp(); + + void setCurrent(QListViewItem *_item); + void updateCurrent(); + + void move(QListViewItem *item, QListViewItem *afterFirst, QListViewItem *afterNow); + +private: + QueryItem *currentQuery(); +}; + +class SliceListItem; + +class SliceConfig : public QWidget +{ +Q_OBJECT + Oblique *mOblique; + KListView *mSliceList; + QPushButton *mAdd, *mRemove; + QValueList<SliceListItem*> mAddedItems; + QValueList<Slice*> mRemovedItems; + +public: + SliceConfig(QWidget *parent, Oblique *oblique); + Oblique *oblique() { return mOblique; } + + void reopen(); + void save(); + + + SliceListItem *currentItem(); + +private slots: + void addSibling(); + void removeSelf(); +}; + +class Configure : public CModule +{ +Q_OBJECT + QTabWidget *tabs; + SchemaConfig *schema; + SliceConfig *slice; + +public: + Configure(Oblique *parent); + + virtual void reopen(); + virtual void save(); +}; + + +#endif |