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

List:       kde-bugs-dist
Subject:    [Bug 90127] reversed sheet are not displayed correctly
From:       Meni Livne <livne () kde ! org>
Date:       2004-10-08 13:10:35
Message-ID: 20041008131035.4018.qmail () ktown ! kde ! org
[Download RAW message or body]

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
        
http://bugs.kde.org/show_bug.cgi?id=90127        




------- Additional Comments From livne kde org  2004-10-08 15:10 -------
CVS commit by livne: 

Fix choose selections in RTL sheets.

CCMAIL: 90127 bugs kde org


  M +20 -4     kspread_canvas.cc   1.428


--- koffice/kspread/kspread_canvas.cc  #1.427:1.428
 @ -1416,7 +1416,15  @ void KSpreadCanvas::chooseMouseMoveEvent
 
   double tmp;
-  double ev_PosX = doc()->unzoomItX( _ev->pos().x() );
+  double ev_PosX;
+  if ( table->layoutDirection()==KSpreadSheet::RightToLeft )
+  {
+    double dwidth = doc()->unzoomItX( width() );
+    ev_PosX = dwidth - doc()->unzoomItX( _ev->pos().x() );
+  }
+  else
+    ev_PosX = doc()->unzoomItX( _ev->pos().x() );
+
   double ev_PosY = doc()->unzoomItY( _ev->pos().y() );
-  int col = table->leftColumn( (ev_PosX + xOffset()), tmp ); // TODO
+  int col = table->leftColumn( (ev_PosX + xOffset()), tmp );
   int row = table->topRow( (ev_PosY + yOffset()), tmp );
 
 @ -1451,8 +1459,16  @ void KSpreadCanvas::chooseMousePressEven
 
 
-  double ev_PosX = doc()->unzoomItX( _ev->pos().x() );
+  double ev_PosX;
+  if ( table->layoutDirection()==KSpreadSheet::RightToLeft )
+  {
+    double dwidth = doc()->unzoomItX( width() );
+    ev_PosX = dwidth - doc()->unzoomItX( _ev->pos().x() );
+  }
+  else
+    ev_PosX = doc()->unzoomItX( _ev->pos().x() );
+
   double ev_PosY = doc()->unzoomItY( _ev->pos().y() );
   double ypos, xpos;
-  int col = table->leftColumn( (ev_PosX + xOffset()), xpos ); // TODO rtl
+  int col = table->leftColumn( (ev_PosX + xOffset()), xpos );
   int row = table->topRow( (ev_PosY + yOffset()), ypos );
[prev in list] [next in list] [prev in thread] [next in thread] 

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