Merge lp:~tintou/pantheon-photos/google-photos into lp:~pantheon-photos/pantheon-photos/trunk
- google-photos
- Merge into trunk
Proposed by
Corentin Noël
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Cody Garver | ||||
Approved revision: | 2979 | ||||
Merged at revision: | 2979 | ||||
Proposed branch: | lp:~tintou/pantheon-photos/google-photos | ||||
Merge into: | lp:~pantheon-photos/pantheon-photos/trunk | ||||
Diff against target: |
1089 lines (+239/-605) 5 files modified
plugins/pantheon-photos-publishing/PicasaPublishing.vala (+6/-387) plugins/pantheon-photos-publishing/RESTSupport.vala (+1/-1) plugins/pantheon-photos-publishing/google-photos.svg (+146/-0) plugins/pantheon-photos-publishing/picasa_publishing_options_pane.ui (+86/-211) schemas/org.pantheon.photos.gschema.xml (+0/-6) |
||||
To merge this branch: | bzr merge lp:~tintou/pantheon-photos/google-photos | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Photos Devs | Pending | ||
Review via email:
|
Commit message
Use latest Google Photo API
Description of the change
Use latest Google Photo API (a.k.a remove functionalities)
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'plugins/pantheon-photos-publishing/PicasaPublishing.vala' |
2 | --- plugins/pantheon-photos-publishing/PicasaPublishing.vala 2016-02-19 19:55:55 +0000 |
3 | +++ plugins/pantheon-photos-publishing/PicasaPublishing.vala 2016-07-30 17:14:55 +0000 |
4 | @@ -5,7 +5,7 @@ |
5 | */ |
6 | |
7 | public class PicasaService : Object, Spit.Pluggable, Spit.Publishing.Service { |
8 | - private const string ICON_FILENAME = "picasa.png"; |
9 | + private const string ICON_FILENAME = "google-photos.svg"; |
10 | private GLib.Icon icon; |
11 | |
12 | public PicasaService (GLib.File resource_directory) { |
13 | @@ -22,7 +22,7 @@ |
14 | } |
15 | |
16 | public unowned string get_pluggable_name () { |
17 | - return "Picasa Web Albums"; |
18 | + return "Google Photos"; |
19 | } |
20 | |
21 | public void get_info (ref Spit.PluggableInfo info) { |
22 | @@ -53,8 +53,7 @@ |
23 | namespace Publishing.Picasa { |
24 | |
25 | internal const string SERVICE_WELCOME_MESSAGE = |
26 | - _ ("You are not currently logged into Picasa Web Albums.\n\nClick Login to log into Picasa Web Albums in your Web browser. You will have to authorize Shotwell Connect to link to your Picasa Web Albums account."); |
27 | -internal const string DEFAULT_ALBUM_NAME = _ ("Shotwell Connect"); |
28 | + _ ("You are not currently logged into Google Photos.\n\nClick Login to log into Google Photos in your Web browser. You will have to authorize elementary OS to link to your Google Photos account."); |
29 | |
30 | public class PicasaPublisher : Publishing.RESTSupport.GooglePublisher { |
31 | private bool running; |
32 | @@ -78,55 +77,14 @@ |
33 | this.progress_reporter = null; |
34 | } |
35 | |
36 | - private Album[] extract_albums_helper (Xml.Node *document_root) |
37 | - throws Spit.Publishing.PublishingError { |
38 | - Album[] result = new Album[0]; |
39 | - |
40 | - Xml.Node *doc_node_iter = null; |
41 | - if (document_root->name == "feed") |
42 | - doc_node_iter = document_root->children; |
43 | - else if (document_root->name == "entry") |
44 | - doc_node_iter = document_root; |
45 | - else |
46 | - throw new Spit.Publishing.PublishingError.MALFORMED_RESPONSE ("response root node " + |
47 | - "isn't a <feed> or <entry>"); |
48 | - |
49 | - for ( ; doc_node_iter != null; doc_node_iter = doc_node_iter->next) { |
50 | - if (doc_node_iter->name != "entry") |
51 | - continue; |
52 | - |
53 | - string name_val = null; |
54 | - string url_val = null; |
55 | - Xml.Node *album_node_iter = doc_node_iter->children; |
56 | - for ( ; album_node_iter != null; album_node_iter = album_node_iter->next) { |
57 | - if (album_node_iter->name == "title") { |
58 | - name_val = album_node_iter->get_content (); |
59 | - } else if (album_node_iter->name == "id") { |
60 | - // we only want nodes in the default namespace -- the feed that we get back |
61 | - // from Google also defines <entry> child nodes named <id> in the gphoto and |
62 | - // media namespaces |
63 | - if (album_node_iter->ns->prefix != null) |
64 | - continue; |
65 | - url_val = album_node_iter->get_content (); |
66 | - } |
67 | - } |
68 | - |
69 | - result += new Album (name_val, url_val); |
70 | - } |
71 | - |
72 | - return result; |
73 | - } |
74 | - |
75 | private void load_parameters_from_configuration_system (PublishingParameters parameters) { |
76 | parameters.set_major_axis_size_selection_id (get_host ().get_config_int ("default-size", 0)); |
77 | parameters.set_strip_metadata (get_host ().get_config_bool ("strip-metadata", false)); |
78 | - parameters.set_target_album_name (get_host ().get_config_string ("last-album", null)); |
79 | } |
80 | |
81 | private void save_parameters_to_configuration_system (PublishingParameters parameters) { |
82 | get_host ().set_config_int ("default-size", parameters.get_major_axis_size_selection_id ()); |
83 | get_host ().set_config_bool ("strip_metadata", parameters.get_strip_metadata ()); |
84 | - get_host ().set_config_string ("last-album", parameters.get_target_album_name ()); |
85 | } |
86 | |
87 | private void on_service_welcome_login () { |
88 | @@ -148,37 +106,6 @@ |
89 | do_fetch_account_information (); |
90 | } |
91 | |
92 | - private void on_initial_album_fetch_complete (Publishing.RESTSupport.Transaction txn) { |
93 | - txn.completed.disconnect (on_initial_album_fetch_complete); |
94 | - txn.network_error.disconnect (on_initial_album_fetch_error); |
95 | - |
96 | - if (!is_running ()) |
97 | - return; |
98 | - |
99 | - debug ("EVENT: finished fetching account and album information."); |
100 | - |
101 | - do_parse_and_display_account_information ((AlbumDirectoryTransaction) txn); |
102 | - } |
103 | - |
104 | - private void on_initial_album_fetch_error (Publishing.RESTSupport.Transaction bad_txn, |
105 | - Spit.Publishing.PublishingError err) { |
106 | - bad_txn.completed.disconnect (on_initial_album_fetch_complete); |
107 | - bad_txn.network_error.disconnect (on_initial_album_fetch_error); |
108 | - |
109 | - if (!is_running ()) |
110 | - return; |
111 | - |
112 | - debug ("EVENT: fetching account and album information failed; response = '%s'.", |
113 | - bad_txn.get_response ()); |
114 | - |
115 | - if (bad_txn.get_status_code () == 403 || bad_txn.get_status_code () == 404) { |
116 | - do_logout (); |
117 | - } else { |
118 | - // If we get any other kind of error, we can't recover, so just post it to the user |
119 | - get_host ().post_error (err); |
120 | - } |
121 | - } |
122 | - |
123 | private void on_publishing_options_logout () { |
124 | if (!is_running ()) |
125 | return; |
126 | @@ -195,67 +122,9 @@ |
127 | debug ("EVENT: user clicked 'Publish' in the publishing options pane."); |
128 | |
129 | save_parameters_to_configuration_system (publishing_parameters); |
130 | - |
131 | - if (publishing_parameters.is_to_new_album ()) { |
132 | - do_create_album (); |
133 | - } else { |
134 | - do_upload (); |
135 | - } |
136 | - } |
137 | - |
138 | - private void on_album_creation_complete (Publishing.RESTSupport.Transaction txn) { |
139 | - txn.completed.disconnect (on_album_creation_complete); |
140 | - txn.network_error.disconnect (on_album_creation_error); |
141 | - |
142 | - if (!is_running ()) |
143 | - return; |
144 | - |
145 | - debug ("EVENT: finished creating album on remote server."); |
146 | - |
147 | - AlbumCreationTransaction downcast_txn = (AlbumCreationTransaction) txn; |
148 | - Publishing.RESTSupport.XmlDocument response_doc; |
149 | - try { |
150 | - response_doc = Publishing.RESTSupport.XmlDocument.parse_string ( |
151 | - downcast_txn.get_response (), AlbumDirectoryTransaction.validate_xml); |
152 | - } catch (Spit.Publishing.PublishingError err) { |
153 | - get_host ().post_error (err); |
154 | - return; |
155 | - } |
156 | - |
157 | - Album[] response_albums; |
158 | - try { |
159 | - response_albums = extract_albums_helper (response_doc.get_root_node ()); |
160 | - } catch (Spit.Publishing.PublishingError err) { |
161 | - get_host ().post_error (err); |
162 | - return; |
163 | - } |
164 | - |
165 | - if (response_albums.length != 1) { |
166 | - get_host ().post_error (new Spit.Publishing.PublishingError.MALFORMED_RESPONSE ("album " + |
167 | - "creation transaction responses must contain one and only one album directory " + |
168 | - "entry")); |
169 | - return; |
170 | - } |
171 | - |
172 | - publishing_parameters.set_target_album_entry_url (response_albums[0].url); |
173 | - |
174 | do_upload (); |
175 | } |
176 | |
177 | - private void on_album_creation_error (Publishing.RESTSupport.Transaction bad_txn, |
178 | - Spit.Publishing.PublishingError err) { |
179 | - bad_txn.completed.disconnect (on_album_creation_complete); |
180 | - bad_txn.network_error.disconnect (on_album_creation_error); |
181 | - |
182 | - if (!is_running ()) |
183 | - return; |
184 | - |
185 | - debug ("EVENT: creating album on remote server failed; response = '%s'.", |
186 | - bad_txn.get_response ()); |
187 | - |
188 | - get_host ().post_error (err); |
189 | - } |
190 | - |
191 | private void on_upload_status_updated (int file_number, double completed_fraction) { |
192 | if (!is_running ()) |
193 | return; |
194 | @@ -305,40 +174,6 @@ |
195 | get_host ().install_account_fetch_wait_pane (); |
196 | get_host ().set_service_locked (true); |
197 | |
198 | - AlbumDirectoryTransaction directory_trans = |
199 | - new AlbumDirectoryTransaction (get_session ()); |
200 | - directory_trans.network_error.connect (on_initial_album_fetch_error); |
201 | - directory_trans.completed.connect (on_initial_album_fetch_complete); |
202 | - |
203 | - try { |
204 | - directory_trans.execute (); |
205 | - } catch (Spit.Publishing.PublishingError err) { |
206 | - // don't post the error here -- some errors are recoverable so let's let the error |
207 | - // handler function sort out whether the error is recoverable or not. If the error |
208 | - // isn't recoverable, the error handler will post the error to the host |
209 | - on_initial_album_fetch_error (directory_trans, err); |
210 | - } |
211 | - } |
212 | - |
213 | - private void do_parse_and_display_account_information (AlbumDirectoryTransaction transaction) { |
214 | - debug ("ACTION: parsing account and album information from server response XML"); |
215 | - |
216 | - Publishing.RESTSupport.XmlDocument response_doc; |
217 | - try { |
218 | - response_doc = Publishing.RESTSupport.XmlDocument.parse_string ( |
219 | - transaction.get_response (), AlbumDirectoryTransaction.validate_xml); |
220 | - } catch (Spit.Publishing.PublishingError err) { |
221 | - get_host ().post_error (err); |
222 | - return; |
223 | - } |
224 | - |
225 | - try { |
226 | - publishing_parameters.set_albums (extract_albums_helper (response_doc.get_root_node ())); |
227 | - } catch (Spit.Publishing.PublishingError err) { |
228 | - get_host ().post_error (err); |
229 | - return; |
230 | - } |
231 | - |
232 | do_show_publishing_options_pane (); |
233 | } |
234 | |
235 | @@ -368,27 +203,6 @@ |
236 | get_host ().set_service_locked (false); |
237 | } |
238 | |
239 | - private void do_create_album () { |
240 | - assert (publishing_parameters.is_to_new_album ()); |
241 | - |
242 | - debug ("ACTION: creating new album '%s' on remote server.", |
243 | - publishing_parameters.get_target_album_name ()); |
244 | - |
245 | - get_host ().install_static_message_pane (_ ("Creating album...")); |
246 | - |
247 | - get_host ().set_service_locked (true); |
248 | - |
249 | - AlbumCreationTransaction creation_trans = new AlbumCreationTransaction (get_session (), |
250 | - publishing_parameters); |
251 | - creation_trans.network_error.connect (on_album_creation_error); |
252 | - creation_trans.completed.connect (on_album_creation_complete); |
253 | - try { |
254 | - creation_trans.execute (); |
255 | - } catch (Spit.Publishing.PublishingError err) { |
256 | - get_host ().post_error (err); |
257 | - } |
258 | - } |
259 | - |
260 | private void do_upload () { |
261 | debug ("ACTION: uploading media items to remote server."); |
262 | |
263 | @@ -459,52 +273,6 @@ |
264 | } |
265 | } |
266 | |
267 | -internal class Album { |
268 | - public string name; |
269 | - public string url; |
270 | - |
271 | - public Album (string name, string url) { |
272 | - this.name = name; |
273 | - this.url = url; |
274 | - } |
275 | -} |
276 | - |
277 | -internal class AlbumDirectoryTransaction : |
278 | - Publishing.RESTSupport.GooglePublisher.AuthenticatedTransaction { |
279 | - private const string ENDPOINT_URL = "http://picasaweb.google.com/data/feed/api/user/" + |
280 | - "default"; |
281 | - |
282 | - public AlbumDirectoryTransaction (Publishing.RESTSupport.GoogleSession session) { |
283 | - base (session, ENDPOINT_URL, Publishing.RESTSupport.HttpMethod.GET); |
284 | - } |
285 | - |
286 | - public static string? validate_xml (Publishing.RESTSupport.XmlDocument doc) { |
287 | - Xml.Node *document_root = doc.get_root_node (); |
288 | - if ((document_root->name == "feed") || (document_root->name == "entry")) |
289 | - return null; |
290 | - else |
291 | - return "response root node isn't a <feed> or <entry>"; |
292 | - } |
293 | -} |
294 | - |
295 | -private class AlbumCreationTransaction : |
296 | - Publishing.RESTSupport.GooglePublisher.AuthenticatedTransaction { |
297 | - private const string ENDPOINT_URL = "http://picasaweb.google.com/data/feed/api/user/" + |
298 | - "default"; |
299 | - private const string ALBUM_ENTRY_TEMPLATE = "<?xml version='1.0' encoding='utf-8'?><entry xmlns='http://www.w3.org/2005/Atom' xmlns:gphoto='http://schemas.google.com/photos/2007'><title type='text'>%s</title><gphoto:access>%s</gphoto:access><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/photos/2007#album'></category></entry>"; |
300 | - |
301 | - public AlbumCreationTransaction (Publishing.RESTSupport.GoogleSession session, |
302 | - PublishingParameters parameters) { |
303 | - base (session, ENDPOINT_URL, Publishing.RESTSupport.HttpMethod.POST); |
304 | - |
305 | - string post_body = ALBUM_ENTRY_TEMPLATE.printf (Publishing.RESTSupport.decimal_entity_encode ( |
306 | - parameters.get_target_album_name ()), parameters.is_new_album_public () ? |
307 | - "public" : "private"); |
308 | - |
309 | - set_custom_payload (post_body, "application/atom+xml"); |
310 | - } |
311 | -} |
312 | - |
313 | internal class UploadTransaction : |
314 | Publishing.RESTSupport.GooglePublisher.AuthenticatedTransaction { |
315 | private PublishingParameters parameters; |
316 | @@ -516,7 +284,7 @@ |
317 | |
318 | public UploadTransaction (Publishing.RESTSupport.GoogleSession session, |
319 | PublishingParameters parameters, Spit.Publishing.Publishable publishable) { |
320 | - base (session, parameters.get_target_album_feed_url (), |
321 | + base (session, "https://picasaweb.google.com/data/feed/api/user/default/albumid/default", |
322 | Publishing.RESTSupport.HttpMethod.POST); |
323 | assert (session.is_authenticated ()); |
324 | this.session = session; |
325 | @@ -614,12 +382,6 @@ |
326 | private Gtk.Builder builder = null; |
327 | private Gtk.Box pane_widget = null; |
328 | private Gtk.Label login_identity_label = null; |
329 | - private Gtk.Label publish_to_label = null; |
330 | - private Gtk.RadioButton use_existing_radio = null; |
331 | - private Gtk.ComboBoxText existing_albums_combo = null; |
332 | - private Gtk.RadioButton create_new_radio = null; |
333 | - private Gtk.Entry new_album_entry = null; |
334 | - private Gtk.CheckButton public_check = null; |
335 | private Gtk.ComboBoxText size_combo = null; |
336 | private Gtk.CheckButton strip_metadata_check = null; |
337 | private Gtk.Button publish_button = null; |
338 | @@ -642,12 +404,6 @@ |
339 | // pull in all widgets from builder. |
340 | pane_widget = (Gtk.Box) builder.get_object ("picasa_pane_widget"); |
341 | login_identity_label = (Gtk.Label) builder.get_object ("login_identity_label"); |
342 | - publish_to_label = (Gtk.Label) builder.get_object ("publish_to_label"); |
343 | - use_existing_radio = (Gtk.RadioButton) builder.get_object ("use_existing_radio"); |
344 | - existing_albums_combo = (Gtk.ComboBoxText) builder.get_object ("existing_albums_combo"); |
345 | - create_new_radio = (Gtk.RadioButton) builder.get_object ("create_new_radio"); |
346 | - new_album_entry = (Gtk.Entry) builder.get_object ("new_album_entry"); |
347 | - public_check = (Gtk.CheckButton) builder.get_object ("public_check"); |
348 | size_combo = (Gtk.ComboBoxText) builder.get_object ("size_combo"); |
349 | strip_metadata_check = (Gtk.CheckButton) this.builder.get_object ("strip_metadata_check"); |
350 | publish_button = (Gtk.Button) builder.get_object ("publish_button"); |
351 | @@ -660,11 +416,9 @@ |
352 | |
353 | |
354 | if ((parameters.get_media_type () & Spit.Publishing.Publisher.MediaType.PHOTO) == 0) { |
355 | - publish_to_label.set_label (_ ("Videos will appear in:")); |
356 | size_combo.set_visible (false); |
357 | size_combo.set_sensitive (false); |
358 | } else { |
359 | - publish_to_label.set_label (_ ("Photos will appear in:")); |
360 | foreach (SizeDescription desc in size_descriptions) { |
361 | size_combo.append_text (desc.name); |
362 | } |
363 | @@ -674,9 +428,6 @@ |
364 | } |
365 | |
366 | // connect all signals. |
367 | - use_existing_radio.clicked.connect (on_use_existing_radio_clicked); |
368 | - create_new_radio.clicked.connect (on_create_new_radio_clicked); |
369 | - new_album_entry.changed.connect (on_new_album_entry_changed); |
370 | logout_button.clicked.connect (on_logout_clicked); |
371 | publish_button.clicked.connect (on_publish_clicked); |
372 | } |
373 | @@ -691,52 +442,13 @@ |
374 | parameters.set_major_axis_size_pixels ( |
375 | size_descriptions[size_combo_last_active].major_axis_pixels); |
376 | parameters.set_strip_metadata (strip_metadata_check.get_active ()); |
377 | - |
378 | - Album[] albums = parameters.get_albums (); |
379 | - |
380 | - if (create_new_radio.get_active ()) { |
381 | - parameters.set_target_album_name (new_album_entry.get_text ()); |
382 | - parameters.set_is_to_new_album (true); |
383 | - parameters.set_is_new_album_public (public_check.get_active ()); |
384 | - publish (); |
385 | - } else { |
386 | - parameters.set_target_album_name (albums[existing_albums_combo.get_active ()].name); |
387 | - parameters.set_is_to_new_album (false); |
388 | - parameters.set_target_album_entry_url (albums[existing_albums_combo.get_active ()].url); |
389 | - publish (); |
390 | - } |
391 | - } |
392 | - |
393 | - private void on_use_existing_radio_clicked () { |
394 | - existing_albums_combo.set_sensitive (true); |
395 | - new_album_entry.set_sensitive (false); |
396 | - existing_albums_combo.grab_focus (); |
397 | - update_publish_button_sensitivity (); |
398 | - public_check.set_sensitive (false); |
399 | - } |
400 | - |
401 | - private void on_create_new_radio_clicked () { |
402 | - new_album_entry.set_sensitive (true); |
403 | - existing_albums_combo.set_sensitive (false); |
404 | - new_album_entry.grab_focus (); |
405 | - update_publish_button_sensitivity (); |
406 | - public_check.set_sensitive (true); |
407 | + publish (); |
408 | } |
409 | |
410 | private void on_logout_clicked () { |
411 | logout (); |
412 | } |
413 | |
414 | - private void update_publish_button_sensitivity () { |
415 | - string album_name = new_album_entry.get_text (); |
416 | - publish_button.set_sensitive (! (album_name.strip () == "" && |
417 | - create_new_radio.get_active ())); |
418 | - } |
419 | - |
420 | - private void on_new_album_entry_changed () { |
421 | - update_publish_button_sensitivity (); |
422 | - } |
423 | - |
424 | private SizeDescription[] create_size_descriptions () { |
425 | SizeDescription[] result = new SizeDescription[0]; |
426 | |
427 | @@ -749,42 +461,6 @@ |
428 | return result; |
429 | } |
430 | |
431 | - public void installed () { |
432 | - int default_album_id = -1; |
433 | - string last_album = parameters.get_target_album_name (); |
434 | - |
435 | - Album[] albums = parameters.get_albums (); |
436 | - |
437 | - for (int i = 0; i < albums.length; i++) { |
438 | - existing_albums_combo.append_text (albums[i].name); |
439 | - if (albums[i].name == last_album || |
440 | - (albums[i].name == DEFAULT_ALBUM_NAME && default_album_id == -1)) |
441 | - default_album_id = i; |
442 | - } |
443 | - |
444 | - if (albums.length == 0) { |
445 | - existing_albums_combo.set_sensitive (false); |
446 | - use_existing_radio.set_sensitive (false); |
447 | - create_new_radio.set_active (true); |
448 | - new_album_entry.grab_focus (); |
449 | - new_album_entry.set_text (DEFAULT_ALBUM_NAME); |
450 | - } else { |
451 | - if (default_album_id >= 0) { |
452 | - use_existing_radio.set_active (true); |
453 | - existing_albums_combo.set_active (default_album_id); |
454 | - new_album_entry.set_sensitive (false); |
455 | - public_check.set_sensitive (false); |
456 | - } else { |
457 | - create_new_radio.set_active (true); |
458 | - existing_albums_combo.set_active (0); |
459 | - new_album_entry.set_text (DEFAULT_ALBUM_NAME); |
460 | - new_album_entry.grab_focus (); |
461 | - public_check.set_sensitive (true); |
462 | - } |
463 | - } |
464 | - update_publish_button_sensitivity (); |
465 | - } |
466 | - |
467 | public Gtk.Widget get_widget () { |
468 | return pane_widget; |
469 | } |
470 | @@ -794,7 +470,7 @@ |
471 | } |
472 | |
473 | public void on_pane_installed () { |
474 | - installed (); |
475 | + |
476 | } |
477 | |
478 | public void on_pane_uninstalled () { |
479 | @@ -804,67 +480,18 @@ |
480 | internal class PublishingParameters { |
481 | public const int ORIGINAL_SIZE = -1; |
482 | |
483 | - private string? target_album_name; |
484 | - private string? target_album_url; |
485 | - private bool album_public; |
486 | private bool strip_metadata; |
487 | private int major_axis_size_pixels; |
488 | private int major_axis_size_selection_id; |
489 | private string user_name; |
490 | - private Album[] albums; |
491 | private Spit.Publishing.Publisher.MediaType media_type; |
492 | - private bool to_new_album; |
493 | |
494 | public PublishingParameters () { |
495 | this.user_name = "[unknown]"; |
496 | - this.target_album_name = null; |
497 | this.major_axis_size_selection_id = 0; |
498 | this.major_axis_size_pixels = ORIGINAL_SIZE; |
499 | - this.target_album_url = null; |
500 | - this.album_public = false; |
501 | - this.albums = null; |
502 | this.strip_metadata = false; |
503 | this.media_type = Spit.Publishing.Publisher.MediaType.PHOTO; |
504 | - this.to_new_album = true; |
505 | - } |
506 | - |
507 | - public bool is_to_new_album () { |
508 | - return to_new_album; |
509 | - } |
510 | - |
511 | - public void set_is_to_new_album (bool to_new_album) { |
512 | - this.to_new_album = to_new_album; |
513 | - } |
514 | - |
515 | - public void set_is_new_album_public (bool album_public) { |
516 | - this.album_public = album_public; |
517 | - } |
518 | - |
519 | - public bool is_new_album_public () { |
520 | - return album_public; |
521 | - } |
522 | - |
523 | - public string get_target_album_name () { |
524 | - return target_album_name; |
525 | - } |
526 | - |
527 | - public void set_target_album_name (string target_album_name) { |
528 | - this.target_album_name = target_album_name; |
529 | - } |
530 | - |
531 | - public void set_target_album_entry_url (string target_album_url) { |
532 | - this.target_album_url = target_album_url; |
533 | - } |
534 | - |
535 | - public string get_target_album_entry_url () { |
536 | - return target_album_url; |
537 | - } |
538 | - |
539 | - public string get_target_album_feed_url () { |
540 | - string entry_url = get_target_album_entry_url (); |
541 | - string feed_url = entry_url.replace ("entry", "feed"); |
542 | - |
543 | - return feed_url; |
544 | } |
545 | |
546 | public string get_user_name () { |
547 | @@ -875,14 +502,6 @@ |
548 | this.user_name = user_name; |
549 | } |
550 | |
551 | - public Album[] get_albums () { |
552 | - return albums; |
553 | - } |
554 | - |
555 | - public void set_albums (Album[] albums) { |
556 | - this.albums = albums; |
557 | - } |
558 | - |
559 | public void set_major_axis_size_pixels (int pixels) { |
560 | this.major_axis_size_pixels = pixels; |
561 | } |
562 | |
563 | === modified file 'plugins/pantheon-photos-publishing/RESTSupport.vala' |
564 | --- plugins/pantheon-photos-publishing/RESTSupport.vala 2016-01-14 12:35:35 +0000 |
565 | +++ plugins/pantheon-photos-publishing/RESTSupport.vala 2016-07-30 17:14:55 +0000 |
566 | @@ -1138,7 +1138,7 @@ |
567 | do_exchange_refresh_token_for_access_token (); |
568 | } else { |
569 | if (WebAuthenticationPane.is_cache_dirty ()) { |
570 | - host.install_static_message_pane (_ ("You have already logged in and out of a Google service during this Shotwell session.\n\nTo continue publishing to Google services, quit and restart Shotwell, then try publishing again.")); |
571 | + host.install_static_message_pane (_ ("You have already logged in and out of a Google service during this session.\n\nTo continue publishing to Google services, quit and restart this software, then try publishing again.")); |
572 | return; |
573 | } |
574 | |
575 | |
576 | === added file 'plugins/pantheon-photos-publishing/google-photos.svg' |
577 | --- plugins/pantheon-photos-publishing/google-photos.svg 1970-01-01 00:00:00 +0000 |
578 | +++ plugins/pantheon-photos-publishing/google-photos.svg 2016-07-30 17:14:55 +0000 |
579 | @@ -0,0 +1,146 @@ |
580 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
581 | +<svg |
582 | + xmlns:dc="http://purl.org/dc/elements/1.1/" |
583 | + xmlns:cc="http://creativecommons.org/ns#" |
584 | + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |
585 | + xmlns:svg="http://www.w3.org/2000/svg" |
586 | + xmlns="http://www.w3.org/2000/svg" |
587 | + xmlns:xlink="http://www.w3.org/1999/xlink" |
588 | + xml:space="preserve" |
589 | + height="96" |
590 | + width="96" |
591 | + version="1.1" |
592 | + y="0px" |
593 | + x="0px" |
594 | + viewBox="0 0 96 96" |
595 | + enable-background="new 0 0 96 96" |
596 | + id="svg2"><metadata |
597 | + id="metadata86"><rdf:RDF><cc:Work |
598 | + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type |
599 | + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs |
600 | + id="defs84" /><g |
601 | + id="g4"><defs |
602 | + id="defs6"><path |
603 | + d="M 95,48 73,48 73,23 49.71,0.3 C 49.53,0.11 49.28,0 49,0 48.45,0 48,0.45 48,1 L 48,23 23,23 0.3,46.29 C 0.11,46.47 0,46.72 0,47 c 0,0.55 0.45,1 1,1 l 22,0 0,25 23.29,22.7 c 0.18,0.19 0.43,0.3 0.71,0.3 0.55,0 1,-0.45 1,-1 L 48,73 73,73 95.7,49.71 C 95.89,49.53 96,49.28 96,49 96,48.45 95.55,48 95,48 Z" |
604 | + id="path8" /></defs><clipPath |
605 | + id="clipPath10"><use |
606 | + height="100%" |
607 | + width="100%" |
608 | + y="0" |
609 | + x="0" |
610 | + style="overflow:visible" |
611 | + overflow="visible" |
612 | + xlink:href="#SVGID_63_" |
613 | + id="use12" /></clipPath><radialGradient |
614 | + gradientUnits="userSpaceOnUse" |
615 | + cy="23" |
616 | + cx="22.860001" |
617 | + r="77.190002" |
618 | + id="radialGradient74"><stop |
619 | + stop-color="#fff" |
620 | + offset="0" |
621 | + id="stop76" /><stop |
622 | + stop-color="#fff" |
623 | + stop-opacity="0" |
624 | + offset="1" |
625 | + id="stop78" /></radialGradient><g |
626 | + transform="translate(-21.152542,61.830508)" |
627 | + id="g4284"><g |
628 | + id="g14" |
629 | + clip-path="url(#SVGID_2_)" |
630 | + transform="translate(21.152542,-61.830508)"><path |
631 | + style="fill:#4285f4" |
632 | + id="path16" |
633 | + d="M 95.7,49.71 C 95.89,49.53 96,49.28 96,49 96,48.45 95.55,48 95,48 l -47,0 0,25 25,0 22.7,-23.29 z" /><image |
634 | + style="overflow:visible;opacity:0.2" |
635 | + id="image18" |
636 | + overflow="visible" |
637 | + width="37" |
638 | + height="38" |
639 | + transform="translate(44,44)" |
640 | + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAmCAYAAABDClKtAAAACXBIWXMAAAsSAAALEgHS3X78AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABNJJREFUeNrMmEtv20YQx2dml6Qe kfyUk9RFoaY+RafCyD1A0I+gez+Kv0+O/QK+G4FPziGHIEDTtKlQ144smRK5M/2TUhw7duIngwqg uCT38duZ2dmZJfof/viK7+xbQvkLgJj6/U9gz3sA2vqmcO4s0BY/fUriX73ybe/d4njs1ps73Ov1 +M2bX1Fl+5uqrwTa3PzN/UkU1XDV09hRm+h4Og1LRFmapvne48eBnj/XqiX2UVKFhNzvgFkcuTpe N7Xm7mWZNRLz8Sj3EpoRLb929uzZz/by5cvK1ce0tcXNnR3HUZSEYPd8LEtB8yXH1jbhOrM5yYRC 44P+kef2y5MnlYKVUP1OR97A6OMsq0mgBWVdZXZrxrxipC1RiYgDmWO1cazvdFwpmHwsrAyHMmH2 KlRXkkUzui9mP7DKjzC4LjleZ3WdpsvbdEC1ncEg6vf78gUXcntJra2tyWjU8mTDOvlkiZQeQGXf MdNDfF4itkZR14yNKWgiHLJjCVVJrITqdrtydBSirG51y3SJme9j+BkU8yobNXGPizXHBBVSCFWC yRm3rcrOiUAfEbPWoEI4BVsFyTqAugD7CertQmLrwbLKVCnn9pNCR8QCoUR4rAGmjXIH5XV86IpS 5WBy4VuMiN9MYnMwjNUpJKZcPZh8zdufSIwBRlaosoPRKgeTr3+GxACGe6lKjFKqsmowuayCAQwG LihEVoJZ5WBypVpWeIKyLiTGlYPJNeoWHc9XZbVgck3JwsaqB5Mb2GHlYHLDVVspmNzCx1UGJrfc ESoBkzvYP+8c7C6grg0ml4D5r7pMKoK6YntGEGNlBmOXODKe9ckJCq1yn6KicdnatIhB8IxQTDma mA3Vdt++NeSZ+eksyZ+fcrkPo0IoYhgEdCiQBXwJ/OUM+vNseu79ERyiPTiKtgFvcy76CrizBOFa LkkrbL5+rS8+TdhO1OdcbCximISqFRCUodYUlJPyIkuBk+L9ZRfqol0BMQuDYvy3ALXCSg+LiBaz fYDAaNnySSs0x8k/rZbrn8rKz0jKTaeqvp4j2p0AaAyIIXo95FnAUOMylDG+2nZZVlT8ZYWUoDdf xvrMbYAtYtptZX8gGR81B4PJgCg/A9XpdGwyeasjruc+BZDKkTjdhw7/mtf7gM7juVr4qhtlYZMI LwoTyND+GM8jmERebPBYAB7a9CFGBNJY5OFwyPNmVkL1ej3b3T3S7MEww7uxMO9j/HfFVCHyQ2Nt QEqI2+1aq1Xn1g07xfw0A9Ax+jnEGAcIOsYFrJt69UeIimrpubME2dzcdGmaJtRo3JvksixssAFe hmxaJJIgqXBGiJDN+BqOwmaDQFjIcMnztAQz+qCO95GN/+t4ejCO49FGkmTb29thtmJP4PqysbHr aWUlSVQbE42azkLT1CXKuXeGVeCMb+bEYEU5Wy4wWUgnD5p6dqNMZVwL8ZhoMN3bg1ugLTsNRfNz KdnY3fVJ8n0kkkdj1sg79iHkyJtnKdiNvSvmJCnm5b1mSnluLmvrfhZCyD4/zeFztgkw+A05PFyT tHMgy6NRaUchLN86dXJu36IosvdxbLXBoi4s/K0vHj3SORBdBHX2NK84vevv8dPB4M7PCrax2k+d EJ7bKfia56F3/btw2/pPgAEAo6srCUabVPkAAAAASUVORK5CYII=" /><polygon |
641 | + style="fill:#3367d6" |
642 | + id="polygon20" |
643 | + points="48,73 73,73 48,48 " /><path |
644 | + style="fill:#263238;fill-opacity:0.2" |
645 | + id="path22" |
646 | + d="M 73,73 95.7,49.71 C 95.89,49.53 96,49.28 96,49 c 0,-0.09 -0.03,-0.17 -0.05,-0.25 -0.05,0.17 -0.12,0.34 -0.24,0.46 L 73,72.5 l -25,0 0,0.5 25,0 z" /><polygon |
647 | + style="fill:#263238;fill-opacity:0.1" |
648 | + id="polygon24" |
649 | + points="48,48 48,48.5 72.5,73 73,73 " /><path |
650 | + style="fill:#ffffff;fill-opacity:0.2" |
651 | + id="path26" |
652 | + d="M 95.95,49.25 C 95.97,49.17 96,49.09 96,49 96,48.45 95.55,48 95,48 l -47,0 0,0.5 47,0 c 0.46,0 0.84,0.32 0.95,0.75 z" /></g><g |
653 | + id="g28" |
654 | + clip-path="url(#SVGID_2_)" |
655 | + transform="translate(21.152542,-61.830508)"><path |
656 | + style="fill:#8bc34a" |
657 | + id="path32" |
658 | + d="m 46.29,95.7 c 0.18,0.19 0.43,0.3 0.71,0.3 0.55,0 1,-0.45 1,-1 l 0,-47 -25,0 0,25 23.29,22.7 z" /><image |
659 | + style="overflow:visible;opacity:0.2" |
660 | + id="image34" |
661 | + overflow="visible" |
662 | + width="37" |
663 | + height="38" |
664 | + transform="translate(17,42)" |
665 | + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAmCAYAAABDClKtAAAACXBIWXMAAAsSAAALEgHS3X78AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABRpJREFUeNrMmN1OG0cUx8+Zmd01 Bupg6jZNclOUqlIiVYpQ77nvNfe962vwFH2C3PES3FZRlSunqpQiUhqgMRjwxvZ+zMzpf9YOgQbC R9iqRoOXY++ZH+d7luniF1P9L7nqxjxZa0SrXV7p9W4dbqPTEVp/LNUeEzC5CGpyvbqqljc31fHx FyrrHKn2cKiC2Ln2J8Np3ZcoiuTvOJZG745vtd74X5eWPK2v+9OWOwsFoIfPn5skeRApZaMR+8ho Ns5ZRTO4w/sbg7FSojIl2hhferJWdPmZ75fOubL76JGbgp2BwjuAHj43tLiYJN43cx/NanGz4nXi 2Rot0KrlRlDMLGxZrPLeEJXW+cywHpZejRouHhH1im531cKdlSvfbaKWl5d1lmUJNZtzuVVtxbLI ntukaJ6USmAlLaSY5BpggJn8x17IsyfDBSRjrIHX3HdODjUXR6M4Hj5MknJjY8MFKBPuWVtbo6dP f1HF3TSKRm5OEX8OqAdO0z2oaov4JhNHkKnr5KQP3gi/WHlRvmQnY2x3LCQ9dorhCUA2Rq1BlKWN 1E49V0FRt9vlDoL6jefIkG9aUW1N/h6M/jW+dhdA81Afw7DqlHUvNxRBAwvMJCX+GuPOAcRvoKKE 7AjKIhcjXpv4avb+vgqqh7QfDueV0T0jZiZhcnOIujY+uot1H6sFkzeYSckV65dU9HA6Ygg3ZMFl YHRwadhToMh6MVYX7M3bI5kPZWIa6Oa0IhfHyhTWeNIJs2+KIJ6YW/ivFqAwAY4OzrgKEwfHBSCB DRjvTBZSBDXiKVhJ80CXdgT758NWxz6aQNEZKBfci5QXrZXyrCGKoDgWAQyFxQ0A6StUeqEpULWY C4hSCA+QNLu43kEC7cGpfWWSVA11vuhSt76xcQKlPtCI7EJgqyp1mBXSWVeLKqDLlppCv4MaYvVh oT0YeFs8vfLC28i8Pav9YU6jUZ7/VVYF9FRlNx/vfcJVDMm71nOyzrXQJI7gJpIct6S43ofrd0D6 Ch9sIo5eQdlOIebA2ySlO5QvLy3Zl6cK57mWumljDcnPlXUkA9AA1z3IXgNkC3b/Q3nagu1fa456 3pkBgLLvO51y/V9AtwV1LaDhJUC3AXXrQJ8KVQvQp0DVBnRTqFqBLisJH0v72oCuC1VV6mkdqg3o 6lChfHr8cKjUVWGsDehKMRXGDzjNV00V3b5uoCtYCm0Q4wfeq+YK7cNJ66gP6DKoah6qYKrxI3R7 6le9rEagi6Gwk1TzWWWhah4K40fo9qG51gl0LlQ4eYQY4om7AtAAEhvmIZhuu+r2NQJ9ABXOZq7A pMeqxMCasZIBAtsBcoiU2MOhZKsaP2oEOgOldSy6OMbYPGPFSo4YTyHexzaHsM4x9nuNoW87zEN1 Ap1AdTAfp+mmpCZ2UWELHFrewm4HAHChpSjhPiZ9jLK0pynarxPojKUO5ud9YzSyKI9j0v6IWGv4 cSDsS3HqkJzsi/H9YdlI6wQ6KZ7rjx/LbK/nLXNpceLQyhx68Xs4SWwrUn9iKN4hr/eRkIO6gc48 S1hZWdEv8zxqDWimNDRDsU6ccyrGwbFwOGrPuIwO2vmTJ3O2TiCankAqqK2tH+mbL3+jnnGilHPJ WBVmlsaZL8YLGkCjUfH7d/fdi5qBTkOFR1m0u/uTLH+761O4Mv+qbUtjyuZgUC4sLNhnz35w9OJn qRvovCd5PH1O9V4+eeImH3scWDfURbL/BOZ//fpHgAEAH/AR7cEXvmwAAAAASUVORK5CYII=" /><polygon |
666 | + style="fill:#0f9d58" |
667 | + id="polygon36" |
668 | + points="23,73 48,48 23,48 " /><path |
669 | + style="fill:#3e2723;fill-opacity:0.1" |
670 | + id="path38" |
671 | + d="m 47,95.5 c -0.28,0 -0.53,-0.11 -0.71,-0.3 L 23.25,72.75 23,73 46.29,95.7 c 0.18,0.19 0.43,0.3 0.71,0.3 0.55,0 1,-0.45 1,-1 l 0,-0.5 c 0,0.55 -0.45,1 -1,1 z" /><polygon |
672 | + style="fill:#3e2723;fill-opacity:0.05" |
673 | + id="polygon40" |
674 | + points="48,48.5 47.5,48.5 23,73 23,73.5 " /></g><g |
675 | + id="g42" |
676 | + clip-path="url(#SVGID_2_)" |
677 | + transform="translate(21.152542,-61.830508)"><path |
678 | + style="fill:#ffbc00" |
679 | + id="path46" |
680 | + d="M 0.3,46.29 C 0.11,46.47 0,46.72 0,47 c 0,0.55 0.45,1 1,1 L 48,48 48,23 23,23 0.3,46.29 Z" /><image |
681 | + style="overflow:visible;opacity:0.2" |
682 | + id="image48" |
683 | + overflow="visible" |
684 | + width="34" |
685 | + height="35" |
686 | + transform="translate(19.5,18.5)" |
687 | + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAkCAYAAAAD3IPhAAAACXBIWXMAAAsSAAALEgHS3X78AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA9ZJREFUeNrMmFtvEzsQgGfGzm4u mwKBJgKKEEKnErz2D/Sn88YTT7xxXhBNqXqhSZvmsvHac8ZZbxoQaUOypMeSY8e3+Ty+zSzCzwEP 5Wf/AOCo/Q+Oxy+h7FCrHcOrs3/5yyeAD3kRz4UXGYHAwYsXFBFR0iBK4xqCIawwY1kgBpGh4jhO x3x1Y93QGFc9O3OfAhAWILu7u9RrNitjokgjxlIs3ZgIGYlgYyCHwM75wdARsLHMU2YzrZ4PTK/X sx5Ie6B0bw+v4lhbtHUBeSSYjwA5AYJY8mQxh2FYT0vSPZ85ggMPATyUSfadoivYbQ6blQqDaMjD wDSKaIJYAUWJKKHNzHsiti2Sm1IdMYMKw+KaKuI8spV0JJlzmVfX68iiMqpVzw7fv89hVJoiNWIl LUUT/Fim8lKEvpGqtsRE8hVJaXGP/SmMdJQ5sZEhruX/N08nizZgxGuq1SZv9/chh5FNUVHEsqi+ g2/my5MA80xiA26BYA0oGVeWCHAq+V4Y4Fx+voGcEbQWj46OZkIh3tlxSqkM07Go0PWl6CJ06vBs qaG2IZCfocBAGrruSFFdRohQDgkbI9fIeKYZHlSrvqGByWQoDT2xCGcfq7L5/MlajOsAFTA+RGEM JaXkV9CFgzHbmCcnJ5gpxTWt5Xj5bQWZiLFBngoDFCA69Cv2UJHeFyEAjYPmu4x8TIwXiGrESZLp grzb7cLTTidrNhoj1jMS9CvEtxqY5TFP/ZJJq7mG7j/dywHnQS+q8snpqXve6Zj+s8ZoJMTW/nxf Y8iHtMG3QKXc0osw/q3gQwF6BR0DHkhtF0j/WvCQQPp3hQ8FpJdVPASQvqty20D6vgbbBNKrNNoW kF614YZA5cKUAMSlwqwLtCCHS4VZB0hCvXiU7wLS615Qfwj0lHObyOEdQHqT63tVoPDUPwny3DIN bQSzKhDw3LhKZkZcACq8hiKoMp7+rxJbwyF0KGLbqDiLaMTo9UKzINifJu3dHlGSt4MvheRYYlcq LhDU2BtXpcCsCORtaQya6UvuRNJjcnihSI1cktjSYO4C4hzAzo1yhJ6UeZjvhHSpongctVrlwiwD coBG9scUc+9gJOklzmD4FIj7Kqqlr9+9Kx/md0ApUyZbOJV18sb4tYD98F6IuAU/MusGKZC5mkzc X4H5FWgQxeKmOaM8DJJ4keB9s75yOIgcTIY3N/bj58/812AWgdJ63UWtqSXUBpy49c6N2OEoZp48 HgyyTK6GrwDlfXu5z1U5OADxEdsE1zE1nAMbxxxNpy7udvnD4veZLQZc4m3+/8J/AgwA3MF+EysI U+8AAAAASUVORK5CYII=" /><polygon |
688 | + style="fill:#ff9800" |
689 | + id="polygon50" |
690 | + points="48,23 23,23 48,48 " /><path |
691 | + style="fill:#ffffff;fill-opacity:0.2" |
692 | + id="path52" |
693 | + d="M 23,23 0.3,46.29 C 0.11,46.47 0,46.72 0,47 0,47.09 0.03,47.17 0.05,47.25 0.1,47.08 0.17,46.91 0.29,46.79 L 23,23.5 l 25,0 0,-0.5 -25,0 z" /><path |
694 | + style="fill:#3e2723;fill-opacity:0.05" |
695 | + id="path54" |
696 | + d="M 0.05,47.25 C 0.03,47.33 0,47.41 0,47.5 c 0,0.55 0.45,1 1,1 l 47,0 L 48,48 1,48 C 0.54,48 0.16,47.68 0.05,47.25 Z" /><polygon |
697 | + style="fill:#3e2723;fill-opacity:0.1" |
698 | + id="polygon56" |
699 | + points="48,48 48,47.5 23.5,23 23,23 " /></g><g |
700 | + id="g58" |
701 | + clip-path="url(#SVGID_2_)" |
702 | + transform="translate(21.152542,-61.830508)"><path |
703 | + style="fill:#db4437" |
704 | + id="path60" |
705 | + d="M 49.71,0.3 C 49.53,0.11 49.28,0 49,0 48.45,0 48,0.45 48,1 L 48,48 73,48 73,23 49.71,0.3 Z" /><path |
706 | + style="fill:#ffffff;fill-opacity:0.2" |
707 | + id="path62" |
708 | + d="M 49.71,0.3 C 49.53,0.11 49.28,0 49,0 48.45,0 48,0.45 48,1 l 0,0.5 c 0,-0.55 0.45,-1 1,-1 0.28,0 0.53,0.11 0.71,0.3 L 72.49,23.01 73,23 49.71,0.3 Z" /><polygon |
709 | + style="fill:#ad1457" |
710 | + id="polygon64" |
711 | + points="73,23 48,48 73,48 " /><g |
712 | + style="opacity:0.2" |
713 | + id="g66"><polygon |
714 | + style="fill:#ffffff" |
715 | + id="polygon68" |
716 | + points="48,47.5 48.5,47.5 73,23 72.49,23.01 " /></g><rect |
717 | + style="fill:#3e2723;fill-opacity:0.1" |
718 | + id="rect70" |
719 | + x="48" |
720 | + y="47.5" |
721 | + width="25" |
722 | + height="0.5" /><polygon |
723 | + style="fill:#f1f1f1" |
724 | + id="polygon72" |
725 | + points="45,45 48,38 51,45 58,48 51,51 48,58 45,51 38,48 " /></g></g></g></svg> |
726 | \ No newline at end of file |
727 | |
728 | === modified file 'plugins/pantheon-photos-publishing/picasa_publishing_options_pane.ui' |
729 | --- plugins/pantheon-photos-publishing/picasa_publishing_options_pane.ui 2016-01-29 03:10:35 +0000 |
730 | +++ plugins/pantheon-photos-publishing/picasa_publishing_options_pane.ui 2016-07-30 17:14:55 +0000 |
731 | @@ -1,235 +1,103 @@ |
732 | <?xml version="1.0" encoding="UTF-8"?> |
733 | +<!-- Generated with glade 3.18.3 --> |
734 | <interface> |
735 | - <!-- interface-requires gtk+ 3.0 --> |
736 | + <requires lib="gtk+" version="3.0"/> |
737 | <object class="GtkBox" id="picasa_pane_widget"> |
738 | <property name="visible">True</property> |
739 | <property name="can_focus">False</property> |
740 | + <property name="halign">center</property> |
741 | + <property name="margin_left">12</property> |
742 | + <property name="margin_right">12</property> |
743 | + <property name="margin_top">12</property> |
744 | + <property name="margin_bottom">12</property> |
745 | + <property name="vexpand">True</property> |
746 | <property name="orientation">vertical</property> |
747 | - <property name="spacing">1</property> |
748 | - <child> |
749 | - <placeholder/> |
750 | - </child> |
751 | + <property name="spacing">12</property> |
752 | <child> |
753 | <object class="GtkLabel" id="login_identity_label"> |
754 | <property name="visible">True</property> |
755 | <property name="can_focus">False</property> |
756 | - <property name="margin_top">12</property> |
757 | - <property name="margin_bottom">32</property> |
758 | <property name="label" translatable="yes">'you are logged in as $name' |
759 | (populated in the application code)</property> |
760 | - </object> |
761 | - <packing> |
762 | - <property name="expand">False</property> |
763 | - <property name="fill">True</property> |
764 | - <property name="padding">4</property> |
765 | + <style> |
766 | + <class name="h3"/> |
767 | + </style> |
768 | + </object> |
769 | + <packing> |
770 | + <property name="expand">False</property> |
771 | + <property name="fill">True</property> |
772 | + <property name="position">0</property> |
773 | + </packing> |
774 | + </child> |
775 | + <child> |
776 | + <object class="GtkGrid" id="album_choice_area_grid"> |
777 | + <property name="visible">True</property> |
778 | + <property name="can_focus">False</property> |
779 | + <property name="row_spacing">6</property> |
780 | + <property name="column_spacing">12</property> |
781 | + <property name="column_homogeneous">True</property> |
782 | + <child> |
783 | + <object class="GtkCheckButton" id="strip_metadata_check"> |
784 | + <property name="label" translatable="yes">_Remove location, camera, and other identifying information before uploading</property> |
785 | + <property name="visible">True</property> |
786 | + <property name="can_focus">True</property> |
787 | + <property name="receives_default">False</property> |
788 | + <property name="halign">center</property> |
789 | + <property name="hexpand">True</property> |
790 | + <property name="use_underline">True</property> |
791 | + <property name="xalign">0.20000000298023224</property> |
792 | + <property name="draw_indicator">True</property> |
793 | + </object> |
794 | + <packing> |
795 | + <property name="left_attach">0</property> |
796 | + <property name="top_attach">1</property> |
797 | + <property name="width">2</property> |
798 | + </packing> |
799 | + </child> |
800 | + <child> |
801 | + <object class="GtkComboBoxText" id="size_combo"> |
802 | + <property name="visible">True</property> |
803 | + <property name="can_focus">False</property> |
804 | + </object> |
805 | + <packing> |
806 | + <property name="left_attach">1</property> |
807 | + <property name="top_attach">0</property> |
808 | + </packing> |
809 | + </child> |
810 | + <child> |
811 | + <object class="GtkLabel" id="label1"> |
812 | + <property name="visible">True</property> |
813 | + <property name="can_focus">False</property> |
814 | + <property name="label" translatable="yes">Photo _size preset:</property> |
815 | + <property name="use_underline">True</property> |
816 | + <property name="mnemonic_widget">size_combo</property> |
817 | + <property name="xalign">1</property> |
818 | + </object> |
819 | + <packing> |
820 | + <property name="left_attach">0</property> |
821 | + <property name="top_attach">0</property> |
822 | + </packing> |
823 | + </child> |
824 | + </object> |
825 | + <packing> |
826 | + <property name="expand">False</property> |
827 | + <property name="fill">True</property> |
828 | + <property name="padding">3</property> |
829 | <property name="position">1</property> |
830 | </packing> |
831 | </child> |
832 | <child> |
833 | - <object class="GtkBox" id="album_gallery_layout_box"> |
834 | - <property name="visible">True</property> |
835 | - <property name="can_focus">False</property> |
836 | - <property name="margin_left">32</property> |
837 | - <property name="margin_right">32</property> |
838 | - <property name="orientation">vertical</property> |
839 | - <child> |
840 | - <placeholder/> |
841 | - </child> |
842 | - <child> |
843 | - <object class="GtkGrid" id="album_choice_area_grid"> |
844 | - <property name="visible">True</property> |
845 | - <property name="can_focus">False</property> |
846 | - <property name="margin_left">24</property> |
847 | - <property name="margin_right">24</property> |
848 | - <property name="row_spacing">8</property> |
849 | - <property name="column_homogeneous">True</property> |
850 | - <child> |
851 | - <object class="GtkComboBoxText" id="existing_albums_combo"> |
852 | - <property name="visible">True</property> |
853 | - <property name="can_focus">False</property> |
854 | - <property name="entry_text_column">0</property> |
855 | - <property name="id_column">1</property> |
856 | - </object> |
857 | - <packing> |
858 | - <property name="left_attach">1</property> |
859 | - <property name="top_attach">1</property> |
860 | - <property name="width">1</property> |
861 | - <property name="height">1</property> |
862 | - </packing> |
863 | - </child> |
864 | - <child> |
865 | - <object class="GtkEntry" id="new_album_entry"> |
866 | - <property name="visible">True</property> |
867 | - <property name="can_focus">True</property> |
868 | - <property name="invisible_char">•</property> |
869 | - </object> |
870 | - <packing> |
871 | - <property name="left_attach">1</property> |
872 | - <property name="top_attach">2</property> |
873 | - <property name="width">1</property> |
874 | - <property name="height">1</property> |
875 | - </packing> |
876 | - </child> |
877 | - <child> |
878 | - <object class="GtkRadioButton" id="use_existing_radio"> |
879 | - <property name="label" translatable="yes">An _existing album:</property> |
880 | - <property name="visible">True</property> |
881 | - <property name="can_focus">True</property> |
882 | - <property name="receives_default">False</property> |
883 | - <property name="use_underline">True</property> |
884 | - <property name="xalign">0</property> |
885 | - <property name="active">True</property> |
886 | - <property name="draw_indicator">True</property> |
887 | - <property name="group">create_new_radio</property> |
888 | - </object> |
889 | - <packing> |
890 | - <property name="left_attach">0</property> |
891 | - <property name="top_attach">1</property> |
892 | - <property name="width">1</property> |
893 | - <property name="height">1</property> |
894 | - </packing> |
895 | - </child> |
896 | - <child> |
897 | - <object class="GtkRadioButton" id="create_new_radio"> |
898 | - <property name="label" translatable="yes">A _new album named:</property> |
899 | - <property name="visible">True</property> |
900 | - <property name="can_focus">True</property> |
901 | - <property name="receives_default">False</property> |
902 | - <property name="use_underline">True</property> |
903 | - <property name="xalign">0</property> |
904 | - <property name="yalign">0.47999998927116394</property> |
905 | - <property name="active">True</property> |
906 | - <property name="draw_indicator">True</property> |
907 | - </object> |
908 | - <packing> |
909 | - <property name="left_attach">0</property> |
910 | - <property name="top_attach">2</property> |
911 | - <property name="width">1</property> |
912 | - <property name="height">1</property> |
913 | - </packing> |
914 | - </child> |
915 | - <child> |
916 | - <object class="GtkCheckButton" id="public_check"> |
917 | - <property name="label" translatable="yes">L_ist album in public gallery</property> |
918 | - <property name="visible">True</property> |
919 | - <property name="can_focus">True</property> |
920 | - <property name="receives_default">False</property> |
921 | - <property name="use_underline">True</property> |
922 | - <property name="xalign">0</property> |
923 | - <property name="draw_indicator">True</property> |
924 | - </object> |
925 | - <packing> |
926 | - <property name="left_attach">1</property> |
927 | - <property name="top_attach">3</property> |
928 | - <property name="width">1</property> |
929 | - <property name="height">1</property> |
930 | - </packing> |
931 | - </child> |
932 | - <child> |
933 | - <object class="GtkLabel" id="publish_to_label"> |
934 | - <property name="visible">True</property> |
935 | - <property name="can_focus">False</property> |
936 | - <property name="margin_top">32</property> |
937 | - <property name="xalign">0</property> |
938 | - <property name="label" translatable="yes">$mediatype will appear in |
939 | -(populated in code)</property> |
940 | - </object> |
941 | - <packing> |
942 | - <property name="left_attach">0</property> |
943 | - <property name="top_attach">0</property> |
944 | - <property name="width">2</property> |
945 | - <property name="height">1</property> |
946 | - </packing> |
947 | - </child> |
948 | - <child> |
949 | - <object class="GtkLabel" id="label1"> |
950 | - <property name="visible">True</property> |
951 | - <property name="can_focus">False</property> |
952 | - <property name="margin_top">32</property> |
953 | - <property name="xalign">0</property> |
954 | - <property name="label" translatable="yes">Photo _size preset:</property> |
955 | - <property name="use_underline">True</property> |
956 | - <property name="mnemonic_widget">size_combo</property> |
957 | - </object> |
958 | - <packing> |
959 | - <property name="left_attach">0</property> |
960 | - <property name="top_attach">4</property> |
961 | - <property name="width">1</property> |
962 | - <property name="height">1</property> |
963 | - </packing> |
964 | - </child> |
965 | - <child> |
966 | - <object class="GtkComboBoxText" id="size_combo"> |
967 | - <property name="visible">True</property> |
968 | - <property name="can_focus">False</property> |
969 | - <property name="margin_top">32</property> |
970 | - <property name="entry_text_column">0</property> |
971 | - <property name="id_column">1</property> |
972 | - </object> |
973 | - <packing> |
974 | - <property name="left_attach">1</property> |
975 | - <property name="top_attach">4</property> |
976 | - <property name="width">1</property> |
977 | - <property name="height">1</property> |
978 | - </packing> |
979 | - </child> |
980 | - <child> |
981 | - <object class="GtkCheckButton" id="strip_metadata_check"> |
982 | - <property name="label" translatable="yes">_Remove location, camera, and other identifying information before uploading</property> |
983 | - <property name="visible">True</property> |
984 | - <property name="can_focus">True</property> |
985 | - <property name="receives_default">False</property> |
986 | - <property name="halign">center</property> |
987 | - <property name="margin_top">16</property> |
988 | - <property name="hexpand">True</property> |
989 | - <property name="use_underline">True</property> |
990 | - <property name="xalign">0.20000000298023224</property> |
991 | - <property name="draw_indicator">True</property> |
992 | - </object> |
993 | - <packing> |
994 | - <property name="left_attach">0</property> |
995 | - <property name="top_attach">5</property> |
996 | - <property name="width">2</property> |
997 | - <property name="height">1</property> |
998 | - </packing> |
999 | - </child> |
1000 | - <child> |
1001 | - <placeholder/> |
1002 | - </child> |
1003 | - </object> |
1004 | - <packing> |
1005 | - <property name="expand">False</property> |
1006 | - <property name="fill">True</property> |
1007 | - <property name="padding">4</property> |
1008 | - <property name="position">1</property> |
1009 | - </packing> |
1010 | - </child> |
1011 | - </object> |
1012 | - <packing> |
1013 | - <property name="expand">False</property> |
1014 | - <property name="fill">True</property> |
1015 | - <property name="position">2</property> |
1016 | - </packing> |
1017 | - </child> |
1018 | - <child> |
1019 | - <placeholder/> |
1020 | - </child> |
1021 | - <child> |
1022 | - <object class="GtkBox" id="button_area_box"> |
1023 | - <property name="visible">True</property> |
1024 | - <property name="can_focus">False</property> |
1025 | - <property name="margin_left">112</property> |
1026 | - <property name="margin_right">112</property> |
1027 | - <property name="margin_top">48</property> |
1028 | - <property name="margin_bottom">24</property> |
1029 | - <property name="spacing">128</property> |
1030 | - <property name="homogeneous">True</property> |
1031 | + <object class="GtkButtonBox" id="button_area_box"> |
1032 | + <property name="visible">True</property> |
1033 | + <property name="can_focus">False</property> |
1034 | + <property name="layout_style">start</property> |
1035 | <child> |
1036 | <object class="GtkButton" id="logout_button"> |
1037 | <property name="label" translatable="yes">_Logout</property> |
1038 | <property name="visible">True</property> |
1039 | <property name="can_focus">True</property> |
1040 | <property name="receives_default">True</property> |
1041 | + <property name="halign">start</property> |
1042 | <property name="use_underline">True</property> |
1043 | </object> |
1044 | <packing> |
1045 | @@ -244,19 +112,26 @@ |
1046 | <property name="visible">True</property> |
1047 | <property name="can_focus">True</property> |
1048 | <property name="receives_default">True</property> |
1049 | + <property name="halign">end</property> |
1050 | <property name="use_underline">True</property> |
1051 | + <style> |
1052 | + <class name="suggested-action"/> |
1053 | + </style> |
1054 | </object> |
1055 | <packing> |
1056 | <property name="expand">False</property> |
1057 | <property name="fill">True</property> |
1058 | + <property name="pack_type">end</property> |
1059 | <property name="position">1</property> |
1060 | + <property name="secondary">True</property> |
1061 | </packing> |
1062 | </child> |
1063 | </object> |
1064 | <packing> |
1065 | <property name="expand">False</property> |
1066 | <property name="fill">True</property> |
1067 | - <property name="position">4</property> |
1068 | + <property name="pack_type">end</property> |
1069 | + <property name="position">2</property> |
1070 | </packing> |
1071 | </child> |
1072 | </object> |
1073 | |
1074 | === modified file 'schemas/org.pantheon.photos.gschema.xml' |
1075 | --- schemas/org.pantheon.photos.gschema.xml 2016-01-14 12:35:35 +0000 |
1076 | +++ schemas/org.pantheon.photos.gschema.xml 2016-07-30 17:14:55 +0000 |
1077 | @@ -403,12 +403,6 @@ |
1078 | <summary>default size</summary> |
1079 | <description>A numeric code representing the default size for photos uploaded to Picasa Web Albums</description> |
1080 | </key> |
1081 | - |
1082 | - <key name="last-album" type="s"> |
1083 | - <default>""</default> |
1084 | - <summary>last album</summary> |
1085 | - <description>The name of the last album the user published photos to, if any</description> |
1086 | - </key> |
1087 | |
1088 | <key name="strip-metadata" type="b"> |
1089 | <default>false</default> |