[Marble-commits] KDE/kdeedu/marble/src/plugins/render

Bastian Holst bastianholst at gmx.de
Mon Oct 19 21:46:41 CEST 2009


SVN commit 1037683 by bholst:

Marble Plugins "wikipedia" and "weather" don't initialize the config dialog in constructor anymore.


 M  +42 -30    weather/WeatherPlugin.cpp  
 M  +2 -0      weather/WeatherPlugin.h  
 M  +5 -0      wikipedia/WikipediaModel.cpp  
 M  +1 -0      wikipedia/WikipediaModel.h  
 M  +23 -14    wikipedia/WikipediaPlugin.cpp  
 M  +3 -1      wikipedia/WikipediaPlugin.h  


--- trunk/KDE/kdeedu/marble/src/plugins/render/weather/WeatherPlugin.cpp #1037682:1037683
@@ -45,7 +45,6 @@
     // Plugin is not visible by default
     setVisible( false );
 
-    configDialog();
     readSettings();    
 }
 
@@ -117,15 +116,16 @@
         // Initializing configuration dialog
         m_configDialog = new QDialog();
         ui_configWidget.setupUi( m_configDialog );
-            connect( ui_configWidget.m_buttonBox, SIGNAL( accepted() ),
-                                            SLOT( writeSettings() ) );
+        updateConfigDialog();
+        connect( ui_configWidget.m_buttonBox, SIGNAL( accepted() ),
+                                              SLOT( writeSettings() ) );
         connect( ui_configWidget.m_buttonBox, SIGNAL( rejected() ),
-                                            SLOT( readSettings() ) );
+                                              SLOT( readSettings() ) );
         QPushButton *applyButton = ui_configWidget.m_buttonBox->button( QDialogButtonBox::Apply );
         connect( applyButton, SIGNAL( clicked() ),
-                this,        SLOT( writeSettings() ) );
+                 this,        SLOT( writeSettings() ) );
         connect( this, SIGNAL( settingsChanged( QString ) ),
-                this, SLOT( updateItemSettings() ) );
+                 this, SLOT( updateItemSettings() ) );
     }
     return m_configDialog;
 }
@@ -143,27 +143,6 @@
 
 void WeatherPlugin::readSettings()
 {
-    // Information
-    if ( m_settings.value( "showCondition", showConditionDefault ).toBool() )
-        ui_configWidget.m_weatherConditionBox->setCheckState( Qt::Checked );
-    else
-        ui_configWidget.m_weatherConditionBox->setCheckState( Qt::Unchecked );
-
-    if ( m_settings.value( "showTemperature", showTemperatureDefault ).toBool() )
-        ui_configWidget.m_temperatureBox->setCheckState( Qt::Checked );
-    else
-        ui_configWidget.m_temperatureBox->setCheckState( Qt::Unchecked );
-
-    if ( m_settings.value( "showWindDirection", showWindDirectionDefault ).toBool() )
-        ui_configWidget.m_windDirectionBox->setCheckState( Qt::Checked );
-    else
-        ui_configWidget.m_windDirectionBox->setCheckState( Qt::Unchecked );
-
-    if ( m_settings.value( "showWindSpeed", showWindSpeedDefault ).toBool() )
-        ui_configWidget.m_windSpeedBox->setCheckState( Qt::Checked );
-    else
-        ui_configWidget.m_windSpeedBox->setCheckState( Qt::Unchecked );
-
     // Units
     // The default units depend on the global measure system.
     int temperatureUnit;
@@ -180,7 +159,6 @@
         }
         m_settings.insert( "temperatureUnit", temperatureUnit );
     }
-    ui_configWidget.m_temperatureComboBox->setCurrentIndex( temperatureUnit );
 
     int windSpeedUnit;
     if ( m_settings.contains( "windSpeedUnit" ) ) {
@@ -195,7 +173,6 @@
         }
         m_settings.insert( "windSpeedUnit", temperatureUnit );
     }
