mysocials-core 1.0

src/widgets/qphotouploader.h

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