| 
					
				 | 
			
			
				@@ -117,7 +117,6 @@ public: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   QSettings*                  Settings; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   QMap<QString, PropertyType> Properties; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  QSignalMapper*              SignalMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   bool                        SaveToSettingsWhenRegister; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -128,18 +127,12 @@ ctkSettingsPanelPrivate::ctkSettingsPanelPrivate(ctkSettingsPanel& object) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   qRegisterMetaType<ctkSettingsPanel::SettingOption>("ctkSettingsPanel::SettingOption"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   qRegisterMetaType<ctkSettingsPanel::SettingOptions>("ctkSettingsPanel::SettingOptions"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   this->Settings = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  this->SignalMapper = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   this->SaveToSettingsWhenRegister = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // -------------------------------------------------------------------------- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void ctkSettingsPanelPrivate::init() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  Q_Q(ctkSettingsPanel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  this->SignalMapper = new QSignalMapper(q); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  QObject::connect(this->SignalMapper, SIGNAL(mapped(QString)), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                   q, SLOT(updateSetting(QString))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // -------------------------------------------------------------------------- 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -259,9 +252,14 @@ void ctkSettingsPanel::registerProperty(const QString& key, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   d->Properties[key] = prop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  d->SignalMapper->setMapping(object, key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  this->connect(object, signal, d->SignalMapper, SLOT(map())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // Create a signal mapper per property to be able to support 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // multiple signals from the same sender. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  QSignalMapper* signalMapper = new QSignalMapper(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  QObject::connect(signalMapper, SIGNAL(mapped(QString)), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                   this, SLOT(updateSetting(QString))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  signalMapper->setMapping(object, key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  this->connect(object, signal, signalMapper, SLOT(map())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (d->SaveToSettingsWhenRegister) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     this->updateSetting(key); 
			 |