* Added hamQTH browser lookup
  * Added ability to do both browser and xml call lookup
pull/2/head
David Freese 2011-12-02 12:29:33 -06:00
rodzic 82fa760998
commit ff596a0102
8 zmienionych plików z 322 dodań i 213 usunięć

Wyświetl plik

@ -27,13 +27,22 @@
Fl_Double_Window *dlgConfig;
Mode_Browser* mode_browser;
void set_qrz_buttons(Fl_Button* b) {
Fl_Button* qrzb[] = { btnQRZnotavailable, btnQRZcdrom, btnQRZonline,
btnQRZsub, btnHamcall, btnHAMCALLonline,
btnCALLOOK, btnHamQTH};
void set_qrzxml_buttons(Fl_Button* b) {
Fl_Button* qrzbxml[] = { btnQRZXMLnotavailable, btnQRZcdrom, btnQRZsub,
btnHamcall,
btnCALLOOK, btnHamQTH};
for (size_t i = 0; i < sizeof(qrzb)/sizeof(*qrzb); i++)
qrzb[i]->value(b == qrzb[i]);
for (size_t i = 0; i < sizeof(qrzbxml)/sizeof(*qrzbxml); i++)
qrzbxml[i]->value(b == qrzbxml[i]);
}
void set_qrzweb_buttons(Fl_Button* b) {
Fl_Button* qrzbweb[] = { btnQRZWEBnotavailable, btnQRZonline,
btnHAMCALLonline,
btnHamQTHonline };
for (size_t i = 0; i < sizeof(qrzbweb)/sizeof(*qrzbweb); i++)
qrzbweb[i]->value(b == qrzbweb[i]);
}
Fl_Tabs *tabsConfigure=(Fl_Tabs *)0;
@ -2875,43 +2884,83 @@ static void cb_chkDTMFdecode(Fl_Check_Button* o, void*) {
Fl_Group *tabQRZ=(Fl_Group *)0;
Fl_Round_Button *btnQRZnotavailable=(Fl_Round_Button *)0;
Fl_Round_Button *btnQRZWEBnotavailable=(Fl_Round_Button *)0;
static void cb_btnQRZnotavailable(Fl_Round_Button* o, void*) {
set_qrz_buttons(o);
progdefaults.QRZ = QRZNONE;
static void cb_btnQRZWEBnotavailable(Fl_Round_Button* o, void*) {
set_qrzweb_buttons(o);
progdefaults.QRZWEB = QRZWEBNONE;
progdefaults.changed = true;
}
Fl_Round_Button *btnQRZonline=(Fl_Round_Button *)0;
static void cb_btnQRZonline(Fl_Round_Button* o, void*) {
set_qrz_buttons(o);
progdefaults.QRZ = QRZHTML;
set_qrzweb_buttons(o);
progdefaults.QRZWEB = QRZHTML;
progdefaults.changed = true;
}
Fl_Round_Button *btnHAMCALLonline=(Fl_Round_Button *)0;
static void cb_btnHAMCALLonline(Fl_Round_Button* o, void*) {
set_qrz_buttons(o);
progdefaults.QRZ = HAMCALLHTML;
set_qrzweb_buttons(o);
progdefaults.QRZWEB = HAMCALLHTML;
progdefaults.changed = true;
}
Fl_Round_Button *btnCALLOOK=(Fl_Round_Button *)0;
Fl_Round_Button *btnHamQTHonline=(Fl_Round_Button *)0;
static void cb_btnCALLOOK(Fl_Round_Button* o, void*) {
set_qrz_buttons(o);
progdefaults.QRZ = CALLOOK;
static void cb_btnHamQTHonline(Fl_Round_Button* o, void*) {
set_qrzweb_buttons(o);
progdefaults.QRZWEB = HAMQTHHTML;
progdefaults.changed = true;
}
Fl_Round_Button *btnQRZXMLnotavailable=(Fl_Round_Button *)0;
static void cb_btnQRZXMLnotavailable(Fl_Round_Button* o, void*) {
set_qrzxml_buttons(o);
progdefaults.QRZXML = QRZXMLNONE;
progdefaults.changed = true;
}
Fl_Round_Button *btnQRZcdrom=(Fl_Round_Button *)0;
static void cb_btnQRZcdrom(Fl_Round_Button* o, void*) {
set_qrz_buttons(o);
progdefaults.QRZ = QRZCD;
set_qrzxml_buttons(o);
progdefaults.QRZXML = QRZCD;
progdefaults.changed = true;
}
Fl_Round_Button *btnQRZsub=(Fl_Round_Button *)0;
static void cb_btnQRZsub(Fl_Round_Button* o, void*) {
set_qrzxml_buttons(o);
progdefaults.QRZXML = QRZNET;
progdefaults.changed = true;
}
Fl_Round_Button *btnHamcall=(Fl_Round_Button *)0;
static void cb_btnHamcall(Fl_Round_Button* o, void*) {
set_qrzxml_buttons(o);
progdefaults.QRZXML = HAMCALLNET;
progdefaults.changed = true;
}
Fl_Round_Button *btnHamQTH=(Fl_Round_Button *)0;
static void cb_btnHamQTH(Fl_Round_Button* o, void*) {
set_qrzxml_buttons(o);
progdefaults.QRZXML = HAMQTH;
progdefaults.changed = true;
}
Fl_Round_Button *btnCALLOOK=(Fl_Round_Button *)0;
static void cb_btnCALLOOK(Fl_Round_Button* o, void*) {
set_qrzxml_buttons(o);
progdefaults.QRZXML = CALLOOK;
progdefaults.changed = true;
}
@ -2923,22 +2972,6 @@ progdefaults.QRZchanged = true;
progdefaults.changed = true;
}
Fl_Round_Button *btnQRZsub=(Fl_Round_Button *)0;
static void cb_btnQRZsub(Fl_Round_Button* o, void*) {
set_qrz_buttons(o);
progdefaults.QRZ = QRZNET;
progdefaults.changed = true;
}
Fl_Round_Button *btnHamcall=(Fl_Round_Button *)0;
static void cb_btnHamcall(Fl_Round_Button* o, void*) {
set_qrz_buttons(o);
progdefaults.QRZ = HAMCALLNET;
progdefaults.changed = true;
}
Fl_Input2 *inpQRZusername=(Fl_Input2 *)0;
static void cb_inpQRZusername(Fl_Input2* o, void*) {
@ -2961,14 +2994,6 @@ inpQRZuserpassword->redraw();
o->label((inpQRZuserpassword->type() & FL_SECRET_INPUT) ? "Show" : "Hide");
}
Fl_Round_Button *btnHamQTH=(Fl_Round_Button *)0;
static void cb_btnHamQTH(Fl_Round_Button* o, void*) {
set_qrz_buttons(o);
progdefaults.QRZ = HAMQTH;
progdefaults.changed = true;
}
Fl_Input2 *inpEQSL_id=(Fl_Input2 *)0;
static void cb_inpEQSL_id(Fl_Input2* o, void*) {
@ -6541,47 +6566,78 @@ d frequency"));
tabQRZ->tooltip(_("Callsign database"));
tabQRZ->hide();
{ Fl_Tabs* o = new Fl_Tabs(0, 25, 500, 345);
{ Fl_Group* o = new Fl_Group(0, 46, 500, 324, _("QRZ/etal"));
{ Fl_Group* o = new Fl_Group(5, 55, 490, 120);
{ Fl_Group* o = new Fl_Group(0, 46, 500, 324, _("Call Lookup"));
{ Fl_Group* o = new Fl_Group(5, 52, 490, 122, _("Web Browser lookup"));
o->box(FL_ENGRAVED_FRAME);
o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
{ Fl_Round_Button* o = btnQRZnotavailable = new Fl_Round_Button(25, 64, 337, 20, _("Not available"));
btnQRZnotavailable->tooltip(_("Do not use callsign database"));
btnQRZnotavailable->down_box(FL_DOWN_BOX);
btnQRZnotavailable->value(1);
btnQRZnotavailable->callback((Fl_Callback*)cb_btnQRZnotavailable);
o->value(progdefaults.QRZ == QRZNONE);
} // Fl_Round_Button* btnQRZnotavailable
{ Fl_Round_Button* o = btnQRZonline = new Fl_Round_Button(25, 92, 337, 20, _("QRZ online via default Internet Browser"));
{ Fl_Round_Button* o = btnQRZWEBnotavailable = new Fl_Round_Button(27, 78, 337, 20, _("None"));
btnQRZWEBnotavailable->tooltip(_("Do not use callsign lookup via web browser"));
btnQRZWEBnotavailable->down_box(FL_DOWN_BOX);
btnQRZWEBnotavailable->value(1);
btnQRZWEBnotavailable->callback((Fl_Callback*)cb_btnQRZWEBnotavailable);
o->value(progdefaults.QRZWEB == QRZWEBNONE);
} // Fl_Round_Button* btnQRZWEBnotavailable
{ Fl_Round_Button* o = btnQRZonline = new Fl_Round_Button(27, 102, 337, 20, _("QRZ online via default Internet Browser"));
btnQRZonline->tooltip(_("Visit QRZ web site"));
btnQRZonline->down_box(FL_DOWN_BOX);
btnQRZonline->callback((Fl_Callback*)cb_btnQRZonline);
o->value(progdefaults.QRZ == QRZHTML);
o->value(progdefaults.QRZWEB == QRZHTML);
} // Fl_Round_Button* btnQRZonline
{ Fl_Round_Button* o = btnHAMCALLonline = new Fl_Round_Button(25, 120, 337, 20, _("HamCall online via default Internet Browser"));
{ Fl_Round_Button* o = btnHAMCALLonline = new Fl_Round_Button(27, 126, 337, 20, _("HamCall online via default Internet Browser"));
btnHAMCALLonline->tooltip(_("Visit Hamcall web site"));
btnHAMCALLonline->down_box(FL_DOWN_BOX);
btnHAMCALLonline->callback((Fl_Callback*)cb_btnHAMCALLonline);
o->value(progdefaults.QRZ == HAMCALLHTML);
o->value(progdefaults.QRZWEB == HAMCALLHTML);
} // Fl_Round_Button* btnHAMCALLonline
{ Fl_Round_Button* o = btnCALLOOK = new Fl_Round_Button(25, 148, 337, 20, _("Callook.info lookup (US callsigns only)"));
btnCALLOOK->tooltip(_("Visit Hamcall web site"));
btnCALLOOK->down_box(FL_DOWN_BOX);
btnCALLOOK->callback((Fl_Callback*)cb_btnCALLOOK);
o->value(progdefaults.QRZ == CALLOOK);
} // Fl_Round_Button* btnCALLOOK
{ Fl_Round_Button* o = btnHamQTHonline = new Fl_Round_Button(27, 150, 337, 20, _("HamQTH via default Internet Browser"));
btnHamQTHonline->tooltip(_("Visit hamQTH web site"));
btnHamQTHonline->down_box(FL_DOWN_BOX);
btnHamQTHonline->callback((Fl_Callback*)cb_btnHamQTHonline);
o->value(progdefaults.QRZWEB == HAMQTHHTML);
} // Fl_Round_Button* btnHamQTHonline
o->end();
} // Fl_Group* o
{ Fl_Group* o = new Fl_Group(5, 176, 490, 55, _("CDROM"));
{ Fl_Group* o = new Fl_Group(5, 176, 490, 190, _("Data base lookup"));
o->box(FL_ENGRAVED_FRAME);
o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
{ Fl_Round_Button* o = btnQRZcdrom = new Fl_Round_Button(25, 196, 70, 20, _("QRZ"));
{ Fl_Round_Button* o = btnQRZXMLnotavailable = new Fl_Round_Button(27, 199, 337, 20, _("None"));
btnQRZXMLnotavailable->tooltip(_("Do not use callsign database"));
btnQRZXMLnotavailable->down_box(FL_DOWN_BOX);
btnQRZXMLnotavailable->value(1);
btnQRZXMLnotavailable->callback((Fl_Callback*)cb_btnQRZXMLnotavailable);
o->value(progdefaults.QRZXML == QRZXMLNONE);
} // Fl_Round_Button* btnQRZXMLnotavailable
{ Fl_Round_Button* o = btnQRZcdrom = new Fl_Round_Button(27, 227, 70, 20, _("QRZ cdrom"));
btnQRZcdrom->tooltip(_("Use CD or hard drive CD image"));
btnQRZcdrom->down_box(FL_DOWN_BOX);
btnQRZcdrom->callback((Fl_Callback*)cb_btnQRZcdrom);
o->value(progdefaults.QRZ == QRZCD);
o->value(progdefaults.QRZXML == QRZCD);
} // Fl_Round_Button* btnQRZcdrom
{ Fl_Input2* o = txtQRZpathname = new Fl_Input2(104, 196, 300, 20, _("at:"));
{ Fl_Round_Button* o = btnQRZsub = new Fl_Round_Button(27, 255, 125, 20, _("QRZ.com"));
btnQRZsub->tooltip(_("You need a paid QRZ online\nsubscription to access"));
btnQRZsub->down_box(FL_DOWN_BOX);
btnQRZsub->callback((Fl_Callback*)cb_btnQRZsub);
o->value(progdefaults.QRZXML == QRZNET);
} // Fl_Round_Button* btnQRZsub
{ Fl_Round_Button* o = btnHamcall = new Fl_Round_Button(27, 281, 125, 20, _("Hamcall.net"));
btnHamcall->tooltip(_("You need a paid Hamcall online\nsubscription to access"));
btnHamcall->down_box(FL_DOWN_BOX);
btnHamcall->callback((Fl_Callback*)cb_btnHamcall);
o->value(progdefaults.QRZXML == HAMCALLNET);
} // Fl_Round_Button* btnHamcall
{ Fl_Round_Button* o = btnHamQTH = new Fl_Round_Button(27, 307, 125, 20, _("HamQTH.com (free service http://www.hamqth.com)"));
btnHamQTH->tooltip(_("Free service courtesy of OK"));
btnHamQTH->down_box(FL_DOWN_BOX);
btnHamQTH->callback((Fl_Callback*)cb_btnHamQTH);
o->value(progdefaults.QRZXML == HAMQTH);
} // Fl_Round_Button* btnHamQTH
{ Fl_Round_Button* o = btnCALLOOK = new Fl_Round_Button(27, 334, 125, 20, _("Callook.info lookup (free service US callsigns only)"));
btnCALLOOK->tooltip(_("Visit Hamcall web site"));
btnCALLOOK->down_box(FL_DOWN_BOX);
btnCALLOOK->callback((Fl_Callback*)cb_btnCALLOOK);
o->value(progdefaults.QRZXML == CALLOOK);
} // Fl_Round_Button* btnCALLOOK
{ Fl_Input2* o = txtQRZpathname = new Fl_Input2(152, 227, 300, 20, _("at:"));
txtQRZpathname->tooltip(_("ie: /home/dave/CALLBK/ or C:/CALLBK/\nLeave blank to search for database"));
txtQRZpathname->box(FL_DOWN_BOX);
txtQRZpathname->color((Fl_Color)FL_BACKGROUND2_COLOR);
@ -6596,24 +6652,7 @@ d frequency"));
o->value(progdefaults.QRZpathname.c_str());
txtQRZpathname->labelsize(FL_NORMAL_SIZE);
} // Fl_Input2* txtQRZpathname
o->end();
} // Fl_Group* o
{ Fl_Group* o = new Fl_Group(5, 232, 490, 134, _("Subscriber data"));
o->box(FL_ENGRAVED_FRAME);
o->align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE);
{ Fl_Round_Button* o = btnQRZsub = new Fl_Round_Button(25, 263, 90, 20, _("QRZ.com"));
btnQRZsub->tooltip(_("You need a paid QRZ online\nsubscription to access"));
btnQRZsub->down_box(FL_DOWN_BOX);
btnQRZsub->callback((Fl_Callback*)cb_btnQRZsub);
o->value(progdefaults.QRZ == QRZNET);
} // Fl_Round_Button* btnQRZsub
{ Fl_Round_Button* o = btnHamcall = new Fl_Round_Button(25, 297, 105, 20, _("Hamcall.net"));
btnHamcall->tooltip(_("You need a paid Hamcall online\nsubscription to access"));
btnHamcall->down_box(FL_DOWN_BOX);
btnHamcall->callback((Fl_Callback*)cb_btnHamcall);
o->value(progdefaults.QRZ == HAMCALLNET);
} // Fl_Round_Button* btnHamcall
{ Fl_Input2* o = inpQRZusername = new Fl_Input2(235, 263, 150, 20, _("User name"));
{ Fl_Input2* o = inpQRZusername = new Fl_Input2(235, 255, 150, 20, _("User name"));
inpQRZusername->tooltip(_("Your login name"));
inpQRZusername->box(FL_DOWN_BOX);
inpQRZusername->color((Fl_Color)FL_BACKGROUND2_COLOR);
@ -6628,7 +6667,7 @@ d frequency"));
o->value(progdefaults.QRZusername.c_str());
inpQRZusername->labelsize(FL_NORMAL_SIZE);
} // Fl_Input2* inpQRZusername
{ Fl_Input2* o = inpQRZuserpassword = new Fl_Input2(235, 297, 150, 20, _("Password"));
{ Fl_Input2* o = inpQRZuserpassword = new Fl_Input2(235, 281, 150, 20, _("Password"));
inpQRZuserpassword->tooltip(_("Your login password"));
inpQRZuserpassword->box(FL_DOWN_BOX);
inpQRZuserpassword->color((Fl_Color)FL_BACKGROUND2_COLOR);
@ -6644,16 +6683,10 @@ d frequency"));
o->type(FL_SECRET_INPUT);
inpQRZuserpassword->labelsize(FL_NORMAL_SIZE);
} // Fl_Input2* inpQRZuserpassword
{ btnQRZpasswordShow = new Fl_Button(395, 297, 70, 20, _("Show"));
{ btnQRZpasswordShow = new Fl_Button(395, 281, 70, 20, _("Show"));
btnQRZpasswordShow->tooltip(_("Show password in plain text"));
btnQRZpasswordShow->callback((Fl_Callback*)cb_btnQRZpasswordShow);
} // Fl_Button* btnQRZpasswordShow
{ Fl_Round_Button* o = btnHamQTH = new Fl_Round_Button(26, 332, 121, 20, _("HamQTH.com (free service http://www.hamqth.com)"));
btnHamQTH->tooltip(_("You need a paid Hamcall online\nsubscription to access"));
btnHamQTH->down_box(FL_DOWN_BOX);
btnHamQTH->callback((Fl_Callback*)cb_btnHamQTH);
o->value(progdefaults.QRZ == HAMQTH);
} // Fl_Round_Button* btnHamQTH
o->end();
} // Fl_Group* o
o->end();

Wyświetl plik

@ -75,14 +75,24 @@ decl {Fl_Double_Window *dlgConfig;} {public
decl {Mode_Browser* mode_browser;} {public
}
Function {set_qrz_buttons(Fl_Button* b)} {open return_type void
Function {set_qrzxml_buttons(Fl_Button* b)} {open return_type void
} {
code {Fl_Button* qrzb[] = { btnQRZnotavailable, btnQRZcdrom, btnQRZonline,
btnQRZsub, btnHamcall, btnHAMCALLonline,
btnCALLOOK, btnHamQTH};
code {Fl_Button* qrzbxml[] = { btnQRZXMLnotavailable, btnQRZcdrom, btnQRZsub,
btnHamcall,
btnCALLOOK, btnHamQTH};
for (size_t i = 0; i < sizeof(qrzb)/sizeof(*qrzb); i++)
qrzb[i]->value(b == qrzb[i]);} {}
for (size_t i = 0; i < sizeof(qrzbxml)/sizeof(*qrzbxml); i++)
qrzbxml[i]->value(b == qrzbxml[i]);} {}
}
Function {set_qrzweb_buttons(Fl_Button* b)} {open return_type void
} {
code {Fl_Button* qrzbweb[] = { btnQRZWEBnotavailable, btnQRZonline,
btnHAMCALLonline,
btnHamQTHonline };
for (size_t i = 0; i < sizeof(qrzbweb)/sizeof(*qrzbweb); i++)
qrzbweb[i]->value(b == qrzbweb[i]);} {}
}
Function {ConfigureDialog()} {open
@ -3647,63 +3657,106 @@ progdefaults.changed = true;}
}
}
Fl_Group tabQRZ {
label Web
label Web open
tooltip {Callsign database} xywh {0 25 500 345} hide
} {
Fl_Tabs {} {open
xywh {0 25 500 345}
} {
Fl_Group {} {
label {QRZ/etal} open
label {Call Lookup} open
xywh {0 46 500 324}
} {
Fl_Group {} {open
xywh {5 55 490 120} box ENGRAVED_FRAME align 21
Fl_Group {} {
label {Web Browser lookup} open
xywh {5 52 490 122} box ENGRAVED_FRAME align 21
} {
Fl_Round_Button btnQRZnotavailable {
label {Not available}
callback {set_qrz_buttons(o);
progdefaults.QRZ = QRZNONE;
Fl_Round_Button btnQRZWEBnotavailable {
label None
callback {set_qrzweb_buttons(o);
progdefaults.QRZWEB = QRZWEBNONE;
progdefaults.changed = true;}
tooltip {Do not use callsign database} xywh {25 64 337 20} down_box DOWN_BOX value 1
code0 {o->value(progdefaults.QRZ == QRZNONE);}
tooltip {Do not use callsign lookup via web browser} xywh {27 78 337 20} down_box DOWN_BOX value 1
code0 {o->value(progdefaults.QRZWEB == QRZWEBNONE);}
}
Fl_Round_Button btnQRZonline {
label {QRZ online via default Internet Browser}
callback {set_qrz_buttons(o);
progdefaults.QRZ = QRZHTML;
callback {set_qrzweb_buttons(o);
progdefaults.QRZWEB = QRZHTML;
progdefaults.changed = true;}
tooltip {Visit QRZ web site} xywh {25 92 337 20} down_box DOWN_BOX
code0 {o->value(progdefaults.QRZ == QRZHTML);}
tooltip {Visit QRZ web site} xywh {27 102 337 20} down_box DOWN_BOX
code0 {o->value(progdefaults.QRZWEB == QRZHTML);}
}
Fl_Round_Button btnHAMCALLonline {
label {HamCall online via default Internet Browser}
callback {set_qrz_buttons(o);
progdefaults.QRZ = HAMCALLHTML;
callback {set_qrzweb_buttons(o);
progdefaults.QRZWEB = HAMCALLHTML;
progdefaults.changed = true;}
tooltip {Visit Hamcall web site} xywh {25 120 337 20} down_box DOWN_BOX
code0 {o->value(progdefaults.QRZ == HAMCALLHTML);}
tooltip {Visit Hamcall web site} xywh {27 126 337 20} down_box DOWN_BOX
code0 {o->value(progdefaults.QRZWEB == HAMCALLHTML);}
}
Fl_Round_Button btnCALLOOK {
label {Callook.info lookup (US callsigns only)}
callback {set_qrz_buttons(o);
progdefaults.QRZ = CALLOOK;
Fl_Round_Button btnHamQTHonline {
label {HamQTH via default Internet Browser}
callback {set_qrzweb_buttons(o);
progdefaults.QRZWEB = HAMQTHHTML;
progdefaults.changed = true;}
tooltip {Visit Hamcall web site} xywh {25 148 337 20} down_box DOWN_BOX
code0 {o->value(progdefaults.QRZ == CALLOOK);}
tooltip {Visit hamQTH web site} xywh {27 150 337 20} down_box DOWN_BOX
code0 {o->value(progdefaults.QRZWEB == HAMQTHHTML);}
}
}
Fl_Group {} {
label CDROM open
xywh {5 176 490 55} box ENGRAVED_FRAME align 21
label {Data base lookup} open
xywh {5 176 490 190} box ENGRAVED_FRAME align 21
} {
Fl_Round_Button btnQRZcdrom {
label QRZ
callback {set_qrz_buttons(o);
progdefaults.QRZ = QRZCD;
Fl_Round_Button btnQRZXMLnotavailable {
label None
callback {set_qrzxml_buttons(o);
progdefaults.QRZXML = QRZXMLNONE;
progdefaults.changed = true;}
tooltip {Use CD or hard drive CD image} xywh {25 196 70 20} down_box DOWN_BOX
code0 {o->value(progdefaults.QRZ == QRZCD);}
tooltip {Do not use callsign database} xywh {27 199 337 20} down_box DOWN_BOX value 1
code0 {o->value(progdefaults.QRZXML == QRZXMLNONE);}
}
Fl_Round_Button btnQRZcdrom {
label {QRZ cdrom}
callback {set_qrzxml_buttons(o);
progdefaults.QRZXML = QRZCD;
progdefaults.changed = true;}
tooltip {Use CD or hard drive CD image} xywh {27 227 70 20} down_box DOWN_BOX
code0 {o->value(progdefaults.QRZXML == QRZCD);}
}
Fl_Round_Button btnQRZsub {
label {QRZ.com}
callback {set_qrzxml_buttons(o);
progdefaults.QRZXML = QRZNET;
progdefaults.changed = true;}
tooltip {You need a paid QRZ online
subscription to access} xywh {27 255 125 20} down_box DOWN_BOX
code0 {o->value(progdefaults.QRZXML == QRZNET);}
}
Fl_Round_Button btnHamcall {
label {Hamcall.net}
callback {set_qrzxml_buttons(o);
progdefaults.QRZXML = HAMCALLNET;
progdefaults.changed = true;}
tooltip {You need a paid Hamcall online
subscription to access} xywh {27 281 125 20} down_box DOWN_BOX
code0 {o->value(progdefaults.QRZXML == HAMCALLNET);}
}
Fl_Round_Button btnHamQTH {
label {HamQTH.com (free service http://www.hamqth.com)}
callback {set_qrzxml_buttons(o);
progdefaults.QRZXML = HAMQTH;
progdefaults.changed = true;}
tooltip {Free service courtesy of OK} xywh {27 307 125 20} down_box DOWN_BOX
code0 {o->value(progdefaults.QRZXML == HAMQTH);}
}
Fl_Round_Button btnCALLOOK {
label {Callook.info lookup (free service US callsigns only)}
callback {set_qrzxml_buttons(o);
progdefaults.QRZXML = CALLOOK;
progdefaults.changed = true;}
tooltip {Visit Hamcall web site} xywh {27 334 125 20} down_box DOWN_BOX
code0 {o->value(progdefaults.QRZXML == CALLOOK);}
}
Fl_Input txtQRZpathname {
label {at:}
@ -3711,39 +3764,16 @@ progdefaults.changed = true;}
progdefaults.QRZchanged = true;
progdefaults.changed = true;}
tooltip {ie: /home/dave/CALLBK/ or C:/CALLBK/
Leave blank to search for database} xywh {104 196 300 20}
Leave blank to search for database} xywh {152 227 300 20}
code0 {o->value(progdefaults.QRZpathname.c_str());}
code1 {txtQRZpathname->labelsize(FL_NORMAL_SIZE);}
class Fl_Input2
}
}
Fl_Group {} {
label {Subscriber data} open
xywh {5 232 490 134} box ENGRAVED_FRAME align 21
} {
Fl_Round_Button btnQRZsub {
label {QRZ.com}
callback {set_qrz_buttons(o);
progdefaults.QRZ = QRZNET;
progdefaults.changed = true;}
tooltip {You need a paid QRZ online
subscription to access} xywh {25 263 90 20} down_box DOWN_BOX
code0 {o->value(progdefaults.QRZ == QRZNET);}
}
Fl_Round_Button btnHamcall {
label {Hamcall.net}
callback {set_qrz_buttons(o);
progdefaults.QRZ = HAMCALLNET;
progdefaults.changed = true;}
tooltip {You need a paid Hamcall online
subscription to access} xywh {25 297 105 20} down_box DOWN_BOX
code0 {o->value(progdefaults.QRZ == HAMCALLNET);}
}
Fl_Input inpQRZusername {
label {User name}
callback {progdefaults.QRZusername = o->value();
progdefaults.changed = true;}
tooltip {Your login name} xywh {235 263 150 20}
tooltip {Your login name} xywh {235 255 150 20}
code0 {o->value(progdefaults.QRZusername.c_str());}
code1 {inpQRZusername->labelsize(FL_NORMAL_SIZE);}
class Fl_Input2
@ -3752,7 +3782,7 @@ progdefaults.changed = true;}
label Password
callback {progdefaults.QRZuserpassword = o->value();
progdefaults.changed = true;}
tooltip {Your login password} xywh {235 297 150 20}
tooltip {Your login password} xywh {235 281 150 20}
code0 {o->value(progdefaults.QRZuserpassword.c_str());}
code1 {o->type(FL_SECRET_INPUT);}
code2 {inpQRZuserpassword->labelsize(FL_NORMAL_SIZE);}
@ -3763,16 +3793,7 @@ progdefaults.changed = true;}
callback {inpQRZuserpassword->type(inpQRZuserpassword->type() ^ FL_SECRET_INPUT);
inpQRZuserpassword->redraw();
o->label((inpQRZuserpassword->type() & FL_SECRET_INPUT) ? "Show" : "Hide");}
tooltip {Show password in plain text} xywh {395 297 70 20}
}
Fl_Round_Button btnHamQTH {
label {HamQTH.com (free service http://www.hamqth.com)}
callback {set_qrz_buttons(o);
progdefaults.QRZ = HAMQTH;
progdefaults.changed = true;}
tooltip {You need a paid Hamcall online
subscription to access} xywh {26 332 121 20} down_box DOWN_BOX
code0 {o->value(progdefaults.QRZ == HAMQTH);}
tooltip {Show password in plain text} xywh {395 281 70 20}
}
}
}

Wyświetl plik

@ -12,7 +12,8 @@
#include "flmisc.h"
extern Fl_Double_Window *dlgConfig;
extern Mode_Browser* mode_browser;
void set_qrz_buttons(Fl_Button* b);
void set_qrzxml_buttons(Fl_Button* b);
void set_qrzweb_buttons(Fl_Button* b);
#include <FL/Fl_Double_Window.H>
#include <FL/Fl_Tabs.H>
extern Fl_Tabs *tabsConfigure;
@ -403,18 +404,20 @@ extern Fl_Check_Button *chkRxStream;
extern Fl_Group *tabDTMF;
extern Fl_Check_Button *chkDTMFdecode;
extern Fl_Group *tabQRZ;
extern Fl_Round_Button *btnQRZnotavailable;
extern Fl_Round_Button *btnQRZWEBnotavailable;
extern Fl_Round_Button *btnQRZonline;
extern Fl_Round_Button *btnHAMCALLonline;
extern Fl_Round_Button *btnCALLOOK;
extern Fl_Round_Button *btnHamQTHonline;
extern Fl_Round_Button *btnQRZXMLnotavailable;
extern Fl_Round_Button *btnQRZcdrom;
extern Fl_Input2 *txtQRZpathname;
extern Fl_Round_Button *btnQRZsub;
extern Fl_Round_Button *btnHamcall;
extern Fl_Round_Button *btnHamQTH;
extern Fl_Round_Button *btnCALLOOK;
extern Fl_Input2 *txtQRZpathname;
extern Fl_Input2 *inpQRZusername;
extern Fl_Input2 *inpQRZuserpassword;
extern Fl_Button *btnQRZpasswordShow;
extern Fl_Round_Button *btnHamQTH;
extern Fl_Input2 *inpEQSL_id;
extern Fl_Input2 *inpEQSL_pwd;
extern Fl_Button *btnEQSL_pwd_show;

Wyświetl plik

@ -650,11 +650,17 @@
"Connect to Digitalk socket server during program initialization", \
false) \
/* QRZ */ \
ELEM_(int, QRZ, "QRZTYPE", \
"Callsign query type. Values are as follows:\n" \
ELEM_(int, QRZXML, "QRZXMLTYPE", \
"Callsign xml query type. Values are as follows:\n" \
" 0: none; 1: QRZ (paid sub.); 2: QRZ cdrom; 3: HamCall (paid sub.);\n" \
" 4: QRZ (web browser); 5: HamCall (web browser). The default is 0.", \
QRZNONE) \
" 4: callook free US calls xml service; 5: hamQTH free xml service.\n" \
" The default is none.", \
QRZXMLNONE) \
ELEM_(int, QRZWEB, "QRZWEBTYPE", \
"Callsign browser query type. Values are as follows:\n" \
" 0: none; 1: QRZ web browser; 2: HamCall web browser\n" \
" 3: hamQTH web browser.\n The default is none.", \
QRZWEBNONE) \
ELEM_(std::string, QRZpathname, "QRZPATHNAME", \
"QRZ cdrom path", \
"") \

Wyświetl plik

@ -16,7 +16,19 @@ extern std::string lookup_country;
extern void clear_Lookup();
extern void CALLSIGNquery();
enum qrz_query_t { QRZ_EXIT = -1, QRZNONE, QRZNET, QRZCD, HAMCALLNET, QRZHTML, HAMCALLHTML, CALLOOK, HAMQTH };
enum qrz_xmlquery_t {
QRZXML_EXIT = -1,
QRZXMLNONE,
QRZNET, QRZCD,
HAMCALLNET,
CALLOOK,
HAMQTH };
enum qrz_webquery_t {
QRZWEB_EXIT = -1,
QRZWEBNONE,
QRZHTML, HAMCALLHTML, HAMQTHHTML };
extern void sendEQSL(const char *url);
extern void makeEQSL(const char *msg);

Wyświetl plik

@ -630,37 +630,47 @@ int configuration::setDefaults()
btnRSID->value(rsid);
chkRSidWideSearch->value(rsidWideSearch);
chkSlowCpu->value(slowcpu);
Fl_Button* qrzb = btnQRZnotavailable;
switch (QRZ) {
case QRZNONE:
qrzb = btnQRZnotavailable;
break;
Fl_Button* qrzb = btnQRZXMLnotavailable;
Fl_Button* qrzb2 = btnQRZWEBnotavailable;
switch (QRZXML) {
case QRZCD:
qrzb = btnQRZcdrom;
break;
case QRZHTML:
qrzb = btnQRZonline;
break;
case QRZNET:
qrzb = btnQRZsub;
break;
case HAMCALLNET:
qrzb = btnHamcall;
break;
case HAMCALLHTML:
qrzb = btnHAMCALLonline;
break;
case CALLOOK:
qrzb = btnCALLOOK;
break;
case HAMQTH:
qrzb = btnHamQTH;
break;
case QRZXMLNONE:
default :
break;
}
set_qrz_buttons(qrzb);
switch (QRZWEB) {
case QRZHTML:
qrzb2 = btnQRZonline;
break;
case HAMCALLHTML:
qrzb2 = btnHAMCALLonline;
break;
case HAMQTHHTML:
qrzb2 = btnHamQTHonline;
break;
case QRZWEBNONE:
default :
break;
}
set_qrzxml_buttons(qrzb);
set_qrzweb_buttons(qrzb2);
txtQRZpathname->value(QRZpathname.c_str());
btnsendid->value(sendid);

Wyświetl plik

@ -83,7 +83,8 @@ string lookup_latd;
string lookup_lond;
string lookup_notes;
qrz_query_t DB_query = QRZNONE;
qrz_xmlquery_t DB_XML_query = QRZXMLNONE;
qrz_webquery_t DB_WEB_query = QRZWEBNONE;
enum TAG {
QRZ_IGNORE, QRZ_KEY, QRZ_ALERT, QRZ_ERROR, QRZ_CALL,
@ -470,7 +471,9 @@ void QRZclose(void)
CANCEL_THREAD(*QRZ_thread);
DB_query = QRZ_EXIT;
DB_XML_query = QRZXML_EXIT;
DB_WEB_query = QRZWEB_EXIT;
pthread_mutex_lock(&qrz_mutex);
pthread_cond_signal(&qrz_cond);
pthread_mutex_unlock(&qrz_mutex);
@ -839,12 +842,12 @@ void parse_HAMQTH_html(const string& htmlpage)
if (p1 != string::npos)
lookup_notes.append(" ").append(htmlpage.substr(p, p1 - p));
}
if ((p = htmlpage.find("<adr_country>")) != string::npos) {
p += 13;
p1 = htmlpage.find("</adr_country>");
if (p1 != string::npos)
lookup_notes.append(" ").append(htmlpage.substr(p, p1 - p));
}
// if ((p = htmlpage.find("<adr_country>")) != string::npos) {
// p += 13;
// p1 = htmlpage.find("</adr_country>");
// if (p1 != string::npos)
// lookup_notes.append(" ").append(htmlpage.substr(p, p1 - p));
// }
}
bool HAMQTHget(string& htmlpage)
@ -906,6 +909,15 @@ void HAMCALL_DETAILS_query()
cb_mnuVisitURL(0, (void*)hamcallurl.c_str());
}
void HAMQTH_DETAILS_query()
{
string hamqthurl = "http://www.hamQTH.com/";
hamqthurl.append(callsign);
cb_mnuVisitURL(0, (void*)hamqthurl.c_str());
}
// ----------------------------------------------------------------------------
static void *LOOKUP_loop(void *args)
@ -920,7 +932,7 @@ static void *LOOKUP_loop(void *args)
pthread_cond_wait(&qrz_cond, &qrz_mutex);
pthread_mutex_unlock(&qrz_mutex);
switch (DB_query) {
switch (DB_XML_query) {
case QRZCD :
QRZ_CD_query();
break;
@ -930,22 +942,31 @@ static void *LOOKUP_loop(void *args)
case HAMCALLNET :
HAMCALLquery();
break;
case QRZHTML :
QRZ_DETAILS_query();
break;
case HAMCALLHTML :
HAMCALL_DETAILS_query();
break;
case CALLOOK:
CALLOOKquery();
break;
case HAMQTH:
HAMQTHquery();
break;
case QRZ_EXIT:
case QRZXML_EXIT:
return NULL;
default:
break;
}
switch (DB_WEB_query) {
case QRZHTML :
QRZ_DETAILS_query();
break;
case HAMCALLHTML :
HAMCALL_DETAILS_query();
break;
case HAMQTHHTML :
HAMQTH_DETAILS_query();
break;
case QRZWEB_EXIT:
return NULL;
default:
LOG_ERROR("Bad query type %d", DB_query);
break;
}
}
@ -978,12 +999,10 @@ void CALLSIGNquery()
callsign.erase(slash);
}
switch (DB_query = static_cast<qrz_query_t>(progdefaults.QRZ)) {
switch (DB_XML_query = static_cast<qrz_xmlquery_t>(progdefaults.QRZXML)) {
case QRZNET:
inpNotes->value("Request sent to\nqrz.com...");
break;
case QRZHTML: case HAMCALLHTML:
break;
case HAMCALLNET:
inpNotes->value("Request sent to\nwww.hamcall.net...");
break;
@ -996,7 +1015,7 @@ void CALLSIGNquery()
}
if (!qCall->getQRZvalid()) {
inpNotes->value("QRZ DB error");
DB_query = QRZNONE;
DB_XML_query = QRZXMLNONE;
return;
}
break;
@ -1006,11 +1025,15 @@ void CALLSIGNquery()
case HAMQTH:
inpNotes->value("Request sent to \nhttp://hamqth.com...");
break;
case QRZXMLNONE:
break;
default:
LOG_ERROR("Bad query type %d", DB_query);
LOG_ERROR("Bad query type %d", DB_XML_query);
return;
}
DB_WEB_query = static_cast<qrz_webquery_t>(progdefaults.QRZWEB);
pthread_mutex_lock(&qrz_mutex);
pthread_cond_signal(&qrz_cond);
pthread_mutex_unlock(&qrz_mutex);

Wyświetl plik

@ -422,7 +422,8 @@ void FTextRX::handle_context_menu(void)
show_item(RX_MENU_SERIAL);
show_item(RX_MENU_XCHG);
}
else if (progdefaults.QRZ != QRZNONE) // "Look up call" shown only in non-contest mode
// "Look up call" shown only in non-contest mode
else if (progdefaults.QRZWEB != QRZWEBNONE || progdefaults.QRZXML != QRZXMLNONE)
show_item(RX_MENU_QRZ_THIS);
if (menu[RX_MENU_QUICK_ENTRY].value()) {