Fixed two thumb size related bugs (see issue #346)
This commit is contained in:
@@ -195,7 +195,7 @@ void FileBrowser::addEntry_ (FileBrowserEntry* entry) {
|
||||
entry->getThumbButtonSet()->setRank (entry->thumbnail->getRank());
|
||||
entry->getThumbButtonSet()->setInTrash (entry->thumbnail->getStage()==1);
|
||||
entry->getThumbButtonSet()->setButtonListener (this);
|
||||
entry->resize (options.thumbSize);
|
||||
entry->resize (getCurrentThumbSize());
|
||||
|
||||
// find place in abc order
|
||||
std::vector<ThumbBrowserEntryBase*>::iterator i = fd.begin();
|
||||
|
@@ -467,7 +467,7 @@ void ThumbBrowserBase::zoomChanged (bool zoomIn) {
|
||||
|
||||
int newHeight;
|
||||
int i=0;
|
||||
int optThumbSize=inTabMode ? options.thumbSizeTab : options.thumbSize;
|
||||
int optThumbSize=getCurrentThumbSize();
|
||||
if (zoomIn)
|
||||
for (i=0; i<options.thumbnailZoomRatios.size(); i++) {
|
||||
newHeight = (int)(options.thumbnailZoomRatios[i] * options.maxThumbnailHeight);
|
||||
@@ -490,10 +490,13 @@ void ThumbBrowserBase::zoomChanged (bool zoomIn) {
|
||||
gdk_window_process_updates (get_window()->gobj(), true);
|
||||
#endif
|
||||
}
|
||||
|
||||
int ThumbBrowserBase::getCurrentThumbSize() { return inTabMode ? options.thumbSizeTab : options.thumbSize; }
|
||||
|
||||
void ThumbBrowserBase::refreshThumbImages () {
|
||||
|
||||
for (int i=0; i<fd.size(); i++){
|
||||
previewHeight = inTabMode ? options.thumbSizeTab : options.thumbSize;
|
||||
previewHeight = getCurrentThumbSize();
|
||||
fd[i]->resize (previewHeight);// TODO!!! Might be performance bottleneck
|
||||
fd[i]->refreshThumbnailImage (); // TODO: This might cause crashes on some installations
|
||||
}
|
||||
@@ -527,7 +530,7 @@ void ThumbBrowserBase::enableTabMode(bool enable) {
|
||||
|
||||
if (options.thumbSizeTab!=options.thumbSize) {
|
||||
for (int i=0; i<fd.size(); i++)
|
||||
fd[i]->resize (inTabMode ? options.thumbSizeTab : options.thumbSize);
|
||||
fd[i]->resize (getCurrentThumbSize());
|
||||
}
|
||||
|
||||
redraw ();
|
||||
|
@@ -57,7 +57,8 @@ class ThumbBrowserBase : public Gtk::VBox {
|
||||
int inW, inH;
|
||||
|
||||
bool inTabMode; // Tab mode has e.g. different preview heights
|
||||
|
||||
int getCurrentThumbSize(); // depending on filmstrip/file browser mode
|
||||
|
||||
void resizeThumbnailArea (int w, int h);
|
||||
void internalAreaResized (Gtk::Allocation& req);
|
||||
void buttonPressed (int x, int y, int button, GdkEventType type, int state, int clx, int cly, int clw, int clh);
|
||||
|
@@ -271,6 +271,9 @@ void ThumbBrowserEntryBase::resize (int h) {
|
||||
// dimensions of the info text
|
||||
getTextSizes (infow, infoh);
|
||||
preh -= infoh + textGap;
|
||||
|
||||
// If the text size was selected very high in preferences this may go negative
|
||||
if (preh<0) preh=0;
|
||||
}
|
||||
|
||||
calcThumbnailSize ();
|
||||
|
Reference in New Issue
Block a user