ekiga r6031 - in trunk: . lib/engine lib/engine/display/common lib/engine/display/dx lib/engine/display/skel lib/engine/display/x src/gui



Author: mschneid
Date: Wed Mar  5 06:53:34 2008
New Revision: 6031
URL: http://svn.gnome.org/viewvc/ekiga?rev=6031&view=rev

Log:
Moved configuration of the DisplayCore to the display-core-bridge.


Added:
   trunk/lib/engine/display/skel/display-gmconf-bridge.cpp
   trunk/lib/engine/display/skel/display-gmconf-bridge.h
Modified:
   trunk/ChangeLog
   trunk/lib/engine/display/common/display-manager-common.cpp
   trunk/lib/engine/display/dx/Makefile.am
   trunk/lib/engine/display/skel/Makefile.am
   trunk/lib/engine/display/skel/display-core.cpp
   trunk/lib/engine/display/skel/display-core.h
   trunk/lib/engine/display/skel/display-manager.h
   trunk/lib/engine/display/x/Makefile.am
   trunk/lib/engine/engine.cpp
   trunk/src/gui/main.cpp

Modified: trunk/lib/engine/display/common/display-manager-common.cpp
==============================================================================
--- trunk/lib/engine/display/common/display-manager-common.cpp	(original)
+++ trunk/lib/engine/display/common/display-manager-common.cpp	Wed Mar  5 06:53:34 2008
@@ -183,7 +183,6 @@
   var_mutex.Signal();
 
   if ((local_display_info.display == UNSET) || (local_display_info.zoom == 0) || (!local_display_info.config_info_set)) {
-    runtime.run_in_main (display_info_update_required.make_slot ());
     PTRACE(4, "GMDisplayManager\tDisplay and zoom variable not set yet, not opening display");
      return;
   }

Modified: trunk/lib/engine/display/dx/Makefile.am
==============================================================================
--- trunk/lib/engine/display/dx/Makefile.am	(original)
+++ trunk/lib/engine/display/dx/Makefile.am	Wed Mar  5 06:53:34 2008
@@ -6,6 +6,7 @@
 AM_CXXFLAGS = $(SIGC_CFLAGS) $(PTLIB_CFLAGS) $(DX_CFLAGS) $(GLIB_CFLAGS)
 
 INCLUDES = \
+	-I$(top_srcdir)/lib/gmconf \
 	-I$(top_srcdir)/lib/engine/include \
 	-I$(top_srcdir)/lib/engine/framework \
 	-I$(top_srcdir)/lib/engine/display/skel \

Modified: trunk/lib/engine/display/skel/Makefile.am
==============================================================================
--- trunk/lib/engine/display/skel/Makefile.am	(original)
+++ trunk/lib/engine/display/skel/Makefile.am	Wed Mar  5 06:53:34 2008
@@ -5,6 +5,7 @@
 AM_CXXFLAGS = $(SIGC_CFLAGS) $(GLIB_CFLAGS)
 
 INCLUDES = \
+	-I$(top_srcdir)/lib/gmconf \
 	-I$(top_srcdir)/lib/engine/include \
 	-I$(top_srcdir)/lib/engine/framework \
 	-I$(top_srcdir)/lib/engine/display/skel
@@ -12,6 +13,8 @@
 libgmdisplay_la_SOURCES = \
 	$(display_dir)/display-manager.h	\
 	$(display_dir)/display-core.h		\
-	$(display_dir)/display-core.cpp
+	$(display_dir)/display-core.cpp         \
+	$(display_dir)/display-gmconf-bridge.h  \
+	$(display_dir)/display-gmconf-bridge.cpp
 
 libgmdisplay_la_LDFLAGS = -export-dynamic -no-undefined $(SIGC_LIBS) $(GLIB_LIBS)

