kxmlcommanddlg.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KXMLCOMMANDDLG_H
00021 #define KXMLCOMMANDDLG_H
00022
00023 #include <qwidget.h>
00024 #include <qmap.h>
00025 #include <qstringlist.h>
00026 #include <kdialogbase.h>
00027
00028 class KListView;
00029 class QListViewItem;
00030 class QLineEdit;
00031 class QComboBox;
00032 class QWidgetStack;
00033 class QToolButton;
00034 class KListBox;
00035 class QListBoxItem;
00036 class QTextEdit;
00037 class QCheckBox;
00038
00039 class DrGroup;
00040 class DrBase;
00041 class KXmlCommand;
00042
00043 class KXmlCommandAdvancedDlg : public QWidget
00044 {
00045 Q_OBJECT
00046 public:
00047 KXmlCommandAdvancedDlg(QWidget *parent = 0, const char *name = 0);
00048 ~KXmlCommandAdvancedDlg();
00049
00050 void setCommand(KXmlCommand*);
00051 static bool editCommand(KXmlCommand *xmlcmd, QWidget *parent = 0);
00052
00053 protected:
00054 void parseGroupItem(DrGroup*, QListViewItem*);
00055 void parseXmlCommand(KXmlCommand*);
00056 void viewItem(QListViewItem*);
00057 void removeItem(QListViewItem*);
00058 void recreateGroup(QListViewItem*, DrGroup*);
00059
00060 protected slots:
00061 void slotSelectionChanged(QListViewItem*);
00062 void slotTypeChanged(int);
00063 void slotAddValue();
00064 void slotRemoveValue();
00065 void slotApplyChanges();
00066 void slotAddGroup();
00067 void slotAddOption();
00068 void slotRemoveItem();
00069 void slotMoveUp();
00070 void slotMoveDown();
00071 void slotCommandChanged(const QString&);
00072 void slotValueSelected(QListViewItem*);
00073 void slotOptionRenamed(QListViewItem*, int);
00074 void slotChanged();
00075
00076 private:
00077 KListView *m_view;
00078 QLineEdit *m_name, *m_desc, *m_format, *m_default, *m_command;
00079 QComboBox *m_type;
00080 QWidget *m_dummy;
00081 KListView *m_values;
00082 QLineEdit *m_edit1, *m_edit2;
00083 QWidgetStack *m_stack;
00084 QToolButton *m_apply, *m_addgrp, *m_addopt, *m_delopt, *m_up, *m_down;
00085 QLineEdit *m_inputfile, *m_inputpipe, *m_outputfile, *m_outputpipe;
00086 QToolButton *m_addval, *m_delval;
00087 QTextEdit *m_comment;
00088 QCheckBox *m_persistent;
00089
00090 KXmlCommand *m_xmlcmd;
00091 QMap<QString, DrBase*> m_opts;
00092 };
00093
00094 class KXmlCommandDlg : public KDialogBase
00095 {
00096 Q_OBJECT
00097 public:
00098 KXmlCommandDlg(QWidget *parent = 0, const char *name = 0);
00099
00100 void setCommand(KXmlCommand*);
00101 static bool editCommand(KXmlCommand*, QWidget *parent = 0);
00102
00103 protected slots:
00104 void slotAddMime();
00105 void slotRemoveMime();
00106 void slotEditCommand();
00107 void slotAddReq();
00108 void slotRemoveReq();
00109 void slotReqSelected(QListViewItem*);
00110 void slotAvailableSelected(QListBoxItem*);
00111 void slotSelectedSelected(QListBoxItem*);
00112 void slotOk();
00113
00114 private:
00115 QLineEdit *m_description;
00116 QLabel *m_idname;
00117 QComboBox *m_mimetype;
00118 KListBox *m_availablemime, *m_selectedmime;
00119 QToolButton *m_addmime, *m_removemime;
00120 KListView *m_requirements;
00121 QToolButton *m_removereq, *m_addreq;
00122
00123 QStringList m_mimelist;
00124 KXmlCommand *m_cmd;
00125 };
00126
00127 #endif
|