• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • applications API Reference
  • KDE Home
  • Contact Us
 

Konsole

  • kde-4.14
  • applications
  • konsole
  • src
Part.h
Go to the documentation of this file.
1 /*
2  Copyright 2007-2008 by Robert Knight <robertknight@gmail.com>
3 
4  This program is free software; you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation; either version 2 of the License, or
7  (at your option) any later version.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with this program; if not, write to the Free Software
16  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
17  02110-1301 USA.
18 */
19 
20 #ifndef PART_H
21 #define PART_H
22 
23 // KDE
24 #include <KParts/Part>
25 #include <kde_terminal_interface_v2.h>
26 
27 // Qt
28 #include <QtCore/QVariantList>
29 
30 // Konsole
31 #include "Profile.h"
32 
33 class QAction;
34 class QStringList;
35 class QKeyEvent;
36 
37 namespace Konsole
38 {
39 class Session;
40 class SessionController;
41 class ViewManager;
42 class ViewProperties;
43 
48 class Part : public KParts::ReadOnlyPart , public TerminalInterfaceV2
49 {
50  Q_OBJECT
51  Q_INTERFACES(TerminalInterface TerminalInterfaceV2)
52 public:
54  explicit Part(QWidget* parentWidget , QObject* parent, const QVariantList&);
55  virtual ~Part();
56 
58  virtual void startProgram(const QString& program,
59  const QStringList& arguments);
61  virtual void showShellInDir(const QString& dir);
63  virtual void sendInput(const QString& text);
64 
66  virtual int terminalProcessId();
67 
69  virtual int foregroundProcessId();
70 
72  virtual QString foregroundProcessName();
73 
74 public slots:
83  void createSession(const QString& profileName = QString(), const QString& directory = QString());
84 
90  QStringList profileNameList() const;
91 
101  void showManageProfilesDialog(QWidget* parent);
111  void showEditCurrentProfileDialog(QWidget* parent);
121  void changeSessionSettings(const QString& text);
122 
130  void openTeletype(int ptyMasterFd);
131 
138  void setMonitorSilenceEnabled(bool enabled);
139 
146  void setMonitorActivityEnabled(bool enabled);
147 
153  QString currentWorkingDirectory() const;
154 
155 signals:
173  void overrideShortcut(QKeyEvent* event, bool& override);
174 
179  void silenceDetected();
180 
185  void activityDetected();
186 
190  void currentDirectoryChanged(const QString& dir);
191 
192 protected:
194  virtual bool openFile();
195  virtual bool openUrl(const KUrl& url);
196 
197 private slots:
198  void activeViewChanged(SessionController* controller);
199  void activeViewTitleChanged(ViewProperties* properties);
200  void showManageProfilesDialog();
201  void terminalExited();
202  void newTab();
203  void overrideTerminalShortcut(QKeyEvent*, bool& override);
204  void sessionStateChanged(int state);
205 
206 private:
207  Session* activeSession() const;
208  void createGlobalActions();
209  void setupActionsForSession(SessionController*);
210 
211 private:
212  ViewManager* _viewManager;
213  SessionController* _pluggedController;
214  QAction* _manageProfilesAction;
215 };
216 }
217 
218 #endif // PART_H
Konsole::Part::terminalProcessId
virtual int terminalProcessId()
Reimplemented from TerminalInterfaceV2.
Definition: Part.cpp:175
Konsole::Part::overrideShortcut
void overrideShortcut(QKeyEvent *event, bool &override)
Emitted when the key sequence for a shortcut, which is also a valid terminal key sequence, is pressed while the terminal has focus.
QWidget
Konsole::Part::setMonitorSilenceEnabled
void setMonitorSilenceEnabled(bool enabled)
Toggles monitoring for silence in the active session.
Definition: Part.cpp:354
Konsole::Session
Represents a terminal session consisting of a pseudo-teletype and a terminal emulation.
Definition: Session.h:78
Konsole::SessionController
Provides the menu actions to manipulate a single terminal session and view pair.
Definition: SessionController.h:85
Konsole::Part::startProgram
virtual void startProgram(const QString &program, const QStringList &arguments)
Reimplemented from TerminalInterface.
Definition: Part.cpp:131
Konsole::Part::showManageProfilesDialog
void showManageProfilesDialog(QWidget *parent)
Shows the dialog used to manage profiles in Konsole.
Definition: Part.cpp:295
Konsole::Part::~Part
virtual ~Part()
Definition: Part.cpp:89
Konsole::Part::foregroundProcessId
virtual int foregroundProcessId()
Reimplemented from TerminalInterfaceV2.
Definition: Part.cpp:182
Konsole::Part::foregroundProcessName
virtual QString foregroundProcessName()
Reimplemented from TerminalInterfaceV2.
Definition: Part.cpp:193
Konsole::Part::showEditCurrentProfileDialog
void showEditCurrentProfileDialog(QWidget *parent)
Shows the dialog used to edit the profile used by the active session.
Definition: Part.cpp:303
Konsole::Part::setMonitorActivityEnabled
void setMonitorActivityEnabled(bool enabled)
Toggles monitoring for activity in the active session.
Definition: Part.cpp:367
Konsole::Part::openFile
virtual bool openFile()
Reimplemented from KParts::PartBase.
Definition: Part.cpp:106
Konsole::Part::activityDetected
void activityDetected()
Emitted when activity has been detected in the active session.
Konsole::ViewManager
Manages the terminal display widgets in a Konsole window or part.
Definition: ViewManager.h:66
Konsole::Part::createSession
void createSession(const QString &profileName=QString(), const QString &directory=QString())
creates and run a session using the specified profile and directory
Definition: Part.cpp:211
Konsole::Part::openUrl
virtual bool openUrl(const KUrl &url)
Definition: Part.cpp:326
Konsole::Part::openTeletype
void openTeletype(int ptyMasterFd)
Connects to an existing pseudo-teletype.
Definition: Part.cpp:148
QObject
Konsole::Part
A re-usable terminal emulator component using the KParts framework which can be used to embed termina...
Definition: Part.h:48
QString
Konsole::Part::currentWorkingDirectory
QString currentWorkingDirectory() const
Returns the current working directory of the active session.
Definition: Part.cpp:204
QStringList
Konsole::Part::currentDirectoryChanged
void currentDirectoryChanged(const QString &dir)
Emitted when the current working directory of the active session has changed.
Konsole::ViewProperties
Encapsulates user-visible information about the terminal session currently being displayed in a view...
Definition: ViewProperties.h:44
Konsole::Part::Part
Part(QWidget *parentWidget, QObject *parent, const QVariantList &)
Constructs a new Konsole part with the specified parent.
Definition: Part.cpp:51
QKeyEvent
Konsole::Part::profileNameList
QStringList profileNameList() const
Returns a list of names of all available profiles.
Definition: Part.cpp:228
QAction
Konsole::Part::sendInput
virtual void sendInput(const QString &text)
Reimplemented from TerminalInterface.
Definition: Part.cpp:169
Konsole::Part::changeSessionSettings
void changeSessionSettings(const QString &text)
Sends a profile change command to the active session.
Definition: Part.cpp:313
Konsole::Part::showShellInDir
virtual void showShellInDir(const QString &dir)
Reimplemented from TerminalInterface.
Definition: Part.cpp:155
Profile.h
TerminalInterfaceV2
Konsole::Part::silenceDetected
void silenceDetected()
Emitted when silence has been detected in the active session.
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Sat May 9 2020 03:56:27 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

Konsole

Skip menu "Konsole"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

applications API Reference

Skip menu "applications API Reference"
  •   kate
  •       kate
  •   KTextEditor
  •   Kate
  • Konsole

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal