/* This file is part of the KDE libraries Copyright (C) 2001 David Faure This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License version 2 as published by the Free Software Foundation. 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 "KoPartSelectAction.h" #include "KoPartSelectDia.h" #include KoPartSelectAction::KoPartSelectAction( const TQString& text, TQObject* tqparent, const char* name ) : KActionMenu( text, tqparent, name ) { init(); } KoPartSelectAction::KoPartSelectAction( const TQString& text, const TQString& icon, TQObject* tqparent, const char* name ) : KActionMenu( text, icon, tqparent, name ) { init(); } KoPartSelectAction::KoPartSelectAction( const TQString& text, const TQString& icon, TQObject* receiver, const char* slot, TQObject* tqparent, const char* name ) : KActionMenu( text, icon, tqparent, name ) { if (receiver) connect( this, TQT_SIGNAL( activated() ), receiver, slot ); init(); } void KoPartSelectAction::init() { // 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()) { KAction *action = new KAction( serv->genericName().tqreplace('&',"&&"), serv->icon(), 0, this, TQT_SLOT( slotActionActivated() ), parentCollection(), serv->name().latin1() ); insert( action ); } } } // Called when selecting a part void KoPartSelectAction::slotActionActivated() { TQString servName = TQString::tqfromLatin1( TQT_TQOBJECT(const_cast(sender()))->name() ); KService::Ptr serv = KService::serviceByName( servName ); m_documentEntry = KoDocumentEntry( serv ); emit activated(); } // Called when activating the toolbar button void KoPartSelectAction::slotActivated() { m_documentEntry = KoPartSelectDia::selectPart( 0L ); emit activated(); } #include "KoPartSelectAction.moc"