bc4371bcd4
It keeps an equivalent of 55° FOV on a 4:3 zone centered on the screen whichever is the screen width/height ratio. Works only if width >= height.
122 lines
2.6 KiB
XML
122 lines
2.6 KiB
XML
<?xml version="1.0"?>
|
|
|
|
<PropertyList>
|
|
<name>view</name>
|
|
<modal>false</modal>
|
|
<layout>vbox</layout>
|
|
|
|
<group>
|
|
<layout>hbox</layout>
|
|
<empty><stretch>1</stretch></empty>
|
|
|
|
<text>
|
|
<label>View Options</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>
|
|
<label>Select Active Views</label>
|
|
</text>
|
|
|
|
<nasal>
|
|
<open>
|
|
var group = cmdarg().getChildren("group")[1];
|
|
var ac = getprop("/sim/aircraft");
|
|
group.removeChildren("checkbox");
|
|
group.removeChildren("hrule");
|
|
group.removeChildren("text");
|
|
var mode = 0;
|
|
foreach (var v; view.views) {
|
|
var index = v.getIndex();
|
|
var enabled = v.initNode("enabled", 1, "BOOL");
|
|
var name = v.getNode("name");
|
|
if (name != nil) {
|
|
if (index >= 200) {
|
|
if (mode != 2) {
|
|
mode = 2;
|
|
group.getChild("hrule", 1, 1);
|
|
var t = group.getChild("text", 1, 1);
|
|
t.getNode("label", 1).setValue("Other Views");
|
|
}
|
|
|
|
} elsif (index >= 100) {
|
|
aircraft.data.add(enabled);
|
|
if (mode != 1) {
|
|
mode = 1;
|
|
group.getChild("hrule", 0, 1);
|
|
var t = group.getChild("text", 0, 1);
|
|
t.getNode("label", 1).setValue("\"" ~ ac ~ "\" Specific Views");
|
|
}
|
|
}
|
|
|
|
var target = group.getChild("checkbox", index, 1);
|
|
props.copy(group.getNode("checkbox-template"), target);
|
|
target.getNode("label").setValue(name != nil ? name.getValue() : ("** unnamed view " ~ index ~ " **"));
|
|
target.getNode("property").setValue(enabled.getPath());
|
|
}
|
|
}
|
|
</open>
|
|
</nasal>
|
|
|
|
<group>
|
|
<layout>vbox</layout>
|
|
<halign>center</halign>
|
|
|
|
<checkbox-template>
|
|
<halign>left</halign>
|
|
<label><!----></label>
|
|
<property><!----></property>
|
|
<binding>
|
|
<command>dialog-apply</command>
|
|
</binding>
|
|
</checkbox-template>
|
|
</group>
|
|
|
|
<hrule/>
|
|
<group>
|
|
<layout>hbox</layout>
|
|
<checkbox>
|
|
<property>sim/current-view/field-of-view-compensation</property>
|
|
<live>false</live>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>view.screenWidthCompens(1)</script>
|
|
</binding>
|
|
</checkbox>
|
|
<text>
|
|
<label>Compensate Field of View for wider screens</label>
|
|
</text>
|
|
</group>
|
|
|
|
|
|
|
|
|
|
<hrule/>
|
|
|
|
<button>
|
|
<legend>Close</legend>
|
|
<default>true</default>
|
|
<key>Esc</key>
|
|
<binding>
|
|
<command>dialog-apply</command>
|
|
</binding>
|
|
<binding>
|
|
<command>dialog-close</command>
|
|
</binding>
|
|
</button>
|
|
</PropertyList>
|