Commit 68ccb7ef authored by Boris Barbulovski's avatar Boris Barbulovski Committed by Michal Marek
Browse files

Port xconfig to Qt5 - Fix the code so it compiles with Qt5

parent 76538660
Loading
Loading
Loading
Loading
+92 −93
Original line number Diff line number Diff line
@@ -9,7 +9,6 @@
#include <QList>
#include <qtextbrowser.h>
#include <QAction>
#include <q3header.h>
#include <QFileDialog>
#include <QMenu>

@@ -51,7 +50,7 @@ static inline QString qgettext(const char* str)

static inline QString qgettext(const QString& str)
{
	return QString::fromLocal8Bit(gettext(str.latin1()));
	return QString::fromLocal8Bit(gettext(str.toLatin1()));
}

ConfigSettings::ConfigSettings()
@@ -65,7 +64,7 @@ ConfigSettings::ConfigSettings()
QList<int> ConfigSettings::readSizes(const QString& key, bool *ok)
{
	QList<int> result;
	QStringList entryList = readListEntry(key, ok);
	QStringList entryList = value(key).toStringList();
	QStringList::Iterator it;

	for (it = entryList.begin(); it != entryList.end(); ++it)
@@ -84,7 +83,8 @@ bool ConfigSettings::writeSizes(const QString& key, const QList<int>& value)

	for (it = value.begin(); it != value.end(); ++it)
		stringList.push_back(QString::number(*it));
	return writeEntry(key, stringList);
	setValue(key, stringList);
	return true;
}

ConfigLineEdit::ConfigLineEdit(ConfigView* parent)
@@ -93,7 +93,7 @@ ConfigLineEdit::ConfigLineEdit(ConfigView* parent)
	connect(this, SIGNAL(lostFocus()), SLOT(hide()));
}