Modified: trunk/lib/engine/display/skel/display-core.cpp
==============================================================================
--- trunk/lib/engine/display/skel/display-core.cpp	(original)
+++ trunk/lib/engine/display/skel/display-core.cpp	Wed Mar  5 06:53:34 2008
@@ -55,6 +55,22 @@
   display_stats.rx_frames = 0;
   display_stats.tx_frames = 0;
   number_times_started = 0;
+  display_core_conf_bridge = NULL;
+}
+
+DisplayCore::~DisplayCore ()
+{
+  PWaitAndSignal m(var_mutex);
+
+  if (display_core_conf_bridge)
+    delete display_core_conf_bridge;
+}
+
+void DisplayCore::setup_conf_bridge ()
+{
+  PWaitAndSignal m(var_mutex);
+
+  display_core_conf_bridge = new DisplayCoreConfBridge (*this);
 }
 
 void DisplayCore::add_manager (DisplayManager &manager)
@@ -69,7 +85,6 @@
   manager.display_size_changed.connect (sigc::bind (sigc::mem_fun (this, &DisplayCore::on_display_size_changed), &manager));
   manager.hw_accel_status_changed.connect (sigc::bind (sigc::mem_fun (this, &DisplayCore::on_hw_accel_status_changed), &manager));
   manager.logo_update_required.connect (sigc::bind (sigc::mem_fun (this, &DisplayCore::on_logo_update_required), &manager));
-  manager.display_info_update_required.connect (sigc::bind (sigc::mem_fun (this, &DisplayCore::on_display_info_update_required), &manager));
 }
 
 
@@ -204,8 +219,3 @@
 {
   logo_update_required.emit (*manager);
 }
-
-void DisplayCore::on_display_info_update_required (DisplayManager *manager)
-{
-  display_info_update_required.emit (*manager);
-}

Modified: trunk/lib/engine/display/skel/display-core.h
==============================================================================
--- trunk/lib/engine/display/skel/display-core.h	(original)
+++ trunk/lib/engine/display/skel/display-core.h	Wed Mar  5 06:53:34 2008
@@ -39,6 +39,7 @@
 
 #include "services.h"
 
+#include "display-gmconf-bridge.h"
 #include "display-info.h"
 
 #include <sigc++/sigc++.h>
@@ -75,8 +76,9 @@
 
       /* The destructor
       */
-      ~DisplayCore () {}
+      ~DisplayCore ();
 
+      void setup_conf_bridge();
 
       /*** Service Implementation ***/
 
@@ -133,7 +135,6 @@
       sigc::signal<void, DisplayManager &, unsigned, unsigned> display_size_changed;
       sigc::signal<void, DisplayManager &, HwAccelStatus> hw_accel_status_changed;
       sigc::signal<void, DisplayManager &> logo_update_required;
