/* Rosegarden A MIDI and audio sequencer and musical notation editor. This program is Copyright 2000-2008 Guillaume Laurent <glaurent@telegraph-road.org>, Chris Cannam <cannam@all-day-breakfast.com>, Richard Bown <richard.bown@ferventsoftware.com> The moral rights of Guillaume Laurent, Chris Cannam, and Richard Bown to claim authorship of this work have been asserted. Parts of this file are from KDE Konqueror : KonqMainWindowIface Copyright (C) 2000 Simon Hausmann <hausmann@kde.org> Copyright (C) 2000 David Faure <faure@kde.org> Other copyrights also apply to some parts of this work. Please see the AUTHORS file and individual file headers for details. 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. See the file COPYING included with this distribution for more information. */ #include "RosegardenIface.h" #include "sound/MappedComposition.h" #include <dcopobject.h> #include <dcopref.h> #include <tdeaction.h> #include <kdcopactionproxy.h> #include <tdemainwindow.h> #include <tqcstring.h> #include <tqstring.h> #include <tqvaluelist.h> #include <tdeapplication.h> #include <dcopclient.h> namespace Rosegarden { RosegardenIface::RosegardenIface(TDEMainWindow* mainWindow) : DCOPObject(mainWindow->name()), m_dcopActionProxy(0) {} void RosegardenIface::iFaceDelayedInit(TDEMainWindow* mainWindow) { m_dcopActionProxy = new KDCOPActionProxy(mainWindow->actionCollection(), this); } DCOPRef RosegardenIface::action(const TQCString &name) { return DCOPRef(kapp->dcopClient()->appId(), m_dcopActionProxy->actionObjectId(name)); } QCStringList RosegardenIface::actions() { QCStringList res; TQValueList<TDEAction *> lst = m_dcopActionProxy->actions(); TQValueList<TDEAction *>::ConstIterator it = lst.begin(); TQValueList<TDEAction *>::ConstIterator end = lst.end(); for (; it != end; ++it ) res.append( (*it)->name() ); return res; } TQMap<TQCString,DCOPRef> RosegardenIface::actionMap() { return m_dcopActionProxy->actionMap(); } }