kateconfigdialog.h

00001 /* This file is part of the KDE project
00002    Copyright (C) 2001 Christoph Cullmann <cullmann@kde.org>
00003    Copyright (C) 2002 Joseph Wenninger <jowenn@kde.org>
00004 
00005    This library is free software; you can redistribute it and/or
00006    modify it under the terms of the GNU Library General Public
00007    License version 2 as published by the Free Software Foundation.
00008 
00009    This library is distributed in the hope that it will be useful,
00010    but WITHOUT ANY WARRANTY; without even the implied warranty of
00011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012    Library General Public License for more details.
00013 
00014    You should have received a copy of the GNU Library General Public License
00015    along with this library; see the file COPYING.LIB.  If not, write to
00016    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00017    Boston, MA 02110-1301, USA.
00018 */
00019 
00020 #ifndef __kate_configdialog_h__
00021 #define __kate_configdialog_h__
00022 
00023 #include "katemain.h"
00024 
00025 #include "../interfaces/plugin.h"
00026 #include "../interfaces/pluginconfiginterface.h"
00027 #include "../interfaces/pluginconfiginterfaceextension.h"
00028 
00029 #include <kate/document.h>
00030 #include <ktexteditor/configinterfaceextension.h>
00031 
00032 #include <kdialogbase.h>
00033 
00034 class QCheckBox;
00035 class QSpinBox;
00036 class QButtonGroup;
00037 
00038 struct PluginPageListItem
00039 {
00040   Kate::Plugin *plugin;
00041   Kate::PluginConfigPage *page;
00042 };
00043 
00044 class KateConfigDialog : public KDialogBase
00045 {
00046   Q_OBJECT
00047 
00048   public:
00049     KateConfigDialog (KateMainWindow *parent, Kate::View *view);
00050     ~KateConfigDialog ();
00051 
00052   public:
00053     void addPluginPage (Kate::Plugin *plugin);
00054     void removePluginPage (Kate::Plugin *plugin);
00055 
00056   protected slots:
00057     void slotOk();
00058     void slotApply();
00059     void slotChanged();
00060 
00061   private:
00062     KateMainWindow *mainWindow;
00063 
00064     Kate::View* v;
00065     bool dataChanged;
00066 
00067     QCheckBox *cb_fullPath;
00068     QCheckBox *cb_syncKonsole;
00069     QCheckBox *cb_modNotifications;
00070     QCheckBox *cb_saveMetaInfos;
00071     QSpinBox *sb_daysMetaInfos;
00072     QCheckBox* cb_restoreVC;
00073     QButtonGroup *sessions_start;
00074     QButtonGroup *sessions_exit;
00075     Kate::ConfigPage *fileSelConfigPage;
00076     Kate::ConfigPage *filelistConfigPage;
00077     Kate::ConfigPage *configExternalToolsPage;
00078     QPtrList<PluginPageListItem> pluginPages;
00079     QPtrList<KTextEditor::ConfigPage> editorPages;
00080 };
00081 
00082 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys