Vipul Kumar Singh | 1 Apr 17:23
Picon

Comets with tail : ) .. but hey why is the tail not pointing away from sun? : (

Hi everyone ..


I have been trying to learn basics of qt graphics programing so that i can be in good position to work on my Google summer of code proposal.

I have successfully modified the draw() in cometscomponent.cpp to display a good picture in place of a comet.. experimented with various colors but with red and gray color scale, it looks good.. ideally colors should be different depending on the comet but, for now i am using only one image to represent comets.

Have attached two snapshots , one shows a few comets and other shows close look at a comet.

But i am facing some problems regarding..

i) int width= f (tailsize);

 I am unable to convert that tailsize to a value that can be used as a width to display comet with tail at current zoom level.


ii)  an angle through which image should be rotated so that the tail appears to point away from sun..

Thank you,
Vipul Kumar Singh
_______________________________________________
Kstars-devel mailing list
Kstars-devel <at> kde.org
https://mail.kde.org/mailman/listinfo/kstars-devel
Vipul Kumar Singh | 1 Apr 22:35
Picon

comet with tail .. eye-candy patch

Hi every one this is a small patch that will replace existing comets with a picture of comet with tail.


what it does:
    - it replaces all comets with a picture that shows a comet with tail
    - the picture starts showing up very small and is scaled wit increasing zoom level.

And is does NOT
     - use any technical calculation about the size of comet image displayed.
   - the comet tail doesnt point away from sun // still cant figure out how to do that
   

a patch file is included and an image file is included. image should be put in data folder.
patch :

Property changes on: kstars/kstars/skyobjects/saturnmoons.cpp                           
___________________________________________________________________    
Added: svn:executable                                                                                        
   + *                                                                                                                      


Property changes on: kstars/kstars/skyobjects/saturnmoons.h
___________________________________________________________________
Added: svn:executable
   + *

Index: kstars/kstars/data/CMakeLists.txt
===================================================================
--- kstars/kstars/data/CMakeLists.txt (revision 946942)
+++ kstars/kstars/data/CMakeLists.txt (working copy)
<at> <at> -58,6 +58,7 <at> <at>
  asteroids.dat comets.dat 
  sun.png mercury.png venus.png mars.png jupiter.png saturn.png 
  uranus.png neptune.png pluto.png 
+ cometWithTail.png
  moon00.png moon01.png moon02.png moon03.png moon04.png moon05.png 
  moon06.png moon07.png moon08.png moon09.png moon10.png moon11.png 
  moon12.png moon13.png moon14.png moon15.png moon16.png moon17.png 
Index: kstars/kstars/skycomponents/cometscomponent.cpp
===================================================================
--- kstars/kstars/skycomponents/cometscomponent.cpp (revision 946942)
+++ kstars/kstars/skycomponents/cometscomponent.cpp (working copy)
<at> <at> -21,6 +21,7 <at> <at>
 #include <QFile>
 #include <QPen>
 #include <QPainter>
+#include <QPicture>
 #include <kglobal.h>
 
 #include "Options.h"
<at> <at> -110,17 +111,33 <at> <at>
         //if ( ( o.x() >= 0. && o.x() <= Width && o.y() >= 0. && o.y() <= Height ) )
 
         float size = com->angSize() * map->scale() * dms::PI * Options::zoomFactor()/10800.0;
- if ( size < 1.0 ) {
-            psky.drawPoint( o );
-        } else {
-            float x1 = o.x() - 0.5*size;
-            float y1 = o.y() - 0.5*size;
 
-            psky.drawEllipse( QRectF( x1, y1, size, size ) );
+      //  if ( size < 0.01 ) {
+      //      psky.drawPoint( o );
+      //  } else {
+
+        /// load image to be displayed in place of comet
+        QImage Image,Image0;
+        QString image_file;
+        image_file=QString("cometWithTail.png");
+        QFile imFile;
+
+        if ( KSUtils::openDataFile( imFile, image_file ) ) {
+            imFile.close();
+            Image0.load( imFile.fileName() );
+            Image = Image0.convertToFormat( QImage::Format_ARGB32 );
+            Image0 = Image;
         }
 
         float tailsize = com->getTailAngSize().Degrees() * map->scale() * dms::PI * Options::zoomFactor()/10800.0;
 
+        // resize the image according to current zoom level
+            int width=Image.width(); // width of orignal image
+            Image0=Image.scaledToWidth(width*dms::PI * Options::zoomFactor()/1000000.0 );
+            float x1 = o.x() - 0.5*Image0.width();
+            float y1 = o.y() - 0.5*Image0.height();
+            psky.drawImage( QPointF(x1, y1), Image0);
+      //  }
         if ( hideLabels || com->rsun() >= rsunLabelLimit ) continue;
         SkyLabeler::AddLabel( o, com, SkyLabeler::COMET_LABEL );
     }

