X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Ftrackpopup.C;h=6dd1512e1584f7eb296ab97dc066cfef80065af8;hb=c9c0e07706fad701a70ee0d1ffb0fcb6304f138c;hp=e914bf741491e2808243b86de959470c3332df14;hpb=0df48ad2d876409c5beeae2e21933a728ea76c33;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/trackpopup.C b/cinelerra-5.1/cinelerra/trackpopup.C index e914bf74..6dd1512e 100644 --- a/cinelerra-5.1/cinelerra/trackpopup.C +++ b/cinelerra-5.1/cinelerra/trackpopup.C @@ -72,6 +72,8 @@ void TrackPopup::create_objects() add_item(new TrackPopupShow(mwindow, this)); add_item(new TrackPopupUserTitle(mwindow, this)); add_item(new TrackPopupTitleColor(mwindow, this)); + add_item(new TrackSwapUp(mwindow, this)); + add_item(new TrackSwapDown(mwindow, this)); resize_option = 0; matchsize_option = 0; } @@ -135,8 +137,6 @@ int TrackMoveUp::handle_event() return 1; } - - TrackMoveDown::TrackMoveDown(MWindow *mwindow, TrackPopup *popup) : BC_MenuItem(_("Move down")) { @@ -153,6 +153,37 @@ int TrackMoveDown::handle_event() } +TrackSwapUp::TrackSwapUp(MWindow *mwindow, TrackPopup *popup) + : BC_MenuItem(_("Swap up")) +{ + this->mwindow = mwindow; + this->popup = popup; +} +TrackSwapUp::~TrackSwapUp() +{ +} +int TrackSwapUp::handle_event() +{ + mwindow->swap_track_up(popup->track); + return 1; +} + +TrackSwapDown::TrackSwapDown(MWindow *mwindow, TrackPopup *popup) + : BC_MenuItem(_("Swap down")) +{ + this->mwindow = mwindow; + this->popup = popup; +} +TrackSwapDown::~TrackSwapDown() +{ +} +int TrackSwapDown::handle_event() +{ + mwindow->swap_track_down(popup->track); + return 1; +} + + TrackPopupResize::TrackPopupResize(MWindow *mwindow, TrackPopup *popup) : BC_MenuItem(_("Resize track...")) { @@ -216,10 +247,10 @@ int TrackPopupAddTrack::handle_event() mwindow->add_audio_track_entry(1, popup->track); break; case TRACK_VIDEO: - mwindow->add_video_track_entry(popup->track); + mwindow->add_video_track_entry(1, popup->track); break; case TRACK_SUBTITLE: - mwindow->add_subttl_track_entry(popup->track); + mwindow->add_subttl_track_entry(1, popup->track); break; } return 1; @@ -332,7 +363,7 @@ void TrackUserTitleDialogThread::handle_done_event(int result) const char *text = window->title_text->get_text(); int count = 0; for( Track *track=edl->tracks->first; track; track=track->next ) { - if( !track->record ) continue; + if( !track->is_armed() ) continue; for( Edit *edit=track->edits->first; edit; edit=edit->next ) { if( !edit->is_selected ) continue; strcpy(edit->user_title, text); @@ -454,10 +485,12 @@ TrackTitleColorPicker::~TrackTitleColorPicker() } void TrackTitleColorPicker::create_objects(ColorWindow *gui) { + gui->lock_window("TrackTitleColorPicker::create_objects"); int y = gui->get_h() - BC_CancelButton::calculate_h() + yS(10); int x = gui->get_w() - BC_CancelButton::calculate_w() - xS(10); x -= BC_GenericButton::calculate_w(gui, _("default")) + xS(15); gui->add_subwindow(new TrackTitleColorDefault(this, x, y)); + gui->unlock_window(); } int TrackTitleColorPicker::handle_new_color(int color, int alpha) @@ -472,7 +505,7 @@ void TrackTitleColorPicker::handle_done_event(int result) EDL *edl = popup->mwindow->edl; int count = 0; for( Track *track=edl->tracks->first; track; track=track->next ) { - if( !track->record ) continue; + if( !track->is_armed() ) continue; for( Edit *edit=track->edits->first; edit; edit=edit->next ) { if( !edit->is_selected ) continue; edit->color = color; @@ -573,15 +606,16 @@ void TrackPopupShowWindow::create_objects() add_subwindow(title = new BC_Title(x, y, text)); int x1 = x + title->get_w() + xS(10); int tw = get_w() - x1 - xS(20); - truncate_text(text, track->title, tw); - add_subwindow(new BC_Title(x1, y, text)); + char *track_title = get_truncated_text(MEDIUMFONT, track->title, tw); + add_subwindow(new BC_Title(x1, y, track_title)); + delete [] track_title; y += title->get_h() + 5; sprintf(text, _("Edit %d:"), track->edits->number_of(edit)+1); add_subwindow(title = new BC_Title(x, y, text)); - char edit_title[BCTEXTLEN]; - edit->get_title(edit_title); - truncate_text(text, edit_title, tw); - add_subwindow(new BC_Title(x1, y, text)); + edit->get_title(text); + char *edit_title = get_truncated_text(MEDIUMFONT, text, tw); + add_subwindow(new BC_Title(x1, y, edit_title)); + delete [] edit_title; y += title->get_h() + 5; EDLSession *session = mwindow->edl->session;