[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/kdepim/enterprise4/kdepim/kleopatra/utils
From:       Marc Mutz <mutz () kde ! org>
Date:       2010-10-29 9:37:49
Message-ID: 20101029093749.51543AC899 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1190971 by mutz:

KDLogTextWidget: upgrade to version from KDTools v2.2, pt.1: fix scrolling

If no scrollbars are visible, count that as being "at the end", too.

Fixes kolab/issue4519 (b2).

 M  +5 -5      kdlogtextwidget.cpp  


--- branches/kdepim/enterprise4/kdepim/kleopatra/utils/kdlogtextwidget.cpp \
#1190970:1190971 @@ -434,15 +434,15 @@
         cache.dirty |= Cache::Dimensions;
 }
 
-static void set_scrollbar_properties( QScrollBar & sb, int document, int viewport, \
int singleStep ) { +static void set_scrollbar_properties( QScrollBar & sb, int \
document, int viewport, int singleStep, Qt::Orientation o ) {  const int min = 0;
     const int max = std::max( 0, document - viewport );
     const int value = sb.value();
-    const bool wasAtEnd = ( value == sb.maximum() && value != 0 );
+    const bool wasAtEnd = value == sb.maximum();
     sb.setRange( min, max );
     sb.setPageStep( viewport );
     sb.setSingleStep( singleStep );
-    sb.setValue( wasAtEnd ? sb.maximum() : value );
+    sb.setValue( o == Qt::Vertical && wasAtEnd ? sb.maximum() : value );
 }
 
 void KDLogTextWidget::Private::updateScrollRanges() {
@@ -453,14 +453,14 @@
         const int document = lines.size() * cache.fontMetrics.lineSpacing ;
         const int viewport = q->viewport()->height();
         const int singleStep = cache.fontMetrics.lineSpacing;
-        set_scrollbar_properties( *sb, document, viewport, singleStep );
+        set_scrollbar_properties( *sb, document, viewport, singleStep, Qt::Vertical \
);  }
 
     if ( QScrollBar * const sb = q->horizontalScrollBar() ) {
         const int document = cache.dimensions.longestLineLength;
         const int viewport = q->viewport()->width();
         const int singleStep = cache.fontMetrics.lineSpacing; // rather randomly \
                chosen
-        set_scrollbar_properties( *sb, document, viewport, singleStep );
+        set_scrollbar_properties( *sb, document, viewport, singleStep, \
Qt::Horizontal );  }
 }
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic