kconfig qconf: port to QT4
[cascardo/linux.git] / scripts / kconfig / qconf.h
index 6a9e3b1..91677d9 100644 (file)
@@ -3,26 +3,25 @@
  * Released under the terms of the GNU GPL v2.0.
  */
 
+#if QT_VERSION < 0x040000
 #include <qlistview.h>
-#if QT_VERSION >= 300
-#include <qsettings.h>
 #else
-class QSettings {
-public:
-       void beginGroup(const QString& group) { }
-       void endGroup(void) { }
-       bool readBoolEntry(const QString& key, bool def = FALSE, bool* ok = 0) const
-       { if (ok) *ok = FALSE; return def; }
-       int readNumEntry(const QString& key, int def = 0, bool* ok = 0) const
-       { if (ok) *ok = FALSE; return def; }
-       QString readEntry(const QString& key, const QString& def = QString::null, bool* ok = 0) const
-       { if (ok) *ok = FALSE; return def; }
-       QStringList readListEntry(const QString& key, bool* ok = 0) const
-       { if (ok) *ok = FALSE; return QStringList(); }
-       template <class t>
-       bool writeEntry(const QString& key, t value)
-       { return TRUE; }
-};
+#include <q3listview.h>
+#endif
+#include <qsettings.h>
+
+#if QT_VERSION < 0x040000
+#define Q3ValueList             QValueList
+#define Q3PopupMenu             QPopupMenu
+#define Q3ListView              QListView
+#define Q3ListViewItem          QListViewItem
+#define Q3VBox                  QVBox
+#define Q3TextBrowser           QTextBrowser
+#define Q3MainWindow            QMainWindow
+#define Q3Action                QAction
+#define Q3ToolBar               QToolBar
+#define Q3ListViewItemIterator  QListViewItemIterator
+#define Q3FileDialog            QFileDialog
 #endif
 
 class ConfigView;
@@ -31,11 +30,10 @@ class ConfigItem;
 class ConfigLineEdit;
 class ConfigMainWindow;
 
-
 class ConfigSettings : public QSettings {
 public:
-       QValueList<int> readSizes(const QString& key, bool *ok);
-       bool writeSizes(const QString& key, const QValueList<int>& value);
+       Q3ValueList<int> readSizes(const QString& key, bool *ok);
+       bool writeSizes(const QString& key, const Q3ValueList<int>& value);
 };
 
 enum colIdx {
@@ -44,10 +42,13 @@ enum colIdx {
 enum listMode {
        singleMode, menuMode, symbolMode, fullMode, listMode
 };
+enum optionMode {
+       normalOpt = 0, allOpt, promptOpt
+};
 
-class ConfigList : public QListView {
+class ConfigList : public Q3ListView {
        Q_OBJECT
-       typedef class QListView Parent;
+       typedef class Q3ListView Parent;
 public:
        ConfigList(ConfigView* p, const char *name = 0);
        void reinit(void);
@@ -115,6 +116,8 @@ public:
        void setAllOpen(bool open);
        void setParentMenu(void);
 
+       bool menuSkip(struct menu *);
+
        template <class P>
        void updateMenuList(P*, struct menu*);
 
@@ -124,22 +127,23 @@ public:
        QPixmap choiceYesPix, choiceNoPix;
        QPixmap menuPix, menuInvPix, menuBackPix, voidPix;
 
-       bool showAll, showName, showRange, showData;
+       bool showName, showRange, showData;
        enum listMode mode;
+       enum optionMode optMode;
        struct menu *rootEntry;
        QColorGroup disabledColorGroup;
        QColorGroup inactivedColorGroup;
-       QPopupMenu* headerPopup;
+       Q3PopupMenu* headerPopup;
 
 private:
        int colMap[colNr];
        int colRevMap[colNr];
 };
 
-class ConfigItem : public QListViewItem {
-       typedef class QListViewItem Parent;
+class ConfigItem : public Q3ListViewItem {
+       typedef class Q3ListViewItem Parent;
 public:
-       ConfigItem(QListView *parent, ConfigItem *after, struct menu *m, bool v)
+       ConfigItem(Q3ListView *parent, ConfigItem *after, struct menu *m, bool v)
        : Parent(parent, after), menu(m), visible(v), goParent(false)
        {
                init();
@@ -149,16 +153,14 @@ public:
        {
                init();
        }
-       ConfigItem(QListView *parent, ConfigItem *after, bool v)
+       ConfigItem(Q3ListView *parent, ConfigItem *after, bool v)
        : Parent(parent, after), menu(0), visible(v), goParent(true)
        {
                init();
        }
        ~ConfigItem(void);
        void init(void);
-#if QT_VERSION >= 300
        void okRename(int col);
-#endif
        void updateMenu(void);
        void testUpdateMenu(bool v);
        ConfigList* listView() const
@@ -213,26 +215,24 @@ public:
        ConfigItem *item;
 };
 
-class ConfigView : public QVBox {
+class ConfigView : public Q3VBox {
        Q_OBJECT
-       typedef class QVBox Parent;
+       typedef class Q3VBox Parent;
 public:
        ConfigView(QWidget* parent, const char *name = 0);
        ~ConfigView(void);
        static void updateList(ConfigItem* item);
        static void updateListAll(void);
 
-       bool showAll(void) const { return list->showAll; }
        bool showName(void) const { return list->showName; }
        bool showRange(void) const { return list->showRange; }
        bool showData(void) const { return list->showData; }
 public slots:
-       void setShowAll(bool);
        void setShowName(bool);
        void setShowRange(bool);
        void setShowData(bool);
+       void setOptionMode(QAction *);
 signals:
-       void showAllChanged(bool);
        void showNameChanged(bool);
        void showRangeChanged(bool);
        void showDataChanged(bool);
@@ -242,11 +242,15 @@ public:
 
        static ConfigView* viewList;
        ConfigView* nextView;
+
+       static QAction *showNormalAction;
+       static QAction *showAllAction;
+       static QAction *showPromptAction;
 };
 
-class ConfigInfoView : public QTextBrowser {
+class ConfigInfoView : public Q3TextBrowser {
        Q_OBJECT
-       typedef class QTextBrowser Parent;
+       typedef class Q3TextBrowser Parent;
 public:
        ConfigInfoView(QWidget* parent, const char *name = 0);
        bool showDebug(void) const { return _showDebug; }
@@ -254,7 +258,6 @@ public:
 public slots:
        void setInfo(struct menu *menu);
        void saveSettings(void);
-       void setSource(const QString& name);
        void setShowDebug(bool);
 
 signals:
@@ -267,11 +270,11 @@ protected:
        QString debug_info(struct symbol *sym);
        static QString print_filter(const QString &str);
        static void expr_print_help(void *data, struct symbol *sym, const char *str);
-       QPopupMenu* createPopupMenu(const QPoint& pos);
+       Q3PopupMenu* createPopupMenu(const QPoint& pos);
        void contentsContextMenuEvent(QContextMenuEvent *e);
 
        struct symbol *sym;
-       struct menu *menu;
+       struct menu *_menu;
        bool _showDebug;
 };
 
@@ -279,7 +282,7 @@ class ConfigSearchWindow : public QDialog {
        Q_OBJECT
        typedef class QDialog Parent;
 public:
-       ConfigSearchWindow(QWidget* parent, const char *name = 0);
+       ConfigSearchWindow(ConfigMainWindow* parent, const char *name = 0);
 
 public slots:
        void saveSettings(void);
@@ -295,8 +298,11 @@ protected:
        struct symbol **result;
 };
 
-class ConfigMainWindow : public QMainWindow {
+class ConfigMainWindow : public Q3MainWindow {
        Q_OBJECT
+
+       static Q3Action *saveAction;
+       static void conf_changed(void);
 public:
        ConfigMainWindow(void);
 public slots:
@@ -324,8 +330,8 @@ protected:
        ConfigView *configView;
        ConfigList *configList;
        ConfigInfoView *helpText;
-       QToolBar *toolBar;
-       QAction *backAction;
+       Q3ToolBar *toolBar;
+       Q3Action *backAction;
        QSplitter* split1;
        QSplitter* split2;
 };