/*************************************************************************** * Copyright (C) 2003 by * * Unai Garro (ugarro@users.sourceforge.net) * * Cyril Bosselut (bosselut@b1project.com) * * Jason Kivlighn (jkivlighn@gmail.com) * * * * 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 "createcategorydialog.h" #include #include #include #include #include #include #include #include CreateCategoryDialog::CreateCategoryDialog( TQWidget *parent, const ElementList& categories ) : KDialogBase( parent, "createCategoryDialog", true, i18n( "New Category" ), KDialogBase::Ok | KDialogBase::Cancel, KDialogBase::Ok ) { TQVBox *page = makeVBoxMainWidget(); box = new TQGroupBox( page ); box->setColumnLayout( 0, TQt::Vertical ); box->layout() ->setSpacing( 6 ); box->layout() ->setMargin( 11 ); TQVBoxLayout *boxLayout = new TQVBoxLayout( box->layout() ); boxLayout->setAlignment( TQt::AlignTop ); box->setTitle( i18n( "New Category" ) ); elementEdit = new KLineEdit( box ); boxLayout->addWidget( elementEdit ); TQHBox *subcatHBox = new TQHBox( box ); ( void ) new TQLabel( i18n( "Subcategory of:" ), subcatHBox ); categoryComboBox = new KComboBox( subcatHBox ); boxLayout->addWidget( subcatHBox ); loadCategories( categories ); adjustSize(); setFixedSize( size() ); //we've got all the widgets put in, now let's keep it this size elementEdit->setFocus(); } CreateCategoryDialog::~CreateCategoryDialog() {} void CreateCategoryDialog::loadCategories( const ElementList& categories ) { categoryComboBox->insertItem( i18n( "**NONE**" ) ); for ( ElementList::const_iterator it = categories.begin(); it != categories.end(); ++it ) { categoryComboBox->insertItem( ( *it ).name ); idMap.insert( ( *it ).name, ( *it ).id ); } } TQString CreateCategoryDialog::newCategoryName( void ) { return ( elementEdit->text() ); } int CreateCategoryDialog::subcategory( void ) { if ( categoryComboBox->currentItem() == 0 ) { return -1; } else { return idMap[ categoryComboBox->currentText() ]; } }