Skip to content
Snippets Groups Projects
Commit 8daeeea1 authored by Yorhel's avatar Yorhel
Browse files

Re-added file information window in browser.c

parent ddd8a639
No related branches found
No related tags found
No related merge requests found
...@@ -51,32 +51,6 @@ unsigned char flags = BF_SIZE | BF_DESC; ...@@ -51,32 +51,6 @@ unsigned char flags = BF_SIZE | BF_DESC;
|| x->flags & FF_EXL)) || x->flags & FF_EXL))
/*
void drawInfo(struct dir *dr) {
char path[PATH_MAX];
nccreate(11, 60, "Item info");
attron(A_BOLD);
ncaddstr(2, 3, "Name:");
ncaddstr(3, 3, "Path:");
ncaddstr(4, 3, "Type:");
ncaddstr(6, 3, " Disk usage:");
ncaddstr(7, 3, "Apparent size:");
attroff(A_BOLD);
ncaddstr(2, 9, cropdir(dr->name, 49));
ncaddstr(3, 9, cropdir(getpath(dr, path), 49));
ncaddstr(4, 9, dr->flags & FF_DIR ? "Directory"
: dr->flags & FF_FILE ? "File" : "Other (link, device, socket, ..)");
ncprint(6, 18, "%s (%s B)", cropsize(dr->size), fullsize(dr->size));
ncprint(7, 18, "%s (%s B)", cropsize(dr->asize), fullsize(dr->asize));
ncaddstr(9, 32, "Press i to hide this window");
}
*/
int browse_cmp(struct dir *x, struct dir *y) { int browse_cmp(struct dir *x, struct dir *y) {
struct dir *a, *b; struct dir *a, *b;
int r = 0; int r = 0;
...@@ -157,6 +131,30 @@ struct dir *browse_sort(struct dir *list) { ...@@ -157,6 +131,30 @@ struct dir *browse_sort(struct dir *list) {
} }
void browse_draw_info(struct dir *dr) {
char path[PATH_MAX];
nccreate(11, 60, "Item info");
attron(A_BOLD);
ncaddstr(2, 3, "Name:");
ncaddstr(3, 3, "Path:");
ncaddstr(4, 3, "Type:");
ncaddstr(6, 3, " Disk usage:");
ncaddstr(7, 3, "Apparent size:");
attroff(A_BOLD);
ncaddstr(2, 9, cropstr(dr->name, 49));
ncaddstr(3, 9, cropstr(getpath(dr, path), 49));
ncaddstr(4, 9, dr->flags & FF_DIR ? "Directory"
: dr->flags & FF_FILE ? "File" : "Other (link, device, socket, ..)");
ncprint(6, 18, "%s (%s B)", formatsize(dr->size), fullsize(dr->size));
ncprint(7, 18, "%s (%s B)", formatsize(dr->asize), fullsize(dr->asize));
ncaddstr(9, 32, "Press i to hide this window");
}
void browse_draw_item(struct dir *n, int row, off_t max, int ispar) { void browse_draw_item(struct dir *n, int row, off_t max, int ispar) {
char tmp[1000], ct, dt, *size, gr[11]; char tmp[1000], ct, dt, *size, gr[11];
int i, o; int i, o;
...@@ -225,7 +223,7 @@ void browse_draw_item(struct dir *n, int row, off_t max, int ispar) { ...@@ -225,7 +223,7 @@ void browse_draw_item(struct dir *n, int row, off_t max, int ispar) {
int browse_draw() { int browse_draw() {
struct dir *n, ref, *cur; struct dir *n, ref, *cur, *sel = NULL;
char tmp[PATH_MAX]; char tmp[PATH_MAX];
int selected, i; int selected, i;
off_t max = 1; off_t max = 1;
...@@ -271,8 +269,10 @@ int browse_draw() { ...@@ -271,8 +269,10 @@ int browse_draw() {
for(n=cur, selected=i=0; n!=NULL; n=n->next) { for(n=cur, selected=i=0; n!=NULL; n=n->next) {
if(ishidden(n)) if(ishidden(n))
continue; continue;
if(n->flags & FF_BSEL) if(n->flags & FF_BSEL) {
selected = i; selected = i;
sel = n;
}
if((flags & BF_AS ? n->asize : n->size) > max) if((flags & BF_AS ? n->asize : n->size) > max)
max = flags & BF_AS ? n->asize : n->size; max = flags & BF_AS ? n->asize : n->size;
i++; i++;
...@@ -296,6 +296,10 @@ int browse_draw() { ...@@ -296,6 +296,10 @@ int browse_draw() {
browse_draw_item(n, 2+i++, max, n == &ref); browse_draw_item(n, 2+i++, max, n == &ref);
} }
/* draw information window */
if(sel && (flags & BF_INFO) && sel != &ref)
browse_draw_info(sel);
/* move cursor to selected row for accessibility */ /* move cursor to selected row for accessibility */
move(selected+2, 0); move(selected+2, 0);
return 0; return 0;
...@@ -332,11 +336,10 @@ void browse_key_sel(int change) { ...@@ -332,11 +336,10 @@ void browse_key_sel(int change) {
#define toggle(x,y) if(x & y) x -=y; else x |= y #define toggle(x,y) if(x & y) x -=y; else x |= y
#define hideinfo if(flags & BF_INFO) flags -= BF_INFO
int browse_key(int ch) { int browse_key(int ch) {
char tmp[PATH_MAX]; char tmp[PATH_MAX];
char sort = 0; char sort = 0, nonfo = 0;
struct dir *n; struct dir *n;
switch(ch) { switch(ch) {
...@@ -363,40 +366,39 @@ int browse_key(int ch) { ...@@ -363,40 +366,39 @@ int browse_key(int ch) {
/* sorting items */ /* sorting items */
case 'n': case 'n':
hideinfo;
if(flags & BF_NAME) if(flags & BF_NAME)
toggle(flags, BF_DESC); toggle(flags, BF_DESC);
else else
flags = (flags & BF_HIDE) + (flags & BF_NDIRF) + BF_NAME; flags = (flags & BF_HIDE) + (flags & BF_NDIRF) + BF_NAME;
sort++; sort++;
nonfo++;
break; break;
case 's': case 's':
hideinfo;
if(flags & BF_SIZE) if(flags & BF_SIZE)
toggle(flags, BF_DESC); toggle(flags, BF_DESC);
else else
flags = (flags & BF_HIDE) + (flags & BF_NDIRF) + BF_SIZE + BF_DESC; flags = (flags & BF_HIDE) + (flags & BF_NDIRF) + BF_SIZE + BF_DESC;
sort++; sort++;
nonfo++;
break; break;
case 'h': case 'h':
hideinfo;
toggle(flags, BF_HIDE); toggle(flags, BF_HIDE);
browse_key_sel(0); browse_key_sel(0);
nonfo++;
break; break;
case 't': case 't':
hideinfo;
toggle(flags, BF_NDIRF); toggle(flags, BF_NDIRF);
sort++; sort++;
nonfo++;
break; break;
case 'a': case 'a':
hideinfo;
toggle(flags, BF_AS); toggle(flags, BF_AS);
nonfo++;
break; break;
/* browsing */ /* browsing */
case 10: case 10:
case KEY_RIGHT: case KEY_RIGHT:
hideinfo;
for(n=browse_dir; n!=NULL; n=n->next) for(n=browse_dir; n!=NULL; n=n->next)
if(n->flags & FF_BSEL) if(n->flags & FF_BSEL)
break; break;
...@@ -404,19 +406,20 @@ int browse_key(int ch) { ...@@ -404,19 +406,20 @@ int browse_key(int ch) {
browse_dir = n->sub; browse_dir = n->sub;
if(n == NULL && browse_dir->parent->parent) if(n == NULL && browse_dir->parent->parent)
browse_dir = browse_dir->parent->parent->sub; browse_dir = browse_dir->parent->parent->sub;
nonfo++;
sort++; sort++;
break; break;
case KEY_LEFT: case KEY_LEFT:
hideinfo;
if(browse_dir->parent->parent != NULL) if(browse_dir->parent->parent != NULL)
browse_dir = browse_dir->parent->parent->sub; browse_dir = browse_dir->parent->parent->sub;
nonfo++;
sort++; sort++;
break; break;
/* refresh */ /* refresh */
case 'r': case 'r':
hideinfo;
calc_init(getpath(browse_dir, tmp), browse_dir->parent); calc_init(getpath(browse_dir, tmp), browse_dir->parent);
nonfo++;
sort++; sort++;
break; break;
...@@ -424,31 +427,34 @@ int browse_key(int ch) { ...@@ -424,31 +427,34 @@ int browse_key(int ch) {
case 'q': case 'q':
return 1; return 1;
case 'g': case 'g':
hideinfo; if(++graph > 3)
if(++graph > 3) graph = 0; graph = 0;
nonfo++;
break;
case 'i':
toggle(flags, BF_INFO);
break; break;
/* /*
case '?': case '?':
hideinfo;
showHelp(); showHelp();
break; nonfo++;
case 'i':
toggle(flags, BF_INFO);
break; break;
case 'd': case 'd':
hideinfo;
drawBrowser(0); drawBrowser(0);
n = selected(); n = selected();
if(n != bcur->parent) if(n != bcur->parent)
bcur = showDelete(n); bcur = showDelete(n);
if(bcur && bcur->parent) if(bcur && bcur->parent)
bcur = bcur->parent->sub; bcur = bcur->parent->sub;
nonfo++;
break; break;
*/ */
} }
if(sort) if(sort)
browse_dir = browse_sort(browse_dir); browse_dir = browse_sort(browse_dir);
if(nonfo)
flags &= ~BF_INFO;
return 0; return 0;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment