debian/ 0000755 0000000 0000000 00000000000 12216011110 007147 5 ustar debian/rules 0000755 0000000 0000000 00000001155 12215773272 010260 0 ustar #!/usr/bin/make -f
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/qmake.mk
UPSTREAM_VERSION := $(shell dpkg-parsechangelog \
|grep ^Version|awk '{print $$2}'|sed 's/-[[:digit:]]\+$$//' \
)
install/qviaggiatreno::
install -m 755 bin/qviaggiatreno $(CURDIR)/debian/qviaggiatreno/usr/bin
install qviaggiatreno.desktop $(CURDIR)/debian/qviaggiatreno/usr/share/applications
clean::
rm -rf build bin
tarball: clean
cd .. && \
tar --exclude=debian \
--exclude=.git* \
--exclude=.svn \
-czf qviaggiatreno_$(UPSTREAM_VERSION).orig.tar.gz \
qviaggiatreno-$(UPSTREAM_VERSION)
debian/dirs 0000644 0000000 0000000 00000000037 12215773272 010062 0 ustar usr/bin
usr/share/applications
debian/patches/ 0000755 0000000 0000000 00000000000 12215774225 010624 5 ustar debian/patches/revert-2012.9.patch 0000644 0000000 0000000 00000203114 12215773526 013711 0 ustar Description: Reverting to 2012.9 tag, since the new version doesn't build on qt5 on every arch
Author: Gianfranco Costamagna
Origin: debian|upstream
Forwarded: not-needed
Reviewed-By: Gianfranco Costamagna
Last-Update: <2013-09-17>
--- qviaggiatreno-2013.7.3.orig/src/application.qrc
+++ qviaggiatreno-2013.7.3/src/application.qrc
@@ -19,6 +19,5 @@
img/aggiorna.png
img/stampa.png
img/esporta.png
- img/trenord.png
--- qviaggiatreno-2013.7.3.orig/src/schedalistatreni_widget.cpp
+++ qviaggiatreno-2013.7.3/src/schedalistatreni_widget.cpp
@@ -82,7 +82,7 @@ void WidgetListaTreni::itemAttivato(QTab
if ((riga == ListaVT::rigaOrigine) || (riga == ListaVT::rigaDestinazione) || (riga == ListaVT::rigaUltimaFermata))
if (item->text() != "")
- emit(apriSchedaStazione(ParserViaggiaTrenoBase::sostituisciNomeStazione(item->text()), true));
+ emit(apriSchedaStazione(item->text(), true));
}
//aggiunge un treno al widget
@@ -206,14 +206,9 @@ void WidgetListaTreni::aggiornaTreno(con
}
//imposta l'etichetta con ora e data del completamento dell'ultimo treno
-void WidgetListaTreni::impostaAggiornamento(const QString& testo, bool errore)
+void WidgetListaTreni::impostaAggiornamento(const QString& testo)
{
- //se errore è true allora il parsing non è andato a buon fine, imposta il messaggio in rosso
- //e grassetto per evidenziarlo
- if (errore)
- m_labelAggiornamento->setText(QString("%1").arg(testo));
- else
- m_labelAggiornamento->setText(testo);
+ m_labelAggiornamento->setText(QString::fromUtf8("Ultimo aggiornamento: %1").arg(testo));
}
//Questo dialogo viene visualizzato quando si è scelto da menu o toolbar la voce per
--- qviaggiatreno-2013.7.3.orig/src/qviaggiatreno.cpp
+++ qviaggiatreno-2013.7.3/src/qviaggiatreno.cpp
@@ -1,4 +1,4 @@
-/***************************************************************************
+/***************************************************************************
* Copyright (C) 2008-2011 by fra74 *
* francesco.b74@gmail.com *
* *
@@ -25,11 +25,10 @@
#include "schedalistatreni.h"
#include "qviaggiatreno.h"
#include "download_viaggiatreno.h"
-#include "download_trenord.h"
#include "qledindicator.h"
//numero versione
-QString QViaggiaTreno::s_versione = QString("2013.7");
+QString QViaggiaTreno::s_versione = QString("2012.9");
QViaggiaTreno::QViaggiaTreno()
{
@@ -38,8 +37,10 @@ QViaggiaTreno::QViaggiaTreno()
m_nam = new QNetworkAccessManager(this);
//crea una istanza delle varie classi per il download
+ //TODO: al momento c'è solo la classe per il donwload da ViaggiaTreno
+ //in futuro valutare se sia necessario ricorrere per esempio
+ //ad una classe Factory
m_downloadViaggiaTreno = new DownloadViaggiaTreno(this, m_nam);
- m_downloadTrenord = new DownloadTrenord(this, m_nam);
creaAzioni();
creaMenu();
@@ -93,11 +94,6 @@ void QViaggiaTreno::creaAzioni()
m_nuovaListaTreniAct->setIcon(QIcon(":/img/listatreni.png"));
connect(m_nuovaListaTreniAct, SIGNAL(triggered()), this, SLOT(nuovaListaTreni()));
- m_avvisiTrenordAct = new QAction(QString::fromUtf8("Avvisi Trenord"), this);
- m_avvisiTrenordAct->setStatusTip(QString::fromUtf8("Controlla gli avvisi di Trenord"));
- m_avvisiTrenordAct->setIcon(QIcon(":/img/trenord.png"));
- connect(m_avvisiTrenordAct, SIGNAL(triggered()), this, SLOT(nuovaSchedaAvvisiTrenord()));
-
m_intervalloAct = new QAction(QString::fromUtf8("Cambia intervallo aggiornamento..."), this);
m_intervalloAct->setStatusTip(QString::fromUtf8("Cambia l'intervallo di aggiornamento della scheda corrente"));
m_intervalloAct->setIcon(QIcon(":/img/cronometro.png"));
@@ -200,9 +196,6 @@ void QViaggiaTreno::creaMenu()
m_viaggiatrenoMenu->addAction(m_nuovoTrenoAct);
m_viaggiatrenoMenu->addAction(m_nuovaListaTreniAct);
m_viaggiatrenoMenu->addSeparator();
- //TODO rimossa temporaneamente voce scheda trenord ripristinare
- // m_viaggiatrenoMenu->addAction(m_avvisiTrenordAct);
- m_viaggiatrenoMenu->addSeparator();
//TODO: rimuovere commenti quando sarà pronto il codice per l'esportazione/stampa
// m_viaggiatrenoMenu->addAction(m_esportaSchedaAct);
// m_viaggiatrenoMenu->addAction(m_stampaSchedaAct);
@@ -257,8 +250,6 @@ void QViaggiaTreno::creaToolBar()
m_mainToolBar->addAction(m_nuovaStazioneAct);
m_mainToolBar->addAction(m_nuovoTrenoAct);
m_mainToolBar->addAction(m_nuovaListaTreniAct);
- //TODO rimossaa icona scheda trenod da toolbar ripristinare
- // m_mainToolBar->addAction(m_avvisiTrenordAct);
m_mainToolBar->addSeparator();
//TODO: rimuovere commenti quando sarà pronto il codice per l'esportazione/stampa
// m_mainToolBar->addAction(m_stampaSchedaAct);
@@ -519,10 +510,3 @@ void QViaggiaTreno::closeEvent(QCloseEve
}
-//restituisce true se la scheda è ancora aperta
-bool QViaggiaTreno::schedaAperta(SchedaQViaggiaTreno *scheda)
-{
- //cerca l'indice della scheda nel tab widget
- //se è diverso da -1 allora la scheda esiste
- return (m_schede->indexOf(scheda) != -1);
-}
--- qviaggiatreno-2013.7.3.orig/src/qledindicator.cpp
+++ qviaggiatreno-2013.7.3/src/qledindicator.cpp
@@ -30,8 +30,8 @@ QLedIndicator::QLedIndicator(QWidget *pa
setCheckable(true);
onColor1 = QColor(0,255,0);
onColor2 = QColor(0, 192, 0);
- offColor1 = QColor(255,0,0);
- offColor2 = QColor(192,0,0);
+ offColor1 = QColor(0,28,0);
+ offColor2 = QColor(128,0,0);
}
void QLedIndicator::resizeEvent(QResizeEvent *event) {
--- qviaggiatreno-2013.7.3.orig/src/items.h
+++ qviaggiatreno-2013.7.3/src/items.h
@@ -20,15 +20,15 @@
#ifndef ITEMS_H
#define ITEMS_H
-#include
+#include
class SortedAsIntListWidgetItem : public QListWidgetItem
{
- public:
- SortedAsIntListWidgetItem(const QString& string) : QListWidgetItem(string)
- {}
+ public:
+ SortedAsIntListWidgetItem(const QString& string) : QListWidgetItem(string)
+ {}
- virtual bool operator < (const QListWidgetItem& other) const;
+ virtual bool operator < (const QListWidgetItem& other) const;
};
#endif // ITEMS_H
--- qviaggiatreno-2013.7.3.orig/src/parser_viaggiatreno_treno.cpp
+++ qviaggiatreno-2013.7.3/src/parser_viaggiatreno_treno.cpp
@@ -77,7 +77,7 @@ QMap ParserTrenoViaggi
//per ogni elemento "option" crea un elemento della lista, la cui chiave è il nome della stazioone
//mentre il codice è memorizzato nella voce corrispondente alla chiame
for (int j = 0; j < nodi.count(); j++)
- lista[nodi.at(j).toElement().text()] = nodi.at(j).toElement().attribute("value");
+ lista[sostituisciNomeStazione(nodi.at(j).toElement().text())] = nodi.at(j).toElement().attribute("value");
return lista;
@@ -137,7 +137,7 @@ bool ParserTrenoViaggiaTreno::analizzaRi
//rintraccia l'elemento DIV con gli eventuali provvedimenti di limitazione/soppressione
for (int i = 0; i < elementiDiv.count(); i++)
if (elementiDiv.at(i).toElement().attribute("style").contains("B02D2D"))
- orarioTreno.impostaDato(TrenoVT::dtProvvedimenti, elementiDiv.at(i).toElement().text());
+ orarioTreno.impostaDato(TrenoVT::dtProvvedimenti, sostituisciNomeStazione(elementiDiv.at(i).toElement().text()));
//rintraccia l'elemento DIV con i dati della stazione di partenza
for (int i = 0; i < elementiDiv.count(); i++)
@@ -145,7 +145,7 @@ bool ParserTrenoViaggiaTreno::analizzaRi
div = elementiDiv.at(i).toElement();
//estrai i dati sulla stazione di partenza dall'elemento appena ottenuto
- orarioTreno.impostaDato(TrenoVT::dtPartenza, div.firstChildElement("h2").text());
+ orarioTreno.impostaDato(TrenoVT::dtPartenza, sostituisciNomeStazione(div.firstChildElement("h2").text()));
orarioTreno.impostaDato(TrenoVT::dtOrarioPartenzaProgrammato, div.firstChildElement("p").firstChildElement("strong").text());
orarioTreno.impostaDato(TrenoVT::dtOrarioPartenzaReale, div.firstChildElement("p").nextSiblingElement("p")
.firstChildElement("strong").text());
@@ -175,7 +175,7 @@ bool ParserTrenoViaggiaTreno::analizzaRi
div = elementiDiv.at(i).toElement();
//estrai i dati sulla stazione di arrivo dall'elemento appena ottenuto
- orarioTreno.impostaDato(TrenoVT::dtArrivo, div.firstChildElement("h2").text());
+ orarioTreno.impostaDato(TrenoVT::dtArrivo, sostituisciNomeStazione(div.firstChildElement("h2").text()));
orarioTreno.impostaDato(TrenoVT::dtOrarioArrivoProgrammato, div.firstChildElement("p").firstChildElement("strong").text());
orarioTreno.impostaDato(TrenoVT::dtOrarioArrivo, div.firstChildElement("p").nextSiblingElement("p")
.firstChildElement("strong").text());
@@ -276,7 +276,7 @@ bool ParserTrenoViaggiaTreno::analizzaDe
if (div.text().contains("soppressa"))
fermata->impostaSoppressa(true);
//imposta il nome della fermata
- fermata->impostaNomeFermata(div.firstChildElement("h2").text());
+ fermata->impostaNomeFermata(sostituisciNomeStazione(div.firstChildElement("h2").text()));
//imposta l'ora di arriva programmata ed effettiva
fermata->impostaOraArrivoProgrammata(div.firstChildElement("p").firstChildElement("strong").text());
if (fermata->effettuata())
@@ -429,7 +429,7 @@ bool ParserTrenoViaggiaTreno::analizzaRi
div = elementiDiv.at(i).toElement();
//estrai i dati sulla stazione di partenza dall'elemento appena ottenuto
- treno.impostaDato(ListaVT::dtOrigine, div.firstChildElement("h2").text());
+ treno.impostaDato(ListaVT::dtOrigine, sostituisciNomeStazione(div.firstChildElement("h2").text()));
treno.impostaDato(ListaVT::dtPartenzaProgrammata, div.firstChildElement("p").firstChildElement("strong").text());
//non cercare l'orario di partenza effettivo se il treno risulta non ancora partito
if (!m_rispostaVTAnalizzata.contains("ancora partito"))
@@ -442,7 +442,7 @@ bool ParserTrenoViaggiaTreno::analizzaRi
div = elementiDiv.at(i).toElement();
//estrai i dati sulla stazione di arrivo dall'elemento appena ottenuto
- treno.impostaDato(ListaVT::dtDestinazione, div.firstChildElement("h2").text());
+ treno.impostaDato(ListaVT::dtDestinazione, sostituisciNomeStazione(div.firstChildElement("h2").text()));
treno.impostaDato(ListaVT::dtArrivoProgrammato, div.firstChildElement("p").firstChildElement("strong").text());
//cerca l'orario di arrivo effettivo solo se il treno risulta già arrivato
if (m_rispostaVTAnalizzata.contains("arrivato"))
--- qviaggiatreno-2013.7.3.orig/src/parser_viaggiatreno_treno.h
+++ qviaggiatreno-2013.7.3/src/parser_viaggiatreno_treno.h
@@ -25,8 +25,6 @@
#include
#include
-#include "parser_viaggiatreno_base.h"
-
class SchedaQViaggiaTreno;
namespace TrenoVT
@@ -165,7 +163,7 @@ private:
};
-class ParserTrenoViaggiaTreno: public ParserViaggiaTrenoBase
+class ParserTrenoViaggiaTreno: public QObject
{
Q_OBJECT
public:
--- qviaggiatreno-2013.7.3.orig/src/utils.cpp
+++ qviaggiatreno-2013.7.3/src/utils.cpp
@@ -46,6 +46,11 @@ void debugStringa(QString stringa)
}
-
-
-
+//sostituisce il nome della stazione per ovviare ad alcuni bug di ViaggiaTreno che fanno si che in
+//alcuni casi i nomi delle stazioni siano incoerenti
+//per esempio sulla rete FNM i treni vengono riportati con origine destinazione "M N Cadorna" ma poi
+// non esiste tale stazione in ViaggiaTreno, bensì "Milano Nord Cadorna"
+QString sostituisciNomeStazione(const QString &nome)
+{
+ return QString(nome).replace("M N CADORNA", "MILANO NORD CADORNA", Qt::CaseInsensitive);
+}
--- qviaggiatreno-2013.7.3.orig/src/qviaggiatrenoslots.cpp
+++ qviaggiatreno-2013.7.3/src/qviaggiatrenoslots.cpp
@@ -19,14 +19,13 @@
***************************************************************************/
-#include
+#include
#include "dialogo_nomestazione.h"
#include "dialogo_configurazione.h"
#include "schedalistatreni.h"
#include "schedastazione.h"
#include "schedatreno.h"
-#include "schedaavvisitrenord.h"
#include "qviaggiatreno.h"
#include "utils.h"
#include "qledindicator.h"
@@ -103,7 +102,7 @@ void QViaggiaTreno::nuovoTreno()
{
bool ok;
- int num = QInputDialog::getInt(this, QString::fromUtf8("Monitoraggio treno"), QString::fromUtf8("Inserire il numero del treno da monitorare con ViaggiaTreno"), 0, 1, 99999, 1, &ok);
+ int num = QInputDialog::getInteger(this, QString::fromUtf8("Monitoraggio treno"), QString::fromUtf8("Inserire il numero del treno da monitorare con ViaggiaTreno"), 0, 1, 99999, 1, &ok);
if (ok)
{
//converte il numero del treno in una stringa
@@ -162,7 +161,7 @@ SchedaTreno* QViaggiaTreno::nuovoTreno(c
if (it.value()->tipoScheda() == SchedaQViaggiaTreno::tsTreno)
{
SchedaTreno* scheda = qobject_cast(it.value());
- // c'è un problema
+ //TODO: c'è un problema
//supponiamo di avere un treno con numero ambiguo (esempio 518)
//apro la scheda per il 518 su rete RFI
//ma se poi controllo solo il numero treno allora non potrò mai aprire una scheda
@@ -328,29 +327,6 @@ SchedaListaTreni* QViaggiaTreno::nuovaLi
return scheda;
}
-SchedaAvvisiTrenord* QViaggiaTreno::nuovaSchedaAvvisiTrenord()
-{
- //crea la scheda
- SchedaAvvisiTrenord* scheda = new SchedaAvvisiTrenord(this);
-
- //aggiorna la lista delle schede e aggiunge la scheda al tabwidget,
- //assicurandosi che diventi la scheda corrente
- m_listaSchede.insert(scheda->idScheda(), scheda);
- m_schede->addTab(scheda, QIcon(":img/trenord.png"), scheda->titolo());
- m_schede->setCurrentWidget(scheda);
-
- //avvia la scheda ed aggiorna il timer
- scheda->aggiorna();
- scheda->avvia();
-
- sincronizzaGUI(scheda->idScheda());
-
- //disattiva la voce di menu per creare scheda avvisi trenord visto che non ha senso averne più di una
- m_avvisiTrenordAct->setDisabled(true);
-
- return scheda;
-}
-
void QViaggiaTreno::chiudiScheda(int id)
{
//ottiene un puntatore alla scheda corrente
@@ -364,10 +340,6 @@ void QViaggiaTreno::chiudiScheda(int id)
//elimina scheda dalle rispettiva lista
m_listaSchede.remove(scheda->idScheda());
- //verifica se la scheda era la scheda con gli avvisi Trenord
- //ed in caso positivo riabilita la corrispondente voce di menu
- if (scheda->tipoScheda() == SchedaQViaggiaTreno::tsAvvisiTrenord)
- m_avvisiTrenordAct->setEnabled(true);
//infine cancella scheda e item
delete scheda;
@@ -439,7 +411,7 @@ void QViaggiaTreno::schedaCambiata(int i
//attiva/disattiva azioni o menu a seconda del tipo di scheda e dello stato della scheda
switch(scheda->tipoScheda())
{
- //non visualizzare il menu a tendina treno perché attualmente è senza voci
+ //non visualizzare il menu a tendina treno
case SchedaQViaggiaTreno::tsTreno: m_trenoMenu->menuAction()->setVisible(false); break;
case SchedaQViaggiaTreno::tsStazione: m_stazioneMenu->menuAction()->setVisible(true); break;
case SchedaQViaggiaTreno::tsListaTreni:
@@ -447,8 +419,7 @@ void QViaggiaTreno::schedaCambiata(int i
m_listaTreniMenu->menuAction()->setVisible(true);
m_listaToolbar->setVisible(true);
- }; break;
- case SchedaQViaggiaTreno::tsAvvisiTrenord: break;
+ }
}
}
@@ -459,7 +430,7 @@ void QViaggiaTreno::modificaIntervallo()
{
bool Ok;
SchedaQViaggiaTreno *scheda = schedaCorrente();
- int intervallo = QInputDialog::getInt(this, QString::fromUtf8("Modifica intervallo di aggiornamento"), QString::fromUtf8("Inserire il nuovo intervallo di aggiornamento in minuti:"), scheda->intervallo(), 1, 1440, 1, &Ok);
+ int intervallo = QInputDialog::getInteger(this, QString::fromUtf8("Modifica intervallo di aggiornamento"), QString::fromUtf8("Inserire il nuovo intervallo di aggiornamento in minuti:"), scheda->intervallo(), 1, 1440, 1, &Ok);
if (Ok)
{
scheda->impostaIntervallo(intervallo);
--- qviaggiatreno-2013.7.3.orig/src/download_viaggiatreno.cpp
+++ qviaggiatreno-2013.7.3/src/download_viaggiatreno.cpp
@@ -20,16 +20,17 @@
#include "qviaggiatreno.h"
#include "download_viaggiatreno.h"
+#include "utils.h"
#include "schedaviaggiatreno.h"
DownloadViaggiaTreno::DownloadViaggiaTreno(QViaggiaTreno* qvt, QNetworkAccessManager *nam)
{
- m_nam = nam;
- m_qvt = qvt;
+ m_nam = nam;
+ m_qvt = qvt;
//crea e connette i timer
- m_timerDownload = new QTimer(this);
+ m_timerDownload = new QTimer(this);
m_timerControlloVT = new QTimer(this);
connect(m_timerControlloVT, SIGNAL(timeout()), this, SLOT(controllaViaggiaTreno()));
connect(m_timerDownload, SIGNAL(timeout()), this, SLOT(download()));
@@ -38,18 +39,18 @@ DownloadViaggiaTreno::DownloadViaggiaTre
QString DownloadViaggiaTreno::correggiOutputVT(QString testoVT)
{
- //effettua alcune sostituzione nel codice XHTML generato da ViaggiaTreno, che NON è valido
- //sostituisci
con
- QString temp = testoVT.simplified();
- //sostutuisce l'entità per gli accenti....
- temp.replace("'", "'");
- //sostituisce gli ampersend negli URL con &
- temp.replace("&", "&");
- // sostituisce
con
- temp.replace("
", "
");
- temp.replace("
", "
");
+ //effettua alcune sostituzione nel codice XHTML generato da ViaggiaTreno, che NON è valido
+ //sostituisci
con
+ QString temp = testoVT.simplified();
+ //sostutuisce l'entità per gli accenti....
+ temp.replace("'", "'");
+ //sostituisce gli ampersend negli URL con &
+ temp.replace("&", "&");
+ // sostituisce
con
+ temp.replace("
", "
");
+ temp.replace("
", "
");
- return temp;
+ return temp;
}
@@ -60,136 +61,133 @@ QString DownloadViaggiaTreno::correggiOu
//in futuro in questo slot si verificherà anche se la scheda è già nella cache
void DownloadViaggiaTreno::download()
{
- // se non ci sono richieste in coda esce immediatamente
- if (!m_codaDownload.count())
- return;
-
- //altrimenti prende il primo elemento in coda
- DownloadViaggiaTrenoItem * item = m_codaDownload.dequeue();
-
- //individua il tipo di scheda richiesta a viaggiaTreno e richiama la funzione privata giusta
- //per generare la richiesta HTTP
- switch(item->tipoScheda())
- {
- case StazioneConNome: richiestaHTTPStazioneConNome(item); break;
- case StazioneConCodice: richiestaHTTPStazioneConCodice(item); break;
- case RiepilogoTreno: richiestaHTTPRiepilogoTreno(item); break;
+ // se non ci sono richieste in coda esce immediatamente
+ if (!m_codaDownload.count())
+ return;
+
+ //altrimenti prende il primo elemento in coda
+ DownloadViaggiaTrenoItem * item = m_codaDownload.dequeue();
+
+ //individua il tipo di scheda richiesta a viaggiaTreno e richiama la funzione privata giusta
+ //per generare la richiesta HTTP
+ switch(item->tipoScheda())
+ {
+ case StazioneConNome: richiestaHTTPStazioneConNome(item); break;
+ case StazioneConCodice: richiestaHTTPStazioneConCodice(item); break;
+ case RiepilogoTreno: richiestaHTTPRiepilogoTreno(item); break;
case RiepilogoTrenoConOrigine: richiestaHTTPRiepilogoTrenoConOrigine(item); break;
- case DettagliTreno: richiestaHTTPDettagliTreno(item); break;
- case DettagliTrenoConOrigine: richiestaHTTPDettagliTrenoConOrigine(item);
- }
+ case DettagliTreno: richiestaHTTPDettagliTreno(item); break;
+ case DettagliTrenoConOrigine: richiestaHTTPDettagliTrenoConOrigine(item);
+ }
}
// slot richiamati dalle schede per mettere in coda un download
void DownloadViaggiaTreno::downloadStazione(quint32 idScheda, const QString &nomeStazione)
{
- DownloadViaggiaTrenoItem *item = new DownloadViaggiaTrenoItem(idScheda, StazioneConNome);
- item->impostaDato("NomeStazione", nomeStazione);
+ DownloadViaggiaTrenoItem *item = new DownloadViaggiaTrenoItem(idScheda, StazioneConNome);
+ item->impostaDato("NomeStazione", nomeStazione);
- m_codaDownload.enqueue(item);
+ m_codaDownload.enqueue(item);
}
void DownloadViaggiaTreno::downloadStazioneCodice(quint32 idScheda, const QString &codiceStazione)
{
- DownloadViaggiaTrenoItem *item = new DownloadViaggiaTrenoItem(idScheda, StazioneConCodice);
- item->impostaDato("CodiceStazione", codiceStazione);
+ DownloadViaggiaTrenoItem *item = new DownloadViaggiaTrenoItem(idScheda, StazioneConCodice);
+ item->impostaDato("CodiceStazione", codiceStazione);
- m_codaDownload.enqueue(item);
+ m_codaDownload.enqueue(item);
}
void DownloadViaggiaTreno::downloadRiepilogoTreno(quint32 idScheda, const QString &numero)
{
- DownloadViaggiaTrenoItem *item = new DownloadViaggiaTrenoItem(idScheda, RiepilogoTreno);
- item->impostaDato("Numero", numero);
+ DownloadViaggiaTrenoItem *item = new DownloadViaggiaTrenoItem(idScheda, RiepilogoTreno);
+ item->impostaDato("Numero", numero);
- m_codaDownload.enqueue(item);
+ m_codaDownload.enqueue(item);
}
void DownloadViaggiaTreno::downloadRiepilogoTreno(quint32 idScheda, const QString &numero, const QString &codiceStazOrigine)
{
DownloadViaggiaTrenoItem *item = new DownloadViaggiaTrenoItem(idScheda, RiepilogoTrenoConOrigine);
- item->impostaDato("Numero", numero);
- item->impostaDato("CodiceStazione", codiceStazOrigine );
+ item->impostaDato("Numero", numero);
+ item->impostaDato("CodiceStazione", codiceStazOrigine );
- m_codaDownload.enqueue(item);
+ m_codaDownload.enqueue(item);
}
void DownloadViaggiaTreno::downloadDettagliTreno(quint32 idScheda, const QString &numero)
{
- DownloadViaggiaTrenoItem * item = new DownloadViaggiaTrenoItem(idScheda, DettagliTreno);
- item->impostaDato("Numero", numero);
+ DownloadViaggiaTrenoItem * item = new DownloadViaggiaTrenoItem(idScheda, DettagliTreno);
+ item->impostaDato("Numero", numero);
- m_codaDownload.enqueue(item);
+ m_codaDownload.enqueue(item);
}
void DownloadViaggiaTreno::downloadDettagliTreno(quint32 idScheda, const QString &numero, const QString &codiceStazOrigine)
{
DownloadViaggiaTrenoItem * item = new DownloadViaggiaTrenoItem(idScheda, DettagliTrenoConOrigine);
- item->impostaDato("Numero", numero);
- item->impostaDato("CodiceStazione", codiceStazOrigine );
+ item->impostaDato("Numero", numero);
+ item->impostaDato("CodiceStazione", codiceStazOrigine );
- m_codaDownload.enqueue(item);
+ m_codaDownload.enqueue(item);
}
//costruisce un'istanza della classe DownloadViaggiaTrenoItem
DownloadViaggiaTrenoItem::DownloadViaggiaTrenoItem(quint32 idScheda, TipoSchedaViaggiaTreno tipoScheda)
{
- m_scheda = idScheda;
- m_tipoSchedaVT = tipoScheda;
+ m_scheda = idScheda;
+ m_tipoSchedaVT = tipoScheda;
- //imposta data/ora richiesta
- m_dataEOra = QDateTime::currentDateTime();
+ //imposta data/ora richiesta
+ m_dataEOra = QDateTime::currentDateTime();
}
//invia richiesta HTTP al server di ViaggiaTreno per ottenere la scheda della stazione, fornendo come parametro il nome della stazione
void DownloadViaggiaTreno::richiestaHTTPStazioneConNome(DownloadViaggiaTrenoItem *item)
{
- QNetworkRequest request;
- QString dati;
+ QNetworkRequest request;
+ QString dati;
- dati = QString("stazione=%1").arg(item->dato("NomeStazione"));
- dati.replace(" ", "+");
- // request.setUrl(QUrl("http://mobile.viaggiatreno.it/viaggiatreno/mobile/stazione?lang=IT"));
- request.setUrl(QUrl("http://mobile.viaggiatreno.it/vt_pax_internet/mobile/stazione?lang=IT"));
- request.setRawHeader("Content-type", "application/x-www-form-urlencoded");
- request.setOriginatingObject(item);
- QNetworkReply *reply = m_nam->post(request, dati.toUtf8());
- connect(reply, SIGNAL(finished()), this, SLOT(downloadEffettuato()));
+ dati = QString("stazione=%1").arg(item->dato("NomeStazione"));
+ dati.replace(" ", "+");
+ request.setUrl(QUrl("http://mobile.viaggiatreno.it/viaggiatreno/mobile/stazione?lang=IT"));
+ request.setRawHeader("Content-type", "application/x-www-form-urlencoded");
+ request.setOriginatingObject(item);
+ QNetworkReply *reply = m_nam->post(request, dati.toUtf8());
+ connect(reply, SIGNAL(finished()), this, SLOT(downloadEffettuato()));
}
//invia richiesta HTTP al server di ViaggiaTreno per ottenere la scheda della stazione, fornendo come parametro il codice della stazione
void DownloadViaggiaTreno::richiestaHTTPStazioneConCodice(DownloadViaggiaTrenoItem *item)
{
- QNetworkRequest request;
- QString dati;
+ QNetworkRequest request;
+ QString dati;
- dati = QString("codiceStazione=%1").arg(item->dato("CodiceStazione"));
- dati.replace(" ", "+");
- //request.setUrl(QUrl("http://mobile.viaggiatreno.it/viaggiatreno/mobile/stazione?lang=IT"));
- request.setUrl(QUrl("http://mobile.viaggiatreno.it/vt_pax_internet/mobile/stazione?lang=IT"));
- request.setRawHeader("Content-type", "application/x-www-form-urlencoded");
- request.setOriginatingObject(item);
- QNetworkReply *reply = m_nam->post(request, dati.toUtf8());
- connect(reply, SIGNAL(finished()), this, SLOT(downloadEffettuato()));
+ dati = QString("codiceStazione=%1").arg(item->dato("CodiceStazione"));
+ dati.replace(" ", "+");
+ request.setUrl(QUrl("http://mobile.viaggiatreno.it/viaggiatreno/mobile/stazione?lang=IT"));
+ request.setRawHeader("Content-type", "application/x-www-form-urlencoded");
+ request.setOriginatingObject(item);
+ QNetworkReply *reply = m_nam->post(request, dati.toUtf8());
+ connect(reply, SIGNAL(finished()), this, SLOT(downloadEffettuato()));
}
//invia richiesta HTTP a ViaggiaTreno per ottenere la scheda di un treno dato il suo numero
void DownloadViaggiaTreno::richiestaHTTPRiepilogoTreno(DownloadViaggiaTrenoItem *item)
{
- QNetworkRequest request;
- QString str;
+ QNetworkRequest request;
+ QString str;
- str = QString("numeroTreno=%1&tipoRicerca=numero&lang=IT").arg(item->dato("Numero"));
- // request.setUrl(QUrl("http://mobile.viaggiatreno.it/viaggiatreno/mobile/numero"));
- request.setUrl(QUrl("http://mobile.viaggiatreno.it/vt_pax_internet/mobile/numero"));
- request.setRawHeader("Content-type", "application/x-www-form-urlencoded");
- request.setOriginatingObject(item);
- QNetworkReply *reply = m_nam->post(request, str.toUtf8());
- connect(reply, SIGNAL(finished()), this, SLOT(downloadEffettuato()));
+ str = QString("numeroTreno=%1&tipoRicerca=numero&lang=IT").arg(item->dato("Numero"));
+ request.setUrl(QUrl("http://mobile.viaggiatreno.it/viaggiatreno/mobile/numero"));
+ request.setRawHeader("Content-type", "application/x-www-form-urlencoded");
+ request.setOriginatingObject(item);
+ QNetworkReply *reply = m_nam->post(request, str.toUtf8());
+ connect(reply, SIGNAL(finished()), this, SLOT(downloadEffettuato()));
}
//invia richiesta HTTP a ViaggiaTreno per ottenere la scheda di un treno dato il suo numero
@@ -201,8 +199,7 @@ void DownloadViaggiaTreno::richiestaHTTP
str = QString("cbxTreno=%1;").arg(item->dato("Numero"));
str += QString("%1&tipoRicerca=numero&lang=IT").arg(item->dato("CodiceStazione"));
- //request.setUrl(QUrl("http://mobile.viaggiatreno.it/viaggiatreno/mobile/numero"));
- request.setUrl(QUrl("http://mobile.viaggiatreno.it/vt_pax_internet/mobile/numero"));
+ request.setUrl(QUrl("http://mobile.viaggiatreno.it/viaggiatreno/mobile/numero"));
request.setRawHeader("Content-type", "application/x-www-form-urlencoded");
request.setOriginatingObject(item);
QNetworkReply *reply = m_nam->post(request, str.toUtf8());
@@ -213,13 +210,12 @@ void DownloadViaggiaTreno::richiestaHTTP
//invia richiesta HTTP a ViaggiaTreno per ottenere la scheda con i dettagli di un treno dato il suo numero
void DownloadViaggiaTreno::richiestaHTTPDettagliTreno(DownloadViaggiaTrenoItem *item)
{
- QNetworkRequest request;
+ QNetworkRequest request;
- // request.setUrl(QUrl(QString("http://mobile.viaggiatreno.it/viaggiatreno/mobile/scheda?dettaglio=visualizza&numeroTreno=%1&tipoRicerca=numero&lang=IT").arg(item->dato("Numero"))));
- request.setUrl(QUrl(QString("http://mobile.viaggiatreno.it/vt_pax_internet/mobile/scheda?dettaglio=visualizza&numeroTreno=%1&tipoRicerca=numero&lang=IT").arg(item->dato("Numero"))));
- request.setOriginatingObject(item);
- QNetworkReply *reply = m_nam->get(request);
- connect(reply, SIGNAL(finished()), this, SLOT(downloadEffettuato()));
+ request.setUrl(QUrl(QString("http://mobile.viaggiatreno.it/viaggiatreno/mobile/scheda?dettaglio=visualizza&numeroTreno=%1&tipoRicerca=numero&lang=IT").arg(item->dato("Numero"))));
+ request.setOriginatingObject(item);
+ QNetworkReply *reply = m_nam->get(request);
+ connect(reply, SIGNAL(finished()), this, SLOT(downloadEffettuato()));
}
@@ -229,8 +225,7 @@ void DownloadViaggiaTreno::richiestaHTTP
{
QNetworkRequest request;
-// request.setUrl(QUrl(QString("http://mobile.viaggiatreno.it/viaggiatreno/mobile/scheda?dettaglio=visualizza&numeroTreno=%1&&codLocOrig=%2&tipoRicerca=numero&lang=IT").
- request.setUrl(QUrl(QString("http://mobile.viaggiatreno.it/vt_pax_internet/mobile/scheda?dettaglio=visualizza&numeroTreno=%1&&codLocOrig=%2&tipoRicerca=numero&lang=IT").
+ request.setUrl(QUrl(QString("http://mobile.viaggiatreno.it/viaggiatreno/mobile/scheda?dettaglio=visualizza&numeroTreno=%1&&codLocOrig=%2&tipoRicerca=numero&lang=IT").
arg(item->dato("Numero")).arg(item->dato("CodiceStazione"))));
request.setOriginatingObject(item);
QNetworkReply *reply = m_nam->get(request);
@@ -242,32 +237,32 @@ void DownloadViaggiaTreno::richiestaHTTP
//questo slot viene chiamato quando un download da ViaggiaTreno è terminato
void DownloadViaggiaTreno::downloadEffettuato()
{
- QNetworkReply *reply = qobject_cast(sender());
+ QNetworkReply *reply = qobject_cast(sender());
- QString risposta = QString::fromUtf8(reply->readAll());
- //il file XHTML generato da viaggiatreno non è sintatticamente corretto, vanno corretti alcuni errori
- risposta = correggiOutputVT(risposta);
+ QString risposta = QString::fromUtf8(reply->readAll());
+ //il file XHTML generato da viaggiatreno non è sintatticamente corretto, vanno corretti alcuni errori
+ risposta = correggiOutputVT(risposta);
// debugStringa(risposta);
//ricava l'item corrispondente a questo downloadQNetworkReply
- DownloadViaggiaTrenoItem * item = qobject_cast(reply->request().originatingObject());
+ DownloadViaggiaTrenoItem * item = qobject_cast(reply->request().originatingObject());
- //recupera puntatore alla scheda
- SchedaQViaggiaTreno* scheda = m_qvt->scheda(item->idScheda());
+ //recupera puntatore alla scheda
+ SchedaQViaggiaTreno* scheda = m_qvt->scheda(item->idScheda());
- //se la scheda è ancora aperta richiama la funzione downloadFinito della scheda, altrimenti non fare nulla
- if (scheda)
- scheda->downloadFinito(risposta);
+ //se la scheda è ancora aperta richiama la funzione downloadFinito della scheda, altrimenti non fare nulla
+ if (scheda)
+ scheda->downloadFinito(risposta);
- //in questa sezione andrà aggiunta il testo della scheda alla cache se necessario
+ //in questa sezione andrà aggiunta il testo della scheda alla cache se necessario
- //l'item non serve più, liberare memoria
- delete item;
+ //l'item non serve più, liberare memoria
+ delete item;
- //la risposta non serve più, liberare memoria
- reply->deleteLater();
+ //la risposta non serve più, liberare memoria
+ reply->deleteLater();
}
@@ -277,8 +272,7 @@ bool DownloadViaggiaTreno::controllaViag
{
//prova a scaricare la pagina di query di un treno di ViaggiaTreno
QNetworkRequest request;
- //request.setUrl(QUrl("http://mobile.viaggiatreno.it/viaggiatreno/mobile/"));
- request.setUrl(QUrl("http://mobile.viaggiatreno.it/vt_pax_internet/mobile"));
+ request.setUrl(QUrl("http://mobile.viaggiatreno.it/viaggiatreno/mobile/"));
QNetworkReply *reply = m_nam->get(request);
// usa un event loop per effettuare una richiesta sincrona
--- qviaggiatreno-2013.7.3.orig/src/qviaggiatreno.h
+++ qviaggiatreno-2013.7.3/src/qviaggiatreno.h
@@ -22,42 +22,34 @@
#ifndef QVIAGGIATRENO_H
#define QVIAGGIATRENO_H
-#include
+#include
#include
#include "config.h"
class SchedaStazione;
class SchedaTreno;
class SchedaListaTreni;
-class SchedaAvvisiTrenord;
class SchedaQViaggiaTreno;
class DownloadViaggiaTreno;
-class DownloadTrenord;
class QLedIndicator;
class QViaggiaTreno:public QMainWindow
{
- Q_OBJECT
+ Q_OBJECT
public:
- QViaggiaTreno();
- ~QViaggiaTreno();
+ QViaggiaTreno();
+ ~QViaggiaTreno();
- //restituisce un puntatore al QNetworkAccessManager che è globale per l'applicazione
- QNetworkAccessManager* networkAccessManager() {return m_nam;}
+ //restituisce un puntatore al QNetworkAccessManager che è globale per l'applicazione
+ QNetworkAccessManager* networkAccessManager() {return m_nam;}
- //restituisce un puntatore alla classe per il download da viaggiatreno
- DownloadViaggiaTreno * downloadViaggiaTreno() {return m_downloadViaggiaTreno;}
+ //restituisce un puntatore alla classe per il download da viaggiatreno
+ DownloadViaggiaTreno * downloadViaggiaTreno() {return m_downloadViaggiaTreno;}
- //restituisce un puntatore alla classe per il download dal sito Trenord
- DownloadTrenord* downloadTrenord() {return m_downloadTrenord;}
-
- //restituisce un puntatore ad una scheda dato il suo id
- SchedaQViaggiaTreno* scheda(quint32 id);
-
- //restituisce true se il puntatore punta ad una scheda ancora aperta
- bool schedaAperta(SchedaQViaggiaTreno* scheda);
+ //restituisce un puntatore ad una scheda dato il suo id
+ SchedaQViaggiaTreno* scheda(quint32 id);
Configurazione& configurazione() {return m_configurazione;}
@@ -65,86 +57,82 @@ public:
protected:
private slots:
- void about();
- void visualizzaLicenza();
- void nuovaStazione();
+ void about();
+ void visualizzaLicenza();
+ void nuovaStazione();
SchedaStazione* nuovaStazione(const QString& stazione, bool nomeEsatto = false, int intervallo = 0, bool nonAvviare = false);
- SchedaListaTreni* nuovaListaTreni();
- SchedaAvvisiTrenord* nuovaSchedaAvvisiTrenord();
- void nuovoTreno();
- SchedaTreno* nuovoTreno(const QString& numeroTreno, int intervallo = 0);
+ SchedaListaTreni* nuovaListaTreni();
+ void nuovoTreno();
+ SchedaTreno* nuovoTreno(const QString& numeroTreno, int intervallo = 0);
SchedaTreno* nuovoTreno(const QString& numeroTreno, const QString& codiceOrigine, int intervallo = 0);
- void chiudiScheda(int id);
- void avvia();
- void avviaTutte();
- void ferma();
- void fermaTutte();
- void aggiorna();
- void configura();
- void schedaCambiata(int indice);
- void modificaIntervallo();
+ void chiudiScheda(int id);
+ void avvia();
+ void avviaTutte();
+ void ferma();
+ void fermaTutte();
+ void aggiorna();
+ void configura();
+ void schedaCambiata(int indice);
+ void modificaIntervallo();
void modificaIntervalloConSpinBox(int intervallo);
- void aggiornaStatoScheda(quint32 idScheda);
- void aggiornaNomeScheda(quint32 idScheda);
- void sincronizzaGUI(quint32 idScheda);
- void mostraMessaggioStatusBar(const QString& msg);
+ void aggiornaStatoScheda(quint32 idScheda);
+ void aggiornaNomeScheda(quint32 idScheda);
+ void sincronizzaGUI(quint32 idScheda);
+ void mostraMessaggioStatusBar(const QString& msg);
void stampaSchedaCorrente();
void esportaSchedaCorrente();
-
- //azioni per menu/toolbar specifici per tipo di scheda
- //implementazione in qviaggiatrenoslots_schede.cpp
- void modificaNomeStazione();
- void apri();
- void salva();
- void salvaConNome();
- void aggiungiTreni();
- void rimuoviTreni();
- void rimuoviTuttiITreni();
- void impostaTitolo();
+ //azioni per menu/toolbar specifici per tipo di scheda
+ //implementazione in qviaggiatrenoslots_schede.cpp
+ void modificaNomeStazione();
+ void apri();
+ void salva();
+ void salvaConNome();
+ void aggiungiTreni();
+ void rimuoviTreni();
+ void rimuoviTuttiITreni();
+ void impostaTitolo();
void statoViaggiaTrenoCambiato(bool);
-
+
private:
- void creaWidgetCentrale();
- void creaAzioni();
- void creaMenu();
- void creaToolBar();
- void creaStatusBar();
+ void creaWidgetCentrale();
+ void creaAzioni();
+ void creaMenu();
+ void creaToolBar();
+ void creaStatusBar();
void leggiImpostazioniFinestra();
void ripristinaSchede();
void salvaSchede();
void scriviImpostazioniFinestra();
- SchedaQViaggiaTreno * schedaCorrente();
+ SchedaQViaggiaTreno * schedaCorrente();
void impostaProxy();
- void closeEvent(QCloseEvent *event);
+ void closeEvent(QCloseEvent *event);
- QMenu *m_viaggiatrenoMenu, *m_opzioniMenu, *m_helpMenu;
- QMenu *m_stazioneMenu, *m_trenoMenu, *m_listaTreniMenu;
- QToolBar *m_mainToolBar, *m_listaToolbar;
- QAction *m_exitAct, *m_nuovaStazioneAct, *m_nuovoTrenoAct, *m_nuovaListaTreniAct;
- QAction *m_avvisiTrenordAct;
- QAction *m_configuraAct;
- QAction *m_aboutAct, *m_aboutQtAct, *m_licenseAct;
+ QMenu *m_viaggiatrenoMenu, *m_opzioniMenu, *m_helpMenu;
+ QMenu *m_stazioneMenu, *m_trenoMenu, *m_listaTreniMenu;
+ QToolBar *m_mainToolBar, *m_listaToolbar;
+ QAction *m_exitAct, *m_nuovaStazioneAct, *m_nuovoTrenoAct, *m_nuovaListaTreniAct;
+ QAction *m_configuraAct;
+ QAction *m_aboutAct, *m_aboutQtAct, *m_licenseAct;
QAction *m_fermaAct, *m_avviaAct, *m_fermaTutteAct, *m_avviaTutteAct;
QAction *m_aggiornaAct, *m_intervalloAct, *m_aggiungiTrenoAct;
QAction *m_riprovaComunicazioneConVTAct;
- QAction *m_rimuoviTrenoAct, *m_rimuoviTuttiAct, *m_impostaTitoloAct;
+ QAction *m_rimuoviTrenoAct, *m_rimuoviTuttiAct, *m_impostaTitoloAct;
QAction *m_spinIntervalloAct;
- QAction *m_cambiaNomeStazioneAct, *m_apriAct, *m_salvaAct, *m_salvaConNomeAct;
+ QAction *m_cambiaNomeStazioneAct, *m_apriAct, *m_salvaAct, *m_salvaConNomeAct;
QAction *m_stampaSchedaAct, *m_esportaSchedaAct;
- QTabWidget *m_schede;
- QSpinBox *m_spinIntervallo;
+ QTabWidget *m_schede;
+ QSpinBox *m_spinIntervallo;
QDialog *m_licenseDialog;
QLedIndicator *m_ledStatoViaggiaTreno;
- int maxStazioni;
- QStringList m_listaStazioniMonitorate;
-
- QMap m_listaSchede;
+ int maxStazioni;
+ QStringList m_listaStazioniMonitorate;
+
+ QMap m_listaSchede;
- DownloadViaggiaTreno* m_downloadViaggiaTreno;
- DownloadTrenord* m_downloadTrenord;
+ DownloadViaggiaTreno* m_downloadViaggiaTreno;
QNetworkAccessManager* m_nam;
//impostazioni
--- qviaggiatreno-2013.7.3.orig/src/schedalistatreni.cpp
+++ qviaggiatreno-2013.7.3/src/schedalistatreni.cpp
@@ -177,7 +177,13 @@ void SchedaListaTreni::downloadFinito(co
if (!m_parser->analizzaRiepilogoPerLista(*treno))
{
cambiaStato(statoErrore);
- treno->impostaStatoTreno(TrenoVT::DatiSconosciuti);
+ QMessageBox msgBox;
+ msgBox.setIcon(QMessageBox::Warning);
+ msgBox.setText(QString::fromUtf8("Errore durante l'analisi della risposta di ViaggiaTreno. Se il problema persiste contattare l'autore"));
+ //msgBox.setDetailedText(QString::fromUtf8("Ricevuto messaggio di errore %1 alla riga %2, colonna %3.\nTesto:\n %4").arg(m_parser->errore())
+ // .arg(m_parser->rigaErrore()).arg(m_parser->colErrore()).arg(m_parser->rispostaVTAnalizzata()));
+ msgBox.exec();
+ treno->impostaStatoTreno(TrenoVT::DatiSconosciuti);
return;
}
}
@@ -194,7 +200,7 @@ void SchedaListaTreni::downloadFinito(co
{
m_trenoAttuale = "";
m_ultimoAgg = QDateTime::currentDateTime();
- m_widget->impostaAggiornamento(m_ultimoAgg.toString("dd/MM/yyyy hh:mm"));
+ m_widget->impostaAggiornamento(m_ultimoAgg.toString(Qt::DefaultLocaleShortDate));
cambiaStato(statoMonitoraggioAttivo);
}
else
@@ -294,12 +300,10 @@ void SchedaListaTreni::salvaConNome()
QString filename = QFileDialog::getSaveFileName(this, QString::fromUtf8("Salva file con nome"),
QDir::homePath(), QString::fromUtf8("File QViaggiaTreno (*.qvt)"));
if (filename != "")
- {
// se il file non ha una estensione, aggiungi l'estensione .qvt
if (QFileInfo(filename).suffix() == "")
filename.append(".qvt");
- salvaFile(filename);
- }
+ salvaFile(filename);
}
void SchedaListaTreni::salvaFile(const QString& filename)
--- qviaggiatreno-2013.7.3.orig/src/schedatreno.cpp
+++ qviaggiatreno-2013.7.3/src/schedatreno.cpp
@@ -26,55 +26,55 @@
#include "utils.h"
SchedaTreno::SchedaTreno(QViaggiaTreno *parent, const QString &numero, const unsigned int intervalloStandard) :
- SchedaQViaggiaTreno(parent, tsTreno, intervalloStandard)
+ SchedaQViaggiaTreno(parent, tsTreno, intervalloStandard)
{
- m_numero = numero;
+ m_numero = numero;
m_codiceStazioneOrigine = "";
m_idTabelle = m_idNumeroSbagliato = m_idNumeroAmbiguo = -1;
- m_riepilogoScaricato = false;
+ m_riepilogoScaricato = false;
- //crea il widget con le tabelle
- m_widget = new WidgetDatiTreno(this);
- m_idTabelle = addWidget(m_widget);
- setCurrentIndex(m_idTabelle);
+ //crea il widget con le tabelle
+ m_widget = new WidgetDatiTreno(this);
+ m_idTabelle = addWidget(m_widget);
+ setCurrentIndex(m_idTabelle);
- //imposta il parser
- m_parser = new ParserTrenoViaggiaTreno(this);
+ //imposta il parser
+ m_parser = new ParserTrenoViaggiaTreno(this);
m_orarioTreno.inizializza();
- m_widget->inizializza();
- m_widget->impostaNumeroTreno(numero);
+ m_widget->inizializza();
+ m_widget->impostaNumeroTreno(numero);
- //connessioni
- connect(this, SIGNAL(statoCambiato(quint32)), parent, SLOT(aggiornaStatoScheda(quint32)));
- connect(this, SIGNAL(nomeSchedaCambiato(quint32)), parent, SLOT(aggiornaNomeScheda(quint32)));
+ //connessioni
+ connect(this, SIGNAL(statoCambiato(quint32)), parent, SLOT(aggiornaStatoScheda(quint32)));
+ connect(this, SIGNAL(nomeSchedaCambiato(quint32)), parent, SLOT(aggiornaNomeScheda(quint32)));
connect(this, SIGNAL(apriSchedaStazione(const QString&, bool)), parent, SLOT(nuovaStazione(const QString&, bool)));
- connect(this, SIGNAL(messaggioStatus(const QString&)), parent, SLOT(mostraMessaggioStatusBar(const QString&)));
- connect(this, SIGNAL(downloadRiepilogoTreno(quint32, QString)), qViaggiaTreno()->downloadViaggiaTreno(), SLOT(downloadRiepilogoTreno(quint32, QString)));
+ connect(this, SIGNAL(messaggioStatus(const QString&)), parent, SLOT(mostraMessaggioStatusBar(const QString&)));
+ connect(this, SIGNAL(downloadRiepilogoTreno(quint32, QString)), qViaggiaTreno()->downloadViaggiaTreno(), SLOT(downloadRiepilogoTreno(quint32, QString)));
connect(this, SIGNAL(downloadRiepilogoTreno(quint32,QString,QString)), qViaggiaTreno()->downloadViaggiaTreno(), SLOT(downloadRiepilogoTreno(quint32, QString, QString)));
- connect(this, SIGNAL(downloadDettagliTreno(quint32,QString)), qViaggiaTreno()->downloadViaggiaTreno(), SLOT(downloadDettagliTreno(quint32, QString)));
- connect(this, SIGNAL(downloadDettagliTreno(quint32,QString,QString)), qViaggiaTreno()->downloadViaggiaTreno(), SLOT(downloadDettagliTreno(quint32, QString, QString)));
+ connect(this, SIGNAL(downloadDettagliTreno(quint32,QString)), qViaggiaTreno()->downloadViaggiaTreno(), SLOT(downloadDettagliTreno(quint32, QString)));
+ connect(this, SIGNAL(downloadDettagliTreno(quint32,QString,QString)), qViaggiaTreno()->downloadViaggiaTreno(), SLOT(downloadDettagliTreno(quint32, QString, QString)));
}
//restituisce una stringa contente il numero del treno monitorato
QString SchedaTreno::numero() const
{
- return m_numero;
+ return m_numero;
}
//restituisce il titolo della scheda
//nel caso di una scheda per il monitoraggio di un treno restituisce semplicemente il numero del treno
QString SchedaTreno::titolo( bool /*titoloBreve*/) const
{
- return m_numero;
+ return m_numero;
}
//slot
//questo slot viene richiamato quando scatta il timer
void SchedaTreno::aggiorna()
{
- cambiaStato(statoInAggiornamento);
+ cambiaStato(statoInAggiornamento);
//cancella dallo StackedWidget i widget creati per gestire gli errori
if (m_idNumeroAmbiguo != -1)
@@ -100,7 +100,8 @@ void SchedaTreno::downloadFinito(const Q
{
m_widget->inizializza();
m_parser->inizializza();
- //TODO per il momento inizializza l'orario del treno ad ogni nuovo download della scheda di riepilogo
+ //TODO
+ //per il momento inizializza l'orario del treno ad ogni nuovo download della scheda di riepilogo
//ma quando si memorizzeranno i transiti bisogna analizzare caso per caso la situazione...
m_orarioTreno.inizializza();
}
@@ -145,10 +146,15 @@ void SchedaTreno::downloadFinito(const Q
//a questo punto si può analizzare il riepilogo
if (!m_parser->analizzaRiepilogo(m_orarioTreno))
{
- //c'è stato un errore, visualizza un testo di avviso
+ //c'è stato un errore, visualizza una finestra di avviso
cambiaStato(statoErrore);
- m_widget->impostaAggiornamento(QString::fromUtf8("Aggiornamento scheda non riuscito: errore nell'analisi della risposta di ViaggiaTreno"), true);
- m_riepilogoScaricato = false;
+ QMessageBox msgBox;
+ msgBox.setIcon(QMessageBox::Warning);
+ msgBox.setText(QString::fromUtf8("Errore durante l'analisi della risposta di ViaggiaTreno. Se il problema persiste contattare l'autore"));
+ //msgBox.setDetailedText(QString::fromUtf8("Ricevuto messaggio di errore %1 alla riga %2, colonna %3.\nTesto:\n %4").arg(m_parser->errore())
+ // .arg(m_parser->rigaErrore()).arg(m_parser->colErrore()).arg(m_parser->rispostaVTAnalizzata()));
+ msgBox.exec();
+ m_riepilogoScaricato = false;
return;
}
@@ -167,9 +173,15 @@ void SchedaTreno::downloadFinito(const Q
m_riepilogoScaricato = false;
if (!m_parser->analizzaDettagli(m_orarioTreno))
{
- //c'è stato un errore, visualizza un testo di avviso
+ //c'è stato un errore, visualizza una finestra di avviso
cambiaStato(statoErrore);
- m_widget->impostaAggiornamento(QString::fromUtf8("Aggiornamento scheda non riuscito: errore nell'analisi della risposta di ViaggiaTreno"), true);
+ QMessageBox msgBox;
+ msgBox.setIcon(QMessageBox::Warning);
+ msgBox.setText(QString::fromUtf8("Errore durante l'analisi della risposta di ViaggiaTreno. Se il problema persiste contattare l'autore"));
+ // msgBox.setDetailedText(QString::fromUtf8("Ricevuto messaggio di errore %1 alla riga %2, colonna %3.\nTesto:\n %4").arg(m_parser->errore())
+ // .arg(m_parser->rigaErrore()).arg(m_parser->colErrore()).arg(m_parser->rispostaVTAnalizzata()));
+ msgBox.exec();
+
return;
}
@@ -177,16 +189,16 @@ void SchedaTreno::downloadFinito(const Q
m_widget->aggiornaTreno(m_orarioTreno);
cambiaStato(statoMonitoraggioAttivo);
emit messaggioStatus(QString::fromUtf8("Aggiornati dati treno %1").arg(titolo(true)));
- m_widget->impostaAggiornamento(m_ultimoAgg.toString("dd/MM/yyyy hh:mm"));
+ m_widget->impostaAggiornamento(m_ultimoAgg.toString(Qt::DefaultLocaleShortDate));
}
//Salva i dati necessari per poter ripristinare la scheda alla prossima apertura
void SchedaTreno::salvaScheda(QSettings& settings)
{
- settings.setValue("tipo scheda", "treno");
- settings.setValue("numero treno", numero());
- settings.setValue("intervallo", intervallo());
+ settings.setValue("tipo scheda", "treno");
+ settings.setValue("numero treno", numero());
+ settings.setValue("intervallo", intervallo());
settings.setValue("codice stazione origine", codiceOrigine());
}
--- qviaggiatreno-2013.7.3.orig/src/schedastazione.h
+++ qviaggiatreno-2013.7.3/src/schedastazione.h
@@ -39,7 +39,7 @@ public:
QAbstractItemModel *modelloPartenze);
void impostaTitolo(const QString& titolo);
- void impostaAggiornamento(const QString& aggiornamento, bool errore = false);
+ void impostaAggiornamento(const QString& aggiornamento);
tipoFiltro tipoFiltroArriviAttivo() const {return (tipoFiltro)comboBoxTipoFiltroArrivi->currentIndex();}
tipoFiltro tipoFiltroPartenzeAttivo() const {return (tipoFiltro)comboBoxTipoFiltroPartenze->currentIndex();}
QString filtroArriviAttivo() const {return comboBoxFiltroArrivi->currentText();}
--- qviaggiatreno-2013.7.3.orig/src/schedatreno_widget.cpp
+++ qviaggiatreno-2013.7.3/src/schedatreno_widget.cpp
@@ -148,22 +148,22 @@ WidgetDatiTreno::WidgetDatiTreno(SchedaT
layout->addWidget(m_provvedimenti);
//crea un nuovo tab widget che conterrà tutti i dettagli sulla marcia del treno
- m_dettagli = new QTabWidget(this);
- m_dettagli->setMovable(true);
- layout->addWidget(m_dettagli, 1);
+ m_dettagli = new QTabWidget(this);
+ m_dettagli->setMovable(true);
+ layout->addWidget(m_dettagli, 1);
//aggiungi al tab widget una linguetta con l'elenco delle fermate intermedie
m_tabella = new TabellaFermate(this);
m_dettagli->addTab(m_tabella, QString::fromUtf8("Elenco fermate intermedie"));
//aggiungi al tab widget una linguetta con i dettagli della marcia del treno, per il momento vuota
- //m_dettagli->addTab(new QWidget, QString::fromUtf8("Marcia treno"));
+ //m_dettagli->addTab(new QWidget, QString::fromUtf8("Marcia treno"));
setLayout(layout);
//conessioni
connect(m_stazionePartenza, SIGNAL(linkActivated(const QString& )), this, SLOT(linkAttivato(const QString&)));
connect(m_stazioneArrivo, SIGNAL(linkActivated(const QString& )), this, SLOT(linkAttivato(const QString&)));
- connect(this, SIGNAL(apriSchedaStazione(const QString&, bool)), parent, SIGNAL(apriSchedaStazione(const QString&, bool)));
+ connect(this, SIGNAL(apriSchedaStazione(const QString&, bool)), parent, SIGNAL(apriSchedaStazione(const QString&, bool)));
//connect(m_tabella, SIGNAL(itemActivated(QTableWidgetItem *)), this, SLOT(itemAttivato(QTableWidgetItem*)));
connect(m_tabella, SIGNAL(itemClicked(QTableWidgetItem *)), this, SLOT(itemAttivato(QTableWidgetItem*)));
}
@@ -173,15 +173,9 @@ void WidgetDatiTreno::impostaNumeroTreno
m_titolo->setText(QString::fromUtf8("Treno %1").arg(numero));
}
-void WidgetDatiTreno::impostaAggiornamento(const QString& messaggio, bool errore)
+void WidgetDatiTreno::impostaAggiornamento(const QString& orario)
{
- //se errore è true allora il parsing non è andato a buon fine, imposta il messaggio in rosso
- //e grassetto per evidenziarlo
- if (errore)
- m_aggiornamento->setText(QString("%1").arg(messaggio));
- else
- m_aggiornamento->setText(messaggio);
-
+ m_aggiornamento->setText(QString::fromUtf8("Ultimo aggiornamento: %1").arg(orario));
}
void WidgetDatiTreno::aggiornaTreno(const TrenoVT::DatiTreno& treno)
@@ -327,7 +321,7 @@ void WidgetDatiTreno::inizializza()
//Questo slot viene attivato quando si fa click sul nome di una stazione. Viene emesso un segnale per attivare l'apertura della scheda della stazione corrispondente
void WidgetDatiTreno::linkAttivato(const QString& testo)
{
- emit apriSchedaStazione(ParserViaggiaTrenoBase::sostituisciNomeStazione(testo), true);
+ emit apriSchedaStazione(testo, true);
}
void WidgetDatiTreno::itemAttivato(QTableWidgetItem* item)
@@ -335,7 +329,7 @@ void WidgetDatiTreno::itemAttivato(QTabl
int col = item->column();
if (col == TrenoVT::colFermata)
- emit(apriSchedaStazione(ParserViaggiaTrenoBase::sostituisciNomeStazione(item->text()), true));
+ emit(apriSchedaStazione(item->text(), true));
}
--- qviaggiatreno-2013.7.3.orig/src/schedatreno.h
+++ qviaggiatreno-2013.7.3/src/schedatreno.h
@@ -92,7 +92,7 @@ public:
WidgetDatiTreno(SchedaTreno* parent);
void impostaNumeroTreno(const QString& numero);
- void impostaAggiornamento(const QString& messaggio, bool errore = false);
+ void impostaAggiornamento(const QString& orario);
void aggiornaTreno(const TrenoVT::DatiTreno& treno);
void impostaStato(TrenoVT::StatoTreno stato);
void impostaStato(TrenoVT::StatoTreno stato, TrenoVT::DatiTreno treno);
--- qviaggiatreno-2013.7.3.orig/src/src.pro
+++ qviaggiatreno-2013.7.3/src/src.pro
@@ -1,21 +1,3 @@
-TEMPLATE = app
-CONFIG += warn_on
-QT += xml webkitwidgets
-TARGET = qviaggiatreno
-DESTDIR = ../bin
-RESOURCES = application.qrc
-MOC_DIR = ../build/moc
-RCC_DIR = ../build/rcc
-UI_DIR = ../build/ui
-unix:OBJECTS_DIR = ../build/o/unix
-win32:OBJECTS_DIR = ../build/o/win32
-macx:OBJECTS_DIR = ../build/o/mac
-
-FORMS += dlgnomestazione.ui \
- dlgconfigurazione.ui \
- wgtstazione.ui \
- wgtavvisitrenord.ui
-
SOURCES += qviaggiatreno.cpp \
main.cpp \
schedaviaggiatreno.cpp \
@@ -35,12 +17,7 @@ SOURCES += qviaggiatreno.cpp \
dialogo_configurazione.cpp \
qledindicator.cpp \
parser_viaggiatreno_stazione.cpp \
- parser_viaggiatreno_treno.cpp \
- schedaavvisitrenord.cpp \
- schedaavvisitrenord_widget.cpp \
- download_trenord.cpp \
- parser_trenord.cpp \
- parser_viaggiatreno_base.cpp
+ parser_viaggiatreno_treno.cpp
HEADERS += qviaggiatreno.h \
schedaviaggiatreno.h \
schedastazione.h \
@@ -56,13 +33,27 @@ HEADERS += qviaggiatreno.h \
parser_viaggiatreno_stazione.h \
parser_viaggiatreno_treno.h \
parser_viaggiatreno_lista.h \
- parser_viaggiatreno_base.h \
- schedaavvisitrenord.h \
- download_trenord.h \
- parser_trenord.h
-
-
+ parser_viaggiatreno_base.h
+TEMPLATE = app
+CONFIG += warn_on
+QT += network \
+ xml
+#INCLUDEPATH += ../qwt ../qmapcontrol
+#LIBS += -L../qwt -lqwt -L../qmapcontrol -lqmapcontrol
+TARGET = qviaggiatreno
+DESTDIR = ../bin
+RESOURCES = application.qrc
+MOC_DIR = ../build/moc
+RCC_DIR = ../build/rcc
+UI_DIR = ../build/ui
+unix:OBJECTS_DIR = ../build/o/unix
+win32:OBJECTS_DIR = ../build/o/win32
+macx:OBJECTS_DIR = ../build/o/mac
+FORMS += \
+ dlgnomestazione.ui \
+ dlgconfigurazione.ui \
+ wgtstazione.ui
--- qviaggiatreno-2013.7.3.orig/src/parser_viaggiatreno_stazione.h
+++ qviaggiatreno-2013.7.3/src/parser_viaggiatreno_stazione.h
@@ -26,8 +26,6 @@
#include
#include
-#include "parser_viaggiatreno_base.h"
-
class SchedaQViaggiaTreno;
namespace StazioneVT
@@ -86,7 +84,7 @@ public:
//Questa classe si occupa del parsing della pagina di ViaggiaTreno
//con il quadro Arrivi/Partenze di una stazione
-class ParserStazioneViaggiaTreno : public ParserViaggiaTrenoBase
+class ParserStazioneViaggiaTreno : public QObject
{
Q_OBJECT
public:
--- qviaggiatreno-2013.7.3.orig/src/schedaviaggiatreno.h
+++ qviaggiatreno-2013.7.3/src/schedaviaggiatreno.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008-2012 by fra74 *
+ * Copyright (C) 2008-2010 by fra74 *
* francesco.b74@gmail.com *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -22,7 +22,7 @@
#ifndef SCHEDAVIAGGIATRENO_H
#define SCHEDAVIAGGIATRENO_H
//
-#include
+#include
#include
#include
@@ -33,7 +33,7 @@ class SchedaQViaggiaTreno : public QStac
{
Q_OBJECT
public:
- enum TipoScheda {tsStazione, tsTreno, tsListaTreni, tsAvvisiTrenord};
+ enum TipoScheda {tsStazione, tsTreno, tsListaTreni};
SchedaQViaggiaTreno(QViaggiaTreno *parent, TipoScheda ts, const unsigned int intervalloStandard);
//restituisce un puntatore all'istanza della classe QViaggiaTreno
@@ -103,6 +103,7 @@ signals:
void statoCambiato(quint32 id);
void nomeSchedaCambiato(quint32 id);
void apriSchedaStazione(const QString& stazione, bool nomeEsatto);
+ //TODO: questo segnale potrebbe essere obsoleto
void apriSchedaTreno(const QString& treno);
void apriSchedaTreno(const QString& treno, const QString& codice);
void messaggioStatus(const QString& msg);
--- qviaggiatreno-2013.7.3.orig/src/schedalistatreni.h
+++ qviaggiatreno-2013.7.3/src/schedalistatreni.h
@@ -106,7 +106,7 @@ public:
void ridimensionaColonne();
void impostaTitolo(const QString& titolo);
void aggiornaTreno(const ListaVT::DatiTreno* treno);
- void impostaAggiornamento(const QString& testo, bool errore = false);
+ void impostaAggiornamento(const QString& testo);
void rimuoviTuttiITreni();
--- qviaggiatreno-2013.7.3.orig/src/utils.h
+++ qviaggiatreno-2013.7.3/src/utils.h
@@ -23,11 +23,18 @@
#define UTILS_H
#include
-#include
+#include
//funzioni utili per il debug
QString dumpNodo(QDomNode nodo);
void debugNodo(QDomNode nodo);
void debugStringa(QString stringa);
+//corregge il codice XHTML delle pagine di ViaggiaTreno
+QString correggiOutputVT(QString testoVT);
+
+//corregge il nome di alcune stazioni erroneo a causa di bug di ViaggiaTreno
+QString sostituisciNomeStazione(const QString &nome);
+
+
#endif // UTILS_H
--- qviaggiatreno-2013.7.3.orig/src/schedastazione_widget.cpp
+++ qviaggiatreno-2013.7.3/src/schedastazione_widget.cpp
@@ -88,8 +88,8 @@ WidgetStazione::WidgetStazione(QWidget *
tabellaArrivi->setModel(modelloArrivi);
tabellaPartenze->setModel(modelloPartenze);
- tabellaArrivi->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
- tabellaPartenze->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
+ tabellaArrivi->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents);
+ tabellaPartenze->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents);
//attiva il tracking dei movimenti del mouse
tabellaArrivi->setMouseTracking(true);
@@ -120,14 +120,9 @@ void WidgetStazione::impostaTitolo(const
labelTitolo->setText(titolo);
}
-void WidgetStazione::impostaAggiornamento(const QString &aggiornamento, bool errore)
+void WidgetStazione::impostaAggiornamento(const QString &aggiornamento)
{
- //se errore è true allora il parsing non è andato a buon fine, imposta il messaggio in rosso
- //e grassetto per evidenziarlo
- if (errore)
- labelAggiornamento->setText(QString("%1").arg(aggiornamento));
- else
- labelAggiornamento->setText(aggiornamento);
+ labelAggiornamento->setText(aggiornamento);
}
--- qviaggiatreno-2013.7.3.orig/src/schedastazione.cpp
+++ qviaggiatreno-2013.7.3/src/schedastazione.cpp
@@ -171,7 +171,10 @@ void SchedaStazione::downloadFinito(cons
{
//errore nel parsing
cambiaStato(statoErrore);
- m_widgetStazione->impostaAggiornamento(QString::fromUtf8("Aggiornamento scheda non riuscito: errore nell'analisi della risposta di ViaggiaTreno"), true);
+ QMessageBox msgBox;
+ msgBox.setIcon(QMessageBox::Warning);
+ msgBox.setText(QString::fromUtf8("Errore durante l'analisi della risposta di ViaggiaTreno. Se il problema persiste contattare l'autore"));
+ msgBox.exec();
return;
}
@@ -196,8 +199,7 @@ void SchedaStazione::downloadFinito(cons
m_ultimoAgg = QDateTime::currentDateTime();
- m_widgetStazione->impostaAggiornamento(QString::fromUtf8("Ultimo aggiornamento: %1").
- arg(m_ultimoAgg.toString("dd/MM/yyyy hh:mm")));
+ m_widgetStazione->impostaAggiornamento(QString::fromUtf8("Ultimo aggiornamento: %1").arg(m_ultimoAgg.toString(Qt::DefaultLocaleShortDate)));
cambiaStato(statoMonitoraggioAttivo);
emit messaggioStatus(QString::fromUtf8("Aggiornati dati stazione di %1").arg(titolo(true)));
@@ -245,7 +247,7 @@ void SchedaStazione::itemAttivato(const
const ModelloStazione *modello = qobject_cast(indice_originale.model());
if (col == StazioneVT::colStazione)
- emit(apriSchedaStazione(ParserViaggiaTrenoBase::sostituisciNomeStazione(modello->data(indice_originale, Qt::DisplayRole).toString()), true));
+ emit(apriSchedaStazione(modello->data(indice_originale, Qt::DisplayRole).toString(), true));
if (col == StazioneVT::colNumero)
emit(apriSchedaTreno(modello->data(indice_originale, Qt::DisplayRole).toString(),
--- qviaggiatreno-2013.7.3.orig/src/parser_viaggiatreno_base.h
+++ qviaggiatreno-2013.7.3/src/parser_viaggiatreno_base.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2010-2013 by fra74 *
+ * Copyright (C) 2010-2011 by fra74 *
* francesco.b74@gmail.com *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -22,14 +22,7 @@
#ifndef PARSER_VIAGGIATRENO_BASE_H
#define PARSER_VIAGGIATRENO_BASE_H
-#include
+#include
-class ParserViaggiaTrenoBase : public QObject
-{
- Q_OBJECT
-public:
- static QString sostituisciNomeStazione(const QString &nome);
-};
-
-#endif //PARSER_VIAGGIATRENO_BASE_H
+#endif // PARSER_VIAGGIATRENO_BASE_H
--- qviaggiatreno-2013.7.3.orig/src/parser_viaggiatreno_stazione.cpp
+++ qviaggiatreno-2013.7.3/src/parser_viaggiatreno_stazione.cpp
@@ -105,10 +105,10 @@ bool ParserStazioneViaggiaTreno::analizz
QDomElement h1 = body.firstChildElement("h1");
m_stazione = h1.text().section(' ', 2);
- int inizioArrivi, fineArrivi, inizioPartenze, finePartenze;
+ uint inizioArrivi, fineArrivi, inizioPartenze, finePartenze;
inizioArrivi = fineArrivi = inizioPartenze = finePartenze = -1;
//scorre la lista alla ricerca di tutti i commenti
- for (int idx = 0; idx < nodi.length(); idx++)
+ for (uint idx = 0; idx < nodi.length(); idx++)
{
if (nodi.at(idx).isComment())
{
@@ -116,7 +116,7 @@ bool ParserStazioneViaggiaTreno::analizz
{
inizioPartenze = idx+1;
//individua il commento successivo che identifica la fine del blocco di arrivi o partenze
- for (int j = idx +1; j < nodi.length(); j++)
+ for (uint j = idx +1; j < nodi.length(); j++)
{
if (nodi.at(j).isComment())
{
@@ -132,7 +132,7 @@ bool ParserStazioneViaggiaTreno::analizz
{
inizioArrivi = idx+1;
//individua il commento successivo che identifica la fine del blocco di arrivi o partenze
- for (int j = idx +1; j < nodi.length(); j++)
+ for (uint j = idx +1; j < nodi.length(); j++)
{
if (nodi.at(j).isComment())
{
@@ -151,7 +151,7 @@ bool ParserStazioneViaggiaTreno::analizz
//itera lungo la lista dei nodi, partendo dal primo elemento che rappresenta un treno in partenza
//e finendo con l'ultimo elemento. I rispettivi indici sono memorizzati in idxInizioPartenze, idxFinePartenze
- for (int j=inizioPartenze, i=0 ; j <= finePartenze; j++,i++)
+ for (uint j=inizioPartenze, i=0 ; j <= finePartenze; j++,i++)
{
StazioneVT::DatiTreno treno;
//recupera l'elemento dom corrente
@@ -174,9 +174,7 @@ bool ParserStazioneViaggiaTreno::analizz
QDomElement stazione = bloccotreno.firstChildElement("strong");
QDomElement orario = stazione.nextSiblingElement("strong");
- //TODO: test
- //treno.impostaStazione(sostituisciNomeStazione(stazione.text()));
- treno.impostaStazione(stazione.text());
+ treno.impostaStazione(sostituisciNomeStazione(stazione.text()));
treno.impostaOrario(orario.text());
QString datitreno = bloccotreno.text();
@@ -258,7 +256,7 @@ bool ParserStazioneViaggiaTreno::analizz
}
//ripete la procedura anche per gli arrivi
- for (int j=inizioArrivi, i=0 ; j <= fineArrivi; j++,i++)
+ for (uint j=inizioArrivi, i=0 ; j <= fineArrivi; j++,i++)
{
StazioneVT::DatiTreno treno;
//recupera l'elemento dom corrente
@@ -281,10 +279,8 @@ bool ParserStazioneViaggiaTreno::analizz
QDomElement stazione = bloccotreno.firstChildElement("strong");
QDomElement orario = stazione.nextSiblingElement("strong");
- //TODO: test
- //treno.impostaStazione(sostituisciNomeStazione(stazione.text()));
- treno.impostaStazione(stazione.text());
- treno.impostaOrario(orario.text());
+ treno.impostaStazione(sostituisciNomeStazione(stazione.text()));
+ treno.impostaOrario(orario.text());
QString datitreno = bloccotreno.text();
@@ -426,7 +422,7 @@ QVariant ModelloStazione::headerData(int
//passa al modello la lista dei treni
void ModelloStazione::aggiornaModello(const QList &treni)
{
-beginResetModel();
+
m_treni = treni;
//pulisce le liste di stazioni e categorie
m_stazioni.clear();
@@ -445,8 +441,8 @@ beginResetModel();
//ed ordina le liste
m_categorie.sort();
m_stazioni.sort();
-endResetModel();
+ reset();
}
QVariant ModelloStazione::data(const QModelIndex &index, int role) const
debian/patches/series 0000644 0000000 0000000 00000000042 12215774225 012035 0 ustar revert-2012.9.patch
new-url.patch
debian/patches/new-url.patch 0000644 0000000 0000000 00000011534 12215774325 013243 0 ustar Description: viaggiatreno.it has changed its url
Author: Gianfranco Costamagna
Origin: upstream
Forwarded: not-needed
Last-Update: <2013-09-17>
--- qviaggiatreno-2013.7.3.orig/src/download_viaggiatreno.cpp
+++ qviaggiatreno-2013.7.3/src/download_viaggiatreno.cpp
@@ -152,7 +152,8 @@ void DownloadViaggiaTreno::richiestaHTTP
dati = QString("stazione=%1").arg(item->dato("NomeStazione"));
dati.replace(" ", "+");
- request.setUrl(QUrl("http://mobile.viaggiatreno.it/viaggiatreno/mobile/stazione?lang=IT"));
+ // request.setUrl(QUrl("http://mobile.viaggiatreno.it/viaggiatreno/mobile/stazione?lang=IT"));
+ request.setUrl(QUrl("http://mobile.viaggiatreno.it/vt_pax_internet/mobile/stazione?lang=IT"));
request.setRawHeader("Content-type", "application/x-www-form-urlencoded");
request.setOriginatingObject(item);
QNetworkReply *reply = m_nam->post(request, dati.toUtf8());
@@ -168,7 +169,8 @@ void DownloadViaggiaTreno::richiestaHTTP
dati = QString("codiceStazione=%1").arg(item->dato("CodiceStazione"));
dati.replace(" ", "+");
- request.setUrl(QUrl("http://mobile.viaggiatreno.it/viaggiatreno/mobile/stazione?lang=IT"));
+ //request.setUrl(QUrl("http://mobile.viaggiatreno.it/viaggiatreno/mobile/stazione?lang=IT"));
+ request.setUrl(QUrl("http://mobile.viaggiatreno.it/vt_pax_internet/mobile/stazione?lang=IT"));
request.setRawHeader("Content-type", "application/x-www-form-urlencoded");
request.setOriginatingObject(item);
QNetworkReply *reply = m_nam->post(request, dati.toUtf8());
@@ -183,7 +185,8 @@ void DownloadViaggiaTreno::richiestaHTTP
QString str;
str = QString("numeroTreno=%1&tipoRicerca=numero&lang=IT").arg(item->dato("Numero"));
- request.setUrl(QUrl("http://mobile.viaggiatreno.it/viaggiatreno/mobile/numero"));
+ // request.setUrl(QUrl("http://mobile.viaggiatreno.it/viaggiatreno/mobile/numero"));
+ request.setUrl(QUrl("http://mobile.viaggiatreno.it/vt_pax_internet/mobile/numero"));
request.setRawHeader("Content-type", "application/x-www-form-urlencoded");
request.setOriginatingObject(item);
QNetworkReply *reply = m_nam->post(request, str.toUtf8());
@@ -199,7 +202,8 @@ void DownloadViaggiaTreno::richiestaHTTP
str = QString("cbxTreno=%1;").arg(item->dato("Numero"));
str += QString("%1&tipoRicerca=numero&lang=IT").arg(item->dato("CodiceStazione"));
- request.setUrl(QUrl("http://mobile.viaggiatreno.it/viaggiatreno/mobile/numero"));
+ //request.setUrl(QUrl("http://mobile.viaggiatreno.it/viaggiatreno/mobile/numero"));
+ request.setUrl(QUrl("http://mobile.viaggiatreno.it/vt_pax_internet/mobile/numero"));
request.setRawHeader("Content-type", "application/x-www-form-urlencoded");
request.setOriginatingObject(item);
QNetworkReply *reply = m_nam->post(request, str.toUtf8());
@@ -212,7 +216,8 @@ void DownloadViaggiaTreno::richiestaHTTP
{
QNetworkRequest request;
- request.setUrl(QUrl(QString("http://mobile.viaggiatreno.it/viaggiatreno/mobile/scheda?dettaglio=visualizza&numeroTreno=%1&tipoRicerca=numero&lang=IT").arg(item->dato("Numero"))));
+ // request.setUrl(QUrl(QString("http://mobile.viaggiatreno.it/viaggiatreno/mobile/scheda?dettaglio=visualizza&numeroTreno=%1&tipoRicerca=numero&lang=IT").arg(item->dato("Numero"))));
+ request.setUrl(QUrl(QString("http://mobile.viaggiatreno.it/vt_pax_internet/mobile/scheda?dettaglio=visualizza&numeroTreno=%1&tipoRicerca=numero&lang=IT").arg(item->dato("Numero"))));
request.setOriginatingObject(item);
QNetworkReply *reply = m_nam->get(request);
connect(reply, SIGNAL(finished()), this, SLOT(downloadEffettuato()));
@@ -225,7 +230,8 @@ void DownloadViaggiaTreno::richiestaHTTP
{
QNetworkRequest request;
- request.setUrl(QUrl(QString("http://mobile.viaggiatreno.it/viaggiatreno/mobile/scheda?dettaglio=visualizza&numeroTreno=%1&&codLocOrig=%2&tipoRicerca=numero&lang=IT").
+// request.setUrl(QUrl(QString("http://mobile.viaggiatreno.it/viaggiatreno/mobile/scheda?dettaglio=visualizza&numeroTreno=%1&&codLocOrig=%2&tipoRicerca=numero&lang=IT").
+ request.setUrl(QUrl(QString("http://mobile.viaggiatreno.it/vt_pax_internet/mobile/scheda?dettaglio=visualizza&numeroTreno=%1&&codLocOrig=%2&tipoRicerca=numero&lang=IT").
arg(item->dato("Numero")).arg(item->dato("CodiceStazione"))));
request.setOriginatingObject(item);
QNetworkReply *reply = m_nam->get(request);
@@ -272,7 +278,8 @@ bool DownloadViaggiaTreno::controllaViag
{
//prova a scaricare la pagina di query di un treno di ViaggiaTreno
QNetworkRequest request;
- request.setUrl(QUrl("http://mobile.viaggiatreno.it/viaggiatreno/mobile/"));
+ //request.setUrl(QUrl("http://mobile.viaggiatreno.it/viaggiatreno/mobile/"));
+ request.setUrl(QUrl("http://mobile.viaggiatreno.it/vt_pax_internet/mobile"));
QNetworkReply *reply = m_nam->get(request);
// usa un event loop per effettuare una richiesta sincrona
debian/compat 0000644 0000000 0000000 00000000002 12215773272 010374 0 ustar 9
debian/menu 0000644 0000000 0000000 00000000216 12215773272 010064 0 ustar ?package(qviaggiatreno):needs="x11" \
section="Applications/Network/Monitoring" \
title="QViaggiaTreno" \
command="/usr/bin/qviaggiatreno"
debian/docs 0000644 0000000 0000000 00000000007 12215773272 010046 0 ustar README debian/changelog 0000644 0000000 0000000 00000004002 12216011110 011015 0 ustar qviaggiatreno (2013.7.3-1) unstable; urgency=low
* Added libqt4-dev as build-dep.
* Removed revert-qt5.patch, now the revert is
complete (until 2012.9) since ubuntu ftbfs in 2013.7.2 release.
* Added new-url.patch, to comply with new viaggiatreno url.
-- Gianfranco Costamagna Tue, 17 Sep 2013 08:25:00 +0200
qviaggiatreno (2013.7.2-2) experimental; urgency=low
* Switch to qt5, disabled revert-qt5.patch
* Switched to qt5 deps on debian/control, disabled qt4
-- Gianfranco Costamagna Thu, 12 Sep 2013 18:41:58 +0200
qviaggiatreno (2013.7.2-1) unstable; urgency=low
* Swiched back to qt4, in order to let the package migrate to testing
* This release is based on 2013.7, with revert-qt5.patch added
(svn commit 543)
* Changed debian/control to use qt4, and added libqtwebkit-dev as
build-dep
* Removing bin and build in clean target
* New tarball, the 2013.7.1 had the bin and build directory leftover.
-- Gianfranco Costamagna Thu, 12 Sep 2013 14:37:51 +0200
qviaggiatreno (2013.7.1-1) unstable; urgency=low
* No native debian package anymore,
bumped version in order to include the source.
* Added myself to uploaders.
* Bumped compat level to 9, std-version to 3.9.4
* Tweaked copyright file
* Added "tarball" target, for creating the package tarball
from source.
-- Gianfranco Costamagna Thu, 12 Sep 2013 12:31:09 +0200
qviaggiatreno (2013.7) unstable; urgency=low
* New upstream version.
* Switched to native Debian package.
-- Davide Puricelli (evo) Fri, 23 Aug 2013 11:35:05 +0200
qviaggiatreno (2010.11.1-1) unstable; urgency=low
* New upstream version; closes: #596771.
-- Davide Puricelli (evo) Sun, 16 Jan 2011 18:59:00 +0100
qviaggiatreno (2009.09-1) unstable; urgency=low
* Initial release; closes: #562095.
-- Davide Puricelli (evo) Sun, 20 Dec 2009 19:56:46 +0100
debian/copyright 0000644 0000000 0000000 00000002636 12215773272 011140 0 ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Comment:
This package was debianized by Davide Puricelli on
Sun, 20 Dec 2009 20:17:29 +0100.
And also by fra74 on
Sun, 22 Feb 2009 16:58:33 +0100.
It was downloaded from:
http://www.mediafire.com/?2z1nuiz65l29wjg
Upstream Author(s):
fra74 francesco.b74@gmail.com
Copyright:
Copyright © 2008-2013 fra74
License:
This package 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 2 of the License, or
(at your option) any later version.
This package 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 package; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
On Debian systems, the complete text of the GNU General
Public License can be found in `/usr/share/common-licenses/GPL'.
The Debian packaging is © 2009, Davide Puricelli , fra74 and
is licensed under the GPL, see above.
debian/control 0000644 0000000 0000000 00000001600 12216010776 010570 0 ustar Source: qviaggiatreno
Section: misc
Priority: optional
Maintainer: Davide Puricelli (evo)
Uploaders: Gianfranco Costamagna
# , fra74
Build-Depends: cdbs,
debhelper (>= 9),
libqt4-dev,
# libqt5webkit5-dev,
# qt5-default,
# qtbase5-dev,
# qtdeclarative5-dev,
# libxslt1-dev,
# libxml2-dev,
# libglib2.0-dev,
# libsqlite3-dev,
# libgstreamer0.10-dev,
# libgstreamer-plugins-base0.10-dev,
# libqt5opengl5-dev
## qtlocation5-dev,
## qtsensors5-dev,
Standards-Version: 3.9.4
Homepage: https://xp-dev.com/forum/57
Package: qviaggiatreno
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Qt tool to monitor the Italian railway traffic
QViaggiaTreno is a tool to monitor the Italian railway traffic. It is based
on Qt and it acts as a GUI for ViaggiaTreno, a web tool developed by Italian
Railways.
debian/source/ 0000755 0000000 0000000 00000000000 12214356520 010466 5 ustar debian/source/format 0000644 0000000 0000000 00000000014 12214334031 011665 0 ustar 3.0 (quilt)