X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmenuattachtransition.C;h=b9af91f890947060aaec3388530ba5fa66239c9c;hb=refs%2Fheads%2Fmaster;hp=13307fb9fc695f522a9176fa99d33788c3a24d87;hpb=7fd85fb66168f6b518c5f2d73e04036e87faa0e1;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/menuattachtransition.C b/cinelerra-5.1/cinelerra/menuattachtransition.C index 13307fb9..b9af91f8 100644 --- a/cinelerra-5.1/cinelerra/menuattachtransition.C +++ b/cinelerra-5.1/cinelerra/menuattachtransition.C @@ -73,9 +73,9 @@ void TransitionDialogThread::start() { if(!transition_names.total) { - strcpy(transition_title, data_type == TRACK_AUDIO ? - mwindow->edl->session->default_atransition : - mwindow->edl->session->default_vtransition); +// strcpy(transition_title, data_type == TRACK_AUDIO ? +// mwindow->edl->session->default_atransition : +// mwindow->edl->session->default_vtransition); // Construct listbox names ArrayList plugindb; @@ -112,6 +112,17 @@ void TransitionDialogThread::handle_close_event(int result) { if(!result) { + // Re-search plugindb and use untranslated plugin name + ArrayList plugindb; + mwindow->search_plugindb(data_type == TRACK_AUDIO, + data_type == TRACK_VIDEO, 0, 1, 0, plugindb); + for(int i = 0; i < plugindb.total; i++) { + const char *title = _(plugindb.values[i]->title); + if( !strcmp(transition_title, title)) { + strcpy(transition_title, N_(plugindb.values[i]->title)); + } + } + mwindow->paste_transitions(data_type, transition_title); } } @@ -123,10 +134,22 @@ TransitionDialog::TransitionDialog(MWindow *mwindow, : BC_Window(_("Attach Transition"), x, y, mwindow->session->transitiondialog_w, mwindow->session->transitiondialog_h, - 320, 240, 1, 0, 1) + xS(320), yS(240), 1, 0, 1) { this->mwindow = mwindow; this->thread = thread; +// *** CONTEXT_HELP *** + switch( thread->data_type ) { + case TRACK_AUDIO: + context_help_set_keyword("Audio Transitions"); + break; + case TRACK_VIDEO: + context_help_set_keyword("Video Transitions"); + break; + default: + context_help_set_keyword("Transition Plugins"); + break; + } } TransitionSetDefault::TransitionSetDefault(TransitionDialog *window, int x, int y) @@ -144,12 +167,26 @@ int TransitionSetDefault::handle_event() TransitionDialogThread *thread = (TransitionDialogThread *)window->thread; const char *transition_title = thread->transition_title; EDL *edl = window->mwindow->edl; + + // Re-search plugindb and use untranslated plugin name + + ArrayList plugindb; + thread->mwindow->search_plugindb(thread->data_type == TRACK_AUDIO, + thread->data_type == TRACK_VIDEO, 0, 1, 0, plugindb); + for(int i = 0; i < plugindb.total; i++) { + const char *title = _(plugindb.values[i]->title); + if( !strcmp(transition_title, title)) { + strcpy(thread->transition_title_untranslated, N_(plugindb.values[i]->title)); + } + } + + switch( thread->data_type ) { case TRACK_AUDIO: - strcpy(edl->session->default_atransition, transition_title); + strcpy(edl->session->default_atransition, thread->transition_title_untranslated); break; case TRACK_VIDEO: - strcpy(edl->session->default_vtransition, transition_title); + strcpy(edl->session->default_vtransition, thread->transition_title_untranslated); break; } window->set_default_text->update(transition_title); @@ -170,21 +207,21 @@ TransitionDefaultText::~TransitionDefaultText() void TransitionDialog::create_objects() { - int x = 10; - int y = 10; + int x = xS(10); + int y = yS(10); lock_window("TransitionDialog::create_objects"); add_subwindow(name_title = new BC_Title(x, y, _("Select transition from list"))); - y += name_title->get_h() + 5; + y += name_title->get_h() + yS(5); add_subwindow(name_list = new TransitionDialogName(thread, &thread->transition_names, x, y, get_w() - x - x, - get_h() - y - BC_OKButton::calculate_h() - 100)); - y += name_list->get_h() + 20; + get_h() - y - BC_OKButton::calculate_h() - yS(100))); + y += name_list->get_h() + yS(20); add_subwindow(set_default = new TransitionSetDefault(this, x, y)); - y += set_default->get_h() + 10; + y += set_default->get_h() + yS(10); const char *default_transition = ""; EDL *edl = mwindow->edl; switch( thread->data_type ) { @@ -196,7 +233,7 @@ void TransitionDialog::create_objects() break; } add_subwindow(set_default_text = new TransitionDefaultText(this, x, y, - get_w()-x-20, default_transition)); + get_w()-x-xS(20), default_transition)); if( thread->number >= 0 ) { name_list->update_selection(&thread->transition_names, thread->number, 0); name_list->draw_items(0); @@ -210,22 +247,21 @@ void TransitionDialog::create_objects() int TransitionDialog::resize_event(int w, int h) { - int x = 10; - int y = 10; + int x = xS(10); + int y = yS(10); name_title->reposition_window(x, y); - y += name_title->get_h() + 5; + y += name_title->get_h() + yS(5); name_list->reposition_window(x, y, - w - x - x, h - y - BC_OKButton::calculate_h() - 100); - y += name_list->get_h() + 20; + w - x - x, h - y - BC_OKButton::calculate_h() - yS(100)); + y += name_list->get_h() + yS(20); set_default->reposition_window(x, y); - y += set_default->get_h() + 10; - set_default_text->reposition_window(x, y, get_w()-x-20); + y += set_default->get_h() + yS(10); + set_default_text->reposition_window(x, y, get_w()-x-xS(20)); return 1; } - TransitionDialogName::TransitionDialogName(TransitionDialogThread *thread, ArrayList *standalone_data, int x, int y, int w, int h) : BC_ListBox(x, @@ -252,6 +288,3 @@ int TransitionDialogName::selection_changed() return 1; } - - -