-      sigc::signal<void, DisplayManager &> display_info_update_required;
 
       /*** Statistics ***/
       void get_display_stats (DisplayStats & _display_stats) {
@@ -145,7 +146,6 @@
       void on_display_size_changed ( unsigned width, unsigned height, DisplayManager *manager);
       void on_hw_accel_status_changed (HwAccelStatus hw_accel_status, DisplayManager *manager);
       void on_logo_update_required (DisplayManager *manager);
-      void on_display_info_update_required (DisplayManager *manager);
 
       std::set<DisplayManager *> managers;
 
@@ -154,7 +154,8 @@
       int number_times_started;
 
       PMutex var_mutex;     /* Protect start, stop and number_times_started */
-       
+
+      DisplayCoreConfBridge* display_core_conf_bridge;
     };
 /**
  * @}

Added: trunk/lib/engine/display/skel/display-gmconf-bridge.cpp
==============================================================================
--- (empty file)
+++ trunk/lib/engine/display/skel/display-gmconf-bridge.cpp	Wed Mar  5 06:53:34 2008
@@ -0,0 +1,109 @@
+
+/*
+ * Ekiga -- A VoIP and Video-Conferencing application
+ * Copyright (C) 2000-2008 Damien Sandras
+
+ * 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 2 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.,
+ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Ekiga is licensed under the GPL license and as a special exception, you
+ * have permission to link or otherwise combine this program with the
+ * programs OPAL, OpenH323 and PWLIB, and distribute the combination, without
+ * applying the requirements of the GNU GPL to the OPAL, OpenH323 and PWLIB
+ * programs, as long as you do follow the requirements of the GNU GPL for all
+ * the rest of the software thus combined.
+ */
+
+
+/*
+ *                         vidinput-core.cpp  -  description
+ *                         ------------------------------------------
+ *   begin                : written in 2008 by Matthias Schneider
+ *   copyright            : (c) 2008 by Matthias Schneider
+ *   description          : declaration of the interface of a vidinput core.
+ *                          A vidinput core manages VidInputManagers.
+ *
+ */
+
+#include "config.h"
+
+#include "display-gmconf-bridge.h"
+#include "display-core.h"
+
+#define USER_INTERFACE_KEY "/apps/" PACKAGE_NAME "/general/user_interface/"
+#define VIDEO_DISPLAY_KEY USER_INTERFACE_KEY "video_display/"
+
+using namespace Ekiga;
+
+DisplayCoreConfBridge::DisplayCoreConfBridge (Ekiga::Service & _service)
+ : Ekiga::ConfBridge (_service)
+{
+  Ekiga::ConfKeys keys;
+  property_changed.connect (sigc::mem_fun (this, &DisplayCoreConfBridge::on_property_changed));
+
+  keys.push_back (VIDEO_DISPLAY_KEY "video_view"); 
+  keys.push_back (VIDEO_DISPLAY_KEY "zoom"); 
+  keys.push_back (VIDEO_DISPLAY_KEY "stay_on_top"); 
+  keys.push_back (VIDEO_DISPLAY_KEY "disable_hw_accel"); 
+  keys.push_back (VIDEO_DISPLAY_KEY "allow_pip_sw_scaling"); 
+  keys.push_back (VIDEO_DISPLAY_KEY "sw_scaling_algorithm"); 
+
+  load (keys);
+}
+
+void DisplayCoreConfBridge::on_property_changed (std::string key, GmConfEntry *entry)
+{
+  DisplayCore & display_core = (DisplayCore &) service;
+  if (key == VIDEO_DISPLAY_KEY "video_view")  {
+
+    DisplayInfo display_info;
+    PTRACE(4, "DisplayCoreConfBridge\tUpdating video view");
+
+    if (( gm_conf_get_int (VIDEO_DISPLAY_KEY "video_view") < 0) || ( gm_conf_get_int (VIDEO_DISPLAY_KEY "video_view") > 4))
+      gm_conf_set_int (VIDEO_DISPLAY_KEY "video_view", 0);
+
+    display_info.display = (DisplayMode) gm_conf_get_int (VIDEO_DISPLAY_KEY "video_view");
+    display_core.set_display_info(display_info);
+  }
+  else if ( (key == VIDEO_DISPLAY_KEY "zoom") ) {
+
+    DisplayInfo display_info;
+    PTRACE(4, "DisplayCoreConfBridge\tUpdating zoom");
+      
+    display_info.zoom = gm_conf_get_int (VIDEO_DISPLAY_KEY "zoom");
+    if ((display_info.zoom != 100) && (display_info.zoom != 50) && (display_info.zoom != 200)) {
+      display_info.zoom = 100;
+      gm_conf_set_int (VIDEO_DISPLAY_KEY "zoom", 100);
+    }
+
+    display_core.set_display_info(display_info);
+
+  }
+  else {
+
+    PTRACE(4, "DisplayCoreConfBridge\tUpdating Video Settings");
+    DisplayInfo display_info;
+
+    display_info.on_top = gm_conf_get_bool (VIDEO_DISPLAY_KEY "stay_on_top");
+    display_info.disable_hw_accel = gm_conf_get_bool (VIDEO_DISPLAY_KEY "disable_hw_accel");
+    display_info.allow_pip_sw_scaling = gm_conf_get_bool (VIDEO_DISPLAY_KEY "allow_pip_sw_scaling");
+    display_info.sw_scaling_algorithm = gm_conf_get_int (VIDEO_DISPLAY_KEY "sw_scaling_algorithm");
+    if (display_info.sw_scaling_algorithm > 3) {
+      display_info.sw_scaling_algorithm = 0;
+      gm_conf_set_int (VIDEO_DISPLAY_KEY "sw_scaling_algorithm", 0);
+    }
+    display_info.config_info_set = TRUE;
+
+    display_core.set_display_info(display_info);
+  }
+}
+

