Merge lp:~xnox/deja-dup/drop-u1 into lp:deja-dup/30
- drop-u1
- Merge into 30
Proposed by
Dimitri John Ledkov
Status: | Rejected |
---|---|
Rejected by: | Michael Terry |
Proposed branch: | lp:~xnox/deja-dup/drop-u1 |
Merge into: | lp:deja-dup/30 |
Diff against target: |
574 lines (+3/-399) 10 files modified
data/org.gnome.DejaDup.gschema.xml.in (+0/-9) deja-dup/deja-dup.appdata.xml.in (+1/-1) deja-dup/widgets/CMakeLists.txt (+0/-1) deja-dup/widgets/ConfigLabelLocation.vala (+0/-2) deja-dup/widgets/ConfigLocation.vala (+0/-16) deja-dup/widgets/ConfigLocationU1.vala (+0/-38) libdeja/Backend.vala (+0/-3) libdeja/BackendAuto.vala (+2/-11) libdeja/BackendU1.vala (+0/-317) libdeja/CMakeLists.txt (+0/-1) |
To merge this branch: | bzr merge lp:~xnox/deja-dup/drop-u1 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Michael Terry | Disapprove | ||
Review via email: mp+213866@code.launchpad.net |
Commit message
Drop U1 backend.
Description of the change
Drop U1 backend.
To post a comment you must log in.
Revision history for this message
Michael Terry (mterry) wrote : | # |
OK, I'm going to reject this in favor of lp:~mterry/deja-dup/drop-u1 which incorporates this and adds an error message for the user. Thanks for the patch!
review:
Disapprove
Unmerged revisions
- 1532. By Dimitri John Ledkov
-
Drop U1 backend.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'data/org.gnome.DejaDup.gschema.xml.in' |
2 | --- data/org.gnome.DejaDup.gschema.xml.in 2013-10-15 04:36:06 +0000 |
3 | +++ data/org.gnome.DejaDup.gschema.xml.in 2014-04-02 15:03:23 +0000 |
4 | @@ -67,7 +67,6 @@ |
5 | <choice value='file'/> |
6 | <choice value='rackspace'/> |
7 | <choice value='s3'/> |
8 | - <choice value='u1'/> |
9 | </choices> |
10 | <default>'auto'</default> |
11 | <_summary>Type of location to store backup</_summary> |
12 | @@ -75,7 +74,6 @@ |
13 | </key> |
14 | <child name="rackspace" schema="org.gnome.DejaDup.Rackspace"/> |
15 | <child name="s3" schema="org.gnome.DejaDup.S3"/> |
16 | - <child name="u1" schema="org.gnome.DejaDup.U1"/> |
17 | <child name="file" schema="org.gnome.DejaDup.File"/> |
18 | </schema> |
19 | <schema id="org.gnome.DejaDup.S3" path="/org/gnome/deja-dup/s3/"> |
20 | @@ -107,13 +105,6 @@ |
21 | <_description>This is your username for the Rackspace Cloud Files service.</_description> |
22 | </key> |
23 | </schema> |
24 | - <schema id="org.gnome.DejaDup.U1" path="/org/gnome/deja-dup/u1/"> |
25 | - <key name="folder" type="s"> |
26 | - <default>'/deja-dup/$HOSTNAME'</default> |
27 | - <_summary>The Ubuntu One folder</_summary> |
28 | - <_description>The folder name to store files in. If ‘$HOSTNAME’, it will default to a folder based on the name of the computer.</_description> |
29 | - </key> |
30 | - </schema> |
31 | <schema id="org.gnome.DejaDup.File" path="/org/gnome/deja-dup/file/"> |
32 | <key name="path" type="s"> |
33 | <default>''</default> |
34 | |
35 | === modified file 'deja-dup/deja-dup.appdata.xml.in' |
36 | --- deja-dup/deja-dup.appdata.xml.in 2013-11-08 03:25:36 +0000 |
37 | +++ deja-dup/deja-dup.appdata.xml.in 2014-04-02 15:03:23 +0000 |
38 | @@ -7,7 +7,7 @@ |
39 | <description> |
40 | <_p>Déjà Dup is a simple backup tool. It hides the complexity of backing up the Right Way (encrypted, off-site, and regular) and uses duplicity as the backend.</_p> |
41 | <ul> |
42 | - <_li>Support for local, remote, or cloud backup locations, such as Amazon S3, Rackspace Cloud Files, and Ubuntu One</_li> |
43 | + <_li>Support for local, remote, or cloud backup locations, such as Amazon S3 and Rackspace Cloud Files</_li> |
44 | <_li>Securely encrypts and compresses your data</_li> |
45 | <_li>Incrementally backs up, letting you restore from any particular backup</_li> |
46 | <_li>Schedules regular backups</_li> |
47 | |
48 | === modified file 'deja-dup/widgets/CMakeLists.txt' |
49 | --- deja-dup/widgets/CMakeLists.txt 2014-01-31 08:44:39 +0000 |
50 | +++ deja-dup/widgets/CMakeLists.txt 2014-04-02 15:03:23 +0000 |
51 | @@ -36,7 +36,6 @@ |
52 | ConfigLocationSSH.vala |
53 | ConfigLocationSMB.vala |
54 | ConfigLocationTable.vala |
55 | - ConfigLocationU1.vala |
56 | ConfigLocationVolume.vala |
57 | ConfigPeriod.vala |
58 | ConfigRelPath.vala |
59 | |
60 | === modified file 'deja-dup/widgets/ConfigLabelLocation.vala' |
61 | --- deja-dup/widgets/ConfigLabelLocation.vala 2013-01-27 20:30:52 +0000 |
62 | +++ deja-dup/widgets/ConfigLabelLocation.vala 2014-04-02 15:03:23 +0000 |
63 | @@ -26,7 +26,6 @@ |
64 | Gtk.Image img; |
65 | FilteredSettings file_root; |
66 | FilteredSettings s3_root; |
67 | - FilteredSettings u1_root; |
68 | FilteredSettings rackspace_root; |
69 | |
70 | public ConfigLabelLocation() |
71 | @@ -40,7 +39,6 @@ |
72 | watch_key(BACKEND_KEY); |
73 | watch_key(null, (file_root = DejaDup.get_settings(FILE_ROOT))); |
74 | watch_key(null, (s3_root = DejaDup.get_settings(S3_ROOT))); |
75 | - watch_key(null, (u1_root = DejaDup.get_settings(U1_ROOT))); |
76 | watch_key(null, (rackspace_root = DejaDup.get_settings(RACKSPACE_ROOT))); |
77 | set_from_config.begin(); |
78 | } |
79 | |
80 | === modified file 'deja-dup/widgets/ConfigLocation.vala' |
81 | --- deja-dup/widgets/ConfigLocation.vala 2013-10-19 17:43:57 +0000 |
82 | +++ deja-dup/widgets/ConfigLocation.vala 2014-04-02 15:03:23 +0000 |
83 | @@ -62,7 +62,6 @@ |
84 | int index_dav; |
85 | int index_s3 = -2; |
86 | int index_rackspace = -2; |
87 | - int index_u1 = -2; |
88 | int index_cloud_sep = -2; |
89 | int index_ssh; |
90 | int index_smb; |
91 | @@ -109,7 +108,6 @@ |
92 | extras.show(); |
93 | |
94 | // Insert cloud providers |
95 | - insert_u1(); |
96 | insert_s3(); |
97 | insert_rackspace(); |
98 | |
99 | @@ -178,16 +176,6 @@ |
100 | ref index_s3, insert_s3); |
101 | } |
102 | |
103 | - void insert_u1() { |
104 | - insert_cloud_if_available("u1", BackendU1.get_checker(), |
105 | - new ThemedIcon.from_names({"ubuntuone", |
106 | - "ubuntuone-installer", |
107 | - "deja-dup-cloud"}), |
108 | - _("Ubuntu One"), |
109 | - new ConfigLocationU1(label_sizes), |
110 | - ref index_u1, insert_u1); |
111 | - } |
112 | - |
113 | void insert_rackspace() { |
114 | insert_cloud_if_available("rackspace", BackendRackspace.get_checker(), |
115 | new ThemedIcon("deja-dup-cloud"), |
116 | @@ -414,8 +402,6 @@ |
117 | index = index_s3; |
118 | else if (backend == "rackspace") |
119 | index = index_rackspace; |
120 | - else if (backend == "u1") |
121 | - index = index_u1; |
122 | else if (backend == "file") { |
123 | var fsettings = DejaDup.get_settings(FILE_ROOT); |
124 | |
125 | @@ -504,8 +490,6 @@ |
126 | settings.set_string(BACKEND_KEY, "s3"); |
127 | else if (index == index_rackspace) |
128 | settings.set_string(BACKEND_KEY, "rackspace"); |
129 | - else if (index == index_u1) |
130 | - settings.set_string(BACKEND_KEY, "u1"); |
131 | else if (index == index_ssh) |
132 | yield set_remote_info("sftp"); |
133 | else if (index == index_ftp) |
134 | |
135 | === removed file 'deja-dup/widgets/ConfigLocationU1.vala' |
136 | --- deja-dup/widgets/ConfigLocationU1.vala 2012-03-17 04:02:46 +0000 |
137 | +++ deja-dup/widgets/ConfigLocationU1.vala 1970-01-01 00:00:00 +0000 |
138 | @@ -1,38 +0,0 @@ |
139 | -/* -*- Mode: Vala; indent-tabs-mode: nil; tab-width: 2 -*- */ |
140 | -/* |
141 | - This file is part of Déjà Dup. |
142 | - For copyright information, see AUTHORS. |
143 | - |
144 | - Déjà Dup is free software: you can redistribute it and/or modify |
145 | - it under the terms of the GNU General Public License as published by |
146 | - the Free Software Foundation, either version 3 of the License, or |
147 | - (at your option) any later version. |
148 | - |
149 | - Déjà Dup is distributed in the hope that it will be useful, |
150 | - but WITHOUT ANY WARRANTY; without even the implied warranty of |
151 | - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
152 | - GNU General Public License for more details. |
153 | - |
154 | - You should have received a copy of the GNU General Public License |
155 | - along with Déjà Dup. If not, see <http://www.gnu.org/licenses/>. |
156 | -*/ |
157 | - |
158 | -using GLib; |
159 | - |
160 | -namespace DejaDup { |
161 | - |
162 | -public class ConfigLocationU1 : ConfigLocationTable |
163 | -{ |
164 | - public ConfigLocationU1(Gtk.SizeGroup sg) { |
165 | - Object(label_sizes: sg); |
166 | - } |
167 | - |
168 | - construct { |
169 | - var entry = new ConfigFolder(DejaDup.U1_FOLDER_KEY, DejaDup.U1_ROOT); |
170 | - entry.set_accessible_name("U1Folder"); |
171 | - add_widget(_("_Folder"), entry); |
172 | - } |
173 | -} |
174 | - |
175 | -} |
176 | - |
177 | |
178 | === modified file 'libdeja/Backend.vala' |
179 | --- libdeja/Backend.vala 2012-04-30 00:18:18 +0000 |
180 | +++ libdeja/Backend.vala 2014-04-02 15:03:23 +0000 |
181 | @@ -58,7 +58,6 @@ |
182 | if (backend != "auto" && |
183 | backend != "s3" && |
184 | backend != "rackspace" && |
185 | - backend != "u1" && |
186 | backend != "file") |
187 | backend = "auto"; // default to auto if string is not known |
188 | |
189 | @@ -70,8 +69,6 @@ |
190 | var backend_name = get_default_type(); |
191 | if (backend_name == "s3") |
192 | return new BackendS3(); |
193 | - else if (backend_name == "u1") |
194 | - return new BackendU1(); |
195 | else if (backend_name == "rackspace") |
196 | return new BackendRackspace(); |
197 | else if (backend_name == "file") |
198 | |
199 | === modified file 'libdeja/BackendAuto.vala' |
200 | --- libdeja/BackendAuto.vala 2012-03-21 03:01:36 +0000 |
201 | +++ libdeja/BackendAuto.vala 2014-04-02 15:03:23 +0000 |
202 | @@ -50,7 +50,6 @@ |
203 | |
204 | static bool started = false; |
205 | static bool done = false; |
206 | - Checker u1checker; |
207 | Checker s3checker; |
208 | construct { |
209 | if (!started) { |
210 | @@ -59,10 +58,7 @@ |
211 | started = true; |
212 | ref(); // Give us time to finish |
213 | |
214 | - // List is (in order): u1, s3, file |
215 | - u1checker = BackendU1.get_checker(); |
216 | - u1checker.notify["complete"].connect(examine_checkers); |
217 | - |
218 | + // List is (in order): s3, file |
219 | s3checker = BackendS3.get_checker(); |
220 | s3checker.notify["complete"].connect(examine_checkers); |
221 | |
222 | @@ -75,17 +71,12 @@ |
223 | if (done) |
224 | return; |
225 | |
226 | - if (u1checker.complete) { |
227 | - if (u1checker.available) { |
228 | - finish("u1"); |
229 | - } |
230 | - else if (s3checker.complete) { |
231 | + if (s3checker.complete) { |
232 | if (s3checker.available) |
233 | finish("s3"); |
234 | else |
235 | finish("file"); |
236 | } |
237 | - } |
238 | } |
239 | |
240 | void finish(string mode) |
241 | |
242 | === removed file 'libdeja/BackendU1.vala' |
243 | --- libdeja/BackendU1.vala 2012-11-05 15:17:28 +0000 |
244 | +++ libdeja/BackendU1.vala 1970-01-01 00:00:00 +0000 |
245 | @@ -1,317 +0,0 @@ |
246 | -/* -*- Mode: Vala; indent-tabs-mode: nil; tab-width: 2 -*- */ |
247 | -/* |
248 | - This file is part of Déjà Dup. |
249 | - For copyright information, see AUTHORS. |
250 | - |
251 | - Déjà Dup is free software: you can redistribute it and/or modify |
252 | - it under the terms of the GNU General Public License as published by |
253 | - the Free Software Foundation, either version 3 of the License, or |
254 | - (at your option) any later version. |
255 | - |
256 | - Déjà Dup is distributed in the hope that it will be useful, |
257 | - but WITHOUT ANY WARRANTY; without even the implied warranty of |
258 | - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
259 | - GNU General Public License for more details. |
260 | - |
261 | - You should have received a copy of the GNU General Public License |
262 | - along with Déjà Dup. If not, see <http://www.gnu.org/licenses/>. |
263 | -*/ |
264 | - |
265 | -using GLib; |
266 | - |
267 | -namespace DejaDup { |
268 | - |
269 | -public const string U1_ROOT = "U1"; |
270 | -public const string U1_FOLDER_KEY = "folder"; |
271 | - |
272 | -class Listener : Object |
273 | -{ |
274 | - public delegate void Handler(string name, Variant args); |
275 | - public DBusProxy proxy {get; construct;} |
276 | - public string method {get; construct;} |
277 | - public Variant args {get; construct;} |
278 | - public unowned Handler handler {get; set;} |
279 | - |
280 | - public Listener(DBusProxy proxy, string method, Variant? args, Handler handler) |
281 | - { |
282 | - Object(proxy: proxy, method: method, args: args); |
283 | - this.handler = handler; |
284 | - } |
285 | - |
286 | - MainLoop loop; |
287 | - construct { |
288 | - loop = new MainLoop(null, false); |
289 | - } |
290 | - |
291 | - public void run() |
292 | - { |
293 | - Idle.add(() => { |
294 | - call_but_quit_on_fail.begin(); |
295 | - return false; |
296 | - }); |
297 | - proxy.g_signal.connect(handle_dbus_signal); |
298 | - loop.run(); |
299 | - proxy.g_signal.disconnect(handle_dbus_signal); |
300 | - } |
301 | - |
302 | - async void call_but_quit_on_fail() |
303 | - { |
304 | - try { |
305 | - yield proxy.call(method, args, DBusCallFlags.NONE, -1, null); |
306 | - } |
307 | - catch (Error e) { |
308 | - warning("%s\n", e.message); |
309 | - loop.quit(); |
310 | - } |
311 | - } |
312 | - |
313 | - void handle_dbus_signal(DBusProxy obj, string? sender, string name, Variant args) |
314 | - { |
315 | - // Stop on first signal |
316 | - handler(name, args); |
317 | - loop.quit(); |
318 | - } |
319 | -} |
320 | - |
321 | -class U1Checker : Checker |
322 | -{ |
323 | - PythonChecker pyu1; |
324 | - construct { |
325 | - try { |
326 | - var proxy = BackendU1.get_creds_proxy(); |
327 | - if (proxy.get_name_owner() == null) { |
328 | - available = false; |
329 | - complete = true; |
330 | - } |
331 | - } |
332 | - catch (Error e) { |
333 | - warning("%s\n", e.message); |
334 | - available = false; |
335 | - complete = true; |
336 | - } |
337 | - |
338 | - if (!complete) { |
339 | - // A bit of abstraction leakage here; we have to keep these imports in |
340 | - // line with what duplicity uses. Maybe we should add to duplicity a way |
341 | - // to ask 'can I use this backend?' |
342 | - pyu1 = PythonChecker.get_checker("oauthlib, httplib2"); |
343 | - if (pyu1.complete) { |
344 | - available = pyu1.available; |
345 | - complete = pyu1.complete; |
346 | - } |
347 | - else { |
348 | - pyu1.notify["complete"].connect(() => { |
349 | - available = pyu1.available; |
350 | - complete = pyu1.complete; |
351 | - pyu1 = null; |
352 | - }); |
353 | - } |
354 | - } |
355 | - } |
356 | -} |
357 | - |
358 | -public class BackendU1 : Backend |
359 | -{ |
360 | - ulong button_handler = 0; |
361 | - |
362 | - static Checker checker_instance = null; |
363 | - public static Checker get_checker() |
364 | - { |
365 | - if (checker_instance == null) |
366 | - checker_instance = new U1Checker(); |
367 | - return checker_instance; |
368 | - } |
369 | - |
370 | - public override Backend clone() { |
371 | - return new BackendU1(); |
372 | - } |
373 | - |
374 | - ~BackendU1() |
375 | - { |
376 | - if (button_handler > 0) { |
377 | - mount_op.disconnect(button_handler); |
378 | - button_handler = 0; |
379 | - } |
380 | - } |
381 | - |
382 | - public override bool is_native() { |
383 | - return false; |
384 | - } |
385 | - |
386 | - public override bool space_can_be_infinite() { |
387 | - return false; |
388 | - } |
389 | - |
390 | - public override Icon? get_icon() { |
391 | - return new ThemedIcon.from_names({"ubuntuone", "ubuntuone-installer", "deja-dup-cloud"}); |
392 | - } |
393 | - |
394 | - public override async bool is_ready(out string when) { |
395 | - when = _("Backup will begin when a network connection becomes available."); |
396 | - return yield Network.get().can_reach ("https://one.ubuntu.com/"); |
397 | - } |
398 | - |
399 | - public override string get_location(ref bool as_root) |
400 | - { |
401 | - // The UI backend for duplicity needs to talk to our session dbus, but it |
402 | - // can't as root. |
403 | - as_root = false; |
404 | - |
405 | - var settings = get_settings(U1_ROOT); |
406 | - var folder = get_folder_key(settings, U1_FOLDER_KEY); |
407 | - return "u1+http://%s".printf(folder); |
408 | - } |
409 | - |
410 | - public override string get_location_pretty() |
411 | - { |
412 | - var settings = get_settings(U1_ROOT); |
413 | - var folder = get_folder_key(settings, U1_FOLDER_KEY); |
414 | - if (folder == "") |
415 | - return _("Ubuntu One"); |
416 | - else |
417 | - // Translators: %s is a folder. |
418 | - return _("%s on Ubuntu One").printf(folder); |
419 | - } |
420 | - |
421 | - public override async uint64 get_space(bool free = true) |
422 | - { |
423 | - DBusProxy obj = null; |
424 | - try { |
425 | - obj = get_prefs_proxy(); |
426 | - } |
427 | - catch (Error e) { |
428 | - warning("%s\n", e.message); |
429 | - return INFINITE_SPACE; |
430 | - } |
431 | - |
432 | - if (obj.get_name_owner() == null) |
433 | - return INFINITE_SPACE; |
434 | - |
435 | - uint64 total = INFINITE_SPACE; |
436 | - uint64 used = 0; |
437 | - var listener = new Listener(obj, "account_info", null, (name, args) => { |
438 | - if (name == "AccountInfoReady") { |
439 | - VariantIter iter; |
440 | - args.get("(a{ss})", out iter); |
441 | - string key, val; |
442 | - while (iter.next("{ss}", out key, out val)) { |
443 | - if (key == "quota_total") |
444 | - total = uint64.parse(val); |
445 | - else if (key == "quota_used") |
446 | - used = uint64.parse(val); |
447 | - } |
448 | - } |
449 | - }); |
450 | - listener.run(); |
451 | - |
452 | - if (free) |
453 | - return (total > used) ? (total - used) : 0; |
454 | - else |
455 | - return total; |
456 | - } |
457 | - |
458 | - public override async void get_envp() throws Error |
459 | - { |
460 | - var obj = get_creds_proxy(); |
461 | - if (obj.get_name_owner() == null) { |
462 | - ask_password(); |
463 | - return; |
464 | - } |
465 | - |
466 | - var found = false; |
467 | - var envp = new List<string>(); |
468 | - var listener = new Listener(obj, "find_credentials", null, (name, args) => { |
469 | - if (name == "CredentialsFound") { |
470 | - VariantIter iter; |
471 | - args.get("(a{ss})", out iter); |
472 | - string key, val; |
473 | - string consumer_key = null, consumer_secret = null, token = null, token_secret = null; |
474 | - while (iter.next("{ss}", out key, out val)) { |
475 | - if (key == "consumer_key") |
476 | - consumer_key = val; |
477 | - else if (key == "consumer_secret") |
478 | - consumer_secret = val; |
479 | - else if (key == "token") |
480 | - token = val; |
481 | - else if (key == "token_secret") |
482 | - token_secret = val; |
483 | - } |
484 | - if (consumer_key != null && consumer_secret != null && token != null && token_secret != null) { |
485 | - envp.append("FTP_PASSWORD=%s:%s:%s:%s".printf(consumer_key, consumer_secret, token, token_secret)); |
486 | - found = true; |
487 | - } |
488 | - } |
489 | - }); |
490 | - listener.run(); |
491 | - |
492 | - if (found) |
493 | - envp_ready(true, envp); |
494 | - else |
495 | - ask_password(); |
496 | - } |
497 | - |
498 | - void button_clicked() |
499 | - { |
500 | - sign_in.begin(); |
501 | - } |
502 | - |
503 | - void ask_password() { |
504 | - mount_op.set("label_title", _("Connect to Ubuntu One")); |
505 | - mount_op.set("label_button", _("Sign into Ubuntu One…")); |
506 | - if (button_handler == 0) |
507 | - button_handler = Signal.connect_swapped(mount_op, "button-clicked", |
508 | - (Callback)button_clicked, this); |
509 | - mount_op.ask_password("", "", "", 0); |
510 | - } |
511 | - |
512 | - async void sign_in() |
513 | - { |
514 | - try { |
515 | - var obj = get_creds_proxy(); |
516 | - if (obj.get_name_owner() == null) { |
517 | - envp_ready(false, null); |
518 | - return; |
519 | - } |
520 | - |
521 | - var listener = new Listener(obj, "login", new Variant("(a{ss})", null), |
522 | - (name, args) => { |
523 | - if (name == "CredentialsFound") { |
524 | - mount_op.set("go_forward", true); |
525 | - envp_ready(true, null); |
526 | - } |
527 | - }); |
528 | - listener.run(); |
529 | - } |
530 | - catch (Error e) { |
531 | - warning("%s\n", e.message); |
532 | - envp_ready(false, null); |
533 | - } |
534 | - } |
535 | - |
536 | - public static DBusProxy get_creds_proxy() throws Error |
537 | - { |
538 | - DBusProxy creds_proxy; |
539 | - creds_proxy = new DBusProxy.for_bus_sync(BusType.SESSION, |
540 | - DBusProxyFlags.NONE, null, |
541 | - "com.ubuntuone.Credentials", |
542 | - "/credentials", |
543 | - "com.ubuntuone.CredentialsManagement", |
544 | - null); |
545 | - return creds_proxy; |
546 | - } |
547 | - |
548 | - public static DBusProxy get_prefs_proxy() throws Error |
549 | - { |
550 | - DBusProxy prefs_proxy; |
551 | - prefs_proxy = new DBusProxy.for_bus_sync(BusType.SESSION, |
552 | - DBusProxyFlags.NONE, null, |
553 | - "com.ubuntuone.controlpanel", |
554 | - "/preferences", |
555 | - "com.ubuntuone.controlpanel.Preferences", |
556 | - null); |
557 | - return prefs_proxy; |
558 | - } |
559 | -} |
560 | - |
561 | -} // end namespace |
562 | - |
563 | |
564 | === modified file 'libdeja/CMakeLists.txt' |
565 | --- libdeja/CMakeLists.txt 2013-10-14 22:22:07 +0000 |
566 | +++ libdeja/CMakeLists.txt 2014-04-02 15:03:23 +0000 |
567 | @@ -22,7 +22,6 @@ |
568 | BackendFile.vala |
569 | BackendRackspace.vala |
570 | BackendS3.vala |
571 | - BackendU1.vala |
572 | Checker.vala |
573 | CommonUtils.vala |
574 | DirHandling.vala |
Mostly good. But rather than deleting the settings and widgets for U1, I'd like to keep them intact but as skeletons of their former selves, just there to show error messages or some such about U1 being removed.
With this branch as is, a user upgrading will automatically have their settings changed for them. That's a bad experience.
I'm working on the changes necessary.