Go to the documentation of this file.00001 #ifndef SHOWTRACKER2_H
00002 #define SHOWTRACKER2_H
00003
00004 #include <QtGui/QMainWindow>
00005 #include <QtXml>
00006 #include <qdatetime.h>
00007 #include "ui_showtracker2.h"
00008 #include "header/config.h"
00009 #include "header/addshowdialog.h"
00010 #include "header/stshow.h"
00011
00013 class showtracker2: public QMainWindow {
00014 Q_OBJECT
00015
00016 public:
00017 showtracker2(QWidget *parent = 0);
00018 ~showtracker2();
00019 QString RandomMirror(QStringList mirrorList);
00020 bool DownloadFile(QString target, QString destination, bool overwrite = false);
00021
00023 QStringList mirrorsBanner;
00024
00026 QStringList mirrorsXml;
00027
00029 QStringList mirrorsZip;
00030
00032 QMap<QString, STShow> shows;
00033
00034 private:
00035 void LoadMirrors();
00036 void GetServerTime();
00037 void LoadShows();
00038 bool LoadShow(QString showId);
00039 void SaveShows();
00040
00041 void DisplayShows();
00042 void DisplayShow(int showNum, QString showId);
00043 void DisplaySeasons(QString showId);
00044 void DisplayEpisodes(QString showId, QString seasonId);
00045
00046 void UpdateShow(QString showId);
00047 void UpdateShowImages(QString showId);
00048
00049 void DownloadShowBanner(QString showId);
00050 void DownloadShowSeasonBanners(QString showId);
00051
00052 void SetItemColour(QTableWidgetItem* item, int days, bool clear = false);
00053 void SetSeasonColour(QTableWidgetItem* item, QString showId, QString seasonId);
00054 void SetShowColour(QTableWidgetItem* item, QString showId);
00055
00056 bool IsEpisodeWatched(QString showId, QString seasonId, QString episodeId);
00057
00058 bool RecursiveDeleteFolder(QDir dir);
00059
00060 Ui::showtracker2Class ui;
00061
00063 QTimer timer;
00064
00066 Config config;
00067
00069 QDateTime serverTime;
00070
00072 addshowdialog dialog;
00073
00088 QDomDocument trackedShows;
00089
00097 QMap<int, QPair<QString, QMap<int, QPair<QString, QMap<int, QString> > > > > orderedShows;
00098
00099 public slots:
00100 void ShowAddDialog();
00101 void AddShow(QString showId);
00102 void RemoveSelectedShow();
00103
00104 void UpdateShows();
00105 void UpdateShowsImages();
00106
00107 void DeleteShowXML();
00108 void DeleteImages();
00109
00110 void SelectShow(int currentRow, int currentColumn = -1, int previousRow = -1, int previousColumn = -1);
00111 void SelectSeason(int currentRow, int currentColumn = -1, int previousRow = -1, int previousColumn = -1);
00112 void CheckedChanged(QTableWidgetItem* item);
00113
00114 void LoadData();
00115 };
00116
00117 #endif // SHOWTRACKER2_H