libtaskmanager
taskitem.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "taskitem.h"
00026 #include <KDebug>
00027
00028
00029 namespace TaskManager
00030 {
00031
00032
00033 class TaskItem::Private
00034 {
00035 public:
00036 Private()
00037 :task(0),
00038 startupTask(0)
00039 {
00040 }
00041
00042 TaskPtr task;
00043 StartupPtr startupTask;
00044 };
00045
00046
00047 TaskItem::TaskItem(QObject *parent,TaskPtr task)
00048 : AbstractGroupableItem(parent),
00049 d(new Private)
00050 {
00051 d->task = task;
00052 connect(task.data(), SIGNAL(changed(::TaskManager::TaskChanges)),
00053 this, SIGNAL(changed(::TaskManager::TaskChanges)));
00054 connect(task.data(), SIGNAL(destroyed()), this, SLOT(deleteLater()));
00055 }
00056
00057
00058 TaskItem::TaskItem(QObject *parent, StartupPtr task)
00059 : AbstractGroupableItem(parent),
00060 d(new Private)
00061 {
00062 d->startupTask = task;
00063 connect(task.data(), SIGNAL(changed(::TaskManager::TaskChanges)), this, SIGNAL(changed(::TaskManager::TaskChanges)));
00064 connect(task.data(), SIGNAL(destroyed()), this, SLOT(deleteLater()));
00065 }
00066
00067 TaskItem::~TaskItem()
00068 {
00069
00070
00071
00072
00073 delete d;
00074 }
00075
00076 void TaskItem::setTaskPointer(TaskPtr task)
00077 {
00078 if (d->startupTask) {
00079 disconnect(d->startupTask.data(), 0, 0, 0);
00080 d->startupTask = 0;
00081 }
00082 d->task = task;
00083 connect(task.data(), SIGNAL(changed(::TaskManager::TaskChanges)),
00084 this, SIGNAL(changed(::TaskManager::TaskChanges)));
00085 connect(task.data(), SIGNAL(destroyed()), this, SLOT(deleteLater()));
00086 emit gotTaskPointer();
00087 }
00088
00089 TaskPtr TaskItem::task() const
00090 {
00091
00092
00093
00094
00095
00096 return d->task;
00097 }
00098
00099 StartupPtr TaskItem::startup() const
00100 {
00101
00102
00103
00104
00105
00106 return d->startupTask;
00107 }
00108
00109 QIcon TaskItem::icon() const
00110 {
00111 if (!d->task) {
00112 return QIcon();
00113 }
00114 return d->task->icon();
00115 }
00116
00117 QString TaskItem::name() const
00118 {
00119 if (!d->task) {
00120 return QString();
00121 }
00122 return d->task->visibleName();
00123 }
00124
00125 void TaskItem::setShaded(bool state)
00126 {
00127 if (!d->task) {
00128 return;
00129 }
00130 d->task->setShaded(state);
00131 }
00132
00133 void TaskItem::toggleShaded()
00134 {
00135 if (!d->task) {
00136 return;
00137 }
00138 d->task->toggleShaded();
00139 }
00140
00141 bool TaskItem::isShaded() const
00142 {
00143 if (!d->task) {
00144 return false;
00145 }
00146 return d->task->isShaded();
00147 }
00148
00149 void TaskItem::toDesktop(int desk)
00150 {
00151 if (!d->task) {
00152 return;
00153 }
00154 d->task->toDesktop(desk);
00155 }
00156
00157 bool TaskItem::isOnCurrentDesktop() const
00158 {
00159 return d->task && d->task->isOnCurrentDesktop();
00160 }
00161
00162 bool TaskItem::isOnAllDesktops() const
00163 {
00164 return d->task && d->task->isOnAllDesktops();
00165 }
00166
00167 int TaskItem::desktop() const
00168 {
00169 if (!d->task) {
00170 return 0;
00171 }
00172 return d->task->desktop();
00173 }
00174
00175 void TaskItem::setMaximized(bool state)
00176 {
00177 if (!d->task) {
00178 return;
00179 }
00180 d->task->setMaximized(state);
00181 }
00182
00183 void TaskItem::toggleMaximized()
00184 {
00185 if (!d->task) {
00186 return;
00187 }
00188 d->task->toggleMaximized();
00189 }
00190
00191 bool TaskItem::isMaximized() const
00192 {
00193 return d->task && d->task->isMaximized();
00194 }
00195
00196 void TaskItem::setMinimized(bool state)
00197 {
00198 if (!d->task) {
00199 return;
00200 }
00201 d->task->setIconified(state);
00202 }
00203
00204 void TaskItem::toggleMinimized()
00205 {
00206 if (!d->task) {
00207 return;
00208 }
00209 d->task->toggleIconified();
00210 }
00211
00212 bool TaskItem::isMinimized() const
00213 {
00214 if (!d->task) {
00215 return false;
00216 }
00217 return d->task->isMinimized();
00218 }
00219
00220 void TaskItem::setFullScreen(bool state)
00221 {
00222 if (!d->task) {
00223 return;
00224 }
00225 d->task->setFullScreen(state);
00226 }
00227
00228 void TaskItem::toggleFullScreen()
00229 {
00230 if (!d->task) {
00231 return;
00232 }
00233 d->task->toggleFullScreen();
00234 }
00235
00236 bool TaskItem::isFullScreen() const
00237 {
00238 if (!d->task) {
00239 return false;
00240 }
00241 return d->task->isFullScreen();
00242 }
00243
00244 void TaskItem::setKeptBelowOthers(bool state)
00245 {
00246 if (!d->task) {
00247 return;
00248 }
00249 d->task->setKeptBelowOthers(state);
00250 }
00251
00252 void TaskItem::toggleKeptBelowOthers()
00253 {
00254 if (!d->task) {
00255 return;
00256 }
00257 d->task->toggleKeptBelowOthers();
00258 }
00259
00260 bool TaskItem::isKeptBelowOthers() const
00261 {
00262 if (!d->task) {
00263 return false;
00264 }
00265 return d->task->isKeptBelowOthers();
00266 }
00267
00268 void TaskItem::setAlwaysOnTop(bool state)
00269 {
00270 if (!d->task) {
00271 return;
00272 }
00273 d->task->setAlwaysOnTop(state);
00274 }
00275
00276 void TaskItem::toggleAlwaysOnTop()
00277 {
00278 if (!d->task) {
00279 return;
00280 }
00281 d->task->toggleAlwaysOnTop();
00282 }
00283
00284 bool TaskItem::isAlwaysOnTop() const
00285 {
00286 if (!d->task) {
00287 return false;
00288 }
00289 return d->task->isAlwaysOnTop();
00290 }
00291
00292 bool TaskItem::isActionSupported(NET::Action action) const
00293 {
00294 return d->task && d->task->info().actionSupported(action);
00295 }
00296
00297 void TaskItem::addMimeData(QMimeData *mimeData) const
00298 {
00299 if (!d->task) {
00300 return;
00301 }
00302
00303 d->task->addMimeData(mimeData);
00304 }
00305
00306 void TaskItem::close()
00307 {
00308 if (!d->task) {
00309 return;
00310 }
00311 d->task->close();
00312 }
00313
00314 bool TaskItem::isActive() const
00315 {
00316 if (!d->task) {
00317 return false;
00318 }
00319 return d->task->isActive();
00320 }
00321
00322 bool TaskItem::demandsAttention() const
00323 {
00324 if (!d->task) {
00325 return false;
00326 }
00327 return d->task->demandsAttention();
00328 }
00329
00330 }
00331
00332 #include "taskitem.moc"