2010-03-24 21:14:43 +01:00
|
|
|
/**
|
|
|
|
******************************************************************************
|
|
|
|
*
|
|
|
|
* @file mapgadgetoptionspage.cpp
|
|
|
|
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
|
|
|
* @brief
|
|
|
|
* @see The GNU Public License (GPL) Version 3
|
|
|
|
* @defgroup map
|
|
|
|
* @{
|
|
|
|
*
|
|
|
|
*****************************************************************************/
|
|
|
|
/*
|
|
|
|
* 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
|
|
|
|
* the Free Software Foundation; either version 3 of the License, or
|
|
|
|
* (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful, but
|
|
|
|
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
|
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
|
|
* for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License along
|
|
|
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
|
|
|
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "mapgadgetoptionspage.h"
|
|
|
|
#include "mapgadgetconfiguration.h"
|
|
|
|
#include <QtGui/QLabel>
|
2010-04-12 12:23:26 +02:00
|
|
|
#include <QtGui/QComboBox>
|
2010-03-25 23:32:45 +01:00
|
|
|
#include <QtGui/QSpinBox>
|
|
|
|
#include <QtGui/QDoubleSpinBox>
|
|
|
|
#include <QtGui/QHBoxLayout>
|
|
|
|
#include <QtGui/QVBoxLayout>
|
|
|
|
|
2010-03-24 21:14:43 +01:00
|
|
|
|
2010-03-28 11:49:07 +02:00
|
|
|
MapGadgetOptionsPage::MapGadgetOptionsPage(MapGadgetConfiguration *config, QObject *parent) :
|
2010-03-25 19:34:58 +01:00
|
|
|
IOptionsPage(parent),
|
2010-03-28 11:49:07 +02:00
|
|
|
m_config(config)
|
2010-03-24 21:14:43 +01:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2010-03-25 19:34:58 +01:00
|
|
|
QWidget *MapGadgetOptionsPage::createPage(QWidget *parent)
|
2010-03-24 21:14:43 +01:00
|
|
|
{
|
2010-03-25 23:32:45 +01:00
|
|
|
QWidget *widget = new QWidget;
|
|
|
|
QVBoxLayout *vl = new QVBoxLayout();
|
|
|
|
widget->setLayout(vl);
|
|
|
|
|
2010-04-12 12:23:26 +02:00
|
|
|
QHBoxLayout *providerLayout = new QHBoxLayout();
|
|
|
|
QWidget *mp = new QWidget;
|
|
|
|
mp->setLayout(providerLayout);
|
|
|
|
QWidget *label = new QLabel("Map Provider:");
|
|
|
|
m_providerComboBox = new QComboBox();
|
|
|
|
m_providerComboBox->addItem("OpenStreetMap");
|
|
|
|
m_providerComboBox->addItem("Google");
|
|
|
|
m_providerComboBox->addItem("Google Sat");
|
|
|
|
// m_providerComboBox->addItem("Yahoo");
|
|
|
|
providerLayout->addWidget(label);
|
|
|
|
providerLayout->addWidget(m_providerComboBox);
|
|
|
|
|
2010-03-25 23:32:45 +01:00
|
|
|
QHBoxLayout *zoomLayout = new QHBoxLayout();
|
|
|
|
QWidget *x = new QWidget;
|
|
|
|
x->setLayout(zoomLayout);
|
2010-04-12 12:23:26 +02:00
|
|
|
label = new QLabel("Default zoom:");
|
2010-03-25 23:32:45 +01:00
|
|
|
m_zoomSpin = new QSpinBox();
|
|
|
|
m_zoomSpin->setMaximum(18);
|
|
|
|
zoomLayout->addWidget(label);
|
|
|
|
zoomLayout->addWidget(m_zoomSpin);
|
|
|
|
|
|
|
|
QHBoxLayout *latLayout = new QHBoxLayout();
|
|
|
|
QWidget *y = new QWidget;
|
|
|
|
y->setLayout(latLayout);
|
|
|
|
label = new QLabel("Default latitude:");
|
|
|
|
m_latSpin = new QDoubleSpinBox();
|
|
|
|
m_latSpin->setDecimals(8);
|
|
|
|
m_latSpin->setMinimum(-90);
|
|
|
|
m_latSpin->setMaximum(90);
|
|
|
|
latLayout->addWidget(label);
|
|
|
|
latLayout->addWidget(m_latSpin);
|
|
|
|
|
|
|
|
QHBoxLayout *longLayout = new QHBoxLayout();
|
|
|
|
QWidget *z = new QWidget;
|
|
|
|
z->setLayout(longLayout);
|
|
|
|
label = new QLabel("Default longitude:");
|
|
|
|
m_longSpin = new QDoubleSpinBox();
|
|
|
|
m_longSpin->setDecimals(8);
|
|
|
|
m_longSpin->setMinimum(-180);
|
|
|
|
m_longSpin->setMaximum(180);
|
|
|
|
longLayout->addWidget(label);
|
|
|
|
longLayout->addWidget(m_longSpin);
|
2010-03-26 08:43:14 +01:00
|
|
|
QSpacerItem *spacer = new QSpacerItem(100, 100, QSizePolicy::Expanding, QSizePolicy::Expanding);
|
2010-03-25 23:32:45 +01:00
|
|
|
|
2010-04-12 12:23:26 +02:00
|
|
|
vl->addWidget(mp);
|
2010-03-25 23:32:45 +01:00
|
|
|
vl->addWidget(x);
|
|
|
|
vl->addWidget(y);
|
|
|
|
vl->addWidget(z);
|
2010-03-26 08:43:14 +01:00
|
|
|
vl->addSpacerItem(spacer);
|
2010-03-25 23:32:45 +01:00
|
|
|
|
2010-04-12 12:23:26 +02:00
|
|
|
int index = m_providerComboBox->findText(m_config->mapProvider());
|
|
|
|
index = (index >= 0) ? index : 0;
|
|
|
|
m_providerComboBox->setCurrentIndex(index);
|
2010-03-25 23:32:45 +01:00
|
|
|
m_zoomSpin->setValue(m_config->zoom());
|
|
|
|
m_latSpin->setValue(m_config->latitude());
|
|
|
|
m_longSpin->setValue(m_config->longitude());
|
|
|
|
|
|
|
|
return widget;
|
2010-03-24 21:14:43 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
void MapGadgetOptionsPage::apply()
|
|
|
|
{
|
2010-04-12 12:23:26 +02:00
|
|
|
m_config->setMapProvider(m_providerComboBox->currentText());
|
2010-03-25 23:32:45 +01:00
|
|
|
m_config->setZoom(m_zoomSpin->value());
|
|
|
|
m_config->setLatitude(m_latSpin->value());
|
|
|
|
m_config->setLongitude(m_longSpin->value());
|
2010-03-24 21:14:43 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
void MapGadgetOptionsPage::finish()
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|