User configurable items

* View Browser Colors
    - Added configurable colors to signal view browser
  *Logbook browser font
    - Added set font code for logbook browser
pull/1/head
David Freese 2012-12-30 14:18:18 -06:00
rodzic 2a22c31ec5
commit ce1d5c2104
13 zmienionych plików z 330 dodań i 126 usunięć

Wyświetl plik

@ -73,6 +73,22 @@ void initViewer()
mainViewer->usb = usb;
mainViewer->rfc = rfc;
mainViewer->setfont(progdefaults.ViewerFontnbr, progdefaults.ViewerFontsize);
mainViewer->HighLight_1(
fl_rgb_color(
progdefaults.bwsrHiLight1.R,
progdefaults.bwsrHiLight1.B,
progdefaults.bwsrHiLight1.G));
mainViewer->HighLight_2(
fl_rgb_color(
progdefaults.bwsrHiLight2.R,
progdefaults.bwsrHiLight2.B,
progdefaults.bwsrHiLight2.G));
mainViewer->HighLight_3(
fl_rgb_color(
progdefaults.bwsrHiLight3.R,
progdefaults.bwsrHiLight3.B,
progdefaults.bwsrHiLight1.G));
mainViewer->makecolors();
mainViewer->clear();
}
if (brwsViewer) {
@ -80,9 +96,25 @@ void initViewer()
brwsViewer->rfc = rfc;
sldrViewerSquelch->value(progStatus.VIEWERsquelch);
brwsViewer->setfont(progdefaults.ViewerFontnbr, progdefaults.ViewerFontsize);
brwsViewer->HighLight_1(
fl_rgb_color(
progdefaults.bwsrHiLight1.R,
progdefaults.bwsrHiLight1.B,
progdefaults.bwsrHiLight1.G));
brwsViewer->HighLight_2(
fl_rgb_color(
progdefaults.bwsrHiLight2.R,
progdefaults.bwsrHiLight2.B,
progdefaults.bwsrHiLight2.G));
brwsViewer->HighLight_3(
fl_rgb_color(
progdefaults.bwsrHiLight3.R,
progdefaults.bwsrHiLight3.B,
progdefaults.bwsrHiLight1.G));
brwsViewer->makecolors();
brwsViewer->clear();
dlgViewer->size(dlgViewer->w(), dlgViewer->h() - brwsViewer->h() +
pskBrowser::cheight * progdefaults.VIEWERchannels + 4);
brwsViewer->clear();
}
if (pskviewer) pskviewer->clear();
if (rttyviewer) rttyviewer->clear();
@ -134,6 +166,22 @@ void viewer_redraw()
if (mainViewer) {
mainViewer->usb = usb;
mainViewer->rfc = rfc;
mainViewer->HighLight_1(
fl_rgb_color(
progdefaults.bwsrHiLight1.R,
progdefaults.bwsrHiLight1.B,
progdefaults.bwsrHiLight1.G));
mainViewer->HighLight_2(
fl_rgb_color(
progdefaults.bwsrHiLight2.R,
progdefaults.bwsrHiLight2.B,
progdefaults.bwsrHiLight2.G));
mainViewer->HighLight_3(
fl_rgb_color(
progdefaults.bwsrHiLight3.R,
progdefaults.bwsrHiLight3.B,
progdefaults.bwsrHiLight1.G));
mainViewer->makecolors();
mainViewer->resize(mainViewer->x(), mainViewer->y(), mainViewer->w(), mainViewer->h());
}
if (dlgViewer) {
@ -141,6 +189,22 @@ void viewer_redraw()
brwsViewer->rfc = rfc;
brwsViewer->resize(
brwsViewer->x(), brwsViewer->y(), brwsViewer->w(), brwsViewer->h());
brwsViewer->HighLight_1(
fl_rgb_color(
progdefaults.bwsrHiLight1.R,
progdefaults.bwsrHiLight1.B,
progdefaults.bwsrHiLight1.G));
brwsViewer->HighLight_2(
fl_rgb_color(
progdefaults.bwsrHiLight2.R,
progdefaults.bwsrHiLight2.B,
progdefaults.bwsrHiLight2.G));
brwsViewer->HighLight_3(
fl_rgb_color(
progdefaults.bwsrHiLight3.R,
progdefaults.bwsrHiLight3.B,
progdefaults.bwsrHiLight1.G));
brwsViewer->makecolors();
dlgViewer->redraw();
}
}
@ -231,9 +295,7 @@ Fl_Double_Window* createViewer(void)
int pad = BWSR_BORDER / 2;
int viewerwidth = progStatus.VIEWERwidth - 2*BWSR_BORDER;
// (progStatus.VIEWERnchars * pskBrowser::cwidth) + pskBrowser::sbarwidth;
int viewerheight = progStatus.VIEWERheight - 2 * BWSR_BORDER - pad - 20;
// pskBrowser::cheight * progdefaults.VIEWERchannels;
Fl_Double_Window* w = new Fl_Double_Window(progStatus.VIEWERxpos, progStatus.VIEWERypos,
viewerwidth + 2 * BWSR_BORDER,
@ -254,7 +316,6 @@ Fl_Double_Window* createViewer(void)
gseek->resizable(0);
gseek->end();
// brwsViewer = new pskBrowser(BWSR_BORDER, BWSR_BORDER, viewerwidth, viewerheight);
brwsViewer = new pskBrowser(BWSR_BORDER, viewer_inp_seek->y() + viewer_inp_seek->h(), viewerwidth, viewerheight);
brwsViewer->callback((Fl_Callback*)cb_brwsViewer);

Wyświetl plik

@ -5,8 +5,8 @@
#include <config.h>
#include <FL/Fl_Tooltip.H>
#include <FL/Fl_Box.H>
#include <FL/Fl_File_Chooser.H>
#include <FL/filename.H>
#include <FL/Fl_File_Chooser.H>
#include "main.h"
#include "fl_digi.h"
#include "soundconf.h"
@ -25,8 +25,6 @@
#if USE_HAMLIB
#include "hamlib.h"
#endif
extern void WefaxDestDirSet(Fl_File_Chooser *w, void *userdata);
extern void NvtxCatalogSet(Fl_File_Chooser *w, void *userdata);
Fl_Double_Window *dlgConfig;
Mode_Browser* mode_browser;
@ -233,6 +231,46 @@ static void cb_bwsrSldrSelColor(Fl_Button* o, void*) {
progdefaults.changed = true;
}
Fl_Button *bwsrHiLite_1_color=(Fl_Button *)0;
static void cb_bwsrHiLite_1_color(Fl_Button* o, void*) {
uchar r, g, b;
r = progdefaults.bwsrHiLight1.R;
g = progdefaults.bwsrHiLight1.G;
b = progdefaults.bwsrHiLight1.B;
if (fl_color_chooser("Slider Color", r, g, b) == 0)
return;
progdefaults.bwsrHiLight1.R = r;
progdefaults.bwsrHiLight1.G = g;
progdefaults.bwsrHiLight1.B = b;
o->color(fl_rgb_color(r,g,b));
o->redraw();
viewer_redraw();
progdefaults.changed = true;
}
Fl_Button *bwsrHiLite_2_color=(Fl_Button *)0;
static void cb_bwsrHiLite_2_color(Fl_Button* o, void*) {
uchar r, g, b;
r = progdefaults.bwsrHiLight2.R;
g = progdefaults.bwsrHiLight2.G;
b = progdefaults.bwsrHiLight2.B;
if (fl_color_chooser("Slider Color", r, g, b) == 0)
return;
progdefaults.bwsrHiLight2.R = r;
progdefaults.bwsrHiLight2.G = g;
progdefaults.bwsrHiLight2.B = b;
o->color(fl_rgb_color(r,g,b));
o->redraw();
viewer_redraw();
progdefaults.changed = true;
}
Fl_Group *tabContest=(Fl_Group *)0;
Fl_Box *lblSend=(Fl_Box *)0;
@ -3682,7 +3720,7 @@ Fl_Double_Window* ConfigureDialog() {
o->selection_color((Fl_Color)51);
o->labelsize(18);
o->align(Fl_Align(FL_ALIGN_CLIP|FL_ALIGN_INSIDE));
{ tabsConfigure = new Fl_Tabs(0, 0, 598, 372);
{ tabsConfigure = new Fl_Tabs(0, 0, 598, 370);
tabsConfigure->color(FL_LIGHT1);
tabsConfigure->selection_color(FL_LIGHT1);
{ tabOperator = new Fl_Group(0, 25, 598, 345, _("Operator"));
@ -3799,7 +3837,7 @@ Fl_Double_Window* ConfigureDialog() {
tabUI->hide();
{ tabsUI = new Fl_Tabs(2, 25, 596, 345);
tabsUI->selection_color(FL_LIGHT1);
{ tabBrowser = new Fl_Group(4, 50, 592, 320, _("Browser"));
{ tabBrowser = new Fl_Group(0, 50, 598, 320, _("Browser"));
{ Fl_Group* o = new Fl_Group(6, 59, 588, 300);
o->box(FL_ENGRAVED_FRAME);
{ Fl_Spinner2* o = cntChannels = new Fl_Spinner2(18, 69, 50, 24, _("Channels, first channel starts at waterfall lower limit"));
@ -3891,11 +3929,27 @@ Fl_Double_Window* ConfigureDialog() {
} // Fl_Button* bwsrSldrSelColor
o->end();
} // Fl_Group* o
{ Fl_Group* o = new Fl_Group(237, 281, 187, 60, _("Parser Colors"));
o->box(FL_ENGRAVED_FRAME);
{ bwsrHiLite_1_color = new Fl_Button(245, 303, 80, 24, _("HiLite 1"));
bwsrHiLite_1_color->tooltip(_("PSK/RTTY Viewer HiLite Color 1"));
bwsrHiLite_1_color->callback((Fl_Callback*)cb_bwsrHiLite_1_color);
bwsrHiLite_1_color->align(Fl_Align(FL_ALIGN_TOP));
bwsrHiLite_1_color->color(fl_rgb_color(progdefaults.bwsrHiLight1.R, progdefaults.bwsrHiLight1.G,progdefaults.bwsrHiLight1.B));
} // Fl_Button* bwsrHiLite_1_color
{ bwsrHiLite_2_color = new Fl_Button(333, 303, 80, 24, _("HiLite 2"));
bwsrHiLite_2_color->tooltip(_("PSK/RTTY Viewer HiLite Color 2"));
bwsrHiLite_2_color->callback((Fl_Callback*)cb_bwsrHiLite_2_color);
bwsrHiLite_2_color->align(Fl_Align(FL_ALIGN_TOP));
bwsrHiLite_2_color->color(fl_rgb_color(progdefaults.bwsrHiLight2.R, progdefaults.bwsrHiLight2.G,progdefaults.bwsrHiLight2.B));
} // Fl_Button* bwsrHiLite_2_color
o->end();
} // Fl_Group* o
o->end();
} // Fl_Group* o
tabBrowser->end();
} // Fl_Group* tabBrowser
{ tabContest = new Fl_Group(4, 50, 592, 320, _("Contest"));
{ tabContest = new Fl_Group(0, 50, 598, 320, _("Contest"));
tabContest->hide();
{ Fl_Group* o = new Fl_Group(8, 60, 584, 80, _("Exchanges"));
o->box(FL_ENGRAVED_FRAME);
@ -4048,7 +4102,7 @@ Fl_Double_Window* ConfigureDialog() {
} // Fl_Group* o
tabContest->end();
} // Fl_Group* tabContest
{ tabUserInterface = new Fl_Group(4, 50, 592, 320, _("General"));
{ tabUserInterface = new Fl_Group(0, 50, 598, 320, _("General"));
tabUserInterface->hide();
{ Fl_Group* o = new Fl_Group(6, 55, 586, 76);
o->box(FL_ENGRAVED_FRAME);
@ -4141,7 +4195,7 @@ ndow decoration close button pressed."));
} // Fl_Group* o
tabUserInterface->end();
} // Fl_Group* tabUserInterface
{ tabLogServer = new Fl_Group(4, 50, 592, 320, _("Logging"));
{ tabLogServer = new Fl_Group(0, 50, 598, 320, _("Logging"));
tabLogServer->hide();
{ Fl_Group* o = new Fl_Group(6, 57, 586, 180, _("QSO logging"));
o->box(FL_ENGRAVED_FRAME);
@ -4291,7 +4345,7 @@ ab and newline are automatically included."));
} // Fl_Group* o
tabLogServer->end();
} // Fl_Group* tabLogServer
{ tabMBars = new Fl_Group(4, 50, 592, 320, _("Macros"));
{ tabMBars = new Fl_Group(0, 50, 598, 320, _("Macros"));
tabMBars->hide();
{ Fl_Group* o = new Fl_Group(6, 54, 586, 195, _("Number and position of macro bars"));
o->box(FL_ENGRAVED_FRAME);
@ -4372,7 +4426,7 @@ ab and newline are automatically included."));
} // Fl_Group* o
tabMBars->end();
} // Fl_Group* tabMBars
{ tabWF_UI = new Fl_Group(4, 50, 592, 320, _("WF Ctrls"));
{ tabWF_UI = new Fl_Group(0, 50, 598, 320, _("WF Ctrls"));
tabWF_UI->hide();
{ Fl_Group* o = new Fl_Group(6, 58, 586, 306);
o->box(FL_ENGRAVED_BOX);
@ -4465,7 +4519,7 @@ ab and newline are automatically included."));
{ tabsWaterfall = new Fl_Tabs(2, 25, 596, 345);
tabsWaterfall->color(FL_LIGHT1);
tabsWaterfall->selection_color(FL_LIGHT1);
{ Fl_Group* o = new Fl_Group(4, 50, 592, 320, _("Display"));
{ Fl_Group* o = new Fl_Group(0, 50, 598, 320, _("Display"));
{ Fl_Group* o = new Fl_Group(6, 60, 588, 194, _("Colors and cursors"));
o->box(FL_ENGRAVED_FRAME);
o->align(Fl_Align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE));
@ -4660,7 +4714,7 @@ ab and newline are automatically included."));
} // Fl_Group* o
o->end();
} // Fl_Group* o
{ Fl_Group* o = new Fl_Group(3, 50, 593, 320, _("FFT Processing"));
{ Fl_Group* o = new Fl_Group(0, 50, 598, 320, _("FFT Processing"));
o->hide();
{ Fl_Group* o = new Fl_Group(6, 62, 588, 135);
o->box(FL_ENGRAVED_FRAME);
@ -4771,7 +4825,7 @@ an merging"));
} // Fl_Group* o
o->end();
} // Fl_Group* o
{ Fl_Group* o = new Fl_Group(4, 50, 592, 320, _("Mouse"));
{ Fl_Group* o = new Fl_Group(0, 50, 598, 320, _("Mouse"));
o->hide();
{ Fl_Group* o = new Fl_Group(6, 62, 588, 170);
o->box(FL_ENGRAVED_FRAME);
@ -4902,7 +4956,7 @@ an merging"));
tabCW->hide();
{ tabsCW = new Fl_Tabs(0, 50, 598, 320);
tabsCW->selection_color(FL_LIGHT1);
{ Fl_Group* o = new Fl_Group(4, 75, 592, 295, _("General"));
{ Fl_Group* o = new Fl_Group(0, 75, 598, 295, _("General"));
o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
{ Fl_Group* o = new Fl_Group(6, 85, 588, 153, _("Receive"));
o->box(FL_ENGRAVED_FRAME);
@ -5129,7 +5183,7 @@ an merging"));
} // Fl_Group* o
o->end();
} // Fl_Group* o
{ Fl_Group* o = new Fl_Group(4, 75, 592, 295, _("Timing and QSK"));
{ Fl_Group* o = new Fl_Group(0, 75, 598, 295, _("Timing and QSK"));
o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
o->hide();
{ Fl_Group* o = new Fl_Group(6, 85, 588, 120, _("Timing"));
@ -5275,10 +5329,10 @@ an merging"));
} // Fl_Group* o
o->end();
} // Fl_Group* o
{ Fl_Group* o = new Fl_Group(4, 75, 592, 295, _("Prosigns"));
{ Fl_Group* o = new Fl_Group(0, 75, 598, 295, _("Prosigns"));
o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
o->hide();
{ Fl_Group* o = new Fl_Group(6, 86, 588, 280);
{ Fl_Group* o = new Fl_Group(6, 84, 588, 280);
o->box(FL_ENGRAVED_FRAME);
{ Fl_Check_Button* o = btnCW_use_paren = new Fl_Check_Button(289, 249, 68, 15, _("Use \'(\' paren not KN"));
btnCW_use_paren->down_box(FL_DOWN_BOX);
@ -6299,7 +6353,7 @@ ng)"));
tabRig->hide();
{ tabsRig = new Fl_Tabs(4, 25, 592, 345);
tabsRig->selection_color(FL_LIGHT1);
{ Fl_Group* o = new Fl_Group(4, 50, 592, 320, _("Hardware PTT"));
{ Fl_Group* o = new Fl_Group(0, 50, 598, 320, _("Hardware PTT"));
{ Fl_Group* o = new Fl_Group(6, 57, 588, 38);
o->box(FL_ENGRAVED_FRAME);
{ Fl_Check_Button* o = btnPTTrightchannel = new Fl_Check_Button(175, 66, 250, 20, _("PTT tone on right audio channel "));
@ -6385,7 +6439,7 @@ ng)"));
} // Fl_Group* grpPTTdelays
o->end();
} // Fl_Group* o
{ Fl_Group* o = new Fl_Group(4, 50, 592, 320, _("RigCAT"));
{ Fl_Group* o = new Fl_Group(0, 50, 598, 320, _("RigCAT"));
o->tooltip(_("Rig Control using xml spec file"));
o->hide();
{ chkUSERIGCAT = new Fl_Check_Button(245, 58, 110, 20, _("Use RigCAT"));
@ -6548,7 +6602,7 @@ ng)"));
} // Fl_Group* grpRigCAT
o->end();
} // Fl_Group* o
{ tabHamlib = new Fl_Group(4, 50, 592, 320, _("Hamlib"));
{ tabHamlib = new Fl_Group(0, 50, 598, 320, _("Hamlib"));
tabHamlib->hide();
{ chkUSEHAMLIB = new Fl_Check_Button(250, 58, 100, 20, _("Use Hamlib"));
chkUSEHAMLIB->tooltip(_("Hamlib used for rig control"));
@ -6757,7 +6811,7 @@ ng)"));
} // Fl_Group* grpHamlib
tabHamlib->end();
} // Fl_Group* tabHamlib
{ Fl_Group* o = new Fl_Group(4, 50, 592, 320, _("MemMap"));
{ Fl_Group* o = new Fl_Group(0, 50, 598, 320, _("MemMap"));
o->hide();
{ grpMemmap = new Fl_Group(6, 58, 588, 185);
grpMemmap->box(FL_ENGRAVED_FRAME);
@ -6786,7 +6840,7 @@ ng)"));
} // Fl_Group* grpMemmap
o->end();
} // Fl_Group* o
{ tabXMLRPC = new Fl_Group(4, 50, 592, 320, _("XML-RPC"));
{ tabXMLRPC = new Fl_Group(0, 50, 598, 320, _("XML-RPC"));
tabXMLRPC->hide();
{ grpXMLRPC = new Fl_Group(6, 58, 588, 160);
grpXMLRPC->box(FL_ENGRAVED_FRAME);
@ -6818,7 +6872,7 @@ ng)"));
tabSoundCard->hide();
{ tabsSoundCard = new Fl_Tabs(2, 25, 596, 345);
tabsSoundCard->selection_color(FL_LIGHT1);
{ tabAudio = new Fl_Group(4, 50, 592, 320, _("Devices"));
{ tabAudio = new Fl_Group(0, 50, 598, 320, _("Devices"));
{ AudioOSS = new Fl_Group(6, 60, 588, 45);
AudioOSS->box(FL_ENGRAVED_FRAME);
{ btnAudioIO[0] = new Fl_Round_Button(15, 70, 53, 25, _("OSS"));
@ -6891,7 +6945,7 @@ ng)"));
} // Fl_Group* AudioNull
tabAudio->end();
} // Fl_Group* tabAudio
{ tabAudioOpt = new Fl_Group(4, 50, 592, 320, _("Settings"));
{ tabAudioOpt = new Fl_Group(0, 50, 598, 320, _("Settings"));
tabAudioOpt->hide();
{ grpAudioSampleRate = new Fl_Group(10, 60, 580, 90, _("Sample rate"));
grpAudioSampleRate->box(FL_ENGRAVED_FRAME);
@ -6981,7 +7035,7 @@ ll with your audio device."));
} // Fl_Group* o
tabAudioOpt->end();
} // Fl_Group* tabAudioOpt
{ tabMixer = new Fl_Group(4, 50, 592, 320, _("Mixer"));
{ tabMixer = new Fl_Group(0, 50, 598, 320, _("Mixer"));
tabMixer->hide();
{ Fl_Group* o = new Fl_Group(10, 57, 580, 145, _("OSS mixer"));
o->box(FL_ENGRAVED_FRAME);
@ -7027,7 +7081,7 @@ ll with your audio device."));
} // Fl_Group* o
tabMixer->end();
} // Fl_Group* tabMixer
{ tabAudioRightChannel = new Fl_Group(4, 50, 592, 320, _("Right channel"));
{ tabAudioRightChannel = new Fl_Group(0, 50, 598, 320, _("Right channel"));
tabAudioRightChannel->hide();
{ chkForceMono = new Fl_Check_Button(145, 66, 332, 20, _("Mono audio output"));
chkForceMono->tooltip(_("Force output audio to single channel"));
@ -7273,7 +7327,7 @@ d frequency"));
tabMisc->hide();
{ tabsMisc = new Fl_Tabs(4, 25, 592, 345);
tabsMisc->selection_color(FL_LIGHT1);
{ tabCPUspeed = new Fl_Group(4, 50, 592, 320, _("CPU"));
{ tabCPUspeed = new Fl_Group(0, 50, 598, 320, _("CPU"));
{ Fl_Group* o = new Fl_Group(6, 60, 588, 51);
o->box(FL_ENGRAVED_FRAME);
o->align(Fl_Align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE));
@ -7287,7 +7341,7 @@ d frequency"));
} // Fl_Group* o
tabCPUspeed->end();
} // Fl_Group* tabCPUspeed
{ tabNBEMS = new Fl_Group(4, 50, 592, 320, _("NBEMS"));
{ tabNBEMS = new Fl_Group(0, 50, 598, 320, _("NBEMS"));
tabNBEMS->hide();
{ Fl_Group* o = new Fl_Group(6, 60, 588, 75, _("NBEMS data file interface"));
o->box(FL_ENGRAVED_FRAME);
@ -7357,7 +7411,7 @@ d frequency"));
} // Fl_Group* o
tabNBEMS->end();
} // Fl_Group* tabNBEMS
{ tabPskmail = new Fl_Group(4, 50, 592, 320, _("Pskmail"));
{ tabPskmail = new Fl_Group(0, 50, 598, 320, _("Pskmail"));
tabPskmail->align(Fl_Align(FL_ALIGN_TOP_LEFT));
tabPskmail->hide();
{ Fl_Group* o = new Fl_Group(6, 58, 588, 174, _("Mail Server Attributes"));
@ -7464,7 +7518,7 @@ d frequency"));
} // Fl_Group* o
tabPskmail->end();
} // Fl_Group* tabPskmail
{ tabSpot = new Fl_Group(4, 50, 592, 320, _("Spotting"));
{ tabSpot = new Fl_Group(0, 50, 598, 320, _("Spotting"));
tabSpot->hide();
{ Fl_Group* o = new Fl_Group(6, 60, 588, 215, _("PSK Reporter"));
o->box(FL_ENGRAVED_FRAME);
@ -7529,7 +7583,7 @@ d frequency"));
} // Fl_Group* o
tabSpot->end();
} // Fl_Group* tabSpot
{ tabSweetSpot = new Fl_Group(4, 50, 592, 320, _("Sweet Spot"));
{ tabSweetSpot = new Fl_Group(0, 50, 598, 320, _("Sweet Spot"));
tabSweetSpot->hide();
{ Fl_Group* o = new Fl_Group(6, 60, 588, 75);
o->box(FL_ENGRAVED_FRAME);
@ -7620,7 +7674,7 @@ d frequency"));
} // Fl_Group* o
tabSweetSpot->end();
} // Fl_Group* tabSweetSpot
{ tabText_IO = new Fl_Group(4, 50, 592, 320, _("Text i/o"));
{ tabText_IO = new Fl_Group(0, 50, 598, 320, _("Text i/o"));
tabText_IO->hide();
{ grpTalker = new Fl_Group(6, 117, 588, 80, _("Talker Socket (MS only)"));
grpTalker->box(FL_ENGRAVED_FRAME);
@ -7652,7 +7706,7 @@ d frequency"));
} // Fl_Group* o
tabText_IO->end();
} // Fl_Group* tabText_IO
{ tabDTMFdecode = new Fl_Group(4, 50, 592, 320, _("DTMF"));
{ tabDTMFdecode = new Fl_Group(0, 50, 598, 320, _("DTMF"));
tabDTMFdecode->hide();
{ Fl_Check_Button* o = chkDTMFdecode = new Fl_Check_Button(212, 85, 175, 20, _("Decode DTMF tones"));
chkDTMFdecode->tooltip(_("Send rx text to file: textout.txt"));
@ -7662,7 +7716,7 @@ d frequency"));
} // Fl_Check_Button* chkDTMFdecode
tabDTMFdecode->end();
} // Fl_Group* tabDTMFdecode
{ tabWX = new Fl_Group(4, 50, 592, 320, _("WX"));
{ tabWX = new Fl_Group(0, 50, 598, 320, _("WX"));
tabWX->hide();
{ Fl_Group* o = new Fl_Group(6, 60, 588, 300, _("Weather query specification"));
o->box(FL_ENGRAVED_FRAME);
@ -7751,7 +7805,7 @@ d frequency"));
tabQRZ->tooltip(_("Callsign database"));
tabQRZ->hide();
{ Fl_Tabs* o = new Fl_Tabs(4, 25, 592, 345);
{ Fl_Group* o = new Fl_Group(4, 46, 592, 324, _("Call Lookup"));
{ Fl_Group* o = new Fl_Group(0, 50, 598, 320, _("Call Lookup"));
{ Fl_Group* o = new Fl_Group(6, 52, 588, 122, _("Web Browser lookup"));
o->box(FL_ENGRAVED_FRAME);
o->align(Fl_Align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE));
@ -7876,7 +7930,7 @@ d frequency"));
} // Fl_Group* o
o->end();
} // Fl_Group* o
{ Fl_Group* o = new Fl_Group(4, 50, 592, 320, _("eQSL"));
{ Fl_Group* o = new Fl_Group(0, 50, 598, 320, _("eQSL"));
o->hide();
{ Fl_Input2* o = inpEQSL_id = new Fl_Input2(225, 58, 150, 20, _("User ID"));
inpEQSL_id->tooltip(_("Your login name"));

Wyświetl plik

@ -14,10 +14,10 @@ decl {\#include <FL/Fl_Tooltip.H>} {private local
decl {\#include <FL/Fl_Box.H>} {private local
}
decl {\#include <FL/Fl_File_Chooser.H>} {private local
decl {\#include <FL/filename.H>} {private local
}
decl {\#include <FL/filename.H>} {private local
decl {\#include <FL/Fl_File_Chooser.H>} {private local
}
decl {\#include "main.h"} {private local
@ -91,12 +91,6 @@ decl {\#if USE_HAMLIB
\#endif} {private local
}
decl {extern void WefaxDestDirSet(Fl_File_Chooser *w, void *userdata);} {private local
}
decl {extern void NvtxCatalogSet(Fl_File_Chooser *w, void *userdata);} {private local
}
decl {Fl_Double_Window *dlgConfig;} {public local
}
@ -142,7 +136,7 @@ static const char szProsigns[] = "~|%|&|+|=|{|}|<|>|[|]| ";} {}
xywh {604 62 600 400} type Double color 45 selection_color 51 labelsize 18 align 80 non_modal visible
} {
Fl_Tabs tabsConfigure {open
xywh {0 0 598 372} color 50 selection_color 50
xywh {0 0 598 370} color 50 selection_color 50
} {
Fl_Group tabOperator {
label Operator
@ -234,7 +228,7 @@ progdefaults.changed = true;}
} {
Fl_Group tabBrowser {
label Browser
xywh {4 50 592 320}
xywh {0 50 598 320}
} {
Fl_Group {} {open
xywh {6 59 588 300} box ENGRAVED_FRAME
@ -363,11 +357,57 @@ progdefaults.changed = true;}
code0 {bwsrSldrSelColor->color(fl_rgb_color(progdefaults.bwsrSldrSelColor.R, progdefaults.bwsrSldrSelColor.G,progdefaults.bwsrSliderColor.B));}
}
}
Fl_Group {} {
label {Parser Colors} open
xywh {237 281 187 60} box ENGRAVED_FRAME
} {
Fl_Button bwsrHiLite_1_color {
label {HiLite 1}
callback {uchar r, g, b;
r = progdefaults.bwsrHiLight1.R;
g = progdefaults.bwsrHiLight1.G;
b = progdefaults.bwsrHiLight1.B;
if (fl_color_chooser("Slider Color", r, g, b) == 0)
return;
progdefaults.bwsrHiLight1.R = r;
progdefaults.bwsrHiLight1.G = g;
progdefaults.bwsrHiLight1.B = b;
o->color(fl_rgb_color(r,g,b));
o->redraw();
viewer_redraw();
progdefaults.changed = true;}
tooltip {PSK/RTTY Viewer HiLite Color 1} xywh {245 303 80 24} align 1
code0 {bwsrHiLite_1_color->color(fl_rgb_color(progdefaults.bwsrHiLight1.R, progdefaults.bwsrHiLight1.G,progdefaults.bwsrHiLight1.B));}
code1 {\#include "Viewer.h"}
}
Fl_Button bwsrHiLite_2_color {
label {HiLite 2}
callback {uchar r, g, b;
r = progdefaults.bwsrHiLight2.R;
g = progdefaults.bwsrHiLight2.G;
b = progdefaults.bwsrHiLight2.B;
if (fl_color_chooser("Slider Color", r, g, b) == 0)
return;
progdefaults.bwsrHiLight2.R = r;
progdefaults.bwsrHiLight2.G = g;
progdefaults.bwsrHiLight2.B = b;
o->color(fl_rgb_color(r,g,b));
o->redraw();
viewer_redraw();
progdefaults.changed = true;}
tooltip {PSK/RTTY Viewer HiLite Color 2} xywh {333 303 80 24} align 1
code0 {bwsrHiLite_2_color->color(fl_rgb_color(progdefaults.bwsrHiLight2.R, progdefaults.bwsrHiLight2.G,progdefaults.bwsrHiLight2.B));}
}
}
}
}
Fl_Group tabContest {
label Contest
xywh {4 50 592 320} hide
xywh {0 50 598 320} hide
} {
Fl_Group {} {
label Exchanges open
@ -507,7 +547,7 @@ progdefaults.changed = true;}
}
Fl_Group tabUserInterface {
label General open
xywh {4 50 592 320} hide
xywh {0 50 598 320} hide
} {
Fl_Group {} {open
xywh {6 55 586 76} box ENGRAVED_FRAME
@ -622,7 +662,7 @@ progdefaults.changed = true;}
}
Fl_Group tabLogServer {
label Logging
xywh {4 50 592 320} hide
xywh {0 50 598 320} hide
} {
Fl_Group {} {
label {QSO logging} open
@ -775,7 +815,7 @@ connect_to_log_server();}
}
Fl_Group tabMBars {
label Macros
xywh {4 50 592 320} hide
xywh {0 50 598 320} hide
} {
Fl_Group {} {
label {Number and position of macro bars} open
@ -896,7 +936,7 @@ progdefaults.changed = true;}
}
Fl_Group tabWF_UI {
label {WF Ctrls}
xywh {4 50 592 320} hide
xywh {0 50 598 320} hide
} {
Fl_Group {} {open
xywh {6 58 586 306} box ENGRAVED_BOX
@ -1044,7 +1084,7 @@ WF_UI();}
} {
Fl_Group {} {
label Display open
xywh {4 50 592 320}
xywh {0 50 598 320}
} {
Fl_Group {} {
label {Colors and cursors} open
@ -1285,7 +1325,7 @@ progdefaults.changed = true;}
}
Fl_Group {} {
label {FFT Processing}
xywh {3 50 593 320} hide
xywh {0 50 598 320} hide
} {
Fl_Group {} {open
xywh {6 62 588 135} box ENGRAVED_FRAME
@ -1355,7 +1395,7 @@ progdefaults.changed = true;}
}
Fl_Group {} {
label Mouse
xywh {4 50 592 320} hide
xywh {0 50 598 320} hide
} {
Fl_Group {} {open
xywh {6 62 588 170} box ENGRAVED_FRAME
@ -1479,8 +1519,8 @@ progdefaults.changed = true;}
xywh {0 50 598 320} selection_color 50
} {
Fl_Group {} {
label General open
xywh {4 75 592 295} align 5
label General
xywh {0 75 598 295} align 5
} {
Fl_Group {} {
label Receive open
@ -1636,7 +1676,7 @@ progdefaults.changed = true;}
}
Fl_Group {} {
label {Timing and QSK}
xywh {4 75 592 295} align 5 hide
xywh {0 75 598 295} align 5 hide
} {
Fl_Group {} {
label Timing open
@ -1745,10 +1785,10 @@ progdefaults.changed = true;}
}
Fl_Group {} {
label Prosigns
xywh {4 75 592 295} align 5 hide
xywh {0 75 598 295} align 5 hide
} {
Fl_Group {} {open
xywh {6 86 588 280} box ENGRAVED_FRAME
xywh {6 84 588 280} box ENGRAVED_FRAME
} {
Fl_Check_Button btnCW_use_paren {
label {Use '(' paren not KN}
@ -2749,7 +2789,7 @@ progdefaults.changed = true;}
} {
Fl_Group {} {
label {Hardware PTT}
xywh {4 50 592 320}
xywh {0 50 598 320}
} {
Fl_Group {} {open
xywh {6 57 588 38} box ENGRAVED_FRAME
@ -2886,7 +2926,7 @@ progdefaults.changed = true;}
}
Fl_Group {} {
label RigCAT
tooltip {Rig Control using xml spec file} xywh {4 50 592 320} hide
tooltip {Rig Control using xml spec file} xywh {0 50 598 320} hide
} {
Fl_Check_Button chkUSERIGCAT {
label {Use RigCAT}
@ -3076,7 +3116,7 @@ btnRevertRIGCAT->activate();}
}
Fl_Group tabHamlib {
label Hamlib
xywh {4 50 592 320} hide
xywh {0 50 598 320} hide
} {
Fl_Check_Button chkUSEHAMLIB {
label {Use Hamlib}
@ -3277,7 +3317,7 @@ hamlib_restore_defaults();
}
Fl_Group {} {
label MemMap
xywh {4 50 592 320} hide
xywh {0 50 598 320} hide
} {
Fl_Group grpMemmap {open
xywh {6 58 588 185} box ENGRAVED_FRAME
@ -3324,7 +3364,7 @@ progdefaults.changed = true;}
}
Fl_Group tabXMLRPC {
label {XML-RPC}
xywh {4 50 592 320} hide
xywh {0 50 598 320} hide
} {
Fl_Group grpXMLRPC {open
xywh {6 58 588 160} box ENGRAVED_FRAME
@ -3370,7 +3410,7 @@ progdefaults.changed = true;}
} {
Fl_Group tabAudio {
label Devices
xywh {4 50 592 320}
xywh {0 50 598 320}
} {
Fl_Group AudioOSS {
xywh {6 60 588 45} box ENGRAVED_FRAME
@ -3454,7 +3494,7 @@ resetSoundCard();}
}
Fl_Group tabAudioOpt {
label Settings
xywh {4 50 592 320} hide
xywh {0 50 598 320} hide
} {
Fl_Group grpAudioSampleRate {
label {Sample rate} open
@ -3535,7 +3575,7 @@ progdefaults.changed = true;}
}
Fl_Group tabMixer {
label Mixer open
xywh {4 50 592 320} hide
xywh {0 50 598 320} hide
} {
Fl_Group {} {
label {OSS mixer} open
@ -3600,7 +3640,7 @@ progdefaults.changed = true;}
}
Fl_Group tabAudioRightChannel {
label {Right channel} open
xywh {4 50 592 320} hide
xywh {0 50 598 320} hide
} {
Fl_Check_Button chkForceMono {
label {Mono audio output}
@ -3940,7 +3980,7 @@ progdefaults.changed = true;}
} {
Fl_Group tabCPUspeed {
label CPU open
xywh {4 50 592 320}
xywh {0 50 598 320}
} {
Fl_Group {} {open
xywh {6 60 588 51} box ENGRAVED_FRAME align 21
@ -3956,7 +3996,7 @@ progdefaults.changed = true;}
}
Fl_Group tabNBEMS {
label NBEMS open
xywh {4 50 592 320} hide
xywh {0 50 598 320} hide
} {
Fl_Group {} {
label {NBEMS data file interface} open
@ -4019,7 +4059,7 @@ progdefaults.changed=true;}
}
Fl_Group tabPskmail {
label Pskmail
xywh {4 50 592 320} align 5 hide
xywh {0 50 598 320} align 5 hide
} {
Fl_Group {} {
label {Mail Server Attributes} open
@ -4086,7 +4126,7 @@ progdefaults.changed = true;}
}
Fl_Group tabSpot {
label Spotting
xywh {4 50 592 320} hide
xywh {0 50 598 320} hide
} {
Fl_Group {} {
label {PSK Reporter} open
@ -4162,7 +4202,7 @@ progdefaults.changed = true;}
}
Fl_Group tabSweetSpot {
label {Sweet Spot}
xywh {4 50 592 320} hide
xywh {0 50 598 320} hide
} {
Fl_Group {} {open
xywh {6 60 588 75} box ENGRAVED_FRAME align 21
@ -4226,7 +4266,7 @@ progdefaults.changed=true;}
}
Fl_Group tabText_IO {
label {Text i/o}
xywh {4 50 592 320} hide
xywh {0 50 598 320} hide
} {
Fl_Group grpTalker {
label {Talker Socket (MS only)} open
@ -4266,7 +4306,7 @@ progdefaults.changed = true;}
}
Fl_Group tabDTMFdecode {
label DTMF
xywh {4 50 592 320} hide
xywh {0 50 598 320} hide
} {
Fl_Check_Button chkDTMFdecode {
label {Decode DTMF tones}
@ -4277,7 +4317,7 @@ progdefaults.changed = true;}
}
Fl_Group tabWX {
label WX
xywh {4 50 592 320} hide
xywh {0 50 598 320} hide
} {
Fl_Group {} {
label {Weather query specification} open
@ -4385,7 +4425,7 @@ progdefaults.changed = true;}
} {
Fl_Group {} {
label {Call Lookup}
xywh {4 46 592 324}
xywh {0 50 598 320}
} {
Fl_Group {} {
label {Web Browser lookup} open
@ -4519,7 +4559,7 @@ o->label((inpQRZuserpassword->type() & FL_SECRET_INPUT) ? "Show" : "Hide");}
}
Fl_Group {} {
label eQSL open
xywh {4 50 592 320} hide
xywh {0 50 598 320} hide
} {
Fl_Input inpEQSL_id {
label {User ID}

Wyświetl plik

@ -4214,11 +4214,28 @@ void LOGBOOK_colors_font()
// browser (table)
ypos += btns[0]->h() + 4;
wBrowser->font(progdefaults.LOGBOOKtextfont);
wBrowser->fontsize(progdefaults.LOGBOOKtextsize);
wBrowser->color(progdefaults.LOGBOOKcolor);
wBrowser->selection_color(FL_SELECTION_COLOR);
wBrowser->resize(wBrowser->x(), ypos, dlgLogbook->w() - 2*wBrowser->x(), dlgLogbook->h() - 2 - ypos);
int twidth = wBrowser->w() - wBrowser->scrollbSize() - 4;
int datewidth = fl_width( "8", 9 ) + 4;
int timewidth = fl_width( "8", 6 ) + 4;
int callwidth = fl_width( "W", 12) + 4;
int freqwidth = fl_width( "8", 10) + 4;
int modewidth = fl_width( "W", 20) + 4;
int namewidth = twidth - datewidth - timewidth - callwidth - freqwidth - modewidth;
wBrowser->columnWidth (0, datewidth); // Date column
wBrowser->columnWidth (1, timewidth); // Time column
wBrowser->columnWidth (2, callwidth); // Callsign column
wBrowser->columnWidth (3, namewidth); // Name column
wBrowser->columnWidth (4, freqwidth); // Frequency column
wBrowser->columnWidth (5, modewidth); // Mode column
dlgLogbook->init_sizes();
dlgLogbook->damage();
dlgLogbook->redraw();

Wyświetl plik

@ -25,5 +25,6 @@ extern void viewerswap(int, int);
extern void initViewer();
extern void viewclearchannel(int ch);
extern void viewer_paste_freq(int freq);
extern void viewer_redraw();
#endif

Wyświetl plik

@ -43,6 +43,9 @@ extern Fl_Check_Button *btnAscend;
extern Fl_Check_Button *btnBrowserHistory;
extern Fl_Button *bwsrSliderColor;
extern Fl_Button *bwsrSldrSelColor;
#include "Viewer.h"
extern Fl_Button *bwsrHiLite_1_color;
extern Fl_Button *bwsrHiLite_2_color;
extern Fl_Group *tabContest;
#include <FL/Fl_Box.H>
extern Fl_Box *lblSend;

Wyświetl plik

@ -114,6 +114,10 @@
"Mode names for which RSID transmission is disabled", \
mode_set_t()) \
\
ELEM_(int, rsid_resolution, "RSID_RESOLUTION", \
"values (LOW) 5, 4, 3, 2 (HIGH)", \
5) \
\
ELEM_(bool, slowcpu, "SLOWCPU", \
"Disable expensive processing in some decoders", \
true) \
@ -489,7 +493,7 @@
ELEM_(double, ThorCWI, "THORCWI", \
"CWI threshold (CWI detection and suppression)", \
0.0) \
ELEM_(bool, THOR_PREAMBLE, "THORPREAMBLE", \
ELEM_(bool, THOR_PREAMBLE, "THORPREAMBLE", \
"Detect THOR preamble (and flush Rx pipeline)", \
true) \
ELEM_(bool, THOR_SOFTSYMBOLS, "THORSOFTSYMBOLS", \
@ -499,7 +503,7 @@
"Enable Soft-bit decoding", \
true) \
/* PACKET */ \
ELEM_(int, PKT_BAUD_SELECT, "PKTBAUDSELECT", \
ELEM_(int, PKT_BAUD_SELECT, "PKTBAUDSELECT", \
"Packet baud rate. Values are as follows:\n" \
" 0: 1200 (V/UHF); 1: 300 (HF); 2: 2400 (V/UHF)", \
0) /* 1200 baud (V/UHF) default. */ \
@ -517,14 +521,15 @@
0.0) \
ELEM_(bool, PKT_PreferXhairScope, "PKTPREFERXHAIRSCOPE", \
"Default to syncscope (detected symbol scope)", \
false) ELEM_(bool, PKT_AudioBoost, "PKTAUDIOBOOST", \
false) \
ELEM_(bool, PKT_AudioBoost, "PKTAUDIOBOOST", \
"No extra input gain (similar to Mic Boost) by default", \
false) \
\
\
ELEM_(bool, PKT_RXTimestamp, "PKTRXTIMESTAMP", \
"No timestamps on RX packets by default", \
false) \
\
\
ELEM_(bool, PKT_expandMicE, "PKTEXPANDMICE", \
"decode received Mic-E data", \
false) \
@ -941,7 +946,7 @@
"Operator name", \
"") \
ELEM_(std::string, myLocator, "MYLOC", \
"Operator Maidenhead locator", \
"Operator Maidenhead locator", \
"") \
ELEM_(std::string, myAntenna, "MYANTENNA", \
"Antenna description (keep short!)", \
@ -1033,6 +1038,15 @@
ELEM_(RGB, bwsrSldrSelColor,"BWSRSLDRSELCOLOR", \
"Button highlight color, signal browser detect level", \
{54, 100, 139}) \
ELEM_(RGB, bwsrHiLight1, "BWSRHILIGHT1", \
"View Browser highlight color 1, default Dark Red", \
{128, 0, 0}) \
ELEM_(RGB, bwsrHiLight2, "BWSRHILIGHT2", \
"View Browser highlight color 2, default Dark Green", \
{0, 128, 0}) \
ELEM_(RGB, bwsrHiLight3, "BWSRHILIGHT3", \
"View Browser highlight color 3, default Dark Blue", \
{0, 0, 128}) \
ELEM_(RGB, dup_color, "dupcolor", \
"Callsign background color when duplicate detected", \
{255, 110, 180}) \

Wyświetl plik

@ -1,6 +1,7 @@
#ifndef PSK_BROWSER_H
#define PSK_BROWSER_H
#include <FL/Fl.H>
#include <FL/Fl_Double_Window.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_Hold_Browser.H>
@ -18,9 +19,9 @@
class pskBrowser : public Fl_Hold_Browser{
private:
static std::string dkred;
static std::string dkblue;
static std::string dkgreen;
static std::string hilite_color_1;
static std::string hilite_color_3;
static std::string hilite_color_2;
static std::string bkselect;
static std::string white;
static std::string bkgnd[];
@ -36,6 +37,10 @@ private:
int labelwidth[VIEWER_LABEL_NTYPES];
Fl_Font fnt;
Fl_Color HiLite_1;
Fl_Color HiLite_2;
Fl_Color HiLite_3;
int siz;
int cols[2];
char szLine[32];
@ -57,6 +62,12 @@ public:
void makecolors();
void evalcwidth();
void setfont(Fl_Font font, int sz) { fnt = font; siz = sz; evalcwidth();}
void HighLight_1(Fl_Color clr) { HiLite_1 = clr; }
Fl_Color HighLight_1() { return HiLite_1; }
void HighLight_2(Fl_Color clr) { HiLite_3 = clr; }
Fl_Color HighLight_2() { return HiLite_2; }
void HighLight_3(Fl_Color clr) { HiLite_3 = clr; }
Fl_Color HighLight_3() { return HiLite_3; }
void columns(int a) { cols[0] = a; cols[1] = 0; column_widths(cols); }
void resize(int x, int y, int w, int h);
void addchr(int ch, int freq, unsigned char c, int md);

Wyświetl plik

@ -95,6 +95,9 @@ private:
int selected;
char **curRow;
Fl_Font tbl_font;
int tbl_fontsize;
// Various flags
bool ascent;
bool canResize, canSort;
@ -144,6 +147,15 @@ public:
virtual void resize(int x, int y, int w, int h);
void font(Fl_Font fnt) { tbl_font = fnt; }
Fl_Font font() { return tbl_font; }
void fontsize(int fntsize) {
tbl_fontsize = fntsize;
headerHeight = tbl_fontsize + 4;
rowHeight = tbl_fontsize + 4;
}
int fontsize() { return tbl_fontsize; }
Fl_Align headerAlign(int column) const;
void headerAlign(int column, Fl_Align align);

Wyświetl plik

@ -54,7 +54,7 @@ void Table::drawHeader(int x, int y) {
int w;
struct ColumnInfo col;
fl_font(FL_HELVETICA, headerHeight - 4);
fl_font(tbl_font, tbl_fontsize);
/*
* Draw all header cells that aren't clipped.
@ -105,7 +105,7 @@ void Table::drawRow(int row, char *rowData[], int x, int y) {
int w;
ColumnInfo col;
fl_font(FL_HELVETICA, rowHeight - 4);
fl_font(tbl_font, tbl_fontsize);
// Draw background box.
if (row != selected) {
@ -185,8 +185,9 @@ Table::Table(int x, int y, int w, int h, char *label) :
box(FL_THIN_DOWN_FRAME);
color(FL_BACKGROUND2_COLOR, FL_SELECTION_COLOR);
headerHeight = 18;
rowHeight = 17;
tbl_fontsize = 14;
headerHeight = tbl_fontsize + 4;
rowHeight = tbl_fontsize + 4;
scrollbarSize = 16;
// Create scrollbars.
@ -230,6 +231,8 @@ Table::Table(int x, int y, int w, int h, char *label) :
Vscroll = var;
Hscroll = var;
tbl_font = FL_HELVETICA;
}

Wyświetl plik

@ -1522,10 +1522,8 @@ void waterfall::Carrier(int f)
active_modem->set_freq(f);
}
extern void viewer_redraw();
void waterfall::rfcarrier(long long cf) {
wfdisp->rfcarrier(cf);
// REQ(&viewer_redraw);
}
long long waterfall::rfcarrier() {

Wyświetl plik

@ -126,7 +126,7 @@ void make_pixmap(Pixmap *xpm, const char **data, int argc, char** argv)
w.hide();
fl_begin_offscreen(*xpm);
// fl_color(FL_BACKGROUND_COLOR);
// Fl_Color(FL_BACKGROUND_COLOR);
// fl_rectf(0, 0, maxd, maxd);
icon.draw(maxd - icon.w(), maxd - icon.h());
fl_end_offscreen();

Wyświetl plik

@ -44,9 +44,9 @@
using namespace std;
string pskBrowser::dkred;
string pskBrowser::dkblue;
string pskBrowser::dkgreen;
string pskBrowser::hilite_color_1;
string pskBrowser::hilite_color_3;
string pskBrowser::hilite_color_2;
string pskBrowser::bkselect;
string pskBrowser::white;
string pskBrowser::bkgnd[2];
@ -65,6 +65,11 @@ pskBrowser::pskBrowser(int x, int y, int w, int h, const char *l)
seek_re = NULL;
cols[0] = 80; cols[1] = 0;
evalcwidth();
HiLite_1 = fl_rgb_color(128, 0, 0);
HiLite_2 = fl_rgb_color(0, 128, 0);
HiLite_3 = fl_rgb_color(0, 0, 128);
makecolors();
cdistiller = reinterpret_cast<CharsetDistiller*>(operator new(MAXCHANNELS*sizeof(CharsetDistiller)));
@ -172,16 +177,13 @@ void pskBrowser::resize(int x, int y, int w, int h)
else j = i;
bwsrline[j].clear();
linechars[j] = 0;
// size_t len = bwsrline[j].length();
// if (len > nchars)
// bwsrline[j] = bwsrline[j].substr(len - nchars);
bline = freqformat(j);
if (seek_re) {
if (seek_re->match(bwsrline[j].c_str(), REG_NOTBOL | REG_NOTEOL))
bline.append(dkred);
bline.append(hilite_color_1);
} else if (!progdefaults.myCall.empty() &&
strcasestr(bwsrline[j].c_str(), progdefaults.myCall.c_str()))
bline.append(dkgreen);
bline.append(hilite_color_2);
Fl_Hold_Browser::add(bline.c_str());
}
}
@ -191,26 +193,14 @@ void pskBrowser::makecolors()
{
char tempstr[20];
snprintf(tempstr, sizeof(tempstr), "@C%d",
adjust_color(fl_color_cube(128 * (FL_NUM_RED - 1) / 255,
0 * (FL_NUM_GREEN - 1) / 255,
0 * (FL_NUM_BLUE - 1) / 255),
FL_BACKGROUND2_COLOR)); // dark red
dkred = tempstr;
snprintf(tempstr, sizeof(tempstr), "@C%d", HiLite_1);
hilite_color_1 = tempstr;
snprintf(tempstr, sizeof(tempstr), "@C%d",
adjust_color(fl_color_cube(0 * (FL_NUM_RED - 1) / 255,
128 * (FL_NUM_GREEN - 1) / 255,
0 * (FL_NUM_BLUE - 1) / 255),
FL_BACKGROUND2_COLOR)); // dark green
dkgreen = tempstr;
snprintf(tempstr, sizeof(tempstr), "@C%d", HiLite_2);
hilite_color_2 = tempstr;
snprintf(tempstr, sizeof(tempstr), "@C%d",
adjust_color(fl_color_cube(0 * (FL_NUM_RED - 1) / 255,
0 * (FL_NUM_GREEN - 1) / 255,
128 * (FL_NUM_BLUE - 1) / 255),
FL_BACKGROUND2_COLOR)); // dark blue
dkblue = tempstr;
snprintf(tempstr, sizeof(tempstr), "@C%d", HiLite_3);
hilite_color_3 = tempstr;
snprintf(tempstr, sizeof(tempstr), "@C%d", FL_FOREGROUND_COLOR); // foreground
white = tempstr;
@ -271,10 +261,10 @@ void pskBrowser::addchr(int ch, int freq, unsigned char c, int md) // 0 < ch < c
if (seek_re) {
if (seek_re->match(bwsrline[ch].c_str(), REG_NOTBOL | REG_NOTEOL))
nuline.append(dkred);
nuline.append(hilite_color_1);
} else if (!progdefaults.myCall.empty() &&
strcasestr(bwsrline[ch].c_str(), progdefaults.myCall.c_str()))
nuline.append(dkgreen);
nuline.append(hilite_color_2);
nuline.append("@.").append(bwsrline[ch]);