mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16: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);
|
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) :
|
GeocodingPreferences::GeocodingPreferences(QObject *parent) :
|
||||||
QObject(parent)
|
QObject(parent)
|
||||||
{
|
{
|
||||||
|
@ -1829,7 +1763,7 @@ SettingsObjectWrapper::SettingsObjectWrapper(QObject* parent):
|
||||||
QObject(parent),
|
QObject(parent),
|
||||||
techDetails(new TechnicalDetailsSettings(this)),
|
techDetails(new TechnicalDetailsSettings(this)),
|
||||||
pp_gas(new PartialPressureGasSettings(this)),
|
pp_gas(new PartialPressureGasSettings(this)),
|
||||||
facebook(new FacebookSettings(this)),
|
facebook(new qPrefFacebook(this)),
|
||||||
geocoding(new GeocodingPreferences(this)),
|
geocoding(new GeocodingPreferences(this)),
|
||||||
proxy(new ProxySettings(this)),
|
proxy(new ProxySettings(this)),
|
||||||
cloud_storage(new qPrefCloudStorage(this)),
|
cloud_storage(new qPrefCloudStorage(this)),
|
||||||
|
|
|
@ -204,33 +204,6 @@ private:
|
||||||
const QString group = QStringLiteral("TecDetails");
|
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 */
|
/* Control the state of the Geocoding preferences */
|
||||||
class GeocodingPreferences : public QObject {
|
class GeocodingPreferences : public QObject {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
@ -573,7 +546,7 @@ class SettingsObjectWrapper : public QObject {
|
||||||
|
|
||||||
Q_PROPERTY(TechnicalDetailsSettings* techical_details MEMBER techDetails CONSTANT)
|
Q_PROPERTY(TechnicalDetailsSettings* techical_details MEMBER techDetails CONSTANT)
|
||||||
Q_PROPERTY(PartialPressureGasSettings* pp_gas MEMBER pp_gas 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(GeocodingPreferences* geocoding MEMBER geocoding CONSTANT)
|
||||||
Q_PROPERTY(ProxySettings* proxy MEMBER proxy CONSTANT)
|
Q_PROPERTY(ProxySettings* proxy MEMBER proxy CONSTANT)
|
||||||
Q_PROPERTY(qPrefCloudStorage* cloud_storage MEMBER cloud_storage CONSTANT)
|
Q_PROPERTY(qPrefCloudStorage* cloud_storage MEMBER cloud_storage CONSTANT)
|
||||||
|
@ -593,7 +566,7 @@ public:
|
||||||
|
|
||||||
TechnicalDetailsSettings *techDetails;
|
TechnicalDetailsSettings *techDetails;
|
||||||
PartialPressureGasSettings *pp_gas;
|
PartialPressureGasSettings *pp_gas;
|
||||||
FacebookSettings *facebook;
|
qPrefFacebook *facebook;
|
||||||
GeocodingPreferences *geocoding;
|
GeocodingPreferences *geocoding;
|
||||||
ProxySettings *proxy;
|
ProxySettings *proxy;
|
||||||
qPrefCloudStorage *cloud_storage;
|
qPrefCloudStorage *cloud_storage;
|
||||||
|
|
|
@ -88,18 +88,18 @@ void FacebookManager::tryLogin(const QUrl& loginResponse)
|
||||||
int to = result.indexOf("&expires_in");
|
int to = result.indexOf("&expires_in");
|
||||||
QString securityToken = result.mid(from, to-from);
|
QString securityToken = result.mid(from, to-from);
|
||||||
|
|
||||||
auto fb = SettingsObjectWrapper::instance()->facebook;
|
auto fb = qPrefFacebook::instance();
|
||||||
fb->setAccessToken(securityToken);
|
fb->set_access_token(securityToken);
|
||||||
qCDebug(lcFacebook) << "Got securityToken" << securityToken;
|
qCDebug(lcFacebook) << "Got securityToken" << securityToken;
|
||||||
requestUserId();
|
requestUserId();
|
||||||
}
|
}
|
||||||
|
|
||||||
void FacebookManager::logout()
|
void FacebookManager::logout()
|
||||||
{
|
{
|
||||||
auto fb = SettingsObjectWrapper::instance()->facebook;
|
auto fb = qPrefFacebook::instance();
|
||||||
fb->setAccessToken(QString());
|
fb->set_access_token(QString());
|
||||||
fb->setUserId(QString());
|
fb->set_user_id(QString());
|
||||||
fb->setAlbumId(QString());
|
fb->set_album_id(QString());
|
||||||
emit justLoggedOut(true);
|
emit justLoggedOut(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -116,15 +116,15 @@ void FacebookManager::albumListReceived()
|
||||||
QNetworkReply *reply = qobject_cast<QNetworkReply*>(sender());
|
QNetworkReply *reply = qobject_cast<QNetworkReply*>(sender());
|
||||||
QJsonDocument albumsDoc = QJsonDocument::fromJson(reply->readAll());
|
QJsonDocument albumsDoc = QJsonDocument::fromJson(reply->readAll());
|
||||||
QJsonArray albumObj = albumsDoc.object().value("data").toArray();
|
QJsonArray albumObj = albumsDoc.object().value("data").toArray();
|
||||||
auto fb = SettingsObjectWrapper::instance()->facebook;
|
auto fb = qPrefFacebook::instance();
|
||||||
|
|
||||||
reply->deleteLater();
|
reply->deleteLater();
|
||||||
foreach(const QJsonValue &v, albumObj){
|
foreach(const QJsonValue &v, albumObj){
|
||||||
QJsonObject obj = v.toObject();
|
QJsonObject obj = v.toObject();
|
||||||
if (obj.value("name").toString() == fbInfo.albumName) {
|
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();
|
qCDebug(lcFacebook) << "Album" << fbInfo.albumName << "already exists, using id" << obj.value("id").toString();
|
||||||
emit albumIdReceived(fb->albumId());
|
emit albumIdReceived(fb->album_id());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -158,9 +158,9 @@ void FacebookManager::facebookAlbumCreated()
|
||||||
|
|
||||||
if (album.contains("id")) {
|
if (album.contains("id")) {
|
||||||
qCDebug(lcFacebook) << "Album" << fbInfo.albumName << "created successfully with id" << album.value("id").toString();
|
qCDebug(lcFacebook) << "Album" << fbInfo.albumName << "created successfully with id" << album.value("id").toString();
|
||||||
auto fb = SettingsObjectWrapper::instance()->facebook;
|
auto fb = qPrefFacebook::instance();
|
||||||
fb->setAlbumId(album.value("id").toString());
|
fb->set_album_id(album.value("id").toString());
|
||||||
emit albumIdReceived(fb->albumId());
|
emit albumIdReceived(fb->album_id());
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
qCDebug(lcFacebook) << "It was not possible to create the album with name" << fbInfo.albumName;
|
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,
|
// 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')
|
// 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'";
|
qCDebug(lcFacebook) << "But we are still able to upload data. Album name will be 'Subsurface Photos'";
|
||||||
auto fb = SettingsObjectWrapper::instance()->facebook;
|
auto fb = qPrefFacebook::instance();
|
||||||
emit albumIdReceived(fb->albumId());
|
emit albumIdReceived(fb->album_id());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -189,7 +189,7 @@ void FacebookManager::userIdReceived()
|
||||||
QJsonObject obj = jsonDoc.object();
|
QJsonObject obj = jsonDoc.object();
|
||||||
if (obj.keys().contains("id")) {
|
if (obj.keys().contains("id")) {
|
||||||
qCDebug(lcFacebook) << "User id requested successfully:" << obj.value("id").toString();
|
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 sendMessage(tr("Facebook logged in successfully"));
|
||||||
emit justLoggedIn(true);
|
emit justLoggedIn(true);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -165,6 +165,9 @@ void register_qml_types()
|
||||||
rc = qmlRegisterType<qPrefDiveComputer>("org.subsurfacedivelog.mobile", 1, 0, "SsrfDiveComputerPrefs");
|
rc = qmlRegisterType<qPrefDiveComputer>("org.subsurfacedivelog.mobile", 1, 0, "SsrfDiveComputerPrefs");
|
||||||
if (rc < 0)
|
if (rc < 0)
|
||||||
qDebug() << "ERROR: Cannot register DiveComputerPrefs (class qPrefDiveComputer), QML will not work!!";
|
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
|
#ifndef SUBSURFACE_TEST_DATA
|
||||||
#ifdef SUBSURFACE_MOBILE
|
#ifdef SUBSURFACE_MOBILE
|
||||||
|
|
|
@ -160,22 +160,22 @@ void TestPreferences::testPreferences()
|
||||||
TEST(pp->po2ThresholdMin(), 4.0);
|
TEST(pp->po2ThresholdMin(), 4.0);
|
||||||
TEST(pp->po2ThresholdMax(), 5.0);
|
TEST(pp->po2ThresholdMax(), 5.0);
|
||||||
|
|
||||||
auto fb = pref->facebook;
|
auto fb = qPrefFacebook::instance();
|
||||||
fb->setAccessToken("rand-access-token");
|
fb->set_access_token("rand-access-token");
|
||||||
fb->setUserId("tomaz-user-id");
|
fb->set_user_id("tomaz-user-id");
|
||||||
fb->setAlbumId("album-id");
|
fb->set_album_id("album-id");
|
||||||
|
|
||||||
TEST(fb->accessToken(), QStringLiteral("rand-access-token"));
|
TEST(fb->access_token(),QStringLiteral("rand-access-token"));
|
||||||
TEST(fb->userId(), QStringLiteral("tomaz-user-id"));
|
TEST(fb->user_id(), QStringLiteral("tomaz-user-id"));
|
||||||
TEST(fb->albumId(), QStringLiteral("album-id"));
|
TEST(fb->album_id(), QStringLiteral("album-id"));
|
||||||
|
|
||||||
fb->setAccessToken("rand-access-token-2");
|
fb->set_access_token("rand-access-token-2");
|
||||||
fb->setUserId("tomaz-user-id-2");
|
fb->set_user_id("tomaz-user-id-2");
|
||||||
fb->setAlbumId("album-id-2");
|
fb->set_album_id("album-id-2");
|
||||||
|
|
||||||
TEST(fb->accessToken(), QStringLiteral("rand-access-token-2"));
|
TEST(fb->access_token(),QStringLiteral("rand-access-token-2"));
|
||||||
TEST(fb->userId(), QStringLiteral("tomaz-user-id-2"));
|
TEST(fb->user_id(), QStringLiteral("tomaz-user-id-2"));
|
||||||
TEST(fb->albumId(), QStringLiteral("album-id-2"));
|
TEST(fb->album_id(), QStringLiteral("album-id-2"));
|
||||||
|
|
||||||
auto geo = pref->geocoding;
|
auto geo = pref->geocoding;
|
||||||
geo->setFirstTaxonomyCategory(TC_NONE);
|
geo->setFirstTaxonomyCategory(TC_NONE);
|
||||||
|
|
Loading…
Add table
Reference in a new issue