1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2024-10-06 06:43:22 +02:00

GUI polishing, bug fixing and code cleanup

This commit is contained in:
Martin Tůma 2015-10-22 00:05:45 +02:00
parent 2248b9b036
commit 1e28bdd108
7 changed files with 53 additions and 29 deletions

View File

@ -8,4 +8,6 @@
#define FONT_FAMILY "Arial" #define FONT_FAMILY "Arial"
#define FONT_SIZE 12 #define FONT_SIZE 12
#define THIN_SPACE QString::fromUtf8("\xE2\x80\x89")
#endif /* CONFIG_H */ #endif /* CONFIG_H */

View File

@ -1,4 +1,5 @@
#include <float.h> #include <float.h>
#include "config.h"
#include "elevationgraph.h" #include "elevationgraph.h"
ElevationGraph::ElevationGraph(QWidget *parent) : Graph(parent) ElevationGraph::ElevationGraph(QWidget *parent) : Graph(parent)
@ -48,13 +49,13 @@ void ElevationGraph::loadGPX(const GPX &gpx)
_min = qMin(_min, min); _min = qMin(_min, min);
addInfo(tr("Ascent"), QString::number(_ascent, 'f', 0) addInfo(tr("Ascent"), QString::number(_ascent, 'f', 0)
+ QString::fromUtf8("\u2009") + _yUnits); + THIN_SPACE + _yUnits);
addInfo(tr("Descent"), QString::number(_descent, 'f', 0) addInfo(tr("Descent"), QString::number(_descent, 'f', 0)
+ QString::fromUtf8("\u2009") + _yUnits); + THIN_SPACE + _yUnits);
addInfo(tr("Maximum"), QString::number(_max, 'f', 0) addInfo(tr("Maximum"), QString::number(_max, 'f', 0)
+ QString::fromUtf8("\u2009") + _yUnits); + THIN_SPACE + _yUnits);
addInfo(tr("Minimum"), QString::number(_min, 'f', 0) addInfo(tr("Minimum"), QString::number(_min, 'f', 0)
+ QString::fromUtf8("\u2009") + _yUnits); + THIN_SPACE + _yUnits);
Graph::loadData(data); Graph::loadData(data);
} }

View File

