X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fappearanceprefs.C;h=1f87883551ba69b5096b71932046dd05437ec904;hb=e6b9eb867719075e4c4bb71a7bc08e11652e9062;hp=1c6be93189ed3c0467c92317da382b2d08c5e1fc;hpb=48a6854a1ca58aa291ffc6fe3a48807492dfbef7;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/appearanceprefs.C b/cinelerra-5.1/cinelerra/appearanceprefs.C index 1c6be931..1f878835 100644 --- a/cinelerra-5.1/cinelerra/appearanceprefs.C +++ b/cinelerra-5.1/cinelerra/appearanceprefs.C @@ -38,6 +38,7 @@ AppearancePrefs::AppearancePrefs(MWindow *mwindow, PreferencesWindow *pwindow) { hms = 0; hmsf = 0; + timecode = 0; samples = 0; frames = 0; hex = 0; @@ -52,6 +53,7 @@ AppearancePrefs::~AppearancePrefs() { delete hms; delete hmsf; + delete timecode; delete samples; delete frames; delete hex; @@ -92,7 +94,12 @@ void AppearancePrefs::create_objects() add_subwindow(new BC_Title(x, y, _("Plugin Icons:"))); add_subwindow(plugin_icons = new ViewPluginIcons(x1, y, pwindow)); plugin_icons->create_objects(); - y += plugin_icons->get_h() + ys15; + y += plugin_icons->get_h() + ys10; + add_subwindow(new BC_Title(x, y, _("Language:"))); + LayoutLocale *layout_locale; + add_subwindow(layout_locale = new LayoutLocale(x1, y, pwindow)); + layout_locale->create_objects(); + y += layout_locale->get_h() + ys15; x1 = get_w()/2; int x2 = x1 + xS(160), y2 = y; @@ -131,6 +138,10 @@ void AppearancePrefs::create_objects() pwindow->thread->edl->session->time_format == TIME_HMSF, x, y)); y += ys20; + add_subwindow(timecode = new TimeFormatTimecode(pwindow, this, + pwindow->thread->edl->session->time_format == TIME_TIMECODE, + x, y)); + y += ys20; add_subwindow(samples = new TimeFormatSamples(pwindow, this, pwindow->thread->edl->session->time_format == TIME_SAMPLES, x, y)); @@ -173,9 +184,8 @@ void AppearancePrefs::create_objects() y += ys35; add_subwindow(title = new BC_Title(x, y, _("Composer BG Color:"))); int clr_color = pwindow->thread->edl->session->cwindow_clear_color; - int clr_alpha = pwindow->thread->edl->session->cwindow_clear_alpha; add_subwindow(cwdw_bg_color = new Composer_BG_Color(pwindow, - x2, y, xS(80), yS(24), clr_color, clr_alpha)); + x2, y, xS(80), yS(24), clr_color)); draw_3d_border(x2-2,y-2, xS(80)+4,xS(24)+4, 1); cwdw_bg_color->create_objects(); x2 += cwdw_bg_color->get_w(); @@ -195,7 +205,7 @@ void AppearancePrefs::create_objects() if( y2 < y ) y2 = y; add_subwindow(new BC_Bar(x0, y2, get_w()-x0 - xs30)); - y += ys15; + y += ys35; x = x0; y1 = y; add_subwindow(title = new BC_Title(x, y, _("Warnings:"), LARGEFONT, @@ -207,9 +217,6 @@ void AppearancePrefs::create_objects() UseWarnVersion *ver_warn = new UseWarnVersion(pwindow, x, y); add_subwindow(ver_warn); y += ver_warn->get_h() + ys5; - UseWarnStack *stack_warn = new UseWarnStack(pwindow, x, y); - add_subwindow(stack_warn); - y += stack_warn->get_h() + ys5; BD_WarnRoot *bdwr_warn = new BD_WarnRoot(pwindow, x, y); add_subwindow(bdwr_warn); y += bdwr_warn->get_h() + ys5; @@ -258,6 +265,9 @@ void AppearancePrefs::create_objects() DeactivateFocusPolicy *focus_deactivate = new DeactivateFocusPolicy(pwindow, x, y); add_subwindow(focus_deactivate); y += focus_deactivate->get_h() + ys5; + AutoRotate *auto_rotate = new AutoRotate(pwindow, x, y); + add_subwindow(auto_rotate); + y += auto_rotate->get_h() + ys5; } int AppearancePrefs::update(int new_value) @@ -266,6 +276,7 @@ int AppearancePrefs::update(int new_value) pwindow->thread->edl->session->time_format = new_value; hms->update(new_value == TIME_HMS); hmsf->update(new_value == TIME_HMSF); + timecode->update(new_value == TIME_TIMECODE); samples->update(new_value == TIME_SAMPLES); hex->update(new_value == TIME_SAMPLES_HEX); frames->update(new_value == TIME_FRAMES); @@ -295,6 +306,16 @@ int TimeFormatHMSF::handle_event() return 1; } +TimeFormatTimecode::TimeFormatTimecode(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y) + : BC_Radial(x, y, value, TIME_TIMECODE_TEXT) +{ this->pwindow = pwindow; this->tfwindow = tfwindow; } + +int TimeFormatTimecode::handle_event() +{ + tfwindow->update(TIME_TIMECODE); + return 1; +} + TimeFormatSamples::TimeFormatSamples(PreferencesWindow *pwindow, AppearancePrefs *tfwindow, int value, int x, int y) : BC_Radial(x, y, value, TIME_SAMPLES_TEXT) { this->pwindow = pwindow; this->tfwindow = tfwindow; } @@ -445,6 +466,42 @@ int ViewPluginIconItem::handle_event() return 1; } +LayoutLocale::LayoutLocale(int x, int y, PreferencesWindow *pwindow) + : BC_PopupMenu(x, y, xS(200), pwindow->thread->preferences->locale, 1) +{ + this->pwindow = pwindow; +} +LayoutLocale::~LayoutLocale() +{ +} + +const char *LayoutLocale::locale_list[] = { LOCALE_LIST, 0 }; + +void LayoutLocale::create_objects() +{ + for( const char *tp, **lp=locale_list; (tp=*lp)!=0; ++lp ) + add_item(new LayoutLocaleItem(this, tp)); +} + +int LayoutLocale::handle_event() +{ + return 1; +} + +LayoutLocaleItem::LayoutLocaleItem(LayoutLocale *popup, const char *text) + : BC_MenuItem(text) +{ + this->popup = popup; +} + +int LayoutLocaleItem::handle_event() +{ + popup->set_text(get_text()); + strcpy(popup->pwindow->thread->preferences->locale, get_text()); + popup->handle_event(); + return 1; +} + ViewLayoutScale::ViewLayoutScale(PreferencesWindow *pwindow, AppearancePrefs *aprefs, int x, int y) : BC_TumbleTextBox(aprefs, @@ -604,19 +661,6 @@ int UseWarnVersion::handle_event() return 1; } -UseWarnStack::UseWarnStack(PreferencesWindow *pwindow, int x, int y) - : BC_CheckBox(x, y, pwindow->thread->preferences->warn_stack, - _("Stack warns if reference not modified")) -{ - this->pwindow = pwindow; -} - -int UseWarnStack::handle_event() -{ - pwindow->thread->preferences->warn_stack = get_value(); - return 1; -} - BD_WarnRoot::BD_WarnRoot(PreferencesWindow *pwindow, int x, int y) : BC_CheckBox(x, y, pwindow->thread->preferences->bd_warn_root, _("Create Bluray warns if not root")) @@ -702,6 +746,19 @@ int DeactivateFocusPolicy::handle_event() return 1; } +AutoRotate::AutoRotate(PreferencesWindow *pwindow, int x, int y) + : BC_CheckBox(x, y, pwindow->thread->preferences->auto_rotate != 0, + _("Auto rotate ffmpeg media")) +{ + this->pwindow = pwindow; +} + +int AutoRotate::handle_event() +{ + pwindow->thread->preferences->auto_rotate = get_value(); + return 1; +} + ForwardRenderDisplacement::ForwardRenderDisplacement(PreferencesWindow *pwindow, int x, int y) : BC_CheckBox(x, y, pwindow->thread->preferences->forward_render_displacement, _("Always show next frame")) @@ -874,8 +931,8 @@ int RectifyAudioToggle::handle_event() } Composer_BG_Color::Composer_BG_Color(PreferencesWindow *pwindow, - int x, int y, int w, int h, int color, int alpha) - : ColorBoxButton(_("Composer BG color"), x, y, w, h, color, alpha, 1) + int x, int y, int w, int h, int color) + : ColorBoxButton(_("Composer BG color"), x, y, w, h, color, -1, 1) { this->pwindow = pwindow; } @@ -897,7 +954,6 @@ void Composer_BG_Color::handle_done_event(int result) int Composer_BG_Color::handle_new_color(int color, int alpha) { pwindow->thread->edl->session->cwindow_clear_color = color; - pwindow->thread->edl->session->cwindow_clear_alpha = alpha; return 1; }