From kde-commits Wed Mar 18 18:52:51 2009 From: Eike Hein Date: Wed, 18 Mar 2009 18:52:51 +0000 To: kde-commits Subject: extragear/utils/yakuake Message-Id: <1237402371.535113.32185.nullmailer () svn ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=123740237922258 SVN commit 941047 by hein: Add the frequently-requested 'sessionIdForTerminalId(int terminalId)' and 'terminalIdsForSessionId(int sessionId)' D-Bus interfaces. M +2 -0 ChangeLog M +5 -0 app/session.cpp M +1 -0 app/session.h M +28 -1 app/sessionstack.cpp M +3 -0 app/sessionstack.h --- trunk/extragear/utils/yakuake/ChangeLog #941046:941047 @@ -8,6 +8,8 @@ * Slightly improved options layout on the Behavior page of the configura- tion dialog. * Added support for moving tabs on the tab bar by drag and drop. +* Added the frequently-requested 'sessionIdForTerminalId(int terminalId)' + and 'terminalIdsForSessionId(int sessionId)' D-Bus interfaces. Changes in 2.9.4: --- trunk/extragear/utils/yakuake/app/session.cpp #941046:941047 @@ -355,6 +355,11 @@ return idList.join(","); } +bool Session::hasTerminal(int terminalId) +{ + return (m_terminals.contains(terminalId)); +} + void Session::runCommand(const QString& command, int terminalId) { if (terminalId == -1) terminalId = m_activeTerminalId; --- trunk/extragear/utils/yakuake/app/session.h #941046:941047 @@ -48,6 +48,7 @@ int activeTerminalId() { return m_activeTerminalId; } const QString terminalIdList(); + bool hasTerminal(int terminalId); public slots: --- trunk/extragear/utils/yakuake/app/sessionstack.cpp #941046:941047 @@ -175,7 +175,7 @@ QHashIterator it(m_sessions); - while (it.hasNext()) + while (it.hasNext()) { it.next(); @@ -185,6 +185,33 @@ return idList.join(","); } +const QString SessionStack::sessionIdForTerminalId(int terminalId) +{ + int sessionId = -1; + + QHashIterator it(m_sessions); + + while (it.hasNext()) + { + it.next(); + + if (it.value()->hasTerminal(terminalId)) + { + sessionId = it.key(); + break; + } + } + + return QString::number(sessionId); +} + +const QString SessionStack::terminalIdsForSessionId(int sessionId) +{ + if (!m_sessions.contains(sessionId)) return QString::number(-1); + + return m_sessions[sessionId]->terminalIdList(); +} + void SessionStack::runCommand(const QString& command) { if (m_activeSessionId == -1) return; --- trunk/extragear/utils/yakuake/app/sessionstack.h #941046:941047 @@ -64,8 +64,11 @@ Q_SCRIPTABLE int activeSessionId() { return m_activeSessionId; } Q_SCRIPTABLE int activeTerminalId(); + Q_SCRIPTABLE const QString sessionIdList(); Q_SCRIPTABLE const QString terminalIdList(); + Q_SCRIPTABLE const QString sessionIdForTerminalId(int terminalId); + Q_SCRIPTABLE const QString terminalIdsForSessionId(int sessionId); Q_SCRIPTABLE void runCommand(const QString& command); Q_SCRIPTABLE void runCommandInTerminal(int terminalId, const QString& command);