[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