kfilemetainfowidget.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __KFILEMETAINFOWIDGET_H__
00022 #define __KFILEMETAINFOWIDGET_H__
00023
00024 #include <qwidget.h>
00025 #include <qvariant.h>
00026 #include <kfilemetainfo.h>
00027
00031 class KFileMetaInfoWidget: public QWidget
00032 {
00033 Q_OBJECT
00034 public:
00035 KFileMetaInfoWidget(KFileMetaInfoItem item, QValidator* val = 0,
00036 QWidget* parent = 0, const char* name = 0);
00037 virtual ~KFileMetaInfoWidget();
00038
00039 bool apply()
00040 {
00041 return m_item.isEditable() && m_item.setValue(m_value);
00042 }
00043
00044 void setValue(const QVariant& value) { m_value = value; }
00045 QVariant value() { return m_value; }
00046 QValidator* validator() { return m_validator; }
00047 KFileMetaInfoItem item() { return m_item; }
00048
00049 signals:
00050 void valueChanged(const QVariant& value);
00051
00052 protected:
00053 void reparentValidator(QWidget *widget, QValidator *validator);
00054 virtual QWidget* makeWidget();
00055
00056 QWidget* makeBoolWidget();
00057 QWidget* makeIntWidget();
00058 QWidget* makeDoubleWidget();
00059 QWidget* makeStringWidget();
00060 QWidget* makeDateWidget();
00061 QWidget* makeTimeWidget();
00062 QWidget* makeDateTimeWidget();
00063
00064 private slots:
00065 void slotChanged(bool value);
00066 void slotChanged(int value);
00067 void slotChanged(double value);
00068 void slotComboChanged(int item);
00069 void slotLineEditChanged(const QString& value);
00070 void slotMultiLineEditChanged();
00071 void slotDateChanged(const QDate& value);
00072 void slotTimeChanged(const QTime& value);
00073 void slotDateTimeChanged(const QDateTime& value);
00074
00075 private:
00076 QVariant m_value;
00077 KFileMetaInfoItem m_item;
00078 QWidget* m_widget;
00079 QValidator* m_validator;
00080 bool m_dirty : 1;
00081 };
00082
00083 #endif
This file is part of the documentation for kdelibs Version 3.1.4.