ekiga r7460 - in trunk: . lib/engine/components/opal lib/engine/protocol/skel lib/gui src/gui



Author: dsandras
Date: Mon Dec 15 20:34:07 2008
New Revision: 7460
URL: http://svn.gnome.org/viewvc/ekiga?rev=7460&view=rev

Log:
Cleanup GConf keys and KILLED the gconf_test_age key. Default values 
are now in the code directly.


Modified:
   trunk/ChangeLog
   trunk/ekiga.schemas.in.in
   trunk/lib/engine/components/opal/h323-endpoint.cpp
   trunk/lib/engine/components/opal/opal-call-manager.cpp
   trunk/lib/engine/components/opal/opal-gmconf-bridge.cpp
   trunk/lib/engine/components/opal/sip-endpoint.cpp
   trunk/lib/engine/protocol/skel/codec-description.cpp
   trunk/lib/gui/gmpreferences.c
   trunk/lib/gui/gmpreferences.h
   trunk/src/gui/assistant.cpp
   trunk/src/gui/conf.cpp
   trunk/src/gui/conf.h
   trunk/src/gui/main.cpp
   trunk/src/gui/preferences.cpp
   trunk/src/gui/statusmenu.cpp

Modified: trunk/ekiga.schemas.in.in
==============================================================================
--- trunk/ekiga.schemas.in.in	(original)
+++ trunk/ekiga.schemas.in.in	Mon Dec 15 20:34:07 2008
@@ -80,17 +80,6 @@
       </locale>
     </schema>
     <schema>
-      <key>/schemas/apps/@PACKAGE_NAME@/devices/video/image</key>
-      <applyto>/apps/@PACKAGE_NAME@/devices/video/image</applyto>
-      <owner>Ekiga</owner>
-      <type>string</type>
-      <default></default>
-      <locale name="C">
-	<short>Video image</short>
-	<long>The image to transmit if "Picture" is selected as video plugin or if the opening of the device fails. Leave blank to use the default Ekiga logo.</long>
-      </locale>
-    </schema>
-    <schema>
       <key>/schemas/apps/@PACKAGE_NAME@/devices/video/max_frame_rate</key>
       <applyto>/apps/@PACKAGE_NAME@/devices/video/max_frame_rate</applyto>
       <owner>Ekiga</owner>
@@ -102,39 +91,6 @@
       </locale>
     </schema>
     <schema>	
-      <key>/schemas/apps/@PACKAGE_NAME@/devices/audio/lid_output_device_type</key>
-      <applyto>/apps/@PACKAGE_NAME@/devices/audio/lid_output_device_type</applyto>
-      <owner>Ekiga</owner>
-      <type>int</type>
-      <default>0</default>
-      <locale name="C">
-	<short>Output device type</short>
-	<long>The output device type is the type of device connected to your Quicknet card. It can be either a POTS (Plain Old Telephone System) or a headset.</long>
-      </locale>
-    </schema>
-    <schema>	
-      <key>/schemas/apps/@PACKAGE_NAME@/devices/audio/lid_echo_cancellation_level</key>
-      <applyto>/apps/@PACKAGE_NAME@/devices/audio/lid_echo_cancellation_level</applyto>
-      <owner>Ekiga</owner>
-      <type>int</type>
-      <default>2</default>
-      <locale name="C">
-	<short>Automatic echo cancellation</short>
-	<long>The Automatic Echo Cancellation level: Off, Low, Medium, High, Automatic Gain Compensation. Choosing Automatic Gain Compensation modulates the volume for best quality.</long>
-      </locale>
-    </schema>
-    <schema>	
-      <key>/schemas/apps/@PACKAGE_NAME@/devices/audio/lid_country_code</key>
-      <applyto>/apps/@PACKAGE_NAME@/devices/audio/lid_country_code</applyto>
-      <owner>Ekiga</owner>
-      <type>string</type>
-      <default>BE</default>
-      <locale name="C">
-	<short>Country code</short>
-	<long>The two-letter country code of your country (e.g.: BE, UK, FR, DE, ...)</long>
-      </locale>
-    </schema>
-    <schema>	
       <key>/schemas/apps/@PACKAGE_NAME@/general/personal_data/full_name</key>
       <applyto>/apps/@PACKAGE_NAME@/general/personal_data/full_name</applyto>
       <owner>Ekiga</owner>
@@ -356,39 +312,6 @@
       </locale>
     </schema>
     <schema>
