|
@@ -36,6 +36,7 @@
|
|
|
#endif
|
|
|
|
|
|
static QApplication *configApp;
|
|
|
+static ConfigSettings *configSettings;
|
|
|
|
|
|
static inline QString qgettext(const char* str)
|
|
|
{
|
|
@@ -47,23 +48,6 @@ static inline QString qgettext(const QString& str)
|
|
|
return QString::fromLocal8Bit(gettext(str.latin1()));
|
|
|
}
|
|
|
|
|
|
-ConfigSettings::ConfigSettings()
|
|
|
- : showAll(false), showName(false), showRange(false), showData(false)
|
|
|
-{
|
|
|
-}
|
|
|
-
|
|
|
-#if QT_VERSION >= 300
|
|
|
-/**
|
|
|
- * Reads the list column settings from the application settings.
|
|
|
- */
|
|
|
-void ConfigSettings::readListSettings()
|
|
|
-{
|
|
|
- showAll = readBoolEntry("/kconfig/qconf/showAll", false);
|
|
|
- showName = readBoolEntry("/kconfig/qconf/showName", false);
|
|
|
- showRange = readBoolEntry("/kconfig/qconf/showRange", false);
|
|
|
- showData = readBoolEntry("/kconfig/qconf/showData", false);
|
|
|
-}
|
|
|
-
|
|
|
/**
|
|
|
* Reads a list of integer values from the application settings.
|
|
|
*/
|
|
@@ -92,76 +76,7 @@ bool ConfigSettings::writeSizes(const QString& key, const QValueList<int>& value
|
|
|
stringList.push_back(QString::number(*it));
|
|
|
return writeEntry(key, stringList);
|
|
|
}
|
|
|
-#endif
|
|
|
-
|
|
|
-
|
|
|
-/*
|
|
|
- * update all the children of a menu entry
|
|
|
- * removes/adds the entries from the parent widget as necessary
|
|
|
- *
|
|
|
- * parent: either the menu list widget or a menu entry widget
|
|
|
- * menu: entry to be updated
|
|
|
- */
|
|
|
-template <class P>
|
|
|
-void ConfigList::updateMenuList(P* parent, struct menu* menu)
|
|
|
-{
|
|
|
- struct menu* child;
|
|
|
- ConfigItem* item;
|
|
|
- ConfigItem* last;
|
|
|
- bool visible;
|
|
|
- enum prop_type type;
|
|
|
-
|
|
|
- if (!menu) {
|
|
|
- while ((item = parent->firstChild()))
|
|
|
- delete item;
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- last = parent->firstChild();
|
|
|
- if (last && !last->goParent)
|
|
|
- last = 0;
|
|
|
- for (child = menu->list; child; child = child->next) {
|
|
|
- item = last ? last->nextSibling() : parent->firstChild();
|
|
|
- type = child->prompt ? child->prompt->type : P_UNKNOWN;
|
|
|
-
|
|
|
- switch (mode) {
|
|
|
- case menuMode:
|
|
|
- if (!(child->flags & MENU_ROOT))
|
|
|
- goto hide;
|
|
|
- break;
|
|
|
- case symbolMode:
|
|
|
- if (child->flags & MENU_ROOT)
|
|
|
- goto hide;
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- visible = menu_is_visible(child);
|
|
|
- if (showAll || visible) {
|
|
|
- if (!item || item->menu != child)
|
|
|
- item = new ConfigItem(parent, last, child, visible);
|
|
|
- else
|
|
|
- item->testUpdateMenu(visible);
|
|
|
|
|
|
- if (mode == fullMode || mode == menuMode || type != P_MENU)
|
|
|
- updateMenuList(item, child);
|
|
|
- else
|
|
|
- updateMenuList(item, 0);
|
|
|
- last = item;
|
|
|
- continue;
|
|
|
- }
|
|
|
- hide:
|
|
|
- if (item && item->menu == child) {
|
|
|
- last = parent->firstChild();
|
|
|
- if (last == item)
|
|
|
- last = 0;
|
|
|
- else while (last->nextSibling() != item)
|
|
|
- last = last->nextSibling();
|
|
|
- delete item;
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
|
|
|
#if QT_VERSION >= 300
|
|
|
/*
|
|
@@ -395,14 +310,14 @@ void ConfigLineEdit::keyPressEvent(QKeyEvent* e)
|
|
|
hide();
|
|
|
}
|
|
|
|
|
|
-ConfigList::ConfigList(ConfigView* p, ConfigSettings* configSettings)
|
|
|
- : Parent(p),
|
|
|
+ConfigList::ConfigList(ConfigView* p, const char *name)
|
|
|
+ : Parent(p, name),
|
|
|
updateAll(false),
|
|
|
symbolYesPix(xpm_symbol_yes), symbolModPix(xpm_symbol_mod), symbolNoPix(xpm_symbol_no),
|
|
|
choiceYesPix(xpm_choice_yes), choiceNoPix(xpm_choice_no),
|
|
|
menuPix(xpm_menu), menuInvPix(xpm_menu_inv), menuBackPix(xpm_menuback), voidPix(xpm_void),
|
|
|
showAll(false), showName(false), showRange(false), showData(false),
|
|
|
- rootEntry(0)
|
|
|
+ rootEntry(0), headerPopup(0)
|
|
|
{
|
|
|
int i;
|
|
|
|
|
@@ -416,11 +331,14 @@ ConfigList::ConfigList(ConfigView* p, ConfigSettings* configSettings)
|
|
|
connect(this, SIGNAL(selectionChanged(void)),
|
|
|
SLOT(updateSelection(void)));
|
|
|
|
|
|
- if (configSettings) {
|
|
|
- showAll = configSettings->showAll;
|
|
|
- showName = configSettings->showName;
|
|
|
- showRange = configSettings->showRange;
|
|
|
- showData = configSettings->showData;
|
|
|
+ if (name) {
|
|
|
+ configSettings->beginGroup(name);
|
|
|
+ showAll = configSettings->readBoolEntry("/showAll", false);
|
|
|
+ showName = configSettings->readBoolEntry("/showName", false);
|
|
|
+ showRange = configSettings->readBoolEntry("/showRange", false);
|
|
|
+ showData = configSettings->readBoolEntry("/showData", false);
|
|
|
+ configSettings->endGroup();
|
|
|
+ connect(configApp, SIGNAL(aboutToQuit()), SLOT(saveSettings()));
|
|
|
}
|
|
|
|
|
|
for (i = 0; i < colNr; i++)
|
|
@@ -451,6 +369,18 @@ void ConfigList::reinit(void)
|
|
|
updateListAll();
|
|
|
}
|
|
|
|
|
|
+void ConfigList::saveSettings(void)
|
|
|
+{
|
|
|
+ if (name()) {
|
|
|
+ configSettings->beginGroup(name());
|
|
|
+ configSettings->writeEntry("/showName", showName);
|
|
|
+ configSettings->writeEntry("/showRange", showRange);
|
|
|
+ configSettings->writeEntry("/showData", showData);
|
|
|
+ configSettings->writeEntry("/showAll", showAll);
|
|
|
+ configSettings->endGroup();
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
void ConfigList::updateSelection(void)
|
|
|
{
|
|
|
struct menu *menu;
|
|
@@ -512,14 +442,6 @@ update:
|
|
|
triggerUpdate();
|
|
|
}
|
|
|
|
|
|
-void ConfigList::setAllOpen(bool open)
|
|
|
-{
|
|
|
- QListViewItemIterator it(this);
|
|
|
-
|
|
|
- for (; it.current(); it++)
|
|
|
- it.current()->setOpen(open);
|
|
|
-}
|
|
|
-
|
|
|
void ConfigList::setValue(ConfigItem* item, tristate val)
|
|
|
{
|
|
|
struct symbol* sym;
|
|
@@ -624,6 +546,74 @@ void ConfigList::setParentMenu(void)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+/*
|
|
|
+ * update all the children of a menu entry
|
|
|
+ * removes/adds the entries from the parent widget as necessary
|
|
|
+ *
|
|
|
+ * parent: either the menu list widget or a menu entry widget
|
|
|
+ * menu: entry to be updated
|
|
|
+ */
|
|
|
+template <class P>
|
|
|
+void ConfigList::updateMenuList(P* parent, struct menu* menu)
|
|
|
+{
|
|
|
+ struct menu* child;
|
|
|
+ ConfigItem* item;
|
|
|
+ ConfigItem* last;
|
|
|
+ bool visible;
|
|
|
+ enum prop_type type;
|
|
|
+
|
|
|
+ if (!menu) {
|
|
|
+ while ((item = parent->firstChild()))
|
|
|
+ delete item;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ last = parent->firstChild();
|
|
|
+ if (last && !last->goParent)
|
|
|
+ last = 0;
|
|
|
+ for (child = menu->list; child; child = child->next) {
|
|
|
+ item = last ? last->nextSibling() : parent->firstChild();
|
|
|
+ type = child->prompt ? child->prompt->type : P_UNKNOWN;
|
|
|
+
|
|
|
+ switch (mode) {
|
|
|
+ case menuMode:
|
|
|
+ if (!(child->flags & MENU_ROOT))
|
|
|
+ goto hide;
|
|
|
+ break;
|
|
|
+ case symbolMode:
|
|
|
+ if (child->flags & MENU_ROOT)
|
|
|
+ goto hide;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ visible = menu_is_visible(child);
|
|
|
+ if (showAll || visible) {
|
|
|
+ if (!item || item->menu != child)
|
|
|
+ item = new ConfigItem(parent, last, child, visible);
|
|
|
+ else
|
|
|
+ item->testUpdateMenu(visible);
|
|
|
+
|
|
|
+ if (mode == fullMode || mode == menuMode || type != P_MENU)
|
|
|
+ updateMenuList(item, child);
|
|
|
+ else
|
|
|
+ updateMenuList(item, 0);
|
|
|
+ last = item;
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ hide:
|
|
|
+ if (item && item->menu == child) {
|
|
|
+ last = parent->firstChild();
|
|
|
+ if (last == item)
|
|
|
+ last = 0;
|
|
|
+ else while (last->nextSibling() != item)
|
|
|
+ last = last->nextSibling();
|
|
|
+ delete item;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
void ConfigList::keyPressEvent(QKeyEvent* ev)
|
|
|
{
|
|
|
QListViewItem* i = currentItem();
|
|
@@ -786,12 +776,50 @@ void ConfigList::focusInEvent(QFocusEvent *e)
|
|
|
emit gotFocus();
|
|
|
}
|
|
|
|
|
|
+void ConfigList::contextMenuEvent(QContextMenuEvent *e)
|
|
|
+{
|
|
|
+ if (e->y() <= header()->geometry().bottom()) {
|
|
|
+ if (!headerPopup) {
|
|
|
+ QAction *action;
|
|
|
+
|
|
|
+ headerPopup = new QPopupMenu(this);
|
|
|
+ action = new QAction("Show Name", 0, this);
|
|
|
+ action->setToggleAction(TRUE);
|
|
|
+ connect(action, SIGNAL(toggled(bool)),
|
|
|
+ parent(), SLOT(setShowName(bool)));
|
|
|
+ connect(parent(), SIGNAL(showNameChanged(bool)),
|
|
|
+ action, SLOT(setOn(bool)));
|
|
|
+ action->setOn(showName);
|
|
|
+ action->addTo(headerPopup);
|
|
|
+ action = new QAction("Show Range", 0, this);
|
|
|
+ action->setToggleAction(TRUE);
|
|
|
+ connect(action, SIGNAL(toggled(bool)),
|
|
|
+ parent(), SLOT(setShowRange(bool)));
|
|
|
+ connect(parent(), SIGNAL(showRangeChanged(bool)),
|
|
|
+ action, SLOT(setOn(bool)));
|
|
|
+ action->setOn(showRange);
|
|
|
+ action->addTo(headerPopup);
|
|
|
+ action = new QAction("Show Data", 0, this);
|
|
|
+ action->setToggleAction(TRUE);
|
|
|
+ connect(action, SIGNAL(toggled(bool)),
|
|
|
+ parent(), SLOT(setShowData(bool)));
|
|
|
+ connect(parent(), SIGNAL(showDataChanged(bool)),
|
|
|
+ action, SLOT(setOn(bool)));
|
|
|
+ action->setOn(showData);
|
|
|
+ action->addTo(headerPopup);
|
|
|
+ }
|
|
|
+ headerPopup->exec(e->globalPos());
|
|
|
+ e->accept();
|
|
|
+ } else
|
|
|
+ e->ignore();
|
|
|
+}
|
|
|
+
|
|
|
ConfigView* ConfigView::viewList;
|
|
|
|
|
|
-ConfigView::ConfigView(QWidget* parent, ConfigSettings *configSettings)
|
|
|
- : Parent(parent)
|
|
|
+ConfigView::ConfigView(QWidget* parent, const char *name)
|
|
|
+ : Parent(parent, name)
|
|
|
{
|
|
|
- list = new ConfigList(this, configSettings);
|
|
|
+ list = new ConfigList(this, name);
|
|
|
lineEdit = new ConfigLineEdit(this);
|
|
|
lineEdit->hide();
|
|
|
|
|
@@ -811,6 +839,50 @@ ConfigView::~ConfigView(void)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+void ConfigView::setShowAll(bool b)
|
|
|
+{
|
|
|
+ if (list->showAll != b) {
|
|
|
+ list->showAll = b;
|
|
|
+ list->updateListAll();
|
|
|
+ emit showAllChanged(b);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+void ConfigView::setShowName(bool b)
|
|
|
+{
|
|
|
+ if (list->showName != b) {
|
|
|
+ list->showName = b;
|
|
|
+ list->reinit();
|
|
|
+ emit showNameChanged(b);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+void ConfigView::setShowRange(bool b)
|
|
|
+{
|
|
|
+ if (list->showRange != b) {
|
|
|
+ list->showRange = b;
|
|
|
+ list->reinit();
|
|
|
+ emit showRangeChanged(b);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+void ConfigView::setShowData(bool b)
|
|
|
+{
|
|
|
+ if (list->showData != b) {
|
|
|
+ list->showData = b;
|
|
|
+ list->reinit();
|
|
|
+ emit showDataChanged(b);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+void ConfigList::setAllOpen(bool open)
|
|
|
+{
|
|
|
+ QListViewItemIterator it(this);
|
|
|
+
|
|
|
+ for (; it.current(); it++)
|
|
|
+ it.current()->setOpen(open);
|
|
|
+}
|
|
|
+
|
|
|
void ConfigView::updateList(ConfigItem* item)
|
|
|
{
|
|
|
ConfigView* v;
|
|
@@ -830,6 +902,21 @@ void ConfigView::updateListAll(void)
|
|
|
ConfigInfoView::ConfigInfoView(QWidget* parent, const char *name)
|
|
|
: Parent(parent, name), menu(0)
|
|
|
{
|
|
|
+ if (name) {
|
|
|
+ configSettings->beginGroup(name);
|
|
|
+ _showDebug = configSettings->readBoolEntry("/showDebug", false);
|
|
|
+ configSettings->endGroup();
|
|
|
+ connect(configApp, SIGNAL(aboutToQuit()), SLOT(saveSettings()));
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+void ConfigInfoView::saveSettings(void)
|
|
|
+{
|
|
|
+ if (name()) {
|
|
|
+ configSettings->beginGroup(name());
|
|
|
+ configSettings->writeEntry("/showDebug", showDebug());
|
|
|
+ configSettings->endGroup();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
void ConfigInfoView::setShowDebug(bool b)
|
|
@@ -1006,8 +1093,26 @@ void ConfigInfoView::expr_print_help(void *data, const char *str)
|
|
|
reinterpret_cast<QString*>(data)->append(print_filter(str));
|
|
|
}
|
|
|
|
|
|
-ConfigSearchWindow::ConfigSearchWindow(QWidget* parent)
|
|
|
- : Parent(parent), result(NULL)
|
|
|
+QPopupMenu* ConfigInfoView::createPopupMenu(const QPoint& pos)
|
|
|
+{
|
|
|
+ QPopupMenu* popup = Parent::createPopupMenu(pos);
|
|
|
+ QAction* action = new QAction("Show Debug Info", 0, popup);
|
|
|
+ action->setToggleAction(TRUE);
|
|
|
+ connect(action, SIGNAL(toggled(bool)), SLOT(setShowDebug(bool)));
|
|
|
+ connect(this, SIGNAL(showDebugChanged(bool)), action, SLOT(setOn(bool)));
|
|
|
+ action->setOn(showDebug());
|
|
|
+ popup->insertSeparator();
|
|
|
+ action->addTo(popup);
|
|
|
+ return popup;
|
|
|
+}
|
|
|
+
|
|
|
+void ConfigInfoView::contentsContextMenuEvent(QContextMenuEvent *e)
|
|
|
+{
|
|
|
+ Parent::contentsContextMenuEvent(e);
|
|
|
+}
|
|
|
+
|
|
|
+ConfigSearchWindow::ConfigSearchWindow(QWidget* parent, const char *name)
|
|
|
+ : Parent(parent, name), result(NULL)
|
|
|
{
|
|
|
setCaption("Search Config");
|
|
|
|
|
@@ -1023,14 +1128,47 @@ ConfigSearchWindow::ConfigSearchWindow(QWidget* parent)
|
|
|
layout2->addWidget(searchButton);
|
|
|
layout1->addLayout(layout2);
|
|
|
|
|
|
- QSplitter* split = new QSplitter(this);
|
|
|
+ split = new QSplitter(this);
|
|
|
split->setOrientation(QSplitter::Vertical);
|
|
|
- list = new ConfigView(split, NULL);
|
|
|
+ list = new ConfigView(split, name);
|
|
|
list->list->mode = listMode;
|
|
|
- info = new ConfigInfoView(split);
|
|
|
+ info = new ConfigInfoView(split, name);
|
|
|
connect(list->list, SIGNAL(menuChanged(struct menu *)),
|
|
|
info, SLOT(setInfo(struct menu *)));
|
|
|
layout1->addWidget(split);
|
|
|
+
|
|
|
+ if (name) {
|
|
|
+ int x, y, width, height;
|
|
|
+ bool ok;
|
|
|
+
|
|
|
+ configSettings->beginGroup(name);
|
|
|
+ width = configSettings->readNumEntry("/window width", parent->width() / 2);
|
|
|
+ height = configSettings->readNumEntry("/window height", parent->height() / 2);
|
|
|
+ resize(width, height);
|
|
|
+ x = configSettings->readNumEntry("/window x", 0, &ok);
|
|
|
+ if (ok)
|
|
|
+ y = configSettings->readNumEntry("/window y", 0, &ok);
|
|
|
+ if (ok)
|
|
|
+ move(x, y);
|
|
|
+ QValueList<int> sizes = configSettings->readSizes("/split", &ok);
|
|
|
+ if (ok)
|
|
|
+ split->setSizes(sizes);
|
|
|
+ configSettings->endGroup();
|
|
|
+ connect(configApp, SIGNAL(aboutToQuit()), SLOT(saveSettings()));
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+void ConfigSearchWindow::saveSettings(void)
|
|
|
+{
|
|
|
+ if (name()) {
|
|
|
+ configSettings->beginGroup(name());
|
|
|
+ configSettings->writeEntry("/window x", pos().x());
|
|
|
+ configSettings->writeEntry("/window y", pos().y());
|
|
|
+ configSettings->writeEntry("/window width", size().width());
|
|
|
+ configSettings->writeEntry("/window height", size().height());
|
|
|
+ configSettings->writeSizes("/split", split->sizes());
|
|
|
+ configSettings->endGroup();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
void ConfigSearchWindow::search(void)
|
|
@@ -1058,49 +1196,36 @@ void ConfigSearchWindow::search(void)
|
|
|
ConfigMainWindow::ConfigMainWindow(void)
|
|
|
{
|
|
|
QMenuBar* menu;
|
|
|
- bool ok, showDebug;
|
|
|
+ bool ok;
|
|
|
int x, y, width, height;
|
|
|
|
|
|
QWidget *d = configApp->desktop();
|
|
|
|
|
|
- ConfigSettings* configSettings = new ConfigSettings();
|
|
|
-#if QT_VERSION >= 300
|
|
|
- width = configSettings->readNumEntry("/kconfig/qconf/window width", d->width() - 64);
|
|
|
- height = configSettings->readNumEntry("/kconfig/qconf/window height", d->height() - 64);
|
|
|
+ width = configSettings->readNumEntry("/window width", d->width() - 64);
|
|
|
+ height = configSettings->readNumEntry("/window height", d->height() - 64);
|
|
|
resize(width, height);
|
|
|
- x = configSettings->readNumEntry("/kconfig/qconf/window x", 0, &ok);
|
|
|
+ x = configSettings->readNumEntry("/window x", 0, &ok);
|
|
|
if (ok)
|
|
|
- y = configSettings->readNumEntry("/kconfig/qconf/window y", 0, &ok);
|
|
|
+ y = configSettings->readNumEntry("/window y", 0, &ok);
|
|
|
if (ok)
|
|
|
move(x, y);
|
|
|
- showDebug = configSettings->readBoolEntry("/kconfig/qconf/showDebug", false);
|
|
|
-
|
|
|
- // read list settings into configSettings, will be used later for ConfigList setup
|
|
|
- configSettings->readListSettings();
|
|
|
-#else
|
|
|
- width = d->width() - 64;
|
|
|
- height = d->height() - 64;
|
|
|
- resize(width, height);
|
|
|
- showDebug = false;
|
|
|
-#endif
|
|
|
|
|
|
split1 = new QSplitter(this);
|
|
|
split1->setOrientation(QSplitter::Horizontal);
|
|
|
setCentralWidget(split1);
|
|
|
|
|
|
- menuView = new ConfigView(split1, configSettings);
|
|
|
+ menuView = new ConfigView(split1, "menu");
|
|
|
menuList = menuView->list;
|
|
|
|
|
|
split2 = new QSplitter(split1);
|
|
|
split2->setOrientation(QSplitter::Vertical);
|
|
|
|
|
|
// create config tree
|
|
|
- configView = new ConfigView(split2, configSettings);
|
|
|
+ configView = new ConfigView(split2, "config");
|
|
|
configList = configView->list;
|
|
|
|
|
|
- helpText = new ConfigInfoView(split2);
|
|
|
+ helpText = new ConfigInfoView(split2, "help");
|
|
|
helpText->setTextFormat(Qt::RichText);
|
|
|
- helpText->setShowDebug(showDebug);
|
|
|
|
|
|
setTabOrder(configList, helpText);
|
|
|
configList->setFocus();
|
|
@@ -1130,25 +1255,29 @@ ConfigMainWindow::ConfigMainWindow(void)
|
|
|
|
|
|
QAction *showNameAction = new QAction(NULL, "Show Name", 0, this);
|
|
|
showNameAction->setToggleAction(TRUE);
|
|
|
- showNameAction->setOn(configList->showName);
|
|
|
- connect(showNameAction, SIGNAL(toggled(bool)), SLOT(setShowName(bool)));
|
|
|
+ connect(showNameAction, SIGNAL(toggled(bool)), configView, SLOT(setShowName(bool)));
|
|
|
+ connect(configView, SIGNAL(showNameChanged(bool)), showNameAction, SLOT(setOn(bool)));
|
|
|
+ showNameAction->setOn(configView->showName());
|
|
|
QAction *showRangeAction = new QAction(NULL, "Show Range", 0, this);
|
|
|
showRangeAction->setToggleAction(TRUE);
|
|
|
+ connect(showRangeAction, SIGNAL(toggled(bool)), configView, SLOT(setShowRange(bool)));
|
|
|
+ connect(configView, SIGNAL(showRangeChanged(bool)), showRangeAction, SLOT(setOn(bool)));
|
|
|
showRangeAction->setOn(configList->showRange);
|
|
|
- connect(showRangeAction, SIGNAL(toggled(bool)), SLOT(setShowRange(bool)));
|
|
|
QAction *showDataAction = new QAction(NULL, "Show Data", 0, this);
|
|
|
showDataAction->setToggleAction(TRUE);
|
|
|
+ connect(showDataAction, SIGNAL(toggled(bool)), configView, SLOT(setShowData(bool)));
|
|
|
+ connect(configView, SIGNAL(showDataChanged(bool)), showDataAction, SLOT(setOn(bool)));
|
|
|
showDataAction->setOn(configList->showData);
|
|
|
- connect(showDataAction, SIGNAL(toggled(bool)), SLOT(setShowData(bool)));
|
|
|
QAction *showAllAction = new QAction(NULL, "Show All Options", 0, this);
|
|
|
showAllAction->setToggleAction(TRUE);
|
|
|
+ connect(showAllAction, SIGNAL(toggled(bool)), configView, SLOT(setShowAll(bool)));
|
|
|
+ connect(showAllAction, SIGNAL(toggled(bool)), menuView, SLOT(setShowAll(bool)));
|
|
|
showAllAction->setOn(configList->showAll);
|
|
|
- connect(showAllAction, SIGNAL(toggled(bool)), SLOT(setShowAll(bool)));
|
|
|
QAction *showDebugAction = new QAction(NULL, "Show Debug Info", 0, this);
|
|
|
showDebugAction->setToggleAction(TRUE);
|
|
|
- showDebugAction->setOn(showDebug);
|
|
|
connect(showDebugAction, SIGNAL(toggled(bool)), helpText, SLOT(setShowDebug(bool)));
|
|
|
connect(helpText, SIGNAL(showDebugChanged(bool)), showDebugAction, SLOT(setOn(bool)));
|
|
|
+ showDebugAction->setOn(helpText->showDebug());
|
|
|
|
|
|
QAction *showIntroAction = new QAction(NULL, "Introduction", 0, this);
|
|
|
connect(showIntroAction, SIGNAL(activated()), SLOT(showIntro()));
|
|
@@ -1209,8 +1338,7 @@ ConfigMainWindow::ConfigMainWindow(void)
|
|
|
connect(menuList, SIGNAL(gotFocus(void)),
|
|
|
SLOT(listFocusChanged(void)));
|
|
|
|
|
|
-#if QT_VERSION >= 300
|
|
|
- QString listMode = configSettings->readEntry("/kconfig/qconf/listMode", "symbol");
|
|
|
+ QString listMode = configSettings->readEntry("/listMode", "symbol");
|
|
|
if (listMode == "single")
|
|
|
showSingleView();
|
|
|
else if (listMode == "full")
|
|
@@ -1219,17 +1347,13 @@ ConfigMainWindow::ConfigMainWindow(void)
|
|
|
showSplitView();
|
|
|
|
|
|
// UI setup done, restore splitter positions
|
|
|
- QValueList<int> sizes = configSettings->readSizes("/kconfig/qconf/split1", &ok);
|
|
|
+ QValueList<int> sizes = configSettings->readSizes("/split1", &ok);
|
|
|
if (ok)
|
|
|
split1->setSizes(sizes);
|
|
|
|
|
|
- sizes = configSettings->readSizes("/kconfig/qconf/split2", &ok);
|
|
|
+ sizes = configSettings->readSizes("/split2", &ok);
|
|
|
if (ok)
|
|
|
split2->setSizes(sizes);
|
|
|
-#else
|
|
|
- showSplitView();
|
|
|
-#endif
|
|
|
- delete configSettings;
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -1237,7 +1361,6 @@ ConfigMainWindow::ConfigMainWindow(void)
|
|
|
*/
|
|
|
void ConfigMainWindow::setHelp(QListViewItem* item)
|
|
|
{
|
|
|
- struct symbol* sym;
|
|
|
struct menu* menu = 0;
|
|
|
|
|
|
if (item)
|
|
@@ -1273,7 +1396,7 @@ void ConfigMainWindow::saveConfigAs(void)
|
|
|
void ConfigMainWindow::searchConfig(void)
|
|
|
{
|
|
|
if (!searchWindow)
|
|
|
- searchWindow = new ConfigSearchWindow(this);
|
|
|
+ searchWindow = new ConfigSearchWindow(this, "search");
|
|
|
searchWindow->show();
|
|
|
}
|
|
|
|
|
@@ -1353,46 +1476,6 @@ void ConfigMainWindow::showFullView(void)
|
|
|
configList->setFocus();
|
|
|
}
|
|
|
|
|
|
-void ConfigMainWindow::setShowAll(bool b)
|
|
|
-{
|
|
|
- if (configList->showAll == b)
|
|
|
- return;
|
|
|
- configList->showAll = b;
|
|
|
- configList->updateListAll();
|
|
|
- menuList->showAll = b;
|
|
|
- menuList->updateListAll();
|
|
|
-}
|
|
|
-
|
|
|
-void ConfigMainWindow::setShowName(bool b)
|
|
|
-{
|
|
|
- if (configList->showName == b)
|
|
|
- return;
|
|
|
- configList->showName = b;
|
|
|
- configList->reinit();
|
|
|
- menuList->showName = b;
|
|
|
- menuList->reinit();
|
|
|
-}
|
|
|
-
|
|
|
-void ConfigMainWindow::setShowRange(bool b)
|
|
|
-{
|
|
|
- if (configList->showRange == b)
|
|
|
- return;
|
|
|
- configList->showRange = b;
|
|
|
- configList->reinit();
|
|
|
- menuList->showRange = b;
|
|
|
- menuList->reinit();
|
|
|
-}
|
|
|
-
|
|
|
-void ConfigMainWindow::setShowData(bool b)
|
|
|
-{
|
|
|
- if (configList->showData == b)
|
|
|
- return;
|
|
|
- configList->showData = b;
|
|
|
- configList->reinit();
|
|
|
- menuList->showData = b;
|
|
|
- menuList->reinit();
|
|
|
-}
|
|
|
-
|
|
|
/*
|
|
|
* ask for saving configuration before quitting
|
|
|
* TODO ask only when something changed
|
|
@@ -1447,17 +1530,10 @@ void ConfigMainWindow::showAbout(void)
|
|
|
|
|
|
void ConfigMainWindow::saveSettings(void)
|
|
|
{
|
|
|
-#if QT_VERSION >= 300
|
|
|
- ConfigSettings *configSettings = new ConfigSettings;
|
|
|
- configSettings->writeEntry("/kconfig/qconf/window x", pos().x());
|
|
|
- configSettings->writeEntry("/kconfig/qconf/window y", pos().y());
|
|
|
- configSettings->writeEntry("/kconfig/qconf/window width", size().width());
|
|
|
- configSettings->writeEntry("/kconfig/qconf/window height", size().height());
|
|
|
- configSettings->writeEntry("/kconfig/qconf/showName", configList->showName);
|
|
|
- configSettings->writeEntry("/kconfig/qconf/showRange", configList->showRange);
|
|
|
- configSettings->writeEntry("/kconfig/qconf/showData", configList->showData);
|
|
|
- configSettings->writeEntry("/kconfig/qconf/showAll", configList->showAll);
|
|
|
- configSettings->writeEntry("/kconfig/qconf/showDebug", helpText->showDebug());
|
|
|
+ configSettings->writeEntry("/window x", pos().x());
|
|
|
+ configSettings->writeEntry("/window y", pos().y());
|
|
|
+ configSettings->writeEntry("/window width", size().width());
|
|
|
+ configSettings->writeEntry("/window height", size().height());
|
|
|
|
|
|
QString entry;
|
|
|
switch(configList->mode) {
|
|
@@ -1473,13 +1549,10 @@ void ConfigMainWindow::saveSettings(void)
|
|
|
entry = "full";
|
|
|
break;
|
|
|
}
|
|
|
- configSettings->writeEntry("/kconfig/qconf/listMode", entry);
|
|
|
+ configSettings->writeEntry("/listMode", entry);
|
|
|
|
|
|
- configSettings->writeSizes("/kconfig/qconf/split1", split1->sizes());
|
|
|
- configSettings->writeSizes("/kconfig/qconf/split2", split2->sizes());
|
|
|
-
|
|
|
- delete configSettings;
|
|
|
-#endif
|
|
|
+ configSettings->writeSizes("/split1", split1->sizes());
|
|
|
+ configSettings->writeSizes("/split2", split2->sizes());
|
|
|
}
|
|
|
|
|
|
void fixup_rootmenu(struct menu *menu)
|
|
@@ -1537,6 +1610,8 @@ int main(int ac, char** av)
|
|
|
conf_read(NULL);
|
|
|
//zconfdump(stdout);
|
|
|
|
|
|
+ configSettings = new ConfigSettings();
|
|
|
+ configSettings->beginGroup("/kconfig/qconf");
|
|
|
v = new ConfigMainWindow();
|
|
|
|
|
|
//zconfdump(stdout);
|
|
@@ -1546,5 +1621,8 @@ int main(int ac, char** av)
|
|
|
v->show();
|
|
|
configApp->exec();
|
|
|
|
|
|
+ configSettings->endGroup();
|
|
|
+ delete configSettings;
|
|
|
+
|
|
|
return 0;
|
|
|
}
|