Incorporated changes from bus project.
[ptas] / src / locations.cpp
index 358a2cc..c2fed4a 100644 (file)
@@ -12,10 +12,11 @@ bool Locations::initialised = false;
 
 Locations::Locations()
 {
-    if ( !initialised ) {
-        QCoreApplication::setOrganizationName("ZouBa");
-        QCoreApplication::setOrganizationDomain("zouba.yi.org");
+    if (!initialised) {
+        qDebug() << "Initialising locations";
+        QCoreApplication::setOrganizationDomain("zouba.maemo.org");
         QCoreApplication::setOrganizationName("ZouBa");
+        QCoreApplication::setApplicationName("ZouBa");
 
         restoreLocations();
         initialised = true;
@@ -26,82 +27,85 @@ Locations::~Locations()
 {
 }
 
-bool Locations::addLocation( Location *location )
+bool Locations::addLocation(Location *location)
 {
-  bool succeeded=false;
-
-  // if it's valid now, save the setting
-  if ( location->isValid() ) {
-    saveLocation( location );
-  }
-
-  if ( !locationHash.contains( location->label() ) ) {
-    qDebug() << "Adding location" << location->label();
-    locationHash[ location->label() ] = location;
-    succeeded = true;
-  } else {
-    qDebug() << "FAILED to add location" << location->label();
-  }
-
-  return succeeded;
+    bool succeeded=false;
+
+    // if it's valid now, save the setting
+    if (location->isValid()) {
+        saveLocation(location);
+    } else {
+        qDebug() << "Location not valid, so not saving";
+    }
+
+    if (!locationHash.contains(location->label())) {
+        qDebug() << "Adding location" << location->label();
+        locationHash[ location->label() ] = location;
+        succeeded = true;
+    } else {
+        qDebug() << "FAILED to add location" << location->label();
+    }
+
+    return succeeded;
 }
 
 void Locations::restoreLocations()
 {
-  QSettings settings;
+    QSettings settings;
 
-  settings.beginGroup( "Locations" );
-  QStringList labels = settings.childGroups();
+    settings.beginGroup("Locations");
+    QStringList labels = settings.childGroups();
 
-  for( int i=0; i<labels.size(); ++i ) {
-    QString label = labels[i];
-    settings.beginGroup( label );
-    QString x       = settings.value( "x" ).toString();
-    QString y       = settings.value( "y" ).toString();
-    QString address = settings.value( "address" ).toString();
-    settings.endGroup();
+    for(int i=0; i<labels.size(); ++i) {
+        QString label = labels[i];
+        settings.beginGroup(label);
+        QString longitude = settings.value("longitude").toString();
+        QString latitude  = settings.value("latitude").toString();
+        QString address   = settings.value("address").toString();
+        settings.endGroup();
 
-    qDebug() << "restoring" << label;
-    Location *location = new Location( x, y, label );
-    location->setAddress( address );
+        qDebug() << "restoring" << label;
+        Location *location = new Location(longitude, latitude , label);
+        location->setAddress(address);
 
-    locationHash[ label ] = location;
-  }
+        locationHash[ label ] = location;
+    }
 
-  settings.endGroup();
+    settings.endGroup();
 }
 
-void Locations::saveLocation( Location *location )
+void Locations::saveLocation(Location *location)
 {
-  qDebug() << "Saving location" << location->label();
-  QSettings settings;
-  settings.beginGroup( "Locations" );
-  settings.beginGroup( location->label() );
-  settings.setValue( "address", location->address() );
-  settings.setValue( "x", location->x() );
-  settings.setValue( "y", location->y() );
-  settings.endGroup();
-  settings.endGroup();
+    qDebug() << "Saving location" << location->label();
+    QSettings settings;
+    settings.beginGroup("Locations");
+    settings.beginGroup(location->label());
+    settings.setValue("address", location->address());
+    settings.setValue("longitude", location->longitude());
+    settings.setValue("latitude", location->latitude());
+    settings.endGroup();
+    settings.endGroup();
 }
 
 void Locations::saveLocation()
 {
-  Location *location = qobject_cast<Location*>(sender());
+    qDebug() << "Saving location (slot)";
+    Location *location = qobject_cast<Location*>(sender());
 
-  saveLocation( location );
+    saveLocation(location);
 }
 
-Location *Locations::location( const QString &label )
+Location *Locations::location(const QString &label)
 {
-  qDebug() << "requesting location" << label;
-  Location *retVal = 0;
-
-  if ( locationHash.contains( label ) ) {
-    qDebug() << "found location" << label;
-    retVal = locationHash[ label ];
-  } else {
-    qDebug() << "didn't find location" << label;
-  }
+    qDebug() << "requesting location" << label;
+    Location *retVal = 0;
+
+    if (locationHash.contains(label)) {
+        qDebug() << "found location" << label;
+        retVal = locationHash[ label ];
+    } else {
+        qDebug() << "didn't find location" << label;
+    }
 
-  return retVal;
+    return retVal;
 }