-      <key>/schemas/apps/@PACKAGE_NAME@/general/save_prefix</key>
-      <applyto>/apps/@PACKAGE_NAME@/general/save_prefix</applyto>
-      <owner>Ekiga</owner>
-      <type>string</type>
-      <default>ekiga-snap-</default>
-      <locale name="C">
-	<short>The save prefix</short>
-	<long>The prefix that will be used to save pictures of the conversation. That prefix is followed by the snapshot number.</long>
-      </locale>
-    </schema>
-    <schema>
-      <key>/schemas/apps/@PACKAGE_NAME@/general/version</key>
-      <applyto>/apps/@PACKAGE_NAME@/general/version</applyto>
-      <owner>Ekiga</owner>
-      <type>int</type>
-      <default>9</default>
-      <locale name="C">
-	<short>Version</short>
-	<long>Version</long>
-      </locale>
-    </schema>
-    <schema>	
-      <key>/schemas/apps/@PACKAGE_NAME@/general/gconf_test_age</key>
-      <applyto>/apps/@PACKAGE_NAME@/general/gconf_test_age</applyto>
-      <owner>Ekiga</owner>
-      <type>int</type>
-      <default>@SCHEMA_AGE@</default>
-      <locale name="C">
-	<short>Revision of the schema file</short>
-	<long>Revision of the schema file</long>
-      </locale>
-    </schema>
-    <schema>
       <key>/schemas/apps/@PACKAGE_NAME@/protocols/accounts_list</key>
       <applyto>/apps/@PACKAGE_NAME@/protocols/accounts_list</applyto>
       <owner>Ekiga</owner>
@@ -422,17 +345,6 @@
       </locale>
     </schema>
     <schema>
-      <key>/schemas/apps/@PACKAGE_NAME@/protocols/sip/registrar_registration_timeout</key>
-      <applyto>/apps/@PACKAGE_NAME@/protocols/sip/registrar_registration_timeout</applyto>
-      <owner>Ekiga</owner>
-      <type>int</type>
-      <default>60</default>
-      <locale name="C">
-	<short>Registration timeout</short>
-	<long>The time after which Ekiga will renew its registration with the registrar</long>
-      </locale>
-    </schema>
-    <schema>
       <key>/schemas/apps/@PACKAGE_NAME@/protocols/sip/outbound_proxy_host</key>
       <applyto>/apps/@PACKAGE_NAME@/protocols/sip/outbound_proxy_host</applyto>
       <owner>Ekiga</owner>
@@ -598,17 +510,6 @@
       </locale>
     </schema>
     <schema>
-      <key>/schemas/apps/@PACKAGE_NAME@/general/nat/public_ip_detector</key>
-      <applyto>/apps/@PACKAGE_NAME@/general/nat/public_ip_detector</applyto>
-      <owner>Ekiga</owner>
-      <type>string</type>
-      <default>http://ekiga.net/ip/</default>
-      <locale name="C">
-	<short></short>
-	<long></long>
-      </locale>
-    </schema>
-    <schema>
       <key>/schemas/apps/@PACKAGE_NAME@/protocols/sip/binding_timeout</key>
       <applyto>/apps/@PACKAGE_NAME@/protocols/sip/binding_timeout</applyto>
       <owner>Ekiga</owner>
@@ -630,17 +531,6 @@
 	<long>If enabled, Ekiga will start hidden provided that the notification area is present in the GNOME panel</long>
       </locale>
     </schema>
-    <schema>
-      <key>/schemas/apps/@PACKAGE_NAME@/general/user_interface/show_popup</key>
-      <applyto>/apps/@PACKAGE_NAME@/general/user_interface/show_popup</applyto>
-      <owner>Ekiga</owner>
-      <type>bool</type>
-      <default>true</default>
-      <locale name="C">
-	<short>Display a popup window when receiving a call</short>
-	<long>If enabled, a popup window will be displayed when receiving an incoming call</long>
-      </locale>
-    </schema>
     <schema>	
       <key>/schemas/apps/@PACKAGE_NAME@/general/user_interface/main_window/position</key>
       <applyto>/apps/@PACKAGE_NAME@/general/user_interface/main_window/position</applyto>
@@ -1008,17 +898,6 @@
       </locale>
     </schema>
     <schema>
