diff options
author | Tomaz Canabrava <tomaz.canabrava@intel.com> | 2015-11-08 11:50:04 -0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-11-08 09:45:08 -0800 |
commit | a1ff14a48f06e15c863f6ef0ba31b15c7bb1696d (patch) | |
tree | 66f97460c4369d5f61fa3eb5e02e21b5a9c88760 /desktop-widgets/plugins/facebook | |
parent | 72b85e315194e5a2f58bad68ecb2fe2657e17bc7 (diff) | |
download | subsurface-a1ff14a48f06e15c863f6ef0ba31b15c7bb1696d.tar.gz |
Facebook Plugin is aware of it's connection status
This patch makes facebook plugin aware of it's connection status
enabling uploads only when connected, and hooking some things up.
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'desktop-widgets/plugins/facebook')
-rw-r--r-- | desktop-widgets/plugins/facebook/facebook_integration.cpp | 17 | ||||
-rw-r--r-- | desktop-widgets/plugins/facebook/facebook_integration.h | 27 |
2 files changed, 27 insertions, 17 deletions
diff --git a/desktop-widgets/plugins/facebook/facebook_integration.cpp b/desktop-widgets/plugins/facebook/facebook_integration.cpp index 43f74b8f9..f817f9df8 100644 --- a/desktop-widgets/plugins/facebook/facebook_integration.cpp +++ b/desktop-widgets/plugins/facebook/facebook_integration.cpp @@ -3,25 +3,26 @@ #include <QDebug> -FacebookPlugin::FacebookPlugin(QObject* parent): QObject(parent) +FacebookPlugin::FacebookPlugin(QObject* parent): QObject(parent), + fbConnectWidget(new FacebookConnectWidget()), + fbUploadDialog(new SocialNetworkDialog()) { - } bool FacebookPlugin::isConnected() { - return false; + FacebookManager *instance = FacebookManager::instance(); + return instance->loggedIn(); } void FacebookPlugin::requestLogin() { - FacebookConnectWidget connectDialog; - connectDialog.exec(); + fbConnectWidget->exec(); } void FacebookPlugin::requestLogoff() { - + FacebookManager::instance()->logout(); } QString FacebookPlugin::socialNetworkIcon() const @@ -36,5 +37,7 @@ QString FacebookPlugin::socialNetworkName() const void FacebookPlugin::requestUpload() { - qDebug() << "Upload Requested"; + FacebookManager *instance = FacebookManager::instance(); + if (instance->loggedIn()) + fbUploadDialog->exec(); } diff --git a/desktop-widgets/plugins/facebook/facebook_integration.h b/desktop-widgets/plugins/facebook/facebook_integration.h index 99362e747..714f636fc 100644 --- a/desktop-widgets/plugins/facebook/facebook_integration.h +++ b/desktop-widgets/plugins/facebook/facebook_integration.h @@ -4,18 +4,25 @@ #include "subsurface-core/isocialnetworkintegration.h" #include <QString> +class FacebookConnectWidget; +class SocialNetworkDialog; +class FacebookManager; + class FacebookPlugin : public QObject, public ISocialNetworkIntegration { - Q_OBJECT - Q_PLUGIN_METADATA(IID "org.subsurface.plugins.ISocialNetworkIntegration") - Q_INTERFACES(ISocialNetworkIntegration) + Q_OBJECT + Q_PLUGIN_METADATA(IID "org.subsurface.plugins.ISocialNetworkIntegration") + Q_INTERFACES(ISocialNetworkIntegration) public: - explicit FacebookPlugin(QObject* parent = 0); - virtual bool isConnected(); - virtual void requestLogin(); - virtual void requestLogoff(); - virtual QString socialNetworkIcon() const; - virtual QString socialNetworkName() const; - virtual void requestUpload(); + explicit FacebookPlugin(QObject* parent = 0); + virtual bool isConnected(); + virtual void requestLogin(); + virtual void requestLogoff(); + virtual QString socialNetworkIcon() const; + virtual QString socialNetworkName() const; + virtual void requestUpload(); +private: + FacebookConnectWidget *fbConnectWidget; + SocialNetworkDialog *fbUploadDialog; }; #endif
\ No newline at end of file |