1
/* -----------------------------------------------------------------------------
2
* status structure / methods
4
* A part of "rig", a rig control program compatible with fldigi / xmlrpc i/o
6
* copyright Dave Freese 2009, w1hkj@w1hkj.com
14
#include <FL/Fl_Preferences.H>
15
#include <FL/Fl_Progress.H>
24
string last_xcvr_used = "none";
31
wide_ui, // UISIZE, UIsize;
34
"NONE", // string xcvr_serial_port;
35
0, // int comm_baudrate;
37
2, // int comm_retries;
39
50, // int comm_timeout;
40
false, // bool comm_echo;
41
false, // bool comm_catptt;
42
false, // bool comm_rtsptt;
43
false, // bool comm_dtrptt;
44
false, // bool comm_rtscts;
45
false, // bool comm_rtsplus;
46
false, // bool comm_dtrplus;
47
200, // int serloop_timing;
48
0, // int byte_interval;
50
"NONE", // string aux_serial_port;
51
false, // bool aux_rts;
52
false, // bool aux_dtr;
54
"NONE", // string sep_serial_port;
55
false, // bool sep_rtsptt;
56
false, // bool sep_dtrptt;
57
false, // bool sep_rtsplus;
58
false, // bool sep_dtrplus;
60
false, // bool USBaudio;
62
1, // bool poll_smeter;
63
1, // bool poll_frequency;
65
1, // bool poll_bandwidth;
66
0, // bool poll_volume;
67
0, // bool poll_auto_notch;
68
0, // bool poll_notch;
69
0, // bool poll_ifshift;
70
0, // bool poll_power_control;
71
0, // bool poll_pre_att;
72
0, // bool poll_micgain;
73
0, // bool poll_squelch;
74
0, // bool poll_rfgain;
78
0, // bool poll_split;
79
0, // bool poll_noise;
85
7070000, // long freq_A;
88
7070000, // long freq_B;
89
true, // bool use_rig_data;
90
true, // bool restore_rig_data;
92
false, // bool spkr_on;
94
0, // int power_level;
106
false, // bool data_port;
109
3.0, // double cw_weight;
112
false, // bool spot_onoff;
113
700, // int cw_spot_tone;
115
false, // bool enable_keyer;
116
false, // int vox_onoff;
119
100, // int vox_hang; FT950 default
120
true, // bool vox_on_dataport;
121
0, // int compression;
122
false, // bool compON;
124
0, // bool noise_reduction;
125
0, // int noise_reduction_val;
128
false, // bool noise;
131
0, // int auto_notch;
135
true, // bool key_fldigi;
141
4, // int pwr_scale ==> Autoselect
144
80, // tt550_line_out;
145
1, // tt550_agc_level;
148
1.0, // tt550_cw_weight;
150
10, // tt550_cw_spot;
151
false, // tt550_cw_spot_onoff;
153
true, // tt550_enable_keyer;
155
false, // tt550_vox_onoff;
156
0, // tt550_vox_gain;
157
0, // tt550_vox_anti;
158
0, // tt550_vox_hang;
161
0, // tt550_squelch_level;
162
0, // tt550_compression;
163
1, // tt550_nb_level;
164
false, // tt550_bool compON;
165
false, // tt550_tuner_bypass;
167
true, // tt550_enable_xmtr;
168
false, // tt550_enable_tloop;
170
true, // tt550_use_line_in;
173
false, // tt550_use_xmt_bw;
175
25, // tt550_AM_level;
176
0, // tt550_encoder_step;
177
1, // tt550_encoder_sensitivity;
178
2000, // tt550_keypad_timeout;
189
true, // use_bpf_center;
192
255, // int bg_green;
208
180, // int smeterGreen;
215
0, // int fg_sys_red;
216
0, // int fg_sys_green;
217
0, // int fg_sys_blue;
219
0xc0, // int bg_sys_red;
220
0xc0, // int bg_sys_green;
221
0xc0, // int bg_sys_blue;
223
255, // int bg2_sys_red;
224
255, // int bg2_sys_green;
225
255, // int bg2_sys_blue;
227
232, // int slider_red;
228
255, // int slider_green;
229
232, // int slider_blue;
231
0, // int slider_btn_red;
232
0, // int slider_btn_green;
233
128, // int slider_btn_blue;
235
255, // int lighted_btn_red;
236
255, // int lighted_btn_green;
237
0, // int lighted_btn_blue;
239
FL_COURIER, // Fl_Font fontnbr;
241
false, // bool tooltips;
243
"gtk+", // string ui_scheme
245
"7362", // string server_port
246
"127.0.0.1",// string server_address
248
false, // bool xcvr auto on
249
false // bool xcvr auto off
253
void status::saveLastState()
255
last_xcvr_used = selrig->name_;
256
Fl_Preferences xcvrpref(RigHomeDir.c_str(), "w1hkj.com", PACKAGE_TARNAME);
257
xcvrpref.set("last_xcvr_used", last_xcvr_used.c_str());
259
int mX = mainwindow->x();
260
int mY = mainwindow->y();
261
int mW = mainwindow->w();
262
int mH = mainwindow->h();
264
if (mX >= 0 && mX >= 0) {
267
if (UIsize != small_ui) {
273
Fl_Preferences spref(RigHomeDir.c_str(), "w1hkj.com", last_xcvr_used.c_str());
275
spref.set("version", PACKAGE_VERSION);
277
spref.set("mainx", mainX);
278
spref.set("mainy", mainY);
279
spref.set("mainw", mainW);
280
spref.set("mainh", mainH);
282
if (UIchanged) UIsize = btn_wide_ui->value();
283
spref.set("uisize", UIsize);
285
spref.set("xcvr_serial_port", xcvr_serial_port.c_str());
286
spref.set("comm_baudrate", comm_baudrate);
287
spref.set("comm_stopbits", stopbits);
288
spref.set("comm_retries", comm_retries);
289
spref.set("comm_wait", comm_wait);
290
spref.set("comm_timeout", comm_timeout);
291
spref.set("serloop_timing", serloop_timing);
292
spref.set("byte_interval", byte_interval);
294
spref.set("comm_echo", comm_echo);
295
spref.set("ptt_via_cat", comm_catptt);
296
spref.set("ptt_via_rts", comm_rtsptt);
297
spref.set("ptt_via_dtr", comm_dtrptt);
298
spref.set("rts_cts_flow", comm_rtscts);
299
spref.set("rts_plus", comm_rtsplus);
300
spref.set("dtr_plus", comm_dtrplus);
301
spref.set("civadr", CIV);
302
spref.set("usbaudio", USBaudio);
304
spref.set("aux_serial_port", aux_serial_port.c_str());
305
spref.set("aux_rts", aux_rts);
306
spref.set("aux_dtr", aux_dtr);
308
spref.set("sep_serial_port", sep_serial_port.c_str());
309
spref.set("sep_rtsptt", sep_rtsptt);
310
spref.set("sep_dtrptt", sep_dtrptt);
311
spref.set("sep_rtsplus", sep_rtsplus);
312
spref.set("set_dtrplus", sep_dtrplus);
314
spref.set("key_fldigi", key_fldigi);
316
spref.set("poll_smeter", poll_smeter);
317
spref.set("poll_frequency", poll_frequency);
318
spref.set("poll_mode", poll_mode);
319
spref.set("poll_bandwidth", poll_bandwidth);
320
spref.set("poll_volume", poll_volume);
321
spref.set("poll_auto_notch", poll_auto_notch);
322
spref.set("poll_notch", poll_notch);
323
spref.set("poll_ifshift", poll_ifshift);
324
spref.set("poll_power_control", poll_power_control);
325
spref.set("poll_pre_att", poll_pre_att);
326
spref.set("poll_micgain", poll_micgain);
327
spref.set("poll_squelch", poll_squelch);
328
spref.set("poll_rfgain", poll_rfgain);
329
spref.set("poll_pout", poll_pout);
330
spref.set("poll_swr", poll_swr);
331
spref.set("poll_alc", poll_alc);
332
spref.set("poll_split", poll_split);
333
spref.set("poll_noise", poll_noise);
334
spref.set("poll_nr", poll_nr);
335
spref.set("poll_all", poll_all);
337
spref.set("bw_A", iBW_A);
338
spref.set("mode_A", imode_A);
339
spref.set("freq_A", freq_A);
341
spref.set("bw_B", iBW_B);
342
spref.set("mode_B", imode_B);
343
spref.set("freq_B", freq_B);
345
spref.set("use_rig_data", use_rig_data);
346
spref.set("restore_rig_data", restore_rig_data);
348
spref.set("bool_spkr_on", spkr_on);
349
spref.set("int_volume", volume);
350
spref.set("dbl_power", power_level);
351
spref.set("int_mic", mic_gain);
352
spref.set("bool_notch", notch);
353
spref.set("int_notch", notch_val);
354
spref.set("bool_shift", shift);
355
spref.set("int_shift", shift_val);
356
spref.set("rfgain", rfgain);
357
spref.set("squelch", squelch);
359
spref.set("schema", schema);
361
spref.set("rx_avg", rx_avg);
362
spref.set("rx_peak", rx_peak);
363
spref.set("pwr_avg", pwr_avg);
364
spref.set("pwr_peak", pwr_peak);
365
spref.set("pwr_scale", pwr_scale);
367
if (rig_nbr == TT550) {
368
spref.set("tt550_line_out", tt550_line_out);
369
spref.set("tt550_agc_level", tt550_agc_level);
371
spref.set("tt550_cw_wpm", tt550_cw_wpm);
372
spref.set("tt550_cw_weight", tt550_cw_weight);
373
spref.set("tt550_cw_vol", tt550_cw_vol);
374
spref.set("tt550_cw_spot", tt550_cw_spot);
375
spref.set("tt550_spot_onoff", tt550_spot_onoff);
376
spref.set("tt550_cw_qsk", tt550_cw_qsk);
377
spref.set("tt550_enable_keyer", tt550_enable_keyer);
379
spref.set("tt550_vox_onoff", tt550_vox_onoff);
380
spref.set("tt550_vox_gain", tt550_vox_gain);
381
spref.set("tt550_vox_anti", tt550_vox_anti);
382
spref.set("tt550_vox_hang", tt550_vox_hang);
384
spref.set("tt550_mon_vol", tt550_mon_vol);
385
spref.set("tt550_squelch_level", tt550_squelch_level);
386
spref.set("tt550_compression", tt550_compression);
387
spref.set("tt550_nb_level", tt550_nb_level);
388
spref.set("tt550_compON", tt550_compON);
389
spref.set("tt550_tuner_bypass", tt550_tuner_bypass);
390
spref.set("tt550_enable_xmtr", tt550_enable_xmtr);
391
spref.set("tt550_enable_tloop", tt550_enable_tloop);
393
spref.set("tt550_xmt_bw", tt550_xmt_bw);
394
spref.set("tt550_use_xmt_bw", tt550_use_xmt_bw);
396
spref.set("tt550_AM_level", tt550_AM_level);
398
spref.set("tt550_use_line_in", tt550_use_line_in);
400
spref.set("tt550_encoder_step", tt550_encoder_step);
401
spref.set("tt550_encoder_sensitivity", tt550_encoder_sensitivity);
402
spref.set("tt550_keypad_timeout", tt550_keypad_timeout);
404
spref.set("tt550_F1_func", tt550_F1_func);
405
spref.set("tt550_F2_func", tt550_F2_func);
406
spref.set("tt550_F3_func", tt550_F3_func);
409
spref.set("line_out", line_out);
410
spref.set("data_port", data_port);
411
spref.set("vox_on_dataport", vox_on_dataport);
412
spref.set("agc_level", agc_level);
413
spref.set("cw_wpm", cw_wpm);
414
spref.set("cw_weight", cw_weight);
415
spref.set("cw_vol", cw_vol);
416
spref.set("cw_spot", cw_spot);
417
spref.set("spot_onoff", spot_onoff);
418
spref.set("cw_spot_tone", cw_spot_tone);
419
spref.set("cw_qsk", cw_qsk);
420
spref.set("enable_keyer", enable_keyer);
421
spref.set("vox_onoff", vox_onoff);
422
spref.set("vox_gain", vox_gain);
423
spref.set("vox_anti", vox_anti);
424
spref.set("vox_hang", vox_hang);
425
spref.set("compression", compression);
426
spref.set("compON", compON);
429
spref.set("noise_reduction", noise_reduction);
430
spref.set("noise_red_val", noise_reduction_val);
431
spref.set("nb_level", nb_level);
433
spref.set("bool_noise", noise);
434
spref.set("int_preamp", preamp);
435
spref.set("int_att", attenuator);
437
spref.set("vfo_adj", vfo_adj);
438
spref.set("bfo_freq", bfo_freq);
439
spref.set("rit_freq", rit_freq);
440
spref.set("xit_freq", xit_freq);
441
spref.set("bpf_center", bpf_center);
442
spref.set("use_bpf_center", use_bpf_center);
444
spref.set("fg_red", fg_red);
445
spref.set("fg_green", fg_green);
446
spref.set("fg_blue", fg_blue);
448
spref.set("bg_red", bg_red);
449
spref.set("bg_green", bg_green);
450
spref.set("bg_blue", bg_blue);
452
spref.set("smeter_red", smeterRed);
453
spref.set("smeter_green", smeterGreen);
454
spref.set("smeter_blue", smeterBlue);
456
spref.set("power_red", pwrRed);
457
spref.set("power_green", pwrGreen);
458
spref.set("power_blue", pwrBlue);
460
spref.set("swr_red", swrRed);
461
spref.set("swr_green", swrGreen);
462
spref.set("swr_blue", swrBlue);
464
spref.set("peak_red", peakRed);
465
spref.set("peak_green", peakGreen);
466
spref.set("peak_blue", peakBlue);
468
spref.set("fg_sys_red", fg_sys_red);
469
spref.set("fg_sys_green", fg_sys_green);
470
spref.set("fg_sys_blue", fg_sys_blue);
472
spref.set("bg_sys_red", bg_sys_red);
473
spref.set("bg_sys_green", bg_sys_green);
474
spref.set("bg_sys_blue", bg_sys_blue);
476
spref.set("bg2_sys_red", bg2_sys_red);
477
spref.set("bg2_sys_green", bg2_sys_green);
478
spref.set("bg2_sys_blue", bg2_sys_blue);
480
spref.set("slider_red", slider_red);
481
spref.set("slider_green", slider_green);
482
spref.set("slider_blue", slider_blue);
484
spref.set("slider_btn_red", slider_btn_red);
485
spref.set("slider_btn_green", slider_btn_green);
486
spref.set("slider_btn_blue", slider_btn_blue);
488
spref.set("lighted_btn_red", lighted_btn_red);
489
spref.set("lighted_btn_green", lighted_btn_green);
490
spref.set("lighted_btn_blue", lighted_btn_blue);
492
spref.set("fontnbr", fontnbr);
494
spref.set("tooltips", tooltips);
496
spref.set("ui_scheme", ui_scheme.c_str());
498
spref.set("server_port", server_port.c_str());
499
spref.set("server_addr", server_addr.c_str());
501
spref.set("xcvr_auto_on", xcvr_auto_on);
502
spref.set("xcvr_auto_off", xcvr_auto_off);
506
bool status::loadXcvrState(const char *xcvr)
508
Fl_Preferences spref(RigHomeDir.c_str(), "w1hkj.com", xcvr);
510
if (spref.entryExists("version")) {
515
spref.get("mainx", mainX, mainX);
516
spref.get("mainy", mainY, mainY);
517
spref.get("mainw", mainW, mainW);
518
spref.get("mainh", mainH, mainH);
519
spref.get("uisize", UIsize, UIsize);
521
spref.get("xcvr_serial_port", defbuffer, "NONE", 199);
522
xcvr_serial_port = defbuffer;
523
if (xcvr_serial_port.find("tty") == 0)
524
xcvr_serial_port.insert(0, "/dev/");
527
for (int i = NONE; i < LAST_RIG; i++)
528
if (strcmp(rigs[i]->name_, xcvr) == 0) {
533
spref.get("comm_baudrate", comm_baudrate, comm_baudrate);
534
spref.get("comm_stopbits", stopbits, stopbits);
535
spref.get("comm_retries", comm_retries, comm_retries);
536
spref.get("comm_wait", comm_wait, comm_wait);
537
spref.get("comm_timeout", comm_timeout, comm_timeout);
538
spref.get("serloop_timing", serloop_timing, serloop_timing);
539
if (serloop_timing < 10) serloop_timing = 10; // minimum loop delay of 10 msec
540
spref.get("byte_interval", byte_interval, byte_interval);
542
if (spref.get("comm_echo", i, i)) comm_echo = i;
543
if (spref.get("ptt_via_cat", i, i)) comm_catptt = i;
544
if (spref.get("ptt_via_rts", i, i)) comm_rtsptt = i;
545
if (spref.get("ptt_via_dtr", i, i)) comm_dtrptt = i;
546
if (spref.get("rts_cts_flow", i, i)) comm_rtscts = i;
547
if (spref.get("rts_plus", i, i)) comm_rtsplus = i;
548
if (spref.get("dtr_plus", i, i)) comm_dtrplus = i;
549
spref.get("civadr", CIV, CIV);
550
if (spref.get("usbaudio", i, i)) USBaudio = i;
552
spref.get("aux_serial_port", defbuffer, "NONE", 199);
553
aux_serial_port = defbuffer;
554
if (spref.get("aux_rts", i, i)) aux_rts = i;
555
if (spref.get("aux_dtr", i, i)) aux_dtr = i;
557
spref.get("sep_serial_port", defbuffer, "NONE", 199);
558
sep_serial_port = defbuffer;
559
if (spref.get("sep_rtsptt", i, i)) sep_rtsptt = i;
560
if (spref.get("sep_dtrptt", i, i)) sep_dtrptt = i;
561
if (spref.get("sep_rtsplus", i, i)) sep_rtsplus = i;
562
if (spref.get("sep_dtrplus", i, i)) sep_dtrplus = i;
564
if (spref.get("key_fldigi", i, key_fldigi)) key_fldigi = i;
566
spref.get("poll_smeter", poll_smeter, poll_smeter);
567
spref.get("poll_frequency", poll_frequency, poll_frequency);
568
spref.get("poll_mode", poll_mode, poll_mode);
569
spref.get("poll_bandwidth", poll_bandwidth, poll_bandwidth);
570
spref.get("poll_volume", poll_volume, poll_volume);
571
spref.get("poll_auto_notch", poll_auto_notch, poll_auto_notch);
572
spref.get("poll_notch", poll_notch, poll_notch);
573
spref.get("poll_ifshift", poll_ifshift, poll_ifshift);
574
spref.get("poll_power_control", poll_power_control, poll_power_control);
575
spref.get("poll_pre_att", poll_pre_att, poll_pre_att);
576
spref.get("poll_micgain", poll_micgain, poll_micgain);
577
spref.get("poll_squelch", poll_squelch, poll_squelch);
578
spref.get("poll_rfgain", poll_rfgain, poll_rfgain);
579
spref.get("poll_pout", poll_pout, poll_pout);
580
spref.get("poll_swr", poll_swr, poll_swr);
581
spref.get("poll_alc", poll_alc, poll_alc);
582
spref.get("poll_split", poll_split, poll_split);
583
spref.get("poll_noise", poll_noise, poll_noise);
584
spref.get("poll_nr", poll_nr, poll_nr);
585
spref.get("poll_all", poll_all, poll_all);
587
spref.get("bw_A", iBW_A, iBW_A);
588
spref.get("mode_A", imode_A, imode_A);
589
spref.get("freq_A", freq_A, freq_A);
591
spref.get("bw_B", iBW_B, iBW_B);
592
spref.get("mode_B", imode_B, imode_B);
593
spref.get("freq_B", freq_B, freq_B);
595
if (spref.get("use_rig_data", i, i)) use_rig_data = i;
596
if (spref.get("restore_rig_data", i, i)) restore_rig_data = i;
598
if (spref.get("bool_spkr_on", i, i)) spkr_on = i;
599
spref.get("int_volume", volume, volume);
600
spref.get("dbl_power", power_level, power_level);
601
spref.get("int_mic", mic_gain, mic_gain);
602
if (spref.get("bool_notch", i, i)) notch = i;
603
spref.get("int_notch", notch_val, notch_val);
604
if (spref.get("bool_shift", i, i)) shift = i;
605
spref.get("int_shift", shift_val, shift_val);
606
spref.get("rfgain", rfgain, rfgain);
607
spref.get("squelch", squelch, squelch);
609
spref.get("schema", schema, schema);
611
spref.get("rx_avg", rx_avg, rx_avg);
612
spref.get("rx_peak", rx_peak, rx_peak);
613
spref.get("pwr_avg", pwr_avg, pwr_avg);
614
spref.get("pwr_peak", pwr_peak, pwr_peak);
615
spref.get("pwr_scale", pwr_scale, pwr_scale);
617
if (rig_nbr == TT550) {
618
spref.get("tt550_line_out", tt550_line_out, tt550_line_out);
619
spref.get("tt550_agc_level", tt550_agc_level, tt550_agc_level);
621
spref.get("tt550_cw_wpm", tt550_cw_wpm, tt550_cw_wpm);
622
spref.get("tt550_cw_weight", tt550_cw_weight, tt550_cw_weight);
623
spref.get("tt550_cw_vol", tt550_cw_vol, tt550_cw_vol);
624
spref.get("tt550_cw_spot", tt550_cw_spot, tt550_cw_spot);
625
if (spref.get("tt550_spot_onoff", i, i)) tt550_spot_onoff = i;
626
spref.get("tt550_cw_qsk", tt550_cw_qsk, tt550_cw_qsk);
627
if (spref.get("tt550_enable_keyer", i, i)) tt550_enable_keyer = i;
629
if (spref.get("tt550_vox_onoff", i, i)) tt550_vox_onoff = i;
630
spref.get("tt550_vox_gain", tt550_vox_gain, tt550_vox_gain);
631
spref.get("tt550_vox_anti", tt550_vox_anti, tt550_vox_anti);
632
spref.get("tt550_vox_hang", tt550_vox_hang, tt550_vox_hang);
634
spref.get("tt550_mon_vol", tt550_mon_vol, tt550_mon_vol);
635
spref.get("tt550_squelch_level", tt550_squelch_level, tt550_squelch_level);
636
spref.get("tt550_compression", tt550_compression, tt550_compression);
637
spref.get("tt550_nb_level", tt550_nb_level, tt550_nb_level);
638
if (spref.get("tt550_compON", i, i)) tt550_compON = i;
639
if (spref.get("tt550_tuner_bypass", i, i)) tt550_tuner_bypass = i;
640
if (spref.get("tt550_enable_xmtr", i, i)) tt550_enable_xmtr = i;
641
if (spref.get("tt550_enable_tloop", i, i)) tt550_enable_tloop = i;
643
spref.get("tt550_xmt_bw", tt550_xmt_bw, tt550_xmt_bw);
644
if (spref.get("tt550_use_xmt_bw", i, i)) tt550_use_xmt_bw = i;
646
if (spref.get("tt550_use_line_in", i, i)) tt550_use_line_in = i;
648
spref.get("tt550_AM_level", tt550_AM_level, tt550_AM_level);
649
spref.get("tt550_encoder_step", tt550_encoder_step, tt550_encoder_step);
650
spref.get("tt550_encoder_sensitivity", tt550_encoder_sensitivity, tt550_encoder_sensitivity);
651
spref.get("tt550_keypad_timeout", tt550_keypad_timeout, tt550_keypad_timeout);
653
spref.get("tt550_F1_func", tt550_F1_func, tt550_F1_func);
654
spref.get("tt550_F2_func", tt550_F2_func, tt550_F2_func);
655
spref.get("tt550_F3_func", tt550_F3_func, tt550_F3_func);
659
spref.get("line_out", line_out, line_out);
660
spref.get("data_port", i, data_port); data_port = i;
661
spref.get("vox_on_dataport", i, vox_on_dataport); vox_on_dataport = i;
662
spref.get("agc_level", agc_level, agc_level);
663
spref.get("cw_wpm", cw_wpm, cw_wpm);
664
spref.get("cw_weight", cw_weight, cw_weight);
665
spref.get("cw_vol", cw_vol, cw_vol);
666
spref.get("cw_spot", cw_spot, cw_spot);
667
if (spref.get("spot_onoff", i, i)) spot_onoff = i;
668
spref.get("cw_spot_tone", cw_spot_tone, cw_spot_tone);
669
spref.get("cw_qsk", cw_qsk, cw_qsk);
670
if (spref.get("enable_keyer", i, i)) enable_keyer = i;
671
if (spref.get("vox_onoff", i, i)) vox_onoff = i;
672
spref.get("vox_gain", vox_gain, vox_gain);
673
spref.get("vox_anti", vox_anti, vox_anti);
674
spref.get("vox_hang", vox_hang, vox_hang);
675
spref.get("compression", compression, compression);
676
if (spref.get("compON", i, i)) compON = i;
679
if (spref.get("noise_reduction", i, i)) noise_reduction = i;
680
spref.get("noise_red_val", noise_reduction_val, noise_reduction_val);
681
spref.get("nb_level", nb_level, nb_level);
683
if (spref.get("bool_noise", i, i)) noise = i;
684
spref.get("int_preamp", preamp, preamp);
685
spref.get("int_att", attenuator, attenuator);
687
spref.get("vfo_adj", vfo_adj, vfo_adj);
688
spref.get("bfo_freq", bfo_freq, bfo_freq);
689
spref.get("rit_freq", rit_freq, rit_freq);
690
spref.get("xit_freq", xit_freq, xit_freq);
691
spref.get("bpf_center", bpf_center, bpf_center);
692
spref.get("use_bpf_center", i, i); use_bpf_center = i;
694
spref.get("fg_red", fg_red, fg_red);
695
spref.get("fg_green", fg_green, fg_green);
696
spref.get("fg_blue", fg_blue, fg_blue);
698
spref.get("bg_red", bg_red, bg_red);
699
spref.get("bg_green", bg_green, bg_green);
700
spref.get("bg_blue", bg_blue, bg_blue);
702
spref.get("smeter_red", smeterRed, smeterRed);
703
spref.get("smeter_green", smeterGreen, smeterGreen);
704
spref.get("smeter_blue", smeterBlue, smeterBlue);
706
spref.get("power_red", pwrRed, pwrRed);
707
spref.get("power_green", pwrGreen, pwrGreen);
708
spref.get("power_blue", pwrBlue, pwrBlue);
710
spref.get("swr_red", swrRed, swrRed);
711
spref.get("swr_green", swrGreen, swrGreen);
712
spref.get("swr_blue", swrBlue, swrBlue);
714
spref.get("peak_red", peakRed, peakRed);
715
spref.get("peak_green", peakGreen, peakGreen);
716
spref.get("peak_blue", peakBlue, peakBlue);
718
spref.get("fg_sys_red", fg_sys_red, fg_sys_red);
719
spref.get("fg_sys_green", fg_sys_green, fg_sys_green);
720
spref.get("fg_sys_blue", fg_sys_blue, fg_sys_blue);
722
spref.get("bg_sys_red", bg_sys_red, bg_sys_red);
723
spref.get("bg_sys_green", bg_sys_green, bg_sys_green);
724
spref.get("bg_sys_blue", bg_sys_blue, bg_sys_blue);
726
spref.get("bg2_sys_red", bg2_sys_red, bg2_sys_red);
727
spref.get("bg2_sys_green", bg2_sys_green, bg2_sys_green);
728
spref.get("bg2_sys_blue", bg2_sys_blue, bg2_sys_blue);
730
spref.get("slider_red", slider_red, slider_red);
731
spref.get("slider_green", slider_green, slider_green);
732
spref.get("slider_blue", slider_blue, slider_blue);
734
spref.get("slider_btn_red", slider_btn_red, slider_btn_red);
735
spref.get("slider_btn_green", slider_btn_green, slider_btn_green);
736
spref.get("slider_btn_blue", slider_btn_blue, slider_btn_blue);
738
spref.get("lighted_btn_red", lighted_btn_red, lighted_btn_red);
739
spref.get("lighted_btn_green", lighted_btn_green, lighted_btn_green);
740
spref.get("lighted_btn_blue", lighted_btn_blue, lighted_btn_blue);
743
spref.get("fontnbr", i, i); fontnbr = (Fl_Font)i;
745
if (spref.get("tooltips", i, i)) tooltips = i;
747
spref.get("ui_scheme", defbuffer, "gtk+", 199);
748
ui_scheme = defbuffer;
750
spref.get("server_port", defbuffer, "7362", 199);
751
server_port = defbuffer;
753
spref.get("server_addr", defbuffer, "127.0.0.1", 199);
754
server_addr = defbuffer;
756
if (spref.get("xcvr_auto_on", i, i)) xcvr_auto_on = i;
757
if (spref.get("xcvr_auto_off", i, i)) xcvr_auto_off = i;
763
void status::loadLastState()
765
Fl_Preferences xcvrpref(RigHomeDir.c_str(), "w1hkj.com", PACKAGE_TARNAME);
766
if (xcvrpref.entryExists("last_xcvr_used")) {
768
xcvrpref.get("last_xcvr_used", defbuffer, "none", 199);
769
last_xcvr_used = defbuffer;
771
loadXcvrState(last_xcvr_used.c_str());
774
void status::UI_laststate()
776
Fl_Color bgclr = fl_rgb_color(bg_red, bg_green, bg_blue);
777
Fl_Color fgclr = fl_rgb_color(fg_red, fg_green, fg_blue);
779
Fl::background( bg_sys_red, bg_sys_green, bg_sys_blue);
780
Fl::background2( bg2_sys_red, bg2_sys_green, bg2_sys_blue);
781
Fl::foreground( fg_sys_red, fg_sys_green, fg_sys_blue);
783
FreqDispA->SetONOFFCOLOR( fgclr, bgclr );
784
FreqDispA->font(fontnbr);
785
FreqDispB->SetONOFFCOLOR( fgclr, fl_color_average(bgclr, FL_BLACK, 0.87));
786
FreqDispB->font(fontnbr);
788
scaleSmeter->color(bgclr);
789
scaleSmeter->labelcolor(fgclr);
790
scalePower->color(bgclr);
791
scalePower->labelcolor(fgclr);
792
btnALC_SWR->color(bgclr);
793
btnALC_SWR->labelcolor(fgclr);
795
sldrFwdPwr->color(fl_rgb_color (pwrRed, pwrGreen, pwrBlue), bgclr);
796
sldrFwdPwr->PeakColor(fl_rgb_color(peakRed, peakGreen, peakBlue));
798
sldrRcvSignal->color(fl_rgb_color (smeterRed, smeterGreen, smeterBlue), bgclr);
799
sldrRcvSignal->PeakColor(fl_rgb_color(peakRed, peakGreen, peakBlue));
801
sldrALC->color(fl_rgb_color (swrRed, swrGreen, swrBlue), bgclr);
802
sldrALC->PeakColor(fl_rgb_color(peakRed, peakGreen, peakBlue));
804
sldrSWR->color(fl_rgb_color (swrRed, swrGreen, swrBlue), bgclr);
805
sldrSWR->PeakColor(fl_rgb_color(peakRed, peakGreen, peakBlue));
807
if (UIsize != small_ui)
808
meter_fill_box->color(bgclr);
810
grpMeters->color(bgclr);
811
grpMeters->labelcolor(fgclr);
813
Fl_Color btn_lt_color = fl_rgb_color(lighted_btn_red, lighted_btn_green, lighted_btn_blue);
814
if (btnVol) btnVol->selection_color(btn_lt_color);
815
if (btnNR) btnNR->selection_color(btn_lt_color);
816
if (btnIFsh) btnIFsh->selection_color(btn_lt_color);
817
if (btnNotch) btnNotch->selection_color(btn_lt_color);
818
if (btnA) btnA->selection_color(btn_lt_color);
819
if (btnB) btnB->selection_color(btn_lt_color);
820
if (btnSplit) btnSplit->selection_color(btn_lt_color);
821
if (btnAttenuator) btnAttenuator->selection_color(btn_lt_color);
822
if (btnPreamp) btnPreamp->selection_color(btn_lt_color);
823
if (btnNOISE) btnNOISE->selection_color(btn_lt_color);
824
if (btnAutoNotch) btnAutoNotch->selection_color(btn_lt_color);
825
if (btnTune) btnTune->selection_color(btn_lt_color);
826
if (btnPTT) btnPTT->selection_color(btn_lt_color);
827
if (btnAuxRTS) btnAuxRTS->selection_color(btn_lt_color);
828
if (btnAuxDTR) btnAuxDTR->selection_color(btn_lt_color);
829
if (btnSpot) btnSpot->selection_color(btn_lt_color);
830
if (btn_vox) btn_vox->selection_color(btn_lt_color);
831
if (btnCompON) btnCompON->selection_color(btn_lt_color);
832
if (btnSpecial) btnSpecial->selection_color(btn_lt_color);
833
if (btn_tt550_vox) btn_tt550_vox->selection_color(btn_lt_color);
834
if (btn_tt550_CompON) btn_tt550_CompON->selection_color(btn_lt_color);
836
Fl_Color bg_slider = fl_rgb_color(slider_red, slider_green, slider_blue);
837
Fl_Color btn_slider = fl_rgb_color(slider_btn_red, slider_btn_green, slider_btn_blue);
838
if (sldrVOLUME) sldrVOLUME->color(bg_slider);
839
if (sldrVOLUME) sldrVOLUME->selection_color(btn_slider);
840
if (sldrRFGAIN) sldrRFGAIN->color(bg_slider);
841
if (sldrRFGAIN) sldrRFGAIN->selection_color(btn_slider);
842
if (sldrSQUELCH) sldrSQUELCH->color(bg_slider);
843
if (sldrSQUELCH) sldrSQUELCH->selection_color(btn_slider);
844
if (sldrNR) sldrNR->color(bg_slider);
845
if (sldrNR) sldrNR->selection_color(btn_slider);
846
if (sldrIFSHIFT) sldrIFSHIFT->color(bg_slider);
847
if (sldrIFSHIFT) sldrIFSHIFT->selection_color(btn_slider);
848
if (sldrNOTCH) sldrNOTCH->color(bg_slider);
849
if (sldrNOTCH) sldrNOTCH->selection_color(btn_slider);
850
if (sldrMICGAIN) sldrMICGAIN->color(bg_slider);
851
if (sldrMICGAIN) sldrMICGAIN->selection_color(btn_slider);
852
if (sldrPOWER) sldrPOWER->color(bg_slider);
853
if (sldrPOWER) sldrPOWER->selection_color(btn_slider);
855
if (use_rig_data) mnuKeepData->set();
856
else mnuKeepData->clear();
858
if (restore_rig_data) mnuRestoreData->set();
859
else mnuRestoreData->clear();
861
Fl::scheme(ui_scheme.c_str());