-      <key>/schemas/apps/@PACKAGE_NAME@/codecs/video/enable_video</key>
-      <applyto>/apps/@PACKAGE_NAME@/codecs/video/enable_video</applyto>
-      <owner>Ekiga</owner>
-      <type>bool</type>
-      <default>false</default>
-      <locale name="C">
-	<short>Enable video support</short>
-	<long>If enabled, allows video during calls</long>
-      </locale>
-    </schema>
-    <schema>
       <key>/schemas/apps/@PACKAGE_NAME@/codecs/video/maximum_video_tx_bitrate</key>
       <applyto>/apps/@PACKAGE_NAME@/codecs/video/maximum_video_tx_bitrate</applyto>
       <owner>Ekiga</owner>

Modified: trunk/lib/engine/components/opal/h323-endpoint.cpp
==============================================================================
--- trunk/lib/engine/components/opal/h323-endpoint.cpp	(original)
+++ trunk/lib/engine/components/opal/h323-endpoint.cpp	Mon Dec 15 20:34:07 2008
@@ -84,7 +84,7 @@
 {
   protocol_name = "h323";
   uri_prefix = "h323:";
-  listen_port = _listen_port;
+  listen_port = (_listen_port > 0 ? _listen_port : 1720);
 
   {
     gmref_ptr<Ekiga::Runtime> smart = core.get ("runtime");

Modified: trunk/lib/engine/components/opal/opal-call-manager.cpp
==============================================================================
--- trunk/lib/engine/components/opal/opal-call-manager.cpp	(original)
+++ trunk/lib/engine/components/opal/opal-call-manager.cpp	Mon Dec 15 20:34:07 2008
@@ -237,7 +237,7 @@
 void CallManager::set_maximum_jitter (unsigned max_val)
 {
   // Adjust general settings
-  SetAudioJitterDelay (20, PMIN (max_val, 1000));
+  SetAudioJitterDelay (20, PMIN (PMAX (max_val, 20), 1000));
 
   // Adjust setting for all sessions of all connections of all calls
   for (PSafePtr<OpalCall> call = activeCalls;
@@ -319,7 +319,7 @@
 
 void CallManager::set_reject_delay (unsigned delay)
 {
-  reject_delay = delay;
+  reject_delay = PMAX (5, delay);
 }
 
 
@@ -526,11 +526,11 @@
       media_format.SetOptionInteger (OpalVideoFormat::FrameHeightOption (), 
                                      Ekiga::VideoSizes [options.size].height);  
       media_format.SetOptionInteger (OpalVideoFormat::FrameTimeOption (),
-                                     (int) (90000 / options.maximum_frame_rate));
+                                     (int) (90000 / (options.maximum_frame_rate > 0 ? options.maximum_frame_rate : 30)));
       media_format.SetOptionInteger (OpalVideoFormat::MaxBitRateOption (), 
-                                     options.maximum_received_bitrate * 1000);
+                                     (options.maximum_received_bitrate > 0 ? options.maximum_received_bitrate : 4096) * 1000);
       media_format.SetOptionInteger (OpalVideoFormat::TargetBitRateOption (), 
-                                     options.maximum_transmitted_bitrate * 1000);
+                                     (options.maximum_transmitted_bitrate > 0 ? options.maximum_transmitted_bitrate : 48) * 1000);
       media_format.SetOptionInteger (OpalVideoFormat::MinRxFrameWidthOption(), 
                                      160);
       media_format.SetOptionInteger (OpalVideoFormat::MinRxFrameHeightOption(), 
@@ -543,7 +543,7 @@
                                                           true, OpalMediaOption::NoMerge, 
                                                           options.temporal_spatial_tradeoff));  
       media_format.SetOptionInteger (OpalVideoFormat::TemporalSpatialTradeOffOption(), 
-                                     options.temporal_spatial_tradeoff);  
+                                     (options.temporal_spatial_tradeoff > 0 ? options.temporal_spatial_tradeoff : 31));  
       media_format.AddOption(new OpalMediaOptionUnsigned (OpalVideoFormat::MaxFrameSizeOption (), 
                                                           true, OpalMediaOption::NoMerge, 1400));
       media_format.SetOptionInteger (OpalVideoFormat::MaxFrameSizeOption (), 
@@ -582,9 +582,9 @@
 
           OpalMediaFormat mediaFormat = stream->GetMediaFormat ();
           mediaFormat.SetOptionInteger (OpalVideoFormat::TemporalSpatialTradeOffOption(),
-                                        options.temporal_spatial_tradeoff);
+                                        (options.temporal_spatial_tradeoff > 0 ? options.temporal_spatial_tradeoff : 31));  
           mediaFormat.SetOptionInteger (OpalVideoFormat::TargetBitRateOption (),
-                                        options.maximum_transmitted_bitrate * 1000);
+                                        (options.maximum_transmitted_bitrate > 0 ? options.maximum_transmitted_bitrate : 48) * 1000);
           mediaFormat.ToNormalisedOptions();
           stream->UpdateMediaFormat (mediaFormat);
         }

