diff options
author | Berke Viktor <bviktor@hexchat.org> | 2013-04-28 04:12:00 +0200 |
---|---|---|
committer | Berke Viktor <bviktor@hexchat.org> | 2013-04-28 04:12:00 +0200 |
commit | a3ba8d575e972ec1ee18b29007c58276625e77d3 (patch) | |
tree | d24cef9943468d4704dfcdce4aff14fd4e7dbce3 /src/fe-gtk/setup.c | |
parent | ea48d18130e6266a8492ff53a459f3dc68b387e9 (diff) |
Store just the filename if the sound file comes from the default sound dir
And get rid of some hardcoding while we're at it
Diffstat (limited to 'src/fe-gtk/setup.c')
-rw-r--r-- | src/fe-gtk/setup.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/fe-gtk/setup.c b/src/fe-gtk/setup.c index 6a057e39..28b05d2c 100644 --- a/src/fe-gtk/setup.c +++ b/src/fe-gtk/setup.c @@ -1618,14 +1618,26 @@ setup_snd_filereq_cb (GtkWidget *entry, char *file) if (file) { if (file[0]) - gtk_entry_set_text (GTK_ENTRY (entry), file); + { + /* Use just the filename if the given sound file is in the default <config>/sounds directory. + * We're comparing absolute paths so this won't work in portable mode which uses a relative path. + */ + if (!strcmp (g_path_get_dirname (file), g_build_filename (get_xdir (), HEXCHAT_SOUND_DIR, NULL))) + { + gtk_entry_set_text (GTK_ENTRY (entry), g_path_get_basename (file)); + } + else + { + gtk_entry_set_text (GTK_ENTRY (entry), file); + } + } } } static void setup_snd_browse_cb (GtkWidget *button, GtkEntry *entry) { - char *sounds_dir = g_build_filename (get_xdir (), "sounds", NULL); + char *sounds_dir = g_build_filename (get_xdir (), HEXCHAT_SOUND_DIR, NULL); gtkutil_file_req (_("Select a sound file"), setup_snd_filereq_cb, entry, sounds_dir, NULL, FRF_FILTERISINITIAL); g_free (sounds_dir); } |