/* * Copyright 2008 Jason A. Donenfeld */ #ifndef CREDENTIALS_H #define CREDENTIALS_H #include #include #include #include #include class QLabel; class QNetworkAccessManager; class Song; class QProgressBar; class QStatusBar; class QNetworkReply; class Credentials : public QDialog { Q_OBJECT public: Credentials(QString host, QString listingPath, QString songPath, QWidget *parent = 0); QUrl songUrl(QString hash) const; void setDownloadProgressBar(QProgressBar *bar) { m_downloadProgressBar = bar; }; QProgressBar* downloadProgressBar() { return m_downloadProgressBar; }; void setStatusBar(QStatusBar *bar) { m_statusBar = bar; }; QStatusBar* statusBar() { return m_statusBar; }; private: QString m_host; int m_port; QString m_listingPath; QString m_songPath; QLabel *m_errorLabel; QLineEdit *m_usernameEdit; QLineEdit *m_passwordEdit; QProgressBar *m_downloadProgressBar; QStatusBar *m_statusBar; QNetworkAccessManager *m_networkAccess; QNetworkReply *m_reply; void databaseDownloadFailed(); private slots: void downloadFinished(); void downloadProgress(qint64 done, qint64 total); void login(); signals: void receivedList(const QList songList); }; #endif //CREDENTIALS_H