┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2007-12-16 11:28:52 +0000
committerPeter Penz <[email protected]>2007-12-16 11:28:52 +0000
commit3d2593f4234542c6fdbcdd76199f75aeda908626 (patch)
tree3443f56311d9eb818d11b3b3876160b03ff4590b
parent792ebd6691026d817442fe4a32a822a0ef68e767 (diff)
fixes for the terminal panel:
* assure that the correct directory is entered when reopening the terminal * let the terminal be focused also when reopening it BUG: 153785 BUG: 153756 svn path=/trunk/KDE/kdebase/apps/; revision=749039
-rw-r--r--src/terminalsidebarpage.cpp10
-rw-r--r--src/terminalsidebarpage.h2
2 files changed, 9 insertions, 3 deletions
diff --git a/src/terminalsidebarpage.cpp b/src/terminalsidebarpage.cpp
index 25a92b380..ced80ab95 100644
--- a/src/terminalsidebarpage.cpp
+++ b/src/terminalsidebarpage.cpp
@@ -30,7 +30,8 @@
TerminalSidebarPage::TerminalSidebarPage(QWidget* parent) :
SidebarPage(parent),
m_layout(0),
- m_terminal(0)
+ m_terminal(0),
+ m_terminalWidget(0)
{
m_layout = new QVBoxLayout(this);
m_layout->setMargin(0);
@@ -68,13 +69,16 @@ void TerminalSidebarPage::showEvent(QShowEvent* event)
KPluginFactory* factory = KPluginLoader("libkonsolepart").factory();
KParts::ReadOnlyPart* part = factory ? (factory->create<KParts::ReadOnlyPart>(this)) : 0;
if (part != 0) {
- m_layout->addWidget(part->widget());
+ m_terminalWidget = part->widget();
+ m_layout->addWidget(m_terminalWidget);
m_terminal = qobject_cast<TerminalInterface *>(part);
+ m_terminal->showShellInDir(url().path());
}
}
if (m_terminal != 0) {
- m_terminal->showShellInDir(url().path());
+ m_terminal->sendInput("cd " + KShell::quoteArg(url().path()) + '\n');
m_terminal->sendInput("clear\n");
+ m_terminalWidget->setFocus();
}
SidebarPage::showEvent(event);
diff --git a/src/terminalsidebarpage.h b/src/terminalsidebarpage.h
index 6cee2392e..5a4d40bdb 100644
--- a/src/terminalsidebarpage.h
+++ b/src/terminalsidebarpage.h
@@ -24,6 +24,7 @@
class TerminalInterface;
class QVBoxLayout;
+class QWidget;
/**
* @brief Shows the terminal which is synchronized with the URL of the
@@ -51,6 +52,7 @@ protected:
private:
QVBoxLayout* m_layout;
TerminalInterface* m_terminal;
+ QWidget* m_terminalWidget;
};
#endif // TERMINALSIDEBARPAGE_H