/*************************************************************************** * KT list view item tasks implementation. * * -------------------------------------------------------------------- * * Copyright (C) 1999, Gary Meyer * * -------------------------------------------------------------------- * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * ***************************************************************************/ #include "ktlisttasks.h" #include #include // i18n() #include #include "ctcron.h" #include "cttask.h" #include "kticon.h" #include "ktlisttask.h" #include "kttask.h" #include "ktprint.h" KTListTasks::KTListTasks(KTListItem* parent, CTCron* _ctcron) : KTListItem(parent, 0, _ctcron) { refresh(); } KTListTasks::KTListTasks(TQListView* parent, CTCron* _ctcron) : KTListItem(parent, 0, _ctcron) { refresh(); } TQString KTListTasks::getDescription() { return i18n("Tasks"); } void KTListTasks::create() { CTTask* temptask = new CTTask ("", "", getCTCron()->syscron); KTTask* kttask = new KTTask(temptask,i18n("Edit Task")); kttask->exec(); delete kttask; if (temptask->dirty()) { getCTCron()->task.push_back(temptask); new KTListTask(this, getCTCron(), temptask); // TQt will clean up } else { delete temptask; } } void KTListTasks::refresh() { setText(0, getDescription()); setPixmap(0, KTIcon::tasks(true)); } void KTListTasks::print (KTPrint& printer) const { TQFont stnd; stnd = printer.getFont(); printer.setFont(TQFont( KGlobalSettings::generalFont().family(), 10, TQFont::Bold )); printer.print (i18n("Task name:"), 1, KTPrint::alignTextLeft); printer.print (i18n("Program:"), 2, KTPrint::alignTextCenter); printer.print (i18n("Description:"),3,KTPrint::alignTextRight); printer.setFont(stnd); //firstChild() does not return null if there are no children, therefore //we need to check the validation of the pointer without terminating //the application. This maybe a bug in QT 1.44 if (this->childCount() ==0) { printer.print(i18n("No tasks..."),1,KTPrint::alignTextLeft, false); printer.levelColumns(20); return; } KTListItem* ktli = (KTListItem*)this->firstChild(); TQ_CHECK_PTR(ktli); while (ktli) { ktli->print(printer); ktli = (KTListItem*)ktli->nextSibling(); printer.levelColumns(); } printer.levelColumns(20); }