Merge lp:~chipaca/ubuntuone-control-panel/diego-sarmentero-delivers into lp:ubuntuone-control-panel
- diego-sarmentero-delivers
- Merge into trunk
Status: | Rejected |
---|---|
Rejected by: | dobey |
Proposed branch: | lp:~chipaca/ubuntuone-control-panel/diego-sarmentero-delivers |
Merge into: | lp:ubuntuone-control-panel |
Diff against target: |
1281 lines (+908/-162) 10 files modified
data/qt/connectingwidget.ui (+123/-0) data/qt/controlpanel.ui (+495/-148) data/qt/images.qrc (+6/-0) data/qt/mainwindow.ui (+13/-1) data/qt/preferences.ui (+34/-9) ubuntuone/controlpanel/gui/__init__.py (+4/-2) ubuntuone/controlpanel/gui/qt/connectingwidget.py (+74/-0) ubuntuone/controlpanel/gui/qt/controlpanel.py (+4/-2) ubuntuone/controlpanel/gui/qt/main/ubuntuone.qss (+145/-0) ubuntuone/controlpanel/gui/qt/main/windows.py (+10/-0) |
To merge this branch: | bzr merge lp:~chipaca/ubuntuone-control-panel/diego-sarmentero-delivers |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
dobey (community) | Needs Resubmitting | ||
Roberto Alsina (community) | Approve | ||
John Lenton (community) | Approve | ||
Review via email: mp+66803@code.launchpad.net |
Commit message
Diego Sarmentero’s initial styling work
Description of the change
Diego Sarmentero’s initial styling work
Ubuntu One Auto Pilot (otto-pilot) wrote : | # |
The attempt to merge lp:~chipaca/ubuntuone-control-panel/diego-sarmentero-delivers into lp:ubuntuone-control-panel failed. Below is the output from the failed tests.
running build
Compiled data/qt/device.ui into ubuntuone/
Compiled data/qt/
Compiled data/qt/
Compiled data/qt/folders.ui into ubuntuone/
Compiled data/qt/devices.ui into ubuntuone/
Compiled data/qt/
compiled data/qt/images.qrc into ubuntuone/
Compiled data/qt/
Compiled data/qt/
Compiled data/qt/services.ui into ubuntuone/
Compiled data/qt/
Compiled data/qt/profile.ui into ubuntuone/
running build_py
creating build
creating build/lib.
creating build/lib.
copying ubuntuone/
creating build/lib.
copying ubuntuone/
copying ubuntuone/
copying ubuntuone/
copying ubuntuone/
copying ubuntuone/
copying ubuntuone/
copying ubuntuone/
creating build/lib.
copying ubuntuone/
creating build/lib.
copying ubuntuone/
copying ubuntuone/
copying ubuntuone/
copying ubuntuone/
creating build/lib.
copying ubuntuone/
copying ubuntuone/
copying ubuntuone/
copying ubuntuone/co...
Ubuntu One Auto Pilot (otto-pilot) wrote : | # |
The attempt to merge lp:~chipaca/ubuntuone-control-panel/diego-sarmentero-delivers into lp:ubuntuone-control-panel failed. Below is the output from the failed tests.
running build
Compiled data/qt/device.ui into ubuntuone/
Compiled data/qt/
Compiled data/qt/
Compiled data/qt/folders.ui into ubuntuone/
Compiled data/qt/devices.ui into ubuntuone/
Compiled data/qt/
compiled data/qt/images.qrc into ubuntuone/
Compiled data/qt/
Compiled data/qt/
Compiled data/qt/services.ui into ubuntuone/
Compiled data/qt/
Compiled data/qt/profile.ui into ubuntuone/
running build_py
creating build
creating build/lib.
creating build/lib.
copying ubuntuone/
creating build/lib.
copying ubuntuone/
copying ubuntuone/
copying ubuntuone/
copying ubuntuone/
copying ubuntuone/
copying ubuntuone/
copying ubuntuone/
creating build/lib.
copying ubuntuone/
creating build/lib.
copying ubuntuone/
copying ubuntuone/
copying ubuntuone/
copying ubuntuone/
creating build/lib.
copying ubuntuone/
copying ubuntuone/
copying ubuntuone/
copying ubuntuone/co...
- 177. By John Lenton
-
couple of cleanups to diego’s work
Unmerged revisions
- 177. By John Lenton
-
couple of cleanups to diego’s work
- 176. By John Lenton
-
DiegoSarmentero’s initial styling work (#2)
- 175. By John Lenton
-
DiegoSarmentero’s initial styling work (awesome).
Preview Diff
1 | === added file 'data/external_icon_orange.png' | |||
2 | 0 | Binary files data/external_icon_orange.png 1970-01-01 00:00:00 +0000 and data/external_icon_orange.png 2011-07-05 10:27:59 +0000 differ | 0 | Binary files data/external_icon_orange.png 1970-01-01 00:00:00 +0000 and data/external_icon_orange.png 2011-07-05 10:27:59 +0000 differ |
3 | === added file 'data/external_icon_white.png' | |||
4 | 1 | Binary files data/external_icon_white.png 1970-01-01 00:00:00 +0000 and data/external_icon_white.png 2011-07-05 10:27:59 +0000 differ | 1 | Binary files data/external_icon_white.png 1970-01-01 00:00:00 +0000 and data/external_icon_white.png 2011-07-05 10:27:59 +0000 differ |
5 | === added file 'data/qt/connectingwidget.ui' | |||
6 | --- data/qt/connectingwidget.ui 1970-01-01 00:00:00 +0000 | |||
7 | +++ data/qt/connectingwidget.ui 2011-07-05 10:27:59 +0000 | |||
8 | @@ -0,0 +1,123 @@ | |||
9 | 1 | <?xml version="1.0" encoding="UTF-8"?> | ||
10 | 2 | <ui version="4.0"> | ||
11 | 3 | <class>Frame</class> | ||
12 | 4 | <widget class="QFrame" name="Frame"> | ||
13 | 5 | <property name="geometry"> | ||
14 | 6 | <rect> | ||
15 | 7 | <x>0</x> | ||
16 | 8 | <y>0</y> | ||
17 | 9 | <width>702</width> | ||
18 | 10 | <height>230</height> | ||
19 | 11 | </rect> | ||
20 | 12 | </property> | ||
21 | 13 | <property name="windowTitle"> | ||
22 | 14 | <string>Frame</string> | ||
23 | 15 | </property> | ||
24 | 16 | <property name="frameShape"> | ||
25 | 17 | <enum>QFrame::StyledPanel</enum> | ||
26 | 18 | </property> | ||
27 | 19 | <property name="frameShadow"> | ||
28 | 20 | <enum>QFrame::Raised</enum> | ||
29 | 21 | </property> | ||
30 | 22 | <layout class="QVBoxLayout" name="verticalLayout"> | ||
31 | 23 | <item> | ||
32 | 24 | <layout class="QHBoxLayout" name="horizontalLayout_2"> | ||
33 | 25 | <item> | ||
34 | 26 | <spacer name="horizontalSpacer_2"> | ||
35 | 27 | <property name="orientation"> | ||
36 | 28 | <enum>Qt::Horizontal</enum> | ||
37 | 29 | </property> | ||
38 | 30 | <property name="sizeHint" stdset="0"> | ||
39 | 31 | <size> | ||
40 | 32 | <width>40</width> | ||
41 | 33 | <height>20</height> | ||
42 | 34 | </size> | ||
43 | 35 | </property> | ||
44 | 36 | </spacer> | ||
45 | 37 | </item> | ||
46 | 38 | <item> | ||
47 | 39 | <widget class="QFrame" name="frmBox"> | ||
48 | 40 | <property name="minimumSize"> | ||
49 | 41 | <size> | ||
50 | 42 | <width>0</width> | ||
51 | 43 | <height>102</height> | ||
52 | 44 | </size> | ||
53 | 45 | </property> | ||
54 | 46 | <property name="styleSheet"> | ||
55 | 47 | <string notr="true">QFrame#frmBox { | ||
56 | 48 | background: #ffffff; | ||
57 | 49 | border-radius: 5px; | ||
58 | 50 | border-style: solid; | ||
59 | 51 | border-color: #939389; | ||
60 | 52 | border-width: 1px; | ||
61 | 53 | color: white; | ||
62 | 54 | min-height: 100px; | ||
63 | 55 | }</string> | ||
64 | 56 | </property> | ||
65 | 57 | <property name="frameShape"> | ||
66 | 58 | <enum>QFrame::StyledPanel</enum> | ||
67 | 59 | </property> | ||
68 | 60 | <property name="frameShadow"> | ||
69 | 61 | <enum>QFrame::Raised</enum> | ||
70 | 62 | </property> | ||
71 | 63 | <layout class="QHBoxLayout" name="horizontalLayout"> | ||
72 | 64 | <property name="topMargin"> | ||
73 | 65 | <number>0</number> | ||
74 | 66 | </property> | ||
75 | 67 | <property name="bottomMargin"> | ||
76 | 68 | <number>30</number> | ||
77 | 69 | </property> | ||
78 | 70 | <item> | ||
79 | 71 | <widget class="QLabel" name="label"> | ||
80 | 72 | <property name="sizePolicy"> | ||
81 | 73 | <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> | ||
82 | 74 | <horstretch>0</horstretch> | ||
83 | 75 | <verstretch>0</verstretch> | ||
84 | 76 | </sizepolicy> | ||
85 | 77 | </property> | ||
86 | 78 | <property name="font"> | ||
87 | 79 | <font> | ||
88 | 80 | <pointsize>14</pointsize> | ||
89 | 81 | </font> | ||
90 | 82 | </property> | ||
91 | 83 | <property name="text"> | ||
92 | 84 | <string>Please wait while we connect to the Ubuntu One server...</string> | ||
93 | 85 | </property> | ||
94 | 86 | </widget> | ||
95 | 87 | </item> | ||
96 | 88 | </layout> | ||
97 | 89 | </widget> | ||
98 | 90 | </item> | ||
99 | 91 | <item> | ||
100 | 92 | <spacer name="horizontalSpacer"> | ||
101 | 93 | <property name="orientation"> | ||
102 | 94 | <enum>Qt::Horizontal</enum> | ||
103 | 95 | </property> | ||
104 | 96 | <property name="sizeHint" stdset="0"> | ||
105 | 97 | <size> | ||
106 | 98 | <width>40</width> | ||
107 | 99 | <height>20</height> | ||
108 | 100 | </size> | ||
109 | 101 | </property> | ||
110 | 102 | </spacer> | ||
111 | 103 | </item> | ||
112 | 104 | </layout> | ||
113 | 105 | </item> | ||
114 | 106 | <item> | ||
115 | 107 | <spacer name="verticalSpacer"> | ||
116 | 108 | <property name="orientation"> | ||
117 | 109 | <enum>Qt::Vertical</enum> | ||
118 | 110 | </property> | ||
119 | 111 | <property name="sizeHint" stdset="0"> | ||
120 | 112 | <size> | ||
121 | 113 | <width>20</width> | ||
122 | 114 | <height>20</height> | ||
123 | 115 | </size> | ||
124 | 116 | </property> | ||
125 | 117 | </spacer> | ||
126 | 118 | </item> | ||
127 | 119 | </layout> | ||
128 | 120 | </widget> | ||
129 | 121 | <resources/> | ||
130 | 122 | <connections/> | ||
131 | 123 | </ui> | ||
132 | 0 | 124 | ||
133 | === modified file 'data/qt/controlpanel.ui' | |||
134 | --- data/qt/controlpanel.ui 2011-06-21 22:46:08 +0000 | |||
135 | +++ data/qt/controlpanel.ui 2011-07-05 10:27:59 +0000 | |||
136 | @@ -6,8 +6,8 @@ | |||
137 | 6 | <rect> | 6 | <rect> |
138 | 7 | <x>0</x> | 7 | <x>0</x> |
139 | 8 | <y>0</y> | 8 | <y>0</y> |
142 | 9 | <width>374</width> | 9 | <width>536</width> |
143 | 10 | <height>172</height> | 10 | <height>284</height> |
144 | 11 | </rect> | 11 | </rect> |
145 | 12 | </property> | 12 | </property> |
146 | 13 | <property name="sizePolicy"> | 13 | <property name="sizePolicy"> |
147 | @@ -19,77 +19,365 @@ | |||
148 | 19 | <property name="windowTitle"> | 19 | <property name="windowTitle"> |
149 | 20 | <string notr="true">Form</string> | 20 | <string notr="true">Form</string> |
150 | 21 | </property> | 21 | </property> |
151 | 22 | <property name="styleSheet"> | ||
152 | 23 | <string notr="true"/> | ||
153 | 24 | </property> | ||
154 | 22 | <layout class="QVBoxLayout" name="verticalLayout"> | 25 | <layout class="QVBoxLayout" name="verticalLayout"> |
225 | 23 | <item> | 26 | <property name="spacing"> |
226 | 24 | <layout class="QHBoxLayout" name="horizontalLayout"> | 27 | <number>4</number> |
227 | 25 | <item> | 28 | </property> |
228 | 26 | <widget class="QLabel" name="greeting_label"> | 29 | <property name="margin"> |
229 | 27 | <property name="text"> | 30 | <number>0</number> |
230 | 28 | <string notr="true"/> | 31 | </property> |
231 | 29 | </property> | 32 | <item> |
232 | 30 | </widget> | 33 | <widget class="QFrame" name="frmHeader"> |
233 | 31 | </item> | 34 | <property name="frameShape"> |
234 | 32 | <item> | 35 | <enum>QFrame::StyledPanel</enum> |
235 | 33 | <spacer name="horizontalSpacer"> | 36 | </property> |
236 | 34 | <property name="orientation"> | 37 | <property name="frameShadow"> |
237 | 35 | <enum>Qt::Horizontal</enum> | 38 | <enum>QFrame::Raised</enum> |
238 | 36 | </property> | 39 | </property> |
239 | 37 | <property name="sizeHint" stdset="0"> | 40 | <layout class="QHBoxLayout" name="horizontalLayout_4"> |
240 | 38 | <size> | 41 | <property name="spacing"> |
241 | 39 | <width>40</width> | 42 | <number>0</number> |
242 | 40 | <height>20</height> | 43 | </property> |
243 | 41 | </size> | 44 | <property name="leftMargin"> |
244 | 42 | </property> | 45 | <number>15</number> |
245 | 43 | </spacer> | 46 | </property> |
246 | 44 | </item> | 47 | <property name="topMargin"> |
247 | 45 | <item> | 48 | <number>10</number> |
248 | 46 | <widget class="QLabel" name="quota_usage_label"> | 49 | </property> |
249 | 47 | <property name="text"> | 50 | <property name="rightMargin"> |
250 | 48 | <string notr="true"/> | 51 | <number>10</number> |
251 | 49 | </property> | 52 | </property> |
252 | 50 | </widget> | 53 | <property name="bottomMargin"> |
253 | 51 | </item> | 54 | <number>10</number> |
254 | 52 | <item> | 55 | </property> |
255 | 53 | <widget class="QPushButton" name="get_more_space_button"> | 56 | <item> |
256 | 54 | <property name="text"> | 57 | <layout class="QHBoxLayout" name="horizontalLayout"> |
257 | 55 | <string>Get more space!</string> | 58 | <property name="spacing"> |
258 | 56 | </property> | 59 | <number>0</number> |
259 | 57 | </widget> | 60 | </property> |
260 | 58 | </item> | 61 | <item> |
261 | 59 | </layout> | 62 | <layout class="QVBoxLayout" name="vLayoutGreeting"> |
262 | 60 | </item> | 63 | <property name="spacing"> |
263 | 61 | <item> | 64 | <number>0</number> |
264 | 62 | <layout class="QHBoxLayout" name="horizontalLayout_2"> | 65 | </property> |
265 | 63 | <item> | 66 | <property name="sizeConstraint"> |
266 | 64 | <spacer name="horizontalSpacer_3"> | 67 | <enum>QLayout::SetDefaultConstraint</enum> |
267 | 65 | <property name="orientation"> | 68 | </property> |
268 | 66 | <enum>Qt::Horizontal</enum> | 69 | <item> |
269 | 67 | </property> | 70 | <widget class="QLabel" name="label"> |
270 | 68 | <property name="sizeHint" stdset="0"> | 71 | <property name="sizePolicy"> |
271 | 69 | <size> | 72 | <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> |
272 | 70 | <width>40</width> | 73 | <horstretch>0</horstretch> |
273 | 71 | <height>20</height> | 74 | <verstretch>0</verstretch> |
274 | 72 | </size> | 75 | </sizepolicy> |
275 | 73 | </property> | 76 | </property> |
276 | 74 | </spacer> | 77 | <property name="font"> |
277 | 75 | </item> | 78 | <font> |
278 | 76 | <item> | 79 | <pointsize>10</pointsize> |
279 | 77 | <widget class="FileSyncStatus" name="file_sync_status" native="true"/> | 80 | </font> |
280 | 78 | </item> | 81 | </property> |
281 | 79 | <item> | 82 | <property name="text"> |
282 | 80 | <spacer name="horizontalSpacer_2"> | 83 | <string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> |
283 | 81 | <property name="orientation"> | 84 | <html><head><meta name="qrichtext" content="1" /><style type="text/css"> |
284 | 82 | <enum>Qt::Horizontal</enum> | 85 | p, li { white-space: pre-wrap; } |
285 | 83 | </property> | 86 | </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:400; font-style:normal;"> |
286 | 84 | <property name="sizeHint" stdset="0"> | 87 | <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Hi</span></p></body></html></string> |
287 | 85 | <size> | 88 | </property> |
288 | 86 | <width>40</width> | 89 | </widget> |
289 | 87 | <height>20</height> | 90 | </item> |
290 | 88 | </size> | 91 | <item> |
291 | 89 | </property> | 92 | <widget class="QLabel" name="greeting_label"> |
292 | 90 | </spacer> | 93 | <property name="font"> |
293 | 91 | </item> | 94 | <font> |
294 | 92 | </layout> | 95 | <pointsize>20</pointsize> |
295 | 96 | </font> | ||
296 | 97 | </property> | ||
297 | 98 | <property name="layoutDirection"> | ||
298 | 99 | <enum>Qt::LeftToRight</enum> | ||
299 | 100 | </property> | ||
300 | 101 | <property name="autoFillBackground"> | ||
301 | 102 | <bool>false</bool> | ||
302 | 103 | </property> | ||
303 | 104 | <property name="text"> | ||
304 | 105 | <string notr="true"/> | ||
305 | 106 | </property> | ||
306 | 107 | <property name="alignment"> | ||
307 | 108 | <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> | ||
308 | 109 | </property> | ||
309 | 110 | <property name="margin"> | ||
310 | 111 | <number>-2</number> | ||
311 | 112 | </property> | ||
312 | 113 | <property name="indent"> | ||
313 | 114 | <number>-1</number> | ||
314 | 115 | </property> | ||
315 | 116 | </widget> | ||
316 | 117 | </item> | ||
317 | 118 | </layout> | ||
318 | 119 | </item> | ||
319 | 120 | <item> | ||
320 | 121 | <spacer name="horizontalSpacer"> | ||
321 | 122 | <property name="orientation"> | ||
322 | 123 | <enum>Qt::Horizontal</enum> | ||
323 | 124 | </property> | ||
324 | 125 | <property name="sizeType"> | ||
325 | 126 | <enum>QSizePolicy::Fixed</enum> | ||
326 | 127 | </property> | ||
327 | 128 | <property name="sizeHint" stdset="0"> | ||
328 | 129 | <size> | ||
329 | 130 | <width>15</width> | ||
330 | 131 | <height>20</height> | ||
331 | 132 | </size> | ||
332 | 133 | </property> | ||
333 | 134 | </spacer> | ||
334 | 135 | </item> | ||
335 | 136 | <item> | ||
336 | 137 | <widget class="QFrame" name="frameStorage"> | ||
337 | 138 | <property name="sizePolicy"> | ||
338 | 139 | <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> | ||
339 | 140 | <horstretch>0</horstretch> | ||
340 | 141 | <verstretch>0</verstretch> | ||
341 | 142 | </sizepolicy> | ||
342 | 143 | </property> | ||
343 | 144 | <property name="maximumSize"> | ||
344 | 145 | <size> | ||
345 | 146 | <width>166</width> | ||
346 | 147 | <height>16777215</height> | ||
347 | 148 | </size> | ||
348 | 149 | </property> | ||
349 | 150 | <property name="frameShape"> | ||
350 | 151 | <enum>QFrame::StyledPanel</enum> | ||
351 | 152 | </property> | ||
352 | 153 | <property name="frameShadow"> | ||
353 | 154 | <enum>QFrame::Raised</enum> | ||
354 | 155 | </property> | ||
355 | 156 | <layout class="QHBoxLayout" name="horizontalLayout_7"> | ||
356 | 157 | <property name="spacing"> | ||
357 | 158 | <number>0</number> | ||
358 | 159 | </property> | ||
359 | 160 | <property name="leftMargin"> | ||
360 | 161 | <number>10</number> | ||
361 | 162 | </property> | ||
362 | 163 | <property name="topMargin"> | ||
363 | 164 | <number>0</number> | ||
364 | 165 | </property> | ||
365 | 166 | <property name="rightMargin"> | ||
366 | 167 | <number>10</number> | ||
367 | 168 | </property> | ||
368 | 169 | <property name="bottomMargin"> | ||
369 | 170 | <number>0</number> | ||
370 | 171 | </property> | ||
371 | 172 | <item> | ||
372 | 173 | <layout class="QVBoxLayout" name="vLayoutStorage"> | ||
373 | 174 | <property name="sizeConstraint"> | ||
374 | 175 | <enum>QLayout::SetDefaultConstraint</enum> | ||
375 | 176 | </property> | ||
376 | 177 | <item> | ||
377 | 178 | <widget class="QFrame" name="frmQuota"> | ||
378 | 179 | <property name="frameShape"> | ||
379 | 180 | <enum>QFrame::StyledPanel</enum> | ||
380 | 181 | </property> | ||
381 | 182 | <property name="frameShadow"> | ||
382 | 183 | <enum>QFrame::Raised</enum> | ||
383 | 184 | </property> | ||
384 | 185 | <layout class="QVBoxLayout" name="verticalLayout_3"> | ||
385 | 186 | <property name="spacing"> | ||
386 | 187 | <number>0</number> | ||
387 | 188 | </property> | ||
388 | 189 | <property name="leftMargin"> | ||
389 | 190 | <number>0</number> | ||
390 | 191 | </property> | ||
391 | 192 | <property name="topMargin"> | ||
392 | 193 | <number>0</number> | ||
393 | 194 | </property> | ||
394 | 195 | <property name="rightMargin"> | ||
395 | 196 | <number>0</number> | ||
396 | 197 | </property> | ||
397 | 198 | <property name="bottomMargin"> | ||
398 | 199 | <number>10</number> | ||
399 | 200 | </property> | ||
400 | 201 | <item> | ||
401 | 202 | <widget class="QLabel" name="percentage_usage_label"> | ||
402 | 203 | <property name="sizePolicy"> | ||
403 | 204 | <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> | ||
404 | 205 | <horstretch>0</horstretch> | ||
405 | 206 | <verstretch>0</verstretch> | ||
406 | 207 | </sizepolicy> | ||
407 | 208 | </property> | ||
408 | 209 | <property name="text"> | ||
409 | 210 | <string notr="true"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> | ||
410 | 211 | <html><head><meta name="qrichtext" content="1" /><style type="text/css"> | ||
411 | 212 | p, li { white-space: pre-wrap; } | ||
412 | 213 | </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> | ||
413 | 214 | <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html></string> | ||
414 | 215 | </property> | ||
415 | 216 | </widget> | ||
416 | 217 | </item> | ||
417 | 218 | <item> | ||
418 | 219 | <widget class="QLabel" name="quota_usage_label"> | ||
419 | 220 | <property name="font"> | ||
420 | 221 | <font> | ||
421 | 222 | <pointsize>8</pointsize> | ||
422 | 223 | </font> | ||
423 | 224 | </property> | ||
424 | 225 | <property name="text"> | ||
425 | 226 | <string/> | ||
426 | 227 | </property> | ||
427 | 228 | </widget> | ||
428 | 229 | </item> | ||
429 | 230 | </layout> | ||
430 | 231 | <zorder>quota_usage_label</zorder> | ||
431 | 232 | <zorder>percentage_usage_label</zorder> | ||
432 | 233 | </widget> | ||
433 | 234 | </item> | ||
434 | 235 | <item> | ||
435 | 236 | <widget class="QPushButton" name="get_more_space_button"> | ||
436 | 237 | <property name="enabled"> | ||
437 | 238 | <bool>true</bool> | ||
438 | 239 | </property> | ||
439 | 240 | <property name="sizePolicy"> | ||
440 | 241 | <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> | ||
441 | 242 | <horstretch>0</horstretch> | ||
442 | 243 | <verstretch>0</verstretch> | ||
443 | 244 | </sizepolicy> | ||
444 | 245 | </property> | ||
445 | 246 | <property name="layoutDirection"> | ||
446 | 247 | <enum>Qt::RightToLeft</enum> | ||
447 | 248 | </property> | ||
448 | 249 | <property name="autoFillBackground"> | ||
449 | 250 | <bool>false</bool> | ||
450 | 251 | </property> | ||
451 | 252 | <property name="text"> | ||
452 | 253 | <string>Get more storage!</string> | ||
453 | 254 | </property> | ||
454 | 255 | <property name="icon"> | ||
455 | 256 | <iconset resource="images.qrc"> | ||
456 | 257 | <normaloff>:/external_icon_white.png</normaloff>:/external_icon_white.png</iconset> | ||
457 | 258 | </property> | ||
458 | 259 | <property name="default"> | ||
459 | 260 | <bool>false</bool> | ||
460 | 261 | </property> | ||
461 | 262 | </widget> | ||
462 | 263 | </item> | ||
463 | 264 | </layout> | ||
464 | 265 | </item> | ||
465 | 266 | </layout> | ||
466 | 267 | <zorder></zorder> | ||
467 | 268 | </widget> | ||
468 | 269 | </item> | ||
469 | 270 | <item> | ||
470 | 271 | <widget class="QFrame" name="frameStatus"> | ||
471 | 272 | <property name="sizePolicy"> | ||
472 | 273 | <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> | ||
473 | 274 | <horstretch>0</horstretch> | ||
474 | 275 | <verstretch>0</verstretch> | ||
475 | 276 | </sizepolicy> | ||
476 | 277 | </property> | ||
477 | 278 | <property name="maximumSize"> | ||
478 | 279 | <size> | ||
479 | 280 | <width>166</width> | ||
480 | 281 | <height>16777215</height> | ||
481 | 282 | </size> | ||
482 | 283 | </property> | ||
483 | 284 | <property name="frameShape"> | ||
484 | 285 | <enum>QFrame::StyledPanel</enum> | ||
485 | 286 | </property> | ||
486 | 287 | <property name="frameShadow"> | ||
487 | 288 | <enum>QFrame::Raised</enum> | ||
488 | 289 | </property> | ||
489 | 290 | <layout class="QHBoxLayout" name="horizontalLayout_8"> | ||
490 | 291 | <property name="spacing"> | ||
491 | 292 | <number>0</number> | ||
492 | 293 | </property> | ||
493 | 294 | <property name="leftMargin"> | ||
494 | 295 | <number>10</number> | ||
495 | 296 | </property> | ||
496 | 297 | <property name="topMargin"> | ||
497 | 298 | <number>0</number> | ||
498 | 299 | </property> | ||
499 | 300 | <property name="rightMargin"> | ||
500 | 301 | <number>0</number> | ||
501 | 302 | </property> | ||
502 | 303 | <property name="bottomMargin"> | ||
503 | 304 | <number>0</number> | ||
504 | 305 | </property> | ||
505 | 306 | <item> | ||
506 | 307 | <layout class="QVBoxLayout" name="vLayoutStatus"> | ||
507 | 308 | <property name="spacing"> | ||
508 | 309 | <number>10</number> | ||
509 | 310 | </property> | ||
510 | 311 | <item> | ||
511 | 312 | <layout class="QHBoxLayout" name="horizontalLayout_6"> | ||
512 | 313 | <property name="sizeConstraint"> | ||
513 | 314 | <enum>QLayout::SetDefaultConstraint</enum> | ||
514 | 315 | </property> | ||
515 | 316 | <item> | ||
516 | 317 | <widget class="QLabel" name="lblStatusIcon"> | ||
517 | 318 | <property name="sizePolicy"> | ||
518 | 319 | <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> | ||
519 | 320 | <horstretch>0</horstretch> | ||
520 | 321 | <verstretch>0</verstretch> | ||
521 | 322 | </sizepolicy> | ||
522 | 323 | </property> | ||
523 | 324 | <property name="text"> | ||
524 | 325 | <string/> | ||
525 | 326 | </property> | ||
526 | 327 | <property name="pixmap"> | ||
527 | 328 | <pixmap resource="images.qrc">:/sync_status_syncing.png</pixmap> | ||
528 | 329 | </property> | ||
529 | 330 | <property name="alignment"> | ||
530 | 331 | <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> | ||
531 | 332 | </property> | ||
532 | 333 | </widget> | ||
533 | 334 | </item> | ||
534 | 335 | <item> | ||
535 | 336 | <widget class="QLabel" name="lblStatus"> | ||
536 | 337 | <property name="font"> | ||
537 | 338 | <font> | ||
538 | 339 | <family>MS Shell Dlg 2</family> | ||
539 | 340 | <pointsize>14</pointsize> | ||
540 | 341 | </font> | ||
541 | 342 | </property> | ||
542 | 343 | <property name="text"> | ||
543 | 344 | <string>Syncing...</string> | ||
544 | 345 | </property> | ||
545 | 346 | </widget> | ||
546 | 347 | </item> | ||
547 | 348 | </layout> | ||
548 | 349 | </item> | ||
549 | 350 | <item> | ||
550 | 351 | <widget class="QPushButton" name="btnSyncing"> | ||
551 | 352 | <property name="enabled"> | ||
552 | 353 | <bool>false</bool> | ||
553 | 354 | </property> | ||
554 | 355 | <property name="sizePolicy"> | ||
555 | 356 | <sizepolicy hsizetype="Minimum" vsizetype="Fixed"> | ||
556 | 357 | <horstretch>0</horstretch> | ||
557 | 358 | <verstretch>0</verstretch> | ||
558 | 359 | </sizepolicy> | ||
559 | 360 | </property> | ||
560 | 361 | <property name="maximumSize"> | ||
561 | 362 | <size> | ||
562 | 363 | <width>16777215</width> | ||
563 | 364 | <height>16777215</height> | ||
564 | 365 | </size> | ||
565 | 366 | </property> | ||
566 | 367 | <property name="text"> | ||
567 | 368 | <string>Stop syncing</string> | ||
568 | 369 | </property> | ||
569 | 370 | </widget> | ||
570 | 371 | </item> | ||
571 | 372 | </layout> | ||
572 | 373 | </item> | ||
573 | 374 | </layout> | ||
574 | 375 | </widget> | ||
575 | 376 | </item> | ||
576 | 377 | </layout> | ||
577 | 378 | </item> | ||
578 | 379 | </layout> | ||
579 | 380 | </widget> | ||
580 | 93 | </item> | 381 | </item> |
581 | 94 | <item> | 382 | <item> |
582 | 95 | <widget class="QTabWidget" name="tab_widget"> | 383 | <widget class="QTabWidget" name="tab_widget"> |
583 | @@ -133,75 +421,141 @@ | |||
584 | 133 | </widget> | 421 | </widget> |
585 | 134 | </item> | 422 | </item> |
586 | 135 | <item> | 423 | <item> |
656 | 136 | <layout class="QHBoxLayout" name="horizontalLayout_3"> | 424 | <widget class="QFrame" name="frmFooter"> |
657 | 137 | <item> | 425 | <property name="maximumSize"> |
658 | 138 | <widget class="QPushButton" name="help_button"> | 426 | <size> |
659 | 139 | <property name="text"> | 427 | <width>16777215</width> |
660 | 140 | <string>Help</string> | 428 | <height>30</height> |
661 | 141 | </property> | 429 | </size> |
662 | 142 | </widget> | 430 | </property> |
663 | 143 | </item> | 431 | <property name="frameShape"> |
664 | 144 | <item> | 432 | <enum>QFrame::StyledPanel</enum> |
665 | 145 | <spacer name="horizontalSpacer_4"> | 433 | </property> |
666 | 146 | <property name="orientation"> | 434 | <property name="frameShadow"> |
667 | 147 | <enum>Qt::Horizontal</enum> | 435 | <enum>QFrame::Raised</enum> |
668 | 148 | </property> | 436 | </property> |
669 | 149 | <property name="sizeHint" stdset="0"> | 437 | <layout class="QVBoxLayout" name="verticalLayout_2"> |
670 | 150 | <size> | 438 | <property name="spacing"> |
671 | 151 | <width>40</width> | 439 | <number>0</number> |
672 | 152 | <height>20</height> | 440 | </property> |
673 | 153 | </size> | 441 | <property name="margin"> |
674 | 154 | </property> | 442 | <number>0</number> |
675 | 155 | </spacer> | 443 | </property> |
676 | 156 | </item> | 444 | <item> |
677 | 157 | <item> | 445 | <layout class="QHBoxLayout" name="hLayoutFooter"> |
678 | 158 | <widget class="QLabel" name="follow_us_label"> | 446 | <property name="spacing"> |
679 | 159 | <property name="text"> | 447 | <number>5</number> |
680 | 160 | <string>Follow us:</string> | 448 | </property> |
681 | 161 | </property> | 449 | <property name="leftMargin"> |
682 | 162 | </widget> | 450 | <number>0</number> |
683 | 163 | </item> | 451 | </property> |
684 | 164 | <item> | 452 | <property name="rightMargin"> |
685 | 165 | <widget class="QToolButton" name="twitter_button"> | 453 | <number>0</number> |
686 | 166 | <property name="styleSheet"> | 454 | </property> |
687 | 167 | <string notr="true">border: 0;</string> | 455 | <item> |
688 | 168 | </property> | 456 | <widget class="QPushButton" name="help_button"> |
689 | 169 | <property name="text"> | 457 | <property name="font"> |
690 | 170 | <string/> | 458 | <font> |
691 | 171 | </property> | 459 | <pointsize>10</pointsize> |
692 | 172 | <property name="icon"> | 460 | <underline>true</underline> |
693 | 173 | <iconset resource="images.qrc"> | 461 | </font> |
694 | 174 | <normaloff>:/twitter.png</normaloff>:/twitter.png</iconset> | 462 | </property> |
695 | 175 | </property> | 463 | <property name="cursor"> |
696 | 176 | <property name="iconSize"> | 464 | <cursorShape>PointingHandCursor</cursorShape> |
697 | 177 | <size> | 465 | </property> |
698 | 178 | <width>32</width> | 466 | <property name="layoutDirection"> |
699 | 179 | <height>32</height> | 467 | <enum>Qt::RightToLeft</enum> |
700 | 180 | </size> | 468 | </property> |
701 | 181 | </property> | 469 | <property name="text"> |
702 | 182 | </widget> | 470 | <string>Get help online</string> |
703 | 183 | </item> | 471 | </property> |
704 | 184 | <item> | 472 | <property name="icon"> |
705 | 185 | <widget class="QToolButton" name="facebook_button"> | 473 | <iconset resource="images.qrc"> |
706 | 186 | <property name="styleSheet"> | 474 | <normaloff>:/external_icon_white.png</normaloff>:/external_icon_white.png</iconset> |
707 | 187 | <string notr="true">border: 0;</string> | 475 | </property> |
708 | 188 | </property> | 476 | <property name="flat"> |
709 | 189 | <property name="text"> | 477 | <bool>false</bool> |
710 | 190 | <string/> | 478 | </property> |
711 | 191 | </property> | 479 | </widget> |
712 | 192 | <property name="icon"> | 480 | </item> |
713 | 193 | <iconset resource="images.qrc"> | 481 | <item> |
714 | 194 | <normaloff>:/facebook.png</normaloff>:/facebook.png</iconset> | 482 | <spacer name="horizontalSpacer_4"> |
715 | 195 | </property> | 483 | <property name="orientation"> |
716 | 196 | <property name="iconSize"> | 484 | <enum>Qt::Horizontal</enum> |
717 | 197 | <size> | 485 | </property> |
718 | 198 | <width>32</width> | 486 | <property name="sizeHint" stdset="0"> |
719 | 199 | <height>32</height> | 487 | <size> |
720 | 200 | </size> | 488 | <width>40</width> |
721 | 201 | </property> | 489 | <height>20</height> |
722 | 202 | </widget> | 490 | </size> |
723 | 203 | </item> | 491 | </property> |
724 | 204 | </layout> | 492 | </spacer> |
725 | 493 | </item> | ||
726 | 494 | <item> | ||
727 | 495 | <widget class="QLabel" name="follow_us_label"> | ||
728 | 496 | <property name="font"> | ||
729 | 497 | <font> | ||
730 | 498 | <pointsize>11</pointsize> | ||
731 | 499 | </font> | ||
732 | 500 | </property> | ||
733 | 501 | <property name="styleSheet"> | ||
734 | 502 | <string notr="true">color: white;</string> | ||
735 | 503 | </property> | ||
736 | 504 | <property name="text"> | ||
737 | 505 | <string>Talk to us</string> | ||
738 | 506 | </property> | ||
739 | 507 | </widget> | ||
740 | 508 | </item> | ||
741 | 509 | <item> | ||
742 | 510 | <widget class="QToolButton" name="twitter_button"> | ||
743 | 511 | <property name="cursor"> | ||
744 | 512 | <cursorShape>PointingHandCursor</cursorShape> | ||
745 | 513 | </property> | ||
746 | 514 | <property name="styleSheet"> | ||
747 | 515 | <string notr="true">border: 0;</string> | ||
748 | 516 | </property> | ||
749 | 517 | <property name="text"> | ||
750 | 518 | <string/> | ||
751 | 519 | </property> | ||
752 | 520 | <property name="icon"> | ||
753 | 521 | <iconset resource="images.qrc"> | ||
754 | 522 | <normaloff>:/twitter.png</normaloff>:/twitter.png</iconset> | ||
755 | 523 | </property> | ||
756 | 524 | <property name="iconSize"> | ||
757 | 525 | <size> | ||
758 | 526 | <width>22</width> | ||
759 | 527 | <height>22</height> | ||
760 | 528 | </size> | ||
761 | 529 | </property> | ||
762 | 530 | </widget> | ||
763 | 531 | </item> | ||
764 | 532 | <item> | ||
765 | 533 | <widget class="QToolButton" name="facebook_button"> | ||
766 | 534 | <property name="cursor"> | ||
767 | 535 | <cursorShape>PointingHandCursor</cursorShape> | ||
768 | 536 | </property> | ||
769 | 537 | <property name="styleSheet"> | ||
770 | 538 | <string notr="true">border: 0;</string> | ||
771 | 539 | </property> | ||
772 | 540 | <property name="text"> | ||
773 | 541 | <string/> | ||
774 | 542 | </property> | ||
775 | 543 | <property name="icon"> | ||
776 | 544 | <iconset resource="images.qrc"> | ||
777 | 545 | <normaloff>:/facebook.png</normaloff>:/facebook.png</iconset> | ||
778 | 546 | </property> | ||
779 | 547 | <property name="iconSize"> | ||
780 | 548 | <size> | ||
781 | 549 | <width>22</width> | ||
782 | 550 | <height>22</height> | ||
783 | 551 | </size> | ||
784 | 552 | </property> | ||
785 | 553 | </widget> | ||
786 | 554 | </item> | ||
787 | 555 | </layout> | ||
788 | 556 | </item> | ||
789 | 557 | </layout> | ||
790 | 558 | </widget> | ||
791 | 205 | </item> | 559 | </item> |
792 | 206 | </layout> | 560 | </layout> |
793 | 207 | </widget> | 561 | </widget> |
794 | @@ -236,19 +590,12 @@ | |||
795 | 236 | <header>ubuntuone.controlpanel.gui.qt.profile</header> | 590 | <header>ubuntuone.controlpanel.gui.qt.profile</header> |
796 | 237 | <container>1</container> | 591 | <container>1</container> |
797 | 238 | </customwidget> | 592 | </customwidget> |
798 | 239 | <customwidget> | ||
799 | 240 | <class>FileSyncStatus</class> | ||
800 | 241 | <extends>QWidget</extends> | ||
801 | 242 | <header>ubuntuone.controlpanel.gui.qt.filesyncstatus</header> | ||
802 | 243 | <container>1</container> | ||
803 | 244 | </customwidget> | ||
804 | 245 | </customwidgets> | 593 | </customwidgets> |
805 | 246 | <tabstops> | 594 | <tabstops> |
806 | 247 | <tabstop>tab_widget</tabstop> | 595 | <tabstop>tab_widget</tabstop> |
807 | 248 | <tabstop>help_button</tabstop> | 596 | <tabstop>help_button</tabstop> |
808 | 249 | <tabstop>twitter_button</tabstop> | 597 | <tabstop>twitter_button</tabstop> |
809 | 250 | <tabstop>facebook_button</tabstop> | 598 | <tabstop>facebook_button</tabstop> |
810 | 251 | <tabstop>get_more_space_button</tabstop> | ||
811 | 252 | </tabstops> | 599 | </tabstops> |
812 | 253 | <resources> | 600 | <resources> |
813 | 254 | <include location="images.qrc"/> | 601 | <include location="images.qrc"/> |
814 | 255 | 602 | ||
815 | === modified file 'data/qt/images.qrc' | |||
816 | --- data/qt/images.qrc 2011-06-02 19:55:45 +0000 | |||
817 | +++ data/qt/images.qrc 2011-07-05 10:27:59 +0000 | |||
818 | @@ -1,8 +1,14 @@ | |||
819 | 1 | <RCC> | 1 | <RCC> |
820 | 2 | <qresource prefix="/"> | 2 | <qresource prefix="/"> |
821 | 3 | <file>../u1icon.png</file> | ||
822 | 4 | <file>../external_icon_orange.png</file> | ||
823 | 5 | <file>../sync_status_disconnected.png</file> | ||
824 | 6 | <file>../sync_status_sync_done.png</file> | ||
825 | 7 | <file>../sync_status_syncing.png</file> | ||
826 | 3 | <file>../computer.png</file> | 8 | <file>../computer.png</file> |
827 | 4 | <file>../phone.png</file> | 9 | <file>../phone.png</file> |
828 | 5 | <file>../twitter.png</file> | 10 | <file>../twitter.png</file> |
829 | 6 | <file>../facebook.png</file> | 11 | <file>../facebook.png</file> |
830 | 12 | <file>../external_icon_white.png</file> | ||
831 | 7 | </qresource> | 13 | </qresource> |
832 | 8 | </RCC> | 14 | </RCC> |
833 | 9 | 15 | ||
834 | === modified file 'data/qt/mainwindow.ui' | |||
835 | --- data/qt/mainwindow.ui 2011-05-26 22:18:04 +0000 | |||
836 | +++ data/qt/mainwindow.ui 2011-07-05 10:27:59 +0000 | |||
837 | @@ -25,6 +25,10 @@ | |||
838 | 25 | <property name="windowTitle"> | 25 | <property name="windowTitle"> |
839 | 26 | <string>Ubuntu One Control Panel</string> | 26 | <string>Ubuntu One Control Panel</string> |
840 | 27 | </property> | 27 | </property> |
841 | 28 | <property name="windowIcon"> | ||
842 | 29 | <iconset resource="images.qrc"> | ||
843 | 30 | <normaloff>:/u1icon.png</normaloff>:/u1icon.png</iconset> | ||
844 | 31 | </property> | ||
845 | 28 | <widget class="QWidget" name="centralwidget"> | 32 | <widget class="QWidget" name="centralwidget"> |
846 | 29 | <property name="sizePolicy"> | 33 | <property name="sizePolicy"> |
847 | 30 | <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> | 34 | <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> |
848 | @@ -33,6 +37,12 @@ | |||
849 | 33 | </sizepolicy> | 37 | </sizepolicy> |
850 | 34 | </property> | 38 | </property> |
851 | 35 | <layout class="QVBoxLayout" name="verticalLayout"> | 39 | <layout class="QVBoxLayout" name="verticalLayout"> |
852 | 40 | <property name="spacing"> | ||
853 | 41 | <number>0</number> | ||
854 | 42 | </property> | ||
855 | 43 | <property name="margin"> | ||
856 | 44 | <number>3</number> | ||
857 | 45 | </property> | ||
858 | 36 | <item> | 46 | <item> |
859 | 37 | <widget class="ControlPanel" name="control_panel" native="true"/> | 47 | <widget class="ControlPanel" name="control_panel" native="true"/> |
860 | 38 | </item> | 48 | </item> |
861 | @@ -47,6 +57,8 @@ | |||
862 | 47 | <container>1</container> | 57 | <container>1</container> |
863 | 48 | </customwidget> | 58 | </customwidget> |
864 | 49 | </customwidgets> | 59 | </customwidgets> |
866 | 50 | <resources/> | 60 | <resources> |
867 | 61 | <include location="images.qrc"/> | ||
868 | 62 | </resources> | ||
869 | 51 | <connections/> | 63 | <connections/> |
870 | 52 | </ui> | 64 | </ui> |
871 | 53 | 65 | ||
872 | === modified file 'data/qt/preferences.ui' | |||
873 | --- data/qt/preferences.ui 2011-06-20 23:23:45 +0000 | |||
874 | +++ data/qt/preferences.ui 2011-07-05 10:27:59 +0000 | |||
875 | @@ -13,13 +13,22 @@ | |||
876 | 13 | <property name="windowTitle"> | 13 | <property name="windowTitle"> |
877 | 14 | <string notr="true">Form</string> | 14 | <string notr="true">Form</string> |
878 | 15 | </property> | 15 | </property> |
879 | 16 | <property name="styleSheet"> | ||
880 | 17 | <string notr="true"/> | ||
881 | 18 | </property> | ||
882 | 16 | <layout class="QVBoxLayout" name="verticalLayout"> | 19 | <layout class="QVBoxLayout" name="verticalLayout"> |
883 | 20 | <property name="margin"> | ||
884 | 21 | <number>0</number> | ||
885 | 22 | </property> | ||
886 | 17 | <item> | 23 | <item> |
887 | 18 | <widget class="QGroupBox" name="verticalGroupBox"> | 24 | <widget class="QGroupBox" name="verticalGroupBox"> |
888 | 19 | <property name="title"> | 25 | <property name="title"> |
889 | 20 | <string>Bandwidth settings</string> | 26 | <string>Bandwidth settings</string> |
890 | 21 | </property> | 27 | </property> |
891 | 22 | <layout class="QGridLayout" name="gridLayout"> | 28 | <layout class="QGridLayout" name="gridLayout"> |
892 | 29 | <property name="verticalSpacing"> | ||
893 | 30 | <number>10</number> | ||
894 | 31 | </property> | ||
895 | 23 | <item row="0" column="0"> | 32 | <item row="0" column="0"> |
896 | 24 | <widget class="QCheckBox" name="limit_uploads_checkbox"> | 33 | <widget class="QCheckBox" name="limit_uploads_checkbox"> |
897 | 25 | <property name="text"> | 34 | <property name="text"> |
898 | @@ -81,7 +90,7 @@ | |||
899 | 81 | </property> | 90 | </property> |
900 | 82 | </spacer> | 91 | </spacer> |
901 | 83 | </item> | 92 | </item> |
903 | 84 | <item row="3" column="0" colspan="3"> | 93 | <item row="4" column="0" colspan="3"> |
904 | 85 | <widget class="QLabel" name="label_2"> | 94 | <widget class="QLabel" name="label_2"> |
905 | 86 | <property name="text"> | 95 | <property name="text"> |
906 | 87 | <string>Please note that your files will not sync if you set bandwidth to 0</string> | 96 | <string>Please note that your files will not sync if you set bandwidth to 0</string> |
907 | @@ -94,6 +103,19 @@ | |||
908 | 94 | </property> | 103 | </property> |
909 | 95 | </widget> | 104 | </widget> |
910 | 96 | </item> | 105 | </item> |
911 | 106 | <item row="3" column="0"> | ||
912 | 107 | <spacer name="verticalSpacer_2"> | ||
913 | 108 | <property name="orientation"> | ||
914 | 109 | <enum>Qt::Vertical</enum> | ||
915 | 110 | </property> | ||
916 | 111 | <property name="sizeHint" stdset="0"> | ||
917 | 112 | <size> | ||
918 | 113 | <width>40</width> | ||
919 | 114 | <height>20</height> | ||
920 | 115 | </size> | ||
921 | 116 | </property> | ||
922 | 117 | </spacer> | ||
923 | 118 | </item> | ||
924 | 97 | </layout> | 119 | </layout> |
925 | 98 | </widget> | 120 | </widget> |
926 | 99 | </item> | 121 | </item> |
927 | @@ -103,6 +125,9 @@ | |||
928 | 103 | <string>File Sync Settings</string> | 125 | <string>File Sync Settings</string> |
929 | 104 | </property> | 126 | </property> |
930 | 105 | <layout class="QVBoxLayout" name="verticalLayout_1"> | 127 | <layout class="QVBoxLayout" name="verticalLayout_1"> |
931 | 128 | <property name="spacing"> | ||
932 | 129 | <number>10</number> | ||
933 | 130 | </property> | ||
934 | 106 | <item> | 131 | <item> |
935 | 107 | <widget class="QCheckBox" name="autoconnect_checkbox"> | 132 | <widget class="QCheckBox" name="autoconnect_checkbox"> |
936 | 108 | <property name="text"> | 133 | <property name="text"> |
937 | @@ -137,13 +162,6 @@ | |||
938 | 137 | <item> | 162 | <item> |
939 | 138 | <layout class="QHBoxLayout" name="horizontalLayout"> | 163 | <layout class="QHBoxLayout" name="horizontalLayout"> |
940 | 139 | <item> | 164 | <item> |
941 | 140 | <widget class="QPushButton" name="restore_defaults_button"> | ||
942 | 141 | <property name="text"> | ||
943 | 142 | <string>Restore default configuration</string> | ||
944 | 143 | </property> | ||
945 | 144 | </widget> | ||
946 | 145 | </item> | ||
947 | 146 | <item> | ||
948 | 147 | <spacer name="horizontalSpacer"> | 165 | <spacer name="horizontalSpacer"> |
949 | 148 | <property name="orientation"> | 166 | <property name="orientation"> |
950 | 149 | <enum>Qt::Horizontal</enum> | 167 | <enum>Qt::Horizontal</enum> |
951 | @@ -159,7 +177,14 @@ | |||
952 | 159 | <item> | 177 | <item> |
953 | 160 | <widget class="QPushButton" name="apply_changes_button"> | 178 | <widget class="QPushButton" name="apply_changes_button"> |
954 | 161 | <property name="text"> | 179 | <property name="text"> |
956 | 162 | <string>Apply changes</string> | 180 | <string>Apply these settings</string> |
957 | 181 | </property> | ||
958 | 182 | </widget> | ||
959 | 183 | </item> | ||
960 | 184 | <item> | ||
961 | 185 | <widget class="QPushButton" name="restore_defaults_button"> | ||
962 | 186 | <property name="text"> | ||
963 | 187 | <string>Default settings</string> | ||
964 | 163 | </property> | 188 | </property> |
965 | 164 | </widget> | 189 | </widget> |
966 | 165 | </item> | 190 | </item> |
967 | 166 | 191 | ||
968 | === added file 'data/sync_status_disconnected.png' | |||
969 | 167 | Binary files data/sync_status_disconnected.png 1970-01-01 00:00:00 +0000 and data/sync_status_disconnected.png 2011-07-05 10:27:59 +0000 differ | 192 | Binary files data/sync_status_disconnected.png 1970-01-01 00:00:00 +0000 and data/sync_status_disconnected.png 2011-07-05 10:27:59 +0000 differ |
970 | === added file 'data/sync_status_sync_done.png' | |||
971 | 168 | Binary files data/sync_status_sync_done.png 1970-01-01 00:00:00 +0000 and data/sync_status_sync_done.png 2011-07-05 10:27:59 +0000 differ | 193 | Binary files data/sync_status_sync_done.png 1970-01-01 00:00:00 +0000 and data/sync_status_sync_done.png 2011-07-05 10:27:59 +0000 differ |
972 | === added file 'data/sync_status_syncing.png' | |||
973 | 169 | Binary files data/sync_status_syncing.png 1970-01-01 00:00:00 +0000 and data/sync_status_syncing.png 2011-07-05 10:27:59 +0000 differ | 194 | Binary files data/sync_status_syncing.png 1970-01-01 00:00:00 +0000 and data/sync_status_syncing.png 2011-07-05 10:27:59 +0000 differ |
974 | === added file 'data/u1icon.png' | |||
975 | 170 | Binary files data/u1icon.png 1970-01-01 00:00:00 +0000 and data/u1icon.png 2011-07-05 10:27:59 +0000 differ | 195 | Binary files data/u1icon.png 1970-01-01 00:00:00 +0000 and data/u1icon.png 2011-07-05 10:27:59 +0000 differ |
976 | === modified file 'ubuntuone/controlpanel/gui/__init__.py' | |||
977 | --- ubuntuone/controlpanel/gui/__init__.py 2011-07-04 10:57:17 +0000 | |||
978 | +++ ubuntuone/controlpanel/gui/__init__.py 2011-07-05 10:27:59 +0000 | |||
979 | @@ -126,7 +126,7 @@ | |||
980 | 126 | FILE_SYNC_STOPPED = _('File Sync is stopped.') | 126 | FILE_SYNC_STOPPED = _('File Sync is stopped.') |
981 | 127 | FILE_SYNC_SYNCING = _('File Sync in progress...') | 127 | FILE_SYNC_SYNCING = _('File Sync in progress...') |
982 | 128 | FREE_SPACE_TEXT = _('%(free_space)s available storage') | 128 | FREE_SPACE_TEXT = _('%(free_space)s available storage') |
984 | 129 | GREETING = _('Hello %(user_display_name)s!') | 129 | GREETING = _('%(user_display_name)s!') |
985 | 130 | INSTALL_PACKAGE = _('You need to install the package <i>%(package_name)s' | 130 | INSTALL_PACKAGE = _('You need to install the package <i>%(package_name)s' |
986 | 131 | '</i> in order to enable more sync services.') | 131 | '</i> in order to enable more sync services.') |
987 | 132 | INSTALL_PLUGIN = _('Install the %(plugin_name)s for the sync service: ' | 132 | INSTALL_PLUGIN = _('Install the %(plugin_name)s for the sync service: ' |
988 | @@ -143,7 +143,9 @@ | |||
989 | 143 | NO_DEVICES = _('No devices to show.') | 143 | NO_DEVICES = _('No devices to show.') |
990 | 144 | NO_FOLDERS = _('No folders to show.') | 144 | NO_FOLDERS = _('No folders to show.') |
991 | 145 | NO_PAIRING_RECORD = _('There is no Ubuntu One pairing record.') | 145 | NO_PAIRING_RECORD = _('There is no Ubuntu One pairing record.') |
993 | 146 | QUOTA_LABEL = _('Using %(used)s of %(total)s (%(percentage).0f%%)') | 146 | PERCENTAGE_LABEL = _('<p><span style=" font-size:16pt;">(%(percentage).0f%%)' \ |
994 | 147 | '</span> used</p>') | ||
995 | 148 | QUOTA_LABEL = _('%(used)s of %(total)s') | ||
996 | 147 | SERVICES_BUTTON_TOOLTIP = _('Manage the sync services') | 149 | SERVICES_BUTTON_TOOLTIP = _('Manage the sync services') |
997 | 148 | SERVICES_TITLE = _('Enable the sync services for this computer.') | 150 | SERVICES_TITLE = _('Enable the sync services for this computer.') |
998 | 149 | SETTINGS_CHANGE_ERROR = _('The settings could not be changed,\n' | 151 | SETTINGS_CHANGE_ERROR = _('The settings could not be changed,\n' |
999 | 150 | 152 | ||
1000 | === added file 'ubuntuone/controlpanel/gui/qt/connectingwidget.py' | |||
1001 | --- ubuntuone/controlpanel/gui/qt/connectingwidget.py 1970-01-01 00:00:00 +0000 | |||
1002 | +++ ubuntuone/controlpanel/gui/qt/connectingwidget.py 2011-07-05 10:27:59 +0000 | |||
1003 | @@ -0,0 +1,74 @@ | |||
1004 | 1 | # -*- coding: utf-8 -*- | ||
1005 | 2 | |||
1006 | 3 | # Authors: Diego Sarmentero <diego.sarmentero@gmail.com> | ||
1007 | 4 | # | ||
1008 | 5 | # Copyright 2011 Canonical Ltd. | ||
1009 | 6 | # | ||
1010 | 7 | # This program is free software: you can redistribute it and/or modify it | ||
1011 | 8 | # under the terms of the GNU General Public License version 3, as published | ||
1012 | 9 | # by the Free Software Foundation. | ||
1013 | 10 | # | ||
1014 | 11 | # This program is distributed in the hope that it will be useful, but | ||
1015 | 12 | # WITHOUT ANY WARRANTY; without even the implied warranties of | ||
1016 | 13 | # MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR | ||
1017 | 14 | # PURPOSE. See the GNU General Public License for more details. | ||
1018 | 15 | # | ||
1019 | 16 | # You should have received a copy of the GNU General Public License along | ||
1020 | 17 | # with this program. If not, see <http://www.gnu.org/licenses/>. | ||
1021 | 18 | |||
1022 | 19 | """Loading animation over a widget""" | ||
1023 | 20 | |||
1024 | 21 | from PyQt4 import QtGui | ||
1025 | 22 | from PyQt4 import QtCore | ||
1026 | 23 | |||
1027 | 24 | from ubuntuone.controlpanel.gui.qt.ui import connectingwidget_ui | ||
1028 | 25 | |||
1029 | 26 | |||
1030 | 27 | class ConnectingWidget(QtGui.QFrame): | ||
1031 | 28 | |||
1032 | 29 | def __init__(self, parent=None): | ||
1033 | 30 | QtGui.QFrame.__init__(self, parent) | ||
1034 | 31 | self.ui = connectingwidget_ui.Ui_Frame() | ||
1035 | 32 | self.ui.setupUi(self) | ||
1036 | 33 | self.ui.frmBox.installEventFilter(self) | ||
1037 | 34 | palette = QtGui.QPalette(self.palette()) | ||
1038 | 35 | palette.setColor(palette.Background, QtCore.Qt.transparent) | ||
1039 | 36 | self.setPalette(palette) | ||
1040 | 37 | |||
1041 | 38 | def paintEvent(self, event): | ||
1042 | 39 | painter = QtGui.QPainter() | ||
1043 | 40 | painter.begin(self) | ||
1044 | 41 | painter.setRenderHint(QtGui.QPainter.Antialiasing) | ||
1045 | 42 | painter.fillRect(event.rect(), QtGui.QBrush( | ||
1046 | 43 | QtGui.QColor(255, 255, 255, 127))) | ||
1047 | 44 | painter.setPen(QtGui.QPen(QtCore.Qt.NoPen)) | ||
1048 | 45 | painter.end() | ||
1049 | 46 | |||
1050 | 47 | def eventFilter(self, obj, event): | ||
1051 | 48 | if obj == self.ui.frmBox and event.type() == QtCore.QEvent.Paint: | ||
1052 | 49 | painter = QtGui.QPainter() | ||
1053 | 50 | painter.begin(obj) | ||
1054 | 51 | pos_x = self.ui.frmBox.width() / 3 | ||
1055 | 52 | x_padding = pos_x / 5 | ||
1056 | 53 | for i in xrange(5): | ||
1057 | 54 | if (self.counter / 5) % 5 == i: | ||
1058 | 55 | painter.setBrush(QtGui.QBrush( | ||
1059 | 56 | QtGui.QColor(221, 72, 20, 50 + i * 50))) | ||
1060 | 57 | else: | ||
1061 | 58 | painter.setBrush(QtGui.QBrush( | ||
1062 | 59 | QtGui.QColor(221, 72, 20, 255))) | ||
1063 | 60 | painter.drawEllipse( | ||
1064 | 61 | pos_x + (x_padding * i), | ||
1065 | 62 | self.ui.frmBox.height() / 2 + 10, | ||
1066 | 63 | 15, 15) | ||
1067 | 64 | |||
1068 | 65 | painter.end() | ||
1069 | 66 | return False | ||
1070 | 67 | |||
1071 | 68 | def showEvent(self, event): | ||
1072 | 69 | self.timer = self.startTimer(50) | ||
1073 | 70 | self.counter = 0 | ||
1074 | 71 | |||
1075 | 72 | def timerEvent(self, event): | ||
1076 | 73 | self.counter += 1 | ||
1077 | 74 | self.update() | ||
1078 | 0 | 75 | ||
1079 | === modified file 'ubuntuone/controlpanel/gui/qt/controlpanel.py' | |||
1080 | --- ubuntuone/controlpanel/gui/qt/controlpanel.py 2011-06-22 23:53:46 +0000 | |||
1081 | +++ ubuntuone/controlpanel/gui/qt/controlpanel.py 2011-07-05 10:27:59 +0000 | |||
1082 | @@ -30,6 +30,7 @@ | |||
1083 | 30 | humanize, | 30 | humanize, |
1084 | 31 | EDIT_ACCOUNT_LINK, | 31 | EDIT_ACCOUNT_LINK, |
1085 | 32 | GREETING, | 32 | GREETING, |
1086 | 33 | PERCENTAGE_LABEL, | ||
1087 | 33 | QUOTA_LABEL, | 34 | QUOTA_LABEL, |
1088 | 34 | ) | 35 | ) |
1089 | 35 | from ubuntuone.controlpanel.gui.qt import uri_hook | 36 | from ubuntuone.controlpanel.gui.qt import uri_hook |
1090 | @@ -73,8 +74,9 @@ | |||
1091 | 73 | 74 | ||
1092 | 74 | used = int(info['quota_used']) | 75 | used = int(info['quota_used']) |
1093 | 75 | total = int(info['quota_total']) | 76 | total = int(info['quota_total']) |
1096 | 76 | data = {'used': humanize(used), 'total': humanize(total), | 77 | percentage = {'percentage': (used / total) * 100} |
1097 | 77 | 'percentage': (used / total) * 100} | 78 | data = {'used': humanize(used), 'total': humanize(total)} |
1098 | 79 | self.ui.percentage_usage_label.setText(PERCENTAGE_LABEL % percentage) | ||
1099 | 78 | self.ui.quota_usage_label.setText(QUOTA_LABEL % data) | 80 | self.ui.quota_usage_label.setText(QUOTA_LABEL % data) |
1100 | 79 | 81 | ||
1101 | 80 | @QtCore.pyqtSlot() | 82 | @QtCore.pyqtSlot() |
1102 | 81 | 83 | ||
1103 | === added file 'ubuntuone/controlpanel/gui/qt/main/ubuntuone.qss' | |||
1104 | --- ubuntuone/controlpanel/gui/qt/main/ubuntuone.qss 1970-01-01 00:00:00 +0000 | |||
1105 | +++ ubuntuone/controlpanel/gui/qt/main/ubuntuone.qss 2011-07-05 10:27:59 +0000 | |||
1106 | @@ -0,0 +1,145 @@ | |||
1107 | 1 | QMainWindow { | ||
1108 | 2 | background-color: #dd4814; | ||
1109 | 3 | } | ||
1110 | 4 | |||
1111 | 5 | QFrame#frmHeader { | ||
1112 | 6 | background: #ffffff; | ||
1113 | 7 | border-radius: 5px; | ||
1114 | 8 | border-style: solid; | ||
1115 | 9 | border-color: #939389; | ||
1116 | 10 | border-width: 1px; | ||
1117 | 11 | color: white; | ||
1118 | 12 | min-height: 100px; | ||
1119 | 13 | } | ||
1120 | 14 | |||
1121 | 15 | /*Change btnSyncing horizontal policy to Fixed to apply this | ||
1122 | 16 | QPushButton#btnSyncing{ | ||
1123 | 17 | margin-left: 20px; | ||
1124 | 18 | padding-left: 25px; | ||
1125 | 19 | padding-right: 25px; | ||
1126 | 20 | }*/ | ||
1127 | 21 | |||
1128 | 22 | QPushButton[enabled="true"] { | ||
1129 | 23 | background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, | ||
1130 | 24 | stop: 0 #fecfc2,stop: 1.0 #e44e19); | ||
1131 | 25 | border-radius: 5px; | ||
1132 | 26 | border-style: solid; | ||
1133 | 27 | padding: 6px; | ||
1134 | 28 | color: white; | ||
1135 | 29 | border-color: #939389; | ||
1136 | 30 | border-width: 1px; | ||
1137 | 31 | height: 12px; | ||
1138 | 32 | } | ||
1139 | 33 | |||
1140 | 34 | QPushButton:hover[enabled="true"] { | ||
1141 | 35 | background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, | ||
1142 | 36 | stop: 0 #fedad1,stop: 1.0 #e47a55); | ||
1143 | 37 | border-radius: 5px; | ||
1144 | 38 | border-style: solid; | ||
1145 | 39 | padding: 6px; | ||
1146 | 40 | color: white; | ||
1147 | 41 | border-color: #939389; | ||
1148 | 42 | border-width: 1px; | ||
1149 | 43 | height: 12px; | ||
1150 | 44 | } | ||
1151 | 45 | |||
1152 | 46 | QPushButton[enabled="false"] { | ||
1153 | 47 | background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, | ||
1154 | 48 | stop: 0 #eaeaea, stop: 1.0 #cacaca); | ||
1155 | 49 | border-radius: 5px; | ||
1156 | 50 | border-style: solid; | ||
1157 | 51 | padding: 6px; | ||
1158 | 52 | color: #595959; | ||
1159 | 53 | border-color: #939389; | ||
1160 | 54 | border-width: 1px; | ||
1161 | 55 | height: 12px; | ||
1162 | 56 | } | ||
1163 | 57 | |||
1164 | 58 | QTabBar::tab{ | ||
1165 | 59 | height: 15px; | ||
1166 | 60 | color: #333333; | ||
1167 | 61 | background-color: #e4e0dd; | ||
1168 | 62 | border-top-left-radius: 5px; | ||
1169 | 63 | border-top-right-radius: 5px; | ||
1170 | 64 | border-style: solid; | ||
1171 | 65 | padding: 10px; | ||
1172 | 66 | border-top-color: #939389; | ||
1173 | 67 | border-right-color: #939389; | ||
1174 | 68 | border-left-color: white; | ||
1175 | 69 | border-bottom-color: #939389; | ||
1176 | 70 | border-width: 1px; | ||
1177 | 71 | } | ||
1178 | 72 | |||
1179 | 73 | QTabBar::tab:selected{ | ||
1180 | 74 | background-color: white; | ||
1181 | 75 | border-top-left-radius: 5px; | ||
1182 | 76 | border-top-right-radius: 5px; | ||
1183 | 77 | border-style: solid; | ||
1184 | 78 | padding: 10px; | ||
1185 | 79 | border-top-color: #939389; | ||
1186 | 80 | border-right-color: #939389; | ||
1187 | 81 | border-left-color: white; | ||
1188 | 82 | border-bottom-color: white; | ||
1189 | 83 | border-width: 1px; | ||
1190 | 84 | } | ||
1191 | 85 | |||
1192 | 86 | QTabBar::tab:first:!selected{ | ||
1193 | 87 | border-left-color: #939389; | ||
1194 | 88 | border-left-color: #939389; | ||
1195 | 89 | } | ||
1196 | 90 | |||
1197 | 91 | QTabBar::tab:first:selected{ | ||
1198 | 92 | border-left-color: #939389; | ||
1199 | 93 | } | ||
1200 | 94 | |||
1201 | 95 | QTabBar::tab:middle:!selected{ | ||
1202 | 96 | border-left-color: #e4e0dd; | ||
1203 | 97 | } | ||
1204 | 98 | |||
1205 | 99 | QTabBar::tab:last:!selected{ | ||
1206 | 100 | border-left-color: #e4e0dd; | ||
1207 | 101 | } | ||
1208 | 102 | |||
1209 | 103 | QTabWidget{ | ||
1210 | 104 | border-bottom-left-radius: 5px; | ||
1211 | 105 | border-bottom-right-radius: 5px; | ||
1212 | 106 | border-style: solid; | ||
1213 | 107 | padding: 10px; | ||
1214 | 108 | } | ||
1215 | 109 | |||
1216 | 110 | QTabWidget::pane { | ||
1217 | 111 | border-bottom-left-radius: 5px; | ||
1218 | 112 | border-bottom-right-radius: 5px; | ||
1219 | 113 | border-top-right-radius: 5px; | ||
1220 | 114 | border-style: solid; | ||
1221 | 115 | border-color: #939389; | ||
1222 | 116 | border-width: 1px; | ||
1223 | 117 | background: white; | ||
1224 | 118 | border-top: 2px solid white; | ||
1225 | 119 | } | ||
1226 | 120 | |||
1227 | 121 | QTabBar::tab:hover { | ||
1228 | 122 | background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, | ||
1229 | 123 | stop: 0 #fafafa, stop: 0.4 #f4f4f4, | ||
1230 | 124 | stop: 0.5 #e7e7e7, stop: 1.0 #fafafa); | ||
1231 | 125 | } | ||
1232 | 126 | |||
1233 | 127 | QPushButton#help_button{ | ||
1234 | 128 | background: transparent; | ||
1235 | 129 | border: none; | ||
1236 | 130 | color: white; | ||
1237 | 131 | height: 20px; | ||
1238 | 132 | text-decoration: underline; | ||
1239 | 133 | padding: 0px; | ||
1240 | 134 | } | ||
1241 | 135 | |||
1242 | 136 | QGroupBox { | ||
1243 | 137 | padding-top: 30px; | ||
1244 | 138 | border: 0px solid; | ||
1245 | 139 | margin-top: 1ex; | ||
1246 | 140 | font: bold 15px; | ||
1247 | 141 | } | ||
1248 | 142 | |||
1249 | 143 | QGroupBox::title { | ||
1250 | 144 | color: #333333; | ||
1251 | 145 | } | ||
1252 | 0 | 146 | ||
1253 | === modified file 'ubuntuone/controlpanel/gui/qt/main/windows.py' | |||
1254 | --- ubuntuone/controlpanel/gui/qt/main/windows.py 2011-06-30 21:51:20 +0000 | |||
1255 | +++ ubuntuone/controlpanel/gui/qt/main/windows.py 2011-07-05 10:27:59 +0000 | |||
1256 | @@ -18,8 +18,11 @@ | |||
1257 | 18 | """Reactor installation for windows.""" | 18 | """Reactor installation for windows.""" |
1258 | 19 | 19 | ||
1259 | 20 | import sys | 20 | import sys |
1260 | 21 | import os | ||
1261 | 21 | 22 | ||
1262 | 22 | from PyQt4 import Qt | 23 | from PyQt4 import Qt |
1263 | 24 | from PyQt4.QtCore import QFile | ||
1264 | 25 | from PyQt4.QtCore import QString | ||
1265 | 23 | 26 | ||
1266 | 24 | 27 | ||
1267 | 25 | def main(switch_to='', alert=False): | 28 | def main(switch_to='', alert=False): |
1268 | @@ -34,6 +37,13 @@ | |||
1269 | 34 | # The main loop MUST be initialized before importing the reactor | 37 | # The main loop MUST be initialized before importing the reactor |
1270 | 35 | # pylint: disable=W0612 | 38 | # pylint: disable=W0612 |
1271 | 36 | app = Qt.QApplication(sys.argv) | 39 | app = Qt.QApplication(sys.argv) |
1272 | 40 | #Apply Style Sheet | ||
1273 | 41 | filePath = os.path.join(os.path.abspath(os.path.dirname(__file__)), | ||
1274 | 42 | 'ubuntuone.qss') | ||
1275 | 43 | qss = open(filePath, 'r') | ||
1276 | 44 | stylesheet = ''.join(qss.readlines()) | ||
1277 | 45 | qss.close() | ||
1278 | 46 | app.setStyleSheet(stylesheet) | ||
1279 | 37 | 47 | ||
1280 | 38 | # pylint: disable=W0404, F0401 | 48 | # pylint: disable=W0404, F0401 |
1281 | 39 | from twisted.internet import reactor | 49 | from twisted.internet import reactor |
I approve this branch.