Merge lp://staging/~seb128/language-selector/gtkbuilder into lp://staging/language-selector

Proposed by Sebastien Bacher
Status: Merged
Merged at revision: not available
Proposed branch: lp://staging/~seb128/language-selector/gtkbuilder
Merge into: lp://staging/language-selector
Diff against target: None lines
To merge this branch: bzr merge lp://staging/~seb128/language-selector/gtkbuilder
Reviewer Review Type Date Requested Status
Ubuntu Core Development Team Pending
Review via email: mp+9238@code.staging.launchpad.net
To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'LanguageSelector/gtk/GtkLanguageSelector.py'
2--- LanguageSelector/gtk/GtkLanguageSelector.py 2009-06-15 14:18:56 +0000
3+++ LanguageSelector/gtk/GtkLanguageSelector.py 2009-07-24 08:32:20 +0000
4@@ -8,7 +8,6 @@
5 pygtk.require('2.0')
6 import gtk
7 import gtk.gdk
8-import gtk.glade
9 import pango
10 import gobject
11 import os.path
12@@ -41,7 +40,7 @@
13
14
15
16-from LanguageSelector.gtk.SimpleGladeApp import SimpleGladeApp
17+from LanguageSelector.gtk.SimpleGtkbuilderApp import SimpleGtkbuilderApp
18 from LanguageSelector.LocaleInfo import LocaleInfo
19 from LanguageSelector.LanguageSelector import *
20 from LanguageSelector.ImSwitch import ImSwitch
21@@ -126,13 +125,12 @@
22 def hide(self):
23 self._window.hide()
24
25-class GtkLanguageSelector(LanguageSelectorBase, SimpleGladeApp):
26+class GtkLanguageSelector(LanguageSelectorBase, SimpleGtkbuilderApp):
27
28 def __init__(self, datadir, options):
29 LanguageSelectorBase.__init__(self, datadir)
30- SimpleGladeApp.__init__(self,
31- datadir+"/data/LanguageSelector.glade",
32- domain="language-selector")
33+ SimpleGtkbuilderApp.__init__(self,
34+ datadir+"/data/LanguageSelector.ui")
35
36 self.is_admin = grp.getgrnam("admin")[2] in os.getgroups()
37 # see if we have any other human users on this system
38
39=== removed file 'LanguageSelector/gtk/SimpleGladeApp.py'
40--- LanguageSelector/gtk/SimpleGladeApp.py 2005-11-30 11:52:48 +0000
41+++ LanguageSelector/gtk/SimpleGladeApp.py 1970-01-01 00:00:00 +0000
42@@ -1,341 +0,0 @@
43-"""
44- SimpleGladeApp.py
45- Module that provides an object oriented abstraction to pygtk and libglade.
46- Copyright (C) 2004 Sandino Flores Moreno
47-"""
48-
49-# This library is free software; you can redistribute it and/or
50-# modify it under the terms of the GNU Lesser General Public
51-# License as published by the Free Software Foundation; either
52-# version 2.1 of the License, or (at your option) any later version.
53-#
54-# This library is distributed in the hope that it will be useful,
55-# but WITHOUT ANY WARRANTY; without even the implied warranty of
56-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
57-# Lesser General Public License for more details.
58-#
59-# You should have received a copy of the GNU Lesser General Public
60-# License along with this library; if not, write to the Free Software
61-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
62-# USA
63-
64-import os
65-import sys
66-import re
67-
68-import tokenize
69-import gtk
70-import gtk.glade
71-import weakref
72-import inspect
73-
74-__version__ = "1.0"
75-__author__ = 'Sandino "tigrux" Flores-Moreno'
76-
77-def bindtextdomain(app_name, locale_dir=None):
78- """
79- Bind the domain represented by app_name to the locale directory locale_dir.
80- It has the effect of loading translations, enabling applications for different
81- languages.
82-
83- app_name:
84- a domain to look for translations, tipically the name of an application.
85-
86- locale_dir:
87- a directory with locales like locale_dir/lang_isocode/LC_MESSAGES/app_name.mo
88- If omitted or None, then the current binding for app_name is used.
89- """
90- try:
91- import locale
92- import gettext
93- locale.setlocale(locale.LC_ALL, "")
94- gtk.glade.bindtextdomain(app_name, locale_dir)
95- gettext.install(app_name, locale_dir, unicode=1)
96- except (IOError,locale.Error), e:
97- print "Warning", app_name, e
98- __builtins__.__dict__["_"] = lambda x : x
99-
100-
101-class SimpleGladeApp:
102-
103- def __init__(self, path, root=None, domain=None, **kwargs):
104- """
105- Load a glade file specified by glade_filename, using root as
106- root widget and domain as the domain for translations.
107-
108- If it receives extra named arguments (argname=value), then they are used
109- as attributes of the instance.
110-
111- path:
112- path to a glade filename.
113- If glade_filename cannot be found, then it will be searched in the
114- same directory of the program (sys.argv[0])
115-
116- root:
117- the name of the widget that is the root of the user interface,
118- usually a window or dialog (a top level widget).
119- If None or ommited, the full user interface is loaded.
120-
121- domain:
122- A domain to use for loading translations.
123- If None or ommited, no translation is loaded.
124-
125- **kwargs:
126- a dictionary representing the named extra arguments.
127- It is useful to set attributes of new instances, for example:
128- glade_app = SimpleGladeApp("ui.glade", foo="some value", bar="another value")
129- sets two attributes (foo and bar) to glade_app.
130- """
131- if os.path.isfile(path):
132- self.glade_path = path
133- else:
134- glade_dir = os.path.dirname( sys.argv[0] )
135- self.glade_path = os.path.join(glade_dir, path)
136- for key, value in kwargs.items():
137- try:
138- setattr(self, key, weakref.proxy(value) )
139- except TypeError:
140- setattr(self, key, value)
141- self.glade = None
142- self.install_custom_handler(self.custom_handler)
143- self.glade = self.create_glade(self.glade_path, root, domain)
144- if root:
145- self.main_widget = self.get_widget(root)
146- else:
147- self.main_widget = None
148- self.normalize_names()
149- self.add_callbacks(self)
150- self.new()
151-
152- def __repr__(self):
153- class_name = self.__class__.__name__
154- if self.main_widget:
155- root = gtk.Widget.get_name(self.main_widget)
156- repr = '%s(path="%s", root="%s")' % (class_name, self.glade_path, root)
157- else:
158- repr = '%s(path="%s")' % (class_name, self.glade_path)
159- return repr
160-
161- def new(self):
162- """
163- Method called when the user interface is loaded and ready to be used.
164- At this moment, the widgets are loaded and can be refered as self.widget_name
165- """
166- pass
167-
168- def add_callbacks(self, callbacks_proxy):
169- """
170- It uses the methods of callbacks_proxy as callbacks.
171- The callbacks are specified by using:
172- Properties window -> Signals tab
173- in glade-2 (or any other gui designer like gazpacho).
174-
175- Methods of classes inheriting from SimpleGladeApp are used as
176- callbacks automatically.
177-
178- callbacks_proxy:
179- an instance with methods as code of callbacks.
180- It means it has methods like on_button1_clicked, on_entry1_activate, etc.
181- """
182- self.glade.signal_autoconnect(callbacks_proxy)
183-
184- def normalize_names(self):
185- """
186- It is internally used to normalize the name of the widgets.
187- It means a widget named foo:vbox-dialog in glade
188- is refered self.vbox_dialog in the code.
189-
190- It also sets a data "prefixes" with the list of
191- prefixes a widget has for each widget.
192- """
193- for widget in self.get_widgets():
194- widget_name = gtk.Widget.get_name(widget)
195- prefixes_name_l = widget_name.split(":")
196- prefixes = prefixes_name_l[ : -1]
197- widget_api_name = prefixes_name_l[-1]
198- widget_api_name = "_".join( re.findall(tokenize.Name, widget_api_name) )
199- gtk.Widget.set_name(widget, widget_api_name)
200- if hasattr(self, widget_api_name):
201- raise AttributeError("instance %s already has an attribute %s" % (self,widget_api_name))
202- else:
203- setattr(self, widget_api_name, widget)
204- if prefixes:
205- gtk.Widget.set_data(widget, "prefixes", prefixes)
206-
207- def add_prefix_actions(self, prefix_actions_proxy):
208- """
209- By using a gui designer (glade-2, gazpacho, etc)
210- widgets can have a prefix in theirs names
211- like foo:entry1 or foo:label3
212- It means entry1 and label3 has a prefix action named foo.
213-
214- Then, prefix_actions_proxy must have a method named prefix_foo which
215- is called everytime a widget with prefix foo is found, using the found widget
216- as argument.
217-
218- prefix_actions_proxy:
219- An instance with methods as prefix actions.
220- It means it has methods like prefix_foo, prefix_bar, etc.
221- """
222- prefix_s = "prefix_"
223- prefix_pos = len(prefix_s)
224-
225- is_method = lambda t : callable( t[1] )
226- is_prefix_action = lambda t : t[0].startswith(prefix_s)
227- drop_prefix = lambda (k,w): (k[prefix_pos:],w)
228-
229- members_t = inspect.getmembers(prefix_actions_proxy)
230- methods_t = filter(is_method, members_t)
231- prefix_actions_t = filter(is_prefix_action, methods_t)
232- prefix_actions_d = dict( map(drop_prefix, prefix_actions_t) )
233-
234- for widget in self.get_widgets():
235- prefixes = gtk.Widget.get_data(widget, "prefixes")
236- if prefixes:
237- for prefix in prefixes:
238- if prefix in prefix_actions_d:
239- prefix_action = prefix_actions_d[prefix]
240- prefix_action(widget)
241-
242- def custom_handler(self,
243- glade, function_name, widget_name,
244- str1, str2, int1, int2):
245- """
246- Generic handler for creating custom widgets, internally used to
247- enable custom widgets (custom widgets of glade).
248-
249- The custom widgets have a creation function specified in design time.
250- Those creation functions are always called with str1,str2,int1,int2 as
251- arguments, that are values specified in design time.
252-
253- Methods of classes inheriting from SimpleGladeApp are used as
254- creation functions automatically.
255-
256- If a custom widget has create_foo as creation function, then the
257- method named create_foo is called with str1,str2,int1,int2 as arguments.
258- """
259- try:
260- handler = getattr(self, function_name)
261- return handler(str1, str2, int1, int2)
262- except AttributeError:
263- return None
264-
265- def gtk_widget_show(self, widget, *args):
266- """
267- Predefined callback.
268- The widget is showed.
269- Equivalent to widget.show()
270- """
271- widget.show()
272-
273- def gtk_widget_hide(self, widget, *args):
274- """
275- Predefined callback.
276- The widget is hidden.
277- Equivalent to widget.hide()
278- """
279- widget.hide()
280-
281- def gtk_widget_grab_focus(self, widget, *args):
282- """
283- Predefined callback.
284- The widget grabs the focus.
285- Equivalent to widget.grab_focus()
286- """
287- widget.grab_focus()
288-
289- def gtk_widget_destroy(self, widget, *args):
290- """
291- Predefined callback.
292- The widget is destroyed.
293- Equivalent to widget.destroy()
294- """
295- widget.destroy()
296-
297- def gtk_window_activate_default(self, window, *args):
298- """
299- Predefined callback.
300- The default widget of the window is activated.
301- Equivalent to window.activate_default()
302- """
303- widget.activate_default()
304-
305- def gtk_true(self, *args):
306- """
307- Predefined callback.
308- Equivalent to return True in a callback.
309- Useful for stopping propagation of signals.
310- """
311- return True
312-
313- def gtk_false(self, *args):
314- """
315- Predefined callback.
316- Equivalent to return False in a callback.
317- """
318- return False
319-
320- def gtk_main_quit(self, *args):
321- """
322- Predefined callback.
323- Equivalent to self.quit()
324- """
325- self.quit()
326-
327- def main(self):
328- """
329- Starts the main loop of processing events.
330- The default implementation calls gtk.main()
331-
332- Useful for applications that needs a non gtk main loop.
333- For example, applications based on gstreamer needs to override
334- this method with gst.main()
335-
336- Do not directly call this method in your programs.
337- Use the method run() instead.
338- """
339- gtk.main()
340-
341- def quit(self):
342- """
343- Quit processing events.
344- The default implementation calls gtk.main_quit()
345-
346- Useful for applications that needs a non gtk main loop.
347- For example, applications based on gstreamer needs to override
348- this method with gst.main_quit()
349- """
350- gtk.main_quit()
351-
352- def run(self):
353- """
354- Starts the main loop of processing events checking for Control-C.
355-
356- The default implementation checks wheter a Control-C is pressed,
357- then calls on_keyboard_interrupt().
358-
359- Use this method for starting programs.
360- """
361- try:
362- self.main()
363- except KeyboardInterrupt:
364- self.on_keyboard_interrupt()
365-
366- def on_keyboard_interrupt(self):
367- """
368- This method is called by the default implementation of run()
369- after a program is finished by pressing Control-C.
370- """
371- pass
372-
373- def install_custom_handler(self, custom_handler):
374- gtk.glade.set_custom_handler(custom_handler)
375-
376- def create_glade(self, glade_path, root, domain):
377- return gtk.glade.XML(self.glade_path, root, domain)
378-
379- def get_widget(self, widget_name):
380- return self.glade.get_widget(widget_name)
381-
382- def get_widgets(self):
383- return self.glade.get_widget_prefix("")
384
385=== added file 'LanguageSelector/gtk/SimpleGtkbuilderApp.py'
386--- LanguageSelector/gtk/SimpleGtkbuilderApp.py 1970-01-01 00:00:00 +0000
387+++ LanguageSelector/gtk/SimpleGtkbuilderApp.py 2009-07-24 08:32:20 +0000
388@@ -0,0 +1,67 @@
389+"""
390+ SimpleGladeApp.py
391+ Module that provides an object oriented abstraction to pygtk and libglade.
392+ Copyright (C) 2004 Sandino Flores Moreno
393+"""
394+
395+# This library is free software; you can redistribute it and/or
396+# modify it under the terms of the GNU Lesser General Public
397+# License as published by the Free Software Foundation; either
398+# version 2.1 of the License, or (at your option) any later version.
399+#
400+# This library is distributed in the hope that it will be useful,
401+# but WITHOUT ANY WARRANTY; without even the implied warranty of
402+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
403+# Lesser General Public License for more details.
404+#
405+# You should have received a copy of the GNU Lesser General Public
406+# License along with this library; if not, write to the Free Software
407+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
408+# USA
409+
410+import os
411+import sys
412+import re
413+
414+import gtk
415+
416+# based on SimpleGladeApp
417+class SimpleGtkbuilderApp:
418+
419+ def __init__(self, path):
420+ self.builder = gtk.Builder()
421+ self.builder.add_from_file(path)
422+ self.builder.connect_signals(self)
423+ for o in self.builder.get_objects():
424+ if issubclass(type(o), gtk.Buildable):
425+ name = gtk.Buildable.get_name(o)
426+ setattr(self, name, o)
427+ else:
428+ # see LP: #402780 - sometimes this dies with broken pipe?
429+ try:
430+ print >>sys.stderr, "WARNING: can not get name for '%s'" % o
431+ except:
432+ pass
433+
434+ def run(self):
435+ """
436+ Starts the main loop of processing events checking for Control-C.
437+
438+ The default implementation checks wheter a Control-C is pressed,
439+ then calls on_keyboard_interrupt().
440+
441+ Use this method for starting programs.
442+ """
443+ try:
444+ gtk.main()
445+ except KeyboardInterrupt:
446+ self.on_keyboard_interrupt()
447+
448+ def on_keyboard_interrupt(self):
449+ """
450+ This method is called by the default implementation of run()
451+ after a program is finished by pressing Control-C.
452+ """
453+ pass
454+
455+
456
457=== modified file 'MANIFEST.in'
458--- MANIFEST.in 2005-06-14 14:56:00 +0000
459+++ MANIFEST.in 2009-07-24 08:32:20 +0000
460@@ -1,5 +1,5 @@
461-# the glade files
462-include data/LanguageSelector.glade
463+# the gtkbuilder files
464+include data/LanguageSelector.ui
465
466 # the language data
467 include data/countries data/languagelist data/languages
468
469=== removed file 'data/LanguageSelector.glade'
470--- data/LanguageSelector.glade 2009-06-15 14:18:56 +0000
471+++ data/LanguageSelector.glade 1970-01-01 00:00:00 +0000
472@@ -1,945 +0,0 @@
473-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
474-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
475-
476-<glade-interface>
477-
478-<widget class="GtkWindow" id="dialog_progress">
479- <property name="border_width">12</property>
480- <property name="title" translatable="yes"></property>
481- <property name="type">GTK_WINDOW_TOPLEVEL</property>
482- <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
483- <property name="modal">False</property>
484- <property name="resizable">False</property>
485- <property name="destroy_with_parent">False</property>
486- <property name="icon_name">config-language</property>
487- <property name="decorated">True</property>
488- <property name="skip_taskbar_hint">True</property>
489- <property name="skip_pager_hint">True</property>
490- <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
491- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
492- <property name="focus_on_map">True</property>
493- <property name="urgency_hint">False</property>
494-
495- <child>
496- <widget class="GtkVBox" id="vbox8">
497- <property name="border_width">6</property>
498- <property name="visible">True</property>
499- <property name="homogeneous">False</property>
500- <property name="spacing">12</property>
501-
502- <child>
503- <widget class="GtkLabel" id="label8">
504- <property name="visible">True</property>
505- <property name="label" translatable="yes">&lt;big&gt;&lt;b&gt;Checking available language support&lt;/b&gt;&lt;/big&gt;
506-
507-The availability of translations or writing aids can differ between languages.</property>
508- <property name="use_underline">False</property>
509- <property name="use_markup">True</property>
510- <property name="justify">GTK_JUSTIFY_LEFT</property>
511- <property name="wrap">True</property>
512- <property name="selectable">False</property>
513- <property name="xalign">0</property>
514- <property name="yalign">0</property>
515- <property name="xpad">0</property>
516- <property name="ypad">0</property>
517- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
518- <property name="width_chars">-1</property>
519- <property name="single_line_mode">False</property>
520- <property name="angle">0</property>
521- </widget>
522- <packing>
523- <property name="padding">0</property>
524- <property name="expand">False</property>
525- <property name="fill">False</property>
526- </packing>
527- </child>
528-
529- <child>
530- <widget class="GtkProgressBar" id="progressbar_cache">
531- <property name="visible">True</property>
532- <property name="orientation">GTK_PROGRESS_LEFT_TO_RIGHT</property>
533- <property name="fraction">0</property>
534- <property name="pulse_step">0</property>
535- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
536- </widget>
537- <packing>
538- <property name="padding">0</property>
539- <property name="expand">False</property>
540- <property name="fill">False</property>
541- </packing>
542- </child>
543- </widget>
544- </child>
545-</widget>
546-
547-<widget class="GtkWindow" id="window_main">
548- <property name="visible">True</property>
549- <property name="title" translatable="yes">Language</property>
550- <property name="type">GTK_WINDOW_TOPLEVEL</property>
551- <property name="window_position">GTK_WIN_POS_NONE</property>
552- <property name="modal">False</property>
553- <property name="resizable">True</property>
554- <property name="destroy_with_parent">False</property>
555- <property name="icon_name">config-language</property>
556- <property name="decorated">True</property>
557- <property name="skip_taskbar_hint">False</property>
558- <property name="skip_pager_hint">False</property>
559- <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
560- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
561- <property name="focus_on_map">True</property>
562- <property name="urgency_hint">False</property>
563- <signal name="delete_event" handler="on_delete_event" last_modification_time="Wed, 18 Feb 2009 16:52:43 GMT"/>
564-
565- <child>
566- <widget class="GtkAlignment" id="alignment1">
567- <property name="visible">True</property>
568- <property name="xalign">0.5</property>
569- <property name="yalign">0.5</property>
570- <property name="xscale">1</property>
571- <property name="yscale">1</property>
572- <property name="top_padding">12</property>
573- <property name="bottom_padding">12</property>
574- <property name="left_padding">12</property>
575- <property name="right_padding">12</property>
576-
577- <child>
578- <widget class="GtkVBox" id="vbox13">
579- <property name="visible">True</property>
580- <property name="homogeneous">False</property>
581- <property name="spacing">0</property>
582-
583- <child>
584- <widget class="GtkHBox" id="hbox5">
585- <property name="visible">True</property>
586- <property name="homogeneous">False</property>
587- <property name="spacing">0</property>
588-
589- <child>
590- <placeholder/>
591- </child>
592-
593- <child>
594- <widget class="GtkVBox" id="vbox14">
595- <property name="visible">True</property>
596- <property name="homogeneous">False</property>
597- <property name="spacing">0</property>
598-
599- <child>
600- <widget class="GtkLabel" id="label10">
601- <property name="visible">True</property>
602- <property name="label" translatable="yes">For my menus and windows, use:</property>
603- <property name="use_underline">False</property>
604- <property name="use_markup">False</property>
605- <property name="justify">GTK_JUSTIFY_LEFT</property>
606- <property name="wrap">False</property>
607- <property name="selectable">False</property>
608- <property name="xalign">0</property>
609- <property name="yalign">0</property>
610- <property name="xpad">0</property>
611- <property name="ypad">0</property>
612- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
613- <property name="width_chars">-1</property>
614- <property name="single_line_mode">False</property>
615- <property name="angle">0</property>
616- </widget>
617- <packing>
618- <property name="padding">0</property>
619- <property name="expand">False</property>
620- <property name="fill">False</property>
621- </packing>
622- </child>
623-
624- <child>
625- <widget class="GtkAlignment" id="alignment2">
626- <property name="visible">True</property>
627- <property name="xalign">0.5</property>
628- <property name="yalign">0.5</property>
629- <property name="xscale">1</property>
630- <property name="yscale">1</property>
631- <property name="top_padding">0</property>
632- <property name="bottom_padding">0</property>
633- <property name="left_padding">12</property>
634- <property name="right_padding">0</property>
635-
636- <child>
637- <widget class="GtkHBox" id="hbox7">
638- <property name="visible">True</property>
639- <property name="homogeneous">False</property>
640- <property name="spacing">0</property>
641-
642- <child>
643- <widget class="GtkComboBox" id="combobox_user_language">
644- <property name="visible">True</property>
645- <property name="add_tearoffs">False</property>
646- <property name="focus_on_click">True</property>
647- <signal name="changed" handler="on_combobox_user_language_changed" last_modification_time="Mon, 02 Feb 2009 15:39:23 GMT"/>
648- </widget>
649- <packing>
650- <property name="padding">0</property>
651- <property name="expand">False</property>
652- <property name="fill">True</property>
653- </packing>
654- </child>
655-
656- <child>
657- <placeholder/>
658- </child>
659- </widget>
660- </child>
661- </widget>
662- <packing>
663- <property name="padding">0</property>
664- <property name="expand">True</property>
665- <property name="fill">True</property>
666- </packing>
667- </child>
668-
669- <child>
670- <widget class="GtkAlignment" id="alignment11">
671- <property name="visible">True</property>
672- <property name="xalign">0.5</property>
673- <property name="yalign">0.5</property>
674- <property name="xscale">1</property>
675- <property name="yscale">1</property>
676- <property name="top_padding">12</property>
677- <property name="bottom_padding">0</property>
678- <property name="left_padding">0</property>
679- <property name="right_padding">0</property>
680-
681- <child>
682- <widget class="GtkLabel" id="label12">
683- <property name="visible">True</property>
684- <property name="label" translatable="yes">For everyone at startup and login, use:</property>
685- <property name="use_underline">False</property>
686- <property name="use_markup">False</property>
687- <property name="justify">GTK_JUSTIFY_LEFT</property>
688- <property name="wrap">False</property>
689- <property name="selectable">False</property>
690- <property name="xalign">0</property>
691- <property name="yalign">0</property>
692- <property name="xpad">0</property>
693- <property name="ypad">0</property>
694- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
695- <property name="width_chars">-1</property>
696- <property name="single_line_mode">False</property>
697- <property name="angle">0</property>
698- </widget>
699- </child>
700- </widget>
701- <packing>
702- <property name="padding">0</property>
703- <property name="expand">True</property>
704- <property name="fill">True</property>
705- </packing>
706- </child>
707-
708- <child>
709- <widget class="GtkHBox" id="hbox6">
710- <property name="visible">True</property>
711- <property name="homogeneous">False</property>
712- <property name="spacing">0</property>
713-
714- <child>
715- <widget class="GtkAlignment" id="alignment5">
716- <property name="visible">True</property>
717- <property name="xalign">0.5</property>
718- <property name="yalign">0.5</property>
719- <property name="xscale">1</property>
720- <property name="yscale">1</property>
721- <property name="top_padding">0</property>
722- <property name="bottom_padding">0</property>
723- <property name="left_padding">12</property>
724- <property name="right_padding">0</property>
725-
726- <child>
727- <widget class="GtkComboBox" id="combobox_system_language">
728- <property name="visible">True</property>
729- <property name="add_tearoffs">False</property>
730- <property name="focus_on_click">True</property>
731- <signal name="changed" handler="on_combobox_system_language_changed" last_modification_time="Mon, 02 Feb 2009 15:40:09 GMT"/>
732- </widget>
733- </child>
734- </widget>
735- <packing>
736- <property name="padding">0</property>
737- <property name="expand">False</property>
738- <property name="fill">True</property>
739- </packing>
740- </child>
741-
742- <child>
743- <widget class="GtkAlignment" id="alignment4">
744- <property name="visible">True</property>
745- <property name="xalign">0.5</property>
746- <property name="yalign">0.5</property>
747- <property name="xscale">1</property>
748- <property name="yscale">1</property>
749- <property name="top_padding">0</property>
750- <property name="bottom_padding">0</property>
751- <property name="left_padding">12</property>
752- <property name="right_padding">0</property>
753-
754- <child>
755- <widget class="GtkCheckButton" id="checkbutton_sync_languages">
756- <property name="visible">True</property>
757- <property name="can_focus">True</property>
758- <property name="label" translatable="yes">Keep the same</property>
759- <property name="use_underline">True</property>
760- <property name="relief">GTK_RELIEF_NORMAL</property>
761- <property name="focus_on_click">True</property>
762- <property name="active">False</property>
763- <property name="inconsistent">False</property>
764- <property name="draw_indicator">True</property>
765- <signal name="toggled" handler="on_checkbutton_sync_languages_toggled" last_modification_time="Mon, 02 Feb 2009 15:39:51 GMT"/>
766- </widget>
767- </child>
768- </widget>
769- <packing>
770- <property name="padding">0</property>
771- <property name="expand">True</property>
772- <property name="fill">True</property>
773- </packing>
774- </child>
775- </widget>
776- <packing>
777- <property name="padding">0</property>
778- <property name="expand">True</property>
779- <property name="fill">True</property>
780- </packing>
781- </child>
782- </widget>
783- <packing>
784- <property name="padding">0</property>
785- <property name="expand">True</property>
786- <property name="fill">False</property>
787- </packing>
788- </child>
789-
790- <child>
791- <placeholder/>
792- </child>
793- </widget>
794- <packing>
795- <property name="padding">0</property>
796- <property name="expand">False</property>
797- <property name="fill">False</property>
798- </packing>
799- </child>
800-
801- <child>
802- <widget class="GtkAlignment" id="alignment9">
803- <property name="visible">True</property>
804- <property name="xalign">0.5</property>
805- <property name="yalign">0.5</property>
806- <property name="xscale">1</property>
807- <property name="yscale">1</property>
808- <property name="top_padding">18</property>
809- <property name="bottom_padding">0</property>
810- <property name="left_padding">0</property>
811- <property name="right_padding">0</property>
812-
813- <child>
814- <widget class="GtkCheckButton" id="checkbutton_enable_input_methods">
815- <property name="visible">True</property>
816- <property name="label" translatable="yes">Use input method engines (IME) to enter complex characters</property>
817- <property name="use_underline">True</property>
818- <property name="relief">GTK_RELIEF_NORMAL</property>
819- <property name="focus_on_click">True</property>
820- <property name="active">False</property>
821- <property name="inconsistent">False</property>
822- <property name="draw_indicator">True</property>
823- <signal name="toggled" handler="on_checkbutton_enable_input_methods_toggled"/>
824- </widget>
825- </child>
826- </widget>
827- <packing>
828- <property name="padding">0</property>
829- <property name="expand">True</property>
830- <property name="fill">True</property>
831- </packing>
832- </child>
833-
834- <child>
835- <widget class="GtkAlignment" id="alignment10">
836- <property name="visible">True</property>
837- <property name="xalign">0.5</property>
838- <property name="yalign">0.5</property>
839- <property name="xscale">1</property>
840- <property name="yscale">1</property>
841- <property name="top_padding">12</property>
842- <property name="bottom_padding">12</property>
843- <property name="left_padding">0</property>
844- <property name="right_padding">0</property>
845-
846- <child>
847- <widget class="GtkLabel" id="label17">
848- <property name="visible">True</property>
849- <property name="label" translatable="yes">&lt;small&gt;All changes take effect next time you log in.&lt;/small&gt;</property>
850- <property name="use_underline">False</property>
851- <property name="use_markup">True</property>
852- <property name="justify">GTK_JUSTIFY_LEFT</property>
853- <property name="wrap">False</property>
854- <property name="selectable">False</property>
855- <property name="xalign">0</property>
856- <property name="yalign">0</property>
857- <property name="xpad">0</property>
858- <property name="ypad">0</property>
859- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
860- <property name="width_chars">-1</property>
861- <property name="single_line_mode">False</property>
862- <property name="angle">0</property>
863- </widget>
864- </child>
865- </widget>
866- <packing>
867- <property name="padding">0</property>
868- <property name="expand">True</property>
869- <property name="fill">True</property>
870- </packing>
871- </child>
872-
873- <child>
874- <widget class="GtkHBox" id="hbox4">
875- <property name="visible">True</property>
876- <property name="homogeneous">False</property>
877- <property name="spacing">0</property>
878-
879- <child>
880- <widget class="GtkButton" id="button_install_remove_languages">
881- <property name="visible">True</property>
882- <property name="can_focus">True</property>
883- <property name="label" translatable="yes">Install / Remove Languages...</property>
884- <property name="use_underline">True</property>
885- <property name="relief">GTK_RELIEF_NORMAL</property>
886- <property name="focus_on_click">True</property>
887- <signal name="clicked" handler="on_button_install_remove_languages_clicked" last_modification_time="Mon, 02 Feb 2009 15:40:24 GMT"/>
888- </widget>
889- <packing>
890- <property name="padding">0</property>
891- <property name="expand">False</property>
892- <property name="fill">False</property>
893- </packing>
894- </child>
895-
896- <child>
897- <placeholder/>
898- </child>
899- </widget>
900- <packing>
901- <property name="padding">0</property>
902- <property name="expand">False</property>
903- <property name="fill">False</property>
904- </packing>
905- </child>
906- </widget>
907- </child>
908- </widget>
909- </child>
910-</widget>
911-
912-<widget class="GtkWindow" id="window_installer">
913- <property name="title" translatable="yes">Installed Languages</property>
914- <property name="type">GTK_WINDOW_TOPLEVEL</property>
915- <property name="window_position">GTK_WIN_POS_NONE</property>
916- <property name="modal">False</property>
917- <property name="default_width">550</property>
918- <property name="resizable">True</property>
919- <property name="destroy_with_parent">False</property>
920- <property name="icon_name">config-language</property>
921- <property name="decorated">True</property>
922- <property name="skip_taskbar_hint">False</property>
923- <property name="skip_pager_hint">False</property>
924- <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
925- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
926- <property name="focus_on_map">True</property>
927- <property name="urgency_hint">False</property>
928- <signal name="delete_event" handler="hide_on_delete"/>
929-
930- <child>
931- <widget class="GtkAlignment" id="alignment6">
932- <property name="visible">True</property>
933- <property name="xalign">0.5</property>
934- <property name="yalign">0.5</property>
935- <property name="xscale">1</property>
936- <property name="yscale">1</property>
937- <property name="top_padding">12</property>
938- <property name="bottom_padding">12</property>
939- <property name="left_padding">12</property>
940- <property name="right_padding">12</property>
941-
942- <child>
943- <widget class="GtkVBox" id="vbox15">
944- <property name="visible">True</property>
945- <property name="homogeneous">False</property>
946- <property name="spacing">12</property>
947-
948- <child>
949- <widget class="GtkLabel" id="label13">
950- <property name="visible">True</property>
951- <property name="label" translatable="yes">When a language is installed, individual users can choose it in their Language settings.</property>
952- <property name="use_underline">False</property>
953- <property name="use_markup">False</property>
954- <property name="justify">GTK_JUSTIFY_LEFT</property>
955- <property name="wrap">True</property>
956- <property name="selectable">False</property>
957- <property name="xalign">0</property>
958- <property name="yalign">0</property>
959- <property name="xpad">0</property>
960- <property name="ypad">0</property>
961- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
962- <property name="width_chars">-1</property>
963- <property name="single_line_mode">False</property>
964- <property name="angle">0</property>
965- </widget>
966- <packing>
967- <property name="padding">0</property>
968- <property name="expand">False</property>
969- <property name="fill">False</property>
970- </packing>
971- </child>
972-
973- <child>
974- <widget class="GtkScrolledWindow" id="scrolledwindow2">
975- <property name="visible">True</property>
976- <property name="can_focus">True</property>
977- <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
978- <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
979- <property name="shadow_type">GTK_SHADOW_IN</property>
980- <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
981-
982- <child>
983- <widget class="GtkTreeView" id="treeview_languages">
984- <property name="height_request">150</property>
985- <property name="visible">True</property>
986- <property name="can_focus">True</property>
987- <property name="headers_visible">True</property>
988- <property name="rules_hint">False</property>
989- <property name="reorderable">False</property>
990- <property name="enable_search">True</property>
991- <property name="fixed_height_mode">False</property>
992- <property name="hover_selection">False</property>
993- <property name="hover_expand">False</property>
994- <signal name="cursor_changed" handler="on_treeview_languages_cursor_changed" last_modification_time="Mon, 02 Feb 2009 16:43:32 GMT"/>
995- <signal name="row_activated" handler="on_treeview_languages_row_activated" last_modification_time="Tue, 03 Mar 2009 10:59:04 GMT"/>
996- </widget>
997- </child>
998- </widget>
999- <packing>
1000- <property name="padding">0</property>
1001- <property name="expand">True</property>
1002- <property name="fill">True</property>
1003- </packing>
1004- </child>
1005-
1006- <child>
1007- <widget class="GtkExpander" id="expander_components">
1008- <property name="visible">True</property>
1009- <property name="can_focus">True</property>
1010- <property name="expanded">True</property>
1011- <property name="spacing">0</property>
1012-
1013- <child>
1014- <widget class="GtkVBox" id="vbox16">
1015- <property name="visible">True</property>
1016- <property name="homogeneous">False</property>
1017- <property name="spacing">0</property>
1018-
1019- <child>
1020- <widget class="GtkTable" id="table2">
1021- <property name="visible">True</property>
1022- <property name="n_rows">3</property>
1023- <property name="n_columns">2</property>
1024- <property name="homogeneous">False</property>
1025- <property name="row_spacing">0</property>
1026- <property name="column_spacing">18</property>
1027-
1028- <child>
1029- <widget class="GtkCheckButton" id="checkbutton_writing_aids">
1030- <property name="visible">True</property>
1031- <property name="tooltip" translatable="yes">Word lists, dictionaries, thesauruses, etc. which can help typing by highlighting, correcting or suggesting words.</property>
1032- <property name="can_focus">True</property>
1033- <property name="label" translatable="yes">Spellchecking and writing aids</property>
1034- <property name="use_underline">True</property>
1035- <property name="relief">GTK_RELIEF_NORMAL</property>
1036- <property name="focus_on_click">True</property>
1037- <property name="active">False</property>
1038- <property name="inconsistent">False</property>
1039- <property name="draw_indicator">True</property>
1040- <signal name="clicked" handler="on_checkbutton_writing_aids_clicked" last_modification_time="Wed, 27 Feb 2008 22:42:49 GMT"/>
1041- </widget>
1042- <packing>
1043- <property name="left_attach">1</property>
1044- <property name="right_attach">2</property>
1045- <property name="top_attach">0</property>
1046- <property name="bottom_attach">1</property>
1047- <property name="x_options">fill</property>
1048- <property name="y_options"></property>
1049- </packing>
1050- </child>
1051-
1052- <child>
1053- <widget class="GtkCheckButton" id="checkbutton_fonts">
1054- <property name="visible">True</property>
1055- <property name="tooltip" translatable="yes">Additional fonts for this language which might be of general interest, e.g. decorative fonts for printing documents.</property>
1056- <property name="can_focus">True</property>
1057- <property name="label" translatable="yes">Extra fonts</property>
1058- <property name="use_underline">True</property>
1059- <property name="relief">GTK_RELIEF_NORMAL</property>
1060- <property name="focus_on_click">True</property>
1061- <property name="active">False</property>
1062- <property name="inconsistent">False</property>
1063- <property name="draw_indicator">True</property>
1064- <signal name="clicked" handler="on_checkbutton_fonts_clicked" last_modification_time="Wed, 27 Feb 2008 22:42:53 GMT"/>
1065- </widget>
1066- <packing>
1067- <property name="left_attach">1</property>
1068- <property name="right_attach">2</property>
1069- <property name="top_attach">1</property>
1070- <property name="bottom_attach">2</property>
1071- <property name="x_options">fill</property>
1072- <property name="y_options"></property>
1073- </packing>
1074- </child>
1075-
1076- <child>
1077- <widget class="GtkCheckButton" id="checkbutton_extra">
1078- <property name="visible">True</property>
1079- <property name="tooltip" translatable="yes">Additional software which might be of general interest for users using this language.</property>
1080- <property name="can_focus">True</property>
1081- <property name="label" translatable="yes">Extra software</property>
1082- <property name="use_underline">True</property>
1083- <property name="relief">GTK_RELIEF_NORMAL</property>
1084- <property name="focus_on_click">True</property>
1085- <property name="active">False</property>
1086- <property name="inconsistent">False</property>
1087- <property name="draw_indicator">True</property>
1088- <signal name="clicked" handler="on_checkbutton_extra_clicked" last_modification_time="Wed, 27 Feb 2008 22:42:44 GMT"/>
1089- </widget>
1090- <packing>
1091- <property name="left_attach">1</property>
1092- <property name="right_attach">2</property>
1093- <property name="top_attach">2</property>
1094- <property name="bottom_attach">3</property>
1095- <property name="x_options">fill</property>
1096- <property name="y_options"></property>
1097- </packing>
1098- </child>
1099-
1100- <child>
1101- <widget class="GtkCheckButton" id="checkbutton_extra_translations">
1102- <property name="visible">True</property>
1103- <property name="tooltip" translatable="yes">OpenOffice.org, Firefox, Thunderbird, Gaim Translations and help files.</property>
1104- <property name="can_focus">True</property>
1105- <property name="label" translatable="yes">Extra translations</property>
1106- <property name="use_underline">True</property>
1107- <property name="relief">GTK_RELIEF_NORMAL</property>
1108- <property name="focus_on_click">True</property>
1109- <property name="active">False</property>
1110- <property name="inconsistent">False</property>
1111- <property name="draw_indicator">True</property>
1112- <signal name="clicked" handler="on_checkbutton_extra_translations_clicked" last_modification_time="Thu, 28 Feb 2008 10:11:19 GMT"/>
1113- </widget>
1114- <packing>
1115- <property name="left_attach">0</property>
1116- <property name="right_attach">1</property>
1117- <property name="top_attach">1</property>
1118- <property name="bottom_attach">2</property>
1119- <property name="x_options">fill</property>
1120- <property name="y_options"></property>
1121- </packing>
1122- </child>
1123-
1124- <child>
1125- <widget class="GtkCheckButton" id="checkbutton_basic_translations">
1126- <property name="visible">True</property>
1127- <property name="tooltip" translatable="yes">Translations for your desktop. Also known as language-pack.</property>
1128- <property name="can_focus">True</property>
1129- <property name="label" translatable="yes">Basic translations</property>
1130- <property name="use_underline">True</property>
1131- <property name="relief">GTK_RELIEF_NORMAL</property>
1132- <property name="focus_on_click">True</property>
1133- <property name="active">False</property>
1134- <property name="inconsistent">False</property>
1135- <property name="draw_indicator">True</property>
1136- <signal name="clicked" handler="on_checkbutton_basic_translations_clicked" last_modification_time="Thu, 28 Feb 2008 10:11:04 GMT"/>
1137- </widget>
1138- <packing>
1139- <property name="left_attach">0</property>
1140- <property name="right_attach">1</property>
1141- <property name="top_attach">0</property>
1142- <property name="bottom_attach">1</property>
1143- <property name="x_options">fill</property>
1144- <property name="y_options"></property>
1145- </packing>
1146- </child>
1147-
1148- <child>
1149- <widget class="GtkCheckButton" id="checkbutton_input_methods">
1150- <property name="visible">True</property>
1151- <property name="tooltip" translatable="yes">Input Methods for languages with complex scripts. Scim modules or other relevant software which helps with typing complex characters.</property>
1152- <property name="can_focus">True</property>
1153- <property name="label" translatable="yes">Input methods</property>
1154- <property name="use_underline">True</property>
1155- <property name="relief">GTK_RELIEF_NORMAL</property>
1156- <property name="focus_on_click">True</property>
1157- <property name="active">False</property>
1158- <property name="inconsistent">False</property>
1159- <property name="draw_indicator">True</property>
1160- <signal name="clicked" handler="on_checkbutton_input_methods_clicked" last_modification_time="Wed, 27 Feb 2008 22:42:31 GMT"/>
1161- </widget>
1162- <packing>
1163- <property name="left_attach">0</property>
1164- <property name="right_attach">1</property>
1165- <property name="top_attach">2</property>
1166- <property name="bottom_attach">3</property>
1167- <property name="x_options">fill</property>
1168- <property name="y_options"></property>
1169- </packing>
1170- </child>
1171- </widget>
1172- <packing>
1173- <property name="padding">0</property>
1174- <property name="expand">True</property>
1175- <property name="fill">True</property>
1176- </packing>
1177- </child>
1178- </widget>
1179- </child>
1180-
1181- <child>
1182- <widget class="GtkLabel" id="label14">
1183- <property name="visible">True</property>
1184- <property name="label" translatable="yes">Components:</property>
1185- <property name="use_underline">False</property>
1186- <property name="use_markup">False</property>
1187- <property name="justify">GTK_JUSTIFY_LEFT</property>
1188- <property name="wrap">False</property>
1189- <property name="selectable">False</property>
1190- <property name="xalign">0.5</property>
1191- <property name="yalign">0.5</property>
1192- <property name="xpad">0</property>
1193- <property name="ypad">0</property>
1194- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
1195- <property name="width_chars">-1</property>
1196- <property name="single_line_mode">False</property>
1197- <property name="angle">0</property>
1198- </widget>
1199- <packing>
1200- <property name="type">label_item</property>
1201- </packing>
1202- </child>
1203- </widget>
1204- <packing>
1205- <property name="padding">0</property>
1206- <property name="expand">False</property>
1207- <property name="fill">True</property>
1208- </packing>
1209- </child>
1210-
1211- <child>
1212- <widget class="GtkHBox" id="hbox8">
1213- <property name="visible">True</property>
1214- <property name="homogeneous">False</property>
1215- <property name="spacing">0</property>
1216-
1217- <child>
1218- <widget class="GtkLabel" id="label_install_remove">
1219- <property name="visible">True</property>
1220- <property name="label" translatable="yes"></property>
1221- <property name="use_underline">False</property>
1222- <property name="use_markup">True</property>
1223- <property name="justify">GTK_JUSTIFY_LEFT</property>
1224- <property name="wrap">True</property>
1225- <property name="selectable">False</property>
1226- <property name="xalign">0</property>
1227- <property name="yalign">0.5</property>
1228- <property name="xpad">0</property>
1229- <property name="ypad">0</property>
1230- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
1231- <property name="width_chars">-1</property>
1232- <property name="single_line_mode">False</property>
1233- <property name="angle">0</property>
1234- </widget>
1235- <packing>
1236- <property name="padding">0</property>
1237- <property name="expand">True</property>
1238- <property name="fill">True</property>
1239- </packing>
1240- </child>
1241-
1242- <child>
1243- <widget class="GtkHButtonBox" id="hbuttonbox2">
1244- <property name="visible">True</property>
1245- <property name="layout_style">GTK_BUTTONBOX_DEFAULT_STYLE</property>
1246- <property name="spacing">6</property>
1247-
1248- <child>
1249- <widget class="GtkButton" id="button_cancel">
1250- <property name="visible">True</property>
1251- <property name="can_default">True</property>
1252- <property name="can_focus">True</property>
1253- <property name="relief">GTK_RELIEF_NORMAL</property>
1254- <property name="focus_on_click">True</property>
1255- <signal name="clicked" handler="on_button_cancel_clicked" last_modification_time="Fri, 06 Feb 2009 13:12:48 GMT"/>
1256-
1257- <child>
1258- <widget class="GtkAlignment" id="alignment7">
1259- <property name="visible">True</property>
1260- <property name="xalign">0.5</property>
1261- <property name="yalign">0.5</property>
1262- <property name="xscale">0</property>
1263- <property name="yscale">0</property>
1264- <property name="top_padding">0</property>
1265- <property name="bottom_padding">0</property>
1266- <property name="left_padding">0</property>
1267- <property name="right_padding">0</property>
1268-
1269- <child>
1270- <widget class="GtkHBox" id="hbox9">
1271- <property name="visible">True</property>
1272- <property name="homogeneous">False</property>
1273- <property name="spacing">2</property>
1274-
1275- <child>
1276- <widget class="GtkImage" id="image1">
1277- <property name="visible">True</property>
1278- <property name="stock">gtk-cancel</property>
1279- <property name="icon_size">4</property>
1280- <property name="xalign">0.5</property>
1281- <property name="yalign">0.5</property>
1282- <property name="xpad">0</property>
1283- <property name="ypad">0</property>
1284- </widget>
1285- <packing>
1286- <property name="padding">0</property>
1287- <property name="expand">False</property>
1288- <property name="fill">False</property>
1289- </packing>
1290- </child>
1291-
1292- <child>
1293- <widget class="GtkLabel" id="label15">
1294- <property name="visible">True</property>
1295- <property name="label" translatable="yes">Cancel</property>
1296- <property name="use_underline">True</property>
1297- <property name="use_markup">False</property>
1298- <property name="justify">GTK_JUSTIFY_LEFT</property>
1299- <property name="wrap">False</property>
1300- <property name="selectable">False</property>
1301- <property name="xalign">0.5</property>
1302- <property name="yalign">0.5</property>
1303- <property name="xpad">0</property>
1304- <property name="ypad">0</property>
1305- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
1306- <property name="width_chars">-1</property>
1307- <property name="single_line_mode">False</property>
1308- <property name="angle">0</property>
1309- </widget>
1310- <packing>
1311- <property name="padding">0</property>
1312- <property name="expand">False</property>
1313- <property name="fill">False</property>
1314- </packing>
1315- </child>
1316- </widget>
1317- </child>
1318- </widget>
1319- </child>
1320- </widget>
1321- </child>
1322-
1323- <child>
1324- <widget class="GtkButton" id="button_apply">
1325- <property name="visible">True</property>
1326- <property name="can_default">True</property>
1327- <property name="can_focus">True</property>
1328- <property name="relief">GTK_RELIEF_NORMAL</property>
1329- <property name="focus_on_click">True</property>
1330- <signal name="clicked" handler="on_button_apply_clicked" last_modification_time="Fri, 06 Feb 2009 13:12:36 GMT"/>
1331-
1332- <child>
1333- <widget class="GtkAlignment" id="alignment8">
1334- <property name="visible">True</property>
1335- <property name="xalign">0.5</property>
1336- <property name="yalign">0.5</property>
1337- <property name="xscale">0</property>
1338- <property name="yscale">0</property>
1339- <property name="top_padding">0</property>
1340- <property name="bottom_padding">0</property>
1341- <property name="left_padding">0</property>
1342- <property name="right_padding">0</property>
1343-
1344- <child>
1345- <widget class="GtkHBox" id="hbox10">
1346- <property name="visible">True</property>
1347- <property name="homogeneous">False</property>
1348- <property name="spacing">2</property>
1349-
1350- <child>
1351- <widget class="GtkImage" id="image2">
1352- <property name="visible">True</property>
1353- <property name="stock">gtk-apply</property>
1354- <property name="icon_size">4</property>
1355- <property name="xalign">0.5</property>
1356- <property name="yalign">0.5</property>
1357- <property name="xpad">0</property>
1358- <property name="ypad">0</property>
1359- </widget>
1360- <packing>
1361- <property name="padding">0</property>
1362- <property name="expand">False</property>
1363- <property name="fill">False</property>
1364- </packing>
1365- </child>
1366-
1367- <child>
1368- <widget class="GtkLabel" id="label16">
1369- <property name="visible">True</property>
1370- <property name="label" translatable="yes">Apply Changes</property>
1371- <property name="use_underline">True</property>
1372- <property name="use_markup">False</property>
1373- <property name="justify">GTK_JUSTIFY_LEFT</property>
1374- <property name="wrap">False</property>
1375- <property name="selectable">False</property>
1376- <property name="xalign">0.5</property>
1377- <property name="yalign">0.5</property>
1378- <property name="xpad">0</property>
1379- <property name="ypad">0</property>
1380- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
1381- <property name="width_chars">-1</property>
1382- <property name="single_line_mode">False</property>
1383- <property name="angle">0</property>
1384- </widget>
1385- <packing>
1386- <property name="padding">0</property>
1387- <property name="expand">False</property>
1388- <property name="fill">False</property>
1389- </packing>
1390- </child>
1391- </widget>
1392- </child>
1393- </widget>
1394- </child>
1395- </widget>
1396- </child>
1397- </widget>
1398- <packing>
1399- <property name="padding">0</property>
1400- <property name="expand">False</property>
1401- <property name="fill">False</property>
1402- </packing>
1403- </child>
1404- </widget>
1405- <packing>
1406- <property name="padding">0</property>
1407- <property name="expand">False</property>
1408- <property name="fill">True</property>
1409- </packing>
1410- </child>
1411- </widget>
1412- </child>
1413- </widget>
1414- </child>
1415-</widget>
1416-
1417-</glade-interface>
1418
1419=== added file 'data/LanguageSelector.ui'
1420--- data/LanguageSelector.ui 1970-01-01 00:00:00 +0000
1421+++ data/LanguageSelector.ui 2009-07-24 08:32:20 +0000
1422@@ -0,0 +1,590 @@
1423+<?xml version="1.0"?>
1424+<interface>
1425+ <!-- interface-requires gtk+ 2.12 -->
1426+ <!-- interface-naming-policy toplevel-contextual -->
1427+ <object class="GtkWindow" id="dialog_progress">
1428+ <property name="border_width">12</property>
1429+ <property name="resizable">False</property>
1430+ <property name="window_position">center-on-parent</property>
1431+ <property name="icon_name">config-language</property>
1432+ <property name="type_hint">dialog</property>
1433+ <property name="skip_taskbar_hint">True</property>
1434+ <property name="skip_pager_hint">True</property>
1435+ <child>
1436+ <object class="GtkVBox" id="vbox8">
1437+ <property name="visible">True</property>
1438+ <property name="border_width">6</property>
1439+ <property name="spacing">12</property>
1440+ <child>
1441+ <object class="GtkLabel" id="label8">
1442+ <property name="visible">True</property>
1443+ <property name="xalign">0</property>
1444+ <property name="yalign">0</property>
1445+ <property name="label" translatable="yes">&lt;big&gt;&lt;b&gt;Checking available language support&lt;/b&gt;&lt;/big&gt;
1446+
1447+The availability of translations or writing aids can differ between languages.</property>
1448+ <property name="use_markup">True</property>
1449+ <property name="wrap">True</property>
1450+ </object>
1451+ <packing>
1452+ <property name="expand">False</property>
1453+ <property name="fill">False</property>
1454+ <property name="position">0</property>
1455+ </packing>
1456+ </child>
1457+ <child>
1458+ <object class="GtkProgressBar" id="progressbar_cache">
1459+ <property name="visible">True</property>
1460+ <property name="pulse_step">0</property>
1461+ </object>
1462+ <packing>
1463+ <property name="expand">False</property>
1464+ <property name="fill">False</property>
1465+ <property name="position">1</property>
1466+ </packing>
1467+ </child>
1468+ </object>
1469+ </child>
1470+ </object>
1471+ <object class="GtkWindow" id="window_main">
1472+ <property name="visible">True</property>
1473+ <property name="title" translatable="yes">Language</property>
1474+ <property name="icon_name">config-language</property>
1475+ <signal name="delete_event" handler="on_delete_event"/>
1476+ <child>
1477+ <object class="GtkAlignment" id="alignment1">
1478+ <property name="visible">True</property>
1479+ <property name="top_padding">12</property>
1480+ <property name="bottom_padding">12</property>
1481+ <property name="left_padding">12</property>
1482+ <property name="right_padding">12</property>
1483+ <child>
1484+ <object class="GtkVBox" id="vbox13">
1485+ <property name="visible">True</property>
1486+ <child>
1487+ <object class="GtkHBox" id="hbox5">
1488+ <property name="visible">True</property>
1489+ <child>
1490+ <placeholder/>
1491+ </child>
1492+ <child>
1493+ <object class="GtkVBox" id="vbox14">
1494+ <property name="visible">True</property>
1495+ <child>
1496+ <object class="GtkLabel" id="label10">
1497+ <property name="visible">True</property>
1498+ <property name="xalign">0</property>
1499+ <property name="yalign">0</property>
1500+ <property name="label" translatable="yes">For my menus and windows, use:</property>
1501+ </object>
1502+ <packing>
1503+ <property name="expand">False</property>
1504+ <property name="fill">False</property>
1505+ <property name="position">0</property>
1506+ </packing>
1507+ </child>
1508+ <child>
1509+ <object class="GtkAlignment" id="alignment2">
1510+ <property name="visible">True</property>
1511+ <property name="left_padding">12</property>
1512+ <child>
1513+ <object class="GtkHBox" id="hbox7">
1514+ <property name="visible">True</property>
1515+ <child>
1516+ <object class="GtkComboBox" id="combobox_user_language">
1517+ <property name="visible">True</property>
1518+ <signal name="changed" handler="on_combobox_user_language_changed"/>
1519+ </object>
1520+ <packing>
1521+ <property name="expand">False</property>
1522+ <property name="position">0</property>
1523+ </packing>
1524+ </child>
1525+ <child>
1526+ <placeholder/>
1527+ </child>
1528+ </object>
1529+ </child>
1530+ </object>
1531+ <packing>
1532+ <property name="position">1</property>
1533+ </packing>
1534+ </child>
1535+ <child>
1536+ <object class="GtkAlignment" id="alignment11">
1537+ <property name="visible">True</property>
1538+ <property name="top_padding">12</property>
1539+ <child>
1540+ <object class="GtkLabel" id="label12">
1541+ <property name="visible">True</property>
1542+ <property name="xalign">0</property>
1543+ <property name="yalign">0</property>
1544+ <property name="label" translatable="yes">For everyone at startup and login, use:</property>
1545+ </object>
1546+ </child>
1547+ </object>
1548+ <packing>
1549+ <property name="position">2</property>
1550+ </packing>
1551+ </child>
1552+ <child>
1553+ <object class="GtkHBox" id="hbox6">
1554+ <property name="visible">True</property>
1555+ <child>
1556+ <object class="GtkAlignment" id="alignment5">
1557+ <property name="visible">True</property>
1558+ <property name="left_padding">12</property>
1559+ <child>
1560+ <object class="GtkComboBox" id="combobox_system_language">
1561+ <property name="visible">True</property>
1562+ <signal name="changed" handler="on_combobox_system_language_changed"/>
1563+ </object>
1564+ </child>
1565+ </object>
1566+ <packing>
1567+ <property name="expand">False</property>
1568+ <property name="position">0</property>
1569+ </packing>
1570+ </child>
1571+ <child>
1572+ <object class="GtkAlignment" id="alignment4">
1573+ <property name="visible">True</property>
1574+ <property name="left_padding">12</property>
1575+ <child>
1576+ <object class="GtkCheckButton" id="checkbutton_sync_languages">
1577+ <property name="label" translatable="yes">Keep the same</property>
1578+ <property name="visible">True</property>
1579+ <property name="can_focus">True</property>
1580+ <property name="receives_default">False</property>
1581+ <property name="use_underline">True</property>
1582+ <property name="draw_indicator">True</property>
1583+ <signal name="toggled" handler="on_checkbutton_sync_languages_toggled"/>
1584+ </object>
1585+ </child>
1586+ </object>
1587+ <packing>
1588+ <property name="position">1</property>
1589+ </packing>
1590+ </child>
1591+ </object>
1592+ <packing>
1593+ <property name="position">3</property>
1594+ </packing>
1595+ </child>
1596+ </object>
1597+ <packing>
1598+ <property name="fill">False</property>
1599+ <property name="position">1</property>
1600+ </packing>
1601+ </child>
1602+ <child>
1603+ <placeholder/>
1604+ </child>
1605+ </object>
1606+ <packing>
1607+ <property name="expand">False</property>
1608+ <property name="fill">False</property>
1609+ <property name="position">0</property>
1610+ </packing>
1611+ </child>
1612+ <child>
1613+ <object class="GtkAlignment" id="alignment9">
1614+ <property name="visible">True</property>
1615+ <property name="top_padding">18</property>
1616+ <child>
1617+ <object class="GtkCheckButton" id="checkbutton_enable_input_methods">
1618+ <property name="label" translatable="yes">Use input method engines (IME) to enter complex characters</property>
1619+ <property name="visible">True</property>
1620+ <property name="can_focus">False</property>
1621+ <property name="receives_default">False</property>
1622+ <property name="use_underline">True</property>
1623+ <property name="draw_indicator">True</property>
1624+ <signal name="toggled" handler="on_checkbutton_enable_input_methods_toggled"/>
1625+ </object>
1626+ </child>
1627+ </object>
1628+ <packing>
1629+ <property name="position">1</property>
1630+ </packing>
1631+ </child>
1632+ <child>
1633+ <object class="GtkAlignment" id="alignment10">
1634+ <property name="visible">True</property>
1635+ <property name="top_padding">12</property>
1636+ <property name="bottom_padding">12</property>
1637+ <child>
1638+ <object class="GtkLabel" id="label17">
1639+ <property name="visible">True</property>
1640+ <property name="xalign">0</property>
1641+ <property name="yalign">0</property>
1642+ <property name="label" translatable="yes">&lt;small&gt;All changes take effect next time you log in.&lt;/small&gt;</property>
1643+ <property name="use_markup">True</property>
1644+ </object>
1645+ </child>
1646+ </object>
1647+ <packing>
1648+ <property name="position">2</property>
1649+ </packing>
1650+ </child>
1651+ <child>
1652+ <object class="GtkHBox" id="hbox4">
1653+ <property name="visible">True</property>
1654+ <child>
1655+ <object class="GtkButton" id="button_install_remove_languages">
1656+ <property name="label" translatable="yes">Install / Remove Languages...</property>
1657+ <property name="visible">True</property>
1658+ <property name="can_focus">True</property>
1659+ <property name="receives_default">False</property>
1660+ <property name="use_underline">True</property>
1661+ <signal name="clicked" handler="on_button_install_remove_languages_clicked"/>
1662+ </object>
1663+ <packing>
1664+ <property name="expand">False</property>
1665+ <property name="fill">False</property>
1666+ <property name="position">0</property>
1667+ </packing>
1668+ </child>
1669+ <child>
1670+ <placeholder/>
1671+ </child>
1672+ </object>
1673+ <packing>
1674+ <property name="expand">False</property>
1675+ <property name="fill">False</property>
1676+ <property name="position">3</property>
1677+ </packing>
1678+ </child>
1679+ </object>
1680+ </child>
1681+ </object>
1682+ </child>
1683+ </object>
1684+ <object class="GtkWindow" id="window_installer">
1685+ <property name="title" translatable="yes">Installed Languages</property>
1686+ <property name="default_width">550</property>
1687+ <property name="icon_name">config-language</property>
1688+ <signal name="delete_event" handler="hide_on_delete"/>
1689+ <child>
1690+ <object class="GtkAlignment" id="alignment6">
1691+ <property name="visible">True</property>
1692+ <property name="top_padding">12</property>
1693+ <property name="bottom_padding">12</property>
1694+ <property name="left_padding">12</property>
1695+ <property name="right_padding">12</property>
1696+ <child>
1697+ <object class="GtkVBox" id="vbox15">
1698+ <property name="visible">True</property>
1699+ <property name="spacing">12</property>
1700+ <child>
1701+ <object class="GtkLabel" id="label13">
1702+ <property name="visible">True</property>
1703+ <property name="xalign">0</property>
1704+ <property name="yalign">0</property>
1705+ <property name="label" translatable="yes">When a language is installed, individual users can choose it in their Language settings.</property>
1706+ <property name="wrap">True</property>
1707+ </object>
1708+ <packing>
1709+ <property name="expand">False</property>
1710+ <property name="fill">False</property>
1711+ <property name="position">0</property>
1712+ </packing>
1713+ </child>
1714+ <child>
1715+ <object class="GtkScrolledWindow" id="scrolledwindow2">
1716+ <property name="visible">True</property>
1717+ <property name="can_focus">True</property>
1718+ <property name="shadow_type">in</property>
1719+ <child>
1720+ <object class="GtkTreeView" id="treeview_languages">
1721+ <property name="height_request">150</property>
1722+ <property name="visible">True</property>
1723+ <property name="can_focus">True</property>
1724+ <signal name="cursor_changed" handler="on_treeview_languages_cursor_changed"/>
1725+ <signal name="row_activated" handler="on_treeview_languages_row_activated"/>
1726+ </object>
1727+ </child>
1728+ </object>
1729+ <packing>
1730+ <property name="position">1</property>
1731+ </packing>
1732+ </child>
1733+ <child>
1734+ <object class="GtkExpander" id="expander_components">
1735+ <property name="visible">True</property>
1736+ <property name="can_focus">True</property>
1737+ <property name="expanded">True</property>
1738+ <child>
1739+ <object class="GtkVBox" id="vbox16">
1740+ <property name="visible">True</property>
1741+ <child>
1742+ <object class="GtkTable" id="table2">
1743+ <property name="visible">True</property>
1744+ <property name="n_rows">3</property>
1745+ <property name="n_columns">2</property>
1746+ <property name="column_spacing">18</property>
1747+ <child>
1748+ <object class="GtkCheckButton" id="checkbutton_writing_aids">
1749+ <property name="label" translatable="yes">Spellchecking and writing aids</property>
1750+ <property name="visible">True</property>
1751+ <property name="can_focus">True</property>
1752+ <property name="receives_default">False</property>
1753+ <property name="tooltip_text" translatable="yes">Word lists, dictionaries, thesauruses, etc. which can help typing by highlighting, correcting or suggesting words.</property>
1754+ <property name="use_underline">True</property>
1755+ <property name="draw_indicator">True</property>
1756+ <signal name="clicked" handler="on_checkbutton_writing_aids_clicked"/>
1757+ </object>
1758+ <packing>
1759+ <property name="left_attach">1</property>
1760+ <property name="right_attach">2</property>
1761+ <property name="x_options">GTK_FILL</property>
1762+ <property name="y_options"></property>
1763+ </packing>
1764+ </child>
1765+ <child>
1766+ <object class="GtkCheckButton" id="checkbutton_fonts">
1767+ <property name="label" translatable="yes">Extra fonts</property>
1768+ <property name="visible">True</property>
1769+ <property name="can_focus">True</property>
1770+ <property name="receives_default">False</property>
1771+ <property name="tooltip_text" translatable="yes">Additional fonts for this language which might be of general interest, e.g. decorative fonts for printing documents.</property>
1772+ <property name="use_underline">True</property>
1773+ <property name="draw_indicator">True</property>
1774+ <signal name="clicked" handler="on_checkbutton_fonts_clicked"/>
1775+ </object>
1776+ <packing>
1777+ <property name="left_attach">1</property>
1778+ <property name="right_attach">2</property>
1779+ <property name="top_attach">1</property>
1780+ <property name="bottom_attach">2</property>
1781+ <property name="x_options">GTK_FILL</property>
1782+ <property name="y_options"></property>
1783+ </packing>
1784+ </child>
1785+ <child>
1786+ <object class="GtkCheckButton" id="checkbutton_extra">
1787+ <property name="label" translatable="yes">Extra software</property>
1788+ <property name="visible">True</property>
1789+ <property name="can_focus">True</property>
1790+ <property name="receives_default">False</property>
1791+ <property name="tooltip_text" translatable="yes">Additional software which might be of general interest for users using this language.</property>
1792+ <property name="use_underline">True</property>
1793+ <property name="draw_indicator">True</property>
1794+ <signal name="clicked" handler="on_checkbutton_extra_clicked"/>
1795+ </object>
1796+ <packing>
1797+ <property name="left_attach">1</property>
1798+ <property name="right_attach">2</property>
1799+ <property name="top_attach">2</property>
1800+ <property name="bottom_attach">3</property>
1801+ <property name="x_options">GTK_FILL</property>
1802+ <property name="y_options"></property>
1803+ </packing>
1804+ </child>
1805+ <child>
1806+ <object class="GtkCheckButton" id="checkbutton_extra_translations">
1807+ <property name="label" translatable="yes">Extra translations</property>
1808+ <property name="visible">True</property>
1809+ <property name="can_focus">True</property>
1810+ <property name="receives_default">False</property>
1811+ <property name="tooltip_text" translatable="yes">OpenOffice.org, Firefox, Thunderbird, Gaim Translations and help files.</property>
1812+ <property name="use_underline">True</property>
1813+ <property name="draw_indicator">True</property>
1814+ <signal name="clicked" handler="on_checkbutton_extra_translations_clicked"/>
1815+ </object>
1816+ <packing>
1817+ <property name="top_attach">1</property>
1818+ <property name="bottom_attach">2</property>
1819+ <property name="x_options">GTK_FILL</property>
1820+ <property name="y_options"></property>
1821+ </packing>
1822+ </child>
1823+ <child>
1824+ <object class="GtkCheckButton" id="checkbutton_basic_translations">
1825+ <property name="label" translatable="yes">Basic translations</property>
1826+ <property name="visible">True</property>
1827+ <property name="can_focus">True</property>
1828+ <property name="receives_default">False</property>
1829+ <property name="tooltip_text" translatable="yes">Translations for your desktop. Also known as language-pack.</property>
1830+ <property name="use_underline">True</property>
1831+ <property name="draw_indicator">True</property>
1832+ <signal name="clicked" handler="on_checkbutton_basic_translations_clicked"/>
1833+ </object>
1834+ <packing>
1835+ <property name="x_options">GTK_FILL</property>
1836+ <property name="y_options"></property>
1837+ </packing>
1838+ </child>
1839+ <child>
1840+ <object class="GtkCheckButton" id="checkbutton_input_methods">
1841+ <property name="label" translatable="yes">Input methods</property>
1842+ <property name="visible">True</property>
1843+ <property name="can_focus">True</property>
1844+ <property name="receives_default">False</property>
1845+ <property name="tooltip_text" translatable="yes">Input Methods for languages with complex scripts. Scim modules or other relevant software which helps with typing complex characters.</property>
1846+ <property name="use_underline">True</property>
1847+ <property name="draw_indicator">True</property>
1848+ <signal name="clicked" handler="on_checkbutton_input_methods_clicked"/>
1849+ </object>
1850+ <packing>
1851+ <property name="top_attach">2</property>
1852+ <property name="bottom_attach">3</property>
1853+ <property name="x_options">GTK_FILL</property>
1854+ <property name="y_options"></property>
1855+ </packing>
1856+ </child>
1857+ </object>
1858+ <packing>
1859+ <property name="position">0</property>
1860+ </packing>
1861+ </child>
1862+ </object>
1863+ </child>
1864+ <child type="label">
1865+ <object class="GtkLabel" id="label14">
1866+ <property name="visible">True</property>
1867+ <property name="label" translatable="yes">Components:</property>
1868+ </object>
1869+ </child>
1870+ </object>
1871+ <packing>
1872+ <property name="expand">False</property>
1873+ <property name="position">2</property>
1874+ </packing>
1875+ </child>
1876+ <child>
1877+ <object class="GtkHBox" id="hbox8">
1878+ <property name="visible">True</property>
1879+ <child>
1880+ <object class="GtkLabel" id="label_install_remove">
1881+ <property name="visible">True</property>
1882+ <property name="xalign">0</property>
1883+ <property name="use_markup">True</property>
1884+ <property name="wrap">True</property>
1885+ </object>
1886+ <packing>
1887+ <property name="position">0</property>
1888+ </packing>
1889+ </child>
1890+ <child>
1891+ <object class="GtkHButtonBox" id="hbuttonbox2">
1892+ <property name="visible">True</property>
1893+ <property name="spacing">6</property>
1894+ <child>
1895+ <object class="GtkButton" id="button_cancel">
1896+ <property name="visible">True</property>
1897+ <property name="can_focus">True</property>
1898+ <property name="can_default">True</property>
1899+ <property name="receives_default">False</property>
1900+ <signal name="clicked" handler="on_button_cancel_clicked"/>
1901+ <child>
1902+ <object class="GtkAlignment" id="alignment7">
1903+ <property name="visible">True</property>
1904+ <property name="xscale">0</property>
1905+ <property name="yscale">0</property>
1906+ <child>
1907+ <object class="GtkHBox" id="hbox9">
1908+ <property name="visible">True</property>
1909+ <property name="spacing">2</property>
1910+ <child>
1911+ <object class="GtkImage" id="image1">
1912+ <property name="visible">True</property>
1913+ <property name="stock">gtk-cancel</property>
1914+ </object>
1915+ <packing>
1916+ <property name="expand">False</property>
1917+ <property name="fill">False</property>
1918+ <property name="position">0</property>
1919+ </packing>
1920+ </child>
1921+ <child>
1922+ <object class="GtkLabel" id="label15">
1923+ <property name="visible">True</property>
1924+ <property name="label" translatable="yes">Cancel</property>
1925+ <property name="use_underline">True</property>
1926+ </object>
1927+ <packing>
1928+ <property name="expand">False</property>
1929+ <property name="fill">False</property>
1930+ <property name="position">1</property>
1931+ </packing>
1932+ </child>
1933+ </object>
1934+ </child>
1935+ </object>
1936+ </child>
1937+ </object>
1938+ <packing>
1939+ <property name="expand">False</property>
1940+ <property name="fill">False</property>
1941+ <property name="position">0</property>
1942+ </packing>
1943+ </child>
1944+ <child>
1945+ <object class="GtkButton" id="button_apply">
1946+ <property name="visible">True</property>
1947+ <property name="can_focus">True</property>
1948+ <property name="can_default">True</property>
1949+ <property name="receives_default">False</property>
1950+ <signal name="clicked" handler="on_button_apply_clicked"/>
1951+ <child>
1952+ <object class="GtkAlignment" id="alignment8">
1953+ <property name="visible">True</property>
1954+ <property name="xscale">0</property>
1955+ <property name="yscale">0</property>
1956+ <child>
1957+ <object class="GtkHBox" id="hbox10">
1958+ <property name="visible">True</property>
1959+ <property name="spacing">2</property>
1960+ <child>
1961+ <object class="GtkImage" id="image2">
1962+ <property name="visible">True</property>
1963+ <property name="stock">gtk-apply</property>
1964+ </object>
1965+ <packing>
1966+ <property name="expand">False</property>
1967+ <property name="fill">False</property>
1968+ <property name="position">0</property>
1969+ </packing>
1970+ </child>
1971+ <child>
1972+ <object class="GtkLabel" id="label16">
1973+ <property name="visible">True</property>
1974+ <property name="label" translatable="yes">Apply Changes</property>
1975+ <property name="use_underline">True</property>
1976+ </object>
1977+ <packing>
1978+ <property name="expand">False</property>
1979+ <property name="fill">False</property>
1980+ <property name="position">1</property>
1981+ </packing>
1982+ </child>
1983+ </object>
1984+ </child>
1985+ </object>
1986+ </child>
1987+ </object>
1988+ <packing>
1989+ <property name="expand">False</property>
1990+ <property name="fill">False</property>
1991+ <property name="position">1</property>
1992+ </packing>
1993+ </child>
1994+ </object>
1995+ <packing>
1996+ <property name="expand">False</property>
1997+ <property name="fill">False</property>
1998+ <property name="position">1</property>
1999+ </packing>
2000+ </child>
2001+ </object>
2002+ <packing>
2003+ <property name="expand">False</property>
2004+ <property name="position">3</property>
2005+ </packing>
2006+ </child>
2007+ </object>
2008+ </child>
2009+ </object>
2010+ </child>
2011+ </object>
2012+</interface>
2013
2014=== removed file 'data/Test.glade'
2015--- data/Test.glade 2005-05-11 14:03:31 +0000
2016+++ data/Test.glade 1970-01-01 00:00:00 +0000
2017@@ -1,93 +0,0 @@
2018-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
2019-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
2020-
2021-<glade-interface>
2022-
2023-<widget class="GtkWindow" id="window_Test">
2024- <property name="border_width">10</property>
2025- <property name="visible">True</property>
2026- <property name="title" translatable="yes">test</property>
2027- <property name="type">GTK_WINDOW_TOPLEVEL</property>
2028- <property name="window_position">GTK_WIN_POS_NONE</property>
2029- <property name="modal">False</property>
2030- <property name="default_width">200</property>
2031- <property name="default_height">200</property>
2032- <property name="resizable">True</property>
2033- <property name="destroy_with_parent">False</property>
2034- <property name="decorated">True</property>
2035- <property name="skip_taskbar_hint">False</property>
2036- <property name="skip_pager_hint">False</property>
2037- <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
2038- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
2039- <property name="focus_on_map">True</property>
2040-
2041- <child>
2042- <widget class="GtkVBox" id="vbox1">
2043- <property name="border_width">5</property>
2044- <property name="visible">True</property>
2045- <property name="homogeneous">False</property>
2046- <property name="spacing">0</property>
2047-
2048- <child>
2049- <widget class="GtkButton" id="button_click">
2050- <property name="visible">True</property>
2051- <property name="can_focus">True</property>
2052- <property name="label" translatable="yes">Click me</property>
2053- <property name="use_underline">True</property>
2054- <property name="relief">GTK_RELIEF_NORMAL</property>
2055- <property name="focus_on_click">True</property>
2056- <signal name="clicked" handler="on_button_click_clicked" last_modification_time="Wed, 11 May 2005 11:40:52 GMT"/>
2057- </widget>
2058- <packing>
2059- <property name="padding">0</property>
2060- <property name="expand">False</property>
2061- <property name="fill">False</property>
2062- </packing>
2063- </child>
2064-
2065- <child>
2066- <widget class="GtkLabel" id="label1">
2067- <property name="visible">True</property>
2068- <property name="label" translatable="yes">Hello World</property>
2069- <property name="use_underline">False</property>
2070- <property name="use_markup">False</property>
2071- <property name="justify">GTK_JUSTIFY_LEFT</property>
2072- <property name="wrap">False</property>
2073- <property name="selectable">False</property>
2074- <property name="xalign">0.5</property>
2075- <property name="yalign">0.5</property>
2076- <property name="xpad">0</property>
2077- <property name="ypad">0</property>
2078- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
2079- <property name="width_chars">-1</property>
2080- <property name="single_line_mode">False</property>
2081- <property name="angle">0</property>
2082- </widget>
2083- <packing>
2084- <property name="padding">0</property>
2085- <property name="expand">False</property>
2086- <property name="fill">False</property>
2087- </packing>
2088- </child>
2089-
2090- <child>
2091- <widget class="GtkButton" id="button_close">
2092- <property name="visible">True</property>
2093- <property name="can_focus">True</property>
2094- <property name="label">gtk-close</property>
2095- <property name="use_stock">True</property>
2096- <property name="relief">GTK_RELIEF_NORMAL</property>
2097- <property name="focus_on_click">True</property>
2098- <signal name="clicked" handler="on_button_close_clicked" last_modification_time="Wed, 11 May 2005 12:06:43 GMT"/>
2099- </widget>
2100- <packing>
2101- <property name="padding">0</property>
2102- <property name="expand">False</property>
2103- <property name="fill">False</property>
2104- </packing>
2105- </child>
2106- </widget>
2107- </child>
2108-</widget>
2109-
2110-</glade-interface>
2111
2112=== added file 'data/Test.ui'
2113--- data/Test.ui 1970-01-01 00:00:00 +0000
2114+++ data/Test.ui 2009-07-24 08:32:20 +0000
2115@@ -0,0 +1,59 @@
2116+<?xml version="1.0"?>
2117+<interface>
2118+ <!-- interface-requires gtk+ 2.12 -->
2119+ <!-- interface-naming-policy toplevel-contextual -->
2120+ <object class="GtkWindow" id="window_Test">
2121+ <property name="visible">True</property>
2122+ <property name="border_width">10</property>
2123+ <property name="title" translatable="yes">test</property>
2124+ <property name="default_width">200</property>
2125+ <property name="default_height">200</property>
2126+ <child>
2127+ <object class="GtkVBox" id="vbox1">
2128+ <property name="visible">True</property>
2129+ <property name="border_width">5</property>
2130+ <child>
2131+ <object class="GtkButton" id="button_click">
2132+ <property name="label" translatable="yes">Click me</property>
2133+ <property name="visible">True</property>
2134+ <property name="can_focus">True</property>
2135+ <property name="receives_default">False</property>
2136+ <property name="use_underline">True</property>
2137+ <signal name="clicked" handler="on_button_click_clicked"/>
2138+ </object>
2139+ <packing>
2140+ <property name="expand">False</property>
2141+ <property name="fill">False</property>
2142+ <property name="position">0</property>
2143+ </packing>
2144+ </child>
2145+ <child>
2146+ <object class="GtkLabel" id="label1">
2147+ <property name="visible">True</property>
2148+ <property name="label" translatable="yes">Hello World</property>
2149+ </object>
2150+ <packing>
2151+ <property name="expand">False</property>
2152+ <property name="fill">False</property>
2153+ <property name="position">1</property>
2154+ </packing>
2155+ </child>
2156+ <child>
2157+ <object class="GtkButton" id="button_close">
2158+ <property name="label">gtk-close</property>
2159+ <property name="visible">True</property>
2160+ <property name="can_focus">True</property>
2161+ <property name="receives_default">False</property>
2162+ <property name="use_stock">True</property>
2163+ <signal name="clicked" handler="on_button_close_clicked"/>
2164+ </object>
2165+ <packing>
2166+ <property name="expand">False</property>
2167+ <property name="fill">False</property>
2168+ <property name="position">2</property>
2169+ </packing>
2170+ </child>
2171+ </object>
2172+ </child>
2173+ </object>
2174+</interface>
2175
2176=== modified file 'debian/changelog'
2177--- debian/changelog 2009-06-23 10:20:52 +0000
2178+++ debian/changelog 2009-07-24 08:32:20 +0000
2179@@ -5,6 +5,9 @@
2180 is consistent with localechooser, supported by pam_env and now also
2181 supported by sudo.
2182
2183+ [ Sebastien Bacher ]
2184+ * Use gtkbuilder rather than libglade (lp: #403531)
2185+
2186 -- Loïc Minier <lool@dooz.org> Tue, 23 Jun 2009 12:19:34 +0200
2187
2188 language-selector (0.4.4) karmic; urgency=low
2189
2190=== modified file 'debian/control'
2191--- debian/control 2009-02-20 09:32:52 +0000
2192+++ debian/control 2009-07-24 08:32:20 +0000
2193@@ -9,7 +9,7 @@
2194
2195 Package: language-selector
2196 Architecture: all
2197-Depends: language-selector-common (= ${Source-Version}), ${shlibs:Depends}, ${python:Depends}, python-gtk2, python-glade2, python-apt (>= 0.6.12), synaptic
2198+Depends: language-selector-common (= ${Source-Version}), ${shlibs:Depends}, ${python:Depends}, python-gtk2, python-apt (>= 0.6.12), synaptic
2199 XB-Python-Version: ${python:Versions}
2200 Description: Language selector for Ubuntu Linux
2201 This package let you change and install language packs
2202
2203=== modified file 'gnome-language-selector'
2204--- gnome-language-selector 2009-02-19 18:29:25 +0000
2205+++ gnome-language-selector 2009-07-24 08:32:20 +0000
2206@@ -17,8 +17,6 @@
2207 if __name__ == "__main__":
2208 gettext.bindtextdomain("language-selector", "/usr/share/locale")
2209 gettext.textdomain("language-selector")
2210- gtk.glade.bindtextdomain("language-selector", "/usr/share/locale")
2211- gtk.glade.textdomain("language-selector")
2212
2213 parser = OptionParser()
2214 parser.add_option("-n", "--no-verify-installed-lang-support",
2215
2216=== modified file 'po/POTFILES.in'
2217--- po/POTFILES.in 2008-08-27 00:32:58 +0000
2218+++ po/POTFILES.in 2009-07-24 08:32:20 +0000
2219@@ -4,10 +4,10 @@
2220 LanguageSelector/LanguageSelector.py
2221 LanguageSelector/LocaleInfo.py
2222 LanguageSelector/gtk/GtkLanguageSelector.py
2223-LanguageSelector/gtk/SimpleGladeApp.py
2224+LanguageSelector/gtk/SimpleGtkbuilderApp.py
2225 LanguageSelector/qt/QtLanguageSelector.py
2226 LanguageSelector/qt/QtLanguageSelectorGUI.py
2227-data/LanguageSelector.glade
2228+data/LanguageSelector.ui
2229 data/language-selector.desktop.in
2230 data/qt-language-selector.desktop.in
2231 data/incomplete-language-support-gnome.note.in.h
2232
2233=== modified file 'po/POTFILES.skip'
2234--- po/POTFILES.skip 2007-09-27 13:36:40 +0000
2235+++ po/POTFILES.skip 2009-07-24 08:32:20 +0000
2236@@ -1,1 +1,1 @@
2237-data/Test.glade
2238+data/Test.ui
2239
2240=== modified file 'setup.py'
2241--- setup.py 2008-04-15 17:12:44 +0000
2242+++ setup.py 2009-07-24 08:32:20 +0000
2243@@ -29,7 +29,7 @@
2244 data_files=[('share/language-selector/data',
2245 ["data/language-selector.png",
2246 "data/languagelist",
2247- "data/LanguageSelector.glade"]),
2248+ "data/LanguageSelector.ui"]),
2249 ('share/applications',
2250 glob.glob("data/*.desktop")),
2251 ('share/pixmaps',

Subscribers

People subscribed via source and target branches