00001 #include "awindow.h"
00002 #include "awindowgui.h"
00003 #include "awindowmenu.h"
00004 #include "edl.h"
00005 #include "edlsession.h"
00006 #include "language.h"
00007 #include "mwindow.h"
00008
00009
00010
00011
00012
00013 AssetListMenu::AssetListMenu(MWindow *mwindow, AWindowGUI *gui)
00014 : BC_PopupMenu(0,
00015 0,
00016 0,
00017 "",
00018 0)
00019 {
00020 this->mwindow = mwindow;
00021 this->gui = gui;
00022 }
00023
00024 AssetListMenu::~AssetListMenu()
00025 {
00026 }
00027
00028 void AssetListMenu::create_objects()
00029 {
00030 add_item(format = new AssetListFormat(mwindow));
00031 add_item(new AssetListSort(mwindow));
00032 update_titles();
00033 }
00034
00035 void AssetListMenu::update_titles()
00036 {
00037 format->update();
00038 }
00039
00040
00041
00042
00043
00044
00045
00046
00047 AssetListFormat::AssetListFormat(MWindow *mwindow)
00048 : BC_MenuItem("")
00049 {
00050 this->mwindow = mwindow;
00051 }
00052
00053 void AssetListFormat::update()
00054 {
00055 set_text(mwindow->edl->session->assetlist_format == ASSETS_TEXT ?
00056 (char*)_("Display icons") : (char*)_("Display text"));
00057 }
00058
00059 int AssetListFormat::handle_event()
00060 {
00061 switch(mwindow->edl->session->assetlist_format)
00062 {
00063 case ASSETS_TEXT:
00064 mwindow->edl->session->assetlist_format = ASSETS_ICONS;
00065 break;
00066 case ASSETS_ICONS:
00067 mwindow->edl->session->assetlist_format = ASSETS_TEXT;
00068 break;
00069 }
00070
00071
00072 if (!mwindow->awindow->gui->allow_iconlisting) {
00073 mwindow->edl->session->assetlist_format = ASSETS_TEXT;
00074 }
00075
00076 mwindow->awindow->gui->asset_list->update_format(
00077 mwindow->edl->session->assetlist_format,
00078 1);
00079
00080 return 1;
00081 }
00082
00083
00084
00085
00086 AssetListSort::AssetListSort(MWindow *mwindow)
00087 : BC_MenuItem(_("Sort items"))
00088 {
00089 this->mwindow = mwindow;
00090 }
00091
00092 int AssetListSort::handle_event()
00093 {
00094 mwindow->awindow->gui->sort_assets();
00095 return 1;
00096 }
00097
00098
00099
00100
00101 FolderListMenu::FolderListMenu(MWindow *mwindow, AWindowGUI *gui)
00102 : BC_PopupMenu(0,
00103 0,
00104 0,
00105 "",
00106 0)
00107 {
00108 this->mwindow = mwindow;
00109 this->gui = gui;
00110 }
00111
00112 FolderListMenu::~FolderListMenu()
00113 {
00114 }
00115
00116 void FolderListMenu::create_objects()
00117 {
00118 add_item(format = new FolderListFormat(mwindow, this));
00119 update_titles();
00120 }
00121
00122
00123
00124 void FolderListMenu::update_titles()
00125 {
00126 format->set_text(mwindow->edl->session->folderlist_format == FOLDERS_TEXT ?
00127 (char*)_("Display icons") : (char*)_("Display text"));
00128 }
00129
00130
00131
00132
00133
00134
00135
00136 FolderListFormat::FolderListFormat(MWindow *mwindow, FolderListMenu *menu)
00137 : BC_MenuItem("")
00138 {
00139 this->mwindow = mwindow;
00140 this->menu = menu;
00141 }
00142 int FolderListFormat::handle_event()
00143 {
00144 switch(mwindow->edl->session->folderlist_format)
00145 {
00146 case ASSETS_TEXT:
00147 mwindow->edl->session->folderlist_format = ASSETS_ICONS;
00148 break;
00149 case ASSETS_ICONS:
00150 mwindow->edl->session->folderlist_format = ASSETS_TEXT;
00151 break;
00152 }
00153
00154 mwindow->awindow->gui->folder_list->update_format(mwindow->edl->session->folderlist_format, 1);
00155 menu->update_titles();
00156
00157 return 1;
00158 }
00159
00160
00161