From 4fcb84a74c8ccd0bc7246fd496d92c0cbc9c8ba5 Mon Sep 17 00:00:00 2001 From: Oliver Duis Date: Mon, 6 Jun 2011 16:04:27 +0200 Subject: [PATCH] Fixed filmstrip autoheight; see issue #700 --- rtgui/filecatalog.cc | 2 +- rtgui/thumbbrowserbase.cc | 5 +++-- rtgui/thumbbrowserentrybase.h | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/rtgui/filecatalog.cc b/rtgui/filecatalog.cc index f5746a7a7..7d368b4a4 100644 --- a/rtgui/filecatalog.cc +++ b/rtgui/filecatalog.cc @@ -542,7 +542,7 @@ void FileCatalog::refreshAll () { } void FileCatalog::refreshHeight () { - int newHeight=fileBrowser->getEffectiveHeight(); + int newHeight=fileBrowser->getEffectiveHeight() + buttonBar->get_height(); set_size_request(0, newHeight); } diff --git a/rtgui/thumbbrowserbase.cc b/rtgui/thumbbrowserbase.cc index 5cfad1d00..3a92a55f7 100644 --- a/rtgui/thumbbrowserbase.cc +++ b/rtgui/thumbbrowserbase.cc @@ -631,14 +631,15 @@ void ThumbBrowserBase::setScrollPosition (double h, double v) { // needed for auto-height in single tab int ThumbBrowserBase::getEffectiveHeight() { - int h=0; + int h=hscroll.get_height() + 2; // have 2 pixels rounding error for scroll bars to appear + { // TODO: Check for Linux #ifdef WIN32 Glib::Mutex::Lock lock(entryMutex); #endif - if (fd.size()>0) h=fd[0]->getEffectiveHeight(); + if (fd.size()>0) h+=fd[0]->getEffectiveHeight(); } return h; diff --git a/rtgui/thumbbrowserentrybase.h b/rtgui/thumbbrowserentrybase.h index 4e8b94e79..8cd043899 100644 --- a/rtgui/thumbbrowserentrybase.h +++ b/rtgui/thumbbrowserentrybase.h @@ -102,7 +102,7 @@ protected: int getMinimalHeight () { return height; } int getMinimalWidth () { return width; } - int getEffectiveHeight () { return fnlabh+dtlabh+exlabh+textGap+exp_height; } + int getEffectiveHeight () { return exp_height; } int getStartX () { return startx; } int getStartY () { return starty; }