mirror of
https://github.com/subsurface/subsurface.git
synced 2025-01-31 19:13:24 +00:00
Remove the PluginSystem
But keep the Interface so it's still userfull to create a new SocialNetwork when needed, but it will be part of the code, and not a plugin. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
66091ff853
commit
f5f2c37184
5 changed files with 11 additions and 10 deletions
|
@ -260,15 +260,16 @@ void MainWindow::setupSocialNetworkMenu()
|
|||
QMenu *connections = new QMenu(tr("Connect to"));
|
||||
FacebookPlugin *facebookPlugin = new FacebookPlugin();
|
||||
QAction *toggle_connection = new QAction(this);
|
||||
QObject *obj = qobject_cast<QObject*>(facebookPlugin);
|
||||
toggle_connection->setText(facebookPlugin->socialNetworkName());
|
||||
toggle_connection->setIcon(QIcon(facebookPlugin->socialNetworkIcon()));
|
||||
toggle_connection->setData(QVariant::fromValue(facebookPlugin));
|
||||
toggle_connection->setData(QVariant::fromValue(obj));
|
||||
connect(toggle_connection, SIGNAL(triggered()), this, SLOT(socialNetworkRequestConnect()));
|
||||
|
||||
QAction *share_on = new QAction(this);
|
||||
share_on->setText(facebookPlugin->socialNetworkName());
|
||||
share_on->setIcon(QIcon(facebookPlugin->socialNetworkIcon()));
|
||||
share_on->setData(QVariant::fromValue(facebookPlugin));
|
||||
share_on->setData(QVariant::fromValue(obj));
|
||||
ui.menuShare_on->addAction(share_on);
|
||||
connections->addAction(toggle_connection);
|
||||
connect(share_on, SIGNAL(triggered()), this, SLOT(socialNetworkRequestUpload()));
|
||||
|
@ -280,7 +281,7 @@ void MainWindow::setupSocialNetworkMenu()
|
|||
void MainWindow::socialNetworkRequestConnect()
|
||||
{
|
||||
QAction *action = qobject_cast<QAction*>(sender());
|
||||
FacebookPlugin *plugin = action->data().value<FacebookPlugin*>();
|
||||
ISocialNetworkIntegration *plugin = qobject_cast<ISocialNetworkIntegration*>(action->data().value<QObject*>());
|
||||
if (plugin->isConnected())
|
||||
plugin->requestLogoff();
|
||||
else
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#include <QDebug>
|
||||
|
||||
FacebookPlugin::FacebookPlugin(QObject* parent): QObject(parent),
|
||||
FacebookPlugin::FacebookPlugin(QObject* parent) :
|
||||
fbConnectWidget(new FacebookConnectWidget()),
|
||||
fbUploadDialog(new SocialNetworkDialog())
|
||||
{
|
||||
|
|
|
@ -8,10 +8,8 @@ class FacebookConnectWidget;
|
|||
class SocialNetworkDialog;
|
||||
class FacebookManager;
|
||||
|
||||
class FacebookPlugin : public QObject, public ISocialNetworkIntegration {
|
||||
class FacebookPlugin : public ISocialNetworkIntegration {
|
||||
Q_OBJECT
|
||||
Q_PLUGIN_METADATA(IID "org.subsurface.plugins.ISocialNetworkIntegration")
|
||||
Q_INTERFACES(ISocialNetworkIntegration)
|
||||
public:
|
||||
explicit FacebookPlugin(QObject* parent = 0);
|
||||
virtual bool isConnected();
|
||||
|
|
|
@ -79,6 +79,7 @@ set(SUBSURFACE_CORE_LIB_SRCS
|
|||
color.cpp
|
||||
pluginmanager.cpp
|
||||
imagedownloader.cpp
|
||||
isocialnetworkintegration.cpp
|
||||
${SERIAL_FTDI}
|
||||
${PLATFORM_SRC}
|
||||
${BT_CORE_SRC_FILES}
|
||||
|
|
|
@ -10,8 +10,11 @@
|
|||
* We bundle facebook integration as an example.
|
||||
*/
|
||||
|
||||
class ISocialNetworkIntegration {
|
||||
class ISocialNetworkIntegration : public QObject {
|
||||
Q_OBJECT
|
||||
public:
|
||||
ISocialNetworkIntegration(QObject* parent = 0);
|
||||
|
||||
/*!
|
||||
* @name socialNetworkName
|
||||
* @brief The name of this social network
|
||||
|
@ -67,6 +70,4 @@ public:
|
|||
virtual void requestUpload() = 0;
|
||||
};
|
||||
|
||||
Q_DECLARE_INTERFACE(ISocialNetworkIntegration, "org.subsurface.ISocialNetworkIntegration.v1")
|
||||
Q_DECLARE_METATYPE(ISocialNetworkIntegration*);
|
||||
#endif
|
Loading…
Add table
Reference in a new issue