File indexing completed on 2024-05-05 04:51:38

0001 /*
0002     SPDX-FileCopyrightText: 2010-2011 Michal Malek <michalm@jabster.pl>
0003     SPDX-FileCopyrightText: 1998-2010 Sebastian Trueg <trueg@k3b.org>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #ifndef K3B_EXTERNAL_BIN_WIDGET_H
0009 #define K3B_EXTERNAL_BIN_WIDGET_H
0010 
0011 
0012 #include "config-k3b.h"
0013 #include <QWidget>
0014 
0015 
0016 class QModelIndex;
0017 class QPushButton;
0018 class QTabWidget;
0019 class QTreeView;
0020 class KEditListWidget;
0021 
0022 namespace K3b {
0023     class ExternalBinManager;
0024     class ExternalProgram;
0025     class ExternalBin;
0026     class ExternalBinModel;
0027     class ExternalBinParamsModel;
0028     class ExternalBinPermissionModel;
0029 
0030     class ExternalBinWidget : public QWidget
0031     {
0032         Q_OBJECT
0033 
0034     public:
0035         explicit ExternalBinWidget( ExternalBinManager* manager, QWidget* parent = 0 );
0036         ~ExternalBinWidget() override;
0037 
0038     public Q_SLOTS:
0039         void rescan();
0040         void load();
0041         void save();
0042 
0043     private Q_SLOTS:
0044         void saveSearchPath();
0045         void slotPermissionModelChanged();
0046         void slotChangePermissions();
0047 
0048     private:
0049         ExternalBinManager* m_manager;
0050         ExternalBinModel* m_programModel;
0051         ExternalBinParamsModel* m_parameterModel;
0052         ExternalBinPermissionModel* m_permissionModel;
0053 
0054         QTabWidget* m_mainTabWidget;
0055         QTreeView* m_programView;
0056         QTreeView* m_parameterView;
0057         QTreeView* m_permissionView;
0058         KEditListWidget* m_searchPathBox;
0059 
0060         QPushButton* m_changePermissionsButton;
0061         QPushButton* m_rescanButton;
0062     };
0063 }
0064 
0065 
0066 #endif