File indexing completed on 2024-04-28 17:06:04

0001 /*
0002     SPDX-FileCopyrightText: 2005 Csaba Karai <cskarai@freemail.hu>
0003     SPDX-FileCopyrightText: 2005-2022 Krusader Krew <https://krusader.org>
0004 
0005     Based on KRemoteEncodingPlugin from Dawit Alemayehu <adawit@kde.org>
0006 
0007     SPDX-License-Identifier: GPL-2.0-or-later
0008 */
0009 
0010 #ifndef KRREMOTEENCODINGMENU_H
0011 #define KRREMOTEENCODINGMENU_H
0012 
0013 // QtCore
0014 #include <QStringList>
0015 // QtWidgets
0016 #include <QAction>
0017 
0018 #include <KWidgetsAddons/KActionMenu>
0019 
0020 class KActionCollection;
0021 
0022 class KrRemoteEncodingMenu : public KActionMenu
0023 {
0024     Q_OBJECT
0025 public:
0026     KrRemoteEncodingMenu(const QString &text, const QString &iconName, KActionCollection *parent = nullptr);
0027 
0028 protected slots:
0029 
0030     void slotAboutToShow();
0031 
0032     void slotReload();
0033     void slotTriggered(QAction *);
0034 
0035     virtual void chooseDefault();
0036     virtual void chooseEncoding(QString encoding);
0037 
0038 protected:
0039     virtual QString currentCharacterSet();
0040 
0041 private:
0042     void loadSettings();
0043     void updateKIOSlaves();
0044 
0045     QStringList encodingNames;
0046     bool settingsLoaded;
0047 };
0048 
0049 #endif /* REMOTEENCODING_MENU_H */