示例#1
0
void CDVToolWriterFrame::onPreferences(wxCommandEvent& event)
{
	wxString callsign1, callsign2;
	::wxGetApp().getCallsign(callsign1, callsign2);

	DONGLE_TYPE type;
	wxString device, address;
	unsigned int port;
	::wxGetApp().getDongle(type, device, address, port);

	wxString soundcard;
	::wxGetApp().getSoundcard(soundcard);

	CDVToolWriterPreferences dialog1(this, -1, callsign1, callsign2, type, device, address, port, soundcard);
	if (dialog1.ShowModal() != wxID_OK)
		return;

	callsign1 = dialog1.getCallsign1();
	callsign2 = dialog1.getCallsign2();
	type      = dialog1.getType();
	device    = dialog1.getDevice();
	address   = dialog1.getAddress();
	port      = dialog1.getPort();
	soundcard = dialog1.getSoundcard();

	::wxGetApp().setCallsign(callsign1, callsign2);
	::wxGetApp().setDongle(type, device, address, port);
	::wxGetApp().setSoundcard(soundcard);

	wxMessageDialog dialog2(this, _("The changes made will not take effect\nuntil the application is restarted"), _("DVTool Writer Information"), wxICON_INFORMATION);
	dialog2.ShowModal();
}
示例#2
0
void CDExtraGatewayFrame::onPreferences(wxCommandEvent& event)
{
	wxString callsign, reflector;
	bool atStartup;
	RECONNECT reconnect;
	TEXT_LANG language;
	::wxGetApp().getReflector(callsign, reflector, atStartup, reconnect, language);

	wxString repeaterCallsign, repeaterAddress, localAddress;
	unsigned int repeaterPort, localPort;
	::wxGetApp().getRepeater(repeaterCallsign, repeaterAddress, repeaterPort, localAddress, localPort);

	CDExtraGatewayPreferences dialog1(this, -1, callsign, reflector, atStartup, reconnect, language, repeaterCallsign, repeaterAddress, repeaterPort, localAddress, localPort);
	if (dialog1.ShowModal() != wxID_OK)
		return;

	callsign  = dialog1.getCallsign();
	reflector = dialog1.getReflector();
	atStartup = dialog1.atStartup();
	reconnect = dialog1.getReconnect();
	language  = dialog1.getLanguage();

	repeaterCallsign = dialog1.getRepeaterCallsign();
	repeaterAddress  = dialog1.getRepeaterAddress();
	repeaterPort     = dialog1.getRepeaterPort();
	localAddress     = dialog1.getLocalAddress();
	localPort        = dialog1.getLocalPort();

	::wxGetApp().setReflector(callsign, reflector, atStartup, reconnect, language);
	::wxGetApp().setRepeater(repeaterCallsign, repeaterAddress, repeaterPort, localAddress, localPort);
	::wxGetApp().writeConfig();

	wxMessageDialog dialog2(this, _("The changes made will not take effect\nuntil the application is restarted"), _("DExtra Gateway Information"), wxICON_INFORMATION);
	dialog2.ShowModal();
}
示例#3
0
void SaveLoad_ns::renameOldSavefiles() {
	Common::StringArray oldFilenames = _saveFileMan->listSavefiles("game.*");
	uint numOldSaves = oldFilenames.size();

	bool rename = false;
	uint success = 0, id;
	Common::String oldName, newName;
	for (uint i = 0; i < oldFilenames.size(); ++i) {
		oldName = oldFilenames[i];
		int e = sscanf(oldName.c_str(), "game.%u", &id);
		if (e != 1) {
			// this wasn't a savefile, so adjust numOldSaves accordingly
			--numOldSaves;
			continue;
		}

		if (!rename) {
			rename = askRenameOldSavefiles();
		}
		if (!rename) {
			// return immediately if the user doesn't want to rename the files
			return;
		}

		newName = genSaveFileName(id);
		if (_saveFileMan->renameSavefile(oldName, newName)) {
			success++;
		} else {
			warning("Error %i (%s) occurred while renaming %s to %s", _saveFileMan->getError().getCode(),
				_saveFileMan->getErrorDesc().c_str(), oldName.c_str(), newName.c_str());
		}
	}

	if (numOldSaves == 0) {
		// there were no old savefiles: nothing to notify
		return;
	}

	char msg[200];
	if (success == numOldSaves) {
		sprintf(msg, "ScummVM successfully converted all your savefiles.");
	} else {
		sprintf(msg,
			"ScummVM printed some warnings in your console window and can't guarantee all your files have been converted.\n\n"
			"Please report to the team.");
	}

	GUI::MessageDialog dialog1(msg);
	dialog1.runModal();
}
示例#4
0
void CRemoteControlFrame::onPreferences(wxCommandEvent&)
{
	wxString address, password;
	unsigned int port;
	::wxGetApp().getConfig(address, port, password);

	CRemoteControlPreferences dialog1(this, -1, address, port, password);
	if (dialog1.ShowModal() != wxID_OK)
		return;

	address   = dialog1.getAddress();
	port      = dialog1.getPort();
	password  = dialog1.getPassword();

	::wxGetApp().setConfig(address, port, password);

	wxMessageDialog dialog2(this, _("The changes made will not take effect\nuntil the application is restarted"), _("Remote Control Information"), wxICON_INFORMATION);
	dialog2.ShowModal();
}
void CDummyRepeaterFrame::onPreferences(wxCommandEvent& event)
{
	wxString callsign1, callsign2;
	::wxGetApp().getCallsign(callsign1, callsign2);

	wxString readDevice, writeDevice;
	::wxGetApp().getSoundcard(readDevice, writeDevice);

	wxString dvdDevice;
	::wxGetApp().getDVDongle(dvdDevice);

	wxString gatewayAddress, localAddress;
	unsigned int gatewayPort, localPort;
	::wxGetApp().getNetwork(gatewayAddress, gatewayPort, localAddress, localPort);

	wxString type;
	unsigned int config;
	bool pttInvert, squelchInvert;
	::wxGetApp().getController(type, config, pttInvert, squelchInvert);

	unsigned int timeout;
	::wxGetApp().getTimeout(timeout);

	wxString message;
	::wxGetApp().getMessage(message);

	bool bleep;
	::wxGetApp().getBleep(bleep);

	CDummyRepeaterPreferences dialog1(this, -1, callsign1, callsign2, readDevice, writeDevice, dvdDevice,
		gatewayAddress, gatewayPort, localAddress, localPort, type, config, pttInvert, squelchInvert, timeout,
		message, bleep);
	if (dialog1.ShowModal() != wxID_OK)
		return;

	callsign1       = dialog1.getCallsign1();
	callsign2       = dialog1.getCallsign2();

	readDevice      = dialog1.getSoundcardReadDevice();
	writeDevice     = dialog1.getSoundcardWriteDevice();

	gatewayAddress  = dialog1.getGatewayAddress();
	gatewayPort     = dialog1.getGatewayPort();
	localAddress    = dialog1.getLocalAddress();
	localPort       = dialog1.getLocalPort();

	type            = dialog1.getType();
	config          = dialog1.getConfig();
	pttInvert       = dialog1.getPTTInvert();
	squelchInvert   = dialog1.getSquelchInvert();

	dvdDevice       = dialog1.getDVDDevice();

	timeout         = dialog1.getTimeout();

	message         = dialog1.getMessage();

	bleep           = dialog1.getBleep();

	::wxGetApp().setCallsign(callsign1, callsign2);
	::wxGetApp().setSoundcard(readDevice, writeDevice);
	::wxGetApp().setDVDongle(dvdDevice);
	::wxGetApp().setNetwork(gatewayAddress, gatewayPort, localAddress, localPort);
	::wxGetApp().setController(type, config, pttInvert, squelchInvert);
	::wxGetApp().setTimeout(timeout);
	::wxGetApp().setMessage(message);
	::wxGetApp().setBleep(bleep);

	wxMessageDialog dialog2(this, _("The changes made will not take effect\nuntil the application is restarted"), _("Dummy Repeater Information"), wxICON_INFORMATION);
	dialog2.ShowModal();
}
void CGMSKRepeaterFrame::onPreferences(wxCommandEvent& event)
{
    wxString callsign, gateway;
    DSTAR_MODE mode;
    ACK_TYPE ack;
    bool restriction, rpt1Validation;
    ::wxGetApp().getCallsign(callsign, gateway, mode, ack, restriction, rpt1Validation);

    wxString gatewayAddress, localAddress;
    unsigned int gatewayPort, localPort;
    ::wxGetApp().getNetwork(gatewayAddress, gatewayPort, localAddress, localPort);

    unsigned int timeout, ackTime;
    ::wxGetApp().getTimes(timeout, ackTime);

    unsigned int beaconTime;
    wxString beaconText;
    bool beaconVoice;
    TEXT_LANG language;
    ::wxGetApp().getBeacon(beaconTime, beaconText, beaconVoice, language);

    GMSK_MODEM_TYPE type;
    unsigned int address;
    ::wxGetApp().getModem(type, address);

    bool enabled;
    wxString rpt1Callsign, rpt2Callsign;
    wxString shutdown, startup;
    wxString status1, status2, status3, status4, status5;
    wxString command1, command1Line, command2, command2Line;
    wxString command3, command3Line, command4, command4Line;
    wxString output1, output2, output3, output4;
    ::wxGetApp().getControl(enabled, rpt1Callsign, rpt2Callsign, shutdown, startup, status1, status2, status3, status4, status5, command1, command1Line, command2, command2Line, command3, command3Line, command4, command4Line, output1, output2, output3, output4);

    wxString controllerType;
    unsigned int activeHangTime;
    ::wxGetApp().getController(controllerType, activeHangTime);

    CGMSKRepeaterPreferences dialog1(this, -1, callsign, gateway, mode, ack, restriction, rpt1Validation,
                                     gatewayAddress, gatewayPort, localAddress, localPort, timeout, ackTime, beaconTime, beaconText,
                                     beaconVoice, language, type, address, enabled, rpt1Callsign, rpt2Callsign, shutdown, startup, status1,
                                     status2, status3, status4, status5, command1, command1Line, command2, command2Line, command3,
                                     command3Line, command4, command4Line, output1, output2, output3, output4, controllerType,
                                     activeHangTime);
    if (dialog1.ShowModal() != wxID_OK)
        return;

    callsign       = dialog1.getCallsign();
    gateway        = dialog1.getGateway();
    mode           = dialog1.getMode();
    ack            = dialog1.getAck();
    restriction    = dialog1.getRestriction();
    rpt1Validation = dialog1.getRPT1Validation();
    ::wxGetApp().setCallsign(callsign, gateway, mode, ack, restriction, rpt1Validation);

    gatewayAddress = dialog1.getGatewayAddress();
    gatewayPort    = dialog1.getGatewayPort();
    localAddress   = dialog1.getLocalAddress();
    localPort      = dialog1.getLocalPort();
    ::wxGetApp().setNetwork(gatewayAddress, gatewayPort, localAddress, localPort);

    timeout    = dialog1.getTimeout();
    ackTime    = dialog1.getAckTime();
    ::wxGetApp().setTimes(timeout, ackTime);

    beaconTime  = dialog1.getBeaconTime();
    beaconText  = dialog1.getBeaconText();
    beaconVoice = dialog1.getBeaconVoice();
    language    = dialog1.getLanguage();
    ::wxGetApp().setBeacon(beaconTime, beaconText, beaconVoice, language);

    type      = dialog1.getType();
    address   = dialog1.getAddress();
    ::wxGetApp().setModem(type, address);

    enabled      = dialog1.getEnabled();
    rpt1Callsign = dialog1.getRPT1Callsign();
    rpt2Callsign = dialog1.getRPT2Callsign();
    shutdown     = dialog1.getShutdown();
    startup      = dialog1.getStartup();
    status1      = dialog1.getStatus1();
    status2      = dialog1.getStatus2();
    status3      = dialog1.getStatus3();
    status4      = dialog1.getStatus4();
    status5      = dialog1.getStatus5();
    output1      = dialog1.getOutput1();
    output2      = dialog1.getOutput2();
    output3      = dialog1.getOutput3();
    output4      = dialog1.getOutput4();
    command1     = dialog1.getCommand1();
    command1Line = dialog1.getCommand1Line();
    command2     = dialog1.getCommand2();
    command2Line = dialog1.getCommand2Line();
    command3     = dialog1.getCommand3();
    command3Line = dialog1.getCommand3Line();
    command4     = dialog1.getCommand4();
    command4Line = dialog1.getCommand4Line();
    ::wxGetApp().setControl(enabled, rpt1Callsign, rpt2Callsign, shutdown, startup, status1, status2, status3, status4, status5, command1, command1Line, command2, command2Line, command3, command3Line, command4, command4Line, output1, output2, output3, output4);

    controllerType = dialog1.getControllerType();
    activeHangTime = dialog1.getActiveHangTime();
    ::wxGetApp().setController(controllerType, activeHangTime);

    ::wxGetApp().writeConfig();

    wxMessageDialog dialog2(this, _("The changes made will not take effect\nuntil the application is restarted"), _("GMSK Repeater Information"), wxICON_INFORMATION);
    dialog2.ShowModal();
}
void CIRCDDBGatewayFrame::onPreferences(wxCommandEvent& event)
{
	wxString gatewayCallsign, gatewayAddress, icomAddress, hbAddress, description1, description2, url;
	unsigned int icomPort, hbPort;
	double latitude, longitude;
	::wxGetApp().getGateway(gatewayCallsign, gatewayAddress, icomAddress, icomPort, hbAddress, hbPort, latitude, longitude, description1, description2, url);

	wxString repeaterCall1, repeaterBand1, repeaterAddress1, reflector1, description11, description12, url1;
	double frequency1, offset1, range1, latitude1, longitude1, agl1;
	unsigned char band11, band12, band13;
	unsigned int repeaterPort1;
	HW_TYPE repeaterType1;
	bool atStartup1;
	RECONNECT reconnect1;
	::wxGetApp().getRepeater1(repeaterCall1, repeaterBand1, repeaterType1, repeaterAddress1, repeaterPort1, band11, band12, band13, reflector1, atStartup1, reconnect1, frequency1, offset1, range1, latitude1, longitude1, agl1, description11, description12, url1);

	wxString repeaterCall2, repeaterBand2, repeaterAddress2, reflector2, description21, description22, url2;
	double frequency2, offset2, range2, latitude2, longitude2, agl2;
	unsigned char band21, band22, band23;
	unsigned int repeaterPort2;
	HW_TYPE repeaterType2;
	bool atStartup2;
	RECONNECT reconnect2;
	::wxGetApp().getRepeater2(repeaterCall2, repeaterBand2, repeaterType2, repeaterAddress2, repeaterPort2, band21, band22, band23, reflector2, atStartup2, reconnect2, frequency2, offset2, range2, latitude2, longitude2, agl2, description21, description22, url2);

	wxString repeaterCall3, repeaterBand3, repeaterAddress3, reflector3, description31, description32, url3;
	double frequency3, offset3, range3, latitude3, longitude3, agl3;
	unsigned char band31, band32, band33;
	unsigned int repeaterPort3;
	HW_TYPE repeaterType3;
	bool atStartup3;
	RECONNECT reconnect3;
	::wxGetApp().getRepeater3(repeaterCall3, repeaterBand3, repeaterType3, repeaterAddress3, repeaterPort3, band31, band32, band33, reflector3, atStartup3, reconnect3, frequency3, offset3, range3, latitude3, longitude3, agl3, description31, description32, url3);

	wxString repeaterCall4, repeaterBand4, repeaterAddress4, reflector4, description41, description42, url4;
	double frequency4, offset4, range4, latitude4, longitude4, agl4;
	unsigned char band41, band42, band43;
	unsigned int repeaterPort4;
	HW_TYPE repeaterType4;
	bool atStartup4;
	RECONNECT reconnect4;
	::wxGetApp().getRepeater4(repeaterCall4, repeaterBand4, repeaterType4, repeaterAddress4, repeaterPort4, band41, band42, band43, reflector4, atStartup4, reconnect4, frequency4, offset4, range4, latitude4, longitude4, agl4, description41, description42, url4);

	wxString hostname, username, password;
	::wxGetApp().getIrcDDB(hostname, username, password);

	wxString aprsHostname;
	unsigned int aprsPort;
	bool aprsEnabled;
	::wxGetApp().getDPRS(aprsEnabled, aprsHostname, aprsPort);

	bool dextraEnabled;
	unsigned int maxDExtraDongles;
	::wxGetApp().getDExtra(dextraEnabled, maxDExtraDongles);

	wxString dplusLogin;
	unsigned int maxDPlusDongles;
	bool dplusEnabled;
	::wxGetApp().getDPlus(dplusEnabled, maxDPlusDongles, dplusLogin);

	bool dcsEnabled;
	::wxGetApp().getDCS(dcsEnabled);

	unsigned int remotePort;
	wxString remotePassword;
	bool remoteEnabled;
	::wxGetApp().getRemote(remoteEnabled, remotePassword, remotePort);

	TEXT_LANG language;
	bool infoEnabled, echoEnabled, logEnabled, dratsEnabled, dtmfEnabled;
	::wxGetApp().getMiscellaneous(language, infoEnabled, echoEnabled, logEnabled, dratsEnabled, dtmfEnabled);

#if defined(DEXTRA_LINK) || defined(DCS_LINK)
	wxString starNetBand1, starNetCallsign1, starNetLogoff1, starNetInfo1, starNetLink1, starNetPermanent1;
	unsigned int starNetUserTimeout1, starNetGroupTimeout1;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch1;
	bool starNetTXMsgSwitch1;
	::wxGetApp().getStarNet1(starNetBand1, starNetCallsign1, starNetLogoff1, starNetInfo1, starNetPermanent1, starNetUserTimeout1, starNetGroupTimeout1, starNetCallsignSwitch1, starNetTXMsgSwitch1, starNetLink1);

	wxString starNetBand2, starNetCallsign2, starNetLogoff2, starNetInfo2, starNetLink2, starNetPermanent2;
	unsigned int starNetUserTimeout2, starNetGroupTimeout2;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch2;
	bool starNetTXMsgSwitch2;
	::wxGetApp().getStarNet2(starNetBand2, starNetCallsign2, starNetLogoff2, starNetInfo2, starNetPermanent2, starNetUserTimeout2, starNetGroupTimeout2, starNetCallsignSwitch2, starNetTXMsgSwitch2, starNetLink2);

	wxString starNetBand3, starNetCallsign3, starNetLogoff3, starNetInfo3, starNetLink3, starNetPermanent3;
	unsigned int starNetUserTimeout3, starNetGroupTimeout3;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch3;
	bool starNetTXMsgSwitch3;
	::wxGetApp().getStarNet3(starNetBand3, starNetCallsign3, starNetLogoff3, starNetInfo3, starNetPermanent3, starNetUserTimeout3, starNetGroupTimeout3, starNetCallsignSwitch3, starNetTXMsgSwitch3, starNetLink3);

	wxString starNetBand4, starNetCallsign4, starNetLogoff4, starNetInfo4, starNetLink4, starNetPermanent4;
	unsigned int starNetUserTimeout4, starNetGroupTimeout4;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch4;
	bool starNetTXMsgSwitch4;
	::wxGetApp().getStarNet4(starNetBand4, starNetCallsign4, starNetLogoff4, starNetInfo4, starNetPermanent4, starNetUserTimeout4, starNetGroupTimeout4, starNetCallsignSwitch4, starNetTXMsgSwitch4, starNetLink4);

	wxString starNetBand5, starNetCallsign5, starNetLogoff5, starNetInfo5, starNetLink5, starNetPermanent5;
	unsigned int starNetUserTimeout5, starNetGroupTimeout5;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch5;
	bool starNetTXMsgSwitch5;
	::wxGetApp().getStarNet5(starNetBand5, starNetCallsign5, starNetLogoff5, starNetInfo5, starNetPermanent5, starNetUserTimeout5, starNetGroupTimeout5, starNetCallsignSwitch5, starNetTXMsgSwitch5, starNetLink5);

	CIRCDDBGatewayPreferences dialog1(this, -1, gatewayCallsign, gatewayAddress, icomAddress, icomPort, hbAddress, hbPort, latitude, longitude, description1, description2, url,
		repeaterBand1, repeaterType1, repeaterAddress1, repeaterPort1, band11, band12, band13, reflector1, atStartup1, reconnect1, frequency1, offset1, range1, latitude1, longitude1, agl1, description11, description12, url1,
		repeaterBand2, repeaterType2, repeaterAddress2, repeaterPort2, band21, band22, band23, reflector2, atStartup2, reconnect2, frequency2, offset2, range2, latitude2, longitude2, agl2, description21, description22, url2,
		repeaterBand3, repeaterType3, repeaterAddress3, repeaterPort3, band31, band32, band33, reflector3, atStartup3, reconnect3, frequency3, offset3, range3, latitude3, longitude3, agl3, description31, description32, url3,
		repeaterBand4, repeaterType4, repeaterAddress4, repeaterPort4, band41, band42, band43, reflector4, atStartup4, reconnect4, frequency4, offset4, range4, latitude4, longitude4, agl4, description41, description42, url4,
		hostname, username, password, language, infoEnabled, echoEnabled, logEnabled, dratsEnabled, dtmfEnabled,
		aprsEnabled, aprsHostname, aprsPort, dextraEnabled, maxDExtraDongles,
		dplusEnabled, maxDPlusDongles, dplusLogin, dcsEnabled,
		starNetBand1, starNetCallsign1, starNetLogoff1, starNetInfo1, starNetPermanent1, starNetUserTimeout1, starNetGroupTimeout1, starNetCallsignSwitch1, starNetTXMsgSwitch1, starNetLink1,
		starNetBand2, starNetCallsign2, starNetLogoff2, starNetInfo2, starNetPermanent2, starNetUserTimeout2, starNetGroupTimeout2, starNetCallsignSwitch2, starNetTXMsgSwitch2, starNetLink2,
		starNetBand3, starNetCallsign3, starNetLogoff3, starNetInfo3, starNetPermanent3, starNetUserTimeout3, starNetGroupTimeout3, starNetCallsignSwitch3, starNetTXMsgSwitch3, starNetLink3,
		starNetBand4, starNetCallsign4, starNetLogoff4, starNetInfo4, starNetPermanent4, starNetUserTimeout4, starNetGroupTimeout4, starNetCallsignSwitch4, starNetTXMsgSwitch4, starNetLink4,
		starNetBand5, starNetCallsign5, starNetLogoff5, starNetInfo5, starNetPermanent5, starNetUserTimeout5, starNetGroupTimeout5, starNetCallsignSwitch5, starNetTXMsgSwitch5, starNetLink5,
		remoteEnabled, remotePassword, remotePort);
#else
	wxString starNetBand1, starNetCallsign1, starNetLogoff1, starNetInfo1, starNetPermanent1;
	unsigned int starNetUserTimeout1, starNetGroupTimeout1;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch1;
	bool starNetTXMsgSwitch1;
	::wxGetApp().getStarNet1(starNetBand1, starNetCallsign1, starNetLogoff1, starNetInfo1, starNetPermanent1, starNetUserTimeout1, starNetGroupTimeout1, starNetCallsignSwitch1, starNetTXMsgSwitch1);

	wxString starNetBand2, starNetCallsign2, starNetLogoff2, starNetInfo2, starNetPermanent2;
	unsigned int starNetUserTimeout2, starNetGroupTimeout2;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch2;
	bool starNetTXMsgSwitch2;
	::wxGetApp().getStarNet2(starNetBand2, starNetCallsign2, starNetLogoff2, starNetInfo2, starNetPermanent2, starNetUserTimeout2, starNetGroupTimeout2, starNetCallsignSwitch2, starNetTXMsgSwitch2);

	wxString starNetBand3, starNetCallsign3, starNetLogoff3, starNetInfo3, starNetPermanent3;
	unsigned int starNetUserTimeout3, starNetGroupTimeout3;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch3;
	bool starNetTXMsgSwitch3;
	::wxGetApp().getStarNet3(starNetBand3, starNetCallsign3, starNetLogoff3, starNetInfo3, starNetPermanent3, starNetUserTimeout3, starNetGroupTimeout3, starNetCallsignSwitch3, starNetTXMsgSwitch3);

	wxString starNetBand4, starNetCallsign4, starNetLogoff4, starNetInfo4, starNetPermanent4;
	unsigned int starNetUserTimeout4, starNetGroupTimeout4;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch4;
	bool starNetTXMsgSwitch4;
	::wxGetApp().getStarNet4(starNetBand4, starNetCallsign4, starNetLogoff4, starNetInfo4, starNetPermanent4, starNetUserTimeout4, starNetGroupTimeout4, starNetCallsignSwitch4, starNetTXMsgSwitch4);

	wxString starNetBand5, starNetCallsign5, starNetLogoff5, starNetInfo5, starNetPermanent5;
	unsigned int starNetUserTimeout5, starNetGroupTimeout5;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch5;
	bool starNetTXMsgSwitch5;
	::wxGetApp().getStarNet5(starNetBand5, starNetCallsign5, starNetLogoff5, starNetInfo5, starNetPermanent5, starNetUserTimeout5, starNetGroupTimeout5, starNetCallsignSwitch5, starNetTXMsgSwitch5);

	CIRCDDBGatewayPreferences dialog1(this, -1, gatewayCallsign, gatewayAddress, icomAddress, icomPort, hbAddress, hbPort, latitude, longitude, description1, description2, url,
		repeaterBand1, repeaterType1, repeaterAddress1, repeaterPort1, band11, band12, band13, reflector1, atStartup1, reconnect1, frequency1, offset1, range1, latitude1, longitude1, agl1, description11, description12, url1,
		repeaterBand2, repeaterType2, repeaterAddress2, repeaterPort2, band21, band22, band23, reflector2, atStartup2, reconnect2, frequency2, offset2, range2, latitude2, longitude2, agl2, description21, description22, url2,
		repeaterBand3, repeaterType3, repeaterAddress3, repeaterPort3, band31, band32, band33, reflector3, atStartup3, reconnect3, frequency3, offset3, range3, latitude3, longitude3, agl3, description31, description32, url3,
		repeaterBand4, repeaterType4, repeaterAddress4, repeaterPort4, band41, band42, band43, reflector4, atStartup4, reconnect4, frequency4, offset4, range4, latitude4, longitude4, agl4, description41, description42, url4,
		hostname, username, password, language, infoEnabled, echoEnabled, logEnabled, dratsEnabled, dtmfEnabled,
		aprsEnabled, aprsHostname, aprsPort, dextraEnabled, maxDExtraDongles,
		dplusEnabled, maxDPlusDongles, dplusLogin, dcsEnabled,
		starNetBand1, starNetCallsign1, starNetLogoff1, starNetInfo1, starNetPermanent1, starNetUserTimeout1, starNetGroupTimeout1, starNetCallsignSwitch1, starNetTXMsgSwitch1,
		starNetBand2, starNetCallsign2, starNetLogoff2, starNetInfo2, starNetPermanent2, starNetUserTimeout2, starNetGroupTimeout2, starNetCallsignSwitch2, starNetTXMsgSwitch2,
		starNetBand3, starNetCallsign3, starNetLogoff3, starNetInfo3, starNetPermanent3, starNetUserTimeout3, starNetGroupTimeout3, starNetCallsignSwitch3, starNetTXMsgSwitch3,
		starNetBand4, starNetCallsign4, starNetLogoff4, starNetInfo4, starNetPermanent4, starNetUserTimeout4, starNetGroupTimeout4, starNetCallsignSwitch4, starNetTXMsgSwitch4,
		starNetBand5, starNetCallsign5, starNetLogoff5, starNetInfo5, starNetPermanent5, starNetUserTimeout5, starNetGroupTimeout5, starNetCallsignSwitch5, starNetTXMsgSwitch5,
		remoteEnabled, remotePassword, remotePort);
#endif
	if (dialog1.ShowModal() != wxID_OK)
		return;

	gatewayCallsign  = dialog1.getGatewayCallsign();
	gatewayAddress   = dialog1.getGatewayAddress();
	icomAddress      = dialog1.getIcomAddress();
	icomPort         = dialog1.getIcomPort();
	hbAddress        = dialog1.getHBAddress();
	hbPort           = dialog1.getHBPort();
	latitude         = dialog1.getLatitude();
	longitude        = dialog1.getLongitude();
	description1     = dialog1.getDescription1();
	description2     = dialog1.getDescription2();
	url              = dialog1.getURL();

	repeaterBand1    = dialog1.getRepeaterBand1();
	repeaterType1    = dialog1.getRepeaterType1();
	repeaterAddress1 = dialog1.getRepeaterAddress1();
	repeaterPort1    = dialog1.getRepeaterPort1();
	band11           = dialog1.getBand11();
	band12           = dialog1.getBand12();
	band13           = dialog1.getBand13();
	reflector1       = dialog1.getReflector1();
	atStartup1       = dialog1.atStartup1();
	reconnect1       = dialog1.getReconnect1();
	frequency1       = dialog1.getFrequency1();
	offset1          = dialog1.getOffset1();
	range1           = dialog1.getRange1();
	latitude1        = dialog1.getLatitude1();
	longitude1       = dialog1.getLongitude1();
	agl1             = dialog1.getAGL1();
	description11    = dialog1.getDescription11();
	description12    = dialog1.getDescription12();
	url1             = dialog1.getURL1();

	repeaterBand2    = dialog1.getRepeaterBand2();
	repeaterType2    = dialog1.getRepeaterType2();
	repeaterAddress2 = dialog1.getRepeaterAddress2();
	repeaterPort2    = dialog1.getRepeaterPort2();
	band21           = dialog1.getBand21();
	band22           = dialog1.getBand22();
	band23           = dialog1.getBand23();
	reflector2       = dialog1.getReflector2();
	atStartup2       = dialog1.atStartup2();
	reconnect2       = dialog1.getReconnect2();
	frequency2       = dialog1.getFrequency2();
	offset2          = dialog1.getOffset2();
	range2           = dialog1.getRange2();
	latitude2        = dialog1.getLatitude2();
	longitude2       = dialog1.getLongitude2();
	agl2             = dialog1.getAGL2();
	description21    = dialog1.getDescription21();
	description22    = dialog1.getDescription22();
	url2             = dialog1.getURL2();

	repeaterBand3    = dialog1.getRepeaterBand3();
	repeaterType3    = dialog1.getRepeaterType3();
	repeaterAddress3 = dialog1.getRepeaterAddress3();
	repeaterPort3    = dialog1.getRepeaterPort3();
	band31           = dialog1.getBand31();
	band32           = dialog1.getBand32();
	band33           = dialog1.getBand33();
	reflector3       = dialog1.getReflector3();
	atStartup3       = dialog1.atStartup3();
	reconnect3       = dialog1.getReconnect3();
	frequency3       = dialog1.getFrequency3();
	offset3          = dialog1.getOffset3();
	range3           = dialog1.getRange3();
	latitude3        = dialog1.getLatitude3();
	longitude3       = dialog1.getLongitude3();
	agl3             = dialog1.getAGL3();
	description31    = dialog1.getDescription31();
	description32    = dialog1.getDescription32();
	url3             = dialog1.getURL3();

	repeaterBand4    = dialog1.getRepeaterBand4();
	repeaterType4    = dialog1.getRepeaterType4();
	repeaterAddress4 = dialog1.getRepeaterAddress4();
	repeaterPort4    = dialog1.getRepeaterPort4();
	band41           = dialog1.getBand41();
	band42           = dialog1.getBand42();
	band43           = dialog1.getBand43();
	reflector4       = dialog1.getReflector4();
	atStartup4       = dialog1.atStartup4();
	reconnect4       = dialog1.getReconnect4();
	frequency4       = dialog1.getFrequency4();
	offset4          = dialog1.getOffset4();
	range4           = dialog1.getRange4();
	latitude4        = dialog1.getLatitude4();
	longitude4       = dialog1.getLongitude4();
	agl4             = dialog1.getAGL4();
	description41    = dialog1.getDescription41();
	description42    = dialog1.getDescription42();
	url4             = dialog1.getURL4();

	hostname         = dialog1.getHostname();
	username         = dialog1.getUsername();
	password         = dialog1.getPassword();

	aprsEnabled      = dialog1.getAPRSEnabled();
	aprsHostname     = dialog1.getAPRSHostname();
	aprsPort         = dialog1.getAPRSPort();

	dextraEnabled    = dialog1.getDExtraEnabled();
	maxDExtraDongles = dialog1.getMaxDExtraDongles();

	dplusEnabled     = dialog1.getDPlusEnabled();
	maxDPlusDongles  = dialog1.getMaxDPlusDongles();
	dplusLogin       = dialog1.getDPlusLogin();

	dcsEnabled       = dialog1.getDCSEnabled();

	starNetBand1         = dialog1.getStarNetBand1();
	starNetCallsign1     = dialog1.getStarNetCallsign1();
	starNetLogoff1       = dialog1.getStarNetLogoff1();
	starNetInfo1         = dialog1.getStarNetInfo1();
	starNetPermanent1    = dialog1.getStarNetPermanent1();
	starNetUserTimeout1  = dialog1.getStarNetUserTimeout1();
	starNetGroupTimeout1 = dialog1.getStarNetGroupTimeout1();
	starNetCallsignSwitch1 = dialog1.getStarNetCallsignSwitch1();
	starNetTXMsgSwitch1  = dialog1.getStarNetTXMsgSwitch1();
#if defined(DEXTRA_LINK) || defined(DCS_LINK)
	starNetLink1         = dialog1.getStarNetLink1();
#endif

	starNetBand2         = dialog1.getStarNetBand2();
	starNetCallsign2     = dialog1.getStarNetCallsign2();
	starNetLogoff2       = dialog1.getStarNetLogoff2();
	starNetInfo2         = dialog1.getStarNetInfo2();
	starNetPermanent2    = dialog1.getStarNetPermanent2();
	starNetUserTimeout2  = dialog1.getStarNetUserTimeout2();
	starNetGroupTimeout2 = dialog1.getStarNetGroupTimeout2();
	starNetGroupTimeout2 = dialog1.getStarNetGroupTimeout2();
	starNetCallsignSwitch2 = dialog1.getStarNetCallsignSwitch2();
	starNetTXMsgSwitch2  = dialog1.getStarNetTXMsgSwitch2();
#if defined(DEXTRA_LINK) || defined(DCS_LINK)
	starNetLink2         = dialog1.getStarNetLink2();
#endif

	starNetBand3         = dialog1.getStarNetBand3();
	starNetCallsign3     = dialog1.getStarNetCallsign3();
	starNetLogoff3       = dialog1.getStarNetLogoff3();
	starNetInfo3         = dialog1.getStarNetInfo3();
	starNetPermanent3    = dialog1.getStarNetPermanent3();
	starNetUserTimeout3  = dialog1.getStarNetUserTimeout3();
	starNetGroupTimeout3 = dialog1.getStarNetGroupTimeout3();
	starNetGroupTimeout3 = dialog1.getStarNetGroupTimeout3();
	starNetCallsignSwitch3 = dialog1.getStarNetCallsignSwitch3();
	starNetTXMsgSwitch3  = dialog1.getStarNetTXMsgSwitch3();
#if defined(DEXTRA_LINK) || defined(DCS_LINK)
	starNetLink3         = dialog1.getStarNetLink3();
#endif

	starNetBand4         = dialog1.getStarNetBand4();
	starNetCallsign4     = dialog1.getStarNetCallsign4();
	starNetLogoff4       = dialog1.getStarNetLogoff4();
	starNetInfo4         = dialog1.getStarNetInfo4();
	starNetPermanent4    = dialog1.getStarNetPermanent4();
	starNetUserTimeout4  = dialog1.getStarNetUserTimeout4();
	starNetGroupTimeout4 = dialog1.getStarNetGroupTimeout4();
	starNetCallsignSwitch4 = dialog1.getStarNetCallsignSwitch4();
	starNetTXMsgSwitch4  = dialog1.getStarNetTXMsgSwitch4();
#if defined(DEXTRA_LINK) || defined(DCS_LINK)
	starNetLink4         = dialog1.getStarNetLink4();
#endif

	starNetBand5         = dialog1.getStarNetBand5();
	starNetCallsign5     = dialog1.getStarNetCallsign5();
	starNetLogoff5       = dialog1.getStarNetLogoff5();
	starNetInfo5         = dialog1.getStarNetInfo5();
	starNetPermanent5    = dialog1.getStarNetPermanent5();
	starNetUserTimeout5  = dialog1.getStarNetUserTimeout5();
	starNetGroupTimeout5 = dialog1.getStarNetGroupTimeout5();
	starNetCallsignSwitch5 = dialog1.getStarNetCallsignSwitch5();
	starNetTXMsgSwitch5  = dialog1.getStarNetTXMsgSwitch5();
#if defined(DEXTRA_LINK) || defined(DCS_LINK)
	starNetLink5         = dialog1.getStarNetLink5();
#endif

	remoteEnabled       = dialog1.getRemoteEnabled();
	remotePassword      = dialog1.getRemotePassword();
	remotePort          = dialog1.getRemotePort();

	language            = dialog1.getLanguage();
	infoEnabled         = dialog1.getInfoEnabled();
	echoEnabled         = dialog1.getEchoEnabled();
	logEnabled          = dialog1.getLogEnabled();
	dratsEnabled        = dialog1.getDRATSEnabled();
	dtmfEnabled         = dialog1.getDTMFEnabled();

	::wxGetApp().setGateway(gatewayCallsign, gatewayAddress, icomAddress, icomPort, hbAddress, hbPort, latitude, longitude, description1, description2, url);
	::wxGetApp().setRepeater1(repeaterBand1, repeaterType1, repeaterAddress1, repeaterPort1, band11, band12, band13, reflector1, atStartup1, reconnect1, frequency1, offset1, range1, latitude1, longitude1, agl1, description11, description12, url1);
	::wxGetApp().setRepeater2(repeaterBand2, repeaterType2, repeaterAddress2, repeaterPort2, band21, band22, band23, reflector2, atStartup2, reconnect2, frequency2, offset2, range2, latitude2, longitude2, agl2, description21, description22, url2);
	::wxGetApp().setRepeater3(repeaterBand3, repeaterType3, repeaterAddress3, repeaterPort3, band31, band32, band33, reflector3, atStartup3, reconnect3, frequency3, offset3, range3, latitude3, longitude3, agl3, description31, description32, url3);
	::wxGetApp().setRepeater4(repeaterBand4, repeaterType4, repeaterAddress4, repeaterPort4, band41, band42, band43, reflector4, atStartup4, reconnect4, frequency4, offset4, range4, latitude4, longitude4, agl4, description41, description42, url4);
	::wxGetApp().setIrcDDB(hostname, username, password);
	::wxGetApp().setDPRS(aprsEnabled, aprsHostname, aprsPort);
	::wxGetApp().setDExtra(dextraEnabled, maxDExtraDongles);
	::wxGetApp().setDPlus(dplusEnabled, maxDPlusDongles, dplusLogin);
	::wxGetApp().setDCS(dcsEnabled);
#if defined(DEXTRA_LINK) || defined(DCS_LINK)
	::wxGetApp().setStarNet1(starNetBand1, starNetCallsign1, starNetLogoff1, starNetInfo1, starNetPermanent1, starNetUserTimeout1, starNetGroupTimeout1, starNetCallsignSwitch1, starNetTXMsgSwitch1, starNetLink1);
	::wxGetApp().setStarNet2(starNetBand2, starNetCallsign2, starNetLogoff2, starNetInfo2, starNetPermanent2, starNetUserTimeout2, starNetGroupTimeout2, starNetCallsignSwitch2, starNetTXMsgSwitch2, starNetLink2);
	::wxGetApp().setStarNet3(starNetBand3, starNetCallsign3, starNetLogoff3, starNetInfo3, starNetPermanent3, starNetUserTimeout3, starNetGroupTimeout3, starNetCallsignSwitch3, starNetTXMsgSwitch3, starNetLink3);
	::wxGetApp().setStarNet4(starNetBand4, starNetCallsign4, starNetLogoff4, starNetInfo4, starNetPermanent4, starNetUserTimeout4, starNetGroupTimeout4, starNetCallsignSwitch4, starNetTXMsgSwitch4, starNetLink4);
	::wxGetApp().setStarNet5(starNetBand5, starNetCallsign5, starNetLogoff5, starNetInfo5, starNetPermanent5, starNetUserTimeout5, starNetGroupTimeout5, starNetCallsignSwitch5, starNetTXMsgSwitch5, starNetLink5);
#else
	::wxGetApp().setStarNet1(starNetBand1, starNetCallsign1, starNetLogoff1, starNetInfo1, starNetPermanent1, starNetUserTimeout1, starNetGroupTimeout1, starNetCallsignSwitch1, starNetTXMsgSwitch1);
	::wxGetApp().setStarNet2(starNetBand2, starNetCallsign2, starNetLogoff2, starNetInfo2, starNetPermanent2, starNetUserTimeout2, starNetGroupTimeout2, starNetCallsignSwitch2, starNetTXMsgSwitch2);
	::wxGetApp().setStarNet3(starNetBand3, starNetCallsign3, starNetLogoff3, starNetInfo3, starNetPermanent3, starNetUserTimeout3, starNetGroupTimeout3, starNetCallsignSwitch3, starNetTXMsgSwitch3);
	::wxGetApp().setStarNet4(starNetBand4, starNetCallsign4, starNetLogoff4, starNetInfo4, starNetPermanent4, starNetUserTimeout4, starNetGroupTimeout4, starNetCallsignSwitch4, starNetTXMsgSwitch4);
	::wxGetApp().setStarNet5(starNetBand5, starNetCallsign5, starNetLogoff5, starNetInfo5, starNetPermanent5, starNetUserTimeout5, starNetGroupTimeout5, starNetCallsignSwitch5, starNetTXMsgSwitch5);
#endif
	::wxGetApp().setRemote(remoteEnabled, remotePassword, remotePort);
	::wxGetApp().setMiscellaneous(language, infoEnabled, echoEnabled, logEnabled, dratsEnabled, dtmfEnabled);
	::wxGetApp().writeConfig();

	wxMessageDialog dialog2(this, _("The changes made will not take effect\nuntil the application is restarted"), _("ircDDB Gateway Information"), wxICON_INFORMATION);
	dialog2.ShowModal();
}
void CDVAPNodeFrame::onPreferences(wxCommandEvent& event)
{
	wxString callsign, gateway;
	DSTAR_MODE mode;
	ACK_TYPE ack;
	bool restriction, rpt1Validation;
	::wxGetApp().getCallsign(callsign, gateway, mode, ack, restriction, rpt1Validation);

	wxString gatewayAddress, localAddress;
	unsigned int gatewayPort, localPort;
	::wxGetApp().getNetwork(gatewayAddress, gatewayPort, localAddress, localPort);

	unsigned int timeout, ackTime;
	::wxGetApp().getTimes(timeout, ackTime);

	unsigned int beaconTime;
	wxString beaconText;
	bool beaconVoice;
	TEXT_LANG language;
	::wxGetApp().getBeacon(beaconTime, beaconText, beaconVoice, language);

	wxString port;
	unsigned int frequency;
	int power, squelch;
	::wxGetApp().getDVAP(port, frequency, power, squelch);

	CDVAPNodePreferences dialog1(this, -1, callsign, gateway, mode, ack, restriction, rpt1Validation,
		gatewayAddress, gatewayPort, localAddress, localPort, timeout, ackTime, beaconTime, beaconText,
		beaconVoice, language, port, frequency, power, squelch);
	if (dialog1.ShowModal() != wxID_OK)
		return;

	callsign       = dialog1.getCallsign();
	gateway        = dialog1.getGateway();
	mode           = dialog1.getMode();
	ack            = dialog1.getAck();
	restriction    = dialog1.getRestriction();
	rpt1Validation = dialog1.getRPT1Validation();
	::wxGetApp().setCallsign(callsign, gateway, mode, ack, restriction, rpt1Validation);

	gatewayAddress = dialog1.getGatewayAddress();
	gatewayPort    = dialog1.getGatewayPort();
	localAddress   = dialog1.getLocalAddress();
	localPort      = dialog1.getLocalPort();
	::wxGetApp().setNetwork(gatewayAddress, gatewayPort, localAddress, localPort);

	timeout    = dialog1.getTimeout();
	ackTime    = dialog1.getAckTime();
	::wxGetApp().setTimes(timeout, ackTime);

	beaconTime  = dialog1.getBeaconTime();
	beaconText  = dialog1.getBeaconText();
	beaconVoice = dialog1.getBeaconVoice();
	language    = dialog1.getLanguage();
	::wxGetApp().setBeacon(beaconTime, beaconText, beaconVoice, language);

	port      = dialog1.getPort();
	frequency = dialog1.getFrequency();
	power     = dialog1.getPower();
	squelch   = dialog1.getSquelch();
	::wxGetApp().setDVAP(port, frequency, power, squelch);

	::wxGetApp().writeConfig();

	wxMessageDialog dialog2(this, _("The changes made will not take effect\nuntil the application is restarted"), _("DVAP Node Information"), wxICON_INFORMATION);
	dialog2.ShowModal();
}
void CAnalogueRepeaterFrame::onPreferences(wxCommandEvent&)
{
	wxString openId, closeId, beacon1, beacon2;
	unsigned int idSpeed, idFreq;
	wxFloat32 idLevel1, idLevel2;
	AUDIO_SOURCE openIdSource, closeIdSource, beacon1Source, beacon2Source;
	::wxGetApp().getCallsign(openIdSource, openId, closeIdSource, closeId, beacon1Source, beacon1, beacon2Source, beacon2, idSpeed, idFreq, idLevel1, idLevel2);

	wxString ackRadio, ackExternal, ackBattery;
	unsigned int ackSpeed, ackFreq, ackDelay, ackMinimum;
	wxFloat32 ackLevel;
	AUDIO_SOURCE ackRadioSource, ackExternalSource, ackBatterySource;
	::wxGetApp().getAck(ackRadioSource, ackRadio, ackExternalSource, ackExternal, ackBatterySource, ackBattery, ackSpeed, ackFreq, ackLevel, ackDelay, ackMinimum);

	unsigned int callsignTime, timeout, lockoutTime, hangTime, latchTime;
	::wxGetApp().getTimes(callsignTime, timeout, lockoutTime, hangTime, latchTime);

	bool tbEnable, ctcssInternal;
	wxFloat32 tbThreshold, ctcssFreq, ctcssThresh, ctcssLevel;
	unsigned int ctcssHangTime;
	ANALOGUE_CTCSS_OUTPUT ctcssOutput;
	::wxGetApp().getTones(tbEnable, tbThreshold, ctcssFreq, ctcssInternal, ctcssThresh, ctcssLevel, ctcssHangTime, ctcssOutput);

	ANALOGUE_CALLSIGN_START callsignAtStart;
	ANALOGUE_TIMEOUT_TYPE timeoutType;
	unsigned int callsignStartDelay;
	bool callsignAtEnd;
	ANALOGUE_CALLSIGN_HOLDOFF callsignHoldoff;
	::wxGetApp().getFeel(callsignAtStart, callsignStartDelay, callsignAtEnd, timeoutType, callsignHoldoff);

	wxString radioReadDevice, radioWriteDevice;
	unsigned int radioAudioDelay;
	bool radioDeEmphasis, radioPreEmphasis, radioVOGAD;
	::wxGetApp().getRadio(radioReadDevice, radioWriteDevice, radioAudioDelay, radioDeEmphasis, radioPreEmphasis, radioVOGAD);

	ANALOGUE_EXTERNAL_MODE externalMode;
	bool externalVOGAD, externalBackground, externalDeEmphasis, externalPreEmphasis;
	wxString externalReadDevice, externalWriteDevice, externalDevice;
	unsigned int externalAudioDelay;
	SERIALPIN externalTXPin, externalRXPin;
	::wxGetApp().getExternal(externalMode, externalReadDevice, externalWriteDevice, externalAudioDelay, externalDeEmphasis, externalPreEmphasis, externalVOGAD, externalDevice, externalTXPin, externalRXPin, externalBackground);

	wxString interfaceType;
	unsigned int pttDelay, squelchDelay, interfaceConfig;
	bool pttInvert, squelchInvert;
	::wxGetApp().getController(interfaceType, interfaceConfig, pttDelay, squelchDelay, pttInvert, squelchInvert);

	bool dtmfRadio, dtmfExternal;
	wxString dtmfShutdown, dtmfStartup, dtmfTimeout, dtmfTimeReset, dtmfOutput1, dtmfOutput2, dtmfOutput3, dtmfOutput4;
	wxString dtmfCommand1, dtmfCommand1Line, dtmfCommand2, dtmfCommand2Line;
	wxFloat32 dtmfThreshold;
	::wxGetApp().getDTMF(dtmfRadio, dtmfExternal, dtmfShutdown, dtmfStartup, dtmfTimeout, dtmfTimeReset, dtmfCommand1, dtmfCommand1Line, dtmfCommand2, dtmfCommand2Line, dtmfOutput1, dtmfOutput2, dtmfOutput3, dtmfOutput4, dtmfThreshold);

	bool aprsTxEnabled;
	wxString aprsCallsign, aprsDescription;
	wxFloat32 aprsLatitude, aprsLongitude;
	int aprsHeight;
	::wxGetApp().getAPRS(aprsTxEnabled, aprsCallsign, aprsLatitude, aprsLongitude, aprsHeight, aprsDescription);

	unsigned int activeHangTime;
	::wxGetApp().getActiveHang(activeHangTime);

	CAnalogueRepeaterPreferences dialog1(this, -1, openIdSource, openId, closeIdSource, closeId, beacon1Source,
		beacon1, beacon2Source, beacon2, idSpeed, idFreq, idLevel1, idLevel2, ackRadioSource, ackRadio,
		ackExternalSource, ackExternal, ackBatterySource, ackBattery, ackSpeed, ackFreq, ackDelay, ackMinimum,
		ackLevel, callsignTime, timeout, lockoutTime, hangTime, latchTime, tbEnable, ctcssInternal, tbThreshold,
		ctcssFreq, ctcssThresh, ctcssLevel, ctcssHangTime, ctcssOutput, callsignAtStart, callsignStartDelay, timeoutType,
		callsignAtEnd, callsignHoldoff, radioReadDevice, radioWriteDevice, radioAudioDelay, radioDeEmphasis,
		radioPreEmphasis, radioVOGAD, externalMode, externalVOGAD, externalReadDevice, externalWriteDevice, 
		externalAudioDelay, externalDeEmphasis, externalPreEmphasis, externalDevice, externalTXPin,
		externalRXPin, externalBackground, interfaceType, interfaceConfig, pttDelay, squelchDelay, pttInvert,
		squelchInvert, dtmfRadio, dtmfExternal, dtmfShutdown, dtmfStartup, dtmfTimeout, dtmfTimeReset,
		dtmfOutput1, dtmfOutput2, dtmfOutput3, dtmfOutput4, dtmfCommand1, dtmfCommand1Line, dtmfCommand2,
		dtmfCommand2Line, dtmfThreshold, aprsTxEnabled, aprsCallsign, aprsLatitude, aprsLongitude, aprsHeight,
		aprsDescription, activeHangTime);
	if (dialog1.ShowModal() != wxID_OK)
		return;

	openIdSource   = dialog1.getOpenIdSource();
	openId         = dialog1.getOpenId();
	closeIdSource  = dialog1.getCloseIdSource();
	closeId        = dialog1.getCloseId();
	beacon1Source  = dialog1.getBeacon1Source();
	beacon1        = dialog1.getBeacon1();
	beacon2Source  = dialog1.getBeacon2Source();
	beacon2        = dialog1.getBeacon2();
	idSpeed        = dialog1.getIdSpeed();
	idFreq         = dialog1.getIdFreq();
	idLevel1       = dialog1.getIdLevel1();
	idLevel2       = dialog1.getIdLevel2();
	::wxGetApp().setCallsign(openIdSource, openId, closeIdSource, closeId, beacon1Source, beacon1, beacon2Source, beacon2, idSpeed, idFreq, idLevel1, idLevel2);

	ackRadioSource    = dialog1.getRadioAckSource();
	ackRadio          = dialog1.getRadioAck();
	ackExternalSource = dialog1.getExternalAckSource();
	ackExternal       = dialog1.getExternalAck();
	ackBatterySource  = dialog1.getBatteryAckSource();
	ackBattery        = dialog1.getBatteryAck();
	ackSpeed          = dialog1.getAckSpeed();
	ackFreq           = dialog1.getAckFreq();
	ackLevel          = dialog1.getAckLevel();
	ackDelay          = dialog1.getAckDelay();
	ackMinimum        = dialog1.getAckMinimum();
	::wxGetApp().setAck(ackRadioSource, ackRadio, ackExternalSource, ackExternal, ackBatterySource, ackBattery, ackSpeed, ackFreq, ackLevel, ackDelay, ackMinimum);

	callsignTime = dialog1.getCallsignTime();
	timeout      = dialog1.getTimeout();
	lockoutTime  = dialog1.getLockoutTime();
	hangTime     = dialog1.getHangTime();
	latchTime    = dialog1.getLatchTime();
	::wxGetApp().setTimes(callsignTime, timeout, lockoutTime, hangTime, latchTime);

	tbEnable      = dialog1.getTbEnable();
	tbThreshold   = dialog1.getTbThreshold();
	ctcssInternal = dialog1.getCTCSSInternal();
	ctcssFreq     = dialog1.getCTCSSFreq();
	ctcssThresh   = dialog1.getCTCSSThresh();
	ctcssLevel    = dialog1.getCTCSSLevel();
	ctcssHangTime = dialog1.getCTCSSHangTime();
	ctcssOutput   = dialog1.getCTCSSOutput();
	::wxGetApp().setTones(tbEnable, tbThreshold, ctcssFreq, ctcssInternal, ctcssThresh, ctcssLevel, ctcssHangTime, ctcssOutput);

	callsignAtStart    = dialog1.getCallAtStart();
	callsignStartDelay = dialog1.getCallStartDelay();
	callsignAtEnd      = dialog1.getCallAtEnd();
	timeoutType        = dialog1.getTimeoutType();
	callsignHoldoff    = dialog1.getHoldoff();
	::wxGetApp().setFeel(callsignAtStart, callsignStartDelay, callsignAtEnd, timeoutType, callsignHoldoff);

	radioReadDevice  = dialog1.getRadioReadDevice();
	radioWriteDevice = dialog1.getRadioWriteDevice();
	radioAudioDelay  = dialog1.getRadioAudioDelay();
	radioDeEmphasis  = dialog1.getRadioDeEmphasis();
	radioPreEmphasis = dialog1.getRadioPreEmphasis();
	radioVOGAD       = dialog1.getRadioVOGAD();
	::wxGetApp().setRadio(radioReadDevice, radioWriteDevice, radioAudioDelay, radioDeEmphasis, radioPreEmphasis, radioVOGAD);

	externalMode        = dialog1.getExternalMode();
	externalReadDevice  = dialog1.getExternalReadDevice();
	externalWriteDevice = dialog1.getExternalWriteDevice();
	externalAudioDelay  = dialog1.getExternalAudioDelay();
	externalDeEmphasis  = dialog1.getExternalDeEmphasis();
	externalPreEmphasis = dialog1.getExternalPreEmphasis();
	externalVOGAD       = dialog1.getExternalVOGAD();
	externalDevice      = dialog1.getExternalDevice();
	externalTXPin       = dialog1.getExternalTXPin();
	externalRXPin       = dialog1.getExternalRXPin();
	externalBackground  = dialog1.getExternalBackground();
	::wxGetApp().setExternal(externalMode, externalReadDevice, externalWriteDevice, externalAudioDelay, externalDeEmphasis, externalPreEmphasis, externalVOGAD, externalDevice, externalTXPin, externalRXPin, externalBackground);

	interfaceType   = dialog1.getInterfaceType();
	interfaceConfig = dialog1.getInterfaceConfig();
	pttDelay        = dialog1.getPTTDelay();
	squelchDelay    = dialog1.getSquelchDelay();
	pttInvert       = dialog1.getPTTInvert();
	squelchInvert   = dialog1.getSquelchInvert();
	::wxGetApp().setController(interfaceType, interfaceConfig, pttDelay, squelchDelay, pttInvert, squelchInvert);

	dtmfRadio        = dialog1.getDTMFRadio();
	dtmfExternal     = dialog1.getDTMFExternal();
	dtmfShutdown     = dialog1.getDTMFShutdown();
	dtmfStartup      = dialog1.getDTMFStartup();
	dtmfTimeout      = dialog1.getDTMFTimeout();
	dtmfTimeReset    = dialog1.getDTMFTimeReset();
	dtmfCommand1     = dialog1.getDTMFCommand1();
	dtmfCommand1Line = dialog1.getDTMFCommand1Line();
	dtmfCommand2     = dialog1.getDTMFCommand2();
	dtmfCommand2Line = dialog1.getDTMFCommand2Line();
	dtmfOutput1      = dialog1.getDTMFOutput1();
	dtmfOutput2      = dialog1.getDTMFOutput2();
	dtmfOutput3      = dialog1.getDTMFOutput3();
	dtmfOutput4      = dialog1.getDTMFOutput4();
	dtmfThreshold    = dialog1.getDTMFThreshold();
	::wxGetApp().setDTMF(dtmfRadio, dtmfExternal, dtmfShutdown, dtmfStartup, dtmfTimeout, dtmfTimeReset, dtmfCommand1, dtmfCommand1Line, dtmfCommand2, dtmfCommand2Line, dtmfOutput1, dtmfOutput2, dtmfOutput3, dtmfOutput4, dtmfThreshold);

	aprsTxEnabled   = dialog1.getAPRSTXEnabled();
	aprsCallsign    = dialog1.getAPRSCallsign();
	aprsLatitude    = dialog1.getAPRSLatitude();
	aprsLongitude   = dialog1.getAPRSLongitude();
	aprsHeight      = dialog1.getAPRSHeight();
	aprsDescription = dialog1.getAPRSDescription();
	::wxGetApp().setAPRS(aprsTxEnabled, aprsCallsign, aprsLatitude, aprsLongitude, aprsHeight, aprsDescription);

	activeHangTime = dialog1.getActiveHangTime();
	::wxGetApp().setActiveHang(activeHangTime);

	::wxGetApp().writeConfig();

	wxMessageDialog dialog2(this, _("The changes made will not take effect\nuntil the application is restarted"), _("Analogue Repeater Information"), wxICON_INFORMATION);
	dialog2.ShowModal();
}
void CSoundCardRepeaterFrame::onPreferences(wxCommandEvent& event)
{
	wxString callsign, gateway;
	DSTAR_MODE mode;
	ACK_TYPE ack;
	bool restriction, rpt1Validation, dtmfBlanking;
	::wxGetApp().getCallsign(callsign, gateway, mode, ack, restriction, rpt1Validation, dtmfBlanking);

	wxString gatewayAddress, localAddress;
	unsigned int gatewayPort, localPort;
	::wxGetApp().getNetwork(gatewayAddress, gatewayPort, localAddress, localPort);

	unsigned int timeout, ackTime, hangTime;
	::wxGetApp().getTimes(timeout, ackTime, hangTime);

	unsigned int beaconTime;
	wxString beaconText;
	bool beaconVoice;
	TEXT_LANG language;
	::wxGetApp().getBeacon(beaconTime, beaconText, beaconVoice, language);

	bool announcementEnabled;
	unsigned int announcementTime;
	wxString announcementRecordRPT1, announcementRecordRPT2;
	wxString announcementDeleteRPT1, announcementDeleteRPT2;
	::wxGetApp().getAnnouncement(announcementEnabled, announcementTime, announcementRecordRPT1, announcementRecordRPT2, announcementDeleteRPT1, announcementDeleteRPT2);

	wxString readDevice, writeDevice;
	bool rxInvert, txInvert;
	wxFloat32 rxLevel, txLevel, squelchLevel;
	SQUELCH_MODE squelchMode;
	::wxGetApp().getRadio(readDevice, writeDevice, rxLevel, txLevel, squelchMode, squelchLevel, rxInvert, txInvert);

	wxString interfaceType;
	unsigned int interfaceConfig;
	int pttDelay;
	bool pttInvert;
	::wxGetApp().getController(interfaceType, interfaceConfig, pttDelay, pttInvert);

	bool enabled;
	wxString rpt1Callsign, rpt2Callsign;
	wxString shutdown, startup;
	wxString status1, status2, status3, status4, status5;
	wxString command1, command1Line, command2, command2Line;
	wxString command3, command3Line, command4, command4Line;
	wxString output1, output2, output3, output4;
	::wxGetApp().getControl(enabled, rpt1Callsign, rpt2Callsign, shutdown, startup, status1, status2, status3, status4, status5, command1, command1Line, command2, command2Line, command3, command3Line, command4, command4Line, output1, output2, output3, output4);

	unsigned int activeHangTime;
	::wxGetApp().getActiveHang(activeHangTime);

	CSoundCardRepeaterPreferences dialog1(this, -1, callsign, gateway, mode, ack, restriction, rpt1Validation, dtmfBlanking,
		gatewayAddress, gatewayPort, localAddress, localPort, timeout, ackTime, hangTime, beaconTime, beaconText, beaconVoice,
		language, announcementEnabled, announcementTime, announcementRecordRPT1, announcementRecordRPT2,
		announcementDeleteRPT1, announcementDeleteRPT2, readDevice, writeDevice, rxInvert, txInvert, rxLevel, txLevel,
		squelchMode, squelchLevel, interfaceType, interfaceConfig, pttDelay, pttInvert, enabled, rpt1Callsign, rpt2Callsign,
		shutdown, startup, status1, status2, status3, status4, status5, command1, command1Line, command2, command2Line,
		command3, command3Line, command4, command4Line, output1, output2, output3, output4, activeHangTime);
	if (dialog1.ShowModal() != wxID_OK)
		return;

	callsign       = dialog1.getCallsign();
	gateway        = dialog1.getGateway();
	mode           = dialog1.getMode();
	ack            = dialog1.getAck();
	restriction    = dialog1.getRestriction();
	rpt1Validation = dialog1.getRPT1Validation();
	dtmfBlanking   = dialog1.getDTMFBlanking();
	::wxGetApp().setCallsign(callsign, gateway, mode, ack, restriction, rpt1Validation, dtmfBlanking);

	gatewayAddress = dialog1.getGatewayAddress();
	gatewayPort    = dialog1.getGatewayPort();
	localAddress   = dialog1.getLocalAddress();
	localPort      = dialog1.getLocalPort();
	::wxGetApp().setNetwork(gatewayAddress, gatewayPort, localAddress, localPort);

	timeout    = dialog1.getTimeout();
	ackTime    = dialog1.getAckTime();
	hangTime   = dialog1.getHangTime();
	::wxGetApp().setTimes(timeout, ackTime, hangTime);

	beaconTime  = dialog1.getBeaconTime();
	beaconText  = dialog1.getBeaconText();
	beaconVoice = dialog1.getBeaconVoice();
	language    = dialog1.getLanguage();
	::wxGetApp().setBeacon(beaconTime, beaconText, beaconVoice, language);

	announcementEnabled    = dialog1.getAnnouncementEnabled();
	announcementTime       = dialog1.getAnnouncementTime();
	announcementRecordRPT1 = dialog1.getAnnouncementRecordRPT1();
	announcementRecordRPT2 = dialog1.getAnnouncementRecordRPT2();
	announcementDeleteRPT1 = dialog1.getAnnouncementDeleteRPT1();
	announcementDeleteRPT2 = dialog1.getAnnouncementDeleteRPT2();
	::wxGetApp().setAnnouncement(announcementEnabled, announcementTime, announcementRecordRPT1, announcementRecordRPT2, announcementDeleteRPT1, announcementDeleteRPT2);

	readDevice   = dialog1.getReadDevice();
	writeDevice  = dialog1.getWriteDevice();
	rxLevel      = dialog1.getRXLevel();
	txLevel      = dialog1.getTXLevel();
	squelchMode  = dialog1.getSquelchMode();
	squelchLevel = dialog1.getSquelchLevel();
	rxInvert     = dialog1.getRXInvert();
	txInvert     = dialog1.getTXInvert();
	::wxGetApp().setRadio(readDevice, writeDevice, rxLevel, txLevel, squelchMode, squelchLevel, rxInvert, txInvert);

	interfaceType   = dialog1.getType();
	interfaceConfig = dialog1.getConfig();
	pttDelay        = dialog1.getPTTDelay();
	pttInvert       = dialog1.getPTTInvert();
	::wxGetApp().setController(interfaceType, interfaceConfig, pttDelay, pttInvert);

	enabled      = dialog1.getEnabled();
	rpt1Callsign = dialog1.getRPT1Callsign();
	rpt2Callsign = dialog1.getRPT2Callsign();
	shutdown     = dialog1.getShutdown();
	startup      = dialog1.getStartup();
	status1      = dialog1.getStatus1();
	status2      = dialog1.getStatus2();
	status3      = dialog1.getStatus3();
	status4      = dialog1.getStatus4();
	status5      = dialog1.getStatus5();
	output1      = dialog1.getOutput1();
	output2      = dialog1.getOutput2();
	output3      = dialog1.getOutput3();
	output4      = dialog1.getOutput4();
	command1     = dialog1.getCommand1();
	command1Line = dialog1.getCommand1Line();
	command2     = dialog1.getCommand2();
	command2Line = dialog1.getCommand2Line();
	command3     = dialog1.getCommand3();
	command3Line = dialog1.getCommand3Line();
	command4     = dialog1.getCommand4();
	command4Line = dialog1.getCommand4Line();
	::wxGetApp().setControl(enabled, rpt1Callsign, rpt2Callsign, shutdown, startup, status1, status2, status3, status4, status5, command1, command1Line, command2, command2Line, command3, command3Line, command4, command4Line, output1, output2, output3, output4);

	activeHangTime = dialog1.getActiveHangTime();
	::wxGetApp().setActiveHang(activeHangTime);

	::wxGetApp().writeConfig();

	wxMessageDialog dialog2(this, _("The changes made will not take effect\nuntil the application is restarted"), _("Sound Card Repeater Information"), wxICON_INFORMATION);
	dialog2.ShowModal();
}
void CStarNetServerFrame::onPreferences(wxCommandEvent& event)
{
	wxString callsign, address;
	::wxGetApp().getGateway(callsign, address);

	wxString hostname, username, password;
	::wxGetApp().getIrcDDB(hostname, username, password);

	unsigned int remotePort;
	wxString remotePassword;
	bool remoteEnabled;
	::wxGetApp().getRemote(remoteEnabled, remotePassword, remotePort);

	bool logEnabled;
	::wxGetApp().getMiscellaneous(logEnabled);

#if defined(DEXTRA_LINK) || defined(DCS_LINK)
	wxString starNetBand1, starNetCallsign1, starNetLogoff1, starNetInfo1, starNetLink1, starNetPermanent1;
	unsigned int starNetUserTimeout1, starNetGroupTimeout1;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch1;
	bool starNetTXMsgSwitch1;
	::wxGetApp().getStarNet1(starNetBand1, starNetCallsign1, starNetLogoff1, starNetInfo1, starNetPermanent1, starNetUserTimeout1, starNetGroupTimeout1, starNetCallsignSwitch1, starNetTXMsgSwitch1, starNetLink1);

	wxString starNetBand2, starNetCallsign2, starNetLogoff2, starNetInfo2, starNetLink2, starNetPermanent2;
	unsigned int starNetUserTimeout2, starNetGroupTimeout2;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch2;
	bool starNetTXMsgSwitch2;
	::wxGetApp().getStarNet2(starNetBand2, starNetCallsign2, starNetLogoff2, starNetInfo2, starNetPermanent2, starNetUserTimeout2, starNetGroupTimeout2, starNetCallsignSwitch2, starNetTXMsgSwitch2, starNetLink2);

	wxString starNetBand3, starNetCallsign3, starNetLogoff3, starNetInfo3, starNetLink3, starNetPermanent3;
	unsigned int starNetUserTimeout3, starNetGroupTimeout3;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch3;
	bool starNetTXMsgSwitch3;
	::wxGetApp().getStarNet3(starNetBand3, starNetCallsign3, starNetLogoff3, starNetInfo3, starNetPermanent3, starNetUserTimeout3, starNetGroupTimeout3, starNetCallsignSwitch3, starNetTXMsgSwitch3, starNetLink3);

	wxString starNetBand4, starNetCallsign4, starNetLogoff4, starNetInfo4, starNetLink4, starNetPermanent4;
	unsigned int starNetUserTimeout4, starNetGroupTimeout4;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch4;
	bool starNetTXMsgSwitch4;
	::wxGetApp().getStarNet4(starNetBand4, starNetCallsign4, starNetLogoff4, starNetInfo4, starNetPermanent4, starNetUserTimeout4, starNetGroupTimeout4, starNetCallsignSwitch4, starNetTXMsgSwitch4, starNetLink4);

	wxString starNetBand5, starNetCallsign5, starNetLogoff5, starNetInfo5, starNetLink5, starNetPermanent5;
	unsigned int starNetUserTimeout5, starNetGroupTimeout5;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch5;
	bool starNetTXMsgSwitch5;
	::wxGetApp().getStarNet5(starNetBand5, starNetCallsign5, starNetLogoff5, starNetInfo5, starNetPermanent5, starNetUserTimeout5, starNetGroupTimeout5, starNetCallsignSwitch5, starNetTXMsgSwitch5, starNetLink5);

	wxString starNetBand6, starNetCallsign6, starNetLogoff6, starNetInfo6, starNetLink6, starNetPermanent6;
	unsigned int starNetUserTimeout6, starNetGroupTimeout6;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch6;
	bool starNetTXMsgSwitch6;
	::wxGetApp().getStarNet6(starNetBand6, starNetCallsign6, starNetLogoff6, starNetInfo6, starNetPermanent6, starNetUserTimeout6, starNetGroupTimeout6, starNetCallsignSwitch6, starNetTXMsgSwitch6, starNetLink6);

	wxString starNetBand7, starNetCallsign7, starNetLogoff7, starNetInfo7, starNetLink7, starNetPermanent7;
	unsigned int starNetUserTimeout7, starNetGroupTimeout7;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch7;
	bool starNetTXMsgSwitch7;
	::wxGetApp().getStarNet7(starNetBand7, starNetCallsign7, starNetLogoff7, starNetInfo7, starNetPermanent7, starNetUserTimeout7, starNetGroupTimeout7, starNetCallsignSwitch7, starNetTXMsgSwitch7, starNetLink7);

	wxString starNetBand8, starNetCallsign8, starNetLogoff8, starNetInfo8, starNetLink8, starNetPermanent8;
	unsigned int starNetUserTimeout8, starNetGroupTimeout8;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch8;
	bool starNetTXMsgSwitch8;
	::wxGetApp().getStarNet8(starNetBand8, starNetCallsign8, starNetLogoff8, starNetInfo8, starNetPermanent8, starNetUserTimeout8, starNetGroupTimeout8, starNetCallsignSwitch8, starNetTXMsgSwitch8, starNetLink8);

	wxString starNetBand9, starNetCallsign9, starNetLogoff9, starNetInfo9, starNetLink9, starNetPermanent9;
	unsigned int starNetUserTimeout9, starNetGroupTimeout9;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch9;
	bool starNetTXMsgSwitch9;
	::wxGetApp().getStarNet9(starNetBand9, starNetCallsign9, starNetLogoff9, starNetInfo9, starNetPermanent9, starNetUserTimeout9, starNetGroupTimeout9, starNetCallsignSwitch9, starNetTXMsgSwitch9, starNetLink9);

	wxString starNetBand10, starNetCallsign10, starNetInfo10, starNetLogoff10, starNetLink10, starNetPermanent10;
	unsigned int starNetUserTimeout10, starNetGroupTimeout10;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch10;
	bool starNetTXMsgSwitch10;
	::wxGetApp().getStarNet10(starNetBand10, starNetCallsign10, starNetLogoff10, starNetInfo10, starNetPermanent10, starNetUserTimeout10, starNetGroupTimeout10, starNetCallsignSwitch10, starNetTXMsgSwitch10, starNetLink10);

	wxString starNetBand11, starNetCallsign11, starNetLogoff11, starNetInfo11, starNetLink11, starNetPermanent11;
	unsigned int starNetUserTimeout11, starNetGroupTimeout11;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch11;
	bool starNetTXMsgSwitch11;
	::wxGetApp().getStarNet11(starNetBand11, starNetCallsign11, starNetLogoff11, starNetInfo11, starNetPermanent11, starNetUserTimeout11, starNetGroupTimeout11, starNetCallsignSwitch11, starNetTXMsgSwitch11, starNetLink11);

	wxString starNetBand12, starNetCallsign12, starNetLogoff12, starNetInfo12, starNetLink12, starNetPermanent12;
	unsigned int starNetUserTimeout12, starNetGroupTimeout12;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch12;
	bool starNetTXMsgSwitch12;
	::wxGetApp().getStarNet12(starNetBand12, starNetCallsign12, starNetLogoff12, starNetInfo12, starNetPermanent12, starNetUserTimeout12, starNetGroupTimeout12, starNetCallsignSwitch12, starNetTXMsgSwitch12, starNetLink12);

	wxString starNetBand13, starNetCallsign13, starNetLogoff13, starNetInfo13, starNetLink13, starNetPermanent13;
	unsigned int starNetUserTimeout13, starNetGroupTimeout13;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch13;
	bool starNetTXMsgSwitch13;
	::wxGetApp().getStarNet13(starNetBand13, starNetCallsign13, starNetLogoff13, starNetInfo13, starNetPermanent13, starNetUserTimeout13, starNetGroupTimeout13, starNetCallsignSwitch13, starNetTXMsgSwitch13, starNetLink13);

	wxString starNetBand14, starNetCallsign14, starNetLogoff14, starNetInfo14, starNetLink14, starNetPermanent14;
	unsigned int starNetUserTimeout14, starNetGroupTimeout14;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch14;
	bool starNetTXMsgSwitch14;
	::wxGetApp().getStarNet14(starNetBand14, starNetCallsign14, starNetLogoff14, starNetInfo14, starNetPermanent14, starNetUserTimeout14, starNetGroupTimeout14, starNetCallsignSwitch14, starNetTXMsgSwitch14, starNetLink14);

	wxString starNetBand15, starNetCallsign15, starNetLogoff15, starNetInfo15, starNetLink15, starNetPermanent15;
	unsigned int starNetUserTimeout15, starNetGroupTimeout15;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch15;
	bool starNetTXMsgSwitch15;
	::wxGetApp().getStarNet15(starNetBand15, starNetCallsign15, starNetLogoff15, starNetInfo15, starNetPermanent15, starNetUserTimeout15, starNetGroupTimeout15, starNetCallsignSwitch15, starNetTXMsgSwitch15, starNetLink15);

	CStarNetServerPreferences dialog1(this, -1, callsign, address,
		hostname, username, password, logEnabled,
		starNetBand1,  starNetCallsign1,  starNetLogoff1,  starNetInfo1,  starNetPermanent1,  starNetUserTimeout1,  starNetGroupTimeout1,  starNetCallsignSwitch1,  starNetTXMsgSwitch1,  starNetLink1,
		starNetBand2,  starNetCallsign2,  starNetLogoff2,  starNetInfo2,  starNetPermanent2,  starNetUserTimeout2,  starNetGroupTimeout2,  starNetCallsignSwitch2,  starNetTXMsgSwitch2,  starNetLink2,
		starNetBand3,  starNetCallsign3,  starNetLogoff3,  starNetInfo3,  starNetPermanent3,  starNetUserTimeout3,  starNetGroupTimeout3,  starNetCallsignSwitch3,  starNetTXMsgSwitch3,  starNetLink3,
		starNetBand4,  starNetCallsign4,  starNetLogoff4,  starNetInfo4,  starNetPermanent4,  starNetUserTimeout4,  starNetGroupTimeout4,  starNetCallsignSwitch4,  starNetTXMsgSwitch4,  starNetLink4,
		starNetBand5,  starNetCallsign5,  starNetLogoff5,  starNetInfo5,  starNetPermanent5,  starNetUserTimeout5,  starNetGroupTimeout5,  starNetCallsignSwitch5,  starNetTXMsgSwitch5,  starNetLink5,
		starNetBand6,  starNetCallsign6,  starNetLogoff6,  starNetInfo6,  starNetPermanent6,  starNetUserTimeout6,  starNetGroupTimeout6,  starNetCallsignSwitch6,  starNetTXMsgSwitch6,  starNetLink6,
		starNetBand7,  starNetCallsign7,  starNetLogoff7,  starNetInfo7,  starNetPermanent7,  starNetUserTimeout7,  starNetGroupTimeout7,  starNetCallsignSwitch7,  starNetTXMsgSwitch7,  starNetLink7,
		starNetBand8,  starNetCallsign8,  starNetLogoff8,  starNetInfo8,  starNetPermanent8,  starNetUserTimeout8,  starNetGroupTimeout8,  starNetCallsignSwitch8,  starNetTXMsgSwitch8,  starNetLink8,
		starNetBand9,  starNetCallsign9,  starNetLogoff9,  starNetInfo9,  starNetPermanent9,  starNetUserTimeout9,  starNetGroupTimeout9,  starNetCallsignSwitch9,  starNetTXMsgSwitch9,  starNetLink9,
		starNetBand10, starNetCallsign10, starNetLogoff10, starNetInfo10, starNetPermanent10, starNetUserTimeout10, starNetGroupTimeout10, starNetCallsignSwitch10, starNetTXMsgSwitch10, starNetLink10,
		starNetBand11, starNetCallsign11, starNetLogoff11, starNetInfo11, starNetPermanent11, starNetUserTimeout11, starNetGroupTimeout11, starNetCallsignSwitch11, starNetTXMsgSwitch11, starNetLink11,
		starNetBand12, starNetCallsign12, starNetLogoff12, starNetInfo12, starNetPermanent12, starNetUserTimeout12, starNetGroupTimeout12, starNetCallsignSwitch12, starNetTXMsgSwitch12, starNetLink12,
		starNetBand13, starNetCallsign13, starNetLogoff13, starNetInfo13, starNetPermanent13, starNetUserTimeout13, starNetGroupTimeout13, starNetCallsignSwitch13, starNetTXMsgSwitch13, starNetLink13,
		starNetBand14, starNetCallsign14, starNetLogoff14, starNetInfo14, starNetPermanent14, starNetUserTimeout14, starNetGroupTimeout14, starNetCallsignSwitch14, starNetTXMsgSwitch14, starNetLink14,
		starNetBand15, starNetCallsign15, starNetLogoff15, starNetInfo15, starNetPermanent15, starNetUserTimeout15, starNetGroupTimeout15, starNetCallsignSwitch15, starNetTXMsgSwitch15, starNetLink15,
		remoteEnabled, remotePassword, remotePort);
#else
	wxString starNetBand1, starNetCallsign1, starNetLogoff1, starNetInfo1, starNetPermanent1;
	unsigned int starNetUserTimeout1, starNetGroupTimeout1;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch1;
	bool starNetTXMsgSwitch1;
	::wxGetApp().getStarNet1(starNetBand1, starNetCallsign1, starNetLogoff1, starNetInfo1, starNetPermanent1, starNetUserTimeout1, starNetGroupTimeout1, starNetCallsignSwitch1, starNetTXMsgSwitch1);

	wxString starNetBand2, starNetCallsign2, starNetLogoff2, starNetInfo2, starNetPermanent2;
	unsigned int starNetUserTimeout2, starNetGroupTimeout2;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch2;
	bool starNetTXMsgSwitch2;
	::wxGetApp().getStarNet2(starNetBand2, starNetCallsign2, starNetLogoff2, starNetInfo2, starNetPermanent2, starNetUserTimeout2, starNetGroupTimeout2, starNetCallsignSwitch2, starNetTXMsgSwitch2);

	wxString starNetBand3, starNetCallsign3, starNetLogoff3, starNetInfo3, starNetPermanent3;
	unsigned int starNetUserTimeout3, starNetGroupTimeout3;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch3;
	bool starNetTXMsgSwitch3;
	::wxGetApp().getStarNet3(starNetBand3, starNetCallsign3, starNetLogoff3, starNetInfo3, starNetPermanent3, starNetUserTimeout3, starNetGroupTimeout3, starNetCallsignSwitch3, starNetTXMsgSwitch3);

	wxString starNetBand4, starNetCallsign4, starNetLogoff4, starNetInfo4, starNetPermanent4;
	unsigned int starNetUserTimeout4, starNetGroupTimeout4;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch4;
	bool starNetTXMsgSwitch4;
	::wxGetApp().getStarNet4(starNetBand4, starNetCallsign4, starNetLogoff4, starNetInfo4, starNetPermanent4, starNetUserTimeout4, starNetGroupTimeout4, starNetCallsignSwitch4, starNetTXMsgSwitch4);

	wxString starNetBand5, starNetCallsign5, starNetLogoff5, starNetInfo5, starNetPermanent5;
	unsigned int starNetUserTimeout5, starNetGroupTimeout5;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch5;
	bool starNetTXMsgSwitch5;
	::wxGetApp().getStarNet5(starNetBand5, starNetCallsign5, starNetLogoff5, starNetInfo5, starNetPermanent5, starNetUserTimeout5, starNetGroupTimeout5, starNetCallsignSwitch5, starNetTXMsgSwitch5);

	wxString starNetBand6, starNetCallsign6, starNetLogoff6, starNetInfo6, starNetPermanent6;
	unsigned int starNetUserTimeout6, starNetGroupTimeout6;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch6;
	bool starNetTXMsgSwitch6;
	::wxGetApp().getStarNet6(starNetBand6, starNetCallsign6, starNetLogoff6, starNetInfo6, starNetPermanent6, starNetUserTimeout6, starNetGroupTimeout6, starNetCallsignSwitch6, starNetTXMsgSwitch6);

	wxString starNetBand7, starNetCallsign7, starNetLogoff7, starNetInfo7, starNetPermanent7;
	unsigned int starNetUserTimeout7, starNetGroupTimeout7;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch7;
	bool starNetTXMsgSwitch7;
	::wxGetApp().getStarNet7(starNetBand7, starNetCallsign7, starNetLogoff7, starNetInfo7, starNetPermanent7, starNetUserTimeout7, starNetGroupTimeout7, starNetCallsignSwitch7, starNetTXMsgSwitch7);

	wxString starNetBand8, starNetCallsign8, starNetLogoff8, starNetInfo8, starNetPermanent8;
	unsigned int starNetUserTimeout8, starNetGroupTimeout8;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch8;
	bool starNetTXMsgSwitch8;
	::wxGetApp().getStarNet8(starNetBand8, starNetCallsign8, starNetLogoff8, starNetInfo8, starNetPermanent8, starNetUserTimeout8, starNetGroupTimeout8, starNetCallsignSwitch8, starNetTXMsgSwitch8);

	wxString starNetBand9, starNetCallsign9, starNetLogoff9, starNetInfo9, starNetPermanent9;
	unsigned int starNetUserTimeout9, starNetGroupTimeout9;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch9;
	bool starNetTXMsgSwitch9;
	::wxGetApp().getStarNet9(starNetBand9, starNetCallsign9, starNetLogoff9, starNetInfo9, starNetPermanent9, starNetUserTimeout9, starNetGroupTimeout9, starNetCallsignSwitch9, starNetTXMsgSwitch9);

	wxString starNetBand10, starNetCallsign10, starNetLogoff10, starNetInfo10, starNetPermanent10;
	unsigned int starNetUserTimeout10, starNetGroupTimeout10;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch10;
	bool starNetTXMsgSwitch10;
	::wxGetApp().getStarNet10(starNetBand10, starNetCallsign10, starNetLogoff10, starNetInfo10, starNetPermanent10, starNetUserTimeout10, starNetGroupTimeout10, starNetCallsignSwitch10, starNetTXMsgSwitch10);

	wxString starNetBand11, starNetCallsign11, starNetLogoff11, starNetInfo11, starNetPermanent11;
	unsigned int starNetUserTimeout11, starNetGroupTimeout11;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch11;
	bool starNetTXMsgSwitch11;
	::wxGetApp().getStarNet11(starNetBand11, starNetCallsign11, starNetLogoff11, starNetInfo11, starNetPermanent11, starNetUserTimeout11, starNetGroupTimeout11, starNetCallsignSwitch11, starNetTXMsgSwitch11);

	wxString starNetBand12, starNetCallsign12, starNetLogoff12, starNetInfo12, starNetPermanent12;
	unsigned int starNetUserTimeout12, starNetGroupTimeout12;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch12;
	bool starNetTXMsgSwitch12;
	::wxGetApp().getStarNet12(starNetBand12, starNetCallsign12, starNetLogoff12, starNetInfo12, starNetPermanent12, starNetUserTimeout12, starNetGroupTimeout12, starNetCallsignSwitch12, starNetTXMsgSwitch12);

	wxString starNetBand13, starNetCallsign13, starNetLogoff13, starNetInfo13, starNetPermanent13;
	unsigned int starNetUserTimeout13, starNetGroupTimeout13;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch13;
	bool starNetTXMsgSwitch13;
	::wxGetApp().getStarNet13(starNetBand13, starNetCallsign13, starNetLogoff13, starNetInfo13, starNetPermanent13, starNetUserTimeout13, starNetGroupTimeout13, starNetCallsignSwitch13, starNetTXMsgSwitch13);

	wxString starNetBand14, starNetCallsign14, starNetLogoff14, starNetInfo14, starNetPermanent14;
	unsigned int starNetUserTimeout14, starNetGroupTimeout14;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch14;
	bool starNetTXMsgSwitch14;
	::wxGetApp().getStarNet14(starNetBand14, starNetCallsign14, starNetLogoff14, starNetInfo14, starNetPermanent14, starNetUserTimeout14, starNetGroupTimeout14, starNetCallsignSwitch14, starNetTXMsgSwitch14);

	wxString starNetBand15, starNetCallsign15, starNetLogoff15, starNetInfo15, starNetPermanent15;
	unsigned int starNetUserTimeout15, starNetGroupTimeout15;
	STARNET_CALLSIGN_SWITCH starNetCallsignSwitch15;
	bool starNetTXMsgSwitch15;
	::wxGetApp().getStarNet15(starNetBand15, starNetCallsign15, starNetLogoff15, starNetInfo15, starNetPermanent15, starNetUserTimeout15, starNetGroupTimeout15, starNetCallsignSwitch15, starNetTXMsgSwitch15);

	CStarNetServerPreferences dialog1(this, -1, callsign, address,
		hostname, username, password, logEnabled,
		starNetBand1,  starNetCallsign1,  starNetLogoff1,  starNetInfo1,  starNetPermanent1,  starNetUserTimeout1,  starNetGroupTimeout1,  starNetCallsignSwitch1,  starNetTXMsgSwitch1,
		starNetBand2,  starNetCallsign2,  starNetLogoff2,  starNetInfo2,  starNetPermanent2,  starNetUserTimeout2,  starNetGroupTimeout2,  starNetCallsignSwitch2,  starNetTXMsgSwitch2,
		starNetBand3,  starNetCallsign3,  starNetLogoff3,  starNetInfo3,  starNetPermanent3,  starNetUserTimeout3,  starNetGroupTimeout3,  starNetCallsignSwitch3,  starNetTXMsgSwitch3,
		starNetBand4,  starNetCallsign4,  starNetLogoff4,  starNetInfo4,  starNetPermanent4,  starNetUserTimeout4,  starNetGroupTimeout4,  starNetCallsignSwitch4,  starNetTXMsgSwitch4,
		starNetBand5,  starNetCallsign5,  starNetLogoff5,  starNetInfo5,  starNetPermanent5,  starNetUserTimeout5,  starNetGroupTimeout5,  starNetCallsignSwitch5,  starNetTXMsgSwitch5,
		starNetBand6,  starNetCallsign6,  starNetLogoff6,  starNetInfo6,  starNetPermanent6,  starNetUserTimeout6,  starNetGroupTimeout6,  starNetCallsignSwitch6,  starNetTXMsgSwitch6,
		starNetBand7,  starNetCallsign7,  starNetLogoff7,  starNetInfo7,  starNetPermanent7,  starNetUserTimeout7,  starNetGroupTimeout7,  starNetCallsignSwitch7,  starNetTXMsgSwitch7,
		starNetBand8,  starNetCallsign8,  starNetLogoff8,  starNetInfo8,  starNetPermanent8,  starNetUserTimeout8,  starNetGroupTimeout8,  starNetCallsignSwitch8,  starNetTXMsgSwitch8,
		starNetBand9,  starNetCallsign9,  starNetLogoff9,  starNetInfo9,  starNetPermanent9,  starNetUserTimeout9,  starNetGroupTimeout9,  starNetCallsignSwitch9,  starNetTXMsgSwitch9,
		starNetBand10, starNetCallsign10, starNetLogoff10, starNetInfo10, starNetPermanent10, starNetUserTimeout10, starNetGroupTimeout10, starNetCallsignSwitch10, starNetTXMsgSwitch10,
		starNetBand11, starNetCallsign11, starNetLogoff11, starNetInfo11, starNetPermanent11, starNetUserTimeout11, starNetGroupTimeout11, starNetCallsignSwitch11, starNetTXMsgSwitch11,
		starNetBand12, starNetCallsign12, starNetLogoff12, starNetInfo12, starNetPermanent12, starNetUserTimeout12, starNetGroupTimeout12, starNetCallsignSwitch12, starNetTXMsgSwitch12,
		starNetBand13, starNetCallsign13, starNetLogoff13, starNetInfo13, starNetPermanent13, starNetUserTimeout13, starNetGroupTimeout13, starNetCallsignSwitch13, starNetTXMsgSwitch13,
		starNetBand14, starNetCallsign14, starNetLogoff14, starNetInfo14, starNetPermanent14, starNetUserTimeout14, starNetGroupTimeout14, starNetCallsignSwitch14, starNetTXMsgSwitch14,
		starNetBand15, starNetCallsign15, starNetLogoff15, starNetInfo15, starNetPermanent15, starNetUserTimeout15, starNetGroupTimeout15, starNetCallsignSwitch15, starNetTXMsgSwitch15,
		remoteEnabled, remotePassword, remotePort);
#endif
	if (dialog1.ShowModal() != wxID_OK)
		return;

	callsign         = dialog1.getCallsign();
	address          = dialog1.getAddress();

	hostname         = dialog1.getHostname();
	username         = dialog1.getUsername();
	password         = dialog1.getPassword();

	starNetBand1         = dialog1.getStarNetBand1();
	starNetCallsign1     = dialog1.getStarNetCallsign1();
	starNetLogoff1       = dialog1.getStarNetLogoff1();
	starNetInfo1         = dialog1.getStarNetInfo1();
	starNetPermanent1    = dialog1.getStarNetPermanent1();
	starNetUserTimeout1  = dialog1.getStarNetUserTimeout1();
	starNetGroupTimeout1 = dialog1.getStarNetGroupTimeout1();
	starNetCallsignSwitch1 = dialog1.getStarNetCallsignSwitch1();
	starNetTXMsgSwitch1  = dialog1.getStarNetTXMsgSwitch1();
#if defined(DEXTRA_LINK) || defined(DCS_LINK)
	starNetLink1         = dialog1.getStarNetLink1();
#endif

	starNetBand2         = dialog1.getStarNetBand2();
	starNetCallsign2     = dialog1.getStarNetCallsign2();
	starNetLogoff2       = dialog1.getStarNetLogoff2();
	starNetInfo2         = dialog1.getStarNetInfo2();
	starNetPermanent2    = dialog1.getStarNetPermanent2();
	starNetUserTimeout2  = dialog1.getStarNetUserTimeout2();
	starNetGroupTimeout2 = dialog1.getStarNetGroupTimeout2();
	starNetCallsignSwitch2 = dialog1.getStarNetCallsignSwitch2();
	starNetTXMsgSwitch2  = dialog1.getStarNetTXMsgSwitch2();
#if defined(DEXTRA_LINK) || defined(DCS_LINK)
	starNetLink2         = dialog1.getStarNetLink2();
#endif

	starNetBand3         = dialog1.getStarNetBand3();
	starNetCallsign3     = dialog1.getStarNetCallsign3();
	starNetLogoff3       = dialog1.getStarNetLogoff3();
	starNetInfo3         = dialog1.getStarNetInfo3();
	starNetPermanent3    = dialog1.getStarNetPermanent3();
	starNetUserTimeout3  = dialog1.getStarNetUserTimeout3();
	starNetGroupTimeout3 = dialog1.getStarNetGroupTimeout3();
	starNetCallsignSwitch3 = dialog1.getStarNetCallsignSwitch3();
	starNetTXMsgSwitch3  = dialog1.getStarNetTXMsgSwitch3();
#if defined(DEXTRA_LINK) || defined(DCS_LINK)
	starNetLink3         = dialog1.getStarNetLink3();
#endif

	starNetBand4         = dialog1.getStarNetBand4();
	starNetCallsign4     = dialog1.getStarNetCallsign4();
	starNetLogoff4       = dialog1.getStarNetLogoff4();
	starNetInfo4         = dialog1.getStarNetInfo4();
	starNetPermanent4    = dialog1.getStarNetPermanent4();
	starNetUserTimeout4  = dialog1.getStarNetUserTimeout4();
	starNetGroupTimeout4 = dialog1.getStarNetGroupTimeout4();
	starNetCallsignSwitch4 = dialog1.getStarNetCallsignSwitch4();
	starNetTXMsgSwitch4  = dialog1.getStarNetTXMsgSwitch4();
#if defined(DEXTRA_LINK) || defined(DCS_LINK)
	starNetLink4         = dialog1.getStarNetLink4();
#endif

	starNetBand5         = dialog1.getStarNetBand5();
	starNetCallsign5     = dialog1.getStarNetCallsign5();
	starNetLogoff5       = dialog1.getStarNetLogoff5();
	starNetInfo5         = dialog1.getStarNetInfo5();
	starNetPermanent5    = dialog1.getStarNetPermanent5();
	starNetUserTimeout5  = dialog1.getStarNetUserTimeout5();
	starNetGroupTimeout5 = dialog1.getStarNetGroupTimeout5();
	starNetCallsignSwitch5 = dialog1.getStarNetCallsignSwitch5();
	starNetTXMsgSwitch5  = dialog1.getStarNetTXMsgSwitch5();
#if defined(DEXTRA_LINK) || defined(DCS_LINK)
	starNetLink5         = dialog1.getStarNetLink5();
#endif

	starNetBand6         = dialog1.getStarNetBand6();
	starNetCallsign6     = dialog1.getStarNetCallsign6();
	starNetLogoff6       = dialog1.getStarNetLogoff6();
	starNetInfo6         = dialog1.getStarNetInfo6();
	starNetPermanent6    = dialog1.getStarNetPermanent6();
	starNetUserTimeout6  = dialog1.getStarNetUserTimeout6();
	starNetGroupTimeout6 = dialog1.getStarNetGroupTimeout6();
	starNetCallsignSwitch6 = dialog1.getStarNetCallsignSwitch6();
	starNetTXMsgSwitch6  = dialog1.getStarNetTXMsgSwitch6();
#if defined(DEXTRA_LINK) || defined(DCS_LINK)
	starNetLink6         = dialog1.getStarNetLink6();
#endif

	starNetBand7         = dialog1.getStarNetBand7();
	starNetCallsign7     = dialog1.getStarNetCallsign7();
	starNetLogoff7       = dialog1.getStarNetLogoff7();
	starNetInfo7         = dialog1.getStarNetInfo7();
	starNetPermanent7    = dialog1.getStarNetPermanent7();
	starNetUserTimeout7  = dialog1.getStarNetUserTimeout7();
	starNetGroupTimeout7 = dialog1.getStarNetGroupTimeout7();
	starNetCallsignSwitch7 = dialog1.getStarNetCallsignSwitch7();
	starNetTXMsgSwitch7  = dialog1.getStarNetTXMsgSwitch7();
#if defined(DEXTRA_LINK) || defined(DCS_LINK)
	starNetLink7         = dialog1.getStarNetLink7();
#endif

	starNetBand8         = dialog1.getStarNetBand8();
	starNetCallsign8     = dialog1.getStarNetCallsign8();
	starNetLogoff8       = dialog1.getStarNetLogoff8();
	starNetInfo8         = dialog1.getStarNetInfo8();
	starNetPermanent8    = dialog1.getStarNetPermanent8();
	starNetUserTimeout8  = dialog1.getStarNetUserTimeout8();
	starNetGroupTimeout8 = dialog1.getStarNetGroupTimeout8();
	starNetCallsignSwitch8 = dialog1.getStarNetCallsignSwitch8();
	starNetTXMsgSwitch8  = dialog1.getStarNetTXMsgSwitch8();
#if defined(DEXTRA_LINK) || defined(DCS_LINK)
	starNetLink8         = dialog1.getStarNetLink8();
#endif

	starNetBand9         = dialog1.getStarNetBand9();
	starNetCallsign9     = dialog1.getStarNetCallsign9();
	starNetLogoff9       = dialog1.getStarNetLogoff9();
	starNetInfo9         = dialog1.getStarNetInfo9();
	starNetPermanent9    = dialog1.getStarNetPermanent9();
	starNetUserTimeout9  = dialog1.getStarNetUserTimeout9();
	starNetGroupTimeout9 = dialog1.getStarNetGroupTimeout9();
	starNetCallsignSwitch9 = dialog1.getStarNetCallsignSwitch9();
	starNetTXMsgSwitch9  = dialog1.getStarNetTXMsgSwitch9();
#if defined(DEXTRA_LINK) || defined(DCS_LINK)
	starNetLink9         = dialog1.getStarNetLink9();
#endif

	starNetBand10         = dialog1.getStarNetBand10();
	starNetCallsign10     = dialog1.getStarNetCallsign10();
	starNetLogoff10       = dialog1.getStarNetLogoff10();
	starNetInfo10         = dialog1.getStarNetInfo10();
	starNetPermanent10    = dialog1.getStarNetPermanent10();
	starNetUserTimeout10  = dialog1.getStarNetUserTimeout10();
	starNetGroupTimeout10 = dialog1.getStarNetGroupTimeout10();
	starNetCallsignSwitch10 = dialog1.getStarNetCallsignSwitch10();
	starNetTXMsgSwitch10  = dialog1.getStarNetTXMsgSwitch10();
#if defined(DEXTRA_LINK) || defined(DCS_LINK)
	starNetLink10         = dialog1.getStarNetLink10();
#endif

	starNetBand11         = dialog1.getStarNetBand11();
	starNetCallsign11     = dialog1.getStarNetCallsign11();
	starNetLogoff11       = dialog1.getStarNetLogoff11();
	starNetInfo11         = dialog1.getStarNetInfo11();
	starNetPermanent11    = dialog1.getStarNetPermanent11();
	starNetUserTimeout11  = dialog1.getStarNetUserTimeout11();
	starNetGroupTimeout11 = dialog1.getStarNetGroupTimeout11();
	starNetCallsignSwitch11 = dialog1.getStarNetCallsignSwitch11();
	starNetTXMsgSwitch11  = dialog1.getStarNetTXMsgSwitch11();
#if defined(DEXTRA_LINK) || defined(DCS_LINK)
	starNetLink11         = dialog1.getStarNetLink11();
#endif

	starNetBand12         = dialog1.getStarNetBand12();
	starNetCallsign12     = dialog1.getStarNetCallsign12();
	starNetLogoff12       = dialog1.getStarNetLogoff12();
	starNetInfo12         = dialog1.getStarNetInfo12();
	starNetPermanent12    = dialog1.getStarNetPermanent12();
	starNetUserTimeout12  = dialog1.getStarNetUserTimeout12();
	starNetGroupTimeout12 = dialog1.getStarNetGroupTimeout12();
	starNetCallsignSwitch12 = dialog1.getStarNetCallsignSwitch12();
	starNetTXMsgSwitch12  = dialog1.getStarNetTXMsgSwitch12();
#if defined(DEXTRA_LINK) || defined(DCS_LINK)
	starNetLink12         = dialog1.getStarNetLink12();
#endif

	starNetBand13         = dialog1.getStarNetBand13();
	starNetCallsign13     = dialog1.getStarNetCallsign13();
	starNetLogoff13       = dialog1.getStarNetLogoff13();
	starNetInfo13         = dialog1.getStarNetInfo13();
	starNetPermanent13    = dialog1.getStarNetPermanent13();
	starNetUserTimeout13  = dialog1.getStarNetUserTimeout13();
	starNetGroupTimeout13 = dialog1.getStarNetGroupTimeout13();
	starNetCallsignSwitch13 = dialog1.getStarNetCallsignSwitch13();
	starNetTXMsgSwitch13  = dialog1.getStarNetTXMsgSwitch13();
#if defined(DEXTRA_LINK) || defined(DCS_LINK)
	starNetLink13         = dialog1.getStarNetLink13();
#endif

	starNetBand14         = dialog1.getStarNetBand14();
	starNetCallsign14     = dialog1.getStarNetCallsign14();
	starNetLogoff14       = dialog1.getStarNetLogoff14();
	starNetInfo14         = dialog1.getStarNetInfo14();
	starNetPermanent14    = dialog1.getStarNetPermanent14();
	starNetUserTimeout14  = dialog1.getStarNetUserTimeout14();
	starNetGroupTimeout14 = dialog1.getStarNetGroupTimeout14();
	starNetCallsignSwitch14 = dialog1.getStarNetCallsignSwitch14();
	starNetTXMsgSwitch14  = dialog1.getStarNetTXMsgSwitch14();
#if defined(DEXTRA_LINK) || defined(DCS_LINK)
	starNetLink14         = dialog1.getStarNetLink14();
#endif

	starNetBand15         = dialog1.getStarNetBand15();
	starNetCallsign15     = dialog1.getStarNetCallsign15();
	starNetLogoff15       = dialog1.getStarNetLogoff15();
	starNetInfo15         = dialog1.getStarNetInfo15();
	starNetPermanent15    = dialog1.getStarNetPermanent15();
	starNetUserTimeout15  = dialog1.getStarNetUserTimeout15();
	starNetGroupTimeout15 = dialog1.getStarNetGroupTimeout15();
	starNetCallsignSwitch15 = dialog1.getStarNetCallsignSwitch15();
	starNetTXMsgSwitch15  = dialog1.getStarNetTXMsgSwitch15();
#if defined(DEXTRA_LINK) || defined(DCS_LINK)
	starNetLink15         = dialog1.getStarNetLink15();
#endif

	remoteEnabled       = dialog1.getRemoteEnabled();
	remotePassword      = dialog1.getRemotePassword();
	remotePort          = dialog1.getRemotePort();

	logEnabled          = dialog1.getLogEnabled();

	::wxGetApp().setGateway(callsign, address);
	::wxGetApp().setIrcDDB(hostname, username, password);
#if defined(DEXTRA_LINK) || defined(DCS_LINK)
	::wxGetApp().setStarNet1(starNetBand1,   starNetCallsign1,  starNetLogoff1,  starNetInfo1,  starNetPermanent1,  starNetUserTimeout1,  starNetGroupTimeout1,  starNetCallsignSwitch1,  starNetTXMsgSwitch1,  starNetLink1);
	::wxGetApp().setStarNet2(starNetBand2,   starNetCallsign2,  starNetLogoff2,  starNetInfo2,  starNetPermanent2,  starNetUserTimeout2,  starNetGroupTimeout2,  starNetCallsignSwitch2,  starNetTXMsgSwitch2,  starNetLink2);
	::wxGetApp().setStarNet3(starNetBand3,   starNetCallsign3,  starNetLogoff3,  starNetInfo3,  starNetPermanent3,  starNetUserTimeout3,  starNetGroupTimeout3,  starNetCallsignSwitch3,  starNetTXMsgSwitch3,  starNetLink3);
	::wxGetApp().setStarNet4(starNetBand4,   starNetCallsign4,  starNetLogoff4,  starNetInfo4,  starNetPermanent4,  starNetUserTimeout4,  starNetGroupTimeout4,  starNetCallsignSwitch4,  starNetTXMsgSwitch4,  starNetLink4);
	::wxGetApp().setStarNet5(starNetBand5,   starNetCallsign5,  starNetLogoff5,  starNetInfo5,  starNetPermanent5,  starNetUserTimeout5,  starNetGroupTimeout5,  starNetCallsignSwitch5,  starNetTXMsgSwitch5,  starNetLink5);
	::wxGetApp().setStarNet6(starNetBand6,   starNetCallsign6,  starNetLogoff6,  starNetInfo6,  starNetPermanent6,  starNetUserTimeout6,  starNetGroupTimeout6,  starNetCallsignSwitch6,  starNetTXMsgSwitch6,  starNetLink6);
	::wxGetApp().setStarNet7(starNetBand7,   starNetCallsign7,  starNetLogoff7,  starNetInfo7,  starNetPermanent7,  starNetUserTimeout7,  starNetGroupTimeout7,  starNetCallsignSwitch7,  starNetTXMsgSwitch7,  starNetLink7);
	::wxGetApp().setStarNet8(starNetBand8,   starNetCallsign8,  starNetLogoff8,  starNetInfo8,  starNetPermanent8,  starNetUserTimeout8,  starNetGroupTimeout8,  starNetCallsignSwitch8,  starNetTXMsgSwitch8,  starNetLink8);
	::wxGetApp().setStarNet9(starNetBand9,   starNetCallsign9,  starNetLogoff9,  starNetInfo9,  starNetPermanent9,  starNetUserTimeout9,  starNetGroupTimeout9,  starNetCallsignSwitch9,  starNetTXMsgSwitch9,  starNetLink9);
	::wxGetApp().setStarNet10(starNetBand10, starNetCallsign10, starNetLogoff10, starNetInfo10, starNetPermanent10, starNetUserTimeout10, starNetGroupTimeout10, starNetCallsignSwitch10, starNetTXMsgSwitch10, starNetLink10);
	::wxGetApp().setStarNet11(starNetBand11, starNetCallsign11, starNetLogoff11, starNetInfo11, starNetPermanent11, starNetUserTimeout11, starNetGroupTimeout11, starNetCallsignSwitch11, starNetTXMsgSwitch11, starNetLink11);
	::wxGetApp().setStarNet12(starNetBand12, starNetCallsign12, starNetLogoff12, starNetInfo12, starNetPermanent12, starNetUserTimeout12, starNetGroupTimeout12, starNetCallsignSwitch12, starNetTXMsgSwitch12, starNetLink12);
	::wxGetApp().setStarNet13(starNetBand13, starNetCallsign13, starNetLogoff13, starNetInfo13, starNetPermanent13, starNetUserTimeout13, starNetGroupTimeout13, starNetCallsignSwitch13, starNetTXMsgSwitch13, starNetLink13);
	::wxGetApp().setStarNet14(starNetBand14, starNetCallsign14, starNetLogoff14, starNetInfo14, starNetPermanent14, starNetUserTimeout14, starNetGroupTimeout14, starNetCallsignSwitch14, starNetTXMsgSwitch14, starNetLink14);
	::wxGetApp().setStarNet15(starNetBand15, starNetCallsign15, starNetLogoff15, starNetInfo15, starNetPermanent15, starNetUserTimeout15, starNetGroupTimeout15, starNetCallsignSwitch15, starNetTXMsgSwitch15, starNetLink15);
#else
	::wxGetApp().setStarNet1(starNetBand1,   starNetCallsign1,  starNetLogoff1,  starNetInfo1,  starNetPermanent1,  starNetUserTimeout1,  starNetGroupTimeout1,  starNetCallsignSwitch1,  starNetTXMsgSwitch1);
	::wxGetApp().setStarNet2(starNetBand2,   starNetCallsign2,  starNetLogoff2,  starNetInfo2,  starNetPermanent2,  starNetUserTimeout2,  starNetGroupTimeout2,  starNetCallsignSwitch2,  starNetTXMsgSwitch2);
	::wxGetApp().setStarNet3(starNetBand3,   starNetCallsign3,  starNetLogoff3,  starNetInfo3,  starNetPermanent3,  starNetUserTimeout3,  starNetGroupTimeout3,  starNetCallsignSwitch3,  starNetTXMsgSwitch3);
	::wxGetApp().setStarNet4(starNetBand4,   starNetCallsign4,  starNetLogoff4,  starNetInfo4,  starNetPermanent4,  starNetUserTimeout4,  starNetGroupTimeout4,  starNetCallsignSwitch4,  starNetTXMsgSwitch4);
	::wxGetApp().setStarNet5(starNetBand5,   starNetCallsign5,  starNetLogoff5,  starNetInfo5,  starNetPermanent5,  starNetUserTimeout5,  starNetGroupTimeout5,  starNetCallsignSwitch5,  starNetTXMsgSwitch5);
	::wxGetApp().setStarNet6(starNetBand6,   starNetCallsign6,  starNetLogoff6,  starNetInfo6,  starNetPermanent6,  starNetUserTimeout6,  starNetGroupTimeout6,  starNetCallsignSwitch6,  starNetTXMsgSwitch6);
	::wxGetApp().setStarNet7(starNetBand7,   starNetCallsign7,  starNetLogoff7,  starNetInfo7,  starNetPermanent7,  starNetUserTimeout7,  starNetGroupTimeout7,  starNetCallsignSwitch7,  starNetTXMsgSwitch7);
	::wxGetApp().setStarNet8(starNetBand8,   starNetCallsign8,  starNetLogoff8,  starNetInfo8,  starNetPermanent8,  starNetUserTimeout8,  starNetGroupTimeout8,  starNetCallsignSwitch8,  starNetTXMsgSwitch8);
	::wxGetApp().setStarNet9(starNetBand9,   starNetCallsign9,  starNetLogoff9,  starNetInfo9,  starNetPermanent9,  starNetUserTimeout9,  starNetGroupTimeout9,  starNetCallsignSwitch9,  starNetTXMsgSwitch9);
	::wxGetApp().setStarNet10(starNetBand10, starNetCallsign10, starNetLogoff10, starNetInfo10, starNetPermanent10, starNetUserTimeout10, starNetGroupTimeout10, starNetCallsignSwitch10, starNetTXMsgSwitch10);
	::wxGetApp().setStarNet11(starNetBand11, starNetCallsign11, starNetLogoff11, starNetInfo11, starNetPermanent11, starNetUserTimeout11, starNetGroupTimeout11, starNetCallsignSwitch11, starNetTXMsgSwitch11);
	::wxGetApp().setStarNet12(starNetBand12, starNetCallsign12, starNetLogoff12, starNetInfo12, starNetPermanent12, starNetUserTimeout12, starNetGroupTimeout12, starNetCallsignSwitch12, starNetTXMsgSwitch12);
	::wxGetApp().setStarNet13(starNetBand13, starNetCallsign13, starNetLogoff13, starNetInfo13, starNetPermanent13, starNetUserTimeout13, starNetGroupTimeout13, starNetCallsignSwitch13, starNetTXMsgSwitch13);
	::wxGetApp().setStarNet14(starNetBand14, starNetCallsign14, starNetLogoff14, starNetInfo14, starNetPermanent14, starNetUserTimeout14, starNetGroupTimeout14, starNetCallsignSwitch14, starNetTXMsgSwitch14);
	::wxGetApp().setStarNet15(starNetBand15, starNetCallsign15, starNetLogoff15, starNetInfo15, starNetPermanent15, starNetUserTimeout15, starNetGroupTimeout15, starNetCallsignSwitch15, starNetTXMsgSwitch15);
#endif
	::wxGetApp().setRemote(remoteEnabled, remotePassword, remotePort);
	::wxGetApp().setMiscellaneous(logEnabled);
	::wxGetApp().writeConfig();

	wxMessageDialog dialog2(this, _("The changes made will not take effect\nuntil the application is restarted"), _("StarNET Server Information"), wxICON_INFORMATION);
	dialog2.ShowModal();
}