summaryrefslogtreecommitdiffstats
path: root/kig/modes/edittype.cc
blob: d2f25a47fce362d2d708d8bd59fc9f0b4b6f5c68 (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
100
101
102
103
104
105
106
107
/**
   This file is part of Kig, a KDE program for Interactive Geometry...
   Copyright (C) 2004  Dominique Devriese <devriese@kde.org>
   Copyright (C) 2004  Pino Toscano <toscano.pino@tiscali.it>

   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.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301
   USA
**/


#include "edittype.h"
#include "edittype.moc"

#include <kapplication.h>
#include <kicondialog.h>
#include <klineedit.h>
#include <klocale.h>
#include <kmessagebox.h>
#include <kpushbutton.h>
#include <kstdguiitem.h>

EditType::EditType( TQWidget* parent, TQString name, TQString desc, TQString icon )
  : EditTypeBase( parent, "edittype", true ), mname( name ), mdesc( desc ), micon( icon )
{
  // improving GUI look'n'feel...
  buttonHelp->setGuiItem( KStdGuiItem::help() );
  buttonOk->setGuiItem( KStdGuiItem::ok() );
  buttonCancel->setGuiItem( KStdGuiItem::cancel() );

  editName->setText( mname );
  editDescription->setText( mdesc );
  typeIcon->setIcon( !micon.isEmpty() ? micon : "gear" );
}

EditType::~EditType()
{
}

void EditType::helpSlot()
{
  kapp->invokeHelp( TQString::tqfromLatin1( "working-with-types" ),
                    TQString::tqfromLatin1( "kig" ) );
}

void EditType::okSlot()
{
  TQString tmp = editName->text();
  if ( tmp.isEmpty() )
  {
    KMessageBox::information( this, i18n( "The name of the macro can not be empty." ) );
    return;
  }

  bool namechanged = false;
  bool descchanged = false;
  bool iconchanged = false;
  if ( tmp != mname )
  {
    mname = tmp;
    namechanged = true;
  }
  tmp = editDescription->text();
  if ( tmp != mdesc )
  {
    mdesc = tmp;
    descchanged = true;
  }
  tmp = typeIcon->icon();
  if ( tmp != micon )
  {
    micon = tmp;
    iconchanged = true;
  }
  done( namechanged || descchanged || iconchanged );
}

void EditType::cancelSlot()
{
  done( 0 );
}

const TQString EditType::name() const
{
  return mname;
}

const TQString EditType::description() const
{
  return mdesc;
}

const TQString EditType::icon() const
{
  return micon;
}