1
0
Fork 0

Update multiplayer settings dialog:

- Add list of current (as of 3 Jan 2012) MP servers
- Add Connect/Disconnect buttons
This commit is contained in:
Stuart Buchanan 2012-01-03 23:33:26 +00:00
parent c8ed7ffe8b
commit 66e7d103f1

View file

@ -4,10 +4,23 @@
<PropertyList> <PropertyList>
<name>multiplayer</name> <name>multiplayer</name>
<layout>vbox</layout> <layout>vbox</layout>
<resizable>true</resizable> <resizable>false</resizable>
<nasal> <nasal>
<open> <open>
if ((getprop("/sim/multiplay/selected-server") == nil) or
(getprop("/sim/multiplay/selected-server") == "" ) ){
var tx = getprop("/sim/multiplay/txhost");
var dlg = cmdarg();
var servers = cmdarg().getChildren("group")[1].getChildren("combo")[0].getChildren("value");
foreach (var s; servers) {
var server = s.getValue();
var host = split(" ", server)[0];
if (host == tx) {
setprop("/sim/multiplay/selected-server", server);
}
}
}
</open> </open>
<close> <close>
@ -50,6 +63,7 @@
</text> </text>
<input> <input>
<row>0</row><col>1</col> <row>0</row><col>1</col>
<halign>left</halign>
<property>/sim/multiplay/callsign</property> <property>/sim/multiplay/callsign</property>
</input> </input>
<text> <text>
@ -60,23 +74,31 @@
<combo> <combo>
<name>host</name> <name>host</name>
<row>1</row><col>1</col> <row>1</row><col>1</col>
<pref-width>120</pref-width> <pref-width>300</pref-width>
<property>/sim/multiplay/txhost</property> <property>/sim/multiplay/selected-server</property>
<editable>true</editable> <editable>false</editable>
<properties>/sim/multiplay/servers</properties> <value>mpserver01.flightgear.org (Frankfurt/Germany)</value>
<value>mpserver02.flightgear.org (Kansas/USA)</value>
<value>mpserver03.flightgear.org (Germany)</value>
<value>mpserver04.flightgear.org (United Kingdom)</value>
<value>mpserver05.flightgear.org (Chicago/USA)</value>
<value>mpserver07.flightgear.org (Wisconsin, USA)</value>
<value>mpserver08.flightgear.org (Germany)</value>
<value>mpserver09.flightgear.org (Germany)</value>
<value>mpserver10.flightgear.org (Montpellier, France)</value>
<value>mpserver11.flightgear.org (Vilnius, Lithuania)</value>
<value>mpserver12.flightgear.org (Amsterdam, Netherlands)</value>
<value>mpserver13.flightgear.org (Grenoble, France)</value>
</combo> </combo>
<input>
<row>1</row><col>2</col>
<property>/sim/multiplay/txport</property>
</input>
<!-- status area --> <!-- status area -->
<text> <text>
<visible> <visible>
<not><property>/sim/multiplay/online</property></not> <not><property>/sim/multiplay/online</property></not>
</visible> </visible>
<row>2</row> <row>3</row>
<col>1</col> <col>1</col>
<halign>left</halign>
<label>Not connected</label> <label>Not connected</label>
</text> </text>
@ -84,9 +106,9 @@
<visible> <visible>
<property>/sim/multiplay/online</property> <property>/sim/multiplay/online</property>
</visible> </visible>
<row>2</row> <row>3</row>
<col>1</col> <col>1</col>
<halign>left</halign>
<label>MMMMMMMMMMMMMMMMM</label> <label>MMMMMMMMMMMMMMMMM</label>
<format>Connected to %s</format> <format>Connected to %s</format>
<property>/sim/multiplay/txhost</property> <property>/sim/multiplay/txhost</property>
@ -94,23 +116,65 @@
</text> </text>
</group> </group>
<hrule/>
<group> <group>
<layout>hbox</layout> <layout>hbox</layout>
<default-padding>10</default-padding> <default-padding>10</default-padding>
<empty><stretch>true</stretch></empty> <empty><stretch>true</stretch></empty>
<button> <button>
<legend>Apply</legend> <legend>Connect</legend>
<default>true</default> <enable>
<equal>true</equal> <not>
<property>/sim/multiplay/online</property>
</not>
</enable>
<binding> <binding>
<command>dialog-apply</command> <command>dialog-apply</command>
</binding> </binding>
<binding>
<command>nasal</command>
<script>
var server = getprop("/sim/multiplay/selected-server");
# Get the server name by splitting on the space between
# the hostname and the comment.
server = split(" ", server)[0];
setprop("/sim/multiplay/txhost", server);
</script>
</binding>
<binding> <binding>
<command>reinit</command> <command>reinit</command>
<subsystem>mp</subsystem> <subsystem>mp</subsystem>
</binding> </binding>
</button> </button>
<button>
<legend>Disconnect</legend>
<enable>
<property>/sim/multiplay/online</property>
</enable>
<binding>
<command>dialog-apply</command>
</binding>
<binding>
<command>nasal</command>
<script>
setprop("/sim/multiplay/txhost", "0.0.0.0");
</script>
</binding>
<binding>
<command>reinit</command>
<subsystem>mp</subsystem>
</binding>
</button>
<button>
<legend>Close</legend>
<equal>true</equal>
<binding>
<command>dialog-close</command>
</binding>
</button>
<empty><stretch>true</stretch></empty>
</group> </group>
</PropertyList> </PropertyList>