Windows only: for some typical capture interface names (with a "built in" heuristic), show specific icons in the interface list and the welcome page (this helps to find the right interface)

svn path=/trunk/; revision=27335
This commit is contained in:
Ulf Lamping 2009-01-30 22:55:52 +00:00
parent 9e846eaad2
commit df3c99a109
9 changed files with 428 additions and 6 deletions

View File

@ -87,6 +87,12 @@ capture_air_cb(GtkWidget *widget, gpointer data);
void
set_capture_if_dialog_for_capture_in_progress(gboolean capture_in_progress);
/*
* Used to retrieve the interface icon
*/
GtkWidget *
capture_get_if_icon(const gchar* name);
#ifdef HAVE_PCAP_REMOTE
struct remote_host {
gchar *remote_host; /**< Host name or network address for remote capturing */

View File

@ -67,10 +67,14 @@
#endif
#include "../image/toolbar/capture_ethernet_16.xpm"
#include "../image/toolbar/modem_16.xpm"
#include "../image/toolbar/network_wireless_16.xpm"
#include "../image/toolbar/network_wired_16.xpm"
/* new buttons to be used instead of labels for 'Capture','Prepare',' */
#include "../image/toolbar/capture_capture_16.xpm"
#include "../image/toolbar/capture_prepare_16.xpm"
#include "../image/toolbar/capture_details_16.xpm"
/*#include "../image/toolbar/capture_capture_16.xpm"*/
/*#include "../image/toolbar/capture_prepare_16.xpm"*/
/*#include "../image/toolbar/capture_details_16.xpm"*/
#ifdef HAVE_AIRPCAP
@ -349,6 +353,30 @@ gint if_list_comparator_alph (const void *first_arg, const void *second_arg){
}
}
/*
* Used to retrieve the interface icon
*/
GtkWidget * capture_get_if_icon(const gchar* name)
{
#ifdef _WIN32
if ( strstr(name,"generic dialup") != NULL) {
return xpm_to_widget(modem_16_xpm);
}
if ( strstr(name,"Wireless") != NULL || strstr(name,"802.11") != NULL) {
return xpm_to_widget(network_wireless_16_xpm);
}
/* TODO: check exact spelling and find a better icon! */
if ( strstr(name,"VMWare") != NULL) {
return xpm_to_widget(network_wireless_16_xpm);
}
#endif /* _WIN32 */
return xpm_to_widget(network_wired_16_xpm);
}
/* start getting capture stats from all interfaces */
void
capture_if_cb(GtkWidget *w _U_, gpointer d _U_)
@ -523,9 +551,9 @@ capture_if_cb(GtkWidget *w _U_, gpointer d _U_)
if(get_airpcap_if_from_name(airpcap_if_list,if_info->name) != NULL)
icon = xpm_to_widget(capture_airpcap_16_xpm);
else
icon = xpm_to_widget(capture_ethernet_16_xpm);
icon = capture_get_if_icon(if_info->description);
#else
icon = xpm_to_widget(capture_ethernet_16_xpm);
icon = capture_get_if_icon(if_info->description);
#endif
gtk_table_attach_defaults(GTK_TABLE(if_tb), icon, 0, 1, row, row+1);

View File

@ -524,7 +524,7 @@ welcome_if_new(const char *if_name, GdkColor *topic_bg _U_, gpointer interf)
gtk_container_add(GTK_CONTAINER(eb), interface_hb);
/* icon */
w = gtk_image_new_from_stock(WIRESHARK_STOCK_CAPTURE_START, GTK_ICON_SIZE_SMALL_TOOLBAR);
w = capture_get_if_icon(if_name);
gtk_box_pack_start(GTK_BOX(interface_hb), w, FALSE, FALSE, 5);
message = g_string_new(if_name);

BIN
image/toolbar/modem_16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 719 B

112
image/toolbar/modem_16.xpm Normal file
View File

