diff --git a/src/conf.c b/src/conf.c
index e60fb8f952de4cbbff24bd1fbb53055385206b91..7f3ddd51814b4750c4052a9e0a70c481cc7f75ff 100644 (file)
--- a/src/conf.c
+++ b/src/conf.c
/* ncmpc (Ncurses MPD Client)
- * (c) 2004-2009 The Music Player Daemon Project
+ * (c) 2004-2010 The Music Player Daemon Project
* Project homepage: http://musicpd.org
-
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
-
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
-
+ *
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-*/
+ */
#include "conf.h"
#include "config.h"
#define CONF_HOST "host"
#define CONF_PORT "port"
#define CONF_PASSWORD "password"
+#define CONF_TIMEOUT "timeout"
#define CONF_LYRICS_TIMEOUT "lyrics-timeout"
-#define CONF_SHOW_SPLASH "show-splash"
#define CONF_SCROLL "scroll"
#define CONF_SCROLL_SEP "scroll-sep"
#define CONF_VISIBLE_BITRATE "visible-bitrate"
#define CONF_WELCOME_SCREEN_LIST "welcome-screen-list"
#define CONF_DISPLAY_TIME "display-time"
#define CONF_JUMP_PREFIX_ONLY "jump-prefix-only"
+#define CONF_LYRICS_AUTOSAVE "lyrics-autosave"
+#define CONF_LYRICS_SHOW_PLUGIN "lyrics-show-plugin"
+#define CONF_TEXT_EDITOR "text-editor"
+#define CONF_TEXT_EDITOR_ASK "text-editor-ask"
+#define CONF_SECOND_COLUMN "second-column"
static bool
str2bool(char *str)
return assign_keys(cmd, keys);
}
-static const char *
+static bool
parse_timedisplay_type(const char *str)
{
- if (!strcmp(str,"elapsed") || !strcmp(str,"remaining"))
- return str;
+ if (strcmp(str, "elapsed") == 0)
+ return false;
+ else if (strcmp(str, "remaining") == 0)
+ return true;
else {
/* translators: ncmpc supports displaying the
"elapsed" or "remaining" time of a song being
played; in this case, the configuration file
contained an invalid setting */
print_error(_("Bad time display type"), str);
- return DEFAULT_TIMEDISPLAY_TYPE;
+ return false;
}
}
{
char **tmp = g_strsplit_set(value, " \t,", 100);
char **screen = NULL;
- int i,j;
+ int i = 0, j = 0;
- i=0;
- j=0;
while( tmp && tmp[i] ) {
char *name = g_ascii_strdown(tmp[i], -1);
if (*name != '\0') {
static bool
parse_line(char *line)
{
- size_t len = strlen(line), i = 0, j;
+ size_t len = strlen(line), i = 0, j = 0;
char name[MAX_LINE_LENGTH];
char value[MAX_LINE_LENGTH];
bool match_found;
/* get the name part */
- j = 0;
- while (i < len && line[i] != '=' &&
- !g_ascii_isspace(line[i])) {
+ while (i < len && line[i] != '=' && !g_ascii_isspace(line[i]))
name[j++] = line[i++];
- }
name[j] = '\0';
else if (!strcasecmp(CONF_VISIBLE_BITRATE, name))
options.visible_bitrate = str2bool(value);
/* timer display type */
- else if (!strcasecmp(CONF_TIMEDISPLAY_TYPE, name)) {
- g_free(options.timedisplay_type);
- options.timedisplay_type=g_strdup(parse_timedisplay_type(value));
+ else if (!strcasecmp(CONF_TIMEDISPLAY_TYPE, name))
+ options.display_remaining_time = parse_timedisplay_type(value);
/* color definition */
- } else if (!strcasecmp(CONF_COLOR_DEFINITION, name))
+ else if (!strcasecmp(CONF_COLOR_DEFINITION, name))
#ifdef ENABLE_COLORS
parse_color_definition(value);
#else
else if (!strcasecmp(CONF_SCREEN_LIST, name)) {
g_strfreev(options.screen_list);
options.screen_list = check_screen_list(value);
- } else if (!strcasecmp(CONF_SHOW_SPLASH, name)) {
- /* the splash screen was removed */
} else if (!strcasecmp(CONF_HOST, name))
options.host = get_format(value);
else if (!strcasecmp(CONF_PORT, name))
options.port = atoi(get_format(value));
else if (!strcasecmp(CONF_PASSWORD, name))
options.password = get_format(value);
+ else if (!strcasecmp(CONF_TIMEOUT, name))
+ options.timeout_ms = atoi(get_format(value))
+ * 1000 /* seconds -> milliseconds */;
else if (!strcasecmp(CONF_LYRICS_TIMEOUT, name))
#ifdef ENABLE_LYRICS_SCREEN
options.lyrics_timeout = atoi(get_format(value));
{}
#else
options.jump_prefix_only = str2bool(value);
+#endif
+ else if (!strcasecmp(CONF_LYRICS_AUTOSAVE, name))
+#ifdef ENABLE_LYRICS_SCREEN
+ options.lyrics_autosave = str2bool(value);
+#else
+ {}
+#endif
+ else if (!strcasecmp(CONF_LYRICS_SHOW_PLUGIN, name))
+#ifdef ENABLE_LYRICS_SCREEN
+ options.lyrics_show_plugin = str2bool(value);
+#else
+ {}
+#endif
+ else if (!strcasecmp(name, CONF_TEXT_EDITOR))
+#ifdef ENABLE_LYRICS_SCREEN
+ {
+ g_free(options.text_editor);
+ options.text_editor = get_format(value);
+ }
+#else
+ {}
+#endif
+ else if (!strcasecmp(name, CONF_TEXT_EDITOR_ASK))
+#ifdef ENABLE_LYRICS_SCREEN
+ options.text_editor_ask = str2bool(value);
+#else
+ {}
+#endif
+ else if (!strcasecmp(CONF_SECOND_COLUMN, name))
+#ifdef NCMPC_MINI
+ {}
+#else
+ options.second_column = str2bool(value);
#endif
else
match_found = false;
if (!match_found)
- print_error(_("Unknown configuration parameter"),
- name);
+ print_error(_("Unknown configuration parameter"), name);
return match_found;
}
return 0;
}
+#ifndef WIN32
retval = mkdir(directory, 0755);
+#else
+ retval = mkdir(directory);
+#endif
g_free(directory);
return retval;
}