mirror of
git://projects.qi-hardware.com/nanomap.git
synced 2024-11-22 00:13:10 +02:00
add download of poi to download widget
This commit is contained in:
parent
2cf2695997
commit
d7480d3442
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010 Niels Kummerfeldt <niels.kummerfeldt@tu-harburg.de>
|
* Copyright 2010-2011 Niels Kummerfeldt <niels.kummerfeldt@tu-harburg.de>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -24,14 +24,19 @@
|
|||||||
#include <QtCore/QDebug>
|
#include <QtCore/QDebug>
|
||||||
#include <QtCore/QDir>
|
#include <QtCore/QDir>
|
||||||
#include <QtCore/QFile>
|
#include <QtCore/QFile>
|
||||||
|
#include <QtCore/QSettings>
|
||||||
#include <QtGui/QLayout>
|
#include <QtGui/QLayout>
|
||||||
#include <QtGui/QPushButton>
|
|
||||||
#include <QtNetwork/QNetworkReply>
|
#include <QtNetwork/QNetworkReply>
|
||||||
#include <QtNetwork/QNetworkRequest>
|
#include <QtNetwork/QNetworkRequest>
|
||||||
|
|
||||||
DownloadWidget::DownloadWidget(QWidget *parent)
|
DownloadWidget::DownloadWidget(QWidget *parent)
|
||||||
: QWidget(parent),
|
: QWidget(parent),
|
||||||
m_manager(new QNetworkAccessManager(this)),
|
m_manager(new QNetworkAccessManager(this)),
|
||||||
|
m_downloadMode(Tiles),
|
||||||
|
m_tabWidget(new QTabWidget(this)),
|
||||||
|
m_dlProgress(new QProgressBar(this)),
|
||||||
|
m_startButton(new QPushButton("&Start", this)),
|
||||||
|
m_backButton(new QPushButton("&Back", this)),
|
||||||
m_startLevel(0),
|
m_startLevel(0),
|
||||||
m_dlRect(),
|
m_dlRect(),
|
||||||
m_dlList(),
|
m_dlList(),
|
||||||
@ -41,12 +46,30 @@ DownloadWidget::DownloadWidget(QWidget *parent)
|
|||||||
m_right(new QLabel("E 0", this)),
|
m_right(new QLabel("E 0", this)),
|
||||||
m_bottom(new QLabel("N 0", this)),
|
m_bottom(new QLabel("N 0", this)),
|
||||||
m_levelSpinBox(new QSpinBox(this)),
|
m_levelSpinBox(new QSpinBox(this)),
|
||||||
m_dlProgress(new QProgressBar(this)),
|
|
||||||
m_prefixInput(new QLineEdit(this)),
|
m_prefixInput(new QLineEdit(this)),
|
||||||
m_skipExisting(new QCheckBox("S&kip already downloaded tiles", this))
|
m_skipExisting(new QCheckBox("S&kip already downloaded tiles", this)),
|
||||||
|
m_poiType(new QComboBox(this)),
|
||||||
|
m_makePOILayer(new QCheckBox("&Load file after download", this)),
|
||||||
|
m_destFilename(new QLineEdit(QDir::homePath()+"/pois.osm", this))
|
||||||
{
|
{
|
||||||
QGridLayout *layout = new QGridLayout(this);
|
QGridLayout *layout = new QGridLayout(this);
|
||||||
layout->setContentsMargins(0, 0, 0, 0);
|
layout->setContentsMargins(0, 0, 0, 0);
|
||||||
|
layout->setRowStretch(0, 1);
|
||||||
|
|
||||||
|
layout->addWidget(m_tabWidget, 0, 0, 1, 2);
|
||||||
|
|
||||||
|
m_dlProgress->hide();
|
||||||
|
layout->addWidget(m_dlProgress, 1, 0, 1, 2);
|
||||||
|
|
||||||
|
connect(m_startButton, SIGNAL(clicked()), this, SLOT(startDownload()));
|
||||||
|
layout->addWidget(m_startButton, 2, 0);
|
||||||
|
|
||||||
|
connect(m_backButton, SIGNAL(clicked()), this, SIGNAL(back()));
|
||||||
|
layout->addWidget(m_backButton, 2, 1);
|
||||||
|
|
||||||
|
QWidget *widget = new QWidget(this);
|
||||||
|
layout = new QGridLayout(widget);
|
||||||
|
layout->setContentsMargins(0, 0, 0, 0);
|
||||||
layout->setRowStretch(1, 1);
|
layout->setRowStretch(1, 1);
|
||||||
|
|
||||||
m_up->setAlignment(Qt::AlignHCenter);
|
m_up->setAlignment(Qt::AlignHCenter);
|
||||||
@ -77,17 +100,48 @@ DownloadWidget::DownloadWidget(QWidget *parent)
|
|||||||
m_skipExisting->setChecked(false);
|
m_skipExisting->setChecked(false);
|
||||||
layout->addWidget(m_skipExisting, 5, 0, 1, 0);
|
layout->addWidget(m_skipExisting, 5, 0, 1, 0);
|
||||||
|
|
||||||
m_dlProgress->hide();
|
m_tabWidget->addTab(widget, "&Tiles");
|
||||||
m_dlProgress->setFormat("%v / %m");
|
|
||||||
layout->addWidget(m_dlProgress, 6, 0, 1, 4);
|
|
||||||
|
|
||||||
QPushButton *start = new QPushButton("&Start", this);
|
widget = new QWidget(this);
|
||||||
connect(start, SIGNAL(clicked()), this, SLOT(startDownload()));
|
layout = new QGridLayout(widget);
|
||||||
layout->addWidget(start, 7, 0, 1, 2);
|
layout->setContentsMargins(0, 0, 0, 0);
|
||||||
|
layout->setRowStretch(1, 1);
|
||||||
|
|
||||||
QPushButton *back = new QPushButton("&Back", this);
|
label = new QLabel("Type:", this);
|
||||||
connect(back, SIGNAL(clicked()), this, SIGNAL(back()));
|
layout->addWidget(label, 0, 0);
|
||||||
layout->addWidget(back, 7, 2, 1, 2);
|
|
||||||
|
QSettings set(QDir::homePath()+"/Maps/nanomap.conf", QSettings::NativeFormat);
|
||||||
|
set.beginGroup("poi");
|
||||||
|
QString iconPath = set.value("iconpath", "/usr/share/NanoMap/icons").toString();
|
||||||
|
set.endGroup();
|
||||||
|
QDir iconDir(iconPath);
|
||||||
|
QStringList icons = iconDir.entryList(QStringList() << "*.png");
|
||||||
|
foreach (const QString &icon, icons) {
|
||||||
|
QString name = icon;
|
||||||
|
name.remove(".png");
|
||||||
|
m_poiType->addItem(QIcon(iconPath+"/"+icon), name);
|
||||||
|
}
|
||||||
|
layout->addWidget(m_poiType, 0, 1, 1, 3);
|
||||||
|
|
||||||
|
m_makePOILayer->setChecked(true);
|
||||||
|
layout->addWidget(m_makePOILayer , 2, 0, 1, 4);
|
||||||
|
|
||||||
|
label = new QLabel("Save to:", this);
|
||||||
|
layout->addWidget(label , 3, 0);
|
||||||
|
|
||||||
|
layout->addWidget(m_destFilename, 3, 1, 1, 3);
|
||||||
|
|
||||||
|
m_tabWidget->addTab(widget, "&Points of Interest");
|
||||||
|
|
||||||
|
widget = new QWidget(this);
|
||||||
|
layout = new QGridLayout(widget);
|
||||||
|
layout->setContentsMargins(0, 0, 0, 0);
|
||||||
|
|
||||||
|
label = new QLabel("TODO", this);
|
||||||
|
label->setAlignment(Qt::AlignCenter);
|
||||||
|
layout->addWidget(label, 0, 0);
|
||||||
|
|
||||||
|
m_tabWidget->addTab(widget, "&Routing data");
|
||||||
|
|
||||||
connect(m_manager, SIGNAL(finished(QNetworkReply*)),
|
connect(m_manager, SIGNAL(finished(QNetworkReply*)),
|
||||||
this, SLOT(replyFinished(QNetworkReply*)));
|
this, SLOT(replyFinished(QNetworkReply*)));
|
||||||
@ -119,6 +173,46 @@ void DownloadWidget::setDownloadRect(const QRectF &rect)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void DownloadWidget::startDownload()
|
void DownloadWidget::startDownload()
|
||||||
|
{
|
||||||
|
switch (m_tabWidget->currentIndex()) {
|
||||||
|
case 0:
|
||||||
|
m_downloadMode = Tiles;
|
||||||
|
startDownloadTiles();
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
m_downloadMode = POIs;
|
||||||
|
startDownloadPOIs();
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
m_downloadMode = Packages;
|
||||||
|
startDownloadPackages();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void DownloadWidget::replyFinished(QNetworkReply *reply)
|
||||||
|
{
|
||||||
|
switch (m_downloadMode) {
|
||||||
|
case Tiles:
|
||||||
|
replyFinishedTiles(reply);
|
||||||
|
break;
|
||||||
|
case Packages:
|
||||||
|
replyFinishedPackages(reply);
|
||||||
|
break;
|
||||||
|
case POIs:
|
||||||
|
replyFinishedPOIs(reply);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
reply->deleteLater();
|
||||||
|
}
|
||||||
|
|
||||||
|
void DownloadWidget::downloadProgress(qint64 bytesReceived, qint64 bytesTotal)
|
||||||
|
{
|
||||||
|
m_dlProgress->setRange(0, bytesTotal);
|
||||||
|
m_dlProgress->setValue(bytesReceived);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DownloadWidget::startDownloadTiles()
|
||||||
{
|
{
|
||||||
m_prefix = m_prefixInput->text();
|
m_prefix = m_prefixInput->text();
|
||||||
m_dlProgress->setValue(0);
|
m_dlProgress->setValue(0);
|
||||||
@ -137,15 +231,22 @@ void DownloadWidget::startDownload()
|
|||||||
if (!m_dlList.isEmpty()) {
|
if (!m_dlList.isEmpty()) {
|
||||||
m_dlProgress->show();
|
m_dlProgress->show();
|
||||||
m_dlProgress->setRange(0, m_dlList.count());
|
m_dlProgress->setRange(0, m_dlList.count());
|
||||||
|
m_dlProgress->setFormat("%v / %m");
|
||||||
|
m_tabWidget->setEnabled(false);
|
||||||
|
m_startButton->setEnabled(false);
|
||||||
|
m_backButton->setEnabled(false);
|
||||||
QUrl url(m_dlList.takeFirst());
|
QUrl url(m_dlList.takeFirst());
|
||||||
m_manager->get(QNetworkRequest(url));
|
m_manager->get(QNetworkRequest(url));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DownloadWidget::replyFinished(QNetworkReply *reply)
|
void DownloadWidget::replyFinishedTiles(QNetworkReply *reply)
|
||||||
{
|
{
|
||||||
if (m_dlList.isEmpty()) {
|
if (m_dlList.isEmpty()) {
|
||||||
m_dlProgress->hide();
|
m_dlProgress->hide();
|
||||||
|
m_tabWidget->setEnabled(true);
|
||||||
|
m_startButton->setEnabled(true);
|
||||||
|
m_backButton->setEnabled(true);
|
||||||
}
|
}
|
||||||
if (reply->error() == QNetworkReply::NoError) {
|
if (reply->error() == QNetworkReply::NoError) {
|
||||||
QString path = reply->url().path();
|
QString path = reply->url().path();
|
||||||
@ -176,7 +277,78 @@ void DownloadWidget::replyFinished(QNetworkReply *reply)
|
|||||||
int n = m_dlProgress->value();
|
int n = m_dlProgress->value();
|
||||||
m_dlProgress->setValue(n+1);
|
m_dlProgress->setValue(n+1);
|
||||||
}
|
}
|
||||||
reply->deleteLater();
|
}
|
||||||
|
|
||||||
|
void DownloadWidget::startDownloadPOIs()
|
||||||
|
{
|
||||||
|
QString baseUrl("http://azure.openstreetmap.org/xapi/api/0.6/node");
|
||||||
|
QString key = m_poiType->currentText().section("-", 0, 0);
|
||||||
|
QString value = m_poiType->currentText().section("-", 1);
|
||||||
|
QString keyValue = QString("[%1=%2]").arg(key, value);
|
||||||
|
QString bbox = QString("[bbox=%1,%2,%3,%4]").arg(m_dlRect.left()).arg(m_dlRect.top())
|
||||||
|
.arg(m_dlRect.right()).arg(m_dlRect.bottom());
|
||||||
|
QUrl url(baseUrl+keyValue+bbox);
|
||||||
|
QNetworkReply *reply = m_manager->get(QNetworkRequest(url));
|
||||||
|
connect(reply, SIGNAL(downloadProgress(qint64, qint64)),
|
||||||
|
this, SLOT(downloadProgress(qint64, qint64)));
|
||||||
|
|
||||||
|
m_dlProgress->show();
|
||||||
|
m_dlProgress->setValue(0);
|
||||||
|
m_dlProgress->setFormat("%p%");
|
||||||
|
m_tabWidget->setEnabled(false);
|
||||||
|
m_startButton->setEnabled(false);
|
||||||
|
m_backButton->setEnabled(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DownloadWidget::replyFinishedPOIs(QNetworkReply *reply)
|
||||||
|
{
|
||||||
|
m_dlProgress->hide();
|
||||||
|
m_tabWidget->setEnabled(true);
|
||||||
|
m_startButton->setEnabled(true);
|
||||||
|
m_backButton->setEnabled(true);
|
||||||
|
|
||||||
|
if (reply->error() != QNetworkReply::NoError) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
QByteArray data = reply->readAll();
|
||||||
|
if (data.isEmpty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
QFile file(m_destFilename->text());
|
||||||
|
if (!file.open(QFile::WriteOnly)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
file.write(data);
|
||||||
|
file.close();
|
||||||
|
|
||||||
|
if (m_makePOILayer->isChecked()) {
|
||||||
|
emit loadFile(m_destFilename->text(), m_poiType->currentText().section("-", 1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void DownloadWidget::startDownloadPackages()
|
||||||
|
{
|
||||||
|
QUrl url("http://download../...");
|
||||||
|
QNetworkReply *reply = m_manager->get(QNetworkRequest(url));
|
||||||
|
connect(reply, SIGNAL(downloadProgress(qint64, qint64)),
|
||||||
|
this, SLOT(downloadProgress(qint64, qint64)));
|
||||||
|
|
||||||
|
m_dlProgress->show();
|
||||||
|
m_dlProgress->setValue(0);
|
||||||
|
m_dlProgress->setFormat("%p%");
|
||||||
|
m_tabWidget->setEnabled(false);
|
||||||
|
m_startButton->setEnabled(false);
|
||||||
|
m_backButton->setEnabled(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DownloadWidget::replyFinishedPackages(QNetworkReply *reply)
|
||||||
|
{
|
||||||
|
Q_UNUSED(reply)
|
||||||
|
|
||||||
|
m_dlProgress->hide();
|
||||||
|
m_tabWidget->setEnabled(true);
|
||||||
|
m_startButton->setEnabled(true);
|
||||||
|
m_backButton->setEnabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString DownloadWidget::lon2string(qreal lon)
|
QString DownloadWidget::lon2string(qreal lon)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010 Niels Kummerfeldt <niels.kummerfeldt@tu-harburg.de>
|
* Copyright 2010-2011 Niels Kummerfeldt <niels.kummerfeldt@tu-harburg.de>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -21,10 +21,13 @@
|
|||||||
#define DOWNLOADWIDGET_H
|
#define DOWNLOADWIDGET_H
|
||||||
|
|
||||||
#include <QtGui/QCheckBox>
|
#include <QtGui/QCheckBox>
|
||||||
|
#include <QtGui/QComboBox>
|
||||||
#include <QtGui/QLabel>
|
#include <QtGui/QLabel>
|
||||||
#include <QtGui/QLineEdit>
|
#include <QtGui/QLineEdit>
|
||||||
#include <QtGui/QProgressBar>
|
#include <QtGui/QProgressBar>
|
||||||
|
#include <QtGui/QPushButton>
|
||||||
#include <QtGui/QSpinBox>
|
#include <QtGui/QSpinBox>
|
||||||
|
#include <QtGui/QTabWidget>
|
||||||
#include <QtGui/QWidget>
|
#include <QtGui/QWidget>
|
||||||
#include <QtNetwork/QNetworkAccessManager>
|
#include <QtNetwork/QNetworkAccessManager>
|
||||||
|
|
||||||
@ -40,27 +43,47 @@ public:
|
|||||||
|
|
||||||
signals:
|
signals:
|
||||||
void back();
|
void back();
|
||||||
|
void loadFile(const QString &filename, const QString &title);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void startDownload();
|
void startDownload();
|
||||||
void replyFinished(QNetworkReply *reply);
|
void replyFinished(QNetworkReply *reply);
|
||||||
|
void downloadProgress(qint64 bytesReceived, qint64 bytesTotal);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
enum DownloadMode {
|
||||||
|
Tiles,
|
||||||
|
POIs,
|
||||||
|
Packages
|
||||||
|
};
|
||||||
|
|
||||||
|
void startDownloadTiles();
|
||||||
|
void replyFinishedTiles(QNetworkReply *reply);
|
||||||
|
void startDownloadPOIs();
|
||||||
|
void replyFinishedPOIs(QNetworkReply *reply);
|
||||||
|
void startDownloadPackages();
|
||||||
|
void replyFinishedPackages(QNetworkReply *reply);
|
||||||
QString lon2string(qreal lon);
|
QString lon2string(qreal lon);
|
||||||
QString lat2string(qreal lat);
|
QString lat2string(qreal lat);
|
||||||
int lon2tilex(qreal lon, int z);
|
int lon2tilex(qreal lon, int z);
|
||||||
int lat2tiley(qreal lat, int z);
|
int lat2tiley(qreal lat, int z);
|
||||||
|
|
||||||
QNetworkAccessManager *m_manager;
|
QNetworkAccessManager *m_manager;
|
||||||
|
DownloadMode m_downloadMode;
|
||||||
|
QTabWidget *m_tabWidget;
|
||||||
|
QProgressBar *m_dlProgress;
|
||||||
|
QPushButton *m_startButton, *m_backButton;
|
||||||
int m_startLevel;
|
int m_startLevel;
|
||||||
QRectF m_dlRect;
|
QRectF m_dlRect;
|
||||||
QStringList m_dlList;
|
QStringList m_dlList;
|
||||||
QString m_prefix;
|
QString m_prefix;
|
||||||
QLabel *m_up, *m_left, *m_right, *m_bottom;
|
QLabel *m_up, *m_left, *m_right, *m_bottom;
|
||||||
QSpinBox *m_levelSpinBox;
|
QSpinBox *m_levelSpinBox;
|
||||||
QProgressBar *m_dlProgress;
|
|
||||||
QLineEdit *m_prefixInput;
|
QLineEdit *m_prefixInput;
|
||||||
QCheckBox *m_skipExisting;
|
QCheckBox *m_skipExisting;
|
||||||
|
QComboBox *m_poiType;
|
||||||
|
QCheckBox *m_makePOILayer;
|
||||||
|
QLineEdit *m_destFilename;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
2
main.cpp
2
main.cpp
@ -28,7 +28,7 @@ int main(int argc, char *argv[])
|
|||||||
MainWidget w;
|
MainWidget w;
|
||||||
|
|
||||||
if (QApplication::arguments().count() > 1) {
|
if (QApplication::arguments().count() > 1) {
|
||||||
w.loadFile(QApplication::arguments().at(1));
|
w.loadFile(QApplication::arguments().at(1), "");
|
||||||
}
|
}
|
||||||
|
|
||||||
QObject::connect(&w, SIGNAL(close()), &a, SLOT(quit()));
|
QObject::connect(&w, SIGNAL(close()), &a, SLOT(quit()));
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010 Niels Kummerfeldt <niels.kummerfeldt@tu-harburg.de>
|
* Copyright 2010-2011 Niels Kummerfeldt <niels.kummerfeldt@tu-harburg.de>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -81,6 +81,7 @@ MainWidget::MainWidget(QWidget *parent)
|
|||||||
m_stack->insertWidget(1, m_markerList);
|
m_stack->insertWidget(1, m_markerList);
|
||||||
|
|
||||||
connect(m_dlWidget, SIGNAL(back()), this, SLOT(showMap()));
|
connect(m_dlWidget, SIGNAL(back()), this, SLOT(showMap()));
|
||||||
|
connect(m_dlWidget, SIGNAL(loadFile(QString, QString)), this, SLOT(loadFile(QString, QString)));
|
||||||
m_stack->insertWidget(2, m_dlWidget);
|
m_stack->insertWidget(2, m_dlWidget);
|
||||||
|
|
||||||
connect(m_search, SIGNAL(back()), this, SLOT(showMap()));
|
connect(m_search, SIGNAL(back()), this, SLOT(showMap()));
|
||||||
@ -94,16 +95,18 @@ MainWidget::~MainWidget()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWidget::loadFile(const QString &fileName)
|
void MainWidget::loadFile(const QString &fileName, const QString &title)
|
||||||
{
|
{
|
||||||
if (fileName.endsWith(".gpx")) {
|
if (fileName.endsWith(".gpx")) {
|
||||||
AbstractLayer *l = new GpxLayer(m_map);
|
AbstractLayer *l = new GpxLayer(m_map);
|
||||||
l->load(fileName);
|
l->load(fileName);
|
||||||
m_map->addLayer(l, 2, "GPS-Track");
|
QString t = title.isEmpty() ? "GPS-Track" : title;
|
||||||
|
m_map->addLayer(l, 2, t);
|
||||||
} else if (fileName.endsWith(".osm")) {
|
} else if (fileName.endsWith(".osm")) {
|
||||||
AbstractLayer *l = new PoiLayer(m_map);
|
AbstractLayer *l = new PoiLayer(m_map);
|
||||||
l->load(fileName);
|
l->load(fileName);
|
||||||
m_map->addLayer(l, 3, "Points Of Interest");
|
QString t = title.isEmpty() ? "Points Of Interest" : title;
|
||||||
|
m_map->addLayer(l, 3, t);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010 Niels Kummerfeldt <niels.kummerfeldt@tu-harburg.de>
|
* Copyright 2010-2011 Niels Kummerfeldt <niels.kummerfeldt@tu-harburg.de>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -36,7 +36,8 @@ public:
|
|||||||
MainWidget(QWidget *parent = 0);
|
MainWidget(QWidget *parent = 0);
|
||||||
~MainWidget();
|
~MainWidget();
|
||||||
|
|
||||||
void loadFile(const QString &fileName);
|
public slots:
|
||||||
|
void loadFile(const QString &fileName, const QString &title);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void close();
|
void close();
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010 Niels Kummerfeldt <niels.kummerfeldt@tu-harburg.de>
|
* Copyright 2010-2011 Niels Kummerfeldt <niels.kummerfeldt@tu-harburg.de>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -143,6 +143,7 @@ void MapWidget::addLayer(AbstractLayer *layer, int z, const QString &name)
|
|||||||
connect(layer, SIGNAL(visibilityChanged(bool)), action, SLOT(setChecked(bool)));
|
connect(layer, SIGNAL(visibilityChanged(bool)), action, SLOT(setChecked(bool)));
|
||||||
m_layerMenu->addAction(action);
|
m_layerMenu->addAction(action);
|
||||||
m_layer.insertMulti(z, layer);
|
m_layer.insertMulti(z, layer);
|
||||||
|
layer->zoom(m_level);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MapWidget::resizeEvent(QResizeEvent *event)
|
void MapWidget::resizeEvent(QResizeEvent *event)
|
||||||
|
Loading…
Reference in New Issue
Block a user