debian/0000755000000000000000000000000012216011110007147 5ustar debian/rules0000755000000000000000000000115512215773272010260 0ustar #!/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/dirs0000644000000000000000000000003712215773272010062 0ustar usr/bin usr/share/applications debian/patches/0000755000000000000000000000000012215774225010624 5ustar debian/patches/revert-2012.9.patch0000644000000000000000000020311412215773526013711 0ustar 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/series0000644000000000000000000000004212215774225012035 0ustar revert-2012.9.patch new-url.patch debian/patches/new-url.patch0000644000000000000000000001153412215774325013243 0ustar 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/compat0000644000000000000000000000000212215773272010374 0ustar 9 debian/menu0000644000000000000000000000021612215773272010064 0ustar ?package(qviaggiatreno):needs="x11" \ section="Applications/Network/Monitoring" \ title="QViaggiaTreno" \ command="/usr/bin/qviaggiatreno" debian/docs0000644000000000000000000000000712215773272010046 0ustar README debian/changelog0000644000000000000000000000400212216011110011015 0ustar 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/copyright0000644000000000000000000000263612215773272011140 0ustar 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/control0000644000000000000000000000160012216010776010570 0ustar 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/0000755000000000000000000000000012214356520010466 5ustar debian/source/format0000644000000000000000000000001412214334031011665 0ustar 3.0 (quilt)