Property changes on: kstars/kstars/skycomponents/saturnmoonscomponent.h
___________________________________________________________________
Added: svn:executable
   + *


Property changes on: kstars/kstars/skycomponents/saturnmoonscomponent.cpp
___________________________________________________________________
Added: svn:executable
   + *

Attachment (patch): application/octet-stream, 3267 bytes
_______________________________________________
Kstars-devel mailing list
Kstars-devel <at> kde.org
https://mail.kde.org/mailman/listinfo/kstars-devel
Akarsh Simha | 2 Apr 19:41
Picon
Gravatar

KDE/kdeedu/kstars/kstars/tools

SVN commit 948283 by asimha:

Using Monospace, 14pt Regular instead of Courier New, 16pt Bold to
label the months in the Sky Calendar tool.

CCMAIL: kstars-devel <at> kde.org

 M  +1 -1      calendarwidget.cpp  

--- trunk/KDE/kdeedu/kstars/kstars/tools/calendarwidget.cpp #948282:948283
@@ -163,7 +163,7 @@

     //Draw month labels along each horizon curve
     QFont origFont = p->font();
-    p->setFont( QFont( "Courier New", 16, QFont::Bold ) );
+    p->setFont( QFont( "Monospace", 14 ) );
     int textFlags = Qt::TextSingleLine | Qt::AlignCenter;
     QFontMetricsF fm( p->font(), p->device() );
     for ( int imonth=1; imonth <= 12; ++ imonth ) {
Akarsh Simha | 2 Apr 19:44
Picon
Gravatar

KDE/kdeedu/kstars/kstars/tools

SVN commit 948284 by asimha:

Adding labels to most lines in the Sky Calendar tool. 

Some lines (like those terminating before they cross the Y-Axis,
without extrema) are still unlabelled, and this doesn't look good -
but until we find some way to label them appropriately, here goes.

CCMAIL: kstars-devel <at> kde.org

 M  +55 -4     skycalendar.cpp  
 M  +1 -0      skycalendar.h  

--- trunk/KDE/kdeedu/kstars/kstars/tools/skycalendar.cpp #948283:948284
@@ -86,6 +86,30 @@
     update();
 }

+// FIXME: For the time being, adjust with dirty, cluttering labels that don't align to the line
+/*
+void SkyCalendar::drawEventLabel( float x1, float y1, float x2, float y2, QString LabelText ) {
+    QFont origFont = p->font();
+    p->setFont( QFont( "Bitstream Vera", 10 ) );
+
+    int textFlags = Qt::AlignCenter; // TODO: See if Qt::SingleLine flag works better
+    QFontMetricsF fm( p->font(), p->device() );
+
+    QRectF LabelRect = fm.boundingRect( QRectF(0,0,1,1), textFlags, LabelText );
+    QPointF LabelPoint = scUI->CalendarView->mapToWidget( QPointF( x, y ) );
+        
+    float LabelAngle = atan2( y2 - y1, x2 - x1 )/dms::DegToRad;
+        
+    p->save();
+    p->translate( LabelPoint );
+    p->rotate( LabelAngle );
+    p->drawText( LabelRect, textFlags, LabelText );
+    p->restore();
+
+    p->setFont( origFont );
+}
+*/
+
 void SkyCalendar::addPlanetEvents( int nPlanet ) {
     KSPlanetBase *ksp = ks->data()->skyComposite()->planet( nPlanet );
     int y = scUI->Year->value();
@@ -124,15 +148,22 @@
         vSet << QPointF( st, dy );
         vTransit << QPointF( tt, dy );
         ++iweek;
-        
+
         kdt = kdt.addDays( 7 );
     }

     //Now, find continuous segments in each QVector and add each segment 
     //as a separate KPlotObject