@ -0,0 +1,112 @@
/* XPM */
static char * modem_16_xpm[] = {
"16 16 93 2",
" c None",
". c #3769A6",
"+ c #3667A5",
"@ c #3869A7",
"# c #3566A5",
"$ c #3565A3",
"% c #3D6BA8",
"& c #779BC6",
"* c #A7C2E0",
"= c #AAC5E2",
"- c #3466A3",
"; c #265290",
"> c #97B7D8",
", c #92B4DA",
"' c #76A2D0",
") c #4373AE",
"! c #3465A4",
"~ c #729FCF",
"{ c #719FCF",
"] c #97B6D8",
"^ c #204A87",
"/ c #254F8B",
"( c #26508D",
"_ c #2C5795",
": c #4674AF",
"< c #80A9D4",
"[ c #4676AF",
"} c #2C5796",
"| c #3767A4",
"1 c #6490C2",
"2 c #E0E9F3",
"3 c #FDFDFD",
"4 c #D8DBD5",
"5 c #D5D7D1",
"6 c #6590C3",
"7 c #3867A4",
"8 c #2F5E9B",
"9 c #7BA5D1",
"0 c #D7DAD4",
"a c #F6F6F5",
"b c #CFD2CC",
"c c #CBCDC7",
"d c #7CA5D1",
"e c #3F6BA4",
"f c #F0F0EE",
"g c #D6D9D3",
"h c #D3D5CF",
"i c #406BA5",
"j c #28548F",
"k c #5D87B9",
"l c #D2D7D2",
"m c #D6D9D2",
"n c #EEEEEC",
"o c #CED1CA",
"p c #C6CAC5",
"q c #5E88B9",
"r c #2A5390",
"s c #204B88",
"t c #5D89BD",
"u c #618DC0",
"v c #848887",
"w c #224D88",
"x c #3869A6",
"y c #396AA7",
"z c #254E89",
"A c #818688",
"B c #838580",
"C c #FFFFFF",
"D c #708CB3",
"E c #214A88",
"F c #6F8BB2",
"G c #82847F",
"H c #777974",
"I c #EFEFED",
"J c #6D6F6B",
"K c #A3C781",
"L c #6FA73A",
"M c #CCCCCC",
"N c #E2D87E",
"O c #D1C235",
"P c #F3B87E",
"Q c #EC8F35",
"R c #646662",
"S c #72A93E",
"T c #6BA534",
"U c #D2C339",
"V c #D0C02F",
"W c #EC9139",
"X c #EB8C2F",
"Y c #5E605C",
"Z c #60625E",
"` c #575955",
" . c #555753",
" . + @ @ @ @ @ @ @ @ # . ",
"$ % & * = = = = = = = = * & % - ",
"; > , ' ) ! ! ~ { ! ! ) ' , ] ; ",
"^ / ( _ : < ! ! ! ! < [ } ( / ^ ",
" | 1 2 3 4 5 3 2 6 7 ",
" 8 9 0 0 a a b c d 8 ",
" e < f f g h f f < i ",
" j k < l m n n o p < q r ",
" s t u u u u u u u u t s ",
" v w x y y y y y y y y x z A ",
"B C D E ^ ^ ^ ^ ^ ^ ^ ^ E F C G ",
"H C I I I I I I I I I I I I C H ",
"J C K L M N O M P Q M M M M C J ",
"R C S T M U V M W X M M M M C R ",
"Y C C C C C C C C C C C C C C Y ",
"Z ` . . . . . . . . . . . .` Z "};

Binary file not shown.

After

Width:  |  Height:  |  Size: 637 B

View File

