/* This file is part of the KDE libraries Copyright (C) 1998 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 /**************************************************** * * KoPartSelectDia * ****************************************************/ KoPartSelectDia::KoPartSelectDia( TQWidget* parent, const char* name ) : KDialogBase( parent, name, TRUE, i18n("Insert Object"), KDialogBase::Ok | KDialogBase::Cancel ) { listview = new TQListView( this ); listview->addColumn( i18n( "Object" ) ); listview->addColumn( i18n( "Comment" ) ); listview->setAllColumnsShowFocus( TRUE ); listview->setShowSortIndicator( TRUE ); setMainWidget( listview ); connect( listview, TQT_SIGNAL( doubleClicked( TQListViewItem * ) ), this, TQT_SLOT( slotOk() ) ); connect( listview, TQT_SIGNAL( selectionChanged( TQListViewItem * ) ), this, TQT_SLOT( selectionChanged( TQListViewItem * ) ) ); // Query for documents m_lstEntries = KoDocumentEntry::query(); TQValueList::Iterator it = m_lstEntries.begin(); for( ; it != m_lstEntries.end(); ++it ) { KService::Ptr serv = (*it).service(); if (!serv->genericName().isEmpty()) { TQListViewItem *item = new TQListViewItem( listview, serv->name(), serv->genericName() ); item->setPixmap( 0, SmallIcon( serv->icon() ) ); } } selectionChanged( 0 ); setFocus(); resize( listview->sizeHint().width() + 20, 300 ); } void KoPartSelectDia::selectionChanged( TQListViewItem *item ) { enableButtonOK( item != 0 ); } KoDocumentEntry KoPartSelectDia::entry() { if ( listview->currentItem() ) { TQValueList::Iterator it = m_lstEntries.begin(); for ( ; it != m_lstEntries.end(); ++it ) { if ( ( *it ).service()->name() == listview->currentItem()->text( 0 ) ) return *it; } } return KoDocumentEntry(); } KoDocumentEntry KoPartSelectDia::selectPart( TQWidget *parent ) { KoDocumentEntry e; KoPartSelectDia *dlg = new KoPartSelectDia( parent, "PartSelect" ); dlg->setFocus(); if (dlg->exec() == TQDialog::Accepted) e = dlg->entry(); delete dlg; return e; } #include