Added: trunk/lib/engine/display/skel/display-gmconf-bridge.h
==============================================================================
--- (empty file)
+++ trunk/lib/engine/display/skel/display-gmconf-bridge.h	Wed Mar  5 06:53:34 2008
@@ -0,0 +1,57 @@
+
+/*
+ * Ekiga -- A VoIP and Video-Conferencing application
+ * Copyright (C) 2000-2008 Damien Sandras
+
+ * 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 2 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.,
+ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Ekiga is licensed under the GPL license and as a special exception, you
+ * have permission to link or otherwise combine this program with the
+ * programs OPAL, OpenH323 and PWLIB, and distribute the combination, without
+ * applying the requirements of the GNU GPL to the OPAL, OpenH323 and PWLIB
+ * programs, as long as you do follow the requirements of the GNU GPL for all
+ * the rest of the software thus combined.
+ */
+
+
+/*
+ *                         vidinput-core.h  -  description
+ *                         ------------------------------------------
+ *   begin                : written in 2008 by Matthias Schneider
+ *   copyright            : (c) 2008 by Matthias Schneider
+ *   description          : Declaration of the interface of a display core.
+ *                          A display core manages DisplayManagers.
+ *
+ */
+
+#ifndef __DISPLAY_GMCONF_BRIDGE_H__
+#define __DISPLAY_GMCONF_BRIDGE_H__
+
+#include "services.h"
+#include "gmconf-bridge.h"
+
+namespace Ekiga
+{
+  class DisplayCoreConfBridge
+    : public Ekiga::ConfBridge
+  {
+  public:
+
+    DisplayCoreConfBridge (Ekiga::Service & service);
+
+    void on_property_changed (std::string key, GmConfEntry *value);
+  };
+
+};
+
+#endif

Modified: trunk/lib/engine/display/skel/display-manager.h
==============================================================================
--- trunk/lib/engine/display/skel/display-manager.h	(original)
+++ trunk/lib/engine/display/skel/display-manager.h	Wed Mar  5 06:53:34 2008
@@ -87,7 +87,6 @@
       sigc::signal<void, unsigned, unsigned> display_size_changed;
       sigc::signal<void, HwAccelStatus> hw_accel_status_changed;
       sigc::signal<void> logo_update_required;
-      sigc::signal<void> display_info_update_required;
 
   protected:  
       virtual void get_display_info (DisplayInfo &) { };

Modified: trunk/lib/engine/display/x/Makefile.am
==============================================================================
--- trunk/lib/engine/display/x/Makefile.am	(original)
+++ trunk/lib/engine/display/x/Makefile.am	Wed Mar  5 06:53:34 2008
@@ -6,6 +6,7 @@
 AM_CXXFLAGS = $(SIGC_CFLAGS) $(PTLIB_CFLAGS) $(GLIB_CFLAGS) $(XV_CFLAGS)
 
 INCLUDES = \
+	-I$(top_srcdir)/lib/gmconf \
 	-I$(top_srcdir)/lib/engine/include \
 	-I$(top_srcdir)/lib/engine/framework \
 	-I$(top_srcdir)/lib/engine/display/skel \

Modified: trunk/lib/engine/engine.cpp
==============================================================================
--- trunk/lib/engine/engine.cpp	(original)
+++ trunk/lib/engine/engine.cpp	Wed Mar  5 06:53:34 2008
@@ -196,4 +196,5 @@
   }
 
   vidinput_core->setup_conf_bridge();
