//
#include "preferences.h"
+#include "environment.h"
#include "debugging/debugging.h"
const char* const PREFERENCES_VERSION = "1.0";
-bool Preferences_Load(PreferenceDictionary& preferences, const char* filename)
+bool Preferences_Load(PreferenceDictionary& preferences, const char* filename, const char *cmdline_prefix)
{
+ bool ret = false;
TextFileInputStream file(filename);
if(!file.failed())
{
XMLStreamParser parser(file);
XMLPreferenceDictionaryImporter importer(preferences, PREFERENCES_VERSION);
parser.exportXML(importer);
- return true;
+ ret = true;
}
- return false;
+
+ int l = strlen(cmdline_prefix);
+ for(int i = 1; i < g_argc - 1; ++i)
+ {
+ if(g_argv[i][0] == '-')
+ {
+ if(!strncmp(g_argv[i]+1, cmdline_prefix, l))
+ if(g_argv[i][l+1] == '-')
+ preferences.importPref(g_argv[i]+l+2, g_argv[i+1]);
+ ++i;
+ }
+ }
+
+ return ret;
}
bool Preferences_Save(PreferenceDictionary& preferences, const char* filename)
globalOutputStream() << "loading global preferences from " << makeQuoted(strGlobalPref.c_str()) << "\n";
- if(!Preferences_Load(g_global_preferences, strGlobalPref.c_str()))
+ if(!Preferences_Load(g_global_preferences, strGlobalPref.c_str(), "global"))
{
globalOutputStream() << "failed to load global preferences from " << strGlobalPref.c_str() << "\n";
}
PreferencesDialog_addInterfacePreferences(FreeCaller1<PreferencesPage&, Interface_constructPreferences>());
Mouse_registerPreferencesPage();
- GtkWindow* dialog = create_floating_window("GtkRadiant Preferences", m_parent);
+ GtkWindow* dialog = create_floating_window("NetRadiant Preferences", m_parent);
{
GtkWidget* mainvbox = gtk_vbox_new(FALSE, 5);
{
GtkCellRenderer* renderer = gtk_cell_renderer_text_new();
- GtkTreeViewColumn* column = gtk_tree_view_column_new_with_attributes("Preferences", renderer, "text", 0, 0);
+ GtkTreeViewColumn* column = gtk_tree_view_column_new_with_attributes("Preferences", renderer, "text", 0, NULL);
gtk_tree_view_append_column(GTK_TREE_VIEW(view), column);
}
globalOutputStream() << "loading local preferences from " << g_Preferences.m_inipath->str << "\n";
- if(!Preferences_Load(g_preferences, g_Preferences.m_inipath->str))
+ if(!Preferences_Load(g_preferences, g_Preferences.m_inipath->str, g_GamesDialog.m_sGameFile.c_str()))
{
globalOutputStream() << "failed to load local preferences from " << g_Preferences.m_inipath->str << "\n";
}