@ -0,0 +1,121 @@
/* XPM */
static char * network_wired_16_xpm[] = {
"16 16 102 2",
" c None",
". c #8B8C88",
"+ c #898B86",
"@ c #8C8E89",
"# c #F1F1F0",
"$ c #FFFFFF",
"% c #F0F0EF",
"& c #8B8D89",
"* c #FEFEFE",
"= c #EFEFED",
"- c #EEEEEC",
"; c #EDEDEB",
"> c #ECEDEA",
", c #ECECEA",
"' c #ECECE9",
") c #EBECE9",
"! c #EBEBE9",
"~ c #F0F0EE",
"{ c #F3F4F2",
"] c #F4F4F2",
"^ c #EAEAE8",
"/ c #E9EAE7",
"( c #EFEFEE",
"_ c #E8E9E6",
": c #8D8F8A",
"< c #888A85",
"[ c #8B8D88",
"} c #F4F4F3",
"| c #EEEFEC",
"1 c #E8E9E5",
"2 c #EAEBE8",
"3 c #4A4F4E",
"4 c #2E3436",
"5 c #4A4F4F",
"6 c #9B9E98",
"7 c #ACAFA8",
"8 c #F4F5F3",
"9 c #E6E7E4",
"0 c #E9E9E6",
"a c #BABDB6",
"b c #F5F5F4",
"c c #E5E6E2",
"d c #5D5E5B",
"e c #565853",
"f c #565854",
"g c #555753",
"h c #595B58",
"i c #434745",
"j c #F5F6F4",
"k c #E3E5E1",
"l c #5C5F5A",
"m c #D7D7D6",
"n c #CCCEC9",
"o c #D3D5D1",
"p c #F6F6F5",
"q c #F6F7F6",
"r c #B0A751",
"s c #F6F7F5",
"t c #E2E4DF",
"u c #B0B1AF",
"v c #A2A39F",
"w c #D4D6D2",
"x c #BDC0B9",
"y c #F7F8F6",
"z c #E1E2DE",
"A c #EDEDEC",
"B c #B2C2D4",
"C c #ACBDD3",
"D c #C9CCC7",
"E c #DFE0DD",
"F c #F7F8F7",
"G c #F8F8F7",
"H c #DFE1DC",
"I c #555754",
"J c #7998BF",
"K c #4F7BB1",
"L c #3C6CA8",
"M c #B1B2B0",
"N c #717470",
"O c #E0E2DD",
"P c #DFE1DB",
"Q c #DEE0DB",
"R c #DFE1DD",
"S c #436389",
"T c #517DB3",
"U c #96B6DA",
"V c #4F7AB1",
"W c #B2C1D5",
"X c #B3B5B1",
"Y c #6F716E",
"Z c #EDEDED",
"` c #E9EBE8",
" . c #8A8D88",
".. c #4B77AD",
"+. c #4B76AC",
"@. c #43638A",
"#. c #565855",
"$. c #656662",
"%. c #848581",
"&. c #4A78B1",
"*. c #3969A7",
"=. c #4775AE",
" . + + + + + + + + + + + . ",
" @ # $ $ $ $ $ $ $ $ $ $ $ % & ",
" + * = - - ; ; > , ' ) ! ' * + ",
" + $ ; > , ~ { ] ] = ^ / / $ + ",
" + $ ) ( ] _ : < [ / } | 1 $ + ",
" + $ 2 ] @ < 3 4 5 6 7 8 9 $ + ",
" + $ 0 } < 4 4 4 4 4 a b c $ + ",
"d e f f f e g h i i i a j k $ + ",
"l m $ n o p q e g r g a s t $ + ",
"g u < v ^ q w f a a a x y z $ + ",
"g A B C A D E f y F F G > H $ + ",
"I J K L C o M N O H H P Q R * + ",
"S T U V W X Y Z $ $ $ $ $ * ` .",
"..U +.@.#.$.%.+ + + + + + + . ",
"U &.*. ",
"=.*. "};

Binary file not shown.

After

Width:  |  Height:  |  Size: 971 B

View File

