00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "dockplugin.h"
00021 #include "dockmanager.h"
00022 #include "core/debughelper.h"
00023
00024 #include <QtGui/QDockWidget>
00025 #include <KDE/KXmlGuiWindow>
00026 #include <KDE/KActionCollection>
00027 #include <KDE/KStandardDirs>
00028
00029 using namespace GluonCreator;
00030
00031 DockPlugin::DockPlugin( QObject* parent, const QList< QVariant >& params ) : Plugin( parent, params )
00032 {
00033
00034 }
00035
00036 DockPlugin::~DockPlugin()
00037 {
00038
00039 }
00040
00041
00042 void DockPlugin::load( KXmlGuiWindow* mainWindow )
00043 {
00044 mainWindow->insertChildClient( this );
00045
00046 m_dock = createDock( mainWindow );
00047
00048 actionCollection()->addAction( QString( "show%1Action" ).arg( m_dock->objectName() ), m_dock->toggleViewAction() );
00049
00050 QString xml = QString( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<kpartgui name=\"gluoncreator_dockplugin_%1\" version=\"1\">" ).arg( m_dock->objectName() );
00051 xml += QString( "<MenuBar><Menu name=\"settings\"><Menu name=\"docks\"><Action name=\"show%1Action\" /></Menu></Menu></MenuBar></kpartgui>" ).arg( m_dock->objectName() );
00052
00053 setXML( xml );
00054 }
00055
00056 void DockPlugin::unload( KXmlGuiWindow* mainWindow )
00057 {
00058 Q_UNUSED( mainWindow );
00059 DockManager::instance()->removeDock( m_dock );
00060 actionCollection()->removeAction( actionCollection()->action( QString( "show%1Action" ).arg( m_dock->objectName() ) ) );
00061 parentClient()->removeChildClient( this );
00062 }
00063
00064