Modified: trunk/lib/engine/components/opal/opal-gmconf-bridge.cpp
==============================================================================
--- trunk/lib/engine/components/opal/opal-gmconf-bridge.cpp	(original)
+++ trunk/lib/engine/components/opal/opal-gmconf-bridge.cpp	Mon Dec 15 20:34:07 2008
@@ -83,7 +83,6 @@
   keys.push_back (AUDIO_CODECS_KEY "media_list");
   keys.push_back (VIDEO_CODECS_KEY "media_list");
 
-  keys.push_back (AUDIO_CODECS_KEY "minimum_jitter_buffer");
   keys.push_back (AUDIO_CODECS_KEY "maximum_jitter_buffer");
 
   keys.push_back (VIDEO_CODECS_KEY "maximum_video_tx_bitrate");
@@ -168,7 +167,8 @@
   //
   else if (key == NAT_KEY "stun_server") {
 
-    manager.set_stun_server (gm_conf_entry_get_string (entry));
+    const char *stun_server = gm_conf_entry_get_string (entry);
+    manager.set_stun_server (stun_server ? stun_server : "stun.ekiga.net");
   }
 
 

Modified: trunk/lib/engine/components/opal/sip-endpoint.cpp
==============================================================================
--- trunk/lib/engine/components/opal/sip-endpoint.cpp	(original)
+++ trunk/lib/engine/components/opal/sip-endpoint.cpp	Mon Dec 15 20:34:07 2008
@@ -137,7 +137,7 @@
 
   protocol_name = "sip";
   uri_prefix = "sip:";
-  listen_port = _listen_port;
+  listen_port = (_listen_port > 0 ? _listen_port : 5060);
 
   dialect = new SIP::Dialect (core, sigc::mem_fun (this, &Opal::Sip::EndPoint::send_message));
   dialect->reference (); // take a reference in the main thread
@@ -528,7 +528,8 @@
 
 void Opal::Sip::EndPoint::set_nat_binding_delay (unsigned delay)
 {
-  SetNATBindingTimeout (PTimeInterval (0, delay));
+  if (delay > 0)
+    SetNATBindingTimeout (PTimeInterval (0, delay));
 }
 
 

Modified: trunk/lib/engine/protocol/skel/codec-description.cpp
==============================================================================
--- trunk/lib/engine/protocol/skel/codec-description.cpp	(original)
+++ trunk/lib/engine/protocol/skel/codec-description.cpp	Mon Dec 15 20:34:07 2008
@@ -44,7 +44,7 @@
 using namespace Ekiga;
 
 CodecDescription::CodecDescription ()
-: rate (0), active (false), audio (false)
+: rate (0), active (true), audio (false)
 {
 }
 

Modified: trunk/lib/gui/gmpreferences.c
==============================================================================
--- trunk/lib/gui/gmpreferences.c	(original)
+++ trunk/lib/gui/gmpreferences.c	Mon Dec 15 20:34:07 2008
@@ -611,7 +611,8 @@
 				    const gchar **options,
 				    const gchar *conf_key,       
 				    const gchar *tooltip,         
