From 166dac9e9985127fcb1717b68e55d010a84770ba Mon Sep 17 00:00:00 2001 From: Tristan Matthews <tristan.matthews@savoirfairelinux.com> Date: Wed, 7 Sep 2011 11:23:03 -0400 Subject: [PATCH] * #6860: refactor uimanager, also fixes #6865 More pervasive changes were just to fix "transfert" typo --- daemon/src/dbus/callmanager-introspec.xml | 2 +- daemon/src/dbus/callmanager.cpp | 4 +- daemon/src/dbus/callmanager.h | 2 +- gnome/pixmaps/Makefile.am | 2 +- gnome/pixmaps/{transfert.svg => transfer.svg} | 0 gnome/src/actions.c | 26 +- gnome/src/actions.h | 4 +- gnome/src/callable_obj.h | 2 +- gnome/src/config/audioconf.c | 20 +- gnome/src/contacts/calltree.c | 27 +- gnome/src/dbus/callmanager-introspec.xml | 2 +- gnome/src/dbus/dbus.c | 6 +- gnome/src/dbus/dbus.h | 2 +- gnome/src/shortcuts.c | 2 +- gnome/src/uimanager.c | 1774 +++++++---------- gnome/src/uimanager.h | 8 +- 16 files changed, 825 insertions(+), 1058 deletions(-) rename gnome/pixmaps/{transfert.svg => transfer.svg} (100%) diff --git a/daemon/src/dbus/callmanager-introspec.xml b/daemon/src/dbus/callmanager-introspec.xml index 37481fc79a..8b23a3f68d 100644 --- a/daemon/src/dbus/callmanager-introspec.xml +++ b/daemon/src/dbus/callmanager-introspec.xml @@ -117,7 +117,7 @@ </arg> </method> - <method name="transfert" tp:name-for-bindings="transfert"> + <method name="transfer" tp:name-for-bindings="transfer"> <tp:docstring> Transfer a call to given phone number. </tp:docstring> diff --git a/daemon/src/dbus/callmanager.cpp b/daemon/src/dbus/callmanager.cpp index 598b4e24f7..f1d3380b53 100644 --- a/daemon/src/dbus/callmanager.cpp +++ b/daemon/src/dbus/callmanager.cpp @@ -167,9 +167,9 @@ CallManager::unhold (const std::string& callID) } void -CallManager::transfert (const std::string& callID, const std::string& to) +CallManager::transfer (const std::string& callID, const std::string& to) { - _debug ("CallManager::transfert received"); + _debug ("CallManager::transfer received"); Manager::instance().transferCall (callID, to); } diff --git a/daemon/src/dbus/callmanager.h b/daemon/src/dbus/callmanager.h index f3d8b1c086..08ee61622f 100644 --- a/daemon/src/dbus/callmanager.h +++ b/daemon/src/dbus/callmanager.h @@ -80,7 +80,7 @@ class CallManager void hangUp (const std::string& callID); void hold (const std::string& callID); void unhold (const std::string& callID); - void transfert (const std::string& callID, const std::string& to); + void transfer (const std::string& callID, const std::string& to); void attendedTransfer(const std::string& transferID, const std::string& targetID); std::map< std::string, std::string > getCallDetails (const std::string& callID); std::vector< std::string > getCallList (void); diff --git a/gnome/pixmaps/Makefile.am b/gnome/pixmaps/Makefile.am index e74c89a104..da42324b90 100644 --- a/gnome/pixmaps/Makefile.am +++ b/gnome/pixmaps/Makefile.am @@ -3,7 +3,7 @@ icondir = $(datadir)/pixmaps icon_DATA = sflphone.svg buttons_DATA = current.svg \ - transfert.svg \ + transfer.svg \ hold.svg \ unhold.svg \ refuse.svg \ diff --git a/gnome/pixmaps/transfert.svg b/gnome/pixmaps/transfer.svg similarity index 100% rename from gnome/pixmaps/transfert.svg rename to gnome/pixmaps/transfer.svg diff --git a/gnome/src/actions.c b/gnome/src/actions.c index e7da28cc3b..4b242d8df4 100644 --- a/gnome/src/actions.c +++ b/gnome/src/actions.c @@ -416,7 +416,7 @@ sflphone_hang_up() DEBUG ("from sflphone_hang_up : "); stop_notification(); break; - case CALL_STATE_TRANSFERT: + case CALL_STATE_TRANSFER: dbus_hang_up (selectedCall); call_remove_all_errors (selectedCall); time (&selectedCall->_time_stop); @@ -467,8 +467,8 @@ sflphone_pick_up() dbus_accept (selectedCall); stop_notification(); break; - case CALL_STATE_TRANSFERT: - dbus_transfert (selectedCall); + case CALL_STATE_TRANSFER: + dbus_transfer (selectedCall); time (&selectedCall->_time_stop); calltree_remove_call(current_calls, selectedCall, NULL); calllist_remove_call(current_calls, selectedCall->_callID); @@ -574,12 +574,12 @@ sflphone_record (callable_obj_t * c) } void -sflphone_set_transfert() +sflphone_set_transfer() { callable_obj_t * c = calltab_get_selected_call (current_calls); if (c) { - c->_state = CALL_STATE_TRANSFERT; + c->_state = CALL_STATE_TRANSFER; g_free(c->_trsft_to); c->_trsft_to = g_strdup (""); calltree_update_call (current_calls, c, NULL); @@ -589,7 +589,7 @@ sflphone_set_transfert() } void -sflphone_unset_transfert() +sflphone_unset_transfer() { callable_obj_t * c = calltab_get_selected_call (current_calls); @@ -643,7 +643,7 @@ void process_dialing (callable_obj_t *c, guint keyval, gchar *key) { // We stop the tone - if (!*c->_peer_number && c->_state != CALL_STATE_TRANSFERT) + if (!*c->_peer_number && c->_state != CALL_STATE_TRANSFER) dbus_start_tone (FALSE, 0); switch (keyval) { @@ -655,7 +655,7 @@ process_dialing (callable_obj_t *c, guint keyval, gchar *key) sflphone_hang_up (); break; case GDK_BackSpace: - if (c->_state == CALL_STATE_TRANSFERT) { + if (c->_state == CALL_STATE_TRANSFER) { truncate_last_char(&c->_trsft_to); calltree_update_call (current_calls, c, NULL); } else { @@ -678,7 +678,7 @@ process_dialing (callable_obj_t *c, guint keyval, gchar *key) if (keyval < 127 /* ascii */ || (keyval >= GDK_Mode_switch && keyval <= GDK_KP_9) /* num keypad */) { - if (c->_state == CALL_STATE_TRANSFERT) { + if (c->_state == CALL_STATE_TRANSFER) { gchar *new_trsft = g_strconcat (c->_trsft_to, key, NULL); g_free (c->_trsft_to); c->_trsft_to = new_trsft; @@ -775,19 +775,19 @@ sflphone_keypad (guint keyval, gchar * key) } break; - case CALL_STATE_TRANSFERT: + case CALL_STATE_TRANSFER: switch (keyval) { case GDK_Return: case GDK_KP_Enter: - dbus_transfert (c); + dbus_transfer (c); time (&c->_time_stop); calltree_remove_call(current_calls, c, NULL); break; case GDK_Escape: - sflphone_unset_transfert (); + sflphone_unset_transfer (); break; - default: // When a call is on transfert, typing new numbers will add it to c->_peer_number + default: // When a call is on transfer, typing new numbers will add it to c->_peer_number process_dialing (c, keyval, key); break; } diff --git a/gnome/src/actions.h b/gnome/src/actions.h index 78432437a6..0ea4f2cc44 100644 --- a/gnome/src/actions.h +++ b/gnome/src/actions.h @@ -93,12 +93,12 @@ void sflphone_notify_voice_mail (const gchar* accountID , guint count); * Prepare SFLphone to transfer a call and wait for the user to dial the number to transfer to * Put the selected call in Transfer state */ -void sflphone_set_transfert(); +void sflphone_set_transfer(); /** * Cancel the transfer and puts back the selected call to Current state */ -void sflphone_unset_transfert(); +void sflphone_unset_transfer(); /** * Accept / dial the current call diff --git a/gnome/src/callable_obj.h b/gnome/src/callable_obj.h index 1c9d0685b0..3c83e6cd53 100644 --- a/gnome/src/callable_obj.h +++ b/gnome/src/callable_obj.h @@ -80,7 +80,7 @@ typedef enum { CALL_STATE_HOLD, CALL_STATE_FAILURE, CALL_STATE_BUSY, - CALL_STATE_TRANSFERT, + CALL_STATE_TRANSFER, CALL_STATE_RECORD, } call_state_t; diff --git a/gnome/src/config/audioconf.c b/gnome/src/config/audioconf.c index cc89409fe3..2fc5db0f03 100644 --- a/gnome/src/config/audioconf.c +++ b/gnome/src/config/audioconf.c @@ -721,21 +721,21 @@ select_audio_manager (void) if (!must_show_alsa_conf() && !gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (pulse))) { dbus_set_audio_manager (ALSA_API_STR); alsabox = alsa_box(); - gtk_container_add (GTK_CONTAINER (alsa_conf) , alsabox); - gtk_widget_show (alsa_conf); - gtk_widget_set_sensitive (GTK_WIDGET (alsa_conf), TRUE); - gtk_action_set_sensitive (GTK_ACTION (volumeToggle), TRUE); + gtk_container_add (GTK_CONTAINER(alsa_conf), alsabox); + gtk_widget_show(alsa_conf); + gtk_widget_set_sensitive (alsa_conf, TRUE); + gtk_action_set_sensitive (volumeToggle_, TRUE); } else if (must_show_alsa_conf() && gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (pulse))) { dbus_set_audio_manager (PULSEAUDIO_API_STR); gtk_container_remove (GTK_CONTAINER (alsa_conf) , alsabox); - gtk_widget_hide (alsa_conf); - if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (volumeToggle))) { - main_window_volume_controls (FALSE); - eel_gconf_set_integer (SHOW_VOLUME_CONTROLS, FALSE); - gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (volumeToggle), FALSE); + gtk_widget_hide(alsa_conf); + if (gtk_toggle_action_get_active(GTK_TOGGLE_ACTION(volumeToggle_))) { + main_window_volume_controls(FALSE); + eel_gconf_set_integer(SHOW_VOLUME_CONTROLS, FALSE); + gtk_toggle_action_set_active(GTK_TOGGLE_ACTION (volumeToggle_), FALSE); } - gtk_action_set_sensitive (GTK_ACTION (volumeToggle), FALSE); + gtk_action_set_sensitive(volumeToggle_, FALSE); } } diff --git a/gnome/src/contacts/calltree.c b/gnome/src/contacts/calltree.c index cc28646f6e..ca51061937 100644 --- a/gnome/src/contacts/calltree.c +++ b/gnome/src/contacts/calltree.c @@ -692,7 +692,7 @@ calltree_update_call (calltab_t* tab, callable_obj_t * c, GtkTreeIter *parent) gchar * description = NULL; gchar * audio_codec = call_get_audio_codec (c); - if (c->_state == CALL_STATE_TRANSFERT) + if (c->_state == CALL_STATE_TRANSFER) description = calltree_display_call_info (c, DISPLAY_TYPE_CALL_TRANSFER, ""); else { if (c->_sas && display_sas && c->_srtp_state == SRTP_STATE_ZRTP_SAS_UNCONFIRMED && !c->_zrtp_confirmed) @@ -727,8 +727,8 @@ calltree_update_call (calltab_t* tab, callable_obj_t * c, GtkTreeIter *parent) case CALL_STATE_BUSY: pixbuf = gdk_pixbuf_new_from_file (ICONS_DIR "/busy.svg", NULL); break; - case CALL_STATE_TRANSFERT: - pixbuf = gdk_pixbuf_new_from_file (ICONS_DIR "/transfert.svg", NULL); + case CALL_STATE_TRANSFER: + pixbuf = gdk_pixbuf_new_from_file (ICONS_DIR "/transfer.svg", NULL); break; case CALL_STATE_RECORD: pixbuf = gdk_pixbuf_new_from_file (ICONS_DIR "/icon_rec.svg", NULL); @@ -1294,27 +1294,26 @@ void calltree_display (calltab_t *tab) DEBUG ("CallTree: Display main tab"); if (active_calltree==contacts) - gtk_toggle_tool_button_set_active ( (GtkToggleToolButton*) contactButton, FALSE); + gtk_toggle_tool_button_set_active ( (GtkToggleToolButton*) contactButton_, FALSE); else - gtk_toggle_tool_button_set_active ( (GtkToggleToolButton*) historyButton, FALSE); + gtk_toggle_tool_button_set_active ( (GtkToggleToolButton*) historyButton_, FALSE); } /* case 2: we want to display the history */ else if (tab == history) { DEBUG ("ConferenceList: Display history tab"); + if (active_calltree == contacts) + gtk_toggle_tool_button_set_active((GtkToggleToolButton*) contactButton_, FALSE); - if (active_calltree==contacts) - gtk_toggle_tool_button_set_active ( (GtkToggleToolButton*) contactButton, FALSE); - - gtk_toggle_tool_button_set_active ( (GtkToggleToolButton*) historyButton, TRUE); + gtk_toggle_tool_button_set_active((GtkToggleToolButton*) historyButton_, TRUE); } else if (tab==contacts) { DEBUG ("CallTree: Display contact tab"); - if (active_calltree==history) - gtk_toggle_tool_button_set_active ( (GtkToggleToolButton*) historyButton, FALSE); + if (active_calltree == history) + gtk_toggle_tool_button_set_active((GtkToggleToolButton*) historyButton_, FALSE); - gtk_toggle_tool_button_set_active ( (GtkToggleToolButton*) contactButton, TRUE); + gtk_toggle_tool_button_set_active((GtkToggleToolButton*) contactButton_, TRUE); set_focus_on_addressbook_searchbar(); } @@ -1392,7 +1391,7 @@ static void drag_end_cb (GtkWidget * widget UNUSED, GdkDragContext * context UNU calltree_selected_call->_state == CALL_STATE_INVALID || calltree_selected_call->_state == CALL_STATE_FAILURE || calltree_selected_call->_state == CALL_STATE_BUSY || - calltree_selected_call->_state == CALL_STATE_TRANSFERT) { + calltree_selected_call->_state == CALL_STATE_TRANSFER) { DEBUG ("CallTree: Selected an invalid call"); @@ -1412,7 +1411,7 @@ static void drag_end_cb (GtkWidget * widget UNUSED, GdkDragContext * context UNU calltree_dragged_call->_state == CALL_STATE_INVALID || calltree_dragged_call->_state == CALL_STATE_FAILURE || calltree_dragged_call->_state == CALL_STATE_BUSY || - calltree_dragged_call->_state == CALL_STATE_TRANSFERT) { + calltree_dragged_call->_state == CALL_STATE_TRANSFER) { DEBUG ("CallTree: Dragged on an invalid call"); diff --git a/gnome/src/dbus/callmanager-introspec.xml b/gnome/src/dbus/callmanager-introspec.xml index 37481fc79a..8b23a3f68d 100644 --- a/gnome/src/dbus/callmanager-introspec.xml +++ b/gnome/src/dbus/callmanager-introspec.xml @@ -117,7 +117,7 @@ </arg> </method> - <method name="transfert" tp:name-for-bindings="transfert"> + <method name="transfer" tp:name-for-bindings="transfer"> <tp:docstring> Transfer a call to given phone number. </tp:docstring> diff --git a/gnome/src/dbus/dbus.c b/gnome/src/dbus/dbus.c index 661c2055ce..558d5ec402 100644 --- a/gnome/src/dbus/dbus.c +++ b/gnome/src/dbus/dbus.c @@ -835,13 +835,13 @@ dbus_hang_up_conference (const conference_obj_t * c) } void -dbus_transfert (const callable_obj_t * c) +dbus_transfer (const callable_obj_t * c) { GError *error = NULL; - org_sflphone_SFLphone_CallManager_transfert (callManagerProxy, c->_callID, c->_trsft_to, &error); + org_sflphone_SFLphone_CallManager_transfer (callManagerProxy, c->_callID, c->_trsft_to, &error); if (error) { - ERROR ("Failed to call transfert() on CallManager: %s", error->message); + ERROR ("Failed to call transfer() on CallManager: %s", error->message); g_error_free (error); } } diff --git a/gnome/src/dbus/dbus.h b/gnome/src/dbus/dbus.h index 0a30423044..18a361952f 100644 --- a/gnome/src/dbus/dbus.h +++ b/gnome/src/dbus/dbus.h @@ -79,7 +79,7 @@ void dbus_hang_up (const callable_obj_t * c); * CallManager - Transfer a call * @param c The call to transfer */ -void dbus_transfert (const callable_obj_t * c); +void dbus_transfer (const callable_obj_t * c); /** * CallManager - Perform an attended transfer on two calls diff --git a/gnome/src/shortcuts.c b/gnome/src/shortcuts.c index c83474ed91..dc56c3cd3e 100644 --- a/gnome/src/shortcuts.c +++ b/gnome/src/shortcuts.c @@ -116,7 +116,7 @@ toggle_pick_up_hang_up_callback () if (selectedCall) { switch (selectedCall->_state) { case CALL_STATE_INCOMING: - case CALL_STATE_TRANSFERT: + case CALL_STATE_TRANSFER: sflphone_pick_up (); break; case CALL_STATE_DIALING: diff --git a/gnome/src/uimanager.c b/gnome/src/uimanager.c index bb2fd11709..adf8baadc4 100644 --- a/gnome/src/uimanager.c +++ b/gnome/src/uimanager.c @@ -56,305 +56,275 @@ #include <sys/stat.h> -void show_edit_number (callable_obj_t *call); - -static GtkWidget *toolbar; - -static guint transfertButtonConnId; //The button toggled signal connection ID -static guint recordButtonConnId; //The button toggled signal connection ID - -static GtkAction * pickUpAction; -static GtkWidget * pickUpWidget; -static GtkAction * newCallAction; -static GtkWidget * newCallWidget; -static GtkAction * hangUpAction; -static GtkWidget * hangUpWidget; -static GtkWidget * holdMenu; -static GtkWidget * holdToolbar; -static GtkWidget * offHoldToolbar; -static GtkWidget * transferToolbar; -static GtkAction * copyAction; -static GtkAction * pasteAction; -static GtkAction * recordAction; -static GtkWidget * recordWidget; -static GtkAction * voicemailAction; -static GtkWidget * voicemailToolbar; -static GtkWidget * imToolbar; -static GtkAction * imAction; -static GtkWidget * playRecordWidget; -static GtkWidget * stopRecordWidget; - -static GtkWidget * editable_num; -static GtkDialog * edit_dialog; +void show_edit_number(callable_obj_t *call); + +static GtkWidget *toolbar_; + +static guint transferButtonConnId_; //The button toggled signal connection ID +static guint recordButtonConnId_; //The button toggled signal connection ID + +static GtkAction * pickUpAction_; +static GtkWidget * pickUpWidget_; +static GtkAction * newCallAction_; +static GtkWidget * newCallWidget_; +static GtkAction * hangUpAction_; +static GtkWidget * hangUpWidget_; +static GtkWidget * holdMenu_; +static GtkWidget * holdToolbar_; +static GtkWidget * offHoldToolbar_; +static GtkWidget * transferToolbar_; +static GtkAction * copyAction_; +static GtkAction * pasteAction_; +static GtkAction * recordAction_; +static GtkWidget * recordWidget_; +static GtkAction * voicemailAction_; +static GtkWidget * voicemailToolbar_; +static GtkWidget * imToolbar_; +static GtkAction * imAction_; +static GtkWidget * playRecordWidget_; +static GtkWidget * stopRecordWidget_; + +static GtkWidget * editable_num_; +static GtkWidget * edit_dialog_; enum { CALLTREE_CALLS, CALLTREE_HISTORY, CALLTREE_CONTACTS }; -static gboolean -is_inserted (GtkWidget* button, GtkWidget *current_toolbar) +static void +remove_from_toolbar(GtkWidget *widget) { - return (GTK_WIDGET (button)->parent == GTK_WIDGET (current_toolbar)); + /* We must ensure that a widget is a child of a container + * before removing it. */ + if (widget->parent == toolbar_) + gtk_container_remove(GTK_CONTAINER(toolbar_), widget); } void update_actions() { - - DEBUG ("UIManager: Update action"); - - gtk_action_set_sensitive (GTK_ACTION (newCallAction), TRUE); - gtk_action_set_sensitive (GTK_ACTION (pickUpAction), FALSE); - gtk_action_set_sensitive (GTK_ACTION (hangUpAction), FALSE); - gtk_action_set_sensitive (GTK_ACTION (imAction), FALSE); - - g_object_ref (hangUpWidget); - g_object_ref (recordWidget); - g_object_ref (holdToolbar); - g_object_ref (offHoldToolbar); - if(abookfactory_is_addressbook_loaded()) { - g_object_ref (contactButton); - } - g_object_ref (historyButton); - g_object_ref (transferToolbar); - g_object_ref (voicemailToolbar); - g_object_ref (imToolbar); - - if (is_inserted (GTK_WIDGET (hangUpWidget), GTK_WIDGET (toolbar))) { - gtk_container_remove (GTK_CONTAINER (toolbar), GTK_WIDGET (hangUpWidget)); - } - - if (is_inserted (GTK_WIDGET (recordWidget), GTK_WIDGET (toolbar))) { - gtk_container_remove (GTK_CONTAINER (toolbar), GTK_WIDGET (recordWidget)); - } - - if (is_inserted (GTK_WIDGET (transferToolbar), GTK_WIDGET (toolbar))) { - gtk_container_remove (GTK_CONTAINER (toolbar), GTK_WIDGET (transferToolbar)); - } - - if (is_inserted (GTK_WIDGET (historyButton), GTK_WIDGET (toolbar))) { - gtk_container_remove (GTK_CONTAINER (toolbar), GTK_WIDGET (historyButton)); - } - - if(abookfactory_is_addressbook_loaded()) { - if (is_inserted (GTK_WIDGET (contactButton), GTK_WIDGET (toolbar))) { - gtk_container_remove (GTK_CONTAINER (toolbar), GTK_WIDGET (contactButton)); - } - } - - if (is_inserted (GTK_WIDGET (voicemailToolbar), GTK_WIDGET (toolbar))) { - gtk_container_remove (GTK_CONTAINER (toolbar), - GTK_WIDGET (voicemailToolbar)); - } - - if (is_inserted (GTK_WIDGET (imToolbar), GTK_WIDGET (toolbar))) { - gtk_container_remove (GTK_CONTAINER (toolbar), - GTK_WIDGET (imToolbar)); - } - - gtk_widget_set_sensitive (GTK_WIDGET (holdMenu), FALSE); - gtk_widget_set_sensitive (GTK_WIDGET (holdToolbar), FALSE); - gtk_widget_set_sensitive (GTK_WIDGET (offHoldToolbar), FALSE); - gtk_action_set_sensitive (GTK_ACTION (recordAction), FALSE); - gtk_widget_set_sensitive (GTK_WIDGET (recordWidget), FALSE); - gtk_action_set_sensitive (GTK_ACTION (copyAction), FALSE); - - if(abookfactory_is_addressbook_loaded()) { - gtk_widget_set_sensitive (GTK_WIDGET (contactButton), FALSE); - } - gtk_widget_set_sensitive (GTK_WIDGET (historyButton), FALSE); - if(abookfactory_is_addressbook_loaded()) { - gtk_widget_set_tooltip_text (GTK_WIDGET (contactButton),_("No address book selected")); - } - - if (is_inserted (GTK_WIDGET (holdToolbar), GTK_WIDGET (toolbar))) - gtk_container_remove (GTK_CONTAINER (toolbar), GTK_WIDGET (holdToolbar)); - - if (is_inserted (GTK_WIDGET (offHoldToolbar), GTK_WIDGET (toolbar))) - gtk_container_remove (GTK_CONTAINER (toolbar), GTK_WIDGET (offHoldToolbar)); - - if (is_inserted (GTK_WIDGET (newCallWidget), GTK_WIDGET (toolbar))) - gtk_container_remove (GTK_CONTAINER (toolbar), GTK_WIDGET (newCallWidget)); - - if (is_inserted (GTK_WIDGET (pickUpWidget), GTK_WIDGET (toolbar))) - gtk_container_remove (GTK_CONTAINER (toolbar), GTK_WIDGET (pickUpWidget)); - - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (newCallWidget), 0); - - if(is_inserted(GTK_WIDGET (playRecordWidget), GTK_WIDGET(toolbar))) - gtk_container_remove(GTK_CONTAINER(toolbar), GTK_WIDGET(playRecordWidget)); - if(is_inserted(GTK_WIDGET (stopRecordWidget), GTK_WIDGET(toolbar))) - gtk_container_remove(GTK_CONTAINER(toolbar), GTK_WIDGET(stopRecordWidget)); - - if (eel_gconf_get_integer (HISTORY_ENABLED)) { - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (historyButton), -1); - gtk_widget_set_sensitive (GTK_WIDGET (historyButton), TRUE); + DEBUG("UIManager: Update action"); + + gtk_action_set_sensitive(newCallAction_, TRUE); + gtk_action_set_sensitive(pickUpAction_, FALSE); + gtk_action_set_sensitive(hangUpAction_, FALSE); + gtk_action_set_sensitive(imAction_, FALSE); + + g_object_ref(hangUpWidget_); + g_object_ref(recordWidget_); + g_object_ref(holdToolbar_); + g_object_ref(offHoldToolbar_); + if (abookfactory_is_addressbook_loaded()) + g_object_ref(contactButton_); + + g_object_ref(historyButton_); + g_object_ref(transferToolbar_); + g_object_ref(voicemailToolbar_); + g_object_ref(imToolbar_); + + remove_from_toolbar(hangUpWidget_); + remove_from_toolbar(recordWidget_); + remove_from_toolbar(transferToolbar_); + remove_from_toolbar(historyButton_); + + if (abookfactory_is_addressbook_loaded()) + remove_from_toolbar(contactButton_); + + remove_from_toolbar(voicemailToolbar_); + remove_from_toolbar(imToolbar_); + + gtk_widget_set_sensitive(holdMenu_, FALSE); + gtk_widget_set_sensitive(holdToolbar_, FALSE); + gtk_widget_set_sensitive(offHoldToolbar_, FALSE); + gtk_action_set_sensitive(recordAction_, FALSE); + gtk_widget_set_sensitive(recordWidget_, FALSE); + gtk_action_set_sensitive(copyAction_, FALSE); + + if (abookfactory_is_addressbook_loaded()) + gtk_widget_set_sensitive(contactButton_, FALSE); + + gtk_widget_set_sensitive(historyButton_, FALSE); + if (abookfactory_is_addressbook_loaded()) + gtk_widget_set_tooltip_text(contactButton_, _("No address book selected")); + + remove_from_toolbar(holdToolbar_); + remove_from_toolbar(offHoldToolbar_); + remove_from_toolbar(newCallWidget_); + remove_from_toolbar(pickUpWidget_); + + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(newCallWidget_), 0); + + remove_from_toolbar(playRecordWidget_); + remove_from_toolbar(stopRecordWidget_); + + if (eel_gconf_get_integer(HISTORY_ENABLED)) { + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(historyButton_), -1); + gtk_widget_set_sensitive(historyButton_, TRUE); } // If addressbook support has been enabled and all addressbooks are loaded, display the icon - - if(abookfactory_is_addressbook_loaded()) { + if (abookfactory_is_addressbook_loaded()) { AddrBookFactory *bookFactory = abookfactory_get_factory(); AddressBook_Config *addressbook_config; - addressbook_config_load_parameters(&addressbook_config); - + addressbook_config_load_parameters(&addressbook_config); + if (addressbook_config->enable && bookFactory->addrbook->is_ready()) { - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (contactButton), -1); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(contactButton_), -1); // Make the icon clickable only if at least one address book is active if (bookFactory->addrbook->is_active()) { - gtk_widget_set_sensitive (GTK_WIDGET (contactButton), TRUE); - gtk_widget_set_tooltip_text (GTK_WIDGET (contactButton),_ ("Address book")); + gtk_widget_set_sensitive(contactButton_, TRUE); + gtk_widget_set_tooltip_text(contactButton_, _("Address book")); } } } - callable_obj_t * selectedCall = calltab_get_selected_call (active_calltree); - conference_obj_t * selectedConf = calltab_get_selected_conf (active_calltree); + callable_obj_t * selectedCall = calltab_get_selected_call(active_calltree); + conference_obj_t * selectedConf = calltab_get_selected_conf(active_calltree); gboolean instant_messaging_enabled = TRUE; - - if (eel_gconf_key_exists (INSTANT_MESSAGING_ENABLED)) { - instant_messaging_enabled = eel_gconf_get_integer (INSTANT_MESSAGING_ENABLED); - } - if (selectedCall) { + if (eel_gconf_key_exists(INSTANT_MESSAGING_ENABLED)) + instant_messaging_enabled = eel_gconf_get_integer(INSTANT_MESSAGING_ENABLED); - DEBUG("UIManager: Update actions for call %s", selectedCall->_callID); + if (selectedCall) { + DEBUG("UIManager: Update actions for call %s", selectedCall->_callID); // update icon in systray show_status_hangup_icon(); - gtk_action_set_sensitive (GTK_ACTION (copyAction), TRUE); + gtk_action_set_sensitive(copyAction_, TRUE); switch (selectedCall->_state) { case CALL_STATE_INCOMING: - DEBUG("UIManager: Call State Incoming"); + DEBUG("UIManager: Call State Incoming"); // Make the button toolbar clickable - gtk_action_set_sensitive (GTK_ACTION (pickUpAction), TRUE); - gtk_action_set_sensitive (GTK_ACTION (hangUpAction), TRUE); + gtk_action_set_sensitive(pickUpAction_, TRUE); + gtk_action_set_sensitive(hangUpAction_, TRUE); // Replace the dial button with the hangup button - g_object_ref (newCallWidget); - gtk_container_remove (GTK_CONTAINER (toolbar), GTK_WIDGET (newCallWidget)); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (pickUpWidget), - 0); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), - 1); + g_object_ref(newCallWidget_); + gtk_container_remove(GTK_CONTAINER(toolbar_), newCallWidget_); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(pickUpWidget_), + 0); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(hangUpWidget_), + 1); break; case CALL_STATE_HOLD: - DEBUG("UIManager: Call State Hold"); - gtk_action_set_sensitive (GTK_ACTION (hangUpAction), TRUE); - gtk_widget_set_sensitive (GTK_WIDGET (holdMenu), TRUE); - gtk_widget_set_sensitive (GTK_WIDGET (offHoldToolbar), TRUE); - gtk_widget_set_sensitive (GTK_WIDGET (newCallWidget), TRUE); + DEBUG("UIManager: Call State Hold"); + gtk_action_set_sensitive(hangUpAction_, TRUE); + gtk_widget_set_sensitive(holdMenu_, TRUE); + gtk_widget_set_sensitive(offHoldToolbar_, TRUE); + gtk_widget_set_sensitive(newCallWidget_, TRUE); // Replace the hold button with the off-hold button - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (offHoldToolbar), 2); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(hangUpWidget_), 1); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(offHoldToolbar_), 2); if (instant_messaging_enabled) { - gtk_action_set_sensitive (GTK_ACTION (imAction), TRUE); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (imToolbar), 3); + gtk_action_set_sensitive(imAction_, TRUE); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(imToolbar_), 3); } break; case CALL_STATE_RINGING: - DEBUG("UIManager: Call State Ringing"); - gtk_action_set_sensitive (GTK_ACTION (pickUpAction), TRUE); - gtk_action_set_sensitive (GTK_ACTION (hangUpAction), TRUE); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), - 1); + DEBUG("UIManager: Call State Ringing"); + gtk_action_set_sensitive(pickUpAction_, TRUE); + gtk_action_set_sensitive(hangUpAction_, TRUE); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(hangUpWidget_), 1); break; case CALL_STATE_DIALING: DEBUG("UIManager: Call State Dialing"); - gtk_action_set_sensitive (GTK_ACTION (pickUpAction), TRUE); + gtk_action_set_sensitive(pickUpAction_, TRUE); if (active_calltree == current_calls) - gtk_action_set_sensitive (GTK_ACTION (hangUpAction), TRUE); + gtk_action_set_sensitive(hangUpAction_, TRUE); - g_object_ref (newCallWidget); - gtk_container_remove (GTK_CONTAINER (toolbar), GTK_WIDGET (newCallWidget)); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (pickUpWidget), 0); + g_object_ref(newCallWidget_); + gtk_container_remove(GTK_CONTAINER(toolbar_), newCallWidget_); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(pickUpWidget_), 0); if (active_calltree == current_calls) - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(hangUpWidget_), 1); else if (active_calltree == history) { - if (selectedCall->_recordfile && (g_strcmp0(selectedCall->_recordfile, "") != 0)) { + if (selectedCall->_recordfile &&(g_strcmp0(selectedCall->_recordfile, "") != 0)) { if (selectedCall->_record_is_playing) - gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM(stopRecordWidget), 3); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(stopRecordWidget_), 3); else - gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM(playRecordWidget), 3); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(playRecordWidget_), 3); } } break; - case CALL_STATE_CURRENT: - DEBUG ("UIManager: Call State Current"); - gtk_action_set_sensitive (GTK_ACTION (hangUpAction), TRUE); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); - gtk_widget_set_sensitive (GTK_WIDGET (holdMenu), TRUE); - gtk_widget_set_sensitive (GTK_WIDGET (holdToolbar), TRUE); - gtk_widget_set_sensitive (GTK_WIDGET (transferToolbar), TRUE); - gtk_action_set_sensitive (GTK_ACTION (recordAction), TRUE); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (holdToolbar), 2); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (transferToolbar), 3); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (recordWidget), 4); - gtk_signal_handler_block (GTK_OBJECT (transferToolbar), transfertButtonConnId); - gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (transferToolbar), FALSE); - gtk_signal_handler_unblock (transferToolbar, transfertButtonConnId); - g_signal_handler_block (GTK_OBJECT (recordWidget), recordButtonConnId); - gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (recordWidget), FALSE); - g_signal_handler_unblock (GTK_OBJECT (recordWidget), recordButtonConnId); + case CALL_STATE_CURRENT: { + DEBUG("UIManager: Call State Current"); + gtk_action_set_sensitive(hangUpAction_, TRUE); + int pos = 1; + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(hangUpWidget_), pos++); + gtk_widget_set_sensitive(holdMenu_, TRUE); + gtk_widget_set_sensitive(holdToolbar_, TRUE); + gtk_widget_set_sensitive(transferToolbar_, TRUE); + gtk_action_set_sensitive(recordAction_, TRUE); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(holdToolbar_), pos++); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(transferToolbar_), pos++); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(recordWidget_), pos++); + gtk_signal_handler_block(GTK_OBJECT(transferToolbar_), transferButtonConnId_); + gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(transferToolbar_), FALSE); + gtk_signal_handler_unblock(transferToolbar_, transferButtonConnId_); + g_signal_handler_block(GTK_OBJECT(recordWidget_), recordButtonConnId_); + gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(recordWidget_), FALSE); + g_signal_handler_unblock(GTK_OBJECT(recordWidget_), recordButtonConnId_); if (instant_messaging_enabled) { - gtk_action_set_sensitive (GTK_ACTION (imAction), TRUE); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (imToolbar), 5); + gtk_action_set_sensitive(imAction_, TRUE); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(imToolbar_), pos); } - break; + } - case CALL_STATE_RECORD: - DEBUG ("UIManager: Call State Record"); - gtk_action_set_sensitive (GTK_ACTION (hangUpAction), TRUE); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); - gtk_widget_set_sensitive (GTK_WIDGET (holdMenu), TRUE); - gtk_widget_set_sensitive (GTK_WIDGET (holdToolbar), TRUE); - gtk_widget_set_sensitive (GTK_WIDGET (transferToolbar), TRUE); - gtk_action_set_sensitive (GTK_ACTION (recordAction), TRUE); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (holdToolbar), 2); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (transferToolbar), 3); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (recordWidget), 4); - gtk_signal_handler_block (GTK_OBJECT (transferToolbar), transfertButtonConnId); - gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (transferToolbar), FALSE); - gtk_signal_handler_unblock (transferToolbar, transfertButtonConnId); - g_signal_handler_block (GTK_OBJECT (recordWidget), recordButtonConnId); - gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (recordWidget), TRUE); - g_signal_handler_unblock (GTK_OBJECT (recordWidget), recordButtonConnId); + case CALL_STATE_RECORD: { + DEBUG("UIManager: Call State Record"); + int pos = 1; + gtk_action_set_sensitive(hangUpAction_, TRUE); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(hangUpWidget_), pos++); + gtk_widget_set_sensitive(holdMenu_, TRUE); + gtk_widget_set_sensitive(holdToolbar_, TRUE); + gtk_widget_set_sensitive(transferToolbar_, TRUE); + gtk_action_set_sensitive(recordAction_, TRUE); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(holdToolbar_), pos++); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(transferToolbar_), pos++); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(recordWidget_), pos++); + gtk_signal_handler_block(GTK_OBJECT(transferToolbar_), transferButtonConnId_); + gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(transferToolbar_), FALSE); + gtk_signal_handler_unblock(transferToolbar_, transferButtonConnId_); + g_signal_handler_block(GTK_OBJECT(recordWidget_), recordButtonConnId_); + gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(recordWidget_), TRUE); + g_signal_handler_unblock(GTK_OBJECT(recordWidget_), recordButtonConnId_); if (instant_messaging_enabled) { - gtk_action_set_sensitive (GTK_ACTION (imAction), TRUE); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (imToolbar), 5); + gtk_action_set_sensitive(imAction_, TRUE); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(imToolbar_), pos); } break; + } case CALL_STATE_BUSY: case CALL_STATE_FAILURE: - DEBUG("UIManager: Call State Busy/Failure"); - gtk_action_set_sensitive (GTK_ACTION (hangUpAction), TRUE); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); + DEBUG("UIManager: Call State Busy/Failure"); + gtk_action_set_sensitive(hangUpAction_, TRUE); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(hangUpWidget_), 1); break; - case CALL_STATE_TRANSFERT: - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (transferToolbar), 2); - gtk_signal_handler_block (GTK_OBJECT (transferToolbar), transfertButtonConnId); - gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (transferToolbar), TRUE); - gtk_signal_handler_unblock (transferToolbar, transfertButtonConnId); - gtk_action_set_sensitive (GTK_ACTION (hangUpAction), TRUE); - gtk_widget_set_sensitive (GTK_WIDGET (holdMenu), TRUE); - gtk_widget_set_sensitive (GTK_WIDGET (holdToolbar), TRUE); - gtk_widget_set_sensitive (GTK_WIDGET (transferToolbar), TRUE); + case CALL_STATE_TRANSFER: + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(hangUpWidget_), 1); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(transferToolbar_), 2); + gtk_signal_handler_block(GTK_OBJECT(transferToolbar_), transferButtonConnId_); + gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(transferToolbar_), TRUE); + gtk_signal_handler_unblock(transferToolbar_, transferButtonConnId_); + gtk_action_set_sensitive(hangUpAction_, TRUE); + gtk_widget_set_sensitive(holdMenu_, TRUE); + gtk_widget_set_sensitive(holdToolbar_, TRUE); + gtk_widget_set_sensitive(transferToolbar_, TRUE); break; default: - ERROR ("UIMAnager: Error: Unknown state in action update!"); + ERROR("UIMAnager: Error: Unknown state in action update!"); break; } } else if (selectedConf) { @@ -364,140 +334,141 @@ update_actions() // update icon in systray show_status_hangup_icon(); - switch (selectedConf->_state) { case CONFERENCE_STATE_ACTIVE_ATACHED: case CONFERENCE_STATE_ACTIVE_DETACHED: - DEBUG("UIManager: Conference State Active"); - if(active_calltree == current_calls) { - gtk_action_set_sensitive (GTK_ACTION (hangUpAction), TRUE); - gtk_widget_set_sensitive (GTK_WIDGET (holdToolbar), TRUE); - gtk_action_set_sensitive (GTK_ACTION (recordAction), TRUE); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (holdToolbar), 2); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (recordWidget), 3); + DEBUG("UIManager: Conference State Active"); + if (active_calltree == current_calls) { + int pos = 1; + gtk_action_set_sensitive(hangUpAction_, TRUE); + gtk_widget_set_sensitive(holdToolbar_, TRUE); + gtk_action_set_sensitive(recordAction_, TRUE); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(hangUpWidget_), pos++); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(holdToolbar_), pos++); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(recordWidget_), pos++); if (instant_messaging_enabled) { - gtk_action_set_sensitive (GTK_ACTION (imAction), TRUE); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (imToolbar), 4); + gtk_action_set_sensitive(imAction_, TRUE); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(imToolbar_), pos); } - } - else if(active_calltree == history) { - if(selectedConf->_recordfile && (g_strcmp0(selectedConf->_recordfile, "") != 0)) { - if(selectedConf->_record_is_playing) - gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM(stopRecordWidget), 3); + } + else if (active_calltree == history) { + if (selectedConf->_recordfile &&(g_strcmp0(selectedConf->_recordfile, "") != 0)) { + if (selectedConf->_record_is_playing) + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(stopRecordWidget_), 3); else - gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM(playRecordWidget), 3); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(playRecordWidget_), 3); } - - } + } break; case CONFERENCE_STATE_ACTIVE_ATTACHED_RECORD: - case CONFERENCE_STATE_ACTIVE_DETACHED_RECORD: - DEBUG("UIManager: Conference State Record"); - gtk_action_set_sensitive (GTK_ACTION (hangUpAction), TRUE); - gtk_widget_set_sensitive (GTK_WIDGET (holdToolbar), TRUE); - gtk_action_set_sensitive (GTK_ACTION (recordAction), TRUE); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (holdToolbar), 2); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (recordWidget), 3); + case CONFERENCE_STATE_ACTIVE_DETACHED_RECORD: { + int pos = 1; + DEBUG("UIManager: Conference State Record"); + gtk_action_set_sensitive(hangUpAction_, TRUE); + gtk_widget_set_sensitive(holdToolbar_, TRUE); + gtk_action_set_sensitive(recordAction_, TRUE); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(hangUpWidget_), pos++); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(holdToolbar_), pos++); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(recordWidget_), pos++); if (instant_messaging_enabled) { - gtk_action_set_sensitive (GTK_ACTION (imAction), TRUE); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (imToolbar), 4); + gtk_action_set_sensitive(imAction_, TRUE); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(imToolbar_), pos); } break; + } case CONFERENCE_STATE_HOLD: - case CONFERENCE_STATE_HOLD_RECORD: - DEBUG("UIManager: Conference State Hold"); - gtk_action_set_sensitive (GTK_ACTION (hangUpAction), TRUE); - gtk_widget_set_sensitive (GTK_WIDGET (offHoldToolbar), TRUE); - gtk_action_set_sensitive (GTK_ACTION (recordAction), TRUE); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (offHoldToolbar), 2); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (recordWidget), 3); + case CONFERENCE_STATE_HOLD_RECORD: { + DEBUG("UIManager: Conference State Hold"); + int pos = 1; + gtk_action_set_sensitive(hangUpAction_, TRUE); + gtk_widget_set_sensitive(offHoldToolbar_, TRUE); + gtk_action_set_sensitive(recordAction_, TRUE); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(hangUpWidget_), pos++); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(offHoldToolbar_), pos++); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(recordWidget_), pos++); if (instant_messaging_enabled) { - gtk_action_set_sensitive (GTK_ACTION (imAction), TRUE); - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (imToolbar), 4); + gtk_action_set_sensitive(imAction_, TRUE); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), GTK_TOOL_ITEM(imToolbar_), pos); } break; + } default: - WARN ("UIManager: Error: Should not happen in action update!"); + WARN("UIManager: Error: Should not happen in action update!"); break; } - } - - else { - + } else { // update icon in systray hide_status_hangup_icon(); if (account_list_get_size() > 0 && current_account_has_mailbox()) { - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), - GTK_TOOL_ITEM (voicemailToolbar), -2); + gtk_toolbar_insert(GTK_TOOLBAR(toolbar_), + GTK_TOOL_ITEM(voicemailToolbar_), -2); update_voicemail_status(); } } } void -update_voicemail_status (void) +update_voicemail_status() { - gchar *messages = ""; - messages = g_markup_printf_escaped (_ ("Voicemail (%i)"), - current_account_get_message_number()); - (current_account_has_new_message()) ? gtk_tool_button_set_icon_name ( - GTK_TOOL_BUTTON (voicemailToolbar), "mail-message-new") - : gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (voicemailToolbar), - "mail-read"); - gtk_tool_button_set_label (GTK_TOOL_BUTTON (voicemailToolbar), messages); - g_free (messages); + gchar *messages = g_markup_printf_escaped(_("Voicemail(%i)"), + current_account_get_message_number()); + + if (current_account_has_new_message()) + gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(voicemailToolbar_), + "mail-message-new"); + else + gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(voicemailToolbar_), + "mail-read"); + gtk_tool_button_set_label(GTK_TOOL_BUTTON(voicemailToolbar_), messages); + g_free(messages); } static void -volume_bar_cb (GtkToggleAction *togglemenuitem, gpointer user_data UNUSED) +volume_bar_cb(GtkToggleAction *togglemenuitem, gpointer user_data UNUSED) { - gboolean toggled = gtk_toggle_action_get_active (togglemenuitem); + gboolean toggled = gtk_toggle_action_get_active(togglemenuitem); if (toggled == SHOW_VOLUME) return; - main_window_volume_controls (toggled); + main_window_volume_controls(toggled); if (toggled || SHOW_VOLUME) - eel_gconf_set_integer (SHOW_VOLUME_CONTROLS, toggled); + eel_gconf_set_integer(SHOW_VOLUME_CONTROLS, toggled); } static void -dialpad_bar_cb (GtkToggleAction *togglemenuitem, gpointer user_data UNUSED) +dialpad_bar_cb(GtkToggleAction *togglemenuitem, gpointer user_data UNUSED) { - gboolean toggled = gtk_toggle_action_get_active (togglemenuitem); - gboolean conf_dialpad = eel_gconf_get_boolean (CONF_SHOW_DIALPAD); + gboolean toggled = gtk_toggle_action_get_active(togglemenuitem); + gboolean conf_dialpad = eel_gconf_get_boolean(CONF_SHOW_DIALPAD); if (toggled == conf_dialpad) return; - main_window_dialpad (toggled); + main_window_dialpad(toggled); if (toggled || conf_dialpad) - eel_gconf_set_boolean (CONF_SHOW_DIALPAD, toggled); //dbus_set_dialpad (toggled); - + eel_gconf_set_boolean(CONF_SHOW_DIALPAD, toggled); } static void -help_contents_cb (GtkAction *action UNUSED) +help_contents_cb(GtkAction *action UNUSED) { GError *error = NULL; - gnome_help_display ("sflphone.xml", NULL, &error); + gnome_help_display("sflphone.xml", NULL, &error); if (error != NULL) { - g_warning ("%s", error->message); - g_error_free (error); + g_warning("%s", error->message); + g_error_free(error); } } static void -help_about (void * foo UNUSED) +help_about(void * foo UNUSED) { gchar *authors[] = { @@ -518,11 +489,11 @@ help_about (void * foo UNUSED) "Emmanuel Milou <emmanuel.milou@savoirfairelinux.com>", NULL }; - gtk_show_about_dialog (GTK_WINDOW (get_main_window()), "artists", artists, + gtk_show_about_dialog(GTK_WINDOW(get_main_window()), "artists", artists, "authors", authors, "comments", - _ ("SFLphone is a VoIP client compatible with SIP and IAX2 protocols."), + _("SFLphone is a VoIP client compatible with SIP and IAX2 protocols."), "copyright", "Copyright © 2004-2011 Savoir-faire Linux Inc.", "name", - PACKAGE, "title", _ ("About SFLphone"), "version", VERSION, "website", + PACKAGE, "title", _("About SFLphone"), "version", VERSION, "website", "http://www.sflphone.org", NULL); } @@ -530,131 +501,121 @@ help_about (void * foo UNUSED) /* ----------------------------------------------------------------- */ static void -call_new_call (void * foo UNUSED) +call_new_call(void * foo UNUSED) { - DEBUG ("UIManager: New call button pressed"); - + DEBUG("UIManager: New call button pressed"); sflphone_new_call(); } static void -call_quit (void * foo UNUSED) +call_quit(void * foo UNUSED) { sflphone_quit(); } static void -call_minimize (void * foo UNUSED) +call_minimize(void * foo UNUSED) { - - if (eel_gconf_get_integer (SHOW_STATUSICON)) { - gtk_widget_hide (GTK_WIDGET (get_main_window())); - set_minimized (TRUE); - } else { - sflphone_quit (); - } + if (eel_gconf_get_integer(SHOW_STATUSICON)) { + gtk_widget_hide(get_main_window()); + set_minimized(TRUE); + } else + sflphone_quit(); } static void -switch_account (GtkWidget* item, gpointer data UNUSED) +switch_account(GtkWidget* item, gpointer data UNUSED) { - account_t* acc = g_object_get_data (G_OBJECT (item), "account"); - DEBUG ("%s" , acc->accountID); - account_list_set_current (acc); + account_t* acc = g_object_get_data(G_OBJECT(item), "account"); + DEBUG("%s" , acc->accountID); + account_list_set_current(acc); status_bar_display_account(); } static void -call_hold (void* foo UNUSED) +call_hold(void* foo UNUSED) { - callable_obj_t * selectedCall = calltab_get_selected_call (current_calls); + callable_obj_t * selectedCall = calltab_get_selected_call(current_calls); conference_obj_t * selectedConf = calltab_get_selected_conf(current_calls); - DEBUG ("UIManager: Hold button pressed"); + DEBUG("UIManager: Hold button pressed"); if (selectedCall) { - if (selectedCall->_state == CALL_STATE_HOLD) { + if (selectedCall->_state == CALL_STATE_HOLD) sflphone_off_hold(); - } else { + else sflphone_on_hold(); - } } else if (selectedConf) { - switch (selectedConf->_state) { - case CONFERENCE_STATE_HOLD: selectedConf->_state = CONFERENCE_STATE_ACTIVE_ATACHED; - sflphone_conference_off_hold (selectedConf); + sflphone_conference_off_hold(selectedConf); break; case CONFERENCE_STATE_HOLD_RECORD: selectedConf->_state = CONFERENCE_STATE_ACTIVE_ATTACHED_RECORD; - sflphone_conference_off_hold (selectedConf); + sflphone_conference_off_hold(selectedConf); break; case CONFERENCE_STATE_ACTIVE_ATACHED: case CONFERENCE_STATE_ACTIVE_DETACHED: selectedConf->_state = CONFERENCE_STATE_HOLD; - sflphone_conference_on_hold (selectedConf); + sflphone_conference_on_hold(selectedConf); break; case CONFERENCE_STATE_ACTIVE_ATTACHED_RECORD: case CONFERENCE_STATE_ACTIVE_DETACHED_RECORD: selectedConf->_state = CONFERENCE_STATE_HOLD_RECORD; - sflphone_conference_on_hold (selectedConf); + sflphone_conference_on_hold(selectedConf); break; default: break; } - } } static void -call_im (void* foo UNUSED) +call_im(void* foo UNUSED) { - callable_obj_t *selectedCall = calltab_get_selected_call (current_calls); + callable_obj_t *selectedCall = calltab_get_selected_call(current_calls); conference_obj_t *selectedConf = calltab_get_selected_conf(current_calls); - if (calltab_get_selected_type (current_calls) == A_CALL) { - - if (selectedCall) { - im_widget_display ( (IMWidget **) (&selectedCall->_im_widget), NULL, selectedCall->_callID, NULL); - } else { - WARN ("Sorry. Instant messaging is not allowed outside a call\n"); - } + if (calltab_get_selected_type(current_calls) == A_CALL) { + if (selectedCall) + im_widget_display((IMWidget **) (&selectedCall->_im_widget), NULL, selectedCall->_callID, NULL); + else + WARN("Sorry. Instant messaging is not allowed outside a call\n"); } else { - if (selectedConf) { - im_widget_display ( (IMWidget **) (&selectedConf->_im_widget), NULL, selectedConf->_confID, NULL); - } else { - WARN ("Sorry. Instant messaging is not allowed outside a call\n"); - } + if (selectedConf) + im_widget_display((IMWidget **) (&selectedConf->_im_widget), NULL, selectedConf->_confID, NULL); + else + WARN("Sorry. Instant messaging is not allowed outside a call\n"); } } static void -conference_hold (void* foo UNUSED) +conference_hold(void* foo UNUSED) { conference_obj_t * selectedConf = calltab_get_selected_conf(current_calls); - DEBUG ("UIManager: Hold button pressed for conference"); + DEBUG("UIManager: Hold button pressed for conference"); - if(selectedConf == NULL) { + if (selectedConf == NULL) { ERROR("UIManager: No conference selected"); - return; + return; } switch (selectedConf->_state) { case CONFERENCE_STATE_HOLD: selectedConf->_state = CONFERENCE_STATE_ACTIVE_ATACHED; - sflphone_conference_off_hold (selectedConf); + sflphone_conference_off_hold(selectedConf); break; case CONFERENCE_STATE_HOLD_RECORD: selectedConf->_state = CONFERENCE_STATE_ACTIVE_ATTACHED_RECORD; - sflphone_conference_off_hold (selectedConf); + sflphone_conference_off_hold(selectedConf); break; case CONFERENCE_STATE_ACTIVE_ATACHED: case CONFERENCE_STATE_ACTIVE_DETACHED: selectedConf->_state = CONFERENCE_STATE_HOLD; - sflphone_conference_on_hold (selectedConf); + sflphone_conference_on_hold(selectedConf); break; case CONFERENCE_STATE_ACTIVE_ATTACHED_RECORD: case CONFERENCE_STATE_ACTIVE_DETACHED_RECORD: @@ -666,98 +627,86 @@ conference_hold (void* foo UNUSED) } static void -call_pick_up (void * foo UNUSED) +call_pick_up(void * foo UNUSED) { - callable_obj_t * selectedCall; - callable_obj_t* new_call; - - DEBUG ("UIManager: Pick up"); + DEBUG("UIManager: Pick up"); - if (calllist_get_size (current_calls) > 0) { + if (calllist_get_size(current_calls) > 0) { sflphone_pick_up(); - } - - else if (calllist_get_size (active_calltree) > 0) { - selectedCall = calltab_get_selected_call(active_calltree); + } else if (calllist_get_size(active_calltree) > 0) { + callable_obj_t *selectedCall = calltab_get_selected_call(active_calltree); if (selectedCall) { - new_call = create_new_call (CALL, CALL_STATE_DIALING, "", "", "", - selectedCall->_peer_number); - - calllist_add_call (current_calls, new_call); - calltree_add_call (current_calls, new_call, NULL); - sflphone_place_call (new_call); - calltree_display (current_calls); + callable_obj_t *new_call = create_new_call(CALL, CALL_STATE_DIALING, "", "", "", + selectedCall->_peer_number); + calllist_add_call(current_calls, new_call); + calltree_add_call(current_calls, new_call, NULL); + sflphone_place_call(new_call); + calltree_display(current_calls); } else { sflphone_new_call(); - calltree_display (current_calls); + calltree_display(current_calls); } } else { sflphone_new_call(); - calltree_display (current_calls); + calltree_display(current_calls); } } static void -call_hang_up (void) +call_hang_up(void) { - DEBUG ("UIManager: Hang up button pressed (call)"); + DEBUG("UIManager: Hang up button pressed(call)"); /* * [#3020] Restore the record toggle button * We set it to FALSE, as when we hang up a call, the recording is stopped. */ sflphone_hang_up(); - } static void -conference_hang_up (void) +conference_hang_up(void) { - DEBUG ("UIManager: Hang up button pressed (conference)"); + DEBUG("UIManager: Hang up button pressed(conference)"); conference_obj_t * selectedConf = calltab_get_selected_conf(current_calls); if (selectedConf) - dbus_hang_up_conference (selectedConf); + dbus_hang_up_conference(selectedConf); } static void -call_record (void) +call_record(void) { - DEBUG ("UIManager: Record button pressed"); - + DEBUG("UIManager: Record button pressed"); sflphone_rec_call(); } static void start_playback_record_cb(void) { - gboolean result; - DEBUG("UIManager: Start playback button pressed"); - callable_obj_t *selectedCall = calltab_get_selected_call (history); - conference_obj_t *selectedConf = calltab_get_selected_conf (history); + callable_obj_t *selectedCall = calltab_get_selected_call(history); + conference_obj_t *selectedConf = calltab_get_selected_conf(history); - if((selectedCall == NULL) && (selectedConf == NULL)) { + if (selectedCall == NULL && selectedConf == NULL) { ERROR("UIManager: Error: No selected object in playback record callback"); - return; + return; } - if(selectedCall && selectedConf) { - ERROR("UIManager: Error: Two selected object in playback record callback"); - return; + if (selectedCall && selectedConf) { + ERROR("UIManager: Error: Two selected object in playback record callback"); + return; } - if(selectedCall) { - DEBUG("UIManager: Start selected call file playback %s", selectedCall->_recordfile); - result = dbus_start_recorded_file_playback(selectedCall->_recordfile); - selectedCall->_record_is_playing = result; + if (selectedCall) { + DEBUG("UIManager: Start selected call file playback %s", selectedCall->_recordfile); + selectedCall->_record_is_playing = dbus_start_recorded_file_playback(selectedCall->_recordfile); + } + else if (selectedConf) { + DEBUG("UIMAnager: Start selected conf file playback %s", selectedConf->_recordfile); + selectedConf->_record_is_playing = dbus_start_recorded_file_playback(selectedConf->_recordfile); } - else if(selectedConf) { - DEBUG("UIMAnager: Start selected conf file playback %s", selectedConf->_recordfile); - result = dbus_start_recorded_file_playback(selectedConf->_recordfile); - selectedConf->_record_is_playing = result; - } update_actions(); } @@ -767,43 +716,43 @@ stop_playback_record_cb(void) { DEBUG("UIManager: Stop playback button pressed"); - callable_obj_t *selectedCall = calltab_get_selected_call (history); + callable_obj_t *selectedCall = calltab_get_selected_call(history); conference_obj_t *selectedConf = calltab_get_selected_conf(history); - if(selectedCall && selectedConf) { + if (selectedCall && selectedConf) { ERROR("UIManager: Error: Two selected object in history treeview"); - return; + return; } - if((selectedCall == NULL) && (selectedConf == NULL)) { + if (selectedCall == NULL && selectedConf == NULL) { ERROR("UIManager: Error: No selected object in history treeview"); - return; + return; } - if(selectedCall) { - if(selectedCall->_recordfile == NULL) { + if (selectedCall) { + if (selectedCall->_recordfile == NULL) { ERROR("UIManager: Error: Record file is NULL"); - return; + return; } - dbus_stop_recorded_file_playback(selectedCall->_recordfile); - DEBUG("UIManager: Stop selected call file playback %s", selectedCall->_recordfile); - selectedCall->_record_is_playing = FALSE; - } - else if(selectedConf) { - if(selectedConf->_recordfile == NULL) { + dbus_stop_recorded_file_playback(selectedCall->_recordfile); + DEBUG("UIManager: Stop selected call file playback %s", selectedCall->_recordfile); + selectedCall->_record_is_playing = FALSE; + } + else if (selectedConf) { + if (selectedConf->_recordfile == NULL) { ERROR("UIManager: Error: Record file is NULL"); - return; - } + return; + } dbus_stop_recorded_file_playback(selectedConf->_recordfile); - DEBUG("UIMAnager: Start selected call file playback: %s", selectedConf->_recordfile); - selectedConf->_record_is_playing = FALSE; + DEBUG("UIMAnager: Start selected call file playback: %s", selectedConf->_recordfile); + selectedConf->_record_is_playing = FALSE; } update_actions(); } static void -call_configuration_assistant (void * foo UNUSED) +call_configuration_assistant(void * foo UNUSED) { #if GTK_CHECK_VERSION(2,10,0) build_wizard(); @@ -811,117 +760,97 @@ call_configuration_assistant (void * foo UNUSED) } static void -remove_from_history (void * foo UNUSED) +remove_from_history(void * foo UNUSED) { - callable_obj_t* call = calltab_get_selected_call (history); + callable_obj_t* call = calltab_get_selected_call(history); - DEBUG ("UIManager: Remove the call from the history"); + DEBUG("UIManager: Remove the call from the history"); - if(call == NULL) { - ERROR("UIManager: Error: Call is NULL"); + if (call == NULL) { + ERROR("UIManager: Error: Call is NULL"); return; } - calllist_remove_from_history (call); + calllist_remove_from_history(call); } static void -call_back (void * foo UNUSED) +call_back(void * foo UNUSED) { - callable_obj_t *selected_call, *new_call; - - selected_call = calltab_get_selected_call (active_calltree); + callable_obj_t *selected_call = calltab_get_selected_call(active_calltree); DEBUG("UIManager: Call back"); - if(selected_call == NULL) { - ERROR("UIManager: Error: No selected call"); - return; + if (selected_call == NULL) { + ERROR("UIManager: Error: No selected call"); + return; } - new_call = create_new_call (CALL, CALL_STATE_DIALING, "", "", - selected_call->_peer_name, selected_call->_peer_number); + callable_obj_t *new_call = create_new_call(CALL, CALL_STATE_DIALING, "", + "", selected_call->_peer_name, + selected_call->_peer_number); - calllist_add_call (current_calls, new_call); - calltree_add_call (current_calls, new_call, NULL); - sflphone_place_call (new_call); - calltree_display (current_calls); + calllist_add_call(current_calls, new_call); + calltree_add_call(current_calls, new_call, NULL); + sflphone_place_call(new_call); + calltree_display(current_calls); } static void -edit_preferences (void * foo UNUSED) +edit_preferences(void * foo UNUSED) { show_preferences_dialog(); } static void -edit_accounts (void * foo UNUSED) +edit_accounts(void * foo UNUSED) { show_account_list_config_dialog(); } // The menu Edit/Copy should copy the current selected call's number static void -edit_copy (void * foo UNUSED) +edit_copy(void * foo UNUSED) { - GtkClipboard* clip = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD); - callable_obj_t * selectedCall = calltab_get_selected_call (current_calls); - gchar * no = NULL; + GtkClipboard* clip = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD); + callable_obj_t * selectedCall = calltab_get_selected_call(current_calls); DEBUG("UIManager: Edit/Copy"); - if(selectedCall == NULL) { + if (selectedCall == NULL) { ERROR("UIManager: Error: No selected call", selectedCall); return; } - switch (selectedCall->_state) { - case CALL_STATE_TRANSFERT: - case CALL_STATE_DIALING: - case CALL_STATE_RINGING: - no = selectedCall->_peer_number; - break; - case CALL_STATE_CURRENT: - case CALL_STATE_RECORD: - case CALL_STATE_HOLD: - case CALL_STATE_BUSY: - case CALL_STATE_FAILURE: - case CALL_STATE_INCOMING: - default: - no = selectedCall->_peer_number; - break; - } - - DEBUG ("UIManager: Clipboard number: %s\n", no); - gtk_clipboard_set_text (clip, no, strlen (no)); - + DEBUG("UIManager: Clipboard number: %s\n", selectedCall->_peer_number); + gtk_clipboard_set_text(clip, selectedCall->_peer_number, + strlen(selectedCall->_peer_number)); } // The menu Edit/Paste should paste the clipboard into the current selected call static void -edit_paste (void * foo UNUSED) +edit_paste(void * foo UNUSED) { - - GtkClipboard* clip = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD); - callable_obj_t * selectedCall = calltab_get_selected_call (current_calls); - gchar * no = gtk_clipboard_wait_for_text (clip); + GtkClipboard* clip = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD); + callable_obj_t * selectedCall = calltab_get_selected_call(current_calls); + gchar * no = gtk_clipboard_wait_for_text(clip); if (no && selectedCall) { switch (selectedCall->_state) { - case CALL_STATE_TRANSFERT: + case CALL_STATE_TRANSFER: case CALL_STATE_DIALING: - // Add the text to the number { + /* Add the text to the number */ gchar *before = selectedCall->_peer_number; - DEBUG ("TO: %s\n", before); - selectedCall->_peer_number = g_strconcat (before, no, NULL); - g_free (before); + DEBUG("TO: %s\n", before); + selectedCall->_peer_number = g_strconcat(before, no, NULL); + g_free(before); if (selectedCall->_state == CALL_STATE_DIALING) - selectedCall->_peer_info = g_strconcat ("\"\" <", + selectedCall->_peer_info = g_strconcat("\"\" <", selectedCall->_peer_number, ">", NULL); - calltree_update_call (current_calls, selectedCall, NULL); + calltree_update_call(current_calls, selectedCall, NULL); } break; case CALL_STATE_RINGING: @@ -931,36 +860,33 @@ edit_paste (void * foo UNUSED) case CALL_STATE_HOLD: { // Create a new call to hold the new text selectedCall = sflphone_new_call(); - g_free (selectedCall->_peer_number); - selectedCall->_peer_number = g_strconcat (selectedCall->_peer_number, + g_free(selectedCall->_peer_number); + selectedCall->_peer_number = g_strconcat(selectedCall->_peer_number, no, NULL); - DEBUG ("TO: %s", selectedCall->_peer_number); + DEBUG("TO: %s", selectedCall->_peer_number); - g_free (selectedCall->_peer_info); - selectedCall->_peer_info = g_strconcat ("\"\" <", + g_free(selectedCall->_peer_info); + selectedCall->_peer_info = g_strconcat("\"\" <", selectedCall->_peer_number, ">", NULL); - calltree_update_call (current_calls, selectedCall, NULL); + calltree_update_call(current_calls, selectedCall, NULL); } break; case CALL_STATE_CURRENT: case CALL_STATE_RECORD: default: { - unsigned int i; - - for (i = 0; i < strlen (no); i++) { - gchar * oneNo = g_strndup (&no[i], 1); - DEBUG ("<%s>", oneNo); - dbus_play_dtmf (oneNo); + for(unsigned i = 0; i < strlen(no); i++) { + gchar * oneNo = g_strndup(&no[i], 1); + DEBUG("<%s>", oneNo); + dbus_play_dtmf(oneNo); - gchar * temp = g_strconcat (selectedCall->_peer_number, oneNo, + gchar * temp = g_strconcat(selectedCall->_peer_number, oneNo, NULL); - g_free (selectedCall->_peer_info); - selectedCall->_peer_info = get_peer_info (temp, selectedCall->_peer_name); - g_free (temp); - g_free (oneNo); - calltree_update_call (current_calls, selectedCall, NULL); - + g_free(selectedCall->_peer_info); + selectedCall->_peer_info = get_peer_info(temp, selectedCall->_peer_name); + g_free(temp); + g_free(oneNo); + calltree_update_call(current_calls, selectedCall, NULL); } } break; @@ -969,29 +895,29 @@ edit_paste (void * foo UNUSED) selectedCall = sflphone_new_call(); gchar * before = selectedCall->_peer_number; - gchar *new_peer_number = g_strconcat (selectedCall->_peer_number, no, + gchar *new_peer_number = g_strconcat(selectedCall->_peer_number, no, NULL); - g_free (selectedCall->_peer_number); + g_free(selectedCall->_peer_number); selectedCall->_peer_number = new_peer_number; - g_free (before); - DEBUG ("UIManager: TO: %s", selectedCall->_peer_number); + g_free(before); + DEBUG("UIManager: TO: %s", selectedCall->_peer_number); - g_free (selectedCall->_peer_info); - selectedCall->_peer_info = g_strconcat ("\"\" <", + g_free(selectedCall->_peer_info); + selectedCall->_peer_info = g_strconcat("\"\" <", selectedCall->_peer_number, ">", NULL); - calltree_update_call (current_calls, selectedCall, NULL); + calltree_update_call(current_calls, selectedCall, NULL); } - g_free (no); + g_free(no); } static void -clear_history (void) +clear_history(void) { if (conferencelist_get_size(history) != 0) conferencelist_clean_history(); - if (calllist_get_size (history) != 0) + if (calllist_get_size(history) != 0) calllist_clean_history(); } @@ -1001,246 +927,244 @@ clear_history (void) static void call_transfer_cb() { - gboolean active = gtk_toggle_tool_button_get_active ( - GTK_TOGGLE_TOOL_BUTTON (transferToolbar)); - active ? sflphone_set_transfert() : sflphone_unset_transfert(); + if (gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(transferToolbar_))) + sflphone_set_transfer(); + else + sflphone_unset_transfer(); } static void -call_mailbox_cb (void) +call_mailbox_cb(void) { - account_t* current; - callable_obj_t *mailbox_call; - gchar *to, *account_id; - - current = account_list_get_current(); + account_t *current = account_list_get_current(); if (current == NULL) // Should not happens return; - to = g_strdup (g_hash_table_lookup (current->properties, ACCOUNT_MAILBOX)); - account_id = g_strdup (current->accountID); + const gchar * const to = g_hash_table_lookup(current->properties, ACCOUNT_MAILBOX); + const gchar * const account_id = g_strdup(current->accountID); - mailbox_call = create_new_call (CALL, CALL_STATE_DIALING, "", account_id, _ ("Voicemail"), to); - g_free (to); - g_free (account_id); - DEBUG ("TO : %s" , mailbox_call->_peer_number); - calllist_add_call (current_calls, mailbox_call); - calltree_add_call (current_calls, mailbox_call, NULL); + callable_obj_t *mailbox_call = create_new_call(CALL, CALL_STATE_DIALING, + "", account_id, + _("Voicemail"), to); + DEBUG("TO : %s" , mailbox_call->_peer_number); + calllist_add_call(current_calls, mailbox_call); + calltree_add_call(current_calls, mailbox_call, NULL); update_actions(); - sflphone_place_call (mailbox_call); - calltree_display (current_calls); + sflphone_place_call(mailbox_call); + calltree_display(current_calls); } static void -toggle_history_cb (GtkToggleAction *action, gpointer user_data UNUSED) +toggle_history_cb(GtkToggleAction *action, gpointer user_data UNUSED) { - gboolean toggle; - toggle = gtk_toggle_action_get_active (action); - (toggle) ? calltree_display (history) : calltree_display (current_calls); + if (gtk_toggle_action_get_active(action)) + calltree_display(history); + else + calltree_display(current_calls); } static void -toggle_addressbook_cb (GtkToggleAction *action, gpointer user_data UNUSED) +toggle_addressbook_cb(GtkToggleAction *action, gpointer user_data UNUSED) { - gboolean toggle; - toggle = gtk_toggle_action_get_active (action); - (toggle) ? calltree_display (contacts) : calltree_display (current_calls); + if (gtk_toggle_action_get_active(action)) + calltree_display(contacts); + else + calltree_display(current_calls); } static const GtkActionEntry menu_entries[] = { // Call Menu - { "Call", NULL, N_ ("Call"), NULL, NULL, NULL}, - { "NewCall", GTK_STOCK_DIAL, N_ ("_New call"), "<control>N", - N_ ("Place a new call"), G_CALLBACK (call_new_call) }, - { "PickUp", GTK_STOCK_PICKUP, N_ ("_Pick up"), NULL, - N_ ("Answer the call"), G_CALLBACK (call_pick_up) }, - { "HangUp", GTK_STOCK_HANGUP, N_ ("_Hang up"), "<control>S", - N_ ("Finish the call"), G_CALLBACK (call_hang_up) }, - { "OnHold", GTK_STOCK_ONHOLD, N_ ("O_n hold"), "<control>P", - N_ ("Place the call on hold"), G_CALLBACK (call_hold) }, - { "OffHold", GTK_STOCK_OFFHOLD, N_ ("O_ff hold"), "<control>P", - N_ ("Place the call off hold"), G_CALLBACK (call_hold) }, - { "InstantMessaging", GTK_STOCK_IM, N_ ("Send _message"), "<control>M", - N_ ("Send message"), G_CALLBACK (call_im) }, - { "AccountAssistant", NULL, N_ ("Configuration _Assistant"), NULL, - N_ ("Run the configuration assistant"), G_CALLBACK (call_configuration_assistant) }, - { "Voicemail", "mail-read", N_ ("Voicemail"), NULL, - N_ ("Call your voicemail"), G_CALLBACK (call_mailbox_cb) }, - { "Close", GTK_STOCK_CLOSE, N_ ("_Close"), "<control>W", - N_ ("Minimize to system tray"), G_CALLBACK (call_minimize) }, - { "Quit", GTK_STOCK_CLOSE, N_ ("_Quit"), "<control>Q", - N_ ("Quit the program"), G_CALLBACK (call_quit) }, - { "StartPlaybackRecord", GTK_STOCK_MEDIA_PLAY, N_ ("_Playback record"), NULL, - N_ ("Playback recorded file"), G_CALLBACK (start_playback_record_cb) }, - { "StopPlaybackRecord", GTK_STOCK_MEDIA_PAUSE, N_ ("_Stop playback"), NULL, - N_ ("Stop recorded file playback"), G_CALLBACK (stop_playback_record_cb) }, + { "Call", NULL, N_("Call"), NULL, NULL, NULL}, + { "NewCall", GTK_STOCK_DIAL, N_("_New call"), "<control>N", + N_("Place a new call"), G_CALLBACK(call_new_call) }, + { "PickUp", GTK_STOCK_PICKUP, N_("_Pick up"), NULL, + N_("Answer the call"), G_CALLBACK(call_pick_up) }, + { "HangUp", GTK_STOCK_HANGUP, N_("_Hang up"), "<control>S", + N_("Finish the call"), G_CALLBACK(call_hang_up) }, + { "OnHold", GTK_STOCK_ONHOLD, N_("O_n hold"), "<control>P", + N_("Place the call on hold"), G_CALLBACK(call_hold) }, + { "OffHold", GTK_STOCK_OFFHOLD, N_("O_ff hold"), "<control>P", + N_("Place the call off hold"), G_CALLBACK(call_hold) }, + { "InstantMessaging", GTK_STOCK_IM, N_("Send _message"), "<control>M", + N_("Send message"), G_CALLBACK(call_im) }, + { "AccountAssistant", NULL, N_("Configuration _Assistant"), NULL, + N_("Run the configuration assistant"), G_CALLBACK(call_configuration_assistant) }, + { "Voicemail", "mail-read", N_("Voicemail"), NULL, + N_("Call your voicemail"), G_CALLBACK(call_mailbox_cb) }, + { "Close", GTK_STOCK_CLOSE, N_("_Close"), "<control>W", + N_("Minimize to system tray"), G_CALLBACK(call_minimize) }, + { "Quit", GTK_STOCK_CLOSE, N_("_Quit"), "<control>Q", + N_("Quit the program"), G_CALLBACK(call_quit) }, + { "StartPlaybackRecord", GTK_STOCK_MEDIA_PLAY, N_("_Playback record"), NULL, + N_("Playback recorded file"), G_CALLBACK(start_playback_record_cb) }, + { "StopPlaybackRecord", GTK_STOCK_MEDIA_PAUSE, N_("_Stop playback"), NULL, + N_("Stop recorded file playback"), G_CALLBACK(stop_playback_record_cb) }, // Edit Menu - { "Edit", NULL, N_ ("_Edit"), NULL, NULL, NULL }, - { "Copy", GTK_STOCK_COPY, N_ ("_Copy"), "<control>C", - N_ ("Copy the selection"), G_CALLBACK (edit_copy) }, - { "Paste", GTK_STOCK_PASTE, N_ ("_Paste"), "<control>V", - N_ ("Paste the clipboard"), G_CALLBACK (edit_paste) }, - { "ClearHistory", GTK_STOCK_CLEAR, N_ ("Clear _history"), NULL, - N_ ("Clear the call history"), G_CALLBACK (clear_history) }, - { "Accounts", NULL, N_ ("_Accounts"), NULL, - N_ ("Edit your accounts"), G_CALLBACK (edit_accounts) }, - { "Preferences", GTK_STOCK_PREFERENCES, N_ ("_Preferences"), NULL, - N_ ("Change your preferences"), G_CALLBACK (edit_preferences) + { "Edit", NULL, N_("_Edit"), NULL, NULL, NULL }, + { "Copy", GTK_STOCK_COPY, N_("_Copy"), "<control>C", + N_("Copy the selection"), G_CALLBACK(edit_copy) }, + { "Paste", GTK_STOCK_PASTE, N_("_Paste"), "<control>V", + N_("Paste the clipboard"), G_CALLBACK(edit_paste) }, + { "ClearHistory", GTK_STOCK_CLEAR, N_("Clear _history"), NULL, + N_("Clear the call history"), G_CALLBACK(clear_history) }, + { "Accounts", NULL, N_("_Accounts"), NULL, + N_("Edit your accounts"), G_CALLBACK(edit_accounts) }, + { "Preferences", GTK_STOCK_PREFERENCES, N_("_Preferences"), NULL, + N_("Change your preferences"), G_CALLBACK(edit_preferences) }, // View Menu - { "View", NULL, N_ ("_View"), NULL, NULL, NULL}, + { "View", NULL, N_("_View"), NULL, NULL, NULL}, // Help menu - { "Help", NULL, N_ ("_Help"), NULL, NULL, NULL }, - { "HelpContents", GTK_STOCK_HELP, N_ ("Contents"), "F1", - N_ ("Open the manual"), G_CALLBACK (help_contents_cb) }, - { "About", GTK_STOCK_ABOUT, NULL, NULL, - N_ ("About this application"), G_CALLBACK (help_about) } + { "Help", NULL, N_("_Help"), NULL, NULL, NULL }, + { "HelpContents", GTK_STOCK_HELP, N_("Contents"), "F1", + N_("Open the manual"), G_CALLBACK(help_contents_cb) }, + { "About", GTK_STOCK_ABOUT, NULL, NULL, + N_("About this application"), G_CALLBACK(help_about) } }; static const GtkToggleActionEntry toggle_menu_entries[] = { - { "Transfer", GTK_STOCK_TRANSFER, N_ ("_Transfer"), "<control>T", N_ ("Transfer the call"), NULL, TRUE }, - { "Record", GTK_STOCK_MEDIA_RECORD, N_ ("_Record"), "<control>R", N_ ("Record the current conversation"), NULL, TRUE }, - { "Toolbar", NULL, N_ ("_Show toolbar"), "<control>T", N_ ("Show the toolbar"), NULL, TRUE }, - { "Dialpad", NULL, N_ ("_Dialpad"), "<control>D", N_ ("Show the dialpad"), G_CALLBACK (dialpad_bar_cb), TRUE }, - { "VolumeControls", NULL, N_ ("_Volume controls"), "<control>V", N_ ("Show the volume controls"), G_CALLBACK (volume_bar_cb), TRUE }, - { "History", "appointment-soon", N_ ("_History"), NULL, N_ ("Calls history"), G_CALLBACK (toggle_history_cb), FALSE }, - { "Addressbook", GTK_STOCK_ADDRESSBOOK, N_ ("_Address book"), NULL, N_ ("Address book"), G_CALLBACK (toggle_addressbook_cb), FALSE } + { "Transfer", GTK_STOCK_TRANSFER, N_("_Transfer"), "<control>T", N_("Transfer the call"), NULL, TRUE }, + { "Record", GTK_STOCK_MEDIA_RECORD, N_("_Record"), "<control>R", N_("Record the current conversation"), NULL, TRUE }, + { "Toolbar", NULL, N_("_Show toolbar"), "<control>T", N_("Show the toolbar"), NULL, TRUE }, + { "Dialpad", NULL, N_("_Dialpad"), "<control>D", N_("Show the dialpad"), G_CALLBACK(dialpad_bar_cb), TRUE }, + { "VolumeControls", NULL, N_("_Volume controls"), "<control>V", N_("Show the volume controls"), G_CALLBACK(volume_bar_cb), TRUE }, + { "History", "appointment-soon", N_("_History"), NULL, N_("Calls history"), G_CALLBACK(toggle_history_cb), FALSE }, + { "Addressbook", GTK_STOCK_ADDRESSBOOK, N_("_Address book"), NULL, N_("Address book"), G_CALLBACK(toggle_addressbook_cb), FALSE } }; -GtkUIManager *uimanager_new (void) +GtkUIManager *uimanager_new(void) { - guint manager_id; - GError *error = NULL; - gint nb_entries = abookfactory_is_addressbook_loaded() ? 7 : 6; GtkWidget *window = get_main_window(); GtkUIManager *ui_manager = gtk_ui_manager_new(); /* Create an accel group for window's shortcuts */ - gchar *path = g_build_filename (SFLPHONE_UIDIR_UNINSTALLED, "./ui.xml", NULL); - if (g_file_test (path, G_FILE_TEST_EXISTS)) { - manager_id = gtk_ui_manager_add_ui_from_file (ui_manager, path, &error); + gchar *path = g_build_filename(SFLPHONE_UIDIR_UNINSTALLED, "./ui.xml", NULL); + guint manager_id; + GError *error = NULL; + if (g_file_test(path, G_FILE_TEST_EXISTS)) { + manager_id = gtk_ui_manager_add_ui_from_file(ui_manager, path, &error); } else { - g_free (path); - path = g_build_filename (SFLPHONE_UIDIR, "./ui.xml", NULL); - if (!g_file_test (path, G_FILE_TEST_EXISTS)) + g_free(path); + path = g_build_filename(SFLPHONE_UIDIR, "./ui.xml", NULL); + if (!g_file_test(path, G_FILE_TEST_EXISTS)) goto fail; - manager_id = gtk_ui_manager_add_ui_from_file (ui_manager, path, &error); + manager_id = gtk_ui_manager_add_ui_from_file(ui_manager, path, &error); } if (error) goto fail; - g_free (path); - - if(abookfactory_is_addressbook_loaded()) { - // These actions must be loaded dynamically and is not specified in the xml description - gtk_ui_manager_add_ui(ui_manager, manager_id, "/ViewMenu", - "Addressbook", - "Addressbook", - GTK_UI_MANAGER_MENUITEM, FALSE); + g_free(path); + + if (abookfactory_is_addressbook_loaded()) { + // These actions must be loaded dynamically and is not specified in the xml description + gtk_ui_manager_add_ui(ui_manager, manager_id, "/ViewMenu", + "Addressbook", + "Addressbook", + GTK_UI_MANAGER_MENUITEM, FALSE); gtk_ui_manager_add_ui(ui_manager, manager_id, "/ToolbarActions", "AddressbookToolbar", "Addressbook", - GTK_UI_MANAGER_TOOLITEM, FALSE); + GTK_UI_MANAGER_TOOLITEM, FALSE); } - - GtkActionGroup *action_group = gtk_action_group_new ("SFLphoneWindowActions"); + + GtkActionGroup *action_group = gtk_action_group_new("SFLphoneWindowActions"); // To translate label and tooltip entries - gtk_action_group_set_translation_domain (action_group, "sflphone-client-gnome"); - gtk_action_group_add_actions (action_group, menu_entries, G_N_ELEMENTS (menu_entries), window); - gtk_action_group_add_toggle_actions (action_group, toggle_menu_entries, nb_entries, window); - //gtk_action_group_add_radio_actions (action_group, radio_menu_entries, G_N_ELEMENTS (radio_menu_entries), CALLTREE_CALLS, G_CALLBACK (calltree_switch_cb), window); - gtk_ui_manager_insert_action_group (ui_manager, action_group, 0); + gtk_action_group_set_translation_domain(action_group, "sflphone-client-gnome"); + gtk_action_group_add_actions(action_group, menu_entries, G_N_ELEMENTS(menu_entries), window); + gtk_action_group_add_toggle_actions(action_group, toggle_menu_entries, nb_entries, window); + //gtk_action_group_add_radio_actions(action_group, radio_menu_entries, G_N_ELEMENTS(radio_menu_entries), CALLTREE_CALLS, G_CALLBACK(calltree_switch_cb), window); + gtk_ui_manager_insert_action_group(ui_manager, action_group, 0); return ui_manager; fail: if (error) - g_error_free (error); + g_error_free(error); - g_free (path); - g_free (ui_manager); + g_free(path); + g_free(ui_manager); return NULL; } static void -edit_number_cb (GtkWidget *widget UNUSED, gpointer user_data) +edit_number_cb(GtkWidget *widget UNUSED, gpointer user_data) { - - show_edit_number ( (callable_obj_t*) user_data); + show_edit_number((callable_obj_t*) user_data); } void -add_registered_accounts_to_menu (GtkWidget *menu) +add_registered_accounts_to_menu(GtkWidget *menu) { + GtkWidget *separator = gtk_separator_menu_item_new(); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), separator); + gtk_widget_show(separator); - GtkWidget *menu_items; - unsigned int i; - account_t* acc, *current; - gchar* alias; - - menu_items = gtk_separator_menu_item_new(); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - gtk_widget_show (menu_items); - - for (i = 0; i < account_list_get_size(); i++) { - acc = account_list_get_nth (i); + for(unsigned i = 0; i != account_list_get_size(); i++) { + account_t *acc = account_list_get_nth(i); // Display only the registered accounts - if (g_strcasecmp (account_state_name (acc->state), account_state_name ( + if (g_strcasecmp(account_state_name(acc->state), account_state_name( ACCOUNT_STATE_REGISTERED)) == 0) { - alias = g_strconcat (g_hash_table_lookup (acc->properties, - ACCOUNT_ALIAS), " - ", g_hash_table_lookup (acc->properties, - ACCOUNT_TYPE), NULL); - menu_items = gtk_check_menu_item_new_with_mnemonic (alias); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_object_set_data (G_OBJECT (menu_items), "account", acc); - g_free (alias); - current = account_list_get_current(); + gchar *alias = g_strconcat(g_hash_table_lookup(acc->properties, ACCOUNT_ALIAS), + " - ", + g_hash_table_lookup(acc->properties, ACCOUNT_TYPE), + NULL); + GtkWidget *menu_items = gtk_check_menu_item_new_with_mnemonic(alias); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_items); + g_object_set_data(G_OBJECT(menu_items), "account", acc); + g_free(alias); + account_t *current = account_list_get_current(); if (current) { - gtk_check_menu_item_set_active ( - GTK_CHECK_MENU_ITEM (menu_items), - (g_strcasecmp (acc->accountID, current->accountID) == 0) ? TRUE - : FALSE); + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_items), + g_strcasecmp(acc->accountID, current->accountID) == 0); } - g_signal_connect (G_OBJECT (menu_items), "activate", - G_CALLBACK (switch_account), + g_signal_connect(G_OBJECT(menu_items), "activate", + G_CALLBACK(switch_account), NULL); - gtk_widget_show (menu_items); - } // fi + gtk_widget_show(menu_items); + } } +} +static void menu_popup_wrapper(GtkWidget *menu, GtkWidget *my_widget, GdkEventButton *event) +{ + gtk_menu_attach_to_widget(GTK_MENU(menu), my_widget, NULL); + if (event) + gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, event->button, + event->time); + else + gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, 0, + gtk_get_current_event_time()); } void -show_popup_menu (GtkWidget *my_widget, GdkEventButton *event) +show_popup_menu(GtkWidget *my_widget, GdkEventButton *event) { // TODO update the selection to make sure the call under the mouse is the call selected - - // call type boolean gboolean pickup = FALSE, hangup = FALSE, hold = FALSE, copy = FALSE, record = FALSE, im = FALSE; gboolean accounts = FALSE; // conference type boolean - gboolean hangup_conf = FALSE, hold_conf = FALSE; + gboolean hangup_or_hold_conf = FALSE; callable_obj_t * selectedCall = NULL; conference_obj_t * selectedConf; - if (calltab_get_selected_type (current_calls) == A_CALL) { - DEBUG ("UIManager: Menus: Selected a call"); - selectedCall = calltab_get_selected_call (current_calls); + if (calltab_get_selected_type(current_calls) == A_CALL) { + DEBUG("UIManager: Menus: Selected a call"); + selectedCall = calltab_get_selected_call(current_calls); if (selectedCall) { copy = TRUE; @@ -1274,32 +1198,30 @@ show_popup_menu (GtkWidget *my_widget, GdkEventButton *event) hangup = TRUE; break; default: - WARN ("UIManager: Should not happen in show_popup_menu for calls!") + WARN("UIManager: Should not happen in show_popup_menu for calls!") ; break; } } } else { - DEBUG ("UIManager: Menus: selected a conf"); + DEBUG("UIManager: Menus: selected a conf"); selectedConf = calltab_get_selected_conf(active_calltree); if (selectedConf) { switch (selectedConf->_state) { case CONFERENCE_STATE_ACTIVE_ATACHED: case CONFERENCE_STATE_ACTIVE_ATTACHED_RECORD: - hangup_conf = TRUE; - hold_conf = TRUE; + hangup_or_hold_conf = TRUE; break; case CONFERENCE_STATE_ACTIVE_DETACHED: case CONFERENCE_STATE_ACTIVE_DETACHED_RECORD: break; case CONFERENCE_STATE_HOLD: case CONFERENCE_STATE_HOLD_RECORD: - hangup_conf = TRUE; - hold_conf = TRUE; + hangup_or_hold_conf = TRUE; break; default: - WARN ("UIManager: Should not happen in show_popup_menu for conferences!") + WARN("UIManager: Should not happen in show_popup_menu for conferences!") ; break; } @@ -1307,168 +1229,142 @@ show_popup_menu (GtkWidget *my_widget, GdkEventButton *event) } - GtkWidget *menu; - GtkWidget *image; - int button, event_time; - GtkWidget * menu_items; - - menu = gtk_menu_new(); - - //g_signal_connect (menu, "deactivate", - // G_CALLBACK (gtk_widget_destroy), NULL); - if (calltab_get_selected_type (current_calls) == A_CALL) { - DEBUG ("UIManager: Build call menu"); + GtkWidget *menu = gtk_menu_new(); + if (calltab_get_selected_type(current_calls) == A_CALL) { + DEBUG("UIManager: Build call menu"); if (copy) { - menu_items = gtk_image_menu_item_new_from_stock (GTK_STOCK_COPY, - get_accel_group()); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_signal_connect (G_OBJECT (menu_items), "activate", - G_CALLBACK (edit_copy), - NULL); - gtk_widget_show (menu_items); + GtkWidget *menu_items = gtk_image_menu_item_new_from_stock(GTK_STOCK_COPY, + get_accel_group()); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_items); + g_signal_connect(G_OBJECT(menu_items), "activate", + G_CALLBACK(edit_copy), + NULL); + gtk_widget_show(menu_items); } - menu_items = gtk_image_menu_item_new_from_stock (GTK_STOCK_PASTE, - get_accel_group()); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_signal_connect (G_OBJECT (menu_items), "activate", - G_CALLBACK (edit_paste), + GtkWidget *paste = gtk_image_menu_item_new_from_stock(GTK_STOCK_PASTE, + get_accel_group()); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), paste); + g_signal_connect(G_OBJECT(paste), "activate", G_CALLBACK(edit_paste), NULL); - gtk_widget_show (menu_items); + gtk_widget_show(paste); if (pickup || hangup || hold) { - menu_items = gtk_separator_menu_item_new(); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - gtk_widget_show (menu_items); + GtkWidget *menu_items = gtk_separator_menu_item_new(); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_items); + gtk_widget_show(menu_items); } if (pickup) { - - menu_items = gtk_image_menu_item_new_with_mnemonic (_ ("_Pick up")); - image = gtk_image_new_from_file (ICONS_DIR "/icon_accept.svg"); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_items), image); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_signal_connect (G_OBJECT (menu_items), "activate", - G_CALLBACK (call_pick_up), + GtkWidget *menu_items = gtk_image_menu_item_new_with_mnemonic(_("_Pick up")); + GtkWidget *image = gtk_image_new_from_file(ICONS_DIR "/icon_accept.svg"); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_items), image); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_items); + g_signal_connect(G_OBJECT(menu_items), "activate", + G_CALLBACK(call_pick_up), NULL); - gtk_widget_show (menu_items); + gtk_widget_show(menu_items); } if (hangup) { - menu_items = gtk_image_menu_item_new_with_mnemonic (_ ("_Hang up")); - image = gtk_image_new_from_file (ICONS_DIR "/icon_hangup.svg"); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_items), image); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_signal_connect (G_OBJECT (menu_items), "activate", - G_CALLBACK (call_hang_up), + GtkWidget *menu_items = gtk_image_menu_item_new_with_mnemonic(_("_Hang up")); + GtkWidget *image = gtk_image_new_from_file(ICONS_DIR "/icon_hangup.svg"); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_items), image); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_items); + g_signal_connect(G_OBJECT(menu_items), "activate", + G_CALLBACK(call_hang_up), NULL); - gtk_widget_show (menu_items); + gtk_widget_show(menu_items); } if (hold) { - menu_items = gtk_check_menu_item_new_with_mnemonic (_ ("On _Hold")); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menu_items), - (selectedCall->_state == CALL_STATE_HOLD ? TRUE : FALSE)); - g_signal_connect (G_OBJECT (menu_items), "activate", - G_CALLBACK (call_hold), + GtkWidget *menu_items = gtk_check_menu_item_new_with_mnemonic(_("On _Hold")); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_items); + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_items), + (selectedCall->_state == CALL_STATE_HOLD)); + g_signal_connect(G_OBJECT(menu_items), "activate", + G_CALLBACK(call_hold), NULL); - gtk_widget_show (menu_items); + gtk_widget_show(menu_items); } if (record) { - menu_items = gtk_image_menu_item_new_with_mnemonic (_ ("_Record")); - image = gtk_image_new_from_stock (GTK_STOCK_MEDIA_RECORD, + GtkWidget *menu_items = gtk_image_menu_item_new_with_mnemonic(_("_Record")); + GtkWidget *image = gtk_image_new_from_stock(GTK_STOCK_MEDIA_RECORD, GTK_ICON_SIZE_MENU); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_items), image); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_signal_connect (G_OBJECT (menu_items), "activate", - G_CALLBACK (call_record), + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_items), image); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_items); + g_signal_connect(G_OBJECT(menu_items), "activate", + G_CALLBACK(call_record), NULL); - gtk_widget_show (menu_items); + gtk_widget_show(menu_items); } if (im) { - // do not display message if instant messaging is disabled gboolean instant_messaging_enabled = TRUE; - if (eel_gconf_key_exists (INSTANT_MESSAGING_ENABLED)) - instant_messaging_enabled = eel_gconf_get_integer (INSTANT_MESSAGING_ENABLED); + if (eel_gconf_key_exists(INSTANT_MESSAGING_ENABLED)) + instant_messaging_enabled = eel_gconf_get_integer(INSTANT_MESSAGING_ENABLED); if (instant_messaging_enabled) { - - menu_items = gtk_separator_menu_item_new(); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - gtk_widget_show (menu_items); - - menu_items = gtk_image_menu_item_new_with_mnemonic (_ ("Send _message")); - image = gtk_image_new_from_stock (GTK_STOCK_IM, GTK_ICON_SIZE_MENU); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_items), image); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_signal_connect (G_OBJECT (menu_items), "activate", - G_CALLBACK (call_im), + GtkWidget *menu_items = gtk_separator_menu_item_new(); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_items); + gtk_widget_show(menu_items); + + menu_items = gtk_image_menu_item_new_with_mnemonic(_("Send _message")); + GtkWidget *image = gtk_image_new_from_stock(GTK_STOCK_IM, GTK_ICON_SIZE_MENU); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_items), image); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_items); + g_signal_connect(G_OBJECT(menu_items), "activate", + G_CALLBACK(call_im), NULL); - gtk_widget_show (menu_items); + gtk_widget_show(menu_items); } } } else { - DEBUG ("UIManager: Build conf menus"); - - if (hangup_conf) { - menu_items = gtk_image_menu_item_new_with_mnemonic (_ ("_Hang up")); - image = gtk_image_new_from_file (ICONS_DIR "/icon_hangup.svg"); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_items), image); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_signal_connect (G_OBJECT (menu_items), "activate", - G_CALLBACK (conference_hang_up), + DEBUG("UIManager: Build conf menus"); + + if (hangup_or_hold_conf) { + GtkWidget *menu_items = gtk_image_menu_item_new_with_mnemonic(_("_Hang up")); + GtkWidget *image = gtk_image_new_from_file(ICONS_DIR "/icon_hangup.svg"); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_items), image); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_items); + g_signal_connect(G_OBJECT(menu_items), "activate", + G_CALLBACK(conference_hang_up), NULL); - gtk_widget_show (menu_items); - } - - if (hold_conf) { - menu_items = gtk_check_menu_item_new_with_mnemonic (_ ("On _Hold")); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menu_items), - (selectedConf->_state == CONFERENCE_STATE_HOLD ? TRUE : FALSE)); - g_signal_connect (G_OBJECT (menu_items), "activate", - G_CALLBACK (conference_hold), + gtk_widget_show(menu_items); + + menu_items = gtk_check_menu_item_new_with_mnemonic(_("On _Hold")); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_items); + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_items), + (selectedConf->_state == CONFERENCE_STATE_HOLD ? TRUE : FALSE)); + g_signal_connect(G_OBJECT(menu_items), "activate", + G_CALLBACK(conference_hold), NULL); - gtk_widget_show (menu_items); + gtk_widget_show(menu_items); } - } - if (accounts) { - add_registered_accounts_to_menu (menu); - } - - if (event) { - button = event->button; - event_time = event->time; - } else { - button = 0; - event_time = gtk_get_current_event_time(); - } + if (accounts) + add_registered_accounts_to_menu(menu); - gtk_menu_attach_to_widget (GTK_MENU (menu), my_widget, NULL); - gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, button, event_time); + menu_popup_wrapper(menu, my_widget, event); } void -show_popup_menu_history (GtkWidget *my_widget, GdkEventButton *event) +show_popup_menu_history(GtkWidget *my_widget, GdkEventButton *event) { - - DEBUG ("UIManager: Show popup menu history"); + DEBUG("UIManager: Show popup menu history"); gboolean pickup = FALSE; gboolean remove = FALSE; gboolean edit = FALSE; gboolean accounts = FALSE; - callable_obj_t * selectedCall = calltab_get_selected_call (history); + callable_obj_t * selectedCall = calltab_get_selected_call(history); if (selectedCall) { remove = TRUE; @@ -1477,347 +1373,221 @@ show_popup_menu_history (GtkWidget *my_widget, GdkEventButton *event) accounts = TRUE; } - GtkWidget *menu; - GtkWidget *image; - int button, event_time; - GtkWidget * menu_items; - - menu = gtk_menu_new(); - //g_signal_connect (menu, "deactivate", - // G_CALLBACK (gtk_widget_destroy), NULL); + GtkWidget *menu = gtk_menu_new(); if (pickup) { - - menu_items = gtk_image_menu_item_new_with_mnemonic (_ ("_Call back")); - image = gtk_image_new_from_file (ICONS_DIR "/icon_accept.svg"); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_items), image); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_signal_connect (G_OBJECT (menu_items), "activate",G_CALLBACK (call_back), NULL); - gtk_widget_show (menu_items); + GtkWidget *menu_items = gtk_image_menu_item_new_with_mnemonic(_("_Call back")); + GtkWidget *image = gtk_image_new_from_file(ICONS_DIR "/icon_accept.svg"); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_items), image); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_items); + g_signal_connect(G_OBJECT(menu_items), "activate", G_CALLBACK(call_back), NULL); + gtk_widget_show(menu_items); } - menu_items = gtk_separator_menu_item_new(); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - gtk_widget_show (menu_items); + GtkWidget *separator = gtk_separator_menu_item_new(); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), separator); + gtk_widget_show(separator); if (edit) { - menu_items = gtk_image_menu_item_new_from_stock (GTK_STOCK_EDIT, - get_accel_group()); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_signal_connect (G_OBJECT (menu_items), "activate",G_CALLBACK (edit_number_cb), selectedCall); - gtk_widget_show (menu_items); + GtkWidget *menu_items = gtk_image_menu_item_new_from_stock(GTK_STOCK_EDIT, + get_accel_group()); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_items); + g_signal_connect(G_OBJECT(menu_items), "activate", G_CALLBACK(edit_number_cb), selectedCall); + gtk_widget_show(menu_items); } if (remove) { - menu_items = gtk_image_menu_item_new_from_stock (GTK_STOCK_DELETE, - get_accel_group()); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_signal_connect (G_OBJECT (menu_items), "activate", G_CALLBACK (remove_from_history), NULL); - gtk_widget_show (menu_items); - } - - if (accounts) { - add_registered_accounts_to_menu (menu); + GtkWidget *menu_items = gtk_image_menu_item_new_from_stock(GTK_STOCK_DELETE, + get_accel_group()); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_items); + g_signal_connect(G_OBJECT(menu_items), "activate", G_CALLBACK(remove_from_history), NULL); + gtk_widget_show(menu_items); } - if (event) { - button = event->button; - event_time = event->time; - } else { - button = 0; - event_time = gtk_get_current_event_time(); - } + if (accounts) + add_registered_accounts_to_menu(menu); - gtk_menu_attach_to_widget (GTK_MENU (menu), my_widget, NULL); - gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, button, event_time); + menu_popup_wrapper(menu, my_widget, event); } -/* -void -show_popup_menu_addressbook (GtkWidget *my_widget, GdkEventButton *event) -{ - - if (selectedCall) { - remove = TRUE; - pickup = TRUE; - edit = TRUE; - accounts = TRUE; - } - - GtkWidget *menu; - GtkWidget *image; - int button, event_time; - GtkWidget * menu_items; - - menu = gtk_menu_new(); - //g_signal_connect (menu, "deactivate", - // G_CALLBACK (gtk_widget_destroy), NULL); - - if (pickup) { - - menu_items = gtk_image_menu_item_new_with_mnemonic (_ ("_Call back")); - image = gtk_image_new_from_file (ICONS_DIR "/icon_accept.svg"); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_items), image); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_signal_connect (G_OBJECT (menu_items), "activate",G_CALLBACK (call_back), NULL); - gtk_widget_show (menu_items); - } - - menu_items = gtk_separator_menu_item_new(); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - gtk_widget_show (menu_items); - - if (edit) { - menu_items = gtk_image_menu_item_new_from_stock (GTK_STOCK_EDIT, - get_accel_group()); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_signal_connect (G_OBJECT (menu_items), "activate",G_CALLBACK (edit_number_cb), selectedCall); - gtk_widget_show (menu_items); - } - - if (remove) { - menu_items = gtk_image_menu_item_new_from_stock (GTK_STOCK_DELETE, - get_accel_group()); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_signal_connect (G_OBJECT (menu_items), "activate", G_CALLBACK (remove_from_history), NULL); - gtk_widget_show (menu_items); - } - - if (accounts) { - add_registered_accounts_to_menu (menu); - } - - if (event) { - button = event->button; - event_time = event->time; - } else { - button = 0; - event_time = gtk_get_current_event_time(); - } - - gtk_menu_attach_to_widget (GTK_MENU (menu), my_widget, NULL); - gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, button, event_time); -} -*/ void -show_popup_menu_contacts (GtkWidget *my_widget, GdkEventButton *event) +show_popup_menu_contacts(GtkWidget *my_widget, GdkEventButton *event) { + callable_obj_t * selectedCall = calltab_get_selected_call(contacts); - gboolean pickup = FALSE; - gboolean accounts = FALSE; - gboolean edit = FALSE; - callable_obj_t * selectedCall = calltab_get_selected_call (contacts); + GtkWidget *menu = gtk_menu_new(); if (selectedCall) { - pickup = TRUE; - accounts = TRUE; - edit = TRUE; - } - - GtkWidget *menu; - GtkWidget *image; - int button, event_time; - GtkWidget * menu_items; - - menu = gtk_menu_new(); - //g_signal_connect (menu, "deactivate", - // G_CALLBACK (gtk_widget_destroy), NULL); - - if (pickup) { - - menu_items = gtk_image_menu_item_new_with_mnemonic (_ ("_New call")); - image = gtk_image_new_from_file (ICONS_DIR "/icon_accept.svg"); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_items), image); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_signal_connect (G_OBJECT (menu_items), "activate",G_CALLBACK (call_back), NULL); - gtk_widget_show (menu_items); - } - - if (edit) { - menu_items = gtk_image_menu_item_new_from_stock (GTK_STOCK_EDIT, - get_accel_group()); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); - g_signal_connect (G_OBJECT (menu_items), "activate",G_CALLBACK (edit_number_cb), selectedCall); - gtk_widget_show (menu_items); - } - - if (accounts) { - add_registered_accounts_to_menu (menu); - } - - if (event) { - button = event->button; - event_time = event->time; - } else { - button = 0; - event_time = gtk_get_current_event_time(); + GtkWidget *new_call = gtk_image_menu_item_new_with_mnemonic(_("_New call")); + GtkWidget *image = gtk_image_new_from_file(ICONS_DIR "/icon_accept.svg"); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(new_call), image); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), new_call); + g_signal_connect(new_call, "activate", G_CALLBACK(call_back), NULL); + gtk_widget_show(new_call); + + GtkWidget *edit = gtk_image_menu_item_new_from_stock(GTK_STOCK_EDIT, + get_accel_group()); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), edit); + g_signal_connect(edit, "activate", G_CALLBACK(edit_number_cb), selectedCall); + gtk_widget_show(edit); + + add_registered_accounts_to_menu(menu); } - gtk_menu_attach_to_widget (GTK_MENU (menu), my_widget, NULL); - gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, button, event_time); + menu_popup_wrapper(menu, my_widget, event); } static void -ok_cb (GtkWidget *widget UNUSED, gpointer userdata) +ok_cb(GtkWidget *widget UNUSED, gpointer userdata) { // Change the number of the selected call before calling - const gchar * const new_number = (gchar*) gtk_entry_get_text (GTK_ENTRY (editable_num)); - callable_obj_t *original = (callable_obj_t*) userdata; + const gchar * const new_number = gtk_entry_get_text(GTK_ENTRY(editable_num_)); + callable_obj_t *original =(callable_obj_t*) userdata; // Create the new call - callable_obj_t *modified_call = create_new_call (CALL, CALL_STATE_DIALING, "", original->_accountID, + callable_obj_t *modified_call = create_new_call(CALL, CALL_STATE_DIALING, "", original->_accountID, original->_peer_name, new_number); // Update the internal data structure and the GUI - calllist_add_call (current_calls, modified_call); - calltree_add_call (current_calls, modified_call, NULL); - sflphone_place_call (modified_call); - calltree_display (current_calls); + calllist_add_call(current_calls, modified_call); + calltree_add_call(current_calls, modified_call, NULL); + sflphone_place_call(modified_call); + calltree_display(current_calls); // Close the contextual menu - gtk_widget_destroy (GTK_WIDGET (edit_dialog)); + gtk_widget_destroy(edit_dialog_); } static void -on_delete (GtkWidget * widget) +on_delete(GtkWidget * widget) { - gtk_widget_destroy (widget); + gtk_widget_destroy(widget); } void -show_edit_number (callable_obj_t *call) +show_edit_number(callable_obj_t *call) { - - GtkWidget *ok, *hbox, *image; - GdkPixbuf *pixbuf; - - edit_dialog = GTK_DIALOG (gtk_dialog_new()); + edit_dialog_ = gtk_dialog_new(); // Set window properties - gtk_window_set_default_size (GTK_WINDOW (edit_dialog), 300, 20); - gtk_window_set_title (GTK_WINDOW (edit_dialog), _ ("Edit phone number")); - gtk_window_set_resizable (GTK_WINDOW (edit_dialog), FALSE); + gtk_window_set_default_size(GTK_WINDOW(edit_dialog_), 300, 20); + gtk_window_set_title(GTK_WINDOW(edit_dialog_), _("Edit phone number")); + gtk_window_set_resizable(GTK_WINDOW(edit_dialog_), FALSE); - g_signal_connect (G_OBJECT (edit_dialog), "delete-event", G_CALLBACK (on_delete), NULL); + g_signal_connect(G_OBJECT(edit_dialog_), "delete-event", G_CALLBACK(on_delete), NULL); - hbox = gtk_hbox_new (FALSE, 0); - gtk_box_pack_start (GTK_BOX (edit_dialog->vbox), hbox, TRUE, TRUE, 0); + GtkWidget *hbox = gtk_hbox_new(FALSE, 0); + gtk_box_pack_start(GTK_BOX(GTK_DIALOG(edit_dialog_)->vbox), hbox, TRUE, TRUE, 0); // Set the number to be edited - editable_num = gtk_entry_new(); + editable_num_ = gtk_entry_new(); #if GTK_CHECK_VERSION(2,12,0) - gtk_widget_set_tooltip_text (GTK_WIDGET (editable_num), - _ ("Edit the phone number before making a call")); + gtk_widget_set_tooltip_text(editable_num_, + _("Edit the phone number before making a call")); #endif if (call) - gtk_entry_set_text (GTK_ENTRY (editable_num), call->_peer_number); + gtk_entry_set_text(GTK_ENTRY(editable_num_), call->_peer_number); else - ERROR ("This a bug, the call should be defined. menus.c line 1051"); + ERROR("This a bug, the call should be defined. menus.c line 1051"); - gtk_box_pack_start (GTK_BOX (hbox), editable_num, TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX(hbox), editable_num_, TRUE, TRUE, 0); // Set a custom image for the button - pixbuf = gdk_pixbuf_new_from_file_at_scale (ICONS_DIR "/outgoing.svg", 32, 32, - TRUE, NULL); - image = gtk_image_new_from_pixbuf (pixbuf); - ok = gtk_button_new(); - gtk_button_set_image (GTK_BUTTON (ok), image); - gtk_box_pack_start (GTK_BOX (hbox), ok, TRUE, TRUE, 0); - g_signal_connect (G_OBJECT (ok), "clicked", G_CALLBACK (ok_cb), call); + GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file_at_scale(ICONS_DIR "/outgoing.svg", 32, 32, + TRUE, NULL); + GtkWidget *image = gtk_image_new_from_pixbuf(pixbuf); + GtkWidget *ok = gtk_button_new(); + gtk_button_set_image(GTK_BUTTON(ok), image); + gtk_box_pack_start(GTK_BOX(hbox), ok, TRUE, TRUE, 0); + g_signal_connect(ok, "clicked", G_CALLBACK(ok_cb), call); - gtk_widget_show_all (edit_dialog->vbox); - - gtk_dialog_run (edit_dialog); + gtk_widget_show_all(GTK_DIALOG(edit_dialog_)->vbox); + gtk_dialog_run(GTK_DIALOG(edit_dialog_)); } static GtkWidget* create_waiting_icon() { - GtkWidget * waiting_icon = gtk_image_menu_item_new_with_label (""); + GtkWidget * waiting_icon = gtk_image_menu_item_new_with_label(""); struct stat st; if (!stat(ICONS_DIR "/wait-on.gif", &st)) - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (waiting_icon), - gtk_image_new_from_animation (gdk_pixbuf_animation_new_from_file ( + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(waiting_icon), + gtk_image_new_from_animation(gdk_pixbuf_animation_new_from_file( ICONS_DIR "/wait-on.gif", NULL))); - gtk_menu_item_set_right_justified (GTK_MENU_ITEM (waiting_icon), TRUE); + gtk_menu_item_set_right_justified(GTK_MENU_ITEM(waiting_icon), TRUE); return waiting_icon; } GtkWidget * -create_menus (GtkUIManager *ui_manager) +create_menus(GtkUIManager *ui_manager) { - GtkAction *volumeToggle; - GtkWidget *menu_bar; - - menu_bar = gtk_ui_manager_get_widget (ui_manager, "/MenuBar"); - pickUpAction = gtk_ui_manager_get_action (ui_manager, "/MenuBar/CallMenu/PickUp"); - newCallAction = gtk_ui_manager_get_action (ui_manager, "/MenuBar/CallMenu/NewCall"); - hangUpAction = gtk_ui_manager_get_action (ui_manager, "/MenuBar/CallMenu/HangUp"); - holdMenu = gtk_ui_manager_get_widget (ui_manager, "/MenuBar/CallMenu/OnHoldMenu"); - recordAction = gtk_ui_manager_get_action (ui_manager, "/MenuBar/CallMenu/Record"); - imAction = gtk_ui_manager_get_action (ui_manager, "/MenuBar/CallMenu/InstantMessaging"); - copyAction = gtk_ui_manager_get_action (ui_manager, "/MenuBar/EditMenu/Copy"); - pasteAction = gtk_ui_manager_get_action (ui_manager, "/MenuBar/EditMenu/Paste"); - volumeToggle = gtk_ui_manager_get_action (ui_manager, "/MenuBar/ViewMenu/VolumeControls"); + GtkWidget *menu_bar = gtk_ui_manager_get_widget(ui_manager, "/MenuBar"); + pickUpAction_ = gtk_ui_manager_get_action(ui_manager, "/MenuBar/CallMenu/PickUp"); + newCallAction_ = gtk_ui_manager_get_action(ui_manager, "/MenuBar/CallMenu/NewCall"); + hangUpAction_ = gtk_ui_manager_get_action(ui_manager, "/MenuBar/CallMenu/HangUp"); + holdMenu_ = gtk_ui_manager_get_widget(ui_manager, "/MenuBar/CallMenu/OnHoldMenu"); + recordAction_ = gtk_ui_manager_get_action(ui_manager, "/MenuBar/CallMenu/Record"); + imAction_ = gtk_ui_manager_get_action(ui_manager, "/MenuBar/CallMenu/InstantMessaging"); + copyAction_ = gtk_ui_manager_get_action(ui_manager, "/MenuBar/EditMenu/Copy"); + pasteAction_ = gtk_ui_manager_get_action(ui_manager, "/MenuBar/EditMenu/Paste"); + volumeToggle_ = gtk_ui_manager_get_action(ui_manager, "/MenuBar/ViewMenu/VolumeControls"); // Set the toggle buttons - gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (gtk_ui_manager_get_action (ui_manager, "/MenuBar/ViewMenu/Dialpad")), eel_gconf_get_boolean (CONF_SHOW_DIALPAD)); - gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (volumeToggle), (gboolean) SHOW_VOLUME); - gtk_action_set_sensitive (GTK_ACTION (volumeToggle), must_show_alsa_conf()); - gtk_action_set_sensitive (GTK_ACTION (gtk_ui_manager_get_action (ui_manager, "/MenuBar/ViewMenu/Toolbar")), FALSE); - + gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(gtk_ui_manager_get_action(ui_manager, "/MenuBar/ViewMenu/Dialpad")), eel_gconf_get_boolean(CONF_SHOW_DIALPAD)); + gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(volumeToggle_),(gboolean) SHOW_VOLUME); + gtk_action_set_sensitive(volumeToggle_, must_show_alsa_conf()); + gtk_action_set_sensitive(gtk_ui_manager_get_action(ui_manager, "/MenuBar/ViewMenu/Toolbar"), FALSE); /* Add the loading icon at the right of the toolbar. It is used for addressbook searches. */ - waitingLayer = create_waiting_icon (); - gtk_menu_shell_append (GTK_MENU_SHELL (menu_bar), waitingLayer); + waitingLayer = create_waiting_icon(); + gtk_menu_shell_append(GTK_MENU_SHELL(menu_bar), waitingLayer); return menu_bar; } GtkWidget * -create_toolbar_actions (GtkUIManager *ui_manager) +create_toolbar_actions(GtkUIManager *ui_manager) { - toolbar = gtk_ui_manager_get_widget (ui_manager, "/ToolbarActions"); + toolbar_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions"); - holdToolbar = gtk_ui_manager_get_widget (ui_manager, + holdToolbar_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions/OnHoldToolbar"); - offHoldToolbar = gtk_ui_manager_get_widget (ui_manager, + offHoldToolbar_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions/OffHoldToolbar"); - transferToolbar = gtk_ui_manager_get_widget (ui_manager, + transferToolbar_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions/TransferToolbar"); - voicemailAction = gtk_ui_manager_get_action (ui_manager, + voicemailAction_ = gtk_ui_manager_get_action(ui_manager, "/ToolbarActions/Voicemail"); - voicemailToolbar = gtk_ui_manager_get_widget (ui_manager, + voicemailToolbar_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions/VoicemailToolbar"); - newCallWidget = gtk_ui_manager_get_widget (ui_manager, + newCallWidget_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions/NewCallToolbar"); - pickUpWidget = gtk_ui_manager_get_widget (ui_manager, + pickUpWidget_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions/PickUpToolbar"); - hangUpWidget = gtk_ui_manager_get_widget (ui_manager, + hangUpWidget_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions/HangUpToolbar"); - recordWidget = gtk_ui_manager_get_widget (ui_manager, + recordWidget_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions/RecordToolbar"); - imToolbar = gtk_ui_manager_get_widget (ui_manager, + imToolbar_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions/InstantMessagingToolbar"); - historyButton = gtk_ui_manager_get_widget (ui_manager, + historyButton_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions/HistoryToolbar"); - playRecordWidget = gtk_ui_manager_get_widget(ui_manager, + playRecordWidget_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions/StartPlaybackRecordToolbar"); - stopRecordWidget = gtk_ui_manager_get_widget(ui_manager, + stopRecordWidget_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions/StopPlaybackRecordToolbar"); - if(abookfactory_is_addressbook_loaded()) { - contactButton = gtk_ui_manager_get_widget (ui_manager, "/ToolbarActions/AddressbookToolbar"); - } + if (abookfactory_is_addressbook_loaded()) + contactButton_ = gtk_ui_manager_get_widget(ui_manager, "/ToolbarActions/AddressbookToolbar"); // Set the handler ID for the transfer - transfertButtonConnId = g_signal_connect (G_OBJECT (transferToolbar), "toggled", G_CALLBACK (call_transfer_cb), NULL); - recordButtonConnId = g_signal_connect (G_OBJECT (recordWidget), "toggled", G_CALLBACK (call_record), NULL); + transferButtonConnId_ = g_signal_connect(G_OBJECT(transferToolbar_), "toggled", G_CALLBACK(call_transfer_cb), NULL); + recordButtonConnId_ = g_signal_connect(G_OBJECT(recordWidget_), "toggled", G_CALLBACK(call_record), NULL); active_calltree = current_calls; - return toolbar; + return toolbar_; } diff --git a/gnome/src/uimanager.h b/gnome/src/uimanager.h index 71d3a51280..57a5614f7d 100644 --- a/gnome/src/uimanager.h +++ b/gnome/src/uimanager.h @@ -35,11 +35,9 @@ G_BEGIN_DECLS -guint holdConnId; //The hold_menu signal connection ID - -GtkWidget *historyButton; -GtkWidget *contactButton; -GtkAction *volumeToggle; +GtkWidget *historyButton_; +GtkWidget *contactButton_; +GtkAction *volumeToggle_; GtkUIManager *uimanager_new (void); -- GitLab