Source Code (Use browser search to find items of interest.)
Class Index
kmail'KMAddrBookEditDlg (./kdenetwork/kmail/kmaddrbookdlg.h:45)
class KMAddrBookEditDlg: public QDialog
{
Q_OBJECT
public:
KMAddrBookEditDlg(KMAddrBook* addrBook, const char* caption=NULL);
virtual ~KMAddrBookEditDlg();
protected slots:
void slotOk();
void slotCancel();
void slotAdd();
void slotRemove();
void slotLbxHighlighted(const QString& item);
protected:
KMAddrBook* mAddrBook;
QGridLayout mGrid;
QListBox mListBox;
QLineEdit mEdtAddress;
QPushButton mBtnOk, mBtnCancel, mBtnAdd, mBtnRemove;
int mIndex;
};
kmail'KMAddrBookEditDlg::KMAddrBookEditDlg() (./kdenetwork/kmail/kmaddrbookdlg.cpp:85)
KMAddrBookEditDlg::KMAddrBookEditDlg(KMAddrBook* aAddrBook, const char* aCap):
KMAddrBookEditDlgInherited(NULL, NULL, TRUE), mGrid(this, 3, 4),
mListBox(this), mEdtAddress(this),
mBtnOk(i18n("OK"),this),
mBtnCancel(i18n("Cancel"),this),
mBtnAdd(i18n("Add"),this),
mBtnRemove(i18n("Remove"),this)
{
QString addr;
initMetaObject();
setCaption(aCap ? QString(aCap) : i18n("Addressbook Manager"));
assert(aAddrBook != NULL);
mAddrBook = aAddrBook;
mIndex = -1;
mEdtAddress.adjustSize();
mEdtAddress.setMinimumSize(mEdtAddress.size());
mBtnOk.adjustSize();
mBtnOk.setMinimumSize(mBtnOk.size());
mBtnCancel.adjustSize();
mBtnCancel.setMinimumSize(mBtnCancel.size());
mBtnAdd.adjustSize();
mBtnAdd.setMinimumSize(mBtnAdd.size());
mBtnRemove.adjustSize();
mBtnRemove.setMinimumSize(mBtnRemove.size());
mGrid.addMultiCellWidget(&mListBox, 0, 0, 0, 3);
mGrid.addMultiCellWidget(&mEdtAddress, 1, 1, 0, 3);
mGrid.addWidget(&mBtnOk, 2, 0);
mGrid.addWidget(&mBtnCancel, 2, 1);
mGrid.addWidget(&mBtnAdd, 2, 2);
mGrid.addWidget(&mBtnRemove, 2, 3);
mGrid.setRowStretch(0,10);
mGrid.setRowStretch(1,0);
mGrid.setRowStretch(2,0);
mGrid.setColStretch(0,10);
mGrid.setColStretch(1,10);
mGrid.setColStretch(2,10);
mGrid.setColStretch(3,10);
mGrid.activate();
connect(&mListBox, SIGNAL(highlighted(const QString&)),
SLOT(slotLbxHighlighted(const QString&)));
connect(&mBtnOk, SIGNAL(clicked()), SLOT(slotOk()));
connect(&mBtnCancel, SIGNAL(clicked()), SLOT(slotCancel()));
connect(&mBtnAdd, SIGNAL(clicked()), SLOT(slotAdd()));
connect(&mBtnRemove, SIGNAL(clicked()), SLOT(slotRemove()));
for (addr=mAddrBook->first(); addr; addr=mAddrBook->next())
{
mListBox.insertItem(addr);
}
}
//-----------------------------------------------------------------------------
kmail'KMAddrBookEditDlg::~KMAddrBookEditDlg() (./kdenetwork/kmail/kmaddrbookdlg.cpp:144)
KMAddrBookEditDlg::~KMAddrBookEditDlg()
{
}
//-----------------------------------------------------------------------------
kmail'KMAddrBookEditDlg::slotLbxHighlighted() (./kdenetwork/kmail/kmaddrbookdlg.cpp:150)
void KMAddrBookEditDlg::slotLbxHighlighted(const QString& aItem)
{
int oldIndex = mIndex;
disconnect(&mListBox, SIGNAL(highlighted(const QString&)),
this, SLOT(slotLbxHighlighted(const QString&)));
mIndex = mListBox.currentItem();
// Change of behaviour between QT 2.1b1 and QT2.1b2
// changeItem below changes the currentItem!
if (oldIndex>=0)
mListBox.changeItem(mEdtAddress.text(), oldIndex);
mListBox.setCurrentItem( mIndex ); // keep currentItem the same
mEdtAddress.setText(aItem);
connect(&mListBox, SIGNAL(highlighted(const QString&)),
SLOT(slotLbxHighlighted(const QString&)));
}
//-----------------------------------------------------------------------------
kmail'KMAddrBookEditDlg::slotOk() (./kdenetwork/kmail/kmaddrbookdlg.cpp:170)
void KMAddrBookEditDlg::slotOk()
{
int idx, num;
QString addr = mEdtAddress.text();
if (mIndex>=0)
mListBox.changeItem(addr, mIndex);
else if (!addr.isEmpty())
mListBox.insertItem(mEdtAddress.text(), mListBox.currentItem());
mAddrBook->clear();
num = mListBox.count();
for(idx=0; idx<num; idx++)
{
addr = mListBox.text(idx);
mAddrBook->insert(addr);
}
if(mAddrBook->store() == IO_FatalError)
{
KMessageBox::sorry(0, i18n("The addressbook could not be stored."));
return;
}
accept();
}
//-----------------------------------------------------------------------------
kmail'KMAddrBookEditDlg::slotCancel() (./kdenetwork/kmail/kmaddrbookdlg.cpp:197)
void KMAddrBookEditDlg::slotCancel()
{
reject();
}
//-----------------------------------------------------------------------------
kmail'KMAddrBookEditDlg::slotAdd() (./kdenetwork/kmail/kmaddrbookdlg.cpp:204)
void KMAddrBookEditDlg::slotAdd()
{
const char* addr = mEdtAddress.text();
if (!addr || !*addr) return;
mIndex = -1;
mListBox.insertItem(addr, mListBox.currentItem());
}
//-----------------------------------------------------------------------------
kmail'KMAddrBookEditDlg::slotRemove() (./kdenetwork/kmail/kmaddrbookdlg.cpp:215)
void KMAddrBookEditDlg::slotRemove()
{
int idx = mListBox.currentItem();
mIndex = -1;
if (idx >= 0) mListBox.removeItem(idx);
if (idx >= (int)mListBox.count()) idx--;
mListBox.setCurrentItem(idx);
}
//-----------------------------------------------------------------------------