Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757088Ab0HAOcT (ORCPT ); Sun, 1 Aug 2010 10:32:19 -0400 Received: from mail001.aei.ca ([206.123.6.130]:46606 "EHLO mail001.aei.ca" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755822Ab0HAOcQ (ORCPT ); Sun, 1 Aug 2010 10:32:16 -0400 From: Ed Tomlinson To: Alexander Stein Subject: Re: [PATCHi v3] kconfig qconf: port to QT4 Date: Sun, 1 Aug 2010 10:32:09 -0400 User-Agent: KMail/1.13.5 (Linux/2.6.35-rc6-crc+; KDE/4.4.5; x86_64; ; ) Cc: Michal Marek , linux-kbuild@vger.kernel.org, Roman Zippel , lkml References: <4C4D8348.5040802@suse.cz> <1280488517-30116-1-git-send-email-alexander.stein@informatik.tu-chemnitz.de> In-Reply-To: <1280488517-30116-1-git-send-email-alexander.stein@informatik.tu-chemnitz.de> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Message-Id: <201008011032.09611.edt@aei.ca> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 29991 Lines: 775 Hi, Would you have a version of this that applies to 35-rc6 ? I dearly miss kconfig and now even xconfig is trying to use qt3 which does not exist here. TIA Ed Tomlinson On Friday 30 July 2010 07:15:17 Alexander Stein wrote: > A straight forward port to QT4 using qt3to4 and compiling against > qt3support > > * rewritten makefile rules to detect QT4 by using qmake which is hopefully > portable enough > * If no QT4, QT3 will by tried instead > * Classes renamed using qt3to4 > * If build using QT3 renamed to QT3 class names using defines > * ConfigInfoView::menu has to be renamed as QT4 moc strips struct from > struct menu and creates a name conflict > * QT2 support has been dropped > * The hidden options inserted in 39a4897c1bb66e8a36043c105d7fd73d8b32b480 > are use in native API > > Signed-off-by: Alexander Stein > --- > Changes in v2: > * Use QT3 as fallback if no QT4 is available > * Rename class names using defines for QT3 > > Changes in v3: > * based on git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6.git > kconfig branch > * Proper support for hidden options from 39a4897c1bb > * slightly rework Makefile detection to use pkg-config for QT4 detection > * Removed USE_QT3 usage, use QT_VERSION instead > * Drop QT2 support > > Michael, > > i kept using Q3Foo classes and redefine them to QFoo instead of the other way > around, as defining QFoo to Q3Foo doesn't work here. > > scripts/kconfig/Makefile | 77 +++++++++++++--------- > scripts/kconfig/qconf.cc | 162 +++++++++++++++++++++++++--------------------- > scripts/kconfig/qconf.h | 76 ++++++++++----------- > 3 files changed, 169 insertions(+), 146 deletions(-) > > diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile > index f8d1ee3..a203a90 100644 > --- a/scripts/kconfig/Makefile > +++ b/scripts/kconfig/Makefile > @@ -233,40 +233,51 @@ $(obj)/.tmp_qtcheck: $(src)/Makefile > # QT needs some extra effort... > $(obj)/.tmp_qtcheck: > @set -e; echo " CHECK qt"; dir=""; pkg=""; \ > - pkg-config --exists qt 2> /dev/null && pkg=qt; \ > - pkg-config --exists qt-mt 2> /dev/null && pkg=qt-mt; \ > - if [ -n "$$pkg" ]; then \ > - cflags="\$$(shell pkg-config $$pkg --cflags)"; \ > - libs="\$$(shell pkg-config $$pkg --libs)"; \ > - moc="\$$(shell pkg-config $$pkg --variable=prefix)/bin/moc"; \ > - dir="$$(pkg-config $$pkg --variable=prefix)"; \ > + pkg-config --exists QtCore 2> /dev/null; \ > + if [ ! $? ]; then \ > + echo "* Unable to find the QT4 tool qmake. Trying to use QT3"; \ > + pkg-config --exists qt 2> /dev/null && pkg=qt; \ > + pkg-config --exists qt-mt 2> /dev/null && pkg=qt-mt; \ > + if [ -n "$$pkg" ]; then \ > + cflags="\$$(shell pkg-config $$pkg --cflags)"; \ > + libs="\$$(shell pkg-config $$pkg --libs)"; \ > + moc="\$$(shell pkg-config $$pkg --variable=prefix)/bin/moc"; \ > + dir="$$(pkg-config $$pkg --variable=prefix)"; \ > + else \ > + for d in $$QTDIR /usr/share/qt* /usr/lib/qt*; do \ > + if [ -f $$d/include/qconfig.h ]; then dir=$$d; break; fi; \ > + done; \ > + if [ -z "$$dir" ]; then \ > + echo "*"; \ > + echo "* Unable to find any QT installation. Please make sure that"; \ > + echo "* the QT4 or QT3 development package is correctly installed and"; \ > + echo "* either qmake can be found or install pkg-config or set"; \ > + echo "* the QTDIR environment variable to the correct location."; \ > + echo "*"; \ > + false; \ > + fi; \ > + libpath=$$dir/lib; lib=qt; osdir=""; \ > + $(HOSTCXX) -print-multi-os-directory > /dev/null 2>&1 && \ > + osdir=x$$($(HOSTCXX) -print-multi-os-directory); \ > + test -d $$libpath/$$osdir && libpath=$$libpath/$$osdir; \ > + test -f $$libpath/libqt-mt.so && lib=qt-mt; \ > + cflags="-I$$dir/include"; \ > + libs="-L$$libpath -Wl,-rpath,$$libpath -l$$lib"; \ > + moc="$$dir/bin/moc"; \ > + fi; \ > + if [ ! -x $$dir/bin/moc -a -x /usr/bin/moc ]; then \ > + echo "*"; \ > + echo "* Unable to find $$dir/bin/moc, using /usr/bin/moc instead."; \ > + echo "*"; \ > + moc="/usr/bin/moc"; \ > + fi; \ > else \ > - for d in $$QTDIR /usr/share/qt* /usr/lib/qt*; do \ > - if [ -f $$d/include/qconfig.h ]; then dir=$$d; break; fi; \ > - done; \ > - if [ -z "$$dir" ]; then \ > - echo "*"; \ > - echo "* Unable to find the QT3 installation. Please make sure that"; \ > - echo "* the QT3 development package is correctly installed and"; \ > - echo "* either install pkg-config or set the QTDIR environment"; \ > - echo "* variable to the correct location."; \ > - echo "*"; \ > - false; \ > - fi; \ > - libpath=$$dir/lib; lib=qt; osdir=""; \ > - $(HOSTCXX) -print-multi-os-directory > /dev/null 2>&1 && \ > - osdir=x$$($(HOSTCXX) -print-multi-os-directory); \ > - test -d $$libpath/$$osdir && libpath=$$libpath/$$osdir; \ > - test -f $$libpath/libqt-mt.so && lib=qt-mt; \ > - cflags="-I$$dir/include"; \ > - libs="-L$$libpath -Wl,-rpath,$$libpath -l$$lib"; \ > - moc="$$dir/bin/moc"; \ > - fi; \ > - if [ ! -x $$dir/bin/moc -a -x /usr/bin/moc ]; then \ > - echo "*"; \ > - echo "* Unable to find $$dir/bin/moc, using /usr/bin/moc instead."; \ > - echo "*"; \ > - moc="/usr/bin/moc"; \ > + headerpath="\$$(shell qmake -query QT_INSTALL_HEADERS)"; \ > + libpath="\$$(shell qmake -query QT_INSTALL_LIBS)"; \ > + binpath="\$$(shell qmake -query QT_INSTALL_BINS)"; \ > + cflags="-I$$headerpath -I$$headerpath/QtCore -I$$headerpath/QtGui -I$$headerpath/Qt3Support -DQT3_SUPPORT"; \ > + libs="-L$$libpath -Wl,-rpath,$$libpath -lQtCore -lQtGui -lQt3Support"; \ > + moc="$$binpath/moc"; \ > fi; \ > echo "KC_QT_CFLAGS=$$cflags" > $@; \ > echo "KC_QT_LIBS=$$libs" >> $@; \ > diff --git a/scripts/kconfig/qconf.cc b/scripts/kconfig/qconf.cc > index 820df2d..88d3874 100644 > --- a/scripts/kconfig/qconf.cc > +++ b/scripts/kconfig/qconf.cc > @@ -3,25 +3,42 @@ > * Released under the terms of the GNU GPL v2.0. > */ > > -#include > +#include > + > +#if QT_VERSION < 0x040000 > #include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#else > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#endif > + > +#include > #include > #include > #include > -#include > #include > -#include > -#include > #include > #include > #include > #include > #include > -#include > -#include > -#include > -#include > #include > +#include > > #include > > @@ -39,7 +56,7 @@ > static QApplication *configApp; > static ConfigSettings *configSettings; > > -QAction *ConfigMainWindow::saveAction; > +Q3Action *ConfigMainWindow::saveAction; > > static inline QString qgettext(const char* str) > { > @@ -54,9 +71,9 @@ static inline QString qgettext(const QString& str) > /** > * Reads a list of integer values from the application settings. > */ > -QValueList ConfigSettings::readSizes(const QString& key, bool *ok) > +Q3ValueList ConfigSettings::readSizes(const QString& key, bool *ok) > { > - QValueList result; > + Q3ValueList result; > QStringList entryList = readListEntry(key, ok); > QStringList::Iterator it; > > @@ -69,10 +86,10 @@ QValueList ConfigSettings::readSizes(const QString& key, bool *ok) > /** > * Writes a list of integer values to the application settings. > */ > -bool ConfigSettings::writeSizes(const QString& key, const QValueList& value) > +bool ConfigSettings::writeSizes(const QString& key, const Q3ValueList& value) > { > QStringList stringList; > - QValueList::ConstIterator it; > + Q3ValueList::ConstIterator it; > > for (it = value.begin(); it != value.end(); ++it) > stringList.push_back(QString::number(*it)); > @@ -80,7 +97,6 @@ bool ConfigSettings::writeSizes(const QString& key, const QValueList& value > } > > > -#if QT_VERSION >= 300 > /* > * set the new data > * TODO check the value > @@ -91,7 +107,6 @@ void ConfigItem::okRename(int col) > sym_set_string_value(menu->sym, text(dataColIdx).latin1()); > listView()->updateList(this); > } > -#endif > > /* > * update the displayed of a menu entry > @@ -195,11 +210,9 @@ void ConfigItem::updateMenu(void) > > data = sym_get_string_value(sym); > > -#if QT_VERSION >= 300 > int i = list->mapIdx(dataColIdx); > if (i >= 0) > setRenameEnabled(i, TRUE); > -#endif > setText(dataColIdx, data); > if (type == S_STRING) > prompt = QString("%1: %2").arg(prompt).arg(data); > @@ -432,7 +445,7 @@ void ConfigList::updateList(ConfigItem* item) > if (!rootEntry) { > if (mode != listMode) > goto update; > - QListViewItemIterator it(this); > + Q3ListViewItemIterator it(this); > ConfigItem* item; > > for (; it.current(); ++it) { > @@ -527,11 +540,9 @@ void ConfigList::changeValue(ConfigItem* item) > case S_INT: > case S_HEX: > case S_STRING: > -#if QT_VERSION >= 300 > if (colMap[dataColIdx] >= 0) > item->startRename(colMap[dataColIdx]); > else > -#endif > parent()->lineEdit->show(item); > break; > } > @@ -563,7 +574,7 @@ void ConfigList::setParentMenu(void) > return; > setRootMenu(menu_get_parent_menu(rootEntry->parent)); > > - QListViewItemIterator it(this); > + Q3ListViewItemIterator it(this); > for (; (item = (ConfigItem*)it.current()); it++) { > if (item->menu == oldroot) { > setCurrentItem(item); > @@ -645,7 +656,7 @@ void ConfigList::updateMenuList(P* parent, struct menu* menu) > > void ConfigList::keyPressEvent(QKeyEvent* ev) > { > - QListViewItem* i = currentItem(); > + Q3ListViewItem* i = currentItem(); > ConfigItem* item; > struct menu *menu; > enum prop_type type; > @@ -811,10 +822,10 @@ void ConfigList::contextMenuEvent(QContextMenuEvent *e) > { > if (e->y() <= header()->geometry().bottom()) { > if (!headerPopup) { > - QAction *action; > + Q3Action *action; > > - headerPopup = new QPopupMenu(this); > - action = new QAction(NULL, _("Show Name"), 0, this); > + headerPopup = new Q3PopupMenu(this); > + action = new Q3Action(NULL, _("Show Name"), 0, this); > action->setToggleAction(TRUE); > connect(action, SIGNAL(toggled(bool)), > parent(), SLOT(setShowName(bool))); > @@ -822,7 +833,7 @@ void ConfigList::contextMenuEvent(QContextMenuEvent *e) > action, SLOT(setOn(bool))); > action->setOn(showName); > action->addTo(headerPopup); > - action = new QAction(NULL, _("Show Range"), 0, this); > + action = new Q3Action(NULL, _("Show Range"), 0, this); > action->setToggleAction(TRUE); > connect(action, SIGNAL(toggled(bool)), > parent(), SLOT(setShowRange(bool))); > @@ -830,7 +841,7 @@ void ConfigList::contextMenuEvent(QContextMenuEvent *e) > action, SLOT(setOn(bool))); > action->setOn(showRange); > action->addTo(headerPopup); > - action = new QAction(NULL, _("Show Data"), 0, this); > + action = new Q3Action(NULL, _("Show Data"), 0, this); > action->setToggleAction(TRUE); > connect(action, SIGNAL(toggled(bool)), > parent(), SLOT(setShowData(bool))); > @@ -914,7 +925,7 @@ void ConfigView::setShowData(bool b) > > void ConfigList::setAllOpen(bool open) > { > - QListViewItemIterator it(this); > + Q3ListViewItemIterator it(this); > > for (; it.current(); it++) > it.current()->setOpen(open); > @@ -937,7 +948,7 @@ void ConfigView::updateListAll(void) > } > > ConfigInfoView::ConfigInfoView(QWidget* parent, const char *name) > - : Parent(parent, name), sym(0), menu(0) > + : Parent(parent, name), sym(0), _menu(0) > { > if (name) { > configSettings->beginGroup(name); > @@ -960,7 +971,7 @@ void ConfigInfoView::setShowDebug(bool b) > { > if (_showDebug != b) { > _showDebug = b; > - if (menu) > + if (_menu) > menuInfo(); > else if (sym) > symbolInfo(); > @@ -970,11 +981,11 @@ void ConfigInfoView::setShowDebug(bool b) > > void ConfigInfoView::setInfo(struct menu *m) > { > - if (menu == m) > + if (_menu == m) > return; > - menu = m; > + _menu = m; > sym = NULL; > - if (!menu) > + if (!_menu) > clear(); > else > menuInfo(); > @@ -1001,11 +1012,11 @@ void ConfigInfoView::menuInfo(void) > struct symbol* sym; > QString head, debug, help; > > - sym = menu->sym; > + sym = _menu->sym; > if (sym) { > - if (menu->prompt) { > + if (_menu->prompt) { > head += ""; > - head += print_filter(_(menu->prompt->text)); > + head += print_filter(_(_menu->prompt->text)); > head += ""; > if (sym->name) { > head += " ("; > @@ -1031,23 +1042,23 @@ void ConfigInfoView::menuInfo(void) > debug = debug_info(sym); > > struct gstr help_gstr = str_new(); > - menu_get_ext_help(menu, &help_gstr); > + menu_get_ext_help(_menu, &help_gstr); > help = print_filter(str_get(&help_gstr)); > str_free(&help_gstr); > - } else if (menu->prompt) { > + } else if (_menu->prompt) { > head += ""; > - head += print_filter(_(menu->prompt->text)); > + head += print_filter(_(_menu->prompt->text)); > head += "

"; > if (showDebug()) { > - if (menu->prompt->visible.expr) { > + if (_menu->prompt->visible.expr) { > debug += "  dep: "; > - expr_print(menu->prompt->visible.expr, expr_print_help, &debug, E_NONE); > + expr_print(_menu->prompt->visible.expr, expr_print_help, &debug, E_NONE); > debug += "

"; > } > } > } > if (showDebug()) > - debug += QString().sprintf("defined at %s:%d

", menu->file->name, menu->lineno); > + debug += QString().sprintf("defined at %s:%d

", _menu->file->name, _menu->lineno); > > setText(head + debug + help); > } > @@ -1150,10 +1161,10 @@ void ConfigInfoView::expr_print_help(void *data, struct symbol *sym, const char > *text += str2; > } > > -QPopupMenu* ConfigInfoView::createPopupMenu(const QPoint& pos) > +Q3PopupMenu* ConfigInfoView::createPopupMenu(const QPoint& pos) > { > - QPopupMenu* popup = Parent::createPopupMenu(pos); > - QAction* action = new QAction(NULL, _("Show Debug Info"), 0, popup); > + Q3PopupMenu* popup = Parent::createPopupMenu(pos); > + Q3Action* action = new Q3Action(NULL, _("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))); > @@ -1210,7 +1221,7 @@ ConfigSearchWindow::ConfigSearchWindow(ConfigMainWindow* parent, const char *nam > y = configSettings->readNumEntry("/window y", 0, &ok); > if (ok) > move(x, y); > - QValueList sizes = configSettings->readSizes("/split", &ok); > + Q3ValueList sizes = configSettings->readSizes("/split", &ok); > if (ok) > split->setSizes(sizes); > configSettings->endGroup(); > @@ -1297,42 +1308,42 @@ ConfigMainWindow::ConfigMainWindow(void) > configList->setFocus(); > > menu = menuBar(); > - toolBar = new QToolBar("Tools", this); > + toolBar = new Q3ToolBar("Tools", this); > > - backAction = new QAction("Back", QPixmap(xpm_back), _("Back"), 0, this); > + backAction = new Q3Action("Back", QPixmap(xpm_back), _("Back"), 0, this); > connect(backAction, SIGNAL(activated()), SLOT(goBack())); > backAction->setEnabled(FALSE); > - QAction *quitAction = new QAction("Quit", _("&Quit"), Qt::CTRL + Qt::Key_Q, this); > + Q3Action *quitAction = new Q3Action("Quit", _("&Quit"), Qt::CTRL + Qt::Key_Q, this); > connect(quitAction, SIGNAL(activated()), SLOT(close())); > - QAction *loadAction = new QAction("Load", QPixmap(xpm_load), _("&Load"), Qt::CTRL + Qt::Key_L, this); > + Q3Action *loadAction = new Q3Action("Load", QPixmap(xpm_load), _("&Load"), Qt::CTRL + Qt::Key_L, this); > connect(loadAction, SIGNAL(activated()), SLOT(loadConfig())); > - saveAction = new QAction("Save", QPixmap(xpm_save), _("&Save"), Qt::CTRL + Qt::Key_S, this); > + saveAction = new Q3Action("Save", QPixmap(xpm_save), _("&Save"), Qt::CTRL + Qt::Key_S, this); > connect(saveAction, SIGNAL(activated()), SLOT(saveConfig())); > conf_set_changed_callback(conf_changed); > // Set saveAction's initial state > conf_changed(); > - QAction *saveAsAction = new QAction("Save As...", _("Save &As..."), 0, this); > + Q3Action *saveAsAction = new Q3Action("Save As...", _("Save &As..."), 0, this); > connect(saveAsAction, SIGNAL(activated()), SLOT(saveConfigAs())); > - QAction *searchAction = new QAction("Find", _("&Find"), Qt::CTRL + Qt::Key_F, this); > + Q3Action *searchAction = new Q3Action("Find", _("&Find"), Qt::CTRL + Qt::Key_F, this); > connect(searchAction, SIGNAL(activated()), SLOT(searchConfig())); > - QAction *singleViewAction = new QAction("Single View", QPixmap(xpm_single_view), _("Single View"), 0, this); > + Q3Action *singleViewAction = new Q3Action("Single View", QPixmap(xpm_single_view), _("Single View"), 0, this); > connect(singleViewAction, SIGNAL(activated()), SLOT(showSingleView())); > - QAction *splitViewAction = new QAction("Split View", QPixmap(xpm_split_view), _("Split View"), 0, this); > + Q3Action *splitViewAction = new Q3Action("Split View", QPixmap(xpm_split_view), _("Split View"), 0, this); > connect(splitViewAction, SIGNAL(activated()), SLOT(showSplitView())); > - QAction *fullViewAction = new QAction("Full View", QPixmap(xpm_tree_view), _("Full View"), 0, this); > + Q3Action *fullViewAction = new Q3Action("Full View", QPixmap(xpm_tree_view), _("Full View"), 0, this); > connect(fullViewAction, SIGNAL(activated()), SLOT(showFullView())); > > - QAction *showNameAction = new QAction(NULL, _("Show Name"), 0, this); > + Q3Action *showNameAction = new Q3Action(NULL, _("Show Name"), 0, this); > showNameAction->setToggleAction(TRUE); > 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); > + Q3Action *showRangeAction = new Q3Action(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); > - QAction *showDataAction = new QAction(NULL, _("Show Data"), 0, this); > + Q3Action *showDataAction = new Q3Action(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))); > @@ -1345,9 +1356,15 @@ ConfigMainWindow::ConfigMainWindow(void) > connect(optGroup, SIGNAL(selected(QAction *)), menuView, > SLOT(setOptionMode(QAction *))); > > - configView->showNormalAction = new QAction(NULL, _("Show Normal Options"), 0, optGroup); > - configView->showAllAction = new QAction(NULL, _("Show All Options"), 0, optGroup); > - configView->showPromptAction = new QAction(NULL, _("Show Prompt Options"), 0, optGroup); > +#if QT_VERSION >= 0x040000 > + configView->showNormalAction = new QAction(_("Show Normal Options"), optGroup); > + configView->showAllAction = new QAction(_("Show All Options"), optGroup); > + configView->showPromptAction = new QAction(_("Show Prompt Options"), optGroup); > +#else > + configView->showNormalAction = new QAction(_("Show Normal Options"), 0, optGroup); > + configView->showAllAction = new QAction(_("Show All Options"), 0, optGroup); > + configView->showPromptAction = new QAction(_("Show Prompt Options"), 0, optGroup); > +#endif > configView->showNormalAction->setToggleAction(TRUE); > configView->showNormalAction->setOn(configList->optMode == normalOpt); > configView->showAllAction->setToggleAction(TRUE); > @@ -1355,15 +1372,15 @@ ConfigMainWindow::ConfigMainWindow(void) > configView->showPromptAction->setToggleAction(TRUE); > configView->showPromptAction->setOn(configList->optMode == promptOpt); > > - QAction *showDebugAction = new QAction(NULL, _("Show Debug Info"), 0, this); > + Q3Action *showDebugAction = new Q3Action(NULL, _("Show Debug Info"), 0, this); > showDebugAction->setToggleAction(TRUE); > 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); > + Q3Action *showIntroAction = new Q3Action(NULL, _("Introduction"), 0, this); > connect(showIntroAction, SIGNAL(activated()), SLOT(showIntro())); > - QAction *showAboutAction = new QAction(NULL, _("About"), 0, this); > + Q3Action *showAboutAction = new Q3Action(NULL, _("About"), 0, this); > connect(showAboutAction, SIGNAL(activated()), SLOT(showAbout())); > > // init tool bar > @@ -1377,7 +1394,7 @@ ConfigMainWindow::ConfigMainWindow(void) > fullViewAction->addTo(toolBar); > > // create config menu > - QPopupMenu* config = new QPopupMenu(this); > + Q3PopupMenu* config = new Q3PopupMenu(this); > menu->insertItem(_("&File"), config); > loadAction->addTo(config); > saveAction->addTo(config); > @@ -1386,12 +1403,12 @@ ConfigMainWindow::ConfigMainWindow(void) > quitAction->addTo(config); > > // create edit menu > - QPopupMenu* editMenu = new QPopupMenu(this); > + Q3PopupMenu* editMenu = new Q3PopupMenu(this); > menu->insertItem(_("&Edit"), editMenu); > searchAction->addTo(editMenu); > > // create options menu > - QPopupMenu* optionMenu = new QPopupMenu(this); > + Q3PopupMenu* optionMenu = new Q3PopupMenu(this); > menu->insertItem(_("&Option"), optionMenu); > showNameAction->addTo(optionMenu); > showRangeAction->addTo(optionMenu); > @@ -1399,10 +1416,9 @@ ConfigMainWindow::ConfigMainWindow(void) > optionMenu->insertSeparator(); > optGroup->addTo(optionMenu); > optionMenu->insertSeparator(); > - showDebugAction->addTo(optionMenu); > > // create help menu > - QPopupMenu* helpMenu = new QPopupMenu(this); > + Q3PopupMenu* helpMenu = new Q3PopupMenu(this); > menu->insertSeparator(); > menu->insertItem(_("&Help"), helpMenu); > showIntroAction->addTo(helpMenu); > @@ -1437,7 +1453,7 @@ ConfigMainWindow::ConfigMainWindow(void) > showSplitView(); > > // UI setup done, restore splitter positions > - QValueList sizes = configSettings->readSizes("/split1", &ok); > + Q3ValueList sizes = configSettings->readSizes("/split1", &ok); > if (ok) > split1->setSizes(sizes); > > @@ -1448,7 +1464,7 @@ ConfigMainWindow::ConfigMainWindow(void) > > void ConfigMainWindow::loadConfig(void) > { > - QString s = QFileDialog::getOpenFileName(conf_get_configname(), NULL, this); > + QString s = Q3FileDialog::getOpenFileName(conf_get_configname(), NULL, this); > if (s.isNull()) > return; > if (conf_read(QFile::encodeName(s))) > @@ -1464,7 +1480,7 @@ void ConfigMainWindow::saveConfig(void) > > void ConfigMainWindow::saveConfigAs(void) > { > - QString s = QFileDialog::getSaveFileName(conf_get_configname(), NULL, this); > + QString s = Q3FileDialog::getSaveFileName(conf_get_configname(), NULL, this); > if (s.isNull()) > return; > if (conf_write(QFile::encodeName(s))) > diff --git a/scripts/kconfig/qconf.h b/scripts/kconfig/qconf.h > index 636a74b..91677d9 100644 > --- a/scripts/kconfig/qconf.h > +++ b/scripts/kconfig/qconf.h > @@ -3,26 +3,25 @@ > * Released under the terms of the GNU GPL v2.0. > */ > > +#if QT_VERSION < 0x040000 > #include > -#if QT_VERSION >= 300 > -#include > #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 > - bool writeEntry(const QString& key, t value) > - { return TRUE; } > -}; > +#include > +#endif > +#include > + > +#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 readSizes(const QString& key, bool *ok); > - bool writeSizes(const QString& key, const QValueList& value); > + Q3ValueList readSizes(const QString& key, bool *ok); > + bool writeSizes(const QString& key, const Q3ValueList& value); > }; > > enum colIdx { > @@ -48,9 +46,9 @@ 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); > @@ -135,17 +133,17 @@ public: > 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(); > @@ -155,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 > @@ -219,9 +215,9 @@ 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); > @@ -252,9 +248,9 @@ public: > 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; } > @@ -274,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; > }; > > @@ -302,10 +298,10 @@ protected: > struct symbol **result; > }; > > -class ConfigMainWindow : public QMainWindow { > +class ConfigMainWindow : public Q3MainWindow { > Q_OBJECT > > - static QAction *saveAction; > + static Q3Action *saveAction; > static void conf_changed(void); > public: > ConfigMainWindow(void); > @@ -334,8 +330,8 @@ protected: > ConfigView *configView; > ConfigList *configList; > ConfigInfoView *helpText; > - QToolBar *toolBar; > - QAction *backAction; > + Q3ToolBar *toolBar; > + Q3Action *backAction; > QSplitter* split1; > QSplitter* split2; > }; > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/