diff options
Diffstat (limited to 'lib/util/tdevshellwidget.cpp')
-rw-r--r-- | lib/util/tdevshellwidget.cpp | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/lib/util/tdevshellwidget.cpp b/lib/util/tdevshellwidget.cpp deleted file mode 100644 index b5b8d195..00000000 --- a/lib/util/tdevshellwidget.cpp +++ /dev/null @@ -1,125 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2006 by Jens Dagerbo * - * jens.dagerbo@swipnet.se * - * * - * 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 <tqtimer.h> -#include <tqframe.h> - -#include <kdebug.h> -#include <tdeparts/part.h> -#include <klibloader.h> -#include <kde_terminal_interface.h> -#include <kprocess.h> - -#include "tdevshellwidget.h" - -TDevShellWidget::TDevShellWidget(TQWidget *parent, const char *name) - : TQVBox(parent, name), m_doAutoActivate( false ), m_isRunning( false ) -{ -} - - -TDevShellWidget::~TDevShellWidget() -{ -} - -void TDevShellWidget::setShell( const TQString & shell, const TQStrList & arguments ) -{ - m_shellName = shell; - m_shellArguments = arguments; -} - -void TDevShellWidget::activate( ) -{ - KLibFactory *factory = KLibLoader::self()->factory("libkonsolepart"); - if ( !factory ) return; - - m_konsolePart = (KParts::ReadOnlyPart *) factory->create( TQT_TQOBJECT(this), "libkonsolepart", "KParts::ReadOnlyPart" ); - if ( !m_konsolePart ) return; - - connect( m_konsolePart, TQT_SIGNAL( processExited(TDEProcess *) ), this, TQT_SLOT( processExited(TDEProcess *) ) ); - connect( m_konsolePart, TQT_SIGNAL( receivedData( const TQString& ) ), this, TQT_SIGNAL( receivedData( const TQString& ) ) ); - connect( m_konsolePart, TQT_SIGNAL(destroyed()), this, TQT_SLOT(partDestroyed()) ); - - m_konsolePart->widget()->setFocusPolicy( TQ_WheelFocus ); - setFocusProxy( m_konsolePart->widget() ); - m_konsolePart->widget()->setFocus(); - - if ( m_konsolePart->widget()->inherits(TQFRAME_OBJECT_NAME_STRING) ) - ((TQFrame*)m_konsolePart->widget())->setFrameStyle( TQFrame::Panel | TQFrame::Sunken ); - - m_konsolePart->widget()->show(); - - TerminalInterface* ti = static_cast<TerminalInterface*>( m_konsolePart->tqt_cast( "TerminalInterface" ) ); - if( !ti ) return; - - if ( !m_shellName.isEmpty() ) - ti->startProgram( m_shellName, m_shellArguments ); - - m_isRunning = true; - -} - -void TDevShellWidget::partDestroyed( ) -{ - if ( m_doAutoActivate ) - { - activate(); - } -} - -void TDevShellWidget::processExited( TDEProcess * proc ) -{ - m_isRunning = false; - - if ( !proc ) return; - - kdDebug(9000) << proc->args() << endl; - - if ( proc->normalExit() ) - emit shellExited( proc->exitStatus() ); - else if ( proc->signalled() ) - emit shellSignalled( proc->exitSignal() ); -} - -void TDevShellWidget::sendInput( const TQString & text ) -{ - if ( !m_konsolePart ) return; - TerminalInterface* ti = static_cast<TerminalInterface*>( m_konsolePart->tqt_cast( "TerminalInterface" ) ); - if( !ti ) return; - - ti->sendInput( text ); -} - -bool TDevShellWidget::isRunning( ) -{ - return m_isRunning; -} - -void TDevShellWidget::setAutoReactivateOnClose( bool doAutoActivate ) -{ - // to auto reactivate can be dangerous, do it like this to avoid - // reactivating with a non-working setting (the partDestroyed() - // slot will have ran before m_doAutoActivate is set) - if ( doAutoActivate ) - TQTimer::singleShot( 3000, this, TQT_SLOT(setAutoReactivateOnCloseDelayed()) ); - else - m_doAutoActivate = false; -} - -void TDevShellWidget::setAutoReactivateOnCloseDelayed( ) -{ - m_doAutoActivate = true; -} - - -#include "tdevshellwidget.moc" - -// kate: space-indent off; indent-width 4; tab-width 4; show-tabs off; |