Added an accessor method to obtain the current view

This commit is contained in:
Pierre Pronchery 2012-04-20 15:52:18 +00:00
parent 8ab60bc485
commit d99cb31362
3 changed files with 20 additions and 3 deletions

View File

@ -887,6 +887,15 @@ char const * browser_get_location(Browser * browser)
}
/* browser_get_view */
BrowserView browser_get_view(Browser * browser)
{
if(browser->detailview != NULL)
return BV_DETAILS;
return browser->iconview_as;
}
/* browser_go_home */
void browser_go_home(Browser * browser)
{
@ -1709,6 +1718,9 @@ static void _view_thumbnails(Browser * browser);
void browser_set_view(Browser * browser, BrowserView view)
{
#ifdef DEBUG
fprintf(stderr, "DEBUG: %s(%u)\n", __func__, view);
#endif
#if GTK_CHECK_VERSION(2, 6, 0)
browser->iconview_as = view;
switch(view)
@ -1876,6 +1888,9 @@ static void _view_icon_view(Browser * browser)
size_t targets_cnt = sizeof(targets) / sizeof(*targets);
#endif
#ifdef DEBUG
fprintf(stderr, "DEBUG: %s()\n", __func__);
#endif
if(browser->iconview != NULL)
{
#if GTK_CHECK_VERSION(2, 8, 0)

View File

@ -179,6 +179,8 @@ void browser_delete(Browser * browser);
/* accessors */
char const * browser_get_location(Browser * browser);
BrowserView browser_get_view(Browser * browser);
int browser_set_location(Browser * browser, char const * path);
void browser_set_view(Browser * browser, BrowserView view);

View File

@ -448,10 +448,10 @@ void on_updir(gpointer data)
void on_view_as(gpointer data)
{
Browser * browser = data;
BrowserView view;
if(browser->iconview == NULL)
browser_set_view(browser, BV_ICONS);
else switch(browser->iconview_as)
view = browser_get_view(browser);
switch(view)
{
case BV_DETAILS:
browser_set_view(browser, BV_ICONS);