1
0
Fork 0
fgdata/gui/dialogs/terrasync.xml
James Turner 162b61b61f Simpler terrasync dialog.
Now tile refresh is gone, this dialog is much simpler.
(Scenery can still be reloaded from the Rendering dialog or sim reset,
but the pager will always wait on TerraSync)
2013-09-30 17:12:00 +01:00

519 lines
12 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>
<!--
<button>
<legend>Manual Refresh</legend>
<border>2</border>
<row>6</row><col>3</col>
<binding>
<command>reinit</command>
<subsystem>tile-manager</subsystem>
</binding>
</button>
-->
</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>