X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Finterfaceprefs.C;h=d924a272660819295e5a82740b38ce101b97eace;hb=0b78779e9e75131eee81d2e4689b98df0e91c092;hp=c80a8e916ee99abc3eb7e6bdadb2f61dd3af88a2;hpb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/interfaceprefs.C b/cinelerra-5.1/cinelerra/interfaceprefs.C index c80a8e91..d924a272 100644 --- a/cinelerra-5.1/cinelerra/interfaceprefs.C +++ b/cinelerra-5.1/cinelerra/interfaceprefs.C @@ -92,6 +92,7 @@ void InterfacePrefs::create_objects() y += get_text_height(LARGEFONT) + 5; + int y1 = y; add_subwindow(hms = new TimeFormatHMS(pwindow, this, pwindow->thread->edl->session->time_format == TIME_HMS, @@ -128,12 +129,16 @@ void InterfacePrefs::create_objects() add_subwindow(seconds = new TimeFormatSeconds(pwindow, this, pwindow->thread->edl->session->time_format == TIME_SECONDS, x, y)); - y += 35; - add_subwindow(new UseTipWindow(pwindow, x, y)); - add_subwindow(new UseWarnIndecies(pwindow, x+200, y)); - y += 35; + x1 = get_w()/2; + UseTipWindow *tip_win = new UseTipWindow(pwindow, x1, y1); + add_subwindow(tip_win); + y1 += tip_win->get_h() + 5; + UseWarnIndecies *idx_win = new UseWarnIndecies(pwindow, x1, y1); + add_subwindow(idx_win); + y1 += idx_win->get_h() + 25; + add_subwindow(new BC_Bar(5, y, get_w() - 10)); y += 5; @@ -160,7 +165,6 @@ void InterfacePrefs::create_objects() MEDIUMFONT, resources->text_default)); sprintf(string, "%jd", pwindow->thread->preferences->index_size); - x1 = x + 230; add_subwindow(isize = new IndexSize(x + 230, y, pwindow, string)); add_subwindow(new ScanCommercials(pwindow, 350,y)); y += 30; @@ -179,11 +183,16 @@ void InterfacePrefs::create_objects() add_subwindow(new BC_Title(x, y, _("Editing"), LARGEFONT, resources->text_default)); + y1 = y + 5; y += 35; - - add_subwindow(thumbnails = new ViewThumbnails(x, y, pwindow)); + add_subwindow(title = new BC_Title(x, y, _("Keyframe reticle:"))); + x1 = x + title->get_w() + 10; + keyframe_reticle = new KeyframeReticle(x1, y, &pwindow->thread->preferences->keyframe_reticle); + add_subwindow(keyframe_reticle); + keyframe_reticle->create_objects(); int x2 = x + 400, y2 = y; + add_subwindow(thumbnails = new ViewThumbnails(x2, y1, pwindow)); AndroidRemote *android_remote = new AndroidRemote(pwindow, x2, y2); add_subwindow(android_remote); y2 += android_remote->get_h() + 10; @@ -688,8 +697,6 @@ int UseWarnIndecies::handle_event() } - - ScanCommercials::ScanCommercials(PreferencesWindow *pwindow, int x, int y) : BC_CheckBox(x, y, @@ -795,3 +802,50 @@ int StillImageDuration::handle_event() return 1; } + +HairlineItem::HairlineItem(KeyframeReticle *popup, int hairline) + : BC_MenuItem(popup->hairline_to_string(hairline)) +{ + this->popup = popup; + this->hairline = hairline; +} + +HairlineItem::~HairlineItem() +{ +} + +int HairlineItem::handle_event() +{ + popup->set_text(get_text()); + *(popup->output) = hairline; + return 1; +} + + +KeyframeReticle::KeyframeReticle(int x, int y, int *output) + : BC_PopupMenu(x, y, 175, hairline_to_string(*output)) +{ + this->output = output; +} + +KeyframeReticle::~KeyframeReticle() +{ +} + +const char *KeyframeReticle::hairline_to_string(int type) +{ + switch( type ) { + case HAIRLINE_NEVER: return _("Never"); + case HAIRLINE_DRAGGING: return _("Dragging"); + case HAIRLINE_ALWAYS: return _("Always"); + } + return _("Unknown"); +} + +void KeyframeReticle::create_objects() +{ + add_item(new HairlineItem(this, HAIRLINE_NEVER)); + add_item(new HairlineItem(this, HAIRLINE_DRAGGING)); + add_item(new HairlineItem(this, HAIRLINE_ALWAYS)); +} +