private void SaveSettings()
{
PortAudio.AudioDevice indev = comboHeadsetInput.SelectedItem as PortAudio.AudioDevice;
PortAudio.AudioDevice outdev = comboHeadsetOutput.SelectedItem as PortAudio.AudioDevice;
broker.SetHeadsetDevs(indev == null ? "" : indev.name, outdev == null ? "" : outdev.name);
indev = comboSpeakerInput.SelectedItem as PortAudio.AudioDevice;
outdev = comboSpeakerOutput.SelectedItem as PortAudio.AudioDevice;
broker.SetSpeakerDevs(indev == null ? "" : indev.name, outdev == null ? "" : outdev.name);
outdev = comboRingDevice.SelectedItem as PortAudio.AudioDevice;
broker.SetRingDev(outdev == null ? "" : outdev.name);
broker.IncomingBalloons = chkIncomingBalloons.IsChecked == true;
string incoming_key = (comboOnIncomingCall.SelectedItem as ComboOption).key;
if (incoming_key == "None")
{
broker.IncomingKeyboardFocus = broker.IncomingTopMost = false;
}
else
{
broker.IncomingTopMost = true;
broker.IncomingKeyboardFocus = (incoming_key == "FrontKeyboard");
}
broker.ClearDTMFS = chkClearDTMFS.IsChecked == true;
broker.UPNPNAT = chkNAT.IsChecked == true;
broker.DirectSipDial = chkDirectSip.IsChecked == true;
broker.UseNumberOnlyInput = chkUseNumbers.IsChecked == true;
broker.recordings_folder = txtRecordingPath.Text;
broker.CheckForUpdates = chkUpdatesOnStart.IsChecked == true ? "OnStart" : "Never";
broker.GUIStartup = (comboGUIStartup.SelectedItem as ComboOption).key;
broker.theme = (comboTheme.SelectedItem as ComboOption).key;
broker.SetActiveHeadset(comboHeadsetDevice.SelectedItem as string);
broker.SaveSettings();
}