<?xml version="1.0"?> <PropertyList> <name>terrasync</name> <layout>vbox</layout> <group> <layout>hbox</layout> <empty><stretch>1</stretch></empty> <text> <label>Automatic Scenery Download</label> </text> <empty><stretch>1</stretch></empty> <button> <pref-width>16</pref-width> <pref-height>16</pref-height> <legend></legend> <keynum>27</keynum> <border>2</border> <binding> <command>dialog-close</command> </binding> </button> </group> <hrule/> <text> <color> <red>1.0</red> <green>0.4</green> <blue>0.4</blue> </color> <halign>center</halign> <label>Monitor your bandwidth or use a flat-rate when using automatic download.</label> </text> <group> <layout>table</layout> <halign>left</halign> <equal>false</equal> <checkbox> <name>terrasync-enabled</name> <halign>left</halign> <row>1</row><col>1</col><colspan>3</colspan> <property>/sim/terrasync/enabled</property> <label>Enable automatic scenery download/update</label> <live>true</live> <binding> <command>dialog-apply</command> <object-name>terrasync-enabled</object-name> </binding> <enable> <not-equals> <property>/sim/terrasync/scenery-dir</property> <value></value> </not-equals> </enable> </checkbox> <text> <halign>right</halign> <row>3</row><col>1</col> <label>Target directory:</label> </text> <combo> <name>scenery-dir</name> <halign>left</halign> <row>3</row> <col>2</col><colspan>2</colspan> <pref-width>400</pref-width> <property>/sim/terrasync/scenery-dir</property> <binding> <command>dialog-apply</command> <object-name>scenery-dir</object-name> </binding> </combo> <text> <name>warning_text</name> <row>4</row> <col>0</col><colspan>4</colspan> <color> <red>1.0</red> <green>0.4</green> <blue>0.4</blue> <alpha>1</alpha> </color> <halign>center</halign> <label/> </text> <text> <halign>right</halign> <row>5</row><col>1</col> <label>Remote scenery server:</label> </text> <input> <name>svn-server</name> <halign>left</halign> <row>5</row> <col>2</col><colspan>2</colspan> <pref-width>400</pref-width> <property>/sim/terrasync/svn-server</property> <enable> <!-- display only, editing disabled for now, since there is no reason to change/switch between servers for now --> <false/> <!--property>/sim/terrasync/enabled</property--> </enable> <!--binding> <command>dialog-apply</command> <object-name>svn-server</object-name> </binding--> </input> <checkbox> <name>scenery-refresh</name> <halign>left</halign> <row>6</row><col>1</col><colspan>2</colspan> <property>/sim/terrasync/refresh-display</property> <enable> <property>/sim/terrasync/enabled</property> </enable> <label>Automatic display refresh (EXPERIMENTAL!)</label> <live>true</live> <binding> <command>dialog-apply</command> <object-name>scenery-refresh</object-name> </binding> </checkbox> <button> <legend>Manual Refresh</legend> <border>2</border> <row>6</row><col>3</col> <binding> <command>reinit</command> <subsystem>tile-manager</subsystem> </binding> </button> <!-- <checkbox> <name>internal-svn</name> <halign>left</halign> <row>7</row><col>1</col><colspan>3</colspan> <property>/sim/terrasync/use-built-in-svn</property> <label>Download using built-in SVN client</label> <live>true</live> <binding> <command>dialog-apply</command> <object-name>internal-svn</object-name> </binding> <enable> <and> <property>/sim/terrasync/built-in-svn-available</property> <property>/sim/terrasync/enabled</property> </and> </enable> </checkbox> --> </group> <hrule/> <group> <layout>table</layout> <halign>left</halign> <equal>false</equal> <text> <row>0</row> <col>1</col> <halign>left</halign> <pref-width>90</pref-width> <label>Status:</label> <color> <red>0.7</red> <green>0.7</green> <blue>0.7</blue> <alpha>1</alpha> </color> </text> <text> <halign>left</halign> <row>0</row> <col>2</col> <label>Active:</label> <color> <red>0.7</red> <green>0.7</green> <blue>0.7</blue> <alpha>1</alpha> </color> </text> <text> <row>0</row> <col>3</col> <pref-width>90</pref-width> <halign>left</halign> <stretch>true</stretch> <format>%s</format> <property>/sim/terrasync/active</property> <live>true</live> <color> <red>0.7</red> <green>0.7</green> <blue>0.7</blue> <alpha>1</alpha> </color> </text> <text> <halign>left</halign> <row>0</row> <col>4</col> <label>Errors:</label> <color> <red>0.7</red> <green>0.7</green> <blue>0.7</blue> <alpha>1</alpha> </color> </text> <text> <row>0</row> <col>5</col> <format>%s</format> <property>/sim/terrasync/error-count</property> <live>true</live> <color> <red>0.7</red> <green>0.7</green> <blue>0.7</blue> <alpha>1</alpha> </color> </text> <text> <halign>left</halign> <row>1</row> <col>2</col> <label>Sync in progress:</label> <color> <red>0.7</red> <green>0.7</green> <blue>0.7</blue> <alpha>1</alpha> </color> </text> <text> <row>1</row> <col>3</col> <halign>left</halign> <stretch>true</stretch> <format>%s</format> <property>/sim/terrasync/busy</property> <live>true</live> <color> <red>0.7</red> <green>0.7</green> <blue>0.7</blue> <alpha>1</alpha> </color> </text> <text> <halign>left</halign> <row>2</row> <col>2</col> <label>Stalled:</label> <color> <red>0.7</red> <green>0.7</green> <blue>0.7</blue> <alpha>1</alpha> </color> </text> <text> <row>2</row> <col>3</col> <halign>left</halign> <stretch>true</stretch> <format>%s</format> <property>/sim/terrasync/stalled</property> <live>true</live> <color> <red>0.7</red> <green>0.7</green> <blue>0.7</blue> <alpha>1</alpha> </color> </text> <text> <halign>left</halign> <row>3</row> <col>2</col> <label>Built-in SVN available:</label> <color> <red>0.7</red> <green>0.7</green> <blue>0.7</blue> <alpha>1</alpha> </color> </text> <text> <row>3</row> <col>3</col> <halign>left</halign> <stretch>true</stretch> <format>%s</format> <property>/sim/terrasync/built-in-svn-available</property> <live>true</live> <color> <red>0.7</red> <green>0.7</green> <blue>0.7</blue> <alpha>1</alpha> </color> </text> <text> <halign>left</halign> <row>1</row> <col>4</col> <label>Processed elements:</label> <color> <red>0.7</red> <green>0.7</green> <blue>0.7</blue> <alpha>1</alpha> </color> </text> <text> <row>1</row> <col>5</col> <format>%s</format> <property>/sim/terrasync/update-count</property> <live>true</live> <stretch>true</stretch> <halign>fill</halign> <color> <red>0.7</red> <green>0.7</green> <blue>0.7</blue> <alpha>1</alpha> </color> </text> <text> <halign>left</halign> <row>2</row> <col>4</col> <label>Processed scenery tiles:</label> <color> <red>0.7</red> <green>0.7</green> <blue>0.7</blue> <alpha>1</alpha> </color> </text> <text> <row>2</row> <col>5</col> <format>%s</format> <property>/sim/terrasync/tile-count</property> <live>true</live> <stretch>true</stretch> <halign>fill</halign> <color> <red>0.7</red> <green>0.7</green> <blue>0.7</blue> <alpha>1</alpha> </color> </text> </group> <hrule/> <group> <layout>hbox</layout> <default-padding>10</default-padding> <empty><stretch>true</stretch></empty> <button> <legend>OK</legend> <border>2</border> <equal>true</equal> <binding> <command>dialog-apply</command> </binding> <binding> <command>reinit</command> <subsystem>terrasync</subsystem> </binding> <binding> <command>dialog-close</command> </binding> </button> <button> <legend>Apply</legend> <equal>true</equal> <border>2</border> <binding> <command>dialog-apply</command> </binding> <binding> <command>reinit</command> <subsystem>terrasync</subsystem> </binding> </button> <button> <legend>Cancel</legend> <border>2</border> <equal>true</equal> <key>Esc</key> <binding> <command>dialog-close</command> </binding> </button> <empty><stretch>true</stretch></empty> </group> <nasal> <open><![CDATA[ var fg_scenery = props.globals.getNode("sim").getChildren("fg-scenery"); var fg_data = props.globals.getNode("sim").getChild("fg-root").getValue(); var combo = cmdarg().getChildren("group")[1].getChildren("combo")[0]; var valid = 0; for (var i = 0; i < size(fg_scenery); i = i + 1) { var s = fg_scenery[i].getValue(); if ((s != fg_data ~ "/Scenery") and (s != fg_data ~ "\\Scenery")) { # Do not allow Terrasync to run in the default directory. combo.getNode("value[" ~ i ~ "]", 1).setValue(fg_scenery[i].getValue()); valid = 1; } } # Add error text if the user only has fg-data/Scenery available and disable controls. if (! valid) { var warning = cmdarg().getChildren("group")[1].getChildren("text")[1]; var txt = "You must configure a separate FG_SCENERY directory for automatic scenery download"; warning.getNode("label").setValue(txt); } ]]></open> </nasal> </PropertyList>