Index: install.pri
===================================================================
--- install.pri	(revision d8a3826f870afc2e79ce949111e1726c49002f46)
+++ install.pri	(revision d97db6d321923b024598f131891e52ec5ebaffb2)
@@ -95,5 +95,5 @@
 
     share.sources = $$share.files
-    # qmake for Symbian (as of Qt 4.6.2) has a bug: file masks doesn't work, so we need to specify all files manually
+    # qmake for Symbian (as of Qt 4.6.2) has a bug: file masks don't work, so we need to specify all files manually
 #	l10n.sources = $$[QT_INSTALL_TRANSLATIONS]/qt_ru.qm \
 #		$$[QT_INSTALL_TRANSLATIONS]/qt_uk.qm \
Index: resources/handheld.qrc
===================================================================
--- resources/handheld.qrc	(revision d8a3826f870afc2e79ce949111e1726c49002f46)
+++ resources/handheld.qrc	(revision d97db6d321923b024598f131891e52ec5ebaffb2)
@@ -1,18 +1,18 @@
 <RCC>
     <qresource prefix="/images">
-        <file>icons/32x32/application-exit.png</file>
-        <file>icons/32x32/dialog-cancel.png</file>
-        <file>icons/32x32/dialog-ok.png</file>
-        <file>icons/32x32/document-new.png</file>
-        <file>icons/32x32/document-open.png</file>
-        <file>icons/32x32/document-save.png</file>
-        <file>icons/32x32/document-save-as.png</file>
-        <file>icons/32x32/format-text-color.png</file>
-        <file>icons/32x32/go-previous.png</file>
-        <file>icons/32x32/help-about.png</file>
-        <file>icons/32x32/help-hint.png</file>
-        <file>icons/32x32/preferences-desktop-font.png</file>
-        <file>icons/32x32/preferences-system.png</file>
-        <file>icons/32x32/roll.png</file>
+        <file>icons/48x48/application-exit.png</file>
+        <file>icons/48x48/dialog-cancel.png</file>
+        <file>icons/48x48/dialog-ok.png</file>
+        <file>icons/48x48/document-new.png</file>
+        <file>icons/48x48/document-open.png</file>
+        <file>icons/48x48/document-save.png</file>
+        <file>icons/48x48/document-save-as.png</file>
+        <file>icons/48x48/format-text-color.png</file>
+        <file>icons/48x48/go-previous.png</file>
+        <file>icons/48x48/help-about.png</file>
+        <file>icons/48x48/help-hint.png</file>
+        <file>icons/48x48/preferences-desktop-font.png</file>
+        <file>icons/48x48/preferences-system.png</file>
+        <file>icons/48x48/roll.png</file>
     </qresource>
 </RCC>
Index: src/globals.h
===================================================================
--- src/globals.h	(revision d8a3826f870afc2e79ce949111e1726c49002f46)
+++ src/globals.h	(revision d97db6d321923b024598f131891e52ec5ebaffb2)
@@ -143,5 +143,5 @@
 
 #ifdef HANDHELD
-#   define ICON_SIZE "32x32"
+#   define ICON_SIZE "48x48"
 #   define ICON_FORMAT "png"
 #else
Index: src/mainwindow.cpp
===================================================================
--- src/mainwindow.cpp	(revision d8a3826f870afc2e79ce949111e1726c49002f46)
+++ src/mainwindow.cpp	(revision d97db6d321923b024598f131891e52ec5ebaffb2)
@@ -606,4 +606,5 @@
     dlg->setWindowTitle(tr("About %1").arg(QCoreApplication::applicationName()));
     dlg->setWindowIcon(GET_ICON("help-about"));
+
     dlg->setLayout(vb);
 
@@ -715,5 +716,5 @@
             QMessageBox::warning(this, tr("Solution Result"), tr("Unable to find a solution.\nMaybe, this task has no solution."));
         }
-        pd.setLabelText(tr("Cleaning up..."));
+        pd.setLabelText(tr("Memory cleanup..."));
         pd.setMaximum(0);
         pd.setCancelButton(NULL);
