Unity 8
 All Classes Functions
launcheritem.cpp
1 /*
2  * Copyright 2013 Canonical Ltd.
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License as published by
6  * the Free Software Foundation; version 3.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU Lesser General Public License for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  * Authors:
17  * Michael Zanetti <michael.zanetti@canonical.com>
18  */
19 
20 #include "launcheritem.h"
21 #include "quicklistmodel.h"
22 
23 #include <libintl.h>
24 
25 LauncherItem::LauncherItem(const QString &appId, const QString &name, const QString &icon, QObject *parent) :
26  LauncherItemInterface(parent),
27  m_appId(appId),
28  m_name(name),
29  m_icon(icon),
30  m_pinned(false),
31  m_running(false),
32  m_recent(false),
33  m_progress(-1),
34  m_count(0),
35  m_countVisible(false),
36  m_focused(false),
37  m_quickList(new QuickListModel(this))
38 {
39  QuickListEntry nameAction;
40  nameAction.setActionId("launch_item");
41  nameAction.setText(m_name);
42  m_quickList->appendAction(nameAction);
43  QuickListEntry pinningAction;
44  pinningAction.setActionId("pin_item");
45  pinningAction.setText(gettext("Pin shortcut"));
46  m_quickList->appendAction(pinningAction);
47 }
48 
49 QString LauncherItem::appId() const
50 {
51  return m_appId;
52 }
53 
54 QString LauncherItem::name() const
55 {
56  return m_name;
57 }
58 
59 void LauncherItem::setName(const QString &name)
60 {
61  if (m_name != name) {
62  m_name = name;
63  Q_EMIT nameChanged(name);
64  }
65 }
66 
67 QString LauncherItem::icon() const
68 {
69  return m_icon;
70 }
71 
72 void LauncherItem::setIcon(const QString &icon)
73 {
74  if (m_icon != icon) {
75  m_icon = icon;
76  Q_EMIT iconChanged(icon);
77  }
78 }
79 
80 bool LauncherItem::pinned() const
81 {
82  return m_pinned;
83 }
84 
85 void LauncherItem::setPinned(bool pinned)
86 {
87  if (m_pinned != pinned) {
88  m_pinned = pinned;
89  QuickListEntry entry;
90  entry.setActionId("pin_item");
91  entry.setText(pinned ? gettext("Unpin shortcut") : gettext("Pin shortcut"));
92  m_quickList->updateAction(entry);
93  Q_EMIT pinnedChanged(pinned);
94  }
95 }
96 
97 bool LauncherItem::running() const
98 {
99  return m_running;
100 }
101 
102 void LauncherItem::setRunning(bool running)
103 {
104  if (m_running != running) {
105  m_running = running;
106  Q_EMIT runningChanged(running);
107  }
108 }
109 
110 bool LauncherItem::recent() const
111 {
112  return m_recent;
113 }
114 
115 void LauncherItem::setRecent(bool recent)
116 {
117  if (m_recent != recent) {
118  m_recent = recent;
119  Q_EMIT recentChanged(recent);
120  }
121 }
122 
123 int LauncherItem::progress() const
124 {
125  return m_progress;
126 }
127 
128 void LauncherItem::setProgress(int progress)
129 {
130  if (m_progress != progress) {
131  m_progress = progress;
132  Q_EMIT progressChanged(progress);
133  }
134 }
135 
136 int LauncherItem::count() const
137 {
138  return m_count;
139 }
140 
141 void LauncherItem::setCount(int count)
142 {
143  if (m_count != count) {
144  m_count = count;
145  Q_EMIT countChanged(count);
146  }
147 }
148 
149 bool LauncherItem::countVisible() const
150 {
151  return m_countVisible;
152 }
153 
154 void LauncherItem::setCountVisible(bool countVisible)
155 {
156  if (m_countVisible != countVisible) {
157  m_countVisible = countVisible;
158  Q_EMIT countVisibleChanged(countVisible);
159  }
160 }
161 
162 bool LauncherItem::focused() const
163 {
164  return m_focused;
165 }
166 
167 void LauncherItem::setFocused(bool focused)
168 {
169  if (m_focused != focused) {
170  m_focused = focused;
171  Q_EMIT focusedChanged(focused);
172  }
173 }
174 
175 unity::shell::launcher::QuickListModelInterface *LauncherItem::quickList() const
176 {
177  return m_quickList;
178 }