Merge lp:~xnox/ubiquity/fix-theming into lp:ubiquity

Proposed by Dimitri John Ledkov
Status: Merged
Merged at revision: 5631
Proposed branch: lp:~xnox/ubiquity/fix-theming
Merge into: lp:ubiquity
Diff against target: 484 lines (+173/-131) (has conflicts)
3 files modified
debian/changelog (+13/-0)
gui/gtk/ubiquity.ui (+148/-108)
ubiquity/frontend/gtk_ui.py (+12/-23)
Text conflict in debian/changelog
To merge this branch: bzr merge lp:~xnox/ubiquity/fix-theming
Reviewer Review Type Date Requested Status
Ubuntu Installer Team Pending
Review via email: mp+122689@code.launchpad.net

Description of the change

This fixes theme issues with a11y high contrast themes.

To post a comment you must log in.
Revision history for this message
Evan (ev) wrote :

On Tue, Sep 4, 2012 at 3:06 PM, Dmitrijs Ledkovs <email address hidden> wrote:
> # Thin progress bar
> - provider = Gtk.CssProvider()
> - provider.load_from_data(b'''\
> - GtkProgressBar {
> - -GtkProgressBar-min-horizontal-bar-height : 10
> - }''')
> + #provider = Gtk.CssProvider()
> + #provider.load_from_data(b'''\
> + # GtkProgressBar {
> + # -GtkProgressBar-min-horizontal-bar-height : 10
> + # }''')

Do delete code rather than comment it out. It's what we have a VCS for :)

It's unclear to me why you're getting rid of this particular block
though. Is there another means of making the progress bar thin that
I'm missing?

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

> On Tue, Sep 4, 2012 at 3:06 PM, Dmitrijs Ledkovs <email address hidden>
> wrote:
> > # Thin progress bar
> > - provider = Gtk.CssProvider()
> > - provider.load_from_data(b'''\
> > - GtkProgressBar {
> > - -GtkProgressBar-min-horizontal-bar-height : 10
> > - }''')
> > + #provider = Gtk.CssProvider()
> > + #provider.load_from_data(b'''\
> > + # GtkProgressBar {
> > + # -GtkProgressBar-min-horizontal-bar-height : 10
> > + # }''')
>
> Do delete code rather than comment it out. It's what we have a VCS for :)
>
> It's unclear to me why you're getting rid of this particular block
> though. Is there another means of making the progress bar thin that
> I'm missing?

It was not meant to be in at all.

The progress bar is thin enough by default in light themes:
-GtkProgressBar-min-horizontal-bar-height: 14;

Or should it really be just 10px tall? Every pixel counts, right?!

Revision history for this message
Evan (ev) wrote :

On Tue, Sep 4, 2012 at 3:55 PM, Dmitrijs Ledkovs <email address hidden> wrote:
>> On Tue, Sep 4, 2012 at 3:06 PM, Dmitrijs Ledkovs <email address hidden>
>> wrote:
>> > # Thin progress bar
>> > - provider = Gtk.CssProvider()
>> > - provider.load_from_data(b'''\
>> > - GtkProgressBar {
>> > - -GtkProgressBar-min-horizontal-bar-height : 10
>> > - }''')
>> > + #provider = Gtk.CssProvider()
>> > + #provider.load_from_data(b'''\
>> > + # GtkProgressBar {
>> > + # -GtkProgressBar-min-horizontal-bar-height : 10
>> > + # }''')
>>
>> Do delete code rather than comment it out. It's what we have a VCS for :)
>>
>> It's unclear to me why you're getting rid of this particular block
>> though. Is there another means of making the progress bar thin that
>> I'm missing?
>
> It was not meant to be in at all.
>
> The progress bar is thin enough by default in light themes:
> -GtkProgressBar-min-horizontal-bar-height: 14;
>
> Or should it really be just 10px tall? Every pixel counts, right?!

