X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fswindow.C;h=1604d8dbf371804fb36e6d1f938a256abc940e49;hb=04031cc2a664d2a6d9d2a37954c55cc68742d78c;hp=ea052eebb2580a6684aa5552e6f08a736cd66184;hpb=0ac6a1397cf8ee19cf75f3fe893c27e9f4fc0ea5;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/swindow.C b/cinelerra-5.1/cinelerra/swindow.C index ea052eeb..1604d8db 100644 --- a/cinelerra-5.1/cinelerra/swindow.C +++ b/cinelerra-5.1/cinelerra/swindow.C @@ -114,7 +114,7 @@ int SWindowLoadFile::handle_event() } SWindowSaveFile::SWindowSaveFile(SWindowGUI *gui, int x, int y) - : BC_GenericButton(x, y, C_("Save")) + : BC_GenericButton(x, y, _("Save")) { this->sw_gui = gui; } @@ -139,6 +139,7 @@ int SWindowSaveFile::handle_event() void SWindowGUI::create_objects() { + lock_window("SWindowGUI::create_objects"); int x = 10, y = 10; BC_Title *title = new BC_Title(x, y, _("Path:")); add_subwindow(title); @@ -197,6 +198,7 @@ void SWindowGUI::create_objects() add_subwindow(ok); cancel = new SWindowCancel(this, cancel_x, cancel_y); add_subwindow(cancel); + unlock_window(); } void SWindowGUI::load() @@ -743,7 +745,7 @@ void ScriptEntry::set_text(char *text, int isz) int ScriptEntry::handle_event() { - if( sw_gui->get_button_down() && + if( ttext && sw_gui->get_button_down() && sw_gui->get_buttonpress() == 1 && sw_gui->get_triple_click() ) { int ibeam = get_ibeam_letter(), row = 0; @@ -795,6 +797,8 @@ void SWindowGUI::load_script() return; } load_script(fp); + script_text_no = -1; + load_selection(script_entry_no=0, 0); } void SWindowGUI::load_script(FILE *fp) @@ -816,7 +820,6 @@ void SWindowGUI::load_script(FILE *fp) script_scroll->update_length(script.size(), script_entry_no, hw, 0); script_position->update(script_entry_no); script_position->set_boundaries((int64_t)0, (int64_t)script.size()-1); - fclose(fp); } @@ -835,9 +838,11 @@ void SWindowGUI::save_spumux_data() for( Track *track=tracks->first; track; track=track->next ) { if( track->data_type != TRACK_SUBTITLE ) continue; if( !track->record ) continue; - char *cp = track_title; - for( char *bp=track->title; *bp; ++bp,++cp ) - *cp = !isalnum(*bp) ? '_' : *bp; + char *cp = track_title, *ep = cp+sizeof(track_title)-6; + for( const char *bp=track->title; cp