Fixed bug where the user wasn't able to select from a variety of

address book GUIs.

svn path=/trunk/kdenetwork/kmail/; revision=57544
wilder-work
Don Sanders 26 years ago
parent 2d0fd7d70f
commit b14b41834c
  1. 43
      configuredialog.cpp
  2. 4
      configuredialog.h
  3. 29
      kmaddrbook.cpp
  4. 6
      kmaddrbook.h
  5. 3
      kmcomposewin.cpp
  6. 3
      kmmainwin.cpp

@ -1474,7 +1474,39 @@ void ConfigureDialog::makeAppearancePage( void )
i18n("High Contrast - For the visually impaired user"));
mAppearance.profileList->setSelected( mAppearance.mListItemDefault, true );
QWidget *page5 = new QWidget( tabWidget );
tabWidget->addTab( page5, i18n("Addressbook") );
vlay = new QVBoxLayout( page5, spacingHint() );
mAppearance.addressbookCombo = new QComboBox( page5 );
QStringList abStringList;
abStringList.append( i18n("Traditional KMail") );
abStringList.append( i18n("Traditional KMail interface using KAB database") );
abStringList.append( i18n("KAB") );
abStringList.append( i18n("Abbrowser") );
mAppearance.addressbookCombo->insertStringList(abStringList);
vlay->addWidget( mAppearance.addressbookCombo );
vlay->addSpacing( spacingHint() );
connect( mAppearance.addressbookCombo, SIGNAL(activated(int) ),
this, SLOT(slotAddressbookSelectorChanged(int)) );
mAppearance.addressbookStrings.clear();
mAppearance.addressbookStrings.append( i18n("The traditional KMail graphical "
"interface using the\ntraditional KMail specific address book database") );
mAppearance.addressbookStrings.append( i18n("The traditional KMail graphical "
"interface using the\nstandard KDE Address Book (KAB) database"));
mAppearance.addressbookStrings.append( i18n("The standard KDE Address Book "
"graphical interface\nusing the standard KDE Address Book (KAB) database\n\n"
"Requires the kdeutils package to be installed."));
mAppearance.addressbookStrings.append( i18n("An alternative addressbook "
"graphical interface\nusing the standard KDE Address Book (KAB) database\n\n"
"Requires the kdepim package to be installed."));
mAppearance.addressbookLabel = new QLabel( page5 );
mAppearance.addressbookLabel->setText(*mAppearance.addressbookStrings.at(0));
vlay->addWidget( mAppearance.addressbookLabel );
vlay->addStretch(10);
}
@ -2238,7 +2270,11 @@ void ConfigureDialog::slotApply( void )
config.setGroup("General");
bool messageSize = mAppearance.messageSizeCheck->isChecked();
config.writeEntry( "showMessageSize", messageSize );
config.writeEntry( "addressbook", mAppearance.addressbookCombo->currentItem() );
if (mAppearance.addressbookCombo->currentItem() < 1)
kernel->setUseKAB( false );
else
kernel->setUseKAB( true );
}
else if( activePage == mComposer.pageIndex )
{
@ -2968,6 +3004,11 @@ void ConfigureDialog::slotFontSelectorChanged( int index )
KFontChooser::FamilyList|KFontChooser::SizeList, enable );
}
void ConfigureDialog::slotAddressbookSelectorChanged( int index )
{
mAppearance.addressbookLabel->setText(*mAppearance.addressbookStrings.at(index));
}
void ConfigureDialog::slotCustomColorSelectionChanged( void )
{
bool state = mAppearance.customColorCheck->isChecked();

@ -262,6 +262,9 @@ class ConfigureDialog : public KDialogBase
QListViewItem *mListItemNewFeature;
QListViewItem *mListItemContrast;
QPushButton *profileDeleteButton;
QComboBox *addressbookCombo;
QLabel *addressbookLabel;
QStringList addressbookStrings;
};
struct ComposerWidget
{
@ -382,6 +385,7 @@ class ConfigureDialog : public KDialogBase
void slotRemoveSelectedAccount( void );
void slotCustomFontSelectionChanged( void );
void slotFontSelectorChanged( int index );
void slotAddressbookSelectorChanged( int index );
void slotCustomColorSelectionChanged( void );
void slotWordWrapSelectionChanged( void );
void slotMimeHeaderSelectionChanged( void );

@ -14,6 +14,8 @@
#include "kmkernel.h" // for KabBridge
#include "kmmessage.h" // for KabBridge
#include "kmaddrbookdlg.h" // for kmaddrbookexternal
#include <krun.h> // for kmaddrbookexternal
//-----------------------------------------------------------------------------
KMAddrBook::KMAddrBook(): KMAddrBookInherited()
@ -292,4 +294,31 @@ bool KabBridge::replace(QString address, KabKey kabKey)
}
//-----------------------------------------------------------------------------
void KMAddrBookExternal::launch(QWidget *parent) {
debug( "first" );
KConfig *config = kapp->config();
config->setGroup("General");
int ab = config->readNumEntry("addressbook", -1);
KURL::List list;
switch (ab)
{
case -1:
case 0:
case 1:
{
KMAddrBookEditDlg dlg( kernel->addrBook(), parent );
dlg.exec();
break;
}
case 2:
KRun::run("kab", list);
break;
case 3:
KRun::run("abbrowser", list);
break;
default:
debug( "Unknown address book type" );
}
}

@ -73,4 +73,10 @@ public:
static bool replace(QString address, KabKey);
};
class KMAddrBookExternal {
public:
static void addEntry(QString) {};
static void launch(QWidget *parent);
};
#endif /*KMAddrBook_h*/

@ -1413,8 +1413,7 @@ void KMComposeWin::addrBookSelInto(KMLineEdit* aLineEdit)
//-----------------------------------------------------------------------------
void KMComposeWin::slotAddrBook()
{
KMAddrBookEditDlg dlg( kernel->addrBook(), this );
dlg.exec();
KMAddrBookExternal::launch(this);
}

@ -504,8 +504,7 @@ void KMMainWin::slotFilter()
//-----------------------------------------------------------------------------
void KMMainWin::slotAddrBook()
{
KMAddrBookEditDlg dlg( kernel->addrBook(), this );
dlg.exec();
KMAddrBookExternal::launch(this);
}

Loading…
Cancel
Save