Merge lp:~nataliabidart/ubuntuone-control-panel/tweak-overview into lp:ubuntuone-control-panel

Proposed by Natalia Bidart
Status: Merged
Approved by: Natalia Bidart
Approved revision: 98
Merged at revision: 92
Proposed branch: lp:~nataliabidart/ubuntuone-control-panel/tweak-overview
Merge into: lp:ubuntuone-control-panel
Diff against target: 867 lines (+392/-337)
4 files modified
data/management.ui (+85/-108)
data/overview.ui (+292/-225)
ubuntuone/controlpanel/gtk/gui.py (+5/-2)
ubuntuone/controlpanel/gtk/tests/test_gui_basic.py (+10/-2)
To merge this branch: bzr merge lp:~nataliabidart/ubuntuone-control-panel/tweak-overview
Reviewer Review Type Date Requested Status
Martin Albisetti (community) Approve
Roberto Alsina (community) Approve
Review via email: mp+52124@code.launchpad.net

Commit message

- Added new layout and text to overview screen (LP: #728663).
- Removed banner from management panel (LP: #728663).
- Fixed typo on splash screen (LP: #725802).

Description of the change

Screenshot for overview screen is: http://ubuntuone.com/p/fys/

To post a comment you must log in.
95. By Natalia Bidart

Proper logo to music streaming.

96. By Natalia Bidart

Using latest icons.

97. By Natalia Bidart

Merged trunk in.

Revision history for this message
Roberto Alsina (ralsina) wrote :

+1

review: Approve
Revision history for this message
Martin Albisetti (beuno) wrote :

815 + LEARN_MORE_LINK = 'http://one.ubuntu.com/'

I'd change that to https://one.ubuntu.com/, since we redirect http.

Other than that, looks great!

review: Approve
98. By Natalia Bidart

s/http/https

Revision history for this message
Natalia Bidart (nataliabidart) wrote :

Fixed!

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== removed file 'data/banner.png'
0Binary files data/banner.png 2011-02-23 21:23:30 +0000 and data/banner.png 1970-01-01 00:00:00 +0000 differ0Binary files data/banner.png 2011-02-23 21:23:30 +0000 and data/banner.png 1970-01-01 00:00:00 +0000 differ
=== modified file 'data/contacts.png'
1Binary files data/contacts.png 2011-02-11 16:57:09 +0000 and data/contacts.png 2011-03-04 13:50:22 +0000 differ1Binary files data/contacts.png 2011-02-11 16:57:09 +0000 and data/contacts.png 2011-03-04 13:50:22 +0000 differ
=== modified file 'data/files.png'
2Binary files data/files.png 2011-02-11 16:57:09 +0000 and data/files.png 2011-03-04 13:50:22 +0000 differ2Binary files data/files.png 2011-02-11 16:57:09 +0000 and data/files.png 2011-03-04 13:50:22 +0000 differ
=== modified file 'data/management.ui'
--- data/management.ui 2011-02-22 19:28:14 +0000
+++ data/management.ui 2011-03-04 13:50:22 +0000
@@ -50,138 +50,104 @@
50 </packing>50 </packing>
51 </child>51 </child>
52 <child>52 <child>
53 <object class="GtkVBox" id="vbox1">53 <object class="GtkHBox" id="hbox2">
54 <property name="visible">True</property>54 <property name="visible">True</property>
55 <property name="can_focus">False</property>55 <property name="can_focus">False</property>
56 <child>56 <child>
57 <object class="GtkHBox" id="hbox2">57 <object class="GtkHSeparator" id="hseparator1">
58 <property name="visible">True</property>58 <property name="visible">True</property>
59 <property name="can_focus">False</property>59 <property name="can_focus">False</property>
60 </object>
61 <packing>
62 <property name="expand">True</property>
63 <property name="fill">True</property>
64 <property name="position">0</property>
65 </packing>
66 </child>
67 <child>
68 <object class="GtkHButtonBox" id="hbuttonbox1">
69 <property name="visible">True</property>
70 <property name="can_focus">False</property>
71 <property name="layout_style">center</property>
60 <child>72 <child>
61 <object class="GtkHSeparator" id="hseparator1">73 <object class="GtkRadioButton" id="dashboard_button">
74 <property name="label" translatable="yes">Account</property>
62 <property name="visible">True</property>75 <property name="visible">True</property>
63 <property name="can_focus">False</property>76 <property name="can_focus">True</property>
77 <property name="receives_default">False</property>
78 <property name="use_action_appearance">False</property>
79 <property name="active">True</property>
80 <property name="draw_indicator">False</property>
64 </object>81 </object>
65 <packing>82 <packing>
66 <property name="expand">True</property>83 <property name="expand">False</property>
67 <property name="fill">True</property>84 <property name="fill">False</property>
68 <property name="position">0</property>85 <property name="position">0</property>
69 </packing>86 </packing>
70 </child>87 </child>
71 <child>88 <child>
72 <object class="GtkHButtonBox" id="hbuttonbox1">89 <object class="GtkRadioButton" id="volumes_button">
90 <property name="label" translatable="yes">Cloud Folders</property>
73 <property name="visible">True</property>91 <property name="visible">True</property>
74 <property name="can_focus">False</property>92 <property name="can_focus">True</property>
75 <property name="layout_style">center</property>93 <property name="receives_default">False</property>
76 <child>94 <property name="use_action_appearance">False</property>
77 <object class="GtkRadioButton" id="dashboard_button">95 <property name="draw_indicator">False</property>
78 <property name="label" translatable="yes">Account</property>96 <property name="group">dashboard_button</property>
79 <property name="visible">True</property>
80 <property name="can_focus">True</property>
81 <property name="receives_default">False</property>
82 <property name="use_action_appearance">False</property>
83 <property name="active">True</property>
84 <property name="draw_indicator">False</property>
85 </object>
86 <packing>
87 <property name="expand">False</property>
88 <property name="fill">False</property>
89 <property name="position">0</property>
90 </packing>
91 </child>
92 <child>
93 <object class="GtkRadioButton" id="volumes_button">
94 <property name="label" translatable="yes">Cloud Folders</property>
95 <property name="visible">True</property>
96 <property name="can_focus">True</property>
97 <property name="receives_default">False</property>
98 <property name="use_action_appearance">False</property>
99 <property name="draw_indicator">False</property>
100 <property name="group">dashboard_button</property>
101 </object>
102 <packing>
103 <property name="expand">False</property>
104 <property name="fill">False</property>
105 <property name="position">1</property>
106 </packing>
107 </child>
108 <child>
109 <object class="GtkRadioButton" id="shares_button">
110 <property name="label" translatable="yes">Shares</property>
111 <property name="can_focus">True</property>
112 <property name="receives_default">False</property>
113 <property name="use_action_appearance">False</property>
114 <property name="draw_indicator">False</property>
115 <property name="group">dashboard_button</property>
116 </object>
117 <packing>
118 <property name="expand">False</property>
119 <property name="fill">False</property>
120 <property name="position">2</property>
121 </packing>
122 </child>
123 <child>
124 <object class="GtkRadioButton" id="devices_button">
125 <property name="label" translatable="yes">Devices</property>
126 <property name="visible">True</property>
127 <property name="can_focus">True</property>
128 <property name="receives_default">False</property>
129 <property name="use_action_appearance">False</property>
130 <property name="draw_indicator">False</property>
131 <property name="group">dashboard_button</property>
132 </object>
133 <packing>
134 <property name="expand">False</property>
135 <property name="fill">False</property>
136 <property name="position">3</property>
137 </packing>
138 </child>
139 <child>
140 <object class="GtkRadioButton" id="services_button">
141 <property name="label" translatable="yes">Services</property>
142 <property name="visible">True</property>
143 <property name="can_focus">True</property>
144 <property name="receives_default">False</property>
145 <property name="use_action_appearance">False</property>
146 <property name="draw_indicator">False</property>
147 <property name="group">dashboard_button</property>
148 </object>
149 <packing>
150 <property name="expand">False</property>
151 <property name="fill">False</property>
152 <property name="position">4</property>
153 </packing>
154 </child>
155 </object>97 </object>
156 <packing>98 <packing>
157 <property name="expand">False</property>99 <property name="expand">False</property>
158 <property name="fill">True</property>100 <property name="fill">False</property>
159 <property name="position">1</property>101 <property name="position">1</property>
160 </packing>102 </packing>
161 </child>103 </child>
162 <child>104 <child>
163 <object class="GtkHSeparator" id="hseparator2">105 <object class="GtkRadioButton" id="shares_button">
164 <property name="visible">True</property>106 <property name="label" translatable="yes">Shares</property>
165 <property name="can_focus">False</property>107 <property name="can_focus">True</property>
108 <property name="receives_default">False</property>
109 <property name="use_action_appearance">False</property>
110 <property name="draw_indicator">False</property>
111 <property name="group">dashboard_button</property>
166 </object>112 </object>
167 <packing>113 <packing>
168 <property name="expand">True</property>114 <property name="expand">False</property>
169 <property name="fill">True</property>115 <property name="fill">False</property>
170 <property name="position">2</property>116 <property name="position">2</property>
171 </packing>117 </packing>
172 </child>118 </child>
173 </object>119 <child>
174 <packing>120 <object class="GtkRadioButton" id="devices_button">
175 <property name="expand">False</property>121 <property name="label" translatable="yes">Devices</property>
176 <property name="fill">True</property>122 <property name="visible">True</property>
177 <property name="position">0</property>123 <property name="can_focus">True</property>
178 </packing>124 <property name="receives_default">False</property>
179 </child>125 <property name="use_action_appearance">False</property>
180 <child>126 <property name="draw_indicator">False</property>
181 <object class="GtkImage" id="image1">127 <property name="group">dashboard_button</property>
182 <property name="visible">True</property>128 </object>
183 <property name="can_focus">False</property>129 <packing>
184 <property name="pixbuf">banner.png</property>130 <property name="expand">False</property>
131 <property name="fill">False</property>
132 <property name="position">3</property>
133 </packing>
134 </child>
135 <child>
136 <object class="GtkRadioButton" id="services_button">
137 <property name="label" translatable="yes">Services</property>
138 <property name="visible">True</property>
139 <property name="can_focus">True</property>
140 <property name="receives_default">False</property>
141 <property name="use_action_appearance">False</property>
142 <property name="draw_indicator">False</property>
143 <property name="group">dashboard_button</property>
144 </object>
145 <packing>
146 <property name="expand">False</property>
147 <property name="fill">False</property>
148 <property name="position">4</property>
149 </packing>
150 </child>
185 </object>151 </object>
186 <packing>152 <packing>
187 <property name="expand">False</property>153 <property name="expand">False</property>
@@ -189,6 +155,17 @@
189 <property name="position">1</property>155 <property name="position">1</property>
190 </packing>156 </packing>
191 </child>157 </child>
158 <child>
159 <object class="GtkHSeparator" id="hseparator2">
160 <property name="visible">True</property>
161 <property name="can_focus">False</property>
162 </object>
163 <packing>
164 <property name="expand">True</property>
165 <property name="fill">True</property>
166 <property name="position">2</property>
167 </packing>
168 </child>
192 </object>169 </object>
193 <packing>170 <packing>
194 <property name="expand">False</property>171 <property name="expand">False</property>
195172
=== renamed file 'data/music.png' => 'data/music-store.png'
196Binary files data/music.png 2011-02-11 16:57:09 +0000 and data/music-store.png 2011-03-04 13:50:22 +0000 differ173Binary files data/music.png 2011-02-11 16:57:09 +0000 and data/music-store.png 2011-03-04 13:50:22 +0000 differ
=== added file 'data/music-stream.png'
197Binary files data/music-stream.png 1970-01-01 00:00:00 +0000 and data/music-stream.png 2011-03-04 13:50:22 +0000 differ174Binary files data/music-stream.png 1970-01-01 00:00:00 +0000 and data/music-stream.png 2011-03-04 13:50:22 +0000 differ
=== modified file 'data/notes.png'
198Binary files data/notes.png 2011-02-11 16:57:09 +0000 and data/notes.png 2011-03-04 13:50:22 +0000 differ175Binary files data/notes.png 2011-02-11 16:57:09 +0000 and data/notes.png 2011-03-04 13:50:22 +0000 differ
=== modified file 'data/overview.png'
199Binary files data/overview.png 2010-11-30 17:21:15 +0000 and data/overview.png 2011-03-04 13:50:22 +0000 differ176Binary files data/overview.png 2010-11-30 17:21:15 +0000 and data/overview.png 2011-03-04 13:50:22 +0000 differ
=== modified file 'data/overview.ui'
--- data/overview.ui 2011-03-03 13:29:13 +0000
+++ data/overview.ui 2011-03-04 13:50:22 +0000
@@ -6,7 +6,7 @@
6 <property name="visible">True</property>6 <property name="visible">True</property>
7 <property name="can_focus">False</property>7 <property name="can_focus">False</property>
8 <child>8 <child>
9 <object class="GtkEventBox" id="header">9 <object class="GtkEventBox" id="banner">
10 <property name="visible">True</property>10 <property name="visible">True</property>
11 <property name="can_focus">False</property>11 <property name="can_focus">False</property>
12 <child>12 <child>
@@ -35,249 +35,316 @@
35 <property name="can_focus">False</property>35 <property name="can_focus">False</property>
36 <property name="shadow_type">none</property>36 <property name="shadow_type">none</property>
37 <child>37 <child>
38 <object class="GtkHBox" id="hbox1">38 <object class="GtkVBox" id="vbox1">
39 <property name="visible">True</property>39 <property name="visible">True</property>
40 <property name="can_focus">False</property>40 <property name="can_focus">False</property>
41 <property name="border_width">20</property>41 <child>
42 <property name="spacing">5</property>42 <object class="GtkLabel" id="label7">
43 <child>43 <property name="visible">True</property>
44 <object class="GtkTable" id="table1">44 <property name="can_focus">False</property>
45 <property name="visible">True</property>45 <property name="label" translatable="yes">&lt;span font_size="xx-large" foreground="#4d4d4d"&gt;The Power of Your Personal Cloud&lt;/span&gt;</property>
46 <property name="can_focus">False</property>46 <property name="use_markup">True</property>
47 <property name="n_rows">4</property>47 </object>
48 <property name="n_columns">2</property>48 <packing>
49 <property name="column_spacing">10</property>49 <property name="expand">False</property>
50 <property name="row_spacing">10</property>50 <property name="fill">True</property>
51 <child>51 <property name="padding">12</property>
52 <object class="GtkImage" id="image1">52 <property name="position">0</property>
53 <property name="visible">True</property>53 </packing>
54 <property name="can_focus">False</property>54 </child>
55 <property name="pixbuf">files.png</property>55 <child>
56 </object>56 <object class="GtkHBox" id="hbox1">
57 <packing>57 <property name="visible">True</property>
58 <property name="x_options">GTK_FILL</property>58 <property name="can_focus">False</property>
59 <property name="y_options">GTK_FILL</property>59 <property name="border_width">20</property>
60 </packing>60 <property name="spacing">5</property>
61 </child>61 <child>
62 <child>62 <object class="GtkTable" id="table1">
63 <object class="GtkImage" id="image2">63 <property name="visible">True</property>
64 <property name="visible">True</property>64 <property name="can_focus">False</property>
65 <property name="can_focus">False</property>65 <property name="n_rows">4</property>
66 <property name="pixbuf">contacts.png</property>66 <property name="n_columns">2</property>
67 </object>67 <property name="column_spacing">10</property>
68 <packing>68 <child>
69 <property name="top_attach">1</property>69 <object class="GtkImage" id="image1">
70 <property name="bottom_attach">2</property>70 <property name="visible">True</property>
71 <property name="x_options">GTK_FILL</property>71 <property name="can_focus">False</property>
72 <property name="y_options">GTK_FILL</property>72 <property name="pixbuf">files.png</property>
73 </packing>73 </object>
74 </child>74 <packing>
75 <child>75 <property name="x_options">GTK_FILL</property>
76 <object class="GtkImage" id="image3">76 <property name="y_options">GTK_FILL</property>
77 <property name="visible">True</property>77 </packing>
78 <property name="can_focus">False</property>78 </child>
79 <property name="pixbuf">music.png</property>79 <child>
80 </object>80 <object class="GtkImage" id="image2">
81 <packing>81 <property name="visible">True</property>
82 <property name="top_attach">2</property>82 <property name="can_focus">False</property>
83 <property name="bottom_attach">3</property>83 <property name="pixbuf">music-stream.png</property>
84 <property name="x_options">GTK_FILL</property>84 </object>
85 <property name="y_options">GTK_FILL</property>85 <packing>
86 </packing>86 <property name="top_attach">1</property>
87 </child>87 <property name="bottom_attach">2</property>
88 <child>88 <property name="x_options">GTK_FILL</property>
89 <object class="GtkImage" id="image4">89 <property name="y_options">GTK_FILL</property>
90 <property name="visible">True</property>90 </packing>
91 <property name="can_focus">False</property>91 </child>
92 <property name="pixbuf">notes.png</property>92 <child>
93 </object>93 <object class="GtkImage" id="image3">
94 <packing>94 <property name="visible">True</property>
95 <property name="top_attach">3</property>95 <property name="can_focus">False</property>
96 <property name="bottom_attach">4</property>96 <property name="pixbuf">contacts.png</property>
97 <property name="x_options">GTK_FILL</property>97 </object>
98 <property name="y_options">GTK_FILL</property>98 <packing>
99 </packing>99 <property name="top_attach">2</property>
100 </child>100 <property name="bottom_attach">3</property>
101 <child>101 <property name="x_options">GTK_FILL</property>
102 <object class="GtkLabel" id="label3">102 <property name="y_options">GTK_FILL</property>
103 <property name="visible">True</property>103 </packing>
104 <property name="can_focus">False</property>104 </child>
105 <property name="xalign">0</property>105 <child>
106 <property name="label" translatable="yes">Files Anywhere106 <object class="GtkImage" id="image4">
107&lt;span foreground="#909090"&gt;Backup and access your files from Windows, Ubuntu, or Mobile&lt;/span&gt;</property>107 <property name="visible">True</property>
108 <property name="use_markup">True</property>108 <property name="can_focus">False</property>
109 <property name="wrap">True</property>109 <property name="pixbuf">notes.png</property>
110 </object>110 </object>
111 <packing>111 <packing>
112 <property name="left_attach">1</property>112 <property name="top_attach">3</property>
113 <property name="right_attach">2</property>113 <property name="bottom_attach">4</property>
114 </packing>114 <property name="x_options">GTK_FILL</property>
115 </child>115 <property name="y_options">GTK_FILL</property>
116 <child>116 </packing>
117 <object class="GtkLabel" id="label4">117 </child>
118 <property name="visible">True</property>118 <child>
119 <property name="can_focus">False</property>119 <object class="GtkLabel" id="label3">
120 <property name="xalign">0</property>120 <property name="visible">True</property>
121 <property name="label" translatable="yes">Keep connected121 <property name="can_focus">False</property>
122&lt;span foreground="#909090"&gt;Unify your contacts accress Desktop, Mobile and Web&lt;/span&gt;</property>122 <property name="xalign">0</property>
123 <property name="use_markup">True</property>123 <property name="label" translatable="yes">Files Anywhere
124 <property name="wrap">True</property>124&lt;span foreground="#909090"&gt;Backup and access your files from Ubuntu, Windows or Mobile&lt;/span&gt;</property>
125 </object>125 <property name="use_markup">True</property>
126 <packing>126 <property name="wrap">True</property>
127 <property name="left_attach">1</property>127 </object>
128 <property name="right_attach">2</property>128 <packing>
129 <property name="top_attach">1</property>129 <property name="left_attach">1</property>
130 <property name="bottom_attach">2</property>130 <property name="right_attach">2</property>
131 </packing>131 </packing>
132 </child>132 </child>
133 <child>133 <child>
134 <object class="GtkLabel" id="label5">134 <object class="GtkLabel" id="label4">
135 <property name="visible">True</property>135 <property name="visible">True</property>
136 <property name="can_focus">False</property>136 <property name="can_focus">False</property>
137 <property name="xalign">0</property>137 <property name="xalign">0</property>
138 <property name="label" translatable="yes">Rock Out138 <property name="label" translatable="yes">Keep Connected
139&lt;span foreground="#909090"&gt;Your library at your fingertips with Android, iPhone, and AirPlay139&lt;span foreground="#909090"&gt;Unify your contacts across Desktop, Mobile and Web&lt;/span&gt;</property>
140Plus the Ubuntu One Music store to grow your collection&lt;/span&gt;</property>140 <property name="use_markup">True</property>
141 <property name="use_markup">True</property>141 <property name="wrap">True</property>
142 <property name="wrap">True</property>142 </object>
143 </object>143 <packing>
144 <packing>144 <property name="left_attach">1</property>
145 <property name="left_attach">1</property>145 <property name="right_attach">2</property>
146 <property name="right_attach">2</property>146 <property name="top_attach">2</property>
147 <property name="top_attach">2</property>147 <property name="bottom_attach">3</property>
148 <property name="bottom_attach">3</property>148 </packing>
149 </packing>149 </child>
150 </child>150 <child>
151 <child>151 <object class="GtkLabel" id="label5">
152 <object class="GtkLabel" id="label6">152 <property name="visible">True</property>
153 <property name="visible">True</property>153 <property name="can_focus">False</property>
154 <property name="can_focus">False</property>154 <property name="xalign">0</property>
155 <property name="xalign">0</property>155 <property name="label" translatable="yes">Rock Out
156 <property name="label" translatable="yes">Stay Productive156&lt;span foreground="#909090"&gt;Your entire collection follows you around with music streaming to Android and iPhone&lt;/span&gt;</property>
157 <property name="use_markup">True</property>
158 <property name="wrap">True</property>
159 </object>
160 <packing>
161 <property name="left_attach">1</property>
162 <property name="right_attach">2</property>
163 <property name="top_attach">1</property>
164 <property name="bottom_attach">2</property>
165 </packing>
166 </child>
167 <child>
168 <object class="GtkLabel" id="label6">
169 <property name="visible">True</property>
170 <property name="can_focus">False</property>
171 <property name="xalign">0</property>
172 <property name="label" translatable="yes">Stay Productive
157&lt;span foreground="#909090"&gt;Keep your Firefox bookmarks and Tomboy notes synced&lt;/span&gt;</property>173&lt;span foreground="#909090"&gt;Keep your Firefox bookmarks and Tomboy notes synced&lt;/span&gt;</property>
158 <property name="use_markup">True</property>174 <property name="use_markup">True</property>
159 <property name="wrap">True</property>175 <property name="wrap">True</property>
176 </object>
177 <packing>
178 <property name="left_attach">1</property>
179 <property name="right_attach">2</property>
180 <property name="top_attach">3</property>
181 <property name="bottom_attach">4</property>
182 </packing>
183 </child>
160 </object>184 </object>
161 <packing>185 <packing>
162 <property name="left_attach">1</property>186 <property name="expand">True</property>
163 <property name="right_attach">2</property>187 <property name="fill">True</property>
164 <property name="top_attach">3</property>188 <property name="position">0</property>
165 <property name="bottom_attach">4</property>
166 </packing>189 </packing>
167 </child>190 </child>
168 </object>
169 <packing>
170 <property name="expand">True</property>
171 <property name="fill">True</property>
172 <property name="position">0</property>
173 </packing>
174 </child>
175 <child>
176 <object class="GtkVBox" id="vbox1">
177 <property name="visible">True</property>
178 <property name="can_focus">False</property>
179 <child>191 <child>
180 <object class="GtkLabel" id="warning_label">192 <object class="GtkVBox" id="vbox2">
181 <property name="visible">True</property>193 <property name="visible">True</property>
182 <property name="can_focus">False</property>194 <property name="can_focus">False</property>
183 <property name="label">A warning label that can be long. Possible really long, let's see how it behaves.</property>195 <child>
184 <property name="use_markup">True</property>196 <object class="GtkLabel" id="warning_label">
185 <property name="wrap">True</property>197 <property name="visible">True</property>
186 <property name="width_chars">30</property>198 <property name="can_focus">False</property>
199 <property name="label">A warning label that can be long. Possible really long, let's see how it behaves.</property>
200 <property name="wrap">True</property>
201 </object>
202 <packing>
203 <property name="expand">False</property>
204 <property name="fill">True</property>
205 <property name="position">0</property>
206 </packing>
207 </child>
208 <child>
209 <object class="GtkAlignment" id="alignment2">
210 <property name="visible">True</property>
211 <property name="can_focus">False</property>
212 <property name="xscale">0</property>
213 <property name="yscale">0</property>
214 <child>
215 <object class="GtkVBox" id="vbox3">
216 <property name="visible">True</property>
217 <property name="can_focus">False</property>
218 <property name="spacing">10</property>
219 <child>
220 <object class="GtkButton" id="learn_more_button">
221 <property name="visible">True</property>
222 <property name="can_focus">True</property>
223 <property name="receives_default">True</property>
224 <property name="use_action_appearance">False</property>
225 <signal name="clicked" handler="on_learn_more_button_clicked" swapped="no"/>
226 <child>
227 <object class="GtkVBox" id="vbox5">
228 <property name="visible">True</property>
229 <property name="can_focus">False</property>
230 <child>
231 <object class="GtkImage" id="image5">
232 <property name="visible">True</property>
233 <property name="can_focus">False</property>
234 <property name="pixel_size">45</property>
235 <property name="icon_name">ubuntuone</property>
236 </object>
237 <packing>
238 <property name="expand">True</property>
239 <property name="fill">True</property>
240 <property name="position">0</property>
241 </packing>
242 </child>
243 <child>
244 <object class="GtkLabel" id="label8">
245 <property name="visible">True</property>
246 <property name="can_focus">False</property>
247 <property name="label" translatable="yes">&lt;span foreground="#909090"&gt;Learn More&lt;/span&gt;</property>
248 <property name="use_markup">True</property>
249 </object>
250 <packing>
251 <property name="expand">True</property>
252 <property name="fill">True</property>
253 <property name="position">1</property>
254 </packing>
255 </child>
256 </object>
257 </child>
258 </object>
259 <packing>
260 <property name="expand">True</property>
261 <property name="fill">True</property>
262 <property name="position">0</property>
263 </packing>
264 </child>
265 <child>
266 <object class="GtkButton" id="join_now_button">
267 <property name="visible">True</property>
268 <property name="can_focus">True</property>
269 <property name="can_default">True</property>
270 <property name="receives_default">True</property>
271 <property name="use_action_appearance">False</property>
272 <signal name="clicked" handler="on_join_now_button_clicked" swapped="no"/>
273 <child>
274 <object class="GtkVBox" id="vbox4">
275 <property name="visible">True</property>
276 <property name="can_focus">False</property>
277 <property name="spacing">5</property>
278 <child>
279 <object class="GtkLabel" id="label1">
280 <property name="visible">True</property>
281 <property name="can_focus">False</property>
282 <property name="label" translatable="yes">&lt;span font_size="xx-large" foreground="#4d4d4d"&gt;Join now&lt;/span&gt;</property>
283 <property name="use_markup">True</property>
284 </object>
285 <packing>
286 <property name="expand">True</property>
287 <property name="fill">True</property>
288 <property name="position">0</property>
289 </packing>
290 </child>
291 <child>
292 <object class="GtkLabel" id="label2">
293 <property name="visible">True</property>
294 <property name="can_focus">False</property>
295 <property name="label" translatable="yes">&lt;span foreground="#909090"&gt;2GB of free storage&lt;/span&gt;</property>
296 <property name="use_markup">True</property>
297 </object>
298 <packing>
299 <property name="expand">True</property>
300 <property name="fill">True</property>
301 <property name="position">1</property>
302 </packing>
303 </child>
304 </object>
305 </child>
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 <child>
314 <object class="GtkLinkButton" id="connect_button">
315 <property name="label" translatable="yes">I already have an account!</property>
316 <property name="visible">True</property>
317 <property name="can_focus">True</property>
318 <property name="receives_default">True</property>
319 <property name="use_action_appearance">False</property>
320 <property name="relief">none</property>
321 <signal name="clicked" handler="on_connect_button_clicked" swapped="no"/>
322 </object>
323 <packing>
324 <property name="expand">False</property>
325 <property name="fill">False</property>
326 <property name="position">2</property>
327 </packing>
328 </child>
329 </object>
330 </child>
331 </object>
332 <packing>
333 <property name="expand">True</property>
334 <property name="fill">True</property>
335 <property name="position">1</property>
336 </packing>
337 </child>
187 </object>338 </object>
188 <packing>339 <packing>
189 <property name="expand">False</property>340 <property name="expand">False</property>
190 <property name="fill">True</property>341 <property name="fill">True</property>
191 <property name="position">0</property>
192 </packing>
193 </child>
194 <child>
195 <object class="GtkAlignment" id="alignment2">
196 <property name="visible">True</property>
197 <property name="can_focus">False</property>
198 <property name="xscale">0</property>
199 <property name="yscale">0</property>
200 <child>
201 <object class="GtkVBox" id="vbox2">
202 <property name="visible">True</property>
203 <property name="can_focus">False</property>
204 <property name="spacing">10</property>
205 <child>
206 <object class="GtkButton" id="join_now_button">
207 <property name="visible">True</property>
208 <property name="can_focus">True</property>
209 <property name="can_default">True</property>
210 <property name="receives_default">True</property>
211 <property name="use_action_appearance">False</property>
212 <signal name="clicked" handler="on_join_now_button_clicked" swapped="no"/>
213 <child>
214 <object class="GtkVBox" id="vbox3">
215 <property name="visible">True</property>
216 <property name="can_focus">False</property>
217 <property name="spacing">5</property>
218 <child>
219 <object class="GtkLabel" id="label1">
220 <property name="visible">True</property>
221 <property name="can_focus">False</property>
222 <property name="label" translatable="yes">&lt;span font_size="xx-large"&gt;Join now&lt;/span&gt;</property>
223 <property name="use_markup">True</property>
224 </object>
225 <packing>
226 <property name="expand">True</property>
227 <property name="fill">True</property>
228 <property name="position">0</property>
229 </packing>
230 </child>
231 <child>
232 <object class="GtkLabel" id="label2">
233 <property name="visible">True</property>
234 <property name="can_focus">False</property>
235 <property name="label" translatable="yes">&lt;span foreground="#909090"&gt;2GB of free storage&lt;/span&gt;</property>
236 <property name="use_markup">True</property>
237 </object>
238 <packing>
239 <property name="expand">True</property>
240 <property name="fill">True</property>
241 <property name="position">1</property>
242 </packing>
243 </child>
244 </object>
245 </child>
246 </object>
247 <packing>
248 <property name="expand">False</property>
249 <property name="fill">True</property>
250 <property name="position">0</property>
251 </packing>
252 </child>
253 <child>
254 <object class="GtkLinkButton" id="connect_button">
255 <property name="label" translatable="yes">I already have an account!</property>
256 <property name="visible">True</property>
257 <property name="can_focus">True</property>
258 <property name="receives_default">True</property>
259 <property name="use_action_appearance">False</property>
260 <property name="relief">none</property>
261 <signal name="clicked" handler="on_connect_button_clicked" swapped="no"/>
262 </object>
263 <packing>
264 <property name="expand">False</property>
265 <property name="fill">False</property>
266 <property name="position">1</property>
267 </packing>
268 </child>
269 </object>
270 </child>
271 </object>
272 <packing>
273 <property name="expand">True</property>
274 <property name="fill">True</property>
275 <property name="position">1</property>342 <property name="position">1</property>
276 </packing>343 </packing>
277 </child>344 </child>
278 </object>345 </object>
279 <packing>346 <packing>
280 <property name="expand">False</property>347 <property name="expand">True</property>
281 <property name="fill">True</property>348 <property name="fill">True</property>
282 <property name="position">1</property>349 <property name="position">1</property>
283 </packing>350 </packing>
284351
=== modified file 'ubuntuone/controlpanel/gtk/gui.py'
--- ubuntuone/controlpanel/gtk/gui.py 2011-03-03 18:14:30 +0000
+++ ubuntuone/controlpanel/gtk/gui.py 2011-03-04 13:50:22 +0000
@@ -210,10 +210,10 @@
210210
211 CREDENTIALS_ERROR = _('There was a problem while retrieving the '211 CREDENTIALS_ERROR = _('There was a problem while retrieving the '
212 'credentials.')212 'credentials.')
213 AUTHORIZATION_DENIED = _('The authentication was cancelled.')
214 NETWORK_OFFLINE = _('An internet connection is required to join or sign '213 NETWORK_OFFLINE = _('An internet connection is required to join or sign '
215 'in to %(app_name)s.')214 'in to %(app_name)s.')
216 CONNECT = _('Connect to Ubuntu One')215 CONNECT = _('Connect to Ubuntu One')
216 LEARN_MORE_LINK = 'https://one.ubuntu.com/'
217217
218 def __init__(self, main_window):218 def __init__(self, main_window):
219 GreyableBin.__init__(self)219 GreyableBin.__init__(self)
@@ -296,6 +296,10 @@
296 self.set_property('greyed', True)296 self.set_property('greyed', True)
297 self.warning_label.set_text('')297 self.warning_label.set_text('')
298298
299 def on_learn_more_button_clicked(self, *a, **kw):
300 """User wants to learn more."""
301 uri_hook(self.learn_more_button, self.LEARN_MORE_LINK)
302
299 @filter_by_app_name303 @filter_by_app_name
300 @log_call(logger.info, with_args=False)304 @log_call(logger.info, with_args=False)
301 def on_credentials_found(self, app_name, credentials):305 def on_credentials_found(self, app_name, credentials):
@@ -322,7 +326,6 @@
322 def on_authorization_denied(self, app_name):326 def on_authorization_denied(self, app_name):
323 """SSO backend notifies that user refused auth for 'app_name'."""327 """SSO backend notifies that user refused auth for 'app_name'."""
324 self.set_property('greyed', False)328 self.set_property('greyed', False)
325 self._set_warning(self.AUTHORIZATION_DENIED)
326329
327 @log_call(logger.info)330 @log_call(logger.info)
328 def on_network_state_changed(self, state):331 def on_network_state_changed(self, state):
329332
=== modified file 'ubuntuone/controlpanel/gtk/tests/test_gui_basic.py'
--- ubuntuone/controlpanel/gtk/tests/test_gui_basic.py 2011-03-03 18:12:33 +0000
+++ ubuntuone/controlpanel/gtk/tests/test_gui_basic.py 2011-03-04 13:50:22 +0000
@@ -426,8 +426,8 @@
426 """Callback 'on_authorization_denied' is correct."""426 """Callback 'on_authorization_denied' is correct."""
427 self.ui.on_authorization_denied(gui.U1_APP_NAME)427 self.ui.on_authorization_denied(gui.U1_APP_NAME)
428 self.assertTrue(self.ui.get_visible())428 self.assertTrue(self.ui.get_visible())
429 self.assert_warning_correct(self.ui.warning_label,429 self.assertFalse(self.ui.get_property('greyed'), 'Must not be greyed.')
430 self.ui.AUTHORIZATION_DENIED)430 self.assertEqual(self.ui.warning_label.get_text(), '')
431431
432432
433class OverwiewPanelAppNameMismatchTestCase(OverwiewPanelTestCase):433class OverwiewPanelAppNameMismatchTestCase(OverwiewPanelTestCase):
@@ -549,6 +549,14 @@
549549
550 self.assertEqual(self.ui.warning_label.get_text(), '')550 self.assertEqual(self.ui.warning_label.get_text(), '')
551551
552 def test_learn_more_button_clicked(self):
553 """Test the 'learn more' button callback."""
554 self.patch(gui, 'uri_hook', self._set_called)
555 self.ui.learn_more_button.clicked()
556
557 expected = (self.ui.learn_more_button, self.ui.LEARN_MORE_LINK)
558 self.assertEqual(self._called, (expected, {}))
559
552 def test_on_credentials_not_found_unset_greyed(self):560 def test_on_credentials_not_found_unset_greyed(self):
553 """Callback 'on_credentials_not_found' unsets the 'greyed' prop."""561 """Callback 'on_credentials_not_found' unsets the 'greyed' prop."""
554 self.ui.connect_button.clicked()562 self.ui.connect_button.clicked()

Subscribers

People subscribed via source and target branches