mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-18 23:26:15 +00:00
core: activate qPrefFacebook
remove Facebook from SettingsObjectWrapper and reference qPrefFacebook update files using SettingsObjectWrapper/Facebook to use qPrefFacebook this activated qPrefFacebook and removed the similar class from SettingsObjectWrapper. Signed-off-by: Jan Iversen <jani@apache.org>
This commit is contained in:
parent
e0f1817fdc
commit
f175890632
5 changed files with 34 additions and 124 deletions
|
@ -662,72 +662,6 @@ void TechnicalDetailsSettings::setShowIcd(bool value)
|
|||
emit showIcdChanged(value);
|
||||
}
|
||||
|
||||
FacebookSettings::FacebookSettings(QObject *parent) :
|
||||
QObject(parent),
|
||||
group(QStringLiteral("WebApps")),
|
||||
subgroup(QStringLiteral("Facebook"))
|
||||
{
|
||||
}
|
||||
|
||||
QString FacebookSettings::accessToken() const
|
||||
{
|
||||
return QString(prefs.facebook.access_token);
|
||||
}
|
||||
|
||||
QString FacebookSettings::userId() const
|
||||
{
|
||||
return QString(prefs.facebook.user_id);
|
||||
}
|
||||
|
||||
QString FacebookSettings::albumId() const
|
||||
{
|
||||
return QString(prefs.facebook.album_id);
|
||||
}
|
||||
|
||||
void FacebookSettings::setAccessToken (const QString& value)
|
||||
{
|
||||
#if SAVE_FB_CREDENTIALS
|
||||
QSettings s;
|
||||
s.beginGroup(group);
|
||||
s.beginGroup(subgroup);
|
||||
s.setValue("ConnectToken", value);
|
||||
#endif
|
||||
free((void *)prefs.facebook.access_token);
|
||||
prefs.facebook.access_token = copy_qstring(value);
|
||||
emit accessTokenChanged(value);
|
||||
}
|
||||
|
||||
void FacebookSettings::setUserId(const QString& value)
|
||||
{
|
||||
if (value == prefs.facebook.user_id)
|
||||
return;
|
||||
#if SAVE_FB_CREDENTIALS
|
||||
QSettings s;
|
||||
s.beginGroup(group);
|
||||
s.beginGroup(subgroup);
|
||||
s.setValue("UserId", value);
|
||||
#endif
|
||||
free((void *)prefs.facebook.user_id);
|
||||
prefs.facebook.user_id = copy_qstring(value);
|
||||
emit userIdChanged(value);
|
||||
}
|
||||
|
||||
void FacebookSettings::setAlbumId(const QString& value)
|
||||
{
|
||||
if (value == prefs.facebook.album_id)
|
||||
return;
|
||||
#if SAVE_FB_CREDENTIALS
|
||||
QSettings s;
|
||||
s.beginGroup(group);
|
||||
s.beginGroup(subgroup);
|
||||
s.setValue("AlbumId", value);
|
||||
#endif
|
||||
free((void *)prefs.facebook.album_id);
|
||||
prefs.facebook.album_id = copy_qstring(value);
|
||||
emit albumIdChanged(value);
|
||||
}
|
||||
|
||||
|
||||
GeocodingPreferences::GeocodingPreferences(QObject *parent) :
|
||||
QObject(parent)
|
||||
{
|
||||
|
@ -1829,7 +1763,7 @@ SettingsObjectWrapper::SettingsObjectWrapper(QObject* parent):
|
|||
QObject(parent),
|
||||
techDetails(new TechnicalDetailsSettings(this)),
|
||||
pp_gas(new PartialPressureGasSettings(this)),
|
||||
facebook(new FacebookSettings(this)),
|
||||
facebook(new qPrefFacebook(this)),
|
||||
geocoding(new GeocodingPreferences(this)),
|
||||
proxy(new ProxySettings(this)),
|
||||
cloud_storage(new qPrefCloudStorage(this)),
|
||||
|
|
|
@ -204,33 +204,6 @@ private:
|
|||
const QString group = QStringLiteral("TecDetails");
|
||||
};
|
||||
|
||||
/* Control the state of the Facebook preferences */
|
||||
class FacebookSettings : public QObject {
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(QString accessToken READ accessToken WRITE setAccessToken NOTIFY accessTokenChanged)
|
||||
Q_PROPERTY(QString userId READ userId WRITE setUserId NOTIFY userIdChanged)
|
||||
Q_PROPERTY(QString albumId READ albumId WRITE setAlbumId NOTIFY albumIdChanged)
|
||||
|
||||
public:
|
||||
FacebookSettings(QObject *parent);
|
||||
QString accessToken() const;
|
||||
QString userId() const;
|
||||
QString albumId() const;
|
||||
|
||||
public slots:
|
||||
void setAccessToken (const QString& value);
|
||||
void setUserId(const QString& value);
|
||||
void setAlbumId(const QString& value);
|
||||
|
||||
signals:
|
||||
void accessTokenChanged(const QString& value);
|
||||
void userIdChanged(const QString& value);
|
||||
void albumIdChanged(const QString& value);
|
||||
private:
|
||||
QString group;
|
||||
QString subgroup;
|
||||
};
|
||||
|
||||
/* Control the state of the Geocoding preferences */
|
||||
class GeocodingPreferences : public QObject {
|
||||
Q_OBJECT
|
||||
|
@ -573,7 +546,7 @@ class SettingsObjectWrapper : public QObject {
|
|||
|
||||
Q_PROPERTY(TechnicalDetailsSettings* techical_details MEMBER techDetails CONSTANT)
|
||||
Q_PROPERTY(PartialPressureGasSettings* pp_gas MEMBER pp_gas CONSTANT)
|
||||
Q_PROPERTY(FacebookSettings* facebook MEMBER facebook CONSTANT)
|
||||
Q_PROPERTY(qPrefFacebook* facebook MEMBER facebook CONSTANT)
|
||||
Q_PROPERTY(GeocodingPreferences* geocoding MEMBER geocoding CONSTANT)
|
||||
Q_PROPERTY(ProxySettings* proxy MEMBER proxy CONSTANT)
|
||||
Q_PROPERTY(qPrefCloudStorage* cloud_storage MEMBER cloud_storage CONSTANT)
|
||||
|
@ -593,7 +566,7 @@ public:
|
|||
|
||||
TechnicalDetailsSettings *techDetails;
|
||||
PartialPressureGasSettings *pp_gas;
|
||||
FacebookSettings *facebook;
|
||||
qPrefFacebook *facebook;
|
||||
GeocodingPreferences *geocoding;
|
||||
ProxySettings *proxy;
|
||||
qPrefCloudStorage *cloud_storage;
|
||||
|
|
|
@ -88,18 +88,18 @@ void FacebookManager::tryLogin(const QUrl& loginResponse)
|
|||
int to = result.indexOf("&expires_in");
|
||||
QString securityToken = result.mid(from, to-from);
|
||||
|
||||
auto fb = SettingsObjectWrapper::instance()->facebook;
|
||||
fb->setAccessToken(securityToken);
|
||||
auto fb = qPrefFacebook::instance();
|
||||
fb->set_access_token(securityToken);
|
||||
qCDebug(lcFacebook) << "Got securityToken" << securityToken;
|
||||
requestUserId();
|
||||
}
|
||||
|
||||
void FacebookManager::logout()
|
||||
{
|
||||
auto fb = SettingsObjectWrapper::instance()->facebook;
|
||||
fb->setAccessToken(QString());
|
||||
fb->setUserId(QString());
|
||||
fb->setAlbumId(QString());
|
||||
auto fb = qPrefFacebook::instance();
|
||||
fb->set_access_token(QString());
|
||||
fb->set_user_id(QString());
|
||||
fb->set_album_id(QString());
|
||||
emit justLoggedOut(true);
|
||||
}
|
||||
|
||||
|
@ -116,15 +116,15 @@ void FacebookManager::albumListReceived()
|
|||
QNetworkReply *reply = qobject_cast<QNetworkReply*>(sender());
|
||||
QJsonDocument albumsDoc = QJsonDocument::fromJson(reply->readAll());
|
||||
QJsonArray albumObj = albumsDoc.object().value("data").toArray();
|
||||
auto fb = SettingsObjectWrapper::instance()->facebook;
|
||||
auto fb = qPrefFacebook::instance();
|
||||
|
||||
reply->deleteLater();
|
||||
foreach(const QJsonValue &v, albumObj){
|
||||
QJsonObject obj = v.toObject();
|
||||
if (obj.value("name").toString() == fbInfo.albumName) {
|
||||
fb->setAlbumId(obj.value("id").toString());
|
||||
fb->set_album_id(obj.value("id").toString());
|
||||
qCDebug(lcFacebook) << "Album" << fbInfo.albumName << "already exists, using id" << obj.value("id").toString();
|
||||
emit albumIdReceived(fb->albumId());
|
||||
emit albumIdReceived(fb->album_id());
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -158,9 +158,9 @@ void FacebookManager::facebookAlbumCreated()
|
|||
|
||||
if (album.contains("id")) {
|
||||
qCDebug(lcFacebook) << "Album" << fbInfo.albumName << "created successfully with id" << album.value("id").toString();
|
||||
auto fb = SettingsObjectWrapper::instance()->facebook;
|
||||
fb->setAlbumId(album.value("id").toString());
|
||||
emit albumIdReceived(fb->albumId());
|
||||
auto fb = qPrefFacebook::instance();
|
||||
fb->set_album_id(album.value("id").toString());
|
||||
emit albumIdReceived(fb->album_id());
|
||||
return;
|
||||
} else {
|
||||
qCDebug(lcFacebook) << "It was not possible to create the album with name" << fbInfo.albumName;
|
||||
|
@ -168,8 +168,8 @@ void FacebookManager::facebookAlbumCreated()
|
|||
// FIXME: we are lacking 'user_photos' facebook permission to create an album,
|
||||
// but we are able to upload the image to Facebook (album will be named 'Subsurface Photos')
|
||||
qCDebug(lcFacebook) << "But we are still able to upload data. Album name will be 'Subsurface Photos'";
|
||||
auto fb = SettingsObjectWrapper::instance()->facebook;
|
||||
emit albumIdReceived(fb->albumId());
|
||||
auto fb = qPrefFacebook::instance();
|
||||
emit albumIdReceived(fb->album_id());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -189,7 +189,7 @@ void FacebookManager::userIdReceived()
|
|||
QJsonObject obj = jsonDoc.object();
|
||||
if (obj.keys().contains("id")) {
|
||||
qCDebug(lcFacebook) << "User id requested successfully:" << obj.value("id").toString();
|
||||
SettingsObjectWrapper::instance()->facebook->setUserId(obj.value("id").toString());
|
||||
qPrefFacebook::instance()->set_user_id(obj.value("id").toString());
|
||||
emit sendMessage(tr("Facebook logged in successfully"));
|
||||
emit justLoggedIn(true);
|
||||
} else {
|
||||
|
|
|
@ -165,6 +165,9 @@ void register_qml_types()
|
|||
rc = qmlRegisterType<qPrefDiveComputer>("org.subsurfacedivelog.mobile", 1, 0, "SsrfDiveComputerPrefs");
|
||||
if (rc < 0)
|
||||
qDebug() << "ERROR: Cannot register DiveComputerPrefs (class qPrefDiveComputer), QML will not work!!";
|
||||
rc = qmlRegisterType<qPrefFacebook>("org.subsurfacedivelog.mobile", 1, 0, "SsrfFacebookPrefs");
|
||||
if (rc < 0)
|
||||
qDebug() << "ERROR: Cannot register FacebookPrefs (class qPrefFacebook), QML will not work!!";
|
||||
|
||||
#ifndef SUBSURFACE_TEST_DATA
|
||||
#ifdef SUBSURFACE_MOBILE
|
||||
|
|
|
@ -160,22 +160,22 @@ void TestPreferences::testPreferences()
|
|||
TEST(pp->po2ThresholdMin(), 4.0);
|
||||
TEST(pp->po2ThresholdMax(), 5.0);
|
||||
|
||||
auto fb = pref->facebook;
|
||||
fb->setAccessToken("rand-access-token");
|
||||
fb->setUserId("tomaz-user-id");
|
||||
fb->setAlbumId("album-id");
|
||||
auto fb = qPrefFacebook::instance();
|
||||
fb->set_access_token("rand-access-token");
|
||||
fb->set_user_id("tomaz-user-id");
|
||||
fb->set_album_id("album-id");
|
||||
|
||||
TEST(fb->accessToken(), QStringLiteral("rand-access-token"));
|
||||
TEST(fb->userId(), QStringLiteral("tomaz-user-id"));
|
||||
TEST(fb->albumId(), QStringLiteral("album-id"));
|
||||
TEST(fb->access_token(),QStringLiteral("rand-access-token"));
|
||||
TEST(fb->user_id(), QStringLiteral("tomaz-user-id"));
|
||||
TEST(fb->album_id(), QStringLiteral("album-id"));
|
||||
|
||||
fb->setAccessToken("rand-access-token-2");
|
||||
fb->setUserId("tomaz-user-id-2");
|
||||
fb->setAlbumId("album-id-2");
|
||||
fb->set_access_token("rand-access-token-2");
|
||||
fb->set_user_id("tomaz-user-id-2");
|
||||
fb->set_album_id("album-id-2");
|
||||
|
||||
TEST(fb->accessToken(), QStringLiteral("rand-access-token-2"));
|
||||
TEST(fb->userId(), QStringLiteral("tomaz-user-id-2"));
|
||||
TEST(fb->albumId(), QStringLiteral("album-id-2"));
|
||||
TEST(fb->access_token(),QStringLiteral("rand-access-token-2"));
|
||||
TEST(fb->user_id(), QStringLiteral("tomaz-user-id-2"));
|
||||
TEST(fb->album_id(), QStringLiteral("album-id-2"));
|
||||
|
||||
auto geo = pref->geocoding;
|
||||
geo->setFirstTaxonomyCategory(TC_NONE);
|
||||
|
|
Loading…
Add table
Reference in a new issue