kopia lustrzana https://github.com/jamescoxon/dl-fldigi
DUP indicator
* Removed label "*** Dup ***"
* Added foreground colorization to all Call input fields when
duplicate detected.
* Added Dup Color selector to Contest configuration panel.
pull/2/head
rodzic
b895c1a349
commit
33335854f3
|
|
@ -291,6 +291,22 @@ static void cb_nbrTimeSpan(Fl_Value_Input* o, void*) {
|
|||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Button *btnDupColor=(Fl_Button *)0;
|
||||
|
||||
static void cb_btnDupColor(Fl_Button* o, void*) {
|
||||
fl_color_chooser("Dup Check",
|
||||
progdefaults.dup_color.R,
|
||||
progdefaults.dup_color.G,
|
||||
progdefaults.dup_color.B);
|
||||
o->color(
|
||||
fl_rgb_color(
|
||||
progdefaults.dup_color.R,
|
||||
progdefaults.dup_color.G,
|
||||
progdefaults.dup_color.B));
|
||||
o->redraw();
|
||||
progdefaults.changed = true;
|
||||
}
|
||||
|
||||
Fl_Group *tabWF_UI=(Fl_Group *)0;
|
||||
|
||||
Fl_Check_Button *btnWF_UIrev=(Fl_Check_Button *)0;
|
||||
|
|
@ -2725,6 +2741,15 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
|
|||
nbrTimeSpan->align(FL_ALIGN_RIGHT);
|
||||
o->value(progdefaults.timespan);
|
||||
} // Fl_Value_Input* nbrTimeSpan
|
||||
{ Fl_Button* o = btnDupColor = new Fl_Button(15, 282, 90, 22, _("Dup Color"));
|
||||
btnDupColor->tooltip(_("Left click to select dup color"));
|
||||
btnDupColor->box(FL_DOWN_BOX);
|
||||
btnDupColor->down_box(FL_DOWN_BOX);
|
||||
btnDupColor->color((Fl_Color)FL_BACKGROUND2_COLOR);
|
||||
btnDupColor->selection_color((Fl_Color)FL_BACKGROUND2_COLOR);
|
||||
btnDupColor->callback((Fl_Callback*)cb_btnDupColor);
|
||||
o->color(fl_rgb_color(progdefaults.dup_color.R, progdefaults.dup_color.G, progdefaults.dup_color.B));
|
||||
} // Fl_Button* btnDupColor
|
||||
o->end();
|
||||
} // Fl_Group* o
|
||||
tabContest->end();
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
|
|||
} {
|
||||
Fl_Group tabOperator {
|
||||
label Operator
|
||||
callback {progdefaults.changed = true;} open
|
||||
callback {progdefaults.changed = true;} open selected
|
||||
tooltip {Operator information} xywh {0 25 500 345} when 1
|
||||
} {
|
||||
Fl_Group {} {
|
||||
|
|
@ -156,7 +156,7 @@ progdefaults.changed = true;}
|
|||
class Fl_Input2
|
||||
}
|
||||
Fl_Group grpNoise {
|
||||
label {Test Signal - Do NOT use with transmitter} open selected
|
||||
label {Test Signal - Do NOT use with transmitter} open
|
||||
xywh {5 203 490 165} box ENGRAVED_FRAME align 21 hide
|
||||
} {
|
||||
Fl_Check_Button btnNoiseOn {
|
||||
|
|
@ -399,6 +399,23 @@ progdefaults.changed = true;}
|
|||
tooltip {Enter time span in minutes} xywh {285 313 53 20} align 8 maximum 1440 step 1 value 120
|
||||
code0 {o->value(progdefaults.timespan);}
|
||||
}
|
||||
Fl_Button btnDupColor {
|
||||
label {Dup Color}
|
||||
callback {fl_color_chooser("Dup Check",
|
||||
progdefaults.dup_color.R,
|
||||
progdefaults.dup_color.G,
|
||||
progdefaults.dup_color.B);
|
||||
o->color(
|
||||
fl_rgb_color(
|
||||
progdefaults.dup_color.R,
|
||||
progdefaults.dup_color.G,
|
||||
progdefaults.dup_color.B));
|
||||
o->redraw();
|
||||
progdefaults.changed = true;}
|
||||
tooltip {Left click to select dup color} xywh {15 282 90 22} box DOWN_BOX down_box DOWN_BOX color 7 selection_color 7
|
||||
code0 {o->color(fl_rgb_color(progdefaults.dup_color.R, progdefaults.dup_color.G, progdefaults.dup_color.B));}
|
||||
code1 {\#include <FL/Fl_Color_Chooser.H>}
|
||||
}
|
||||
}
|
||||
}
|
||||
Fl_Group tabWF_UI {
|
||||
|
|
|
|||
|
|
@ -175,7 +175,6 @@ Fl_Input2 *inpCountry;
|
|||
Fl_Input2 *inpSerNo;
|
||||
Fl_Input2 *outSerNo;
|
||||
Fl_Input2 *inpXchgIn;
|
||||
Fl_Box *lblDup;
|
||||
Fl_Input2 *inpVEprov;
|
||||
Fl_Input2 *inpNotes;
|
||||
Fl_Input2 *inpAZ; // WA5ZNU
|
||||
|
|
@ -1552,9 +1551,16 @@ if (bWF_only) return;
|
|||
inpRstIn1->value("599"); inpRstIn2->value("599");
|
||||
inpRstOut1->value("599"); inpRstOut2->value("599");
|
||||
}
|
||||
inpCall1->color(FL_BACKGROUND2_COLOR);
|
||||
inpCall2->color(FL_BACKGROUND2_COLOR);
|
||||
inpCall3->color(FL_BACKGROUND2_COLOR);
|
||||
inpCall4->color(FL_BACKGROUND2_COLOR);
|
||||
inpCall1->redraw();
|
||||
inpCall2->redraw();
|
||||
inpCall3->redraw();
|
||||
inpCall4->redraw();
|
||||
updateOutSerNo();
|
||||
inpSearchString->value ("");
|
||||
lblDup->hide();
|
||||
old_call.clear();
|
||||
new_call.clear();
|
||||
oktoclear = true;
|
||||
|
|
@ -1601,6 +1607,7 @@ if (bWF_only) return;
|
|||
inpCall->position(pos);
|
||||
delete [] uc;
|
||||
}
|
||||
|
||||
new_call = inpCall->value();
|
||||
|
||||
if (inpCall == inpCall1) {
|
||||
|
|
@ -1620,6 +1627,16 @@ if (bWF_only) return;
|
|||
inpCall2->value(new_call.c_str());
|
||||
inpCall3->value(new_call.c_str());
|
||||
}
|
||||
if (inpCall->value()[0] == 0) {
|
||||
inpCall1->color(FL_BACKGROUND2_COLOR);
|
||||
inpCall2->color(FL_BACKGROUND2_COLOR);
|
||||
inpCall3->color(FL_BACKGROUND2_COLOR);
|
||||
inpCall4->color(FL_BACKGROUND2_COLOR);
|
||||
inpCall1->redraw();
|
||||
inpCall2->redraw();
|
||||
inpCall3->redraw();
|
||||
inpCall4->redraw();
|
||||
}
|
||||
|
||||
if (progStatus.timer && (Fl::event() != FL_HIDE))
|
||||
stopMacroTimer();
|
||||
|
|
@ -1636,11 +1653,9 @@ if (bWF_only) return;
|
|||
else inpTimeOn1->value(inpTimeOn->value());
|
||||
|
||||
sDate_on = zdate();
|
||||
lblDup->hide();
|
||||
|
||||
if (progdefaults.EnableDupCheck) {
|
||||
if (!lblDup->visible())
|
||||
DupCheck();
|
||||
DupCheck();
|
||||
return restoreFocus(w);
|
||||
}
|
||||
|
||||
|
|
@ -1704,7 +1719,6 @@ void cb_log(Fl_Widget* w, void*)
|
|||
if (inp->value()[0])
|
||||
oktoclear = false;
|
||||
if (progdefaults.EnableDupCheck) {
|
||||
lblDup->hide();
|
||||
DupCheck();
|
||||
}
|
||||
restoreFocus(w);
|
||||
|
|
@ -3031,10 +3045,6 @@ void create_fl_digi_main_primary() {
|
|||
inpRstOut1->tooltip("");
|
||||
inpRstOut1->align(FL_ALIGN_TOP | FL_ALIGN_LEFT);
|
||||
|
||||
lblDup = new Fl_Box(rightof(inpCall1) - w_inpCall/2 - 40, Hmenu + 1, 80, Hentry, _("*** DUP ***"));
|
||||
lblDup->labelcolor(FL_RED);
|
||||
lblDup->hide();
|
||||
|
||||
QsoInfoFrame1A = new Fl_Group (x_qsoframe, y3, wf1, Hentry + pad);
|
||||
Fl_Box *fm1box = new Fl_Box(x_qsoframe, y3, w_fm1, Hentry, _("QTH"));
|
||||
fm1box->align(FL_ALIGN_INSIDE);
|
||||
|
|
@ -3839,7 +3849,6 @@ void noop_controls() // create and then hide all controls not being used
|
|||
inpSerNo = new Fl_Input2(defwidget); inpSerNo->hide();
|
||||
outSerNo = new Fl_Input2(defwidget); outSerNo->hide();
|
||||
inpXchgIn = new Fl_Input2(defwidget); inpXchgIn->hide();
|
||||
lblDup = new Fl_Box(defwidget); lblDup->hide();
|
||||
inpVEprov = new Fl_Input2(defwidget); inpVEprov->hide();
|
||||
inpNotes = new Fl_Input2(defwidget); inpNotes->hide();
|
||||
inpAZ = new Fl_Input2(defwidget); inpAZ->hide();
|
||||
|
|
|
|||
|
|
@ -62,6 +62,8 @@ extern Fl_Check_Button *btnDupState;
|
|||
extern Fl_Check_Button *btnDupXchg1;
|
||||
extern Fl_Check_Button *btnDupTimeSpan;
|
||||
extern Fl_Value_Input *nbrTimeSpan;
|
||||
#include <FL/Fl_Color_Chooser.H>
|
||||
extern Fl_Button *btnDupColor;
|
||||
extern Fl_Group *tabWF_UI;
|
||||
extern Fl_Check_Button *btnWF_UIrev;
|
||||
extern Fl_Check_Button *btnWF_UIx1;
|
||||
|
|
@ -86,7 +88,6 @@ extern Fl_Button *btnColor[9];
|
|||
extern Fl_Button *btnLoadPalette;
|
||||
extern Fl_Button *btnSavePalette;
|
||||
extern Fl_Check_Button *btnUseCursorLines;
|
||||
#include <FL/Fl_Color_Chooser.H>
|
||||
extern Fl_Button *btnCursorBWcolor;
|
||||
extern Fl_Check_Button *btnUseCursorCenterLine;
|
||||
extern Fl_Button *btnCursorCenterLineColor;
|
||||
|
|
|
|||
|
|
@ -771,6 +771,9 @@
|
|||
ELEM_(bool, cutnbrs, "CUTNBRS", \
|
||||
"Send CW cut numbers", \
|
||||
false) \
|
||||
ELEM_(RGB, dup_color, "dupcolor", \
|
||||
"Callsign background color when duplicate detected", \
|
||||
{255, 110, 180}) \
|
||||
ELEM_(bool, EnableDupCheck, "ENABLEDUPCHECK", \
|
||||
"Check for duplicates (contest)", \
|
||||
false) \
|
||||
|
|
|
|||
|
|
@ -72,7 +72,6 @@ extern Fl_Input2 *inpCountry;
|
|||
extern Fl_Input2 *inpSerNo;
|
||||
extern Fl_Input2 *outSerNo;
|
||||
extern Fl_Input2 *inpXchgIn;
|
||||
extern Fl_Box *lblDup;
|
||||
extern Fl_Input2 *inpVEprov;
|
||||
extern Fl_Input2 *inpLoc;
|
||||
extern Fl_Input2 *inpNotes;
|
||||
|
|
@ -88,13 +87,17 @@ extern Fl_Input2 *inpFreq2;
|
|||
extern Fl_Input2 *inpTimeOff2;
|
||||
extern Fl_Input2 *inpTimeOn2;
|
||||
extern Fl_Button *btnTimeOn2;
|
||||
extern Fl_Input2 *inpCall2;
|
||||
extern Fl_Input2 *inpName2;
|
||||
extern Fl_Input2 *inpRstIn2;
|
||||
extern Fl_Input2 *inpRstOut2;
|
||||
extern Fl_Button *qsoClear2;
|
||||
extern Fl_Button *qsoSave2;
|
||||
|
||||
extern Fl_Input2 *inpCall1;
|
||||
extern Fl_Input2 *inpCall2;
|
||||
extern Fl_Input2 *inpCall3;
|
||||
extern Fl_Input2 *inpCall4;
|
||||
|
||||
extern Fl_Group *qsoFrameView;
|
||||
extern Fl_Group *QsoButtonFrame;
|
||||
extern Fl_Group *QsoInfoFrame;
|
||||
|
|
|
|||
|
|
@ -328,6 +328,7 @@ void cb_SortByFreq (void) {
|
|||
|
||||
void DupCheck()
|
||||
{
|
||||
Fl_Color call_clr = FL_BACKGROUND2_COLOR;
|
||||
if (qsodb.duplicate(
|
||||
inpCall->value(),
|
||||
zdate(), ztime(), progdefaults.timespan, progdefaults.duptimespan,
|
||||
|
|
@ -335,8 +336,20 @@ void DupCheck()
|
|||
inpState->value(), progdefaults.dupstate,
|
||||
mode_info[active_modem->get_mode()].adif_name, progdefaults.dupmode,
|
||||
inpXchgIn->value(), progdefaults.dupxchg1 ) ) {
|
||||
lblDup->show();
|
||||
call_clr = fl_rgb_color(
|
||||
progdefaults.dup_color.R,
|
||||
progdefaults.dup_color.G,
|
||||
progdefaults.dup_color.B);
|
||||
}
|
||||
|
||||
inpCall1->color(call_clr);
|
||||
inpCall2->color(call_clr);
|
||||
inpCall3->color(call_clr);
|
||||
inpCall4->color(call_clr);
|
||||
inpCall1->redraw();
|
||||
inpCall2->redraw();
|
||||
inpCall3->redraw();
|
||||
inpCall4->redraw();
|
||||
}
|
||||
|
||||
cQsoRec* SearchLog(const char *callsign)
|
||||
|
|
|
|||
Ładowanie…
Reference in New Issue