Index: src/mainwindow.cpp
===================================================================
--- src/mainwindow.cpp	(revision e51c78af27d371cf77dc64bc51dd4c7843478692)
+++ src/mainwindow.cpp	(revision e3533af1cf95647c31765c2f4060b7f1dfe757f4)
@@ -36,4 +36,12 @@
 	settings = new QSettings(QSettings::IniFormat, QSettings::UserScope, "TSPSG", "tspsg", this);
 
+	if (settings->contains("Style")) {
+QStyle *s = QStyleFactory::create(settings->value("Style").toString());
+		if (s != NULL)
+			QApplication::setStyle(s);
+		else
+			settings->remove("Style");
+	}
+
 	loadLanguage();
 	setupUi();
@@ -66,4 +74,6 @@
 	connect(actionSettingsLanguageAutodetect, SIGNAL(triggered(bool)), SLOT(actionSettingsLanguageAutodetectTriggered(bool)));
 	connect(groupSettingsLanguageList, SIGNAL(triggered(QAction *)), SLOT(groupSettingsLanguageListTriggered(QAction *)));
+	connect(actionSettingsStyleSystem, SIGNAL(triggered(bool)), SLOT(actionSettingsStyleSystemTriggered(bool)));
+	connect(groupSettingsStyleList, SIGNAL(triggered(QAction*)), SLOT(groupSettingsStyleListTriggered(QAction*)));
 	connect(actionHelpAboutQt, SIGNAL(triggered()), qApp, SLOT(aboutQt()));
 	connect(actionHelpAbout, SIGNAL(triggered()), SLOT(actionHelpAboutTriggered()));
@@ -337,5 +347,5 @@
 	if (checked) {
 		settings->remove("Language");
-		QMessageBox::information(this, tr("Language change"), tr("Language will be autodetected on the next application start."));
+		QMessageBox::information(this, tr("Language change"), tr("Language will be autodetected on the next %1 start.").arg(QApplication::applicationName()));
 	} else
 		settings->setValue("Language", groupSettingsLanguageList->checkedAction()->data().toString());
@@ -367,4 +377,24 @@
 		if (!solutionText->document()->isEmpty())
 			QMessageBox::information(this, tr("Settings Changed"), tr("You have changed the application language.\nTo get current solution output in the new language\nyou need to re-run the solution process."));
+	}
+}
+
+void MainWindow::actionSettingsStyleSystemTriggered(bool checked)
+{
+	if (checked) {
+		settings->remove("Style");
+		QMessageBox::information(this, tr("Style Change"), tr("To apply the default style you need to restart %1.").arg(QApplication::applicationName()));
+	} else {
+		settings->setValue("Style", groupSettingsStyleList->checkedAction()->text());
+	}
+}
+
+void MainWindow::groupSettingsStyleListTriggered(QAction *action)
+{
+QStyle *s = QStyleFactory::create(action->text());
+	if (s != NULL) {
+		QApplication::setStyle(s);
+		settings->setValue("Style", action->text());
+		actionSettingsStyleSystem->setChecked(false);
 	}
 }
@@ -443,5 +473,5 @@
 	lblTitle->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
 #ifndef HANDHELD
-	lblTitle->setStyleSheet(QString("QLabel {background-color: %1; border-color: %2; border-width: 1px; border-style: solid; border-radius: 3px;}").arg(palette().window().color().name(), palette().shadow().color().name()));
+	lblTitle->setStyleSheet(QString("QLabel {background-color: %1; border-color: %2; border-width: 1px; border-style: solid; border-radius: 4px; padding: 1px;}").arg(palette().alternateBase().color().name(), palette().shadow().color().name()));
 #endif // HANDHELD
 
@@ -449,5 +479,5 @@
 	lblIcon->setAlignment(Qt::AlignVCenter);
 #ifndef HANDHELD
-	lblIcon->setStyleSheet(QString("QLabel {background-color: %1; border-color: %2; border-width: 1px; border-style: solid; border-radius: 3px;}").arg(palette().window().color().name(), palette().windowText().color().name()));
+	lblIcon->setStyleSheet(QString("QLabel {background-color: white; border-color: %1; border-width: 1px; border-style: solid; border-radius: 4px; padding: 1px;}").arg(palette().windowText().color().name()));
 #endif // HANDHELD
 
@@ -460,5 +490,5 @@
 	txtAbout->moveCursor(QTextCursor::Start);
 #ifndef HANDHELD
-	txtAbout->setStyleSheet(QString("QTextBrowser {border-color: %1; border-width: 1px; border-style: solid; border-radius: 3px;}").arg(palette().shadow().color().name()));
+	txtAbout->setStyleSheet(QString("QTextBrowser {background-color: %1; border-color: %2; border-width: 1px; border-style: solid; border-radius: 4px; padding: 1px;}").arg(palette().base().color().name(), palette().shadow().color().name()));
 #endif // HANDHELD
 
@@ -471,5 +501,5 @@
 		lblTranslated->setOpenExternalLinks(true);
 #ifndef HANDHELD
