From ead43f353675d4c8952facf57920ce79533955a6 Mon Sep 17 00:00:00 2001 From: Chris Taylor Date: Fri, 05 Mar 2010 06:24:05 +0000 Subject: Code refactoring. -Split browser creation code off into its own object. update_browser. -If exiting from opening creation use update_browser() to repaint browser. Signed-off-by: Chris Taylor --- diff --git a/browse.c b/browse.c index c736e64..232d374 100644 --- a/browse.c +++ b/browse.c @@ -50,7 +50,7 @@ void add_file(gboolean dir); void remove_win( void ); void display_error(gchar *message, gchar *name, gboolean type); void open_directory( void ); - +void update_browser(void); void file_browser(gint height) { @@ -63,28 +63,15 @@ void file_browser(gint height) cont.length = 1; cont.first=0; cont.pos_height=0; - clear(); + clear(); refresh(); - + browser.location = newwin(1, 0, 0, 0); browser.title = newwin(1, 0, 1, 0); browser.list = newwin(cont.height, 0, 3, 0); - - wcolor_set(browser.location, 1, NULL); - wcolor_set(browser.title, 1, NULL); - wcolor_set(browser.list, 1, NULL); - - mvwtitledhline(browser.title, 0, "File Browser"); - wnoutrefresh(browser.title); - wnoutrefresh(browser.list); - - doupdate(); - - - get_contents(); - browser_paint(&cont); - + update_browser(); + while((c=getch())) { switch(c) @@ -399,7 +386,10 @@ void open_directory( void ) get_contents(); return; case ENTER: - if(strlen(buffer)==0) return; + if(strlen(buffer)==0) { + update_browser(); + return; + } else { cont.location=g_strdup(buffer); g_chdir(buffer); @@ -429,4 +419,18 @@ void open_directory( void ) doupdate(); } return; +} + +void update_browser(void) +{ + wcolor_set(browser.location, 1, NULL); + wcolor_set(browser.title, 1, NULL); + wcolor_set(browser.list, 1, NULL); + mvwtitledhline(browser.title, 0, "File Browser"); + wnoutrefresh(browser.title); + wnoutrefresh(browser.list); + doupdate(); + get_contents(); + browser_paint(&cont); + return; } \ No newline at end of file -- cgit v0.8.3.4-115-g1759