X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/4e40fe810d324e69eeb824e40011e509e6676aaf..c9217337c717c336eb8cfcc27e9d4992bc1ebb37:/src/panels/terminal/terminalpanel.h diff --git a/src/panels/terminal/terminalpanel.h b/src/panels/terminal/terminalpanel.h index edaa2a6f3..8eee3c10f 100644 --- a/src/panels/terminal/terminalpanel.h +++ b/src/panels/terminal/terminalpanel.h @@ -1,39 +1,31 @@ -/*************************************************************************** - * Copyright (C) 2007-2010 by Peter Penz * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program 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 General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * - ***************************************************************************/ +/* + * SPDX-FileCopyrightText: 2007-2010 Peter Penz + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ #ifndef TERMINALPANEL_H #define TERMINALPANEL_H -#include +#include "kiofuse_interface.h" +#include "panels/panel.h" #include class TerminalInterface; +class KActionCollection; +class KMessageWidget; class QVBoxLayout; class QWidget; -namespace KIO { - class StatJob; +namespace KIO +{ +class StatJob; } -namespace KParts { - class ReadOnlyPart; +namespace KParts +{ +class ReadOnlyPart; } class KJob; /** @@ -45,57 +37,61 @@ class TerminalPanel : public Panel Q_OBJECT public: - explicit TerminalPanel(QWidget* parent = nullptr); + explicit TerminalPanel(QWidget *parent = nullptr); ~TerminalPanel() override; /** * @brief This function is used to set the terminal panels's cwd to - * home when an unmounting request is receieved. + * home when an unmounting request is received. */ void goHome(); - QString currentWorkingDirectory(); - bool isHiddenInVisibleWindow(); - -public slots: + bool currentWorkingDirectoryIsChildOf(const QString &path) const; + bool isHiddenInVisibleWindow() const; + bool terminalHasFocus() const; + bool hasProgramRunning() const; + QString runningProgramName() const; + KActionCollection *actionCollection(); + +public Q_SLOTS: void terminalExited(); void dockVisibilityChanged(); -signals: +Q_SIGNALS: void hideTerminalPanel(); /** * Is emitted if the an URL change is requested. */ - void changeUrl(const QUrl& url); + void changeUrl(const QUrl &url); protected: bool urlChanged() override; - void showEvent(QShowEvent* event) override; + void showEvent(QShowEvent *event) override; -private slots: - void slotMostLocalUrlResult(KJob* job); - void slotKonsolePartCurrentDirectoryChanged(const QString& dir); +private Q_SLOTS: + void slotMostLocalUrlResult(KJob *job); + void slotKonsolePartCurrentDirectoryChanged(const QString &dir); private: - enum class HistoryPolicy { - AddToHistory, - SkipHistory - }; + enum class HistoryPolicy { AddToHistory, SkipHistory }; - void changeDir(const QUrl& url); - void sendCdToTerminal(const QString& path, HistoryPolicy addToHistory = HistoryPolicy::AddToHistory); + void changeDir(const QUrl &url); + void sendCdToTerminal(const QString &path, HistoryPolicy addToHistory = HistoryPolicy::AddToHistory); + void sendCdToTerminalKIOFuse(const QUrl &url); private: bool m_clearTerminal; - KIO::StatJob* m_mostLocalUrlJob; + KIO::StatJob *m_mostLocalUrlJob; - QVBoxLayout* m_layout; - TerminalInterface* m_terminal; - QWidget* m_terminalWidget; - KParts::ReadOnlyPart* m_konsolePart; + QVBoxLayout *m_layout; + TerminalInterface *m_terminal; + QWidget *m_terminalWidget; + KMessageWidget *m_konsolePartMissingMessage; + KParts::ReadOnlyPart *m_konsolePart; QString m_konsolePartCurrentDirectory; QQueue m_sendCdToTerminalHistory; + org::kde::KIOFuse::VFS m_kiofuseInterface; }; #endif // TERMINALPANEL_H