• Skip to content
  • Skip to link menu
KDE 4.2 API Reference
  • KDE API Reference
  • API Reference
  • Sitemap
  • Contact Us
 

libtaskmanager

taskitem.cpp

Go to the documentation of this file.
00001 /*****************************************************************
00002 
00003 Copyright 2008 Christian Mollekopf <chrigi_1@hotmail.com>
00004 
00005 Permission is hereby granted, free of charge, to any person obtaining a copy
00006 of this software and associated documentation files (the "Software"), to deal
00007 in the Software without restriction, including without limitation the rights
00008 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
00009 copies of the Software, and to permit persons to whom the Software is
00010 furnished to do so, subject to the following conditions:
00011 
00012 The above copyright notice and this permission notice shall be included in
00013 all copies or substantial portions of the Software.
00014 
00015 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
00016 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00017 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
00018 AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
00019 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
00020 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
00021 
00022 ******************************************************************/
00023 
00024 // Own
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())); //this item isn't useful anymore if the Task was closed
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())); //this item isn't useful anymore if the Task was closed
00065 }
00066 
00067 TaskItem::~TaskItem()
00068 {
00069     //kDebug();
00070   /*  if (parentGroup()){
00071         parentGroup()->remove(this);
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     if (d->task.isNull()) {
00093         kDebug() << "pointer is Null";
00094     }
00095     */
00096     return d->task;
00097 }
00098 
00099 StartupPtr TaskItem::startup() const
00100 {
00101     /*
00102     if (d->startupTask.isNull()) {
00103         kDebug() << "pointer is Null";
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 } // TaskManager namespace
00331 
00332 #include "taskitem.moc"

libtaskmanager

Skip menu "libtaskmanager"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

API Reference

Skip menu "API Reference"
  • KWin
  •   KWin Libraries
  • Libraries
  •   libkworkspace
  •   libsolidcontrol
  •   libtaskmanager
  • Plasma
  •   Animators
  •   Applets
  •   Engines
  • Solid Modules
Generated for API Reference by doxygen 1.5.7
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal