Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
savoirfairelinux
jami-daemon
Commits
0c79e406
Commit
0c79e406
authored
Apr 09, 2008
by
Emmanuel Milou
Browse files
Account handling OK
But no persistence for prefered account (order)
parent
d7e1a4e8
Changes
4
Hide whitespace changes
Inline
Side-by-side
sflphone-gtk/src/SFLnotify.c
View file @
0c79e406
...
...
@@ -112,7 +112,7 @@ notify_voice_mails( guint count , account_t* acc )
}
void
notify_
switch
_account
(
account_t
*
acc
)
notify_
current
_account
(
account_t
*
acc
)
{
// the account is different from NULL
GdkPixbuf
*
pixbuf
;
...
...
@@ -124,7 +124,7 @@ notify_switch_account( account_t* acc )
g_hash_table_lookup
(
acc
->
properties
,
ACCOUNT_TYPE
)
,
g_hash_table_lookup
(
acc
->
properties
,
ACCOUNT_ALIAS
));
title
=
g_markup_printf_escaped
(
_
(
"
Switching
account"
));
title
=
g_markup_printf_escaped
(
_
(
"
Current
account"
));
pixbuf
=
gdk_pixbuf_new_from_file
(
ICON_DIR
"/sflphone.png"
,
NULL
);
...
...
sflphone-gtk/src/SFLnotify.h
View file @
0c79e406
...
...
@@ -42,7 +42,7 @@ void notify_incoming_call( call_t* c);
void
notify_voice_mails
(
guint
count
,
account_t
*
acc
);
void
notify_
switch
_account
(
account_t
*
acc
);
void
notify_
current
_account
(
account_t
*
acc
);
void
notify_no_accounts
(
);
void
notify_no_registered_accounts
(
);
/*
...
...
sflphone-gtk/src/accountlist.c
View file @
0c79e406
...
...
@@ -129,7 +129,10 @@ account_list_get_nth ( guint n )
account_t
*
account_list_get_current
(
)
{
return
account_list_get_by_id
(
__CURRENT_ACCOUNT_ID
);
if
(
__CURRENT_ACCOUNT_ID
!=
NULL
)
return
account_list_get_by_id
(
__CURRENT_ACCOUNT_ID
);
else
return
NULL
;
}
void
...
...
sflphone-gtk/src/actions.c
View file @
0c79e406
...
...
@@ -570,41 +570,48 @@ sflphone_place_call ( call_t * c )
{
if
(
c
->
state
==
CALL_STATE_DIALING
)
{
account_t
*
current
=
account_list_get_current
();
if
(
current
)
if
(
account_list_get_size
()
==
0
)
notify_no_accounts
();
else
if
(
account_list_get_by_state
(
ACCOUNT_STATE_REGISTERED
)
==
NULL
)
notify_no_registered_accounts
();
else
{
if
(
g_strcasecmp
(
g_hash_table_lookup
(
current
->
properties
,
"Status"
),
"REGISTERED"
)
==
0
)
{
// OK, everything alright - the call is made with the current account
c
->
accountID
=
current
->
accountID
;
status_bar_display_account
(
c
);
dbus_place_call
(
c
);
account_t
*
current
=
account_list_get_current
();
if
(
current
)
{
if
(
g_strcasecmp
(
g_hash_table_lookup
(
current
->
properties
,
"Status"
),
"REGISTERED"
)
==
0
)
{
// OK, everything alright - the call is made with the current account
c
->
accountID
=
current
->
accountID
;
status_bar_display_account
(
c
);
dbus_place_call
(
c
);
}
else
{
// No current accounts have been setup.
// So we place a call with the first registered account
// And we change the current account
current
=
account_list_get_by_state
(
ACCOUNT_STATE_REGISTERED
);
c
->
accountID
=
current
->
accountID
;
dbus_place_call
(
c
);
notify_current_account
(
current
);
status_bar_display_account
(
c
);
account_list_set_current_id
(
c
->
accountID
);
}
}
else
{
// the current account (ie the first in the list) isn't registered
// So we try the next one. If it is registered, place a call with
int
pos
;
for
(
pos
=
1
;
pos
<
account_list_get_size
()
;
pos
++
){
current
=
account_list_get_nth
(
pos
);
if
(
current
){
if
(
g_strcasecmp
(
g_hash_table_lookup
(
current
->
properties
,
"Status"
),
"REGISTERED"
)
==
0
){
notify_switch_account
(
current
);
//main_warning_error_message(_("Switch account."));
c
->
accountID
=
current
->
accountID
;
status_bar_display_account
(
c
);
dbus_place_call
(
c
);
break
;
}
}
}
notify_no_registered_accounts
();
// No current accounts have been setup.
// So we place a call with the first registered account
// and we change the current account
current
=
account_list_get_by_state
(
ACCOUNT_STATE_REGISTERED
);
c
->
accountID
=
current
->
accountID
;
dbus_place_call
(
c
);
notify_current_account
(
current
);
status_bar_display_account
(
c
);
account_list_set_current_id
(
c
->
accountID
);
}
}
else
{
notify_no_accounts
();
main_window_error_message
(
_
(
"There is no accounts to make this call with."
));
}
}
}
...
...
@@ -612,7 +619,7 @@ sflphone_place_call ( call_t * c )
void
sflphone_set_current_account
()
{
if
(
account_list_get_size
>
0
)
if
(
account_list_get_size
()
>
0
)
account_list_set_current_pos
(
0
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment