Source Code (Use browser search to find items of interest.)
Class Index
kab'KabFileConfigWidget (./kdeutils/kab/dialog_configurefile.h:43)
class KabFileConfigWidget : public QTabWidget
{
// ############################################################################
Q_OBJECT
// ----------------------------------------------------------------------------
public:
/** The Qt standard constructor. Gets the open file. */
KabFileConfigWidget(Section* config, QWidget* parent, const char* name=0);
/** The destructor. */
~KabFileConfigWidget();
/** Save the settings to the file. */
AddressBook::ErrorCode saveSettings(Section*);
// ----------------------------------------------------------------------------
protected:
/** Tab for configuring the user fields. */
QWidget *userFields;
/** The name of the first user field. */
QLineEdit *userFieldsName;
/** The label for the first user field. */
QLabel *userFieldsLabel;
/** The name of the first user field. */
QLineEdit *userField1;
/** The label for the first user field. */
QLabel *userLabel1;
/** The name of the second user field. */
QLineEdit *userField2;
/** The label for the second user field. */
QLabel *userLabel2;
/** The name of the third user field. */
QLineEdit *userField3;
/** The label for the third user field. */
QLabel *userLabel3;
/** The name of the fourth user field. */
QLineEdit *userField4;
/** The label for the fourth user field. */
QLabel *userLabel4;
/** The border width inside the dialog. */
static const int Border;
/** A StringListEditWidget for editing the kinds of addresses. It is used as
* a tab. */
StringListEditWidget *editwidget;
// ############################################################################
};
kab'KabFileConfigWidget::KabFileConfigWidget() (./kdeutils/kab/dialog_configurefile.cc:82)
KabFileConfigWidget::KabFileConfigWidget(Section* config, QWidget* parent,
const char* name)
: QTabWidget(parent, name)
{
// ###########################################################################
kdDebug(KAB_KDEBUG_AREA) << "KabFileConfigWidget ctor: called." << endl;
// ----- create some aggregats for the user fields tab:
QLineEdit **ledits[]= {
&userFieldsName,
&userField1, &userField2, &userField3, &userField4
};
QLabel **labels[]= {
&userFieldsLabel,
&userLabel1, &userLabel2, &userLabel3, &userLabel4
};
QString texts[]= {
i18n("Tab name"),
i18n("User field 1:"), i18n("User field 2:"),
i18n("User field 3:"), i18n("User field 4:")
};
const QCString Keys[]= {
"user_headline",
"user_1", "user_2", "user_3", "user_4"
};
const int Size= sizeof(ledits)/sizeof(ledits[0]);
int count;
QGridLayout *layout;
QString text;
KeyValueMap *keys;
QStringList strings;
// -----
keys=config->getKeys();
userFields=new QWidget(this);
layout=new QGridLayout(userFields, 4, 2, Border);
layout->setAutoAdd(true);
layout->setColStretch(0, 1);
layout->setColStretch(1, 2);
// ----- create local objects:
if(userFields!=0)
{
for(count=0; count<Size; ++count)
{
*labels[count]=new QLabel(texts[count], userFields);
text="";
if(!keys->get(Keys[count], text))
{
kDebugInfo("TabUser::configure: missing settings "
"in configuration section!");
}
*ledits[count]=new QLineEdit(text, userFields);
if(*labels[count]==0 || *ledits[count]==0)
{
KMessageBox::sorry
(this, i18n("Out of memory."),
i18n("General failure."));
::exit(-1);
}
}
}
addTab(userFields, i18n("User fields"));
// ----- add the address types tab:
editwidget=new StringListEditWidget(this);
if(!keys->get(KEY_ADDRESSTYPES, strings))
{
kDebugInfo("TabUser::configure: missing address types setting "
"in configuration section!");
}
editwidget->setStrings(strings);
addTab(editwidget, i18n("Address types"));
kdDebug(KAB_KDEBUG_AREA) << "KabFileConfigWidget ctor: done." << endl;
// ###########################################################################
}
kab'KabFileConfigWidget::~KabFileConfigWidget() (./kdeutils/kab/dialog_configurefile.cc:155)
KabFileConfigWidget::~KabFileConfigWidget()
{
// ###########################################################################
kdDebug(KAB_KDEBUG_AREA) << "KabFileConfigWidget dtor: done." << endl;
// ###########################################################################
}
AddressBook::ErrorCode
KabFileConfigWidget::saveSettings(Section *config)
{
// ###########################################################################
KeyValueMap *keys;
QStringList strings;
// ----- get the keys:
keys=config->getKeys();
// ----- insert all values:
editwidget->getStrings(strings);
if(!keys->insert("user_headline", userFieldsName->text(), true) ||
!keys->insert("user_1", userField1->text(), true) ||
!keys->insert("user_2", userField2->text(), true) ||
!keys->insert("user_3", userField3->text(), true) ||
!keys->insert("user_4", userField4->text(), true) ||
!keys->insert(KEY_ADDRESSTYPES, strings, true))
{
KMessageBox::information
(this,
i18n("Cannot save your settings.\n"
"Possibly you do not have permissions to write to this file."),
i18n("File error"));
return AddressBook::PermDenied;
} else {
return AddressBook::NoError;
}
// ###########################################################################
}