-		lblTranslated->setStyleSheet(QString("QLabel {background-color: %1; border-color: %2; border-width: 1px; border-style: solid; border-radius: 3px;}").arg(palette().window().color().name(), palette().shadow().color().name()));
+		lblTranslated->setStyleSheet(QString("QLabel {background-color: %1; border-color: %2; border-width: 1px; border-style: solid; border-radius: 3px; padding: 1px;}").arg(palette().alternateBase().color().name(), palette().shadow().color().name()));
 #endif // HANDHELD
 		hb2->addWidget(lblTranslated);
@@ -489,5 +519,5 @@
 
 	dlg->setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint | Qt::WindowCloseButtonHint);
-	dlg->setWindowTitle(tr("About TSPSG"));
+	dlg->setWindowTitle(tr("About %1").arg(QApplication::applicationName()));
 	dlg->setLayout(vb);
 
@@ -942,5 +972,5 @@
 			name = t.translate("--------", "LANGNAME", "Please, provide a native name of your translation language here.");
 			a = menuSettingsLanguage->addAction(name);
-			a->setStatusTip(tr("Set application language to %1").arg(name));
+			a->setStatusTip(t.translate("MainWindow", "Set application language to %1", "").arg(name));
 			a->setData(lang.completeBaseName().mid(6));
 			a->setCheckable(true);
@@ -1011,4 +1041,25 @@
 	}
 	return true;
+}
+
+void MainWindow::loadStyleList()
+{
+	menuSettingsStyle->clear();
+QStringList styles = QStyleFactory::keys();
+	menuSettingsStyle->insertAction(NULL, actionSettingsStyleSystem);
+	actionSettingsStyleSystem->setChecked(!settings->contains("Style"));
+	menuSettingsStyle->addSeparator();
+QAction *a;
+	foreach (QString style, styles) {
+		a = menuSettingsStyle->addAction(style);
+		a->setData(false);
+		a->setStatusTip(tr("Set application style to %1").arg(style));
+		a->setCheckable(true);
+		a->setActionGroup(groupSettingsStyleList);
+		if ((style == settings->value("Style").toString())
+			|| QString(QApplication::style()->metaObject()->className()).contains(QRegExp(QString("^Q?%1(Style)?$").arg(QRegExp::escape(style)), Qt::CaseInsensitive))) {
+			a->setChecked(true);
+		}
+	}
 }
 
@@ -1079,4 +1130,6 @@
 	if (all)
 		Ui::MainWindow::retranslateUi(this);
+
+	loadStyleList();
 
 	actionSettingsLanguageEnglish->setStatusTip(tr("Set application language to %1").arg("English"));
@@ -1197,4 +1250,13 @@
 	menuSettings->insertSeparator(actionSettingsPreferences);
 
+	groupSettingsLanguageList = new QActionGroup(this);
+	actionSettingsLanguageEnglish->setData("en");
+	actionSettingsLanguageEnglish->setActionGroup(groupSettingsLanguageList);
+	loadLangList();
+	actionSettingsLanguageAutodetect->setChecked(settings->value("Language", "").toString().isEmpty());
+
+	actionSettingsStyleSystem->setData(true);
+	groupSettingsStyleList = new QActionGroup(this);
+
 #ifdef Q_OS_WIN32
 	actionHelpCheck4Updates = new QAction(this);
@@ -1203,10 +1265,4 @@
 	menuHelp->insertSeparator(actionHelpAboutQt);
 #endif // Q_OS_WIN32
-
-	groupSettingsLanguageList = new QActionGroup(this);
-	actionSettingsLanguageEnglish->setData("en");
-	actionSettingsLanguageEnglish->setActionGroup(groupSettingsLanguageList);
-	loadLangList();
-	actionSettingsLanguageAutodetect->setChecked(settings->value("Language", "").toString().isEmpty());
 
 	spinCities->setMaximum(MAX_NUM_CITIES);
Index: src/mainwindow.h
===================================================================
--- src/mainwindow.h	(revision e51c78af27d371cf77dc64bc51dd4c7843478692)
+++ src/mainwindow.h	(revision e3533af1cf95647c31765c2f4060b7f1dfe757f4)
@@ -64,4 +64,6 @@
 	void actionSettingsLanguageAutodetectTriggered(bool checked);
 	void groupSettingsLanguageListTriggered(QAction *action);
+	void actionSettingsStyleSystemTriggered(bool checked);
+	void groupSettingsStyleListTriggered(QAction *action);
 #ifdef Q_OS_WIN32
 	void actionHelpCheck4UpdatesTriggered();
@@ -88,4 +90,5 @@
 	QString fileName;
 	QActionGroup *groupSettingsLanguageList;
+	QActionGroup *groupSettingsStyleList;
 #ifndef QT_NO_PRINTER
 	QPrinter *printer;
@@ -122,4 +125,5 @@
 	void loadLangList();
 	bool loadLanguage(const QString &lang = QString());
+	void loadStyleList();
 	bool maybeSave();
 	void outputMatrix(QTextCursor &cur, const TMatrix &matrix);