+
+    // Flags to indicate whether the set / rise / transit labels should be drawn
+    bool setLabel, riseLabel, transitLabel;
+
     KPlotObject *oRise = new KPlotObject( pColor, KPlotObject::Lines, 2.0 );
     KPlotObject *oSet = new KPlotObject( pColor, KPlotObject::Lines, 2.0 );
     KPlotObject *oTransit = new KPlotObject( pColor, KPlotObject::Lines, 2.0 );
+
+    setLabel = riseLabel = transitLabel = false;
+
     for ( int i=0; i<vRise.size(); ++i ) {
         if ( i > 0 && fabs(vRise.at(i).x() - vRise.at(i-1).x()) > 6.0 ) { 
             scUI->CalendarView->addPlotObject( oRise );
@@ -150,9 +181,29 @@
             scUI->CalendarView->update();
         }

-        oRise->addPoint( vRise.at(i) );
-        oSet->addPoint( vSet.at(i) );
-        oTransit->addPoint( vTransit.at(i) );
+        if( i > 0 ) {
+            // Draw a label when a line crosses the Y-Axis
+            if( vRise.at( i - 1 ).x() * vRise.at( i ).x() <= 0 )
+                riseLabel = true;
+            if( vSet.at( i - 1 ).x() * vSet.at( i ).x() <= 0 )
+                setLabel = true;
+            if( vTransit.at( i - 1 ).x() * vTransit.at( i ).x() <= 0 )
+                transitLabel = true;
+            
+            // Draw a label when a line reaches a maximum / minimum
+            if( i < vRise.size() - 1 ) {
+                if( ( vRise.at( i - 1 ).x() - vRise.at( i ).x() ) * ( vRise.at( i ).x() - vRise.at( i + 1 ).x() ) < 0 )
+                    riseLabel = true;
+                if( ( vSet.at( i - 1 ).x() - vSet.at( i ).x() ) * ( vSet.at( i ).x() - vSet.at( i + 1 ).x() ) < 0 )
+                    setLabel = true;
+                if( ( vTransit.at( i - 1 ).x() - vTransit.at( i ).x() ) * ( vTransit.at( i ).x() - vTransit.at( i + 1 ).x() ) < 0 )
+                    transitLabel = true;
+            }                
+        }
+        oRise->addPoint( vRise.at(i), riseLabel ? i18nc( "A planet rises from the horizon", "%1 rises",
ksp->name() ) : QString() );
+        oSet->addPoint( vSet.at(i), setLabel ? i18nc( "A planet sets from the horizon", "%1 sets", ksp->name()
) : QString() );
+        oTransit->addPoint( vTransit.at(i), transitLabel ? i18nc( "A planet transits across the meridian",
"%1 transits", ksp->name() ) : QString() );
+        setLabel = riseLabel = transitLabel = false;
     }

     scUI->CalendarView->addPlotObject( oRise );
--- trunk/KDE/kdeedu/kstars/kstars/tools/skycalendar.h #948283:948284
@@ -52,6 +52,7 @@

     private:
         void addPlanetEvents( int nPlanet );
+        void drawEventLabel( float x1, float y1, float x2, float y2, QString LabelText );

         SkyCalendarUI *scUI;
         KStars *ks;
Akarsh Simha | 3 Apr 08:27
Picon
Gravatar

More "Junior" Jobs

I updated the "Junior" Jobs page:

http://techbase.kde.org/Projects/Edu/KStars/JuniorJobs

I added a bit on Lunar Eclipses and something about General Relativity
effects. With the feature freeze coming really soon, it'd be nice to
see a lot of fast activity and these features getting commited before
KDE 4.3!

Get hacking!

Regards
Akarsh
Akarsh Simha | 7 Apr 09:57
Picon
Gravatar

KDE/kdeedu/kstars/kstars/indi

SVN commit 950447 by asimha:

Moon has type SkyObject::MOON == 12 and is no longer a
SkyObject::PLANET. Add that case separately for enabling pulse
tracking.

CCMAIL: kstars-devel <at> kde.org
CCMAIL: mutlaqja <at> ikarustech.com

 M  +1 -0      indistd.cpp  

