diff src/settings_gui.cpp @ 10671:ec6b9e8e01aa draft

(svn r14974) -Change: reorder/reorganise the entries of the settings window (Alberth)
author rubidium <rubidium@openttd.org>
date Sat, 10 Jan 2009 17:35:19 +0000 (2009-01-10)
parents 22ffe020ed5d
children 142d8484c2d8
line wrap: on
line diff
--- a/src/settings_gui.cpp
+++ b/src/settings_gui.cpp
@@ -989,22 +989,26 @@
 }
 
 
-static PatchEntry _patches_ui[] = {
+static PatchEntry _patches_ui_display[] = {
 	PatchEntry("gui.vehicle_speed"),
 	PatchEntry("gui.status_long_date"),
 	PatchEntry("gui.date_format_in_default_names"),
-	PatchEntry("gui.show_finances"),
+	PatchEntry("gui.population_in_label"),
+	PatchEntry("gui.measure_tooltip"),
+	PatchEntry("gui.loading_indicators"),
+	PatchEntry("gui.liveries"),
+	PatchEntry("gui.show_track_reservation"),
+};
+/** Display options sub-page */
+static PatchPage _patches_ui_display_page = {_patches_ui_display, lengthof(_patches_ui_display)};
+
+static PatchEntry _patches_ui_interaction[] = {
 	PatchEntry("gui.autoscroll"),
 	PatchEntry("gui.reverse_scroll"),
 	PatchEntry("gui.smooth_scroll"),
-	PatchEntry("gui.errmsg_duration"),
-	PatchEntry("gui.toolbar_pos"),
-	PatchEntry("gui.measure_tooltip"),
 	PatchEntry("gui.window_snap_radius"),
 	PatchEntry("gui.window_soft_limit"),
-	PatchEntry("gui.population_in_label"),
 	PatchEntry("gui.link_terraform_toolbar"),
-	PatchEntry("gui.liveries"),
 	PatchEntry("gui.prefer_teamchat"),
 	/* While the horizontal scrollwheel scrolling is written as general code, only
 	 *  the cocoa (OSX) driver generates input for it.
@@ -1015,47 +1019,67 @@
 	/* We might need to emulate a right mouse button on mac */
 	PatchEntry("gui.right_mouse_btn_emulation"),
 #endif
+	PatchEntry("gui.left_mouse_btn_scrolling"),
+};
+/** Interaction sub-page */
+static PatchPage _patches_ui_interaction_page = {_patches_ui_interaction, lengthof(_patches_ui_interaction)};
+
+static PatchEntry _patches_ui[] = {
+	PatchEntry(&_patches_ui_display_page, STR_CONFIG_PATCHES_DISPLAY_OPTIONS),
+	PatchEntry(&_patches_ui_interaction_page, STR_CONFIG_PATCHES_INTERACTION),
+	PatchEntry("gui.show_finances"),
+	PatchEntry("gui.errmsg_duration"),
+	PatchEntry("gui.toolbar_pos"),
 	PatchEntry("gui.pause_on_newgame"),
 	PatchEntry("gui.advanced_vehicle_list"),
-	PatchEntry("gui.loading_indicators"),
 	PatchEntry("gui.timetable_in_ticks"),
 	PatchEntry("gui.quick_goto"),
 	PatchEntry("gui.default_rail_type"),
 	PatchEntry("gui.always_build_infrastructure"),
 	PatchEntry("gui.persistent_buildingtools"),
-	PatchEntry("gui.show_track_reservation"),
-	PatchEntry("gui.left_mouse_btn_scrolling"),
 };
 /** Interface subpage */
 static PatchPage _patches_ui_page = {_patches_ui, lengthof(_patches_ui)};
 
+static PatchEntry _patches_construction_signals[] = {
+	PatchEntry("construction.signal_side"),
+	PatchEntry("gui.enable_signal_gui"),
+	PatchEntry("gui.drag_signals_density"),
+	PatchEntry("gui.semaphore_build_before"),
+	PatchEntry("gui.default_signal_type"),
+	PatchEntry("gui.cycle_signal_types"),
+};
+/** Signals subpage */
+static PatchPage _patches_construction_signals_page = {_patches_construction_signals, lengthof(_patches_construction_signals)};
+
 static PatchEntry _patches_construction[] = {
+	PatchEntry(&_patches_construction_signals_page, STR_CONFIG_PATCHES_CONSTRUCTION_SIGNALS),
 	PatchEntry("construction.build_on_slopes"),
 	PatchEntry("construction.autoslope"),
 	PatchEntry("construction.extra_dynamite"),
 	PatchEntry("construction.longbridges"),
-	PatchEntry("construction.signal_side"),
 	PatchEntry("station.always_small_airport"),
-	PatchEntry("gui.enable_signal_gui"),
-	PatchEntry("gui.drag_signals_density"),
 	PatchEntry("game_creation.oil_refinery_limit"),
-	PatchEntry("gui.semaphore_build_before"),
-	PatchEntry("gui.default_signal_type"),
-	PatchEntry("gui.cycle_signal_types"),
 };
 /** Construction sub-page */
 static PatchPage _patches_construction_page = {_patches_construction, lengthof(_patches_construction)};
 
+static PatchEntry _patches_stations_cargo[] = {
+	PatchEntry("order.improved_load"),
+	PatchEntry("order.gradual_loading"),
+	PatchEntry("order.selectgoods"),
+};
+/** Cargo handling sub-page */
+static PatchPage _patches_stations_cargo_page = {_patches_stations_cargo, lengthof(_patches_stations_cargo)};
+
 static PatchEntry _patches_stations[] = {
+	PatchEntry(&_patches_stations_cargo_page, STR_CONFIG_PATCHES_STATIONS_CARGOHANDLING),
 	PatchEntry("station.join_stations"),
-	PatchEntry("order.improved_load"),
-	PatchEntry("order.selectgoods"),
 	PatchEntry("gui.new_nonstop"),
 	PatchEntry("station.nonuniform_stations"),
 	PatchEntry("station.station_spread"),
 	PatchEntry("order.serviceathelipad"),
 	PatchEntry("station.modified_catchment"),
-	PatchEntry("order.gradual_loading"),
 	PatchEntry("construction.road_stop_on_town_road"),
 	PatchEntry("station.adjacent_stations"),
 	PatchEntry("station.distant_join_stations"),
@@ -1064,27 +1088,37 @@
 /** Stations sub-page */
 static PatchPage _patches_stations_page = {_patches_stations, lengthof(_patches_stations)};
 
-static PatchEntry _patches_economy[] = {
-	PatchEntry("economy.inflation"),
-	PatchEntry("construction.raw_industry_construction"),
-	PatchEntry("economy.multiple_industry_per_town"),
-	PatchEntry("economy.same_industry_close"),
+static PatchEntry _patches_economy_towns[] = {
 	PatchEntry("economy.bribe"),
 	PatchEntry("economy.exclusive_rights"),
-	PatchEntry("economy.give_money"),
-	PatchEntry("gui.colored_news_year"),
-	PatchEntry("economy.smooth_economy"),
-	PatchEntry("economy.allow_shares"),
 	PatchEntry("economy.town_layout"),
 	PatchEntry("economy.mod_road_rebuild"),
 	PatchEntry("economy.town_growth_rate"),
 	PatchEntry("economy.larger_towns"),
 	PatchEntry("economy.initial_city_size"),
 };
+/** Towns sub-page */
+static PatchPage _patches_economy_towns_page = {_patches_economy_towns, lengthof(_patches_economy_towns)};
+
+static PatchEntry _patches_economy_industries[] = {
+	PatchEntry("construction.raw_industry_construction"),
+	PatchEntry("economy.multiple_industry_per_town"),
+	PatchEntry("economy.same_industry_close"),
+};
+/** Industries sub-page */
+static PatchPage _patches_economy_industries_page = {_patches_economy_industries, lengthof(_patches_economy_industries)};
+
+static PatchEntry _patches_economy[] = {
+	PatchEntry(&_patches_economy_towns_page, STR_CONFIG_PATCHES_ECONOMY_TOWNS),
+	PatchEntry(&_patches_economy_industries_page, STR_CONFIG_PATCHES_ECONOMY_INDUSTRIES),
+	PatchEntry("economy.inflation"),
+	PatchEntry("gui.colored_news_year"),
+	PatchEntry("economy.smooth_economy"),
+};
 /** Economy sub-page */
 static PatchPage _patches_economy_page = {_patches_economy, lengthof(_patches_economy)};
 
-static PatchEntry _patches_ai[] = {
+static PatchEntry _patches_ai_npc[] = {
 	PatchEntry("ai.ainew_active"),
 	PatchEntry("ai.ai_in_multiplayer"),
 	PatchEntry("ai.ai_disable_veh_train"),
@@ -1092,38 +1126,70 @@
 	PatchEntry("ai.ai_disable_veh_aircraft"),
 	PatchEntry("ai.ai_disable_veh_ship"),
 };
+/** Computer players sub-page */
+static PatchPage _patches_ai_npc_page = {_patches_ai_npc, lengthof(_patches_ai_npc)};
+
+static PatchEntry _patches_ai[] = {
+	PatchEntry(&_patches_ai_npc_page, STR_CONFIG_PATCHES_AI_NPC),
+	PatchEntry("economy.give_money"),
+	PatchEntry("economy.allow_shares"),
+};
 /** AI sub-page */
 static PatchPage _patches_ai_page = {_patches_ai, lengthof(_patches_ai)};
 
-static PatchEntry _patches_vehicles[] = {
-	PatchEntry("vehicle.realistic_acceleration"),
-	PatchEntry("pf.forbid_90_deg"),
-	PatchEntry("vehicle.mammoth_trains"),
-	PatchEntry("order.gotodepot"),
-	PatchEntry("pf.roadveh_queue"),
+static PatchEntry _patches_vehicles_routing[] = {
 	PatchEntry("pf.pathfinder_for_trains"),
+	PatchEntry("pf.forbid_90_deg"),
 	PatchEntry("pf.pathfinder_for_roadvehs"),
+	PatchEntry("pf.roadveh_queue"),
 	PatchEntry("pf.pathfinder_for_ships"),
-	PatchEntry("gui.vehicle_income_warn"),
-	PatchEntry("gui.order_review_system"),
-	PatchEntry("vehicle.never_expire_vehicles"),
-	PatchEntry("gui.lost_train_warn"),
+};
+/** Autorenew sub-page */
+static PatchPage _patches_vehicles_routing_page = {_patches_vehicles_routing, lengthof(_patches_vehicles_routing)};
+
+static PatchEntry _patches_vehicles_autorenew[] = {
 	PatchEntry("gui.autorenew"),
 	PatchEntry("gui.autorenew_months"),
 	PatchEntry("gui.autorenew_money"),
-	PatchEntry("vehicle.max_trains"),
-	PatchEntry("vehicle.max_roadveh"),
-	PatchEntry("vehicle.max_aircraft"),
-	PatchEntry("vehicle.max_ships"),
+};
+/** Autorenew sub-page */
+static PatchPage _patches_vehicles_autorenew_page = {_patches_vehicles_autorenew, lengthof(_patches_vehicles_autorenew)};
+
+static PatchEntry _patches_vehicles_servicing[] = {
 	PatchEntry("vehicle.servint_ispercent"),
 	PatchEntry("vehicle.servint_trains"),
 	PatchEntry("vehicle.servint_roadveh"),
 	PatchEntry("vehicle.servint_ships"),
 	PatchEntry("vehicle.servint_aircraft"),
 	PatchEntry("order.no_servicing_if_no_breakdowns"),
+};
+/** Servicing sub-page */
+static PatchPage _patches_vehicles_servicing_page = {_patches_vehicles_servicing, lengthof(_patches_vehicles_servicing)};
+
+static PatchEntry _patches_vehicles_trains[] = {
+	PatchEntry("vehicle.realistic_acceleration"),
+	PatchEntry("vehicle.mammoth_trains"),
+	PatchEntry("gui.vehicle_income_warn"),
+	PatchEntry("gui.lost_train_warn"),
 	PatchEntry("vehicle.wagon_speed_limits"),
 	PatchEntry("vehicle.disable_elrails"),
 	PatchEntry("vehicle.freight_trains"),
+};
+/** Trains sub-page */
+static PatchPage _patches_vehicles_trains_page = {_patches_vehicles_trains, lengthof(_patches_vehicles_trains)};
+
+static PatchEntry _patches_vehicles[] = {
+	PatchEntry(&_patches_vehicles_routing_page, STR_CONFIG_PATCHES_VEHICLES_ROUTING),
+	PatchEntry(&_patches_vehicles_autorenew_page, STR_CONFIG_PATCHES_VEHICLES_AUTORENEW),
+	PatchEntry(&_patches_vehicles_servicing_page, STR_CONFIG_PATCHES_VEHICLES_SERVICING),
+	PatchEntry(&_patches_vehicles_trains_page, STR_CONFIG_PATCHES_VEHICLES_TRAINS),
+	PatchEntry("order.gotodepot"),
+	PatchEntry("gui.order_review_system"),
+	PatchEntry("vehicle.never_expire_vehicles"),
+	PatchEntry("vehicle.max_trains"),
+	PatchEntry("vehicle.max_roadveh"),
+	PatchEntry("vehicle.max_aircraft"),
+	PatchEntry("vehicle.max_ships"),
 	PatchEntry("vehicle.plane_speed"),
 	PatchEntry("order.timetabling"),
 	PatchEntry("vehicle.dynamic_engines"),