@ -0,0 +1,155 @@
/* XPM */
static char * network_wireless_16_xpm[] = {
"16 16 136 2",
" c None",
". c #3963AA",
"+ c #356AAA",
"@ c #71AAC6",
"# c #719CD5",
"$ c #74A2D1",
"% c #2B55AA",
"& c #3264A1",
"* c #809FBF",
"= c #6699C4",
"- c #628DC9",
"; c #71A2CE",
"> c #6FA2D1",
", c #3263AA",
"' c #3068A7",
") c #6495C7",
"! c #5686BC",
"~ c #739ACD",
"{ c #739FCF",
"] c #71A0D0",
"^ c #3567A6",
"/ c #4B78B4",
"( c #739CCE",
"_ c #5181B7",
": c #6592C4",
"< c #719ED0",
"[ c #668299",
"} c #868786",
"| c #5E625F",
"1 c #66839D",
"2 c #3565A4",
"3 c #68A2D1",
"4 c #72A1D0",
"5 c #4A78B4",
"6 c #719ECE",
"7 c #666868",
"8 c #FBFBFA",
"9 c #D0D0CE",
"0 c #606463",
"a c #3365A5",
"b c #6DA0CC",
"c c #4676B0",
"d c #719DCD",
"e c #719ECC",
"f c #5E6160",
"g c #D2D3D0",
"h c #CFCFCC",
"i c #606362",
"j c #3666A6",
"k c #618DBD",
"l c #73A1CE",
"m c #4979B3",
"n c #618FC4",
"o c #7998B6",
"p c #7B8E9B",
"q c #5C605E",
"r c #5D605E",
"s c #7D8F9F",
"t c #3465A6",
"u c #4776B3",
"v c #72A0CE",
"w c #5F8DC0",
"x c #4273AC",
"y c #818B92",
"z c #B8C8DA",
"A c #91AAC1",
"B c #7F8D96",
"C c #3366A6",
"D c #3868A6",
"E c #6D98CA",
"F c #577BA8",
"G c #4C72A3",
"H c #ADC2DB",
"I c #AAB8C7",
"J c #8493A1",
"K c #A7BCD4",
"L c #3464A4",
"M c #3E6EAD",
"N c #729FCD",
"O c #868C8D",
"P c #ACB9CA",
"Q c #6384AD",
"R c #4973AA",
"S c #4F79B0",
"T c #6E8FB8",
"U c #AEBBCD",
"V c #888A87",
"W c #336699",
"X c #55799D",
"Y c #9C9D99",
"Z c #F4F4F4",
"` c #8D8E8A",
" . c #8D908C",
".. c #B9BBB8",
"+. c #F0F0EF",
"@. c #FFFFFF",
"#. c #858986",
"$. c #D6D6D5",
"%. c #D7D8D6",
"&. c #DBDBDA",
"*. c #F8F9F8",
"=. c #B3B4B1",
"-. c #C3C5C3",
";. c #D4D4D3",
">. c #7A848A",
",. c #898984",
"'. c #969894",
"). c #EBEBEB",
"!. c #D3D4D2",
"~. c #C0C1BE",
"{. c #B0B1AE",
"]. c #A6A8A4",
"^. c #F6F6F6",
"/. c #898986",
"(. c #888A85",
"_. c #CDCECC",
":. c #C8C8C6",
"<. c #989A96",
"[. c #A8AAA6",
"}. c #B8B9B6",
"|. c #C8C9C7",
"1. c #D8D8D7",
"2. c #E8E8E7",
"3. c #FCFCFB",
"4. c #DEDFDD",
"5. c #EAEAE9",
"6. c #939590",
"7. c #888C85",
"8. c #888885",
"9. c #888A86",
"0. c #888A84",
"a. c #888B85",
"b. c #878B85",
"c. c #E7E8E7",
"d. c #898B85",
"e. c #878A85",
" . + @ # $ $ # @ + . ",
"% & * = - ; > > ; - = * & % ",
", ' $ ) ! ~ { ] ] { ~ ! ) $ ' , ",
"^ / ( _ : < [ } | 1 < : _ ( / ^ ",
"2 3 4 5 ] 6 7 8 9 0 6 ] 5 4 3 2 ",
"a b 6 c d e f g h i e d c 6 b a ",
"j k l m n o p q r s o n m l k j ",
"t u v w x y z A A z B x w v u t ",
"C D E < F G H I J K G F < E D C ",
" L M N O P Q R S T U V N M L ",
" W a X Y Z ` ...+.@.Y X a W ",
" % #.$.%.&.*.&.=.-.;.>.% ",
" ,.'.@.8 ).!.~.{.].^.'./. ",
" (._.:.<.[.}.|.1.2.3.4.(. ",
" (.5.6.7.8.9.0.a.b.6.c.(. ",
" d.(.d. e.(.d. "};