-				    int row)       
+				    int row,
+                                    const gchar *default_value)
 {
   GnomePrefsWindow *gpw = NULL;
   
@@ -662,6 +663,8 @@
   gtk_label_set_mnemonic_widget (GTK_LABEL (label), option_menu);
 
   conf_string = gm_conf_get_string (conf_key);
+  if (conf_string == NULL)
+    conf_string = g_strdup (default_value);
   while (options [cpt]) {
 
     if (conf_string && !strcmp (conf_string, options [cpt]))
@@ -719,7 +722,8 @@
 void
 gnome_prefs_string_option_menu_update (GtkWidget *option_menu,
 				       const gchar **options,
-				       const gchar *conf_key)
+				       const gchar *conf_key,
+                                       const gchar *default_value)
 {
   GtkTreeModel *model = NULL;
   GtkTreeIter iter;
@@ -734,6 +738,8 @@
     return;
   
   conf_string = gm_conf_get_string (conf_key);
+  if (conf_string == NULL)
+    conf_string = g_strdup (default_value);
 
   model = gtk_combo_box_get_model (GTK_COMBO_BOX (option_menu));
 

Modified: trunk/lib/gui/gmpreferences.h
==============================================================================
--- trunk/lib/gui/gmpreferences.h	(original)
+++ trunk/lib/gui/gmpreferences.h	Mon Dec 15 20:34:07 2008
@@ -193,7 +193,8 @@
  *                 The first parameter is the section in which 
  *                 the GtkEntry should be attached. The other parameters are
  *                 the text label, the possible values for the menu, the config
- *                 key, the tooltip, the row where to attach it in the section.
+ *                 key, the tooltip, the row where to attach it in the section and
+ *                 the default value if the conf key is associated to a NULL value.
  * PRE          :  The array ends with NULL. 
  */
 GtkWidget *gnome_prefs_string_option_menu_new (GtkWidget *,
@@ -201,19 +202,22 @@
 					       const gchar **,
 					       const gchar *,
 					       const gchar *,
-					       int);
+					       int,
+                                               const gchar *);
 
 
 /* DESCRIPTION  :  /
  * BEHAVIOR     :  Updates the content of a GtkOptionMenu associated with
  *                 a string config key. The first parameter is the menu,
  *                 the second is the array of possible values, and the
- *                 last one is the config key. 
+ *                 last one is the config key and the default value if the
+ *                 conf key is associated to a NULL value. 
  * PRE          :  The array ends with NULL.
  */
 void gnome_prefs_string_option_menu_update (GtkWidget *,
 					    const gchar **,
-					    const gchar *);
+					    const gchar *,
+                                            const gchar *);
 
 
 

Modified: trunk/src/gui/assistant.cpp
==============================================================================
--- trunk/src/gui/assistant.cpp	(original)
+++ trunk/src/gui/assistant.cpp	Mon Dec 15 20:34:07 2008
@@ -141,13 +141,13 @@
 
 void 
 get_audiooutput_devices_list (Ekiga::ServiceCore *core,
-                                        std::vector<std::string> & device_list);
+                              std::vector<std::string> & device_list);
 void 
 get_audioinput_devices_list (Ekiga::ServiceCore *core,
-                                        std::vector<std::string> & device_list);
+                             std::vector<std::string> & device_list);
 void 
 get_videoinput_devices_list (Ekiga::ServiceCore *core,
-                                        std::vector<std::string> & device_list);
+                             std::vector<std::string> & device_list);
 
 gchar**
 convert_string_list (const std::vector<std::string> & list);
@@ -1089,8 +1089,16 @@
   char **array;
 
   ringer = gm_conf_get_string (SOUND_EVENTS_KEY "output_device");
+  if (ringer == NULL)
+    ringer = g_strdup ("Default (PTLIB/ALSA)");
+
   player = gm_conf_get_string (AUDIO_DEVICES_KEY "output_device");
+  if (player == NULL)
+    player = g_strdup ("Default (PTLIB/ALSA)");
+
   recorder = gm_conf_get_string (AUDIO_DEVICES_KEY "input_device");
+  if (recorder == NULL)
+    recorder = g_strdup ("Default (PTLIB/ALSA)");
 
   /* FIXME: We should use DetectDevices, however DetectDevices
    * works only for the currently selected audio and video plugins,
@@ -1202,6 +1210,7 @@
   update_combo_box (GTK_COMBO_BOX (assistant->priv->video_device),
                     array, current_plugin);
   g_free (array);
+  g_free (current_plugin);
 }
 
 static void
@@ -1224,7 +1233,7 @@
 // FIXME: duplicate to gm_prefs_window_get_video_devices_list
 void 
 get_audiooutput_devices_list (Ekiga::ServiceCore *core,
-                                        std::vector<std::string> & device_list)
+                              std::vector<std::string> & device_list)
 {
   gmref_ptr<Ekiga::AudioOutputCore> audiooutput_core
     = core->get ("audiooutput-core");
@@ -1248,7 +1257,7 @@
 
 void 
 get_audioinput_devices_list (Ekiga::ServiceCore *core,
-                                        std::vector<std::string> & device_list)
+                             std::vector<std::string> & device_list)
 {
   gmref_ptr<Ekiga::AudioInputCore> audioinput_core
     = core->get ("audioinput-core");

Modified: trunk/src/gui/conf.cpp
==============================================================================
--- trunk/src/gui/conf.cpp	(original)
+++ trunk/src/gui/conf.cpp	Mon Dec 15 20:34:07 2008
@@ -65,45 +65,6 @@
 
 
 /* The functions */
