Remove gconf dependency.
authorHong Jen Yee (PCMan) <pcman.tw@gmail.com>
Sun, 8 Oct 2006 11:09:45 +0000 (11:09 +0000)
committerHong Jen Yee (PCMan) <pcman.tw@gmail.com>
Sun, 8 Oct 2006 11:09:45 +0000 (11:09 +0000)
src/plugins/netstatus/Makefile.am
src/plugins/netstatus/netstatus-dialog.c
src/plugins/netstatus/netstatus-dialog.h
src/plugins/netstatus/netstatus.c

index 263dfdf..87adc1c 100644 (file)
@@ -3,8 +3,7 @@ if BUILD_PLUGIN_NETSTATUS
 INCLUDES = \
        -I. \
        -I$(top_srcdir)/src \
-       $(PACKAGE_CFLAGS) \
-       $(GCONF_CFLAGS)
+       $(PACKAGE_CFLAGS)
 
 module_LTLIBRARIES = netstatus.la
 
@@ -31,8 +30,8 @@ netstatus_la_SOURCES = \
        netstatus-iface.h
 
 netstatus_la_LIBADD = \
-       $(PACKAGE_CFLAGS) \
-       $(GCONF_LIBS)
+       $(PACKAGE_CFLAGS)
+
 netstatus_la_LDFLAGS = \
        -avoid-version \
        -rpath $(moduledir) \
index b2d3a57..1d4d468 100644 (file)
@@ -32,7 +32,7 @@
 #include "glade-support.h"
 
 #include <string.h>
-#include <gconf/gconf-client.h>
+/* #include <gconf/gconf-client.h> */
 
 #include "netstatus-icon.h"
 #include "netstatus-util.h"
@@ -57,9 +57,9 @@ typedef struct
   NetstatusIface *iface;
   NetstatusIcon  *icon;
 
-  GConfClient    *client;
+  /*  GConfClient    *client; */
   char           *config_tool;
-  guint           listener;
+  /* guint           listener; */
 
   GtkWidget      *name;
   GtkWidget      *status;
@@ -425,6 +425,7 @@ netstatus_dialog_destroy (GtkWidget *dialog)
     g_free (data->config_tool);
   data->config_tool = NULL;
 
+  /*
   if (data->listener)
     {
       g_assert (data->client != NULL);
@@ -438,6 +439,7 @@ netstatus_dialog_destroy (GtkWidget *dialog)
   if (data->client)
     g_object_unref (data->client);
   data->client = NULL;
+  */
 
   if (data->iface_list_monitor)
     g_source_remove (data->iface_list_monitor);
@@ -478,6 +480,7 @@ netstatus_dialog_check_config_tool (NetstatusDialogData *dialog_data,
   return found;
 }
 
+/*
 static void
 netstatus_dialog_config_tool_notify (GConfClient         *client,
                                     guint                cnx_id,
@@ -490,6 +493,7 @@ netstatus_dialog_config_tool_notify (GConfClient         *client,
   netstatus_dialog_check_config_tool (dialog_data,
                                      gconf_value_get_string (entry->value));
 }
+*/
 
 static void
 netstatus_dialog_detect_configuration_tool (NetstatusDialogData *dialog_data)
@@ -497,6 +501,7 @@ netstatus_dialog_detect_configuration_tool (NetstatusDialogData *dialog_data)
   char *config_tool;
   int   i;
 
+  /*
   dialog_data->client = gconf_client_get_default ();
 
   gconf_client_add_dir (dialog_data->client,
@@ -524,6 +529,7 @@ netstatus_dialog_detect_configuration_tool (NetstatusDialogData *dialog_data)
       if (netstatus_dialog_check_config_tool (dialog_data, network_config_tools [i]))
        break;
     }
+  */
 }
 
 static void
@@ -785,3 +791,19 @@ netstatus_dialog_new (NetstatusIface *iface)
 
   return data->dialog;
 }
+
+/* 2006.10.08 Add by Hong Jen Yee (PCMan) to be used in lxpanel plugin */
+void netstatus_dialog_set_configuration_tool( GtkWidget* dialog, const char* tool )
+{
+    NetstatusDialogData *data;
+    data = g_object_get_data (G_OBJECT (dialog), "netstatus-dialog-data");
+    g_free( data->config_tool );
+    data->config_tool = g_strdup( tool );
+}
+
+const char* netstatus_dialog_get_configuration_tool( GtkWidget* dialog )
+{
+    NetstatusDialogData *data;
+    data = g_object_get_data (G_OBJECT (dialog), "netstatus-dialog-data");
+    return data->config_tool;
+}
index 6fefc7c..58d6289 100644 (file)
@@ -1,2 +1,40 @@
+/*
+ * Copyright (C) 2003 Sun Microsystems, Inc.
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+
+ * Authors:
+ *      Mark McLoughlin <mark@skynet.ie>
+ */
+
+#ifndef __NETSTATUS_DIALOG_H__
+#define __NETSTATUS_DIALOG_H__
+
 #include <gtk/gtk.h>
 
+#include "netstatus-iface.h"
+
+G_BEGIN_DECLS
+
+GtkWidget *netstatus_dialog_new (NetstatusIface *iface);
+
+/* 2006.10.08 Add by Hong Jen Yee (PCMan) to be used in lxpanel plugin */
+void netstatus_dialog_set_configuration_tool( GtkWidget* dialog, const char* tool );
+const char* netstatus_dialog_get_configuration_tool( GtkWidget* dialog );
+
+G_END_DECLS
+
+#endif /* __NETSTATUS_DIALOG_H__ */
index 9d8f99a..6ba6e9b 100644 (file)
@@ -14,6 +14,7 @@
 
 typedef struct {
     char *iface;
+    char *config_tool;
     GtkWidget *mainw;
     GtkWidget *dlg;
 } netstatus;
@@ -27,6 +28,7 @@ netstatus_destructor(plugin *p)
     ENTER;
     gtk_widget_destroy(ns->mainw);
     g_free( ns->iface );
+    g_free( ns->config_tool );
     g_free(ns);
     RET();
 }
@@ -54,6 +56,7 @@ static void on_button_press( GtkWidget* widget, GdkEventButton* evt, plugin* p )
         {
             iface = netstatus_icon_get_iface( NETSTATUS_ICON(widget) );
             ns->dlg = netstatus_dialog_new(iface);
+            netstatus_dialog_set_configuration_tool( ns->dlg, ns->config_tool );
             g_signal_connect( ns->dlg, "response", on_response, ns );
         }
         gtk_window_present( GTK_WINDOW(ns->dlg) );
@@ -82,6 +85,8 @@ netstatus_constructor(plugin *p)
         if (s.type == LINE_VAR) {
             if (!g_ascii_strcasecmp(s.t[0], "iface"))
                 ns->iface = g_strdup(s.t[1]);
+            else if (!g_ascii_strcasecmp(s.t[0], "config_tool"))
+                ns->config_tool = g_strdup(s.t[1]);
             else {
                 ERR( "netstatus: unknown var %s\n", s.t[0]);
                 goto error;