+  display_core->setup_conf_bridge();
 }

Modified: trunk/src/gui/main.cpp
==============================================================================
--- trunk/src/gui/main.cpp	(original)
+++ trunk/src/gui/main.cpp	Wed Mar  5 06:53:34 2008
@@ -973,41 +973,6 @@
   gm_main_window_update_logo_have_window (GTK_WIDGET (self));
 }
 
-void 
-on_display_info_update_required_cb(Ekiga::DisplayManager & /* manager */, gpointer self)
-{
-  GmMainWindow *mw = gm_mw_get_mw (GTK_WIDGET (self));
-
-  DisplayInfo display_info;
-
-  if (( gm_conf_get_int (VIDEO_DISPLAY_KEY "video_view") < 0) || ( gm_conf_get_int (VIDEO_DISPLAY_KEY "video_view") > 4))
-    gm_conf_set_int (VIDEO_DISPLAY_KEY "video_view", 0);
-
-  display_info.display = (DisplayMode) gm_conf_get_int (VIDEO_DISPLAY_KEY "video_view");
-
-  display_info.zoom = gm_conf_get_int (VIDEO_DISPLAY_KEY "zoom");
-  if ((display_info.zoom != 100) && (display_info.zoom != 50) && (display_info.zoom != 200)) {
-    display_info.zoom = 100;
-    gm_conf_set_int (VIDEO_DISPLAY_KEY "zoom", 100);
-  }
-
-  display_info.on_top = gm_conf_get_bool (VIDEO_DISPLAY_KEY "stay_on_top");
-  display_info.disable_hw_accel = gm_conf_get_bool (VIDEO_DISPLAY_KEY "disable_hw_accel");
-  display_info.allow_pip_sw_scaling = gm_conf_get_bool (VIDEO_DISPLAY_KEY "allow_pip_sw_scaling");
-  display_info.sw_scaling_algorithm = gm_conf_get_int (VIDEO_DISPLAY_KEY "sw_scaling_algorithm");
-  if (display_info.sw_scaling_algorithm > 3) {
-    display_info.sw_scaling_algorithm = 0;
-    gm_conf_set_int (VIDEO_DISPLAY_KEY "sw_scaling_algorithm", 0);
-  }
-  display_info.config_info_set = TRUE;
-
-  Ekiga::DisplayCore *display_core = dynamic_cast<Ekiga::DisplayCore *> (mw->core.get ("display-core"));
-  display_core->set_display_info(display_info);
-
-//   gm_main_window_set_resized_video_widget (176,144); //FIXME: is this necessary (call on_display_size_changed_cb)
-}
-
-
 /* Implementation */
 static void
 gm_mw_destroy (gpointer m)
@@ -2392,9 +2357,6 @@
 
   gm_conf_set_int ((char *) data, display_info.zoom);
   gm_mw_zooms_menu_update_sensitivity (main_window, display_info.zoom);
-
-  Ekiga::DisplayCore *display_core = dynamic_cast<Ekiga::DisplayCore *> (mw->core.get ("display-core"));
-  display_core->set_display_info(display_info);
 }
 
 
@@ -2419,11 +2381,6 @@
 
   gm_conf_set_int ((char *) data, display_info.zoom);
   gm_mw_zooms_menu_update_sensitivity (main_window, display_info.zoom);
-
-  Ekiga::DisplayCore *display_core = dynamic_cast<Ekiga::DisplayCore *> (mw->core.get ("display-core"));
-  display_core->set_display_info(display_info);
-
-
 }
 
 
@@ -2445,9 +2402,6 @@
 
   gm_conf_set_int ((char *) data, display_info.zoom);
   gm_mw_zooms_menu_update_sensitivity (main_window, display_info.zoom);
-
-  Ekiga::DisplayCore *display_core = dynamic_cast<Ekiga::DisplayCore *> (mw->core.get ("display-core"));
-  display_core->set_display_info(display_info);
 }
 
 