-gboolean 
-gnomemeeting_conf_check ()
-{
-  int conf_test = -1;
-  
-  /* Check the config is ok */
-  conf_test = gm_conf_get_int (GENERAL_KEY "gconf_test_age");
-  
-  if (conf_test != SCHEMA_AGE) 
-    return FALSE;
-
-  return TRUE;
-}
-
-
-void
-gnomemeeting_conf_init ()
-{
-  GtkWidget *main_window = NULL;
-  
-  main_window = GnomeMeeting::Process ()->GetMainWindow ();
-
-
-  /* There are in general 2 notifiers to attach to each widget :
-   * - the notifier that will update the widget itself to the new key,
-   *   that one is attached when creating the widget.
-   * - the notifier to take an appropriate action, that one is in this file.
-   *   
-   * Notice that there can be more than 2 notifiers for a key, some actions
-   * like updating the ILS server are for example required for
-   * several different key changes, they are thus in a separate notifier when
-   * they can be reused at several places. If not, a same notifier can contain
-   * several actions.
-   */
-
-
-}
-
-
 void 
 gnomemeeting_conf_upgrade ()
 {
@@ -156,13 +117,6 @@
   }
   g_free (conf_url);
 
-  /* Upgrade IP detector IP address */
-  conf_url = gm_conf_get_string (NAT_KEY "public_ip_detector");
-  if (conf_url && !strcmp (conf_url, "http://213.193.144.104/ip/";))
-    gm_conf_set_string (NAT_KEY "public_ip_detector", 
-			"http://ekiga.net/ip/";);
-  g_free (conf_url);
-
   /* New full name key */
   conf_url = gm_conf_get_string (PERSONAL_DATA_KEY "full_name");
   if (!conf_url || (conf_url && !strcmp (conf_url, ""))) {

Modified: trunk/src/gui/conf.h
==============================================================================
--- trunk/src/gui/conf.h	(original)
+++ trunk/src/gui/conf.h	Mon Dec 15 20:34:07 2008
@@ -50,22 +50,6 @@
 /* The functions */
 
 /* DESCRIPTION  :  /
- * BEHAVIOR     :  Checks if the configuration can been loaded or not.
- *                 Returns FALSE in case of error.
- * PRE          :  /
- */
-gboolean gnomemeeting_conf_check ();
-
-
-/* DESCRIPTION  :  /
- * BEHAVIOR     :  This function inits all the notifiers
- *                 that Ekiga uses. 
- * PRE          :  /
- */
-void gnomemeeting_conf_init ();
-
-
-/* DESCRIPTION  :  /
  * BEHAVIOR     :  This function updates the GConf keys from version
  *                 to version.
  * PRE          :  /

Modified: trunk/src/gui/main.cpp
==============================================================================
--- trunk/src/gui/main.cpp	(original)
+++ trunk/src/gui/main.cpp	Mon Dec 15 20:34:07 2008
@@ -3610,6 +3610,7 @@
                     0, 0);
 
   gtk_paned_pack2 (GTK_PANED (mw->priv->hpaned), mw->priv->call_panel_frame, true, false);
+  gtk_widget_realize (mw->priv->main_video_image);
 }
 
 static void
@@ -3828,8 +3829,7 @@
   Ekiga::DisplayInfo display_info;
   gboolean handled = FALSE;
 
-  handled = GTK_WIDGET_CLASS (ekiga_main_window_parent_class)->expose_event
-                                                               (widget, event);
+  handled = GTK_WIDGET_CLASS (ekiga_main_window_parent_class)->expose_event (widget, event);
 
   display_info.x = video_widget->allocation.x;
   display_info.y = video_widget->allocation.y;
@@ -3844,8 +3844,8 @@
 
   display_info.gc = GDK_GC_XGC (mw->priv->video_widget_gc);
   display_info.xdisplay = GDK_GC_XDISPLAY (mw->priv->video_widget_gc);
-
   display_info.window = GDK_WINDOW_XWINDOW (video_widget->window);
+
   g_return_val_if_fail (display_info.window != 0, handled);
 
   gdk_flush();
@@ -3853,8 +3853,7 @@
 
   display_info.widget_info_set = TRUE;
 
-  gmref_ptr<Ekiga::VideoOutputCore> videooutput_core
-    = mw->priv->core->get ("videooutput-core");
+  gmref_ptr<Ekiga::VideoOutputCore> videooutput_core = mw->priv->core->get ("videooutput-core");
   videooutput_core->set_display_info (display_info);
 
   return handled;
@@ -4471,20 +4470,11 @@
   }
 #endif
 
-  /* Configuration database initialization */
-#ifdef HAVE_GCONF
-  if (!gnomemeeting_conf_check ()) 
-    error = 3;
-#endif
-
   /* Init gm_conf */
   gm_conf_watch ();
 
   GnomeMeeting::Process ()->InitEngine ();
   GnomeMeeting::Process ()->BuildGUI ();
-  
-  /* Add depreciated notifiers */
-  gnomemeeting_conf_init ();
 
   /* Show the window if there is no error, exit with a popup if there
    * is a fatal error.
@@ -4539,16 +4529,6 @@
       title = g_strdup (_("No usable audio codecs detected"));
       msg = g_strdup (_("Ekiga didn't find any usable audio codec. Make sure that your installation is correct."));
       break;
-#ifdef HAVE_GCONF
-    case 3:
-      {
-	gchar *key_name = g_strdup ("\"/apps/" PACKAGE_NAME "/general/gconf_test_age\"");
-	title = g_strdup (_("Configuration database corruption"));
-	msg = g_strdup_printf (_("Ekiga got an invalid value for the configuration key %s.\n\nIt probably means that your configuration schemas have not been correctly installed or that the permissions are not correct.\n\nPlease check the FAQ (http://www.ekiga.org/), the troubleshooting section of the GConf site (http://www.gnome.org/projects/gconf/) or the mailing list archives for more information (http://mail.gnome.org) about this problem."), key_name);
-	g_free (key_name);
-      }
-      break;
-#endif
     default:
       break;
     }

Modified: trunk/src/gui/preferences.cpp
==============================================================================
--- trunk/src/gui/preferences.cpp	(original)
+++ trunk/src/gui/preferences.cpp	Mon Dec 15 20:34:07 2008
@@ -770,16 +770,16 @@
   gm_prefs_window_get_audiooutput_devices_list (pw->core, device_list);
   array = gm_prefs_window_convert_string_list(device_list);
   pw->sound_events_output = 
-    gnome_prefs_string_option_menu_new (subsection, _("Ringing Device"), (const gchar **)array, SOUND_EVENTS_KEY "output_device", _("Select the ringing audio device to use"), 0);
+    gnome_prefs_string_option_menu_new (subsection, _("Ringing Device"), (const gchar **)array, SOUND_EVENTS_KEY "output_device", _("Select the ringing audio device to use"), 0, "Default (PTLIB/ALSA)");
   pw->audio_player =
-    gnome_prefs_string_option_menu_new (subsection, _("Output device:"), (const gchar **)array, AUDIO_DEVICES_KEY "output_device", _("Select the audio output device to use"), 1);
+    gnome_prefs_string_option_menu_new (subsection, _("Output device:"), (const gchar **)array, AUDIO_DEVICES_KEY "output_device", _("Select the audio output device to use"), 1, "Default (PTLIB/ALSA)");
   g_free (array);
 
   /* The recorder */
   gm_prefs_window_get_audioinput_devices_list (pw->core, device_list);
   array = gm_prefs_window_convert_string_list(device_list);
   pw->audio_recorder =
-    gnome_prefs_string_option_menu_new (subsection, _("Input device:"), (const gchar **)array, AUDIO_DEVICES_KEY "input_device", _("Select the audio input device to use"), 2);
+    gnome_prefs_string_option_menu_new (subsection, _("Input device:"), (const gchar **)array, AUDIO_DEVICES_KEY "input_device", _("Select the audio input device to use"), 2, "Default (PTLIB/ALSA)");
   g_free (array);
 
 
@@ -930,7 +930,7 @@
   gm_prefs_window_get_videoinput_devices_list (pw->core, device_list);
   array = gm_prefs_window_convert_string_list(device_list);
   pw->video_device =
-    gnome_prefs_string_option_menu_new (subsection, _("Input device:"), (const gchar **)array, VIDEO_DEVICES_KEY "input_device", _("Select the video input device to use. If an error occurs when using this device a test picture will be transmitted."), 0);
+    gnome_prefs_string_option_menu_new (subsection, _("Input device:"), (const gchar **)array, VIDEO_DEVICES_KEY "input_device", _("Select the video input device to use. If an error occurs when using this device a test picture will be transmitted."), 0, NULL);
   g_free (array);
 
   /* Video Channel */
@@ -986,7 +986,7 @@
   
   gnome_prefs_toggle_new (subsection, _("Enable echo can_celation"), AUDIO_CODECS_KEY "enable_echo_cancelation", _("If enabled, use echo cancelation."), 1);
 
-  gnome_prefs_spin_new (subsection, _("Maximum _jitter buffer (in ms):"), AUDIO_CODECS_KEY "maximum_jitter_buffer", _("The maximum jitter buffer size for audio reception (in ms)."), 30.0, 2000.0, 50.0, 2, NULL, true);
+  gnome_prefs_spin_new (subsection, _("Maximum _jitter buffer (in ms):"), AUDIO_CODECS_KEY "maximum_jitter_buffer", _("The maximum jitter buffer size for audio reception (in ms)."), 20.0, 2000.0, 50.0, 2, NULL, true);
 }
 
 
