* move path settings to separate preferences group to simplify finding one

This commit is contained in:
Garux 2018-01-23 17:51:22 +03:00
parent 4a6c809e7d
commit d747bd6111
3 changed files with 25 additions and 1 deletions

View File

@ -425,7 +425,7 @@ void Paths_constructPage( PreferenceGroup& group ){
Paths_constructPreferences( page ); Paths_constructPreferences( page );
} }
void Paths_registerPreferencesPage(){ void Paths_registerPreferencesPage(){
PreferencesDialog_addSettingsPage( FreeCaller1<PreferenceGroup&, Paths_constructPage>() ); PreferencesDialog_addGamePage( FreeCaller1<PreferenceGroup&, Paths_constructPage>() );
} }

View File

@ -594,6 +594,15 @@ inline void PreferencesPageCallbacks_pushBack( PreferencesPageCallbacks& callbac
callbacks.push_back( callback ); callbacks.push_back( callback );
} }
PreferencesPageCallbacks g_gamePreferences;
void PreferencesDialog_addGamePreferences( const PreferencesPageCallback& callback ){
PreferencesPageCallbacks_pushBack( g_gamePreferences, callback );
}
PreferenceGroupCallbacks g_gameCallbacks;
void PreferencesDialog_addGamePage( const PreferenceGroupCallback& callback ){
PreferenceGroupCallbacks_pushBack( g_gameCallbacks, callback );
}
PreferencesPageCallbacks g_interfacePreferences; PreferencesPageCallbacks g_interfacePreferences;
void PreferencesDialog_addInterfacePreferences( const PreferencesPageCallback& callback ){ void PreferencesDialog_addInterfacePreferences( const PreferencesPageCallback& callback ){
PreferencesPageCallbacks_pushBack( g_interfacePreferences, callback ); PreferencesPageCallbacks_pushBack( g_interfacePreferences, callback );
@ -795,6 +804,19 @@ GtkWindow* PrefsDlg::BuildDialog(){
} }
} }
{
GtkWidget* gamePage = PreferencePages_addPage( m_notebook, "Game Settings" );
{
PreferencesPage preferencesPage( *this, getVBox( gamePage ) );
PreferencesPageCallbacks_constructPage( g_gamePreferences, preferencesPage );
}
GtkTreeIter group = PreferenceTree_appendPage( store, 0, "Game", gamePage );
PreferenceTreeGroup preferenceGroup( *this, m_notebook, store, group );
PreferenceGroupCallbacks_constructGroup( g_gameCallbacks, preferenceGroup );
}
{ {
GtkWidget* interfacePage = PreferencePages_addPage( m_notebook, "Interface Preferences" ); GtkWidget* interfacePage = PreferencePages_addPage( m_notebook, "Interface Preferences" );
{ {

View File

@ -118,6 +118,8 @@ virtual PreferencesPage createPage( const char* treeName, const char* frameName
typedef Callback1<PreferenceGroup&> PreferenceGroupCallback; typedef Callback1<PreferenceGroup&> PreferenceGroupCallback;
void PreferencesDialog_addGamePreferences( const PreferencesPageCallback& callback );
void PreferencesDialog_addGamePage( const PreferenceGroupCallback& callback );
void PreferencesDialog_addInterfacePreferences( const PreferencesPageCallback& callback ); void PreferencesDialog_addInterfacePreferences( const PreferencesPageCallback& callback );
void PreferencesDialog_addInterfacePage( const PreferenceGroupCallback& callback ); void PreferencesDialog_addInterfacePage( const PreferenceGroupCallback& callback );
void PreferencesDialog_addDisplayPreferences( const PreferencesPageCallback& callback ); void PreferencesDialog_addDisplayPreferences( const PreferencesPageCallback& callback );