/* This file is part of the KDE project Copyright (C) 2002-2003 Norbert Andres (C) 2002 Philipp Mueller (C) 2002 John Dailey (C) 1999-2001 Laurent Montel (C) 1998-1999 Torben Weis This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */ #include #include #include #include #include "kspread_doc.h" #include "kspread_locale.h" #include "kspread_sheet.h" #include "kspread_view.h" #include "selection.h" #include "kspread_dlg_area.h" using namespace KSpread; AreaDialog::AreaDialog( View * parent, const char * name, const TQPoint & _marker ) : KDialogBase( parent, name, TRUE, i18n("Area Name"), Ok | Cancel ) { m_pView = parent; m_marker = _marker; TQWidget * page = new TQWidget( this ); setMainWidget(page); TQVBoxLayout * lay1 = new TQVBoxLayout( page, 0, spacingHint() ); TQLabel * label = new TQLabel( i18n("Enter the area name:"), page ); lay1->addWidget( label ); m_areaName = new TQLineEdit(page); m_areaName->setMinimumWidth( m_areaName->sizeHint().width() * 3 ); lay1->addWidget( m_areaName ); m_areaName->setFocus(); connect ( m_areaName, TQ_SIGNAL(textChanged ( const TQString & )), this, TQ_SLOT(slotAreaNamechanged( const TQString &))); connect( this, TQ_SIGNAL( okClicked() ), this, TQ_SLOT( slotOk() ) ); enableButtonOK(!m_areaName->text().isEmpty()); } void AreaDialog::slotAreaNamechanged( const TQString & text) { enableButtonOK(!text.isEmpty()); } void AreaDialog::slotOk() { TQString tmp(m_areaName->text()); if( !tmp.isEmpty() ) { tmp = tmp.lower(); TQRect rect( m_pView->selectionInfo()->selection() ); bool newName = true; TQValueList::Iterator it; TQValueList area = m_pView->doc()->listArea(); for ( it = area.begin(); it != area.end(); ++it ) { if(tmp == (*it).ref_name) newName = false; } if (newName) { m_pView->doc()->emitBeginOperation( false ); m_pView->doc()->addAreaName(rect, tmp, m_pView->activeSheet()->sheetName()); m_pView->slotUpdateView( m_pView->activeSheet() ); accept(); } else KMessageBox::error( this, i18n("This name is already used.")); } else { KMessageBox::error( this, i18n("Area text is empty.") ); } } #include "kspread_dlg_area.moc"