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.
131 lines
3.4 KiB
131 lines
3.4 KiB
// (C) < 2002 to whoever created and edited this file before
|
|
// (C) 2002 Leo Savernik <l.savernik@aon.at>
|
|
// Generalizing the policy dialog
|
|
|
|
#ifndef _POLICYDLG_H
|
|
#define _POLICYDLG_H
|
|
|
|
#include <kdialogbase.h>
|
|
|
|
#include <qlineedit.h>
|
|
#include <qstringlist.h>
|
|
|
|
class QLabel;
|
|
class QComboBox;
|
|
class QString;
|
|
class QVBoxLayout;
|
|
class QPushButton;
|
|
|
|
class Policies;
|
|
|
|
/**
|
|
* A dialog for editing domain-specific policies.
|
|
*
|
|
* Each dialog must be associated with a relevant Policies instance which
|
|
* will be updated within this dialog appropriately.
|
|
*
|
|
* Additionally you can insert your own widget containing controls for
|
|
* specific policies with addPolicyPanel.
|
|
*
|
|
* @author unknown
|
|
*/
|
|
class PolicyDialog : public KDialogBase
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
/**
|
|
* Enumerates the possible return values for the "feature enabled"
|
|
* policy
|
|
*/
|
|
enum FeatureEnabledPolicy { InheritGlobal = 0, Accept, Reject };
|
|
|
|
/** constructor
|
|
* @param policies policies object this dialog will write the settings
|
|
* into. Note that it always reflects the current settings,
|
|
* even if the dialog has been cancelled.
|
|
* @param parent parent widget this belongs to
|
|
* @param name internal name
|
|
*/
|
|
PolicyDialog(Policies *policies, QWidget *parent = 0, const char *name = 0 );
|
|
|
|
virtual ~PolicyDialog() {};
|
|
|
|
/*
|
|
* @return whether this feature should be activated, deactivated or
|
|
* inherited from the respective global policy.
|
|
*/
|
|
FeatureEnabledPolicy featureEnabledPolicy() const;
|
|
|
|
/**
|
|
* @return the textual representation of the current "feature enabled"
|
|
* policy
|
|
*/
|
|
QString featureEnabledPolicyText() const;
|
|
|
|
/*
|
|
* @return the hostname for which the policy is being set
|
|
*/
|
|
QString domain() const { return le_domain->text(); }
|
|
|
|
/*
|
|
* Sets the line-edit to be enabled/disabled.
|
|
*
|
|
* This method will set the text in the lineedit if the
|
|
* value is not null.
|
|
*
|
|
* @param state @p true to enable the line-edit, otherwise disabled.
|
|
* @param text the text to be set in the line-edit. Default is NULL.
|
|
*/
|
|
void setDisableEdit( bool /*state*/, const QString& text = QString::null );
|
|
|
|
/**
|
|
* Sets the label for the "feature enabled" policy
|
|
* @param text label text
|
|
*/
|
|
void setFeatureEnabledLabel(const QString &text);
|
|
|
|
/**
|
|
* Sets the "What's This" text for the "feature enabled" policy
|
|
* combo box.
|
|
* @param text what's-this text
|
|
*/
|
|
void setFeatureEnabledWhatsThis(const QString &text);
|
|
|
|
/**
|
|
* Syncs the controls with the current content of the
|
|
* associated policies object.
|
|
*/
|
|
void refresh();
|
|
|
|
/**
|
|
* Adds another panel which contains controls for more policies.
|
|
*
|
|
* The widget is inserted between the "feature enabled" combo box and
|
|
* the dialog buttons at the bottom.
|
|
*
|
|
* Currently at most one widget can be added.
|
|
* @param panel pointer to widget to insert. The dialog takes ownership
|
|
* of it, but does not reparent it.
|
|
*/
|
|
void addPolicyPanel(QWidget *panel);
|
|
|
|
protected slots:
|
|
|
|
virtual void accept();
|
|
void slotTextChanged( const QString &text);
|
|
|
|
private:
|
|
Policies *policies;
|
|
QVBoxLayout *topl;
|
|
int insertIdx;
|
|
QLineEdit *le_domain;
|
|
QLabel *l_feature_policy;
|
|
QComboBox *cb_feature_policy;
|
|
QWidget *panel;
|
|
QStringList policy_values;
|
|
QPushButton *okButton;
|
|
};
|
|
|
|
#endif
|