Turned the main window into a dialog

This commit is contained in:
Pierre Pronchery 2013-12-07 00:25:01 +01:00
parent 8381362f23
commit 422fd81681

View File

@ -34,6 +34,8 @@ static int _usage(void);
/* callbacks */
static gboolean _wifibrowser_on_closex(gpointer data);
static void _wifibrowser_on_response(GtkWidget * widget, gint arg1,
gpointer data);
/* functions */
@ -55,6 +57,7 @@ static int _usage(void)
/* callbacks */
/* wifibrowser_on_closex */
static gboolean _wifibrowser_on_closex(gpointer data)
{
WPA * wpa = data;
@ -65,6 +68,16 @@ static gboolean _wifibrowser_on_closex(gpointer data)
}
/* wifibrowser_on_response */
static void _wifibrowser_on_response(GtkWidget * widget, gint arg1,
gpointer data)
{
gtk_widget_hide(widget);
if(arg1 == GTK_RESPONSE_CLOSE)
gtk_main_quit();
}
/* public */
/* functions */
/* main */
@ -73,6 +86,7 @@ int main(int argc, char * argv[])
PanelAppletHelper helper;
WPA * wpa;
GtkWidget * window;
GtkWidget * vbox;
GtkWidget * view;
GtkWidget * widget;
GtkCellRenderer * renderer;
@ -87,14 +101,21 @@ int main(int argc, char * argv[])
return _usage();
if((wpa = _wpa_init(&helper, &widget)) == NULL)
return 2;
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
window = gtk_dialog_new_with_buttons("Wireless browser", NULL, 0,
GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, NULL);
gtk_window_set_default_size(GTK_WINDOW(window), 400, 300);
#if GTK_CHECK_VERSION(2, 6, 0)
gtk_window_set_icon_name(GTK_WINDOW(window), "network-wireless");
#endif
gtk_window_set_title(GTK_WINDOW(window), "Wireless browser");
g_signal_connect_swapped(window, "delete-event", G_CALLBACK(
_wifibrowser_on_closex), wpa);
g_signal_connect(window, "response", G_CALLBACK(
_wifibrowser_on_response), wpa);
#if GTK_CHECK_VERSION(2, 14, 0)
vbox = gtk_dialog_get_content_area(GTK_DIALOG(window));
#else
vbox = GTK_DIALOG(window)->vbox;
#endif
widget = gtk_scrolled_window_new(NULL, NULL);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(widget),
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
@ -118,7 +139,7 @@ int main(int argc, char * argv[])
gtk_tree_view_column_set_sort_column_id(column, WSR_BSSID);
gtk_tree_view_append_column(GTK_TREE_VIEW(view), column);
gtk_container_add(GTK_CONTAINER(widget), view);
gtk_container_add(GTK_CONTAINER(window), widget);
gtk_box_pack_start(GTK_BOX(vbox), widget, TRUE, TRUE, 0);
gtk_widget_show_all(window);
gtk_main();
_wpa_destroy(wpa);