From 88e0ad0c23b2801dd641b68f5a8c647b138bf650 Mon Sep 17 00:00:00 2001 From: David Freese Date: Sat, 6 Dec 2008 17:34:48 -0600 Subject: [PATCH] Split state/county into state country fields --- src/dialogs/fl_digi.cxx | 73 +++++++++++++++++++++++++------------- src/include/FTextView.h | 2 +- src/include/fl_digi.h | 3 +- src/include/lgbook.h | 5 +-- src/logbook/lgbook.cxx | 73 ++++++++++++++++++++++---------------- src/logbook/lgbook.fl | 33 +++++++++-------- src/logbook/logsupport.cxx | 42 +++++++++++----------- src/logger/logger.cxx | 7 ++-- src/misc/lookupcall.cxx | 9 ++--- src/misc/xmlrpc.cxx | 25 ++++++++++--- src/olivia/olivia.cxx | 2 +- src/widgets/FTextView.cxx | 6 +++- 12 files changed, 170 insertions(+), 110 deletions(-) diff --git a/src/dialogs/fl_digi.cxx b/src/dialogs/fl_digi.cxx index 074fd2c1..723a708c 100644 --- a/src/dialogs/fl_digi.cxx +++ b/src/dialogs/fl_digi.cxx @@ -156,7 +156,8 @@ Fl_Input2 *inpRstIn; Fl_Input2 *inpRstOut; Fl_Input2 *inpQth; Fl_Input2 *inpLoc; -Fl_Input2 *inpCnty; +Fl_Input2 *inpState; +Fl_Input2 *inpCountry; Fl_Input2 *inpSerNo; Fl_Output *outSerNo; Fl_Input2 *inpXchg1; @@ -217,18 +218,19 @@ int wf1 = pad + w_inpFreq + pad + w_inpTime + pad + w_inpCall + pad + w_inpName + pad + w_inpRstIn + pad + w_inpRstOut; int w_fm1 = 25; -int w_fm2 = 20; -int w_fm3 = 20; +int w_fm2 = 15; +int w_fm3 = 15; int w_fm4 = 25; int w_fm5 = 20; -int w_inpCnty = 90; -int w_inpProv = 30; -int w_inpLOC = 65; -int w_inpAZ = 30; -int w_inpQth = wf1 - w_fm1 - w_fm2 - w_fm3 - w_fm4 - w_fm5 - - w_inpCnty - w_inpProv - w_inpLOC - w_inpAZ; int w_fm6 = 30; -int w_Xchg = (wf1 - 5*w_fm6 - 4*pad - 2 * w_SerNo) / 3; +int w_inpState = 25; +int w_inpProv = 25; +int w_inpCountry = 60; +int w_inpLOC = 55; +int w_inpAZ = 30; +int w_inpQth = wf1 - w_fm1 - w_fm2 - w_fm3 - w_fm4 - w_fm5 - w_fm6 - + w_inpState - w_inpProv - w_inpLOC - w_inpAZ - w_inpCountry; +int w_Xchg = (wf1 - w_fm6 - 4*w_fm5 - 4*pad - 2 * w_SerNo) / 3; int qh = Hqsoframe / 2; int rig_control_width = FREQWIDTH + 4; @@ -1249,7 +1251,7 @@ void clearQSO() { Fl_Input* in[] = { inpCall, inpName, inpRstIn, inpRstOut, - inpQth, inpLoc, inpAZ, inpCnty, inpVEprov, + inpQth, inpLoc, inpAZ, inpState, inpVEprov, inpCountry, inpSerNo, outSerNo, inpXchg1, inpXchg2, inpXchg3, inpNotes }; for (size_t i = 0; i < sizeof(in)/sizeof(*in); i++) in[i]->value(""); @@ -1270,8 +1272,14 @@ void cb_ResetSerNbr() void cb_log(Fl_Widget* w, void*) { oktoclear = false; - if (w == inpCall) - SearchLastQSO(inpCall->value()); + if (w == inpCall) { + string temp = inpCall->value(); + for (size_t i = 0; i < temp.length(); i++) + temp[i] = toupper(temp[i]); + inpCall->value(temp.c_str()); + SearchLastQSO(temp.c_str()); + restoreFocus(); + } } void qsoClear_cb(Fl_Widget *b, void *) @@ -2188,21 +2196,27 @@ void create_fl_digi_main() { inpFreq = new Fl_Input2(x_qsoframe + pad, y2, w_inpFreq, qh - pad, _("QSO Freq")); inpFreq->type(FL_NORMAL_OUTPUT); + inpFreq->tooltip(_("")); inpFreq->align(FL_ALIGN_TOP | FL_ALIGN_LEFT); inpTime = new Fl_Output(rightof(inpFreq) + pad, y2, w_inpTime, qh - pad, _("Time")); + inpTime->tooltip(_("")); inpTime->align(FL_ALIGN_TOP | FL_ALIGN_LEFT); inpCall = new Fl_Input2(rightof(inpTime) + pad, y2, w_inpCall, qh - pad, _("Call")); + inpCall->tooltip(_("")); inpCall->align(FL_ALIGN_TOP | FL_ALIGN_LEFT); inpName = new Fl_Input2(rightof(inpCall) + pad, y2, w_inpName, qh - pad, _("Name")); + inpName->tooltip(_("")); inpName->align(FL_ALIGN_TOP | FL_ALIGN_LEFT); inpRstIn = new Fl_Input2(rightof(inpName) + pad, y2, w_inpRstIn, qh - pad, _("In")); + inpRstIn->tooltip(_("")); inpRstIn->align(FL_ALIGN_TOP | FL_ALIGN_LEFT); inpRstOut = new Fl_Input2(rightof(inpRstIn) + pad, y2, w_inpRstOut, qh - pad, _("Out")); + inpRstOut->tooltip(_("")); inpRstOut->align(FL_ALIGN_TOP | FL_ALIGN_LEFT); lblDup = new Fl_Box(rightof(inpCall) - w_inpCall/2 - 40, Hmenu + 1, 80, qh - pad, _("*** DUP ***")); @@ -2213,33 +2227,43 @@ void create_fl_digi_main() { Fl_Box *fm1box = new Fl_Box(x_qsoframe, y3, w_fm1, qh - pad, _("QTH")); fm1box->align(FL_ALIGN_INSIDE); inpQth = new Fl_Input2( rightof(fm1box), y3, w_inpQth, qh - pad, ""); + inpQth->tooltip(_("City")); inpQth->align(FL_ALIGN_INSIDE); Fl_Box *fm2box = new Fl_Box(rightof(inpQth), y3, w_fm2, qh - pad, _("St")); fm2box->align(FL_ALIGN_INSIDE); - inpCnty = new Fl_Input2(rightof(fm2box), y3, w_inpCnty, qh - pad, ""); - inpCnty->tooltip(_("US State or Country")); - inpCnty->align(FL_ALIGN_INSIDE); + inpState = new Fl_Input2(rightof(fm2box), y3, w_inpState, qh - pad, ""); + inpState->tooltip(_("US State")); + inpState->align(FL_ALIGN_INSIDE); - Fl_Box *fm3box = new Fl_Box(rightof(inpCnty), y3, w_fm3, qh - pad, _("Pr")); + Fl_Box *fm3box = new Fl_Box(rightof(inpState), y3, w_fm3, qh - pad, _("Pr")); fm3box->align(FL_ALIGN_INSIDE); inpVEprov = new Fl_Input2(rightof(fm3box), y3, w_inpProv, qh - pad, ""); inpVEprov->tooltip(_("Can. Province")); inpVEprov->align(FL_ALIGN_INSIDE); - Fl_Box *fm4box = new Fl_Box(rightof(inpVEprov), y3, w_fm4, qh - pad, _("Loc")); + Fl_Box *fm11box = new Fl_Box(rightof(inpVEprov), y3, w_fm6, qh - pad, _("Ctny")); + fm11box->align(FL_ALIGN_INSIDE); + inpCountry = new Fl_Input2(rightof(fm11box), y3, w_inpCountry, qh - pad, ""); + inpCountry->tooltip(_("Country")); + inpCountry->align(FL_ALIGN_INSIDE); + + Fl_Box *fm4box = new Fl_Box(rightof(inpCountry), y3, w_fm4, qh - pad, _("Loc")); fm4box->align(FL_ALIGN_INSIDE); inpLoc = new Fl_Input2(rightof(fm4box), y3, w_inpLOC, qh - pad, ""); + inpLoc->tooltip(_("")); inpLoc->align(FL_ALIGN_INSIDE); Fl_Box *fm5box = new Fl_Box(rightof(inpLoc), y3, w_fm5, qh - pad, _("Az")); fm5box->align(FL_ALIGN_INSIDE); inpAZ = new Fl_Input2(rightof(fm5box), y3, w_inpAZ, qh - pad, ""); + inpAZ->tooltip(_("")); inpAZ->align(FL_ALIGN_INSIDE); + QsoInfoFrame1A->end(); QsoInfoFrame1B = new Fl_Group (x_qsoframe, y3 - 1, wf1, Hnotes); - Fl_Box *fm6box = new Fl_Box(x_qsoframe, y3, w_fm6, qh - pad, _("#In")); + Fl_Box *fm6box = new Fl_Box(x_qsoframe, y3, w_fm5, qh - pad, _("#In")); fm6box->align(FL_ALIGN_INSIDE); inpSerNo = new Fl_Input2(rightof(fm6box), y3, w_SerNo, qh - pad, ""); inpSerNo->align(FL_ALIGN_TOP | FL_ALIGN_LEFT); @@ -2251,19 +2275,19 @@ void create_fl_digi_main() { outSerNo->align(FL_ALIGN_TOP | FL_ALIGN_LEFT); outSerNo->tooltip(_("Sent serial number (read only)")); - Fl_Box *fm8box = new Fl_Box(rightof(outSerNo) + pad, y3, w_fm6, qh - pad, _("X_1")); + Fl_Box *fm8box = new Fl_Box(rightof(outSerNo) + pad, y3, w_fm5, qh - pad, _("X1")); fm7box->align(FL_ALIGN_INSIDE); inpXchg1 = new Fl_Input2(rightof(fm8box), y3, w_Xchg, qh - pad, ""); inpXchg1->align(FL_ALIGN_TOP | FL_ALIGN_LEFT); inpXchg1->tooltip(_("Contest exchange #1")); - Fl_Box *fm9box = new Fl_Box(rightof(inpXchg1) + pad, y3, w_fm6, qh - pad, _("X_2")); + Fl_Box *fm9box = new Fl_Box(rightof(inpXchg1) + pad, y3, w_fm5, qh - pad, _("X2")); fm9box->align(FL_ALIGN_INSIDE); inpXchg2 = new Fl_Input2(rightof(fm9box), y3, w_Xchg, qh - pad, ""); inpXchg2->align(FL_ALIGN_TOP | FL_ALIGN_LEFT); inpXchg2->tooltip(_("Contest exchange #2")); - Fl_Box *fm10box = new Fl_Box(rightof(inpXchg2) + pad, y3, w_fm6, qh - pad, _("X_3")); + Fl_Box *fm10box = new Fl_Box(rightof(inpXchg2) + pad, y3, w_fm5, qh - pad, _("X3")); fm10box->align(FL_ALIGN_INSIDE); inpXchg3 = new Fl_Input2(rightof(fm10box), y3, w_Xchg, qh - pad, ""); inpXchg3->align(FL_ALIGN_TOP | FL_ALIGN_LEFT); @@ -2295,8 +2319,9 @@ void create_fl_digi_main() { Y = Hmenu + Hqsoframe + Hnotes + pad; - Fl_Widget* logfields[] = { inpCall, inpName, inpRstIn, - inpRstOut, inpQth, inpAZ, inpLoc, inpNotes }; + Fl_Widget* logfields[] = { inpCall, inpName, inpRstIn, inpRstOut, + inpQth, inpVEprov, inpCountry, inpAZ, inpLoc, inpNotes, + inpSerNo, inpXchg1, inpXchg1, inpXchg1 }; for (size_t i = 0; i < sizeof(logfields)/sizeof(*logfields); i++) logfields[i]->callback(cb_log); diff --git a/src/include/FTextView.h b/src/include/FTextView.h index a22552c3..8d1175b5 100644 --- a/src/include/FTextView.h +++ b/src/include/FTextView.h @@ -116,7 +116,7 @@ public: protected: enum { RX_MENU_QRZ_THIS, RX_MENU_CALL, RX_MENU_NAME, RX_MENU_QTH, RX_MENU_STATE, RX_MENU_PROVINCE, - RX_MENU_LOC, RX_MENU_RST_IN, + RX_MENU_COUNTRY, RX_MENU_LOC, RX_MENU_RST_IN, RX_MENU_SERIAL, RX_MENU_X1, RX_MENU_X2, RX_MENU_X3, RX_MENU_DIV, RX_MENU_COPY, RX_MENU_CLEAR, RX_MENU_SELECT_ALL, diff --git a/src/include/fl_digi.h b/src/include/fl_digi.h index 40d295b1..a73a30f6 100644 --- a/src/include/fl_digi.h +++ b/src/include/fl_digi.h @@ -76,7 +76,8 @@ extern Fl_Input2 *inpName; extern Fl_Input2 *inpRstIn; extern Fl_Input2 *inpRstOut; extern Fl_Input2 *inpQth; -extern Fl_Input2 *inpCnty; +extern Fl_Input2 *inpState; +extern Fl_Input2 *inpCountry; extern Fl_Input2 *inpSerNo; extern Fl_Output *outSerNo; extern Fl_Input2 *inpXchg1; diff --git a/src/include/lgbook.h b/src/include/lgbook.h index 41535849..e9d23a5f 100644 --- a/src/include/lgbook.h +++ b/src/include/lgbook.h @@ -27,6 +27,9 @@ extern Fl_Input2 *inpMode_log; extern Fl_Input2 *inpRstR_log; extern Fl_Input2 *inpRstS_log; extern Fl_Input2 *inpQth_log; +extern Fl_Input2 *inpState_log; +extern Fl_Input2 *inpVE_Prov_log; +extern Fl_Input2 *inpCountry_log; extern Fl_Input2 *inpLoc_log; extern Fl_Input2 *inpComment_log; extern Fl_DateInput *inpQSLrcvddate_log; @@ -38,8 +41,6 @@ extern Fl_Button *bUpdateCancel; extern void cb_btnDelete(Fl_Button*, void*); extern Fl_Button *bDelete; extern Fl_Input2 *txtNbrRecs_log; -extern Fl_Input2 *inpCnty_log; -extern Fl_Input2 *inpVE_Prov_log; extern Fl_Input2 *inpSerNoOut_log; extern Fl_Input2 *inpSerNoIn_log; extern Fl_Input2 *inpXchg1_log; diff --git a/src/logbook/lgbook.cxx b/src/logbook/lgbook.cxx index f196ad91..ed7fc3d1 100644 --- a/src/logbook/lgbook.cxx +++ b/src/logbook/lgbook.cxx @@ -57,6 +57,12 @@ Fl_Input2 *inpRstS_log=(Fl_Input2 *)0; Fl_Input2 *inpQth_log=(Fl_Input2 *)0; +Fl_Input2 *inpState_log=(Fl_Input2 *)0; + +Fl_Input2 *inpVE_Prov_log=(Fl_Input2 *)0; + +Fl_Input2 *inpCountry_log=(Fl_Input2 *)0; + Fl_Input2 *inpLoc_log=(Fl_Input2 *)0; Fl_Input2 *inpComment_log=(Fl_Input2 *)0; @@ -73,10 +79,6 @@ Fl_Button *bDelete=(Fl_Button *)0; Fl_Input2 *txtNbrRecs_log=(Fl_Input2 *)0; -Fl_Input2 *inpCnty_log=(Fl_Input2 *)0; - -Fl_Input2 *inpVE_Prov_log=(Fl_Input2 *)0; - Fl_Input2 *inpSerNoOut_log=(Fl_Input2 *)0; Fl_Input2 *inpSerNoIn_log=(Fl_Input2 *)0; @@ -217,7 +219,7 @@ void create_logbook_dialogs() { inpRstS_log->align(FL_ALIGN_TOP_LEFT); inpRstS_log->when(FL_WHEN_RELEASE); } // Fl_Input2* inpRstS_log - { inpQth_log = new Fl_Input2(5, 56, 135, 22, _("Qth")); + { inpQth_log = new Fl_Input2(5, 56, 115, 22, _("Qth")); inpQth_log->box(FL_DOWN_BOX); inpQth_log->color(FL_BACKGROUND2_COLOR); inpQth_log->selection_color(FL_SELECTION_COLOR); @@ -229,6 +231,42 @@ void create_logbook_dialogs() { inpQth_log->align(FL_ALIGN_TOP_LEFT); inpQth_log->when(FL_WHEN_RELEASE); } // Fl_Input2* inpQth_log + { inpState_log = new Fl_Input2(123, 56, 30, 22, _("St")); + inpState_log->box(FL_DOWN_BOX); + inpState_log->color(FL_BACKGROUND2_COLOR); + inpState_log->selection_color(FL_SELECTION_COLOR); + inpState_log->labeltype(FL_NORMAL_LABEL); + inpState_log->labelfont(0); + inpState_log->labelsize(12); + inpState_log->labelcolor(FL_FOREGROUND_COLOR); + inpState_log->textsize(12); + inpState_log->align(FL_ALIGN_TOP_LEFT); + inpState_log->when(FL_WHEN_RELEASE); + } // Fl_Input2* inpState_log + { inpVE_Prov_log = new Fl_Input2(156, 56, 30, 22, _("Pr")); + inpVE_Prov_log->box(FL_DOWN_BOX); + inpVE_Prov_log->color(FL_BACKGROUND2_COLOR); + inpVE_Prov_log->selection_color(FL_SELECTION_COLOR); + inpVE_Prov_log->labeltype(FL_NORMAL_LABEL); + inpVE_Prov_log->labelfont(0); + inpVE_Prov_log->labelsize(12); + inpVE_Prov_log->labelcolor(FL_FOREGROUND_COLOR); + inpVE_Prov_log->textsize(12); + inpVE_Prov_log->align(FL_ALIGN_TOP_LEFT); + inpVE_Prov_log->when(FL_WHEN_RELEASE); + } // Fl_Input2* inpVE_Prov_log + { inpCountry_log = new Fl_Input2(190, 56, 90, 22, _("Country")); + inpCountry_log->box(FL_DOWN_BOX); + inpCountry_log->color(FL_BACKGROUND2_COLOR); + inpCountry_log->selection_color(FL_SELECTION_COLOR); + inpCountry_log->labeltype(FL_NORMAL_LABEL); + inpCountry_log->labelfont(0); + inpCountry_log->labelsize(12); + inpCountry_log->labelcolor(FL_FOREGROUND_COLOR); + inpCountry_log->textsize(12); + inpCountry_log->align(FL_ALIGN_TOP_LEFT); + inpCountry_log->when(FL_WHEN_RELEASE); + } // Fl_Input2* inpCountry_log { inpLoc_log = new Fl_Input2(283, 56, 75, 22, _("Loc")); inpLoc_log->tooltip(_("Stations grid square")); inpLoc_log->box(FL_DOWN_BOX); @@ -251,7 +289,6 @@ void create_logbook_dialogs() { inpComment_log->labelfont(0); inpComment_log->labelsize(12); inpComment_log->labelcolor(FL_FOREGROUND_COLOR); - inpComment_log->textfont(13); inpComment_log->textsize(12); inpComment_log->align(FL_ALIGN_TOP_LEFT); inpComment_log->when(FL_WHEN_RELEASE); @@ -315,30 +352,6 @@ void create_logbook_dialogs() { txtNbrRecs_log->align(FL_ALIGN_LEFT); txtNbrRecs_log->when(FL_WHEN_RELEASE); } // Fl_Input2* txtNbrRecs_log - { inpCnty_log = new Fl_Input2(142, 56, 110, 22, _("St. / Ctry.")); - inpCnty_log->box(FL_DOWN_BOX); - inpCnty_log->color(FL_BACKGROUND2_COLOR); - inpCnty_log->selection_color(FL_SELECTION_COLOR); - inpCnty_log->labeltype(FL_NORMAL_LABEL); - inpCnty_log->labelfont(0); - inpCnty_log->labelsize(12); - inpCnty_log->labelcolor(FL_FOREGROUND_COLOR); - inpCnty_log->textsize(12); - inpCnty_log->align(FL_ALIGN_TOP_LEFT); - inpCnty_log->when(FL_WHEN_RELEASE); - } // Fl_Input2* inpCnty_log - { inpVE_Prov_log = new Fl_Input2(253, 56, 30, 22, _("Pr..")); - inpVE_Prov_log->box(FL_DOWN_BOX); - inpVE_Prov_log->color(FL_BACKGROUND2_COLOR); - inpVE_Prov_log->selection_color(FL_SELECTION_COLOR); - inpVE_Prov_log->labeltype(FL_NORMAL_LABEL); - inpVE_Prov_log->labelfont(0); - inpVE_Prov_log->labelsize(12); - inpVE_Prov_log->labelcolor(FL_FOREGROUND_COLOR); - inpVE_Prov_log->textsize(12); - inpVE_Prov_log->align(FL_ALIGN_TOP_LEFT); - inpVE_Prov_log->when(FL_WHEN_RELEASE); - } // Fl_Input2* inpVE_Prov_log { Fl_Group* o = new Fl_Group(5, 128, 440, 44); o->box(FL_ENGRAVED_FRAME); { inpSerNoOut_log = new Fl_Input2(8, 145, 60, 22, _("Ser# out")); diff --git a/src/logbook/lgbook.fl b/src/logbook/lgbook.fl index b5b8308e..c3c85808 100644 --- a/src/logbook/lgbook.fl +++ b/src/logbook/lgbook.fl @@ -47,7 +47,7 @@ Export_log();} } Fl_Window dlgLogbook { label Logbook open - xywh {541 111 570 320} type Double color 47 resizable visible + xywh {562 71 570 320} type Double color 47 resizable visible } { Fl_Group editGroup {open xywh {2 2 565 200} box ENGRAVED_FRAME color 52 labelsize 12 @@ -96,7 +96,22 @@ Export_log();} } Fl_Input inpQth_log { label Qth - xywh {5 56 135 22} labelsize 12 align 5 textsize 12 + xywh {5 56 115 22} labelsize 12 align 5 textsize 12 + class Fl_Input2 + } + Fl_Input inpState_log { + label St selected + xywh {123 56 30 22} labelsize 12 align 5 textsize 12 + class Fl_Input2 + } + Fl_Input inpVE_Prov_log { + label Pr + xywh {156 56 30 22} labelsize 12 align 5 textsize 12 + class Fl_Input2 + } + Fl_Input inpCountry_log { + label Country + xywh {190 56 90 22} labelsize 12 align 5 textsize 12 class Fl_Input2 } Fl_Input inpLoc_log { @@ -106,7 +121,7 @@ Export_log();} } Fl_Input inpComment_log { label Comment - xywh {5 94 438 30} type Multiline labelsize 12 align 5 textfont 13 textsize 12 + xywh {5 94 438 30} type Multiline labelsize 12 align 5 textsize 12 class Fl_Input2 } Fl_Input inpQSLrcvddate_log { @@ -141,16 +156,6 @@ Export_log();} xywh {38 175 65 22} labelsize 12 textsize 12 class Fl_Input2 } - Fl_Input inpCnty_log { - label {St. / Ctry.} - xywh {142 56 110 22} labelsize 12 align 5 textsize 12 - class Fl_Input2 - } - Fl_Input inpVE_Prov_log { - label {Pr..} - xywh {253 56 30 22} labelsize 12 align 5 textsize 12 - class Fl_Input2 - } Fl_Group {} {open xywh {5 128 440 44} box ENGRAVED_FRAME } { @@ -175,7 +180,7 @@ Export_log();} class Fl_Input2 } Fl_Input inpXchg3_log { - label {Xchg \#3} selected + label {Xchg \#3} tooltip {Exchange \#3} xywh {343 145 100 22} labelsize 12 align 5 textsize 12 class Fl_Input2 } diff --git a/src/logbook/logsupport.cxx b/src/logbook/logsupport.cxx index 75753857..4f6cc849 100644 --- a/src/logbook/logsupport.cxx +++ b/src/logbook/logsupport.cxx @@ -257,7 +257,7 @@ void DupCheck(const char *callsign) callsign, zuluLogDate, zuluLogTime, progdefaults.timespan, progdefaults.duptimespan, inpFreq->value(), progdefaults.dupband, - inpCnty->value(), progdefaults.dupstate, + inpState->value(), progdefaults.dupstate, mode_info[active_modem->get_mode()].adif_name, progdefaults.dupmode, inpXchg1->value(), progdefaults.dupxchg1, inpXchg2->value(), progdefaults.dupxchg2, @@ -271,25 +271,18 @@ void SearchLastQSO(const char *callsign) size_t len = strlen(callsign); char* re = new char[len + 3]; snprintf(re, len + 3, "^%s$", callsign); - bool call_found = false; int row = 0, col = 2; - if (cQsoDb::reverse) { - if (wBrowser->search(row, col, false, re)) { - wBrowser->GotoRow(row); - inpName->value(inpName_log->value()); - call_found = true; - } - } else { - if (wBrowser->search(row, col, true, re)) { - wBrowser->GotoRow(row); - inpName->value(inpName_log->value()); - call_found = true; - } - } + if (wBrowser->search(row, col, !cQsoDb::reverse, re)) { + wBrowser->GotoRow(row); + inpName->value(inpName_log->value()); + inpSearchString->value(callsign); + if (EnableDupCheck) + DupCheck(callsign); + } else + inpSearchString->value(""); + delete [] re; - - if (EnableDupCheck && call_found) DupCheck(callsign); } void cb_search(Fl_Widget* w, void*) @@ -339,8 +332,9 @@ void clearRecord() { inpFreq_log->value (""); inpMode_log->value (""); inpQth_log->value (""); - inpCnty_log->value (""); + inpState_log->value (""); inpVE_Prov_log->value (""); + inpCountry_log->value (""); inpLoc_log->value (""); inpQSLrcvddate_log->value (""); inpQSLsentdate_log->value (""); @@ -362,8 +356,9 @@ cQsoRec rec; rec.putField(FREQ, inpFreq_log->value()); rec.putField(MODE, inpMode_log->value()); rec.putField(QTH, inpQth_log->value()); - rec.putField(CNTY, inpCnty_log->value()); + rec.putField(STATE, inpState_log->value()); rec.putField(VE_PROV, inpVE_Prov_log->value()); + rec.putField(COUNTRY, inpCountry_log->value()); rec.putField(GRIDSQUARE, inpLoc_log->value()); rec.putField(COMMENT, inpComment_log->value()); rec.putField(QSLRDATE, inpQSLrcvddate_log->value()); @@ -389,8 +384,9 @@ cQsoRec rec; rec.putField(FREQ, inpFreq_log->value()); rec.putField(MODE, inpMode_log->value()); rec.putField(QTH, inpQth_log->value()); - rec.putField(CNTY, inpCnty_log->value()); + rec.putField(STATE, inpState_log->value()); rec.putField(VE_PROV, inpVE_Prov_log->value()); + rec.putField(COUNTRY, inpCountry_log->value()); rec.putField(GRIDSQUARE, inpLoc_log->value()); rec.putField(COMMENT, inpComment_log->value()); rec.putField(QSLRDATE, inpQSLrcvddate_log->value()); @@ -430,8 +426,9 @@ void EditRecord( int i ) inpRstS_log->value (editQSO->getField(RST_SENT)); inpFreq_log->value (editQSO->getField(FREQ)); inpMode_log->value (editQSO->getField(MODE)); - inpCnty_log->value (editQSO->getField(CNTY)); + inpState_log->value (editQSO->getField(STATE)); inpVE_Prov_log->value (editQSO->getField(VE_PROV)); + inpCountry_log->value (editQSO->getField(COUNTRY)); inpQth_log->value (editQSO->getField(QTH)); inpLoc_log->value (editQSO->getField(GRIDSQUARE)); inpQSLrcvddate_log->value (editQSO->getField(QSLRDATE)); @@ -456,8 +453,9 @@ void AddRecord () inpRstS_log->value (inpRstOut->value()); inpFreq_log->value (inpFreq->value()); inpMode_log->value (logmode); - inpCnty_log->value (inpCnty->value()); + inpState_log->value (inpState->value()); inpVE_Prov_log->value (inpVEprov->value()); + inpCountry_log->value (inpCountry->value()); inpSerNoIn_log->value(inpSerNo->value()); inpSerNoOut_log->value(outSerNo->value()); diff --git a/src/logger/logger.cxx b/src/logger/logger.cxx index 25b64a90..0acb934f 100644 --- a/src/logger/logger.cxx +++ b/src/logger/logger.cxx @@ -153,10 +153,13 @@ int submit_log(void) putadif(NAME, inpName->value()); log_msg = log_msg + "qth:" + inpQth->value() + LOG_MSEPARATOR; putadif(QTH, inpQth->value()); - log_msg = log_msg + "cnty:" + inpCnty->value() + LOG_MSEPARATOR; - putadif(CNTY, inpCnty->value()); + log_msg = log_msg + "state:" + inpState->value() + LOG_MSEPARATOR; + putadif(STATE, inpState->value()); log_msg = log_msg + "province:" + inpVEprov->value() + LOG_MSEPARATOR; putadif(VE_PROV, inpVEprov->value()); + log_msg = log_msg + "country:" + inpCountry->value() + LOG_MSEPARATOR; + putadif(COUNTRY, inpCountry->value()); + log_msg = log_msg + "locator:" + inpLoc->value() + LOG_MSEPARATOR; putadif(GRIDSQUARE, inpLoc->value()); diff --git a/src/misc/lookupcall.cxx b/src/misc/lookupcall.cxx index ffbb139e..3257008a 100644 --- a/src/misc/lookupcall.cxx +++ b/src/misc/lookupcall.cxx @@ -423,8 +423,7 @@ void QRZ_disp_result() inpQth->value(lookup_qth.c_str()); - inpCnty->value(lookup_state.c_str()); - inpCnty->position(0); + inpState->value(lookup_state.c_str()); inpVEprov->value(lookup_province.c_str()); @@ -563,10 +562,8 @@ void QRZquery() REQ(QRZAlert); else { lookup_qth = lookup_addr2; - string isUS = "aAkKnNwW"; string isCAN = "vV"; - if (isUS.find(callsign[0]) != string::npos) ; - else if (isCAN.find(callsign[0]) != string::npos) { // Can callsign + if (isCAN.find(callsign[0]) != string::npos) { // Can callsign size_t pos = lookup_qth.find(','); if (pos != string::npos) { lookup_province = lookup_qth.substr(pos); @@ -578,8 +575,6 @@ void QRZquery() if (pos != string::npos) lookup_province = lookup_province.substr(0,pos); } - } else { - lookup_state = lookup_country; } REQ(QRZ_disp_result); } diff --git a/src/misc/xmlrpc.cxx b/src/misc/xmlrpc.cxx index 6a95e61b..eb53fb9b 100644 --- a/src/misc/xmlrpc.cxx +++ b/src/misc/xmlrpc.cxx @@ -1273,17 +1273,17 @@ public: } }; -class Log_get_country : public xmlrpc_c::method +class Log_get_state : public xmlrpc_c::method { public: - Log_get_country() + Log_get_state() { _signature = "s:n"; - _help = "Returns the Country/State field contents."; + _help = "Returns the State field contents."; } void execute(const xmlrpc_c::paramList& params, xmlrpc_c::value* retval) { - *retval = xmlrpc_c::value_string(inpCnty->value()); + *retval = xmlrpc_c::value_string(inpState->value()); } }; @@ -1301,6 +1301,20 @@ public: } }; +class Log_get_country : public xmlrpc_c::method +{ +public: + Log_get_country() + { + _signature = "s:n"; + _help = "Returns the Country field contents."; + } + void execute(const xmlrpc_c::paramList& params, xmlrpc_c::value* retval) + { + *retval = xmlrpc_c::value_string(inpCountry->value()); + } +}; + class Log_get_qth : public xmlrpc_c::method { public: @@ -1653,8 +1667,9 @@ public: ELEM_(Log_get_rst_in, "log.get_rst_in") \ ELEM_(Log_get_rst_out, "log.get_rst_out") \ ELEM_(Log_get_serial_number, "log.get_serial_number") \ - ELEM_(Log_get_country, "log.get_country") \ + ELEM_(Log_get_state, "log.get_state") \ ELEM_(Log_get_province, "log.get_province") \ + ELEM_(Log_get_country, "log.get_country") \ ELEM_(Log_get_qth, "log.get_qth") \ ELEM_(Log_get_band, "log.get_band") \ ELEM_(Log_get_sb, "log.get_sideband") \ diff --git a/src/olivia/olivia.cxx b/src/olivia/olivia.cxx index 18a435a3..13a1cd1a 100644 --- a/src/olivia/olivia.cxx +++ b/src/olivia/olivia.cxx @@ -226,7 +226,7 @@ int olivia::rx_process(const double *buf, int len) unsigned char ch = 0; double snr; static char msg1[20]; - static char msg2[20]; +// static char msg2[20]; // static char msg3[60]; if (tones != progdefaults.oliviatones || diff --git a/src/widgets/FTextView.cxx b/src/widgets/FTextView.cxx index ab689405..07fdfe62 100644 --- a/src/widgets/FTextView.cxx +++ b/src/widgets/FTextView.cxx @@ -388,6 +388,7 @@ Fl_Menu_Item FTextView::view_menu[] = { { make_icon_label(ENTER_SYMBOL "QT&H", enter_key_icon), 0, 0, 0, 0, _FL_MULTI_LABEL }, { make_icon_label(ENTER_SYMBOL "&State", enter_key_icon), 0, 0, 0, 0, _FL_MULTI_LABEL }, { make_icon_label(ENTER_SYMBOL "&Province", enter_key_icon), 0, 0, 0, 0, _FL_MULTI_LABEL }, + { make_icon_label(ENTER_SYMBOL "Countr&y", enter_key_icon), 0, 0, 0, 0, _FL_MULTI_LABEL }, { make_icon_label(ENTER_SYMBOL "&Locator", enter_key_icon), 0, 0, 0, 0, _FL_MULTI_LABEL }, { make_icon_label(ENTER_SYMBOL "&RST(r)", enter_key_icon), 0, 0, 0, FL_MENU_DIVIDER, _FL_MULTI_LABEL }, { make_icon_label(ENTER_SYMBOL "Serial Nr", enter_key_icon), 0, 0, 0, 0, _FL_MULTI_LABEL }, @@ -693,7 +694,7 @@ void FTextView::menu_cb(int val) input = inpQth; break; case RX_MENU_STATE: - input = inpCnty; + input = inpState; break; case RX_MENU_PROVINCE: input = inpVEprov; @@ -704,6 +705,9 @@ void FTextView::menu_cb(int val) case RX_MENU_LOC: input = inpLoc; break; + case RX_MENU_COUNTRY: + input = inpCountry; + break; case RX_MENU_RST_IN: input = inpRstIn;