1
0
Fork 0
fgdata/gui/dialogs/terrasync.xml
2013-04-25 22:10:17 +01:00

551 lines
13 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>hbox</layout>
<halign>left</halign>
<default-padding>2</default-padding>
<button>
<legend>Information</legend>
<binding>
<command>property-assign</command>
<property>/sim/gui/dialogs/terrasync/display-mode</property>
<value>0</value>
</binding>
</button>
<button>
<legend>Log</legend>
<binding>
<command>property-assign</command>
<property>/sim/gui/dialogs/terrasync/display-mode</property>
<value>1</value>
</binding>
</button>
</group>
<!-- 'tabbed' group controlled by display-mode property -->
<group>
<layout>table</layout>
<halign>fill</halign>
<valign>fill</valign>
<default-padding>0</default-padding>
<group>
<layout>table</layout>
<halign>left</halign>
<valign>top</valign>
<equal>false</equal>
<row>0</row>
<col>0</col>
<visible>
<equals>
<property>/sim/gui/dialogs/terrasync/display-mode</property>
<value>0</value>
</equals>
</visible>
<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>
<loglist>
<row>0</row>
<col>0</col>
<visible>
<equals>
<property>/sim/gui/dialogs/terrasync/display-mode</property>
<value>1</value>
</equals>
</visible>
<halign>fill</halign>
<valign>fill</valign>
<stretch>true</stretch>
<pref-height>200</pref-height>
<pref-height>600</pref-height>
<logclass>terrasync</logclass>
<padding>6</padding>
</loglist>
</group> <!-- end of tabbed 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[
setprop("/sim/gui/dialogs/terrasync/display-mode", "0");
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>