2.5 compile errors.
[blender-staging.git] / source / blender / editors / space_file / space_file.c
index 1c7edd24df5a4262edac14d03f262c4ba7ce2225..084fcf1e5f6b832f4daa89ad09cf95018eeaeeed 100644 (file)
@@ -118,7 +118,6 @@ static void file_free(SpaceLink *sl)
        
        if(sfile->files) {
                filelist_free(sfile->files);
-               filelist_freelib(sfile->files);
                MEM_freeN(sfile->files);
                sfile->files= NULL;
        }
@@ -184,7 +183,9 @@ static void file_main_area_draw(const bContext *C, ARegion *ar)
 {
        /* draw entirely, view changes should be handled here */
        SpaceFile *sfile= (SpaceFile*)CTX_wm_space_data(C);
-       FileSelectParams* params = sfile->params;
+       FileSelectParams *params = ED_fileselect_get_params(sfile);
+       FileLayout *layout=NULL;
+
        View2D *v2d= &ar->v2d;
        View2DScrollers *scrollers;
        float col[3];
@@ -196,6 +197,8 @@ static void file_main_area_draw(const bContext *C, ARegion *ar)
                params->active_file = -1; // added this so it opens nicer (ton)
        }
 
+       layout = ED_fileselect_get_layout(sfile, ar);
+
        if (filelist_empty(sfile->files))
        {
                unsigned int filter = 0;
@@ -218,11 +221,17 @@ static void file_main_area_draw(const bContext *C, ARegion *ar)
        glClear(GL_COLOR_BUFFER_BIT);
        
        /* Allow dynamically sliders to be set, saves notifiers etc. */
-       if (sfile->params && ( (sfile->params->display == FILE_IMGDISPLAY) || (sfile->params->display == FILE_LONGDISPLAY)) )
+       if (layout && (layout->flag == FILE_LAYOUT_VER)) {
                v2d->scroll = V2D_SCROLL_RIGHT;
-       else
+               v2d->keepofs &= ~V2D_LOCKOFS_Y;
+               v2d->keepofs |= V2D_LOCKOFS_X;
+       }
+       else {
                v2d->scroll = V2D_SCROLL_BOTTOM;
-               /* v2d has initialized flag, so this call will only set the mask correct */
+               v2d->keepofs &= ~V2D_LOCKOFS_X;
+               v2d->keepofs |= V2D_LOCKOFS_Y;
+       }
+       /* v2d has initialized flag, so this call will only set the mask correct */
        UI_view2d_region_reinit(v2d, V2D_COMMONVIEW_LIST, ar->winx, ar->winy);
 
        /* sets tile/border settings in sfile */
@@ -257,14 +266,15 @@ static void file_main_area_draw(const bContext *C, ARegion *ar)
 void file_operatortypes(void)
 {
        WM_operatortype_append(FILE_OT_select);
-       WM_operatortype_append(FILE_OT_select_all);
-       WM_operatortype_append(FILE_OT_border_select);
+       WM_operatortype_append(FILE_OT_select_all_toggle);
+       WM_operatortype_append(FILE_OT_select_border);
        WM_operatortype_append(FILE_OT_select_bookmark);
        WM_operatortype_append(FILE_OT_loadimages);
        WM_operatortype_append(FILE_OT_highlight);
        WM_operatortype_append(FILE_OT_exec);
        WM_operatortype_append(FILE_OT_cancel);
        WM_operatortype_append(FILE_OT_parent);
+       WM_operatortype_append(FILE_OT_refresh);
        WM_operatortype_append(FILE_OT_bookmark_toggle);
 }
 
@@ -273,8 +283,8 @@ void file_keymap(struct wmWindowManager *wm)
 {
        ListBase *keymap= WM_keymap_listbase(wm, "File", SPACE_FILE, 0);
        WM_keymap_add_item(keymap, "FILE_OT_select", LEFTMOUSE, KM_PRESS, 0, 0);
-       WM_keymap_add_item(keymap, "FILE_OT_select_all", AKEY, KM_PRESS, 0, 0);
-       WM_keymap_add_item(keymap, "FILE_OT_border_select", BKEY, KM_PRESS, 0, 0);
+       WM_keymap_add_item(keymap, "FILE_OT_select_all_toggle", AKEY, KM_PRESS, 0, 0);
+       WM_keymap_add_item(keymap, "FILE_OT_select_border", BKEY, KM_PRESS, 0, 0);
        WM_keymap_add_item(keymap, "FILE_OT_highlight", MOUSEMOVE, KM_ANY, 0, 0);
        WM_keymap_add_item(keymap, "FILE_OT_parent", PKEY, KM_PRESS, 0, 0);
        
@@ -411,7 +421,7 @@ void ED_spacetype_file(void)
        /* regions: channels (directories) */
        art= MEM_callocN(sizeof(ARegionType), "spacetype file region");
        art->regionid = RGN_TYPE_CHANNELS;
-       art->minsizex= 200;
+       art->minsizex= 240;
        art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_VIEW2D;
        art->init= file_channel_area_init;
        art->draw= file_channel_area_draw;
@@ -425,13 +435,13 @@ void ED_file_init(void)
 {
        char name[FILE_MAX];
        BLI_make_file_string("/", name, BLI_gethome(), ".Bfs");
-       fsmenu_read_file(name);
+       fsmenu_read_file(fsmenu_get(), name);
        filelist_init_icons();
        IMB_thumb_makedirs();
 }
 
 void ED_file_exit(void)
 {
-       fsmenu_free();
+       fsmenu_free(fsmenu_get());
        filelist_free_icons();
 }