File indexing completed on 2024-05-12 05:35:54

0001 /*
0002     SPDX-FileCopyrightText: 2009-2010 Trever Fischer <tdfischer@fedoraproject.org>
0003     SPDX-FileCopyrightText: 2015 Kai Uwe Broulik <kde@privat.broulik.de>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #pragma once
0009 
0010 #include <KCModule>
0011 
0012 #include "ui_DeviceAutomounterKCM.h"
0013 
0014 class DeviceModel;
0015 class AutomounterSettings;
0016 
0017 class DeviceAutomounterKCM : public KCModule, public Ui::DeviceAutomounterKCM
0018 {
0019     Q_OBJECT
0020 
0021 public:
0022     explicit DeviceAutomounterKCM(QObject *parent, const KPluginMetaData &data);
0023     ~DeviceAutomounterKCM() override;
0024 
0025 public Q_SLOTS:
0026     void load() override;
0027     void save() override;
0028     void defaults() override;
0029 
0030 private Q_SLOTS:
0031     void updateForgetDeviceButton();
0032     void forgetSelectedDevices();
0033     void updateState();
0034 
0035 private:
0036     void saveLayout();
0037     void loadLayout();
0038 
0039     AutomounterSettings *const m_settings;
0040     DeviceModel *const m_devices;
0041     bool m_unmanagedChanges = false;
0042 };