X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fdeleteallindexes.C;h=c600a4550b0813f7f4e402a024b645ae542b1145;hb=21eb2e0b479adf7bf846b835e5c7d9613b6f1a6d;hp=485f00c855db2efed77bbaeff20bd2b070f3f844;hpb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/deleteallindexes.C b/cinelerra-5.1/cinelerra/deleteallindexes.C index 485f00c8..c600a455 100644 --- a/cinelerra-5.1/cinelerra/deleteallindexes.C +++ b/cinelerra-5.1/cinelerra/deleteallindexes.C @@ -34,11 +34,13 @@ #define gettext_noop(String) String #define N_(String) gettext_noop (String) -DeleteAllIndexes::DeleteAllIndexes(MWindow *mwindow, PreferencesWindow *pwindow, int x, int y) - : BC_GenericButton(x, y, _("Delete existing indexes")), Thread() +DeleteAllIndexes::DeleteAllIndexes(MWindow *mwindow, PreferencesWindow *pwindow, + int x, int y, const char *text, const char *filter) + : BC_GenericButton(x, y, text), Thread() { this->mwindow = mwindow; this->pwindow = pwindow; + this->filter = filter; } DeleteAllIndexes::~DeleteAllIndexes() @@ -51,52 +53,23 @@ int DeleteAllIndexes::handle_event() return 1; } -static int test_filter(const char *string, const char *filter) -{ - return (strlen(string) > strlen(filter) && - !strcmp(string + strlen(string) - strlen(filter), filter)); -} - void DeleteAllIndexes::run() { - char string[BCTEXTLEN], string1[BCTEXTLEN], string2[BCTEXTLEN]; -// prepare directory + char string1[BCTEXTLEN], string2[BCTEXTLEN]; strcpy(string1, pwindow->thread->preferences->index_directory); FileSystem dir; dir.update(pwindow->thread->preferences->index_directory); dir.complete_path(string1); -// prepare filter - const char *filter1 = ".idx"; - const char *filter2 = ".toc"; - const char *filter3 = ".mkr"; - -// pwindow->disable_window(); - sprintf(string, _("Delete all indexes in %s?"), string1); -// QuestionWindow confirm(mwindow); -// confirm.create_objects(string, 0); - -// int result = confirm.run_window(); - - int result = 0; - if(!result) - { - for(int i = 0; i < dir.dir_list.total; i++) - { - result = 1; - sprintf(string2, "%s%s", string1, dir.dir_list.values[i]->name); -// test filter - if(test_filter(string2, filter1) || - test_filter(string2, filter2) || - test_filter(string2, filter3)) - { - remove(string2); + + for( int i=0; i