You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
124 lines
4.1 KiB
124 lines
4.1 KiB
/***************************************************************************
|
|
kxeconfiguration.h
|
|
------------------
|
|
begin : Tue Dec 02 2003
|
|
copyright : (C) 2003 by The KXMLEditor Team
|
|
email : hartig@users.sourceforge.net
|
|
***************************************************************************/
|
|
|
|
/***************************************************************************
|
|
* *
|
|
* This program is free software; you can redistribute it and/or modify *
|
|
* it under the terms of the GNU General Public License as published by *
|
|
* the Free Software Foundation; either version 2 of the License, or *
|
|
* (at your option) any later version. *
|
|
* *
|
|
***************************************************************************/
|
|
|
|
#ifndef KXECONFIGURATION_H
|
|
#define KXECONFIGURATION_H
|
|
|
|
#include <qobject.h>
|
|
|
|
class KXETreeViewSettings;
|
|
class KXETextViewSettings;
|
|
class KXENewFileSettings;
|
|
class KXEPrintSettings;
|
|
class KXEArchiveExtsSettings;
|
|
|
|
class KConfig;
|
|
class KDialogBase;
|
|
|
|
/**
|
|
* This class is a container for KXMLEditor's configuration data.
|
|
* It consists of objects for the different groups of settings
|
|
* (objects of child classes of KXESettings) and manages the configuration
|
|
* dialog (@ref m_pDialog). This dialog consists of one page per settings
|
|
* group, that are initialized by them (using their dialogPage* functions).
|
|
*
|
|
* @short container for KXMLEditor's configuration data
|
|
* @author Olaf Hartig
|
|
*/
|
|
class KXEConfiguration : public QObject
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
/**
|
|
* The constructor initializes the configuration setting groups
|
|
* (objects of KXESettings' child classes) and restores the
|
|
* configuration data from the config file by calling @ref restore.
|
|
*/
|
|
KXEConfiguration();
|
|
/**
|
|
* The destructor deletes the configuration dialog, if there is one.
|
|
*/
|
|
~KXEConfiguration();
|
|
|
|
/**
|
|
* Stores all configuration to the given @ref KConfig object by
|
|
* using @ref KXESettings's @ref store function.
|
|
* If no @ref KConfig object is given, @ref KGlobal::config is
|
|
* used.
|
|
*/
|
|
void store( KConfig * pConfig = 0 ) const;
|
|
/**
|
|
* Restores all configuration from the given @ref KConfig object
|
|
* by using @ref KXESettings's @ref restore function.
|
|
* If no @ref KConfig object is given, @ref KGlobal::config is
|
|
* used.
|
|
*/
|
|
void restore( KConfig * pConfig = 0 );
|
|
/**
|
|
* Shows the configuration dialog.
|
|
* If there is no one yet, it is created by.
|
|
*/
|
|
void showDialog();
|
|
|
|
// The following functions return pointers to the configuration setting
|
|
// groups (objects of KXESettings' child classes), that can be used to
|
|
// access their data (or to connect to their signals).
|
|
|
|
KXETreeViewSettings * const treeview() const { return m_pTreeView; }
|
|
KXETextViewSettings * const textview() const { return m_pTextView; }
|
|
KXENewFileSettings * const newfile() const { return m_pNewFile; }
|
|
KXEPrintSettings * const print() const { return m_pPrint; }
|
|
KXEArchiveExtsSettings * const archexts() const { return m_pArcExts; }
|
|
|
|
protected slots:
|
|
|
|
/**
|
|
* Applies the new data in the dialog's pages to our setting groups
|
|
* by using @ref KXESettings's @ref apply function and stores
|
|
* all settings with @ref store.
|
|
* After applying, the dialog's state is reseted (disabled Apply- and
|
|
* OK-buttons).
|
|
*/
|
|
void slotDlgApplied();
|
|
/**
|
|
* Enables the configuration dialog's Apply- and OK-button.
|
|
*/
|
|
void slotDlgChanged();
|
|
|
|
protected:
|
|
|
|
// The following members are the configuration setting
|
|
// groups (objects of KXESettings' child classes).
|
|
|
|
KXETreeViewSettings * m_pTreeView;
|
|
KXETextViewSettings * m_pTextView;
|
|
KXENewFileSettings * m_pNewFile;
|
|
KXEPrintSettings * m_pPrint;
|
|
KXEArchiveExtsSettings * m_pArcExts;
|
|
|
|
/**
|
|
* This is a pointer to our configuration dialog.
|
|
* The dialog itself is created on demand in @ref showDialog.
|
|
* It consists of one page per settings group.
|
|
*/
|
|
KDialogBase * m_pDialog;
|
|
};
|
|
|
|
#endif
|