-    ui_configWidget.m_windSpeedComboBox->setCurrentIndex( windSpeedUnit );
 
     int pressureUnit;
     if ( m_settings.contains( "pressureUnit" ) ) {
@@ -210,7 +187,10 @@
         }
         m_settings.insert( "pressureUnit", pressureUnit );
     }
-    ui_configWidget.m_pressureComboBox->setCurrentIndex( pressureUnit );
+    
+    if ( m_configDialog ) {
+        updateConfigDialog();
+    }
 
     updateItemSettings();
 }
@@ -243,6 +223,38 @@
     }
 }
 
+void WeatherPlugin::updateConfigDialog() const
+{
+    // Information
+    if ( m_settings.value( "showCondition", showConditionDefault ).toBool() )
+        ui_configWidget.m_weatherConditionBox->setCheckState( Qt::Checked );
+    else
+        ui_configWidget.m_weatherConditionBox->setCheckState( Qt::Unchecked );
+
+    if ( m_settings.value( "showTemperature", showTemperatureDefault ).toBool() )
+        ui_configWidget.m_temperatureBox->setCheckState( Qt::Checked );
+    else
+        ui_configWidget.m_temperatureBox->setCheckState( Qt::Unchecked );
+
+    if ( m_settings.value( "showWindDirection", showWindDirectionDefault ).toBool() )
+        ui_configWidget.m_windDirectionBox->setCheckState( Qt::Checked );
+    else
+        ui_configWidget.m_windDirectionBox->setCheckState( Qt::Unchecked );
+
+    if ( m_settings.value( "showWindSpeed", showWindSpeedDefault ).toBool() )
+        ui_configWidget.m_windSpeedBox->setCheckState( Qt::Checked );
+    else
+        ui_configWidget.m_windSpeedBox->setCheckState( Qt::Unchecked );
+    
+    // Units
+    ui_configWidget.m_temperatureComboBox
+            ->setCurrentIndex( m_settings.value( "temperatureUnit" ).toInt() );
+    ui_configWidget.m_windSpeedComboBox
+            ->setCurrentIndex( m_settings.value( "windSpeedUnit" ).toInt() );
+    ui_configWidget.m_pressureComboBox
+            ->setCurrentIndex( m_settings.value( "pressureUnit" ).toInt() );    
+}
+
 Q_EXPORT_PLUGIN2(WeatherPlugin, Marble::WeatherPlugin)
 
 #include "WeatherPlugin.moc"
--- trunk/KDE/kdeedu/marble/src/plugins/render/weather/WeatherPlugin.h #1037682:1037683
@@ -64,6 +64,8 @@
     void changedSettings();
 
  private:
+    void updateConfigDialog() const;
+    
     bool m_isInitialized;
 
     mutable QIcon m_icon;
--- trunk/KDE/kdeedu/marble/src/plugins/render/wikipedia/WikipediaModel.cpp #1037682:1037683
@@ -52,6 +52,11 @@
     m_showThumbnail = show;
 }
 
+bool WikipediaModel::showThumbnail() const
+{
+    return m_showThumbnail;
+}
+
 void WikipediaModel::getAdditionalItems( const GeoDataLatLonAltBox& box,
                                          MarbleDataFacade *facade,
                                          qint32 number )
--- trunk/KDE/kdeedu/marble/src/plugins/render/wikipedia/WikipediaModel.h #1037682:1037683
@@ -32,6 +32,7 @@
     ~WikipediaModel();
 
     void setShowThumbnail( bool show );
+    bool showThumbnail() const;
  
  protected:
     /**
--- trunk/KDE/kdeedu/marble/src/plugins/render/wikipedia/WikipediaPlugin.cpp #1037682:1037683
@@ -39,7 +39,8 @@
     // Plugin is not visible by default
     setVisible( false );
     
-    configDialog();
+    connect( this, SIGNAL( changedNumberOfItems( quint32 ) ),
+             this, SLOT( checkNumberOfItems( quint32 ) ) );
     readSettings();
 }
 
@@ -113,6 +114,9 @@
         m_configDialog = new QDialog();
         ui_configWidget.setupUi( m_configDialog );
         ui_configWidget.m_itemNumberSpinBox->setRange( 0, maximumNumberOfItems );
+        ui_configWidget.m_itemNumberSpinBox->setValue( numberOfItems() );
+        WikipediaModel *wikipediaModel = qobject_cast<WikipediaModel*>( model() );
+        updateDialogShowThumbnails( wikipediaModel->showThumbnail() );
         connect( ui_configWidget.m_buttonBox, SIGNAL( accepted() ),
                                             SLOT( writeSettings() ) );
         connect( ui_configWidget.m_buttonBox, SIGNAL( rejected() ),
@@ -120,8 +124,6 @@
         QPushButton *applyButton = ui_configWidget.m_buttonBox->button( QDialogButtonBox::Apply );
         connect( applyButton, SIGNAL( clicked() ),
                 this,        SLOT( writeSettings() ) );
-        connect( this, SIGNAL( changedNumberOfItems( quint32 ) ),
-                this, SLOT( setDialogNumberOfItems( quint32 ) ) );
         connect( this, SIGNAL( settingsChanged( QString ) ),
                 this, SLOT( updateItemSettings() ) );
     }
@@ -141,12 +143,9 @@
 
 void WikipediaPlugin::setShowThumbnails( bool shown )
 {
-    if ( shown ) {
-        ui_configWidget.m_showThumbnailCheckBox->setCheckState( Qt::Checked );
+    if ( m_configDialog ) {
+        updateDialogShowThumbnails( shown );
     }
-    else {
-        ui_configWidget.m_showThumbnailCheckBox->setCheckState( Qt::Unchecked );
-    }
 
     WikipediaModel *wikipediaModel = qobject_cast<WikipediaModel*>( model() );
 
@@ -159,7 +158,6 @@
 void WikipediaPlugin::readSettings()
 {
     setNumberOfItems( m_settings.value( "numberOfItems", 15 ).toUInt() );
-    setDialogNumberOfItems( numberOfItems() );
     if ( !m_settings.contains( "showThumbnails" ) ) {
         m_settings.insert( "showThumbnails", true );
     }
@@ -183,15 +181,16 @@
     emit settingsChanged( nameId() );
 }
 
-void WikipediaPlugin::setDialogNumberOfItems( quint32 number )
+void WikipediaPlugin::checkNumberOfItems( quint32 number )
 {
-    if ( number <= maximumNumberOfItems ) {
-        ui_configWidget.m_itemNumberSpinBox->setValue( (int) number );
-    }
-    else {
+    if ( number > maximumNumberOfItems ) {
         // Force a the number of items being lower or equal maximumNumberOfItems
         setNumberOfItems( maximumNumberOfItems );
     }
+    
+    if ( m_configDialog ) {
+        ui_configWidget.m_itemNumberSpinBox->setValue( (int) number );
+    }
 }
 
 void WikipediaPlugin::updateItemSettings()
@@ -202,6 +201,16 @@
     }
 }
 
+void WikipediaPlugin::updateDialogShowThumbnails( bool shown ) const
+{
+    if ( shown ) {
+        ui_configWidget.m_showThumbnailCheckBox->setCheckState( Qt::Checked );
+    }
+    else {
+        ui_configWidget.m_showThumbnailCheckBox->setCheckState( Qt::Unchecked );
+    }
+}
+
 Q_EXPORT_PLUGIN2(WikipediaPlugin, Marble::WikipediaPlugin)
 
 #include "WikipediaPlugin.moc"
--- trunk/KDE/kdeedu/marble/src/plugins/render/wikipedia/WikipediaPlugin.h #1037682:1037683
@@ -66,11 +66,13 @@
     void readSettings();
     void writeSettings();
 
-    void setDialogNumberOfItems( quint32 number );
+    void checkNumberOfItems( quint32 number );
 
     void updateItemSettings();
 
  private:
+    void updateDialogShowThumbnails( bool shown ) const;
+     
     bool m_isInitialized;
 
     mutable QIcon m_icon;


More information about the Marble-commits mailing list