Fix for 54545. r=chuang, sr=mscott. Collected address book can now be turned off through prefs.

This commit is contained in:
putterman%netscape.com 2000-10-05 03:52:38 +00:00
Родитель 8113e13325
Коммит 2b700d9779
2 изменённых файлов: 19 добавлений и 15 удалений

Просмотреть файл

@ -54,11 +54,11 @@ nsAbAddressCollecter::nsAbAddressCollecter()
{
NS_INIT_REFCNT();
maxCABsize = -1;
collectAddresses = -1;
collectAddresses = PR_FALSE;
sizeLimitEnabled = -1;
//set up the pref callbacks:
registerPrefCallbacks();
setupPrefs();
}
nsAbAddressCollecter::~nsAbAddressCollecter()
@ -91,18 +91,14 @@ NS_IMETHODIMP nsAbAddressCollecter::CollectUnicodeAddress(const PRUnichar * aAdd
NS_IMETHODIMP nsAbAddressCollecter::CollectAddress(const char *address)
{
nsresult rv;
//collectAddresses = PR_TRUE;
//sizeLimitEnabled = PR_TRUE;
if(!collectAddresses)
return NS_OK;
NS_WITH_SERVICE(nsIPref, pPref, kPrefCID, &rv);
if (NS_FAILED(rv) || !pPref)
return NS_ERROR_FAILURE;
if(collectAddresses == -1){
rv = pPref->GetBoolPref(PREF_COLLECT_EMAIL_ADDRESS, &collectAddresses);
if (!NS_SUCCEEDED(rv) || !collectAddresses)
return rv;
}
if (NS_FAILED(rv) || !pPref)
return NS_ERROR_FAILURE;
if(sizeLimitEnabled == -1){
rv = pPref->GetBoolPref(PREF_COLLECT_EMAIL_ADDRESS_ENABLE_SIZE_LIMIT, &sizeLimitEnabled);
@ -414,9 +410,17 @@ nsAbAddressCollecter::collectEmailAddressSizeLimitPrefChanged(const char *newpre
return 0;
}
void nsAbAddressCollecter::registerPrefCallbacks(void){
void nsAbAddressCollecter::setupPrefs(void){
nsresult rv;
NS_WITH_SERVICE(nsIPref, pPref, kPrefCID, &rv);
if (NS_FAILED(rv))
return;
rv = pPref->GetBoolPref(PREF_COLLECT_EMAIL_ADDRESS, &collectAddresses);
if (NS_FAILED(rv))
return;
pPref->RegisterCallback(PREF_COLLECT_EMAIL_ADDRESS, collectEmailAddressPrefChanged, this);
pPref->RegisterCallback(PREF_COLLECT_EMAIL_ADDRESS_ENABLE_SIZE_LIMIT, collectEmailAddressEnableSizeLimitPrefChanged, this);
pPref->RegisterCallback(PREF_COLLECT_EMAIL_ADDRESS_SIZE_LIMIT, collectEmailAddressSizeLimitPrefChanged, this);

Просмотреть файл

@ -48,12 +48,12 @@ private:
static int PR_CALLBACK collectEmailAddressPrefChanged(const char *newpref, void *data);
static int PR_CALLBACK collectEmailAddressEnableSizeLimitPrefChanged(const char *newpref, void *data);
static int PR_CALLBACK collectEmailAddressSizeLimitPrefChanged(const char *newpref, void *data);
void registerPrefCallbacks(void);
void setupPrefs(void);
protected:
nsCOMPtr <nsIAddrDatabase> m_historyAB;
nsCOMPtr <nsIAbDirectory> m_historyDirectory;
PRInt32 maxCABsize;
PRInt32 collectAddresses;
PRBool collectAddresses;
PRInt32 sizeLimitEnabled;
};