aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/kconfig')
-rw-r--r--scripts/kconfig/Makefile16
-rw-r--r--scripts/kconfig/gconf.c144
-rw-r--r--scripts/kconfig/gconf.glade167
-rw-r--r--scripts/kconfig/kxgettext.c16
4 files changed, 234 insertions, 109 deletions
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index 09abb891d11f..2fcb244a9e18 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -27,8 +27,20 @@ update-po-config: $(obj)/kxgettext
27 xgettext --default-domain=linux \ 27 xgettext --default-domain=linux \
28 --add-comments --keyword=_ --keyword=N_ \ 28 --add-comments --keyword=_ --keyword=N_ \
29 --files-from=scripts/kconfig/POTFILES.in \ 29 --files-from=scripts/kconfig/POTFILES.in \
30 -o scripts/kconfig/linux.pot 30 --output scripts/kconfig/config.pot
31 scripts/kconfig/kxgettext arch/$(ARCH)/Kconfig >> scripts/kconfig/linux.pot 31 $(Q)ln -fs Kconfig_i386 arch/um/Kconfig_arch
32 $(Q)for i in `ls arch/`; \
33 do \
34 scripts/kconfig/kxgettext arch/$$i/Kconfig \
35 | msguniq -o scripts/kconfig/linux_$${i}.pot; \
36 done
37 $(Q)msgcat scripts/kconfig/config.pot \
38 `find scripts/kconfig/ -type f -name linux_*.pot` \
39 --output scripts/kconfig/linux_raw.pot
40 $(Q)msguniq --sort-by-file scripts/kconfig/linux_raw.pot \
41 --output scripts/kconfig/linux.pot
42 $(Q)rm -f arch/um/Kconfig_arch
43 $(Q)rm -f scripts/kconfig/linux_*.pot scripts/kconfig/config.pot
32 44
33.PHONY: randconfig allyesconfig allnoconfig allmodconfig defconfig 45.PHONY: randconfig allyesconfig allnoconfig allmodconfig defconfig
34 46
diff --git a/scripts/kconfig/gconf.c b/scripts/kconfig/gconf.c
index ad6b12043874..9f5aabd58fa9 100644
--- a/scripts/kconfig/gconf.c
+++ b/scripts/kconfig/gconf.c
@@ -178,17 +178,31 @@ const char *dbg_print_ptype(int val)
178} 178}
179 179
180 180
181/* Main Window Initialization */ 181void replace_button_icon(GladeXML * xml, GdkDrawable * window,
182 GtkStyle * style, gchar * btn_name, gchar ** xpm)
183{
184 GdkPixmap *pixmap;
185 GdkBitmap *mask;
186 GtkToolButton *button;
187 GtkWidget *image;
182 188
189 pixmap = gdk_pixmap_create_from_xpm_d(window, &mask,
190 &style->bg[GTK_STATE_NORMAL],
191 xpm);
192
193 button = GTK_TOOL_BUTTON(glade_xml_get_widget(xml, btn_name));
194 image = gtk_image_new_from_pixmap(pixmap, mask);
195 gtk_widget_show(image);
196 gtk_tool_button_set_icon_widget(button, image);
197}
183 198
199/* Main Window Initialization */
184void init_main_window(const gchar * glade_file) 200void init_main_window(const gchar * glade_file)
185{ 201{
186 GladeXML *xml; 202 GladeXML *xml;
187 GtkWidget *widget; 203 GtkWidget *widget;
188 GtkTextBuffer *txtbuf; 204 GtkTextBuffer *txtbuf;
189 char title[256]; 205 char title[256];
190 GdkPixmap *pixmap;
191 GdkBitmap *mask;
192 GtkStyle *style; 206 GtkStyle *style;
193 207
194 xml = glade_xml_new(glade_file, "window1", NULL); 208 xml = glade_xml_new(glade_file, "window1", NULL);
@@ -221,36 +235,22 @@ void init_main_window(const gchar * glade_file)
221 style = gtk_widget_get_style(main_wnd); 235 style = gtk_widget_get_style(main_wnd);
222 widget = glade_xml_get_widget(xml, "toolbar1"); 236 widget = glade_xml_get_widget(xml, "toolbar1");
223 237
224 pixmap = gdk_pixmap_create_from_xpm_d(main_wnd->window, &mask, 238#if 0 /* Use stock Gtk icons instead */
225 &style->bg[GTK_STATE_NORMAL], 239 replace_button_icon(xml, main_wnd->window, style,
226 (gchar **) xpm_single_view); 240 "button1", (gchar **) xpm_back);
227 gtk_image_set_from_pixmap(GTK_IMAGE 241 replace_button_icon(xml, main_wnd->window, style,
228 (((GtkToolbarChild 242 "button2", (gchar **) xpm_load);
229 *) (g_list_nth(GTK_TOOLBAR(widget)-> 243 replace_button_icon(xml, main_wnd->window, style,
230 children, 244 "button3", (gchar **) xpm_save);
231 5)->data))->icon), 245#endif
232 pixmap, mask); 246 replace_button_icon(xml, main_wnd->window, style,
233 pixmap = 247 "button4", (gchar **) xpm_single_view);
234 gdk_pixmap_create_from_xpm_d(main_wnd->window, &mask, 248 replace_button_icon(xml, main_wnd->window, style,
235 &style->bg[GTK_STATE_NORMAL], 249 "button5", (gchar **) xpm_split_view);
236 (gchar **) xpm_split_view); 250 replace_button_icon(xml, main_wnd->window, style,
237 gtk_image_set_from_pixmap(GTK_IMAGE 251 "button6", (gchar **) xpm_tree_view);
238 (((GtkToolbarChild 252
239 *) (g_list_nth(GTK_TOOLBAR(widget)-> 253#if 0
240 children,
241 6)->data))->icon),
242 pixmap, mask);
243 pixmap =
244 gdk_pixmap_create_from_xpm_d(main_wnd->window, &mask,
245 &style->bg[GTK_STATE_NORMAL],
246 (gchar **) xpm_tree_view);
247 gtk_image_set_from_pixmap(GTK_IMAGE
248 (((GtkToolbarChild
249 *) (g_list_nth(GTK_TOOLBAR(widget)->
250 children,
251 7)->data))->icon),
252 pixmap, mask);
253
254 switch (view_mode) { 254 switch (view_mode) {
255 case SINGLE_VIEW: 255 case SINGLE_VIEW:
256 widget = glade_xml_get_widget(xml, "button4"); 256 widget = glade_xml_get_widget(xml, "button4");
@@ -265,7 +265,7 @@ void init_main_window(const gchar * glade_file)
265 g_signal_emit_by_name(widget, "clicked"); 265 g_signal_emit_by_name(widget, "clicked");
266 break; 266 break;
267 } 267 }
268 268#endif
269 txtbuf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_w)); 269 txtbuf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_w));
270 tag1 = gtk_text_buffer_create_tag(txtbuf, "mytag1", 270 tag1 = gtk_text_buffer_create_tag(txtbuf, "mytag1",
271 "foreground", "red", 271 "foreground", "red",
@@ -322,7 +322,7 @@ void init_left_tree(void)
322 gtk_tree_view_set_model(view, model1); 322 gtk_tree_view_set_model(view, model1);
323 gtk_tree_view_set_headers_visible(view, TRUE); 323 gtk_tree_view_set_headers_visible(view, TRUE);
324 gtk_tree_view_set_rules_hint(view, FALSE); 324 gtk_tree_view_set_rules_hint(view, FALSE);
325 325
326 column = gtk_tree_view_column_new(); 326 column = gtk_tree_view_column_new();
327 gtk_tree_view_append_column(view, column); 327 gtk_tree_view_append_column(view, column);
328 gtk_tree_view_column_set_title(column, _("Options")); 328 gtk_tree_view_column_set_title(column, _("Options"));
@@ -334,11 +334,11 @@ void init_left_tree(void)
334 renderer, 334 renderer,
335 "active", COL_BTNACT, 335 "active", COL_BTNACT,
336 "inconsistent", COL_BTNINC, 336 "inconsistent", COL_BTNINC,
337 "visible", COL_BTNVIS, 337 "visible", COL_BTNVIS,
338 "radio", COL_BTNRAD, NULL); 338 "radio", COL_BTNRAD, NULL);
339 renderer = gtk_cell_renderer_text_new(); 339 renderer = gtk_cell_renderer_text_new();
340 gtk_tree_view_column_pack_start(GTK_TREE_VIEW_COLUMN(column), 340 gtk_tree_view_column_pack_start(GTK_TREE_VIEW_COLUMN(column),
341 renderer, FALSE); 341 renderer, FALSE);
342 gtk_tree_view_column_set_attributes(GTK_TREE_VIEW_COLUMN(column), 342 gtk_tree_view_column_set_attributes(GTK_TREE_VIEW_COLUMN(column),
343 renderer, 343 renderer,
344 "text", COL_OPTION, 344 "text", COL_OPTION,
@@ -386,7 +386,7 @@ void init_right_tree(void)
386 renderer, 386 renderer,
387 "active", COL_BTNACT, 387 "active", COL_BTNACT,
388 "inconsistent", COL_BTNINC, 388 "inconsistent", COL_BTNINC,
389 "visible", COL_BTNVIS, 389 "visible", COL_BTNVIS,
390 "radio", COL_BTNRAD, NULL); 390 "radio", COL_BTNRAD, NULL);
391 /*g_signal_connect(G_OBJECT(renderer), "toggled", 391 /*g_signal_connect(G_OBJECT(renderer), "toggled",
392 G_CALLBACK(renderer_toggled), NULL); */ 392 G_CALLBACK(renderer_toggled), NULL); */
@@ -806,7 +806,7 @@ void on_license1_activate(GtkMenuItem * menuitem, gpointer user_data)
806} 806}
807 807
808 808
809void on_back_pressed(GtkButton * button, gpointer user_data) 809void on_back_clicked(GtkButton * button, gpointer user_data)
810{ 810{
811 enum prop_type ptype; 811 enum prop_type ptype;
812 812
@@ -821,13 +821,13 @@ void on_back_pressed(GtkButton * button, gpointer user_data)
821} 821}
822 822
823 823
824void on_load_pressed(GtkButton * button, gpointer user_data) 824void on_load_clicked(GtkButton * button, gpointer user_data)
825{ 825{
826 on_load1_activate(NULL, user_data); 826 on_load1_activate(NULL, user_data);
827} 827}
828 828
829 829
830void on_save_pressed(GtkButton * button, gpointer user_data) 830void on_save_clicked(GtkButton * button, gpointer user_data)
831{ 831{
832 on_save1_activate(NULL, user_data); 832 on_save1_activate(NULL, user_data);
833} 833}
@@ -850,9 +850,12 @@ void on_split_clicked(GtkButton * button, gpointer user_data)
850 gtk_widget_show(tree1_w); 850 gtk_widget_show(tree1_w);
851 gtk_window_get_default_size(GTK_WINDOW(main_wnd), &w, &h); 851 gtk_window_get_default_size(GTK_WINDOW(main_wnd), &w, &h);
852 gtk_paned_set_position(GTK_PANED(hpaned), w / 2); 852 gtk_paned_set_position(GTK_PANED(hpaned), w / 2);
853 if (tree2) 853 if (tree2)
854 gtk_tree_store_clear(tree2); 854 gtk_tree_store_clear(tree2);
855 display_list(); 855 display_list();
856
857 /* Disable back btn, like in full mode. */
858 gtk_widget_set_sensitive(back_btn, FALSE);
856} 859}
857 860
858 861
@@ -868,13 +871,13 @@ void on_full_clicked(GtkButton * button, gpointer user_data)
868} 871}
869 872
870 873
871void on_collapse_pressed(GtkButton * button, gpointer user_data) 874void on_collapse_clicked(GtkButton * button, gpointer user_data)
872{ 875{
873 gtk_tree_view_collapse_all(GTK_TREE_VIEW(tree2_w)); 876 gtk_tree_view_collapse_all(GTK_TREE_VIEW(tree2_w));
874} 877}
875 878
876 879
877void on_expand_pressed(GtkButton * button, gpointer user_data) 880void on_expand_clicked(GtkButton * button, gpointer user_data)
878{ 881{
879 gtk_tree_view_expand_all(GTK_TREE_VIEW(tree2_w)); 882 gtk_tree_view_expand_all(GTK_TREE_VIEW(tree2_w));
880} 883}
@@ -1242,13 +1245,13 @@ static gchar **fill_row(struct menu *menu)
1242 row[COL_VALUE] = 1245 row[COL_VALUE] =
1243 g_strdup(menu_get_prompt(def_menu)); 1246 g_strdup(menu_get_prompt(def_menu));
1244 } 1247 }
1245 if(sym->flags & SYMBOL_CHOICEVAL) 1248 if (sym->flags & SYMBOL_CHOICEVAL)
1246 row[COL_BTNRAD] = GINT_TO_POINTER(TRUE); 1249 row[COL_BTNRAD] = GINT_TO_POINTER(TRUE);
1247 1250
1248 stype = sym_get_type(sym); 1251 stype = sym_get_type(sym);
1249 switch (stype) { 1252 switch (stype) {
1250 case S_BOOLEAN: 1253 case S_BOOLEAN:
1251 if(GPOINTER_TO_INT(row[COL_PIXVIS]) == FALSE) 1254 if (GPOINTER_TO_INT(row[COL_PIXVIS]) == FALSE)
1252 row[COL_BTNVIS] = GINT_TO_POINTER(TRUE); 1255 row[COL_BTNVIS] = GINT_TO_POINTER(TRUE);
1253 if (sym_is_choice(sym)) 1256 if (sym_is_choice(sym))
1254 break; 1257 break;
@@ -1423,7 +1426,7 @@ static void update_tree(struct menu *src, GtkTreeIter * dst)
1423 child2); 1426 child2);
1424 gtk_tree_store_remove(tree2, &tmp); 1427 gtk_tree_store_remove(tree2, &tmp);
1425 if (!valid) 1428 if (!valid)
1426 return; // next parent 1429 return; // next parent
1427 else 1430 else
1428 goto reparse; // next child 1431 goto reparse; // next child
1429 } else 1432 } else
@@ -1448,7 +1451,7 @@ static void update_tree(struct menu *src, GtkTreeIter * dst)
1448 child2); 1451 child2);
1449 gtk_tree_store_remove(tree2, &tmp); 1452 gtk_tree_store_remove(tree2, &tmp);
1450 if (!valid) 1453 if (!valid)
1451 return; // next parent 1454 return; // next parent
1452 else 1455 else
1453 goto reparse; // next child 1456 goto reparse; // next child
1454 } 1457 }
@@ -1486,12 +1489,12 @@ static void display_tree(struct menu *menu)
1486 if (sym) 1489 if (sym)
1487 sym->flags &= ~SYMBOL_CHANGED; 1490 sym->flags &= ~SYMBOL_CHANGED;
1488 1491
1489 if ((view_mode == SPLIT_VIEW) && !(child->flags & MENU_ROOT) && 1492 if ((view_mode == SPLIT_VIEW)
1490 (tree == tree1)) 1493 && !(child->flags & MENU_ROOT) && (tree == tree1))
1491 continue; 1494 continue;
1492 1495
1493 if ((view_mode == SPLIT_VIEW) && (child->flags & MENU_ROOT) && 1496 if ((view_mode == SPLIT_VIEW) && (child->flags & MENU_ROOT)
1494 (tree == tree2)) 1497 && (tree == tree2))
1495 continue; 1498 continue;
1496 1499
1497 if (menu_is_visible(child) || show_all) 1500 if (menu_is_visible(child) || show_all)
@@ -1513,11 +1516,12 @@ static void display_tree(struct menu *menu)
1513 && (tree == tree2)) 1516 && (tree == tree2))
1514 continue; 1517 continue;
1515/* 1518/*
1516 if (((menu != &rootmenu) && !(menu->flags & MENU_ROOT)) || 1519 if (((menu != &rootmenu) && !(menu->flags & MENU_ROOT))
1517 (view_mode == FULL_VIEW) 1520 || (view_mode == FULL_VIEW)
1518 || (view_mode == SPLIT_VIEW))*/ 1521 || (view_mode == SPLIT_VIEW))*/
1519 if (((view_mode == SINGLE_VIEW) && (menu->flags & MENU_ROOT)) 1522 if (((view_mode == SINGLE_VIEW) && (menu->flags & MENU_ROOT))
1520 || (view_mode == FULL_VIEW) || (view_mode == SPLIT_VIEW)) { 1523 || (view_mode == FULL_VIEW)
1524 || (view_mode == SPLIT_VIEW)) {
1521 indent++; 1525 indent++;
1522 display_tree(child); 1526 display_tree(child);
1523 indent--; 1527 indent--;
@@ -1530,9 +1534,9 @@ static void display_tree_part(void)
1530{ 1534{
1531 if (tree2) 1535 if (tree2)
1532 gtk_tree_store_clear(tree2); 1536 gtk_tree_store_clear(tree2);
1533 if(view_mode == SINGLE_VIEW) 1537 if (view_mode == SINGLE_VIEW)
1534 display_tree(current); 1538 display_tree(current);
1535 else if(view_mode == SPLIT_VIEW) 1539 else if (view_mode == SPLIT_VIEW)
1536 display_tree(browsed); 1540 display_tree(browsed);
1537 gtk_tree_view_expand_all(GTK_TREE_VIEW(tree2_w)); 1541 gtk_tree_view_expand_all(GTK_TREE_VIEW(tree2_w));
1538} 1542}
@@ -1551,24 +1555,22 @@ static void display_list(void)
1551 1555
1552void fixup_rootmenu(struct menu *menu) 1556void fixup_rootmenu(struct menu *menu)
1553{ 1557{
1554 struct menu *child; 1558 struct menu *child;
1555 static int menu_cnt = 0; 1559 static int menu_cnt = 0;
1556 1560
1557 menu->flags |= MENU_ROOT; 1561 menu->flags |= MENU_ROOT;
1558 for (child = menu->list; child; child = child->next) { 1562 for (child = menu->list; child; child = child->next) {
1559 if (child->prompt && child->prompt->type == P_MENU) { 1563 if (child->prompt && child->prompt->type == P_MENU) {
1560 menu_cnt++; 1564 menu_cnt++;
1561 fixup_rootmenu(child); 1565 fixup_rootmenu(child);
1562 menu_cnt--; 1566 menu_cnt--;
1563 } else if (!menu_cnt) 1567 } else if (!menu_cnt)
1564 fixup_rootmenu(child); 1568 fixup_rootmenu(child);
1565 } 1569 }
1566} 1570}
1567 1571
1568 1572
1569/* Main */ 1573/* Main */
1570
1571
1572int main(int ac, char *av[]) 1574int main(int ac, char *av[])
1573{ 1575{
1574 const char *name; 1576 const char *name;
diff --git a/scripts/kconfig/gconf.glade b/scripts/kconfig/gconf.glade
index ace4706ab251..f8744ed64967 100644
--- a/scripts/kconfig/gconf.glade
+++ b/scripts/kconfig/gconf.glade
@@ -13,6 +13,11 @@
13 <property name="default_height">480</property> 13 <property name="default_height">480</property>
14 <property name="resizable">True</property> 14 <property name="resizable">True</property>
15 <property name="destroy_with_parent">False</property> 15 <property name="destroy_with_parent">False</property>
16 <property name="decorated">True</property>
17 <property name="skip_taskbar_hint">False</property>
18 <property name="skip_pager_hint">False</property>
19 <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
20 <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
16 <signal name="destroy" handler="on_window1_destroy" object="window1"/> 21 <signal name="destroy" handler="on_window1_destroy" object="window1"/>
17 <signal name="size_request" handler="on_window1_size_request" object="vpaned1" last_modification_time="Fri, 11 Jan 2002 16:17:11 GMT"/> 22 <signal name="size_request" handler="on_window1_size_request" object="vpaned1" last_modification_time="Fri, 11 Jan 2002 16:17:11 GMT"/>
18 <signal name="delete_event" handler="on_window1_delete_event" object="window1" last_modification_time="Sun, 09 Mar 2003 19:42:46 GMT"/> 23 <signal name="delete_event" handler="on_window1_delete_event" object="window1" last_modification_time="Sun, 09 Mar 2003 19:42:46 GMT"/>
@@ -46,7 +51,7 @@
46 <accelerator key="L" modifiers="GDK_CONTROL_MASK" signal="activate"/> 51 <accelerator key="L" modifiers="GDK_CONTROL_MASK" signal="activate"/>
47 52
48 <child internal-child="image"> 53 <child internal-child="image">
49 <widget class="GtkImage" id="image27"> 54 <widget class="GtkImage" id="image39">
50 <property name="visible">True</property> 55 <property name="visible">True</property>
51 <property name="stock">gtk-open</property> 56 <property name="stock">gtk-open</property>
52 <property name="icon_size">1</property> 57 <property name="icon_size">1</property>
@@ -69,7 +74,7 @@
69 <accelerator key="S" modifiers="GDK_CONTROL_MASK" signal="activate"/> 74 <accelerator key="S" modifiers="GDK_CONTROL_MASK" signal="activate"/>
70 75
71 <child internal-child="image"> 76 <child internal-child="image">
72 <widget class="GtkImage" id="image28"> 77 <widget class="GtkImage" id="image40">
73 <property name="visible">True</property> 78 <property name="visible">True</property>
74 <property name="stock">gtk-save</property> 79 <property name="stock">gtk-save</property>
75 <property name="icon_size">1</property> 80 <property name="icon_size">1</property>
@@ -91,7 +96,7 @@
91 <signal name="activate" handler="on_save_as1_activate"/> 96 <signal name="activate" handler="on_save_as1_activate"/>
92 97
93 <child internal-child="image"> 98 <child internal-child="image">
94 <widget class="GtkImage" id="image29"> 99 <widget class="GtkImage" id="image41">
95 <property name="visible">True</property> 100 <property name="visible">True</property>
96 <property name="stock">gtk-save-as</property> 101 <property name="stock">gtk-save-as</property>
97 <property name="icon_size">1</property> 102 <property name="icon_size">1</property>
@@ -105,7 +110,7 @@
105 </child> 110 </child>
106 111
107 <child> 112 <child>
108 <widget class="GtkMenuItem" id="separator1"> 113 <widget class="GtkSeparatorMenuItem" id="separator1">
109 <property name="visible">True</property> 114 <property name="visible">True</property>
110 </widget> 115 </widget>
111 </child> 116 </child>
@@ -119,7 +124,7 @@
119 <accelerator key="Q" modifiers="GDK_CONTROL_MASK" signal="activate"/> 124 <accelerator key="Q" modifiers="GDK_CONTROL_MASK" signal="activate"/>
120 125
121 <child internal-child="image"> 126 <child internal-child="image">
122 <widget class="GtkImage" id="image30"> 127 <widget class="GtkImage" id="image42">
123 <property name="visible">True</property> 128 <property name="visible">True</property>
124 <property name="stock">gtk-quit</property> 129 <property name="stock">gtk-quit</property>
125 <property name="icon_size">1</property> 130 <property name="icon_size">1</property>
@@ -179,7 +184,7 @@
179 </child> 184 </child>
180 185
181 <child> 186 <child>
182 <widget class="GtkMenuItem" id="separator2"> 187 <widget class="GtkSeparatorMenuItem" id="separator2">
183 <property name="visible">True</property> 188 <property name="visible">True</property>
184 </widget> 189 </widget>
185 </child> 190 </child>
@@ -228,7 +233,7 @@
228 <accelerator key="I" modifiers="GDK_CONTROL_MASK" signal="activate"/> 233 <accelerator key="I" modifiers="GDK_CONTROL_MASK" signal="activate"/>
229 234
230 <child internal-child="image"> 235 <child internal-child="image">
231 <widget class="GtkImage" id="image31"> 236 <widget class="GtkImage" id="image43">
232 <property name="visible">True</property> 237 <property name="visible">True</property>
233 <property name="stock">gtk-dialog-question</property> 238 <property name="stock">gtk-dialog-question</property>
234 <property name="icon_size">1</property> 239 <property name="icon_size">1</property>
@@ -250,7 +255,7 @@
250 <accelerator key="A" modifiers="GDK_CONTROL_MASK" signal="activate"/> 255 <accelerator key="A" modifiers="GDK_CONTROL_MASK" signal="activate"/>
251 256
252 <child internal-child="image"> 257 <child internal-child="image">
253 <widget class="GtkImage" id="image32"> 258 <widget class="GtkImage" id="image44">
254 <property name="visible">True</property> 259 <property name="visible">True</property>
255 <property name="stock">gtk-properties</property> 260 <property name="stock">gtk-properties</property>
256 <property name="icon_size">1</property> 261 <property name="icon_size">1</property>
@@ -271,7 +276,7 @@
271 <signal name="activate" handler="on_license1_activate" last_modification_time="Fri, 15 Nov 2002 20:26:30 GMT"/> 276 <signal name="activate" handler="on_license1_activate" last_modification_time="Fri, 15 Nov 2002 20:26:30 GMT"/>
272 277
273 <child internal-child="image"> 278 <child internal-child="image">
274 <widget class="GtkImage" id="image33"> 279 <widget class="GtkImage" id="image45">
275 <property name="visible">True</property> 280 <property name="visible">True</property>
276 <property name="stock">gtk-justify-fill</property> 281 <property name="stock">gtk-justify-fill</property>
277 <property name="icon_size">1</property> 282 <property name="icon_size">1</property>
@@ -308,109 +313,207 @@
308 <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property> 313 <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
309 <property name="toolbar_style">GTK_TOOLBAR_BOTH</property> 314 <property name="toolbar_style">GTK_TOOLBAR_BOTH</property>
310 <property name="tooltips">True</property> 315 <property name="tooltips">True</property>
316 <property name="show_arrow">True</property>
311 317
312 <child> 318 <child>
313 <widget class="button" id="button1"> 319 <widget class="GtkToolButton" id="button1">
314 <property name="visible">True</property> 320 <property name="visible">True</property>
315 <property name="tooltip" translatable="yes">Goes up of one level (single view)</property> 321 <property name="tooltip" translatable="yes">Goes up of one level (single view)</property>
316 <property name="label" translatable="yes">Back</property> 322 <property name="label" translatable="yes">Back</property>
317 <property name="use_underline">True</property> 323 <property name="use_underline">True</property>
318 <property name="stock_pixmap">gtk-undo</property> 324 <property name="stock_id">gtk-undo</property>
319 <signal name="pressed" handler="on_back_pressed"/> 325 <property name="visible_horizontal">True</property>
326 <property name="visible_vertical">True</property>
327 <property name="is_important">False</property>
328 <signal name="clicked" handler="on_back_clicked"/>
320 </widget> 329 </widget>
330 <packing>
331 <property name="expand">False</property>
332 <property name="homogeneous">True</property>
333 </packing>
321 </child> 334 </child>
322 335
323 <child> 336 <child>
324 <widget class="GtkVSeparator" id="vseparator1"> 337 <widget class="GtkToolItem" id="toolitem1">
325 <property name="visible">True</property> 338 <property name="visible">True</property>
339 <property name="visible_horizontal">True</property>
340 <property name="visible_vertical">True</property>
341 <property name="is_important">False</property>
342
343 <child>
344 <widget class="GtkVSeparator" id="vseparator1">
345 <property name="visible">True</property>
346 </widget>
347 </child>
326 </widget> 348 </widget>
349 <packing>
350 <property name="expand">False</property>
351 <property name="homogeneous">False</property>
352 </packing>
327 </child> 353 </child>
328 354
329 <child> 355 <child>
330 <widget class="button" id="button2"> 356 <widget class="GtkToolButton" id="button2">
331 <property name="visible">True</property> 357 <property name="visible">True</property>
332 <property name="tooltip" translatable="yes">Load a config file</property> 358 <property name="tooltip" translatable="yes">Load a config file</property>
333 <property name="label" translatable="yes">Load</property> 359 <property name="label" translatable="yes">Load</property>
334 <property name="use_underline">True</property> 360 <property name="use_underline">True</property>
335 <property name="stock_pixmap">gtk-open</property> 361 <property name="stock_id">gtk-open</property>
336 <signal name="pressed" handler="on_load_pressed"/> 362 <property name="visible_horizontal">True</property>
363 <property name="visible_vertical">True</property>
364 <property name="is_important">False</property>
365 <signal name="clicked" handler="on_load_clicked"/>
337 </widget> 366 </widget>
367 <packing>
368 <property name="expand">False</property>
369 <property name="homogeneous">True</property>
370 </packing>
338 </child> 371 </child>
339 372
340 <child> 373 <child>
341 <widget class="button" id="button3"> 374 <widget class="GtkToolButton" id="button3">
342 <property name="visible">True</property> 375 <property name="visible">True</property>
343 <property name="tooltip" translatable="yes">Save a config file</property> 376 <property name="tooltip" translatable="yes">Save a config file</property>
344 <property name="label" translatable="yes">Save</property> 377 <property name="label" translatable="yes">Save</property>
345 <property name="use_underline">True</property> 378 <property name="use_underline">True</property>
346 <property name="stock_pixmap">gtk-save</property> 379 <property name="stock_id">gtk-save</property>
347 <signal name="pressed" handler="on_save_pressed"/> 380 <property name="visible_horizontal">True</property>
381 <property name="visible_vertical">True</property>
382 <property name="is_important">False</property>
383 <signal name="clicked" handler="on_save_clicked"/>
348 </widget> 384 </widget>
385 <packing>
386 <property name="expand">False</property>
387 <property name="homogeneous">True</property>
388 </packing>
349 </child> 389 </child>
350 390
351 <child> 391 <child>
352 <widget class="GtkVSeparator" id="vseparator2"> 392 <widget class="GtkToolItem" id="toolitem2">
353 <property name="visible">True</property> 393 <property name="visible">True</property>
394 <property name="visible_horizontal">True</property>
395 <property name="visible_vertical">True</property>
396 <property name="is_important">False</property>
397
398 <child>
399 <widget class="GtkVSeparator" id="vseparator2">
400 <property name="visible">True</property>
401 </widget>
402 </child>
354 </widget> 403 </widget>
404 <packing>
405 <property name="expand">False</property>
406 <property name="homogeneous">False</property>
407 </packing>
355 </child> 408 </child>
356 409
357 <child> 410 <child>
358 <widget class="button" id="button4"> 411 <widget class="GtkToolButton" id="button4">
359 <property name="visible">True</property> 412 <property name="visible">True</property>
360 <property name="tooltip" translatable="yes">Single view</property> 413 <property name="tooltip" translatable="yes">Single view</property>
361 <property name="label" translatable="yes">Single</property> 414 <property name="label" translatable="yes">Single</property>
362 <property name="use_underline">True</property> 415 <property name="use_underline">True</property>
363 <property name="stock_pixmap">gtk-missing-image</property> 416 <property name="stock_id">gtk-missing-image</property>
417 <property name="visible_horizontal">True</property>
418 <property name="visible_vertical">True</property>
419 <property name="is_important">False</property>
364 <signal name="clicked" handler="on_single_clicked" last_modification_time="Sun, 12 Jan 2003 14:28:39 GMT"/> 420 <signal name="clicked" handler="on_single_clicked" last_modification_time="Sun, 12 Jan 2003 14:28:39 GMT"/>
365 </widget> 421 </widget>
422 <packing>
423 <property name="expand">False</property>
424 <property name="homogeneous">True</property>
425 </packing>
366 </child> 426 </child>
367 427
368 <child> 428 <child>
369 <widget class="button" id="button5"> 429 <widget class="GtkToolButton" id="button5">
370 <property name="visible">True</property> 430 <property name="visible">True</property>
371 <property name="tooltip" translatable="yes">Split view</property> 431 <property name="tooltip" translatable="yes">Split view</property>
372 <property name="label" translatable="yes">Split</property> 432 <property name="label" translatable="yes">Split</property>
373 <property name="use_underline">True</property> 433 <property name="use_underline">True</property>
374 <property name="stock_pixmap">gtk-missing-image</property> 434 <property name="stock_id">gtk-missing-image</property>
435 <property name="visible_horizontal">True</property>
436 <property name="visible_vertical">True</property>
437 <property name="is_important">False</property>
375 <signal name="clicked" handler="on_split_clicked" last_modification_time="Sun, 12 Jan 2003 14:28:45 GMT"/> 438 <signal name="clicked" handler="on_split_clicked" last_modification_time="Sun, 12 Jan 2003 14:28:45 GMT"/>
376 </widget> 439 </widget>
440 <packing>
441 <property name="expand">False</property>
442 <property name="homogeneous">True</property>
443 </packing>
377 </child> 444 </child>
378 445
379 <child> 446 <child>
380 <widget class="button" id="button6"> 447 <widget class="GtkToolButton" id="button6">
381 <property name="visible">True</property> 448 <property name="visible">True</property>
382 <property name="tooltip" translatable="yes">Full view</property> 449 <property name="tooltip" translatable="yes">Full view</property>
383 <property name="label" translatable="yes">Full</property> 450 <property name="label" translatable="yes">Full</property>
384 <property name="use_underline">True</property> 451 <property name="use_underline">True</property>
385 <property name="stock_pixmap">gtk-missing-image</property> 452 <property name="stock_id">gtk-missing-image</property>
453 <property name="visible_horizontal">True</property>
454 <property name="visible_vertical">True</property>
455 <property name="is_important">False</property>
386 <signal name="clicked" handler="on_full_clicked" last_modification_time="Sun, 12 Jan 2003 14:28:50 GMT"/> 456 <signal name="clicked" handler="on_full_clicked" last_modification_time="Sun, 12 Jan 2003 14:28:50 GMT"/>
387 </widget> 457 </widget>
458 <packing>
459 <property name="expand">False</property>
460 <property name="homogeneous">True</property>
461 </packing>
388 </child> 462 </child>
389 463
390 <child> 464 <child>
391 <widget class="GtkVSeparator" id="vseparator3"> 465 <widget class="GtkToolItem" id="toolitem3">
392 <property name="visible">True</property> 466 <property name="visible">True</property>
467 <property name="visible_horizontal">True</property>
468 <property name="visible_vertical">True</property>
469 <property name="is_important">False</property>
470
471 <child>
472 <widget class="GtkVSeparator" id="vseparator3">
473 <property name="visible">True</property>
474 </widget>
475 </child>
393 </widget> 476 </widget>
477 <packing>
478 <property name="expand">False</property>
479 <property name="homogeneous">False</property>
480 </packing>
394 </child> 481 </child>
395 482
396 <child> 483 <child>
397 <widget class="button" id="button7"> 484 <widget class="GtkToolButton" id="button7">
398 <property name="visible">True</property> 485 <property name="visible">True</property>
399 <property name="tooltip" translatable="yes">Collapse the whole tree in the right frame</property> 486 <property name="tooltip" translatable="yes">Collapse the whole tree in the right frame</property>
400 <property name="label" translatable="yes">Collapse</property> 487 <property name="label" translatable="yes">Collapse</property>
401 <property name="use_underline">True</property> 488 <property name="use_underline">True</property>
402 <signal name="pressed" handler="on_collapse_pressed"/> 489 <property name="stock_id">gtk-remove</property>
490 <property name="visible_horizontal">True</property>
491 <property name="visible_vertical">True</property>
492 <property name="is_important">False</property>
493 <signal name="clicked" handler="on_collapse_clicked"/>
403 </widget> 494 </widget>
495 <packing>
496 <property name="expand">False</property>
497 <property name="homogeneous">True</property>
498 </packing>
404 </child> 499 </child>
405 500
406 <child> 501 <child>
407 <widget class="button" id="button8"> 502 <widget class="GtkToolButton" id="button8">
408 <property name="visible">True</property> 503 <property name="visible">True</property>
409 <property name="tooltip" translatable="yes">Expand the whole tree in the right frame</property> 504 <property name="tooltip" translatable="yes">Expand the whole tree in the right frame</property>
410 <property name="label" translatable="yes">Expand</property> 505 <property name="label" translatable="yes">Expand</property>
411 <property name="use_underline">True</property> 506 <property name="use_underline">True</property>
412 <signal name="pressed" handler="on_expand_pressed"/> 507 <property name="stock_id">gtk-add</property>
508 <property name="visible_horizontal">True</property>
509 <property name="visible_vertical">True</property>
510 <property name="is_important">False</property>
511 <signal name="clicked" handler="on_expand_clicked"/>
413 </widget> 512 </widget>
513 <packing>
514 <property name="expand">False</property>
515 <property name="homogeneous">True</property>
516 </packing>
414 </child> 517 </child>
415 </widget> 518 </widget>
416 </child> 519 </child>
@@ -505,6 +608,8 @@
505 <property name="visible">True</property> 608 <property name="visible">True</property>
506 <property name="can_focus">True</property> 609 <property name="can_focus">True</property>
507 <property name="editable">False</property> 610 <property name="editable">False</property>
611 <property name="overwrite">False</property>
612 <property name="accepts_tab">True</property>
508 <property name="justification">GTK_JUSTIFY_LEFT</property> 613 <property name="justification">GTK_JUSTIFY_LEFT</property>
509 <property name="wrap_mode">GTK_WRAP_WORD</property> 614 <property name="wrap_mode">GTK_WRAP_WORD</property>
510 <property name="cursor_visible">True</property> 615 <property name="cursor_visible">True</property>
diff --git a/scripts/kconfig/kxgettext.c b/scripts/kconfig/kxgettext.c
index 1c88d7c6d5a7..abee55ca6174 100644
--- a/scripts/kconfig/kxgettext.c
+++ b/scripts/kconfig/kxgettext.c
@@ -14,6 +14,11 @@ static char *escape(const char* text, char *bf, int len)
14{ 14{
15 char *bfp = bf; 15 char *bfp = bf;
16 int multiline = strchr(text, '\n') != NULL; 16 int multiline = strchr(text, '\n') != NULL;
17 int eol = 0;
18 int textlen = strlen(text);
19
20 if ((textlen > 0) && (text[textlen-1] == '\n'))
21 eol = 1;
17 22
18 *bfp++ = '"'; 23 *bfp++ = '"';
19 --len; 24 --len;
@@ -43,7 +48,7 @@ next:
43 --len; 48 --len;
44 } 49 }
45 50
46 if (multiline) 51 if (multiline && eol)
47 bfp -= 3; 52 bfp -= 3;
48 53
49 *bfp++ = '"'; 54 *bfp++ = '"';
@@ -179,7 +184,11 @@ static void message__print_file_lineno(struct message *self)
179{ 184{
180 struct file_line *fl = self->files; 185 struct file_line *fl = self->files;
181 186
182 printf("\n#: %s:%d", fl->file, fl->lineno); 187 putchar('\n');
188 if (self->option != NULL)
189 printf("# %s:00000\n", self->option);
190
191 printf("#: %s:%d", fl->file, fl->lineno);
183 fl = fl->next; 192 fl = fl->next;
184 193
185 while (fl != NULL) { 194 while (fl != NULL) {
@@ -187,9 +196,6 @@ static void message__print_file_lineno(struct message *self)
187 fl = fl->next; 196 fl = fl->next;
188 } 197 }
189 198
190 if (self->option != NULL)
191 printf(", %s:00000", self->option);
192
193 putchar('\n'); 199 putchar('\n');
194} 200}
195 201