@@ -801,5 +802,5 @@
     while ((step->next != SStep::NoNextStep) && (c < spinCities->value())) {
         if (pd.wasCanceled()) {
-            pd.setLabelText(tr("Cleaning up..."));
+            pd.setLabelText(tr("Memory cleanup..."));
             pd.setMaximum(0);
             pd.setCancelButton(NULL);
@@ -934,5 +935,5 @@
         solutionText->moveCursor(QTextCursor::Start);
 
-    pd.setLabelText(tr("Cleaning up..."));
+    pd.setLabelText(tr("Memory cleanup..."));
     pd.setMaximum(0);
     pd.setCancelButton(NULL);
@@ -1106,7 +1107,7 @@
 int r;
     if (settings->value("Output/HQGraph", DEF_HQ_GRAPH).toBool())
-        r = 70;
+        r = logicalDpiX() / 1.27;
     else
-        r = 35;
+        r = logicalDpiX() / 2.54;
 qreal x, y;
     if (step != NULL)
Index: src/tspmodel.cpp
===================================================================
--- src/tspmodel.cpp	(revision d8a3826f870afc2e79ce949111e1726c49002f46)
+++ src/tspmodel.cpp	(revision d97db6d321923b024598f131891e52ec5ebaffb2)
@@ -376,9 +376,9 @@
         return false;
     else if (status == QDataStream::ReadPastEnd)
-        err = tr("Unexpected end of file.");
+        err = tr("Unexpected end of file. The file could be corrupted.");
     else if (status == QDataStream::ReadCorruptData)
-        err = tr("Corrupt data read. File possibly corrupted.");
+        err = tr("Corrupt data read. The file could be corrupted.");
     else
-        err = tr("Unknown error.");
+        err = tr("Unknown error. The file could be corrupted.");
     QApplication::restoreOverrideCursor();
     QApplication::setOverrideCursor(QCursor(Qt::ArrowCursor));
@@ -402,5 +402,8 @@
         QApplication::restoreOverrideCursor();
         QApplication::setOverrideCursor(QCursor(Qt::ArrowCursor));
-        QMessageBox::critical(QApplication::activeWindow(), tr("Task Load"), tr("Unable to load task:") + "\n" + tr("File version is newer than application supports.\nPlease, try to update application."));
+        QMessageBox::critical(QApplication::activeWindow(), tr("Task Load"), tr("Unable to load task:") + "\n"
+            + tr("File version (%1) is newer than this version of %3 supports (%2).\n"
+                 "Please, try to update the application. Also, the file might be corrupted.")
+                 .arg(version).arg(TSPT_VERSION).arg(QApplication::applicationName()));
         QApplication::restoreOverrideCursor();
         return false;
@@ -415,8 +418,19 @@
     if (loadError(ds->status()))
         return false;
-    if ((size < 3) || (size > MAX_NUM_CITIES)) {
-        QApplication::restoreOverrideCursor();
-        QApplication::setOverrideCursor(QCursor(Qt::ArrowCursor));
-        QMessageBox::critical(QApplication::activeWindow(), tr("Task Load"), tr("Unable to load task:") + "\n" + tr("Unexpected data read.\nFile is possibly corrupted."));
+    if (size < 3) {
+        QApplication::restoreOverrideCursor();
+        QApplication::setOverrideCursor(QCursor(Qt::ArrowCursor));
+        QMessageBox::critical(QApplication::activeWindow(), tr("Task Load"), tr("Unable to load task:") + "\n"
+            + tr("Unexpected data read. The file could be corrupted."));
+        QApplication::restoreOverrideCursor();
+        return false;
+    }
+    if (size > MAX_NUM_CITIES) {
+        QApplication::restoreOverrideCursor();
+        QApplication::setOverrideCursor(QCursor(Qt::ArrowCursor));
+        QMessageBox::critical(QApplication::activeWindow(), tr("Task Load"), tr("Unable to load task:") + "\n"
+            + tr("The task contains more cities (%1) than this version of %3 supports (%2).\n"
+                 "You might be using an old version of the application or the file could be corrupted.")
+                 .arg(size).arg(MAX_NUM_CITIES).arg(QApplication::applicationName()));
         QApplication::restoreOverrideCursor();
         return false;
@@ -458,5 +472,8 @@
         QApplication::restoreOverrideCursor();
         QApplication::setOverrideCursor(QCursor(Qt::ArrowCursor));
-        QMessageBox::critical(QApplication::activeWindow(), tr("Task Load"), tr("Unable to load task:") + "\n" + tr("File version is newer than application supports.\nPlease, try to update application."));
+        QMessageBox::critical(QApplication::activeWindow(), tr("Task Load"), tr("Unable to load task:") + "\n"
+            + tr("File version (%1) is newer than this version of %3 supports (%2).\n"
+                 "Please, try to update the application. Also, the file could be corrupted.")
+                 .arg(version).arg(TSPT_VERSION).arg(QApplication::applicationName()));
         QApplication::restoreOverrideCursor();
         return false;
@@ -470,5 +487,6 @@
         QApplication::restoreOverrideCursor();
         QApplication::setOverrideCursor(QCursor(Qt::ArrowCursor));
-        QMessageBox::critical(QApplication::activeWindow(), tr("Task Load"), tr("Unable to load task:") + "\n" + tr("Unexpected data read.\nFile is possibly corrupted."));
+        QMessageBox::critical(QApplication::activeWindow(), tr("Task Load"), tr("Unable to load task:") + "\n"
+            + tr("Unexpected data read. The file could be corrupted."));
         QApplication::restoreOverrideCursor();
         return false;
Index: tspsg.pro
===================================================================
--- tspsg.pro	(revision d8a3826f870afc2e79ce949111e1726c49002f46)
+++ tspsg.pro	(revision d97db6d321923b024598f131891e52ec5ebaffb2)
@@ -29,5 +29,5 @@
 QMAKE_TARGET_PRODUCT = TSP Solver and Generator
 QMAKE_TARGET_DESCRIPTION = TSPSG: TSP Solver and Generator
-QMAKE_TARGET_COPYRIGHT = Copyright © 2010-2011 Oleksii "Lёppa" Serdiuk <contacts[at]oleksii[dot]name>
+QMAKE_TARGET_COPYRIGHT = Copyright © 2007-2011 Oleksii "Lёppa" Serdiuk <contacts[at]oleksii[dot]name>
 
 # Versioning
@@ -66,5 +66,5 @@
 macx {
     PRL = $$[QT_INSTALL_LIBS] QtCore.framework QtCore.prl
-} else:symbian|maemo* {
+} else:symbian|maemo*|simulator {
     # Nothing here
 } else:unix {
