You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.1 KiB
56 lines
1.1 KiB
15 years ago
|
#ifndef EDITOR_H
|
||
|
#define EDITOR_H
|
||
|
|
||
|
#include <kdialogbase.h>
|
||
|
#include <noatun/playlist.h>
|
||
|
#include <qptrlist.h>
|
||
|
#include <qvariant.h>
|
||
|
|
||
|
class KFileMetaInfo;
|
||
|
class KFileMetaInfoItem;
|
||
|
class QGridLayout;
|
||
|
|
||
|
struct MetaWidget {
|
||
|
QWidget *widget;
|
||
|
QString key;
|
||
|
};
|
||
|
|
||
|
class Editor:public KDialogBase {
|
||
|
Q_OBJECT
|
||
|
public:
|
||
|
Editor();
|
||
|
|
||
|
signals:
|
||
|
void saved(PlaylistItem &);
|
||
|
|
||
|
public slots:
|
||
|
void open(const PlaylistItem & i);
|
||
|
|
||
|
protected slots:
|
||
|
void save();
|
||
|
void modified();
|
||
|
|
||
|
protected:
|
||
|
bool keyAddable(const KFileMetaInfo &, QString);
|
||
|
QString keyGroup(const KFileMetaInfo &, QString);
|
||
|
|
||
|
void saveControl(KFileMetaInfo& meta_info, const MetaWidget&);
|
||
|
MetaWidget *createControl(KFileMetaInfo& meta_info, const QString &label, const QString &key, QVariant::Type default_type, bool optional, QWidget *parent);
|
||
|
|
||
|
QPtrList<MetaWidget> mControls;
|
||
|
|
||
|
QWidget *mMainWidget;
|
||
|
QGridLayout *mGrid;
|
||
|
int mNextRow;
|
||
|
|
||
|
bool mFileWritable;
|
||
|
bool mDirty;
|
||
|
|
||
|
QLabel *mFile;
|
||
|
QLabel *mFileIcon;
|
||
|
const char *filename;
|
||
|
PlaylistItem item;
|
||
|
};
|
||
|
|
||
|
#endif
|