~indicator-multiload/indicator-multiload/trunk

« back to all changes in this revision

Viewing changes to src/preferences.vala

  • Committer: Michael Hofmann
  • Date: 2013-02-16 18:16:27 UTC
  • Revision ID: mh21@piware.de-20130216181627-3uoxoeuqj7g3zo8r
Beginning support for color schemes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
 
19
19
public class Preferences : Object {
20
20
    private Gtk.Dialog preferences;
21
 
 
22
21
    private ItemPreferences menupreferences;
23
22
    private ItemPreferences indicatorpreferences;
 
23
    private ColorMapper colormapper;
 
24
 
 
25
    public Preferences(ColorMapper colormapper)
 
26
    {
 
27
        this.colormapper = colormapper;
 
28
    }
24
29
 
25
30
    construct {
26
31
        this.menupreferences = new ItemPreferences("menu-expressions");
35
40
 
36
41
        Gtk.Builder builder;
37
42
        this.preferences = Utils.get_ui("preferencesdialog", this,
38
 
                {"widthadjustment", "speedadjustment"},
 
43
                {"widthadjustment", "speedadjustment", "schemestore"},
39
44
                out builder) as Gtk.Dialog;
40
45
        return_if_fail(this.preferences != null);
41
46
 
53
58
                var traceid = traceids[j];
54
59
                var tracesettings = settingscache.tracesettings(graphid, traceid);
55
60
                tracesettings.bind_with_mapping("color",
56
 
                        builder.get_object(@"$(traceid)_color"), "color",
57
 
                        SettingsBindFlags.DEFAULT, Utils.get_settings_color,
58
 
                        Utils.set_settings_color, null, () => {});
 
61
                        builder.get_object(@"$(traceid)_color"), "rgba",
 
62
                        SettingsBindFlags.DEFAULT,
 
63
                        Utils.get_settings_rgba,
 
64
                        Utils.set_settings_rgba,
 
65
                        this.colormapper, () => {});
59
66
            }
60
67
 
61
68
            graphsettings.bind("enabled",
62
69
                    builder.get_object(@"$(graphid)_enabled"), "active",
63
70
                    SettingsBindFlags.DEFAULT);
64
 
            graphsettings.bind_with_mapping("background-color",
65
 
                    builder.get_object(@"$(graphid)_background_color"), "color",
66
 
                    SettingsBindFlags.DEFAULT, Utils.get_settings_color,
67
 
                    Utils.set_settings_color, null, () => {});
68
 
            graphsettings.bind("alpha",
69
 
                    builder.get_object(@"$(graphid)_background_color"), "alpha",
70
 
                    SettingsBindFlags.DEFAULT);
71
71
        }
72
72
 
 
73
        // TODO: rgba, alpha need settings conversion
73
74
        prefsettings.bind("width",
74
75
                builder.get_object("width"), "value",
75
76
                SettingsBindFlags.DEFAULT);
 
77
        prefsettings.bind_with_mapping("background-color",
 
78
                builder.get_object("background_color"), "rgba",
 
79
                SettingsBindFlags.DEFAULT,
 
80
                Utils.get_settings_rgba,
 
81
                Utils.set_settings_rgba,
 
82
                this.colormapper, () => {});
76
83
        prefsettings.bind("speed",
77
84
                builder.get_object("speed"), "value",
78
85
                SettingsBindFlags.DEFAULT);
84
91
    }
85
92
 
86
93
    [CCode (instance_pos = -1)]
 
94
    public void on_colorbutton_clicked(Gtk.Button button) {
 
95
        this.colormapper.add_palette((P.ColorChooser)button);
 
96
    }
 
97
 
 
98
    [CCode (instance_pos = -1)]
87
99
    public void on_preferencesdialog_response(Gtk.Dialog source, int response) {
88
100
        switch (response) {
89
101
        case 1: