diff options
Diffstat (limited to 'protocols')
| -rw-r--r-- | protocols/account.c | 4 | ||||
| -rw-r--r-- | protocols/account.h | 2 | 
2 files changed, 4 insertions, 2 deletions
diff --git a/protocols/account.c b/protocols/account.c index fcafe215..e25e40c7 100644 --- a/protocols/account.c +++ b/protocols/account.c @@ -66,13 +66,13 @@ account_t *account_add(bee_t *bee, struct prpl *prpl, char *user, char *pass)  	s->flags |= SET_NOSAVE; /* Just for bw compatibility! */  	s = set_add(&a->set, "password", NULL, set_eval_account, a); -	s->flags |= SET_NOSAVE | SET_NULL_OK | SET_PASSWORD; +	s->flags |= SET_NOSAVE | SET_NULL_OK | SET_PASSWORD | ACC_SET_LOCKABLE;  	s = set_add(&a->set, "tag", NULL, set_eval_account, a);  	s->flags |= SET_NOSAVE;  	s = set_add(&a->set, "username", NULL, set_eval_account, a); -	s->flags |= SET_NOSAVE | ACC_SET_OFFLINE_ONLY; +	s->flags |= SET_NOSAVE | ACC_SET_OFFLINE_ONLY | ACC_SET_LOCKABLE;  	set_setstr(&a->set, "username", user);  	/* Hardcode some more clever tag guesses. */ diff --git a/protocols/account.h b/protocols/account.h index 0e118680..bea8ca9f 100644 --- a/protocols/account.h +++ b/protocols/account.h @@ -62,6 +62,7 @@ int protocol_account_islocal(const char* protocol);  typedef enum {  	ACC_SET_OFFLINE_ONLY = 0x02,    /* Allow changes only if the acct is offline. */  	ACC_SET_ONLINE_ONLY = 0x04,     /* Allow changes only if the acct is online. */ +	ACC_SET_LOCKABLE = 0x08         /* Setting cannot be changed if the account is locked down */  } account_set_flag_t;  typedef enum { @@ -69,6 +70,7 @@ typedef enum {  	ACC_FLAG_STATUS_MESSAGE = 0x02, /* Supports status messages (without being away). */  	ACC_FLAG_HANDLE_DOMAINS = 0x04, /* Contact handles need a domain portion. */  	ACC_FLAG_LOCAL = 0x08,          /* Contact list is local. */ +	ACC_FLAG_LOCKED = 0x10,         /* Account is locked (cannot be deleted, certain settings can't changed) */  } account_flag_t;  #endif  | 