@@ -1040,31 +1040,6 @@
 }
 
 
-/*
-static void
-image_filename_browse_cb (GtkWidget *b,
-			  gpointer data)
-{
-  char *filename = NULL;
-  char *current_filename = NULL;
-
-  g_return_if_fail (data != NULL);
-  filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (b));
-
-  if (filename == NULL)
-    return;
-  
-  current_filename = gm_conf_get_string ((gchar *) data);
-  if (current_filename && strcmp (current_filename, filename))
-    gm_conf_set_string ((gchar *) data, (gchar *) filename);
-
-  g_free (filename);
-  g_free (current_filename);
-
-  g_signal_emit_by_name (G_OBJECT (b), "update-preview");
-}
-*/
-
 static void
 audioev_filename_browse_cb (GtkWidget *b,
                             gpointer data)
@@ -1300,10 +1275,12 @@
   array = gm_prefs_window_convert_string_list(device_list);
   gnome_prefs_string_option_menu_update (pw->audio_player,
  					 (const gchar **)array,
- 					 AUDIO_DEVICES_KEY "output_device");
-   gnome_prefs_string_option_menu_update (pw->sound_events_output,
- 					 (const gchar **)array,
- 					 SOUND_EVENTS_KEY "output_device");
+ 					 AUDIO_DEVICES_KEY "output_device",
+                                         "Default (PTLIB/ALSA)");
+  gnome_prefs_string_option_menu_update (pw->sound_events_output,
+                                         (const gchar **)array,
+                                         SOUND_EVENTS_KEY "output_device",
+                                         "Default (PTLIB/ALSA)");
   g_free (array);
 
   /* The recorder */
