diff options
| author | Rahman Duran <[email protected]> | 2009-03-29 11:54:40 +0000 |
|---|---|---|
| committer | Rahman Duran <[email protected]> | 2009-03-29 11:54:40 +0000 |
| commit | 53a9373a38e077f644a6a25597200667a805f401 (patch) | |
| tree | 1b989e9a76c3068fb5b288c559d024703d0388d0 /src/panels/terminal/terminalpanel.cpp | |
| parent | 87594350e88d630c5de58b2a73128b63ebfcc070 (diff) | |
BUG: 164489
Make Dolphin benefit from new TerminalInterfaceV2 functions.
svn path=/trunk/KDE/kdebase/apps/; revision=946382
Diffstat (limited to 'src/panels/terminal/terminalpanel.cpp')
| -rw-r--r-- | src/panels/terminal/terminalpanel.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/panels/terminal/terminalpanel.cpp b/src/panels/terminal/terminalpanel.cpp index 593015147..ae5e45f09 100644 --- a/src/panels/terminal/terminalpanel.cpp +++ b/src/panels/terminal/terminalpanel.cpp @@ -20,13 +20,15 @@ #include "terminalpanel.h" #include <klibloader.h> -#include <kde_terminal_interface.h> +#include <kde_terminal_interface_v2.h> #include <kparts/part.h> #include <kshell.h> #include <QBoxLayout> #include <QShowEvent> +#include <kdebug.h> + TerminalPanel::TerminalPanel(QWidget* parent) : Panel(parent), m_layout(0), @@ -55,9 +57,14 @@ void TerminalPanel::setUrl(const KUrl& url) } Panel::setUrl(url); - if ((m_terminal != 0) && isVisible() && url.isLocalFile()) { + const bool sendInput = (m_terminal != 0) + && (m_terminal->foregroundProcessId() == -1) + && isVisible() + && url.isLocalFile(); + if (sendInput) { m_terminal->sendInput("cd " + KShell::quoteArg(url.toLocalFile()) + '\n'); } + } void TerminalPanel::terminalExited() @@ -80,9 +87,10 @@ void TerminalPanel::showEvent(QShowEvent* event) connect(part, SIGNAL(destroyed(QObject*)), this, SLOT(terminalExited())); m_terminalWidget = part->widget(); m_layout->addWidget(m_terminalWidget); - m_terminal = qobject_cast<TerminalInterface *>(part); + m_terminal = qobject_cast<TerminalInterfaceV2 *>(part); m_terminal->showShellInDir(url().path()); - } + + } } if (m_terminal != 0) { m_terminal->sendInput("cd " + KShell::quoteArg(url().path()) + '\n'); |
