Nmap Development mailing list archives
quick and dirty nmapfe port to gtk2
From: Harald Hoyer <harald () redhat com>
Date: Thu, 03 Feb 2005 14:43:33 +0100
see attached patch, apply, run aclocal, autoconf and compile.Maybe a gtk geek takes this as a starting point to make it compile without -DGTK_ENABLE_BROKEN and run without gtk errors and warnings.
Have fun! Harald Hoyer
diff -ur nmap-3.78/nmapfe/configure.ac nmap-3.78-gtk2/nmapfe/configure.ac --- nmap-3.78/nmapfe/configure.ac 2004-10-07 23:57:46.000000000 +0200 +++ nmap-3.78-gtk2/nmapfe/configure.ac 2005-02-02 15:18:01.000000000 +0100 @@ -9,8 +9,8 @@ #AM_PATH_GTK(1.0.0, # [LIBS="$LIBS $GTK_LIBS" CFLAGS="$CFLAGS $GTK_CFLAGS"], # AC_MSG_ERROR(Cannot find GTK: Is gtk-config in path?)) -AM_PATH_GTK(1.0.0, - [LIBS="$LIBS $GTK_LIBS" CFLAGS="$CFLAGS $GTK_CFLAGS"], +AM_PATH_GTK_2_0(2.0.0, + [LIBS="$LIBS $GTK_LIBS" CFLAGS="$CFLAGS $GTK_CFLAGS -DGTK_ENABLE_BROKEN"], AC_DEFINE(MISSING_GTK) \ AC_MSG_WARN(NMAPFE WILL NOT BE BUILT -- BUT NMAP SHOULD STILL WORK )) Nur in nmap-3.78-gtk2/nmapfe: Makefile. diff -ur nmap-3.78/nmapfe/nmapfe.c nmap-3.78-gtk2/nmapfe/nmapfe.c --- nmap-3.78/nmapfe/nmapfe.c 2004-08-29 11:12:04.000000000 +0200 +++ nmap-3.78-gtk2/nmapfe/nmapfe.c 2005-02-02 16:10:37.000000000 +0100 @@ -349,7 +349,7 @@ /* Exit button (rightmost in hbox) */ button = gtk_button_new_with_label("Exit"); - gtk_object_set(GTK_OBJECT(button), "width", 48, NULL); + /*gtk_object_set(GTK_OBJECT(button), "width", 48, NULL);*/ gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(exitNmapFE_cb), NULL); gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); @@ -357,7 +357,7 @@ /* Scan button (2nd right in hbox) */ opt.scanButton = gtk_toggle_button_new_with_label("Scan"); - gtk_object_set(GTK_OBJECT(opt.scanButton), "width", 72, NULL); + /*gtk_object_set(GTK_OBJECT(opt.scanButton), "width", 72, NULL);*/ gtk_signal_connect(GTK_OBJECT(opt.scanButton), "toggled", GTK_SIGNAL_FUNC(scanButton_toggled_cb), NULL); gtk_box_pack_end(GTK_BOX(hbox), opt.scanButton, FALSE, FALSE, 0); @@ -394,7 +394,8 @@ opt.scanValue = (opt.uid == 0) ? SYN_SCAN : CONNECT_SCAN; gtk_option_menu_set_history(GTK_OPTION_MENU(opt.scanType), opt.scanValue - SCAN_OFFSET); - gtk_object_set(GTK_OBJECT(opt.scanType), "height", 26, NULL); + + /*gtk_object_set(GTK_OBJECT(opt.scanType), "height", 26, NULL);*/ gtk_table_attach_defaults(GTK_TABLE(table), opt.scanType, 0, 4, 0, 1); gtk_widget_show(opt.scanType); @@ -407,7 +408,7 @@ opt.scanRelay = gtk_entry_new(); gtk_entry_set_max_length(GTK_ENTRY(opt.scanRelay), 256); - gtk_object_set(GTK_OBJECT(opt.scanRelay), "width", 150, NULL); + /*gtk_object_set(GTK_OBJECT(opt.scanRelay), "width", 150, NULL);*/ gtk_signal_connect(GTK_OBJECT(opt.scanRelay), "changed", GTK_SIGNAL_FUNC(display_nmap_command_cb), NULL); if ((opt.scanValue != BOUNCE_SCAN) && (opt.scanValue != IDLE_SCAN)) @@ -433,7 +434,7 @@ protportEntries, &opt.protportValue); gtk_option_menu_set_history(GTK_OPTION_MENU(opt.protportType), opt.protportValue - PROTPORT_OFFSET); - gtk_object_set(GTK_OBJECT(opt.protportType), "height", 26, NULL); + /* gtk_object_set(GTK_OBJECT(opt.protportType), "height", 26, NULL);*/ gtk_table_attach_defaults(GTK_TABLE(table), opt.protportType, 0, 2, 0, 1); gtk_widget_show(opt.protportType); @@ -446,7 +447,7 @@ opt.protportRange = gtk_entry_new(); gtk_entry_set_max_length(GTK_ENTRY(opt.protportRange), 256); - gtk_object_set(GTK_OBJECT(opt.protportRange), "width", 100, NULL); + /*gtk_object_set(GTK_OBJECT(opt.protportRange), "width", 100, NULL);*/ gtk_signal_connect(GTK_OBJECT(opt.protportRange), "changed", GTK_SIGNAL_FUNC(display_nmap_command_cb), NULL); if (opt.protportValue != GIVEN_PROTPORT) @@ -513,7 +514,7 @@ /* Discover/Ping page (second in notebook) */ nblabel = gtk_label_new("Discover"); - nbpage = gtk_table_new(4, 4, TRUE); + nbpage = gtk_table_new(4, 4, FALSE); // nbpage = gtk_vbox_new(FALSE, 5); gtk_container_set_border_width(GTK_CONTAINER(nbpage), 5); @@ -577,7 +578,7 @@ opt.tcpPingPorts = gtk_entry_new(); gtk_entry_set_max_length(GTK_ENTRY(opt.tcpPingPorts), 256); - gtk_object_set(GTK_OBJECT(opt.tcpPingPorts), "width", 100, NULL); + /*gtk_object_set(GTK_OBJECT(opt.tcpPingPorts), "width", 100, NULL);*/ gtk_signal_connect(GTK_OBJECT(opt.tcpPingPorts), "changed", GTK_SIGNAL_FUNC(display_nmap_command_cb), NULL); gtk_table_attach_defaults(GTK_TABLE(table), opt.tcpPingPorts, 3, 4, 0, 1); @@ -600,7 +601,7 @@ opt.synPingPorts = gtk_entry_new(); gtk_entry_set_max_length(GTK_ENTRY(opt.synPingPorts), 256); - gtk_object_set(GTK_OBJECT(opt.synPingPorts), "width", 100, NULL); + /*gtk_object_set(GTK_OBJECT(opt.synPingPorts), "width", 100, NULL);*/ gtk_signal_connect(GTK_OBJECT(opt.synPingPorts), "changed", GTK_SIGNAL_FUNC(display_nmap_command_cb), NULL); if ((opt.uid != 0) || (! GTK_TOGGLE_BUTTON(opt.synPing)->active)) @@ -625,7 +626,7 @@ opt.udpPingPorts = gtk_entry_new(); gtk_entry_set_max_length(GTK_ENTRY(opt.udpPingPorts), 256); - gtk_object_set(GTK_OBJECT(opt.udpPingPorts), "width", 100, NULL); + /*gtk_object_set(GTK_OBJECT(opt.udpPingPorts), "width", 100, NULL);*/ gtk_signal_connect(GTK_OBJECT(opt.udpPingPorts), "changed", GTK_SIGNAL_FUNC(display_nmap_command_cb), NULL); if ((opt.uid != 0) || (! GTK_TOGGLE_BUTTON(opt.udpPing)->active)) @@ -638,6 +639,7 @@ gtk_widget_show(nblabel); gtk_widget_show(nbpage); + gtk_notebook_append_page(GTK_NOTEBOOK(notebook), GTK_WIDGET(nbpage), GTK_WIDGET(nblabel)); @@ -660,7 +662,7 @@ throttleEntries, &opt.throttleValue); gtk_option_menu_set_history(GTK_OPTION_MENU(opt.throttleType), opt.throttleValue - THROTTLE_OFFSET); - gtk_object_set(GTK_OBJECT(opt.throttleType), "height", 24, NULL); + /*gtk_object_set(GTK_OBJECT(opt.throttleType), "height", 24, NULL);*/ gtk_table_attach_defaults(GTK_TABLE(table), opt.throttleType, 0, 2, 0, 1); gtk_widget_show(opt.throttleType); @@ -676,7 +678,7 @@ gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(opt.ipv4TtlValue), TRUE); gtk_signal_connect(GTK_OBJECT(opt.ipv4Ttl), "released", GTK_SIGNAL_FUNC(toggle_button_set_sensitive_cb), opt.ipv4TtlValue); - gtk_object_set(GTK_OBJECT(opt.ipv4TtlValue), "width", 55, NULL); + /* gtk_object_set(GTK_OBJECT(opt.ipv4TtlValue), "width", 55, NULL);*/ gtk_signal_connect(GTK_OBJECT(opt.ipv4TtlValue), "changed", GTK_SIGNAL_FUNC(display_nmap_command_cb), NULL); if ((opt.uid != 0) || (! GTK_TOGGLE_BUTTON(opt.ipv4Ttl)->active)) @@ -694,7 +696,7 @@ adjust = (GtkAdjustment *) gtk_adjustment_new(1.0, 1.0, 150.0, 1.0, 10.0, 10.0); opt.minParSocks = gtk_spin_button_new(adjust, 1.0, 0); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(opt.minParSocks), TRUE); - gtk_object_set(GTK_OBJECT(opt.minParSocks), "width", 55, NULL); + /*gtk_object_set(GTK_OBJECT(opt.minParSocks), "width", 55, NULL);*/ gtk_signal_connect(GTK_OBJECT(opt.minPar), "released", GTK_SIGNAL_FUNC(toggle_button_set_sensitive_cb), opt.minParSocks); gtk_signal_connect(GTK_OBJECT(opt.minParSocks), "changed", @@ -714,7 +716,7 @@ adjust = (GtkAdjustment *) gtk_adjustment_new(1.0, 1.0, 1500.0, 1.0, 10.0, 10.0); opt.maxParSocks = gtk_spin_button_new(adjust, 1.0, 0); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(opt.maxParSocks), TRUE); - gtk_object_set(GTK_OBJECT(opt.maxParSocks), "width", 55, NULL); + /*gtk_object_set(GTK_OBJECT(opt.maxParSocks), "width", 55, NULL);*/ gtk_signal_connect(GTK_OBJECT(opt.maxPar), "released", GTK_SIGNAL_FUNC(toggle_button_set_sensitive_cb), opt.maxParSocks); gtk_signal_connect(GTK_OBJECT(opt.maxParSocks), "changed", @@ -733,7 +735,7 @@ adjust = (GtkAdjustment *) gtk_adjustment_new(6000.0, 0.0, 9999999.0, 10.0, 100.0, 100.0); opt.startRttTime = gtk_spin_button_new(adjust, 10.0, 0); - gtk_object_set(GTK_OBJECT(opt.startRttTime), "width", 75, NULL); + /* gtk_object_set(GTK_OBJECT(opt.startRttTime), "width", 75, NULL);*/ gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(opt.startRttTime), TRUE); gtk_signal_connect(GTK_OBJECT(opt.startRtt), "released", GTK_SIGNAL_FUNC(toggle_button_set_sensitive_cb), opt.startRttTime); @@ -760,7 +762,7 @@ adjust = (GtkAdjustment *) gtk_adjustment_new(6000.0, 1.0, 9999999.0, 10.0, 100.0, 100.0); opt.minRttTime = gtk_spin_button_new(adjust, 10.0, 0); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(opt.minRttTime), TRUE); - gtk_object_set(GTK_OBJECT(opt.minRttTime), "width", 75, NULL); + /*gtk_object_set(GTK_OBJECT(opt.minRttTime), "width", 75, NULL);*/ gtk_signal_connect(GTK_OBJECT(opt.minRtt), "released", GTK_SIGNAL_FUNC(toggle_button_set_sensitive_cb), opt.minRttTime); gtk_signal_connect(GTK_OBJECT(opt.minRttTime), "changed", @@ -786,7 +788,7 @@ adjust = (GtkAdjustment *) gtk_adjustment_new(6000.0, 6.0, 9999999.0, 10.0, 100.0, 100.0); opt.maxRttTime = gtk_spin_button_new(adjust, 10.0, 0); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(opt.maxRttTime), TRUE); - gtk_object_set(GTK_OBJECT(opt.maxRttTime), "width", 75, NULL); + /*gtk_object_set(GTK_OBJECT(opt.maxRttTime), "width", 75, NULL);*/ gtk_signal_connect(GTK_OBJECT(opt.maxRtt), "released", GTK_SIGNAL_FUNC(toggle_button_set_sensitive_cb), opt.maxRttTime); gtk_signal_connect(GTK_OBJECT(opt.maxRttTime), "changed", @@ -812,7 +814,7 @@ adjust = (GtkAdjustment *) gtk_adjustment_new(6000.0, 201.0, 9999999.0, 10.0, 100.0, 100.0); opt.hostTimeoutTime = gtk_spin_button_new(adjust, 10.0, 0); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(opt.hostTimeoutTime), TRUE); - gtk_object_set(GTK_OBJECT(opt.hostTimeoutTime), "width", 75, NULL); + /*gtk_object_set(GTK_OBJECT(opt.hostTimeoutTime), "width", 75, NULL);*/ gtk_signal_connect(GTK_OBJECT(opt.hostTimeout), "released", GTK_SIGNAL_FUNC(toggle_button_set_sensitive_cb), opt.hostTimeoutTime); gtk_signal_connect(GTK_OBJECT(opt.hostTimeoutTime), "changed", @@ -838,7 +840,7 @@ adjust = (GtkAdjustment *) gtk_adjustment_new(6000.0, 1.0, 9999999.0, 10.0, 100.0, 100.0); opt.scanDelayTime = gtk_spin_button_new(adjust, 10.0, 0); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(opt.scanDelayTime), TRUE); - gtk_object_set(GTK_OBJECT(opt.scanDelayTime), "width", 75, NULL); + /*gtk_object_set(GTK_OBJECT(opt.scanDelayTime), "width", 75, NULL);*/ gtk_signal_connect(GTK_OBJECT(opt.scanDelay), "released", GTK_SIGNAL_FUNC(toggle_button_set_sensitive_cb), opt.scanDelayTime); gtk_signal_connect(GTK_OBJECT(opt.scanDelayTime), "changed", @@ -860,6 +862,7 @@ gtk_widget_show(nblabel); gtk_widget_show(nbpage); + gtk_notebook_append_page(GTK_NOTEBOOK(notebook), GTK_WIDGET(nbpage), GTK_WIDGET(nblabel)); @@ -886,7 +889,7 @@ opt.inputFilename = gtk_entry_new(); gtk_entry_set_max_length(GTK_ENTRY(opt.inputFilename), 256); - gtk_object_set(GTK_OBJECT(opt.inputFilename), "width", 110, NULL); + /* gtk_object_set(GTK_OBJECT(opt.inputFilename), "width", 110, NULL);*/ gtk_signal_connect(GTK_OBJECT(opt.inputFilename), "changed", GTK_SIGNAL_FUNC(display_nmap_command_cb), NULL); gtk_widget_set_sensitive(GTK_WIDGET(opt.inputFilename), @@ -923,7 +926,7 @@ opt.outputFilename = gtk_entry_new(); gtk_entry_set_max_length(GTK_ENTRY(opt.outputFilename), 256); - gtk_object_set(GTK_OBJECT(opt.outputFilename), "width", 110, NULL); + /*gtk_object_set(GTK_OBJECT(opt.outputFilename), "width", 110, NULL);*/ gtk_signal_connect(GTK_OBJECT(opt.outputFilename), "changed", GTK_SIGNAL_FUNC(display_nmap_command_cb), NULL); gtk_widget_set_sensitive(GTK_WIDGET(opt.outputFilename), @@ -949,7 +952,7 @@ outputFormatEntries, &opt.outputFormatValue); gtk_option_menu_set_history(GTK_OPTION_MENU(opt.outputFormatType), opt.outputFormatValue - OUTPUT_OFFSET); - gtk_object_set(GTK_OBJECT(opt.outputFormatType), "height", 24, NULL); + /* gtk_object_set(GTK_OBJECT(opt.outputFormatType), "height", 24, NULL);*/ gtk_widget_set_sensitive(GTK_WIDGET(opt.outputFormatType), GTK_TOGGLE_BUTTON(opt.useOutputFile)->active); gtk_table_attach_defaults(GTK_TABLE(table), opt.outputFormatType, 2, 4, 3, 4); @@ -968,6 +971,7 @@ gtk_widget_show(nblabel); gtk_widget_show(nbpage); + gtk_notebook_append_page(GTK_NOTEBOOK(notebook), GTK_WIDGET(nbpage), GTK_WIDGET(nblabel)); @@ -989,7 +993,7 @@ resolveEntries, &opt.resolveValue); gtk_option_menu_set_history(GTK_OPTION_MENU(opt.resolveType), opt.resolveValue - RESOLVE_OFFSET); - gtk_object_set(GTK_OBJECT(opt.resolveType), "height", 24, NULL); + /*gtk_object_set(GTK_OBJECT(opt.resolveType), "height", 24, NULL);*/ gtk_box_pack_start(GTK_BOX(vbox), opt.resolveType, TRUE, FALSE, 0); gtk_widget_show(opt.resolveType); @@ -1008,7 +1012,7 @@ verboseEntries, &opt.verboseValue); gtk_option_menu_set_history(GTK_OPTION_MENU(opt.verboseType), opt.verboseValue - VERBOSE_OFFSET); - gtk_object_set(GTK_OBJECT(opt.verboseType), "height", 24, NULL); + /* gtk_object_set(GTK_OBJECT(opt.verboseType), "height", 24, NULL);*/ gtk_box_pack_start(GTK_BOX(vbox), opt.verboseType, TRUE, FALSE, 0); gtk_widget_show(opt.verboseType); @@ -1034,7 +1038,7 @@ opt.SourceDevice = gtk_entry_new(); gtk_entry_set_max_length(GTK_ENTRY(opt.SourceDevice), 64); - gtk_object_set(GTK_OBJECT(opt.SourceDevice), "width", 110, NULL); + /*gtk_object_set(GTK_OBJECT(opt.SourceDevice), "width", 110, NULL);*/ gtk_signal_connect(GTK_OBJECT(opt.useSourceDevice), "toggled", GTK_SIGNAL_FUNC(toggle_button_set_sensitive_cb), opt.SourceDevice); gtk_signal_connect(GTK_OBJECT(opt.SourceDevice), "changed", @@ -1055,7 +1059,7 @@ opt.SourcePort = gtk_entry_new(); gtk_entry_set_max_length(GTK_ENTRY(opt.SourcePort), 64); - gtk_object_set(GTK_OBJECT(opt.SourcePort), "width", 110, NULL); + /*gtk_object_set(GTK_OBJECT(opt.SourcePort), "width", 110, NULL);*/ gtk_signal_connect(GTK_OBJECT(opt.useSourcePort), "toggled", GTK_SIGNAL_FUNC(toggle_button_set_sensitive_cb), opt.SourcePort); gtk_signal_connect(GTK_OBJECT(opt.SourcePort), "changed", @@ -1076,7 +1080,7 @@ opt.SourceIP = gtk_entry_new(); gtk_entry_set_max_length(GTK_ENTRY(opt.SourceIP), 64); - gtk_object_set(GTK_OBJECT(opt.SourceIP), "width", 110, NULL); + /*gtk_object_set(GTK_OBJECT(opt.SourceIP), "width", 110, NULL);*/ gtk_signal_connect(GTK_OBJECT(opt.useSourceIP), "toggled", GTK_SIGNAL_FUNC(toggle_button_set_sensitive_cb), opt.SourceIP); gtk_signal_connect(GTK_OBJECT(opt.SourceIP), "changed", @@ -1097,7 +1101,7 @@ opt.Decoy = gtk_entry_new(); gtk_entry_set_max_length(GTK_ENTRY(opt.Decoy), 256); - gtk_object_set(GTK_OBJECT(opt.Decoy), "width", 110, NULL); + /*gtk_object_set(GTK_OBJECT(opt.Decoy), "width", 110, NULL);*/ gtk_signal_connect(GTK_OBJECT(opt.useDecoy), "toggled", GTK_SIGNAL_FUNC(toggle_button_set_sensitive_cb), opt.Decoy); gtk_signal_connect(GTK_OBJECT(opt.Decoy), "changed", @@ -1151,29 +1155,32 @@ gtk_widget_show(nblabel); gtk_widget_show(nbpage); + gtk_notebook_append_page(GTK_NOTEBOOK(notebook), GTK_WIDGET(nbpage), GTK_WIDGET(nblabel)); - + gtk_box_pack_start(GTK_BOX(main_vbox), notebook, FALSE, TRUE, 5); gtk_widget_show(notebook); -/* output box (variable; below notebook) */ - hbox = gtk_hbox_new(FALSE, 0); - gtk_box_pack_start(GTK_BOX(main_vbox), hbox, TRUE, TRUE, 5); - -/* text widget with scroll bar */ - opt.output = gtk_text_new(NULL, NULL); - gtk_box_pack_start(GTK_BOX(hbox), opt.output, TRUE, TRUE, 0); - gtk_text_set_word_wrap(GTK_TEXT(opt.output), 1); - gtk_widget_set_usize(opt.output, 500, 248); - gtk_widget_show(opt.output); - gtk_widget_realize(opt.output); - - vscroll = gtk_vscrollbar_new(GTK_TEXT(opt.output)->vadj); - gtk_box_pack_end (GTK_BOX(hbox), vscroll, FALSE, FALSE, 0); - gtk_widget_show(vscroll); - - gtk_widget_show(hbox); + /* output box (variable; below notebook) */ + hbox = gtk_hbox_new(FALSE, 0); + gtk_box_pack_start(GTK_BOX(main_vbox), hbox, TRUE, TRUE, 5); + + /* text widget with scroll bar */ + { + GtkWidget *sw; + sw = gtk_scrolled_window_new(NULL, NULL); + gtk_box_pack_start(GTK_BOX(main_vbox), sw, TRUE, TRUE, 5); + + opt.output = gtk_text_new(NULL, NULL); + gtk_container_add(GTK_CONTAINER(sw),opt.output); + gtk_text_set_word_wrap(GTK_TEXT(opt.output), 1); + gtk_widget_set_usize(opt.output, 500, 248); + gtk_widget_show(opt.output); + gtk_widget_realize(opt.output); + + gtk_widget_show(sw); + } /* status hbox at bottom */ @@ -1208,19 +1215,24 @@ GtkWidget *notebook; GtkWidget *text; GtkWidget *label; -GtkWidget *hbox; -GtkWidget *button; - aboutDialog = gtk_window_new(GTK_WINDOW_TOPLEVEL); + aboutDialog = gtk_dialog_new_with_buttons("About NmapFE & Nmap", + NULL, + GTK_DIALOG_MODAL, + GTK_STOCK_OK, + GTK_RESPONSE_NONE, + NULL); + + + g_signal_connect_swapped (aboutDialog, + "response", + G_CALLBACK (gtk_widget_destroy), + aboutDialog); + gtk_widget_set_usize(aboutDialog, 200, 200); - gtk_window_set_title(GTK_WINDOW(aboutDialog), "About NmapFE & Nmap"); - gtk_window_set_policy(GTK_WINDOW(aboutDialog), FALSE, FALSE, FALSE); gtk_window_position(GTK_WINDOW(aboutDialog), GTK_WIN_POS_CENTER); - vbox = gtk_vbox_new(FALSE, 0); - gtk_widget_show(vbox); - gtk_container_add(GTK_CONTAINER(aboutDialog), vbox); - gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); + vbox = GTK_DIALOG(aboutDialog)->vbox; notebook = gtk_notebook_new(); gtk_box_pack_start(GTK_BOX(vbox), notebook, TRUE, TRUE, 0); @@ -1251,17 +1263,6 @@ gtk_widget_show(notebook); - hbox = gtk_hbox_new(FALSE, 0); - gtk_widget_show(hbox); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 5); - - button = gtk_button_new_with_label("OK"); - gtk_widget_show(button); - gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0); - gtk_signal_connect_object(GTK_OBJECT(button), "clicked", - GTK_SIGNAL_FUNC(gtk_widget_destroy), - (gpointer) aboutDialog); - return(aboutDialog); } @@ -1303,19 +1304,24 @@ GtkWidget *notebook; GtkWidget *text; GtkWidget *label; -GtkWidget *hbox; -GtkWidget *button; - helpDialog = gtk_window_new(GTK_WINDOW_DIALOG); + helpDialog = gtk_dialog_new_with_buttons("Help With NmapFE", + NULL, + GTK_DIALOG_MODAL, + GTK_STOCK_OK, + GTK_RESPONSE_NONE, + NULL); + + + g_signal_connect_swapped (helpDialog, + "response", + G_CALLBACK (gtk_widget_destroy), + helpDialog); + gtk_widget_set_usize(helpDialog, 400, 300); - gtk_window_set_title(GTK_WINDOW(helpDialog), "Help With NmapFE"); - gtk_window_set_policy(GTK_WINDOW(helpDialog), FALSE, FALSE, FALSE); gtk_window_position(GTK_WINDOW(helpDialog), GTK_WIN_POS_CENTER); - vbox = gtk_vbox_new(FALSE, 0); - gtk_widget_show(vbox); - gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); - gtk_container_add(GTK_CONTAINER(helpDialog), vbox); + vbox = GTK_DIALOG(helpDialog)->vbox; notebook = gtk_notebook_new(); gtk_widget_show(notebook); @@ -1379,17 +1385,6 @@ gtk_widget_show(notebook); - hbox = gtk_hbox_new(FALSE, 0); - gtk_widget_show(hbox); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 5); - - button = gtk_button_new_with_label("OK"); - gtk_widget_show(button); - gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 0); - gtk_signal_connect_object(GTK_OBJECT(button), "clicked", - GTK_SIGNAL_FUNC(gtk_widget_destroy), - (gpointer) helpDialog); - return(helpDialog); }
--------------------------------------------------------------------- For help using this (nmap-dev) mailing list, send a blank email to nmap-dev-help () insecure org . List archive: http://seclists.org
Current thread:
- quick and dirty nmapfe port to gtk2 Harald Hoyer (Feb 03)