Merge with upstream

pull/2/head
Stelios Bounanos 2008-11-25 00:14:20 +00:00
commit cc3677694d
16 zmienionych plików z 641 dodań i 250 usunięć

Wyświetl plik

@ -9,7 +9,7 @@ dnl major and minor must be integers; patch may
dnl contain other characters or be empty
m4_define(FLDIGI_MAJOR, [3])
m4_define(FLDIGI_MINOR, [0])
m4_define(FLDIGI_PATCH, [4BC])
m4_define(FLDIGI_PATCH, [4BE])
AC_INIT([fldigi], FLDIGI_MAJOR.FLDIGI_MINOR[FLDIGI_PATCH], [w1hkj AT w1hkj DOT com])

Wyświetl plik

@ -1,4 +1,4 @@
// generated by Fast Light User Interface Designer (fluid) version 1.0109
// generated by Fast Light User Interface Designer (fluid) version 1.0108
#include "confdialog.h"
#include <config.h>
@ -12,8 +12,8 @@
#include "lookupcall.h"
#include "icons.h"
#include "Viewer.h"
extern void initViewer();
#include "pskrep.h"
extern void initViewer();
Fl_Double_Window *dlgConfig;
void set_qrz_buttons(Fl_Button* b) {
@ -199,12 +199,15 @@ Fl_Button *btnPSKRepInit=(Fl_Button *)0;
static void cb_btnPSKRepInit(Fl_Button* o, void*) {
pskrep_stop();
if (!pskrep_start())
if (!pskrep_start()) {
boxPSKRepMsg->copy_label(pskrep_error());
else {
progdefaults.usepskrep = false;
} else {
boxPSKRepMsg->label(0);
o->labelcolor(FL_FOREGROUND_COLOR);
};
progdefaults.usepskrep = true;
}
progdefaults.changed = true;
}
Fl_Box *boxPSKRepMsg=(Fl_Box *)0;
@ -794,13 +797,6 @@ static void cb_inpMyQth(Fl_Input* o, void*) {
progdefaults.changed = true;
}
Fl_Input *inpMyAntenna=(Fl_Input *)0;
static void cb_inpMyAntenna(Fl_Input* o, void*) {
progdefaults.myAntenna = o->value();
progdefaults.changed = true;
}
Fl_Input *inpMyLocator=(Fl_Input *)0;
static void cb_inpMyLocator(Fl_Input* o, void*) {
@ -829,6 +825,13 @@ static void cb_nbrContestDigits(Fl_Value_Input* o, void*) {
progdefaults.changed = true;
}
Fl_Input *inpMyAntenna=(Fl_Input *)0;
static void cb_inpMyAntenna(Fl_Input* o, void*) {
progdefaults.myAntenna = o->value();
progdefaults.changed = true;
}
Fl_Group *tabQRZ=(Fl_Group *)0;
Fl_Round_Button *btnQRZnotavailable=(Fl_Round_Button *)0;
@ -925,43 +928,56 @@ static void cb_btnPTT1(Fl_Round_Button* o, void*) {
btnRigCatRTSptt->value(0);
btnRigCatDTRptt->value(0);
}
btnInitHWPTT->labelcolor(FL_RED);
btnInitHWPTT->redraw();
progdefaults.changed = true;
}
Fl_Round_Button *btnRTSptt=(Fl_Round_Button *)0;
static void cb_btnRTSptt(Fl_Round_Button*, void*) {
progdefaults.changed = true;
btnInitHWPTT->labelcolor(FL_RED);
btnInitHWPTT->redraw();
progdefaults.changed = true;
}
Fl_Round_Button *btnDTRptt=(Fl_Round_Button *)0;
static void cb_btnDTRptt(Fl_Round_Button*, void*) {
progdefaults.changed = true;
btnInitHWPTT->labelcolor(FL_RED);
btnInitHWPTT->redraw();
progdefaults.changed = true;
}
Fl_Round_Button *btnRTSplusV=(Fl_Round_Button *)0;
static void cb_btnRTSplusV(Fl_Round_Button*, void*) {
progdefaults.changed = true;
btnInitHWPTT->labelcolor(FL_RED);
btnInitHWPTT->redraw();
progdefaults.changed = true;
}
Fl_Round_Button *btnDTRplusV=(Fl_Round_Button *)0;
static void cb_btnDTRplusV(Fl_Round_Button*, void*) {
progdefaults.changed = true;
btnInitHWPTT->labelcolor(FL_RED);
btnInitHWPTT->redraw();
progdefaults.changed = true;
}
Fl_Input_Choice *inpTTYdev=(Fl_Input_Choice *)0;
static void cb_inpTTYdev(Fl_Input_Choice*, void*) {
progdefaults.changed = true;
btnInitHWPTT->labelcolor(FL_RED);
btnInitHWPTT->redraw();
progdefaults.changed = true;
}
Fl_Button *btnInitHWPTT=(Fl_Button *)0;
static void cb_btnInitHWPTT(Fl_Button*, void*) {
static void cb_btnInitHWPTT(Fl_Button* o, void*) {
progdefaults.initInterface();
o->labelcolor(FL_FOREGROUND_COLOR);
progdefaults.changed = true;
}
@ -991,6 +1007,8 @@ static void cb_chkUSERIGCAT(Fl_Check_Button* o, void*) {
progdefaults.chkUSERIGCATis = false;
}
for (int i = 0; i < 4; btnPTT[i++]->redraw());
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;
}
@ -1003,6 +1021,8 @@ static void cb_btnPTT2(Fl_Round_Button* o, void*) {
btnPTT[2]->value(0);
btnPTT[4]->value(0);
}
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;
}
@ -1011,13 +1031,17 @@ Fl_Output *txtXmlRigFilename=(Fl_Output *)0;
Fl_Button *btnSelectRigXmlFile=(Fl_Button *)0;
static void cb_btnSelectRigXmlFile(Fl_Button*, void*) {
selectRigXmlFilename();
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
selectRigXmlFilename();
}
Fl_Input_Choice *inpXmlRigDevice=(Fl_Input_Choice *)0;
static void cb_inpXmlRigDevice(Fl_Input_Choice* o, void*) {
progdefaults.XmlRigDevice = o->value();
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;
}
@ -1025,6 +1049,8 @@ Fl_Choice *mnuXmlRigBaudrate=(Fl_Choice *)0;
static void cb_mnuXmlRigBaudrate(Fl_Choice* o, void*) {
progdefaults.XmlRigBaudrate = o->value();
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;
}
@ -1041,6 +1067,8 @@ static void cb_btnRigCatRTSptt(Fl_Round_Button* o, void*) {
progdefaults.RigCatRTSptt = true;
} else
progdefaults.RigCatRTSptt = false;
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;
}
@ -1057,6 +1085,8 @@ static void cb_btnRigCatDTRptt(Fl_Round_Button* o, void*) {
progdefaults.RigCatDTRptt = true;
} else
progdefaults.RigCatDTRptt = false;
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;
}
@ -1064,6 +1094,8 @@ Fl_Check_Button *btnRigCatRTSplus=(Fl_Check_Button *)0;
static void cb_btnRigCatRTSplus(Fl_Check_Button* o, void*) {
progdefaults.RigCatRTSplus = o->value();
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;
}
@ -1071,6 +1103,8 @@ Fl_Check_Button *btnRigCatDTRplus=(Fl_Check_Button *)0;
static void cb_btnRigCatDTRplus(Fl_Check_Button* o, void*) {
progdefaults.RigCatDTRplus = o->value();
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;
}
@ -1078,6 +1112,8 @@ Fl_Counter *cntRigCatRetries=(Fl_Counter *)0;
static void cb_cntRigCatRetries(Fl_Counter* o, void*) {
progdefaults.RigCatRetries = (int)o->value();
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;
}
@ -1085,18 +1121,25 @@ Fl_Counter *cntRigCatTimeout=(Fl_Counter *)0;
static void cb_cntRigCatTimeout(Fl_Counter* o, void*) {
progdefaults.RigCatTimeout = (int)o->value();
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;
}
Fl_Counter *cntRigCatWait=(Fl_Counter *)0;
static void cb_cntRigCatWait(Fl_Counter* o, void*) {
progdefaults.RigCatWait = (int)o->value();
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;
}
Fl_Button *btnInitRIGCAT=(Fl_Button *)0;
static void cb_btnInitRIGCAT(Fl_Button*, void*) {
static void cb_btnInitRIGCAT(Fl_Button* o, void*) {
progdefaults.initInterface();
o->labelcolor(FL_FOREGROUND_COLOR);
progdefaults.changed = true;
}
@ -1104,6 +1147,8 @@ Fl_Check_Button *chkRigCatRTSCTSflow=(Fl_Check_Button *)0;
static void cb_chkRigCatRTSCTSflow(Fl_Check_Button* o, void*) {
progdefaults.RigCatRTSCTSflow = o->value();
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;
}
@ -1133,6 +1178,8 @@ static void cb_chkUSEHAMLIB(Fl_Check_Button* o, void*) {
progdefaults.chkUSEHAMLIBis = false;
}
for (int i = 0; i < 4; btnPTT[i++]->redraw());
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;
}
@ -1145,19 +1192,25 @@ static void cb_btnPTT3(Fl_Round_Button* o, void*) {
btnRigCatRTSptt->value(0);
btnRigCatDTRptt->value(0);
}
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;
}
Fl_ComboBox *cboHamlibRig=(Fl_ComboBox *)0;
static void cb_cboHamlibRig(Fl_ComboBox*, void*) {
progdefaults.changed = true;
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;
}
Fl_Input_Choice *inpRIGdev=(Fl_Input_Choice *)0;
static void cb_inpRIGdev(Fl_Input_Choice* o, void*) {
progdefaults.HamRigDevice = o->value();
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;
}
@ -1165,13 +1218,16 @@ Fl_Choice *mnuBaudRate=(Fl_Choice *)0;
static void cb_mnuBaudRate(Fl_Choice* o, void*) {
progdefaults.HamRigBaudrate = o->value();
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;
}
Fl_Button *btnInitHAMLIB=(Fl_Button *)0;
static void cb_btnInitHAMLIB(Fl_Button*, void*) {
static void cb_btnInitHAMLIB(Fl_Button* o, void*) {
progdefaults.initInterface();
o->labelcolor(FL_FOREGROUND_COLOR);
progdefaults.changed = true;
}
@ -1179,6 +1235,8 @@ Fl_Counter *cntHamlibtRetries=(Fl_Counter *)0;
static void cb_cntHamlibtRetries(Fl_Counter* o, void*) {
progdefaults.HamlibRetries = (int)o->value();
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;
}
@ -1186,18 +1244,26 @@ Fl_Counter *cntHamlibTimeout=(Fl_Counter *)0;
static void cb_cntHamlibTimeout(Fl_Counter* o, void*) {
progdefaults.HamlibTimeout = (int)o->value();
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;
}
Fl_Counter *cntHamlibWait=(Fl_Counter *)0;
static void cb_cntHamlibWait(Fl_Counter* o, void*) {
progdefaults.HamlibWait = (int)o->value();
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;
}
Fl_Check_Button *btnHamlibDTRplus=(Fl_Check_Button *)0;
static void cb_btnHamlibDTRplus(Fl_Check_Button* o, void*) {
progdefaults.HamlibDTRplus = o->value();
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;
}
@ -1209,6 +1275,8 @@ if (o->value() == 1) {
chkHamlibRTSCTSflow->value(0);
progdefaults.HamlibRTSCTSflow = false;
}
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;
}
@ -1221,6 +1289,8 @@ if (o->value() == 1) {
chkHamlibXONXOFFflow->value(0);
progdefaults.HamlibXONXOFFflow = false;
}
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;
}
@ -1232,6 +1302,8 @@ if (o->value() == 1) {
chkHamlibRTSCTSflow->value(0);
progdefaults.HamlibRTSCTSflow = false;
}
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;
}
@ -1239,6 +1311,8 @@ Fl_Input *inpHamlibConfig=(Fl_Input *)0;
static void cb_inpHamlibConfig(Fl_Input* o, void*) {
progdefaults.HamConfig = o->value();
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;
}
@ -1266,6 +1340,8 @@ static void cb_chkUSEMEMMAP(Fl_Check_Button* o, void*) {
progdefaults.chkUSEMEMMAPis = false;
}
for (int i = 0; i < 4; btnPTT[i++]->redraw());
btnInitMEMMAP->labelcolor(FL_RED);
btnInitMEMMAP->redraw();
progdefaults.changed = true;
}
@ -1278,13 +1354,16 @@ static void cb_btnPTT4(Fl_Round_Button* o, void*) {
btnRigCatRTSptt->value(0);
btnRigCatDTRptt->value(0);
}
btnInitMEMMAP->labelcolor(FL_RED);
btnInitMEMMAP->redraw();
progdefaults.changed = true;
}
Fl_Button *btnInitMEMMAP=(Fl_Button *)0;
static void cb_btnInitMEMMAP(Fl_Button*, void*) {
static void cb_btnInitMEMMAP(Fl_Button* o, void*) {
progdefaults.initInterface();
o->labelcolor(FL_FOREGROUND_COLOR);
progdefaults.changed = true;
}
@ -1308,13 +1387,16 @@ static void cb_chkUSEXMLRPC(Fl_Check_Button* o, void*) {
progdefaults.chkUSEXMLRPCis = false;
}
for (int i = 0; i < 4; btnPTT[i++]->redraw());
btnInitXMLRPC->labelcolor(FL_RED);
btnInitXMLRPC->redraw();
progdefaults.changed = true;
}
Fl_Button *btnInitXMLRPC=(Fl_Button *)0;
static void cb_btnInitXMLRPC(Fl_Button*, void*) {
static void cb_btnInitXMLRPC(Fl_Button* o, void*) {
progdefaults.initInterface();
o->labelcolor(FL_FOREGROUND_COLOR);
progdefaults.changed = true;
}
@ -1869,14 +1951,14 @@ static const char szStopBits[] = "1|1.5|2";
static const char szOliviaTones[] = "2|4|8|16|32|64|128|256";
static const char szOliviaBandwidth[] = "125|250|500|1000|2000";
static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600|115200|230400|460800";
{ Fl_Double_Window* o = new Fl_Double_Window(400, 254, "fldigi - config");
{ Fl_Double_Window* o = new Fl_Double_Window(400, 255, "fldigi - config");
w = o;
o->tooltip("Leading/Trailing Risetimes (msec)");
o->color(FL_DARK2);
o->selection_color((Fl_Color)51);
o->labelsize(18);
o->align(FL_ALIGN_CLIP|FL_ALIGN_INSIDE);
{ tabsConfigure = new Fl_Tabs(0, 0, 405, 221);
{ tabsConfigure = new Fl_Tabs(0, 0, 405, 225);
tabsConfigure->color(FL_DARK1);
tabsConfigure->selection_color((Fl_Color)9);
{ tabID = new Fl_Group(0, 25, 400, 195, "Id\'s");
@ -1966,10 +2048,11 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
} // Fl_Group* o
tabID->end();
} // Fl_Group* tabID
{ tabMisc = new Fl_Group(0, 25, 400, 195, "Misc");
{ tabMisc = new Fl_Group(0, 25, 405, 200, "Misc");
tabMisc->color((Fl_Color)51);
tabMisc->selection_color((Fl_Color)51);
{ tabsMisc = new Fl_Tabs(0, 25, 400, 195);
tabMisc->hide();
{ tabsMisc = new Fl_Tabs(0, 25, 405, 200);
tabsMisc->selection_color((Fl_Color)10);
{ tabCPUspeed = new Fl_Group(0, 50, 400, 170, "CPU");
tabCPUspeed->hide();
@ -2044,7 +2127,7 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
} // Fl_Group* o
tabSweetSpot->end();
} // Fl_Group* tabSweetSpot
{ tabSpot = new Fl_Group(0, 50, 400, 170, "Spotting");
{ tabSpot = new Fl_Group(2, 55, 403, 170, "Spotting");
{ Fl_Group* o = new Fl_Group(2, 57, 395, 160, "PSK Reporter");
o->box(FL_ENGRAVED_FRAME);
o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
@ -2058,12 +2141,12 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
btnPSKRepLog->callback((Fl_Callback*)cb_btnPSKRepLog);
btnPSKRepLog->value(progdefaults.pskrep_log);
} // Fl_Check_Button* btnPSKRepLog
{ inpPSKRepHost = new Fl_Input(56, 156, 220, 20, "Host:");
{ inpPSKRepHost = new Fl_Input(55, 155, 220, 24, "Host:");
inpPSKRepHost->callback((Fl_Callback*)cb_inpPSKRepHost);
inpPSKRepHost->when(FL_WHEN_CHANGED);
inpPSKRepHost->value(progdefaults.pskrep_host.c_str());
} // Fl_Input* inpPSKRepHost
{ inpPSKRepPort = new Fl_Input(323, 156, 60, 20, "Port:");
{ inpPSKRepPort = new Fl_Input(322, 155, 60, 24, "Port:");
inpPSKRepPort->callback((Fl_Callback*)cb_inpPSKRepPort);
inpPSKRepPort->when(FL_WHEN_CHANGED);
inpPSKRepPort->value(progdefaults.pskrep_port.c_str());
@ -2215,6 +2298,7 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
cntCWdash2dot->type(1);
cntCWdash2dot->minimum(2.5);
cntCWdash2dot->maximum(4);
cntCWdash2dot->step(0.1);
cntCWdash2dot->value(3);
cntCWdash2dot->callback((Fl_Callback*)cb_cntCWdash2dot);
cntCWdash2dot->align(FL_ALIGN_LEFT);
@ -2224,6 +2308,7 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
cntCWrisetime->type(1);
cntCWrisetime->minimum(0);
cntCWrisetime->maximum(15);
cntCWrisetime->step(0.1);
cntCWrisetime->value(4);
cntCWrisetime->callback((Fl_Callback*)cb_cntCWrisetime);
cntCWrisetime->align(FL_ALIGN_LEFT);
@ -2287,6 +2372,7 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
valDominoEX_BW->type(1);
valDominoEX_BW->minimum(1);
valDominoEX_BW->maximum(2);
valDominoEX_BW->step(0.1);
valDominoEX_BW->value(1.5);
valDominoEX_BW->callback((Fl_Callback*)cb_valDominoEX_BW);
o->value(progdefaults.DOMINOEX_BW);
@ -2317,6 +2403,7 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
{ Fl_Value_Slider* o = valDomCWI = new Fl_Value_Slider(125, 179, 260, 21, "CWI threshold:");
valDomCWI->tooltip("CWI detection and suppression");
valDomCWI->type(1);
valDomCWI->step(0.01);
valDomCWI->textsize(14);
valDomCWI->callback((Fl_Callback*)cb_valDomCWI);
valDomCWI->align(FL_ALIGN_LEFT);
@ -2711,6 +2798,7 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
valTHOR_BW->type(1);
valTHOR_BW->minimum(1);
valTHOR_BW->maximum(2);
valTHOR_BW->step(0.1);
valTHOR_BW->value(1.5);
valTHOR_BW->callback((Fl_Callback*)cb_valTHOR_BW);
o->value(progdefaults.THOR_BW);
@ -2741,6 +2829,7 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
{ Fl_Value_Slider* o = valThorCWI = new Fl_Value_Slider(120, 174, 260, 21, "CWI threshold:");
valThorCWI->tooltip("CWI detection and suppression");
valThorCWI->type(1);
valThorCWI->step(0.01);
valThorCWI->textsize(14);
valThorCWI->callback((Fl_Callback*)cb_valThorCWI);
valThorCWI->align(FL_ALIGN_LEFT);
@ -2757,19 +2846,15 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
tabOperator->selection_color((Fl_Color)51);
tabOperator->callback((Fl_Callback*)cb_tabOperator);
tabOperator->when(FL_WHEN_CHANGED);
tabOperator->hide();
{ inpMyCallsign = new Fl_Input(78, 36, 100, 24, "Callsign:");
{ inpMyCallsign = new Fl_Input(78, 36, 85, 24, "Callsign:");
inpMyCallsign->callback((Fl_Callback*)cb_inpMyCallsign);
} // Fl_Input* inpMyCallsign
{ inpMyName = new Fl_Input(270, 36, 120, 24, "Name:");
{ inpMyName = new Fl_Input(271, 36, 120, 24, "Name:");
inpMyName->callback((Fl_Callback*)cb_inpMyName);
} // Fl_Input* inpMyName
{ inpMyQth = new Fl_Input(78, 62, 312, 24, "Qth:");
{ inpMyQth = new Fl_Input(79, 63, 312, 24, "Qth:");
inpMyQth->callback((Fl_Callback*)cb_inpMyQth);
} // Fl_Input* inpMyQth
{ inpMyAntenna = new Fl_Input(78, 89, 312, 24, "Antenna:");
inpMyAntenna->callback((Fl_Callback*)cb_inpMyAntenna);
} // Fl_Input* inpMyAntenna
{ inpMyLocator = new Fl_Input(78, 116, 85, 24, "Locator:");
inpMyLocator->callback((Fl_Callback*)cb_inpMyLocator);
} // Fl_Input* inpMyLocator
@ -2799,9 +2884,12 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
} // Fl_Value_Input* nbrContestDigits
o->end();
} // Fl_Group* o
{ inpMyAntenna = new Fl_Input(78, 89, 312, 24, "Antenna:");
inpMyAntenna->callback((Fl_Callback*)cb_inpMyAntenna);
} // Fl_Input* inpMyAntenna
tabOperator->end();
} // Fl_Group* tabOperator
{ tabQRZ = new Fl_Group(0, 25, 400, 195, "QRZ");
{ tabQRZ = new Fl_Group(0, 25, 400, 195, "Qrz");
tabQRZ->color((Fl_Color)51);
tabQRZ->selection_color((Fl_Color)51);
tabQRZ->hide();
@ -2870,6 +2958,7 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
o->selection_color((Fl_Color)10);
{ Fl_Group* o = new Fl_Group(0, 50, 400, 170, "H/W ptt");
o->tooltip("Tottle DTR for ptt");
o->hide();
{ btnPTT[0] = new Fl_Round_Button(15, 70, 74, 17, "none");
btnPTT[0]->down_box(FL_DIAMOND_DOWN_BOX);
btnPTT[0]->value(1);
@ -3126,7 +3215,6 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
o->end();
} // Fl_Group* o
{ Fl_Group* o = new Fl_Group(0, 50, 400, 170, "MemMap");
o->hide();
{ chkUSEMEMMAP = new Fl_Check_Button(255, 135, 20, 20, "use Memmap");
chkUSEMEMMAP->tooltip("Select Memory Mapping rig control (Kachina)");
chkUSEMEMMAP->down_box(FL_DOWN_BOX);
@ -3314,6 +3402,7 @@ l with your sound hardware.");
valPCMvolume->type(5);
valPCMvolume->color((Fl_Color)26);
valPCMvolume->selection_color((Fl_Color)1);
valPCMvolume->step(0.01);
valPCMvolume->value(0.8);
valPCMvolume->textsize(14);
valPCMvolume->callback((Fl_Callback*)cb_valPCMvolume);

Wyświetl plik

@ -1,5 +1,5 @@
# data file for the Fltk User Interface Designer (fluid)
version 1.0109
version 1.0108
header_name {.h}
code_name {.cxx}
decl {\#include <config.h>} {}
@ -33,11 +33,11 @@ decl {\#include "icons.h"} {}
decl {\#include "Viewer.h"} {}
decl {extern void initViewer();} {}
decl {\#include "pskrep.h"} {global
}
decl {extern void initViewer();} {}
decl {Fl_Double_Window *dlgConfig;} {public
}
@ -62,11 +62,11 @@ static const char szOliviaBandwidth[] = "125|250|500|1000|2000";
static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600|115200|230400|460800";} {}
code {} {}
Fl_Window {} {
label {fldigi - config} open selected
tooltip {Leading/Trailing Risetimes (msec)} xywh {951 749 400 254} type Double color 45 selection_color 51 labelsize 18 align 80 visible
label {fldigi - config} open
tooltip {Leading/Trailing Risetimes (msec)} xywh {546 58 400 255} type Double color 45 selection_color 51 labelsize 18 align 80 visible
} {
Fl_Tabs tabsConfigure {open
xywh {0 0 405 221} color 47 selection_color 9
xywh {0 0 405 225} color 47 selection_color 9
} {
Fl_Group tabID {
label {Id's} open
@ -157,10 +157,10 @@ progdefaults.changed = true;}
}
Fl_Group tabMisc {
label Misc open
xywh {0 25 400 195} color 51 selection_color 51
xywh {0 25 405 200} color 51 selection_color 51 hide
} {
Fl_Tabs tabsMisc {open
xywh {0 25 400 195} selection_color 10
xywh {0 25 405 200} selection_color 10
} {
Fl_Group tabCPUspeed {
label CPU open
@ -241,7 +241,7 @@ progdefaults.changed = true;}
}
Fl_Group tabSpot {
label Spotting open
xywh {0 50 400 170}
xywh {2 55 403 170}
} {
Fl_Group {} {
label {PSK Reporter} open
@ -271,7 +271,7 @@ progdefaults.changed = true;}
btnPSKRepInit->labelcolor(FL_RED);
btnPSKRepInit->redraw_label();
progdefaults.changed = true;}
xywh {56 156 220 20} when 1
xywh {55 155 220 24} when 1
code0 {inpPSKRepHost->value(progdefaults.pskrep_host.c_str());}
}
Fl_Input inpPSKRepPort {
@ -280,18 +280,21 @@ progdefaults.changed = true;}
btnPSKRepInit->labelcolor(FL_RED);
btnPSKRepInit->redraw_label();
progdefaults.changed = true;}
xywh {323 156 60 20} when 1
xywh {322 155 60 24} when 1
code0 {inpPSKRepPort->value(progdefaults.pskrep_port.c_str());}
}
Fl_Button btnPSKRepInit {
label Initialize
callback {pskrep_stop();
if (!pskrep_start())
if (!pskrep_start()) {
boxPSKRepMsg->copy_label(pskrep_error());
else {
progdefaults.usepskrep = false;
} else {
boxPSKRepMsg->label(0);
o->labelcolor(FL_FOREGROUND_COLOR);
}}
progdefaults.usepskrep = true;
}
progdefaults.changed = true;}
xywh {303 186 80 24}
}
Fl_Box boxPSKRepMsg {
@ -966,8 +969,8 @@ progdefaults.changed = true;}
}
Fl_Group tabOperator {
label Oper
callback {progdefaults.changed = true;} open
xywh {0 25 400 195} color 51 selection_color 51 when 1 hide
callback {progdefaults.changed = true;} open selected
xywh {0 25 400 195} color 51 selection_color 51 when 1
} {
Fl_Input inpMyCallsign {
label {Callsign:}
@ -984,25 +987,19 @@ txtSecondary->value(progdefaults.secText.c_str());
progdefaults.myCall = o->value();
update_main_title();
progdefaults.changed = true;}
xywh {78 36 100 24}
xywh {78 36 85 24}
}
Fl_Input inpMyName {
label {Name:}
callback {progdefaults.myName = o->value();
progdefaults.changed = true;}
xywh {270 36 120 24}
xywh {271 36 120 24}
}
Fl_Input inpMyQth {
label {Qth:}
callback {progdefaults.myQth = o->value();
progdefaults.changed = true;}
xywh {78 62 312 24}
}
Fl_Input inpMyAntenna {
label {Antenna:}
callback {progdefaults.myAntenna = o->value();
progdefaults.changed = true;}
xywh {78 89 312 24}
xywh {79 63 312 24}
}
Fl_Input inpMyLocator {
label {Locator:}
@ -1033,9 +1030,15 @@ progdefaults.changed = true;}
xywh {298 170 45 24} align 1 minimum 1 maximum 5 step 1 value 3
}
}
Fl_Input inpMyAntenna {
label {Antenna:}
callback {progdefaults.myAntenna = o->value();
progdefaults.changed = true;}
xywh {78 89 312 24}
}
}
Fl_Group tabQRZ {
label QRZ open
label Qrz open
xywh {0 25 400 195} color 51 selection_color 51 hide
} {
Fl_Round_Button btnQRZnotavailable {
@ -1126,7 +1129,7 @@ progdefaults.changed = true;}
} {
Fl_Group {} {
label {H/W ptt} open
tooltip {Tottle DTR for ptt} xywh {0 50 400 170}
tooltip {Tottle DTR for ptt} xywh {0 50 400 170} hide
} {
Fl_Round_Button {btnPTT[0]} {
label none
@ -1148,37 +1151,50 @@ progdefaults.changed = true;}
btnRigCatRTSptt->value(0);
btnRigCatDTRptt->value(0);
}
btnInitHWPTT->labelcolor(FL_RED);
btnInitHWPTT->redraw();
progdefaults.changed = true;}
tooltip {PTT controlled via serial port} xywh {245 75 20 19} down_box DIAMOND_DOWN_BOX selection_color 1 align 4
}
Fl_Round_Button btnRTSptt {
label RTS
callback {progdefaults.changed = true;}
callback {btnInitHWPTT->labelcolor(FL_RED);
btnInitHWPTT->redraw();
progdefaults.changed = true;}
tooltip {Toggle RTS for ptt} xywh {100 160 54 15} down_box DOWN_BOX
}
Fl_Round_Button btnDTRptt {
label DTR
callback {progdefaults.changed = true;}
callback {btnInitHWPTT->labelcolor(FL_RED);
btnInitHWPTT->redraw();
progdefaults.changed = true;}
xywh {100 180 59 15} down_box DOWN_BOX
}
Fl_Round_Button btnRTSplusV {
label {RTS = +V}
callback {progdefaults.changed = true;}
callback {btnInitHWPTT->labelcolor(FL_RED);
btnInitHWPTT->redraw();
progdefaults.changed = true;}
tooltip {initial voltage on RTS} xywh {172 160 87 15} down_box DOWN_BOX
}
Fl_Round_Button btnDTRplusV {
label {DTR = +V}
callback {progdefaults.changed = true;}
callback {btnInitHWPTT->labelcolor(FL_RED);
btnInitHWPTT->redraw();
progdefaults.changed = true;}
tooltip {Initial voltage on DTR} xywh {172 180 87 15} down_box DOWN_BOX
}
Fl_Input_Choice inpTTYdev {
label {Port:}
callback {progdefaults.changed = true;} open
callback {btnInitHWPTT->labelcolor(FL_RED);
btnInitHWPTT->redraw();
progdefaults.changed = true;} open
tooltip {Select serial port} xywh {136 113 125 22}
} {}
Fl_Button btnInitHWPTT {
label Initialize
callback {progdefaults.initInterface();
o->labelcolor(FL_FOREGROUND_COLOR);
progdefaults.changed = true;}
xywh {275 186 113 24}
}
@ -1212,6 +1228,8 @@ progdefaults.changed = true;}
progdefaults.chkUSERIGCATis = false;
}
for (int i = 0; i < 4; btnPTT[i++]->redraw());
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;}
tooltip {Select rigCAT for rig control} xywh {110 67 20 20} down_box DOWN_BOX
}
@ -1225,6 +1243,8 @@ progdefaults.changed = true;}
btnPTT[2]->value(0);
btnPTT[4]->value(0);
}
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;}
tooltip {use PTT data command} xywh {242 67 128 19} down_box DIAMOND_DOWN_BOX selection_color 1 deactivate
}
@ -1235,12 +1255,16 @@ progdefaults.changed = true;}
}
Fl_Button btnSelectRigXmlFile {
label Select
callback {selectRigXmlFilename();}
callback {btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
selectRigXmlFilename();}
tooltip {Select xml file for your rig} xywh {166 93 54 24}
}
Fl_Input_Choice inpXmlRigDevice {
label Port
callback {progdefaults.XmlRigDevice = o->value();
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;} open
tooltip {Select the serial port} xywh {77 122 144 22}
code0 {o->value(progdefaults.XmlRigDevice.c_str());}
@ -1248,6 +1272,8 @@ progdefaults.changed = true;} open
Fl_Choice mnuXmlRigBaudrate {
label {Baud Rate}
callback {progdefaults.XmlRigBaudrate = o->value();
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;} open
tooltip {Select the baud rate} xywh {122 147 99 22} down_box BORDER_BOX
code0 {o->add(szBaudRates);}
@ -1265,6 +1291,8 @@ progdefaults.changed = true;} open
progdefaults.RigCatRTSptt = true;
} else
progdefaults.RigCatRTSptt = false;
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;}
tooltip {toggle RTS for ptt} xywh {242 90 70 15} down_box ROUND_DOWN_BOX
code0 {o->value(progdefaults.RigCatRTSptt);}
@ -1281,6 +1309,8 @@ progdefaults.changed = true;}
progdefaults.RigCatDTRptt = true;
} else
progdefaults.RigCatDTRptt = false;
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;}
tooltip {toggle DTR for ptt} xywh {320 90 70 15} down_box ROUND_DOWN_BOX
code0 {o->value(progdefaults.RigCatDTRptt);}
@ -1288,6 +1318,8 @@ progdefaults.changed = true;}
Fl_Check_Button btnRigCatRTSplus {
label {set RTS +12 v}
callback {progdefaults.RigCatRTSplus = o->value();
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;}
tooltip {initial state of RTS} xywh {242 110 35 15} down_box DOWN_BOX
code0 {o->value(progdefaults.RigCatRTSplus);}
@ -1295,6 +1327,8 @@ progdefaults.changed = true;}
Fl_Check_Button btnRigCatDTRplus {
label {set DTR +12 v}
callback {progdefaults.RigCatDTRplus = o->value();
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;}
tooltip {initial state of DTR} xywh {242 130 35 15} down_box DOWN_BOX
code0 {o->value(progdefaults.RigCatDTRplus);}
@ -1302,31 +1336,42 @@ progdefaults.changed = true;}
Fl_Counter cntRigCatRetries {
label Retries
callback {progdefaults.RigCatRetries = (int)o->value();
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;}
tooltip {\# times to resend command before FAIL} xywh {15 188 75 21} type Simple align 1 minimum 1 maximum 10 step 1 value 5
code0 {o->value(progdefaults.RigCatRetries);}
}
Fl_Counter cntRigCatTimeout {
label Timeout
callback {progdefaults.RigCatTimeout = (int)o->value();}
callback {progdefaults.RigCatTimeout = (int)o->value();
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;}
tooltip {milliseconds between retries} xywh {102 188 75 21} type Simple align 1 minimum 2 maximum 200 step 1 value 10
code0 {o->value(progdefaults.RigCatTimeout);}
}
Fl_Counter cntRigCatWait {
label Wait
callback {progdefaults.RigCatWait = (int)o->value();}
callback {progdefaults.RigCatWait = (int)o->value();
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;}
tooltip {Wait interval (msec) between commands} xywh {190 188 75 21} type Simple align 1 minimum 0 maximum 100 step 1 value 5
code0 {o->value(progdefaults.RigCatWait);}
}
Fl_Button btnInitRIGCAT {
label Initialize
callback {progdefaults.initInterface();
o->labelcolor(FL_FOREGROUND_COLOR);
progdefaults.changed = true;}
tooltip {Initialize RigCAT interface} xywh {275 186 113 24}
}
Fl_Check_Button chkRigCatRTSCTSflow {
label {RTS/CTS flow ctl.}
callback {progdefaults.RigCatRTSCTSflow = o->value();
btnInitRIGCAT->labelcolor(FL_RED);
btnInitRIGCAT->redraw();
progdefaults.changed = true;}
tooltip {RTS/CTS hardware flow control} xywh {242 150 70 15} down_box DOWN_BOX
code0 {o->value(progdefaults.RigCatRTSCTSflow);}
@ -1361,6 +1406,8 @@ progdefaults.changed = true;}
progdefaults.chkUSEHAMLIBis = false;
}
for (int i = 0; i < 4; btnPTT[i++]->redraw());
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;}
tooltip {Select hamlib for rig control} xywh {155 65 20 20} down_box DOWN_BOX align 4
}
@ -1374,12 +1421,16 @@ progdefaults.changed = true;}
btnRigCatRTSptt->value(0);
btnRigCatDTRptt->value(0);
}
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;}
tooltip {use PTT data command} xywh {210 65 135 20} down_box DIAMOND_DOWN_BOX selection_color 1 deactivate
}
Fl_Box cboHamlibRig {
label {Rig:}
callback {progdefaults.changed = true;}
callback {btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;}
tooltip {Select hamlib rig} xywh {43 90 160 22} box DOWN_BOX color 7 align 4
code0 {o->readonly();}
class Fl_ComboBox
@ -1387,6 +1438,8 @@ progdefaults.changed = true;}
Fl_Input_Choice inpRIGdev {
label {Port:}
callback {progdefaults.HamRigDevice = o->value();
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;} open
tooltip {Select serial port} xywh {59 117 144 22}
code0 {o->value(progdefaults.HamRigDevice.c_str());}
@ -1394,6 +1447,8 @@ progdefaults.changed = true;} open
Fl_Choice mnuBaudRate {
label {Baud Rate:}
callback {progdefaults.HamRigBaudrate = o->value();
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;} open
tooltip {Select baud rate} xywh {104 144 99 22} down_box BORDER_BOX
code0 {o->add(szBaudRates);}
@ -1402,31 +1457,42 @@ progdefaults.changed = true;} open
Fl_Button btnInitHAMLIB {
label Initialize
callback {progdefaults.initInterface();
o->labelcolor(FL_FOREGROUND_COLOR);
progdefaults.changed = true;}
tooltip {Initialize Hamlib rig control} xywh {275 186 113 24}
}
Fl_Counter cntHamlibtRetries {
label Retries
callback {progdefaults.HamlibRetries = (int)o->value();
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;}
tooltip {\# times to resend command before FAIL} xywh {15 189 75 21} type Simple align 1 minimum 1 maximum 10 step 1 value 5
code0 {o->value(progdefaults.HamlibRetries);}
}
Fl_Counter cntHamlibTimeout {
label Timeout
callback {progdefaults.HamlibTimeout = (int)o->value();}
callback {progdefaults.HamlibTimeout = (int)o->value();
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;}
tooltip {milliseconds between retries} xywh {102 189 75 21} type Simple align 1 minimum 2 maximum 200 step 1 value 10
code0 {o->value(progdefaults.HamlibTimeout);}
}
Fl_Counter cntHamlibWait {
label Wait
callback {progdefaults.HamlibWait = (int)o->value();}
callback {progdefaults.HamlibWait = (int)o->value();
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;}
tooltip {Wait interval (msec) between commands} xywh {190 189 75 21} type Simple align 1 minimum 0 maximum 100 step 1 value 5
code0 {o->value(progdefaults.HamlibWait);}
}
Fl_Check_Button btnHamlibDTRplus {
label {DTR +12}
callback {progdefaults.HamlibDTRplus = o->value();
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;}
tooltip {initial state of DTR} xywh {210 93 35 15} down_box DOWN_BOX
code0 {o->value(progdefaults.HamlibDTRplus);}
@ -1438,6 +1504,8 @@ if (o->value() == 1) {
chkHamlibRTSCTSflow->value(0);
progdefaults.HamlibRTSCTSflow = false;
}
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;}
tooltip {initial state of RTS} xywh {300 93 35 15} down_box DOWN_BOX
}
@ -1449,6 +1517,8 @@ if (o->value() == 1) {
chkHamlibXONXOFFflow->value(0);
progdefaults.HamlibXONXOFFflow = false;
}
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;}
tooltip {RTS/CTS hardware flow control} xywh {210 120 70 15} down_box DOWN_BOX
code0 {o->value(progdefaults.HamlibRTSCTSflow);}
@ -1460,12 +1530,16 @@ if (o->value() == 1) {
chkHamlibRTSCTSflow->value(0);
progdefaults.HamlibRTSCTSflow = false;
}
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;}
tooltip {XON/XOFF hardware flow control} xywh {300 119 70 16} down_box DOWN_BOX
code0 {o->value(progdefaults.HamlibXONXOFFflow);}
}
Fl_Input inpHamlibConfig {
callback {progdefaults.HamConfig = o->value();
btnInitHAMLIB->labelcolor(FL_RED);
btnInitHAMLIB->redraw();
progdefaults.changed = true;}
tooltip {Additional configuration
of format: param=val ...} xywh {210 144 176 22}
@ -1474,7 +1548,7 @@ of format: param=val ...} xywh {210 144 176 22}
}
Fl_Group {} {
label MemMap open
xywh {0 50 400 170} hide
xywh {0 50 400 170}
} {
Fl_Check_Button chkUSEMEMMAP {
label {use Memmap}
@ -1499,6 +1573,8 @@ of format: param=val ...} xywh {210 144 176 22}
progdefaults.chkUSEMEMMAPis = false;
}
for (int i = 0; i < 4; btnPTT[i++]->redraw());
btnInitMEMMAP->labelcolor(FL_RED);
btnInitMEMMAP->redraw();
progdefaults.changed = true;}
tooltip {Select Memory Mapping rig control (Kachina)} xywh {255 135 20 20} down_box DOWN_BOX align 4
}
@ -1512,6 +1588,8 @@ progdefaults.changed = true;}
btnRigCatRTSptt->value(0);
btnRigCatDTRptt->value(0);
}
btnInitMEMMAP->labelcolor(FL_RED);
btnInitMEMMAP->redraw();
progdefaults.changed = true;}
xywh {255 155 20 20} down_box DIAMOND_DOWN_BOX selection_color 1 align 4 deactivate
}
@ -1522,6 +1600,7 @@ progdefaults.changed = true;}
Fl_Button btnInitMEMMAP {
label Initialize
callback {progdefaults.initInterface();
o->labelcolor(FL_FOREGROUND_COLOR);
progdefaults.changed = true;}
xywh {275 186 113 24}
}
@ -1549,6 +1628,8 @@ progdefaults.changed = true;}
progdefaults.chkUSEXMLRPCis = false;
}
for (int i = 0; i < 4; btnPTT[i++]->redraw());
btnInitXMLRPC->labelcolor(FL_RED);
btnInitXMLRPC->redraw();
progdefaults.changed = true;}
tooltip experimental xywh {281 155 20 20} down_box DOWN_BOX align 4
}
@ -1559,6 +1640,7 @@ progdefaults.changed = true;}
Fl_Button btnInitXMLRPC {
label Initialize
callback {progdefaults.initInterface();
o->labelcolor(FL_FOREGROUND_COLOR);
progdefaults.changed = true;}
xywh {275 186 113 24}
}

