diff options
Diffstat (limited to 'src/panels/terminal')
| -rw-r--r-- | src/panels/terminal/terminalpanel.cpp | 22 | ||||
| -rw-r--r-- | src/panels/terminal/terminalpanel.h | 5 |
2 files changed, 14 insertions, 13 deletions
diff --git a/src/panels/terminal/terminalpanel.cpp b/src/panels/terminal/terminalpanel.cpp index d6b370329..12b319f3c 100644 --- a/src/panels/terminal/terminalpanel.cpp +++ b/src/panels/terminal/terminalpanel.cpp @@ -52,26 +52,26 @@ QSize TerminalPanel::sizeHint() const return size; } -void TerminalPanel::setUrl(const KUrl& url) +void TerminalPanel::terminalExited() { - if (!url.isValid() || (url == Panel::url())) { - return; - } + emit hideTerminalPanel(); + m_terminal = 0; +} - Panel::setUrl(url); +bool TerminalPanel::urlChanged() +{ + if (!url().isValid()) { + return false; + } const bool sendInput = (m_terminal != 0) && (m_terminal->foregroundProcessId() == -1) && isVisible(); if (sendInput) { - changeDir(url); + changeDir(url()); } -} -void TerminalPanel::terminalExited() -{ - emit hideTerminalPanel(); - m_terminal = 0; + return true; } void TerminalPanel::showEvent(QShowEvent* event) diff --git a/src/panels/terminal/terminalpanel.h b/src/panels/terminal/terminalpanel.h index 91a75a989..b9508279e 100644 --- a/src/panels/terminal/terminalpanel.h +++ b/src/panels/terminal/terminalpanel.h @@ -46,14 +46,15 @@ public: virtual QSize sizeHint() const; public slots: - /** @see Panel::setUrl(). */ - virtual void setUrl(const KUrl& url); void terminalExited(); signals: void hideTerminalPanel(); protected: + /** @see Panel::urlChanged() */ + virtual bool urlChanged(); + /** @see QWidget::showEvent() */ virtual void showEvent(QShowEvent* event); |
