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