File indexing completed on 2024-04-28 16:26:18
0001 /************************************************************************************* 0002 begin : Wed Jun 6 2001 0003 copyright : (C) 2003 by Jeroen Wijnout (Jeroen.Wijnhout@kdemail.net) 0004 2007-2016 by Michel Ludwig (michel.ludwig@kdemail.net) 0005 *************************************************************************************/ 0006 0007 /*************************************************************************** 0008 * * 0009 * This program is free software; you can redistribute it and/or modify * 0010 * it under the terms of the GNU General Public License as published by * 0011 * the Free Software Foundation; either version 2 of the License, or * 0012 * (at your option) any later version. * 0013 * * 0014 ***************************************************************************/ 0015 0016 #ifndef CONFIGURATIONDIALOG_H 0017 #define CONFIGURATIONDIALOG_H 0018 0019 #include <KConfigDialog> 0020 0021 #include <KConfigDialogManager> 0022 0023 #include "widgets/codecompletionconfigwidget.h" // code completion (dani) 0024 #include "widgets/previewconfigwidget.h" // QuickPreview (dani) 0025 #include "widgets/environmentconfigwidget.h" // environments (dani) 0026 #include "widgets/graphicsconfigwidget.h" // graphics (dani) 0027 #include "widgets/structureviewconfigwidget.h" // structure view (dani) 0028 #include "widgets/symbolviewconfigwidget.h" 0029 0030 class KConfig; 0031 0032 namespace KileWidget { 0033 class ToolConfig; 0034 } 0035 class KileWidgetAppearanceConfig; 0036 class KileWidgetHelpConfig; 0037 class KileWidgetLatexConfig; 0038 class KileWidgetLivePreviewConfig; 0039 class KileWidgetGeneralConfig; 0040 class KileWidgetEnvironmentConfig; 0041 class KileWidgetGraphicsConfig; 0042 class KileWidgetStructureViewConfig; 0043 class KileWidgetScriptingConfig; 0044 class KileWidgetUsermenuConfig; 0045 0046 namespace KileTool { 0047 class Manager; 0048 } 0049 0050 namespace KTextEditor { 0051 class ConfigPage; 0052 } 0053 0054 namespace KileDialog 0055 { 0056 class Config : public KPageDialog 0057 { 0058 Q_OBJECT 0059 0060 public: 0061 Config( KConfig *config, KileInfo *ki, QWidget* parent = 0); 0062 ~Config(); 0063 0064 virtual void show(); 0065 0066 //Q_SIGNALS: 0067 // void widgetModified(); 0068 0069 private Q_SLOTS: 0070 void slotAcceptChanges(); 0071 0072 private: 0073 // dialog manager 0074 KConfigDialogManager *m_manager; 0075 0076 KConfig *m_config; 0077 KConfigGroup m_configDialogSize; 0078 KileInfo *m_ki; 0079 0080 QList<KPageWidgetItem*> m_pageWidgetItemList; 0081 0082 bool m_editorSettingsChanged; 0083 0084 KileWidget::ToolConfig *toolPage; 0085 0086 // CodeCompletion (dani) 0087 CodeCompletionConfigWidget *completePage; 0088 KileWidgetPreviewConfig *previewPage; 0089 0090 KileWidgetHelpConfig *helpPage; 0091 KileWidgetLatexConfig *latexPage; 0092 KileWidgetGeneralConfig *generalPage; 0093 KileWidgetEnvironmentConfig *envPage; 0094 KileWidgetGraphicsConfig *graphicsPage; 0095 KileWidgetStructureViewConfig *structurePage; 0096 KileWidgetSymbolViewConfig *symbolViewPage; 0097 KileWidgetScriptingConfig *scriptingPage; 0098 KileWidgetUsermenuConfig *usermenuPage; 0099 KileWidgetLivePreviewConfig *livePreviewPage; 0100 KileWidgetAppearanceConfig *appearancePage; 0101 0102 // setup configuration 0103 KPageWidgetItem* addConfigFolder(const QString §ion,const QString &icon); 0104 0105 KPageWidgetItem* addConfigPage(KPageWidgetItem* parent, QWidget *page, 0106 const QString &itemName, const QString &pixmapName, 0107 const QString &header = QString()); 0108 0109 KPageWidgetItem* addConfigPage(KPageWidgetItem* parent, QWidget *page, 0110 const QString &itemName, const QIcon& icon, 0111 const QString &header = QString()); 0112 0113 void setupGeneralOptions(KPageWidgetItem* parent); 0114 void setupTools(KPageWidgetItem* parent); 0115 void setupLatex(KPageWidgetItem* parent); 0116 void setupCodeCompletion(KPageWidgetItem* parent); 0117 void setupQuickPreview(KPageWidgetItem* parent); 0118 void setupHelp(KPageWidgetItem* parent); 0119 void setupEditor(KPageWidgetItem* parent); 0120 void setupEnvironment(KPageWidgetItem* parent); 0121 void setupGraphics(KPageWidgetItem* parent); 0122 void setupStructure(KPageWidgetItem* parent); 0123 void setupSymbolView(KPageWidgetItem* parent); 0124 void setupScripting(KPageWidgetItem* parent); 0125 void setupUsermenu(KPageWidgetItem* parent); 0126 void setupLivePreview(KPageWidgetItem* parent); 0127 void setupAppearance(KPageWidgetItem* parent); 0128 0129 // write configuration 0130 void writeGeneralOptionsConfig(); 0131 0132 // editor pages 0133 QMap<KPageWidgetItem*, KTextEditor::ConfigPage*> m_editorPages; 0134 }; 0135 } 0136 #endif