* restored LightButton UI for RsID button
    - separate selection indicator light was
      confusing to users!
pull/4/head
David Freese 2016-05-19 21:24:11 -05:00
rodzic 19e7bad771
commit 0a99bef130
2 zmienionych plików z 37 dodań i 22 usunięć

Wyświetl plik

@ -239,8 +239,7 @@ Fl_Menu_Bar *mnu;
Fl_Box *tx_timer = (Fl_Box *)0; Fl_Box *tx_timer = (Fl_Box *)0;
Fl_Light_Button *btnAutoSpot = (Fl_Light_Button *)0; Fl_Light_Button *btnAutoSpot = (Fl_Light_Button *)0;
Fl_Light_Button *btnTune = (Fl_Light_Button *)0; Fl_Light_Button *btnTune = (Fl_Light_Button *)0;
Fl_Box *rsid_status = (Fl_Box *)0; Fl_Light_Button *btnRSID = (Fl_Light_Button *)0;
Fl_Button *btnRSID = (Fl_Light_Button *)0;
Fl_Light_Button *btnTxRSID = (Fl_Light_Button *)0; Fl_Light_Button *btnTxRSID = (Fl_Light_Button *)0;
static Fl_Button *btnMacroTimer = (Fl_Button *)0; static Fl_Button *btnMacroTimer = (Fl_Button *)0;
@ -2616,17 +2615,27 @@ static Fl_Menu_Item quick_change_rsid[] = {
void cbRSID(Fl_Widget *w, void *) void cbRSID(Fl_Widget *w, void *)
{ {
if (Fl::focus() != btnRSID) {
progdefaults.rsid = btnRSID->value();
btnRSID->redraw();
return;
}
switch (Fl::event_button()) { switch (Fl::event_button()) {
case FL_LEFT_MOUSE: case FL_LEFT_MOUSE:
progdefaults.rsid = !progdefaults.rsid; progdefaults.rsid = btnRSID->value();
progdefaults.changed = true; progdefaults.changed = true;
break; break;
case FL_RIGHT_MOUSE: case FL_RIGHT_MOUSE:
{ {
Fl_Button *b = (Fl_Button *)w; btnRSID->value(progdefaults.rsid);
btnRSID->redraw();
if (progdefaults.rsidWideSearch) quick_change_rsid[0].set(); if (progdefaults.rsidWideSearch) quick_change_rsid[0].set();
else quick_change_rsid[0].clear(); else quick_change_rsid[0].clear();
const Fl_Menu_Item *m = quick_change_rsid->popup(b->x(), b->y() + b->h()); const Fl_Menu_Item *m =
quick_change_rsid->popup(
btnRSID->x(),
btnRSID->y() + btnRSID->h());
if (m && m->callback()) m->do_callback(0); if (m && m->callback()) m->do_callback(0);
break; break;
} }
@ -2635,14 +2644,18 @@ void cbRSID(Fl_Widget *w, void *)
} }
Fl_Color clr = progdefaults.rsidWideSearch ? progdefaults.RxIDwideColor : progdefaults.RxIDColor; Fl_Color clr = progdefaults.rsidWideSearch ? progdefaults.RxIDwideColor : progdefaults.RxIDColor;
rsid_status->color( progdefaults.rsid ? clr : FL_BACKGROUND_COLOR ); btnRSID->selection_color(clr);
rsid_status->redraw(); btnRSID->redraw();
restoreFocus(11); restoreFocus(11);
} }
void cbTxRSID(Fl_Widget *w, void*) void cbTxRSID(Fl_Widget *w, void*)
{ {
progdefaults.TransmitRSid = btnTxRSID->value(); progdefaults.TransmitRSid = btnTxRSID->value();
if (Fl::focus() != btnTxRSID) {
btnTxRSID->redraw();
return;
}
progdefaults.changed = true; progdefaults.changed = true;
restoreFocus(12); restoreFocus(12);
} }
@ -5721,15 +5734,16 @@ void create_fl_digi_main_primary() {
btnAutoSpot->callback(cbAutoSpot, 0); btnAutoSpot->callback(cbAutoSpot, 0);
btnAutoSpot->deactivate(); btnAutoSpot->deactivate();
Fl_Group *rs_grp = new Fl_Group(progStatus.mainW - 200, 0, 15, Hmenu, ""); // Fl_Group *rs_grp = new Fl_Group(progStatus.mainW - 200, 0, 15, Hmenu, "");
rs_grp->box(FL_UP_BOX); // rs_grp->box(FL_UP_BOX);
rsid_status = new Fl_Box(progStatus.mainW - 200 + 4, 6, 7, Hmenu-12); // rsid_status = new Fl_Box(progStatus.mainW - 200 + 4, 6, 7, Hmenu-12);
rsid_status->box(FL_THIN_DOWN_BOX); // rsid_status->box(FL_THIN_DOWN_BOX);
rsid_status->color(FL_BACKGROUND_COLOR); // rsid_status->color(FL_BACKGROUND_COLOR);
rs_grp->end(); // rs_grp->end();
btnRSID = new Fl_Button(progStatus.mainW - 185, 0, 35, Hmenu, "RxID"); btnRSID = new Fl_Light_Button(progStatus.mainW - 200, 0, 50, Hmenu, "RxID");
btnRSID->tooltip("Receive RSID"); btnRSID->tooltip("Receive RSID");
btnRSID->value(progdefaults.rsid);
btnRSID->callback(cbRSID, 0); btnRSID->callback(cbRSID, 0);
btnTxRSID = new Fl_Light_Button(progStatus.mainW - 150, 0, 50, Hmenu, "TxID"); btnTxRSID = new Fl_Light_Button(progStatus.mainW - 150, 0, 50, Hmenu, "TxID");
@ -7678,16 +7692,17 @@ void create_fl_digi_main_WF_only() {
btnAutoSpot->callback(cbAutoSpot, 0); btnAutoSpot->callback(cbAutoSpot, 0);
btnAutoSpot->deactivate(); btnAutoSpot->deactivate();
Fl_Group *rs_grp = new Fl_Group(progStatus.mainW - 150, 0, 15, Hmenu, ""); // Fl_Group *rs_grp = new Fl_Group(progStatus.mainW - 150, 0, 15, Hmenu, "");
rs_grp->box(FL_UP_BOX); // rs_grp->box(FL_UP_BOX);
rsid_status = new Fl_Box(progStatus.mainW - 150 + 4, 6, 7, Hmenu-12); // rsid_status = new Fl_Box(progStatus.mainW - 150 + 4, 6, 7, Hmenu-12);
rsid_status->box(FL_THIN_DOWN_BOX); // rsid_status->box(FL_THIN_DOWN_BOX);
rsid_status->color(FL_BACKGROUND_COLOR); // rsid_status->color(FL_BACKGROUND_COLOR);
rs_grp->end(); // rs_grp->end();
btnRSID = new Fl_Button(progStatus.mainW - 135 - pad, 0, 35, Hmenu, "RxID"); btnRSID = new Fl_Light_Button(progStatus.mainW - 150 - pad, 0, 50, Hmenu, "RxID");
btnRSID->tooltip("Receive RSID"); btnRSID->tooltip("Receive RSID");
btnRSID->value(progdefaults.rsid);
btnRSID->callback(cbRSID, 0); btnRSID->callback(cbRSID, 0);
btnTxRSID = new Fl_Light_Button(progStatus.mainW - 100 - pad, 0, 50, Hmenu, "TxID"); btnTxRSID = new Fl_Light_Button(progStatus.mainW - 100 - pad, 0, 50, Hmenu, "TxID");

Wyświetl plik

@ -273,7 +273,7 @@ extern Fl_Light_Button *btnAFC;
extern Fl_Light_Button *btnSQL; extern Fl_Light_Button *btnSQL;
extern Fl_Light_Button *btnPSQL; extern Fl_Light_Button *btnPSQL;
extern Fl_Box *rsid_status; extern Fl_Box *rsid_status;
extern Fl_Button *btnRSID; extern Fl_Light_Button *btnRSID;
extern Fl_Light_Button *btnTxRSID; extern Fl_Light_Button *btnTxRSID;
extern Fl_Light_Button *btnTune; extern Fl_Light_Button *btnTune;
extern Fl_Light_Button *btnAutoSpot; extern Fl_Light_Button *btnAutoSpot;