diff options
author | Jens Georg <mail@jensge.org> | 2009-05-01 16:12:36 +0200 |
---|---|---|
committer | Ross Burton <ross@linux.intel.com> | 2009-07-06 11:53:31 +0100 |
commit | fe400023ef6e29a74a2709f42a02b232bdd034c6 (patch) | |
tree | 7d1896ec5ed2a014e82c666b0f93d62ee3c00b49 /tools | |
parent | c8b3a57fada7cc2390d54cb12bc341d22b39380e (diff) | |
download | gssdp-fe400023ef6e29a74a2709f42a02b232bdd034c6.tar.gz |
Port gssdp-device-sniffer to GtkBuilder
Diffstat (limited to 'tools')
-rw-r--r-- | tools/Makefile.am | 6 | ||||
-rw-r--r-- | tools/gssdp-device-sniffer.c | 64 | ||||
-rw-r--r-- | tools/gssdp-device-sniffer.glade | 587 | ||||
-rw-r--r-- | tools/gssdp-device-sniffer.ui | 526 |
4 files changed, 563 insertions, 620 deletions
diff --git a/tools/Makefile.am b/tools/Makefile.am index fad500e..565e556 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -1,12 +1,12 @@ uidir = $(datadir)/gssdp -dist_ui_DATA = $(srcdir)/gssdp-device-sniffer.glade +dist_ui_DATA = $(srcdir)/gssdp-device-sniffer.ui -AM_CFLAGS = $(LIBGSSDP_CFLAGS) $(LIBGLADE_CFLAGS) -I$(top_srcdir) -DUI_DIR='"$(uidir)"' +AM_CFLAGS = $(LIBGSSDP_CFLAGS) $(LIBGTK_CFLAGS) -I$(top_srcdir) -DUI_DIR='"$(uidir)"' bin_PROGRAMS = gssdp-device-sniffer gssdp_device_sniffer_SOURCES = gssdp-device-sniffer.c -gssdp_device_sniffer_LDADD = $(LIBGLADE_LIBS) $(LIBGSSDP_LIBS) $(top_builddir)/libgssdp/libgssdp-1.0.la +gssdp_device_sniffer_LDADD = $(LIBGSSDP_LIBS) $(LIBGTK_LIBS) $(top_builddir)/libgssdp/libgssdp-1.0.la gssdp_device_sniffer_LDFLAGS = -export-dynamic MAINTAINERCLEANFILES = Makefile.in diff --git a/tools/gssdp-device-sniffer.c b/tools/gssdp-device-sniffer.c index b22c93b..2ca44c5 100644 --- a/tools/gssdp-device-sniffer.c +++ b/tools/gssdp-device-sniffer.c @@ -21,19 +21,19 @@ #include <libgssdp/gssdp-client-private.h> #include <libsoup/soup.h> #include <gtk/gtk.h> -#include <glade/glade.h> #include <string.h> #include <stdlib.h> -#define GLADE_FILE "gssdp-device-sniffer.glade" +#define UI_FILE "gssdp-device-sniffer.ui" #define MAX_IP_LEN 16 -GladeXML *glade_xml; +GtkBuilder *builder; GSSDPResourceBrowser *resource_browser; GSSDPClient *client; char *ip_filter = NULL; gboolean capture_packets = TRUE; +G_MODULE_EXPORT void on_enable_packet_capture_activate (GtkCheckMenuItem *menuitem, gpointer user_data) { @@ -49,7 +49,7 @@ clear_packet_treeview () gboolean more; time_t *arrival_time; - treeview = glade_xml_get_widget (glade_xml, "packet-treeview"); + treeview = GTK_WIDGET(gtk_builder_get_object (builder, "packet-treeview")); g_assert (treeview != NULL); model = gtk_tree_view_get_model (GTK_TREE_VIEW (treeview)); more = gtk_tree_model_get_iter_first (model, &iter); @@ -63,6 +63,7 @@ clear_packet_treeview () } } +G_MODULE_EXPORT void on_details_activate (GtkWidget *scrolled_window, GtkCheckMenuItem *menuitem) { @@ -97,7 +98,7 @@ update_packet_details (char *text, unsigned int len) GtkWidget *textview; GtkTextBuffer *textbuffer; - textview = glade_xml_get_widget (glade_xml, "packet-details-textview"); + textview = GTK_WIDGET(gtk_builder_get_object (builder, "packet-details-textview")); g_assert (textview != NULL); textbuffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (textview)); @@ -145,6 +146,7 @@ on_packet_selected (GtkTreeSelection *selection, gpointer user_data) update_packet_details ("", 0); } +G_MODULE_EXPORT void on_clear_packet_capture_activate (GtkMenuItem *menuitem, gpointer user_data) { @@ -198,7 +200,7 @@ append_packet (const gchar *from_ip, GtkTreeIter iter; char **packet_data; - treeview = glade_xml_get_widget (glade_xml, "packet-treeview"); + treeview = GTK_WIDGET(gtk_builder_get_object (builder, "packet-treeview")); g_assert (treeview != NULL); liststore = GTK_LIST_STORE ( gtk_tree_view_get_model (GTK_TREE_VIEW (treeview))); @@ -275,7 +277,7 @@ append_device (const char *uuid, GtkTreeModel *model; GtkTreeIter iter; - treeview = glade_xml_get_widget (glade_xml, "device-details-treeview"); + treeview = GTK_WIDGET(gtk_builder_get_object (builder, "device-details-treeview")); g_assert (treeview != NULL); model = gtk_tree_view_get_model (GTK_TREE_VIEW (treeview)); g_assert (model != NULL); @@ -346,7 +348,7 @@ remove_device (const char *uuid) GtkTreeModel *model; GtkTreeIter iter; - treeview = glade_xml_get_widget (glade_xml, "device-details-treeview"); + treeview = GTK_WIDGET(gtk_builder_get_object (builder, "device-details-treeview")); g_assert (treeview != NULL); model = gtk_tree_view_get_model (GTK_TREE_VIEW (treeview)); g_assert (model != NULL); @@ -372,6 +374,7 @@ resource_unavailable_cb (GSSDPResourceBrowser *resource_browser, g_strfreev (usn_tokens); } +G_MODULE_EXPORT void on_use_filter_radiobutton_toggled (GtkToggleButton *togglebutton, gpointer user_data) @@ -379,7 +382,7 @@ on_use_filter_radiobutton_toggled (GtkToggleButton *togglebutton, GtkWidget *filter_hbox; gboolean use_filter; - filter_hbox = glade_xml_get_widget (glade_xml, "address-filter-hbox"); + filter_hbox = GTK_WIDGET(gtk_builder_get_object (builder, "address-filter-hbox")); g_assert (filter_hbox != NULL); use_filter = gtk_toggle_button_get_active (togglebutton); @@ -400,7 +403,7 @@ get_ip_filter () gint val; sprintf (entry_name, "address-entry%d", i); - entry = glade_xml_get_widget (glade_xml, entry_name); + entry = GTK_WIDGET(gtk_builder_get_object (builder, entry_name)); g_assert (entry != NULL); val = atoi (gtk_entry_get_text (GTK_ENTRY (entry))); @@ -411,6 +414,7 @@ get_ip_filter () return ip; } +G_MODULE_EXPORT void on_address_filter_dialog_response (GtkDialog *dialog, gint response, @@ -420,7 +424,7 @@ on_address_filter_dialog_response (GtkDialog *dialog, gtk_widget_hide (GTK_WIDGET (dialog)); - use_filter_radio = glade_xml_get_widget (glade_xml, "use-filter-radiobutton"); + use_filter_radio = GTK_WIDGET(gtk_builder_get_object (builder, "use-filter-radiobutton")); g_assert (use_filter_radio != NULL); if (response != GTK_RESPONSE_OK) @@ -507,11 +511,11 @@ setup_treeviews () GtkTreeSelection *selection; int i; - treeviews[0] = glade_xml_get_widget (glade_xml, - "packet-treeview"); + treeviews[0] = GTK_WIDGET(gtk_builder_get_object (builder, + "packet-treeview")); g_assert (treeviews[0] != NULL); - treeviews[1] = glade_xml_get_widget (glade_xml, - "device-details-treeview"); + treeviews[1] = GTK_WIDGET(gtk_builder_get_object (builder, + "device-details-treeview")); g_assert (treeviews[1] != NULL); treemodels[0] = create_packet_treemodel (); @@ -530,6 +534,7 @@ setup_treeviews () (gpointer *) treeviews[0]); } +G_MODULE_EXPORT gboolean on_delete_event (GtkWidget *widget, GdkEvent *event, @@ -544,31 +549,30 @@ init_ui (gint *argc, gchar **argv[]) { GtkWidget *main_window; gint window_width, window_height; - gchar *glade_path = NULL; + gchar *ui_path = NULL; gtk_init (argc, argv); - glade_init (); - /* Try to fetch the glade file from the CWD first */ - glade_path = GLADE_FILE; - if (!g_file_test (glade_path, G_FILE_TEST_EXISTS)) { + /* Try to fetch the ui file from the CWD first */ + ui_path = UI_FILE; + if (!g_file_test (ui_path, G_FILE_TEST_EXISTS)) { /* Then Try to fetch it from the system path */ - glade_path = UI_DIR "/" GLADE_FILE; + ui_path = UI_DIR "/" UI_FILE; - if (!g_file_test (glade_path, G_FILE_TEST_EXISTS)) - glade_path = NULL; + if (!g_file_test (ui_path, G_FILE_TEST_EXISTS)) + ui_path = NULL; } - if (glade_path == NULL) { - g_critical ("Unable to load the GUI file %s", GLADE_FILE); + if (ui_path == NULL) { + g_critical ("Unable to load the GUI file %s", UI_FILE); return FALSE; } - glade_xml = glade_xml_new (glade_path, NULL, NULL); - if (glade_xml == NULL) + builder = gtk_builder_new(); + if (gtk_builder_add_from_file(builder, ui_path, NULL) == 0) return FALSE; - main_window = glade_xml_get_widget (glade_xml, "main-window"); + main_window = GTK_WIDGET(gtk_builder_get_object (builder, "main-window")); g_assert (main_window != NULL); /* 80% of the screen but don't get bigger than 1000x800 */ @@ -578,7 +582,7 @@ init_ui (gint *argc, gchar **argv[]) window_width, window_height); - glade_xml_signal_autoconnect (glade_xml); + gtk_builder_connect_signals (builder, NULL); setup_treeviews (); gtk_widget_show_all (main_window); @@ -588,7 +592,7 @@ init_ui (gint *argc, gchar **argv[]) static void deinit_ui (void) { - g_object_unref (glade_xml); + g_object_unref (builder); } static gboolean diff --git a/tools/gssdp-device-sniffer.glade b/tools/gssdp-device-sniffer.glade deleted file mode 100644 index febba2a..0000000 --- a/tools/gssdp-device-sniffer.glade +++ /dev/null @@ -1,587 +0,0 @@ -<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> -<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> - -<glade-interface> - -<widget class="GtkWindow" id="main-window"> - <property name="title" translatable="yes">GSSDP Device Sniffer</property> - <property name="type">GTK_WINDOW_TOPLEVEL</property> - <property name="window_position">GTK_WIN_POS_NONE</property> - <property name="modal">False</property> - <property name="resizable">True</property> - <property name="destroy_with_parent">False</property> - <property name="decorated">True</property> - <property name="skip_taskbar_hint">False</property> - <property name="skip_pager_hint">False</property> - <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> - <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> - <property name="focus_on_map">True</property> - <property name="urgency_hint">False</property> - <signal name="delete_event" handler="on_delete_event" last_modification_time="Fri, 11 May 2007 10:36:15 GMT"/> - - <child> - <widget class="GtkVBox" id="vbox2"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">0</property> - - <child> - <widget class="GtkMenuBar" id="menubar"> - <property name="visible">True</property> - <property name="pack_direction">GTK_PACK_DIRECTION_LTR</property> - <property name="child_pack_direction">GTK_PACK_DIRECTION_LTR</property> - - <child> - <widget class="GtkMenuItem" id="file_menuitem"> - <property name="visible">True</property> - <property name="label" translatable="yes">_File</property> - <property name="use_underline">True</property> - - <child> - <widget class="GtkMenu" id="file_menuitem_menu"> - - <child> - <widget class="GtkImageMenuItem" id="clear_packet_capture"> - <property name="visible">True</property> - <property name="label" translatable="yes">Clear Packet Capture</property> - <property name="use_underline">True</property> - <signal name="activate" handler="on_clear_packet_capture_activate" last_modification_time="Tue, 08 May 2007 08:41:08 GMT"/> - - <child internal-child="image"> - <widget class="GtkImage" id="image1"> - <property name="visible">True</property> - <property name="stock">gtk-clear</property> - <property name="icon_size">1</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - </widget> - </child> - </widget> - </child> - - <child> - <widget class="GtkSeparatorMenuItem" id="separator2"> - <property name="visible">True</property> - </widget> - </child> - - <child> - <widget class="GtkCheckMenuItem" id="show_packet_details"> - <property name="visible">True</property> - <property name="label" translatable="yes">Show Packet Details</property> - <property name="use_underline">True</property> - <property name="active">True</property> - <signal name="activate" handler="on_details_activate" object="packet-details-scrolledwindow" last_modification_time="Mon, 23 Apr 2007 21:27:46 GMT"/> - </widget> - </child> - - <child> - <widget class="GtkCheckMenuItem" id="show_device_tracking"> - <property name="visible">True</property> - <property name="label" translatable="yes">Show Device Tracking</property> - <property name="use_underline">True</property> - <property name="active">True</property> - <signal name="activate" handler="on_details_activate" object="packet-details-scrolledwindow" last_modification_time="Mon, 23 Apr 2007 21:30:07 GMT"/> - </widget> - </child> - - <child> - <widget class="GtkSeparatorMenuItem" id="separator3"> - <property name="visible">True</property> - </widget> - </child> - - <child> - <widget class="GtkImageMenuItem" id="quit"> - <property name="visible">True</property> - <property name="label">gtk-quit</property> - <property name="use_stock">True</property> - <signal name="activate" handler="gtk_main_quit" last_modification_time="Sat, 21 Apr 2007 14:46:54 GMT"/> - </widget> - </child> - </widget> - </child> - </widget> - </child> - - <child> - <widget class="GtkMenuItem" id="filter_menuitem"> - <property name="visible">True</property> - <property name="label" translatable="yes">Filter</property> - <property name="use_underline">True</property> - - <child> - <widget class="GtkMenu" id="filter_menuitem_menu"> - - <child> - <widget class="GtkCheckMenuItem" id="enable_packet_capture"> - <property name="visible">True</property> - <property name="label" translatable="yes">Enable Packet Capture</property> - <property name="use_underline">True</property> - <property name="active">True</property> - <signal name="activate" handler="on_enable_packet_capture_activate" last_modification_time="Fri, 20 Apr 2007 14:59:37 GMT"/> - </widget> - </child> - - <child> - <widget class="GtkMenuItem" id="address_filter"> - <property name="visible">True</property> - <property name="label" translatable="yes">Address Filter</property> - <property name="use_underline">True</property> - <signal name="activate" handler="gtk_widget_show" object="address-filter-dialog" last_modification_time="Fri, 11 May 2007 10:58:14 GMT"/> - </widget> - </child> - </widget> - </child> - </widget> - </child> - - <child> - <widget class="GtkMenuItem" id="help_menuitem"> - <property name="visible">True</property> - <property name="label" translatable="yes">_Help</property> - <property name="use_underline">True</property> - - <child> - <widget class="GtkMenu" id="help_menuitem_menu"> - - <child> - <widget class="GtkImageMenuItem" id="about"> - <property name="visible">True</property> - <property name="label">gtk-about</property> - <property name="use_stock">True</property> - <signal name="activate" handler="gtk_widget_show" object="about-dialog" last_modification_time="Sat, 21 Apr 2007 15:23:48 GMT"/> - </widget> - </child> - </widget> - </child> - </widget> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkVBox" id="vbox"> - <property name="border_width">6</property> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">6</property> - - <child> - <widget class="GtkScrolledWindow" id="packet-scrolledwindow"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> - <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> - <property name="shadow_type">GTK_SHADOW_IN</property> - <property name="window_placement">GTK_CORNER_TOP_LEFT</property> - - <child> - <widget class="GtkTreeView" id="packet-treeview"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="headers_visible">True</property> - <property name="rules_hint">False</property> - <property name="reorderable">False</property> - <property name="enable_search">True</property> - <property name="fixed_height_mode">False</property> - <property name="hover_selection">False</property> - <property name="hover_expand">False</property> - </widget> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - - <child> - <widget class="GtkScrolledWindow" id="packet-details-scrolledwindow"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> - <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> - <property name="shadow_type">GTK_SHADOW_IN</property> - <property name="window_placement">GTK_CORNER_TOP_LEFT</property> - - <child> - <widget class="GtkTextView" id="packet-details-textview"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="editable">False</property> - <property name="overwrite">False</property> - <property name="accepts_tab">True</property> - <property name="justification">GTK_JUSTIFY_LEFT</property> - <property name="wrap_mode">GTK_WRAP_NONE</property> - <property name="cursor_visible">True</property> - <property name="pixels_above_lines">0</property> - <property name="pixels_below_lines">0</property> - <property name="pixels_inside_wrap">0</property> - <property name="left_margin">0</property> - <property name="right_margin">0</property> - <property name="indent">0</property> - <property name="text" translatable="yes"></property> - </widget> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - - <child> - <widget class="GtkScrolledWindow" id="device-details-scrolledwindow"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> - <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> - <property name="shadow_type">GTK_SHADOW_IN</property> - <property name="window_placement">GTK_CORNER_TOP_LEFT</property> - - <child> - <widget class="GtkTreeView" id="device-details-treeview"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="headers_visible">True</property> - <property name="rules_hint">False</property> - <property name="reorderable">False</property> - <property name="enable_search">True</property> - <property name="fixed_height_mode">False</property> - <property name="hover_selection">False</property> - <property name="hover_expand">False</property> - </widget> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - </widget> - </child> -</widget> - -<widget class="GtkAboutDialog" id="about-dialog"> - <property name="destroy_with_parent">False</property> - <property name="name" translatable="yes">GSSDP Device Sniffer</property> - <property name="copyright" translatable="yes">Copyright (C) 2007 Zeeshan Ali (Khattak)</property> - <property name="comments" translatable="yes">A Device Sniffer tool based on GSSDP framework. -Inspired by Intel Tools for UPnP.</property> - <property name="license" translatable="yes">LGPL</property> - <property name="wrap_license">False</property> - <property name="authors">Zeeshan Ali (Khattak) <zeeshanak@gnome.org></property> - <property name="translator_credits" translatable="yes" comments="TRANSLATORS: Replace this string with your names, one name per line.">translator-credits</property> - <signal name="response" handler="gtk_widget_hide" object="about-dialog" last_modification_time="Sat, 19 May 2007 20:52:15 GMT"/> - <signal name="delete_event" handler="gtk_widget_hide" object="about-dialog" last_modification_time="Tue, 15 May 2007 21:17:51 GMT"/> -</widget> - -<widget class="GtkDialog" id="address-filter-dialog"> - <property name="border_width">7</property> - <property name="title" translatable="yes">Address Filter</property> - <property name="type">GTK_WINDOW_TOPLEVEL</property> - <property name="window_position">GTK_WIN_POS_NONE</property> - <property name="modal">False</property> - <property name="resizable">False</property> - <property name="destroy_with_parent">False</property> - <property name="decorated">True</property> - <property name="skip_taskbar_hint">False</property> - <property name="skip_pager_hint">False</property> - <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> - <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> - <property name="focus_on_map">True</property> - <property name="urgency_hint">False</property> - <property name="has_separator">False</property> - <signal name="response" handler="on_address_filter_dialog_response" last_modification_time="Fri, 11 May 2007 11:00:37 GMT"/> - - <child internal-child="vbox"> - <widget class="GtkVBox" id="dialog-vbox1"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">8</property> - - <child internal-child="action_area"> - <widget class="GtkHButtonBox" id="dialog-action_area1"> - <property name="visible">True</property> - <property name="layout_style">GTK_BUTTONBOX_END</property> - - <child> - <widget class="GtkButton" id="closebutton1"> - <property name="visible">True</property> - <property name="can_default">True</property> - <property name="can_focus">True</property> - <property name="label">gtk-close</property> - <property name="use_stock">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="focus_on_click">True</property> - <property name="response_id">-5</property> - </widget> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="pack_type">GTK_PACK_END</property> - </packing> - </child> - - <child> - <widget class="GtkVBox" id="vbox1"> - <property name="border_width">5</property> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">4</property> - - <child> - <widget class="GtkRadioButton" id="dont-use-filter-radiobutton"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">No filter, capture all traffic</property> - <property name="use_underline">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="focus_on_click">True</property> - <property name="active">True</property> - <property name="inconsistent">False</property> - <property name="draw_indicator">True</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkRadioButton" id="use-filter-radiobutton"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">Use IP address filter</property> - <property name="use_underline">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="focus_on_click">True</property> - <property name="active">False</property> - <property name="inconsistent">False</property> - <property name="draw_indicator">True</property> - <property name="group">dont-use-filter-radiobutton</property> - <signal name="toggled" handler="on_use_filter_radiobutton_toggled" last_modification_time="Fri, 11 May 2007 10:55:01 GMT"/> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkAlignment" id="alignment1"> - <property name="visible">True</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xscale">1</property> - <property name="yscale">1</property> - <property name="top_padding">0</property> - <property name="bottom_padding">0</property> - <property name="left_padding">50</property> - <property name="right_padding">0</property> - - <child> - <widget class="GtkHBox" id="address-filter-hbox"> - <property name="visible">True</property> - <property name="sensitive">False</property> - <property name="homogeneous">False</property> - <property name="spacing">0</property> - - <child> - <widget class="GtkEntry" id="address-entry0"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="editable">True</property> - <property name="visibility">True</property> - <property name="max_length">3</property> - <property name="text" translatable="yes"></property> - <property name="has_frame">True</property> - <property name="invisible_char">*</property> - <property name="activates_default">True</property> - <property name="width_chars">4</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="address-label0"> - <property name="visible">True</property> - <property name="label" translatable="yes">.</property> - <property name="use_underline">False</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> - <property name="width_chars">-1</property> - <property name="single_line_mode">False</property> - <property name="angle">0</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkEntry" id="address-entry1"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="editable">True</property> - <property name="visibility">True</property> - <property name="max_length">3</property> - <property name="text" translatable="yes"></property> - <property name="has_frame">True</property> - <property name="invisible_char">*</property> - <property name="activates_default">True</property> - <property name="width_chars">4</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="address-label1"> - <property name="visible">True</property> - <property name="label" translatable="yes">.</property> - <property name="use_underline">False</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> - <property name="width_chars">-1</property> - <property name="single_line_mode">False</property> - <property name="angle">0</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkEntry" id="address-entry2"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="editable">True</property> - <property name="visibility">True</property> - <property name="max_length">3</property> - <property name="text" translatable="yes"></property> - <property name="has_frame">True</property> - <property name="invisible_char">*</property> - <property name="activates_default">True</property> - <property name="width_chars">4</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - - <child> - <widget class="GtkLabel" id="address-label2"> - <property name="visible">True</property> - <property name="label" translatable="yes">.</property> - <property name="use_underline">False</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> - <property name="width_chars">-1</property> - <property name="single_line_mode">False</property> - <property name="angle">0</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - - <child> - <widget class="GtkEntry" id="address-entry3"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="editable">True</property> - <property name="visibility">True</property> - <property name="max_length">3</property> - <property name="text" translatable="yes"></property> - <property name="has_frame">True</property> - <property name="invisible_char">*</property> - <property name="activates_default">True</property> - <property name="width_chars">4</property> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - </widget> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - </widget> - </child> -</widget> - -</glade-interface> diff --git a/tools/gssdp-device-sniffer.ui b/tools/gssdp-device-sniffer.ui new file mode 100644 index 0000000..f16b3bc --- /dev/null +++ b/tools/gssdp-device-sniffer.ui @@ -0,0 +1,526 @@ +<?xml version="1.0"?> +<!--*- mode: xml -*--> +<interface> + <object class="GtkUIManager" id="uimanager1"> + <child> + <object class="GtkActionGroup" id="actiongroup1"> + <child> + <object class="GtkAction" id="file_menuitem"> + <property name="name">file_menuitem</property> + <property name="label" translatable="yes">_File</property> + </object> + </child> + <child> + <object class="GtkAction" id="clear_packet_capture"> + <property name="stock_id">gtk-clear</property> + <property name="name">clear_packet_capture</property> + <property name="label" translatable="yes">Clear Packet Capture</property> + <signal handler="on_clear_packet_capture_activate" last_modification_time="Tue, 08 May 2007 08:41:08 GMT" name="activate"/> + </object> + </child> + <child> + <object class="GtkToggleAction" id="show_packet_details"> + <property name="active">True</property> + <property name="name">show_packet_details</property> + <property name="label" translatable="yes">Show Packet Details</property> + <signal handler="on_details_activate" last_modification_time="Mon, 23 Apr 2007 21:27:46 GMT" name="activate" object="packet-details-scrolledwindow"/> + </object> + </child> + <child> + <object class="GtkToggleAction" id="show_device_tracking"> + <property name="active">True</property> + <property name="name">show_device_tracking</property> + <property name="label" translatable="yes">Show Device Tracking</property> + <signal handler="on_details_activate" last_modification_time="Mon, 23 Apr 2007 21:30:07 GMT" name="activate" object="packet-details-scrolledwindow"/> + </object> + </child> + <child> + <object class="GtkAction" id="quit"> + <property name="stock_id">gtk-quit</property> + <property name="name">quit</property> + <signal handler="gtk_main_quit" last_modification_time="Sat, 21 Apr 2007 14:46:54 GMT" name="activate"/> + </object> + </child> + <child> + <object class="GtkAction" id="filter_menuitem"> + <property name="name">filter_menuitem</property> + <property name="label" translatable="yes">Filter</property> + </object> + </child> + <child> + <object class="GtkToggleAction" id="enable_packet_capture"> + <property name="active">True</property> + <property name="name">enable_packet_capture</property> + <property name="label" translatable="yes">Enable Packet Capture</property> + <signal handler="on_enable_packet_capture_activate" last_modification_time="Fri, 20 Apr 2007 14:59:37 GMT" name="activate"/> + </object> + </child> + <child> + <object class="GtkAction" id="address_filter"> + <property name="name">address_filter</property> + <property name="label" translatable="yes">Address Filter</property> + <signal handler="gtk_widget_show" last_modification_time="Fri, 11 May 2007 10:58:14 GMT" name="activate" object="address-filter-dialog"/> + </object> + </child> + <child> + <object class="GtkAction" id="help_menuitem"> + <property name="name">help_menuitem</property> + <property name="label" translatable="yes">_Help</property> + </object> + </child> + <child> + <object class="GtkAction" id="about"> + <property name="stock_id">gtk-about</property> + <property name="name">about</property> + <signal handler="gtk_widget_show" last_modification_time="Sat, 21 Apr 2007 15:23:48 GMT" name="activate" object="about-dialog"/> + </object> + </child> + </object> + </child> + <ui> + <menubar name="menubar"> + <menu action="file_menuitem"> + <menuitem action="clear_packet_capture"/> + <separator/> + <menuitem action="show_packet_details"/> + <menuitem action="show_device_tracking"/> + <separator/> + <menuitem action="quit"/> + </menu> + <menu action="filter_menuitem"> + <menuitem action="enable_packet_capture"/> + <menuitem action="address_filter"/> + </menu> + <menu action="help_menuitem"> + <menuitem action="about"/> + </menu> + </menubar> + </ui> + </object> + <object class="GtkWindow" id="main-window"> + <property name="title" translatable="yes">GSSDP Device Sniffer</property> + <property name="type">GTK_WINDOW_TOPLEVEL</property> + <property name="window_position">GTK_WIN_POS_NONE</property> + <property name="modal">False</property> + <property name="resizable">True</property> + <property name="destroy_with_parent">False</property> + <property name="decorated">True</property> + <property name="skip_taskbar_hint">False</property> + <property name="skip_pager_hint">False</property> + <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> + <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="focus_on_map">True</property> + <property name="urgency_hint">False</property> + <signal handler="on_delete_event" last_modification_time="Fri, 11 May 2007 10:36:15 GMT" name="delete_event"/> + <child> + <object class="GtkVBox" id="vbox2"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + <child> + <object class="GtkMenuBar" constructor="uimanager1" id="menubar"> + <property name="visible">True</property> + <property name="pack_direction">GTK_PACK_DIRECTION_LTR</property> + <property name="child_pack_direction">GTK_PACK_DIRECTION_LTR</property> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + <child> + <object class="GtkVBox" id="vbox"> + <property name="border_width">6</property> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + <child> + <object class="GtkScrolledWindow" id="packet-scrolledwindow"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> + <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> + <property name="shadow_type">GTK_SHADOW_IN</property> + <property name="window_placement">GTK_CORNER_TOP_LEFT</property> + <child> + <object class="GtkTreeView" id="packet-treeview"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="headers_visible">True</property> + <property name="rules_hint">False</property> + <property name="reorderable">False</property> + <property name="enable_search">True</property> + <property name="fixed_height_mode">False</property> + <property name="hover_selection">False</property> + <property name="hover_expand">False</property> + </object> + </child> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + <child> + <object class="GtkScrolledWindow" id="packet-details-scrolledwindow"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> + <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> + <property name="shadow_type">GTK_SHADOW_IN</property> + <property name="window_placement">GTK_CORNER_TOP_LEFT</property> + <child> + <object class="GtkTextView" id="packet-details-textview"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="overwrite">False</property> + <property name="accepts_tab">True</property> + <property name="justification">GTK_JUSTIFY_LEFT</property> + <property name="wrap_mode">GTK_WRAP_NONE</property> + <property name="cursor_visible">True</property> + <property name="pixels_above_lines">0</property> + <property name="pixels_below_lines">0</property> + <property name="pixels_inside_wrap">0</property> + <property name="left_margin">0</property> + <property name="right_margin">0</property> + <property name="indent">0</property> + </object> + </child> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + <child> + <object class="GtkScrolledWindow" id="device-details-scrolledwindow"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> + <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> + <property name="shadow_type">GTK_SHADOW_IN</property> + <property name="window_placement">GTK_CORNER_TOP_LEFT</property> + <child> + <object class="GtkTreeView" id="device-details-treeview"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="headers_visible">True</property> + <property name="rules_hint">False</property> + <property name="reorderable">False</property> + <property name="enable_search">True</property> + <property name="fixed_height_mode">False</property> + <property name="hover_selection">False</property> + <property name="hover_expand">False</property> + </object> + </child> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </object> + </child> + </object> + <object class="GtkAboutDialog" id="about-dialog"> + <property name="destroy_with_parent">False</property> + <property name="name" translatable="yes">GSSDP Device Sniffer</property> + <property name="copyright" translatable="yes">Copyright (C) 2007 Zeeshan Ali (Khattak)</property> + <property name="comments" translatable="yes">A Device Sniffer tool based on GSSDP framework. +Inspired by Intel Tools for UPnP.</property> + <property name="license" translatable="yes">LGPL</property> + <property name="wrap_license">False</property> + <property name="authors">Zeeshan Ali (Khattak) <zeeshanak@gnome.org></property> + <property comments="TRANSLATORS: Replace this string with your names, one name per line." name="translator_credits" translatable="yes">translator-credits</property> + <signal handler="gtk_widget_hide" last_modification_time="Sat, 19 May 2007 20:52:15 GMT" name="response" object="about-dialog"/> + <signal handler="gtk_widget_hide" last_modification_time="Tue, 15 May 2007 21:17:51 GMT" name="delete_event" object="about-dialog"/> + </object> + <object class="GtkDialog" id="address-filter-dialog"> + <property name="border_width">7</property> + <property name="title" translatable="yes">Address Filter</property> + <property name="type">GTK_WINDOW_TOPLEVEL</property> + <property name="window_position">GTK_WIN_POS_NONE</property> + <property name="modal">False</property> + <property name="resizable">False</property> + <property name="destroy_with_parent">False</property> + <property name="decorated">True</property> + <property name="skip_taskbar_hint">False</property> + <property name="skip_pager_hint">False</property> + <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> + <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="focus_on_map">True</property> + <property name="urgency_hint">False</property> + <property name="has_separator">False</property> + <signal handler="on_address_filter_dialog_response" last_modification_time="Fri, 11 May 2007 11:00:37 GMT" name="response"/> + <child internal-child="vbox"> + <object class="GtkVBox" id="dialog-vbox1"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">8</property> + <child internal-child="action_area"> + <object class="GtkHButtonBox" id="dialog-action_area1"> + <property name="visible">True</property> + <property name="layout_style">GTK_BUTTONBOX_END</property> + <child> + <object class="GtkButton" id="closebutton1"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-close</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + </object> + </child> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">GTK_PACK_END</property> + </packing> + </child> + <child> + <object class="GtkVBox" id="vbox1"> + <property name="border_width">5</property> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">4</property> + <child> + <object class="GtkRadioButton" id="dont-use-filter-radiobutton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">No filter, capture all traffic</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">True</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + <child> + <object class="GtkRadioButton" id="use-filter-radiobutton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Use IP address filter</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + <property name="group">dont-use-filter-radiobutton</property> + <signal handler="on_use_filter_radiobutton_toggled" last_modification_time="Fri, 11 May 2007 10:55:01 GMT" name="toggled"/> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + <child> + <object class="GtkAlignment" id="alignment1"> + <property name="visible">True</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xscale">1</property> + <property name="yscale">1</property> + <property name="top_padding">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">50</property> + <property name="right_padding">0</property> + <child> + <object class="GtkHBox" id="address-filter-hbox"> + <property name="visible">True</property> + <property name="sensitive">False</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + <child> + <object class="GtkEntry" id="address-entry0"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">True</property> + <property name="visibility">True</property> + <property name="max_length">3</property> + <property name="text" translatable="yes"/> + <property name="has_frame">True</property> + <property name="invisible_char">*</property> + <property name="activates_default">True</property> + <property name="width_chars">4</property> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="address-label0"> + <property name="visible">True</property> + <property name="label" translatable="yes">.</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="address-entry1"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">True</property> + <property name="visibility">True</property> + <property name="max_length">3</property> + <property name="text" translatable="yes"/> + <property name="has_frame">True</property> + <property name="invisible_char">*</property> + <property name="activates_default">True</property> + <property name="width_chars">4</property> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="address-label1"> + <property name="visible">True</property> + <property name="label" translatable="yes">.</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="address-entry2"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">True</property> + <property name="visibility">True</property> + <property name="max_length">3</property> + <property name="text" translatable="yes"/> + <property name="has_frame">True</property> + <property name="invisible_char">*</property> + <property name="activates_default">True</property> + <property name="width_chars">4</property> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="address-label2"> + <property name="visible">True</property> + <property name="label" translatable="yes">.</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="address-entry3"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">True</property> + <property name="visibility">True</property> + <property name="max_length">3</property> + <property name="text" translatable="yes"/> + <property name="has_frame">True</property> + <property name="invisible_char">*</property> + <property name="activates_default">True</property> + <property name="width_chars">4</property> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </object> + </child> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </object> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </object> + </child> + <action-widgets> + <action-widget response="-5">closebutton1</action-widget> + </action-widgets> + </object> +</interface> |