@@ -2485,11 +2439,6 @@
     }
 
     gm_conf_set_int ((gchar *) data, group_last_pos - active);
-
-    display_info.display = (DisplayMode) (group_last_pos - active);
-
-    Ekiga::DisplayCore *display_core = dynamic_cast<Ekiga::DisplayCore *> (mw->core.get ("display-core"));
-    display_core->set_display_info(display_info);
   }
 }
 
@@ -2970,26 +2919,22 @@
   GmMainWindow *mw = gm_mw_get_mw (main_window);
   g_return_if_fail (mw != NULL);
 
-  DisplayInfo display_info;
-  Ekiga::DisplayCore *display_core = dynamic_cast<Ekiga::DisplayCore *> (mw->core.get ("display-core"));
+  DisplayMode display_mode;
 
   switch (toggle) {
     case OFF:
       if (gm_conf_get_int (VIDEO_DISPLAY_KEY "video_view") == FULLSCREEN) {
 
-        display_info.display = (DisplayMode) gm_conf_get_int (VIDEO_DISPLAY_KEY "video_view_before_fullscreen");
-        gm_conf_set_int (VIDEO_DISPLAY_KEY "video_view", display_info.display);
-        display_core->set_display_info(display_info);
+        display_mode = (DisplayMode) gm_conf_get_int (VIDEO_DISPLAY_KEY "video_view_before_fullscreen");
+        gm_conf_set_int (VIDEO_DISPLAY_KEY "video_view", display_mode);
       }
       break;
     case ON:
       if (gm_conf_get_int (VIDEO_DISPLAY_KEY "video_view") != FULLSCREEN) {
 
-        display_info.display = (DisplayMode) gm_conf_get_int (VIDEO_DISPLAY_KEY "video_view");
-        gm_conf_set_int (VIDEO_DISPLAY_KEY "video_view_before_fullscreen", display_info.display);
+        display_mode = (DisplayMode) gm_conf_get_int (VIDEO_DISPLAY_KEY "video_view");
+        gm_conf_set_int (VIDEO_DISPLAY_KEY "video_view_before_fullscreen", display_mode);
         gm_conf_set_int (VIDEO_DISPLAY_KEY "video_view", FULLSCREEN);
-        display_info.display = FULLSCREEN;
-        display_core->set_display_info(display_info);
       }
       break;
 
@@ -2997,17 +2942,14 @@
     default:
       if (gm_conf_get_int (VIDEO_DISPLAY_KEY "video_view") == FULLSCREEN) {
 
-        display_info.display = (DisplayMode) gm_conf_get_int (VIDEO_DISPLAY_KEY "video_view_before_fullscreen");
-        gm_conf_set_int (VIDEO_DISPLAY_KEY "video_view", display_info.display);
-        display_core->set_display_info(display_info);
+        display_mode = (DisplayMode) gm_conf_get_int (VIDEO_DISPLAY_KEY "video_view_before_fullscreen");
+        gm_conf_set_int (VIDEO_DISPLAY_KEY "video_view", display_mode);
       }
       else {
 
-        display_info.display =  (DisplayMode) gm_conf_get_int (VIDEO_DISPLAY_KEY "video_view");
-        gm_conf_set_int (VIDEO_DISPLAY_KEY "video_view_before_fullscreen", display_info.display);
+        display_mode =  (DisplayMode) gm_conf_get_int (VIDEO_DISPLAY_KEY "video_view");
+        gm_conf_set_int (VIDEO_DISPLAY_KEY "video_view_before_fullscreen", display_mode);
         gm_conf_set_int (VIDEO_DISPLAY_KEY "video_view", FULLSCREEN);
-        display_info.display = FULLSCREEN;
-        display_core->set_display_info(display_info);
       }
       break;
   }
@@ -3620,9 +3562,6 @@
   /* New Display Engine signals */
   Ekiga::DisplayCore *display_core = dynamic_cast<Ekiga::DisplayCore *> (mw->core.get ("display-core"));
 
