File indexing completed on 2024-05-05 04:39:00
0001 /* 0002 SPDX-FileCopyrightText: 2008 Cédric Pasteur <cedric.pasteur@free.fr> 0003 SPDX-FileCopyrightText: 2001 Matthias Hölzer-Klüpfel <mhk@caldera.de> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #ifndef ASTYLEPREFERENCES_H 0009 #define ASTYLEPREFERENCES_H 0010 0011 #include <interfaces/isourceformatter.h> 0012 #include "ui_astyle_preferences.h" 0013 0014 class AStyleFormatter; 0015 0016 class AStylePreferences : public KDevelop::SettingsWidget, public Ui::AStylePreferences 0017 { 0018 Q_OBJECT 0019 0020 public: 0021 enum Language { CPP, Java, CSharp, ObjC}; 0022 0023 explicit AStylePreferences(Language lang=CPP, QWidget *parent=nullptr); 0024 ~AStylePreferences() override; 0025 0026 void load(const KDevelop::SourceFormatterStyle &style) override; 0027 QString save() const override; 0028 0029 protected: 0030 void init(); 0031 void updatePreviewText(); 0032 void setItemChecked(int idx, bool checked); 0033 void updateWidgets(); 0034 0035 private Q_SLOTS: 0036 void currentTabChanged(); 0037 void indentChanged(); 0038 void indentObjectsChanged(QListWidgetItem *item); 0039 void minMaxValuesChanged(); 0040 void bracketsChanged(); 0041 void blocksChanged(); 0042 void paddingChanged(); 0043 void onelinersChanged(); 0044 void pointerAlignChanged(); 0045 void afterParensChanged(); 0046 0047 private: 0048 QScopedPointer<AStyleFormatter> m_formatter; 0049 bool m_enableWidgetSignals; 0050 const Language m_currentLanguage; 0051 }; 0052 0053 #endif // ASTYLEPREFERENCES_H