Code

options: convert timedisplay_type into a bool variable
[ncmpc.git] / src / options.c
index cc938c330334f709c340a5ce4dec306237d1acfe..c9eb5e8a954c3fcbb812caa4651e36b1f5888548 100644 (file)
@@ -1,7 +1,7 @@
 /* ncmpc (Ncurses MPD Client)
  * (c) 2004-2009 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
@@ -49,20 +49,22 @@ typedef void (*option_callback_fn_t)(int c, const char *arg);
 
 
 options_t options = {
-       .port = DEFAULT_PORT,
        .crossfade_time = DEFAULT_CROSSFADE_TIME,
        .seek_time = 1,
 #ifdef ENABLE_LYRICS_SCREEN
        .lyrics_timeout = DEFAULT_LYRICS_TIMEOUT,
+       .lyrics_autosave = false,
 #endif
        .find_wrap = true,
+       .scroll_offset = 0,
        .wide_cursor = true,
        .audible_bell = true,
        .bell_on_wrap = true,
+       .status_message_time = 3,
 #ifndef NCMPC_MINI
        .scroll = DEFAULT_SCROLL,
        .welcome_screen_list = true,
-       .display_time = true,
+       .jump_prefix_only = true,
 #endif
 };
 
@@ -76,8 +78,8 @@ static const arg_opt_t option_table[] = {
        { 'M', "no-mouse", NULL, "Disable mouse" },
 #endif
        { 'e', "exit", NULL, "Exit on connection errors" },
-       { 'p', "port", "PORT", "Connect to server on port [" DEFAULT_PORT_STR "]" },
-       { 'h', "host", "HOST", "Connect to server on host [" DEFAULT_HOST "]" },
+       { 'p', "port", "PORT", "Connect to server on port" },
+       { 'h', "host", "HOST", "Connect to server on host" },
        { 'P', "password","PASSWORD", "Connect with password" },
        { 'f', "config", "FILE", "Read configuration from file" },
        { 'k', "key-file","FILE", "Read configuration from file" },
@@ -149,7 +151,6 @@ display_help(void)
                       option_table[i].shortopt,
                       tmp,
                       option_table[i].descrition);
-               i++;
        }
 }
 
@@ -249,34 +250,32 @@ handle_option(int c, const char *arg)
                options.port = atoi(arg);
                break;
        case 'h': /* --host */
-               if( options.host )
-                       g_free(options.host);
+               g_free(options.host);
                options.host = g_strdup(arg);
                break;
        case 'P': /* --password */
-               if( options.password )
-                       g_free(options.password);
+               g_free(options.password);
                options.password = locale_to_utf8(arg);
                break;
        case 'f': /* --config */
-               if( options.config_file )
-                       g_free(options.config_file);
+               g_free(options.config_file);
                options.config_file = g_strdup(arg);
                break;
        case 'k': /* --key-file */
-               if( options.key_file )
-                       g_free(options.key_file);
+               g_free(options.key_file);
                options.key_file = g_strdup(arg);
                break;
        case 'S': /* --key-file */
                /* the splash screen was removed */
                break;
 #ifndef NDEBUG
+#ifndef NCMPC_MINI
        case 'K': /* --dump-keys */
                read_configuration();
                write_key_bindings(stdout, KEYDEF_WRITE_ALL | KEYDEF_COMMENT_ALL);
                exit(EXIT_SUCCESS);
                break;
+#endif
 #endif
        default:
                fprintf(stderr,"Unknown Option %c = %s\n", c, arg);
@@ -368,15 +367,7 @@ options_parse(int argc, const char *argv[])
 void
 options_init(void)
 {
-       const char *value;
-       char *tmp;
-
-       /* get initial values for host and password from MPD_HOST (environment) */
-       if ((value = g_getenv(MPD_HOST_ENV)))
-               options.host = g_strdup(value);
-       else
-               options.host = g_strdup(DEFAULT_HOST);
-
+       /* XXX
        if ((tmp = g_strstr_len(options.host, strlen(options.host), "@"))) {
                char *oldhost = options.host;
                *tmp  = '\0';
@@ -384,17 +375,30 @@ options_init(void)
                options.host = g_strdup(tmp+1);
                g_free(oldhost);
        }
-
-       /* get initial values for port from MPD_PORT (environment) */
-       if ((value = g_getenv(MPD_PORT_ENV)))
-               options.port = atoi(value);
+       */
 
        /* default option values */
        options.list_format = g_strdup(DEFAULT_LIST_FORMAT);
        options.status_format = g_strdup(DEFAULT_STATUS_FORMAT);
        options.screen_list = g_strsplit_set(DEFAULT_SCREEN_LIST, " ", 0);
-       options.timedisplay_type = g_strdup(DEFAULT_TIMEDISPLAY_TYPE);
 #ifndef NCMPC_MINI
        options.scroll_sep = g_strdup(DEFAULT_SCROLL_SEP);
 #endif
 }
+
+void
+options_deinit(void)
+{
+       g_free(options.host);
+       g_free(options.username);
+       g_free(options.password);
+       g_free(options.config_file);
+       g_free(options.key_file);
+       g_free(options.list_format);
+       g_free(options.status_format);
+       g_strfreev(options.screen_list);
+#ifndef NCMPC_MINI
+       g_free(options.xterm_title_format);
+       g_free(options.scroll_sep);
+#endif
+}