on xenial help sign in
Keep lists of actions and info hints in the preview.
7b0e4a2Pawel Stolowski
plugins/Unity/preview.cpp+14−24
@@ -83,34 +83,12 @@ QString Preview::description() const
83
83
84QVariant Preview::actions()
84QVariant Preview::actions()
85{
85{
86− QList<QObject *> alist;
87− if (m_unityPreview) {
88− for (auto unityAction: m_unityPreview->GetActions()) {
89− auto action = new PreviewAction(this); // preview is the owner of actions
90− action->setUnityAction(unityAction);
91− alist.append(action);
92− }
93− } else {
94− qWarning() << "Preview not set";
95− }
96−
97− return QVariant::fromValue(alist);
86+ return QVariant::fromValue(m_actions);
98}
87}
99
88
100QVariant Preview::infoHints()
89QVariant Preview::infoHints()
101{
90{
102− QList<QObject *> hints;
103− if (m_unityPreview) {
104− for (auto unityInfoHint: m_unityPreview->GetInfoHints()) {
105− auto hint = new PreviewInfoHint(this); // preview is the owner of hints
106− hint->setUnityInfoHint(unityInfoHint);
107− hints.append(hint);
108− }
109− } else {
110− qWarning() << "Preview not set";
111− }
112−
113− return QVariant::fromValue(hints);
91+ return QVariant::fromValue(m_infoHints);
114}
92}
115
93
116QString Preview::image() const
94QString Preview::image() const
@@ -163,6 +141,18 @@ void Preview::setUnityPreview(unity::dash::Preview::Ptr unityPreview)
163{
141{
164 m_unityPreview = unityPreview;
142 m_unityPreview = unityPreview;
165
143
144+ for (auto unityInfoHint: m_unityPreview->GetInfoHints()) {
145+ auto hint = new PreviewInfoHint(this);
146+ hint->setUnityInfoHint(unityInfoHint);
147+ m_infoHints.append(hint);
148+ }
149+
150+ for (auto unityAction: m_unityPreview->GetActions()) {
151+ auto action = new PreviewAction(this);
152+ action->setUnityAction(unityAction);
153+ m_actions.append(action);
154+ }
155+
166 Q_EMIT rendererNameChanged();
156 Q_EMIT rendererNameChanged();
167 Q_EMIT titleChanged();
157 Q_EMIT titleChanged();
168 Q_EMIT subtitleChanged();
158 Q_EMIT subtitleChanged();
plugins/Unity/preview.h+5
@@ -24,6 +24,7 @@
24#include <QObject>
24#include <QObject>
25#include <QString>
25#include <QString>
26#include <QMetaType>
26#include <QMetaType>
27+#include <QList>
27
28
28// libunity-core
29// libunity-core
29#include <UnityCore/Preview.h>
30#include <UnityCore/Preview.h>
@@ -73,6 +74,10 @@ protected:
73 virtual void setUnityPreview(unity::dash::Preview::Ptr unityPreview);
74 virtual void setUnityPreview(unity::dash::Preview::Ptr unityPreview);
74
75
75 unity::dash::Preview::Ptr m_unityPreview;
76 unity::dash::Preview::Ptr m_unityPreview;
77+
78+private:
79+ QList<QObject *> m_actions;
80+ QList<QObject *> m_infoHints;
76};
81};
77
82
78Q_DECLARE_METATYPE(Preview *)
83Q_DECLARE_METATYPE(Preview *)