summaryrefslogtreecommitdiff
authorzecke <zecke>2003-08-29 14:12:57 (UTC)
committer zecke <zecke>2003-08-29 14:12:57 (UTC)
commited6da2303a8fabec50991365914f0e4d20a21ea6 (patch) (side-by-side diff)
treebaa3375e902891150d66572306dd94ae7454ed71
parentd8fadaf4f510803983d0b8b99994fd70e770ccab (diff)
downloadopie-ed6da2303a8fabec50991365914f0e4d20a21ea6.zip
opie-ed6da2303a8fabec50991365914f0e4d20a21ea6.tar.gz
opie-ed6da2303a8fabec50991365914f0e4d20a21ea6.tar.bz2
Usability for our left handed users ( me! )
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--qt/left-handed-qt236.patch169
1 files changed, 169 insertions, 0 deletions
diff --git a/qt/left-handed-qt236.patch b/qt/left-handed-qt236.patch
new file mode 100644
index 0000000..45353c7
--- a/dev/null
+++ b/qt/left-handed-qt236.patch
@@ -0,0 +1,169 @@
+Index: table/qtable.cpp
+===================================================================
+RCS file: /home/ich/cvs/TT/qt/src/table/qtable.cpp,v
+retrieving revision 1.1.1.1
+diff -u -r1.1.1.1 qtable.cpp
+--- table/qtable.cpp 17 Aug 2003 14:22:32 -0000 1.1.1.1
++++ table/qtable.cpp 29 Aug 2003 13:59:56 -0000
+@@ -500,7 +500,7 @@
+
+ if ( rw == -1 || cl == -1 )
+ return;
+-
++
+ int rrow = rw;
+ int rcol = cl;
+ if ( rowspan > 1 || colspan > 1 ) {
+@@ -1190,7 +1190,7 @@
+
+ if ( rowh == 0 )
+ continue;
+-
++
+ // Go through the columns in row r
+ // if we know from where to where, go through [colfirst, collast],
+ // else go through all of them
+@@ -1204,7 +1204,7 @@
+
+ if ( colw == 0 )
+ continue;
+-
++
+ QTableItem *itm = item( r, c );
+ if ( itm &&
+ ( itm->colSpan() > 1 || itm->rowSpan() > 1 ) ) {
+@@ -2345,6 +2345,7 @@
+ {
+ if ( inUpdateGeometries )
+ return;
++
+ inUpdateGeometries = TRUE;
+ QSize ts = tableSize();
+ if ( topHeader->offset() &&
+@@ -2354,9 +2355,13 @@
+ ts.height() < leftHeader->offset() + leftHeader->height() )
+ verticalScrollBar()->setValue( ts.height() - leftHeader->height() );
+
+- leftHeader->setGeometry( frameWidth(), topMargin() + frameWidth(),
++ /*
++ * for the scrollbar on the left side simply using framewidth is
++ * not enough cause this would overdraw the scrollbar
++ */
++ leftHeader->setGeometry( frameWidth()+ frameRect().left(), topMargin() + frameWidth(),
+ leftMargin(), visibleHeight() );
+- topHeader->setGeometry( leftMargin() + frameWidth(), frameWidth(),
++ topHeader->setGeometry( leftMargin() + frameWidth() + frameRect().left(), frameWidth(),
+ visibleWidth(), topMargin() );
+ inUpdateGeometries = FALSE;
+ }
+Index: widgets/qscrollview.cpp
+===================================================================
+RCS file: /home/ich/cvs/TT/qt/src/widgets/qscrollview.cpp,v
+retrieving revision 1.1.1.2
+diff -u -r1.1.1.2 qscrollview.cpp
+--- widgets/qscrollview.cpp 17 Aug 2003 14:24:04 -0000 1.1.1.2
++++ widgets/qscrollview.cpp 29 Aug 2003 14:03:13 -0000
+@@ -786,45 +786,56 @@
+
+ // Position the scrollbars, viewport, and corner widget.
+ int bottom;
++#ifdef QT_FOR_LEFT_HAND
++ static bool left = true;
++#else
++ static bool left = false;
++#endif
++ int xoffset = ( left && ( showv || cornerWidget() ) ) ? vsbExt : 0;
++ int xpos = left ? 0 : w-vsbExt;
++ xpos = (style() == WindowsStyle) && left ? xpos + fw : xpos - fw;
++ int ypos = tmarg;
++ ypos = (style() == WindowsStyle) ? ypos +fw : 0;
+ if ( showh ) {
+ int right = ( showv || cornerWidget() ) ? w-vsbExt : w;
+ if ( style() == WindowsStyle )
+- setHBarGeometry(d->hbar, fw, h-hsbExt-fw,
++ setHBarGeometry(d->hbar, fw + xoffset , h-hsbExt-fw,
+ right-fw-fw, hsbExt );
+ else
+- setHBarGeometry(d->hbar, 0, h-hsbExt, right,
++ setHBarGeometry(d->hbar, 0+ xoffset, h-hsbExt, right,
+ hsbExt );
+ bottom=h-hsbExt;
+ } else {
+ bottom=h;
+ }
+ if ( showv ) {
+- clipper()->setGeometry( lmarg, tmarg,
++ clipper()->setGeometry( lmarg + xoffset, tmarg,
+ w-vsbExt-lmarg-rmarg,
+ bottom-tmarg-bmarg );
+ d->viewportResized( w-vsbExt-lmarg-rmarg, bottom-tmarg-bmarg );
+- if ( style() == WindowsStyle )
+- changeFrameRect(QRect(0, 0, w, h) );
+- else
+- changeFrameRect(QRect(0, 0, w-vsbExt, bottom));
++ if ( style() == WindowsStyle ) {
++ changeFrameRect(QRect(xoffset, 0, w, h) );
++ }else{
++ changeFrameRect(QRect(xoffset, 0, w-vsbExt, bottom));
++ }
+ if (cornerWidget()) {
+ if ( style() == WindowsStyle )
+- setVBarGeometry( d->vbar, w-vsbExt-fw,
+- fw, vsbExt,
+- h-hsbExt-fw-fw );
++ setVBarGeometry( d->vbar, xpos,
++ ypos, vsbExt,
++ bottom-fw-ypos );
+ else
+- setVBarGeometry( d->vbar, w-vsbExt, 0,
++ setVBarGeometry( d->vbar, xpos, ypos,
+ vsbExt,
+- h-hsbExt );
++ bottom-ypos );
+ }
+ else {
+ if ( style() == WindowsStyle )
+- setVBarGeometry( d->vbar, w-vsbExt-fw,
+- fw, vsbExt,
+- bottom-fw-fw );
++ setVBarGeometry( d->vbar, xpos,
++ ypos, vsbExt,
++ bottom-fw-ypos );
+ else
+- setVBarGeometry( d->vbar, w-vsbExt, 0,
+- vsbExt, bottom );
++ setVBarGeometry( d->vbar, xpos, ypos,
++ vsbExt, bottom-ypos );
+ }
+ } else {
+ if ( style() == WindowsStyle )
+@@ -837,12 +848,12 @@
+ }
+ if ( d->corner ) {
+ if ( style() == WindowsStyle )
+- d->corner->setGeometry( w-vsbExt-fw,
++ d->corner->setGeometry( xpos,
+ h-hsbExt-fw,
+ vsbExt,
+ hsbExt );
+ else
+- d->corner->setGeometry( w-vsbExt,
++ d->corner->setGeometry( xpos,
+ h-hsbExt,
+ vsbExt,
+ hsbExt );
+@@ -2058,12 +2069,12 @@
+ void QScrollView::changeFrameRect(const QRect& r)
+ {
+ QRect oldr = frameRect();
+- if (oldr != r) {
++ if (oldr != r) {
+ QRect cr = contentsRect();
+ QRegion fr( frameRect() );
+ fr = fr.subtract( contentsRect() );
+ setFrameRect( r );
+- if ( isVisible() ) {
++ if ( isVisible() ) {
+ cr = cr.intersect( contentsRect() );
+ fr = fr.unite( frameRect() );
+ fr = fr.subtract( cr );