~indicator-multiload/indicator-multiload/trunk

« back to all changes in this revision

Viewing changes to src/settingsconversion.vala

  • Committer: Michael Hofmann
  • Date: 2011-08-15 17:12:11 UTC
  • mfrom: (32.1.13 expressions)
  • Revision ID: mh21@piware.de-20110815171211-y2l29z2yan40g3cg
Merge expression branch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/******************************************************************************
 
2
 * Copyright (C) 2011  Michael Hofmann <mh21@piware.de>                       *
 
3
 *                                                                            *
 
4
 * This program is free software; you can redistribute it and/or modify       *
 
5
 * it under the terms of the GNU General Public License as published by       *
 
6
 * the Free Software Foundation; either version 3 of the License, or          *
 
7
 * (at your option) any later version.                                        *
 
8
 *                                                                            *
 
9
 * This program is distributed in the hope that it will be useful,            *
 
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of             *
 
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the              *
 
12
 * GNU General Public License for more details.                               *
 
13
 *                                                                            *
 
14
 * You should have received a copy of the GNU General Public License along    *
 
15
 * with this program; if not, write to the Free Software Foundation, Inc.,    *
 
16
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.                *
 
17
 ******************************************************************************/
 
18
 
 
19
public class SettingsConversion : Object {
 
20
    public SettingsConversion() {
 
21
    }
 
22
 
 
23
    public uint oldversion() {
 
24
        var settings = Utils.generalsettings();
 
25
        return settings.get_value("settings-version").get_uint32();
 
26
    }
 
27
 
 
28
    public bool is_current() {
 
29
        return this.oldversion() == 2;
 
30
    }
 
31
 
 
32
    public void convert() {
 
33
        var settings = Utils.generalsettings();
 
34
 
 
35
        while (!this.is_current()) {
 
36
            switch (this.oldversion()) {
 
37
            case 1:
 
38
                this.convert_version1();
 
39
                break;
 
40
            }
 
41
            settings.set_value("settings-version", this.oldversion() + 1);
 
42
        }
 
43
    }
 
44
 
 
45
    private void convert_version1() {
 
46
        var oldsettings = new FixedGSettings.Settings.with_path
 
47
            ("de.mh21.indicator.multiload.version1", "/apps/indicators/multiload/");
 
48
        foreach (var key in oldsettings.list_keys()) {
 
49
            var value = oldsettings.get_value(key);
 
50
            oldsettings.reset(key);
 
51
            var defaultvalue = oldsettings.get_value(key);
 
52
            if (!value.equal(defaultvalue)) {
 
53
                // TODO: this is not converting between 1 and 2, but between 1 and current
 
54
                // no problem yet as we are only at settings version 2
 
55
                switch (key) {
 
56
                case "cpuload-alpha4":
 
57
                    Utils.graphsettings("cpu").set_value("alpha", value);
 
58
                    break;
 
59
                case "memload-alpha4":
 
60
                    Utils.graphsettings("mem").set_value("alpha", value);
 
61
                    break;
 
62
                case "netload-alpha3":
 
63
                    Utils.graphsettings("net").set_value("alpha", value);
 
64
                    break;
 
65
                case "swapload-alpha1":
 
66
                    Utils.graphsettings("swap").set_value("alpha", value);
 
67
                    break;
 
68
                case "loadavg-alpha1":
 
69
                    Utils.graphsettings("load").set_value("alpha", value);
 
70
                    break;
 
71
                case "diskload-alpha2":
 
72
                    Utils.graphsettings("disk").set_value("alpha", value);
 
73
                    break;
 
74
                case "view-cpuload":
 
75
                    Utils.graphsettings("cpu").set_value("enabled", value);
 
76
                    break;
 
77
                case "view-memload":
 
78
                    Utils.graphsettings("mem").set_value("enabled", value);
 
79
                    break;
 
80
                case "view-netload":
 
81
                    Utils.graphsettings("net").set_value("enabled", value);
 
82
                    break;
 
83
                case "view-swapload":
 
84
                    Utils.graphsettings("swap").set_value("enabled", value);
 
85
                    break;
 
86
                case "view-loadavg":
 
87
                    Utils.graphsettings("load").set_value("enabled", value);
 
88
                    break;
 
89
                case "view-diskload":
 
90
                    Utils.graphsettings("disk").set_value("enabled", value);
 
91
                    break;
 
92
                case "cpuload-color0":
 
93
                    Utils.tracesettings("cpu", "cpu1").set_value("color", value);
 
94
                    break;
 
95
                case "cpuload-color1":
 
96
                    Utils.tracesettings("cpu", "cpu2").set_value("color", value);
 
97
                    break;
 
98
                case "cpuload-color2":
 
99
                    Utils.tracesettings("cpu", "cpu3").set_value("color", value);
 
100
                    break;
 
101
                case "cpuload-color3":
 
102
                    Utils.tracesettings("cpu", "cpu4").set_value("color", value);
 
103
                    break;
 
104
                case "cpuload-color4":
 
105
                    Utils.graphsettings("cpu").set_value("background-color", value);
 
106
                    break;
 
107
                case "memload-color0":
 
108
                    Utils.tracesettings("mem", "mem1").set_value("color", value);
 
109
                    break;
 
110
                case "memload-color1":
 
111
                    Utils.tracesettings("mem", "mem2").set_value("color", value);
 
112
                    break;
 
113
                case "memload-color2":
 
114
                    Utils.tracesettings("mem", "mem3").set_value("color", value);
 
115
                    break;
 
116
                case "memload-color3":
 
117
                    Utils.tracesettings("mem", "mem4").set_value("color", value);
 
118
                    break;
 
119
                case "memload-color4":
 
120
                    Utils.graphsettings("mem").set_value("background-color", value);
 
121
                    break;
 
122
                case "netload-color0":
 
123
                    Utils.tracesettings("net", "net1").set_value("color", value);
 
124
                    break;
 
125
                case "netload-color1":
 
126
                    Utils.tracesettings("net", "net2").set_value("color", value);
 
127
                    break;
 
128
                case "netload-color2":
 
129
                    Utils.tracesettings("net", "net3").set_value("color", value);
 
130
                    break;
 
131
                case "netload-color3":
 
132
                    Utils.graphsettings("net").set_value("background-color", value);
 
133
                    break;
 
134
                case "swapload-color0":
 
135
                    Utils.tracesettings("swap", "swap1").set_value("color", value);
 
136
                    break;
 
137
                case "swapload-color1":
 
138
                    Utils.graphsettings("swap").set_value("background-color", value);
 
139
                    break;
 
140
                case "loadavg-color0":
 
141
                    Utils.tracesettings("load", "load1").set_value("color", value);
 
142
                    break;
 
143
                case "loadavg-color1":
 
144
                    Utils.graphsettings("load").set_value("background-color", value);
 
145
                    break;
 
146
                case "diskload-color0":
 
147
                    Utils.tracesettings("disk", "disk1").set_value("color", value);
 
148
                    break;
 
149
                case "diskload-color1":
 
150
                    Utils.tracesettings("disk", "disk2").set_value("color", value);
 
151
                    break;
 
152
                case "diskload-color2":
 
153
                    Utils.graphsettings("disk").set_value("background-color", value);
 
154
                    break;
 
155
                case "speed":
 
156
                    Utils.generalsettings().set_value("speed", value);
 
157
                    break;
 
158
                case "size":
 
159
                    Utils.generalsettings().set_value("size", value);
 
160
                    break;
 
161
                case "height":
 
162
                    Utils.generalsettings().set_value("height", value);
 
163
                    break;
 
164
                case "system-monitor":
 
165
                    Utils.generalsettings().set_value("system-monitor", value);
 
166
                    break;
 
167
                case "autostart":
 
168
                    Utils.generalsettings().set_value("autostart", value);
 
169
                    break;
 
170
                }
 
171
            }
 
172
        }
 
173
    }
 
174
}
 
175