File indexing completed on 2024-05-19 05:54:13
0001 /* This file was part of the KDE libraries 0002 0003 SPDX-FileCopyrightText: 2021 Tomaz Canabrava <tcanabrava@kde.org> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #ifndef SSHMANAGERPLUGIN_H 0009 #define SSHMANAGERPLUGIN_H 0010 0011 #include <pluginsystem/IKonsolePlugin.h> 0012 0013 #include <memory> 0014 0015 namespace Konsole 0016 { 0017 class SessionController; 0018 class MainWindow; 0019 } 0020 0021 class QSortFilterProxyModel; 0022 class QStandardItemModel; 0023 0024 struct SSHManagerPluginPrivate; 0025 0026 class SSHManagerPlugin : public Konsole::IKonsolePlugin 0027 { 0028 Q_OBJECT 0029 public: 0030 SSHManagerPlugin(QObject *object, const QVariantList &args); 0031 ~SSHManagerPlugin() override; 0032 0033 void createWidgetsForMainWindow(Konsole::MainWindow *mainWindow) override; 0034 void activeViewChanged(Konsole::SessionController *controller, Konsole::MainWindow *mainWindow) override; 0035 QList<QAction *> menuBarActions(Konsole::MainWindow *mainWindow) const override; 0036 0037 static void 0038 requestConnection(QSortFilterProxyModel *filterModel, QStandardItemModel *model, Konsole::SessionController *controller, const QModelIndex &idx); 0039 0040 private: 0041 std::unique_ptr<SSHManagerPluginPrivate> d; 0042 }; 0043 0044 #endif