Skip to content

Commit

Permalink
Port xconfig to Qt5 - Introduce Qt4/5 version of ConfigList and Confi…
Browse files Browse the repository at this point in the history
…gItem

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>
  • Loading branch information
bokic authored and Michal Marek committed Oct 14, 2015
1 parent 9211993 commit 1019f1a
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 9 deletions.
24 changes: 21 additions & 3 deletions scripts/kconfig/qconf.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand All @@ -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;
Expand All @@ -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();
Expand Down Expand Up @@ -167,7 +185,7 @@ void ConfigView::setShowData(bool b)
{
}

void ConfigView::updateList(QTreeWidgetItem* item)
void ConfigView::updateList(ConfigItem* item)
{
}

Expand Down
48 changes: 42 additions & 6 deletions scripts/kconfig/qconf.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
#include "expr.h"

class ConfigView;
class ConfigList;
class ConfigItem;
class ConfigLineEdit;
class ConfigMainWindow;

Expand All @@ -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;
Expand All @@ -46,11 +82,11 @@ class ConfigLineEdit : public QLineEdit {
{
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 {
Expand All @@ -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.
Expand All @@ -75,7 +111,7 @@ public slots:
void showRangeChanged(bool);
void showDataChanged(bool);
public:
QTreeWidget* list;
ConfigList* list;
ConfigLineEdit* lineEdit;

static ConfigView* viewList;
Expand Down Expand Up @@ -164,9 +200,9 @@ public slots:

ConfigSearchWindow *searchWindow;
ConfigView *menuView;
QTreeWidget *menuList;
ConfigList *menuList;
ConfigView *configView;
QTreeWidget *configList;
ConfigList *configList;
ConfigInfoView *helpText;
QToolBar *toolBar;
QAction *backAction;
Expand Down

0 comments on commit 1019f1a

Please sign in to comment.