kopia lustrzana https://github.com/jamescoxon/dl-fldigi
Merge with upstream
commit
05fecac6a5
16
ChangeLog
16
ChangeLog
|
|
@ -3,6 +3,22 @@ Change Log:
|
|||
3.03
|
||||
1) Changes to socket server to correct shutdown process
|
||||
2) Added event logging and an event viewer
|
||||
3) Added QRZ cdrom / database location specifier with auto-search
|
||||
4) Bug fix for sound on OS X 10.4
|
||||
5) Bug fix for Socket Server. Added error checking for listen().
|
||||
6) Update to build scripts. Corrected compiler flags for building
|
||||
universal binary on OS X. Changed to a more reliable way of linking
|
||||
hamlib statically. Updated app bundling script.
|
||||
7) Set tooltip font - tooltip changed to use same font and size selected
|
||||
with the command line switch --font. Set default font sizes on OS X.
|
||||
8) Inhibit Tx / Rx of higher speed MFSKpic modes on slower computers
|
||||
9) Added color selection for Rx/Tx text panels
|
||||
Normal text
|
||||
Transmitted text
|
||||
Control character text
|
||||
Skipped text
|
||||
Alternate (quick view) text
|
||||
Background
|
||||
|
||||
3.02
|
||||
1) Added hamlib interface for rig control
|
||||
|
|
|
|||
|
|
@ -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, [3AC])
|
||||
m4_define(FLDIGI_PATCH, [3AE])
|
||||
|
||||
AC_INIT([fldigi], FLDIGI_MAJOR.FLDIGI_MINOR[FLDIGI_PATCH], [w1hkj AT w1hkj DOT com])
|
||||
|
||||
|
|
|
|||
|
|
@ -539,18 +539,6 @@ progdefaults.QRZ = 0;
|
|||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Check_Button *btnQRZsocket=(Fl_Check_Button *)0;
|
||||
|
||||
static void cb_btnQRZsocket(Fl_Check_Button* o, void*) {
|
||||
if (o->value() == 1) {
|
||||
btnQRZcdrom->value(0);
|
||||
btnQRZnotavailable->value(0);
|
||||
btnHAMCALLsocket->value(0);
|
||||
progdefaults.QRZ = 1;
|
||||
}
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Check_Button *btnQRZcdrom=(Fl_Check_Button *)0;
|
||||
|
||||
static void cb_btnQRZcdrom(Fl_Check_Button* o, void*) {
|
||||
|
|
@ -563,6 +551,26 @@ progdefaults.QRZ = 2;
|
|||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Input *txtQRZpathname=(Fl_Input *)0;
|
||||
|
||||
static void cb_txtQRZpathname(Fl_Input* o, void*) {
|
||||
progdefaults.QRZpathname = o->value();
|
||||
progdefaults.QRZchanged = true;
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Check_Button *btnQRZsocket=(Fl_Check_Button *)0;
|
||||
|
||||
static void cb_btnQRZsocket(Fl_Check_Button* o, void*) {
|
||||
if (o->value() == 1) {
|
||||
btnQRZcdrom->value(0);
|
||||
btnQRZnotavailable->value(0);
|
||||
btnHAMCALLsocket->value(0);
|
||||
progdefaults.QRZ = 1;
|
||||
}
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Check_Button *btnHAMCALLsocket=(Fl_Check_Button *)0;
|
||||
|
||||
static void cb_btnHAMCALLsocket(Fl_Check_Button* o, void*) {
|
||||
|
|
@ -1813,38 +1821,43 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
|
|||
tabQRZ->color((Fl_Color)51);
|
||||
tabQRZ->selection_color((Fl_Color)51);
|
||||
tabQRZ->hide();
|
||||
{ Fl_Check_Button* o = btnQRZnotavailable = new Fl_Check_Button(31, 45, 110, 20, "Not available");
|
||||
{ Fl_Check_Button* o = btnQRZnotavailable = new Fl_Check_Button(12, 45, 110, 20, "Not available");
|
||||
btnQRZnotavailable->down_box(FL_DOWN_BOX);
|
||||
btnQRZnotavailable->value(1);
|
||||
btnQRZnotavailable->callback((Fl_Callback*)cb_btnQRZnotavailable);
|
||||
if (progdefaults.QRZ == 0) o->value(1); else o->value(0);
|
||||
} // Fl_Check_Button* btnQRZnotavailable
|
||||
{ Fl_Check_Button* o = btnQRZsocket = new Fl_Check_Button(32, 74, 190, 20, "QRZ online subscription");
|
||||
{ Fl_Check_Button* o = btnQRZcdrom = new Fl_Check_Button(12, 70, 103, 20, "QRZ cdrom");
|
||||
btnQRZcdrom->down_box(FL_DOWN_BOX);
|
||||
btnQRZcdrom->callback((Fl_Callback*)cb_btnQRZcdrom);
|
||||
if (progdefaults.QRZ == 2) o->value(1); else o->value(0);
|
||||
} // Fl_Check_Button* btnQRZcdrom
|
||||
{ Fl_Input* o = txtQRZpathname = new Fl_Input(139, 67, 255, 25, "at:");
|
||||
txtQRZpathname->tooltip("ie: /home/dave/CALLBK/ or C:/CALLBK/^jLeave blank to search for database");
|
||||
txtQRZpathname->callback((Fl_Callback*)cb_txtQRZpathname);
|
||||
o->value(progdefaults.QRZpathname.c_str());
|
||||
} // Fl_Input* txtQRZpathname
|
||||
{ Fl_Check_Button* o = btnQRZsocket = new Fl_Check_Button(12, 96, 190, 20, "QRZ online subscription");
|
||||
btnQRZsocket->tooltip("You need a QRZ on-line subscription to access QRZ.com");
|
||||
btnQRZsocket->down_box(FL_DOWN_BOX);
|
||||
btnQRZsocket->callback((Fl_Callback*)cb_btnQRZsocket);
|
||||
if (progdefaults.QRZ == 1) o->value(1); else o->value(0);
|
||||
} // Fl_Check_Button* btnQRZsocket
|
||||
{ Fl_Check_Button* o = btnQRZcdrom = new Fl_Check_Button(185, 45, 103, 20, "QRZ cdrom");
|
||||
btnQRZcdrom->down_box(FL_DOWN_BOX);
|
||||
btnQRZcdrom->callback((Fl_Callback*)cb_btnQRZcdrom);
|
||||
if (progdefaults.QRZ == 2) o->value(1); else o->value(0);
|
||||
} // Fl_Check_Button* btnQRZcdrom
|
||||
{ Fl_Check_Button* o = btnHAMCALLsocket = new Fl_Check_Button(31, 103, 205, 20, "Hamcall online subscription");
|
||||
{ Fl_Check_Button* o = btnHAMCALLsocket = new Fl_Check_Button(12, 119, 205, 20, "Hamcall online subscription");
|
||||
btnHAMCALLsocket->tooltip("You need a QRZ on-line subscription to access QRZ.com");
|
||||
btnHAMCALLsocket->down_box(FL_DOWN_BOX);
|
||||
btnHAMCALLsocket->callback((Fl_Callback*)cb_btnHAMCALLsocket);
|
||||
if (progdefaults.QRZ == 3) o->value(1); else o->value(0);
|
||||
} // Fl_Check_Button* btnHAMCALLsocket
|
||||
{ Fl_Input* o = inpQRZusername = new Fl_Input(150, 129, 90, 25, "User name:");
|
||||
{ Fl_Input* o = inpQRZusername = new Fl_Input(150, 145, 90, 25, "User name:");
|
||||
inpQRZusername->callback((Fl_Callback*)cb_inpQRZusername);
|
||||
o->value(progdefaults.QRZusername.c_str());
|
||||
} // Fl_Input* inpQRZusername
|
||||
{ Fl_Input* o = inpQRZuserpassword = new Fl_Input(150, 160, 90, 25, "User password:");
|
||||
{ Fl_Input* o = inpQRZuserpassword = new Fl_Input(150, 176, 90, 25, "User password:");
|
||||
inpQRZuserpassword->callback((Fl_Callback*)cb_inpQRZuserpassword);
|
||||
o->value(progdefaults.QRZuserpassword.c_str()); o->type(FL_SECRET_INPUT);
|
||||
} // Fl_Input* inpQRZuserpassword
|
||||
{ btnQRZpasswordShow = new Fl_Button(245, 160, 50, 25, "Show");
|
||||
{ btnQRZpasswordShow = new Fl_Button(245, 176, 50, 25, "Show");
|
||||
btnQRZpasswordShow->callback((Fl_Callback*)cb_btnQRZpasswordShow);
|
||||
} // Fl_Button* btnQRZpasswordShow
|
||||
tabQRZ->end();
|
||||
|
|
@ -2087,7 +2100,6 @@ l with your sound hardware.");
|
|||
{ tabCW = new Fl_Group(0, 50, 400, 170, "CW");
|
||||
tabCW->color((Fl_Color)51);
|
||||
tabCW->selection_color((Fl_Color)51);
|
||||
tabCW->hide();
|
||||
{ Fl_Group* o = new Fl_Group(1, 60, 398, 155);
|
||||
o->box(FL_ENGRAVED_FRAME);
|
||||
{ Fl_Value_Slider* o = sldrCWbandwidth = new Fl_Value_Slider(65, 65, 325, 20, "BW");
|
||||
|
|
@ -2283,6 +2295,7 @@ l with your sound hardware.");
|
|||
{ tabDomEX = new Fl_Group(0, 50, 400, 170, "Dom");
|
||||
tabDomEX->color((Fl_Color)51);
|
||||
tabDomEX->selection_color((Fl_Color)51);
|
||||
tabDomEX->hide();
|
||||
{ txtSecondary = new Fl_Input(20, 75, 360, 44, "Secondary Text");
|
||||
txtSecondary->type(4);
|
||||
txtSecondary->callback((Fl_Callback*)cb_txtSecondary);
|
||||
|
|
|
|||
|
|
@ -39,14 +39,14 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
|
|||
code {} {}
|
||||
Fl_Window {} {
|
||||
label {fldigi - config} open
|
||||
xywh {529 209 400 250} type Double color 45 selection_color 51 align 80 visible
|
||||
xywh {519 158 400 250} type Double color 45 selection_color 51 align 80 visible
|
||||
} {
|
||||
Fl_Tabs tabsConfigure {open
|
||||
xywh {0 0 405 220} color 47 selection_color 9
|
||||
} {
|
||||
Fl_Group tabOperator {
|
||||
label Oper
|
||||
callback {progdefaults.changed = true;} open
|
||||
callback {progdefaults.changed = true;} open selected
|
||||
xywh {0 25 400 195} color 51 selection_color 51 when 1
|
||||
} {
|
||||
Fl_Input inpMyCallsign {
|
||||
|
|
@ -61,7 +61,7 @@ progdefaults.secText = o->value();
|
|||
progdefaults.secText.append(" ");
|
||||
txtSecondary->value(progdefaults.secText.c_str());
|
||||
}
|
||||
progdefaults.changed = true;} selected
|
||||
progdefaults.changed = true;}
|
||||
xywh {78 36 85 24}
|
||||
}
|
||||
Fl_Input inpMyName {
|
||||
|
|
@ -649,21 +649,9 @@ btnHAMCALLsocket->value(0);
|
|||
progdefaults.QRZ = 0;
|
||||
}
|
||||
progdefaults.changed = true;}
|
||||
xywh {31 45 110 20} down_box DOWN_BOX value 1
|
||||
xywh {12 45 110 20} down_box DOWN_BOX value 1
|
||||
code0 {if (progdefaults.QRZ == 0) o->value(1); else o->value(0);}
|
||||
}
|
||||
Fl_Check_Button btnQRZsocket {
|
||||
label {QRZ online subscription}
|
||||
callback {if (o->value() == 1) {
|
||||
btnQRZcdrom->value(0);
|
||||
btnQRZnotavailable->value(0);
|
||||
btnHAMCALLsocket->value(0);
|
||||
progdefaults.QRZ = 1;
|
||||
}
|
||||
progdefaults.changed = true;}
|
||||
tooltip {You need a QRZ on-line subscription to access QRZ.com} xywh {32 74 190 20} down_box DOWN_BOX
|
||||
code0 {if (progdefaults.QRZ == 1) o->value(1); else o->value(0);}
|
||||
}
|
||||
Fl_Check_Button btnQRZcdrom {
|
||||
label {QRZ cdrom}
|
||||
callback {if (o->value() == 1) {
|
||||
|
|
@ -673,9 +661,29 @@ btnHAMCALLsocket->value(0);
|
|||
progdefaults.QRZ = 2;
|
||||
}
|
||||
progdefaults.changed = true;}
|
||||
xywh {185 45 103 20} down_box DOWN_BOX
|
||||
xywh {12 70 103 20} down_box DOWN_BOX
|
||||
code0 {if (progdefaults.QRZ == 2) o->value(1); else o->value(0);}
|
||||
}
|
||||
Fl_Input txtQRZpathname {
|
||||
label {at:}
|
||||
callback {progdefaults.QRZpathname = o->value();
|
||||
progdefaults.QRZchanged = true;
|
||||
progdefaults.changed = true;}
|
||||
tooltip {ie: /home/dave/CALLBK/ or C:/CALLBK/^jLeave blank to search for database} xywh {139 67 255 25}
|
||||
code0 {o->value(progdefaults.QRZpathname.c_str());}
|
||||
}
|
||||
Fl_Check_Button btnQRZsocket {
|
||||
label {QRZ online subscription}
|
||||
callback {if (o->value() == 1) {
|
||||
btnQRZcdrom->value(0);
|
||||
btnQRZnotavailable->value(0);
|
||||
btnHAMCALLsocket->value(0);
|
||||
progdefaults.QRZ = 1;
|
||||
}
|
||||
progdefaults.changed = true;}
|
||||
tooltip {You need a QRZ on-line subscription to access QRZ.com} xywh {12 96 190 20} down_box DOWN_BOX
|
||||
code0 {if (progdefaults.QRZ == 1) o->value(1); else o->value(0);}
|
||||
}
|
||||
Fl_Check_Button btnHAMCALLsocket {
|
||||
label {Hamcall online subscription}
|
||||
callback {if (o->value() == 1) {
|
||||
|
|
@ -685,21 +693,21 @@ btnQRZsocket->value(0);
|
|||
progdefaults.QRZ = 3;
|
||||
}
|
||||
progdefaults.changed = true;}
|
||||
tooltip {You need a QRZ on-line subscription to access QRZ.com} xywh {31 103 205 20} down_box DOWN_BOX
|
||||
tooltip {You need a QRZ on-line subscription to access QRZ.com} xywh {12 119 205 20} down_box DOWN_BOX
|
||||
code0 {if (progdefaults.QRZ == 3) o->value(1); else o->value(0);}
|
||||
}
|
||||
Fl_Input inpQRZusername {
|
||||
label {User name:}
|
||||
callback {progdefaults.QRZusername = o->value();
|
||||
progdefaults.changed = true;}
|
||||
xywh {150 129 90 25}
|
||||
xywh {150 145 90 25}
|
||||
code0 {o->value(progdefaults.QRZusername.c_str());}
|
||||
}
|
||||
Fl_Input inpQRZuserpassword {
|
||||
label {User password:}
|
||||
callback {progdefaults.QRZuserpassword = o->value();
|
||||
progdefaults.changed = true;}
|
||||
xywh {150 160 90 25}
|
||||
xywh {150 176 90 25}
|
||||
code0 {o->value(progdefaults.QRZuserpassword.c_str()); o->type(FL_SECRET_INPUT);}
|
||||
}
|
||||
Fl_Button btnQRZpasswordShow {
|
||||
|
|
@ -707,7 +715,7 @@ progdefaults.changed = true;}
|
|||
callback {inpQRZuserpassword->type(inpQRZuserpassword->type() ^ FL_SECRET_INPUT);
|
||||
inpQRZuserpassword->redraw();
|
||||
o->label((inpQRZuserpassword->type() & FL_SECRET_INPUT) ? "Show" : "Hide");}
|
||||
xywh {245 160 50 25}
|
||||
xywh {245 176 50 25}
|
||||
}
|
||||
}
|
||||
Fl_Group tabSoundCard {
|
||||
|
|
@ -1003,7 +1011,7 @@ progdefaults.changed = true;}
|
|||
} {
|
||||
Fl_Group tabCW {
|
||||
label CW open
|
||||
xywh {0 50 400 170} color 51 selection_color 51 hide
|
||||
xywh {0 50 400 170} color 51 selection_color 51
|
||||
} {
|
||||
Fl_Group {} {open
|
||||
xywh {1 60 398 155} box ENGRAVED_FRAME
|
||||
|
|
@ -1176,7 +1184,7 @@ progdefaults.changed = true;}
|
|||
}
|
||||
Fl_Group tabDomEX {
|
||||
label Dom open
|
||||
xywh {0 50 400 170} color 51 selection_color 51
|
||||
xywh {0 50 400 170} color 51 selection_color 51 hide
|
||||
} {
|
||||
Fl_Input txtSecondary {
|
||||
label {Secondary Text}
|
||||
|
|
|
|||
|
|
@ -1752,6 +1752,15 @@ void create_fl_digi_main() {
|
|||
progdefaults.RxColor.R,
|
||||
progdefaults.RxColor.G,
|
||||
progdefaults.RxColor.B));
|
||||
|
||||
ReceiveText->setFont((Fl_Font)progdefaults.RxFontnbr);
|
||||
ReceiveText->setFontSize(progdefaults.RxFontsize);
|
||||
ReceiveText->setFontColor((Fl_Color)progdefaults.RxFontcolor);
|
||||
ReceiveText->setFontColor((Fl_Color)progdefaults.XMITcolor, FTextBase::XMIT);
|
||||
ReceiveText->setFontColor((Fl_Color)progdefaults.CTRLcolor, FTextBase::CTRL);
|
||||
ReceiveText->setFontColor((Fl_Color)progdefaults.SKIPcolor, FTextBase::SKIP);
|
||||
ReceiveText->setFontColor((Fl_Color)progdefaults.ALTRcolor, FTextBase::ALTR);
|
||||
|
||||
TiledGroup->add_resize_check(FTextView::wheight_mult_tsize, ReceiveText);
|
||||
FHdisp = new Raster(sw, Y, WNOM-sw, minRxHeight);
|
||||
FHdisp->hide();
|
||||
|
|
@ -1762,6 +1771,13 @@ void create_fl_digi_main() {
|
|||
progdefaults.TxColor.R,
|
||||
progdefaults.TxColor.G,
|
||||
progdefaults.TxColor.B));
|
||||
TransmitText->setFont((Fl_Font)progdefaults.TxFontnbr);
|
||||
TransmitText->setFontSize(progdefaults.TxFontsize);
|
||||
TransmitText->setFontColor((Fl_Color)progdefaults.TxFontcolor);
|
||||
TransmitText->setFontColor((Fl_Color)progdefaults.XMITcolor, FTextBase::XMIT);
|
||||
TransmitText->setFontColor((Fl_Color)progdefaults.CTRLcolor, FTextBase::CTRL);
|
||||
TransmitText->setFontColor((Fl_Color)progdefaults.SKIPcolor, FTextBase::SKIP);
|
||||
TransmitText->setFontColor((Fl_Color)progdefaults.ALTRcolor, FTextBase::ALTR);
|
||||
|
||||
Fl_Box *minbox = new Fl_Box(sw,Y + 66, WNOM-sw, Htext - 66 - 32);
|
||||
minbox->hide();
|
||||
|
|
|
|||
|
|
@ -161,7 +161,7 @@ Font_Browser::Font_Browser(const char *lbl ) :
|
|||
btn_Color->align(FL_ALIGN_TOP_LEFT);
|
||||
btn_Color->color(FL_BLACK);
|
||||
btn_Color->callback( (Fl_Callback*)cb_Color_Select, this );
|
||||
btn_Color->hide(); // comment this out if you need color selection
|
||||
// btn_Color->hide(); // comment this out if you need color selection
|
||||
|
||||
box_Example = new Preview_Box(5, 145, 390, 75, "abcdefghijk ABCDEFGHIJK\n0 1 2 3 4 5 6 7 8 9");
|
||||
box_Example->box(FL_DOWN_BOX);
|
||||
|
|
|
|||
|
|
@ -75,8 +75,9 @@ extern Fl_Check_Button *chkUSEMEMMAP;
|
|||
extern Fl_Button *btnInit_Interface;
|
||||
extern Fl_Group *tabQRZ;
|
||||
extern Fl_Check_Button *btnQRZnotavailable;
|
||||
extern Fl_Check_Button *btnQRZsocket;
|
||||
extern Fl_Check_Button *btnQRZcdrom;
|
||||
extern Fl_Input *txtQRZpathname;
|
||||
extern Fl_Check_Button *btnQRZsocket;
|
||||
extern Fl_Check_Button *btnHAMCALLsocket;
|
||||
extern Fl_Input *inpQRZusername;
|
||||
extern Fl_Input *inpQRZuserpassword;
|
||||
|
|
|
|||
|
|
@ -125,8 +125,10 @@ struct configuration {
|
|||
bool ID_SMALL;
|
||||
bool macrotextid;
|
||||
int QRZ;
|
||||
string QRZpathname;
|
||||
string QRZusername;
|
||||
string QRZuserpassword;
|
||||
bool QRZchanged;
|
||||
// Rig Interface data
|
||||
bool btnusb;
|
||||
int btnPTTis;
|
||||
|
|
@ -202,6 +204,11 @@ struct configuration {
|
|||
int TxFontcolor;
|
||||
RGBint RxColor;
|
||||
RGBint TxColor;
|
||||
int XMITcolor;
|
||||
int CTRLcolor;
|
||||
int SKIPcolor;
|
||||
int ALTRcolor;
|
||||
|
||||
int WaterfallFontnbr;
|
||||
int WaterfallFontsize;
|
||||
|
||||
|
|
|
|||
|
|
@ -207,6 +207,7 @@ class QRZ
|
|||
int CompState( const char *, const char *, const char * );
|
||||
|
||||
int getQRZvalid();
|
||||
void NewDBpath( const char * );
|
||||
|
||||
int FindRecord( char * );
|
||||
int NextRecord();
|
||||
|
|
|
|||
|
|
@ -43,6 +43,12 @@ Fl_Button *btnTextDefaults=(Fl_Button *)0;
|
|||
Fl_Button *btnNoTextColor=(Fl_Button *)0;
|
||||
Fl_Button *btnClrFntOK=(Fl_Button *)0;
|
||||
|
||||
Fl_Button *btnXMIT=(Fl_Button *)0;
|
||||
Fl_Button *btnCTRL=(Fl_Button *)0;
|
||||
Fl_Button *btnSKIP=(Fl_Button *)0;
|
||||
Fl_Button *btnALTR=(Fl_Button *)0;
|
||||
|
||||
|
||||
void selectColorsFonts()
|
||||
{
|
||||
if (!dlgColorFont)
|
||||
|
|
@ -213,17 +219,25 @@ void cbRxFontBrowser(Font_Browser*, void* v)
|
|||
Font_Browser *ft= (Font_Browser*)v;
|
||||
Fl_Font fnt = ft->fontNumber();
|
||||
int size = ft->fontSize();
|
||||
Fl_Color color = ft->fontColor();
|
||||
|
||||
RxText->textfont(fnt);
|
||||
RxText->textsize(size);
|
||||
RxText->textcolor(color);
|
||||
RxText->redraw();
|
||||
|
||||
progdefaults.RxFontnbr = (int)(fnt);
|
||||
progdefaults.RxFontsize = size;
|
||||
progdefaults.RxFontcolor = color;
|
||||
progdefaults.changed = true;
|
||||
|
||||
ReceiveText->setFont(fnt);
|
||||
ReceiveText->setFontSize(size);
|
||||
ReceiveText->setFontColor((Fl_Color)progdefaults.RxFontcolor, FTextBase::NATTR);
|
||||
ReceiveText->setFontColor((Fl_Color)progdefaults.XMITcolor, FTextBase::XMIT);
|
||||
ReceiveText->setFontColor((Fl_Color)progdefaults.CTRLcolor, FTextBase::CTRL);
|
||||
ReceiveText->setFontColor((Fl_Color)progdefaults.SKIPcolor, FTextBase::SKIP);
|
||||
ReceiveText->setFontColor((Fl_Color)progdefaults.ALTRcolor, FTextBase::ALTR);
|
||||
ReceiveText->redraw();
|
||||
|
||||
ft->hide();
|
||||
|
|
@ -236,6 +250,7 @@ static void cb_btnRxFont(Fl_Button*, void*)
|
|||
b = new Font_Browser;
|
||||
b->fontNumber((Fl_Font)progdefaults.RxFontnbr);
|
||||
b->fontSize(progdefaults.RxFontsize);
|
||||
b->fontColor((Fl_Color)progdefaults.RxFontcolor);
|
||||
}
|
||||
b->callback((Fl_Callback*)cbRxFontBrowser, (void*)(b));
|
||||
b->show();
|
||||
|
|
@ -272,17 +287,25 @@ void cbTxFontBrowser(Font_Browser*, void* v)
|
|||
Font_Browser *ft= (Font_Browser*)v;
|
||||
Fl_Font fnt = ft->fontNumber();
|
||||
int size = ft->fontSize();
|
||||
Fl_Color color = ft->fontColor();
|
||||
|
||||
TxText->textfont(fnt);
|
||||
TxText->textsize(size);
|
||||
TxText->textcolor(color);
|
||||
TxText->redraw();
|
||||
|
||||
progdefaults.TxFontnbr = (int)(fnt);
|
||||
progdefaults.TxFontsize = size;
|
||||
progdefaults.TxFontcolor = color;
|
||||
progdefaults.changed = true;
|
||||
|
||||
TransmitText->setFont(fnt);
|
||||
TransmitText->setFontSize(size);
|
||||
TransmitText->setFontColor((Fl_Color)progdefaults.TxFontcolor, FTextBase::NATTR);
|
||||
TransmitText->setFontColor((Fl_Color)progdefaults.XMITcolor, FTextBase::XMIT);
|
||||
TransmitText->setFontColor((Fl_Color)progdefaults.CTRLcolor, FTextBase::CTRL);
|
||||
TransmitText->setFontColor((Fl_Color)progdefaults.SKIPcolor, FTextBase::SKIP);
|
||||
TransmitText->setFontColor((Fl_Color)progdefaults.ALTRcolor, FTextBase::ALTR);
|
||||
TransmitText->redraw();
|
||||
|
||||
ft->hide();
|
||||
|
|
@ -295,6 +318,7 @@ static void cb_btnTxFont(Fl_Button*, void*)
|
|||
b = new Font_Browser;
|
||||
b->fontNumber((Fl_Font)progdefaults.TxFontnbr);
|
||||
b->fontSize(progdefaults.TxFontsize);
|
||||
b->fontColor((Fl_Color)progdefaults.TxFontcolor);
|
||||
}
|
||||
b->callback((Fl_Callback*)cbTxFontBrowser, (void*)(b));
|
||||
b->show();
|
||||
|
|
@ -320,23 +344,55 @@ static void cb_btnNoTextColor(Fl_Button*, void*)
|
|||
Fl_Color clr = FL_BACKGROUND2_COLOR;
|
||||
|
||||
Fl::get_color(clr, r, g, b);
|
||||
RxText->color(clr);
|
||||
RxText->redraw();
|
||||
ReceiveText->color(clr);
|
||||
ReceiveText->redraw();
|
||||
|
||||
TxText->color(clr);
|
||||
TxText->redraw();
|
||||
TransmitText->color(clr);
|
||||
TransmitText->redraw();
|
||||
progdefaults.TxFontcolor = FL_BLACK;
|
||||
progdefaults.RxFontcolor = FL_BLACK;
|
||||
progdefaults.XMITcolor = FL_RED;
|
||||
progdefaults.CTRLcolor = FL_DARK_GREEN;
|
||||
progdefaults.SKIPcolor = FL_BLUE;
|
||||
progdefaults.ALTRcolor = FL_DARK_MAGENTA;
|
||||
btnXMIT->color((Fl_Color)progdefaults.XMITcolor);
|
||||
btnCTRL->color((Fl_Color)progdefaults.CTRLcolor);
|
||||
btnSKIP->color((Fl_Color)progdefaults.SKIPcolor);
|
||||
btnALTR->color((Fl_Color)progdefaults.ALTRcolor);
|
||||
btnXMIT->redraw();
|
||||
btnCTRL->redraw();
|
||||
btnSKIP->redraw();
|
||||
btnALTR->redraw();
|
||||
|
||||
progdefaults.RxColor.R = r;
|
||||
progdefaults.RxColor.G = g;
|
||||
progdefaults.RxColor.B = b;
|
||||
|
||||
clr = fl_rgb_color(r,g,b);
|
||||
RxText->color(clr);
|
||||
RxText->textcolor((Fl_Color)progdefaults.RxFontcolor);
|
||||
RxText->redraw();
|
||||
|
||||
ReceiveText->color(clr);
|
||||
ReceiveText->setFontColor((Fl_Color)progdefaults.RxFontcolor, FTextBase::NATTR);
|
||||
ReceiveText->setFontColor((Fl_Color)progdefaults.XMITcolor, FTextBase::XMIT);
|
||||
ReceiveText->setFontColor((Fl_Color)progdefaults.CTRLcolor, FTextBase::CTRL);
|
||||
ReceiveText->setFontColor((Fl_Color)progdefaults.SKIPcolor, FTextBase::SKIP);
|
||||
ReceiveText->setFontColor((Fl_Color)progdefaults.ALTRcolor, FTextBase::ALTR);
|
||||
ReceiveText->redraw();
|
||||
|
||||
progdefaults.TxColor.R = r;
|
||||
progdefaults.TxColor.G = g;
|
||||
progdefaults.TxColor.B = b;
|
||||
|
||||
TxText->color(clr);
|
||||
TxText->textcolor((Fl_Color)progdefaults.TxFontcolor);
|
||||
TxText->redraw();
|
||||
|
||||
TransmitText->color(clr);
|
||||
TransmitText->setFontColor((Fl_Color)progdefaults.TxFontcolor, FTextBase::NATTR);
|
||||
TransmitText->setFontColor((Fl_Color)progdefaults.XMITcolor, FTextBase::XMIT);
|
||||
TransmitText->setFontColor((Fl_Color)progdefaults.CTRLcolor, FTextBase::CTRL);
|
||||
TransmitText->setFontColor((Fl_Color)progdefaults.SKIPcolor, FTextBase::SKIP);
|
||||
TransmitText->setFontColor((Fl_Color)progdefaults.ALTRcolor, FTextBase::ALTR);
|
||||
TransmitText->redraw();
|
||||
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
|
|
@ -345,29 +401,97 @@ static void cb_btnTextDefaults(Fl_Button*, void*)
|
|||
uchar r, g, b;
|
||||
Fl_Color clr;
|
||||
|
||||
progdefaults.TxFontcolor = FL_BLACK;
|
||||
progdefaults.RxFontcolor = FL_BLACK;
|
||||
progdefaults.XMITcolor = FL_RED;
|
||||
progdefaults.CTRLcolor = FL_DARK_GREEN;
|
||||
progdefaults.SKIPcolor = FL_BLUE;
|
||||
progdefaults.ALTRcolor = FL_DARK_MAGENTA;
|
||||
btnXMIT->color((Fl_Color)progdefaults.XMITcolor);
|
||||
btnCTRL->color((Fl_Color)progdefaults.CTRLcolor);
|
||||
btnSKIP->color((Fl_Color)progdefaults.SKIPcolor);
|
||||
btnALTR->color((Fl_Color)progdefaults.ALTRcolor);
|
||||
btnXMIT->redraw();
|
||||
btnCTRL->redraw();
|
||||
btnSKIP->redraw();
|
||||
btnALTR->redraw();
|
||||
|
||||
r = 255; g = 242; b = 190;
|
||||
clr = fl_rgb_color(r,g,b);
|
||||
RxText->color(clr);
|
||||
RxText->redraw();
|
||||
ReceiveText->color(clr);
|
||||
ReceiveText->redraw();
|
||||
progdefaults.RxColor.R = r;
|
||||
progdefaults.RxColor.G = g;
|
||||
progdefaults.RxColor.B = b;
|
||||
|
||||
r = 200; g = 235; b = 255;
|
||||
clr = fl_rgb_color(r,g,b);
|
||||
TxText->color(clr);
|
||||
TxText->redraw();
|
||||
TransmitText->color(clr);
|
||||
TransmitText->redraw();
|
||||
RxText->color(clr);
|
||||
RxText->textcolor((Fl_Color)progdefaults.RxFontcolor);
|
||||
RxText->redraw();
|
||||
|
||||
ReceiveText->color(clr);
|
||||
ReceiveText->setFontColor((Fl_Color)progdefaults.RxFontcolor, FTextBase::NATTR);
|
||||
ReceiveText->setFontColor((Fl_Color)progdefaults.XMITcolor, FTextBase::XMIT);
|
||||
ReceiveText->setFontColor((Fl_Color)progdefaults.CTRLcolor, FTextBase::CTRL);
|
||||
ReceiveText->setFontColor((Fl_Color)progdefaults.SKIPcolor, FTextBase::SKIP);
|
||||
ReceiveText->setFontColor((Fl_Color)progdefaults.ALTRcolor, FTextBase::ALTR);
|
||||
ReceiveText->redraw();
|
||||
|
||||
r = 200; g = 235; b = 255;
|
||||
progdefaults.TxColor.R = r;
|
||||
progdefaults.TxColor.G = g;
|
||||
progdefaults.TxColor.B = b;
|
||||
|
||||
clr = fl_rgb_color(r,g,b);
|
||||
TxText->color(clr);
|
||||
TxText->textcolor((Fl_Color)progdefaults.TxFontcolor);
|
||||
TxText->redraw();
|
||||
|
||||
TransmitText->color(clr);
|
||||
TransmitText->setFontColor((Fl_Color)progdefaults.TxFontcolor, FTextBase::NATTR);
|
||||
TransmitText->setFontColor((Fl_Color)progdefaults.XMITcolor, FTextBase::XMIT);
|
||||
TransmitText->setFontColor((Fl_Color)progdefaults.CTRLcolor, FTextBase::CTRL);
|
||||
TransmitText->setFontColor((Fl_Color)progdefaults.SKIPcolor, FTextBase::SKIP);
|
||||
TransmitText->setFontColor((Fl_Color)progdefaults.ALTRcolor, FTextBase::ALTR);
|
||||
TransmitText->redraw();
|
||||
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
void cb_XMITcolor(Fl_Widget *, void *)
|
||||
{
|
||||
progdefaults.XMITcolor = fl_show_colormap( (Fl_Color)progdefaults.XMITcolor );
|
||||
btnXMIT->color( progdefaults.XMITcolor );
|
||||
TransmitText->setFontColor((Fl_Color)progdefaults.XMITcolor, FTextBase::XMIT);
|
||||
ReceiveText->setFontColor((Fl_Color)progdefaults.XMITcolor, FTextBase::XMIT);
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
void cb_CTRLcolor(Fl_Widget *, void *)
|
||||
{
|
||||
progdefaults.CTRLcolor = fl_show_colormap( (Fl_Color)progdefaults.CTRLcolor );
|
||||
btnCTRL->color( progdefaults.CTRLcolor );
|
||||
TransmitText->setFontColor((Fl_Color)progdefaults.CTRLcolor, FTextBase::CTRL);
|
||||
ReceiveText->setFontColor((Fl_Color)progdefaults.CTRLcolor, FTextBase::CTRL);
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
void cb_SKIPcolor(Fl_Widget *, void *)
|
||||
{
|
||||
progdefaults.SKIPcolor = fl_show_colormap( (Fl_Color)progdefaults.SKIPcolor );
|
||||
btnSKIP->color( progdefaults.SKIPcolor );
|
||||
TransmitText->setFontColor((Fl_Color)progdefaults.SKIPcolor, FTextBase::SKIP);
|
||||
ReceiveText->setFontColor((Fl_Color)progdefaults.SKIPcolor, FTextBase::SKIP);
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
void cb_ALTRcolor(Fl_Widget *, void *)
|
||||
{
|
||||
progdefaults.ALTRcolor = fl_show_colormap( (Fl_Color)progdefaults.ALTRcolor );
|
||||
btnALTR->color( progdefaults.ALTRcolor );
|
||||
TransmitText->setFontColor((Fl_Color)progdefaults.ALTRcolor, FTextBase::ALTR);
|
||||
ReceiveText->setFontColor((Fl_Color)progdefaults.ALTRcolor, FTextBase::ALTR);
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
|
||||
static void cb_btnClrFntOK(Fl_Button*, void*)
|
||||
{
|
||||
cb_ColorFontOK();
|
||||
|
|
@ -376,9 +500,9 @@ static void cb_btnClrFntOK(Fl_Button*, void*)
|
|||
void make_colorsfonts()
|
||||
{
|
||||
Fl_Double_Window* w;
|
||||
{ Fl_Double_Window* o = new Fl_Double_Window(370, 235, "Fldigi - Colors / Fonts");
|
||||
{ Fl_Double_Window* o = new Fl_Double_Window(370, 275, "Fldigi - Colors / Fonts");
|
||||
w = o;
|
||||
{ Fl_Group* o = new Fl_Group(0, 5, 185, 200, "Function Keys");
|
||||
{ Fl_Group* o = new Fl_Group(0, 5, 185, 240, "Function Keys");
|
||||
o->box(FL_ENGRAVED_FRAME);
|
||||
o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
|
||||
|
||||
|
|
@ -446,7 +570,7 @@ void make_colorsfonts()
|
|||
|
||||
o->end();
|
||||
}
|
||||
{ Fl_Group* o = new Fl_Group(185, 5, 185, 200, "Text Controls");
|
||||
{ Fl_Group* o = new Fl_Group(185, 5, 185, 240, "Text Controls");
|
||||
o->box(FL_ENGRAVED_FRAME);
|
||||
o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
|
||||
|
||||
|
|
@ -459,6 +583,7 @@ void make_colorsfonts()
|
|||
progdefaults.RxColor.B));
|
||||
RxText->textfont(progdefaults.RxFontnbr);
|
||||
RxText->textsize(progdefaults.RxFontsize);
|
||||
RxText->textcolor((Fl_Color)progdefaults.RxFontcolor);
|
||||
|
||||
TxText = new Fl_Multiline_Output(195, 103, 165, 37, "");
|
||||
TxText->value("Transmit Text");
|
||||
|
|
@ -469,6 +594,7 @@ void make_colorsfonts()
|
|||
progdefaults.TxColor.B));
|
||||
TxText->textfont(progdefaults.TxFontnbr);
|
||||
TxText->textsize(progdefaults.TxFontsize);
|
||||
TxText->textcolor((Fl_Color)progdefaults.TxFontcolor);
|
||||
|
||||
btnRxColor = new Fl_Button(200, 75, 70, 20, "Rx Bkgnd");
|
||||
btnRxColor->callback((Fl_Callback*)cb_btnRxColor);
|
||||
|
|
@ -482,16 +608,37 @@ void make_colorsfonts()
|
|||
btnTxFont = new Fl_Button(285, 145, 70, 20, "Tx Font");
|
||||
btnTxFont->callback((Fl_Callback*)cb_btnTxFont);
|
||||
|
||||
btnNoTextColor = new Fl_Button(200, 175, 70, 20, "No Color");
|
||||
btnXMIT = new Fl_Button(190, 170, 40, 20, "");
|
||||
btnXMIT->color((Fl_Color)progdefaults.XMITcolor);
|
||||
btnXMIT->tooltip("Sent chars in Rx/Tx pane");
|
||||
btnXMIT->callback((Fl_Callback*)cb_XMITcolor);
|
||||
new Fl_Box(190, 190, 40, 20, "XMIT");
|
||||
btnCTRL = new Fl_Button(235, 170, 40, 20, "");
|
||||
btnCTRL->color((Fl_Color)progdefaults.CTRLcolor);
|
||||
btnCTRL->tooltip("Control chars in Rx/Tx pane");
|
||||
btnCTRL->callback((Fl_Callback*)cb_CTRLcolor);
|
||||
new Fl_Box(235, 190, 40, 20, "CTRL");
|
||||
btnSKIP = new Fl_Button(280, 170, 40, 20, "");
|
||||
btnSKIP->color((Fl_Color)progdefaults.SKIPcolor);
|
||||
btnSKIP->tooltip("Skipped chars in Rx/Tx pane, ie: Tx on/off");
|
||||
btnSKIP->callback((Fl_Callback*)cb_SKIPcolor);
|
||||
new Fl_Box(280, 190, 40, 20, "SKIP");
|
||||
btnALTR = new Fl_Button(325, 170, 40, 20, "");
|
||||
btnALTR->color((Fl_Color)progdefaults.ALTRcolor);
|
||||
btnALTR->tooltip("Quick view chars in Rx pane");
|
||||
btnALTR->callback((Fl_Callback*)cb_ALTRcolor);
|
||||
new Fl_Box(325, 190, 40, 20, "ALTR");
|
||||
|
||||
btnNoTextColor = new Fl_Button(200, 212, 70, 20, "No Color");
|
||||
btnNoTextColor->callback((Fl_Callback*)cb_btnNoTextColor);
|
||||
|
||||
btnTextDefaults = new Fl_Button(285, 175, 70, 20, "Defaults");
|
||||
btnTextDefaults = new Fl_Button(285, 212, 70, 20, "Defaults");
|
||||
btnTextDefaults->callback((Fl_Callback*)cb_btnTextDefaults);
|
||||
|
||||
o->end();
|
||||
}
|
||||
|
||||
btnClrFntOK = new Fl_Button(295, 209, 72, 20, "OK");
|
||||
btnClrFntOK = new Fl_Button(295, 250, 72, 20, "OK");
|
||||
btnClrFntOK->callback((Fl_Callback*)cb_btnClrFntOK);
|
||||
|
||||
o->end();
|
||||
|
|
|
|||
|
|
@ -132,8 +132,10 @@ configuration progdefaults = {
|
|||
true, // bool ID_SMALL;
|
||||
false, // bool macrotextid;
|
||||
0, // int QRZ;
|
||||
"", // string QRZpathname;
|
||||
"", // string QRZusername;
|
||||
"", // string QRZuserpassword;
|
||||
false, // bool QRZchanged;
|
||||
//
|
||||
true, // bool btnusb;
|
||||
0, // int btnPTTis
|
||||
|
|
@ -219,6 +221,12 @@ configuration progdefaults = {
|
|||
0, // int TxFontcolor
|
||||
{ 255, 242, 190}, // RGBint RxColor;
|
||||
{ 200, 235, 255}, // RGBint TxColor;
|
||||
|
||||
FL_RED, // int XMITcolor;
|
||||
FL_DARK_GREEN, // int CTRLcolor;
|
||||
FL_BLUE, // int SKIPcolor;
|
||||
FL_DARK_MAGENTA,// int ALTRcolor;
|
||||
|
||||
FL_SCREEN, // int WaterfallFontnbr
|
||||
12, // int WaterfallFontsize
|
||||
|
||||
|
|
@ -284,7 +292,7 @@ enum TAG { \
|
|||
CCCOLORS,
|
||||
BWTCOLORS,
|
||||
VIEWXMTSIGNAL, SENDID, MACROID, SENDTEXTID, STRTEXTID, VIDEOWIDTH, IDSMALL,
|
||||
QRZTYPE, QRZUSER, QRZPASSWORD,
|
||||
QRZTYPE, QRZPATHNAME, QRZUSER, QRZPASSWORD,
|
||||
BTNUSB, BTNPTTIS,
|
||||
RTSPTT, DTRPTT, RTSPLUS, DTRPLUS,
|
||||
CHOICEHAMLIBIS, CHKUSEMEMMAPIS,
|
||||
|
|
@ -305,8 +313,8 @@ enum TAG { \
|
|||
VIEWERCHANNELS, VIEWERSQUELCH, VIEWERTIMEOUT, WFAVERAGING,
|
||||
USEGROUPCOLORS, FKEYGROUP1, FKEYGROUP2, FKEYGROUP3,
|
||||
FKEYTEXTCOLOR,
|
||||
RXFONTNBR, RXFONTSIZE, TXFONTNBR, TXFONTSIZE,
|
||||
RXFONTCOLOR, TXFONTCOLOR,
|
||||
RXFONTNBR, RXFONTSIZE, RXFNTCOLOR, TXFONTNBR, TXFONTSIZE, TXFNTCOLOR,
|
||||
RXFONTCOLOR, TXFONTCOLOR, XMITCOLOR, CTRLCOLOR, SKIPCOLOR, ALTRCOLOR,
|
||||
WATERFALLFONTNBR, WATERFALLFONTSIZE,
|
||||
RSIDWIDESEARCH, TRANSMITRSID, SLOWCPU
|
||||
};
|
||||
|
|
@ -463,6 +471,7 @@ void configuration::writeDefaultsXML()
|
|||
writeXMLint(f, "VIDEOWIDTH", videowidth);
|
||||
writeXMLbool(f, "IDSMALL", ID_SMALL);
|
||||
writeXMLint(f, "QRZTYPE", QRZ);
|
||||
writeXMLstr(f, "QRZPATHNAME", QRZpathname);
|
||||
writeXMLstr(f, "QRZUSER", QRZusername);
|
||||
writeXMLstr(f, "QRZPASSWORD", QRZuserpassword);
|
||||
writeXMLbool(f, "BTNUSB", btnusb);
|
||||
|
|
@ -528,8 +537,15 @@ void configuration::writeDefaultsXML()
|
|||
|
||||
writeXMLint(f, "RXFONTNBR", RxFontnbr);
|
||||
writeXMLint(f, "RXFONTSIZE", RxFontsize);
|
||||
writeXMLint(f, "RXFNTCOLOR", RxFontcolor);
|
||||
writeXMLint(f, "TXFONTNBR", TxFontnbr);
|
||||
writeXMLint(f, "TXFONTSIZE", TxFontsize);
|
||||
writeXMLint(f, "TXFNTCOLOR", TxFontcolor);
|
||||
writeXMLint(f, "XMITCOLOR", XMITcolor);
|
||||
writeXMLint(f, "CTRLCOLOR", CTRLcolor);
|
||||
writeXMLint(f, "SKIPCOLOR", SKIPcolor);
|
||||
writeXMLint(f, "ALTRCOLOR", ALTRcolor);
|
||||
|
||||
writeXMLrgb(f, "RXFONTCOLOR", RxColor.R, RxColor.G, RxColor.B);
|
||||
writeXMLrgb(f, "TXFONTCOLOR", TxColor.R, TxColor.G, TxColor.B);
|
||||
writeXMLint(f, "WATERFALLFONTNBR", WaterfallFontnbr);
|
||||
|
|
@ -835,6 +851,9 @@ bool configuration::readDefaultsXML()
|
|||
case QRZTYPE :
|
||||
QRZ = atoi(xml->getNodeData());
|
||||
break;
|
||||
case QRZPATHNAME :
|
||||
QRZpathname = xml->getNodeData();
|
||||
break;
|
||||
case QRZUSER :
|
||||
QRZusername = xml->getNodeData();
|
||||
break;
|
||||
|
|
@ -1050,16 +1069,34 @@ bool configuration::readDefaultsXML()
|
|||
case RXFONTSIZE :
|
||||
RxFontsize = atoi(xml->getNodeData());
|
||||
break;
|
||||
case RXFNTCOLOR :
|
||||
RxFontcolor = atoi(xml->getNodeData());
|
||||
break;
|
||||
case TXFONTNBR :
|
||||
TxFontnbr = atoi(xml->getNodeData());
|
||||
break;
|
||||
case TXFONTSIZE :
|
||||
TxFontsize = atoi(xml->getNodeData());
|
||||
break;
|
||||
case TXFNTCOLOR :
|
||||
TxFontcolor = atoi(xml->getNodeData());
|
||||
break;
|
||||
case RXFONTCOLOR :
|
||||
sscanf( xml->getNodeData(), "%d %d %d",
|
||||
&RxColor.R, &RxColor.G, &RxColor.B);
|
||||
break;
|
||||
case XMITCOLOR :
|
||||
XMITcolor = atoi(xml->getNodeData());
|
||||
break;
|
||||
case CTRLCOLOR :
|
||||
CTRLcolor = atoi(xml->getNodeData());
|
||||
break;
|
||||
case SKIPCOLOR :
|
||||
SKIPcolor = atoi(xml->getNodeData());
|
||||
break;
|
||||
case ALTRCOLOR :
|
||||
ALTRcolor = atoi(xml->getNodeData());
|
||||
break;
|
||||
case WATERFALLFONTNBR :
|
||||
WaterfallFontnbr = atoi(xml->getNodeData());
|
||||
break;
|
||||
|
|
@ -1175,6 +1212,7 @@ bool configuration::readDefaultsXML()
|
|||
else if (!strcmp("VIDEOWIDTH", nodeName)) tag = VIDEOWIDTH;
|
||||
else if (!strcmp("IDSMALL", nodeName)) tag = IDSMALL;
|
||||
else if (!strcmp("QRZUSER", nodeName)) tag = QRZUSER;
|
||||
else if (!strcmp("QRZPATHNAME", nodeName)) tag = QRZPATHNAME;
|
||||
else if (!strcmp("QRZPASSWORD", nodeName)) tag = QRZPASSWORD;
|
||||
else if (!strcmp("QRZTYPE", nodeName)) tag = QRZTYPE;
|
||||
else if (!strcmp("BTNUSB", nodeName)) tag = BTNUSB;
|
||||
|
|
@ -1241,10 +1279,16 @@ bool configuration::readDefaultsXML()
|
|||
else if (!strcmp("FKEYTEXTCOLOR", nodeName)) tag = FKEYTEXTCOLOR;
|
||||
else if (!strcmp("RXFONTNBR", nodeName)) tag = RXFONTNBR;
|
||||
else if (!strcmp("RXFONTSIZE", nodeName)) tag = RXFONTSIZE;
|
||||
else if (!strcmp("RXFNTCOLOR", nodeName)) tag = RXFNTCOLOR;
|
||||
else if (!strcmp("TXFONTNBR", nodeName)) tag = TXFONTNBR;
|
||||
else if (!strcmp("TXFONTSIZE", nodeName)) tag = TXFONTSIZE;
|
||||
else if (!strcmp("TXFNTCOLOR", nodeName)) tag = TXFNTCOLOR;
|
||||
else if (!strcmp("RXFONTCOLOR", nodeName)) tag = RXFONTCOLOR;
|
||||
else if (!strcmp("TXFONTCOLOR", nodeName)) tag = TXFONTCOLOR;
|
||||
else if (!strcmp("XMITCOLOR", nodeName)) tag = XMITCOLOR;
|
||||
else if (!strcmp("CTRLCOLOR", nodeName)) tag = CTRLCOLOR;
|
||||
else if (!strcmp("SKIPCOLOR", nodeName)) tag = SKIPCOLOR;
|
||||
else if (!strcmp("ALTRCOLOR", nodeName)) tag = ALTRCOLOR;
|
||||
else if (!strcmp("WATERFALLFONTNBR", nodeName)) tag = WATERFALLFONTNBR;
|
||||
else if (!strcmp("WATERFALLFONTSIZE", nodeName)) tag = WATERFALLFONTSIZE;
|
||||
else if (!strcmp("RSIDWIDESEARCH", nodeName)) tag = RSIDWIDESEARCH;
|
||||
|
|
@ -1483,6 +1527,7 @@ int configuration::setDefaults() {
|
|||
btnQRZcdrom->value(1);
|
||||
else if (QRZ == 3)
|
||||
btnHAMCALLsocket->value(1);
|
||||
txtQRZpathname->value(QRZpathname.c_str());
|
||||
|
||||
btnRTTY_USB->value(RTTY_USB);
|
||||
btnsendid->value(sendid);
|
||||
|
|
@ -1491,12 +1536,6 @@ int configuration::setDefaults() {
|
|||
|
||||
FL_UNLOCK();
|
||||
|
||||
ReceiveText->setFont((Fl_Font)RxFontnbr);
|
||||
ReceiveText->setFontSize(RxFontsize);
|
||||
|
||||
TransmitText->setFont((Fl_Font)TxFontnbr);
|
||||
TransmitText->setFontSize(TxFontsize);
|
||||
|
||||
wf->setPrefilter(wfPreFilter);
|
||||
valLatency->value(latency);
|
||||
|
||||
|
|
|
|||
|
|
@ -750,6 +750,10 @@ void CALLSIGNquery()
|
|||
case 2 :
|
||||
if (!qCall)
|
||||
qCall = new QRZ( "callbkc" );
|
||||
if (progdefaults.QRZchanged == true) {
|
||||
qCall->NewDBpath("callbkc");
|
||||
progdefaults.QRZchanged = false;
|
||||
}
|
||||
if (qCall && qCall->getQRZvalid())
|
||||
QRZ_CD_query();
|
||||
DB_query = NONE;
|
||||
|
|
|
|||
|
|
@ -31,11 +31,14 @@
|
|||
#include <stdlib.h>
|
||||
# include <unistd.h>
|
||||
# include <pwd.h>
|
||||
#include <string>
|
||||
|
||||
#include <iostream>
|
||||
using namespace std;
|
||||
|
||||
#include "qrzlib.h"
|
||||
#include "configuration.h"
|
||||
#include "debug.h"
|
||||
|
||||
static char QRZdir[256] = "";
|
||||
|
||||
|
|
@ -52,10 +55,6 @@ static const char *QRZtry[] = {
|
|||
"/cdrom/callbk/",
|
||||
"/mnt/cdrom/callbk/", "/mnt/cdrom0/callbk/", "/mnt/cdrom1/callbk/",
|
||||
"/media/cdrom/callbk/", "/media/cdrom0/callbk/", "/media/cdrom1/callbk/",
|
||||
"~/callbk/",
|
||||
"/cdrom/callbk/",
|
||||
"/mnt/cdrom/callbk/", "/mnt/cdrom0/callbk/", "/mnt/cdrom1/callbk/",
|
||||
"/media/cdrom/callbk/", "/media/cdrom0/callbk/", "/media/cdrom1/callbk/",
|
||||
#endif
|
||||
0 };
|
||||
|
||||
|
|
@ -146,8 +145,38 @@ char *QRZImageFilename (char *call)
|
|||
|
||||
int checkPath( const char *filename )
|
||||
{
|
||||
char fname[80];
|
||||
char fname[120];
|
||||
FILE *f;
|
||||
bool notfound = false;
|
||||
if (!progdefaults.QRZpathname.empty()) {
|
||||
strcpy ( fname, progdefaults.QRZpathname.c_str());
|
||||
for (size_t i = 0; i < strlen(fname); i++)
|
||||
if (fname[i] == '\\') fname[i] = '/'; // fix for DOS path convention
|
||||
|
||||
strcat( fname, filename );
|
||||
strcat( fname, ".dat" );
|
||||
if (fname[0] == '~' || fname[0] == '$') {
|
||||
char f2name[80];
|
||||
filename_expand(f2name, 79, fname);
|
||||
strcpy (fname, f2name);
|
||||
}
|
||||
f = fopen(fname, "r" );
|
||||
if( f != NULL ) {
|
||||
fclose( f );
|
||||
char pathname[120];
|
||||
strcpy( pathname, progdefaults.QRZpathname.c_str());
|
||||
if (pathname[0] == '~' || pathname[0] == '$')
|
||||
filename_expand(QRZdir, 79, pathname);
|
||||
else
|
||||
strcpy (QRZdir, pathname);
|
||||
return 1;
|
||||
}
|
||||
string err = fname;
|
||||
err.append(" not found, performing search");
|
||||
LOG_WARN(err.c_str());
|
||||
notfound = true;
|
||||
}
|
||||
// not specified, perform a search
|
||||
const char **pQRZpath = QRZtry;
|
||||
while (*pQRZpath) {
|
||||
strcpy( fname, *pQRZpath );
|
||||
|
|
@ -166,11 +195,17 @@ int checkPath( const char *filename )
|
|||
filename_expand(QRZdir, 79, QRZpath);
|
||||
else
|
||||
strcpy (QRZdir, QRZpath);
|
||||
if (notfound) {
|
||||
string err = "Using ";
|
||||
err.append(fname);
|
||||
LOG_WARN(err.c_str());
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
pQRZpath++;
|
||||
}
|
||||
QRZpath = QRZtry[0];
|
||||
LOG_WARN("QRZ data base not found");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -303,6 +338,14 @@ QRZ::QRZ( const char *fname, char c )
|
|||
OpenQRZFiles( fname );
|
||||
}
|
||||
|
||||
void QRZ::NewDBpath( const char *fname )
|
||||
{
|
||||
int len = strlen(fname);
|
||||
criteria = fname[ len - 1 ];
|
||||
*QRZdir = 0;
|
||||
OpenQRZFiles( fname );
|
||||
}
|
||||
|
||||
|
||||
QRZ::~QRZ()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -77,10 +77,10 @@ int FTextBase::handle(int event)
|
|||
if (event == FL_MOUSEWHEEL && !Fl::event_inside(this))
|
||||
return 1;
|
||||
|
||||
if (event == FL_SHOW) {
|
||||
reset_styles(SET_COLOR);
|
||||
adjust_colours();
|
||||
}
|
||||
// if (event == FL_SHOW) {
|
||||
// reset_styles(SET_COLOR);
|
||||
// adjust_colours();
|
||||
// }
|
||||
|
||||
return Fl_Text_Editor_mod::handle(event);
|
||||
}
|
||||
|
|
|
|||
Ładowanie…
Reference in New Issue