-  conn = display_core->display_info_update_required.connect (sigc::bind (sigc::ptr_fun (on_display_info_update_required_cb), (gpointer) window));
-  mw->connections.push_back (conn);
-
   conn = display_core->logo_update_required.connect (sigc::bind (sigc::ptr_fun (on_logo_update_required_cb), (gpointer) window));
   mw->connections.push_back (conn);
 
@@ -3638,11 +3577,8 @@
   conn = display_core->hw_accel_status_changed.connect (sigc::bind (sigc::ptr_fun (on_hw_accel_status_changed_cb), (gpointer) window));
   mw->connections.push_back (conn);
 
-
+  /* New VidInput Engine signals */
   Ekiga::VidInputCore *vidinput_core = dynamic_cast<Ekiga::VidInputCore *> (mw->core.get ("vidinput-core"));
-  Ekiga::VidInputDevice vidinput_device;
-  std::vector <Ekiga::VidInputDevice> vidinput_devices;
-  vidinput_core->get_vidinput_devices(vidinput_devices);
 
   conn = vidinput_core->vidinputdevice_opened.connect (sigc::bind (sigc::ptr_fun (on_vidinputdevice_opened_cb), (gpointer) window));
   mw->connections.push_back (conn);
@@ -3652,50 +3588,6 @@
 
   conn = vidinput_core->vidinputdevice_error.connect (sigc::bind (sigc::ptr_fun (on_vidinputdevice_error_cb), (gpointer) window));
   mw->connections.push_back (conn);
-  // we have to register the error callback here...		    
-// 	dialog_title =
-// 	  g_strdup_printf (_("Error while opening video device %s"),
-// 			   (const char *) input_device);
-// 
-// 	tmp_msg = g_strdup (_("A moving logo will be transmitted during calls. Notice that you can always transmit a given image or the moving logo by choosing \"Picture\" as video plugin and \"Moving logo\" or \"Static picture\" as device."));
-// 	switch (error_code) {
-// 	  
-// 	case 1:
-// 	  dialog_msg = g_strconcat (tmp_msg, "\n\n", _("There was an error while opening the device. Please check your permissions and make sure that the appropriate driver is loaded."), NULL);
-// 	  break;
-// 	  
-// 	case 2:
-// 	  dialog_msg = g_strconcat (tmp_msg, "\n\n", _("Your video driver doesn't support the requested video format."), NULL);
-// 	  break;
-// 
-// 	case 3:
-// 	  dialog_msg = g_strconcat (tmp_msg, "\n\n", _("Could not open the chosen channel."), NULL);
-// 	  break;
-//       
-// 	case 4:
-// 	  dialog_msg = g_strconcat (tmp_msg, "\n\n", _("Your driver doesn't seem to support any of the color formats supported by Ekiga.\n Please check your kernel driver documentation in order to determine which Palette is supported."), NULL);
-// 	  break;
-// 	  
-// 	case 5:
-// 	  dialog_msg = g_strconcat (tmp_msg, "\n\n", _("Error while setting the frame rate."), NULL);
-// 	  break;
-// 
-// 	case 6:
-// 	  dialog_msg = g_strconcat (tmp_msg, "\n\n", _("Error while setting the frame size."), NULL);
-// 	  break;
-// 
-// 	default:
-// 	  break;
-// 	}
-// 
-// 	gnomemeeting_warning_dialog_on_widget (GTK_WINDOW (main_window),
-// 					       VIDEO_DEVICES_KEY "enable_preview",
-// 					       dialog_title,
-// 					       "%s", dialog_msg);
-// 	g_free (dialog_msg);
-// 	g_free (dialog_title);
-// 	g_free (tmp_msg);
-// 
 
   /* New Call Engine signals */
   Ekiga::CallCore *call_core = dynamic_cast<Ekiga::CallCore *> (mw->core.get ("call-core"));



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