--- trunk/KDE/kdeedu/kstars/kstars/indi/indistd.cpp #950446:950447
@@ -764,6 +764,7 @@
     {
         // Planet/Moon
     case 2:
+    case 12:
         kDebug() << "Initiating pulse tracking for " << currentObject->name();
         devTimer->start(INDI_PULSE_TRACKING);
         break;

Akarsh Simha | 7 Apr 10:05
Picon
Gravatar

KDE/kdeedu/kstars/kstars

SVN commit 950448 by asimha:

Adding support for a few more types of SkyObjects: Asterisms, Dark
Nebulae, Multiple (catalog) Stars, Galaxy Clusters and Quasars.

CCMAIL: kstars-devel <at> kde.org

 M  +1 -1      dialogs/detaildialog.cpp  
 M  +7 -1      kstarsdata.cpp  
 M  +1 -1      kstarsdata.h  
 M  +3 -2      skymapdraw.cpp  
 M  +51 -2     skyobjects/deepskyobject.cpp  
 M  +2 -1      skyobjects/skyobject.h  

--- trunk/KDE/kdeedu/kstars/kstars/dialogs/detaildialog.cpp #950447:950448
@@ -967,7 +967,7 @@
 void DetailDialog::showThumbnail() {
     //No image if object is a star
     if ( selectedObject->type() == SkyObject::STAR ||
-            selectedObject->type() == SkyObject::CATALOG_STAR ) {
+         selectedObject->type() == SkyObject::CATALOG_STAR ) {
         Thumbnail->scaled( Data->Image->width(), Data->Image->height() );
         Thumbnail->fill( Data->DataFrame->palette().color( QPalette::Window ) );
         Data->Image->setPixmap( *Thumbnail );
--- trunk/KDE/kdeedu/kstars/kstars/kstarsdata.cpp #950447:950448
@@ -82,7 +82,7 @@
     objects++;

     TypeName[0] = i18n( "star" );
-    TypeName[1] = i18n( "multiple star" );
+    TypeName[1] = i18n( "star" );
     TypeName[2] = i18n( "planet" );
     TypeName[3] = i18n( "open cluster" );
     TypeName[4] = i18n( "globular cluster" );
@@ -93,6 +93,12 @@
     TypeName[9] = i18n( "comet" );
     TypeName[10] = i18n( "asteroid" );
     TypeName[11] = i18n( "constellation" );
+    TypeName[12] = i18n( "Moon" );
+    TypeName[13] = i18n( "asterism" );
+    TypeName[14] = i18n( "galaxy cluster" );
+    TypeName[15] = i18n( "dark nebula" );
+    TypeName[16] = i18n( "quasar" );
+    TypeName[17] = i18n( "multiple star" );

     //standard directories and locale objects
     locale = new KLocale( "kstars" );
--- trunk/KDE/kdeedu/kstars/kstars/kstarsdata.h #950447:950448
@@ -486,7 +486,7 @@

     int initCounter;

-    QString TypeName[12];
+    QString TypeName[18];

     //--- Static member variables
     //the number of KStarsData objects.
--- trunk/KDE/kdeedu/kstars/kstars/skymapdraw.cpp #950447:950448
@@ -315,7 +315,7 @@
     foreach ( SkyObject *obj, labelObjects ) {
         //Only draw an attached label if the object is being drawn to the map
         //reproducing logic from other draw funcs here...not an optimal solution
-        if ( obj->type() == SkyObject::STAR ) {
+        if ( obj->type() == SkyObject::STAR || obj->type() == SkyObject::CATALOG_STAR || obj->type() ==
SkyObject::MULT_STAR ) {
             if ( ! drawStars ) continue;
             //            if ( obj->mag() > Options::magLimitDrawStar() ) continue;
             if ( hideFaintStars && obj->mag() > Options::magLimitHideStar() ) continue;
@@ -333,7 +333,8 @@
             if ( obj->name() == i18n( "Neptune" ) && ! Options::showNeptune() ) continue;
             if ( obj->name() == i18n( "Pluto" ) && ! Options::showPluto() ) continue;
         }
-        if ( obj->type() >= SkyObject::OPEN_CLUSTER && obj->type() <= SkyObject::GALAXY ) {
+        if ( obj->type() >= SkyObject::OPEN_CLUSTER && obj->type() <= SkyObject::GALAXY 
+             || obj->type() >= SkyObject::ASTERISM || obj->type() <= SkyObject::QUASAR ) {
             if ( ((DeepSkyObject*)obj)->isCatalogM() && ! drawMessier ) continue;
             if ( ((DeepSkyObject*)obj)->isCatalogNGC() && ! drawNGC ) continue;
             if ( ((DeepSkyObject*)obj)->isCatalogIC() && ! drawIC ) continue;
--- trunk/KDE/kdeedu/kstars/kstars/skyobjects/deepskyobject.cpp #950447:950448
@@ -155,12 +155,12 @@
     case 2: //Planet
         break;
     case 3: //Open cluster; draw circle of points
+    case 13: // Asterism
         tempBrush = psky.brush();
         psky.setBrush( psky.pen().color() );
         psize = 2.;
         if ( size > 50. )  psize *= 2.;
         if ( size > 100. ) psize *= 2.;
-
         if ( Options::useAntialias() ) {
             psky.drawEllipse( QRectF(xa, y1, psize, psize) );
             psky.drawEllipse( QRectF(xb, y1, psize, psize) );
@@ -185,7 +185,7 @@
             psky.drawEllipse( QRect(ix2, iyb, int(psize), int(psize)) );
         }
         psky.setBrush( tempBrush );
-        break;
+        break;        
     case 4: //Globular Cluster
         if (size<2.) size = 2.;
         psky.save();
@@ -208,6 +208,7 @@
         break;

     case 5: //Gaseous Nebula
+    case 15: // Dark Nebula
         if (size <2.) size = 2.;
         psky.save();
         psky.translate( x, y );
@@ -275,6 +276,7 @@
         psky.restore(); //reset coordinate system
         break;
     case 8: //Galaxy
+    case 16: // Quasar
         if ( size <1. && zoom > 20*MINZOOM ) size = 3.; //force ellipse above zoomFactor 20
         if ( size <1. && zoom > 5*MINZOOM ) size = 1.; //force points above zoomFactor 5
         if ( size>2. ) {
@@ -295,6 +297,53 @@
             psky.drawPoint( QPointF(x, y) );
         }
         break;
+    case 14: // Galaxy cluster - draw a circle of + marks
+        tempBrush = psky.brush();
+        psky.setBrush( psky.pen().color() );
+        psize = 1.;
+        if ( size > 50. )  psize *= 2.;
+
+        if ( Options::useAntialias() ) {
+            psky.drawLine( QLineF( xa-psize, y1, xa+psize, y1 ) );
+            psky.drawLine( QLineF( xa, y1-psize, xa, y1+psize ) );
+            psky.drawLine( QLineF( xb-psize, y1, xa+psize, y1 ) );
+            psky.drawLine( QLineF( xb, y1-psize, xa, y1+psize ) );
+            psky.drawLine( QLineF( xa-psize, y2, xa+psize, y1 ) );
+            psky.drawLine( QLineF( xa, y2-psize, xa, y1+psize ) );
+            psky.drawLine( QLineF( xb-psize, y2, xa+psize, y1 ) );
+            psky.drawLine( QLineF( xb, y2-psize, xa, y1+psize ) );
+            psky.drawLine( QLineF( x1-psize, ya, xa+psize, y1 ) );
+            psky.drawLine( QLineF( x1, ya-psize, xa, y1+psize ) );
+            psky.drawLine( QLineF( x1-psize, yb, xa+psize, y1 ) );
+            psky.drawLine( QLineF( x1, yb-psize, xa, y1+psize ) );
+            psky.drawLine( QLineF( x2-psize, ya, xa+psize, y1 ) );
+            psky.drawLine( QLineF( x2, ya-psize, xa, y1+psize ) );
+            psky.drawLine( QLineF( x2-psize, yb, xa+psize, y1 ) );
+            psky.drawLine( QLineF( x2, yb-psize, xa, y1+psize ) );
+        } else {
+            int ix1 = int(x1); int iy1 = int(y1);
+            int ix2 = int(x2); int iy2 = int(y2);
+            int ixa = int(xa); int iya = int(ya);
+            int ixb = int(xb); int iyb = int(yb);
+            psky.drawLine( QLine( ixa - int(psize), iy1, ixa + int(psize), iy1 ) );
+            psky.drawLine( QLine( ixa, iy1 - int(psize), ixa, iy1 + int(psize) ) );
+            psky.drawLine( QLine( ixb - int(psize), iy1, ixa + int(psize), iy1 ) );
+            psky.drawLine( QLine( ixb, iy1 - int(psize), ixa, iy1 + int(psize) ) );
+            psky.drawLine( QLine( ixa - int(psize), iy2, ixa + int(psize), iy1 ) );
+            psky.drawLine( QLine( ixa, iy2 - int(psize), ixa, iy1 + int(psize) ) );
+            psky.drawLine( QLine( ixb - int(psize), iy2, ixa + int(psize), iy1 ) );
+            psky.drawLine( QLine( ixb, iy2 - int(psize), ixa, iy1 + int(psize) ) );
+            psky.drawLine( QLine( ix1 - int(psize), iya, ixa + int(psize), iy1 ) );
+            psky.drawLine( QLine( ix1, iya - int(psize), ixa, iy1 + int(psize) ) );
+            psky.drawLine( QLine( ix1 - int(psize), iyb, ixa + int(psize), iy1 ) );
+            psky.drawLine( QLine( ix1, iyb - int(psize), ixa, iy1 + int(psize) ) );
+            psky.drawLine( QLine( ix2 - int(psize), iya, ixa + int(psize), iy1 ) );
+            psky.drawLine( QLine( ix2, iya - int(psize), ixa, iy1 + int(psize) ) );
+            psky.drawLine( QLine( ix2 - int(psize), iyb, ixa + int(psize), iy1 ) );
+            psky.drawLine( QLine( ix2, iyb - int(psize), ixa, iy1 + int(psize) ) );
+        }
+        psky.setBrush( tempBrush );
+        break;
     }
 }

--- trunk/KDE/kdeedu/kstars/kstars/skyobjects/skyobject.h #950447:950448
@@ -87,7 +87,8 @@
      */
     enum TYPE { STAR=0, CATALOG_STAR=1, PLANET=2, OPEN_CLUSTER=3, GLOBULAR_CLUSTER=4,
                 GASEOUS_NEBULA=5, PLANETARY_NEBULA=6, SUPERNOVA_REMNANT=7, GALAXY=8,
-                COMET=9, ASTEROID=10, CONSTELLATION=11, MOON=12, TYPE_UNKNOWN };
+                COMET=9, ASTEROID=10, CONSTELLATION=11, MOON=12, ASTERISM=13, 
+                GALAXY_CLUSTER=14, DARK_NEBULA=15, QUASAR=16, MULT_STAR=17, TYPE_UNKNOWN };

     /**
      *@return object's primary name.
Jérôme Sonrier | 7 Apr 22:45
Favicon

KDE/kdeedu/kstars/kstars

SVN commit 950821 by jsonrier:

Set tracking label to "Nothing" when pointing is set to East/West/etc

CCBUG: 188008
CCMAIL: kstars-devel <at> kde.org

 M  +4 -1      kstarsactions.cpp  

--- trunk/KDE/kdeedu/kstars/kstars/kstarsactions.cpp #950820:950821
@@ -706,7 +706,10 @@
 //Pointing
 void KStars::slotPointFocus() {
     // In the following cases, we set slewing=true in order to disengage tracking
-	map()->stopTracking();
+    // We also change focus object to "nothing" in infobox
+    map()->stopTracking();
+    map()->infoBoxes()->focusObjChanged( i18n( "nothing" ) );
+
     if ( sender() == actionCollection()->action("zenith") ) 
         map()->setDestinationAltAz( 90.0, map()->focus()->az()->Degrees() );
     else if ( sender() == actionCollection()->action("north") )

Jérôme Sonrier | 8 Apr 00:43
Favicon

KDE/kdeedu/kstars/kstars

SVN commit 950862 by jsonrier:

Don't show xplanet submenu for comets.

CCMAIL: kstars-devel <at> kde.org

 M  +1 -1      kspopupmenu.cpp  

--- trunk/KDE/kdeedu/kstars/kstars/kspopupmenu.cpp #950861:950862
@@ -291,7 +291,7 @@
     addSeparator();

 #ifdef HAVE_XPLANET
-    if ( obj->isSolarSystem() ) {
+    if ( obj->isSolarSystem() && obj->type() != SkyObject::COMET ) {
         QMenu *xplanetSubmenu = new QMenu();
         xplanetSubmenu->setTitle( "Print Xplanet view" );
         xplanetSubmenu->addAction( i18n( "To screen" ), ks->map(), SLOT( slotXplanetToScreen() ) );
Akarsh Simha | 8 Apr 12:42
Picon
Gravatar

KDE/kdeedu/kstars/kstars/data/tools

SVN commit 950982 by asimha:

Adding script used to parse Saguaro Astronomy Club catalog data and
put it into a database to the data/tools directory.

CCMAIL: kstars-devel <at> kde.org

 AM            parse-sac-to-mysql.pl  

** trunk/KDE/kdeedu/kstars/kstars/data/tools/parse-sac-to-mysql.pl #property svn:executable
   + *

Gmane