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>
36
string last_xcvr_used = "none";
38
int current_ui_size = -1;
45
small_ui, // UISIZE, UIsize;
48
"NONE", // string xcvr_serial_port;
49
0, // int comm_baudrate;
51
2, // int comm_retries;
53
50, // int comm_timeout;
54
false, // bool comm_echo;
55
false, // bool comm_catptt;
56
false, // bool comm_rtsptt;
57
false, // bool comm_dtrptt;
58
false, // bool comm_rtscts;
59
false, // bool comm_rtsplus;
60
false, // bool comm_dtrplus;
61
200, // int serloop_timing;
62
0, // int byte_interval;
64
"NONE", // string aux_serial_port;
65
false, // bool aux_rts;
66
false, // bool aux_dtr;
68
"NONE", // string sep_serial_port;
69
false, // bool sep_rtsptt;
70
false, // bool sep_dtrptt;
71
false, // bool sep_rtsplus;
72
false, // bool sep_dtrplus;
74
false, // bool USBaudio;
76
1, // bool poll_smeter;
77
1, // bool poll_frequency;
79
1, // bool poll_bandwidth;
80
0, // bool poll_volume;
81
0, // bool poll_auto_notch;
82
0, // bool poll_notch;
83
0, // bool poll_ifshift;
84
0, // bool poll_power_control;
85
0, // bool poll_pre_att;
86
0, // bool poll_micgain;
87
0, // bool poll_squelch;
88
0, // bool poll_rfgain;
92
0, // bool poll_split;
93
0, // bool poll_noise;
99
7070000, // long freq_A;
102
7070000, // long freq_B;
103
false, // bool use_rig_data;
104
false, // bool restore_rig_data;
106
false, // bool spkr_on;
108
0, // int power_level;
110
false, // bool notch;
112
false, // bool shift;
118
true, // bool hrd_buttons
121
false, // bool data_port;
124
3.0, // double cw_weight;
127
false, // bool spot_onoff;
128
700, // int cw_spot_tone;
129
false, // bool enable_keyer;
130
false, // bool break_in;
131
15, // double cw_qsk;
132
200, // double cw_delay;
134
false, // int vox_onoff;
137
100, // int vox_hang; FT950 default
138
true, // bool vox_on_dataport;
139
0, // int compression;
140
false, // bool compON;
142
0, // bool noise_reduction;
143
0, // int noise_reduction_val;
146
false, // bool noise;
149
0, // int auto_notch;
153
true, // bool key_fldigi;
159
4, // int pwr_scale ==> Autoselect
162
80, // tt550_line_out;
163
1, // tt550_agc_level;
166
1.0, // tt550_cw_weight;
168
10, // tt550_cw_spot;
169
false, // tt550_cw_spot_onoff;
171
true, // tt550_enable_keyer;
173
false, // tt550_vox_onoff;
174
0, // tt550_vox_gain;
175
0, // tt550_vox_anti;
176
0, // tt550_vox_hang;
179
0, // tt550_squelch_level;
180
0, // tt550_compression;
181
1, // tt550_nb_level;
182
false, // tt550_bool compON;
183
false, // tt550_tuner_bypass;
185
true, // tt550_enable_xmtr;
186
false, // tt550_enable_tloop;
188
true, // tt550_use_line_in;
191
false, // tt550_use_xmt_bw;
193
25, // tt550_AM_level;
194
0, // tt550_encoder_step;
195
1, // tt550_encoder_sensitivity;
196
2000, // tt550_keypad_timeout;
207
true, // use_bpf_center;
210
255, // int bg_green;
226
180, // int smeterGreen;
233
0, // int fg_sys_red;
234
0, // int fg_sys_green;
235
0, // int fg_sys_blue;
237
0xc0, // int bg_sys_red;
238
0xc0, // int bg_sys_green;
239
0xc0, // int bg_sys_blue;
241
255, // int bg2_sys_red;
242
255, // int bg2_sys_green;
243
255, // int bg2_sys_blue;
245
232, // int slider_red;
246
255, // int slider_green;
247
232, // int slider_blue;
249
0, // int slider_btn_red;
250
0, // int slider_btn_green;
251
128, // int slider_btn_blue;
253
255, // int lighted_btn_red;
254
255, // int lighted_btn_green;
255
0, // int lighted_btn_blue;
257
FL_COURIER, // Fl_Font fontnbr;
259
false, // bool tooltips;
261
"gtk+", // string ui_scheme
263
"7362", // string server_port
264
"127.0.0.1",// string server_address
266
"4001", // string tcpip_port
267
"127.0.0.1",// string tcpip_address
268
50, // int tcpip_ping_delay
269
10, // int tcpip_reconnect_after in seconds
270
10, // int tcpip_drops_allowed;
272
false, // bool use_tcpip
274
false, // bool xcvr auto on
275
false // bool xcvr auto off
279
void status::saveLastState()
281
last_xcvr_used = selrig->name_;
282
Fl_Preferences xcvrpref(RigHomeDir.c_str(), "w1hkj.com", PACKAGE_TARNAME);
283
xcvrpref.set("last_xcvr_used", last_xcvr_used.c_str());
285
int mX = mainwindow->x();
286
int mY = mainwindow->y();
287
int mW = mainwindow->w();
288
int mH = mainwindow->h();
290
if (mX >= 0 && mX >= 0) {
293
if (UIsize != small_ui) { mainW = mW; mainH = mH; }
296
Fl_Preferences spref(RigHomeDir.c_str(), "w1hkj.com", last_xcvr_used.c_str());
298
spref.set("version", PACKAGE_VERSION);
300
spref.set("mainx", mainX);
301
spref.set("mainy", mainY);
302
spref.set("mainw", mainW);
303
spref.set("mainh", mainH);
305
spref.set("uisize", UIsize);
307
spref.set("xcvr_serial_port", xcvr_serial_port.c_str());
308
spref.set("comm_baudrate", comm_baudrate);
309
spref.set("comm_stopbits", stopbits);
310
spref.set("comm_retries", comm_retries);
311
spref.set("comm_wait", comm_wait);
312
spref.set("comm_timeout", comm_timeout);
313
spref.set("serloop_timing", serloop_timing);
314
spref.set("byte_interval", byte_interval);
316
spref.set("comm_echo", comm_echo);
317
spref.set("ptt_via_cat", comm_catptt);
318
spref.set("ptt_via_rts", comm_rtsptt);
319
spref.set("ptt_via_dtr", comm_dtrptt);
320
spref.set("rts_cts_flow", comm_rtscts);
321
spref.set("rts_plus", comm_rtsplus);
322
spref.set("dtr_plus", comm_dtrplus);
323
spref.set("civadr", CIV);
324
spref.set("usbaudio", USBaudio);
326
spref.set("aux_serial_port", aux_serial_port.c_str());
327
spref.set("aux_rts", aux_rts);
328
spref.set("aux_dtr", aux_dtr);
330
spref.set("sep_serial_port", sep_serial_port.c_str());
331
spref.set("sep_rtsptt", sep_rtsptt);
332
spref.set("sep_dtrptt", sep_dtrptt);
333
spref.set("sep_rtsplus", sep_rtsplus);
334
spref.set("set_dtrplus", sep_dtrplus);
336
spref.set("key_fldigi", key_fldigi);
338
spref.set("poll_smeter", poll_smeter);
339
spref.set("poll_frequency", poll_frequency);
340
spref.set("poll_mode", poll_mode);
341
spref.set("poll_bandwidth", poll_bandwidth);
342
spref.set("poll_volume", poll_volume);
343
spref.set("poll_auto_notch", poll_auto_notch);
344
spref.set("poll_notch", poll_notch);
345
spref.set("poll_ifshift", poll_ifshift);
346
spref.set("poll_power_control", poll_power_control);
347
spref.set("poll_pre_att", poll_pre_att);
348
spref.set("poll_micgain", poll_micgain);
349
spref.set("poll_squelch", poll_squelch);
350
spref.set("poll_rfgain", poll_rfgain);
351
spref.set("poll_pout", poll_pout);
352
spref.set("poll_swr", poll_swr);
353
spref.set("poll_alc", poll_alc);
354
spref.set("poll_split", poll_split);
355
spref.set("poll_noise", poll_noise);
356
spref.set("poll_nr", poll_nr);
357
spref.set("poll_all", poll_all);
359
spref.set("bw_A", iBW_A);
360
spref.set("mode_A", imode_A);
361
spref.set("freq_A", freq_A);
363
spref.set("bw_B", iBW_B);
364
spref.set("mode_B", imode_B);
365
spref.set("freq_B", freq_B);
367
spref.set("use_rig_data", use_rig_data);
368
spref.set("restore_rig_data", restore_rig_data);
370
spref.set("bool_spkr_on", spkr_on);
371
spref.set("int_volume", volume);
372
spref.set("dbl_power", power_level);
373
spref.set("int_mic", mic_gain);
374
spref.set("bool_notch", notch);
375
spref.set("int_notch", notch_val);
376
spref.set("bool_shift", shift);
377
spref.set("int_shift", shift_val);
378
spref.set("rfgain", rfgain);
379
spref.set("squelch", squelch);
381
spref.set("schema", schema);
383
spref.set("rx_avg", rx_avg);
384
spref.set("rx_peak", rx_peak);
385
spref.set("pwr_avg", pwr_avg);
386
spref.set("pwr_peak", pwr_peak);
387
spref.set("pwr_scale", pwr_scale);
389
if (rig_nbr == TT550) {
390
spref.set("tt550_line_out", tt550_line_out);
391
spref.set("tt550_agc_level", tt550_agc_level);
393
spref.set("tt550_cw_wpm", tt550_cw_wpm);
394
spref.set("tt550_cw_weight", tt550_cw_weight);
395
spref.set("tt550_cw_vol", tt550_cw_vol);
396
spref.set("tt550_cw_spot", tt550_cw_spot);
397
spref.set("tt550_spot_onoff", tt550_spot_onoff);
398
spref.set("tt550_cw_qsk", tt550_cw_qsk);
399
spref.set("enable_keyer", enable_keyer);
400
spref.set("break_in", break_in);
401
spref.set("cw_delay", cw_delay);
403
spref.set("tt550_vox_onoff", tt550_vox_onoff);
404
spref.set("tt550_vox_gain", tt550_vox_gain);
405
spref.set("tt550_vox_anti", tt550_vox_anti);
406
spref.set("tt550_vox_hang", tt550_vox_hang);
408
spref.set("tt550_mon_vol", tt550_mon_vol);
409
spref.set("tt550_squelch_level", tt550_squelch_level);
410
spref.set("tt550_compression", tt550_compression);
411
spref.set("tt550_nb_level", tt550_nb_level);
412
spref.set("tt550_compON", tt550_compON);
413
spref.set("tt550_tuner_bypass", tt550_tuner_bypass);
414
spref.set("tt550_enable_xmtr", tt550_enable_xmtr);
415
spref.set("tt550_enable_tloop", tt550_enable_tloop);
417
spref.set("tt550_xmt_bw", tt550_xmt_bw);
418
spref.set("tt550_use_xmt_bw", tt550_use_xmt_bw);
420
spref.set("tt550_AM_level", tt550_AM_level);
422
spref.set("tt550_use_line_in", tt550_use_line_in);
424
spref.set("tt550_encoder_step", tt550_encoder_step);
425
spref.set("tt550_encoder_sensitivity", tt550_encoder_sensitivity);
426
spref.set("tt550_keypad_timeout", tt550_keypad_timeout);
428
spref.set("tt550_F1_func", tt550_F1_func);
429
spref.set("tt550_F2_func", tt550_F2_func);
430
spref.set("tt550_F3_func", tt550_F3_func);
433
spref.set("line_out", line_out);
434
spref.set("data_port", data_port);
435
spref.set("vox_on_dataport", vox_on_dataport);
436
spref.set("agc_level", agc_level);
437
spref.set("cw_wpm", cw_wpm);
438
spref.set("cw_weight", cw_weight);
439
spref.set("cw_vol", cw_vol);
440
spref.set("cw_spot", cw_spot);
441
spref.set("spot_onoff", spot_onoff);
442
spref.set("cw_spot_tone", cw_spot_tone);
443
spref.set("cw_qsk", cw_qsk);
444
spref.set("enable_keyer", enable_keyer);
445
spref.set("vox_onoff", vox_onoff);
446
spref.set("vox_gain", vox_gain);
447
spref.set("vox_anti", vox_anti);
448
spref.set("vox_hang", vox_hang);
449
spref.set("compression", compression);
450
spref.set("compON", compON);
453
spref.set("noise_reduction", noise_reduction);
454
spref.set("noise_red_val", noise_reduction_val);
455
spref.set("nb_level", nb_level);
457
spref.set("bool_noise", noise);
458
spref.set("int_preamp", preamp);
459
spref.set("int_att", attenuator);
461
spref.set("vfo_adj", vfo_adj);
462
spref.set("bfo_freq", bfo_freq);
463
spref.set("rit_freq", rit_freq);
464
spref.set("xit_freq", xit_freq);
465
spref.set("bpf_center", bpf_center);
466
spref.set("use_bpf_center", use_bpf_center);
468
spref.set("fg_red", fg_red);
469
spref.set("fg_green", fg_green);
470
spref.set("fg_blue", fg_blue);
472
spref.set("bg_red", bg_red);
473
spref.set("bg_green", bg_green);
474
spref.set("bg_blue", bg_blue);
476
spref.set("smeter_red", smeterRed);
477
spref.set("smeter_green", smeterGreen);
478
spref.set("smeter_blue", smeterBlue);
480
spref.set("power_red", pwrRed);
481
spref.set("power_green", pwrGreen);
482
spref.set("power_blue", pwrBlue);
484
spref.set("swr_red", swrRed);
485
spref.set("swr_green", swrGreen);
486
spref.set("swr_blue", swrBlue);
488
spref.set("peak_red", peakRed);
489
spref.set("peak_green", peakGreen);
490
spref.set("peak_blue", peakBlue);
492
spref.set("fg_sys_red", fg_sys_red);
493
spref.set("fg_sys_green", fg_sys_green);
494
spref.set("fg_sys_blue", fg_sys_blue);
496
spref.set("bg_sys_red", bg_sys_red);
497
spref.set("bg_sys_green", bg_sys_green);
498
spref.set("bg_sys_blue", bg_sys_blue);
500
spref.set("bg2_sys_red", bg2_sys_red);
501
spref.set("bg2_sys_green", bg2_sys_green);
502
spref.set("bg2_sys_blue", bg2_sys_blue);
504
spref.set("slider_red", slider_red);
505
spref.set("slider_green", slider_green);
506
spref.set("slider_blue", slider_blue);
508
spref.set("slider_btn_red", slider_btn_red);
509
spref.set("slider_btn_green", slider_btn_green);
510
spref.set("slider_btn_blue", slider_btn_blue);
512
spref.set("lighted_btn_red", lighted_btn_red);
513
spref.set("lighted_btn_green", lighted_btn_green);
514
spref.set("lighted_btn_blue", lighted_btn_blue);
516
spref.set("fontnbr", fontnbr);
518
spref.set("tooltips", tooltips);
520
spref.set("ui_scheme", ui_scheme.c_str());
522
spref.set("server_port", server_port.c_str());
523
spref.set("server_addr", server_addr.c_str());
525
spref.set("tcpip_port", tcpip_port.c_str());
526
spref.set("tcpip_addr", tcpip_addr.c_str());
527
spref.set("tcpip_ping_delay", tcpip_ping_delay);
528
spref.set("tcpip_tcpip_reconnect_after", tcpip_reconnect_after);
529
spref.set("tcpip_drops_allowed", tcpip_drops_allowed);
530
spref.set("use_tcpip", use_tcpip);
532
spref.set("xcvr_auto_on", xcvr_auto_on);
533
spref.set("xcvr_auto_off", xcvr_auto_off);
535
spref.set("hrd_buttons", hrd_buttons);
538
bool status::loadXcvrState(const char *xcvr)
540
Fl_Preferences spref(RigHomeDir.c_str(), "w1hkj.com", xcvr);
542
if (spref.entryExists("version")) {
547
spref.get("mainx", mainX, mainX);
548
spref.get("mainy", mainY, mainY);
549
spref.get("mainw", mainW, mainW);
550
spref.get("mainh", mainH, mainH);
551
spref.get("uisize", UIsize, UIsize);
552
if (current_ui_size != -1) {
553
UIsize = current_ui_size;
555
current_ui_size = UIsize;
556
if (UIsize == wide_ui) {
557
if (mainW < WIDE_MAINW) mainW = WIDE_MAINW;
559
if (UIsize == touch_ui) {
560
if (mainW < TOUCH_MAINW) mainW = TOUCH_MAINW;
563
spref.get("xcvr_serial_port", defbuffer, "NONE", 199);
564
xcvr_serial_port = defbuffer;
565
if (xcvr_serial_port.find("tty") == 0)
566
xcvr_serial_port.insert(0, "/dev/");
569
for (int i = NONE; i < LAST_RIG; i++)
570
if (strcmp(rigs[i]->name_, xcvr) == 0) {
575
spref.get("comm_baudrate", comm_baudrate, comm_baudrate);
576
spref.get("comm_stopbits", stopbits, stopbits);
577
spref.get("comm_retries", comm_retries, comm_retries);
578
spref.get("comm_wait", comm_wait, comm_wait);
579
spref.get("comm_timeout", comm_timeout, comm_timeout);
580
spref.get("serloop_timing", serloop_timing, serloop_timing);
581
if (serloop_timing < 10) serloop_timing = 10; // minimum loop delay of 10 msec
582
spref.get("byte_interval", byte_interval, byte_interval);
584
if (spref.get("comm_echo", i, i)) comm_echo = i;
585
if (spref.get("ptt_via_cat", i, i)) comm_catptt = i;
586
if (spref.get("ptt_via_rts", i, i)) comm_rtsptt = i;
587
if (spref.get("ptt_via_dtr", i, i)) comm_dtrptt = i;
588
if (spref.get("rts_cts_flow", i, i)) comm_rtscts = i;
589
if (spref.get("rts_plus", i, i)) comm_rtsplus = i;
590
if (spref.get("dtr_plus", i, i)) comm_dtrplus = i;
591
spref.get("civadr", CIV, CIV);
592
if (spref.get("usbaudio", i, i)) USBaudio = i;
594
spref.get("aux_serial_port", defbuffer, "NONE", 199);
595
aux_serial_port = defbuffer;
596
if (spref.get("aux_rts", i, i)) aux_rts = i;
597
if (spref.get("aux_dtr", i, i)) aux_dtr = i;
599
spref.get("sep_serial_port", defbuffer, "NONE", 199);
600
sep_serial_port = defbuffer;
601
if (spref.get("sep_rtsptt", i, i)) sep_rtsptt = i;
602
if (spref.get("sep_dtrptt", i, i)) sep_dtrptt = i;
603
if (spref.get("sep_rtsplus", i, i)) sep_rtsplus = i;
604
if (spref.get("sep_dtrplus", i, i)) sep_dtrplus = i;
606
if (spref.get("key_fldigi", i, key_fldigi)) key_fldigi = i;
608
spref.get("poll_smeter", poll_smeter, poll_smeter);
609
spref.get("poll_frequency", poll_frequency, poll_frequency);
610
spref.get("poll_mode", poll_mode, poll_mode);
611
spref.get("poll_bandwidth", poll_bandwidth, poll_bandwidth);
612
spref.get("poll_volume", poll_volume, poll_volume);
613
spref.get("poll_auto_notch", poll_auto_notch, poll_auto_notch);
614
spref.get("poll_notch", poll_notch, poll_notch);
615
spref.get("poll_ifshift", poll_ifshift, poll_ifshift);
616
spref.get("poll_power_control", poll_power_control, poll_power_control);
617
spref.get("poll_pre_att", poll_pre_att, poll_pre_att);
618
spref.get("poll_micgain", poll_micgain, poll_micgain);
619
spref.get("poll_squelch", poll_squelch, poll_squelch);
620
spref.get("poll_rfgain", poll_rfgain, poll_rfgain);
621
spref.get("poll_pout", poll_pout, poll_pout);
622
spref.get("poll_swr", poll_swr, poll_swr);
623
spref.get("poll_alc", poll_alc, poll_alc);
624
spref.get("poll_split", poll_split, poll_split);
625
spref.get("poll_noise", poll_noise, poll_noise);
626
spref.get("poll_nr", poll_nr, poll_nr);
627
spref.get("poll_all", poll_all, poll_all);
629
spref.get("bw_A", iBW_A, iBW_A);
630
spref.get("mode_A", imode_A, imode_A);
631
spref.get("freq_A", freq_A, freq_A);
633
spref.get("bw_B", iBW_B, iBW_B);
634
spref.get("mode_B", imode_B, imode_B);
635
spref.get("freq_B", freq_B, freq_B);
637
if (spref.get("use_rig_data", i, i)) use_rig_data = i;
638
if (spref.get("restore_rig_data", i, i)) restore_rig_data = i;
640
if (spref.get("bool_spkr_on", i, i)) spkr_on = i;
641
spref.get("int_volume", volume, volume);
642
spref.get("dbl_power", power_level, power_level);
643
spref.get("int_mic", mic_gain, mic_gain);
644
if (spref.get("bool_notch", i, i)) notch = i;
645
spref.get("int_notch", notch_val, notch_val);
646
if (spref.get("bool_shift", i, i)) shift = i;
647
spref.get("int_shift", shift_val, shift_val);
648
spref.get("rfgain", rfgain, rfgain);
649
spref.get("squelch", squelch, squelch);
651
spref.get("schema", schema, schema);
653
spref.get("rx_avg", rx_avg, rx_avg);
654
spref.get("rx_peak", rx_peak, rx_peak);
655
spref.get("pwr_avg", pwr_avg, pwr_avg);
656
spref.get("pwr_peak", pwr_peak, pwr_peak);
657
spref.get("pwr_scale", pwr_scale, pwr_scale);
659
if (rig_nbr == TT550) {
660
spref.get("tt550_line_out", tt550_line_out, tt550_line_out);
661
spref.get("tt550_agc_level", tt550_agc_level, tt550_agc_level);
663
spref.get("tt550_cw_wpm", tt550_cw_wpm, tt550_cw_wpm);
664
spref.get("tt550_cw_weight", tt550_cw_weight, tt550_cw_weight);
665
spref.get("tt550_cw_vol", tt550_cw_vol, tt550_cw_vol);
666
spref.get("tt550_cw_spot", tt550_cw_spot, tt550_cw_spot);
667
if (spref.get("tt550_spot_onoff", i, i)) tt550_spot_onoff = i;
668
spref.get("tt550_cw_qsk", tt550_cw_qsk, tt550_cw_qsk);
669
if (spref.get("tt550_enable_keyer", i, i)) tt550_enable_keyer = i;
670
if (spref.get("break_in", i, i)) break_in = i;
671
if (spref.get("vox_onoff", i, i)) vox_onoff = i;
673
if (spref.get("tt550_vox_onoff", i, i)) tt550_vox_onoff = i;
674
spref.get("tt550_vox_gain", tt550_vox_gain, tt550_vox_gain);
675
spref.get("tt550_vox_anti", tt550_vox_anti, tt550_vox_anti);
676
spref.get("tt550_vox_hang", tt550_vox_hang, tt550_vox_hang);
678
spref.get("tt550_mon_vol", tt550_mon_vol, tt550_mon_vol);
679
spref.get("tt550_squelch_level", tt550_squelch_level, tt550_squelch_level);
680
spref.get("tt550_compression", tt550_compression, tt550_compression);
681
spref.get("tt550_nb_level", tt550_nb_level, tt550_nb_level);
682
if (spref.get("tt550_compON", i, i)) tt550_compON = i;
683
if (spref.get("tt550_tuner_bypass", i, i)) tt550_tuner_bypass = i;
684
if (spref.get("tt550_enable_xmtr", i, i)) tt550_enable_xmtr = i;
685
if (spref.get("tt550_enable_tloop", i, i)) tt550_enable_tloop = i;
687
spref.get("tt550_xmt_bw", tt550_xmt_bw, tt550_xmt_bw);
688
if (spref.get("tt550_use_xmt_bw", i, i)) tt550_use_xmt_bw = i;
690
if (spref.get("tt550_use_line_in", i, i)) tt550_use_line_in = i;
692
spref.get("tt550_AM_level", tt550_AM_level, tt550_AM_level);
693
spref.get("tt550_encoder_step", tt550_encoder_step, tt550_encoder_step);
694
spref.get("tt550_encoder_sensitivity", tt550_encoder_sensitivity, tt550_encoder_sensitivity);
695
spref.get("tt550_keypad_timeout", tt550_keypad_timeout, tt550_keypad_timeout);
697
spref.get("tt550_F1_func", tt550_F1_func, tt550_F1_func);
698
spref.get("tt550_F2_func", tt550_F2_func, tt550_F2_func);
699
spref.get("tt550_F3_func", tt550_F3_func, tt550_F3_func);
703
spref.get("line_out", line_out, line_out);
704
spref.get("data_port", i, data_port); data_port = i;
705
spref.get("vox_on_dataport", i, vox_on_dataport); vox_on_dataport = i;
706
spref.get("agc_level", agc_level, agc_level);
707
spref.get("cw_wpm", cw_wpm, cw_wpm);
708
spref.get("cw_weight", cw_weight, cw_weight);
709
spref.get("cw_vol", cw_vol, cw_vol);
710
spref.get("cw_spot", cw_spot, cw_spot);
711
if (spref.get("spot_onoff", i, i)) spot_onoff = i;
712
spref.get("cw_spot_tone", cw_spot_tone, cw_spot_tone);
713
spref.get("cw_qsk", cw_qsk, cw_qsk);
714
if (spref.get("enable_keyer", i, i)) enable_keyer = i;
715
if (spref.get("vox_onoff", i, i)) vox_onoff = i;
716
spref.get("vox_gain", vox_gain, vox_gain);
717
spref.get("vox_anti", vox_anti, vox_anti);
718
spref.get("vox_hang", vox_hang, vox_hang);
719
spref.get("compression", compression, compression);
720
if (spref.get("compON", i, i)) compON = i;
723
if (spref.get("noise_reduction", i, i)) noise_reduction = i;
724
spref.get("noise_red_val", noise_reduction_val, noise_reduction_val);
725
spref.get("nb_level", nb_level, nb_level);
727
if (spref.get("bool_noise", i, i)) noise = i;
728
spref.get("int_preamp", preamp, preamp);
729
spref.get("int_att", attenuator, attenuator);
731
spref.get("vfo_adj", vfo_adj, vfo_adj);
732
spref.get("bfo_freq", bfo_freq, bfo_freq);
733
spref.get("rit_freq", rit_freq, rit_freq);
734
spref.get("xit_freq", xit_freq, xit_freq);
735
spref.get("bpf_center", bpf_center, bpf_center);
736
spref.get("use_bpf_center", i, i); use_bpf_center = i;
738
spref.get("fg_red", fg_red, fg_red);
739
spref.get("fg_green", fg_green, fg_green);
740
spref.get("fg_blue", fg_blue, fg_blue);
742
spref.get("bg_red", bg_red, bg_red);
743
spref.get("bg_green", bg_green, bg_green);
744
spref.get("bg_blue", bg_blue, bg_blue);
746
spref.get("smeter_red", smeterRed, smeterRed);
747
spref.get("smeter_green", smeterGreen, smeterGreen);
748
spref.get("smeter_blue", smeterBlue, smeterBlue);
750
spref.get("power_red", pwrRed, pwrRed);
751
spref.get("power_green", pwrGreen, pwrGreen);
752
spref.get("power_blue", pwrBlue, pwrBlue);
754
spref.get("swr_red", swrRed, swrRed);
755
spref.get("swr_green", swrGreen, swrGreen);
756
spref.get("swr_blue", swrBlue, swrBlue);
758
spref.get("peak_red", peakRed, peakRed);
759
spref.get("peak_green", peakGreen, peakGreen);
760
spref.get("peak_blue", peakBlue, peakBlue);
762
spref.get("fg_sys_red", fg_sys_red, fg_sys_red);
763
spref.get("fg_sys_green", fg_sys_green, fg_sys_green);
764
spref.get("fg_sys_blue", fg_sys_blue, fg_sys_blue);
766
spref.get("bg_sys_red", bg_sys_red, bg_sys_red);
767
spref.get("bg_sys_green", bg_sys_green, bg_sys_green);
768
spref.get("bg_sys_blue", bg_sys_blue, bg_sys_blue);
770
spref.get("bg2_sys_red", bg2_sys_red, bg2_sys_red);
771
spref.get("bg2_sys_green", bg2_sys_green, bg2_sys_green);
772
spref.get("bg2_sys_blue", bg2_sys_blue, bg2_sys_blue);
774
spref.get("slider_red", slider_red, slider_red);
775
spref.get("slider_green", slider_green, slider_green);
776
spref.get("slider_blue", slider_blue, slider_blue);
778
spref.get("slider_btn_red", slider_btn_red, slider_btn_red);
779
spref.get("slider_btn_green", slider_btn_green, slider_btn_green);
780
spref.get("slider_btn_blue", slider_btn_blue, slider_btn_blue);
782
spref.get("lighted_btn_red", lighted_btn_red, lighted_btn_red);
783
spref.get("lighted_btn_green", lighted_btn_green, lighted_btn_green);
784
spref.get("lighted_btn_blue", lighted_btn_blue, lighted_btn_blue);
787
spref.get("fontnbr", i, i); fontnbr = (Fl_Font)i;
789
if (spref.get("tooltips", i, i)) tooltips = i;
791
spref.get("ui_scheme", defbuffer, "gtk+", 199);
792
ui_scheme = defbuffer;
794
spref.get("server_port", defbuffer, "7362", 199);
795
server_port = defbuffer;
796
spref.get("server_addr", defbuffer, "127.0.0.1", 199);
797
server_addr = defbuffer;
799
spref.get("tcpip_port", defbuffer, "4001", 199);
800
tcpip_port = defbuffer;
801
spref.get("tcpip_addr", defbuffer, "127.0.0.1", 199);
802
tcpip_addr = defbuffer;
803
spref.get("tcpip_ping_delay", tcpip_ping_delay, tcpip_ping_delay);
804
spref.get("tcpip_tcpip_reconnect_after", tcpip_reconnect_after, tcpip_reconnect_after);
805
spref.get("tcpip_drops_allowed", tcpip_drops_allowed, tcpip_drops_allowed);
806
if (spref.get("use_tcpip", i, i)) use_tcpip = i;
808
if (spref.get("xcvr_auto_on", i, i)) xcvr_auto_on = i;
809
if (spref.get("xcvr_auto_off", i, i)) xcvr_auto_off = i;
811
if (spref.get("hrd_buttons", i, i)) hrd_buttons = i;
817
void status::loadLastState()
819
Fl_Preferences xcvrpref(RigHomeDir.c_str(), "w1hkj.com", PACKAGE_TARNAME);
820
if (xcvrpref.entryExists("last_xcvr_used")) {
822
xcvrpref.get("last_xcvr_used", defbuffer, "none", 199);
823
last_xcvr_used = defbuffer;
825
loadXcvrState(last_xcvr_used.c_str());
828
void status::UI_laststate()
830
Fl_Color bgclr = fl_rgb_color(bg_red, bg_green, bg_blue);
831
Fl_Color fgclr = fl_rgb_color(fg_red, fg_green, fg_blue);
833
Fl::background( bg_sys_red, bg_sys_green, bg_sys_blue);
834
Fl::background2( bg2_sys_red, bg2_sys_green, bg2_sys_blue);
835
Fl::foreground( fg_sys_red, fg_sys_green, fg_sys_blue);
837
FreqDispA->SetONOFFCOLOR( fgclr, bgclr );
838
FreqDispA->font(fontnbr);
839
FreqDispB->SetONOFFCOLOR( fgclr, fl_color_average(bgclr, FL_BLACK, 0.87));
840
FreqDispB->font(fontnbr);
842
scaleSmeter->color(bgclr);
843
scaleSmeter->labelcolor(fgclr);
844
scalePower->color(bgclr);
845
scalePower->labelcolor(fgclr);
846
btnALC_SWR->color(bgclr);
847
btnALC_SWR->labelcolor(fgclr);
849
sldrFwdPwr->color(fl_rgb_color (pwrRed, pwrGreen, pwrBlue), bgclr);
850
sldrFwdPwr->PeakColor(fl_rgb_color(peakRed, peakGreen, peakBlue));
852
sldrRcvSignal->color(fl_rgb_color (smeterRed, smeterGreen, smeterBlue), bgclr);
853
sldrRcvSignal->PeakColor(fl_rgb_color(peakRed, peakGreen, peakBlue));
855
sldrALC->color(fl_rgb_color (swrRed, swrGreen, swrBlue), bgclr);
856
sldrALC->PeakColor(fl_rgb_color(peakRed, peakGreen, peakBlue));
858
sldrSWR->color(fl_rgb_color (swrRed, swrGreen, swrBlue), bgclr);
859
sldrSWR->PeakColor(fl_rgb_color(peakRed, peakGreen, peakBlue));
861
if (UIsize != small_ui)
862
meter_fill_box->color(bgclr);
864
grpMeters->color(bgclr);
865
grpMeters->labelcolor(fgclr);
867
Fl_Color btn_lt_color = fl_rgb_color(lighted_btn_red, lighted_btn_green, lighted_btn_blue);
868
if (btnVol) btnVol->selection_color(btn_lt_color);
869
if (btnNR) btnNR->selection_color(btn_lt_color);
870
if (btnIFsh) btnIFsh->selection_color(btn_lt_color);
871
if (btnNotch) btnNotch->selection_color(btn_lt_color);
872
if (btnA) btnA->selection_color(btn_lt_color);
873
if (btnB) btnB->selection_color(btn_lt_color);
874
if (btnSplit) btnSplit->selection_color(btn_lt_color);
875
if (btnAttenuator) btnAttenuator->selection_color(btn_lt_color);
876
if (btnPreamp) btnPreamp->selection_color(btn_lt_color);
877
if (btnNOISE) btnNOISE->selection_color(btn_lt_color);
878
if (btnAutoNotch) btnAutoNotch->selection_color(btn_lt_color);
879
if (btnTune) btnTune->selection_color(btn_lt_color);
880
if (btnPTT) btnPTT->selection_color(btn_lt_color);
881
if (btnAuxRTS) btnAuxRTS->selection_color(btn_lt_color);
882
if (btnAuxDTR) btnAuxDTR->selection_color(btn_lt_color);
883
if (btnSpot) btnSpot->selection_color(btn_lt_color);
884
if (btn_vox) btn_vox->selection_color(btn_lt_color);
885
if (btnCompON) btnCompON->selection_color(btn_lt_color);
886
if (btnSpecial) btnSpecial->selection_color(btn_lt_color);
887
if (btn_tt550_vox) btn_tt550_vox->selection_color(btn_lt_color);
888
if (btn_tt550_CompON) btn_tt550_CompON->selection_color(btn_lt_color);
890
Fl_Color bg_slider = fl_rgb_color(slider_red, slider_green, slider_blue);
891
Fl_Color btn_slider = fl_rgb_color(slider_btn_red, slider_btn_green, slider_btn_blue);
892
if (sldrVOLUME) sldrVOLUME->color(bg_slider);
893
if (sldrVOLUME) sldrVOLUME->selection_color(btn_slider);
894
if (sldrRFGAIN) sldrRFGAIN->color(bg_slider);
895
if (sldrRFGAIN) sldrRFGAIN->selection_color(btn_slider);
896
if (sldrSQUELCH) sldrSQUELCH->color(bg_slider);
897
if (sldrSQUELCH) sldrSQUELCH->selection_color(btn_slider);
898
if (sldrNR) sldrNR->color(bg_slider);
899
if (sldrNR) sldrNR->selection_color(btn_slider);
900
if (sldrIFSHIFT) sldrIFSHIFT->color(bg_slider);
901
if (sldrIFSHIFT) sldrIFSHIFT->selection_color(btn_slider);
902
if (sldrNOTCH) sldrNOTCH->color(bg_slider);
903
if (sldrNOTCH) sldrNOTCH->selection_color(btn_slider);
904
if (sldrMICGAIN) sldrMICGAIN->color(bg_slider);
905
if (sldrMICGAIN) sldrMICGAIN->selection_color(btn_slider);
906
if (sldrPOWER) sldrPOWER->color(bg_slider);
907
if (sldrPOWER) sldrPOWER->selection_color(btn_slider);
909
if (spnrPOWER) spnrPOWER->color(bg_slider);
910
if (spnrPOWER) spnrPOWER->selection_color(btn_slider);
912
if (spnrVOLUME) spnrVOLUME->color(bg_slider);
913
if (spnrVOLUME) spnrVOLUME->selection_color(btn_slider);
915
if (spnrRFGAIN) spnrRFGAIN->color(bg_slider);
916
if (spnrRFGAIN) spnrRFGAIN->selection_color(btn_slider);
918
if (spnrSQUELCH) spnrSQUELCH->color(bg_slider);
919
if (spnrSQUELCH) spnrSQUELCH->selection_color(btn_slider);
921
if (spnrNR) spnrNR->color(bg_slider);
922
if (spnrNR) spnrNR->selection_color(btn_slider);
924
if (spnrIFSHIFT) spnrIFSHIFT->color(bg_slider);
925
if (spnrIFSHIFT) spnrIFSHIFT->selection_color(btn_slider);
927
if (spnrNOTCH) spnrNOTCH->color(bg_slider);
928
if (spnrNOTCH) spnrNOTCH->selection_color(btn_slider);
930
if (spnrMICGAIN) spnrMICGAIN->color(bg_slider);
931
if (spnrMICGAIN) spnrMICGAIN->selection_color(btn_slider);
933
if (use_rig_data) mnuKeepData->set();
934
else mnuKeepData->clear();
936
if (restore_rig_data) mnuRestoreData->set();
937
else mnuRestoreData->clear();
939
Fl::scheme(ui_scheme.c_str());