Bug 124683

Summary: 48 hours in a day
Product: [Applications] korganizer Reporter: Frank Lin <fpylin>
Component: generalAssignee: Reinhold Kainhofer <reinhold>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Slackware   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: Bug Screenshot

Description Frank Lin 2006-04-01 03:06:29 UTC
Version:            (using KDE KDE 3.5.2)
Installed from:    Slackware Packages

I understand this bug has been reported several times and was previously marked resolved. However, it still occurs on the latest KOrganizer 3.5 when you try to zoom out on agenda view.
Comment 1 Frank Lin 2006-04-01 03:12:05 UTC
Created attachment 15403 [details]
Bug Screenshot
Comment 2 Bram Schoenmakers 2006-05-13 23:26:09 UTC
How do you reproduce this?
Comment 3 Frank Lin 2006-05-14 04:33:42 UTC
I cannot remember how it was done in the previous version. But you can reproduce this way:

1. Switch to weekly view
2. Drag the divider downwards (the one between todo-list and appointments) 
3. Zoom out the appointment pane to 24 hours
4. Now drag the divider back up to where it was

The time ruler should now be screwed up.
Comment 4 Bram Schoenmakers 2006-05-14 12:13:53 UTC
Thanks, that's reproducable (except you meant the splitter between the all-day events en the main week view).

Now we should find a way how to fix it :)
Comment 5 Bram Schoenmakers 2006-05-16 19:20:40 UTC
SVN commit 541588 by bram:

Bad news for really busy people: a day cannot have more than 24 hours anymore.

When resizing the agenda views, the time bar was not correctly updated to the new cellheight. The lines in the timeline didn't match with the agenda grid's lines.

BUG:124683



 M  +1 -0      koagenda.cpp  
 M  +2 -0      koagenda.h  
 M  +2 -1      koagendaview.cpp  
 M  +2 -2      koagendaview.h  


--- branches/KDE/3.5/kdepim/korganizer/koagenda.cpp #541587:541588
@@ -1790,6 +1790,7 @@
   }
   calculateWorkingHours();
   QTimer::singleShot( 0, this, SLOT( resizeAllContents() ) );
+  emit gridSpacingYChanged( mGridSpacingY * 4 );
   QScrollView::resizeEvent(ev);
 }
 
--- branches/KDE/3.5/kdepim/korganizer/koagenda.h #541587:541588
@@ -199,6 +199,8 @@
     void enterAgenda();
     void leaveAgenda();
 
+    void gridSpacingYChanged( double );
+
   private:
     enum MouseActionType { NOP, MOVE, SELECT,
                            RESIZETOP, RESIZEBOTTOM, RESIZELEFT, RESIZERIGHT };
--- branches/KDE/3.5/kdepim/korganizer/koagendaview.cpp #541587:541588
@@ -114,7 +114,7 @@
   mMousePos->hide();
 }
 
-void TimeLabels::setCellHeight(int height)
+void TimeLabels::setCellHeight(double height)
 {
   mCellHeight = height;
 }
@@ -251,6 +251,7 @@
   connect(mAgenda, SIGNAL(mousePosSignal(const QPoint &)), this, SLOT(mousePosChanged(const QPoint &)));
   connect(mAgenda, SIGNAL(enterAgenda()), this, SLOT(showMousePos()));
   connect(mAgenda, SIGNAL(leaveAgenda()), this, SLOT(hideMousePos()));
+  connect(mAgenda, SIGNAL(gridSpacingYChanged( double ) ), this, SLOT( setCellHeight( double ) ) );
 }
 
 
--- branches/KDE/3.5/kdepim/korganizer/koagendaview.h #541587:541588
@@ -45,8 +45,6 @@
     TimeLabels( int rows, QWidget *parent = 0, const char *name = 0,
                 WFlags f = 0 );
 
-    void setCellHeight( int height );
-
     /** Calculates the minimum width */
     virtual int minimumWidth() const;
 
@@ -73,6 +71,8 @@
     void showMousePos();
     void hideMousePos();
 
+    void setCellHeight( double height );
+
   private:
     int mRows;
     double mCellHeight;