Don't do seafile stuff unless signed in.

This commit is contained in:
David Sansome 2014-06-07 15:28:56 +10:00
parent 01ae151f8a
commit 0cd3d9b34f
3 changed files with 5 additions and 17 deletions

View File

@ -53,20 +53,9 @@ SeafileService::SeafileService(Application* app, InternetModel* parent)
} }
bool SeafileService::has_credentials() const { bool SeafileService::has_credentials() const {
return !access_token().isEmpty();
}
bool SeafileService::is_authenticated() const {
return !access_token_.isEmpty(); return !access_token_.isEmpty();
} }
QString SeafileService::access_token() const {
QSettings s;
s.beginGroup(kSettingsGroup);
return s.value("access_token").toString();
}
void SeafileService::AddAuthorizationHeader(QNetworkRequest* request) const { void SeafileService::AddAuthorizationHeader(QNetworkRequest* request) const {
request->setRawHeader("Authorization", request->setRawHeader("Authorization",
QString("Token %1").arg(access_token_).toAscii()); QString("Token %1").arg(access_token_).toAscii());
@ -177,7 +166,7 @@ void SeafileService::ChangeLibrary(const QString& new_library) {
} }
void SeafileService::Connect() { void SeafileService::Connect() {
if (is_authenticated()) { if (has_credentials()) {
UpdateLibraries(); UpdateLibraries();
} else { } else {
ShowSettingsDialog(); ShowSettingsDialog();

View File

@ -48,7 +48,7 @@ class SeafileService : public CloudFileService {
static const char* kServiceName; static const char* kServiceName;
static const char* kSettingsGroup; static const char* kSettingsGroup;
virtual bool has_credentials() const; bool has_credentials() const;
QUrl GetStreamingUrlFromSongId(const QString& library, QUrl GetStreamingUrlFromSongId(const QString& library,
const QString& filepath); const QString& filepath);
// Get the token for an user (simple rest api) // Get the token for an user (simple rest api)
@ -100,9 +100,6 @@ signals:
const QString& mime_type); const QString& mime_type);
private: private:
QString access_token() const;
bool is_authenticated() const;
void AddAuthorizationHeader(QNetworkRequest* request) const; void AddAuthorizationHeader(QNetworkRequest* request) const;
void UpdateLibraries(); void UpdateLibraries();

View File

@ -108,7 +108,9 @@ void SeafileSettingsPage::Save() {
s.setValue("library", id); s.setValue("library", id);
// Don't need to save the password // Don't need to save the password
service_->ChangeLibrary(id); if (service_->has_credentials()) {
service_->ChangeLibrary(id);
}
} }
void SeafileSettingsPage::Login() { void SeafileSettingsPage::Login() {