diff options
Diffstat (limited to 'src/extensions/applicationextension')
5 files changed, 22 insertions, 12 deletions
diff --git a/src/extensions/applicationextension/mextensionhandle.cpp b/src/extensions/applicationextension/mextensionhandle.cpp index 69140db0..1d1fe690 100644 --- a/src/extensions/applicationextension/mextensionhandle.cpp +++ b/src/extensions/applicationextension/mextensionhandle.cpp @@ -71,7 +71,6 @@ MExtensionHandlePrivate::MExtensionHandlePrivate() : aliveResponseTimeout(3000), runnerConnectionTimeout(20000), applicationVisible(true), - widgetVisible(true), remoteActions(), q_ptr(NULL) { @@ -88,7 +87,8 @@ MExtensionHandlePrivate::~MExtensionHandlePrivate() void MExtensionHandlePrivate::visibilityChanged() { - communicator.sendMessage(MAppletVisibilityMessage(applicationVisible && widgetVisible)); + Q_Q(MExtensionHandle); + communicator.sendMessage(MAppletVisibilityMessage(q->isVisible() && applicationVisible)); } void MExtensionHandlePrivate::operationComplete(const QString &operation, const QString &pkg, const QString &error) @@ -127,7 +127,7 @@ MExtensionHandle::MExtensionHandle(QGraphicsItem *parent) : SIGNAL(orientationChanged(M::Orientation)), this, SLOT(orientationEvent(M::Orientation))); - connect(this, SIGNAL(visibilityChanged(bool)), this, SLOT(visibilityEvent(bool))); + connect(this, SIGNAL(visibleChanged()), this, SLOT(visibilityChanged())); // Configure the timers connect(&d->aliveTimer, SIGNAL(timeout()), this, SLOT(sendAliveMessageRequest())); @@ -148,7 +148,7 @@ MExtensionHandle::MExtensionHandle(MExtensionHandlePrivate *dd, MExtensionHandle SIGNAL(orientationChanged(M::Orientation)), this, SLOT(orientationEvent(M::Orientation))); - connect(this, SIGNAL(visibilityChanged(bool)), this, SLOT(visibilityEvent(bool))); + connect(this, SIGNAL(visibleChanged()), this, SLOT(visibilityChanged())); // Configure the timers connect(&d->aliveTimer, SIGNAL(timeout()), this, SLOT(sendAliveMessageRequest())); @@ -281,6 +281,9 @@ void MExtensionHandle::connectionEstablished() d->aliveTimer.start(5000); sendAliveMessageRequest(); + // Send the visibility changed message to the runner + d->visibilityChanged(); + if (d->oldGeometry.isValid()) { // Restore the old geometry setGeometry(d->oldGeometry); @@ -437,14 +440,18 @@ void MExtensionHandle::sendAliveMessageRequest() d->communicationTimer.start(d->aliveResponseTimeout); } -void MExtensionHandle::visibilityEvent(bool visible) +void MExtensionHandle::visibilityChanged() { Q_D(MExtensionHandle); - - d->widgetVisible = visible; d->visibilityChanged(); } +//TODO: Remove this redundant signal in next API/ABI break window. +void MExtensionHandle::visibilityEvent(bool visible) +{ + Q_UNUSED(visible); +} + void MExtensionHandle::enterDisplayEvent() { Q_D(MExtensionHandle); diff --git a/src/extensions/applicationextension/mextensionhandle.h b/src/extensions/applicationextension/mextensionhandle.h index cdea2f01..f39bb1b8 100644 --- a/src/extensions/applicationextension/mextensionhandle.h +++ b/src/extensions/applicationextension/mextensionhandle.h @@ -201,10 +201,16 @@ protected slots: /*! * \brief A slot for notifying that the visibility of the extension has changed due to hide()/show() + * TODO: Remove this redundant signal in next API/ABI break window. */ void visibilityEvent(bool visible); /*! + * \brief A slot for notifying that the visibility of the extension has changed due to hide()/show() + */ + void visibilityChanged(); + + /*! * \brief A slot for notifying that the orientation has changed */ void orientationEvent(M::Orientation); diff --git a/src/extensions/applicationextension/mextensionhandle_p.h b/src/extensions/applicationextension/mextensionhandle_p.h index 94a2d8a1..c1e3cba4 100644 --- a/src/extensions/applicationextension/mextensionhandle_p.h +++ b/src/extensions/applicationextension/mextensionhandle_p.h @@ -88,9 +88,6 @@ public: //! Application level visibility bool applicationVisible; - //! Widget level visibility - bool widgetVisible; - //! A list of remote actions QList<MAction *> remoteActions; diff --git a/src/extensions/applicationextension/mextensionrunner.cpp b/src/extensions/applicationextension/mextensionrunner.cpp index 8bdf9a5f..2be416fc 100644 --- a/src/extensions/applicationextension/mextensionrunner.cpp +++ b/src/extensions/applicationextension/mextensionrunner.cpp @@ -223,7 +223,7 @@ void MExtensionRunner::messageReceived(const MAppletMessage &message) // Visible area rectangle is irrelevant when sending // on or off display events. QRectF dummyRectangle; - emit visibilityChanged(m->isVisible()); + emit visibilityChanged(); visible = m->isVisible(); if (visible) { MOnDisplayChangeEvent event(MOnDisplayChangeEvent::FullyOnDisplay, dummyRectangle); diff --git a/src/extensions/applicationextension/mextensionrunner.h b/src/extensions/applicationextension/mextensionrunner.h index 6bdb2375..e8f22fba 100644 --- a/src/extensions/applicationextension/mextensionrunner.h +++ b/src/extensions/applicationextension/mextensionrunner.h @@ -84,7 +84,7 @@ Q_SIGNALS: /*! * \brief A signal that is emitted when item is shown/hidden */ - void visibilityChanged(bool visibility); + void visibilityChanged(); protected slots: /*! |