void ConfigLineEdit::show(Q3ListViewItem *i)
void ConfigLineEdit::show(QTreeWidgetItem *i)
{
	item = i;
	Parent::show();
@@ -124,12 +124,12 @@ QAction *ConfigView::showAllAction;
QAction *ConfigView::showPromptAction;

ConfigView::ConfigView(QWidget* parent, const char *name)
	: Parent(parent, name)
	: Parent(parent)
{
	QVBoxLayout *verticalLayout = new QVBoxLayout(this);
	verticalLayout->setContentsMargins(0, 0, 0, 0);

	list = new Q3ListView(this, name);
	list = new QTreeWidget(this);
	verticalLayout->addWidget(list);
	lineEdit = new ConfigLineEdit(this);
	lineEdit->hide();
@@ -167,7 +167,7 @@ void ConfigView::setShowData(bool b)
{
}

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

@@ -176,11 +176,11 @@ void ConfigView::updateListAll(void)
}

ConfigInfoView::ConfigInfoView(QWidget* parent, const char *name)
	: Parent(parent, name), sym(0), _menu(0)
	: Parent(parent), sym(0), _menu(0)
{
	if (name) {
		configSettings->beginGroup(name);
		_showDebug = configSettings->readBoolEntry("/showDebug", false);
		_showDebug = configSettings->value("/showDebug", false).toBool();
		configSettings->endGroup();
		connect(configApp, SIGNAL(aboutToQuit()), SLOT(saveSettings()));
	}
@@ -188,11 +188,11 @@ ConfigInfoView::ConfigInfoView(QWidget* parent, const char *name)

void ConfigInfoView::saveSettings(void)
{
	if (name()) {
	/*if (name()) {
		configSettings->beginGroup(name());
		configSettings->writeEntry("/showDebug", showDebug());
		configSettings->setValue("/showDebug", showDebug());
		configSettings->endGroup();
	}
	}*/
}

void ConfigInfoView::setShowDebug(bool b)
@@ -349,8 +349,8 @@ QString ConfigInfoView::print_filter(const QString &str)
{
	QRegExp re("[<>&\"\\n]");
	QString res = str;
	for (int i = 0; (i = res.find(re, i)) >= 0;) {
		switch (res[i].latin1()) {
	for (int i = 0; (i = res.indexOf(re, i)) >= 0;) {
		switch (res[i].toLatin1()) {
		case '<':
			res.replace(i, 1, "&lt;");
			i += 4;
@@ -393,12 +393,12 @@ QMenu* ConfigInfoView::createStandardContextMenu(const QPoint & pos)
{
	QMenu* popup = Parent::createStandardContextMenu(pos);
	QAction* action = new QAction(_("Show Debug Info"), popup);
	  action->setCheckable(TRUE);
	  action->setCheckable(true);
	  connect(action, SIGNAL(toggled(bool)), SLOT(setShowDebug(bool)));
	  connect(this, SIGNAL(showDebugChanged(bool)), action, SLOT(setOn(bool)));
	  action->setChecked(showDebug());
	popup->addSeparator();
	action->addTo(popup);
	popup->addAction(action);
	return popup;
}

@@ -408,18 +408,22 @@ void ConfigInfoView::contextMenuEvent(QContextMenuEvent *e)
}

ConfigSearchWindow::ConfigSearchWindow(ConfigMainWindow* parent, const char *name)
	: Parent(parent, name), result(NULL)
	: Parent(parent), result(NULL)
{
	setCaption("Search Config");
	setWindowTitle("Search Config");

	QVBoxLayout* layout1 = new QVBoxLayout(this, 11, 6);
	QHBoxLayout* layout2 = new QHBoxLayout(0, 0, 6);
	QVBoxLayout* layout1 = new QVBoxLayout(this);
	layout1->setContentsMargins(11, 11, 11, 11);
	layout1->setSpacing(6);
	QHBoxLayout* layout2 = new QHBoxLayout(0);
	layout2->setContentsMargins(0, 0, 0, 0);
	layout2->setSpacing(6);
	layout2->addWidget(new QLabel(_("Find:"), this));
	editField = new QLineEdit(this);
	connect(editField, SIGNAL(returnPressed()), SLOT(search()));
	layout2->addWidget(editField);
	searchButton = new QPushButton(_("Search"), this);
	searchButton->setAutoDefault(FALSE);
	searchButton->setAutoDefault(false);
	connect(searchButton, SIGNAL(clicked()), SLOT(search()));
	layout2->addWidget(searchButton);
	layout1->addLayout(layout2);
@@ -436,18 +440,18 @@ ConfigSearchWindow::ConfigSearchWindow(ConfigMainWindow* parent, const char *nam
	layout1->addWidget(split);

	if (name) {
		int x, y, width, height;
		QVariant x, y;
		int width, height;
		bool ok;

		configSettings->beginGroup(name);
		width = configSettings->readNumEntry("/window width", parent->width() / 2);
		height = configSettings->readNumEntry("/window height", parent->height() / 2);
		width = configSettings->value("/window width", parent->width() / 2).toInt();
		height = configSettings->value("/window height", parent->height() / 2).toInt();
		resize(width, height);
		x = configSettings->readNumEntry("/window x", 0, &ok);
		if (ok)
			y = configSettings->readNumEntry("/window y", 0, &ok);
		if (ok)
			move(x, y);
		x = configSettings->value("/window x");
		y = configSettings->value("/window y");
		if ((x.isValid())&&(y.isValid()))
			move(x.toInt(), y.toInt());
		QList<int> sizes = configSettings->readSizes("/split", &ok);
		if (ok)
			split->setSizes(sizes);
@@ -458,15 +462,15 @@ ConfigSearchWindow::ConfigSearchWindow(ConfigMainWindow* parent, const char *nam

void ConfigSearchWindow::saveSettings(void)
{
	if (name()) {
	/*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->setValue("/window x", pos().x());
		configSettings->setValue("/window y", pos().y());
		configSettings->setValue("/window width", size().width());
		configSettings->setValue("/window height", size().height());
		configSettings->writeSizes("/split", split->sizes());
		configSettings->endGroup();
	}
	}*/
}

void ConfigSearchWindow::search(void)
@@ -481,7 +485,8 @@ ConfigMainWindow::ConfigMainWindow(void)
{
	QMenuBar* menu;
	bool ok;
	int x, y, width, height;
	QVariant x, y;
	int width, height;
	char title[256];

	QDesktopWidget *d = configApp->desktop();
@@ -489,16 +494,15 @@ ConfigMainWindow::ConfigMainWindow(void)
		rootmenu.prompt->text,
		""
		);
	setCaption(title);
	setWindowTitle(title);

	width = configSettings->readNumEntry("/window width", d->width() - 64);
	height = configSettings->readNumEntry("/window height", d->height() - 64);
	width = configSettings->value("/window width", d->width() - 64).toInt();
	height = configSettings->value("/window height", d->height() - 64).toInt();
	resize(width, height);
	x = configSettings->readNumEntry("/window x", 0, &ok);
	if (ok)
		y = configSettings->readNumEntry("/window y", 0, &ok);
	if (ok)
		move(x, y);
	x = configSettings->value("/window x");
	y = configSettings->value("/window y");
	if ((x.isValid())&&(y.isValid()))
		move(x.toInt(), y.toInt());

	split1 = new QSplitter(this);
	split1->setOrientation(Qt::Horizontal);
@@ -515,7 +519,7 @@ ConfigMainWindow::ConfigMainWindow(void)
	configList = configView->list;

	helpText = new ConfigInfoView(split2, "help");
	helpText->setTextFormat(Qt::RichText);
	//helpText->setTextFormat(Qt::RichText);

	setTabOrder(configList, helpText);
	configList->setFocus();
@@ -526,7 +530,7 @@ ConfigMainWindow::ConfigMainWindow(void)

	backAction = new QAction(QPixmap(xpm_back), _("Back"), this);
	  connect(backAction, SIGNAL(activated()), SLOT(goBack()));
	  backAction->setEnabled(FALSE);
	  backAction->setEnabled(false);
	QAction *quitAction = new QAction(_("&Quit"), this);
	quitAction->setShortcut(Qt::CTRL + Qt::Key_Q);
	  connect(quitAction, SIGNAL(activated()), SLOT(close()));
@@ -545,31 +549,31 @@ ConfigMainWindow::ConfigMainWindow(void)
	searchAction->setShortcut(Qt::CTRL + Qt::Key_F);
	  connect(searchAction, SIGNAL(activated()), SLOT(searchConfig()));
	singleViewAction = new QAction(QPixmap(xpm_single_view), _("Single View"), this);
	singleViewAction->setCheckable(TRUE);
	singleViewAction->setCheckable(true);
	  connect(singleViewAction, SIGNAL(activated()), SLOT(showSingleView()));
	splitViewAction = new QAction(QPixmap(xpm_split_view), _("Split View"), this);
	splitViewAction->setCheckable(TRUE);
	splitViewAction->setCheckable(true);
	  connect(splitViewAction, SIGNAL(activated()), SLOT(showSplitView()));
	fullViewAction = new QAction(QPixmap(xpm_tree_view), _("Full View"), this);
	fullViewAction->setCheckable(TRUE);
	fullViewAction->setCheckable(true);
	  connect(fullViewAction, SIGNAL(activated()), SLOT(showFullView()));

	QAction *showNameAction = new QAction(_("Show Name"), this);
	  showNameAction->setCheckable(TRUE);
	  showNameAction->setCheckable(true);
	  connect(showNameAction, SIGNAL(toggled(bool)), configView, SLOT(setShowName(bool)));
	  connect(configView, SIGNAL(showNameChanged(bool)), showNameAction, SLOT(setOn(bool)));
	  showNameAction->setChecked(configView->showName());
	QAction *showRangeAction = new QAction(_("Show Range"), this);
	  showRangeAction->setCheckable(TRUE);
	  showRangeAction->setCheckable(true);
	  connect(showRangeAction, SIGNAL(toggled(bool)), configView, SLOT(setShowRange(bool)));
	  connect(configView, SIGNAL(showRangeChanged(bool)), showRangeAction, SLOT(setOn(bool)));
	QAction *showDataAction = new QAction(_("Show Data"), this);
	  showDataAction->setCheckable(TRUE);
	  showDataAction->setCheckable(true);
	  connect(showDataAction, SIGNAL(toggled(bool)), configView, SLOT(setShowData(bool)));
	  connect(configView, SIGNAL(showDataChanged(bool)), showDataAction, SLOT(setOn(bool)));

	QActionGroup *optGroup = new QActionGroup(this);
	optGroup->setExclusive(TRUE);
	optGroup->setExclusive(true);
	connect(optGroup, SIGNAL(selected(QAction *)), configView,
		SLOT(setOptionMode(QAction *)));
	connect(optGroup, SIGNAL(selected(QAction *)), menuView,
@@ -578,12 +582,12 @@ ConfigMainWindow::ConfigMainWindow(void)
	configView->showNormalAction = new QAction(_("Show Normal Options"), optGroup);
	configView->showAllAction = new QAction(_("Show All Options"), optGroup);
	configView->showPromptAction = new QAction(_("Show Prompt Options"), optGroup);
	configView->showNormalAction->setCheckable(TRUE);
	configView->showAllAction->setCheckable(TRUE);
	configView->showPromptAction->setCheckable(TRUE);
	configView->showNormalAction->setCheckable(true);
	configView->showAllAction->setCheckable(true);
	configView->showPromptAction->setCheckable(true);

	QAction *showDebugAction = new QAction( _("Show Debug Info"), this);
	  showDebugAction->setCheckable(TRUE);
	  showDebugAction->setCheckable(true);
	  connect(showDebugAction, SIGNAL(toggled(bool)), helpText, SLOT(setShowDebug(bool)));
	  connect(helpText, SIGNAL(showDebugChanged(bool)), showDebugAction, SLOT(setOn(bool)));
	  showDebugAction->setChecked(helpText->showDebug());
@@ -594,45 +598,41 @@ ConfigMainWindow::ConfigMainWindow(void)
	  connect(showAboutAction, SIGNAL(activated()), SLOT(showAbout()));

	// init tool bar
	backAction->addTo(toolBar);
	toolBar->addAction(backAction);
	toolBar->addSeparator();
	loadAction->addTo(toolBar);
	saveAction->addTo(toolBar);
	toolBar->addAction(loadAction);
	toolBar->addAction(saveAction);
	toolBar->addSeparator();
	singleViewAction->addTo(toolBar);
	splitViewAction->addTo(toolBar);
	fullViewAction->addTo(toolBar);
	toolBar->addAction(singleViewAction);
	toolBar->addAction(splitViewAction);
	toolBar->addAction(fullViewAction);

	// create config menu
	QMenu* config = new QMenu(this);
	menu->insertItem(_("&File"), config);
	loadAction->addTo(config);
	saveAction->addTo(config);
	saveAsAction->addTo(config);
	QMenu* config = menu->addMenu(_("&File"));
	config->addAction(loadAction);
	config->addAction(saveAction);
	config->addAction(saveAsAction);
	config->addSeparator();
	quitAction->addTo(config);
	config->addAction(quitAction);

	// create edit menu
	QMenu* editMenu = new QMenu(this);
	menu->insertItem(_("&Edit"), editMenu);
	searchAction->addTo(editMenu);
	QMenu* editMenu = menu->addMenu(_("&Edit"));
	editMenu->addAction(searchAction);

	// create options menu
	QMenu* optionMenu = new QMenu(this);
	menu->insertItem(_("&Option"), optionMenu);
	showNameAction->addTo(optionMenu);
	showRangeAction->addTo(optionMenu);
	showDataAction->addTo(optionMenu);
	QMenu* optionMenu = menu->addMenu(_("&Option"));
	optionMenu->addAction(showNameAction);
	optionMenu->addAction(showRangeAction);
	optionMenu->addAction(showDataAction);
	optionMenu->addSeparator();
	optGroup->addTo(optionMenu);
	optionMenu->addActions(optGroup->actions());
	optionMenu->addSeparator();

	// create help menu
	QMenu* helpMenu = new QMenu(this);
	menu->addSeparator();
	menu->insertItem(_("&Help"), helpMenu);
	showIntroAction->addTo(helpMenu);
	showAboutAction->addTo(helpMenu);
	QMenu* helpMenu = menu->addMenu(_("&Help"));
	helpMenu->addAction(showIntroAction);
	helpMenu->addAction(showAboutAction);

	connect(configList, SIGNAL(menuChanged(struct menu *)),
		helpText, SLOT(setInfo(struct menu *)));
@@ -654,7 +654,7 @@ ConfigMainWindow::ConfigMainWindow(void)
	connect(helpText, SIGNAL(menuSelected(struct menu *)),
		SLOT(setMenuLink(struct menu *)));

	QString listMode = configSettings->readEntry("/listMode", "symbol");
	QString listMode = configSettings->value("/listMode", "symbol").toString();
	if (listMode == "single")
		showSingleView();
	else if (listMode == "full")
@@ -674,7 +674,7 @@ ConfigMainWindow::ConfigMainWindow(void)

void ConfigMainWindow::loadConfig(void)
{
	QString s = QFileDialog::getOpenFileName(conf_get_configname(), NULL, this);
	QString s = QFileDialog::getOpenFileName(this, "", conf_get_configname());
	if (s.isNull())
		return;
	if (conf_read(QFile::encodeName(s)))
@@ -693,7 +693,7 @@ bool ConfigMainWindow::saveConfig(void)

void ConfigMainWindow::saveConfigAs(void)
{
	QString s = QFileDialog::getSaveFileName(conf_get_configname(), NULL, this);
	QString s = QFileDialog::getSaveFileName(this, "", conf_get_configname());
	if (s.isNull())
		return;
	saveConfig();
@@ -820,14 +820,14 @@ void ConfigMainWindow::showAbout(void)

void ConfigMainWindow::saveSettings(void)
{
	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->setValue("/window x", pos().x());
	configSettings->setValue("/window y", pos().y());
	configSettings->setValue("/window width", size().width());
	configSettings->setValue("/window height", size().height());

	QString entry;

	configSettings->writeEntry("/listMode", entry);
	configSettings->setValue("/listMode", entry);

	configSettings->writeSizes("/split1", split1->sizes());
	configSettings->writeSizes("/split2", split2->sizes());
@@ -859,7 +859,7 @@ static const char *progname;

static void usage(void)
{
	printf(_("%s [-s] <config>\n"), progname);
	printf(_("%s [-s] <config>\n").toLatin1().constData(), progname);
	exit(0);
}

@@ -898,7 +898,6 @@ int main(int ac, char** av)
	v = new ConfigMainWindow();

	//zconfdump(stdout);
	configApp->setMainWidget(v);
	configApp->connect(configApp, SIGNAL(lastWindowClosed()), SLOT(quit()));
	configApp->connect(configApp, SIGNAL(aboutToQuit()), v, SLOT(saveSettings()));
	v->show();
+16 −7
Original line number Diff line number Diff line
@@ -3,9 +3,18 @@
 * Released under the terms of the GNU GPL v2.0.
 */

#include <q3listview.h>
#include <QTextBrowser>
#include <QTreeWidget>
#include <QMainWindow>
#include <QHeaderView>
#include <qsettings.h>
#include <QPushButton>
#include <QSettings>
#include <QLineEdit>
#include <QSplitter>
#include <QCheckBox>
#include <QDialog>
#include "expr.h"

class ConfigView;
class ConfigLineEdit;
@@ -37,11 +46,11 @@ public:
	{
		return (ConfigView*)Parent::parent();
	}
	void show(Q3ListViewItem *i);
	void show(QTreeWidgetItem *i);
	void keyPressEvent(QKeyEvent *e);

public:
	Q3ListViewItem *item;
	QTreeWidgetItem *item;
};

class ConfigView : public QWidget {
@@ -50,7 +59,7 @@ class ConfigView : public QWidget {
public:
	ConfigView(QWidget* parent, const char *name = 0);
	~ConfigView(void);
	static void updateList(Q3ListViewItem* item);
	static void updateList(QTreeWidgetItem* item);
	static void updateListAll(void);

	bool showName(void) const { return false; } // TODO: Implement me.
@@ -66,7 +75,7 @@ signals:
	void showRangeChanged(bool);
	void showDataChanged(bool);
public:
	Q3ListView* list;
	QTreeWidget* list;
	ConfigLineEdit* lineEdit;

	static ConfigView* viewList;
@@ -155,9 +164,9 @@ protected:

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