summaryrefslogtreecommitdiffstats
path: root/kcron/ktlistvars.cpp
blob: 64d43a1c05924125c3f94111dfdc3acc46b5bcf7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
/***************************************************************************
 *   --------------------------------------------------------------------  *
 *   KT list view item cron variables folder implementation.               *
 *   --------------------------------------------------------------------  *
 *   Copyright (C) 1999, Gary Meyer <gary@meyer.net>                       *
 *   --------------------------------------------------------------------  *
 *   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 "ktlistvars.h"

#include <tqstring.h>

#include <klocale.h>  // i18n()
#include <kglobalsettings.h>

#include "ctcron.h"
#include "ctvariable.h"

#include "kticon.h"
#include "ktlistvar.h"
#include "ktvariable.h"
#include "ktprint.h"

KTListVars::KTListVars(KTListItem* parent, CTCron* _ctcron) :
  KTListItem(parent, 0, _ctcron)
{
  refresh();
}

KTListVars::KTListVars(TQListView* parent, CTCron* _ctcron) :
  KTListItem(parent, 0, _ctcron)
{
  refresh();
}

void KTListVars::create()
{
  CTVariable* tempvar = new CTVariable();
  KTVariable* ktvar = new KTVariable(tempvar,i18n("Edit Variable"));
  ktvar->exec();
  delete ktvar;
  if (tempvar->dirty())
  {
    getCTCron()->variable.push_back(tempvar);
    new KTListVar(this, getCTCron(), tempvar); // Qt will clean up
  }
  else
  {
    delete tempvar;
  }
}

void KTListVars::refresh()
{
  setText(0, getDescription());
  setPixmap(0, KTIcon::variables(true));
}

void KTListVars::print(KTPrint& printer) const
{
  TQFont stnd;

  stnd = printer.getFont() ;
  printer.setFont(TQFont( KGlobalSettings::generalFont().family(), 10, TQFont::Bold ));

  printer.print(i18n("Variable:"), 1, KTPrint::alignTextLeft);
  printer.print(i18n("Value:"), 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 variables..."),1,KTPrint::alignTextLeft, false);
    printer.levelColumns(20);
    return;
  }

  KTListItem* ktli = (KTListItem*)this->firstChild();
  Q_CHECK_PTR(ktli);
  while (ktli) {
    ktli->print(printer);
    ktli = (KTListItem*)ktli->nextSibling();
    printer.levelColumns();
  }
  printer.levelColumns(20);
}

TQString KTListVars::getDescription()
{
  return i18n("Variables");
}