@@ -18,14 +18,16 @@
18#include <QUrl>
18#include <QUrl>
20#include "fake_scope.h"
20#include "fake_scope.h"
21#include "fake_department.h"
22#include "fake_department.h"
22#include "fake_resultsmodel.h"
23#include "fake_resultsmodel.h"
24+#include "fake_scopes.h"
24−Scope::Scope(QObject* parent) : Scope(QString(), QString(), false, parent)
26+Scope::Scope(Scopes* parent) : Scope(QString(), QString(), false, parent)
28−Scope::Scope(QString const& id, QString const& name, bool visible, QObject* parent)
30+Scope::Scope(QString const& id, QString const& name, bool visible, Scopes* parent)
29 : unity::shell::scopes::ScopeInterface(parent)
31 : unity::shell::scopes::ScopeInterface(parent)
30 , m_id(id)
32 , m_id(id)
31 , m_name(name)
33 , m_name(name)
@@ -35,6 +37,7 @@ Scope::Scope(QString const& id, QString const& name, bool visible, QObject* pare
35 , m_currentDeparment("root")
37 , m_currentDeparment("root")
36 , m_previewRendererName("preview-generic")
38 , m_previewRendererName("preview-generic")
37 , m_categories(new Categories(20, this))
39 , m_categories(new Categories(20, this))
40+ , m_openScope(nullptr)
@@ -150,7 +153,12 @@ void Scope::setNoResultsHint(const QString& str)
151void Scope::activate(QVariant const& result)
154void Scope::activate(QVariant const& result)
153− qDebug() << "Called activate on scope" << m_id << "with result" << result;;
156+ qDebug() << "Called activate on scope" << m_id << "with result" << result;
157+ if (result.toString() == "Result.2.2") {
158+ Scopes *scopes = dynamic_cast<Scopes*>(parent());
159+ m_openScope = scopes->getScope("MockScope2");
160+ Q_EMIT openScope(m_openScope);
156PreviewStack* Scope::preview(QVariant const& result)
164PreviewStack* Scope::preview(QVariant const& result)
@@ -166,9 +174,13 @@ void Scope::cancelActivation()
169−void Scope::closeScope(unity::shell::scopes::ScopeInterface* /*scope*/)
177+void Scope::closeScope(unity::shell::scopes::ScopeInterface* scope)
179+ if (scope != m_openScope) {
180+ qDebug() << scope << m_openScope;
171− qFatal("Scope::closeScope is not implemented");
181+ qFatal("Scope::closeScope got wrong scope in closeScope");
183+ m_openScope = nullptr;
174QString Scope::currentDepartmentId() const
186QString Scope::currentDepartmentId() const