* 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
David Freese 2010-01-29 13:33:19 -06:00
rodzic b895c1a349
commit 33335854f3
7 zmienionych plików z 88 dodań i 17 usunięć

Wyświetl plik

@ -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();

Wyświetl plik

@ -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 {

Wyświetl plik

@ -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();

Wyświetl plik

@ -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;

Wyświetl plik

@ -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) \

Wyświetl plik

@ -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;

Wyświetl plik

@ -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)