diff --git a/.gitignore b/.gitignore index e6a57f2c0949df68e3ac308c3e29e5083f0f5348..1a52b48a9a2dc6d87413d06b0f3da96e0e3dbee2 100644 --- a/.gitignore +++ b/.gitignore @@ -85,6 +85,7 @@ libs/utilspp/singleton/Makefile sflphone-gtk/Makefile sflphone-gtk/src/Makefile sflphone-gtk/src/config/Makefile +sflphone-gtk/src/dbus/Makefile sflphone-gtk/src/contacts/Makefile sflphone-gtk/src/contacts/addressbook/Makefile sflphone-gtk/pixmaps/Makefile diff --git a/sflphone-gtk/configure.ac b/sflphone-gtk/configure.ac index 74de68eefd4d95ae2265b51fc8ce547a3385d02b..22b6156781a2eb3c0b1fa5b7a2abc9aa3def11ab 100644 --- a/sflphone-gtk/configure.ac +++ b/sflphone-gtk/configure.ac @@ -43,7 +43,8 @@ AC_SUBST(DEPS_LIBS) AC_OUTPUT([ Makefile src/Makefile -src/config/Makefile +src/config/Makefile +src/dbus/Makefile src/contacts/Makefile src/contacts/addressbook/Makefile pixmaps/Makefile diff --git a/sflphone-gtk/globals.mak b/sflphone-gtk/globals.mak index a19cd4c570209bf7f9301d321f9cb665ed3a991a..c28ab7de06c2725aeedc00289ed8cd586f8cb190 100644 --- a/sflphone-gtk/globals.mak +++ b/sflphone-gtk/globals.mak @@ -5,6 +5,7 @@ src = $(top_srcdir) AM_CPPFLAGS = $(DEPS_CFLAGS) \ -I$(src)/src \ -I$(src)/src/config \ + -I$(src)/src/dbus \ -I$(src)/src/contacts \ -I$(src)/src/addressbook \ -DICONS_DIR=\""$(prefix)/share/sflphone"\" \ diff --git a/sflphone-gtk/src/Makefile.am b/sflphone-gtk/src/Makefile.am index b7f8c6b43532c7eeb515e8d7daeb6c7ea0d388bb..c42040638695aba88c212fa2ad4efa433205eaf1 100644 --- a/sflphone-gtk/src/Makefile.am +++ b/sflphone-gtk/src/Makefile.am @@ -2,17 +2,16 @@ include ../globals.mak bin_PROGRAMS = sflphone-gtk -SUBDIRS = config contacts +SUBDIRS = config contacts dbus NOFIFY_LIBS = -lnotify SEXY_LIBS = -lsexy -SFLPHONEGTK_LIBS=./contacts/libcontacts.la ./config/libconfig.la +SFLPHONEGTK_LIBS=./contacts/libcontacts.la ./config/libconfig.la ./dbus/libdbus.la sflphone_gtk_SOURCES = \ main.c \ errors.c \ - dbus.c \ sflnotify.c \ assistant.c \ mainwindow.c \ @@ -29,9 +28,9 @@ sflphone_gtk_SOURCES = \ timestamp.c \ reqaccount.c -noinst_HEADERS = actions.h dbus.h sflnotify.h mainwindow.h dialpad.h codeclist.h assistant.h timestamp.h reqaccount.h \ - callmanager-glue.h errors.h sflphone_const.h configurationmanager-glue.h instance-glue.h menus.h \ - accountlist.h marshaller.h sliders.h statusicon.h call.h toolbar.h +noinst_HEADERS = actions.h sflnotify.h mainwindow.h dialpad.h codeclist.h \ + assistant.h timestamp.h reqaccount.h errors.h sflphone_const.h \ + menus.h accountlist.h marshaller.h sliders.h statusicon.h call.h toolbar.h EXTRA_DIST = marshaller.list diff --git a/sflphone-gtk/src/actions.c b/sflphone-gtk/src/actions.c index 3d7edc976bae573fbcb91bbb4e074d28dc2b053a..64a1ae94ac21d6e34bd40ede3cb57fbb470f2367 100644 --- a/sflphone-gtk/src/actions.c +++ b/sflphone-gtk/src/actions.c @@ -19,7 +19,7 @@ */ #include <actions.h> -#include <dbus.h> +#include <dbus/dbus.h> #include <mainwindow.h> #include <menus.h> #include <statusicon.h> diff --git a/sflphone-gtk/src/config/accountwindow.c b/sflphone-gtk/src/config/accountwindow.c index 5e66e14587271f2d4ee8693dac0c130843040ef9..676e6f209b0dfa04d3c7cccbdebeea1cca5b199e 100644 --- a/sflphone-gtk/src/config/accountwindow.c +++ b/sflphone-gtk/src/config/accountwindow.c @@ -2,17 +2,17 @@ * Copyright (C) 2007-2008 Savoir-Faire Linux inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. @@ -24,7 +24,7 @@ #include <libsexy/sexy-icon-entry.h> #include <string.h> -#include <dbus.h> +#include <dbus/dbus.h> #include <config.h> #include <gtk/gtk.h> @@ -52,13 +52,13 @@ change_protocol (account_t * currentAccount UNUSED) (gchar *)gtk_combo_box_get_active_text(GTK_COMBO_BOX(entryProtocol)); } - int + int is_iax_enabled(void) { int res = dbus_is_iax2_enabled(); - if(res == 1) + if(res == 1) return TRUE; - else + else return FALSE; } @@ -123,7 +123,7 @@ show_account_window (account_t * a) gtk_container_add( GTK_CONTAINER( frame) , table ); -#ifdef DEBUG +#ifdef DEBUG label = gtk_label_new_with_mnemonic ("ID:"); gtk_table_attach ( GTK_TABLE( table ), label, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC (label), 0, 0.5); @@ -132,11 +132,11 @@ show_account_window (account_t * a) gtk_entry_set_text(GTK_ENTRY(entryID), curAccountID); gtk_widget_set_sensitive( GTK_WIDGET(entryID), FALSE); gtk_table_attach ( GTK_TABLE( table ), entryID, 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); -#endif +#endif entryEnabled = gtk_check_button_new_with_mnemonic(_("_Enabled")); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(entryEnabled), - g_strcasecmp(curAccountEnabled,"TRUE") == 0 ? TRUE: FALSE); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(entryEnabled), + g_strcasecmp(curAccountEnabled,"TRUE") == 0 ? TRUE: FALSE); gtk_table_attach ( GTK_TABLE( table ), entryEnabled, 0, 2, 1, 2, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_widget_set_sensitive( GTK_WIDGET( entryEnabled ) , TRUE ); @@ -167,7 +167,7 @@ show_account_window (account_t * a) { /* Should never come here, add debug message. */ gtk_combo_box_append_text(GTK_COMBO_BOX(entryProtocol), _("Unknown")); - gtk_combo_box_set_active(GTK_COMBO_BOX(entryProtocol),2); + gtk_combo_box_set_active(GTK_COMBO_BOX(entryProtocol),2); } gtk_table_attach ( GTK_TABLE( table ), entryProtocol, 1, 2, 4, 5, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); @@ -190,7 +190,7 @@ show_account_window (account_t * a) entryUsername = sexy_icon_entry_new(); //image = gtk_image_new_from_stock( GTK_STOCK_DIALOG_AUTHENTICATION , GTK_ICON_SIZE_SMALL_TOOLBAR ); image = gtk_image_new_from_file( ICONS_DIR "/stock_person.svg" ); - sexy_icon_entry_set_icon( SEXY_ICON_ENTRY(entryUsername), SEXY_ICON_ENTRY_PRIMARY , GTK_IMAGE(image) ); + sexy_icon_entry_set_icon( SEXY_ICON_ENTRY(entryUsername), SEXY_ICON_ENTRY_PRIMARY , GTK_IMAGE(image) ); gtk_label_set_mnemonic_widget (GTK_LABEL (label), entryUsername); gtk_entry_set_text(GTK_ENTRY(entryUsername), curUsername); gtk_table_attach ( GTK_TABLE( table ), entryUsername, 1, 2, 6, 7, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); @@ -200,7 +200,7 @@ show_account_window (account_t * a) gtk_misc_set_alignment(GTK_MISC (label), 0, 0.5); entryPassword = sexy_icon_entry_new(); image = gtk_image_new_from_stock( GTK_STOCK_DIALOG_AUTHENTICATION , GTK_ICON_SIZE_SMALL_TOOLBAR ); - sexy_icon_entry_set_icon( SEXY_ICON_ENTRY(entryPassword), SEXY_ICON_ENTRY_PRIMARY , GTK_IMAGE(image) ); + sexy_icon_entry_set_icon( SEXY_ICON_ENTRY(entryPassword), SEXY_ICON_ENTRY_PRIMARY , GTK_IMAGE(image) ); gtk_entry_set_visibility(GTK_ENTRY(entryPassword), FALSE); gtk_label_set_mnemonic_widget (GTK_LABEL (label), entryPassword); gtk_entry_set_text(GTK_ENTRY(entryPassword), curPassword); @@ -216,10 +216,10 @@ show_account_window (account_t * a) gtk_widget_show_all( table ); gtk_container_set_border_width (GTK_CONTAINER(table), 10); - + // Toggle enabled/disabled widgets if (strcmp(curAccountType, "SIP") == 0) { - //gtk_widget_set_sesitive( GTK_WIDGET(entryUserPart), TRUE);< + //gtk_widget_set_sesitive( GTK_WIDGET(entryUserPart), TRUE);< } else if (strcmp(curAccountType, "IAX") == 0) { //gtk_widget_set_sensitive( GTK_WIDGET(stunEnable), FALSE); @@ -235,32 +235,32 @@ show_account_window (account_t * a) { gchar* proto = (gchar *)gtk_combo_box_get_active_text(GTK_COMBO_BOX(entryProtocol)); - g_hash_table_replace(currentAccount->properties, - g_strdup(ACCOUNT_ENABLED), + g_hash_table_replace(currentAccount->properties, + g_strdup(ACCOUNT_ENABLED), g_strdup(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(entryEnabled)) ? "TRUE": "FALSE")); - g_hash_table_replace(currentAccount->properties, - g_strdup(ACCOUNT_ALIAS), + g_hash_table_replace(currentAccount->properties, + g_strdup(ACCOUNT_ALIAS), g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(entryAlias)))); - g_hash_table_replace(currentAccount->properties, - g_strdup(ACCOUNT_TYPE), + g_hash_table_replace(currentAccount->properties, + g_strdup(ACCOUNT_TYPE), g_strdup(proto)); - g_hash_table_replace(currentAccount->properties, - g_strdup(ACCOUNT_HOSTNAME), + g_hash_table_replace(currentAccount->properties, + g_strdup(ACCOUNT_HOSTNAME), g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(entryHostname)))); - g_hash_table_replace(currentAccount->properties, - g_strdup(ACCOUNT_USERNAME), + g_hash_table_replace(currentAccount->properties, + g_strdup(ACCOUNT_USERNAME), g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(entryUsername)))); - g_hash_table_replace(currentAccount->properties, - g_strdup(ACCOUNT_PASSWORD), + g_hash_table_replace(currentAccount->properties, + g_strdup(ACCOUNT_PASSWORD), g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(entryPassword)))); - g_hash_table_replace(currentAccount->properties, - g_strdup(ACCOUNT_MAILBOX), + g_hash_table_replace(currentAccount->properties, + g_strdup(ACCOUNT_MAILBOX), g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(entryMailbox)))); - if (strcmp(proto, "SIP") == 0) { + if (strcmp(proto, "SIP") == 0) { guint i, size; account_t * account; - gchar * stun_srv; + gchar * stun_srv; gchar * stun_enable; gboolean flag = FALSE; @@ -272,26 +272,26 @@ show_account_window (account_t * a) { stun_srv = g_hash_table_lookup(account->properties, ACCOUNT_SIP_STUN_SERVER); stun_enable = g_hash_table_lookup(account->properties, ACCOUNT_SIP_STUN_ENABLED); - g_hash_table_replace(currentAccount->properties, g_strdup(ACCOUNT_SIP_STUN_SERVER), + g_hash_table_replace(currentAccount->properties, g_strdup(ACCOUNT_SIP_STUN_SERVER), g_strdup(stun_srv)); - g_hash_table_replace(currentAccount->properties, g_strdup(ACCOUNT_SIP_STUN_ENABLED), + g_hash_table_replace(currentAccount->properties, g_strdup(ACCOUNT_SIP_STUN_ENABLED), g_strdup(stun_enable)); flag = TRUE; break; } } - + // Otherelse set a default value if(!flag) { g_hash_table_replace(currentAccount->properties, g_strdup(ACCOUNT_SIP_STUN_SERVER), (gchar*)""); - g_hash_table_replace(currentAccount->properties, g_strdup(ACCOUNT_SIP_STUN_ENABLED), + g_hash_table_replace(currentAccount->properties, g_strdup(ACCOUNT_SIP_STUN_ENABLED), "FALSE"); } config_window_set_stun_visible(); } - + /** @todo Verify if it's the best condition to check */ if (currentAccount->accountID == NULL) { dbus_add_account(currentAccount); diff --git a/sflphone-gtk/src/config/configwindow.c b/sflphone-gtk/src/config/configwindow.c index 2a16f8c53a0408086fcefa7d0370dd43e4703fa4..11cc6a27ef3a299058841357d6aa4f7e338bf309 100644 --- a/sflphone-gtk/src/config/configwindow.c +++ b/sflphone-gtk/src/config/configwindow.c @@ -26,7 +26,7 @@ #include <actions.h> #include <config.h> #include <toolbar.h> -#include <dbus.h> +#include <dbus/dbus.h> #include <mainwindow.h> #include <audioconf.h> #include <addressbook-config.h> @@ -849,9 +849,9 @@ show_accounts_window( void ) gtk_dialog_run( dialog ); status_bar_display_account (); - + accDialogOpen=FALSE; - + gtk_widget_destroy(GTK_WIDGET(dialog)); if( account_list_get_size() >0 && account_list_get_current()==NULL ) account_list_set_current_pos(0); diff --git a/sflphone-gtk/src/dbus/Makefile.am b/sflphone-gtk/src/dbus/Makefile.am new file mode 100644 index 0000000000000000000000000000000000000000..202d5ef904daa7f498730ac8b90fb3a963171a97 --- /dev/null +++ b/sflphone-gtk/src/dbus/Makefile.am @@ -0,0 +1,9 @@ +include ../../globals.mak + +noinst_LTLIBRARIES = libdbus.la + +libdbus_la_SOURCES = dbus.c + +libdbus_la_LDFLAGS = @DEPS_LDFLAGS@ + +libdbus_la_CFLAGS = @DEPS_CFLAGS@ diff --git a/sflphone-gtk/src/dbus/README b/sflphone-gtk/src/dbus/README new file mode 100644 index 0000000000000000000000000000000000000000..aca6172e416662b6b20febbf2ab48180d8efca04 --- /dev/null +++ b/sflphone-gtk/src/dbus/README @@ -0,0 +1,8 @@ +CallManager, ConfigurationManager and ContactManager dbus APIs. + +These files are generated by dbus-binding-tool using the server's files named *-introspec.xml: + * dbus-binding-tool --mode=glib-client "../../../src/dbus/callmanager-introspec.xml" > callmanager-glue.h + * dbus-binding-tool --mode=glib-client "../../../src/dbus/configurationmanager-introspec.xml" > configurationmanager-glue.h + * dbus-binding-tool --mode=glib-client "../../../src/dbus/contactmanager-introspec.xml" > contactmanager-glue.h + +These files dbus call wrapper functions to simplify access to dbus API. \ No newline at end of file diff --git a/sflphone-gtk/src/callmanager-glue.h b/sflphone-gtk/src/dbus/callmanager-glue.h similarity index 100% rename from sflphone-gtk/src/callmanager-glue.h rename to sflphone-gtk/src/dbus/callmanager-glue.h diff --git a/sflphone-gtk/src/configurationmanager-glue.h b/sflphone-gtk/src/dbus/configurationmanager-glue.h similarity index 96% rename from sflphone-gtk/src/configurationmanager-glue.h rename to sflphone-gtk/src/dbus/configurationmanager-glue.h index 7d29e92172ab1c6cba9e07cec330c23b5d26254c..996fb2d3cddbb113a3ca28775e9b2ad766ed2b1f 100644 --- a/sflphone-gtk/src/configurationmanager-glue.h +++ b/sflphone-gtk/src/dbus/configurationmanager-glue.h @@ -2305,6 +2305,81 @@ static inline #endif gboolean +org_sflphone_SFLphone_ConfigurationManager_get_addressbook_list (DBusGProxy *proxy, char *** OUT_settings, GError **error) + +{ + return dbus_g_proxy_call (proxy, "getAddressbookList", error, G_TYPE_INVALID, G_TYPE_STRV, OUT_settings, G_TYPE_INVALID); +} + +typedef void (*org_sflphone_SFLphone_ConfigurationManager_get_addressbook_list_reply) (DBusGProxy *proxy, char * *OUT_settings, GError *error, gpointer userdata); + +static void +org_sflphone_SFLphone_ConfigurationManager_get_addressbook_list_async_callback (DBusGProxy *proxy, DBusGProxyCall *call, void *user_data) +{ + DBusGAsyncData *data = (DBusGAsyncData*) user_data; + GError *error = NULL; + char ** OUT_settings; + dbus_g_proxy_end_call (proxy, call, &error, G_TYPE_STRV, &OUT_settings, G_TYPE_INVALID); + (*(org_sflphone_SFLphone_ConfigurationManager_get_addressbook_list_reply)data->cb) (proxy, OUT_settings, error, data->userdata); + return; +} + +static +#ifdef G_HAVE_INLINE +inline +#endif +DBusGProxyCall* +org_sflphone_SFLphone_ConfigurationManager_get_addressbook_list_async (DBusGProxy *proxy, org_sflphone_SFLphone_ConfigurationManager_get_addressbook_list_reply callback, gpointer userdata) + +{ + DBusGAsyncData *stuff; + stuff = g_new (DBusGAsyncData, 1); + stuff->cb = G_CALLBACK (callback); + stuff->userdata = userdata; + return dbus_g_proxy_begin_call (proxy, "getAddressbookList", org_sflphone_SFLphone_ConfigurationManager_get_addressbook_list_async_callback, stuff, g_free, G_TYPE_INVALID); +} +static +#ifdef G_HAVE_INLINE +inline +#endif +gboolean +org_sflphone_SFLphone_ConfigurationManager_set_addressbook_list (DBusGProxy *proxy, const char ** IN_settings, GError **error) + +{ + return dbus_g_proxy_call (proxy, "setAddressbookList", error, G_TYPE_STRV, IN_settings, G_TYPE_INVALID, G_TYPE_INVALID); +} + +typedef void (*org_sflphone_SFLphone_ConfigurationManager_set_addressbook_list_reply) (DBusGProxy *proxy, GError *error, gpointer userdata); + +static void +org_sflphone_SFLphone_ConfigurationManager_set_addressbook_list_async_callback (DBusGProxy *proxy, DBusGProxyCall *call, void *user_data) +{ + DBusGAsyncData *data = (DBusGAsyncData*) user_data; + GError *error = NULL; + dbus_g_proxy_end_call (proxy, call, &error, G_TYPE_INVALID); + (*(org_sflphone_SFLphone_ConfigurationManager_set_addressbook_list_reply)data->cb) (proxy, error, data->userdata); + return; +} + +static +#ifdef G_HAVE_INLINE +inline +#endif +DBusGProxyCall* +org_sflphone_SFLphone_ConfigurationManager_set_addressbook_list_async (DBusGProxy *proxy, const char ** IN_settings, org_sflphone_SFLphone_ConfigurationManager_set_addressbook_list_reply callback, gpointer userdata) + +{ + DBusGAsyncData *stuff; + stuff = g_new (DBusGAsyncData, 1); + stuff->cb = G_CALLBACK (callback); + stuff->userdata = userdata; + return dbus_g_proxy_begin_call (proxy, "setAddressbookList", org_sflphone_SFLphone_ConfigurationManager_set_addressbook_list_async_callback, stuff, g_free, G_TYPE_STRV, IN_settings, G_TYPE_INVALID); +} +static +#ifdef G_HAVE_INLINE +inline +#endif +gboolean org_sflphone_SFLphone_ConfigurationManager_get_hook_settings (DBusGProxy *proxy, GHashTable** OUT_settings, GError **error) { diff --git a/sflphone-gtk/src/dbus.c b/sflphone-gtk/src/dbus/dbus.c similarity index 100% rename from sflphone-gtk/src/dbus.c rename to sflphone-gtk/src/dbus/dbus.c diff --git a/sflphone-gtk/src/dbus.h b/sflphone-gtk/src/dbus/dbus.h similarity index 100% rename from sflphone-gtk/src/dbus.h rename to sflphone-gtk/src/dbus/dbus.h diff --git a/sflphone-gtk/src/instance-glue.h b/sflphone-gtk/src/dbus/instance-glue.h similarity index 100% rename from sflphone-gtk/src/instance-glue.h rename to sflphone-gtk/src/dbus/instance-glue.h diff --git a/sflphone-gtk/src/main.c b/sflphone-gtk/src/main.c index 3f82b21f010515f62876b20c1f7d557dafd5e704..99de326365c39bb87b7aa94a6bcfd9e0d53e1d3b 100644 --- a/sflphone-gtk/src/main.c +++ b/sflphone-gtk/src/main.c @@ -1,26 +1,26 @@ /* * Copyright (C) 2007 Savoir-Faire Linux inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - + #include <actions.h> #include <calllist.h> #include <config.h> -#include <dbus.h> +#include <dbus/dbus.h> #include <mainwindow.h> #include <statusicon.h> @@ -31,15 +31,15 @@ int main (int argc, char *argv[]) { gtk_init (&argc, &argv); - + g_print("%s\n", PACKAGE_STRING); g_print("Copyright (c) 2005 2006 2007 2008 2009 Savoir-faire Linux Inc.\n"); g_print("This is free software. You may redistribute copies of it under the terms of\n\ the GNU General Public License Version 3 <http://www.gnu.org/licenses/gpl.html>.\n\ There is NO WARRANTY, to the extent permitted by law.\n\n"); - + srand ( time(NULL) ); - + // Internationalization bindtextdomain( "sflphone" , "/usr/share/locale" ); textdomain( "sflphone" ); @@ -50,7 +50,7 @@ There is NO WARRANTY, to the extent permitted by law.\n\n"); show_status_icon(); #endif create_main_window (); - + #if GTK_CHECK_VERSION(2,10,0) if( dbus_is_start_hidden() ) { @@ -67,18 +67,18 @@ There is NO WARRANTY, to the extent permitted by law.\n\n"); return 0; } -/** @mainpage SFLphone GTK+ Client Documentation +/** @mainpage SFLphone GTK+ Client Documentation * SFLphone GTK+ Client was started as a debuging tool for the new dbus API but - * ended being a full featured client. + * ended being a full featured client. * @section intro_sec Architecture - * SFLphone respects the MVC principle. Since the internal workings and the UI + * SFLphone respects the MVC principle. Since the internal workings and the UI * are too different programs, dbus is used to exchange data between them. Dbus * is thereby inforcing MVC by only allowing access to high level functions and data. * - * Therefore, when a button is clicked, a direct dbus API call should happen - * (defined in dbus.h). The UI should only be updated when signals are received + * Therefore, when a button is clicked, a direct dbus API call should happen + * (defined in dbus.h). The UI should only be updated when signals are received * from dbus. The call back to those signals are defined in dbus.c, but they call - * functions in actions.h. This makes things cleaner as one signal could have many + * functions in actions.h. This makes things cleaner as one signal could have many * actions. * * Accounts are stored in form of a account_t in an account list with access functions @@ -89,24 +89,24 @@ There is NO WARRANTY, to the extent permitted by law.\n\n"); * */ -// This doc is for generated files that get overridden by tools. +// This doc is for generated files that get overridden by tools. /** @file marshaller.h * @brief This file contains marshallers functions for dbus signals. - * This file is generated by glib-genmarshall. - * Every dbus signal has to have a marshaller. To generate a new marshaller function, + * This file is generated by glib-genmarshall. + * Every dbus signal has to have a marshaller. To generate a new marshaller function, * add its signature to the marshaller.list. Then run : * <pre>glib-genmarshal --body --g-fatal-warnings marshaller.list > marshaller.c * glib-genmarshal --header --g-fatal-warnings marshaller.list > marshaller.h</pre> * to get the generated marshallers. - * Just before connecting to the dbus signal, register the marshaller with: + * Just before connecting to the dbus signal, register the marshaller with: * dbus_g_object_register_marshaller(). */ - + /** @file callmanager-glue.h, configurationmanager-glue.h, contactmanager-glue.h * @brief CallManager, ConfigurationManager and ContactManager dbus APIs. * These files are generated by dbus-binding-tool using the server's files named *-introspec.xml: * <pre>dbus-binding-tool --mode=glib-client "../../src/dbus/callmanager-introspec.xml" > callmanager-glue.h</pre> * <pre>dbus-binding-tool --mode=glib-client "../../src/dbus/configurationmanager-introspec.xml" > configurationmanager-glue.h</pre> * <pre>dbus-binding-tool --mode=glib-client "../../src/dbus/contactmanager-introspec.xml" > contactmanager-glue.h</pre> - * These files dbus call wrapper functions to simplify access to dbus API. + * These files dbus call wrapper functions to simplify access to dbus API. */ diff --git a/sflphone-gtk/src/menus.c b/sflphone-gtk/src/menus.c index f1628570a1a261433892e5b553e5e9bdebbc2120..9f5ec7957c8d7b9671206171e83e140adf4ad921 100644 --- a/sflphone-gtk/src/menus.c +++ b/sflphone-gtk/src/menus.c @@ -21,7 +21,7 @@ #include <menus.h> #include <config.h> #include <configwindow.h> -#include <dbus.h> +#include <dbus/dbus.h> #include <mainwindow.h> #include <assistant.h> #include <gtk/gtk.h> @@ -982,7 +982,7 @@ void add_registered_accounts_to_menu (GtkWidget *menu) { unsigned int i; account_t* acc; gchar* alias; - + menu_items = gtk_separator_menu_item_new (); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_items); gtk_widget_show (menu_items); diff --git a/sflphone-gtk/src/sflnotify.h b/sflphone-gtk/src/sflnotify.h index af383396f68ff3b7c910ed2dd6e6bbc1739562a6..6131322b445326a68b60114d1c849d5a020ad208 100644 --- a/sflphone-gtk/src/sflnotify.h +++ b/sflphone-gtk/src/sflnotify.h @@ -1,17 +1,17 @@ /* * Copyright (C) 2008 Savoir-Faire Linux inc. * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. @@ -28,21 +28,21 @@ #include <libnotify/notify.h> #include <accountlist.h> #include <calllist.h> -#include <dbus.h> +#include <dbus/dbus.h> #include <actions.h> #include <statusicon.h> #include <configwindow.h> #include <sflphone_const.h> /** - * Notify an incoming call + * Notify an incoming call * A dialog box is attached to the status icon * @param c The incoming call */ void notify_incoming_call( call_t* c); /** - * Notify voice mails count + * Notify voice mails count * An info box is attached to the status icon * @param count The number of voice mails * @param acc The account that received the notification @@ -66,8 +66,8 @@ void notify_no_accounts( ); void notify_no_registered_accounts( ); /** - * Callback when answer button is pressed. - * Action associated: Pick up the incoming call + * Callback when answer button is pressed. + * Action associated: Pick up the incoming call * @param notification The pointer on the notification structure * @param data The data associated. Here: call_t* */ @@ -75,7 +75,7 @@ void answer_call_cb( NotifyNotification *notification, gpointer data ); /** * Callback when refuse button is pressed - * Action associated: Hang up the incoming call + * Action associated: Hang up the incoming call * @param notification The pointer on the notification structure * @param data The data associated. Here: call_t* */ @@ -83,14 +83,14 @@ void refuse_call_cb( NotifyNotification *notification, gpointer data ); /** * Callback when ignore button is pressed - * Action associated: Nothing - The call continues ringing + * Action associated: Nothing - The call continues ringing * @param notification The pointer on the notification structure * @param data The data associated. Here: call_t* */ void ignore_call_cb( NotifyNotification *notification, gpointer data ); /** - * Callback when you try to make a call without accounts setup and 'setup account' button is clicked. + * Callback when you try to make a call without accounts setup and 'setup account' button is clicked. * Action associated: Open the account window * @param notification The pointer on the notification structure * @param data The data associated. Here: account_t* diff --git a/sflphone-gtk/src/sliders.c b/sflphone-gtk/src/sliders.c index c6b0cd4ffc8ac1c29eec90dbe045559ee7e80c99..8317de0a1a2951f856d5937ab44afee660e8f6a3 100644 --- a/sflphone-gtk/src/sliders.c +++ b/sflphone-gtk/src/sliders.c @@ -1,24 +1,24 @@ /* * Copyright (C) 2007 Savoir-Faire Linux inc. * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - + #include <sliders.h> -#include <dbus.h> +#include <dbus/dbus.h> #include <actions.h> #include <string.h> @@ -44,7 +44,7 @@ enum volume_t { guint toggledConnId[2]; // The button toggled signal connection ID guint movedConnId[2]; // The slider_moved signal connection ID -void +void update_icons (int dev) { float val = gtk_range_get_value(GTK_RANGE(slider[dev])); @@ -63,7 +63,7 @@ update_icons (int dev) } } -void +void slider_moved(GtkRange* range, gchar* device) { gdouble value = gtk_range_get_value(range); @@ -75,7 +75,7 @@ slider_moved(GtkRange* range, gchar* device) update_icons(MIKE); } -static void +static void mute_cb( GtkWidget *widget, gchar* device ) { int dev; @@ -83,14 +83,14 @@ mute_cb( GtkWidget *widget, gchar* device ) dev = SPEAKER; else dev = MIKE; - - if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) + + if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) { // Save value g_print("Save"); value[dev] = gtk_range_get_value(GTK_RANGE(slider[dev])); dbus_set_volume(device, 0); } - else + else { //Restore value g_print("Restore"); dbus_set_volume(device, value[dev]); @@ -98,7 +98,7 @@ mute_cb( GtkWidget *widget, gchar* device ) update_icons (dev); } -void +void set_slider(const gchar * device, gdouble newval) { int dev; @@ -106,29 +106,29 @@ set_slider(const gchar * device, gdouble newval) dev = SPEAKER; else dev = MIKE; - + gtk_signal_handler_block(GTK_OBJECT(slider[dev]), movedConnId[dev]); gtk_range_set_value(GTK_RANGE(slider[dev]), newval); gtk_signal_handler_unblock(slider[dev], movedConnId[dev]); - + gtk_signal_handler_block(GTK_OBJECT(button[dev]),toggledConnId[dev]); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button[dev]), (newval == 0 ? TRUE: FALSE)); gtk_signal_handler_unblock(button[dev], toggledConnId[dev]); - + update_icons (dev); } /** Generates the speaker slider and mute button */ -GtkWidget * +GtkWidget * create_slider(const gchar * device) -{ +{ // Increment the references count for the images // When the image is removed from a button, if the ref count = 0, then it is destroyed // which we don't want ;) - + GtkWidget * ret; int dev=0; - + if(strcmp(device, "speaker") == 0) { dev = SPEAKER; @@ -153,30 +153,30 @@ create_slider(const gchar * device) g_object_ref(images[MIKE][VOL50]); g_object_ref(images[MIKE][VOL75]); } - + ret = gtk_hbox_new ( FALSE /*homogeneous*/, 5 /*spacing*/); - + #if GTK_CHECK_VERSION(2,12,0) - if( strcmp( device , "speaker") == 0 ) + if( strcmp( device , "speaker") == 0 ) gtk_widget_set_tooltip_text( GTK_WIDGET( ret ), _("Speakers volume")); else gtk_widget_set_tooltip_text( GTK_WIDGET( ret ), _("Mic volume")); -#endif +#endif button[dev] = gtk_toggle_button_new(); gtk_box_pack_start (GTK_BOX (ret), button[dev], FALSE /*expand*/, TRUE /*fill*/, 0 /*padding*/); toggledConnId[dev] = g_signal_connect (G_OBJECT (button[dev]), "toggled", G_CALLBACK (mute_cb), (gpointer)device); - + slider[dev] = gtk_hscale_new_with_range(0, 1, 0.05); gtk_scale_set_draw_value(GTK_SCALE(slider[dev]), FALSE); //gtk_range_set_update_policy(GTK_RANGE(slider), GTK_UPDATE_DELAYED); movedConnId[dev] = g_signal_connect (G_OBJECT (slider[dev]), "value_changed", G_CALLBACK (slider_moved), (gpointer)device); gtk_box_pack_start (GTK_BOX (ret), slider[dev], TRUE /*expand*/, TRUE /*fill*/, 0 /*padding*/); - + set_slider(device, dbus_get_volume(device)); - + return ret; }