colors and scheme

* allow user to select default background and foreground
    colors
    . supplements command line usage
This commit is contained in:
dave-w1hkj 2024-05-28 00:33:23 -05:00
parent f2eb13145c
commit 28a229b713
7 changed files with 367 additions and 101 deletions

View file

@ -752,6 +752,112 @@ font_browser->callback(cbMenuFontBrowser);
font_browser->show();
}
Fl_ListBox *listboxScheme=(Fl_ListBox *)0;
static void cb_listboxScheme(Fl_ListBox* o, void*) {
progdefaults.ui_scheme = o->value();
Fl::scheme(progdefaults.ui_scheme.c_str());
progdefaults.changed = true;
}
Fl_Button *btn_background_color=(Fl_Button *)0;
static void cb_btn_background_color(Fl_Button*, void*) {
uchar r, g, b;
Fl::get_color(progdefaults.background, r, g, b);
if (!fl_color_chooser("Background", r, g, b))
return;
progdefaults.background = fl_rgb_color(r, g, b);
background_color->color(progdefaults.background);
uchar fg_r, fg_g, fg_b,
bg_r, bg_g, bg_b,
bg2_r, bg2_g, bg2_b;
Fl::get_color(progdefaults.foreground, fg_r, fg_g, fg_b);
Fl::get_color(progdefaults.background, bg_r, bg_g, bg_b);
Fl::get_color(progdefaults.background2, bg2_r, bg2_g, bg2_b);
Fl::background2(bg2_r, bg2_g, bg2_b);
Fl::background(bg_r, bg_g, bg_b);
Fl::foreground(fg_r, fg_g, fg_b);
redraw_windows();
progdefaults.changed = true;
}
Fl_Box *background_color=(Fl_Box *)0;
Fl_Button *btn_background2_color=(Fl_Button *)0;
static void cb_btn_background2_color(Fl_Button*, void*) {
uchar r, g, b;
Fl::get_color(progdefaults.background2, r, g, b);
if (!fl_color_chooser("Background2", r, g, b))
return;
progdefaults.background2 = fl_rgb_color(r, g, b);
background2_color->color(progdefaults.background2);
uchar fg_r, fg_g, fg_b,
bg_r, bg_g, bg_b,
bg2_r, bg2_g, bg2_b;
Fl::get_color(progdefaults.foreground, fg_r, fg_g, fg_b);
Fl::get_color(progdefaults.background, bg_r, bg_g, bg_b);
Fl::get_color(progdefaults.background2, bg2_r, bg2_g, bg2_b);
Fl::background2(bg2_r, bg2_g, bg2_b);
Fl::background(bg_r, bg_g, bg_b);
Fl::foreground(fg_r, fg_g, fg_b);
redraw_windows();
progdefaults.changed = true;
}
Fl_Box *background2_color=(Fl_Box *)0;
Fl_Button *btn_foreground_color=(Fl_Button *)0;
static void cb_btn_foreground_color(Fl_Button*, void*) {
uchar r, g, b;
Fl::get_color(progdefaults.foreground, r, g, b);
if (!fl_color_chooser("Foreground", r, g, b))
return;
progdefaults.foreground = fl_rgb_color(r, g, b);
foreground_color->color(progdefaults.foreground);
uchar fg_r, fg_g, fg_b,
bg_r, bg_g, bg_b,
bg2_r, bg2_g, bg2_b;
Fl::get_color(progdefaults.foreground, fg_r, fg_g, fg_b);
Fl::get_color(progdefaults.background, bg_r, bg_g, bg_b);
Fl::get_color(progdefaults.background2, bg2_r, bg2_g, bg2_b);
Fl::background2(bg2_r, bg2_g, bg2_b);
Fl::background(bg_r, bg_g, bg_b);
Fl::foreground(fg_r, fg_g, fg_b);
redraw_windows();
progdefaults.changed = true;
}
Fl_Box *foreground_color=(Fl_Box *)0;
Fl_Box *FDdisplay=(Fl_Box *)0;
Fl_Button *btn_freq_control_font=(Fl_Button *)0;
@ -8935,15 +9041,6 @@ icons::toggle_icon_labels();
progdefaults.changed = true;
}
Fl_ListBox *listboxScheme=(Fl_ListBox *)0;
static void cb_listboxScheme(Fl_ListBox* o, void*) {
progdefaults.ui_scheme = o->value();
Fl::scheme(progdefaults.ui_scheme.c_str());
progdefaults.changed = true;
}
Fl_Button *bVisibleModes=(Fl_Button *)0;
static void cb_bVisibleModes(Fl_Button* o, void*) {
@ -10179,70 +10276,70 @@ Fl_Double_Window* ConfigureDialog() {
o->box(FL_ENGRAVED_BOX);
o->align(Fl_Align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE));
o->hide();
{ btnSpotColor = new Fl_Button(284, 75, 100, 21, _("Spot"));
{ btnSpotColor = new Fl_Button(284, 66, 110, 21, _("Spot"));
btnSpotColor->callback((Fl_Callback*)cb_btnSpotColor);
} // Fl_Button* btnSpotColor
{ btnRevColor = new Fl_Button(284, 111, 100, 21, _("Rev"));
{ btnRevColor = new Fl_Button(284, 103, 110, 21, _("Rev"));
btnRevColor->callback((Fl_Callback*)cb_btnRevColor);
} // Fl_Button* btnRevColor
{ btnTuneColor = new Fl_Button(284, 148, 100, 21, _("Tune"));
{ btnTuneColor = new Fl_Button(284, 141, 110, 21, _("Tune"));
btnTuneColor->callback((Fl_Callback*)cb_btnTuneColor);
} // Fl_Button* btnTuneColor
{ btnRxIDColor = new Fl_Button(284, 183, 100, 21, _("RxID nar"));
{ btnRxIDColor = new Fl_Button(284, 179, 110, 21, _("RxID nar"));
btnRxIDColor->callback((Fl_Callback*)cb_btnRxIDColor);
} // Fl_Button* btnRxIDColor
{ btnLkColor = new Fl_Button(473, 75, 100, 21, _("Lk"));
{ btnLkColor = new Fl_Button(473, 66, 110, 21, _("Lk"));
btnLkColor->callback((Fl_Callback*)cb_btnLkColor);
} // Fl_Button* btnLkColor
{ btnSql1Color = new Fl_Button(473, 111, 100, 21, _("SQL-1"));
{ btnSql1Color = new Fl_Button(473, 103, 110, 21, _("SQL-1"));
btnSql1Color->callback((Fl_Callback*)cb_btnSql1Color);
} // Fl_Button* btnSql1Color
{ btnXmtColor = new Fl_Button(473, 148, 100, 20, _("T/R"));
{ btnXmtColor = new Fl_Button(473, 141, 110, 20, _("T/R"));
btnXmtColor->callback((Fl_Callback*)cb_btnXmtColor);
} // Fl_Button* btnXmtColor
{ btnRxIDwideColor = new Fl_Button(473, 183, 100, 21, _("RxID wide"));
{ btnRxIDwideColor = new Fl_Button(473, 179, 110, 21, _("RxID wide"));
btnRxIDwideColor->callback((Fl_Callback*)cb_btnRxIDwideColor);
} // Fl_Button* btnRxIDwideColor
{ btnAfcColor = new Fl_Button(663, 75, 100, 21, _("AFC"));
{ btnAfcColor = new Fl_Button(663, 66, 110, 21, _("AFC"));
btnAfcColor->callback((Fl_Callback*)cb_btnAfcColor);
} // Fl_Button* btnAfcColor
{ btnSql2Color = new Fl_Button(663, 111, 100, 20, _("SQL-2"));
{ btnSql2Color = new Fl_Button(663, 103, 110, 20, _("SQL-2"));
btnSql2Color->callback((Fl_Callback*)cb_btnSql2Color);
} // Fl_Button* btnSql2Color
{ btnTxIDColor = new Fl_Button(662, 183, 100, 20, _("TxID"));
{ btnTxIDColor = new Fl_Button(662, 179, 110, 20, _("TxID"));
btnTxIDColor->callback((Fl_Callback*)cb_btnTxIDColor);
} // Fl_Button* btnTxIDColor
{ Fl_Box* o = spotcolor = new Fl_Box(254, 76, 18, 19);
{ Fl_Box* o = spotcolor = new Fl_Box(254, 67, 18, 19);
spotcolor->box(FL_THIN_DOWN_BOX);
spotcolor->color((Fl_Color)3);
o->color(progdefaults.SpotColor);
} // Fl_Box* spotcolor
{ Fl_Box* o = revcolor = new Fl_Box(254, 112, 18, 19);
{ Fl_Box* o = revcolor = new Fl_Box(254, 104, 18, 19);
revcolor->box(FL_THIN_DOWN_BOX);
o->color(progdefaults.RevColor);
} // Fl_Box* revcolor
{ Fl_Box* o = tunecolor = new Fl_Box(254, 149, 18, 19);
{ Fl_Box* o = tunecolor = new Fl_Box(254, 142, 18, 19);
tunecolor->box(FL_THIN_DOWN_BOX);
o->color(progdefaults.TuneColor);
} // Fl_Box* tunecolor
{ Fl_Box* o = rxidcolor = new Fl_Box(254, 184, 18, 19);
{ Fl_Box* o = rxidcolor = new Fl_Box(254, 180, 18, 19);
rxidcolor->box(FL_THIN_DOWN_BOX);
o->color(progdefaults.RxIDColor);
} // Fl_Box* rxidcolor
{ Fl_Box* o = lockcolor = new Fl_Box(442, 76, 18, 19);
{ Fl_Box* o = lockcolor = new Fl_Box(442, 67, 18, 19);
lockcolor->box(FL_THIN_DOWN_BOX);
lockcolor->color((Fl_Color)3);
o->color(progdefaults.LkColor);
} // Fl_Box* lockcolor
{ Fl_Box* o = sql1color = new Fl_Box(442, 112, 18, 19);
{ Fl_Box* o = sql1color = new Fl_Box(442, 104, 18, 19);
sql1color->box(FL_THIN_DOWN_BOX);
o->color(progdefaults.Sql1Color);
} // Fl_Box* sql1color
{ Fl_Box* o = rxidcolorwide = new Fl_Box(442, 184, 18, 19);
{ Fl_Box* o = rxidcolorwide = new Fl_Box(442, 180, 18, 19);
rxidcolorwide->box(FL_THIN_DOWN_BOX);
o->color(progdefaults.RxIDwideColor);
} // Fl_Box* rxidcolorwide
{ Fl_Box* o = xmtcolor = new Fl_Box(442, 149, 18, 18);
{ Fl_Box* o = xmtcolor = new Fl_Box(442, 142, 18, 18);
xmtcolor->box(FL_THIN_DOWN_BOX);
o->color(progdefaults.XmtColor);
} // Fl_Box* xmtcolor
@ -10251,38 +10348,77 @@ Fl_Double_Window* ConfigureDialog() {
afccolor->color((Fl_Color)3);
o->color(progdefaults.AfcColor);
} // Fl_Box* afccolor
{ Fl_Box* o = sql2color = new Fl_Box(630, 112, 18, 18);
{ Fl_Box* o = sql2color = new Fl_Box(630, 104, 18, 18);
sql2color->box(FL_THIN_DOWN_BOX);
o->color(progdefaults.Sql2Color);
} // Fl_Box* sql2color
{ Fl_Box* o = txidcolor = new Fl_Box(630, 184, 18, 18);
{ Fl_Box* o = txidcolor = new Fl_Box(630, 180, 18, 18);
txidcolor->box(FL_THIN_DOWN_BOX);
o->color(progdefaults.TxIDColor);
} // Fl_Box* txidcolor
{ btn_default_btn_color = new Fl_Button(284, 218, 100, 21, _("Lighted Btns"));
{ btn_default_btn_color = new Fl_Button(284, 217, 110, 21, _("Lighted Btns"));
btn_default_btn_color->callback((Fl_Callback*)cb_btn_default_btn_color);
} // Fl_Button* btn_default_btn_color
{ Fl_Box* o = default_btn_color = new Fl_Box(254, 220, 18, 19);
{ Fl_Box* o = default_btn_color = new Fl_Box(254, 218, 18, 19);
default_btn_color->box(FL_THIN_DOWN_BOX);
o->color(progdefaults.default_btn_color);
} // Fl_Box* default_btn_color
{ btn_check_btn_color = new Fl_Button(473, 218, 100, 21, _("Check Btns"));
{ btn_check_btn_color = new Fl_Button(473, 217, 110, 21, _("Check Btns"));
btn_check_btn_color->callback((Fl_Callback*)cb_btn_check_btn_color);
} // Fl_Button* btn_check_btn_color
{ Fl_Box* o = default_check_btn_color = new Fl_Box(442, 220, 18, 19);
default_check_btn_color->box(FL_THIN_DOWN_BOX);
o->color(progdefaults.default_check_btn_color);
} // Fl_Box* default_check_btn_color
{ btn_default_round_btn_color = new Fl_Button(662, 218, 100, 21, _("Round Btns"));
{ btn_default_round_btn_color = new Fl_Button(662, 217, 110, 21, _("Round Btns"));
btn_default_round_btn_color->callback((Fl_Callback*)cb_btn_default_round_btn_color);
} // Fl_Button* btn_default_round_btn_color
{ Fl_Box* o = default_round_btn_color = new Fl_Box(630, 220, 18, 19);
{ Fl_Box* o = default_round_btn_color = new Fl_Box(630, 218, 18, 19);
default_round_btn_color->box(FL_ROUND_DOWN_BOX);
o->color(progdefaults.default_round_btn_color);
} // Fl_Box* default_round_btn_color
{ btnMenuFont = new Fl_Button(284, 278, 100, 21, _("Menu font"));
{ btnMenuFont = new Fl_Button(284, 255, 110, 21, _("Menu font"));
btnMenuFont->callback((Fl_Callback*)cb_btnMenuFont);
} // Fl_Button* btnMenuFont
{ listboxScheme = new Fl_ListBox(314, 293, 80, 20, _("UI scheme"));
listboxScheme->tooltip(_("Change application look and feel"));
listboxScheme->box(FL_DOWN_BOX);
listboxScheme->color(FL_BACKGROUND2_COLOR);
listboxScheme->selection_color(FL_BACKGROUND_COLOR);
listboxScheme->labeltype(FL_NORMAL_LABEL);
listboxScheme->labelfont(0);
listboxScheme->labelsize(14);
listboxScheme->labelcolor(FL_FOREGROUND_COLOR);
listboxScheme->callback((Fl_Callback*)cb_listboxScheme);
listboxScheme->align(Fl_Align(FL_ALIGN_LEFT));
listboxScheme->when(FL_WHEN_RELEASE);
listboxScheme->add("base"); listboxScheme->add("gtk+");
listboxScheme->add("plastic"); listboxScheme->add("gleam");
listboxScheme->value(progdefaults.ui_scheme.c_str());
listboxScheme->labelsize(FL_NORMAL_SIZE);
listboxScheme->end();
} // Fl_ListBox* listboxScheme
{ btn_background_color = new Fl_Button(473, 255, 110, 21, _("Background"));
btn_background_color->callback((Fl_Callback*)cb_btn_background_color);
} // Fl_Button* btn_background_color
{ Fl_Box* o = background_color = new Fl_Box(442, 256, 18, 19);
background_color->box(FL_THIN_DOWN_BOX);
o->color(progdefaults.background);
} // Fl_Box* background_color
{ btn_background2_color = new Fl_Button(473, 292, 110, 21, _("Background2"));
btn_background2_color->callback((Fl_Callback*)cb_btn_background2_color);
} // Fl_Button* btn_background2_color
{ Fl_Box* o = background2_color = new Fl_Box(442, 293, 18, 19);
background2_color->box(FL_THIN_DOWN_BOX);
o->color(progdefaults.background2);
} // Fl_Box* background2_color
{ btn_foreground_color = new Fl_Button(662, 255, 110, 21, _("Foreground"));
btn_foreground_color->callback((Fl_Callback*)cb_btn_foreground_color);
} // Fl_Button* btn_foreground_color
{ Fl_Box* o = foreground_color = new Fl_Box(630, 256, 18, 19);
foreground_color->box(FL_THIN_DOWN_BOX);
o->color(progdefaults.foreground);
} // Fl_Box* foreground_color
CONFIG_PAGE *p = new CONFIG_PAGE(o, _("Colors-Fonts/Buttons-Menus"));
config_pages.push_back(p);
tab_tree->add(_("Colors-Fonts/Buttons-Menus"));
@ -13869,6 +14005,7 @@ ver a +/- 10 WPM range. Calibration/Test is 1 minute of\n\'PARIS \'."));
{ btnFMT_plot_background = new Fl_Button(209, 122, 60, 22, _("Bgnd"));
btnFMT_plot_background->tooltip(_("Change plot background color"));
btnFMT_plot_background->callback((Fl_Callback*)cb_btnFMT_plot_background);
btnFMT_plot_background->hide();
} // Fl_Button* btnFMT_plot_background
{ btnFMT_unk_color = new Fl_Button(209, 153, 60, 22, _("Unkn"));
btnFMT_unk_color->tooltip(_("Change plot unknown track color"));
@ -19234,25 +19371,6 @@ ll with your audio device."));
chkMenuIcons->callback((Fl_Callback*)cb_chkMenuIcons);
o->value(progdefaults.menuicons);
} // Fl_Check_Button* chkMenuIcons
{ Fl_ListBox* o = listboxScheme = new Fl_ListBox(394, 63, 80, 20, _("UI scheme"));
listboxScheme->tooltip(_("Change application look and feel"));
listboxScheme->box(FL_DOWN_BOX);
listboxScheme->color(FL_BACKGROUND2_COLOR);
listboxScheme->selection_color(FL_BACKGROUND_COLOR);
listboxScheme->labeltype(FL_NORMAL_LABEL);
listboxScheme->labelfont(0);
listboxScheme->labelsize(14);
listboxScheme->labelcolor(FL_FOREGROUND_COLOR);
listboxScheme->callback((Fl_Callback*)cb_listboxScheme);
listboxScheme->align(Fl_Align(FL_ALIGN_RIGHT));
listboxScheme->when(FL_WHEN_RELEASE);
listboxScheme->add("base");
listboxScheme->add("gtk+");
listboxScheme->add("plastic"); listboxScheme->add("gleam");
listboxScheme->value(progdefaults.ui_scheme.c_str());
o->labelsize(FL_NORMAL_SIZE);
listboxScheme->end();
} // Fl_ListBox* listboxScheme
{ bVisibleModes = new Fl_Button(259, 63, 110, 20, _("Visible modes"));
bVisibleModes->tooltip(_("Select modes for menu access"));
bVisibleModes->callback((Fl_Callback*)cb_bVisibleModes);

View file

@ -503,7 +503,7 @@ static const char szBaudRates[] = "300|600|1200|2400|4800|9600|19200|38400|57600
static const char szProsigns[] = "~|%|&|+|=|{|}|<|>|[|]| ";} {}
Fl_Window {} {
label {Fldigi configuration} open
xywh {900 39 800 380} type Double color 45 selection_color 51 labelsize 18 align 80 resizable size_range {750 380 0 380} visible
xywh {1057 93 800 380} type Double color 45 selection_color 51 labelsize 18 align 80 resizable size_range {750 380 0 380} visible
} {
Fl_Group {} {open
xywh {0 0 201 380} resizable
@ -767,7 +767,7 @@ progdefaults.changed = true;}
}
}
Fl_Group {} {
label {Colors-Fonts/Buttons-Menus}
label {Colors-Fonts/Buttons-Menus} open selected
xywh {200 0 600 350} box ENGRAVED_BOX align 21 hide
code0 {CONFIG_PAGE *p = new CONFIG_PAGE(o, _("Colors-Fonts/Buttons-Menus"));}
code1 {config_pages.push_back(p);}
@ -780,7 +780,7 @@ spotcolor->color(progdefaults.SpotColor);
spotcolor->redraw();
spot_selection_color();
progdefaults.changed = true;}
xywh {284 75 100 21}
xywh {284 66 110 21}
}
Fl_Button btnRevColor {
label Rev
@ -789,7 +789,7 @@ revcolor->color(progdefaults.RevColor);
revcolor->redraw();
rev_selection_color();
progdefaults.changed = true;}
xywh {284 111 100 21}
xywh {284 103 110 21}
}
Fl_Button btnTuneColor {
label Tune
@ -798,7 +798,7 @@ tunecolor->color(progdefaults.TuneColor);
tunecolor->redraw();
tune_selection_color();
progdefaults.changed = true;}
xywh {284 148 100 21}
xywh {284 141 110 21}
}
Fl_Button btnRxIDColor {
label {RxID nar}
@ -811,7 +811,7 @@ progdefaults.changed = true;
Fl_Color clr = progdefaults.rsidWideSearch ? progdefaults.RxIDwideColor : progdefaults.RxIDColor;
btnRSID->selection_color(clr);
btnRSID->redraw();}
xywh {284 183 100 21}
xywh {284 179 110 21}
}
Fl_Button btnLkColor {
label Lk
@ -820,7 +820,7 @@ lockcolor->color(progdefaults.LkColor);
lockcolor->redraw();
xmtlock_selection_color();
progdefaults.changed = true;}
xywh {473 75 100 21}
xywh {473 66 110 21}
}
Fl_Button btnSql1Color {
label {SQL-1}
@ -829,7 +829,7 @@ sql1color->color(progdefaults.Sql1Color);
sql1color->redraw();
sql_selection_color();
progdefaults.changed = true;}
xywh {473 111 100 21}
xywh {473 103 110 21}
}
Fl_Button btnXmtColor {
label {T/R}
@ -838,7 +838,7 @@ xmtcolor->color(progdefaults.XmtColor);
xmtcolor->redraw();
xmtrcv_selection_color();
progdefaults.changed = true;}
xywh {473 148 100 20}
xywh {473 141 110 20}
}
Fl_Button btnRxIDwideColor {
label {RxID wide}
@ -851,7 +851,7 @@ progdefaults.changed = true;
Fl_Color clr = progdefaults.rsidWideSearch ? progdefaults.RxIDwideColor : progdefaults.RxIDColor;
btnRSID->selection_color(clr);
btnRSID->redraw();}
xywh {473 183 100 21}
xywh {473 179 110 21}
}
Fl_Button btnAfcColor {
label AFC
@ -860,7 +860,7 @@ afccolor->color(progdefaults.AfcColor);
afccolor->redraw();
afc_selection_color();
progdefaults.changed = true;}
xywh {663 75 100 21}
xywh {663 66 110 21}
}
Fl_Button btnSql2Color {
label {SQL-2}
@ -869,7 +869,7 @@ sql2color->color(progdefaults.Sql2Color);
sql2color->redraw();
sql_selection_color();
progdefaults.changed = true;}
xywh {663 111 100 20}
xywh {663 103 110 20}
}
Fl_Button btnTxIDColor {
label TxID
@ -881,38 +881,38 @@ progdefaults.changed = true;
btnTxRSID->selection_color(progdefaults.TxIDColor);
btnTxRSID->redraw();}
xywh {662 183 100 20}
xywh {662 179 110 20}
}
Fl_Box spotcolor {
xywh {254 76 18 19} box THIN_DOWN_BOX color 3
xywh {254 67 18 19} box THIN_DOWN_BOX color 3
code0 {o->color(progdefaults.SpotColor);}
}
Fl_Box revcolor {
xywh {254 112 18 19} box THIN_DOWN_BOX
xywh {254 104 18 19} box THIN_DOWN_BOX
code0 {o->color(progdefaults.RevColor);}
}
Fl_Box tunecolor {
xywh {254 149 18 19} box THIN_DOWN_BOX
xywh {254 142 18 19} box THIN_DOWN_BOX
code0 {o->color(progdefaults.TuneColor);}
}
Fl_Box rxidcolor {
xywh {254 184 18 19} box THIN_DOWN_BOX
xywh {254 180 18 19} box THIN_DOWN_BOX
code0 {o->color(progdefaults.RxIDColor);}
}
Fl_Box lockcolor {
xywh {442 76 18 19} box THIN_DOWN_BOX color 3
xywh {442 67 18 19} box THIN_DOWN_BOX color 3
code0 {o->color(progdefaults.LkColor);}
}
Fl_Box sql1color {
xywh {442 112 18 19} box THIN_DOWN_BOX
xywh {442 104 18 19} box THIN_DOWN_BOX
code0 {o->color(progdefaults.Sql1Color);}
}
Fl_Box rxidcolorwide {
xywh {442 184 18 19} box THIN_DOWN_BOX
xywh {442 180 18 19} box THIN_DOWN_BOX
code0 {o->color(progdefaults.RxIDwideColor);}
}
Fl_Box xmtcolor {
xywh {442 149 18 18} box THIN_DOWN_BOX
xywh {442 142 18 18} box THIN_DOWN_BOX
code0 {o->color(progdefaults.XmtColor);}
}
Fl_Box afccolor {
@ -920,11 +920,11 @@ btnTxRSID->redraw();}
code0 {o->color(progdefaults.AfcColor);}
}
Fl_Box sql2color {
xywh {630 112 18 18} box THIN_DOWN_BOX
xywh {630 104 18 18} box THIN_DOWN_BOX
code0 {o->color(progdefaults.Sql2Color);}
}
Fl_Box txidcolor {
xywh {630 184 18 18} box THIN_DOWN_BOX
xywh {630 180 18 18} box THIN_DOWN_BOX
code0 {o->color(progdefaults.TxIDColor);}
}
Fl_Button btn_default_btn_color {
@ -934,10 +934,10 @@ default_btn_color->color(progdefaults.default_btn_color);
default_btn_color->redraw();
set_default_btn_color();
progdefaults.changed = true;}
xywh {284 218 100 21}
xywh {284 217 110 21}
}
Fl_Box default_btn_color {
xywh {254 220 18 19} box THIN_DOWN_BOX
xywh {254 218 18 19} box THIN_DOWN_BOX
code0 {o->color(progdefaults.default_btn_color);}
}
Fl_Button btn_check_btn_color {
@ -947,7 +947,7 @@ default_check_btn_color->color(progdefaults.default_check_btn_color);
default_check_btn_color->redraw();
set_default_btn_color();
progdefaults.changed = true;}
xywh {473 218 100 21}
xywh {473 217 110 21}
}
Fl_Box default_check_btn_color {
xywh {442 220 18 19} box THIN_DOWN_BOX
@ -960,10 +960,10 @@ default_round_btn_color->color(progdefaults.default_round_btn_color);
default_round_btn_color->redraw();
set_default_btn_color();
progdefaults.changed = true;}
xywh {662 218 100 21}
xywh {662 217 110 21}
}
Fl_Box default_round_btn_color {
xywh {630 220 18 19} box ROUND_DOWN_BOX
xywh {630 218 18 19} box ROUND_DOWN_BOX
code0 {o->color(progdefaults.default_round_btn_color);}
}
Fl_Button btnMenuFont {
@ -972,7 +972,120 @@ progdefaults.changed = true;}
font_browser->fontSize(progdefaults.MenuFontsize);
font_browser->callback(cbMenuFontBrowser);
font_browser->show();}
xywh {284 278 100 21}
xywh {284 255 110 21}
}
Fl_Group listboxScheme {
label {UI scheme}
callback {progdefaults.ui_scheme = o->value();
Fl::scheme(progdefaults.ui_scheme.c_str());
progdefaults.changed = true;} open
tooltip {Change application look and feel} xywh {314 293 80 20} box DOWN_BOX color 7 align 4
code0 {listboxScheme->add("base"); listboxScheme->add("gtk+");}
code1 {listboxScheme->add("plastic"); listboxScheme->add("gleam");}
code2 {listboxScheme->value(progdefaults.ui_scheme.c_str());}
code3 {listboxScheme->labelsize(FL_NORMAL_SIZE);}
class Fl_ListBox
} {}
Fl_Button btn_background_color {
label Background
callback {uchar r, g, b;
Fl::get_color(progdefaults.background, r, g, b);
if (!fl_color_chooser("Background", r, g, b))
return;
progdefaults.background = fl_rgb_color(r, g, b);
background_color->color(progdefaults.background);
uchar fg_r, fg_g, fg_b,
bg_r, bg_g, bg_b,
bg2_r, bg2_g, bg2_b;
Fl::get_color(progdefaults.foreground, fg_r, fg_g, fg_b);
Fl::get_color(progdefaults.background, bg_r, bg_g, bg_b);
Fl::get_color(progdefaults.background2, bg2_r, bg2_g, bg2_b);
Fl::background2(bg2_r, bg2_g, bg2_b);
Fl::background(bg_r, bg_g, bg_b);
Fl::foreground(fg_r, fg_g, fg_b);
redraw_windows();
progdefaults.changed = true;}
xywh {473 255 110 21}
}
Fl_Box background_color {
xywh {442 256 18 19} box THIN_DOWN_BOX
code0 {o->color(progdefaults.background);}
}
Fl_Button btn_background2_color {
label Background2
callback {uchar r, g, b;
Fl::get_color(progdefaults.background2, r, g, b);
if (!fl_color_chooser("Background2", r, g, b))
return;
progdefaults.background2 = fl_rgb_color(r, g, b);
background2_color->color(progdefaults.background2);
uchar fg_r, fg_g, fg_b,
bg_r, bg_g, bg_b,
bg2_r, bg2_g, bg2_b;
Fl::get_color(progdefaults.foreground, fg_r, fg_g, fg_b);
Fl::get_color(progdefaults.background, bg_r, bg_g, bg_b);
Fl::get_color(progdefaults.background2, bg2_r, bg2_g, bg2_b);
Fl::background2(bg2_r, bg2_g, bg2_b);
Fl::background(bg_r, bg_g, bg_b);
Fl::foreground(fg_r, fg_g, fg_b);
redraw_windows();
progdefaults.changed = true;}
xywh {473 292 110 21}
}
Fl_Box background2_color {
xywh {442 293 18 19} box THIN_DOWN_BOX
code0 {o->color(progdefaults.background2);}
}
Fl_Button btn_foreground_color {
label Foreground
callback {uchar r, g, b;
Fl::get_color(progdefaults.foreground, r, g, b);
if (!fl_color_chooser("Foreground", r, g, b))
return;
progdefaults.foreground = fl_rgb_color(r, g, b);
foreground_color->color(progdefaults.foreground);
uchar fg_r, fg_g, fg_b,
bg_r, bg_g, bg_b,
bg2_r, bg2_g, bg2_b;
Fl::get_color(progdefaults.foreground, fg_r, fg_g, fg_b);
Fl::get_color(progdefaults.background, bg_r, bg_g, bg_b);
Fl::get_color(progdefaults.background2, bg2_r, bg2_g, bg2_b);
Fl::background2(bg2_r, bg2_g, bg2_b);
Fl::background(bg_r, bg_g, bg_b);
Fl::foreground(fg_r, fg_g, fg_b);
redraw_windows();
progdefaults.changed = true;}
xywh {662 255 110 21}
}
Fl_Box foreground_color {
xywh {630 256 18 19} box THIN_DOWN_BOX
code0 {o->color(progdefaults.foreground);}
}
}
Fl_Group {} {
@ -3294,7 +3407,7 @@ o->label((inpLOTW_pwd->type() & FL_SECRET_INPUT) ? _("Show") : _("Hide"));}
}
}
Fl_Group {} {
label {Logging/Cloud-UDP} open selected
label {Logging/Cloud-UDP} open
xywh {200 0 600 350} box ENGRAVED_BOX align 21 hide
code0 {CONFIG_PAGE *p = new CONFIG_PAGE(o, _("Logging/Cloud-UDP"));}
code1 {config_pages.push_back(p);}
@ -5327,7 +5440,7 @@ progdefaults.changed = true;}
fmt_plot->bk_color(progdefaults.FMT_background);
fmt_plot->redraw();
progdefaults.changed = true;}
tooltip {Change plot background color} xywh {209 122 60 22}
tooltip {Change plot background color} xywh {209 122 60 22} hide
}
Fl_Button btnFMT_unk_color {
label Unkn
@ -11294,20 +11407,6 @@ progdefaults.changed = true;}
tooltip {Enable / disable icons on menus} xywh {420 34 150 20} down_box DOWN_BOX
code0 {o->value(progdefaults.menuicons);}
}
Fl_Group listboxScheme {
label {UI scheme}
callback {progdefaults.ui_scheme = o->value();
Fl::scheme(progdefaults.ui_scheme.c_str());
progdefaults.changed = true;} open
tooltip {Change application look and feel} xywh {394 63 80 20} box DOWN_BOX color 7 align 8
code0 {listboxScheme->add("base");}
code1 {listboxScheme->add("gtk+");}
code2 {listboxScheme->add("plastic"); listboxScheme->add("gleam");}
code3 {listboxScheme->value(progdefaults.ui_scheme.c_str());
o->labelsize(FL_NORMAL_SIZE);}
class Fl_ListBox
} {}
Fl_Button bVisibleModes {
label {Visible modes}
callback {mode_browser->label(o->label());

View file

@ -1639,6 +1639,26 @@ void cb_mnuSaveMacro(Fl_Menu_*, void*) {
restoreFocus(3);
}
void redraw_windows()
{
Fl_Double_Window *w[] = {
fl_digi_main,
scopeview, dlgRecordLoader,
dxcluster_viewer, dxcc_window,
dlgViewer, dlgLogbook, lotw_review_dialog,
wExport, wCabrillo, wUDPfields,
dlgConfig, notify_window,
picRxWin, picTxWin,
thorpicRxWin, thorpicTxWin,
fsqMonitor, fsqpicRxWin, fsqpicTxWin,
ifkppicRxWin, ifkppicTxWin,
MacroEditDialog,
test_signal_window,
rxaudio_dialog, wefax_pic_tx_win };
for (size_t n = 0; n < sizeof(w) / sizeof(*w); n++)
if (w[n]) w[n]->redraw();
}
void remove_windows()
{
std::string titles[] = {

View file

@ -87,6 +87,13 @@ extern Fl_Box *default_check_btn_color;
extern Fl_Button *btn_default_round_btn_color;
extern Fl_Box *default_round_btn_color;
extern Fl_Button *btnMenuFont;
extern Fl_ListBox *listboxScheme;
extern Fl_Button *btn_background_color;
extern Fl_Box *background_color;
extern Fl_Button *btn_background2_color;
extern Fl_Box *background2_color;
extern Fl_Button *btn_foreground_color;
extern Fl_Box *foreground_color;
extern Fl_Box *FDdisplay;
extern Fl_Button *btn_freq_control_font;
extern Fl_Button *btnBackgroundColor;
@ -991,7 +998,6 @@ extern Fl_Button *bwsrSliderColor;
extern Fl_Button *bwsrSldrSelColor;
extern Fl_Check_Button *btnShowTooltips;
extern Fl_Check_Button *chkMenuIcons;
extern Fl_ListBox *listboxScheme;
extern Fl_Button *bVisibleModes;
extern Fl_ListBox *listbox_language;
extern Fl_Check_Button *btn_rx_lowercase;

View file

@ -74,6 +74,15 @@
ELEM_(bool, confirmExit, "CONFIRMEXIT", \
"Ensure user wants to leave flgidi", \
true) \
ELEM_(Fl_Color, background, "BACKGROUND", \
"background color", \
FL_BACKGROUND_COLOR) \
ELEM_(Fl_Color, background2, "BACKGROUND2", \
"background2 color", \
FL_BACKGROUND2_COLOR) \
ELEM_(Fl_Color, foreground, "FOREGROUND", \
"foreground color", \
FL_FOREGROUND_COLOR) \
ELEM_(bool, show_tx_timer, "SHOW_TX_TIMER", \
"Show tx timer on menu bar", \
true) \

View file

@ -787,4 +787,6 @@ extern void FHdisp_char_height();
extern bool clean_exit(bool);
extern void redraw_windows();
#endif

View file

@ -715,6 +715,18 @@ int configuration::setDefaults()
listbox_language->hide();
#endif
uchar fg_r, fg_g, fg_b;
uchar bg_r, bg_g, bg_b;
uchar bg2_r, bg2_g, bg2_b;
Fl::get_color(progdefaults.foreground, fg_r, fg_g, fg_b);
Fl::get_color(progdefaults.background, bg_r, bg_g, bg_b);
Fl::get_color(progdefaults.background2, bg2_r, bg2_g, bg2_b);
Fl::background2(bg2_r, bg2_g, bg2_b);
Fl::background(bg_r, bg_g, bg_b);
Fl::foreground(fg_r, fg_g, fg_b);
return 1;
}