00001 #ifndef QPHOTOUPLOADER_H 00002 #define QPHOTOUPLOADER_H 00003 00004 #define ALWAYS_UPDATE 00005 #include <QDialog> 00006 #include <QFileDialog> 00007 #include <QContextMenuEvent> 00008 #include <QComboBox> 00009 00010 #include "datatypes/account.h" 00011 #include "datatypes/driverinfo.h" 00012 #include "uiaddaccount.h" 00013 00014 #include <servicemgr.h> 00015 00016 namespace Ui { 00017 class QPhotoUploader; 00018 } 00019 00020 00021 class QPhotoUploader : public QDialog 00022 { 00023 Q_OBJECT 00024 00025 public: 00026 typedef struct _FileInfo { 00027 QString path; 00028 QString shotName; 00029 QString description; 00030 qint64 size; 00031 } FileInfo; 00032 00033 00034 explicit QPhotoUploader(ServiceMgr *sm, QWidget *parent = 0); 00035 ~QPhotoUploader(); 00036 00041 void addNewAccount(); 00042 00043 signals: 00044 void startUploadSignal(); 00045 void refreshPressed(); 00046 00047 private: 00048 QAction *actionEdit; 00049 QAction *actionDelete; 00050 bool cancel; 00051 00052 void updateAlbums(); 00053 QString getHumanSize(qint64 size); 00054 QString getShotName(QString name); 00055 Ui::QPhotoUploader *ui; 00056 qint64 totalSize; 00057 bool refreshStarted; 00058 00059 ServiceMgr *sm; 00060 QString accountId; 00061 QString albumId; 00062 00063 private slots: 00064 void on_addNewAlbumButton_clicked(); 00065 void on_refreshAlbumsButton_clicked(); 00066 void on_cancelButton_clicked(); 00067 void on_uploadButton_clicked(); 00068 void on_photoOpen_clicked(); 00069 void enableUpload(); 00070 void startUpload(); 00071 void deleteItem(); 00072 void editItem(); 00073 void updateTotalSize(); 00074 00075 void setRefreshIcon(QIcon icon); 00076 void updateAccounts(AccountList); 00077 void updateAlbumList(QString,AlbumList,bool); 00078 void selectAccount(int); 00079 00080 void uploaded(QString accountId, QString albumId, QString file_name, QString photoId); 00081 void errorOccured(QString, QTransport::Action); 00082 00083 00084 public slots: 00085 #ifndef ALWAYS_UPDATE 00086 void resizeEvent(QResizeEvent *); 00087 #endif 00088 00089 }; 00090 00091 #endif // QPHOTOUPLOADER_H