From 4b5827cb3e6514ef194f55c69cd6e0a2038f1400 Mon Sep 17 00:00:00 2001 From: Santtu Lakkala Date: Mon, 27 Oct 2014 09:28:27 +0200 Subject: [PATCH] Use window title from session. Fixes #167 --- app/qml/PreprocessedTerminal.qml | 2 ++ app/qml/TerminalContainer.qml | 2 ++ app/qml/main.qml | 3 ++- konsole-qml-plugin/src/ksession.cpp | 6 +++++- konsole-qml-plugin/src/ksession.h | 4 ++++ 5 files changed, 15 insertions(+), 2 deletions(-) diff --git a/app/qml/PreprocessedTerminal.qml b/app/qml/PreprocessedTerminal.qml index 66ecfa7..fed2e32 100644 --- a/app/qml/PreprocessedTerminal.qml +++ b/app/qml/PreprocessedTerminal.qml @@ -33,6 +33,8 @@ Item{ property real dright: frame.item.displacementRight property real dbottom: frame.item.displacementBottom + property alias title: ksession.title + anchors.leftMargin: dleft anchors.rightMargin: dright anchors.topMargin: dtop diff --git a/app/qml/TerminalContainer.qml b/app/qml/TerminalContainer.qml index 3a67ed0..141d07d 100644 --- a/app/qml/TerminalContainer.qml +++ b/app/qml/TerminalContainer.qml @@ -1,6 +1,8 @@ import QtQuick 2.2 Item{ + property alias title: terminal.title + Item{ id: scalableContent width: parent.width * shadersettings.window_scaling diff --git a/app/qml/main.qml b/app/qml/main.qml index 3227ca5..6341588 100644 --- a/app/qml/main.qml +++ b/app/qml/main.qml @@ -42,7 +42,7 @@ ApplicationWindow{ : shadersettings.showMenubar ? defaultMenuBar : null color: "#00000000" - title: qsTr("cool-retro-term") + title: terminalContainer.title || qsTr("cool-retro-term") Action { id: showMenubarAction @@ -113,6 +113,7 @@ ApplicationWindow{ enableTimer: terminalWindow.visible } TerminalContainer{ + id: terminalContainer anchors.fill: parent } SettingsWindow{ diff --git a/konsole-qml-plugin/src/ksession.cpp b/konsole-qml-plugin/src/ksession.cpp index a1ced10..0b16785 100644 --- a/konsole-qml-plugin/src/ksession.cpp +++ b/konsole-qml-plugin/src/ksession.cpp @@ -35,6 +35,7 @@ KSession::KSession(QObject *parent) : QObject(parent), m_session(createSession("KSession")) { connect(m_session, SIGNAL(finished()), this, SLOT(sessionFinished())); + connect(m_session, SIGNAL(titleChanged()), this, SIGNAL(titleChanged())); } KSession::~KSession() @@ -238,4 +239,7 @@ QString KSession::keyBindings() return m_session->keyBindings(); } - +QString KSession::getTitle() +{ + return m_session->userTitle(); +} diff --git a/konsole-qml-plugin/src/ksession.h b/konsole-qml-plugin/src/ksession.h index dbb912e..86325e4 100644 --- a/konsole-qml-plugin/src/ksession.h +++ b/konsole-qml-plugin/src/ksession.h @@ -35,6 +35,7 @@ class KSession : public QObject Q_OBJECT Q_PROPERTY(QString kbScheme READ getKeyBindings WRITE setKeyBindings NOTIFY changedKeyBindings) Q_PROPERTY(QString initialWorkingDirectory READ getInitialWorkingDirectory WRITE setInitialWorkingDirectory) + Q_PROPERTY(QString title READ getTitle NOTIFY titleChanged) public: KSession(QObject *parent = 0); @@ -84,6 +85,8 @@ public: //! Return current key bindings QString keyBindings(); + QString getTitle(); + signals: void finished(); void copyAvailable(bool); @@ -95,6 +98,7 @@ signals: void changedKeyBindings(QString kb); + void titleChanged(); public slots: /*! Set named key binding for given widget