@@ -1311,7 +1288,8 @@
   array = gm_prefs_window_convert_string_list(device_list);
   gnome_prefs_string_option_menu_update (pw->audio_recorder,
  					 (const gchar **)array,
- 					 AUDIO_DEVICES_KEY "input_device");
+ 					 AUDIO_DEVICES_KEY "input_device",
+                                         "Default (PTLIB/ALSA)");
   g_free (array);
 
 
@@ -1320,7 +1298,8 @@
   array = gm_prefs_window_convert_string_list(device_list);
   gnome_prefs_string_option_menu_update (pw->video_device,
 					 (const gchar **)array,
-					 VIDEO_DEVICES_KEY "input_device");
+					 VIDEO_DEVICES_KEY "input_device",
+                                         NULL);
   g_free (array);
 }
 

Modified: trunk/src/gui/statusmenu.cpp
==============================================================================
--- trunk/src/gui/statusmenu.cpp	(original)
+++ trunk/src/gui/statusmenu.cpp	Mon Dec 15 20:34:07 2008
@@ -450,7 +450,8 @@
   int i = 0;
   int cpt = 0;
 
-  g_return_if_fail (!presence.empty ());
+  if (presence.empty ())
+    return;
 
   valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (self->priv->list_store), &iter);
   while (valid) {
@@ -703,20 +704,20 @@
   case GTK_RESPONSE_ACCEPT:
     message = gtk_entry_get_text (GTK_ENTRY (entry));
     clist = gm_conf_get_string_list (status_types_keys[option - NUM_STATUS_TYPES - 1]);
-    if (strcmp (message, "")) { 
+    if (message && strcmp (message, "")) { 
       clist = g_slist_append (clist, g_strdup (message));
       gm_conf_set_string_list (status_types_keys[option - NUM_STATUS_TYPES - 1], clist);
       self->priv->personal_details->set_presence_info (status_types_names[option - NUM_STATUS_TYPES - 1], message);
     }
     else {
-      status_menu_set_option (self, presence, status);
+      status_menu_set_option (self, presence ? presence : "", status ? status : "");
     }
     g_slist_foreach (clist, (GFunc) g_free, NULL);
     g_slist_free (clist);
     break;
 
   default:
-    status_menu_set_option (self, presence, status);
+    status_menu_set_option (self, presence ? presence : "", status ? status : "");
     break;
   }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]