You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdeedu/kig/modes/edittype.cpp

108 lines
2.6 KiB

/**
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 <tdeapplication.h>
#include <kicondialog.h>
#include <klineedit.h>
#include <tdelocale.h>
#include <tdemessagebox.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::fromLatin1( "working-with-types" ),
TQString::fromLatin1( "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;
}