From 223281b2429e7092144ce2b69b431b01106d8b51 Mon Sep 17 00:00:00 2001 From: ehofman <ehofman> Date: Mon, 30 Nov 2009 12:06:02 +0000 Subject: [PATCH] First stab at a new sound configuration dialog --- gui/dialogs/sound.xml | 229 ++++++++++++++++++++++++++++++------------ 1 file changed, 165 insertions(+), 64 deletions(-) diff --git a/gui/dialogs/sound.xml b/gui/dialogs/sound.xml index cf438e75d..cf7efd056 100644 --- a/gui/dialogs/sound.xml +++ b/gui/dialogs/sound.xml @@ -3,77 +3,178 @@ <!-- Sound control dialog --> <PropertyList> - <name>sound-dialog</name> - <layout>vbox</layout> + <name>sound-dialog</name> + <modal>false</modal> + <width>400</width> + <layout>vbox</layout> - <text> - <label>Sound Configuration</label> - </text> + <text> + <label>Sound Configuration</label> + </text> - <hrule/> + <hrule/> - <group> - <layout>hbox</layout> - <empty><dummy/></empty> + <combo> + <name>source-selection</name> + <halign>fill</halign> + <stretch>true</stretch> + <property>sim/gui/dialogs/sound-dialog/source-selection</property> + <binding> + <command>dialog-apply</command> + <object-name>source-selection</object-name> + </binding> + <binding> + <command>dialog-update</command> + <object-name>metar</object-name> + </binding> + </combo> - <group> - <layout>vbox</layout> + <hrule/> - <checkbox> - <label>Mute Sound</label> - <halign>left</halign> - <property>/sim/sound/pause</property> - <binding> - <command>dialog-apply</command> - </binding> - </checkbox> + <group> + <layout>hbox</layout> + <halign>left</halign> - <group> - <layout>hbox</layout> - <text><label>Volume:</label></text> - <slider> - <property>/sim/sound/volume</property> - <binding> - <command>dialog-apply</command> - </binding> - </slider> - </group> + <empty><width>10</width></empty> - <checkbox> - <label>ATC Chatter</label> - <halign>left</halign> - <property>/sim/sound/atc-chatter</property> - <binding> - <command>dialog-apply</command> - </binding> - </checkbox> - - <group> - <layout>hbox</layout> - <text><label>ATC Volume:</label></text> - <slider> - <property>/sim/sound/atc-chatter-volume</property> - <binding> - <command>dialog-apply</command> - </binding> - </slider> - </group> - - </group> - <empty><dummy/></empty> - </group> + <text> + <label>Enabled</label> + </text> - <group> - <layout>hbox</layout> - <default-padding>10</default-padding> - <button> - <legend>Close</legend> - <default>true</default> - <key>Esc</key> - <binding> - <command>dialog-close</command> - </binding> - </button> - </group> + <text> + <label>Volume</label> + </text> + </group> + + <group> + <layout>hbox</layout> + <halign>left</halign> + + <empty><width>10</width></empty> + + <checkbox> + <property>/sim/sound/enabled</property> + <label>Master</label> + <binding> + <command>dialog-apply</command> + </binding> + </checkbox> + + <slider> + <height>25</height> + <property>/sim/sound/volume</property> + <binding> + <command>dialog-apply</command> + </binding> + </slider> + </group> + + <group> + <layout>hbox</layout> + <halign>left</halign> + + <empty><width>10</width></empty> + + <checkbox> + <property>/sim/sound/effects/enabled</property> + <label>Effects</label> + <binding> + <command>dialog-apply</command> + </binding> + </checkbox> + + <slider> + <height>25</height> + <property>/sim/sound/effects/volume</property> + <binding> + <command>dialog-apply</command> + </binding> + </slider> + </group> + + <group> + <layout>hbox</layout> + <halign>left</halign> + + <empty><width>10</width></empty> + + <checkbox> + <property>/sim/sound/avionics/enabled</property> + <label>Avionics</label> + <binding> + <command>dialog-apply</command> + </binding> + </checkbox> + + <slider> + <height>25</height> + <property>/sim/sound/avionics/volume</property> + <binding> + <command>dialog-apply</command> + </binding> + </slider> + </group> + + <group> + <layout>hbox</layout> + <halign>left</halign> + + <empty><width>10</width></empty> + + <checkbox> + <property>/sim/sound/chatter/enabled</property> + <label>Chatter</label> + <binding> + <command>dialog-apply</command> + </binding> + </checkbox> + + <slider> + <height>25</height> + <property>/sim/sound/chatter/volume</property> + <binding> + <command>dialog-apply</command> + </binding> + </slider> + </group> + + <group> + <layout>hbox</layout> + <default-padding>10</default-padding> + <button> + <legend>Close</legend> + <default>true</default> + <key>Esc</key> + <binding> + <command>dialog-close</command> + </binding> + </button> + </group> + + <nasal> + <open><![CDATA[ + var dlg_root = cmdarg(); + + var findElementByName = func(rootN, name) { + foreach( var child; rootN.getChildren() ) { + var n = child.getNode( "name" ); + if( n != nil and n.getValue() == name ) + return child; + var f = findElementByName(child,name); + if( f != nil ) return f; + } + return nil; + }; + + # fill the sounde device combo box + var combo = findElementByName( dlg_root, "source-selection" ); + var wsn = props.globals.getNode( "/sim/sound/devices" ); + if( wsn != nil ) { + var devices = wsn.getChildren("device"); + forindex (var i; devices ) + combo.getChild("value", i, 1).setValue(devices[i].getValue()); + } + ]]></open> + </nasal> </PropertyList>