play_off preview tweak, zoombar auto_color fix, deactivate popupmenu on click while...
authorGood Guy <[email protected]>
Mon, 11 Mar 2019 18:59:11 +0000 (12:59 -0600)
committerGood Guy <[email protected]>
Mon, 11 Mar 2019 18:59:11 +0000 (12:59 -0600)
cinelerra-5.1/cinelerra/awindowgui.C
cinelerra-5.1/cinelerra/zoombar.C
cinelerra-5.1/cinelerra/zoombar.h
cinelerra-5.1/guicast/bcpopupmenu.C

index fc8adea9c725fdada4553201e2eba9b7a6e0523c..a88acce6cc95473fa02a2da27cf60d092e69651a 100644 (file)
@@ -2801,7 +2801,7 @@ int AWindowAssets::selection_changed()
 
                deactivate_selection();
        }
-       else if( get_button_down() &&
+       else if( get_button_down() && !gui->play_off &&
                 mwindow->edl->session->assetlist_format != ASSETS_TEXT ) {
                item = (AssetPicon*)get_selection(0, 0);
                if( item && !get_selection(0, 1) ) {
@@ -2854,6 +2854,7 @@ void AWindowAssets::draw_background()
 
 int AWindowAssets::drag_start_event()
 {
+       gui->vicon_thread->set_view_popup(0);
        int collect_pluginservers = 0;
        int collect_assets = 0, proxy = 0;
 
index f99a7976d4b42e10036e4eec27a4897d1d2c2515..b6fd85214a3b625202e82413410133c4a48e9467 100644 (file)
@@ -440,7 +440,8 @@ int AutoZoom::handle_down_event()
 
 
 AutoTypeMenu::AutoTypeMenu(MWindow *mwindow, ZoomBar *zoombar, int x, int y, int wid)
- : BC_PopupMenu(x, y, wid, to_text(mwindow->edl->local_session->zoombar_showautotype), 1)
+ : BC_PopupMenu(x, y, wid + 24,
+       to_text(mwindow->edl->local_session->zoombar_showautotype), 1, 0, 12)
 {
        this->mwindow = mwindow;
        this->zoombar = zoombar;
@@ -481,14 +482,14 @@ int AutoTypeMenu::from_text(char *text)
        return AUTOGROUPTYPE_INT255;
 }
 
-int AutoTypeMenu::draw_face(int dx)
+int AutoTypeMenu::draw_face(int dx, int color)
 {
-       BC_PopupMenu::draw_face(dx, -1);
-       int color = mwindow->edl->local_session->zoombar_showautocolor;
+       BC_PopupMenu::draw_face(dx+8, color);
+       color = mwindow->edl->local_session->zoombar_showautocolor;
        if( color >= 0 ) {
                set_color(color);
                int margin = get_margin();
-               int mx = margin+5, my = 3*margin/8;
+               int mx = margin+4, my = 3*margin/8;
                int bh = get_h() - 2*my;
                draw_box(mx,my, bh,bh);
        }
index e2331e241a4e24a06a3e9f582e954f443e7f886c..107500e0aa3707e660598a4204220616b488bb1e 100644 (file)
@@ -113,7 +113,7 @@ public:
        void create_objects();
        static const char* to_text(int shape);
        static int from_text(char *text);
-       int draw_face(int dx);
+       int draw_face(int dx, int color);
        int handle_event();
        MWindow *mwindow;
        ZoomBar *zoombar;
index 13cc6816c3824bef2f8dc643133298db4ff08cd2..ee78dbb371179e6770f8e73a97ab376c71d10798 100644 (file)
@@ -149,7 +149,7 @@ int BC_PopupMenu::calculate_w(int margin, int text_width, int use_title)
 {
        BC_Resources *resources = get_resources();
        int l = margin >= 0 ? margin : resources->popupmenu_margin;
-       int r = use_title < 0 ? l : resources->popupmenu_triangle_margin;
+       int r = use_title < 0 ? l : l + resources->popupmenu_triangle_margin;
        return l + text_width + r;
 }
 
@@ -231,9 +231,11 @@ int BC_PopupMenu::draw_face(int dx, int color)
                        get_h()/2 - icon->get_h()/2 + offset);
        }
 
-       if( use_title >= 0 )
-               draw_triangle_down_flat(available_w + margin,
-                       get_h()/2 - TRIANGLE_H/2, TRIANGLE_W, TRIANGLE_H);
+       if( use_title >= 0 ) {
+               int tx = get_w() - margin - get_resources()->popupmenu_triangle_margin;
+               int ty = get_h()/2 - TRIANGLE_H/2;
+               draw_triangle_down_flat(tx, ty, TRIANGLE_W, TRIANGLE_H);
+       }
        return 1;
 }
 
@@ -295,6 +297,8 @@ int BC_PopupMenu::menu_activate()
                popup_down = 1;
                if( use_title ) draw_title(1);
        }
+       else
+               deactivate_menu();
        return 1;
 }
 
@@ -335,9 +339,7 @@ int BC_PopupMenu::repeat_event(int64_t duration)
 int BC_PopupMenu::button_press_event()
 {
        int result = 0;
-       if( get_buttonpress() == 1 &&
-               is_event_win() &&
-               use_title ) {
+       if( get_buttonpress() == 1 && is_event_win() && use_title ) {
                top_level->hide_tooltip();
                if( status == BUTTON_HI || status == BUTTON_UP ) status = BUTTON_DN;
                activate_menu();