1 #include "loadTracksWindow.h"
2 #include "ui_loadtracksWindow.h"
8 #include <QColorDialog>
10 #include <QCloseEvent>
12 LoadTracksWindow::LoadTracksWindow(WindowMap *parent, Settings* settings_p, Log *log) :
13 QDialog(parent), log(log),windowMap(parent),settings(settings_p),
14 ui(new Ui::LoadTracksWindow)
17 currentDir.setPath(APPLICATION_PATH);
19 setWindowTitle(tr("Load track"));
20 QColor color = QColor(settings->getTrackToSniffColor());
21 ui->colorLabel->setText(color.name());
22 ui->colorLabel->setPalette(QPalette(color));
23 ui->colorLabel->setAutoFillBackground(true);
25 // Centering MapType items
26 QAbstractItemView *viewMaps = ui->mapsType->view();
27 QAbstractItemModel *modelMaps = viewMaps->model();
29 for(int i=0; i < ui->mapsType->count();i++){
30 modelMaps->setData(modelMaps->index(i, 0), QVariant(Qt::AlignCenter), Qt::TextAlignmentRole);
33 connect(ui->colorButton, SIGNAL(clicked()), this, SLOT(setColor()));
34 connect(ui->browseButton, SIGNAL(clicked()), SLOT(browse()));
37 LoadTracksWindow::~LoadTracksWindow()
42 void LoadTracksWindow::setColor(){
45 QColor color = QColorDialog::getColor(QColor(settings->getTrackToSniffColor()), this);
48 ui->colorLabel->setText(color.name());
49 ui->colorLabel->setPalette(QPalette(color));
50 ui->colorLabel->setAutoFillBackground(true);
51 settings->setTrackToSniffColor(color.name());
55 void LoadTracksWindow::browse(){
57 QString directory = QFileDialog::getOpenFileName(this,tr("Open XML Files"), currentDir.path(), tr("XML Files (*.gpx *.tcx)"));
59 if (!directory.isNull())
61 currentDir.setPath(directory);
63 if (!directory.isEmpty()) {
64 if (ui->fileCombo->findText(directory) == -1)
65 ui->fileCombo->addItem(directory);
66 ui->fileCombo->setCurrentIndex(ui->fileCombo->findText(directory));
73 void LoadTracksWindow::closeEvent(QCloseEvent *event){
75 log->debug("CLOSE EVENT OF LOADTRACKS!!!!!!!!!!!!!!!!!!!");
76 QMessageBox::warning(this, tr("GPSSniffer"),QString(tr("No file selected!")));
80 void LoadTracksWindow::showEvent(QShowEvent *){
82 if(windowMap->getMode()==Mode_NewActivityMode){
83 // loading track in new activity
84 ui->mapsType->setCurrentIndex(settings->getMapType());
85 ui->mapsType->setEnabled(false);
89 void LoadTracksWindow::accept(){
92 QString fileName = ui->fileCombo->currentText();
93 //QString fileName=QString("/home/user/MyDocs/FitxersGPXiTCX/VallDelRiuLac.tcx");
95 if(!fileName.endsWith(".gpx",Qt::CaseInsensitive) && !fileName.endsWith(".tcx",Qt::CaseInsensitive) ){
96 QMessageBox::warning(this, tr("GPSSniffer"),QString(tr("No file selected!")));
98 Track* toSniff = readFromXML(fileName);
99 log->debug("XML readed without problem");
100 windowMap->setTrackToSniff(toSniff);
102 if(windowMap->getMode()==Mode_LoadTracksWindow){
103 settings->setMapType((MapType)ui->mapsType->currentIndex());
104 windowMap->startNetworking();
105 windowMap->startMaps();
108 if(windowMap->simulatingGPS()){
109 windowMap->desactivatePossitionPaint();
112 windowMap->updateSummary();
113 windowMap->drawFullTrackMaps(toSniff);
114 settings->setIsConfigured(true);
115 windowMap->fixZoomButtons();