* */
init(self)
{
- /**
- * Get Profile
- */
- gchar *url = cfg_get_single_value_as_string(config, "connection", "profile-file");
- if(!url)
- {
- url = gmpc_get_user_path("profiles.cfg");
- cfg_set_single_value_as_string(config, "connection", "profile-file",url);
- }
- self->_priv->profiles = cfg_open(url);
- if(self->_priv->profiles == NULL)
- {
+ gchar *url;
/**
- * Show gtk error message and quit
+ * Get Profile
*/
- debug_printf(DEBUG_ERROR,"Failed to save/load Profile file:\n%s\n",url);
- abort();
- }
- g_free(url);
- self_load_from_config(self);
- if(self->_priv->num_profiles == 0)
- {
- self_add_default(self);
+ url = gmpc_get_user_path("profiles.cfg");
+ self->_priv->profiles = cfg_open(url);
+ if(self->_priv->profiles == NULL)
+ {
+ /**
+ * Show gtk error message and quit
+ */
+ debug_printf(DEBUG_ERROR,"Failed to save/load Profile file:\n%s\n",url);
+ abort();
+ }
+ g_free(url);
self_load_from_config(self);
- }
+ if(self->_priv->num_profiles == 0)
+ {
+ self_add_default(self);
+ self_load_from_config(self);
+ }
}
/**
* Add default values
#include "browsers/playlist3-tag2-browser.h"
#include "browsers/playlist3-current-playlist-browser.h"
-/* vala */
-/*#include "vala/gmpc-easy-command.h"
-#include "vala/gmpc-test-plugin.h"
-#include "vala/gmpc-metadata-browser2.h"
-#include "vala/gmpc-metadata-prefetcher.h"
-#include "vala/gmpc-database-update-tracker.h"
-#include "vala/gmpc-paned-size-group.h"
-#include "vala/gmpc-nowplaying2.h"
-*/
#include "gmpc-mpddata-model-playlist.h"
#include "metadata-cache.h"
#include "bug-information.h"
* Set paths
*/
static void create_gmpc_paths(void);
+static void move_old_gmpc_data(void);
void print_version(void);
* Call create_gmpc_paths();
* This function checks if the path needed path are available, if not, create them
*/
+ move_old_gmpc_data();
create_gmpc_paths();
TEC("Check version and create paths");
}
}
-static void create_gmpc_paths(void)
+
+static void move_old_gmpc_data(void)
{
- /**
- * Create needed directories for mpd.
- */
+ gchar *url;
+ gchar *old = g_get_home_dir();
+ gchar *path;
- /** create path */
- gchar *url = gmpc_get_user_path(NULL);
+ url = gmpc_get_user_path(NULL);
+ if (!g_file_test(url, G_FILE_TEST_EXISTS)) {
+ path = g_build_filename(old, ".gmpc", NULL);
+ if(g_file_test(path, G_FILE_TEST_IS_DIR)) {
+ GDir *dir;
+ gchar *iter;
+ /* Create the directory */
+ create_gmpc_paths();
+ dir = g_dir_open(path, 0, NULL);
+ if(dir){
+ while((iter = g_dir_read_name(dir)) != NULL)
+ {
+ gchar *dest_path = g_build_filename(url, iter, NULL);
+ gchar *src_path = g_build_filename(path, iter, NULL);
+ printf("move %s %s\n", src_path, dest_path);
+ g_rename(src_path, dest_path);
+ g_free(src_path); g_free(dest_path);
+ }
+ g_dir_close(dir);
+ }
+ }
+ g_free(path);
+ }
+ g_free(url);
+ url = gmpc_get_covers_path("covers.sql");
+ if (!g_file_test(url, G_FILE_TEST_EXISTS)) {
+ path = g_build_filename(old, ".covers","covers.sql", NULL);
+ if(g_file_test(path, G_FILE_TEST_EXISTS)) {
+ /* Create the directory */
+ create_gmpc_paths();
+ printf("move %s %s\n",path,url);
+ g_rename(path,url);
+ }
+ g_free(path);
+ }
+}
+
+static void create_directory(gchar *url)
+{
/**
* Check if ~/.gmpc/ exists
* If not try to create it.
} else {
g_log(LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "%s exist and is directory", url);
}
+}
+
+static void create_gmpc_paths(void)
+{
+ /**
+ * Create needed directories for mpd.
+ */
+
+ /** create path */
+ gchar *url = gmpc_get_user_path(NULL);
+ create_directory(url);
+ q_free(url);
+
+ url = gmpc_get_covers_path(NULL);
+ create_directory(url);
/* Free the path */
q_free(url);
}
int ret;
unsigned i;
gboolean database_valid = FALSE;
- gchar *url = gmpc_get_covers_path(NULL);
- if(!g_file_test(url,G_FILE_TEST_IS_DIR)){
- if(g_mkdir(url, 0700)<0){
- g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_ERROR, "Cannot create directory %s\n", url);
- }
- }
- q_free(url);
-
- url = gmpc_get_covers_path("covers.sql");
+ gchar *url = gmpc_get_covers_path("covers.sql");
do{
ret = sqlite3_open(url, &metadata_db);
if (ret != SQLITE_OK)
{
gchar *retv= NULL;
/* home dir */
- const gchar *homedir = g_get_home_dir();
- g_assert(song->artist != NULL);
+ gchar *homedir = NULL; g_assert(song->artist != NULL);
g_assert(type < META_QUERY_DATA_TYPES);
+ homedir = g_get_user_cache_dir();
+
{
GError *error = NULL;
gchar *filename = NULL, *dirname = NULL;
dirname = g_strdup("invalid");
}
dirname = strip_invalid_chars(dirname);
- retv = g_build_path(G_DIR_SEPARATOR_S, homedir,METADATA_DIR, dirname,NULL);
+ retv = g_build_path(G_DIR_SEPARATOR_S, homedir,"gmpc","metadata", dirname,NULL);
if(g_file_test(retv, G_FILE_TEST_EXISTS) == FALSE) {
if(g_mkdir_with_parents(retv, 0755) < 0) {
g_error("Failed to create: %s\n", retv);
g_free(temp);
}
filename = strip_invalid_chars(filename);
- retv = g_build_path(G_DIR_SEPARATOR_S, homedir,METADATA_DIR, dirname,filename,NULL);
+ retv = g_build_path(G_DIR_SEPARATOR_S, homedir,"gmpc", "metadata", dirname,filename,NULL);
if(filename) g_free(filename);
if(dirname) g_free(dirname);
}
+ g_free(homedir);
return retv;
}
static void metadata_pref_priority_changed(GtkCellRenderer *renderer, char *path, char *new_text, GtkListStore *store)
MetaDataResult meta_data_get_path(mpd_Song *tsong, MetaDataType type, MetaData **met,MetaDataCallback callback, gpointer data);
-#define METADATA_DIR ".covers"
gchar * gmpc_get_metadata_filename(MetaDataType type, mpd_Song *song, char *extention);
*/
gchar * gmpc_get_user_path(const gchar *filename)
{
- const gchar *homedir = g_get_home_dir();
+ const gchar *homedir = g_get_user_config_dir();
gchar *ret = NULL;
/* Build the path */
-#ifdef USE_CONFIG_DIR
- ret = g_build_path(G_DIR_SEPARATOR_S, homedir,".config", "gmpc", filename,NULL);
-#else
- ret = g_build_path(G_DIR_SEPARATOR_S, homedir, ".gmpc", filename,NULL);
-#endif
+ ret = g_build_path(G_DIR_SEPARATOR_S, homedir, "gmpc", filename,NULL);
return ret;
}
*/
gchar * gmpc_get_covers_path(const gchar *filename)
{
- const gchar *homedir = g_get_home_dir();
+ const gchar *homedir = g_get_user_cache_dir();
gchar *ret = NULL;
/* Build the path */
-#ifdef USE_CONFIG_DIR
- ret = g_build_path(G_DIR_SEPARATOR_S, homedir,".config", "covers", filename,NULL);
-#else
- ret = g_build_path(G_DIR_SEPARATOR_S, homedir, ".covers", filename,NULL);
-#endif
+ ret = g_build_path(G_DIR_SEPARATOR_S, homedir, "gmpc", "metadata", filename,NULL);
return ret;
}