@ -49,7 +49,7 @@ static QVector<QPointF> eliminate(const QVector<QPointF> &v, int window)
QList<int>::const_iterator it = rm.begin(); QList<int>::const_iterator it = rm.begin();
for (int i = 0; i < v.size(); i++) { for (int i = 0; i < v.size(); i++) {
if (*it != i) if (it == rm.end() || *it != i)
ret.append(v.at(i)); ret.append(v.at(i));
else else
it++; it++;

View File

@ -88,7 +88,7 @@ void GUI::createActions()
_aboutAction = new QAction(QIcon(QPixmap(APP_ICON)), _aboutAction = new QAction(QIcon(QPixmap(APP_ICON)),
tr("About GPXSee"), this); tr("About GPXSee"), this);
connect(_aboutAction, SIGNAL(triggered()), this, SLOT(about())); connect(_aboutAction, SIGNAL(triggered()), this, SLOT(about()));
_aboutQtAction = new QAction(tr("About Qt"), this); _aboutQtAction = new QAction(QIcon(QPixmap(QT_ICON)), tr("About Qt"), this);
connect(_aboutQtAction, SIGNAL(triggered()), qApp, SLOT(aboutQt())); connect(_aboutQtAction, SIGNAL(triggered()), qApp, SLOT(aboutQt()));
// File related actions // File related actions
@ -209,24 +209,37 @@ void GUI::createStatusBar()
void GUI::about() void GUI::about()
{ {
QMessageBox::about(this, tr("About GPXSee"), QMessageBox msgBox(this);
QString("<h3>") + QString(APP_NAME" "APP_VERSION)
+ QString("</h3><p>") + tr("GPX viewer and analyzer") + QString("<p/>") msgBox.setWindowTitle(tr("About GPXSee"));
+ QString("<p>") + tr("GPXSee is distributed under the terms of the " msgBox.setText(QString("<h3>") + QString(APP_NAME" "APP_VERSION)
"GNU General Public License version 3. For more info about GPXSee visit " + QString("</h3><p>") + tr("GPX viewer and analyzer") + QString("<p/>"));
"the project homepage at ") msgBox.setInformativeText(QString("<table width=\"300\"><tr><td>")
+ QString("<a href=\""APP_HOMEPAGE"\">"APP_HOMEPAGE"</a>.</p>")); + tr("GPXSee is distributed under the terms of the GNU General Public "
"License version 3. For more info about GPXSee visit the project "
"homepage at ") + QString("<a href=\""APP_HOMEPAGE"\">"APP_HOMEPAGE
"</a>.</td></tr></table>"));
QIcon icon = msgBox.windowIcon();
QSize size = icon.actualSize(QSize(64, 64));
msgBox.setIconPixmap(icon.pixmap(size));
msgBox.exec();
} }
void GUI::keys() void GUI::keys()
{ {
QMessageBox msgBox(this); QMessageBox msgBox(this);
msgBox.setText(QString("<h3>") + tr("Keyboard controls") + QString("</h3>")
+ QString("<div><table><tr><td width=\"120\">") + tr("Next file") msgBox.setWindowTitle(tr("Keyboard controls"));
msgBox.setText(QString("<h3>") + tr("Keyboard controls") + QString("</h3>"));
msgBox.setInformativeText(
QString("<div><table width=\"300\"><tr><td>") + tr("Next file")
+ QString("</td><td><i>SPACE</i></td></tr><tr><td>") + tr("Previous file") + QString("</td><td><i>SPACE</i></td></tr><tr><td>") + tr("Previous file")
+ QString("</td><td><i>BACKSPACE</i></td></tr><tr><td>") + QString("</td><td><i>BACKSPACE</i></td></tr><tr><td>")
+ tr("Append modifier") + QString("</td><td><i>SHIFT</i></td></tr>" + tr("Append modifier") + QString("</td><td><i>SHIFT</i></td></tr>"
"</table></div>")); "</table></div>"));
msgBox.exec(); msgBox.exec();
} }
@ -328,16 +341,16 @@ void GUI::saveFile(const QString &fileName)
QGraphicsScene scene; QGraphicsScene scene;
InfoItem info; InfoItem info;
info.insert(tr("Distance"), QString::number(_distance / 1000, 'f', 1) info.insert(tr("Distance"), QString::number(_distance / 1000, 'f', 1)
+ QString::fromUtf8("\u2009") + tr("km")); + THIN_SPACE + tr("km"));
info.insert(tr("Time"), timeSpan(_time)); info.insert(tr("Time"), timeSpan(_time));
info.insert(tr("Ascent"), QString::number(_elevationGraph->ascent(), 'f', 0) info.insert(tr("Ascent"), QString::number(_elevationGraph->ascent(), 'f', 0)
+ QString::fromUtf8("\u2009") + tr("m")); + THIN_SPACE + tr("m"));
info.insert(tr("Descent"), QString::number(_elevationGraph->descent(), 'f', info.insert(tr("Descent"), QString::number(_elevationGraph->descent(), 'f',
0) + QString::fromUtf8("\u2009") + tr("m")); 0) + THIN_SPACE + tr("m"));
info.insert(tr("Maximum"), QString::number(_elevationGraph->max(), 'f', 0) info.insert(tr("Maximum"), QString::number(_elevationGraph->max(), 'f', 0)
+ QString::fromUtf8("\u2009") + tr("m")); + THIN_SPACE + tr("m"));
info.insert(tr("Minimum"), QString::number(_elevationGraph->min(), 'f', 0) info.insert(tr("Minimum"), QString::number(_elevationGraph->min(), 'f', 0)
+ QString::fromUtf8("\u2009") + tr("m")); + THIN_SPACE + tr("m"));
scene.addItem(&info); scene.addItem(&info);
scene.render(&p, QRectF(0, 0, printer.width(), 200)); scene.render(&p, QRectF(0, 0, printer.width(), 200));

View File

@ -1,6 +1,8 @@
#ifndef ICONS_H #ifndef ICONS_H
#define ICONS_H #define ICONS_H
#include <QtGlobal>
#define APP_ICON ":/icons/gpxsee.png" #define APP_ICON ":/icons/gpxsee.png"
#define OPEN_FILE_ICON ":/icons/document-open.png" #define OPEN_FILE_ICON ":/icons/document-open.png"
#define SAVE_FILE_ICON ":/icons/document-save.png" #define SAVE_FILE_ICON ":/icons/document-save.png"
@ -10,4 +12,10 @@
#define QUIT_ICON ":/icons/application-exit.png" #define QUIT_ICON ":/icons/application-exit.png"
#define RELOAD_FILE_ICON ":/icons/view-refresh.png" #define RELOAD_FILE_ICON ":/icons/view-refresh.png"
#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
#define QT_ICON ":/trolltech/qmessagebox/images/qtlogo-64.png"
#else
#define QT_ICON ":/qt-project.org/qmessagebox/images/qtlogo-64.png"
#endif
#endif /* ICONS_H */ #endif /* ICONS_H */

View File

@ -219,8 +219,6 @@ public:
StackElement m_stack[MAX_STACK]; ///< Stack as we are doing iteration instead of recursion StackElement m_stack[MAX_STACK]; ///< Stack as we are doing iteration instead of recursion
int m_tos; ///< Top Of Stack index int m_tos; ///< Top Of Stack index
friend RTree; // Allow hiding of non-public functions while allowing manipulation by logical owner
}; };
/// Get 'first' for iteration /// Get 'first' for iteration

View File

@ -1,7 +1,9 @@
#include "config.h"
#include "speedgraph.h" #include "speedgraph.h"
#include <QDebug> #include <QDebug>
SpeedGraph::SpeedGraph(QWidget *parent) : Graph(parent) SpeedGraph::SpeedGraph(QWidget *parent) : Graph(parent)
{ {
_max = 0; _max = 0;
@ -33,9 +35,9 @@ void SpeedGraph::loadGPX(const GPX &gpx)
addInfo(tr("Average"), QString::number(avg() * _yScale, 'f', 1) addInfo(tr("Average"), QString::number(avg() * _yScale, 'f', 1)
+ QString::fromUtf8("\u2009") + _yUnits); + THIN_SPACE + _yUnits);
addInfo(tr("Maximum"), QString::number(_max * _yScale, 'f', 1) addInfo(tr("Maximum"), QString::number(_max * _yScale, 'f', 1)
+ QString::fromUtf8("\u2009") + _yUnits); + THIN_SPACE + _yUnits);
Graph::loadData(data); Graph::loadData(data);
} }