X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fawindowgui.C;h=e052668b469b9ca9a0417e09d519712b0e1f75c1;hb=155cea9e8f0f6a59f3e713230575603da305d47e;hp=95c8056ff6f8d00e971e855353623950ecad7785;hpb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/awindowgui.C b/cinelerra-5.1/cinelerra/awindowgui.C index 95c8056f..e052668b 100644 --- a/cinelerra-5.1/cinelerra/awindowgui.C +++ b/cinelerra-5.1/cinelerra/awindowgui.C @@ -684,38 +684,12 @@ int AWindowGUI::translation_event() void AWindowGUI::reposition_objects() { - int wmax = mwindow->session->awindow_w-mwindow->theme->adivider_w; - int x = mwindow->theme->afolders_x; - int w = mwindow->theme->afolders_w; - if (w > wmax) - w = wmax; - if (w <= 0) - w = 1; - folder_list->reposition_window(x, mwindow->theme->afolders_y, - w, mwindow->theme->afolders_h); - x = mwindow->theme->adivider_x; - if (x > wmax) - x = wmax; - if (x < 0) - x = 0; - divider->reposition_window(x, - mwindow->theme->adivider_y, - mwindow->theme->adivider_w, - mwindow->theme->adivider_h); - int x2 = mwindow->theme->alist_x; - if (x2 < x+mwindow->theme->adivider_w) - x2 = x+mwindow->theme->adivider_w; - w = mwindow->theme->alist_w; - if (w > wmax) - w = wmax; - if (w <= 0) - w = 1; - asset_list->reposition_window(x2, mwindow->theme->alist_y, - w, mwindow->theme->alist_h); - mwindow->theme->get_awindow_sizes(this); + divider->reposition_window( + mwindow->theme->adivider_x, mwindow->theme->adivider_y, + mwindow->theme->adivider_w, mwindow->theme->adivider_h); asset_list->reposition_window( mwindow->theme->alist_x, mwindow->theme->alist_y, - mwindow->theme->alist_w, mwindow->theme->alist_h); + mwindow->theme->alist_w, mwindow->theme->alist_h); divider->reposition_window( mwindow->theme->adivider_x, mwindow->theme->adivider_y, mwindow->theme->adivider_w, mwindow->theme->adivider_h); @@ -840,7 +814,6 @@ void AWindowRemovePlugin::handle_close_event(int result) strcpy(plugin_path, plugin->path); MWindow *mwindow = awindow->mwindow; mwindow->plugindb->remove(plugin); - delete plugin; plugin = 0; remove(plugin_path); char index_path[BCTEXTLEN]; sprintf(index_path, "%s/%s", mwindow->preferences->plugin_dir, PLUGIN_FILE); @@ -850,6 +823,7 @@ void AWindowRemovePlugin::handle_close_event(int result) remove(png_path); if( plugin->get_theme_png_path(png_path, "picon") ) remove(png_path); + delete plugin; plugin = 0; awindow->gui->async_update_assets(); } } @@ -908,11 +882,10 @@ int AWindowGUI::create_custom_xatoms() } int AWindowGUI::recieve_custom_xatoms(xatom_event *event) { - if (event->message_type == UpdateAssetsXAtom) - { + if( event->message_type == UpdateAssetsXAtom ) { update_assets(); return 1; - } else + } return 0; } @@ -1364,6 +1337,7 @@ void AWindowGUI::update_assets() asset_list->get_yposition(), -1, 0); + asset_list->center_selection(); //printf("AWindowGUI::update_assets 7\n"); flush(); @@ -1461,7 +1435,12 @@ int AWindowDivider::cursor_motion_event() { if(mwindow->session->current_operation == DRAG_PARTITION) { - mwindow->session->afolders_w = gui->get_relative_cursor_x(); + int wmin = 25; + int wmax = mwindow->session->awindow_w - mwindow->theme->adivider_w - wmin; + int fw = gui->get_relative_cursor_x(); + if( fw > wmax ) fw = wmax; + if( fw < wmin ) fw = wmin; + mwindow->session->afolders_w = fw; mwindow->theme->get_awindow_sizes(gui); gui->reposition_objects(); gui->flush(); @@ -1517,12 +1496,6 @@ int AWindowFolders::selection_changed() { gui->stop_vicon_drawing(); - if(get_button_down() && get_buttonpress() == 3) - { - gui->folderlist_menu->update_titles(); - gui->folderlist_menu->activate_menu(); - } - strcpy(mwindow->edl->session->current_folder, picon->get_text()); //printf("AWindowFolders::selection_changed 1\n"); gui->asset_list->draw_background(); @@ -1535,21 +1508,20 @@ int AWindowFolders::selection_changed() int AWindowFolders::button_press_event() { - int result = 0; - - result = BC_ListBox::button_press_event(); + return BC_ListBox::button_press_event(); +} - if(!result) +int AWindowFolders::button_release_event() +{ + int result = 0; + if(get_buttonpress() == 3 && is_event_win() && cursor_inside()) { - if(get_buttonpress() == 3 && is_event_win() && cursor_inside()) - { - gui->folderlist_menu->update_titles(); - gui->folderlist_menu->activate_menu(); - result = 1; - } + gui->folderlist_menu->update_titles(); + gui->folderlist_menu->activate_menu(); + result = 1; } - - + else + result = BC_ListBox::button_release_event(); return result; } @@ -1558,7 +1530,6 @@ int AWindowFolders::button_press_event() - AWindowAssets::AWindowAssets(MWindow *mwindow, AWindowGUI *gui, int x, int y, int w, int h) : BC_ListBox(x, y, @@ -1587,19 +1558,33 @@ AWindowAssets::~AWindowAssets() int AWindowAssets::button_press_event() { - int result = 0; - - result = BC_ListBox::button_press_event(); + return BC_ListBox::button_press_event(); +} - if(!result && get_buttonpress() == 3 && is_event_win() && cursor_inside()) - { - BC_ListBox::deactivate_selection(); - gui->assetlist_menu->update_titles(); - gui->assetlist_menu->activate_menu(); +int AWindowAssets::button_release_event() +{ + int result = 0; + if(get_buttonpress() == 3 && is_event_win() && cursor_inside()) { + if( !strcasecmp(mwindow->edl->session->current_folder, AEFFECT_FOLDER) || + !strcasecmp(mwindow->edl->session->current_folder, VEFFECT_FOLDER) || + !strcasecmp(mwindow->edl->session->current_folder, ATRANSITION_FOLDER) || + !strcasecmp(mwindow->edl->session->current_folder, VTRANSITION_FOLDER)) { + BC_ListBox::deactivate_selection(); + gui->assetlist_menu->update_titles(); + gui->assetlist_menu->activate_menu(); + } + else if (!strcasecmp(mwindow->edl->session->current_folder, LABEL_FOLDER)) { + gui->label_menu->update(); + gui->label_menu->activate_menu(); + } + else { + gui->asset_menu->update(); + gui->asset_menu->activate_menu(); + } result = 1; } - - + else + result = BC_ListBox::button_release_event(); return result; } @@ -1609,24 +1594,11 @@ int AWindowAssets::handle_event() //printf("AWindowAssets::handle_event 1 %d %d\n", get_buttonpress(), get_selection(0, 0)); if(get_selection(0, 0)) { - if(!strcasecmp(mwindow->edl->session->current_folder, AEFFECT_FOLDER)) - { - } - else - if(!strcasecmp(mwindow->edl->session->current_folder, VEFFECT_FOLDER)) - { - } - else - if(!strcasecmp(mwindow->edl->session->current_folder, ATRANSITION_FOLDER)) - { - } - else - if(!strcasecmp(mwindow->edl->session->current_folder, VTRANSITION_FOLDER)) - { - } - else - if(mwindow->vwindows.size()) - { + if(!strcasecmp(mwindow->edl->session->current_folder, AEFFECT_FOLDER)) {} + else if(!strcasecmp(mwindow->edl->session->current_folder, VEFFECT_FOLDER)) {} + else if(!strcasecmp(mwindow->edl->session->current_folder, ATRANSITION_FOLDER)) {} + else if(!strcasecmp(mwindow->edl->session->current_folder, VTRANSITION_FOLDER)) {} + else if(mwindow->vwindows.size()) { //printf("AWindowAssets::handle_event 2 %d %d\n", get_buttonpress(), get_selection(0, 0)); mwindow->vwindows.get(DEFAULT_VWINDOW)->gui->lock_window("AWindowAssets::handle_event"); @@ -1663,18 +1635,6 @@ int AWindowAssets::selection_changed() if(((AssetPicon*)get_selection(0, 0))->label) gui->label_menu->activate_menu(); } - else - { - if(((AssetPicon*)get_selection(0, 0))->indexable) - gui->asset_menu->update(); - else - if(((AssetPicon*)get_selection(0, 0))->edl) - gui->asset_menu->update(); - - - - gui->asset_menu->activate_menu(); - } BC_ListBox::deactivate_selection(); return 1; @@ -1843,17 +1803,16 @@ int AWindowAssets::column_resize_event() return 1; } -int AWindowAssets::cursor_enter_event() +int AWindowAssets::focus_in_event() { - int ret = BC_ListBox::cursor_enter_event(); gui->start_vicon_drawing(); - return ret; + return 0; } -int AWindowAssets::cursor_leave_event() +int AWindowAssets::focus_out_event() { gui->stop_vicon_drawing(); - return BC_ListBox::cursor_leave_event(); + return BC_ListBox::focus_out_event(); } @@ -2025,6 +1984,11 @@ void LabelPopup::create_objects() add_item(editlabel = new LabelPopupEdit(mwindow, this)); } +int LabelPopup::update() +{ + gui->collect_assets(); + return 0; +}