aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2012-05-08 04:49:01 +0200
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2012-05-08 04:49:01 +0200
commit8f2799acdbc3049b88758205bd921c7f8697a0ee (patch)
treeef169bc1d35c7e9c73e93348e69cdbd846e16180 /src
parent0d3bec13f963259986c5b23a6e282f6133c44019 (diff)
downloadgtk-vlc-player-8f2799acdbc3049b88758205bd921c7f8697a0ee.tar.gz
support for more than one quickopen-filter and some quickopen-related constants defined in autoconf
Diffstat (limited to 'src')
-rw-r--r--src/main.c31
1 files changed, 19 insertions, 12 deletions
diff --git a/src/main.c b/src/main.c
index 94669b0..e71914b 100644
--- a/src/main.c
+++ b/src/main.c
@@ -146,26 +146,33 @@ generic_quit_cb(GtkWidget *widget __attribute__((unused)),
static int
quickopen_filter_cb(const struct dirent *name)
{
- char *flk_name, *p;
+ char *filters, *filter;
+ char *trans_name, *p;
struct stat info;
int rc;
- if (fnmatch("*.mp4", name->d_name, 0))
+ filters = strdup(EXPERIMENT_MOVIE_FILTER);
+ for (filter = strtok_r(filters, ";", &p);
+ filter != NULL && fnmatch(filter, name->d_name, 0);
+ filter = strtok_r(NULL, ";", &p));
+ free(filters);
+ if (filter == NULL)
return 0;
- flk_name = malloc(strlen(quickopen_directory) + 1 + strlen(name->d_name) + 1);
- strcpy(flk_name, quickopen_directory);
- strcat(flk_name, "/");
- strcat(flk_name, name->d_name);
- if ((p = strrchr(flk_name, '.')) == NULL) {
- free(flk_name);
+ trans_name = malloc(strlen(quickopen_directory) + 1 + strlen(name->d_name) +
+ sizeof(EXPERIMENT_TRANSCRIPT_EXT));
+ strcpy(trans_name, quickopen_directory);
+ strcat(trans_name, "/");
+ strcat(trans_name, name->d_name);
+ if ((p = strrchr(trans_name, '.')) == NULL) {
+ free(trans_name);
return 0;
}
- strcpy(++p, "flk");
+ strcpy(++p, EXPERIMENT_TRANSCRIPT_EXT);
- rc = !stat(flk_name, &info) && S_ISREG(info.st_mode);
- free(flk_name);
+ rc = !stat(trans_name, &info) && S_ISREG(info.st_mode);
+ free(trans_name);
return rc;
}
@@ -315,7 +322,7 @@ main(int argc, char *argv[])
gtk_widget_show_all(player_window);
- quickopen_directory = strdup(".");
+ quickopen_directory = strdup(DEFAULT_QUICKOPEN_DIR);
refresh_quickopen_menu(GTK_MENU(quickopen_menu));
gdk_threads_enter();