51
74
self.set_position(Gtk.WindowPosition.CENTER)
57
self.__header = Gtk.Image()
58
self.__header.set_size_request(734, 162)
81
self.__header = Gtk.HBox()
82
self.__header.set_border_width(12)
83
self.__header.set_spacing(64)
59
84
vbox.pack_start(self.__header, False, False, 0)
60
85
self.__header.show()
62
header = self.__find_data_file('header.png')
64
self.__header.set_from_file(header)
87
self.__hlabelbox = Gtk.VBox()
88
self.__hlabelbox.set_spacing(12)
89
self.__header.pack_start(self.__hlabelbox, True, True, 0)
90
self.__hlabelbox.show()
92
self.__hlabel = Gtk.Label((u'<span size="xx-large">{}</span>').format(
93
u'Install Ubuntu One'))
94
self.__hlabel.set_use_markup(True)
95
self.__hlabel.set_alignment(0.0, 0.0)
96
self.__hlabelbox.pack_start(self.__hlabel, False, False, 0)
99
self.__hlabel2 = Gtk.Label((u'<span size="large">{}</span>').format(
100
u'Discover the freedom of your personal cloud'))
101
self.__hlabel2.set_use_markup(True)
102
self.__hlabel2.set_alignment(0.0, 0.0)
103
self.__hlabelbox.pack_start(self.__hlabel2, False, False, 0)
104
self.__hlabel2.show()
106
self.__hlogo = Gtk.Image()
107
self.__header.pack_end(self.__hlogo, False, False, 0)
110
logo = self.__find_data_file('u1logo.png')
112
self.__hlogo.set_from_file(logo)
66
114
self.__notebook = Gtk.Notebook()
67
115
self.__notebook.set_show_tabs(False)
68
116
self.__notebook.set_show_border(False)
69
117
self.__notebook.set_scrollable(False)
70
118
self.__notebook.popup_disable()
71
self.__notebook.set_size_request(734, 240)
119
#self.__notebook.set_size_request(734, 240)
73
121
self.__info_page = self.__construct_info_page()
74
122
self.__notebook.append_page(self.__info_page, None)
147
200
def __construct_info_page(self):
148
201
"""Build the initial info page."""
150
page.set_border_width(24)
203
page.set_border_width(12)
154
u'<big><b>{}</b></big>\n\n {}\n {}\n {}'.format(
155
u'The personal cloud that brings your digital life together',
156
u'• Synchronize files across devices\n',
157
u'• Access files from anywhere\n',
158
(u'• Add Music Streaming for unlimited'
159
u' music on the go')))
160
label.set_use_markup(True)
161
label.set_alignment(0.0, 0.0)
207
# Get the width of a larger character in pixels
208
layout = page.create_pango_layout(u'W')
209
(width, height) = layout.get_size()
210
width = width / Pango.SCALE
211
height = height / Pango.SCALE
213
table = Gtk.Table(3, 5, False)
214
table.set_row_spacings(12)
215
table.set_col_spacings(12)
216
page.pack_start(table, True, True, 24)
219
label = Gtk.Label(u'<big>{}</big>'.format(u'Sync'))
220
label.set_use_markup(True)
221
table.attach_defaults(label, 0, 1, 0, 1)
225
table.attach_defaults(image, 0, 1, 1, 2)
227
path = self.__find_data_file('sync.png')
229
image.set_from_file(path)
231
# Get the width in chars to set max for description labels
232
width_chars = (image.get_pixbuf().get_width() / width) * 2.5
234
label = Gtk.Label(u'<small>{}</small>'.format(
235
(u'Sync files across your devices.')))
236
label.set_max_width_chars(width_chars)
237
label.set_width_chars(width_chars)
238
label.set_use_markup(True)
239
label.set_line_wrap(True)
240
label.set_alignment(0.5, 0.0)
241
label.set_justify(Gtk.Justification.CENTER)
242
table.attach_defaults(label, 0, 1, 2, 3)
245
separator = VSeparator()
246
table.attach_defaults(separator, 1, 2, 0, 3)
249
label = Gtk.Label(u'<big>{}</big>'.format(u'Stream'))
250
label.set_use_markup(True)
251
table.attach_defaults(label, 2, 3, 0, 1)
255
table.attach_defaults(image, 2, 3, 1, 2)
257
path = self.__find_data_file('stream.png')
259
image.set_from_file(path)
261
label = Gtk.Label(u'<small>{}</small>'.format(
262
(u'Stream your music on the move and offline.')))
263
label.set_max_width_chars(width_chars)
264
label.set_width_chars(width_chars)
265
label.set_use_markup(True)
266
label.set_line_wrap(True)
267
label.set_alignment(0.5, 0.0)
268
label.set_justify(Gtk.Justification.CENTER)
269
table.attach_defaults(label, 2, 3, 2, 3)
272
separator = VSeparator()
273
table.attach_defaults(separator, 3, 4, 0, 3)
276
label = Gtk.Label(u'<big>{}</big>'.format(u'Share'))
277
label.set_use_markup(True)
278
table.attach_defaults(label, 4, 5, 0, 1)
282
table.attach_defaults(image, 4, 5, 1, 2)
284
path = self.__find_data_file('share.png')
286
image.set_from_file(path)
288
label = Gtk.Label(u'<small>{}</small>'.format(
289
(u'Share with colleagues, friends, and family.')))
290
label.set_max_width_chars(width_chars)
291
label.set_width_chars(width_chars)
292
label.set_use_markup(True)
293
label.set_line_wrap(True)
294
label.set_alignment(0.5, 0.0)
295
label.set_justify(Gtk.Justification.CENTER)
296
table.attach_defaults(label, 4, 5, 2, 3)