~gotwig/gazette/global-service-states

« back to all changes in this revision

Viewing changes to plug/main.vala

  • Committer: gotwig at ubuntu
  • Date: 2013-07-27 08:21:47 UTC
  • mto: This revision was merged to the branch mainline in revision 101.
  • Revision ID: gotwig@ubuntu.com-20130727082147-udc2o1jc68tp9fcq
Add switcher for adding to autostart and activating welcome screen

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
public class GazetteSettings : Pantheon.Switchboard.Plug {
2
 
    static Gtk.Widget no_settings = new Gtk.Label("This widget has no settings");
 
2
    static Gtk.Widget no_settings = new Gtk.Label( _("This widget has no settings") );
3
3
    Gee.Collection<Gazette.Plugin.Base> services;
4
4
    Settings settings;
5
5
    string [] enabled_services;
24
24
        box.pack_start (scrl, false);
25
25
        box.pack_start (view);
26
26
        var cur_box   = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 20);
27
 
        var cur_label = new Gtk.Label ( _("Setup your\nnews services") );
 
27
        var cur_label = new Gtk.Label ( _("News Setup") );
 
28
        var gazette_autostart = new Gtk.Label ( _("Start Gazette at Startup") );
 
29
        var gazette_welcomescreen = new Gtk.Label ( _("Show welcome message") );
 
30
        var gazette_autostart_switcher = new Gtk.Switch ();
 
31
        var gazette_welcomescreen_switcher = new Gtk.Switch ();
28
32
//        var cur_image = new Gtk.Image.from_icon_name (
29
33
//            "gazette", Gtk.IconSize.DIALOG);
30
34
//        cur_image.pixel_size = 64;
31
35
 
 
36
 
 
37
        var destination = File.new_for_path ("~/.conf/autostart/gazette.desktop");
 
38
        var file = File.new_for_path ("/etc/xdg/autostart/gazette.desktop");
 
39
        var file_stream = destination.create (FileCreateFlags.NONE);
 
40
 
 
41
 
 
42
        gazette_autostart_switcher.notify["active"].connect (() => {
 
43
                if (gazette_autostart_switcher.active) {
 
44
                        try {                   
 
45
                                destination.delete ();
 
46
                        }
 
47
                
 
48
                        catch (Error e) {
 
49
                                stderr.printf ("Error: %s\n", e.message);
 
50
 
 
51
                        }
 
52
 
 
53
                } else {
 
54
                        
 
55
                        file.copy (destination, FileCopyFlags.NONE);
 
56
                        
 
57
                        var data_stream_out = new DataOutputStream (file_stream);
 
58
                        data_stream_out.put_string ("Hidden=True");
 
59
                }
 
60
        });
 
61
 
 
62
        gazette_welcomescreen_switcher.notify["active"].connect (() => {
 
63
                if (gazette_welcomescreen_switcher.active) {
 
64
                        settings.set_boolean ("show-welcome", true);
 
65
                } else {
 
66
                        settings.set_boolean ("show-welcome", false);
 
67
                }
 
68
        });
 
69
 
32
70
        var attrs = new Pango.AttrList ();
33
71
        attrs.insert (new Pango.AttrFontDesc (
34
72
        Pango.FontDescription.from_string ("bold 25")));
37
75
        cur_label.halign = Gtk.Align.START;
38
76
//        cur_box.pack_start (cur_image, false);
39
77
        cur_box.pack_start (cur_label);
 
78
        cur_box.pack_start (gazette_autostart);
 
79
        cur_box.pack_start (gazette_autostart_switcher);
 
80
        cur_box.pack_start (gazette_welcomescreen);
 
81
        cur_box.pack_start (gazette_welcomescreen_switcher);
 
82
 
40
83
 
41
84
        view.pack_start (cur_box, false);
42
85
        view.margin = 30;