File indexing completed on 2024-04-28 05:48:37

0001 // SPDX-FileCopyrightText: 2022 Kåre Särs <kare.sars@iki.fi>
0002 //
0003 //  SPDX-License-Identifier: LGPL-2.0-only
0004 
0005 #pragma once
0006 
0007 #include <QString>
0008 #include <QWidget>
0009 
0010 /** This widget provides terminal (where konsolepart is available and
0011  * plain buffered stdout as a fallback.
0012  */
0013 class AppOutput : public QWidget
0014 {
0015     Q_OBJECT
0016 
0017 public:
0018     explicit AppOutput(QWidget *parent = nullptr);
0019     ~AppOutput(); // This one is needed for the std::unique_ptr
0020 
0021     void setWorkingDir(const QString &path);
0022     void runCommand(const QString &cmd);
0023     QString runningProcess();
0024 
0025 Q_SIGNALS:
0026     void runningChanged();
0027 
0028 private:
0029     struct Private;
0030     friend struct Private;
0031     std::unique_ptr<Private> d;
0032 };