Modify variable-width font warning

The warning text is now appended to the buffer whose font became
proportional.  We compare the font name to that saved in progdefaults to
avoid repeated warnings.

Also changed FL_SCREEN to FL_COURIER because FL_SCREEN may not be fixed
width on all platforms.
pull/2/head
Stelios Bounanos 2009-03-12 19:05:36 +00:00
rodzic 6b4a4f6d56
commit 1155b533fc
6 zmienionych plików z 38 dodań i 31 usunięć

Wyświetl plik

@ -289,7 +289,7 @@ Fl_Double_Window* createViewer() {
inpSeek = new Fl_Input2(50, 5, 200, 25, _("Find: "));
inpSeek->callback((Fl_Callback*)cb_Seek);
inpSeek->when(FL_WHEN_CHANGED);
inpSeek->textfont(FL_SCREEN);
inpSeek->textfont(FL_COURIER);
inpSeek->value("CQ");
// chkBeep = new Fl_Light_Button(inpSeek->x() + border, inpSeek->y(), 60, inpSeek->h(), "Beep");
bx = new Fl_Box(250, 5, 200, 25);

Wyświetl plik

@ -6,7 +6,6 @@
#include "fl_digi.h"
#include "configuration.h"
#include "rigdialog.h"
#include <FL/fl_ask.H>
#include <FL/Fl_Color_Chooser.H>
#include <FL/fl_show_colormap.H>
@ -48,10 +47,6 @@ static void cbRxFontBrowser(Fl_Widget* w, void* arg) {
fb->hide();
if (!Font_Browser::fixed_width(font))
fl_alert("Line wrapping with a variable width font may be\n"
"too slow. Consider using a fixed width font.");
progdefaults.changed = true;
}
@ -76,10 +71,6 @@ static void cbTxFontBrowser(Fl_Widget* w, void* arg) {
fb->hide();
if (!Font_Browser::fixed_width(font))
fl_alert("Line wrapping with a variable width font may be\n"
"too slow. Consider using a fixed width font.");
progdefaults.changed = true;
}

Wyświetl plik

@ -19,8 +19,6 @@ decl {\#include "font_browser.h"} {public global
decl {\#include "rigdialog.h"} {}
decl {\#include <FL/fl_ask.H>} {}
decl {\#include <FL/Fl_Color_Chooser.H>} {}
decl {\#include <FL/fl_show_colormap.H>} {}
@ -66,10 +64,6 @@ Function {cbRxFontBrowser(Fl_Widget* w, void* arg)} {open private return_type vo
fb->hide();
if (!Font_Browser::fixed_width(font))
fl_alert("Line wrapping with a variable width font may be\\n"
"too slow. Consider using a fixed width font.");
progdefaults.changed = true;} {}
}
@ -95,10 +89,6 @@ Function {cbTxFontBrowser(Fl_Widget* w, void* arg)} {open private return_type vo
fb->hide();
if (!Font_Browser::fixed_width(font))
fl_alert("Line wrapping with a variable width font may be\\n"
"too slow. Consider using a fixed width font.");
progdefaults.changed = true;} {}
}

Wyświetl plik

@ -280,7 +280,7 @@
ELEM_(bool, MuteInput, "MUTEINPUT", true) \
ELEM_(double, TxMonitorLevel, "TXMONITORLEVEL", 0.5) \
/* Waterfall palette */ \
ELEM_(std::string, PaletteName, "PALETTENAME", "default.pal") \
ELEM_(std::string, PaletteName, "PALETTENAME", "default.pal") \
ELEM_(RGB, cfgpal0, "PALETTE0", { 0,0,0 }) \
ELEM_(RGB, cfgpal1, "PALETTE1", { 0,0,136 }) \
ELEM_(RGB, cfgpal2, "PALETTE2", { 0,19,198 }) \
@ -298,11 +298,13 @@
ELEM_(RGB, btnFkeyTextColor, "FKEYTEXTCOLOR", { 255, 255, 255 }) \
/* RX / TX / Waterfall text widgets */ \
ELEM_(std::string, RxFontName, "RXFONTNAME", "") \
ELEM_(Fl_Font, RxFontnbr, "RXFONTNBR", FL_SCREEN) \
ELEM_(bool, RxFontWarn, "RXFONTWARN", true) \
ELEM_(Fl_Font, RxFontnbr, "RXFONTNBR", FL_COURIER) \
ELEM_(int, RxFontsize, "RXFONTSIZE", 16) \
ELEM_(Fl_Color, RxFontcolor, "RXFNTCOLOR", FL_BLACK) \
ELEM_(std::string, TxFontName, "TXFONTNAME", "") \
ELEM_(Fl_Font, TxFontnbr, "TXFONTNBR", FL_SCREEN) \
ELEM_(bool, TxFontWarn, "TXFONTWARN", true) \
ELEM_(Fl_Font, TxFontnbr, "TXFONTNBR", FL_COURIER) \
ELEM_(int, TxFontsize, "TXFONTSIZE", 16) \
ELEM_(Fl_Color, TxFontcolor, "TXFNTCOLOR", FL_BLACK) \
ELEM_(RGB, RxColor, "RXFONTCOLOR", { 255, 242, 190 }) \
@ -312,7 +314,7 @@
ELEM_(Fl_Color, SKIPcolor, "SKIPCOLOR", FL_BLUE) \
ELEM_(Fl_Color, ALTRcolor, "ALTRCOLOR", FL_DARK_MAGENTA) \
ELEM_(std::string, WaterfallFontName, "WATERFALLFONTNAME", "") \
ELEM_(Fl_Font, WaterfallFontnbr, "WATERFALLFONTNBR", FL_SCREEN) \
ELEM_(Fl_Font, WaterfallFontnbr, "WATERFALLFONTNBR", FL_COURIER) \
ELEM_(int, WaterfallFontsize, "WATERFALLFONTSIZE", 12) \
ELEM_(std::string, ui_scheme, "UISCHEME", "gtk+") \
ELEM_(bool, wf_audioscale, "WFAUDIOSCALE", false) \

Wyświetl plik

@ -97,7 +97,7 @@ void debug::start(const char* filename)
slider->callback(slider_cb);
text = new FTextLog(pad, slider->h()+pad, window->w()-2*pad, window->h()-slider->h()-2*pad, 0);
text->textfont(FL_SCREEN);
text->textfont(FL_COURIER);
text->textsize(FL_NORMAL_SIZE);
window->resizable(text);
window->end();

Wyświetl plik

@ -79,7 +79,7 @@ FTextBase::FTextBase(int x, int y, int w, int h, const char *l)
{
oldw = olds = -1;
oldf = (Fl_Font)-1;
textfont(FL_SCREEN);
textfont(FL_COURIER);
textsize(FL_NORMAL_SIZE);
textcolor(FL_FOREGROUND_COLOR);
@ -116,6 +116,30 @@ int FTextBase::handle(int event)
void FTextBase::setFont(Fl_Font f, int attr)
{
set_style(attr, f, textsize(), textcolor(), SET_FONT);
if (Font_Browser::fixed_width(f))
return;
// Check if we should generate a warning message
bool* warn = 0;
const char* fn = Fl::get_font_name(f);
if (this == ReceiveText) {
warn = &progdefaults.RxFontWarn;
if (progdefaults.RxFontName != fn)
*warn = true;
}
else if (this == TransmitText) {
warn = &progdefaults.TxFontWarn;
if (progdefaults.TxFontName != fn)
*warn = true;
}
if (warn && *warn) {
add(Fl::get_font_name(f), XMIT);
add(" is a variable width font.\n", XMIT);
add("Line wrapping with a variable width font may be\n"
"too slow. Consider using a fixed width font.\n\n", XMIT);
*warn = false;
}
}
void FTextBase::setFontSize(int s, int attr)
@ -391,11 +415,11 @@ int FTextBase::reset_wrap_col(void)
void FTextBase::reset_styles(int set)
{
set_style(NATTR, FL_SCREEN, FL_NORMAL_SIZE, FL_FOREGROUND_COLOR, set);
set_style(XMIT, FL_SCREEN, FL_NORMAL_SIZE, FL_RED, set);
set_style(CTRL, FL_SCREEN, FL_NORMAL_SIZE, FL_DARK_GREEN, set);
set_style(SKIP, FL_SCREEN, FL_NORMAL_SIZE, FL_BLUE, set);
set_style(ALTR, FL_SCREEN, FL_NORMAL_SIZE, FL_DARK_MAGENTA, set);
set_style(NATTR, FL_COURIER, FL_NORMAL_SIZE, FL_FOREGROUND_COLOR, set);
set_style(XMIT, FL_COURIER, FL_NORMAL_SIZE, FL_RED, set);
set_style(CTRL, FL_COURIER, FL_NORMAL_SIZE, FL_DARK_GREEN, set);
set_style(SKIP, FL_COURIER, FL_NORMAL_SIZE, FL_BLUE, set);
set_style(ALTR, FL_COURIER, FL_NORMAL_SIZE, FL_DARK_MAGENTA, set);
}
// ----------------------------------------------------------------------------