Yes, this could very well be the themes catching up with the design
that was created for the installer. Michael Forrest created the latter
with input from Marcus and Otto, who in turn were part of the GTK
theme's evolution.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/changelog'
2--- debian/changelog 2012-09-04 13:12:58 +0000
3+++ debian/changelog 2012-09-04 14:05:22 +0000
4@@ -1,3 +1,4 @@
5+<<<<<<< TREE
6 ubiquity (2.11.29) UNRELEASED; urgency=low
7
8 * Fix missing parentheses that caused removable installation media
9@@ -6,6 +7,18 @@
10
11 -- Colin Watson <cjwatson@ubuntu.com> Tue, 04 Sep 2012 12:59:00 +0100
12
13+=======
14+ubiquity (2.11.29) UNRELEASED; urgency=low
15+
16+ * Correctly apply styles to the title & progress sections and not the
17+ centre piece. This means themes are no longer required to provide non
18+ standard @dark_[fb]g_color colors, instead 'menubar' Gtk CSS style is
19+ used. This also fixes long standing a11y issues in HighContrast themes
20+ & requirements for non-standard color definitions. (LP: #744283)
21+
22+ -- Dmitrijs Ledkovs <dmitrij.ledkov@ubuntu.com> Tue, 04 Sep 2012 00:02:20 +0100
23+
24+>>>>>>> MERGE-SOURCE
25 ubiquity (2.11.28) quantal; urgency=low
26
27 * Fix display of installation medium mounted grid. (LP: #1044717)
28
29=== modified file 'gui/gtk/ubiquity.ui'
30--- gui/gtk/ubiquity.ui 2012-02-10 21:13:47 +0000
31+++ gui/gtk/ubiquity.ui 2012-09-04 14:05:22 +0000
32@@ -1,7 +1,51 @@
33 <?xml version="1.0" encoding="UTF-8"?>
34 <interface>
35- <requires lib="gtk+" version="2.24"/>
36- <!-- interface-naming-policy toplevel-contextual -->
37+ <!-- interface-requires gtk+ 3.0 -->
38+ <object class="GtkMenu" id="a11y_indicator_menu">
39+ <property name="can_focus">False</property>
40+ <child>
41+ <object class="GtkMenuItem" id="a11y_high_contrast">
42+ <property name="use_action_appearance">False</property>
43+ <property name="visible">True</property>
44+ <property name="can_focus">False</property>
45+ <property name="label" translatable="yes">_High Contrast</property>
46+ <property name="use_underline">True</property>
47+ <accelerator key="H" signal="activate" modifiers="GDK_CONTROL_MASK"/>
48+ <signal name="activate" handler="a11y_profile_high_contrast_activate" swapped="no"/>
49+ </object>
50+ </child>
51+ <child>
52+ <object class="GtkMenuItem" id="a11y_screen_reader">
53+ <property name="use_action_appearance">False</property>
54+ <property name="visible">True</property>
55+ <property name="can_focus">False</property>
56+ <property name="label" translatable="yes">_Screen Reader</property>
57+ <property name="use_underline">True</property>
58+ <accelerator key="S" signal="activate" modifiers="GDK_CONTROL_MASK"/>
59+ <signal name="activate" handler="a11y_profile_screen_reader_activate" swapped="no"/>
60+ </object>
61+ </child>
62+ <child>
63+ <object class="GtkMenuItem" id="a11y_keyboard_modifiers">
64+ <property name="use_action_appearance">False</property>
65+ <property name="visible">True</property>
66+ <property name="can_focus">False</property>
67+ <property name="label" translatable="yes">_Keyboard Modifiers</property>
68+ <property name="use_underline">True</property>
69+ <signal name="activate" handler="a11y_profile_keyboard_modifiers_activate" swapped="no"/>
70+ </object>
71+ </child>
72+ <child>
73+ <object class="GtkMenuItem" id="a11y_onscreen_keyboard">
74+ <property name="use_action_appearance">False</property>
75+ <property name="visible">True</property>
76+ <property name="can_focus">False</property>
77+ <property name="label" translatable="yes">_On-screen Keyboard</property>
78+ <property name="use_underline">True</property>
79+ <signal name="activate" handler="a11y_profile_onscreen_keyboard_activate" swapped="no"/>
80+ </object>
81+ </child>
82+ </object>
83 <object class="GtkDialog" id="bootloader_fail_dialog">
84 <property name="can_focus">True</property>
85 <property name="border_width">5</property>
86@@ -28,6 +72,7 @@
87 <child>
88 <object class="GtkButton" id="grub_fail_okbutton">
89 <property name="label">gtk-ok</property>
90+ <property name="use_action_appearance">False</property>
91 <property name="visible">True</property>
92 <property name="can_focus">True</property>
93 <property name="receives_default">True</property>
94@@ -131,6 +176,7 @@
95 <child>
96 <object class="GtkRadioButton" id="grub_new_device">
97 <property name="label" translatable="yes">Choose a different device to install the bootloader on:</property>
98+ <property name="use_action_appearance">False</property>
99 <property name="visible">True</property>
100 <property name="can_focus">True</property>
101 <property name="receives_default">False</property>
102@@ -156,6 +202,11 @@
103 <property name="visible">True</property>
104 <property name="can_focus">False</property>
105 <property name="has_entry">True</property>
106+ <child internal-child="entry">
107+ <object class="GtkEntry" id="combobox-entry2">
108+ <property name="can_focus">False</property>
109+ </object>
110+ </child>
111 </object>
112 </child>
113 </object>
114@@ -181,6 +232,7 @@
115 <child>
116 <object class="GtkRadioButton" id="grub_no_new_device">
117 <property name="label" translatable="yes">Continue without a bootloader.</property>
118+ <property name="use_action_appearance">False</property>
119 <property name="visible">True</property>
120 <property name="can_focus">True</property>
121 <property name="receives_default">False</property>
122@@ -258,6 +310,7 @@
123 <child>
124 <object class="GtkRadioButton" id="grub_fail_option">
125 <property name="label" translatable="yes">Cancel the installation.</property>
126+ <property name="use_action_appearance">False</property>
127 <property name="visible">True</property>
128 <property name="can_focus">True</property>
129 <property name="receives_default">False</property>
130@@ -378,6 +431,7 @@
131 <child>
132 <object class="GtkButton" id="closebutton1">
133 <property name="label">gtk-close</property>
134+ <property name="use_action_appearance">False</property>
135 <property name="visible">True</property>
136 <property name="can_focus">True</property>
137 <property name="can_default">True</property>
138@@ -501,6 +555,7 @@
139 <child>
140 <object class="GtkButton" id="quit_button">
141 <property name="label" translatable="yes">Continue using the live CD</property>
142+ <property name="use_action_appearance">False</property>
143 <property name="visible">True</property>
144 <property name="can_focus">True</property>
145 <property name="can_default">True</property>
146@@ -518,6 +573,7 @@
147 <child>
148 <object class="GtkButton" id="reboot_button">
149 <property name="label" translatable="yes">Restart now</property>
150+ <property name="use_action_appearance">False</property>
151 <property name="visible">True</property>
152 <property name="can_focus">True</property>
153 <property name="has_focus">True</property>
154@@ -537,6 +593,7 @@
155 <child>
156 <object class="GtkButton" id="shutdown_button">
157 <property name="label" translatable="yes">Shutdown now</property>
158+ <property name="use_action_appearance">False</property>
159 <property name="visible">True</property>
160 <property name="can_focus">True</property>
161 <property name="can_default">True</property>
162@@ -650,16 +707,22 @@
163 <property name="can_focus">False</property>
164 <property name="orientation">vertical</property>
165 <child>
166- <object class="GtkAlignment" id="title_section">
167+ <object class="GtkEventBox" id="title_eventbox">
168+ <property name="visible">True</property>
169 <property name="can_focus">False</property>
170- <property name="border_width">20</property>
171 <child>
172- <object class="GtkLabel" id="page_title">
173- <property name="visible">True</property>
174+ <object class="GtkAlignment" id="title_section">
175 <property name="can_focus">False</property>
176- <property name="xalign">0</property>
177- <property name="label" translatable="yes">&lt;span size="xx-large"&gt;Page Title&lt;/span&gt;</property>
178- <property name="use_markup">True</property>
179+ <property name="border_width">20</property>
180+ <child>
181+ <object class="GtkLabel" id="page_title">
182+ <property name="visible">True</property>
183+ <property name="can_focus">False</property>
184+ <property name="xalign">0</property>
185+ <property name="label" translatable="yes">&lt;span size="xx-large"&gt;Page Title&lt;/span&gt;</property>
186+ <property name="use_markup">True</property>
187+ </object>
188+ </child>
189 </object>
190 </child>
191 </object>
192@@ -673,6 +736,7 @@
193 <object class="GtkEventBox" id="page_section">
194 <property name="visible">True</property>
195 <property name="can_focus">False</property>
196+ <property name="visible_window">False</property>
197 <child>
198 <object class="GtkBox" id="vbox11">
199 <property name="visible">True</property>
200@@ -752,6 +816,7 @@
201 <child>
202 <object class="GtkButton" id="quit">
203 <property name="label">gtk-quit</property>
204+ <property name="use_action_appearance">False</property>
205 <property name="visible">True</property>
206 <property name="can_focus">True</property>
207 <property name="can_default">True</property>
208@@ -770,6 +835,7 @@
209 <child>
210 <object class="GtkButton" id="back">
211 <property name="label">gtk-go-back</property>
212+ <property name="use_action_appearance">False</property>
213 <property name="visible">True</property>
214 <property name="can_focus">True</property>
215 <property name="can_default">True</property>
216@@ -788,6 +854,7 @@
217 <child>
218 <object class="GtkButton" id="next">
219 <property name="label">Continue</property>
220+ <property name="use_action_appearance">False</property>
221 <property name="visible">True</property>
222 <property name="can_focus">True</property>
223 <property name="can_default">True</property>
224@@ -865,79 +932,86 @@
225 </packing>
226 </child>
227 <child>
228- <object class="GtkAlignment" id="progress_section">
229+ <object class="GtkEventBox" id="progress_eventbox">
230+ <property name="visible">True</property>
231 <property name="can_focus">False</property>
232- <property name="border_width">20</property>
233 <child>
234- <object class="GtkBox" id="vbox1">
235- <property name="visible">True</property>
236+ <object class="GtkAlignment" id="progress_section">
237 <property name="can_focus">False</property>
238- <property name="orientation">vertical</property>
239+ <property name="border_width">20</property>
240 <child>
241- <object class="GtkExpander" id="install_details_expander">
242+ <object class="GtkBox" id="vbox1">
243 <property name="visible">True</property>
244- <property name="can_focus">True</property>
245- <property name="label_fill">True</property>
246+ <property name="can_focus">False</property>
247+ <property name="orientation">vertical</property>
248 <child>
249- <object class="GtkScrolledWindow" id="install_details_sw">
250+ <object class="GtkExpander" id="install_details_expander">
251 <property name="visible">True</property>
252 <property name="can_focus">True</property>
253- <child>
254- <placeholder/>
255- </child>
256- </object>
257- </child>
258- <child type="label">
259- <object class="GtkBox" id="hbox12">
260- <property name="visible">True</property>
261- <property name="can_focus">False</property>
262- <child>
263- <object class="GtkLabel" id="install_progress_text">
264+ <property name="label_fill">True</property>
265+ <child>
266+ <object class="GtkScrolledWindow" id="install_details_sw">
267 <property name="visible">True</property>
268- <property name="can_focus">False</property>
269- <property name="xalign">0</property>
270- <property name="label" translatable="yes">Installing...</property>
271- </object>
272- <packing>
273- <property name="expand">True</property>
274- <property name="fill">True</property>
275- <property name="position">0</property>
276- </packing>
277- </child>
278- <child>
279- <object class="GtkButton" id="progress_cancel_button">
280- <property name="label" translatable="yes">_Skip</property>
281 <property name="can_focus">True</property>
282- <property name="receives_default">True</property>
283- <property name="use_action_appearance">False</property>
284- <property name="use_underline">True</property>
285- <signal name="clicked" handler="on_progress_cancel_button_clicked" swapped="no"/>
286- </object>
287- <packing>
288- <property name="expand">False</property>
289- <property name="fill">True</property>
290- <property name="position">1</property>
291- </packing>
292- </child>
293- </object>
294- </child>
295- </object>
296- <packing>
297- <property name="expand">False</property>
298- <property name="fill">True</property>
299- <property name="position">0</property>
300- </packing>
301- </child>
302- <child>
303- <object class="GtkProgressBar" id="install_progress">
304- <property name="visible">True</property>
305- <property name="can_focus">False</property>
306- </object>
307- <packing>
308- <property name="expand">False</property>
309- <property name="fill">True</property>
310- <property name="position">1</property>
311- </packing>
312+ <child>
313+ <placeholder/>
314+ </child>
315+ </object>
316+ </child>
317+ <child type="label">
318+ <object class="GtkBox" id="hbox12">
319+ <property name="visible">True</property>
320+ <property name="can_focus">False</property>
321+ <child>
322+ <object class="GtkLabel" id="install_progress_text">
323+ <property name="visible">True</property>
324+ <property name="can_focus">False</property>
325+ <property name="xalign">0</property>
326+ <property name="label" translatable="yes">Installing...</property>
327+ </object>
328+ <packing>
329+ <property name="expand">True</property>
330+ <property name="fill">True</property>
331+ <property name="position">0</property>
332+ </packing>
333+ </child>
334+ <child>
335+ <object class="GtkButton" id="progress_cancel_button">
336+ <property name="label" translatable="yes">_Skip</property>
337+ <property name="use_action_appearance">False</property>
338+ <property name="can_focus">True</property>
339+ <property name="receives_default">True</property>
340+ <property name="use_action_appearance">False</property>
341+ <property name="use_underline">True</property>
342+ <signal name="clicked" handler="on_progress_cancel_button_clicked" swapped="no"/>
343+ </object>
344+ <packing>
345+ <property name="expand">False</property>
346+ <property name="fill">True</property>
347+ <property name="position">1</property>
348+ </packing>
349+ </child>
350+ </object>
351+ </child>
352+ </object>
353+ <packing>
354+ <property name="expand">False</property>
355+ <property name="fill">True</property>
356+ <property name="position">0</property>
357+ </packing>
358+ </child>
359+ <child>
360+ <object class="GtkProgressBar" id="install_progress">
361+ <property name="visible">True</property>
362+ <property name="can_focus">False</property>
363+ </object>
364+ <packing>
365+ <property name="expand">False</property>
366+ <property name="fill">True</property>
367+ <property name="position">1</property>
368+ </packing>
369+ </child>
370+ </object>
371 </child>
372 </object>
373 </child>
374@@ -975,6 +1049,7 @@
375 <child>
376 <object class="GtkButton" id="cancelbutton">
377 <property name="label">gtk-cancel</property>
378+ <property name="use_action_appearance">False</property>
379 <property name="visible">True</property>
380 <property name="can_focus">True</property>
381 <property name="can_default">True</property>
382@@ -993,6 +1068,7 @@
383 <child>
384 <object class="GtkButton" id="exitbutton">
385 <property name="label">gtk-quit</property>
386+ <property name="use_action_appearance">False</property>
387 <property name="visible">True</property>
388 <property name="can_focus">True</property>
389 <property name="can_default">True</property>
390@@ -1079,40 +1155,4 @@
391 <action-widget response="-7">exitbutton</action-widget>
392 </action-widgets>
393 </object>
394- <object class="GtkMenu" id="a11y_indicator_menu">
395- <child>
396- <object class="GtkMenuItem" id="a11y_high_contrast">
397- <property name="visible">True</property>
398- <property name="label" translatable="yes">_High Contrast</property>
399- <property name="use_underline">True</property>
400- <accelerator key="H" signal="activate" modifiers="GDK_CONTROL_MASK"/>
401- <signal name="activate" handler="a11y_profile_high_contrast_activate"/>
402- </object>
403- </child>
404- <child>
405- <object class="GtkMenuItem" id="a11y_screen_reader">
406- <property name="visible">True</property>
407- <property name="label" translatable="yes">_Screen Reader</property>
408- <property name="use_underline">True</property>
409- <accelerator key="S" signal="activate" modifiers="GDK_CONTROL_MASK"/>
410- <signal name="activate" handler="a11y_profile_screen_reader_activate"/>
411- </object>
412- </child>
413- <child>
414- <object class="GtkMenuItem" id="a11y_keyboard_modifiers">
415- <property name="visible">True</property>
416- <property name="label" translatable="yes">_Keyboard Modifiers</property>
417- <property name="use_underline">True</property>
418- <signal name="activate" handler="a11y_profile_keyboard_modifiers_activate"/>
419- </object>
420- </child>
421- <child>
422- <object class="GtkMenuItem" id="a11y_onscreen_keyboard">
423- <property name="visible">True</property>
424- <property name="label" translatable="yes">_On-screen Keyboard</property>
425- <property name="use_underline">True</property>
426- <signal name="activate" handler="a11y_profile_onscreen_keyboard_activate"/>
427- </object>
428- </child>
429- </object>
430 </interface>
431
432=== modified file 'ubiquity/frontend/gtk_ui.py'
433--- ubiquity/frontend/gtk_ui.py 2012-08-28 17:08:04 +0000
434+++ ubiquity/frontend/gtk_ui.py 2012-09-04 14:05:22 +0000
435@@ -259,14 +259,14 @@
436 self.set_locales()
437
438 # Thin progress bar
439- provider = Gtk.CssProvider()
440- provider.load_from_data(b'''\
441- GtkProgressBar {
442- -GtkProgressBar-min-horizontal-bar-height : 10
443- }''')
444+ #provider = Gtk.CssProvider()
445+ #provider.load_from_data(b'''\
446+ # GtkProgressBar {
447+ # -GtkProgressBar-min-horizontal-bar-height : 10
448+ # }''')
449
450- Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(),
451- provider, Gtk.STYLE_PROVIDER_PRIORITY_USER)
452+ #Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(),
453+ # provider, Gtk.STYLE_PROVIDER_PRIORITY_USER)
454
455 # load the main interface
456 self.builder.add_from_file('%s/ubiquity.ui' % UIDIR)
457@@ -852,22 +852,11 @@
458
459 self.live_installer.set_default_icon_from_file(os.path.join(PIXMAPS,
460 'ubiquity.png'))
461- provider = Gtk.CssProvider()
462- provider.load_from_data(b'''\
463-#live_installer,
464-#page_title,
465-#install_progress_text,
466-#install_details_expander {
467-color : @dark_fg_color;
468-background-color : @dark_bg_color;
469-}
470-
471-GtkEntry, GtkButton, GtkLabel, GtkIconView, GtkTreeView row, GtkComboBox,
472-GtkDrawingArea {
473-color : @fg_color
474-}''')
475- Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(),
476- provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
477+ for eventbox in ['title_eventbox','progress_eventbox']:
478+ box = self.builder.get_object(eventbox)
479+ style = box.get_style_context()
480+ style.add_class('menubar')
481+
482 # TODO lazy load
483 from gi.repository import Vte
484 self.vte = Vte.Terminal()

Subscribers

People subscribed via source and target branches

to status/vote changes: