Port xconfig to Qt5 - Introduce Qt4/5 version of ConfigList and ConfigItem
authorBoris Barbulovski <bbarbulovski@gmail.com>
Tue, 22 Sep 2015 18:36:17 +0000 (11:36 -0700)
committerMichal Marek <mmarek@suse.com>
Wed, 14 Oct 2015 12:59:02 +0000 (14:59 +0200)
Signed-off-by: Boris Barbulovski <bbarbulovski@gmail.com>
Signed-off-by: Thiago Macieira <thiago.macieira@intel.com>
Signed-off-by: Michal Marek <mmarek@suse.com>
scripts/kconfig/qconf.cc
scripts/kconfig/qconf.h

index c6b7320..a86409d 100644 (file)
@@ -87,13 +87,27 @@ bool ConfigSettings::writeSizes(const QString& key, const QList<int>& value)
        return true;
 }
 
+/*
+ * construct a menu entry
+ */
+void ConfigItem::init(void)
+{
+}
+
+/*
+ * destruct a menu entry
+ */
+ConfigItem::~ConfigItem(void)
+{
+}
+
 ConfigLineEdit::ConfigLineEdit(ConfigView* parent)
        : Parent(parent)
 {
        connect(this, SIGNAL(editingFinished()), SLOT(hide()));
 }
 
-void ConfigLineEdit::show(QTreeWidgetItem *i)
+void ConfigLineEdit::show(ConfigItem* i)
 {
        item = i;
        Parent::show();
@@ -118,6 +132,10 @@ void ConfigLineEdit::keyPressEvent(QKeyEvent* e)
        hide();
 }
 
+ConfigList::ConfigList(ConfigView* p, const char *name)
+       : Parent(p)
+{
+}
 ConfigView*ConfigView::viewList;
 QAction *ConfigView::showNormalAction;
 QAction *ConfigView::showAllAction;
@@ -129,7 +147,7 @@ ConfigView::ConfigView(QWidget* parent, const char *name)
        QVBoxLayout *verticalLayout = new QVBoxLayout(this);
        verticalLayout->setContentsMargins(0, 0, 0, 0);
 
-       list = new QTreeWidget(this);
+       list = new ConfigList(this);
        verticalLayout->addWidget(list);
        lineEdit = new ConfigLineEdit(this);
        lineEdit->hide();
@@ -167,7 +185,7 @@ void ConfigView::setShowData(bool b)
 {
 }
 
-void ConfigView::updateList(QTreeWidgetItem* item)
+void ConfigView::updateList(ConfigItem* item)
 {
 }
 
index 1cd0219..54b3b92 100644 (file)
@@ -17,6 +17,8 @@
 #include "expr.h"
 
 class ConfigView;
+class ConfigList;
+class ConfigItem;
 class ConfigLineEdit;
 class ConfigMainWindow;
 
@@ -37,6 +39,40 @@ enum optionMode {
        normalOpt = 0, allOpt, promptOpt
 };
 
+class ConfigList : public QTreeWidget {
+       Q_OBJECT
+       typedef class QTreeWidget Parent;
+public:
+       ConfigList(ConfigView* p, const char *name = 0);
+};
+
+class ConfigItem : public QTreeWidgetItem {
+       typedef class QTreeWidgetItem Parent;
+public:
+       ConfigItem(QTreeWidgetItem *parent, ConfigItem *after, struct menu *m, bool v)
+       : Parent(parent, after), menu(m), visible(v), goParent(false)
+       {
+               init();
+       }
+       ConfigItem(ConfigItem *parent, ConfigItem *after, struct menu *m, bool v)
+       : Parent(parent, after), menu(m), visible(v), goParent(false)
+       {
+               init();
+       }
+       ConfigItem(QTreeWidgetItem *parent, ConfigItem *after, bool v)
+       : Parent(parent, after), menu(0), visible(v), goParent(true)
+       {
+               init();
+       }
+       ~ConfigItem(void);
+       void init(void);
+
+       ConfigItem* nextItem;
+       struct menu *menu;
+       bool visible;
+       bool goParent;
+};
+
 class ConfigLineEdit : public QLineEdit {
        Q_OBJECT
        typedef class QLineEdit Parent;
@@ -46,11 +82,11 @@ public:
        {
                return (ConfigView*)Parent::parent();
        }
-       void show(QTreeWidgetItem *i);
+       void show(ConfigItem *i);
        void keyPressEvent(QKeyEvent *e);
 
 public:
-       QTreeWidgetItem *item;
+       ConfigItem *item;
 };
 
 class ConfigView : public QWidget {
@@ -59,7 +95,7 @@ class ConfigView : public QWidget {
 public:
        ConfigView(QWidget* parent, const char *name = 0);
        ~ConfigView(void);
-       static void updateList(QTreeWidgetItem* item);
+       static void updateList(ConfigItem* item);
        static void updateListAll(void);
 
        bool showName(void) const { return false; } // TODO: Implement me.
@@ -75,7 +111,7 @@ signals:
        void showRangeChanged(bool);
        void showDataChanged(bool);
 public:
-       QTreeWidget* list;
+       ConfigList* list;
        ConfigLineEdit* lineEdit;
 
        static ConfigView* viewList;
@@ -164,9 +200,9 @@ protected:
 
        ConfigSearchWindow *searchWindow;
        ConfigView *menuView;
-       QTreeWidget *menuList;
+       ConfigList *menuList;
        ConfigView *configView;
-       QTreeWidget *configList;
+       ConfigList *configList;
        ConfigInfoView *helpText;
        QToolBar *toolBar;
        QAction *backAction;