summaryrefslogtreecommitdiff
path: root/src/manager-lib/package.h
diff options
context:
space:
mode:
authorRobert Griebl <robert.griebl@qt.io>2020-02-13 14:50:03 +0100
committerRobert Griebl <robert.griebl@qt.io>2020-02-17 17:02:20 +0100
commit9f518a90f5549a770f16c3c9cd72e72403f7231b (patch)
tree6ff8db9dc8c7e9d949a42955e3782a1b0b76d07a /src/manager-lib/package.h
parentf3209dd2b71f7c6f78b70dd1035206d66c51a789 (diff)
downloadqtapplicationmanager-9f518a90f5549a770f16c3c9cd72e72403f7231b.tar.gz
Add properties to allow cross-referencing between Package and Application
Change-Id: Ia4b3688b2eb270905c37c726aa80474c4336de4b Fixes: AUTOSUITE-1470 Reviewed-by: Dominik Holland <dominik.holland@qt.io>
Diffstat (limited to 'src/manager-lib/package.h')
-rw-r--r--src/manager-lib/package.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/manager-lib/package.h b/src/manager-lib/package.h
index d8513bb1..2890383a 100644
--- a/src/manager-lib/package.h
+++ b/src/manager-lib/package.h
@@ -52,6 +52,7 @@
QT_BEGIN_NAMESPACE_AM
+class Application;
class Package : public QObject
{
@@ -69,6 +70,7 @@ class Package : public QObject
Q_PROPERTY(QStringList categories READ categories NOTIFY bulkChange)
Q_PROPERTY(State state READ state NOTIFY stateChanged)
Q_PROPERTY(bool blocked READ isBlocked NOTIFY blockedChanged)
+ Q_PROPERTY(QList<QObject *> applications READ applications NOTIFY applicationsChanged)
public:
enum State {
@@ -92,6 +94,7 @@ public:
QString description() const;
QVariantMap descriptions() const;
QStringList categories() const;
+ QList<QObject *> applications() const;
State state() const { return m_state; }
qreal progress() const { return m_progress; }
@@ -130,10 +133,15 @@ public:
// query function for the installer to verify that it is safe to manipulate binaries
bool areAllApplicationsStoppedDueToBlock() const;
+ // for the ApplicationManager to update the package -> application mapping
+ void addApplication(Application *application);
+ void removeApplication(Application *application);
+
signals:
void bulkChange();
void stateChanged(State state);
void blockedChanged(bool blocked);
+ void applicationsChanged();
private:
PackageInfo *m_info = nullptr;
@@ -144,6 +152,7 @@ private:
QAtomicInt m_blocked;
QAtomicInt m_blockedAppsCount;
QVector<ApplicationInfo *> m_blockedApps;
+ QVector<Application *> m_applications;
};
QT_END_NAMESPACE_AM