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

List:       kde-commits
Subject:    KDE/kdeedu/kstars/kstars
From:       Alexey Khudyakov <alexey.skladnoy () gmail ! com>
Date:       2011-03-11 16:56:04
Message-ID: 20110311165604.98C17AC8D5 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1224505 by khudyakov:

Make HOVER_INTERVAL static member in the SkyMap class instead of
a define

Fix documentation

 M  +3 -13     skymap.cpp  
 M  +6 -12     skymap.h  
 M  +2 -1      skymapevents.cpp  


--- trunk/KDE/kdeedu/kstars/kstars/skymap.cpp #1224504:1224505
@@ -170,10 +170,9 @@
     setupProjector();
 
     //Initialize Transient label stuff
-    HoverTimer.setInterval( 500 );
-    HoverTimer.setSingleShot( true ); // using this timer as a single shot timer
+    m_HoverTimer.setSingleShot( true ); // using this timer as a single shot timer
 
-    connect( &HoverTimer,     SIGNAL( timeout() ), this, SLOT( slotTransientLabel() ) );
+    connect( &m_HoverTimer,   SIGNAL( timeout() ), this, SLOT( slotTransientLabel() ) );
     connect( this, SIGNAL( destinationChanged() ), this, SLOT( slewFocus() ) );
 
     // Time infobox
@@ -341,15 +340,6 @@
     //This function is only called if the HoverTimer manages to timeout.
     //(HoverTimer is restarted with every mouseMoveEvent; so if it times
     //out, that means there was no mouse movement for HOVER_INTERVAL msec.)
-    //Identify the object nearest to the mouse cursor as the
-    //TransientObject.  The TransientObject is automatically labeled
-    //in SkyMap::paintEvent().
-    //Note that when the TransientObject pointer is not NULL, the next
-    //mouseMoveEvent calls fadeTransientLabel(), which will fade out the
-    //TransientLabel and then set TransientObject to NULL.
-    //
-    //Do not show a transient label if the map is in motion, or if the mouse
-    //pointer is below the opaque horizon, or if the object has a permanent label
     if ( ! slewing && ! ( Options::useAltAz() && Options::showGround() &&
                           SkyPoint::refract(m_MousePoint.alt()).Degrees() < 0.0 ) ) {
         double maxrad = 1000.0/Options::zoomFactor();
@@ -898,7 +888,7 @@
         //Start the HoverTimer. if the user leaves the mouse in place after a slew,
         //we want to attach a label to the nearest object.
         if ( Options::useHoverLabel() )
-            HoverTimer.start( HOVER_INTERVAL );
+            m_HoverTimer.start( HOVER_INTERVAL );
 
         forceUpdate();
     }
--- trunk/KDE/kdeedu/kstars/kstars/skymap.h #1224504:1224505
@@ -34,8 +34,6 @@
 
 #include <config-kstars.h>
 
-#define HOVER_INTERVAL 500
-
 class QPainter;
 class QPaintDevice;
 class QPixmap;
@@ -511,14 +509,8 @@
     virtual void resizeEvent( QResizeEvent * );
 
 private slots:
-    /**@short attach transient label to object nearest the mouse cursor.
-     * This slot is connected to the timeout() signal of the HoverTimer, which is restarted
-     * in every mouseMoveEvent().  So this slot is executed only if the mouse does not move for 
-     * HOVER_INTERVAL msec.  It points TransientObject at the SkyObject nearest the 
-     * mouse cursor, and the TransientObject is subsequently labeled in paintEvent().
-     * Note that when TransientObject is not NULL, the next mouseMoveEvent() calls 
-     * fadeTransientLabel(), which fades the label color and then sets TransientLabel to NULL.
-     * @sa mouseMoveEvent(), paintEvent(), slotTransientTimeout(), fadeTransientLabel()
+    /** @short display tooltip for object under cursor. It's called by m_HoverTimer.
+     *  if mouse didn't moved for last HOVER_INTERVAL milliseconds.
      */
     void slotTransientLabel();
 
@@ -613,8 +605,10 @@
     SkyLine AngularRuler; //The line for measuring angles in the map
     QRect ZoomRect; //The manual-focus circle.
 
-    // data for transient object labels
-    QTimer HoverTimer;
+    // Mouse should not move for that interval to display tooltip
+    static const int HOVER_INTERVAL = 500;
+    // Timer for tooltips
+    QTimer m_HoverTimer;
 
     // InfoBoxes. Used in desctructor to save state
     InfoBoxWidget* m_timeBox;
--- trunk/KDE/kdeedu/kstars/kstars/skymapevents.cpp #1224504:1224505
@@ -51,6 +51,7 @@
 #include "skycomponents/starcomponent.h"
 
 
+
 void SkyMap::resizeEvent( QResizeEvent * )
 {
     computeSkymap = true; // skymap must be new computed
@@ -414,7 +415,7 @@
         //Start a single-shot timer to monitor whether we are currently hovering.
         //The idea is that whenever a moveEvent occurs, the timer is reset.  It
         //will only timeout if there are no move events for HOVER_INTERVAL ms
-        HoverTimer.start( HOVER_INTERVAL );
+        m_HoverTimer.start( HOVER_INTERVAL );
         QToolTip::hideText();
     }
 
[prev in list] [next in list] [prev in thread] [next in thread] 

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