Wyświetl plik

@ -49,6 +49,7 @@
#include <FL/Fl_Progress.H>
#include <FL/Fl_Tooltip.H>
#include <FL/Fl_Tabs.H>
#include <FL/Fl_Multiline_Input.H>
#include "waterfall.h"
#include "raster.h"
@ -85,6 +86,7 @@
#include "confdialog.h"
#include "configuration.h"
#include "colorsfonts.h"
#include "status.h"
#include "macros.h"
#include "macroedit.h"
@ -121,9 +123,14 @@ MixerBase* mixer = 0;
//bool useCheckButtons;
Fl_Group *mnuFrame;
Fl_Menu_Bar *mnu;
Fl_Light_Button *btnAutoSpot = (Fl_Light_Button *)0;
Fl_Light_Button *btnRSID = (Fl_Light_Button *)0;
Fl_Light_Button *btnTune = (Fl_Light_Button *)0;
Fl_Light_Button *btnRSID = (Fl_Light_Button *)0;
Fl_Button *btnMacroTimer;
Fl_Button *btnMacroDummy;
Fl_Tile_check *TiledGroup = 0;
FTextView *ReceiveText = 0;
@ -146,7 +153,10 @@ Fl_Input *inpRstIn;
Fl_Input *inpRstOut;
Fl_Input *inpQth;
Fl_Input *inpLoc;
Fl_Input *inpNotes;
Fl_Input *inpCnty;
Fl_Input *inpSerNo;
Fl_Input *inpVEprov;
Fl_Multiline_Input *inpNotes;
Fl_Input *inpAZ; // WA5ZNU
Fl_Button *qsoTime;
Fl_Button *qsoClear;
@ -162,6 +172,9 @@ Fl_Group *RigControlFrame = (Fl_Group *)0;
Fl_Group *RigViewerFrame = (Fl_Group *)0;
Fl_Group *QsoInfoFrame = (Fl_Group *)0;
Fl_Group *QsoInfoFrame1 = (Fl_Group *)0;
Fl_Group *QsoInfoFrameLeft = (Fl_Group *)0;
Fl_Group *QsoInfoFrameCenter = (Fl_Group *)0;
Fl_Group *QsoInfoFrameRight = (Fl_Group *)0;
Fl_Group *QsoInfoFrame2 = (Fl_Group *)0;
Fl_Group *QsoButtonFrame = (Fl_Group *)0;
@ -171,14 +184,45 @@ Fl_Button *qso_btnSelFreq = (Fl_Button *)0;
Fl_Button *qso_btnDelFreq = (Fl_Button *)0;
Fl_Button *qso_btnClearList = (Fl_Button *)0;
Fl_Button *btnMacroTimer;
Fl_Button *btnMacroDummy;
Fl_Button *btnQRZ;
Fl_Group *MixerFrame;
Fl_Value_Slider *valRcvMixer;
Fl_Value_Slider *valXmtMixer;
AFCind *AFCindicator;
#define FREQWIDTH 172 // FREQWIDTH should be a multiple of 9 + 10
#define FREQHEIGHT 30
#define BTNWIDTH 30
int pad = 1; //wSpace;
int x_qsoframe = BTNWIDTH;
int w_inpFreq = 80;
int w_inpTime = 38;
int w_qsoTime = 24;
int w_inpCall = 120;
int w_inpName = 60;
int w_inpRstIn = 30;
int w_inpRstOut = 30;
int w_inpSerNo = 40;
int wf1 = pad + w_inpFreq + pad + w_inpTime + w_qsoTime + pad + w_inpCall +
pad + w_inpName + pad + w_inpRstIn + pad + w_inpRstOut +
pad + w_inpSerNo;
int w_fm1 = 25;
int w_fm2 = 20;
int w_fm3 = 20;
int w_fm4 = 25;
int w_fm5 = 20;
int w_inpCnty = 90;
int w_inpProv = 30;
int w_inpLOC = 65;
int w_inpAZ = 30;
int w_inpQth = wf1 - w_fm1 - w_fm2 - w_fm3 - w_fm4 - w_fm5 -
w_inpCnty - w_inpProv - w_inpLOC - w_inpAZ;
int qh = Hqsoframe / 2;
int rig_control_width = FREQWIDTH + 4;
int altMacros = 0;
bool bSaveFreqList = false;
string strMacroName[NUMMACKEYS];
@ -1165,7 +1209,7 @@ LOG_INFO(qsotime.c_str());
void clearQSO()
{
Fl_Input* in[] = { inpCall, inpName, inpRstIn, inpRstOut,
inpQth, inpNotes, inpLoc, inpAZ };
inpQth, inpNotes, inpLoc, inpAZ, inpSerNo, inpVEprov, inpCnty };
for (size_t i = 0; i < sizeof(in)/sizeof(*in); i++)
in[i]->value("");
inpTime->value(zuluTime());
@ -1176,8 +1220,19 @@ void cb_log(Fl_Widget*, void*)
oktoclear = false;
}
void showsizes()
{
std::cout << fl_digi_main->w() << std::endl;
std::cout << fl_digi_main->h() << std::endl;
std::cout << wf1 << std::endl;
std::cout << QsoInfoFrame->x() << ", " << QsoInfoFrame->w() << std::endl;
std::cout << QsoInfoFrame1->x() << ", " << QsoInfoFrame1->w() << std::endl;
std::cout << QsoInfoFrame2->x() << ", " << QsoInfoFrame2->w() << std::endl;
}
void qsoClear_cb(Fl_Widget *b, void *)
{
// showsizes();
if (progdefaults.NagMe) {
if (oktoclear || fl_choice("Clear log fields?", "Cancel", "OK", NULL) == 1) {
clearQSO();
@ -1526,7 +1581,7 @@ Fl_Menu_Item menu_[] = {
{ make_icon_label("Rig Control", multimedia_player_icon), 0, (Fl_Callback*)cb_mnuRig, 0, 0, _FL_MULTI_LABEL, 0, 14, 0},
{0,0,0,0,0,0,0,0,0},
{" ", 0, 0, 0, FL_MENU_INACTIVE, FL_NORMAL_LABEL, 0, 14, 0},
{" ", 0, 0, 0, FL_MENU_INACTIVE, FL_NORMAL_LABEL, 0, 14, 0},
{"Help", 0, 0, 0, FL_SUBMENU, FL_NORMAL_LABEL, 0, 14, 0},
#ifndef NDEBUG
// settle the gmfsk vs fldigi argument once and for all
@ -1549,8 +1604,6 @@ Fl_Menu_Item menu_[] = {
};
Fl_Menu_Bar *mnu;
Fl_Menu_Item *getMenuItem(const char *caption, Fl_Menu_Item* submenu)
{
if (submenu == 0 || !(submenu->flags & FL_SUBMENU))
@ -1782,6 +1835,7 @@ void show_bw(const string& sWidth)
REQ_SYNC(&Fl_ComboBox::put_value, opBW, sWidth.c_str());
}
void show_spot(bool v)
{
if (v) {
@ -1800,14 +1854,16 @@ void show_spot(bool v)
void create_fl_digi_main() {
int pad = 1; //wSpace;
int Y = 0;
if (progdefaults.docked_rig_control)
x_qsoframe += rig_control_width;
IMAGE_WIDTH = progdefaults.wfwidth;
Hwfall = progdefaults.wfheight;
HNOM = DEFAULT_HNOM;
WNOM = DEFAULT_HNOM;
WNOM = progStatus.mainW;//DEFAULT_HNOM;
if (progdefaults.docked_scope)
Wwfall = WNOM - 2 * BEZEL - Hwfall + 24;
else
@ -1815,7 +1871,9 @@ void create_fl_digi_main() {
update_main_title();
fl_digi_main = new Fl_Double_Window(WNOM, HNOM, main_window_title.c_str());
mnu = new Fl_Menu_Bar(0, 0, WNOM - 150 - pad, Hmenu);
mnuFrame = new Fl_Group(0,0,WNOM, Hmenu);
mnu = new Fl_Menu_Bar(0, 0, WNOM - 150, Hmenu);
// do some more work on the menu
for (size_t i = 0; i < sizeof(menu_)/sizeof(menu_[0]); i++) {
// FL_NORMAL_SIZE may have changed; update the menu items
@ -1855,17 +1913,12 @@ void create_fl_digi_main() {
btnMacroTimer->callback(cbMacroTimerButton, 0);
btnMacroTimer->hide();
btnMacroDummy = new Fl_Button(WNOM - 50 - pad, 0, 50, Hmenu, "");
#define FREQWIDTH 172 // FREQWIDTH should be a multiple of 9 + 10
#define FREQHEIGHT 30
#define BTNWIDTH 30
mnuFrame->resizable(mnu);
mnuFrame->end();
Fl_Group *TopFrame = new Fl_Group(0, Hmenu, WNOM, Hqsoframe + Hnotes);
int qh = Hqsoframe / 2;
int qfy = Hmenu + qh - pad;
int rig_control_width = FREQWIDTH + 4;
if (progdefaults.docked_rig_control) {
RigControlFrame = new Fl_Group(0, Hmenu,
@ -2031,77 +2084,89 @@ void create_fl_digi_main() {
qsoSave->tooltip("Save");
QsoButtonFrame->end();
}
int y2 = Hmenu + qh + 1;
int y3 = Hmenu + Hqsoframe + 1;
QsoInfoFrame = new Fl_Group(x_qsoframe, Hmenu,
WNOM - rightof(QsoButtonFrame) - pad, Hqsoframe + Hnotes);
QsoInfoFrame1 = new Fl_Group(x_qsoframe, Hmenu, wf1, Hqsoframe + Hnotes);
// QsoInfoFrame1->box(FL_BORDER_BOX);
int w_inpFreq = 80;
int w_inpTime = 38;
int w_inpCall = 70;
int w_inpRstIn = 28;
int w_inpRstOut = 28;
QsoInfoFrame = new Fl_Group(rightof(QsoButtonFrame), Hmenu,
WNOM - rightof(QsoButtonFrame), Hqsoframe + Hnotes);
inpFreq = new Fl_Input(x_qsoframe + pad, y2, w_inpFreq, qh - pad, "QSO Freq");
inpFreq->align(FL_ALIGN_TOP | FL_ALIGN_LEFT);
QsoInfoFrame1 = new Fl_Group(rightof(QsoButtonFrame), Hmenu,
WNOM - rightof(QsoButtonFrame), Hqsoframe);
inpFreq = new Fl_Input(rightof(QsoButtonFrame) + pad, qfy, w_inpFreq, qh, "QSO Freq");
inpFreq->align(FL_ALIGN_TOP | FL_ALIGN_LEFT);
inpTime = new Fl_Input(rightof(inpFreq) + pad, y2, w_inpTime, qh - pad, "Time");
inpTime->align(FL_ALIGN_TOP | FL_ALIGN_LEFT);
inpTime = new Fl_Input(rightof(inpFreq) + pad, qfy, w_inpTime, qh, "Time");
inpTime->align(FL_ALIGN_TOP | FL_ALIGN_LEFT);
qsoTime = new Fl_Button(rightof(inpTime), y2, w_qsoTime, qh - pad);
qsoTime->image(new Fl_Pixmap(time_icon));
qsoTime->callback(qsoTime_cb, 0);
qsoTime = new Fl_Button(rightof(inpTime), qfy, 24, qh);
qsoTime->image(new Fl_Pixmap(time_icon));
qsoTime->callback(qsoTime_cb, 0);
inpCall = new Fl_Input(rightof(qsoTime) + pad, y2, w_inpCall, qh - pad, "Call");
inpCall->align(FL_ALIGN_TOP | FL_ALIGN_LEFT);
inpCall = new Fl_Input(rightof(qsoTime) + pad, qfy,
w_inpCall, qh, "Call");
inpCall->align(FL_ALIGN_TOP | FL_ALIGN_LEFT);
inpName = new Fl_Input(rightof(inpCall) + pad, y2, w_inpName, qh - pad, "Name");
inpName->align(FL_ALIGN_TOP | FL_ALIGN_LEFT);
inpRstIn = new Fl_Input(rightof(inpName) + pad, y2, w_inpRstIn, qh - pad, "In");
inpRstIn->align(FL_ALIGN_TOP | FL_ALIGN_LEFT);
inpRstIn = new Fl_Input(rightof(inpCall) + pad, qfy, w_inpRstIn, qh, "In");
inpRstIn->align(FL_ALIGN_TOP | FL_ALIGN_LEFT);
inpRstOut = new Fl_Input(rightof(inpRstIn) + pad, qfy, w_inpRstOut, qh, "Out");
inpRstOut->align(FL_ALIGN_TOP | FL_ALIGN_LEFT);
inpQth = new Fl_Input(rightof(inpRstOut) + pad, qfy,
WNOM - rightof(inpRstOut) - pad, Hnotes, "Qth");
inpQth->align(FL_ALIGN_TOP | FL_ALIGN_LEFT);
QsoInfoFrame1->resizable(inpQth);
QsoInfoFrame1->end();
inpRstOut = new Fl_Input(rightof(inpRstIn) + pad, y2, w_inpRstOut, qh - pad, "Out");
inpRstOut->align(FL_ALIGN_TOP | FL_ALIGN_LEFT);
Y = Hmenu + Hqsoframe;
QsoInfoFrame2 = new Fl_Group(rightof(QsoButtonFrame), Y,
WNOM - rightof(QsoButtonFrame), Hnotes);
inpName = new Fl_Input(rightof(QsoButtonFrame) + 38, Y, 90, Hnotes, "Name");
inpName->align(FL_ALIGN_LEFT);
inpLoc = new Fl_Input(rightof(inpCall) - 58, Y, 58, Hnotes, "Loc");
inpLoc->align(FL_ALIGN_LEFT);
inpAZ = new Fl_Input(leftof(inpRstOut), Y, 28, Hnotes, "Az");
inpAZ->align(FL_ALIGN_LEFT);
inpSerNo = new Fl_Input(rightof(inpRstOut) + pad, y2, w_inpSerNo, qh - pad, "##");
inpSerNo->align(FL_ALIGN_TOP | FL_ALIGN_LEFT);
Fl_Box *fm1box = new Fl_Box(x_qsoframe, y3, w_fm1, qh - pad, "Qth");
fm1box->align(FL_ALIGN_INSIDE);
inpQth = new Fl_Input( rightof(fm1box), y3, w_inpQth, qh - pad, "");
inpQth->align(FL_ALIGN_INSIDE);
inpNotes = new Fl_Input(leftof(inpQth), Y,
inpQth->w(), Hnotes, "");
inpNotes->value("Notes");
inpNotes->align(FL_ALIGN_INSIDE);
QsoInfoFrame2->resizable(inpNotes);
Fl_Box *fm2box = new Fl_Box(rightof(inpQth), y3, w_fm2, qh - pad, "St");
fm2box->align(FL_ALIGN_INSIDE);
inpCnty = new Fl_Input(rightof(fm2box), y3, w_inpCnty, qh - pad, "");
inpCnty->tooltip("US State or Country");
inpCnty->align(FL_ALIGN_INSIDE);
QsoInfoFrame2->end();
Fl_Box *fm3box = new Fl_Box(rightof(inpCnty), y3, w_fm3, qh - pad, "Pr");
fm3box->align(FL_ALIGN_INSIDE);
inpVEprov = new Fl_Input(rightof(fm3box), y3, w_inpProv, qh - pad, "");
inpVEprov->tooltip("Can. Province");
inpVEprov->align(FL_ALIGN_INSIDE);
Fl_Box *fm4box = new Fl_Box(rightof(inpVEprov), y3, w_fm4, qh - pad, "Loc");
fm4box->align(FL_ALIGN_INSIDE);
inpLoc = new Fl_Input(rightof(fm4box), y3, w_inpLOC, qh - pad, "");
inpLoc->align(FL_ALIGN_INSIDE);
Fl_Box *fm5box = new Fl_Box(rightof(inpLoc), y3, w_fm5, qh - pad, "Az");
fm5box->align(FL_ALIGN_INSIDE);
inpAZ = new Fl_Input(rightof(fm5box), y3, w_inpAZ, qh - pad, "");
inpAZ->align(FL_ALIGN_INSIDE);
QsoInfoFrame->resizable(QsoInfoFrame2);
QsoInfoFrame->end();
TopFrame->resizable(QsoInfoFrame);
QsoInfoFrame1->resizable(NULL);
QsoInfoFrame1->end();
TopFrame->end();
QsoInfoFrame2 = new Fl_Group(x_qsoframe + wf1 + pad, Hmenu,
WNOM - rightof(QsoInfoFrame1) - 2*pad, Hqsoframe + Hnotes);
// QsoInfoFrame2->box(FL_BORDER_BOX);
inpNotes = new Fl_Multiline_Input(x_qsoframe + wf1 + pad, y2,
WNOM - rightof(QsoInfoFrame1) - 2*pad, qh + Hnotes - pad, "Notes");
inpNotes->align(FL_ALIGN_TOP | FL_ALIGN_LEFT);
Fl_Group::current()->resizable(inpNotes);
QsoInfoFrame2->end();
Fl_Group::current()->resizable(QsoInfoFrame2);
QsoInfoFrame->end();
Fl_Group::current()->resizable(QsoInfoFrame);
TopFrame->end();
Y = Hmenu + Hqsoframe + Hnotes + pad;
// Fl_Widget* logfields[] = { inpFreq, inpTime, inpCall, inpName, inpRstIn,
@ -2372,7 +2437,7 @@ void create_fl_digi_main() {
#endif
fl_digi_main->xclass(PACKAGE_NAME);
fl_digi_main->size_range(WNOM, (HNOM < 400 ? HNOM : 400));
fl_digi_main->size_range(WMIN, HMIN);//WNOM, (HNOM < 400 ? HNOM : 400));
scopeview = new Fl_Double_Window(0,0,140,140, "Scope");
scopeview->xclass(PACKAGE_NAME);

Wyświetl plik

@ -116,6 +116,7 @@ public:
protected:
enum { RX_MENU_QRZ_THIS, RX_MENU_CALL, RX_MENU_NAME, RX_MENU_QTH,
RX_MENU_STATE, RX_MENU_PROVINCE, RX_MENU_SERIAL,
RX_MENU_LOC, RX_MENU_RST_IN, RX_MENU_DIV, RX_MENU_CLEAR,
RX_MENU_COPY,
#if 0 //#ifndef NDEBUG

Wyświetl plik

@ -141,6 +141,7 @@ extern Fl_Input *inpMyLocator;
extern Fl_Check_Button *btnUseLeadingZeros;
extern Fl_Value_Input *nbrContestStart;
extern Fl_Value_Input *nbrContestDigits;
extern Fl_Input *inpMyAntenna;
extern Fl_Group *tabQRZ;
extern Fl_Round_Button *btnQRZnotavailable;
extern Fl_Round_Button *btnQRZcdrom;

Wyświetl plik

@ -303,13 +303,13 @@
ELEM_(std::string, arq_address, "", "127.0.0.1") \
ELEM_(std::string, arq_port, "", "3122") \
/* PSK reporter */ \
ELEM_(bool, usepskrep, "USEPSKREP", false) \
ELEM_(bool, pskrep_auto, "PSKREPAUTO", false) \
ELEM_(bool, pskrep_log, "PSKREPLOG", false) \
ELEM_(bool, pskrep_qrg, "PSKREPQRG", false) \
ELEM_(std::string, pskrep_host, "PSKREPHOST", "report.psk.gladstonefamily.net") \
ELEM_(std::string, pskrep_port, "PSKREPPORT", "4739")
// declare the struct
#define ELEM_DECLARE_CONFIGURATION(type_, var_, tag_, ...) type_ var_;
#undef ELEM_

Wyświetl plik

@ -39,6 +39,7 @@
#include <FL/Fl_Tile.H>
#include <FL/Fl_Light_Button.H>
#include <FL/Fl_Check_Button.H>
#include <FL/Fl_Multiline_Input.H>
#include "combo.h"
#include "FTextView.h"
@ -75,8 +76,11 @@ extern Fl_Input *inpName;
extern Fl_Input *inpRstIn;
extern Fl_Input *inpRstOut;
extern Fl_Input *inpQth;
extern Fl_Input *inpCnty;
extern Fl_Input *inpSerNo;
extern Fl_Input *inpVEprov;
extern Fl_Input *inpLoc;
extern Fl_Input *inpNotes;
extern Fl_Multiline_Input *inpNotes;
extern Fl_Input *inpAZ; // WA5ZNU
extern Fl_Button *qsoClear;
extern Fl_Button *qsoSave;

Wyświetl plik

@ -75,6 +75,8 @@
//#define DEFAULT_HWFALL 144
#define DEFAULT_HWFALL 124
#define DEFAULT_HNOM 500
#define WMIN 645
#define HMIN 500
//#define Wwfall (DEFAULT_HNOM + 2 * BEZEL)
#define DEFAULT_WNOM (Wwfall + 2* DEFAULT_SW)

Wyświetl plik

@ -37,49 +37,114 @@
#include "main.h"
#include "modem.h"
#include "debug.h"
#include "configuration.h"
#include "macros.h"
#include "status.h"
#include "spot.h"
#include <FL/fl_ask.H>
enum ADIF_FIELD_POS {
ADDRESS = 0,
AGE,
ARRL_SECT,
BAND,
CALL,
CNTY,
COMMENT,
CONT,
CONTEST_ID,
COUNTRY,
CQZ,
DXCC,
FREQ,
GRIDSQUARE,
MODE,
NAME,
NOTES,
QSLRDATE,
QSLSDATE,
QSL_RCVD,
QSL_SENT,
QSO_DATE,
QTH,
RST_RCVD,
RST_SENT,
STATE,
STX,
TIME_OFF,
TIME_ON,
TX_PWR,
// additional for 2.0
IOTA,
ITUZ,
OPERATOR,
PFX,
PROP_MODE,
QSL_MSG,
QSL_VIA,
RX_PWR,
SAT_MODE,
SAT_NAME,
SRX,
TEN_TEN,
VE_PROV,
EXPORT, // internal use in fl_logbook
NUMFIELDS // counter for number of fields in enum
};
struct FIELD {
int type;
const char *name;
unsigned int size;
size_t size;
};
FIELD fields[] = {
// NAME, SIZE
{"ADDRESS", 40}, // 0 - contacted stations mailing address
{"AGE", 3}, // 1 - contacted operators age in years
{"ARRL_SECT", 12}, // 2 - contacted stations ARRL section
{"BAND", 6}, // 3 - QSO band
{"CALL", 10}, // 4 - contacted stations CALLSIGN
{"CNTY", 20}, // 5 - secondary political subdivision, ie: STATE
{"COMMENT", 80}, // 6 - comment field for QSO
{"CONT", 10}, // 7 - contacted stations continent
{"CONTEST_ID", 6}, // 8 - QSO contest identifier
{"COUNTRY", 20}, // 9 - contacted stations DXCC entity name
{"CQZ", 8}, // 10 - contacted stations CQ Zone
{"DXCC", 8}, // 11 - contacted stations Country Code
{"FREQ", 10}, // 12 - QSO frequency in Mhz
{"GRIDSQUARE", 6}, // 13 - contacted stations Maidenhead Grid Square
{"MODE", 8}, // 14 - QSO mode
{"NAME", 18}, // 15 - contacted operators NAME
{"NOTES", 80}, // 16 - QSO notes
{"QSLRDATE", 8}, // 17 - QSL received date
{"QSLSDATE", 8}, // 18 - QSL sent date
{"QSL_RCVD", 1}, // 19 - QSL received status
{"QSL_SENT", 1}, // 20 - QSL sent status
{"QSO_DATE", 8}, // 21 - QSO date
{"QTH", 30}, // 22 - contacted stations city
{"RST_RCVD", 3}, // 23 - received signal report
{"RST_SENT", 3}, // 24 - sent signal report
{"STATE", 2}, // 25 - contacted stations STATE
{"STX", 8}, // 26 - QSO transmitted serial number
{"TIME_OFF", 4}, // 27 - HHMM or HHMMSS in UTC
{"TIME_ON", 4}, // 28 - HHMM or HHMMSS in UTC
{"TX_PWR", 4} // 29 - power transmitted by this station
// TYPE, NAME, SIZE
{ADDRESS, "ADDRESS", 40}, // 0 - contacted stations mailing address
{AGE, "AGE", 3}, // 1 - contacted operators age in years
{ARRL_SECT, "ARRL_SECT", 12}, // 2 - contacted stations ARRL section
{BAND, "BAND", 6}, // 3 - QSO band
{CALL, "CALL", 14}, // 4 - contacted stations CALLSIGN
{CNTY, "CNTY", 20}, // 5 - secondary political subdivision, ie: STATE
{COMMENT, "COMMENT", 80}, // 6 - comment field for QSO
{CONT, "CONT", 10}, // 7 - contacted stations continent
{CONTEST_ID, "CONTEST_ID", 6}, // 8 - QSO contest identifier
{COUNTRY, "COUNTRY", 20}, // 9 - contacted stations DXCC entity name
{CQZ, "CQZ", 8}, // 10 - contacted stations CQ Zone
{DXCC, "DXCC", 8}, // 11 - contacted stations Country Code
{FREQ, "FREQ", 10}, // 12 - QSO frequency in Mhz
{GRIDSQUARE, "GRIDSQUARE", 6}, // 13 - contacted stations Maidenhead Grid Square
{MODE, "MODE", 8}, // 14 - QSO mode
{NAME, "NAME", 18}, // 15 - contacted operators NAME
{NOTES, "NOTES", 80}, // 16 - QSO notes
{QSLRDATE, "QSLRDATE", 8}, // 21 - QSL received date
{QSLSDATE, "QSLSDATE", 8}, // 22 - QSL sent date
{QSL_RCVD, "QSL_RCVD", 1}, // 23 - QSL received status
{QSL_SENT, "QSL_SENT", 1}, // 24 - QSL sent status
{QSO_DATE, "QSO_DATE", 8}, // 25 - QSO data
{QTH, "QTH", 30}, // 27 - contacted stations city
{RST_RCVD, "RST_RCVD", 3}, // 28 - received signal report
{RST_SENT, "RST_SENT", 3}, // 29 - sent signal report
{STATE, "STATE", 2}, // 34 - contacted stations STATE
{STX, "STX", 8}, // 35 - QSO transmitted serial number
{TIME_OFF, "TIME_OFF", 4}, // 37 - HHMM or HHMMSS in UTC
{TIME_ON, "TIME_ON", 4}, // 38 - HHMM or HHMMSS in UTC
{TX_PWR, "TX_PWR", 4}, // 39 - power transmitted by this station
// new fields
{IOTA, "IOTA", 6}, // 13
{ITUZ, "ITUZ", 6}, // 14 - ITU zone
{OPERATOR, "OPERATOR", 10}, // 17 - Callsign of person loggin the QSO
{PFX, "PFX", 5}, // 18 - WPA prefix
{PROP_MODE, "PROP_MODE", 5}, // 19 - propogation mode
{QSL_MSG, "QSL_MSG", 80}, // 20 - personal message to appear on qsl card
{QSL_VIA, "QSL_VIA", 30}, // 26
{RX_PWR, "RX_PWR", 4}, // 30 - power of other station in watts
{SAT_MODE, "SAT_MODE", 8}, // 31 - satellite mode
{SAT_NAME, "SAT_NAME", 12}, // 32 - satellite name
{SRX, "SRX", 5}, // 33 - received serial number for a contest QSO
{TEN_TEN, "TEN_TEN", 10}, // 36 - ten ten # of other station
{VE_PROV, "VE_PROV", 2}, // 40 - 2 letter abbreviation for Canadian Province
{EXPORT, "EXPORT", 1} // 41 - used to indicate record is to be exported
};
#define ADIF_VERS "2.1.9"
@ -171,35 +236,44 @@ int submit_log(void)
adif.erase();
FL_LOCK();
log_msg = "";
log_msg = log_msg + "program:" + PACKAGE_NAME + " v " + PACKAGE_VERSION + LOG_MSEPARATOR;
log_msg = log_msg + "version:" + LOG_MVERSION + LOG_MSEPARATOR;
log_msg = log_msg + "date:" + logdate + LOG_MSEPARATOR;
putadif(21, adifdate);
putadif(QSO_DATE, adifdate);
log_msg = log_msg + "time:" + inpTime->value() + LOG_MSEPARATOR;
putadif(28, inpTime->value());
putadif(TIME_ON, inpTime->value());
log_msg = log_msg + "endtime:" + logtime + LOG_MSEPARATOR;
putadif(27, logtime);
putadif(TIME_OFF, logtime);
log_msg = log_msg + "call:" + inpCall->value() + LOG_MSEPARATOR;
putadif(4, inpCall->value());
putadif(CALL, inpCall->value());
log_msg = log_msg + "mhz:" + strFreqMhz + LOG_MSEPARATOR;
putadif(12, strFreqMhz);
putadif(FREQ, strFreqMhz);
log_msg = log_msg + "mode:" + mode + LOG_MSEPARATOR;
putadif(14, mode);
putadif(MODE, mode);
log_msg = log_msg + "tx:" + inpRstOut->value() + LOG_MSEPARATOR;
putadif(24, inpRstOut->value());
putadif(RST_SENT, inpRstOut->value());
log_msg = log_msg + "rx:" + inpRstIn->value() + LOG_MSEPARATOR;
putadif(23, inpRstIn->value());
putadif(RST_RCVD, inpRstIn->value());
log_msg = log_msg + "name:" + inpName->value() + LOG_MSEPARATOR;
putadif(15, inpName->value());
putadif(NAME, inpName->value());
log_msg = log_msg + "qth:" + inpQth->value() + LOG_MSEPARATOR;
putadif(22, inpQth->value());
putadif(QTH, inpQth->value());
log_msg = log_msg + "cnty:" + inpCnty->value() + LOG_MSEPARATOR;
putadif(CNTY, inpCnty->value());
log_msg = log_msg + "province:" + inpVEprov->value() + LOG_MSEPARATOR;
putadif(VE_PROV, inpVEprov->value());
log_msg = log_msg + "locator:" + inpLoc->value() + LOG_MSEPARATOR;
putadif(13, inpLoc->value());
putadif(GRIDSQUARE, inpLoc->value());
char szcnt[5] = "";
if (contest_count.count)
snprintf(szcnt, sizeof(szcnt), "%04d", contest_count.count);
log_msg = log_msg + "serialout:" + szcnt + LOG_MSEPARATOR;
putadif(STX, szcnt);
log_msg = log_msg + "serialin:" + inpSerNo->value() + LOG_MSEPARATOR;
putadif(SRX, inpSerNo->value());
log_msg = log_msg + "notes:" + inpNotes->value() + LOG_MSEPARATOR;
putadif(16, inpNotes->value());
FL_UNLOCK();
putadif(NOTES, inpNotes->value());
writeadif();

Wyświetl plik

@ -286,8 +286,9 @@ int main(int argc, char ** argv)
XML_RPC_Server::start(progdefaults.xmlrpc_address.c_str(), progdefaults.xmlrpc_port.c_str());
#endif
if (!pskrep_start())
LOG_ERROR("Could not start PSK reporter: %s", pskrep_error());
if (progdefaults.usepskrep)
if (!pskrep_start())
LOG_ERROR("Could not start PSK reporter: %s", pskrep_error());
int ret = Fl::run();
@ -297,7 +298,8 @@ int main(int argc, char ** argv)
XML_RPC_Server::stop();
#endif
pskrep_stop();
if (progdefaults.usepskrep)
pskrep_stop();
for (int i = 0; i < NUM_QRUNNER_THREADS; i++) {
cbq[i]->detach();

Wyświetl plik

@ -29,6 +29,7 @@
#include <sys/time.h>
#include "signal.h"
#include <string>
#include <iostream>
#include <cstring>
#include <cmath>
#include <cctype>
@ -65,6 +66,7 @@ string lookup_name;
string lookup_addr1;
string lookup_addr2;
string lookup_state;
string lookup_province;
string lookup_zip;
string lookup_country;
string lookup_born;
@ -163,6 +165,7 @@ void clear_Lookup()
lookup_addr1.clear();
lookup_addr2.clear();
lookup_state.clear();
lookup_province.clear();
lookup_zip.clear();
lookup_country.clear();
lookup_born.clear();
@ -419,6 +422,12 @@ void QRZ_disp_result()
}
inpQth->value(lookup_qth.c_str());
inpCnty->value(lookup_state.c_str());
inpCnty->position(0);
inpVEprov->value(lookup_province.c_str());
inpLoc->value(lookup_grid.c_str());
if (!progdefaults.myLocator.empty()) {
char buf[10];
@ -452,10 +461,7 @@ void QRZ_CD_query()
if (snip != string::npos)
lookup_fname.erase(snip, lookup_fname.length() - snip);
lookup_qth = qCall->GetCity();
lookup_qth.append(" ");
lookup_qth.append(qCall->GetState());
lookup_qth.append(" ");
lookup_qth.append(qCall->GetZIP());
lookup_state = qCall->GetState();
lookup_grid.clear();
lookup_notes.clear();
} else {
@ -556,11 +562,8 @@ void QRZquery()
if (!qrzalert.empty() || !qrzerror.empty())
REQ(QRZAlert);
else {
lookup_qth.clear();
qthappend(lookup_qth, lookup_addr1);
qthappend(lookup_qth, lookup_addr2);
qthappend(lookup_qth, lookup_state);
qthappend(lookup_qth, lookup_country);
// lookup_qth.clear();
lookup_qth = lookup_addr2;
REQ(QRZ_disp_result);
}
}
@ -596,12 +599,11 @@ void parse_html(const string& htmlpage)
p++;
while ((uchar)htmlpage[p] < 128 && p < htmlpage.length())
lookup_qth += htmlpage[p++];
lookup_qth += ", ";
}
if ((p = htmlpage.find(HAMCALL_STATE)) != string::npos) {
p++;
while ((uchar)htmlpage[p] < 128 && p < htmlpage.length())
lookup_qth += htmlpage[p++];
lookup_state += htmlpage[p++];
}
if ((p = htmlpage.find(HAMCALL_GRID)) != string::npos) {
p++;
@ -689,30 +691,61 @@ bool parseQRZdetails(string &htmlpage)
lookup_fname.erase(snip, 1);
}
snip = htmlpage.find(BEGIN_ADDR1);
if (snip != string::npos) {
snip += strlen(BEGIN_ADDR1);
snip_end = htmlpage.find(snip_end_RECORD, snip);
lookup_addr1 = htmlpage.substr(snip, snip_end - snip);
}
// snip = htmlpage.find(BEGIN_ADDR1);
// if (snip != string::npos) {
// snip += strlen(BEGIN_ADDR1);
// snip_end = htmlpage.find(snip_end_RECORD, snip);
// lookup_addr1 = htmlpage.substr(snip, snip_end - snip);
// }
snip = htmlpage.find(BEGIN_ADDR2);
if (snip != string::npos) {
snip += strlen(BEGIN_ADDR2);
snip_end = htmlpage.find(snip_end_RECORD, snip);
lookup_addr2 = htmlpage.substr(snip, snip_end - snip);
lookup_qth += lookup_addr2;
}
snip = htmlpage.find(BEGIN_COUNTRY);
if (snip != string::npos) {
while (lookup_qth[lookup_qth.length() -1] == ' ' || lookup_qth[lookup_qth.length() -1] == ',')
lookup_qth.erase(lookup_qth.length() -1, 1);
lookup_qth.append(", ");
snip += strlen(BEGIN_COUNTRY);
snip_end = htmlpage.find(snip_end_RECORD, snip);
lookup_country = htmlpage.substr(snip, snip_end - snip);
lookup_qth += lookup_country;
// lookup_qth += lookup_addr2;
lookup_qth = lookup_addr2;
}
string isUS = "aAkKnNwW";
string isCAN = "vV";
if (isUS.find(callsign[0]) != string::npos) { // a US callsign
size_t pos = lookup_qth.find(',');
if (pos != string::npos) {
lookup_state = lookup_qth.substr(pos);
lookup_qth = lookup_qth.substr(0, pos);
pos = lookup_state.find_first_not_of(", ");
if (pos != string::npos)
lookup_state = lookup_state.substr(pos);
pos = lookup_state.find(' ');
if (pos != string::npos)
lookup_state = lookup_state.substr(0,pos);
}
} else if (isCAN.find(callsign[0]) != string::npos) { // a Canadian callsign
size_t pos = lookup_qth.find(',');
if (pos != string::npos) {
lookup_province = lookup_qth.substr(pos);
lookup_qth = lookup_qth.substr(0, pos);
pos = lookup_province.find_first_not_of(", ");
if (pos != string::npos)
lookup_province = lookup_province.substr(pos);
pos = lookup_province.find(' ');
if (pos != string::npos)
lookup_province = lookup_province.substr(0,pos);
}
} else {
size_t pos = lookup_qth.find(',');
if (pos != string::npos)
lookup_qth = lookup_qth.substr(0, pos);
snip = htmlpage.find(BEGIN_COUNTRY);
if (snip != string::npos) {
snip += strlen(BEGIN_COUNTRY);
snip_end = htmlpage.find(snip_end_RECORD, snip);
lookup_state = htmlpage.substr(snip, snip_end - snip);
pos = lookup_state.find(',');
if (pos != string::npos)
lookup_state = lookup_state.substr(0, pos);
}
}
snip = htmlpage.find(BEGIN_GRID);
@ -722,7 +755,7 @@ bool parseQRZdetails(string &htmlpage)
lookup_grid = htmlpage.substr(snip, snip_end - snip);
}
lookup_notes = "*** Data Courtesy of WWW.QRZ.COM ***";
lookup_notes = "Courtesy of\nWWW.QRZ.COM";
return true;
}
@ -812,10 +845,10 @@ void CALLSIGNquery()
switch (DB_query = static_cast<qrz_query_t>(progdefaults.QRZ)) {
case QRZ_NET_SUB: case QRZ_NET_HTML:
inpNotes->value("Request sent to qrz.com...");
inpNotes->value("Request sent to\nqrz.com...");
break;
case QRZ_HAMCALL:
inpNotes->value("Request sent to www.hamcall.net...");
inpNotes->value("Request sent to\nwww.hamcall.net...");
break;
case QRZ_CD:
if (!qCall)

Wyświetl plik

@ -38,8 +38,8 @@ status progStatus = {
MODE_BPSK31, // trx_mode lastmode;
50, // int mainX;
50, // int mainY;
(WNOM > 600 ? WNOM : 600), // int mainW;
DEFAULT_HNOM, // int mainH;
WMIN, // int mainW;
HMIN, // int mainH;
Hrcvtxt, // int RxTextHeight;
false, // bool rigShown;
50, // int rigX;

Wyświetl plik

@ -43,7 +43,34 @@ const unsigned char nfields = 4;
int fwidths[nfields];
enum { max_rfcarrier, max_rmode, max_mode };
#if USE_HAMLIB
#if !USE_HAMLIB
typedef enum {
RIG_MODE_NONE = 0, /*!< '' -- None */
RIG_MODE_AM = (1<<0), /*!< \c AM -- Amplitude Modulation */
RIG_MODE_CW = (1<<1), /*!< \c CW -- CW "normal" sideband */
RIG_MODE_USB = (1<<2), /*!< \c USB -- Upper Side Band */
RIG_MODE_LSB = (1<<3), /*!< \c LSB -- Lower Side Band */
RIG_MODE_RTTY = (1<<4), /*!< \c RTTY -- Radio Teletype */
RIG_MODE_FM = (1<<5), /*!< \c FM -- "narrow" band FM */
RIG_MODE_WFM = (1<<6), /*!< \c WFM -- broadcast wide FM */
RIG_MODE_CWR = (1<<7), /*!< \c CWR -- CW "reverse" sideband */
RIG_MODE_RTTYR = (1<<8), /*!< \c RTTYR -- RTTY "reverse" sideband */
RIG_MODE_AMS = (1<<9), /*!< \c AMS -- Amplitude Modulation Synchronous */
RIG_MODE_PKTLSB = (1<<10),/*!< \c PKTLSB -- Packet/Digital LSB mode (dedicated port) */
RIG_MODE_PKTUSB = (1<<11),/*!< \c PKTUSB -- Packet/Digital USB mode (dedicated port) */
RIG_MODE_PKTFM = (1<<12),/*!< \c PKTFM -- Packet/Digital FM mode (dedicated port) */
RIG_MODE_ECSSUSB = (1<<13),/*!< \c ECSSUSB -- Exalted Carrier Single Sideband USB */
RIG_MODE_ECSSLSB = (1<<14),/*!< \c ECSSLSB -- Exalted Carrier Single Sideband LSB */
RIG_MODE_FAX = (1<<15),/*!< \c FAX -- Facsimile Mode */
RIG_MODE_SAM = (1<<16),/*!< \c SAM -- Synchronous AM double sideband */
RIG_MODE_SAL = (1<<17),/*!< \c SAL -- Synchronous AM lower sideband */
RIG_MODE_SAH = (1<<18),/*!< \c SAH -- Synchronous AM upper (higher) sideband */
RIG_MODE_DSB = (1<<19), /*!< \c DSB -- Double sideband suppressed carrier */
} rmode_t;
#endif
struct rmode_name_t {
rmode_t mode;
const char *name;
@ -98,7 +125,6 @@ void selFreq(long int f)
if (FreqDisp)
FreqDisp->value(f);
}
#endif // USE_HAMLIB
void initOptionMenus()
{

Wyświetl plik

@ -444,7 +444,7 @@ void macro_timer(void *)
btnMacroDummy->show();
FL_UNLOCK();
} else {
snprintf(timermsg, sizeof(timermsg), "Timer: %d", countdown);
snprintf(timermsg, sizeof(timermsg), "%d", countdown);
FL_LOCK();
btnMacroTimer->label(timermsg);
btnMacroTimer->redraw_label();
@ -458,7 +458,7 @@ void trx_start_macro_timer()
{
countdown = progdefaults.timeout;
Fl::add_timeout(1.0, macro_timer);
snprintf(timermsg, sizeof(timermsg), "Timer: %d", countdown);
snprintf(timermsg, sizeof(timermsg), "%d", countdown);
FL_LOCK();
btnMacroTimer->label(timermsg);
btnMacroTimer->redraw_label();

Wyświetl plik

@ -417,6 +417,9 @@ Fl_Menu_Item FTextView::view_menu[] = {
{ make_icon_label(ENTER_SYMBOL "&Call", enter_key_icon), 0, 0, 0, 0, _FL_MULTI_LABEL },
{ make_icon_label(ENTER_SYMBOL "&Name", enter_key_icon), 0, 0, 0, 0, _FL_MULTI_LABEL },
{ make_icon_label(ENTER_SYMBOL "QT&H", enter_key_icon), 0, 0, 0, 0, _FL_MULTI_LABEL },
{ make_icon_label(ENTER_SYMBOL "&State", enter_key_icon), 0, 0, 0, 0, _FL_MULTI_LABEL },
{ make_icon_label(ENTER_SYMBOL "&Province", enter_key_icon), 0, 0, 0, 0, _FL_MULTI_LABEL },
{ make_icon_label(ENTER_SYMBOL "Serial Nr", enter_key_icon), 0, 0, 0, 0, _FL_MULTI_LABEL },
{ make_icon_label(ENTER_SYMBOL "&Locator", enter_key_icon), 0, 0, 0, 0, _FL_MULTI_LABEL },
{ make_icon_label(ENTER_SYMBOL "&RST(r)", enter_key_icon), 0, 0, 0, FL_MENU_DIVIDER, _FL_MULTI_LABEL },
{ make_icon_label("Insert divider", insert_link_icon), 0, 0, 0, 0, _FL_MULTI_LABEL },
@ -758,6 +761,15 @@ void FTextView::menu_cb(int val)
case RX_MENU_QTH:
input = inpQth;
break;
case RX_MENU_STATE:
input = inpCnty;
break;
case RX_MENU_PROVINCE:
input = inpVEprov;
break;
case RX_MENU_SERIAL:
input = inpSerNo;
break;
case RX_MENU_LOC:
input = inpLoc;
break;