1
// ----------------------------------------------------------------------------
5
// This file is part of flrig.
7
// flrig is free software; you can redistribute it and/or modify
8
// it under the terms of the GNU General Public License as published by
9
// the Free Software Foundation; either version 3 of the License, or
10
// (at your option) any later version.
12
// flrig is distributed in the hope that it will be useful,
13
// but WITHOUT ANY WARRANTY; without even the implied warranty of
14
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
// GNU General Public License for more details.
17
// You should have received a copy of the GNU General Public License
18
// along with this program. If not, see <http://www.gnu.org/licenses/>.
19
// ----------------------------------------------------------------------------
25
#include <FL/Fl_Preferences.H>
26
#include <FL/Fl_Progress.H>
35
string last_xcvr_used = "none";
42
wide_ui, // UISIZE, UIsize;
45
"NONE", // string xcvr_serial_port;
46
0, // int comm_baudrate;
48
2, // int comm_retries;
50
50, // int comm_timeout;
51
false, // bool comm_echo;
52
false, // bool comm_catptt;
53
false, // bool comm_rtsptt;
54
false, // bool comm_dtrptt;
55
false, // bool comm_rtscts;
56
false, // bool comm_rtsplus;
57
false, // bool comm_dtrplus;
58
200, // int serloop_timing;
59
0, // int byte_interval;
61
"NONE", // string aux_serial_port;
62
false, // bool aux_rts;
63
false, // bool aux_dtr;
65
"NONE", // string sep_serial_port;
66
false, // bool sep_rtsptt;
67
false, // bool sep_dtrptt;
68
false, // bool sep_rtsplus;
69
false, // bool sep_dtrplus;
71
false, // bool USBaudio;
73
1, // bool poll_smeter;
74
1, // bool poll_frequency;
76
1, // bool poll_bandwidth;
77
0, // bool poll_volume;
78
0, // bool poll_auto_notch;
79
0, // bool poll_notch;
80
0, // bool poll_ifshift;
81
0, // bool poll_power_control;
82
0, // bool poll_pre_att;
83
0, // bool poll_micgain;
84
0, // bool poll_squelch;
85
0, // bool poll_rfgain;
89
0, // bool poll_split;
90
0, // bool poll_noise;
96
7070000, // long freq_A;
99
7070000, // long freq_B;
100
true, // bool use_rig_data;
101
true, // bool restore_rig_data;
103
false, // bool spkr_on;
105
0, // int power_level;
107
false, // bool notch;
109
false, // bool shift;
117
false, // bool data_port;
120
3.0, // double cw_weight;
123
false, // bool spot_onoff;
124
700, // int cw_spot_tone;
126
false, // bool enable_keyer;
127
false, // int vox_onoff;
130
100, // int vox_hang; FT950 default
131
true, // bool vox_on_dataport;
132
0, // int compression;
133
false, // bool compON;
135
0, // bool noise_reduction;
136
0, // int noise_reduction_val;
139
false, // bool noise;
142
0, // int auto_notch;
146
true, // bool key_fldigi;
152
4, // int pwr_scale ==> Autoselect
155
80, // tt550_line_out;
156
1, // tt550_agc_level;
159
1.0, // tt550_cw_weight;
161
10, // tt550_cw_spot;
162
false, // tt550_cw_spot_onoff;
164
true, // tt550_enable_keyer;
166
false, // tt550_vox_onoff;
167
0, // tt550_vox_gain;
168
0, // tt550_vox_anti;
169
0, // tt550_vox_hang;
172
0, // tt550_squelch_level;
173
0, // tt550_compression;
174
1, // tt550_nb_level;
175
false, // tt550_bool compON;
176
false, // tt550_tuner_bypass;
178
true, // tt550_enable_xmtr;
179
false, // tt550_enable_tloop;
181
true, // tt550_use_line_in;
184
false, // tt550_use_xmt_bw;
186
25, // tt550_AM_level;
187
0, // tt550_encoder_step;
188
1, // tt550_encoder_sensitivity;
189
2000, // tt550_keypad_timeout;
200
true, // use_bpf_center;
203
255, // int bg_green;
219
180, // int smeterGreen;
226
0, // int fg_sys_red;
227
0, // int fg_sys_green;
228
0, // int fg_sys_blue;
230
0xc0, // int bg_sys_red;
231
0xc0, // int bg_sys_green;
232
0xc0, // int bg_sys_blue;
234
255, // int bg2_sys_red;
235
255, // int bg2_sys_green;
236
255, // int bg2_sys_blue;
238
232, // int slider_red;
239
255, // int slider_green;
240
232, // int slider_blue;
242
0, // int slider_btn_red;
243
0, // int slider_btn_green;
244
128, // int slider_btn_blue;
246
255, // int lighted_btn_red;
247
255, // int lighted_btn_green;
248
0, // int lighted_btn_blue;
250
FL_COURIER, // Fl_Font fontnbr;
252
false, // bool tooltips;
254
"gtk+", // string ui_scheme
256
"7362", // string server_port
257
"127.0.0.1",// string server_address
259
false, // bool xcvr auto on
260
false // bool xcvr auto off
264
void status::saveLastState()
266
last_xcvr_used = selrig->name_;
267
Fl_Preferences xcvrpref(RigHomeDir.c_str(), "w1hkj.com", PACKAGE_TARNAME);
268
xcvrpref.set("last_xcvr_used", last_xcvr_used.c_str());
270
int mX = mainwindow->x();
271
int mY = mainwindow->y();
272
int mW = mainwindow->w();
273
int mH = mainwindow->h();
275
if (mX >= 0 && mX >= 0) {
278
if (UIsize != small_ui) {
284
Fl_Preferences spref(RigHomeDir.c_str(), "w1hkj.com", last_xcvr_used.c_str());
286
spref.set("version", PACKAGE_VERSION);
288
spref.set("mainx", mainX);
289
spref.set("mainy", mainY);
290
spref.set("mainw", mainW);
291
spref.set("mainh", mainH);
293
if (UIchanged) UIsize = btn_wide_ui->value();
294
spref.set("uisize", UIsize);
296
spref.set("xcvr_serial_port", xcvr_serial_port.c_str());
297
spref.set("comm_baudrate", comm_baudrate);
298
spref.set("comm_stopbits", stopbits);
299
spref.set("comm_retries", comm_retries);
300
spref.set("comm_wait", comm_wait);
301
spref.set("comm_timeout", comm_timeout);
302
spref.set("serloop_timing", serloop_timing);
303
spref.set("byte_interval", byte_interval);
305
spref.set("comm_echo", comm_echo);
306
spref.set("ptt_via_cat", comm_catptt);
307
spref.set("ptt_via_rts", comm_rtsptt);
308
spref.set("ptt_via_dtr", comm_dtrptt);
309
spref.set("rts_cts_flow", comm_rtscts);
310
spref.set("rts_plus", comm_rtsplus);
311
spref.set("dtr_plus", comm_dtrplus);
312
spref.set("civadr", CIV);
313
spref.set("usbaudio", USBaudio);
315
spref.set("aux_serial_port", aux_serial_port.c_str());
316
spref.set("aux_rts", aux_rts);
317
spref.set("aux_dtr", aux_dtr);
319
spref.set("sep_serial_port", sep_serial_port.c_str());
320
spref.set("sep_rtsptt", sep_rtsptt);
321
spref.set("sep_dtrptt", sep_dtrptt);
322
spref.set("sep_rtsplus", sep_rtsplus);
323
spref.set("set_dtrplus", sep_dtrplus);
325
spref.set("key_fldigi", key_fldigi);
327
spref.set("poll_smeter", poll_smeter);
328
spref.set("poll_frequency", poll_frequency);
329
spref.set("poll_mode", poll_mode);
330
spref.set("poll_bandwidth", poll_bandwidth);
331
spref.set("poll_volume", poll_volume);
332
spref.set("poll_auto_notch", poll_auto_notch);
333
spref.set("poll_notch", poll_notch);
334
spref.set("poll_ifshift", poll_ifshift);
335
spref.set("poll_power_control", poll_power_control);
336
spref.set("poll_pre_att", poll_pre_att);
337
spref.set("poll_micgain", poll_micgain);
338
spref.set("poll_squelch", poll_squelch);
339
spref.set("poll_rfgain", poll_rfgain);
340
spref.set("poll_pout", poll_pout);
341
spref.set("poll_swr", poll_swr);
342
spref.set("poll_alc", poll_alc);
343
spref.set("poll_split", poll_split);
344
spref.set("poll_noise", poll_noise);
345
spref.set("poll_nr", poll_nr);
346
spref.set("poll_all", poll_all);
348
spref.set("bw_A", iBW_A);
349
spref.set("mode_A", imode_A);
350
spref.set("freq_A", freq_A);
352
spref.set("bw_B", iBW_B);
353
spref.set("mode_B", imode_B);
354
spref.set("freq_B", freq_B);
356
spref.set("use_rig_data", use_rig_data);
357
spref.set("restore_rig_data", restore_rig_data);
359
spref.set("bool_spkr_on", spkr_on);
360
spref.set("int_volume", volume);
361
spref.set("dbl_power", power_level);
362
spref.set("int_mic", mic_gain);
363
spref.set("bool_notch", notch);
364
spref.set("int_notch", notch_val);
365
spref.set("bool_shift", shift);
366
spref.set("int_shift", shift_val);
367
spref.set("rfgain", rfgain);
368
spref.set("squelch", squelch);
370
spref.set("schema", schema);
372
spref.set("rx_avg", rx_avg);
373
spref.set("rx_peak", rx_peak);
374
spref.set("pwr_avg", pwr_avg);
375
spref.set("pwr_peak", pwr_peak);
376
spref.set("pwr_scale", pwr_scale);
378
if (rig_nbr == TT550) {
379
spref.set("tt550_line_out", tt550_line_out);
380
spref.set("tt550_agc_level", tt550_agc_level);
382
spref.set("tt550_cw_wpm", tt550_cw_wpm);
383
spref.set("tt550_cw_weight", tt550_cw_weight);
384
spref.set("tt550_cw_vol", tt550_cw_vol);
385
spref.set("tt550_cw_spot", tt550_cw_spot);
386
spref.set("tt550_spot_onoff", tt550_spot_onoff);
387
spref.set("tt550_cw_qsk", tt550_cw_qsk);
388
spref.set("tt550_enable_keyer", tt550_enable_keyer);
390
spref.set("tt550_vox_onoff", tt550_vox_onoff);
391
spref.set("tt550_vox_gain", tt550_vox_gain);
392
spref.set("tt550_vox_anti", tt550_vox_anti);
393
spref.set("tt550_vox_hang", tt550_vox_hang);
395
spref.set("tt550_mon_vol", tt550_mon_vol);
396
spref.set("tt550_squelch_level", tt550_squelch_level);
397
spref.set("tt550_compression", tt550_compression);
398
spref.set("tt550_nb_level", tt550_nb_level);
399
spref.set("tt550_compON", tt550_compON);
400
spref.set("tt550_tuner_bypass", tt550_tuner_bypass);
401
spref.set("tt550_enable_xmtr", tt550_enable_xmtr);
402
spref.set("tt550_enable_tloop", tt550_enable_tloop);
404
spref.set("tt550_xmt_bw", tt550_xmt_bw);
405
spref.set("tt550_use_xmt_bw", tt550_use_xmt_bw);
407
spref.set("tt550_AM_level", tt550_AM_level);
409
spref.set("tt550_use_line_in", tt550_use_line_in);
411
spref.set("tt550_encoder_step", tt550_encoder_step);
412
spref.set("tt550_encoder_sensitivity", tt550_encoder_sensitivity);
413
spref.set("tt550_keypad_timeout", tt550_keypad_timeout);
415
spref.set("tt550_F1_func", tt550_F1_func);
416
spref.set("tt550_F2_func", tt550_F2_func);
417
spref.set("tt550_F3_func", tt550_F3_func);
420
spref.set("line_out", line_out);
421
spref.set("data_port", data_port);
422
spref.set("vox_on_dataport", vox_on_dataport);
423
spref.set("agc_level", agc_level);
424
spref.set("cw_wpm", cw_wpm);
425
spref.set("cw_weight", cw_weight);
426
spref.set("cw_vol", cw_vol);
427
spref.set("cw_spot", cw_spot);
428
spref.set("spot_onoff", spot_onoff);
429
spref.set("cw_spot_tone", cw_spot_tone);
430
spref.set("cw_qsk", cw_qsk);
431
spref.set("enable_keyer", enable_keyer);
432
spref.set("vox_onoff", vox_onoff);
433
spref.set("vox_gain", vox_gain);
434
spref.set("vox_anti", vox_anti);
435
spref.set("vox_hang", vox_hang);
436
spref.set("compression", compression);
437
spref.set("compON", compON);
440
spref.set("noise_reduction", noise_reduction);
441
spref.set("noise_red_val", noise_reduction_val);
442
spref.set("nb_level", nb_level);
444
spref.set("bool_noise", noise);
445
spref.set("int_preamp", preamp);
446
spref.set("int_att", attenuator);
448
spref.set("vfo_adj", vfo_adj);
449
spref.set("bfo_freq", bfo_freq);
450
spref.set("rit_freq", rit_freq);
451
spref.set("xit_freq", xit_freq);
452
spref.set("bpf_center", bpf_center);
453
spref.set("use_bpf_center", use_bpf_center);
455
spref.set("fg_red", fg_red);
456
spref.set("fg_green", fg_green);
457
spref.set("fg_blue", fg_blue);
459
spref.set("bg_red", bg_red);
460
spref.set("bg_green", bg_green);
461
spref.set("bg_blue", bg_blue);
463
spref.set("smeter_red", smeterRed);
464
spref.set("smeter_green", smeterGreen);
465
spref.set("smeter_blue", smeterBlue);
467
spref.set("power_red", pwrRed);
468
spref.set("power_green", pwrGreen);
469
spref.set("power_blue", pwrBlue);
471
spref.set("swr_red", swrRed);
472
spref.set("swr_green", swrGreen);
473
spref.set("swr_blue", swrBlue);
475
spref.set("peak_red", peakRed);
476
spref.set("peak_green", peakGreen);
477
spref.set("peak_blue", peakBlue);
479
spref.set("fg_sys_red", fg_sys_red);
480
spref.set("fg_sys_green", fg_sys_green);
481
spref.set("fg_sys_blue", fg_sys_blue);
483
spref.set("bg_sys_red", bg_sys_red);
484
spref.set("bg_sys_green", bg_sys_green);
485
spref.set("bg_sys_blue", bg_sys_blue);
487
spref.set("bg2_sys_red", bg2_sys_red);
488
spref.set("bg2_sys_green", bg2_sys_green);
489
spref.set("bg2_sys_blue", bg2_sys_blue);
491
spref.set("slider_red", slider_red);
492
spref.set("slider_green", slider_green);
493
spref.set("slider_blue", slider_blue);
495
spref.set("slider_btn_red", slider_btn_red);
496
spref.set("slider_btn_green", slider_btn_green);
497
spref.set("slider_btn_blue", slider_btn_blue);
499
spref.set("lighted_btn_red", lighted_btn_red);
500
spref.set("lighted_btn_green", lighted_btn_green);
501
spref.set("lighted_btn_blue", lighted_btn_blue);
503
spref.set("fontnbr", fontnbr);
505
spref.set("tooltips", tooltips);
507
spref.set("ui_scheme", ui_scheme.c_str());
509
spref.set("server_port", server_port.c_str());
510
spref.set("server_addr", server_addr.c_str());
512
spref.set("xcvr_auto_on", xcvr_auto_on);
513
spref.set("xcvr_auto_off", xcvr_auto_off);
517
bool status::loadXcvrState(const char *xcvr)
519
Fl_Preferences spref(RigHomeDir.c_str(), "w1hkj.com", xcvr);
521
if (spref.entryExists("version")) {
526
spref.get("mainx", mainX, mainX);
527
spref.get("mainy", mainY, mainY);
528
spref.get("mainw", mainW, mainW);
529
spref.get("mainh", mainH, mainH);
530
spref.get("uisize", UIsize, UIsize);
532
spref.get("xcvr_serial_port", defbuffer, "NONE", 199);
533
xcvr_serial_port = defbuffer;
534
if (xcvr_serial_port.find("tty") == 0)
535
xcvr_serial_port.insert(0, "/dev/");
538
for (int i = NONE; i < LAST_RIG; i++)
539
if (strcmp(rigs[i]->name_, xcvr) == 0) {
544
spref.get("comm_baudrate", comm_baudrate, comm_baudrate);
545
spref.get("comm_stopbits", stopbits, stopbits);
546
spref.get("comm_retries", comm_retries, comm_retries);
547
spref.get("comm_wait", comm_wait, comm_wait);
548
spref.get("comm_timeout", comm_timeout, comm_timeout);
549
spref.get("serloop_timing", serloop_timing, serloop_timing);
550
if (serloop_timing < 10) serloop_timing = 10; // minimum loop delay of 10 msec
551
spref.get("byte_interval", byte_interval, byte_interval);
553
if (spref.get("comm_echo", i, i)) comm_echo = i;
554
if (spref.get("ptt_via_cat", i, i)) comm_catptt = i;
555
if (spref.get("ptt_via_rts", i, i)) comm_rtsptt = i;
556
if (spref.get("ptt_via_dtr", i, i)) comm_dtrptt = i;
557
if (spref.get("rts_cts_flow", i, i)) comm_rtscts = i;
558
if (spref.get("rts_plus", i, i)) comm_rtsplus = i;
559
if (spref.get("dtr_plus", i, i)) comm_dtrplus = i;
560
spref.get("civadr", CIV, CIV);
561
if (spref.get("usbaudio", i, i)) USBaudio = i;
563
spref.get("aux_serial_port", defbuffer, "NONE", 199);
564
aux_serial_port = defbuffer;
565
if (spref.get("aux_rts", i, i)) aux_rts = i;
566
if (spref.get("aux_dtr", i, i)) aux_dtr = i;
568
spref.get("sep_serial_port", defbuffer, "NONE", 199);
569
sep_serial_port = defbuffer;
570
if (spref.get("sep_rtsptt", i, i)) sep_rtsptt = i;
571
if (spref.get("sep_dtrptt", i, i)) sep_dtrptt = i;
572
if (spref.get("sep_rtsplus", i, i)) sep_rtsplus = i;
573
if (spref.get("sep_dtrplus", i, i)) sep_dtrplus = i;
575
if (spref.get("key_fldigi", i, key_fldigi)) key_fldigi = i;
577
spref.get("poll_smeter", poll_smeter, poll_smeter);
578
spref.get("poll_frequency", poll_frequency, poll_frequency);
579
spref.get("poll_mode", poll_mode, poll_mode);
580
spref.get("poll_bandwidth", poll_bandwidth, poll_bandwidth);
581
spref.get("poll_volume", poll_volume, poll_volume);
582
spref.get("poll_auto_notch", poll_auto_notch, poll_auto_notch);
583
spref.get("poll_notch", poll_notch, poll_notch);
584
spref.get("poll_ifshift", poll_ifshift, poll_ifshift);
585
spref.get("poll_power_control", poll_power_control, poll_power_control);
586
spref.get("poll_pre_att", poll_pre_att, poll_pre_att);
587
spref.get("poll_micgain", poll_micgain, poll_micgain);
588
spref.get("poll_squelch", poll_squelch, poll_squelch);
589
spref.get("poll_rfgain", poll_rfgain, poll_rfgain);
590
spref.get("poll_pout", poll_pout, poll_pout);
591
spref.get("poll_swr", poll_swr, poll_swr);
592
spref.get("poll_alc", poll_alc, poll_alc);
593
spref.get("poll_split", poll_split, poll_split);
594
spref.get("poll_noise", poll_noise, poll_noise);
595
spref.get("poll_nr", poll_nr, poll_nr);
596
spref.get("poll_all", poll_all, poll_all);
598
spref.get("bw_A", iBW_A, iBW_A);
599
spref.get("mode_A", imode_A, imode_A);
600
spref.get("freq_A", freq_A, freq_A);
602
spref.get("bw_B", iBW_B, iBW_B);
603
spref.get("mode_B", imode_B, imode_B);
604
spref.get("freq_B", freq_B, freq_B);
606
if (spref.get("use_rig_data", i, i)) use_rig_data = i;
607
if (spref.get("restore_rig_data", i, i)) restore_rig_data = i;
609
if (spref.get("bool_spkr_on", i, i)) spkr_on = i;
610
spref.get("int_volume", volume, volume);
611
spref.get("dbl_power", power_level, power_level);
612
spref.get("int_mic", mic_gain, mic_gain);
613
if (spref.get("bool_notch", i, i)) notch = i;
614
spref.get("int_notch", notch_val, notch_val);
615
if (spref.get("bool_shift", i, i)) shift = i;
616
spref.get("int_shift", shift_val, shift_val);
617
spref.get("rfgain", rfgain, rfgain);
618
spref.get("squelch", squelch, squelch);
620
spref.get("schema", schema, schema);
622
spref.get("rx_avg", rx_avg, rx_avg);
623
spref.get("rx_peak", rx_peak, rx_peak);
624
spref.get("pwr_avg", pwr_avg, pwr_avg);
625
spref.get("pwr_peak", pwr_peak, pwr_peak);
626
spref.get("pwr_scale", pwr_scale, pwr_scale);
628
if (rig_nbr == TT550) {
629
spref.get("tt550_line_out", tt550_line_out, tt550_line_out);
630
spref.get("tt550_agc_level", tt550_agc_level, tt550_agc_level);
632
spref.get("tt550_cw_wpm", tt550_cw_wpm, tt550_cw_wpm);
633
spref.get("tt550_cw_weight", tt550_cw_weight, tt550_cw_weight);
634
spref.get("tt550_cw_vol", tt550_cw_vol, tt550_cw_vol);
635
spref.get("tt550_cw_spot", tt550_cw_spot, tt550_cw_spot);
636
if (spref.get("tt550_spot_onoff", i, i)) tt550_spot_onoff = i;
637
spref.get("tt550_cw_qsk", tt550_cw_qsk, tt550_cw_qsk);
638
if (spref.get("tt550_enable_keyer", i, i)) tt550_enable_keyer = i;
640
if (spref.get("tt550_vox_onoff", i, i)) tt550_vox_onoff = i;
641
spref.get("tt550_vox_gain", tt550_vox_gain, tt550_vox_gain);
642
spref.get("tt550_vox_anti", tt550_vox_anti, tt550_vox_anti);
643
spref.get("tt550_vox_hang", tt550_vox_hang, tt550_vox_hang);
645
spref.get("tt550_mon_vol", tt550_mon_vol, tt550_mon_vol);
646
spref.get("tt550_squelch_level", tt550_squelch_level, tt550_squelch_level);
647
spref.get("tt550_compression", tt550_compression, tt550_compression);
648
spref.get("tt550_nb_level", tt550_nb_level, tt550_nb_level);
649
if (spref.get("tt550_compON", i, i)) tt550_compON = i;
650
if (spref.get("tt550_tuner_bypass", i, i)) tt550_tuner_bypass = i;
651
if (spref.get("tt550_enable_xmtr", i, i)) tt550_enable_xmtr = i;
652
if (spref.get("tt550_enable_tloop", i, i)) tt550_enable_tloop = i;
654
spref.get("tt550_xmt_bw", tt550_xmt_bw, tt550_xmt_bw);
655
if (spref.get("tt550_use_xmt_bw", i, i)) tt550_use_xmt_bw = i;
657
if (spref.get("tt550_use_line_in", i, i)) tt550_use_line_in = i;
659
spref.get("tt550_AM_level", tt550_AM_level, tt550_AM_level);
660
spref.get("tt550_encoder_step", tt550_encoder_step, tt550_encoder_step);
661
spref.get("tt550_encoder_sensitivity", tt550_encoder_sensitivity, tt550_encoder_sensitivity);
662
spref.get("tt550_keypad_timeout", tt550_keypad_timeout, tt550_keypad_timeout);
664
spref.get("tt550_F1_func", tt550_F1_func, tt550_F1_func);
665
spref.get("tt550_F2_func", tt550_F2_func, tt550_F2_func);
666
spref.get("tt550_F3_func", tt550_F3_func, tt550_F3_func);
670
spref.get("line_out", line_out, line_out);
671
spref.get("data_port", i, data_port); data_port = i;
672
spref.get("vox_on_dataport", i, vox_on_dataport); vox_on_dataport = i;
673
spref.get("agc_level", agc_level, agc_level);
674
spref.get("cw_wpm", cw_wpm, cw_wpm);
675
spref.get("cw_weight", cw_weight, cw_weight);
676
spref.get("cw_vol", cw_vol, cw_vol);
677
spref.get("cw_spot", cw_spot, cw_spot);
678
if (spref.get("spot_onoff", i, i)) spot_onoff = i;
679
spref.get("cw_spot_tone", cw_spot_tone, cw_spot_tone);
680
spref.get("cw_qsk", cw_qsk, cw_qsk);
681
if (spref.get("enable_keyer", i, i)) enable_keyer = i;
682
if (spref.get("vox_onoff", i, i)) vox_onoff = i;
683
spref.get("vox_gain", vox_gain, vox_gain);
684
spref.get("vox_anti", vox_anti, vox_anti);
685
spref.get("vox_hang", vox_hang, vox_hang);
686
spref.get("compression", compression, compression);
687
if (spref.get("compON", i, i)) compON = i;
690
if (spref.get("noise_reduction", i, i)) noise_reduction = i;
691
spref.get("noise_red_val", noise_reduction_val, noise_reduction_val);
692
spref.get("nb_level", nb_level, nb_level);
694
if (spref.get("bool_noise", i, i)) noise = i;
695
spref.get("int_preamp", preamp, preamp);
696
spref.get("int_att", attenuator, attenuator);
698
spref.get("vfo_adj", vfo_adj, vfo_adj);
699
spref.get("bfo_freq", bfo_freq, bfo_freq);
700
spref.get("rit_freq", rit_freq, rit_freq);
701
spref.get("xit_freq", xit_freq, xit_freq);
702
spref.get("bpf_center", bpf_center, bpf_center);
703
spref.get("use_bpf_center", i, i); use_bpf_center = i;
705
spref.get("fg_red", fg_red, fg_red);
706
spref.get("fg_green", fg_green, fg_green);
707
spref.get("fg_blue", fg_blue, fg_blue);
709
spref.get("bg_red", bg_red, bg_red);
710
spref.get("bg_green", bg_green, bg_green);
711
spref.get("bg_blue", bg_blue, bg_blue);
713
spref.get("smeter_red", smeterRed, smeterRed);
714
spref.get("smeter_green", smeterGreen, smeterGreen);
715
spref.get("smeter_blue", smeterBlue, smeterBlue);
717
spref.get("power_red", pwrRed, pwrRed);
718
spref.get("power_green", pwrGreen, pwrGreen);
719
spref.get("power_blue", pwrBlue, pwrBlue);
721
spref.get("swr_red", swrRed, swrRed);
722
spref.get("swr_green", swrGreen, swrGreen);
723
spref.get("swr_blue", swrBlue, swrBlue);
725
spref.get("peak_red", peakRed, peakRed);
726
spref.get("peak_green", peakGreen, peakGreen);
727
spref.get("peak_blue", peakBlue, peakBlue);
729
spref.get("fg_sys_red", fg_sys_red, fg_sys_red);
730
spref.get("fg_sys_green", fg_sys_green, fg_sys_green);
731
spref.get("fg_sys_blue", fg_sys_blue, fg_sys_blue);
733
spref.get("bg_sys_red", bg_sys_red, bg_sys_red);
734
spref.get("bg_sys_green", bg_sys_green, bg_sys_green);
735
spref.get("bg_sys_blue", bg_sys_blue, bg_sys_blue);
737
spref.get("bg2_sys_red", bg2_sys_red, bg2_sys_red);
738
spref.get("bg2_sys_green", bg2_sys_green, bg2_sys_green);
739
spref.get("bg2_sys_blue", bg2_sys_blue, bg2_sys_blue);
741
spref.get("slider_red", slider_red, slider_red);
742
spref.get("slider_green", slider_green, slider_green);
743
spref.get("slider_blue", slider_blue, slider_blue);
745
spref.get("slider_btn_red", slider_btn_red, slider_btn_red);
746
spref.get("slider_btn_green", slider_btn_green, slider_btn_green);
747
spref.get("slider_btn_blue", slider_btn_blue, slider_btn_blue);
749
spref.get("lighted_btn_red", lighted_btn_red, lighted_btn_red);
750
spref.get("lighted_btn_green", lighted_btn_green, lighted_btn_green);
751
spref.get("lighted_btn_blue", lighted_btn_blue, lighted_btn_blue);
754
spref.get("fontnbr", i, i); fontnbr = (Fl_Font)i;
756
if (spref.get("tooltips", i, i)) tooltips = i;
758
spref.get("ui_scheme", defbuffer, "gtk+", 199);
759
ui_scheme = defbuffer;
761
spref.get("server_port", defbuffer, "7362", 199);
762
server_port = defbuffer;
764
spref.get("server_addr", defbuffer, "127.0.0.1", 199);
765
server_addr = defbuffer;
767
if (spref.get("xcvr_auto_on", i, i)) xcvr_auto_on = i;
768
if (spref.get("xcvr_auto_off", i, i)) xcvr_auto_off = i;
774
void status::loadLastState()
776
Fl_Preferences xcvrpref(RigHomeDir.c_str(), "w1hkj.com", PACKAGE_TARNAME);
777
if (xcvrpref.entryExists("last_xcvr_used")) {
779
xcvrpref.get("last_xcvr_used", defbuffer, "none", 199);
780
last_xcvr_used = defbuffer;
782
loadXcvrState(last_xcvr_used.c_str());
785
void status::UI_laststate()
787
Fl_Color bgclr = fl_rgb_color(bg_red, bg_green, bg_blue);
788
Fl_Color fgclr = fl_rgb_color(fg_red, fg_green, fg_blue);
790
Fl::background( bg_sys_red, bg_sys_green, bg_sys_blue);
791
Fl::background2( bg2_sys_red, bg2_sys_green, bg2_sys_blue);
792
Fl::foreground( fg_sys_red, fg_sys_green, fg_sys_blue);
794
FreqDispA->SetONOFFCOLOR( fgclr, bgclr );
795
FreqDispA->font(fontnbr);
796
FreqDispB->SetONOFFCOLOR( fgclr, fl_color_average(bgclr, FL_BLACK, 0.87));
797
FreqDispB->font(fontnbr);
799
scaleSmeter->color(bgclr);
800
scaleSmeter->labelcolor(fgclr);
801
scalePower->color(bgclr);
802
scalePower->labelcolor(fgclr);
803
btnALC_SWR->color(bgclr);
804
btnALC_SWR->labelcolor(fgclr);
806
sldrFwdPwr->color(fl_rgb_color (pwrRed, pwrGreen, pwrBlue), bgclr);
807
sldrFwdPwr->PeakColor(fl_rgb_color(peakRed, peakGreen, peakBlue));
809
sldrRcvSignal->color(fl_rgb_color (smeterRed, smeterGreen, smeterBlue), bgclr);
810
sldrRcvSignal->PeakColor(fl_rgb_color(peakRed, peakGreen, peakBlue));
812
sldrALC->color(fl_rgb_color (swrRed, swrGreen, swrBlue), bgclr);
813
sldrALC->PeakColor(fl_rgb_color(peakRed, peakGreen, peakBlue));
815
sldrSWR->color(fl_rgb_color (swrRed, swrGreen, swrBlue), bgclr);
816
sldrSWR->PeakColor(fl_rgb_color(peakRed, peakGreen, peakBlue));
818
if (UIsize != small_ui)
819
meter_fill_box->color(bgclr);
821
grpMeters->color(bgclr);
822
grpMeters->labelcolor(fgclr);
824
Fl_Color btn_lt_color = fl_rgb_color(lighted_btn_red, lighted_btn_green, lighted_btn_blue);
825
if (btnVol) btnVol->selection_color(btn_lt_color);
826
if (btnNR) btnNR->selection_color(btn_lt_color);
827
if (btnIFsh) btnIFsh->selection_color(btn_lt_color);
828
if (btnNotch) btnNotch->selection_color(btn_lt_color);
829
if (btnA) btnA->selection_color(btn_lt_color);
830
if (btnB) btnB->selection_color(btn_lt_color);
831
if (btnSplit) btnSplit->selection_color(btn_lt_color);
832
if (btnAttenuator) btnAttenuator->selection_color(btn_lt_color);
833
if (btnPreamp) btnPreamp->selection_color(btn_lt_color);
834
if (btnNOISE) btnNOISE->selection_color(btn_lt_color);
835
if (btnAutoNotch) btnAutoNotch->selection_color(btn_lt_color);
836
if (btnTune) btnTune->selection_color(btn_lt_color);
837
if (btnPTT) btnPTT->selection_color(btn_lt_color);
838
if (btnAuxRTS) btnAuxRTS->selection_color(btn_lt_color);
839
if (btnAuxDTR) btnAuxDTR->selection_color(btn_lt_color);
840
if (btnSpot) btnSpot->selection_color(btn_lt_color);
841
if (btn_vox) btn_vox->selection_color(btn_lt_color);
842
if (btnCompON) btnCompON->selection_color(btn_lt_color);
843
if (btnSpecial) btnSpecial->selection_color(btn_lt_color);
844
if (btn_tt550_vox) btn_tt550_vox->selection_color(btn_lt_color);
845
if (btn_tt550_CompON) btn_tt550_CompON->selection_color(btn_lt_color);
847
Fl_Color bg_slider = fl_rgb_color(slider_red, slider_green, slider_blue);
848
Fl_Color btn_slider = fl_rgb_color(slider_btn_red, slider_btn_green, slider_btn_blue);
849
if (sldrVOLUME) sldrVOLUME->color(bg_slider);
850
if (sldrVOLUME) sldrVOLUME->selection_color(btn_slider);
851
if (sldrRFGAIN) sldrRFGAIN->color(bg_slider);
852
if (sldrRFGAIN) sldrRFGAIN->selection_color(btn_slider);
853
if (sldrSQUELCH) sldrSQUELCH->color(bg_slider);
854
if (sldrSQUELCH) sldrSQUELCH->selection_color(btn_slider);
855
if (sldrNR) sldrNR->color(bg_slider);
856
if (sldrNR) sldrNR->selection_color(btn_slider);
857
if (sldrIFSHIFT) sldrIFSHIFT->color(bg_slider);
858
if (sldrIFSHIFT) sldrIFSHIFT->selection_color(btn_slider);
859
if (sldrNOTCH) sldrNOTCH->color(bg_slider);
860
if (sldrNOTCH) sldrNOTCH->selection_color(btn_slider);
861
if (sldrMICGAIN) sldrMICGAIN->color(bg_slider);
862
if (sldrMICGAIN) sldrMICGAIN->selection_color(btn_slider);
863
if (sldrPOWER) sldrPOWER->color(bg_slider);
864
if (sldrPOWER) sldrPOWER->selection_color(btn_slider);
866
if (use_rig_data) mnuKeepData->set();
867
else mnuKeepData->clear();
869
if (restore_rig_data) mnuRestoreData->set();
870
else mnuRestoreData->clear();
872
Fl::scheme(ui_scheme.c_str());