diff options
author | kraxel <kraxel> | 2006-04-06 09:36:38 +0000 |
---|---|---|
committer | kraxel <kraxel> | 2006-04-06 09:36:38 +0000 |
commit | 1131de02524b7d4d87c804cc18f8ec0337b20e70 (patch) | |
tree | 26e244b831e0277de2ab993729a458007ed417ea /mdns.c | |
parent | 3a84644b70ac7d14ab4e13bd2f4d957f10c53f62 (diff) | |
download | xenwatch-1131de02524b7d4d87c804cc18f8ec0337b20e70.tar.gz |
mdns browser tweaks
Diffstat (limited to 'mdns.c')
-rw-r--r-- | mdns.c | 65 |
1 files changed, 55 insertions, 10 deletions
@@ -505,6 +505,24 @@ int mdns_browse(struct mdns_window *mdns, /* ---------------------------------------------------------------------- */ +static void menu_cb_view_default(GtkToggleAction *action, gpointer userdata) +{ + struct mdns_window *mdns = userdata; + mdns_view(mdns, MDNS_VIEW_DEFAULT); +} + +static void menu_cb_view_url(GtkToggleAction *action, gpointer userdata) +{ + struct mdns_window *mdns = userdata; + mdns_view(mdns, MDNS_VIEW_URL); +} + +static void menu_cb_view_xen(GtkToggleAction *action, gpointer userdata) +{ + struct mdns_window *mdns = userdata; + mdns_view(mdns, MDNS_VIEW_XEN); +} + static void menu_cb_view_col(GtkToggleAction *action, gpointer userdata, int id) { struct mdns_window *mdns = userdata; @@ -605,6 +623,18 @@ static const GtkActionEntry entries[] = { .label = "_Close", .accelerator = "<control>Q", .callback = G_CALLBACK(menu_cb_close), + },{ + .name = "ViewDefault", + .label = "_Default", + .callback = G_CALLBACK(menu_cb_view_default), + },{ + .name = "ViewURL", + .label = "_URL", + .callback = G_CALLBACK(menu_cb_view_url), + },{ + .name = "ViewXen", + .label = "_Xen", + .callback = G_CALLBACK(menu_cb_view_xen), }, }; @@ -674,6 +704,10 @@ static char ui_xml[] = " <menuitem action='Close'/>" " </menu>" " <menu action='ViewMenu'>" +" <menuitem action='ViewDefault'/>" +" <menuitem action='ViewURL'/>" +" <menuitem action='ViewXen'/>" +" <separator/>" " <menuitem action='ColType'/>" " <menuitem action='ColDomain'/>" " <menuitem action='ColInterface'/>" @@ -829,7 +863,7 @@ static GtkWidget *mdns_create_view(struct mdns_window *mdns) return view; } -static void set_default_visible_cols(struct mdns_window *mdns, int url, int xen) +static void set_default_visible_cols(struct mdns_window *mdns, enum mdns_view view) { GtkToggleAction *ta; @@ -846,22 +880,22 @@ static void set_default_visible_cols(struct mdns_window *mdns, int url, int xen) gtk_toggle_action_set_active(ta, TRUE); ta = GTK_TOGGLE_ACTION(gtk_action_group_get_action(mdns->ag, "ColAddress")); - gtk_toggle_action_set_active(ta, !xen && !url); + gtk_toggle_action_set_active(ta, view == MDNS_VIEW_DEFAULT); ta = GTK_TOGGLE_ACTION(gtk_action_group_get_action(mdns->ag, "ColPort")); - gtk_toggle_action_set_active(ta, !xen && !url); + gtk_toggle_action_set_active(ta, view == MDNS_VIEW_DEFAULT); ta = GTK_TOGGLE_ACTION(gtk_action_group_get_action(mdns->ag, "ColPath")); - gtk_toggle_action_set_active(ta, !xen && !url); + gtk_toggle_action_set_active(ta, view == MDNS_VIEW_DEFAULT); ta = GTK_TOGGLE_ACTION(gtk_action_group_get_action(mdns->ag, "ColURL")); - gtk_toggle_action_set_active(ta, url); + gtk_toggle_action_set_active(ta, view == MDNS_VIEW_URL); ta = GTK_TOGGLE_ACTION(gtk_action_group_get_action(mdns->ag, "ColXenDomID")); - gtk_toggle_action_set_active(ta, xen); + gtk_toggle_action_set_active(ta, view == MDNS_VIEW_XEN); ta = GTK_TOGGLE_ACTION(gtk_action_group_get_action(mdns->ag, "ColXenVmUUID")); - gtk_toggle_action_set_active(ta, xen); + gtk_toggle_action_set_active(ta, view == MDNS_VIEW_XEN); } -struct mdns_window *mdns_create_window(int standalone, int url, int xen) +struct mdns_window *mdns_create_window(int standalone, enum mdns_view view) { struct mdns_window *mdns; GtkWidget *vbox, *menubar, *toolbar, *scroll; @@ -944,7 +978,7 @@ struct mdns_window *mdns_create_window(int standalone, int url, int xen) gtk_container_add(GTK_CONTAINER(scroll), mdns->view); gtk_box_pack_end(GTK_BOX(vbox), mdns->status, FALSE, TRUE, 0); - set_default_visible_cols(mdns, url, xen); + set_default_visible_cols(mdns, view); return mdns; } @@ -958,11 +992,17 @@ void mdns_destroy_window(struct mdns_window *mdns) gtk_widget_destroy(mdns->toplevel); } +int mdns_view(struct mdns_window *mdns, enum mdns_view view) +{ + set_default_visible_cols(mdns, view); + return 0; +} + /* ---------------------------------------------------------------------- */ #else /* ! HAVE_AVAHI */ -struct mdns_window *mdns_create_window(int standalone, int url, int xen) +struct mdns_window *mdns_create_window(int standalone, enum mdns_view view) { fprintf(stderr,"Compiled without mDNS support, sorry.\n"); return NULL; @@ -977,4 +1017,9 @@ int mdns_browse(struct mdns_window *mdns, return -1; } +int mdns_view(struct mdns_window *mdns, enum mdns_view view) +{ + return -1; +} + #endif |