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