diff options
Diffstat (limited to 'parts/konsole/konsoleviewpart.cpp')
-rw-r--r-- | parts/konsole/konsoleviewpart.cpp | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/parts/konsole/konsoleviewpart.cpp b/parts/konsole/konsoleviewpart.cpp new file mode 100644 index 00000000..8d7892a5 --- /dev/null +++ b/parts/konsole/konsoleviewpart.cpp @@ -0,0 +1,69 @@ +/*************************************************************************** + * Copyright (C) 2003 by KDevelop Authors * + * [email protected] * + * * + * 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. * + * * + ***************************************************************************/ + +#include "konsoleviewpart.h" + +#include <qwhatsthis.h> + +#include <kdevgenericfactory.h> +#include <kiconloader.h> +#include <klocale.h> + +#include "kdevcore.h" +#include "kdevproject.h" +#include "kdevmainwindow.h" +#include "kdevplugininfo.h" +#include "kdevshellwidget.h" + + +typedef KDevGenericFactory<KonsoleViewPart> KonsoleViewFactory; +static const KDevPluginInfo data("kdevkonsoleview"); +K_EXPORT_COMPONENT_FACTORY(libkdevkonsoleview, KonsoleViewFactory(data)) + +KonsoleViewPart::KonsoleViewPart(QObject *parent, const char *name, const QStringList &) + : KDevPlugin(&data, parent, name ? name : "KonsoleViewPart") +{ + setInstance( KonsoleViewFactory::instance() ); + + m_widget = new KDevShellWidget( 0, "konsole widget" ); + + QWhatsThis::add(m_widget, i18n("<b>Konsole</b><p>" + "This window contains an embedded konsole window. It will try to follow you when " + "you navigate in the source directories") + ); + + m_widget->setIcon( SmallIcon("konsole") ); + m_widget->setCaption(i18n("Konsole")); + + m_widget->activate(); + m_widget->setAutoReactivateOnClose( true ); + + mainWindow()->embedOutputView(m_widget, i18n("Konsole"), i18n("Embedded console window")); + + connect(core(), SIGNAL(projectOpened()), this, SLOT(projectOpened())); +} + + +KonsoleViewPart::~KonsoleViewPart() +{ + if ( m_widget ) + mainWindow()->removeView( m_widget ); + delete m_widget; +} + +void KonsoleViewPart::projectOpened() +{ + QString cd_projectdir = QString("cd ") + project()->projectDirectory() + "\n"; + m_widget->sendInput( cd_projectdir ); +} + + +#include "konsoleviewpart.moc" |