Hi John, 2013/3/16 <jscipione@xxxxxxxxx>: > +bool > +PreferencesWindow::_IsDefaultable() > +{ > + desk_settings* settings = static_cast<TBarApp*>(be_app)->Settings(); > + > + return fDefaultSettings.sortRunningApps != settings->sortRunningApps > + || fDefaultSettings.trackerAlwaysFirst != > settings->trackerAlwaysFirst > + || fDefaultSettings.superExpando != settings->superExpando > + || fDefaultSettings.expandNewTeams != settings->expandNewTeams > + || fDefaultSettings.hideLabels != settings->hideLabels > + || fDefaultSettings.iconSize != settings->iconSize > + || fDefaultSettings.recentAppsEnabled != > settings->recentAppsEnabled > + || fDefaultSettings.recentDocsEnabled != > settings->recentDocsEnabled > + || fDefaultSettings.recentFoldersEnabled > + != settings->recentFoldersEnabled > + || fDefaultSettings.recentAppsCount != > settings->recentAppsCount > + || fDefaultSettings.recentDocsCount != > settings->recentDocsCount > + || fDefaultSettings.recentFoldersCount != > settings->recentFoldersCount > + || fDefaultSettings.alwaysOnTop != settings->alwaysOnTop > + || fDefaultSettings.autoRaise != settings->autoRaise > + || fDefaultSettings.autoHide != settings->autoHide; > +} > + > + > +bool > +PreferencesWindow::_IsRevertable() > +{ > + desk_settings* settings = static_cast<TBarApp*>(be_app)->Settings(); > + > + return fInitialSettings.sortRunningApps != settings->sortRunningApps > + || fInitialSettings.trackerAlwaysFirst != > settings->trackerAlwaysFirst > + || fInitialSettings.superExpando != settings->superExpando > + || fInitialSettings.expandNewTeams != settings->expandNewTeams > + || fInitialSettings.hideLabels != settings->hideLabels > + || fInitialSettings.iconSize != settings->iconSize > + || fInitialSettings.recentAppsEnabled != > settings->recentAppsEnabled > + || fInitialSettings.recentDocsEnabled != > settings->recentDocsEnabled > + || fInitialSettings.recentFoldersEnabled > + != settings->recentFoldersEnabled > + || fInitialSettings.recentAppsCount != > settings->recentAppsCount > + || fInitialSettings.recentDocsCount != > settings->recentDocsCount > + || fInitialSettings.recentFoldersCount != > settings->recentFoldersCount > + || fInitialSettings.alwaysOnTop != settings->alwaysOnTop > + || fInitialSettings.autoRaise != settings->autoRaise > + || fInitialSettings.autoHide != settings->autoHide; > +} It would be nice to factorize this in a equal operator for the struct desk_settings: bool operator==(const desk_settings& lhs, const desk_settings& rhs) And for PreferencesWindow::_SetInitialSettings() you could also use the default desk_settings struct assigment operator fInitialSettings = *settings; Bye, Jérôme