Date:2010-09-08 14:31:52 (13 years 6 months ago)
Author:nielsk
Commit:4e98efe5a5bb436fd8f43189c94c7278788ebcfe
Message:move handling of application parameters to main.cpp

Files: main.cpp (1 diff)
mainwidget.cpp (4 diffs)
mainwidget.h (1 diff)

Change Details

main.cpp
2424int main(int argc, char *argv[])
2525{
2626    QApplication a(argc, argv);
27
2728    MainWidget w;
29
30    if (QApplication::arguments().count() > 1) {
31        w.loadGpx(QApplication::arguments().at(1));
32    }
33
34    QObject::connect(&w, SIGNAL(close()), &a, SLOT(quit()));
2835    w.show();
36
2937    return a.exec();
3038}
39
mainwidget.cpp
4242    m_dlWidget(new DownloadWidget(this)),
4343    m_routingWidget(new RoutingWidget(this))
4444{
45    QString fileName;
46    if (QApplication::arguments().count() > 1) {
47        fileName = QApplication::arguments().at(1);
48    }
49
5045    QHBoxLayout *layout = new QHBoxLayout(this);
5146    layout->setContentsMargins(0, 0, 0, 0);
5247    layout->addWidget(m_stack);
...... 
5954    l->setVisible(false);
6055    m_map->addLayer(l, 4);
6156
62    if (fileName.endsWith(".gpx")) {
63        l = new GpxLayer(m_map);
64        l->load(fileName);
65        m_map->addLayer(l, 2);
66    }
67
6857    l = new MarkerLayer(m_map);
6958    connect(l, SIGNAL(markerAdded(QString)), m_markerList, SLOT(addMarker(QString)));
7059    connect(m_markerList, SIGNAL(centerOnMarker(int)), l, SLOT(centerOnMarker(int)));
...... 
7665    l = new GpsLayer(m_map);
7766    m_map->addLayer(l, 1);
7867
68    connect(m_map, SIGNAL(close()), this, SIGNAL(close()));
7969    connect(m_map, SIGNAL(showMarkerList()), this, SLOT(showList()));
8070    connect(m_map, SIGNAL(downloadArea(int, QRectF)), this, SLOT(downloadArea(int, QRectF)));
8171    connect(m_map, SIGNAL(route(QPointF, QPointF)), this, SLOT(findRoute(QPointF, QPointF)));
...... 
9888{
9989}
10090
91void MainWidget::loadGpx(const QString &fileName)
92{
93    if (fileName.endsWith(".gpx")) {
94        AbstractLayer *l = new GpxLayer(m_map);
95        l->load(fileName);
96        m_map->addLayer(l, 2);
97    }
98}
99
101100void MainWidget::showList()
102101{
103102    m_stack->setCurrentIndex(1);
mainwidget.h
3636    MainWidget(QWidget *parent = 0);
3737    ~MainWidget();
3838
39    void loadGpx(const QString &fileName);
40
41signals:
42    void close();
43
3944private slots:
4045    void showList();
4146    void markerAdded(const QString &name);

Archive Download the corresponding diff file

Branches:
master



interactive