177 lines
6.1 KiB
C#
Executable File
177 lines
6.1 KiB
C#
Executable File
using System;
|
|
using System.Drawing;
|
|
using System.Windows.Forms;
|
|
|
|
namespace trxGui
|
|
{
|
|
public partial class Form_setup : Form
|
|
{
|
|
public Form_setup()
|
|
{
|
|
InitializeComponent();
|
|
|
|
Width = 800;
|
|
Height = 416;
|
|
int yb = Height - 70;
|
|
button1.Location = new Point(Width - button1.Width - 20, yb);
|
|
button2.Location = new Point(button1.Location.X - button2.Width - 10, yb);
|
|
button3.Location = new Point(button2.Location.X - button3.Width - 10, yb);
|
|
|
|
button_shutdown.Location = new Point(Width - button_shutdown.Width - 20, yb - button1.Height - 10);
|
|
|
|
comboBox1.SelectedIndex = statics.language;
|
|
|
|
foreach (Control c in Controls)
|
|
c.Text = language.GetText(c.Text);
|
|
|
|
tb_rxqrg.Text = ((double)statics.rxqrg / 1000000.0).ToString();
|
|
tb_txqrg.Text = ((double)statics.txqrg / 1000000.0).ToString();
|
|
tb_plutooffset.Text = statics.rfoffset.ToString();
|
|
tb_lnboffset.Text = statics.lnboffset.ToString();
|
|
|
|
cb_audioPB.Text = statics.AudioPBdev;
|
|
cb_audioCAP.Text = statics.AudioCAPdev;
|
|
|
|
rb_plutousb.Checked = statics.plutousb == 1 ? true : false;
|
|
rb_plutoeth.Checked = statics.plutousb == 1 ? false : true;
|
|
tb_plutoip.Text = statics.plutoaddress;
|
|
textBox_txpower.Text = statics.txpower.ToString();
|
|
|
|
comboBox_cpuspeed.SelectedIndex = statics.cpuspeed;
|
|
comboBox_color.SelectedIndex = statics.palette;
|
|
|
|
cb_autosync.Checked = statics.autosync;
|
|
cb_pttmode.SelectedIndex = statics.pttmode;
|
|
|
|
// populate combo boxes
|
|
if (statics.AudioPBdevs != null)
|
|
{
|
|
cb_audioPB.BeginUpdate();
|
|
cb_audioPB.Items.Clear();
|
|
foreach (String s in statics.AudioPBdevs)
|
|
{
|
|
if (s.Length > 1)
|
|
{
|
|
cb_audioPB.Items.Add(s);
|
|
}
|
|
}
|
|
cb_audioPB.EndUpdate();
|
|
// check if displayed text is available in the item list
|
|
findDevice(cb_audioPB);
|
|
}
|
|
|
|
if (statics.AudioCAPdevs != null)
|
|
{
|
|
cb_audioCAP.BeginUpdate();
|
|
cb_audioCAP.Items.Clear();
|
|
foreach (String s in statics.AudioCAPdevs)
|
|
{
|
|
if (s.Length > 1)
|
|
{
|
|
cb_audioCAP.Items.Add(s);
|
|
}
|
|
}
|
|
cb_audioCAP.EndUpdate();
|
|
findDevice(cb_audioCAP);
|
|
}
|
|
}
|
|
|
|
void findDevice(ComboBox cb)
|
|
{
|
|
int pos = -1;
|
|
|
|
if (cb.Text.Length >= 4)
|
|
{
|
|
int anz = cb.Items.Count;
|
|
for (int i = 0; i < anz; i++)
|
|
{
|
|
if (cb.Text == cb.Items[i].ToString())
|
|
{
|
|
pos = i;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (pos == -1)
|
|
{
|
|
// not available, reset to first item which usually is Default
|
|
if (cb.Items.Count == 0)
|
|
cb.Text = "no sound devices available";
|
|
else
|
|
cb.Text = cb.Items[0].ToString();
|
|
}
|
|
else
|
|
cb.Text = cb.Items[pos].ToString();
|
|
}
|
|
|
|
private void button2_Click(object sender, EventArgs e)
|
|
{
|
|
if (statics.AudioPBdev != cb_audioPB.Text || statics.AudioCAPdev != cb_audioCAP.Text)
|
|
{
|
|
statics.AudioPBdev = cb_audioPB.Text;
|
|
statics.AudioCAPdev = cb_audioCAP.Text;
|
|
statics.newaudiodevs = true;
|
|
}
|
|
|
|
statics.rxqrg = (UInt32)(statics.MyToDouble(tb_rxqrg.Text) * 1000000.0);
|
|
statics.txqrg = (UInt32)(statics.MyToDouble(tb_txqrg.Text) * 1000000.0);
|
|
double dv = statics.MyToDouble(tb_plutooffset.Text);
|
|
statics.rfoffset = (int)dv;
|
|
dv = statics.MyToDouble(tb_lnboffset.Text);
|
|
statics.lnboffset = (int)dv;
|
|
dv = statics.MyToDouble(textBox_txpower.Text);
|
|
statics.txpower = (int)dv;
|
|
if (statics.txpower > 0) statics.txpower = 0;
|
|
if (statics.txpower < -60) statics.txpower = -60;
|
|
|
|
statics.plutousb = rb_plutousb.Checked?1:0;
|
|
statics.plutoaddress = tb_plutoip.Text;
|
|
statics.cpuspeed = comboBox_cpuspeed.SelectedIndex;
|
|
statics.palette = comboBox_color.SelectedIndex;
|
|
statics.autosync = cb_autosync.Checked;
|
|
statics.pttmode = cb_pttmode.SelectedIndex;
|
|
}
|
|
|
|
private void rb_plutousb_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
if (rb_plutousb.Checked)
|
|
{
|
|
tb_plutoip.Enabled = false;
|
|
}
|
|
}
|
|
|
|
private void rb_plutoeth_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
if (rb_plutoeth.Checked)
|
|
{
|
|
tb_plutoip.Enabled = true;
|
|
}
|
|
}
|
|
|
|
private void button3_Click(object sender, EventArgs e)
|
|
{
|
|
statics.OpenUrl("https://wiki.amsat-dl.org/doku.php?id=en:plutotrx:config");
|
|
}
|
|
|
|
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
statics.language = comboBox1.SelectedIndex;
|
|
|
|
foreach (Control c in Controls)
|
|
c.Text = language.GetText(c.Text);
|
|
}
|
|
|
|
private void button_shutdown_Click(object sender, EventArgs e)
|
|
{
|
|
DialogResult dr = MessageBox.Show(language.GetText("Do you want to shut down the computer?"), "Shut Down", MessageBoxButtons.YesNo);
|
|
if (dr == DialogResult.Yes)
|
|
{
|
|
Byte[] txb = new Byte[1];
|
|
txb[0] = 21;
|
|
Udp.UdpSendData(txb);
|
|
}
|
|
}
|
|
}
|
|
}
|