Mailing address

* Allow user selection to populate logbook notes (comment)
    with mailing address found by database lookup.
pull/1/head
David Freese 2014-01-31 12:59:02 -06:00
rodzic a1d20d5515
commit 5754566f7a
5 zmienionych plików z 95 dodań i 64 usunięć

Wyświetl plik

@ -4759,6 +4759,13 @@ inpQRZuserpassword->redraw();
o->label((inpQRZuserpassword->type() & FL_SECRET_INPUT) ? "Show" : "Hide"); o->label((inpQRZuserpassword->type() & FL_SECRET_INPUT) ? "Show" : "Hide");
} }
Fl_Check_Button *btn_notes_address=(Fl_Check_Button *)0;
static void cb_btn_notes_address(Fl_Check_Button* o, void*) {
progdefaults.notes_address = o->value();
progdefaults.changed = true;
}
Fl_Input2 *inpEQSL_id=(Fl_Input2 *)0; Fl_Input2 *inpEQSL_id=(Fl_Input2 *)0;
static void cb_inpEQSL_id(Fl_Input2* o, void*) { static void cb_inpEQSL_id(Fl_Input2* o, void*) {
@ -9732,7 +9739,7 @@ and restarted if needed."));
{ Fl_Group* o = new Fl_Group(27, 176, 490, 190, _("Data base lookup")); { Fl_Group* o = new Fl_Group(27, 176, 490, 190, _("Data base lookup"));
o->box(FL_ENGRAVED_FRAME); o->box(FL_ENGRAVED_FRAME);
o->align(Fl_Align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE)); o->align(Fl_Align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE));
{ Fl_Round_Button* o = btnQRZXMLnotavailable = new Fl_Round_Button(49, 199, 337, 20, _("None")); { Fl_Round_Button* o = btnQRZXMLnotavailable = new Fl_Round_Button(49, 199, 64, 20, _("None"));
btnQRZXMLnotavailable->tooltip(_("Do not use callsign database")); btnQRZXMLnotavailable->tooltip(_("Do not use callsign database"));
btnQRZXMLnotavailable->down_box(FL_DOWN_BOX); btnQRZXMLnotavailable->down_box(FL_DOWN_BOX);
btnQRZXMLnotavailable->value(1); btnQRZXMLnotavailable->value(1);
@ -9819,6 +9826,11 @@ and restarted if needed."));
btnQRZpasswordShow->tooltip(_("Show password in plain text")); btnQRZpasswordShow->tooltip(_("Show password in plain text"));
btnQRZpasswordShow->callback((Fl_Callback*)cb_btnQRZpasswordShow); btnQRZpasswordShow->callback((Fl_Callback*)cb_btnQRZpasswordShow);
} // Fl_Button* btnQRZpasswordShow } // Fl_Button* btnQRZpasswordShow
{ Fl_Check_Button* o = btn_notes_address = new Fl_Check_Button(174, 201, 207, 15, _("Add address to notes field"));
btn_notes_address->down_box(FL_DOWN_BOX);
btn_notes_address->callback((Fl_Callback*)cb_btn_notes_address);
o->value(progdefaults.notes_address);
} // Fl_Check_Button* btn_notes_address
o->end(); o->end();
} // Fl_Group* o } // Fl_Group* o
o->end(); o->end();

Wyświetl plik

@ -291,7 +291,7 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
static const char szProsigns[] = "~|%|&|+|=|{|}|<|>|[|]| ";} {} static const char szProsigns[] = "~|%|&|+|=|{|}|<|>|[|]| ";} {}
Fl_Window {} { Fl_Window {} {
label {Fldigi configuration} open label {Fldigi configuration} open
xywh {593 32 540 400} type Double color 45 selection_color 51 labelsize 18 align 80 non_modal visible xywh {705 69 540 400} type Double color 45 selection_color 51 labelsize 18 align 80 non_modal visible
} { } {
Fl_Tabs tabsConfigure {open Fl_Tabs tabsConfigure {open
xywh {-2 0 597 374} color 50 selection_color 50 xywh {-2 0 597 374} color 50 selection_color 50
@ -835,7 +835,7 @@ progdefaults.changed = true;}
} }
} }
Fl_Group tabLogServer { Fl_Group tabLogServer {
label Logging open label Logging
xywh {0 50 540 320} hide xywh {0 50 540 320} hide
} { } {
Fl_Group {} { Fl_Group {} {
@ -5728,7 +5728,7 @@ progdefaults.changed = true;}
} }
} }
Fl_Group tabQRZ { Fl_Group tabQRZ {
label Web label Web open
tooltip {Callsign database} xywh {0 25 540 349} hide tooltip {Callsign database} xywh {0 25 540 349} hide
} { } {
Fl_Tabs tabsQRZ {open Fl_Tabs tabsQRZ {open
@ -5784,7 +5784,7 @@ progdefaults.changed = true;}
callback {set_qrzxml_buttons(o); callback {set_qrzxml_buttons(o);
progdefaults.QRZXML = QRZXMLNONE; progdefaults.QRZXML = QRZXMLNONE;
progdefaults.changed = true;} progdefaults.changed = true;}
tooltip {Do not use callsign database} xywh {49 199 337 20} down_box DOWN_BOX value 1 tooltip {Do not use callsign database} xywh {49 199 64 20} down_box DOWN_BOX value 1
code0 {o->value(progdefaults.QRZXML == QRZXMLNONE);} code0 {o->value(progdefaults.QRZXML == QRZXMLNONE);}
} }
Fl_Round_Button btnQRZcdrom { Fl_Round_Button btnQRZcdrom {
@ -5866,6 +5866,13 @@ inpQRZuserpassword->redraw();
o->label((inpQRZuserpassword->type() & FL_SECRET_INPUT) ? "Show" : "Hide");} o->label((inpQRZuserpassword->type() & FL_SECRET_INPUT) ? "Show" : "Hide");}
tooltip {Show password in plain text} xywh {417 281 70 20} tooltip {Show password in plain text} xywh {417 281 70 20}
} }
Fl_Check_Button btn_notes_address {
label {Add address to notes field}
callback {progdefaults.notes_address = o->value();
progdefaults.changed = true;}
xywh {174 201 207 15} down_box DOWN_BOX
code0 {o->value(progdefaults.notes_address);}
}
} }
} }
Fl_Group {} { Fl_Group {} {

Wyświetl plik

@ -597,6 +597,7 @@ extern Fl_Input2 *txtQRZpathname;
extern Fl_Input2 *inpQRZusername; extern Fl_Input2 *inpQRZusername;
extern Fl_Input2 *inpQRZuserpassword; extern Fl_Input2 *inpQRZuserpassword;
extern Fl_Button *btnQRZpasswordShow; extern Fl_Button *btnQRZpasswordShow;
extern Fl_Check_Button *btn_notes_address;
extern Fl_Input2 *inpEQSL_id; extern Fl_Input2 *inpEQSL_id;
extern Fl_Input2 *inpEQSL_pwd; extern Fl_Input2 *inpEQSL_pwd;
extern Fl_Button *btnEQSL_pwd_show; extern Fl_Button *btnEQSL_pwd_show;

Wyświetl plik

@ -810,6 +810,9 @@
ELEM_(std::string, QRZuserpassword, "QRZPASSWORD", \ ELEM_(std::string, QRZuserpassword, "QRZPASSWORD", \
"QRZ or HamCall subscriber password", \ "QRZ or HamCall subscriber password", \
"") \ "") \
ELEM_(bool, notes_address, "NOTES_ADDRESS", \
"Populate logbook notes (comment) field with mailing address", \
false) \
ELEM_(bool, QRZchanged, "", "", false) \ ELEM_(bool, QRZchanged, "", "", false) \
/* eQSL */ \ /* eQSL */ \
ELEM_(std::string, eqsl_id, "EQSL_ID", \ ELEM_(std::string, eqsl_id, "EQSL_ID", \

Wyświetl plik

@ -450,16 +450,18 @@ void QRZ_CD_query()
lookup_qth = qCall->GetCity(); lookup_qth = qCall->GetCity();
lookup_state = qCall->GetState(); lookup_state = qCall->GetState();
lookup_grid.clear(); lookup_grid.clear();
if (!notes.empty()) notes.append("\n"); if (progdefaults.notes_address) {
notes.append(lookup_fname).append(" ").append(lookup_name).append("\n"); if (!notes.empty()) notes.append("\n");
notes.append(lookup_addr1).append("\n"); notes.append(lookup_fname).append(" ").append(lookup_name).append("\n");
notes.append(lookup_addr2); notes.append(lookup_addr1).append("\n");
if (!lookup_state.empty()) notes.append(lookup_addr2);
notes.append(", ").append(lookup_state).append(" ").append(lookup_zip); if (!lookup_state.empty())
else if (!lookup_province.empty()) notes.append(", ").append(lookup_state).append(" ").append(lookup_zip);
notes.append(", ").append(lookup_province).append(" ").append(lookup_zip); else if (!lookup_province.empty())
else notes.append(", ").append(lookup_province).append(" ").append(lookup_zip);
notes.append(" ").append(lookup_country); else
notes.append(" ").append(lookup_country);
}
} else { } else {
lookup_fname.clear(); lookup_fname.clear();
lookup_qth.clear(); lookup_qth.clear();
@ -579,16 +581,18 @@ void QRZquery()
string notes; string notes;
notes.assign(inpNotes->value()); notes.assign(inpNotes->value());
if (!notes.empty()) notes.append("\n"); if (progdefaults.notes_address) {
notes.append(lookup_fname).append(" ").append(lookup_name).append("\n"); if (!notes.empty()) notes.append("\n");
notes.append(lookup_addr1).append("\n"); notes.append(lookup_fname).append(" ").append(lookup_name).append("\n");
notes.append(lookup_addr2); notes.append(lookup_addr1).append("\n");
if (!lookup_state.empty()) notes.append(lookup_addr2);
notes.append(", ").append(lookup_state).append(" ").append(lookup_zip); if (!lookup_state.empty())
else if (!lookup_province.empty()) notes.append(", ").append(lookup_state).append(" ").append(lookup_zip);
notes.append(", ").append(lookup_province).append(" ").append(lookup_zip); else if (!lookup_province.empty())
else notes.append(", ").append(lookup_province).append(" ").append(lookup_zip);
notes.append(" ").append(lookup_country); else
notes.append(" ").append(lookup_country);
}
lookup_notes = notes; lookup_notes = notes;
REQ(QRZ_disp_result); REQ(QRZ_disp_result);
} }
@ -650,10 +654,12 @@ void parse_callook(string& xmlpage)
string notes; string notes;
notes.assign(inpNotes->value()); notes.assign(inpNotes->value());
if (!notes.empty()) notes.append("\n"); if (progdefaults.notes_address) {
notes.append(lookup_name).append("\n"); if (!notes.empty()) notes.append("\n");
notes.append(lookup_addr1).append("\n"); notes.append(lookup_name).append("\n");
notes.append(lookup_addr2); notes.append(lookup_addr1).append("\n");
notes.append(lookup_addr2);
}
lookup_notes = notes; lookup_notes = notes;
size_t p = lookup_addr2.find(","); size_t p = lookup_addr2.find(",");
@ -890,44 +896,46 @@ void parse_HAMQTH_html(const string& htmlpage)
lookup_notes.append("QSL via: ").append(tempstr).append("\n"); lookup_notes.append("QSL via: ").append(tempstr).append("\n");
} }
} }
if ((p = htmlpage.find("<adr_name>")) != string::npos) { if (progdefaults.notes_address) {
p += 10; if ((p = htmlpage.find("<adr_name>")) != string::npos) {
p1 = htmlpage.find("</adr_name>", p); p += 10;
if (p1 != string::npos) { p1 = htmlpage.find("</adr_name>", p);
tempstr.assign(htmlpage.substr(p, p1 - p)); if (p1 != string::npos) {
if (!tempstr.empty()) tempstr.assign(htmlpage.substr(p, p1 - p));
lookup_notes.append(tempstr).append("\n"); if (!tempstr.empty())
lookup_notes.append(tempstr).append("\n");
}
} }
} if ((p = htmlpage.find("<adr_street1>")) != string::npos) {
if ((p = htmlpage.find("<adr_street1>")) != string::npos) { p += 13;
p += 13; p1 = htmlpage.find("</adr_street1>", p);
p1 = htmlpage.find("</adr_street1>", p); if (p1 != string::npos) {
if (p1 != string::npos) { tempstr.assign(htmlpage.substr(p, p1 - p));
tempstr.assign(htmlpage.substr(p, p1 - p)); if (!tempstr.empty())
if (!tempstr.empty()) lookup_notes.append(tempstr).append("\n");
lookup_notes.append(tempstr).append("\n"); }
} }
} if ((p = htmlpage.find("<adr_city>")) != string::npos) {
if ((p = htmlpage.find("<adr_city>")) != string::npos) { p += 10;
p += 10; p1 = htmlpage.find("</adr_city>", p);
p1 = htmlpage.find("</adr_city>", p); if (p1 != string::npos) {
if (p1 != string::npos) { tempstr.assign(htmlpage.substr(p, p1 - p));
tempstr.assign(htmlpage.substr(p, p1 - p)); if (!tempstr.empty())
if (!tempstr.empty()) lookup_notes.append(tempstr);
lookup_notes.append(tempstr); if (!lookup_state.empty())
if (!lookup_state.empty()) lookup_notes.append(", ").append(lookup_state);
lookup_notes.append(", ").append(lookup_state); else if (!lookup_province.empty())
else if (!lookup_province.empty()) lookup_notes.append(", ").append(lookup_province);
lookup_notes.append(", ").append(lookup_province); }
} }
} if ((p = htmlpage.find("<adr_zip>")) != string::npos) {
if ((p = htmlpage.find("<adr_zip>")) != string::npos) { p += 9;
p += 9; p1 = htmlpage.find("</adr_zip>", p);
p1 = htmlpage.find("</adr_zip>", p); if (p1 != string::npos) {
if (p1 != string::npos) { tempstr.assign(htmlpage.substr(p, p1 - p));
tempstr.assign(htmlpage.substr(p, p1 - p)); if (!tempstr.empty())
if (!tempstr.empty()) lookup_notes.append(" ").append(tempstr);
lookup_notes.append(" ").append(tempstr); }
} }
} }
} }