/* * Copyright (C) 2013, 2014 Canonical, Ltd. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 3. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef FAKE_SCOPE_H #define FAKE_SCOPE_H #include "fake_categories.h" #include #include class Preview; class Scope : public QObject { Q_OBJECT Q_PROPERTY(QString id READ id NOTIFY idChanged) Q_PROPERTY(QString name READ name NOTIFY nameChanged) Q_PROPERTY(QString iconHint READ iconHint NOTIFY iconHintChanged) Q_PROPERTY(QString description READ description NOTIFY descriptionChanged) Q_PROPERTY(QString searchHint READ searchHint NOTIFY searchHintChanged) Q_PROPERTY(bool visible READ visible NOTIFY visibleChanged) Q_PROPERTY(QString shortcut READ shortcut NOTIFY shortcutChanged) Q_PROPERTY(bool connected READ connected NOTIFY connectedChanged) Q_PROPERTY(Categories* categories READ categories NOTIFY categoriesChanged) Q_PROPERTY(bool searchInProgress READ searchInProgress WRITE setSearchInProgress NOTIFY searchInProgressChanged) Q_PROPERTY(QString searchQuery READ searchQuery WRITE setSearchQuery NOTIFY searchQueryChanged) Q_PROPERTY(QString noResultsHint READ noResultsHint WRITE setNoResultsHint NOTIFY noResultsHintChanged) Q_PROPERTY(QString formFactor READ formFactor WRITE setFormFactor NOTIFY formFactorChanged) Q_PROPERTY(bool isActive READ isActive WRITE setActive NOTIFY isActiveChanged) public: Scope(QObject* parent = 0); Scope(QString const& id, QString const& name, bool visible, QObject* parent = 0); /* getters */ QString id() const; QString name() const; QString iconHint() const; QString description() const; QString searchHint() const; bool visible() const; QString shortcut() const; bool connected() const; bool searchInProgress() const; Categories* categories() const; QString searchQuery() const; QString noResultsHint() const; QString formFactor() const; bool isActive() const; /* setters */ void setName(const QString& name); void setSearchQuery(const QString& search_query); void setNoResultsHint(const QString& hint); void setFormFactor(const QString& form_factor); void setActive(const bool); void setSearchInProgress(const bool inProg); Q_INVOKABLE void activate(const QVariant &uri, const QVariant &icon_hint, const QVariant &category, const QVariant &result_type, const QVariant &mimetype, const QVariant &title, const QVariant &comment, const QVariant &dnd_uri, const QVariant &metadata); Q_INVOKABLE void preview(const QVariant &uri, const QVariant &icon_hint, const QVariant &category, const QVariant &result_type, const QVariant &mimetype, const QVariant &title, const QVariant &comment, const QVariant &dnd_uri, const QVariant &metadata); Q_INVOKABLE void cancelActivation(); Q_SIGNALS: void idChanged(const QString&); void nameChanged(const QString&); void iconHintChanged(const QString&); void descriptionChanged(const QString&); void searchHintChanged(const QString&); void searchInProgressChanged(); void visibleChanged(bool); void shortcutChanged(const QString&); void connectedChanged(bool); void categoriesChanged(); void searchQueryChanged(); void noResultsHintChanged(); void formFactorChanged(); void isActiveChanged(); // signals triggered by activate(..) or preview(..) requests. void previewReady(Preview *preview); void activateApplication(const QString &desktop); void showDash(); void hideDash(); protected: QString m_id; QString m_iconHint; QString m_description; QString m_name; QString m_searchQuery; QString m_noResultsHint; QString m_formFactor; bool m_visible; bool m_searching; bool m_isActive; QString m_previewRendererName; Categories* m_categories; DeeListModel* m_results; QTimer m_timer; }; #endif // FAKE_SCOPE_H