fabric/simpleterminal.h
fabric/simpleterminal.h
Namespaces
| Name |
|---|
| Syntalos |
Classes
| Name | |
|---|---|
| class | Syntalos::SimpleTerminal A simple integrated terminal emulator. |
Source code
/*
* Copyright (C) 2025-2026 Matthias Klumpp <matthias@tenstral.net>
*
* Licensed under the GNU Lesser General Public License Version 3
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the license, or
* (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this software. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include <QWidget>
class QTermWidget;
class QLineEdit;
class QPushButton;
class QToolButton;
namespace Syntalos
{
class SimpleTerminal : public QWidget
{
Q_OBJECT
public:
explicit SimpleTerminal(QWidget *parent = nullptr);
~SimpleTerminal() override;
[[nodiscard]] QTermWidget *termWidget() const;
void sendText(const QString &text);
void setWorkingDirectory(const QString &dir);
QString workingDirectory() const;
void setShellProgram(const QString &shellPath);
void startShell();
void clear();
signals:
void finished();
void activity();
void windowClosed();
private slots:
void onCopyClicked();
void onPasteClicked();
void onClearClicked();
void onSearchToggled(bool checked);
protected:
void closeEvent(QCloseEvent *event) override;
private:
QTermWidget *m_termWidget;
QToolButton *m_copyBtn;
QToolButton *m_pasteBtn;
QToolButton *m_searchBtn;
};
} // namespace Syntalos
Updated on 2026-02-12 at 17:03:04 +0000