* Moved URL strings for various web call sign queries to progdefaults
    configuration.
    - updated hamqth to https address for browser lookup
pull/4/head
David Freese 2016-01-10 19:22:11 -06:00
rodzic 8af53b665d
commit 42809036b0
5 zmienionych plików z 137 dodań i 32 usunięć

Wyświetl plik

@ -5113,6 +5113,27 @@ progdefaults.QRZWEB = HAMQTHHTML;
progdefaults.changed = true;
}
Fl_Input2 *inp_qrzurl=(Fl_Input2 *)0;
static void cb_inp_qrzurl(Fl_Input2* o, void*) {
progdefaults.qrzurl = o->value();
progdefaults.changed=true;
}
Fl_Input2 *inp_hamcallurl=(Fl_Input2 *)0;
static void cb_inp_hamcallurl(Fl_Input2* o, void*) {
progdefaults.hamcallurl = o->value();
progdefaults.changed = true;
}
Fl_Input2 *inp_hamqthurl=(Fl_Input2 *)0;
static void cb_inp_hamqthurl(Fl_Input2* o, void*) {
progdefaults.hamqthurl = o->value();
progdefaults.changed = true;
}
Fl_Round_Button *btnQRZXMLnotavailable=(Fl_Round_Button *)0;
static void cb_btnQRZXMLnotavailable(Fl_Round_Button* o, void*) {
@ -11113,31 +11134,70 @@ and restarted if needed."));
{ Fl_Group* o = new Fl_Group(34, 56, 538, 122, _("Web Browser lookup"));
o->box(FL_ENGRAVED_FRAME);
o->align(Fl_Align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE));
{ Fl_Round_Button* o = btnQRZWEBnotavailable = new Fl_Round_Button(77, 82, 337, 20, _("None"));
{ Fl_Round_Button* o = btnQRZWEBnotavailable = new Fl_Round_Button(77, 79, 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(77, 106, 337, 20, _("QRZ online via default Internet Browser"));
{ Fl_Round_Button* o = btnQRZonline = new Fl_Round_Button(77, 103, 337, 20, _("QRZ.............."));
btnQRZonline->tooltip(_("Visit QRZ web site"));
btnQRZonline->down_box(FL_DOWN_BOX);
btnQRZonline->callback((Fl_Callback*)cb_btnQRZonline);
o->value(progdefaults.QRZWEB == QRZHTML);
} // Fl_Round_Button* btnQRZonline
{ Fl_Round_Button* o = btnHAMCALLonline = new Fl_Round_Button(77, 130, 337, 20, _("HamCall online via default Internet Browser"));
{ Fl_Round_Button* o = btnHAMCALLonline = new Fl_Round_Button(77, 127, 337, 20, _("HamCall......"));
btnHAMCALLonline->tooltip(_("Visit Hamcall web site"));
btnHAMCALLonline->down_box(FL_DOWN_BOX);
btnHAMCALLonline->callback((Fl_Callback*)cb_btnHAMCALLonline);
o->value(progdefaults.QRZWEB == HAMCALLHTML);
} // Fl_Round_Button* btnHAMCALLonline
{ Fl_Round_Button* o = btnHamQTHonline = new Fl_Round_Button(77, 154, 337, 20, _("HamQTH via default Internet Browser"));
{ Fl_Round_Button* o = btnHamQTHonline = new Fl_Round_Button(77, 151, 337, 20, _("HamQTH....."));
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
{ Fl_Input2* o = inp_qrzurl = new Fl_Input2(185, 102, 369, 22);
inp_qrzurl->box(FL_DOWN_BOX);
inp_qrzurl->color(FL_BACKGROUND2_COLOR);
inp_qrzurl->selection_color(FL_SELECTION_COLOR);
inp_qrzurl->labeltype(FL_NORMAL_LABEL);
inp_qrzurl->labelfont(0);
inp_qrzurl->labelsize(14);
inp_qrzurl->labelcolor(FL_FOREGROUND_COLOR);
inp_qrzurl->callback((Fl_Callback*)cb_inp_qrzurl);
inp_qrzurl->align(Fl_Align(FL_ALIGN_LEFT));
inp_qrzurl->when(FL_WHEN_RELEASE);
o->value(progdefaults.qrzurl.c_str());
} // Fl_Input2* inp_qrzurl
{ Fl_Input2* o = inp_hamcallurl = new Fl_Input2(185, 126, 369, 22);
inp_hamcallurl->box(FL_DOWN_BOX);
inp_hamcallurl->color(FL_BACKGROUND2_COLOR);
inp_hamcallurl->selection_color(FL_SELECTION_COLOR);
inp_hamcallurl->labeltype(FL_NORMAL_LABEL);
inp_hamcallurl->labelfont(0);
inp_hamcallurl->labelsize(14);
inp_hamcallurl->labelcolor(FL_FOREGROUND_COLOR);
inp_hamcallurl->callback((Fl_Callback*)cb_inp_hamcallurl);
inp_hamcallurl->align(Fl_Align(FL_ALIGN_LEFT));
inp_hamcallurl->when(FL_WHEN_RELEASE);
o->value(progdefaults.hamcallurl.c_str());
} // Fl_Input2* inp_hamcallurl
{ Fl_Input2* o = inp_hamqthurl = new Fl_Input2(185, 150, 369, 22);
inp_hamqthurl->box(FL_DOWN_BOX);
inp_hamqthurl->color(FL_BACKGROUND2_COLOR);
inp_hamqthurl->selection_color(FL_SELECTION_COLOR);
inp_hamqthurl->labeltype(FL_NORMAL_LABEL);
inp_hamqthurl->labelfont(0);
inp_hamqthurl->labelsize(14);
inp_hamqthurl->labelcolor(FL_FOREGROUND_COLOR);
inp_hamqthurl->callback((Fl_Callback*)cb_inp_hamqthurl);
inp_hamqthurl->align(Fl_Align(FL_ALIGN_LEFT));
inp_hamqthurl->when(FL_WHEN_RELEASE);
o->value(progdefaults.hamqthurl.c_str());
} // Fl_Input2* inp_hamqthurl
o->end();
} // Fl_Group* o
{ Fl_Group* o = new Fl_Group(34, 180, 538, 195, _("Data base lookup"));

Wyświetl plik

@ -359,7 +359,7 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
static const char szProsigns[] = "~|%|&|+|=|{|}|<|>|[|]| ";} {}
Fl_Window {} {
label {Fldigi configuration} open
xywh {611 168 600 415} type Double color 45 selection_color 51 labelsize 18 align 80 non_modal visible
xywh {958 64 600 415} type Double color 45 selection_color 51 labelsize 18 align 80 non_modal visible
} {
Fl_Tabs tabsConfigure {open
xywh {0 0 600 380} color 50 selection_color 50
@ -6361,33 +6361,54 @@ if (progdefaults.kml_enabled) {
callback {set_qrzweb_buttons(o);
progdefaults.QRZWEB = QRZWEBNONE;
progdefaults.changed = true;}
tooltip {Do not use callsign lookup via web browser} xywh {77 82 337 20} down_box DOWN_BOX value 1
tooltip {Do not use callsign lookup via web browser} xywh {77 79 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}
label {QRZ..............}
callback {set_qrzweb_buttons(o);
progdefaults.QRZWEB = QRZHTML;
progdefaults.changed = true;}
tooltip {Visit QRZ web site} xywh {77 106 337 20} down_box DOWN_BOX
tooltip {Visit QRZ web site} xywh {77 103 337 20} down_box DOWN_BOX
code0 {o->value(progdefaults.QRZWEB == QRZHTML);}
}
Fl_Round_Button btnHAMCALLonline {
label {HamCall online via default Internet Browser}
label {HamCall......}
callback {set_qrzweb_buttons(o);
progdefaults.QRZWEB = HAMCALLHTML;
progdefaults.changed = true;}
tooltip {Visit Hamcall web site} xywh {77 130 337 20} down_box DOWN_BOX
tooltip {Visit Hamcall web site} xywh {77 127 337 20} down_box DOWN_BOX
code0 {o->value(progdefaults.QRZWEB == HAMCALLHTML);}
}
Fl_Round_Button btnHamQTHonline {
label {HamQTH via default Internet Browser}
label {HamQTH.....}
callback {set_qrzweb_buttons(o);
progdefaults.QRZWEB = HAMQTHHTML;
progdefaults.changed = true;}
tooltip {Visit hamQTH web site} xywh {77 154 337 20} down_box DOWN_BOX
tooltip {Visit hamQTH web site} xywh {77 151 337 20} down_box DOWN_BOX
code0 {o->value(progdefaults.QRZWEB == HAMQTHHTML);}
}
Fl_Input inp_qrzurl {
callback {progdefaults.qrzurl = o->value();
progdefaults.changed=true;}
xywh {185 102 369 22}
code0 {o->value(progdefaults.qrzurl.c_str());}
class Fl_Input2
}
Fl_Input inp_hamcallurl {
callback {progdefaults.hamcallurl = o->value();
progdefaults.changed = true;}
xywh {185 126 369 22}
code0 {o->value(progdefaults.hamcallurl.c_str());}
class Fl_Input2
}
Fl_Input inp_hamqthurl {
callback {progdefaults.hamqthurl = o->value();
progdefaults.changed = true;}
xywh {185 150 369 22}
code0 {o->value(progdefaults.hamqthurl.c_str());}
class Fl_Input2
}
}
Fl_Group {} {
label {Data base lookup} open

Wyświetl plik

@ -629,6 +629,9 @@ extern Fl_Round_Button *btnQRZWEBnotavailable;
extern Fl_Round_Button *btnQRZonline;
extern Fl_Round_Button *btnHAMCALLonline;
extern Fl_Round_Button *btnHamQTHonline;
extern Fl_Input2 *inp_qrzurl;
extern Fl_Input2 *inp_hamcallurl;
extern Fl_Input2 *inp_hamqthurl;
extern Fl_Round_Button *btnQRZXMLnotavailable;
extern Fl_Round_Button *btnQRZcdrom;
extern Fl_Round_Button *btnQRZsub;

Wyświetl plik

@ -897,6 +897,18 @@
" 4: callook free US calls xml service; 5: hamQTH free xml service.\n" \
" The default is none.", \
QRZXMLNONE) \
ELEM_(std::string, hamcallurl, "HAMCALLURL", \
"web address of hamcall", \
"http://www.hamcall.net/") \
ELEM_(std::string, hamqthurl, "HAMQTHURL", \
"web address of hamqth", \
"https://www.hamqth.com/") \
ELEM_(std::string, qrzurl, "QRZURL", \
"web address of QRZ.com", \
"http://www.qrz.com/") \
ELEM_(std::string, callookurl, "CALLOOKURL", \
"web address of callook", \
"http://callook.info/") \
ELEM_(int, QRZWEB, "QRZWEBTYPE", \
"Callsign browser query type. Values are as follows:\n" \
" 0: none; 1: QRZ web browser; 2: HamCall web browser\n" \

Wyświetl plik

@ -683,7 +683,8 @@ void parse_callook(string& xmlpage)
bool CALLOOKGetXML(string& xmlpage)
{
string url = string("http://callook.info/").append(callsign).append("/xml");
string url = progdefaults.callookurl;
url.append(callsign).append("/xml");
bool res = fetch_http(url, xmlpage, 5.0);
LOG_VERBOSE("result = %d", res);
return res;
@ -769,7 +770,14 @@ bool HAMCALLget(string& htmlpage)
print_query("hamcall", url_detail);
return request_reply("www.hamcall.net", "http", url_detail, htmlpage, 5.0);
string url = progdefaults.hamcallurl;
size_t p = url.find("//");
string service = url.substr(0, p);
url.erase(0, p+2);
size_t len = url.length();
if (url[len-1]=='/') url.erase(len-1, 1);
return request_reply(url, service, url_detail, htmlpage, 5.0);
// return request_reply("www.hamcall.net", "http", url_detail, htmlpage, 5.0);
}
void HAMCALLquery()
@ -797,18 +805,21 @@ static string HAMQTH_reply = "";
bool HAMQTH_get_session_id()
{
string url = "";
string url = progdefaults.hamqthurl;
string retstr = "";
size_t p1 = string::npos;
size_t p2 = string::npos;
url.append("http://www.hamqth.com/xml.php?u=").append(progdefaults.QRZusername);
if (url.find("https") == 0) url.erase(4,1); // change to http
url.append("xml.php?u=").append(progdefaults.QRZusername);
url.append("&p=").append(progdefaults.QRZuserpassword);
HAMQTH_session_id.clear();
if (!fetch_http(url, retstr, 5.0)) {
printf("fetch_http( %s, retstr, 5.0) failed\n", url.c_str());
return false;
}
printf("%s\n", retstr.c_str());
p1 = retstr.find("<error>");
if (p1 != string::npos) {
p2 = retstr.find("</error>");
@ -950,7 +961,7 @@ void parse_HAMQTH_html(const string& htmlpage)
bool HAMQTHget(string& htmlpage)
{
string url = "";
string url = progdefaults.hamqthurl;
bool ret;
if (HAMQTH_session_id.empty()) {
if (!HAMQTH_get_session_id()) {
@ -959,7 +970,8 @@ bool HAMQTHget(string& htmlpage)
return false;
}
}
url.append("http://www.hamqth.com/xml.php?id=").append(HAMQTH_session_id);
if (url.find("https") == 0) url.erase(4,1); // change to http
url.append("xml.php?id=").append(HAMQTH_session_id);
url.append("&callsign=").append(callsign);
url.append("&prg=FLDIGI");
@ -1017,26 +1029,23 @@ void HAMQTHquery()
void QRZ_DETAILS_query()
{
string qrzurl = "http://www.qrz.com/db/";
qrzurl.append(callsign);
cb_mnuVisitURL(0, (void*)qrzurl.c_str());
string qrz = progdefaults.qrzurl;
qrz.append("db/").append(callsign);
cb_mnuVisitURL(0, (void*)qrz.c_str());
}
void HAMCALL_DETAILS_query()
{
string hamcallurl = "http://www.hamcall.net/call?callsign=";
hamcallurl.append(callsign);
cb_mnuVisitURL(0, (void*)hamcallurl.c_str());
string hamcall = progdefaults.hamcallurl;
hamcall.append("call?callsign=").append(callsign);
cb_mnuVisitURL(0, (void*)hamcall.c_str());
}
void HAMQTH_DETAILS_query()
{
string hamqthurl = "http://www.hamQTH.com/";
hamqthurl.append(callsign);
cb_mnuVisitURL(0, (void*)hamqthurl.c_str());
string hamqth = progdefaults.hamqthurl;
hamqth.append(callsign);
cb_mnuVisitURL(0, (void*)hamqth.c_str());
}
@ -1142,10 +1151,10 @@ void CALLSIGNquery()
}
break;
case CALLOOK:
LOG_INFO("%s","Request sent to\nhttp://callook.info...");
LOG_INFO("Request sent to %s", progdefaults.hamcallurl.c_str());
break;
case HAMQTH:
LOG_INFO("%s","Request sent to \nhttp://hamqth.com...");
LOG_INFO("Request sent to %s", progdefaults.hamqthurl.c_str());
break;
case QRZXMLNONE:
break;