diff options
-rw-r--r-- | src/experiment-player.h | 15 | ||||
-rw-r--r-- | src/format-selection.c | 8 | ||||
-rw-r--r-- | src/quickopen.c | 10 |
3 files changed, 21 insertions, 12 deletions
diff --git a/src/experiment-player.h b/src/experiment-player.h index a8f6e87..a7cda8a 100644 --- a/src/experiment-player.h +++ b/src/experiment-player.h @@ -1,6 +1,9 @@ #ifndef __EXPERIMENT_PLAYER_H #define __EXPERIMENT_PLAYER_H +#include <glib.h> +#include <glib/gprintf.h> + #include <gtk/gtk.h> gboolean load_media_file(const gchar *file); @@ -40,4 +43,16 @@ extern GtkWidget *transcript_wizard_combo, VAR = GTK_WIDGET(gtk_builder_get_object(BUILDER, #VAR)); \ } while (0) +static inline gchar * +path_strip_extension(const gchar *filename) +{ + gchar *ret = g_strdup(filename); + gchar *p; + + if ((p = g_strrstr(ret, ".")) != NULL) + *p = '\0'; + + return ret; +} + #endif
\ No newline at end of file diff --git a/src/format-selection.c b/src/format-selection.c index 80fe7c3..fcbff24 100644 --- a/src/format-selection.c +++ b/src/format-selection.c @@ -134,16 +134,12 @@ refresh_formats_store(GtkListStore *store) dir = g_dir_open(formats_directory, 0, NULL); while ((name = g_dir_read_name(dir)) != NULL) { - gchar *itemname, *p; - gchar *fullname; + gchar *itemname, *fullname; if (!g_pattern_match_string(pattern, name)) continue; - itemname = g_strdup(name); - if ((p = g_strrstr(itemname, ".")) != NULL) - *p = '\0'; - + itemname = path_strip_extension(name); fullname = g_build_filename(formats_directory, name, NULL); gtk_list_store_append(store, &iter); diff --git a/src/quickopen.c b/src/quickopen.c index 636c100..30f089d 100644 --- a/src/quickopen.c +++ b/src/quickopen.c @@ -136,19 +136,17 @@ refresh_quickopen_menu(GtkMenu *menu) if (!quickopen_filter(name)) continue; - gchar *item_name, *p; + gchar *itemname; GtkWidget *item; fullnames = g_realloc(fullnames, (fullnames_n+2) * sizeof(gchar *)); fullnames[fullnames_n] = g_build_filename(quickopen_directory, name, NULL); - item_name = g_strdup(name); - if ((p = g_strrstr(item_name, ".")) != NULL) - *p = '\0'; - item = gtk_check_menu_item_new_with_label(item_name); + itemname = path_strip_extension(name); + item = gtk_check_menu_item_new_with_label(itemname); g_ptr_array_add(items, item); - g_free(item_name); + g_free(itemname); gtk_check_menu_item_set_draw_as_radio(GTK_CHECK_MENU_ITEM(item), TRUE); |