All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ed Tomlinson <edt@aei.ca>
To: Alexander Stein <alexander.stein@informatik.tu-chemnitz.de>
Cc: Michal Marek <mmarek@suse.cz>,
	linux-kbuild@vger.kernel.org,
	Roman Zippel <zippel@linux-m68k.org>,
	lkml <linux-kernel@vger.kernel.org>
Subject: Re: [PATCHi v3] kconfig qconf: port to QT4
Date: Sun, 1 Aug 2010 10:32:09 -0400	[thread overview]
Message-ID: <201008011032.09611.edt@aei.ca> (raw)
In-Reply-To: <1280488517-30116-1-git-send-email-alexander.stein@informatik.tu-chemnitz.de>

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 <alexander.stein@informatik.tu-chemnitz.de>
> ---
> 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 <qapplication.h>
> +#include <qglobal.h>
> +
> +#if QT_VERSION < 0x040000
>  #include <qmainwindow.h>
> +#include <qvbox.h>
> +#include <qvaluelist.h>
> +#include <qtextbrowser.h>
> +#include <qaction.h>
> +#include <qheader.h>
> +#include <qfiledialog.h>
> +#include <qdragobject.h>
> +#include <qpopupmenu.h>
> +#else
> +#include <q3mainwindow.h>
> +#include <q3vbox.h>
> +#include <q3valuelist.h>
> +#include <q3textbrowser.h>
> +#include <q3action.h>
> +#include <q3header.h>
> +#include <q3filedialog.h>
> +#include <q3dragobject.h>
> +#include <q3popupmenu.h>
> +#endif
> +
> +#include <qapplication.h>
>  #include <qdesktopwidget.h>
>  #include <qtoolbar.h>
>  #include <qlayout.h>
> -#include <qvbox.h>
>  #include <qsplitter.h>
> -#include <qlistview.h>
> -#include <qtextbrowser.h>
>  #include <qlineedit.h>
>  #include <qlabel.h>
>  #include <qpushbutton.h>
>  #include <qmenubar.h>
>  #include <qmessagebox.h>
> -#include <qaction.h>
> -#include <qheader.h>
> -#include <qfiledialog.h>
> -#include <qdragobject.h>
>  #include <qregexp.h>
> +#include <qevent.h>
>  
>  #include <stdlib.h>
>  
> @@ -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<int> ConfigSettings::readSizes(const QString& key, bool *ok)
> +Q3ValueList<int> ConfigSettings::readSizes(const QString& key, bool *ok)
>  {
> -	QValueList<int> result;
> +	Q3ValueList<int> result;
>  	QStringList entryList = readListEntry(key, ok);
>  	QStringList::Iterator it;
>  
> @@ -69,10 +86,10 @@ QValueList<int> 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<int>& value)
> +bool ConfigSettings::writeSizes(const QString& key, const Q3ValueList<int>& value)
>  {
>  	QStringList stringList;
> -	QValueList<int>::ConstIterator it;
> +	Q3ValueList<int>::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<int>& 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 += "<big><b>";
> -			head += print_filter(_(menu->prompt->text));
> +			head += print_filter(_(_menu->prompt->text));
>  			head += "</b></big>";
>  			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 += "<big><b>";
> -		head += print_filter(_(menu->prompt->text));
> +		head += print_filter(_(_menu->prompt->text));
>  		head += "</b></big><br><br>";
>  		if (showDebug()) {
> -			if (menu->prompt->visible.expr) {
> +			if (_menu->prompt->visible.expr) {
>  				debug += "&nbsp;&nbsp;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 += "<br><br>";
>  			}
>  		}
>  	}
>  	if (showDebug())
> -		debug += QString().sprintf("defined at %s:%d<br><br>", menu->file->name, menu->lineno);
> +		debug += QString().sprintf("defined at %s:%d<br><br>", _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<int> sizes = configSettings->readSizes("/split", &ok);
> +		Q3ValueList<int> 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<int> sizes = configSettings->readSizes("/split1", &ok);
> +	Q3ValueList<int> 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 <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 {
> @@ -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;
>  };
> 

  reply	other threads:[~2010-08-01 14:32 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-06 17:51 [PATCH] kconfig qconf: port to QT4 Alexander Stein
2010-06-07 12:45 ` Michal Marek
2010-06-07 17:12   ` Alexander Stein
2010-06-07 18:01     ` Gene Heskett
2010-06-07 21:29     ` Michal Marek
2010-07-13 19:26       ` [PATCH v2] " Alexander Stein
2010-07-26 12:44         ` Michal Marek
2010-07-26 12:47           ` Michal Marek
2010-07-26 12:47             ` Michal Marek
2010-07-30 11:15           ` [PATCHi v3] " Alexander Stein
2010-08-01 14:32             ` Ed Tomlinson [this message]
2010-08-01 19:28               ` [PATCH] " Alexander Stein
2010-08-02 12:01                 ` Ed Tomlinson
2010-09-18 14:22                   ` Ed Tomlinson
2010-09-20 12:03                     ` Michal Marek
2010-09-21 17:31                     ` [PATCH 1/2] " Alexander Stein
2010-09-21 17:31                     ` [PATCH 2/2] Fix QT4 moc, cflags libs detection on dual QT3/Qt4 systems Alexander Stein
2010-08-02 21:29             ` [PATCHi v3] kconfig qconf: port to QT4 Michal Marek
2010-08-31 15:34               ` [PATCH v4] " Alexander Stein
2010-09-01 14:57                 ` Michal Marek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201008011032.09611.edt@aei.ca \
    --to=edt@aei.ca \
    --cc=alexander.stein@informatik.tu-chemnitz.de \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mmarek@suse.cz \
    --cc=zippel@linux-m68k.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.