#include "cwindow.h"
#include "edl.h"
#include "edlsession.h"
+#include "effectlist.h"
#include "file.h"
#include "filesystem.h"
#include "folderlistmenu.h"
asset->width, asset->height,
BC_RGB888, -1);
}
-
+ { char string[BCTEXTLEN];
+ sprintf(string, _("Reading %s"), name);
+ mwindow->gui->lock_window("AssetPicon::create_objects");
+ mwindow->gui->show_message(string);
+ mwindow->gui->unlock_window(); }
file->read_frame(gui->temp_picon);
if( debug ) printf("AssetPicon::create_objects %d\n", __LINE__);
mwindow->video_cache->check_in(asset);
}
else
if( plugin ) {
- strcpy(name, _(plugin->title));
+ strcpy(name, plugin->title);
set_text(name);
icon_vframe = plugin->get_picon();
if( icon_vframe )
plugin_visibility = ((uint64_t)1<<(8*sizeof(uint64_t)-1))-1;
newfolder_thread = 0;
asset_menu = 0;
+ effectlist_menu = 0;
assetlist_menu = 0;
cliplist_menu = 0;
labellist_menu = 0;
delete asset_menu;
delete clip_menu;
delete label_menu;
+ delete effectlist_menu;
delete assetlist_menu;
delete cliplist_menu;
delete labellist_menu;
add_subwindow(label_menu = new LabelPopup(mwindow, this));
label_menu->create_objects();
+ add_subwindow(effectlist_menu = new EffectListMenu(mwindow, this));
+ effectlist_menu->create_objects();
add_subwindow(assetlist_menu = new AssetListMenu(mwindow, this));
assetlist_menu->create_objects();
add_subwindow(cliplist_menu = new ClipListMenu(mwindow, this));
mwindow->plugindb->remove(plugin);
remove(plugin_path);
char index_path[BCTEXTLEN];
- sprintf(index_path, "%s/%s", mwindow->preferences->plugin_dir, PLUGIN_FILE);
+ snprintf(index_path, sizeof(index_path), "%s/%s",
+ mwindow->preferences->plugin_dir, PLUGIN_FILE);
remove(index_path);
char png_path[BCTEXTLEN];
- if( plugin->get_theme_png_path(png_path, mwindow->preferences->theme) )
+ if( plugin->get_plugin_png_path(png_path, mwindow->preferences->plugin_icons) )
remove(png_path);
- if( plugin->get_theme_png_path(png_path, "picon") )
+ if( plugin->get_plugin_png_path(png_path, DEFAULT_PICON) )
remove(png_path);
delete plugin; plugin = 0;
awindow->gui->async_update_assets();
}
}
-
+ mwindow->gui->lock_window("AWindowGUI::update_asset_list");
+ mwindow->gui->default_message();
+ mwindow->gui->unlock_window();
//printf("AWindowGUI::update_asset_list %d\n", __LINE__);
AWindowFolders::AWindowFolders(MWindow *mwindow, AWindowGUI *gui, int x, int y, int w, int h)
- : BC_ListBox(x,
- y,
- w,
- h,
+ : BC_ListBox(x, y, w, h,
mwindow->edl->session->folderlist_format == ASSETS_ICONS ?
LISTBOX_ICONS : LISTBOX_TEXT,
- &gui->folders, // Each column has an ArrayList of BC_ListBoxItems.
- 0, // Titles for columns. Set to 0 for no titles
+ &gui->folders, // Each column has an ArrayList of BC_ListBoxItems.
+ 0, // Titles for columns. Set to 0 for no titles
0, // width of each column
- 1, // Total columns.
- 0, // Pixel of top of window.
- 0, // If this listbox is a popup window
- LISTBOX_SINGLE, // Select one item or multiple items
- ICON_TOP, // Position of icon relative to text of each item
- 1) // Allow drags
+ 1, // Total columns.
+ 0, // Pixel of top of window.
+ 0, // If this listbox is a popup window
+ LISTBOX_SINGLE, // Select one item or multiple items
+ ICON_TOP, // Position of icon relative to text of each item
+ 1) // Allow drags
{
this->mwindow = mwindow;
this->gui = gui;
(mwindow->edl->session->assetlist_format == ASSETS_ICONS && gui->allow_iconlisting ) ?
LISTBOX_ICONS : LISTBOX_TEXT,
&gui->assets, // Each column has an ArrayList of BC_ListBoxItems.
- gui->asset_titles, // Titles for columns. Set to 0 for no titles
- mwindow->edl->session->asset_columns, // width of each column
- 1, // Total columns.
- 0, // Pixel of top of window.
- 0, // If this listbox is a popup window
- LISTBOX_MULTIPLE, // Select one item or multiple items
- ICON_TOP, // Position of icon relative to text of each item
- 1) // Allow drag
+ gui->asset_titles,// Titles for columns. Set to 0 for no titles
+ mwindow->edl->session->asset_columns, // width of each column
+ 1, // Total columns.
+ 0, // Pixel of top of window.
+ 0, // If this listbox is a popup window
+ LISTBOX_MULTIPLE, // Select one item or multiple items
+ ICON_TOP, // Position of icon relative to text of each item
+ 1) // Allow drag
{
this->mwindow = mwindow;
this->gui = gui;
set_drag_scroll(0);
+ set_scroll_stretch(1, 1);
}
AWindowAssets::~AWindowAssets()
BC_ListBox::deactivate_selection();
int folder = mwindow->edl->session->awindow_folder;
switch( folder ) {
+ case AW_AEFFECT_FOLDER:
+ case AW_VEFFECT_FOLDER:
+ case AW_ATRANSITION_FOLDER:
+ case AW_VTRANSITION_FOLDER:
+ gui->effectlist_menu->update();
+ gui->effectlist_menu->activate_menu();
+ break;
case AW_LABEL_FOLDER:
gui->labellist_menu->update();
gui->labellist_menu->activate_menu();
gui->cliplist_menu->update();
gui->cliplist_menu->activate_menu();
break;
- default:
+ case AW_MEDIA_FOLDER:
gui->assetlist_menu->update_titles();
gui->assetlist_menu->activate_menu();
break;
case AW_VEFFECT_FOLDER:
case AW_ATRANSITION_FOLDER:
case AW_VTRANSITION_FOLDER:
- gui->assetlist_menu->update_titles();
- gui->assetlist_menu->activate_menu();
+ gui->effectlist_menu->update();
+ gui->effectlist_menu->activate_menu();
break;
case AW_LABEL_FOLDER:
if( !item->label ) break;
int AWindowInfo::handle_event()
{
- gui->awindow->asset_edit->edit_asset(gui->selected_asset());
+ int cur_x, cur_y;
+ gui->get_abs_cursor_xy(cur_x, cur_y, 0);
+ gui->awindow->asset_edit->edit_asset(gui->selected_asset(), cur_x, cur_y);
return 1;
}
}
-AWindowListFormat::AWindowListFormat(MWindow *mwindow)
+AWindowListFormat::AWindowListFormat(MWindow *mwindow, AWindowGUI *gui)
: BC_MenuItem("")
{
this->mwindow = mwindow;
+ this->gui = gui;
}
int AWindowListFormat::handle_event()
{
- AWindowGUI *gui = mwindow->awindow->gui;
gui->stop_vicon_drawing();
EDLSession *session = mwindow->edl->session;
(char*)_("Display icons") : (char*)_("Display text"));
}
-AWindowListSort::AWindowListSort(MWindow *mwindow)
+AWindowListSort::AWindowListSort(MWindow *mwindow, AWindowGUI *gui)
: BC_MenuItem(_("Sort items"))
{
this->mwindow = mwindow;
+ this->gui = gui;
}
int AWindowListSort::handle_event()
{
- AWindowGUI *gui = mwindow->awindow->gui;
gui->sort_assets();
return 1;
}