483 lines
11 KiB
XML
483 lines
11 KiB
XML
<?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>
|
|
<name>message</name>
|
|
<color>
|
|
<red>1.0</red>
|
|
<green>0.4</green>
|
|
<blue>0.4</blue>
|
|
</color>
|
|
<halign>center</halign>
|
|
<label></label>
|
|
</text>
|
|
|
|
<group>
|
|
<layout>vbox</layout>
|
|
|
|
<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>
|
|
|
|
<visible>
|
|
<property>/sim/terrasync/built-in-svn-available</property>
|
|
</visible>
|
|
|
|
</group>
|
|
|
|
<nasal>
|
|
<open><![CDATA[
|
|
var msg = "";
|
|
if (getprop("/sim/terrasync/built-in-svn-available"))
|
|
{
|
|
msg = "Monitor your bandwidth or use a flat-rate when using automatic download.";
|
|
}
|
|
else
|
|
{
|
|
msg = "Sorry, this binary was built without support to download scenery.";
|
|
setprop("/sim/terrasync/enabled", 0);
|
|
}
|
|
var msgLabel = gui.findElementByName(cmdarg(),"message");
|
|
msgLabel.getNode("label",1).setValue(msg);
|
|
|
|
var fg_scenery = props.globals.getNode("sim").getChildren("fg-scenery");
|
|
var fg_data = props.globals.getNode("sim").getChild("fg-root").getValue();
|
|
var combo = gui.findElementByName(cmdarg(),"scenery-dir");
|
|
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>
|