Mercurial > audlegacy-plugins
annotate src/skins/skins_cfg.c @ 2679:fb5375e86a03
make setting random skin on play working
author | Tomasz Mon <desowin@gmail.com> |
---|---|
date | Sun, 01 Jun 2008 17:12:08 +0200 |
parents | c2603047a1a3 |
children | e540e041b34b |
rev | line source |
---|---|
2572
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
1 /* |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
2 * Audacious - a cross-platform multimedia player |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
3 * Copyright (c) 2008 Tomasz Moń |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
4 * |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
5 * This program is free software; you can redistribute it and/or modify |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
6 * it under the terms of the GNU General Public License as published by |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
7 * the Free Software Foundation; under version 3 of the License. |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
8 * |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
9 * This program is distributed in the hope that it will be useful, |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
12 * GNU General Public License for more details. |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
13 * |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
14 * You should have received a copy of the GNU General Public License |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
15 * along with this program. If not, see <http://www.gnu.org/licenses>. |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
16 * |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
17 * The Audacious team does not consider modular code linking to |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
18 * Audacious or using our public API to be a derived work. |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
19 */ |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
20 |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
21 |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
22 #include "skins_cfg.h" |
2581 | 23 #include "ui_skin.h" |
2583 | 24 #include "ui_vis.h" |
2642 | 25 #include "ui_main.h" |
26 #include "ui_playlist.h" | |
2572
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
27 #include <glib.h> |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
28 #include <stdlib.h> |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
29 #include <audacious/plugin.h> |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
30 |
2582
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
31 skins_cfg_t config; |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
32 |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
33 skins_cfg_t skins_default_config = { |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
34 .scaled = FALSE, |
2592
8f5999909416
add ui_main - with huge amount of #if 0 to sort out later
Tomasz Mon <desowin@gmail.com>
parents:
2586
diff
changeset
|
35 .autoscroll = TRUE, |
2582
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
36 .always_on_top = FALSE, |
2602
7cd898f08f31
work in progress - add ui_manager and ui_main_evlisteners
Tomasz Mon <desowin@gmail.com>
parents:
2592
diff
changeset
|
37 .sticky = FALSE, |
2582
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
38 .scale_factor = 2.0, |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
39 .always_show_cb = TRUE, |
2614 | 40 .close_dialog_open = TRUE, |
41 .close_dialog_add = TRUE, | |
2582
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
42 .skin = NULL, |
2614 | 43 .filesel_path = NULL, |
2592
8f5999909416
add ui_main - with huge amount of #if 0 to sort out later
Tomasz Mon <desowin@gmail.com>
parents:
2586
diff
changeset
|
44 .playlist_visible = FALSE, |
8f5999909416
add ui_main - with huge amount of #if 0 to sort out later
Tomasz Mon <desowin@gmail.com>
parents:
2586
diff
changeset
|
45 .equalizer_visible = FALSE, |
8f5999909416
add ui_main - with huge amount of #if 0 to sort out later
Tomasz Mon <desowin@gmail.com>
parents:
2586
diff
changeset
|
46 .player_visible = TRUE, |
2582
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
47 .player_shaded = FALSE, |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
48 .equalizer_shaded = FALSE, |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
49 .playlist_shaded = FALSE, |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
50 .dim_titlebar = TRUE, |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
51 .show_wm_decorations = FALSE, |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
52 .easy_move = TRUE, |
2584 | 53 .allow_broken_skins = FALSE, |
2592
8f5999909416
add ui_main - with huge amount of #if 0 to sort out later
Tomasz Mon <desowin@gmail.com>
parents:
2586
diff
changeset
|
54 .warn_about_broken_gtk_engines = TRUE, |
8f5999909416
add ui_main - with huge amount of #if 0 to sort out later
Tomasz Mon <desowin@gmail.com>
parents:
2586
diff
changeset
|
55 .warn_about_win_visibility = TRUE, |
2584 | 56 .disable_inline_gtk = FALSE, |
2583 | 57 .timer_mode = 0, |
58 .vis_type = VIS_ANALYZER, | |
59 .analyzer_mode = ANALYZER_NORMAL, | |
60 .analyzer_type = ANALYZER_BARS, | |
61 .scope_mode = SCOPE_DOT, | |
62 .voiceprint_mode = VOICEPRINT_NORMAL, | |
63 .vu_mode = VU_SMOOTH, | |
64 .vis_refresh = REFRESH_FULL, | |
65 .analyzer_falloff = FALLOFF_FAST, | |
66 .peaks_falloff = FALLOFF_SLOW, | |
67 .player_x = MAINWIN_DEFAULT_POS_X, | |
68 .player_y = MAINWIN_DEFAULT_POS_Y, | |
69 .equalizer_x = EQUALIZER_DEFAULT_POS_X, | |
70 .equalizer_y = EQUALIZER_DEFAULT_POS_Y, | |
71 .playlist_x = PLAYLISTWIN_DEFAULT_POS_X, | |
72 .playlist_y = PLAYLISTWIN_DEFAULT_POS_Y, | |
73 .playlist_width = PLAYLISTWIN_DEFAULT_WIDTH, | |
74 .playlist_height = PLAYLISTWIN_DEFAULT_HEIGHT, | |
75 .playlist_position = 0, | |
76 .mouse_change = 8, /* mouse wheel scroll step */ | |
77 .scroll_pl_by = 3, | |
78 .colorize_r = 255, .colorize_g = 255, .colorize_b = 255, | |
79 .snap_distance = 10, | |
80 .snap_windows = TRUE, | |
81 .save_window_position = TRUE, | |
2584 | 82 .analyzer_peaks = TRUE, |
2586 | 83 .twoway_scroll = TRUE, /* use back and forth scroll */ |
2592
8f5999909416
add ui_main - with huge amount of #if 0 to sort out later
Tomasz Mon <desowin@gmail.com>
parents:
2586
diff
changeset
|
84 .mainwin_use_bitmapfont = TRUE, |
2606 | 85 .eq_scaled_linked = TRUE, |
2614 | 86 .use_xmms_style_fileselector = FALSE, |
2620 | 87 .show_numbers_in_pl = TRUE, |
88 .show_separator_in_pl = TRUE, | |
2642 | 89 .playlist_font = NULL, |
90 .mainwin_font = NULL, | |
91 .show_filepopup_for_tuple = TRUE, | |
92 .filepopup_delay = 20, /* delay until the filepopup comes up */ | |
2679
fb5375e86a03
make setting random skin on play working
Tomasz Mon <desowin@gmail.com>
parents:
2642
diff
changeset
|
93 .random_skin_on_play = FALSE, |
2582
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
94 }; |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
95 |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
96 typedef struct skins_cfg_boolent_t { |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
97 char const *be_vname; |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
98 gboolean *be_vloc; |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
99 gboolean be_wrt; |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
100 } skins_cfg_boolent; |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
101 |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
102 static skins_cfg_boolent skins_boolents[] = { |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
103 {"always_show_cb", &config.always_show_cb, TRUE}, |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
104 {"always_on_top", &config.always_on_top, TRUE}, |
2602
7cd898f08f31
work in progress - add ui_manager and ui_main_evlisteners
Tomasz Mon <desowin@gmail.com>
parents:
2592
diff
changeset
|
105 {"sticky", &config.sticky, TRUE}, |
2582
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
106 {"always_show_cb", &config.always_show_cb, TRUE}, |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
107 {"scaled", &config.scaled, TRUE}, |
2592
8f5999909416
add ui_main - with huge amount of #if 0 to sort out later
Tomasz Mon <desowin@gmail.com>
parents:
2586
diff
changeset
|
108 {"autoscroll_songname", &config.autoscroll, TRUE}, |
8f5999909416
add ui_main - with huge amount of #if 0 to sort out later
Tomasz Mon <desowin@gmail.com>
parents:
2586
diff
changeset
|
109 {"equalizer_visible", &config.equalizer_visible, TRUE}, |
8f5999909416
add ui_main - with huge amount of #if 0 to sort out later
Tomasz Mon <desowin@gmail.com>
parents:
2586
diff
changeset
|
110 {"playlist_visible", &config.playlist_visible, TRUE}, |
8f5999909416
add ui_main - with huge amount of #if 0 to sort out later
Tomasz Mon <desowin@gmail.com>
parents:
2586
diff
changeset
|
111 {"player_visible", &config.player_visible, TRUE}, |
2582
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
112 {"player_shaded", &config.player_shaded, TRUE}, |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
113 {"equalizer_shaded", &config.equalizer_shaded, TRUE}, |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
114 {"playlist_shaded", &config.playlist_shaded, TRUE}, |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
115 {"dim_titlebar", &config.dim_titlebar, TRUE}, |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
116 {"show_wm_decorations", &config.show_wm_decorations, TRUE}, |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
117 {"easy_move", &config.easy_move, TRUE}, |
2584 | 118 {"allow_broken_skins", &config.allow_broken_skins, TRUE}, |
119 {"disable_inline_gtk", &config.disable_inline_gtk, TRUE}, | |
2583 | 120 {"snap_windows", &config.snap_windows, TRUE}, |
121 {"save_window_positions", &config.save_window_position, TRUE}, | |
2584 | 122 {"analyzer_peaks", &config.analyzer_peaks, TRUE}, |
2586 | 123 {"twoway_scroll", &config.twoway_scroll, TRUE}, |
2592
8f5999909416
add ui_main - with huge amount of #if 0 to sort out later
Tomasz Mon <desowin@gmail.com>
parents:
2586
diff
changeset
|
124 {"warn_about_win_visibility", &config.warn_about_win_visibility, TRUE}, |
8f5999909416
add ui_main - with huge amount of #if 0 to sort out later
Tomasz Mon <desowin@gmail.com>
parents:
2586
diff
changeset
|
125 {"warn_about_broken_gtk_engines", &config.warn_about_broken_gtk_engines, TRUE}, |
8f5999909416
add ui_main - with huge amount of #if 0 to sort out later
Tomasz Mon <desowin@gmail.com>
parents:
2586
diff
changeset
|
126 {"mainwin_use_bitmapfont", &config.mainwin_use_bitmapfont, TRUE}, |
2606 | 127 {"eq_scaled_linked", &config.eq_scaled_linked, TRUE}, |
2620 | 128 {"show_numbers_in_pl", &config.show_numbers_in_pl, TRUE}, |
129 {"show_separator_in_pl", &config.show_separator_in_pl, TRUE}, | |
2642 | 130 {"show_filepopup_for_tuple", &config.show_filepopup_for_tuple, TRUE}, |
2679
fb5375e86a03
make setting random skin on play working
Tomasz Mon <desowin@gmail.com>
parents:
2642
diff
changeset
|
131 {"random_skin_on_play", &config.random_skin_on_play, TRUE}, |
2582
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
132 }; |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
133 |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
134 static gint ncfgbent = G_N_ELEMENTS(skins_boolents); |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
135 |
2583 | 136 typedef struct skins_cfg_nument_t { |
137 char const *ie_vname; | |
138 gint *ie_vloc; | |
139 gboolean ie_wrt; | |
140 } skins_cfg_nument; | |
141 | |
142 static skins_cfg_nument skins_numents[] = { | |
143 {"player_x", &config.player_x, TRUE}, | |
144 {"player_y", &config.player_y, TRUE}, | |
145 {"timer_mode", &config.timer_mode, TRUE}, | |
146 {"vis_type", &config.vis_type, TRUE}, | |
147 {"analyzer_mode", &config.analyzer_mode, TRUE}, | |
148 {"analyzer_type", &config.analyzer_type, TRUE}, | |
149 {"scope_mode", &config.scope_mode, TRUE}, | |
150 {"vu_mode", &config.vu_mode, TRUE}, | |
151 {"voiceprint_mode", &config.voiceprint_mode, TRUE}, | |
152 {"vis_refresh_rate", &config.vis_refresh, TRUE}, | |
153 {"analyzer_falloff", &config.analyzer_falloff, TRUE}, | |
154 {"peaks_falloff", &config.peaks_falloff, TRUE}, | |
155 {"playlist_x", &config.playlist_x, TRUE}, | |
156 {"playlist_y", &config.playlist_y, TRUE}, | |
157 {"playlist_width", &config.playlist_width, TRUE}, | |
158 {"playlist_height", &config.playlist_height, TRUE}, | |
159 {"playlist_position", &config.playlist_position, TRUE}, | |
160 {"equalizer_x", &config.equalizer_x, TRUE}, | |
161 {"equalizer_y", &config.equalizer_y, TRUE}, | |
162 {"mouse_wheel_change", &config.mouse_change, TRUE}, | |
163 {"scroll_pl_by", &config.scroll_pl_by, TRUE}, | |
164 {"colorize_r", &config.colorize_r, TRUE}, | |
165 {"colorize_g", &config.colorize_g, TRUE}, | |
166 {"colorize_b", &config.colorize_b, TRUE}, | |
167 {"snap_distance", &config.snap_distance, TRUE}, | |
2642 | 168 {"filepopup_delay", &config.filepopup_delay, TRUE}, |
2583 | 169 }; |
170 | |
171 static gint ncfgient = G_N_ELEMENTS(skins_numents); | |
172 | |
2642 | 173 typedef struct skins_cfg_strent_t { |
174 char const *se_vname; | |
175 char **se_vloc; | |
176 gboolean se_wrt; | |
177 } skins_cfg_strent; | |
178 | |
179 static skins_cfg_strent skins_strents[] = { | |
180 {"playlist_font", &config.playlist_font, TRUE}, | |
181 {"mainwin_font", &config.mainwin_font, TRUE}, | |
182 {"skin", &config.skin, FALSE}, | |
183 }; | |
184 | |
185 static gint ncfgsent = G_N_ELEMENTS(skins_strents); | |
186 | |
2582
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
187 void skins_cfg_free() { |
2642 | 188 gint i; |
189 for (i = 0; i < ncfgsent; ++i) { | |
190 if (*(skins_strents[i].se_vloc) != NULL) { | |
191 g_free( *(skins_strents[i].se_vloc) ); | |
192 *(skins_strents[i].se_vloc) = NULL; | |
193 } | |
194 } | |
2572
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
195 } |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
196 |
2582
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
197 void skins_cfg_load() { |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
198 mcs_handle_t *cfgfile = aud_cfg_db_open(); |
2572
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
199 |
2582
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
200 memcpy(&config, &skins_default_config, sizeof(skins_cfg_t)); |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
201 int i; |
2635
b990e7eb0c25
save config on plugin cleanup
Tomasz Mon <desowin@gmail.com>
parents:
2620
diff
changeset
|
202 |
2582
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
203 for (i = 0; i < ncfgbent; ++i) { |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
204 aud_cfg_db_get_bool(cfgfile, "skins", |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
205 skins_boolents[i].be_vname, |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
206 skins_boolents[i].be_vloc); |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
207 } |
2635
b990e7eb0c25
save config on plugin cleanup
Tomasz Mon <desowin@gmail.com>
parents:
2620
diff
changeset
|
208 |
2583 | 209 for (i = 0; i < ncfgient; ++i) { |
210 aud_cfg_db_get_int(cfgfile, "skins", | |
211 skins_numents[i].ie_vname, | |
212 skins_numents[i].ie_vloc); | |
213 } | |
2581 | 214 |
2642 | 215 for (i = 0; i < ncfgsent; ++i) { |
216 aud_cfg_db_get_string(cfgfile, "skins", | |
217 skins_strents[i].se_vname, | |
218 skins_strents[i].se_vloc); | |
219 } | |
220 | |
221 if (!config.mainwin_font) | |
222 config.mainwin_font = g_strdup(MAINWIN_DEFAULT_FONT); | |
223 | |
224 if (!config.playlist_font) | |
225 config.playlist_font = g_strdup(PLAYLISTWIN_DEFAULT_FONT); | |
2573
c0b08527b121
allow loading compressed skins
Tomasz Mon <desowin@gmail.com>
parents:
2572
diff
changeset
|
226 |
2582
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
227 if (!aud_cfg_db_get_float(cfgfile, "skins", "scale_factor", &(config.scale_factor))) |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
228 config.scale_factor = 2.0; |
2572
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
229 |
2582
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
230 aud_cfg_db_close(cfgfile); |
2572
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
231 } |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
232 |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
233 |
2635
b990e7eb0c25
save config on plugin cleanup
Tomasz Mon <desowin@gmail.com>
parents:
2620
diff
changeset
|
234 void skins_cfg_save() { |
2572
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
235 mcs_handle_t *cfgfile = aud_cfg_db_open(); |
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
236 |
2636 | 237 if (aud_active_skin != NULL) { |
238 if (aud_active_skin->path) | |
239 aud_cfg_db_set_string(cfgfile, "skins", "skin", aud_active_skin->path); | |
240 else | |
241 aud_cfg_db_unset_key(cfgfile, "skins", "skin"); | |
242 } | |
243 | |
2582
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
244 int i; |
2572
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
245 |
2642 | 246 for (i = 0; i < ncfgsent; ++i) { |
247 if (skins_strents[i].se_wrt) | |
248 aud_cfg_db_set_string(cfgfile, "skins", | |
249 skins_strents[i].se_vname, | |
250 *skins_strents[i].se_vloc); | |
251 } | |
252 | |
2582
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
253 for (i = 0; i < ncfgbent; ++i) |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
254 if (skins_boolents[i].be_wrt) |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
255 aud_cfg_db_set_bool(cfgfile, "skins", |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
256 skins_boolents[i].be_vname, |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
257 *skins_boolents[i].be_vloc); |
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
258 |
2583 | 259 for (i = 0; i < ncfgient; ++i) |
260 if (skins_numents[i].ie_wrt) | |
261 aud_cfg_db_set_int(cfgfile, "skins", | |
262 skins_numents[i].ie_vname, | |
263 *skins_numents[i].ie_vloc); | |
264 | |
2582
9b4dfc007b87
use more local configuration options
Tomasz Mon <desowin@gmail.com>
parents:
2581
diff
changeset
|
265 aud_cfg_db_close(cfgfile); |
2572
d0daee216c8d
stub (really incomplete) for skin engine plugin
Tomasz Mon <desowin@gmail.com>
parents:
diff
changeset
|
266 } |