~ubuntu-branches/ubuntu/utopic/fldigi/utopic

« back to all changes in this revision

Viewing changes to src/dialogs/confdialog.cxx

  • Committer: Package Import Robot
  • Author(s): Kamal Mostafa
  • Date: 2013-02-02 11:52:30 UTC
  • mfrom: (1.1.64)
  • Revision ID: package-import@ubuntu.com-20130202115230-kea12fgypzi0c2uk
Tags: 3.21.67-2
* Debian packaging:
  - debian/fldigi.menu: use absolute path to menu icons

Show diffs side-by-side

added added

removed removed

Lines of Context:
1669
1669
progdefaults.changed = true;
1670
1670
}
1671
1671
 
 
1672
Fl_Check_Button *btn_olivia_reset_fec=(Fl_Check_Button *)0;
 
1673
 
 
1674
static void cb_btn_olivia_reset_fec(Fl_Check_Button* o, void*) {
 
1675
  progdefaults.olivia_reset_fec = o->value();
 
1676
progdefaults.changed = true;
 
1677
}
 
1678
 
1672
1679
Fl_Check_Button *btnOlivia_8bit=(Fl_Check_Button *)0;
1673
1680
 
1674
1681
static void cb_btnOlivia_8bit(Fl_Check_Button* o, void*) {
1773
1780
progdefaults.changed = true;
1774
1781
}
1775
1782
 
 
1783
Fl_Counter2 *selCustomShift=(Fl_Counter2 *)0;
 
1784
 
 
1785
static void cb_selCustomShift(Fl_Counter2* o, void*) {
 
1786
  progdefaults.rtty_custom_shift = o->value();
 
1787
resetRTTY();
 
1788
progdefaults.changed = true;
 
1789
}
 
1790
 
1776
1791
Fl_Choice *selBaud=(Fl_Choice *)0;
1777
1792
 
1778
1793
static void cb_selBaud(Fl_Choice* o, void*) {
1807
1822
progdefaults.changed = true;
1808
1823
}
1809
1824
 
 
1825
Fl_Check_Button *chkPseudoFSK=(Fl_Check_Button *)0;
 
1826
 
 
1827
static void cb_chkPseudoFSK(Fl_Check_Button* o, void*) {
 
1828
  progdefaults.PseudoFSK = o->value();
 
1829
chkPseudoFSK2->value(o->value());
 
1830
progdefaults.changed = true;
 
1831
if (o->value()) {
 
1832
  progdefaults.sig_on_right_channel = false;
 
1833
  chkAudioStereoOut->value(0);
 
1834
  progdefaults.PTTrightchannel = false;
 
1835
  btnPTTrightchannel->value(0);
 
1836
  if (progdefaults.mono_audio) {
 
1837
    progdefaults.mono_audio = false;
 
1838
    chkForceMono->value(0);
 
1839
    resetSoundCard();
 
1840
  }
 
1841
};
 
1842
}
 
1843
 
1810
1844
Fl_Check_Button *btnAUTOCRLF=(Fl_Check_Button *)0;
1811
1845
 
1812
1846
static void cb_btnAUTOCRLF(Fl_Check_Button* o, void*) {
1814
1848
progdefaults.changed = true;
1815
1849
}
1816
1850
 
 
1851
Fl_Counter2 *cntrAUTOCRLF=(Fl_Counter2 *)0;
 
1852
 
 
1853
static void cb_cntrAUTOCRLF(Fl_Counter2* o, void*) {
 
1854
  progdefaults.rtty_autocount = (int)o->value();
 
1855
progdefaults.changed = true;
 
1856
}
 
1857
 
1817
1858
Fl_Check_Button *btnCRCRLF=(Fl_Check_Button *)0;
1818
1859
 
1819
1860
static void cb_btnCRCRLF(Fl_Check_Button* o, void*) {
1821
1862
progdefaults.changed = true;
1822
1863
}
1823
1864
 
1824
 
Fl_Counter2 *cntrAUTOCRLF=(Fl_Counter2 *)0;
1825
 
 
1826
 
static void cb_cntrAUTOCRLF(Fl_Counter2* o, void*) {
1827
 
  progdefaults.rtty_autocount = (int)o->value();
 
1865
Fl_Check_Button *chkUOStx=(Fl_Check_Button *)0;
 
1866
 
 
1867
static void cb_chkUOStx(Fl_Check_Button* o, void*) {
 
1868
  progdefaults.UOStx=o->value();
 
1869
progdefaults.changed = true;
 
1870
}
 
1871
 
 
1872
Fl_Value_Slider2 *sldrRTTYbandwidth=(Fl_Value_Slider2 *)0;
 
1873
 
 
1874
static void cb_sldrRTTYbandwidth(Fl_Value_Slider2* o, void*) {
 
1875
  progdefaults.RTTY_BW = o->value();
 
1876
}
 
1877
 
 
1878
Fl_Choice *mnu_RTTY_filter_quality=(Fl_Choice *)0;
 
1879
 
 
1880
static void cb_mnu_RTTY_filter_quality(Fl_Choice* o, void*) {
 
1881
  progdefaults.rtty_filter_quality = o->value();
 
1882
progdefaults.changed = true;
 
1883
progStatus.rtty_filter_changed = true;
 
1884
}
 
1885
 
 
1886
Fl_Button *btn_optimum_rtty_bw=(Fl_Button *)0;
 
1887
 
 
1888
static void cb_btn_optimum_rtty_bw(Fl_Button*, void*) {
 
1889
  static const double BAUD[]  = {45, 45.45, 50, 56, 75, 100, 110, 150, 200, 300};
 
1890
progdefaults.RTTY_BW = 2 * BAUD[progdefaults.rtty_baud];
 
1891
sldrRTTYbandwidth->value(progdefaults.RTTY_BW);
 
1892
progdefaults.changed = true;
 
1893
}
 
1894
 
 
1895
Fl_Choice *mnuRTTYAFCSpeed=(Fl_Choice *)0;
 
1896
 
 
1897
static void cb_mnuRTTYAFCSpeed(Fl_Choice* o, void*) {
 
1898
  progdefaults.rtty_afcspeed = o->value();
 
1899
progdefaults.changed = true;
 
1900
}
 
1901
 
 
1902
Fl_Choice *mnu_kahn_demod=(Fl_Choice *)0;
 
1903
 
 
1904
static void cb_mnu_kahn_demod(Fl_Choice* o, void*) {
 
1905
  progdefaults.kahn_demod = o->value();
1828
1906
progdefaults.changed = true;
1829
1907
}
1830
1908
 
1835
1913
progdefaults.changed = true;
1836
1914
}
1837
1915
 
1838
 
Fl_Check_Button *chkUOStx=(Fl_Check_Button *)0;
1839
 
 
1840
 
static void cb_chkUOStx(Fl_Check_Button* o, void*) {
1841
 
  progdefaults.UOStx=o->value();
 
1916
Fl_Check_Button *btnPreferXhairScope=(Fl_Check_Button *)0;
 
1917
 
 
1918
static void cb_btnPreferXhairScope(Fl_Check_Button* o, void*) {
 
1919
  progdefaults.PreferXhairScope=o->value();
 
1920
progdefaults.changed = true;
 
1921
}
 
1922
 
 
1923
Fl_Check_Button *chk_true_scope=(Fl_Check_Button *)0;
 
1924
 
 
1925
static void cb_chk_true_scope(Fl_Check_Button* o, void*) {
 
1926
  progdefaults.true_scope=o->value();
1842
1927
progdefaults.changed = true;
1843
1928
}
1844
1929
 
1863
1948
};
1864
1949
}
1865
1950
 
1866
 
Fl_Check_Button *btnPreferXhairScope=(Fl_Check_Button *)0;
1867
 
 
1868
 
static void cb_btnPreferXhairScope(Fl_Check_Button* o, void*) {
1869
 
  progdefaults.PreferXhairScope=o->value();
1870
 
progdefaults.changed = true;
1871
 
}
1872
 
 
1873
 
Fl_Check_Button *chkPseudoFSK=(Fl_Check_Button *)0;
1874
 
 
1875
 
static void cb_chkPseudoFSK(Fl_Check_Button* o, void*) {
1876
 
  progdefaults.PseudoFSK = o->value();
1877
 
chkPseudoFSK2->value(o->value());
1878
 
progdefaults.changed = true;
1879
 
if (o->value()) {
1880
 
  progdefaults.sig_on_right_channel = false;
1881
 
  chkAudioStereoOut->value(0);
1882
 
  progdefaults.PTTrightchannel = false;
1883
 
  btnPTTrightchannel->value(0);
1884
 
  if (progdefaults.mono_audio) {
1885
 
    progdefaults.mono_audio = false;
1886
 
    chkForceMono->value(0);
1887
 
    resetSoundCard();
1888
 
  }
1889
 
};
1890
 
}
1891
 
 
1892
 
Fl_Choice *mnuRTTYAFCSpeed=(Fl_Choice *)0;
1893
 
 
1894
 
static void cb_mnuRTTYAFCSpeed(Fl_Choice* o, void*) {
1895
 
  progdefaults.rtty_afcspeed = o->value();
1896
 
progdefaults.changed = true;
1897
 
}
1898
 
 
1899
 
Fl_Check_Button *chkXagc=(Fl_Check_Button *)0;
1900
 
 
1901
 
static void cb_chkXagc(Fl_Check_Button* o, void*) {
1902
 
  progdefaults.Xagc=o->value();
1903
 
progdefaults.changed = true;
1904
 
}
1905
 
 
1906
 
Fl_Value_Slider2 *sldrRTTYbandwidth=(Fl_Value_Slider2 *)0;
1907
 
 
1908
 
static void cb_sldrRTTYbandwidth(Fl_Value_Slider2* o, void*) {
1909
 
  progdefaults.RTTY_BW = o->value();
1910
 
}
1911
 
 
1912
 
Fl_Counter2 *selCustomShift=(Fl_Counter2 *)0;
1913
 
 
1914
 
static void cb_selCustomShift(Fl_Counter2* o, void*) {
1915
 
  progdefaults.rtty_custom_shift = o->value();
1916
 
resetRTTY();
1917
 
progdefaults.changed = true;
1918
 
}
1919
 
 
1920
1951
Fl_Group *tabTHOR=(Fl_Group *)0;
1921
1952
 
1922
1953
Fl_Input2 *txtTHORSecondary=(Fl_Input2 *)0;
2355
2386
btnRevertRIGCAT->activate();
2356
2387
}
2357
2388
 
 
2389
Fl_Check_Button *chk_restore_tio=(Fl_Check_Button *)0;
 
2390
 
 
2391
static void cb_chk_restore_tio(Fl_Check_Button*, void*) {
 
2392
  btnInitRIGCAT->labelcolor(FL_RED);
 
2393
btnInitRIGCAT->redraw_label();
 
2394
btnRevertRIGCAT->activate();
 
2395
}
 
2396
 
2358
2397
Fl_Button *btnRevertRIGCAT=(Fl_Button *)0;
2359
2398
 
2360
2399
static void cb_btnRevertRIGCAT(Fl_Button*, void*) {
5475
5514
          } // Fl_Group* tabMT63
5476
5515
          { tabOlivia = new Fl_Group(0, 50, 540, 320, _("Olivia"));
5477
5516
            tabOlivia->hide();
5478
 
            { Fl_Group* o = new Fl_Group(24, 76, 490, 237);
 
5517
            { Fl_Group* o = new Fl_Group(24, 76, 490, 280);
5479
5518
              o->box(FL_ENGRAVED_FRAME);
5480
5519
              { Fl_Choice* o = mnuOlivia_Bandwidth = new Fl_Choice(79, 96, 85, 20, _("Bandwidth"));
5481
5520
                mnuOlivia_Bandwidth->tooltip(_("Select bandwidth"));
5493
5532
                o->add(szOliviaTones);
5494
5533
                o->value(2);
5495
5534
              } // Fl_Choice* mnuOlivia_Tones
5496
 
              { Fl_Group* o = new Fl_Group(79, 135, 379, 100, _("Receive synchronizer"));
 
5535
              { Fl_Group* o = new Fl_Group(79, 135, 379, 133, _("Receive synchronizer"));
5497
5536
                o->box(FL_ENGRAVED_FRAME);
5498
5537
                o->align(Fl_Align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE));
5499
5538
                { Fl_Counter2* o = cntOlivia_smargin = new Fl_Counter2(99, 166, 70, 20, _("Tune margin (tone frequency spacing)"));
5534
5573
                cntOlivia_sinteg->when(FL_WHEN_CHANGED);
5535
5574
                o->labelsize(FL_NORMAL_SIZE);
5536
5575
                } // Fl_Counter2* cntOlivia_sinteg
 
5576
                { Fl_Check_Button* o = btn_olivia_reset_fec = new Fl_Check_Button(100, 230, 349, 20, _("Reset FEC blocks when changing BW or Tones"));
 
5577
                btn_olivia_reset_fec->tooltip(_("Enable this for UTF-8 character transmission"));
 
5578
                btn_olivia_reset_fec->down_box(FL_DOWN_BOX);
 
5579
                btn_olivia_reset_fec->callback((Fl_Callback*)cb_btn_olivia_reset_fec);
 
5580
                o->value(progdefaults.olivia_reset_fec);
 
5581
                } // Fl_Check_Button* btn_olivia_reset_fec
5537
5582
                o->end();
5538
5583
              } // Fl_Group* o
5539
 
              { btnOlivia_8bit = new Fl_Check_Button(79, 257, 265, 20, _("8-bit extended characters (UTF-8)"));
 
5584
              { btnOlivia_8bit = new Fl_Check_Button(79, 291, 265, 20, _("8-bit extended characters (UTF-8)"));
5540
5585
                btnOlivia_8bit->tooltip(_("Enable this for UTF-8 character transmission"));
5541
5586
                btnOlivia_8bit->down_box(FL_DOWN_BOX);
5542
5587
                btnOlivia_8bit->callback((Fl_Callback*)cb_btnOlivia_8bit);
5720
5765
            } // Fl_Tabs* tabsPSK
5721
5766
            tabPSK->end();
5722
5767
          } // Fl_Group* tabPSK
5723
 
          { tabRTTY = new Fl_Group(0, 50, 540, 320, _("RTTY"));
 
5768
          { tabRTTY = new Fl_Group(0, 50, 548, 320, _("RTTY"));
5724
5769
            tabRTTY->hide();
5725
 
            { Fl_Group* o = new Fl_Group(26, 63, 490, 300);
 
5770
            { Fl_Group* o = new Fl_Group(2, 57, 267, 182, _("Transmit /Receive"));
5726
5771
              o->box(FL_ENGRAVED_FRAME);
5727
 
              { Fl_Choice* o = selShift = new Fl_Choice(36, 73, 100, 20, _("Carrier shift"));
 
5772
              o->align(Fl_Align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE));
 
5773
              { Fl_Choice* o = selShift = new Fl_Choice(30, 78, 100, 20, _("Carrier shift"));
5728
5774
                selShift->tooltip(_("Select carrier shift"));
5729
5775
                selShift->down_box(FL_BORDER_BOX);
5730
5776
                selShift->callback((Fl_Callback*)cb_selShift);
5732
5778
                selShift->when(FL_WHEN_CHANGED);
5733
5779
                o->add(szShifts);
5734
5780
              } // Fl_Choice* selShift
5735
 
              { Fl_Choice* o = selBaud = new Fl_Choice(36, 133, 100, 20, _("Baud rate"));
 
5781
              { Fl_Counter2* o = selCustomShift = new Fl_Counter2(30, 104, 100, 20, _("Custom shift"));
 
5782
                selCustomShift->tooltip(_("Input carrier shift"));
 
5783
                selCustomShift->box(FL_UP_BOX);
 
5784
                selCustomShift->color(FL_BACKGROUND_COLOR);
 
5785
                selCustomShift->selection_color(FL_INACTIVE_COLOR);
 
5786
                selCustomShift->labeltype(FL_NORMAL_LABEL);
 
5787
                selCustomShift->labelfont(0);
 
5788
                selCustomShift->labelsize(14);
 
5789
                selCustomShift->labelcolor(FL_FOREGROUND_COLOR);
 
5790
                selCustomShift->minimum(10);
 
5791
                selCustomShift->maximum(1000);
 
5792
                selCustomShift->step(1);
 
5793
                selCustomShift->value(450);
 
5794
                selCustomShift->callback((Fl_Callback*)cb_selCustomShift);
 
5795
                selCustomShift->align(Fl_Align(FL_ALIGN_RIGHT));
 
5796
                selCustomShift->when(FL_WHEN_CHANGED);
 
5797
                o->lstep(10.0);
 
5798
                o->labelsize(FL_NORMAL_SIZE);
 
5799
              } // Fl_Counter2* selCustomShift
 
5800
              { Fl_Choice* o = selBaud = new Fl_Choice(30, 130, 100, 20, _("Baud rate"));
5736
5801
                selBaud->tooltip(_("Select carrier baudrate"));
5737
5802
                selBaud->down_box(FL_BORDER_BOX);
5738
5803
                selBaud->callback((Fl_Callback*)cb_selBaud);
5740
5805
                selBaud->when(FL_WHEN_CHANGED);
5741
5806
                o->add(szBauds);
5742
5807
              } // Fl_Choice* selBaud
5743
 
              { Fl_Choice* o = selBits = new Fl_Choice(36, 163, 100, 20, _("Bits per character"));
 
5808
              { Fl_Choice* o = selBits = new Fl_Choice(30, 156, 100, 20, _("Bits per character"));
5744
5809
                selBits->tooltip(_("Select # bits / char"));
5745
5810
                selBits->down_box(FL_BORDER_BOX);
5746
5811
                selBits->callback((Fl_Callback*)cb_selBits);
5748
5813
                selBits->when(FL_WHEN_CHANGED);
5749
5814
                o->add(szSelBits);
5750
5815
              } // Fl_Choice* selBits
5751
 
              { Fl_Choice* o = selParity = new Fl_Choice(36, 193, 100, 20, _("Parity"));
 
5816
              { Fl_Choice* o = selParity = new Fl_Choice(30, 182, 100, 20, _("Parity"));
5752
5817
                selParity->tooltip(_("Select parity"));
5753
5818
                selParity->down_box(FL_BORDER_BOX);
5754
5819
                selParity->callback((Fl_Callback*)cb_selParity);
5756
5821
                selParity->when(FL_WHEN_CHANGED);
5757
5822
                o->add(szParity);
5758
5823
              } // Fl_Choice* selParity
5759
 
              { Fl_Choice* o = selStopBits = new Fl_Choice(36, 223, 100, 20, _("Stop bits"));
 
5824
              { Fl_Choice* o = selStopBits = new Fl_Choice(30, 208, 100, 20, _("Stop bits"));
5760
5825
                selStopBits->tooltip(_("Select # stop bits"));
5761
5826
                selStopBits->down_box(FL_BORDER_BOX);
5762
5827
                selStopBits->callback((Fl_Callback*)cb_selStopBits);
5764
5829
                selStopBits->when(FL_WHEN_CHANGED);
5765
5830
                o->add(szStopBits);
5766
5831
              } // Fl_Choice* selStopBits
5767
 
              { Fl_Group* o = new Fl_Group(280, 69, 230, 70);
5768
 
                o->box(FL_ENGRAVED_FRAME);
5769
 
                { Fl_Check_Button* o = btnAUTOCRLF = new Fl_Check_Button(290, 80, 90, 22, _("AutoCRLF"));
 
5832
              o->end();
 
5833
            } // Fl_Group* o
 
5834
            { Fl_Group* o = new Fl_Group(2, 242, 267, 124, _("Transmit"));
 
5835
              o->box(FL_ENGRAVED_FRAME);
 
5836
              o->align(Fl_Align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE));
 
5837
              { Fl_Check_Button* o = chkPseudoFSK = new Fl_Check_Button(32, 264, 212, 22, _("Pseudo-FSK - right channel"));
 
5838
                chkPseudoFSK->tooltip(_("Create keyed square wave on right audio channel"));
 
5839
                chkPseudoFSK->down_box(FL_DOWN_BOX);
 
5840
                chkPseudoFSK->callback((Fl_Callback*)cb_chkPseudoFSK);
 
5841
                o->value(progdefaults.PseudoFSK);
 
5842
              } // Fl_Check_Button* chkPseudoFSK
 
5843
              { Fl_Check_Button* o = btnAUTOCRLF = new Fl_Check_Button(32, 288, 90, 22, _("AutoCRLF"));
5770
5844
                btnAUTOCRLF->tooltip(_("Add CRLF after page width characters"));
5771
5845
                btnAUTOCRLF->down_box(FL_DOWN_BOX);
5772
5846
                btnAUTOCRLF->callback((Fl_Callback*)cb_btnAUTOCRLF);
5773
5847
                o->value(progdefaults.rtty_autocrlf);
5774
 
                } // Fl_Check_Button* btnAUTOCRLF
5775
 
                { Fl_Check_Button* o = btnCRCRLF = new Fl_Check_Button(410, 80, 90, 22, _("CR-CR-LF"));
5776
 
                btnCRCRLF->tooltip(_("Use \"cr cr lf\" for \"cr lf\""));
5777
 
                btnCRCRLF->down_box(FL_DOWN_BOX);
5778
 
                btnCRCRLF->callback((Fl_Callback*)cb_btnCRCRLF);
5779
 
                btnCRCRLF->when(FL_WHEN_RELEASE_ALWAYS);
5780
 
                o->value(progdefaults.rtty_crcrlf);
5781
 
                } // Fl_Check_Button* btnCRCRLF
5782
 
                { Fl_Counter2* o = cntrAUTOCRLF = new Fl_Counter2(360, 110, 65, 20, _("characters"));
5783
 
                cntrAUTOCRLF->tooltip(_("Set page width"));
 
5848
              } // Fl_Check_Button* btnAUTOCRLF
 
5849
              { Fl_Counter2* o = cntrAUTOCRLF = new Fl_Counter2(143, 289, 65, 20, _("chars"));
 
5850
                cntrAUTOCRLF->tooltip(_("Auto CRLF line length"));
5784
5851
                cntrAUTOCRLF->type(1);
5785
5852
                cntrAUTOCRLF->box(FL_UP_BOX);
5786
5853
                cntrAUTOCRLF->color(FL_BACKGROUND_COLOR);
5797
5864
                cntrAUTOCRLF->align(Fl_Align(FL_ALIGN_RIGHT));
5798
5865
                cntrAUTOCRLF->when(FL_WHEN_CHANGED);
5799
5866
                o->labelsize(FL_NORMAL_SIZE);
5800
 
                } // Fl_Counter2* cntrAUTOCRLF
5801
 
                { Fl_Box* o = new Fl_Box(290, 110, 60, 20, _("after:"));
5802
 
                o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
5803
 
                } // Fl_Box* o
5804
 
                o->end();
5805
 
              } // Fl_Group* o
5806
 
              { Fl_Group* o = new Fl_Group(280, 138, 231, 52, _("Unshift On Space"));
5807
 
                o->box(FL_ENGRAVED_FRAME);
5808
 
                o->align(Fl_Align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE));
5809
 
                { Fl_Check_Button* o = chkUOSrx = new Fl_Check_Button(329, 156, 63, 26, _("RX"));
5810
 
                chkUOSrx->tooltip(_("Revert to Unsifted char\'s on a space"));
5811
 
                chkUOSrx->down_box(FL_DOWN_BOX);
5812
 
                chkUOSrx->callback((Fl_Callback*)cb_chkUOSrx);
5813
 
                o->value(progdefaults.UOSrx);
5814
 
                } // Fl_Check_Button* chkUOSrx
5815
 
                { Fl_Check_Button* o = chkUOStx = new Fl_Check_Button(419, 156, 63, 26, _("TX"));
 
5867
              } // Fl_Counter2* cntrAUTOCRLF
 
5868
              { Fl_Check_Button* o = btnCRCRLF = new Fl_Check_Button(32, 312, 90, 22, _("CR-CR-LF"));
 
5869
                btnCRCRLF->tooltip(_("Use \"cr cr lf\" for \"cr lf\""));
 
5870
                btnCRCRLF->down_box(FL_DOWN_BOX);
 
5871
                btnCRCRLF->callback((Fl_Callback*)cb_btnCRCRLF);
 
5872
                btnCRCRLF->when(FL_WHEN_RELEASE_ALWAYS);
 
5873
                o->value(progdefaults.rtty_crcrlf);
 
5874
              } // Fl_Check_Button* btnCRCRLF
 
5875
              { Fl_Check_Button* o = chkUOStx = new Fl_Check_Button(32, 336, 63, 22, _("TX - unshift on space"));
5816
5876
                chkUOStx->tooltip(_("Revert to Unsifted char\'s on a space"));
5817
5877
                chkUOStx->down_box(FL_DOWN_BOX);
5818
5878
                chkUOStx->callback((Fl_Callback*)cb_chkUOStx);
5819
5879
                o->value(progdefaults.UOStx);
5820
 
                } // Fl_Check_Button* chkUOStx
5821
 
                o->end();
5822
 
              } // Fl_Group* o
5823
 
              { Fl_Group* o = new Fl_Group(280, 190, 231, 52, _("Log RTTY frequency"));
5824
 
                o->box(FL_ENGRAVED_FRAME);
5825
 
                o->align(Fl_Align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE));
5826
 
                { Fl_Check_Button* o = chk_useMARKfreq = new Fl_Check_Button(290, 208, 63, 26, _("Use MARK freq\'"));
5827
 
                chk_useMARKfreq->tooltip(_("Revert to Unsifted char\'s on a space"));
5828
 
                chk_useMARKfreq->down_box(FL_DOWN_BOX);
5829
 
                chk_useMARKfreq->callback((Fl_Callback*)cb_chk_useMARKfreq);
5830
 
                o->value(progdefaults.useMARKfreq);
5831
 
                } // Fl_Check_Button* chk_useMARKfreq
5832
 
                { Fl_Button* o = btnRTTY_mark_color = new Fl_Button(424, 211, 18, 18, _("track clr"));
5833
 
                btnRTTY_mark_color->tooltip(_("Change color"));
5834
 
                btnRTTY_mark_color->color((Fl_Color)2);
5835
 
                btnRTTY_mark_color->callback((Fl_Callback*)cb_btnRTTY_mark_color);
5836
 
                btnRTTY_mark_color->align(Fl_Align(FL_ALIGN_RIGHT));
5837
 
                o->color(fl_rgb_color(progdefaults.rttymarkRGBI.R,progdefaults.rttymarkRGBI.G,progdefaults.rttymarkRGBI.B));
5838
 
                } // Fl_Button* btnRTTY_mark_color
5839
 
                o->end();
5840
 
              } // Fl_Group* o
5841
 
              { Fl_Check_Button* o = btnPreferXhairScope = new Fl_Check_Button(36, 257, 165, 20, _("Use cross hair scope"));
5842
 
                btnPreferXhairScope->tooltip(_("Default to cross hair digiscope"));
5843
 
                btnPreferXhairScope->down_box(FL_DOWN_BOX);
5844
 
                btnPreferXhairScope->callback((Fl_Callback*)cb_btnPreferXhairScope);
5845
 
                o->value(progdefaults.PreferXhairScope);
5846
 
              } // Fl_Check_Button* btnPreferXhairScope
5847
 
              { Fl_Check_Button* o = chkPseudoFSK = new Fl_Check_Button(36, 287, 270, 20, _("Pseudo-FSK on right audio channel"));
5848
 
                chkPseudoFSK->tooltip(_("Create square wave on right channel"));
5849
 
                chkPseudoFSK->down_box(FL_DOWN_BOX);
5850
 
                chkPseudoFSK->callback((Fl_Callback*)cb_chkPseudoFSK);
5851
 
                o->value(progdefaults.PseudoFSK);
5852
 
              } // Fl_Check_Button* chkPseudoFSK
5853
 
              { Fl_Choice* o = mnuRTTYAFCSpeed = new Fl_Choice(329, 257, 80, 20, _("AFC speed"));
5854
 
                mnuRTTYAFCSpeed->tooltip(_("AFC tracking speed"));
5855
 
                mnuRTTYAFCSpeed->down_box(FL_BORDER_BOX);
5856
 
                mnuRTTYAFCSpeed->callback((Fl_Callback*)cb_mnuRTTYAFCSpeed);
5857
 
                mnuRTTYAFCSpeed->align(Fl_Align(FL_ALIGN_RIGHT));
5858
 
                o->add("Slow"); o->add("Normal"); o->add("Fast");
5859
 
                o->value(progdefaults.rtty_afcspeed);
5860
 
              } // Fl_Choice* mnuRTTYAFCSpeed
5861
 
              { Fl_Check_Button* o = chkXagc = new Fl_Check_Button(329, 287, 62, 22, _("X-agc (hidden)"));
5862
 
                chkXagc->down_box(FL_DOWN_BOX);
5863
 
                chkXagc->callback((Fl_Callback*)cb_chkXagc);
5864
 
                o->value(progdefaults.Xagc);
5865
 
                o->hide();
5866
 
              } // Fl_Check_Button* chkXagc
5867
 
              { Fl_Value_Slider2* o = sldrRTTYbandwidth = new Fl_Value_Slider2(121, 328, 300, 20, _("Receive filter bandwidth"));
 
5880
              } // Fl_Check_Button* chkUOStx
 
5881
              o->end();
 
5882
            } // Fl_Group* o
 
5883
            { Fl_Group* o = new Fl_Group(271, 57, 267, 250, _("Receive"));
 
5884
              o->box(FL_ENGRAVED_FRAME);
 
5885
              o->align(Fl_Align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE));
 
5886
              { Fl_Value_Slider2* o = sldrRTTYbandwidth = new Fl_Value_Slider2(280, 84, 250, 23, _("Receive filter bandwidth"));
5868
5887
                sldrRTTYbandwidth->tooltip(_("Adjust the DSP bandwidth"));
5869
5888
                sldrRTTYbandwidth->type(1);
5870
5889
                sldrRTTYbandwidth->box(FL_DOWN_BOX);
5875
5894
                sldrRTTYbandwidth->labelsize(14);
5876
5895
                sldrRTTYbandwidth->labelcolor(FL_FOREGROUND_COLOR);
5877
5896
                sldrRTTYbandwidth->minimum(5);
5878
 
                sldrRTTYbandwidth->maximum(200);
 
5897
                sldrRTTYbandwidth->maximum(600);
5879
5898
                sldrRTTYbandwidth->step(1);
5880
 
                sldrRTTYbandwidth->value(25);
 
5899
                sldrRTTYbandwidth->value(91);
5881
5900
                sldrRTTYbandwidth->textsize(14);
5882
5901
                sldrRTTYbandwidth->callback((Fl_Callback*)cb_sldrRTTYbandwidth);
5883
 
                sldrRTTYbandwidth->align(Fl_Align(FL_ALIGN_TOP_LEFT));
 
5902
                sldrRTTYbandwidth->align(Fl_Align(FL_ALIGN_TOP_RIGHT));
5884
5903
                sldrRTTYbandwidth->when(FL_WHEN_CHANGED);
5885
5904
                o->value(progdefaults.RTTY_BW);
5886
5905
                o->labelsize(FL_NORMAL_SIZE); o->textsize(FL_NORMAL_SIZE);
5887
5906
              } // Fl_Value_Slider2* sldrRTTYbandwidth
5888
 
              { Fl_Counter2* o = selCustomShift = new Fl_Counter2(36, 103, 100, 20, _("Custom shift"));
5889
 
                selCustomShift->tooltip(_("Input carrier shift"));
5890
 
                selCustomShift->box(FL_UP_BOX);
5891
 
                selCustomShift->color(FL_BACKGROUND_COLOR);
5892
 
                selCustomShift->selection_color(FL_INACTIVE_COLOR);
5893
 
                selCustomShift->labeltype(FL_NORMAL_LABEL);
5894
 
                selCustomShift->labelfont(0);
5895
 
                selCustomShift->labelsize(14);
5896
 
                selCustomShift->labelcolor(FL_FOREGROUND_COLOR);
5897
 
                selCustomShift->minimum(10);
5898
 
                selCustomShift->maximum(1000);
5899
 
                selCustomShift->step(1);
5900
 
                selCustomShift->value(450);
5901
 
                selCustomShift->callback((Fl_Callback*)cb_selCustomShift);
5902
 
                selCustomShift->align(Fl_Align(FL_ALIGN_RIGHT));
5903
 
                selCustomShift->when(FL_WHEN_CHANGED);
5904
 
                o->lstep(10.0);
5905
 
                o->labelsize(FL_NORMAL_SIZE);
5906
 
              } // Fl_Counter2* selCustomShift
 
5907
              { Fl_Choice* o = mnu_RTTY_filter_quality = new Fl_Choice(280, 114, 75, 22, _("Filter Quality"));
 
5908
                mnu_RTTY_filter_quality->tooltip(_("Low -> High\nDSP filter length\nLow reduces load on CPU\nHigh gives best perf\
 
5909
ormance"));
 
5910
                mnu_RTTY_filter_quality->down_box(FL_BORDER_BOX);
 
5911
                mnu_RTTY_filter_quality->callback((Fl_Callback*)cb_mnu_RTTY_filter_quality);
 
5912
                mnu_RTTY_filter_quality->align(Fl_Align(FL_ALIGN_RIGHT));
 
5913
                o->add("Low"); o->add("Normal"); o->add("High");
 
5914
                o->value(progdefaults.rtty_filter_quality);
 
5915
              } // Fl_Choice* mnu_RTTY_filter_quality
 
5916
              { btn_optimum_rtty_bw = new Fl_Button(455, 114, 75, 23, _("Optimum"));
 
5917
                btn_optimum_rtty_bw->tooltip(_("Reset Filter to Optimum bandwidth"));
 
5918
                btn_optimum_rtty_bw->callback((Fl_Callback*)cb_btn_optimum_rtty_bw);
 
5919
              } // Fl_Button* btn_optimum_rtty_bw
 
5920
              { Fl_Choice* o = mnuRTTYAFCSpeed = new Fl_Choice(280, 144, 75, 22, _("AFC speed"));
 
5921
                mnuRTTYAFCSpeed->tooltip(_("AFC tracking speed"));
 
5922
                mnuRTTYAFCSpeed->down_box(FL_BORDER_BOX);
 
5923
                mnuRTTYAFCSpeed->callback((Fl_Callback*)cb_mnuRTTYAFCSpeed);
 
5924
                mnuRTTYAFCSpeed->align(Fl_Align(FL_ALIGN_RIGHT));
 
5925
                o->add("Slow"); o->add("Normal"); o->add("Fast");
 
5926
                o->value(progdefaults.rtty_afcspeed);
 
5927
              } // Fl_Choice* mnuRTTYAFCSpeed
 
5928
              { Fl_Choice* o = mnu_kahn_demod = new Fl_Choice(280, 174, 75, 22, _("Demodulator"));
 
5929
                mnu_kahn_demod->tooltip(_("Select demodulator type\nKahn power detector\nAutomatic Threshold Correcting"));
 
5930
                mnu_kahn_demod->down_box(FL_BORDER_BOX);
 
5931
                mnu_kahn_demod->callback((Fl_Callback*)cb_mnu_kahn_demod);
 
5932
                mnu_kahn_demod->align(Fl_Align(FL_ALIGN_RIGHT));
 
5933
                o->add("ATC"); o->add("Kahn");
 
5934
                o->value(progdefaults.kahn_demod);
 
5935
              } // Fl_Choice* mnu_kahn_demod
 
5936
              { Fl_Check_Button* o = chkUOSrx = new Fl_Check_Button(288, 204, 63, 22, _("RX - unshift on space"));
 
5937
                chkUOSrx->tooltip(_("Revert to Unsifted char\'s on a space"));
 
5938
                chkUOSrx->down_box(FL_DOWN_BOX);
 
5939
                chkUOSrx->callback((Fl_Callback*)cb_chkUOSrx);
 
5940
                o->value(progdefaults.UOSrx);
 
5941
              } // Fl_Check_Button* chkUOSrx
 
5942
              { Fl_Check_Button* o = btnPreferXhairScope = new Fl_Check_Button(288, 234, 165, 22, _("Use cross hair scope"));
 
5943
                btnPreferXhairScope->tooltip(_("Default to cross hair digiscope"));
 
5944
                btnPreferXhairScope->down_box(FL_DOWN_BOX);
 
5945
                btnPreferXhairScope->callback((Fl_Callback*)cb_btnPreferXhairScope);
 
5946
                o->value(progdefaults.PreferXhairScope);
 
5947
              } // Fl_Check_Button* btnPreferXhairScope
 
5948
              { Fl_Check_Button* o = chk_true_scope = new Fl_Check_Button(288, 264, 70, 22, _("XY - classic scope"));
 
5949
                chk_true_scope->tooltip(_("Enabled - use Mark/Space filter outputs\nDisabled - use pseudo signals"));
 
5950
                chk_true_scope->down_box(FL_DOWN_BOX);
 
5951
                chk_true_scope->callback((Fl_Callback*)cb_chk_true_scope);
 
5952
                o->value(progdefaults.true_scope);
 
5953
              } // Fl_Check_Button* chk_true_scope
 
5954
              o->end();
 
5955
            } // Fl_Group* o
 
5956
            { Fl_Group* o = new Fl_Group(271, 310, 267, 55, _("Log RTTY frequency"));
 
5957
              o->box(FL_ENGRAVED_FRAME);
 
5958
              o->align(Fl_Align(FL_ALIGN_TOP_LEFT|FL_ALIGN_INSIDE));
 
5959
              { Fl_Check_Button* o = chk_useMARKfreq = new Fl_Check_Button(288, 333, 74, 22, _("Use MARK freq\'"));
 
5960
                chk_useMARKfreq->tooltip(_("Revert to Unsifted char\'s on a space"));
 
5961
                chk_useMARKfreq->down_box(FL_DOWN_BOX);
 
5962
                chk_useMARKfreq->value(1);
 
5963
                chk_useMARKfreq->callback((Fl_Callback*)cb_chk_useMARKfreq);
 
5964
                o->value(progdefaults.useMARKfreq);
 
5965
              } // Fl_Check_Button* chk_useMARKfreq
 
5966
              { Fl_Button* o = btnRTTY_mark_color = new Fl_Button(437, 336, 21, 18, _("track clr"));
 
5967
                btnRTTY_mark_color->tooltip(_("Color of Mark Track"));
 
5968
                btnRTTY_mark_color->color((Fl_Color)2);
 
5969
                btnRTTY_mark_color->callback((Fl_Callback*)cb_btnRTTY_mark_color);
 
5970
                btnRTTY_mark_color->align(Fl_Align(FL_ALIGN_RIGHT));
 
5971
                o->color(fl_rgb_color(progdefaults.rttymarkRGBI.R,progdefaults.rttymarkRGBI.G,progdefaults.rttymarkRGBI.B));
 
5972
              } // Fl_Button* btnRTTY_mark_color
5907
5973
              o->end();
5908
5974
            } // Fl_Group* o
5909
5975
            tabRTTY->end();
6318
6384
                btnRigCatCMDptt->callback((Fl_Callback*)cb_btnRigCatCMDptt);
6319
6385
                o->value(progdefaults.RigCatCMDptt);
6320
6386
              } // Fl_Round_Button* btnRigCatCMDptt
6321
 
              { Fl_Round_Button* o = btnRigCatRTSptt = new Fl_Round_Button(70, 250, 160, 20, _("Toggle RTS for PTT"));
 
6387
              { Fl_Round_Button* o = btnRigCatRTSptt = new Fl_Round_Button(70, 246, 160, 20, _("Toggle RTS for PTT"));
6322
6388
                btnRigCatRTSptt->tooltip(_("RTS is ptt line"));
6323
6389
                btnRigCatRTSptt->down_box(FL_DOWN_BOX);
6324
6390
                btnRigCatRTSptt->callback((Fl_Callback*)cb_btnRigCatRTSptt);
6325
6391
                o->value(progdefaults.RigCatRTSptt);
6326
6392
              } // Fl_Round_Button* btnRigCatRTSptt
6327
 
              { Fl_Round_Button* o = btnRigCatDTRptt = new Fl_Round_Button(276, 250, 160, 20, _("Toggle DTR for PTT"));
 
6393
              { Fl_Round_Button* o = btnRigCatDTRptt = new Fl_Round_Button(276, 244, 160, 20, _("Toggle DTR for PTT"));
6328
6394
                btnRigCatDTRptt->tooltip(_("DTR is ptt line"));
6329
6395
                btnRigCatDTRptt->down_box(FL_DOWN_BOX);
6330
6396
                btnRigCatDTRptt->callback((Fl_Callback*)cb_btnRigCatDTRptt);
6331
6397
                o->value(progdefaults.RigCatDTRptt);
6332
6398
              } // Fl_Round_Button* btnRigCatDTRptt
6333
 
              { Fl_Check_Button* o = btnRigCatRTSplus = new Fl_Check_Button(70, 285, 100, 20, _("RTS +12 v"));
 
6399
              { Fl_Check_Button* o = btnRigCatRTSplus = new Fl_Check_Button(70, 275, 100, 20, _("RTS +12 v"));
6334
6400
                btnRigCatRTSplus->tooltip(_("Initial state of RTS"));
6335
6401
                btnRigCatRTSplus->down_box(FL_DOWN_BOX);
6336
6402
                btnRigCatRTSplus->callback((Fl_Callback*)cb_btnRigCatRTSplus);
6337
6403
                o->value(progdefaults.RigCatRTSplus);
6338
6404
              } // Fl_Check_Button* btnRigCatRTSplus
6339
 
              { Fl_Check_Button* o = btnRigCatDTRplus = new Fl_Check_Button(276, 285, 100, 20, _("DTR +12 v"));
 
6405
              { Fl_Check_Button* o = btnRigCatDTRplus = new Fl_Check_Button(276, 272, 100, 20, _("DTR +12 v"));
6340
6406
                btnRigCatDTRplus->tooltip(_("Initial state of DTR"));
6341
6407
                btnRigCatDTRplus->down_box(FL_DOWN_BOX);
6342
6408
                btnRigCatDTRplus->callback((Fl_Callback*)cb_btnRigCatDTRplus);
6343
6409
                o->value(progdefaults.RigCatDTRplus);
6344
6410
              } // Fl_Check_Button* btnRigCatDTRplus
6345
 
              { Fl_Check_Button* o = chkRigCatRTSCTSflow = new Fl_Check_Button(70, 320, 170, 20, _("RTS/CTS flow control"));
 
6411
              { Fl_Check_Button* o = chkRigCatRTSCTSflow = new Fl_Check_Button(70, 303, 170, 20, _("RTS/CTS flow control"));
6346
6412
                chkRigCatRTSCTSflow->tooltip(_("Rig uses RTS/CTS handshake"));
6347
6413
                chkRigCatRTSCTSflow->down_box(FL_DOWN_BOX);
6348
6414
                chkRigCatRTSCTSflow->callback((Fl_Callback*)cb_chkRigCatRTSCTSflow);
6349
6415
                o->value(progdefaults.RigCatRTSCTSflow);
6350
6416
              } // Fl_Check_Button* chkRigCatRTSCTSflow
 
6417
              { Fl_Check_Button* o = chk_restore_tio = new Fl_Check_Button(70, 332, 205, 20, _("Restore Settings on Close"));
 
6418
                chk_restore_tio->tooltip(_("Restore the serial (COM) port settings"));
 
6419
                chk_restore_tio->down_box(FL_DOWN_BOX);
 
6420
                chk_restore_tio->callback((Fl_Callback*)cb_chk_restore_tio);
 
6421
                o->value(progdefaults.RigCatRestoreTIO);
 
6422
              } // Fl_Check_Button* chk_restore_tio
6351
6423
              { btnRevertRIGCAT = new Fl_Button(385, 289, 113, 24, _("Revert"));
6352
6424
                btnRevertRIGCAT->tooltip(_("Initialize hamlib interface"));
6353
6425
                btnRevertRIGCAT->callback((Fl_Callback*)cb_btnRevertRIGCAT);
6354
6426
                btnRevertRIGCAT->deactivate();
6355
6427
              } // Fl_Button* btnRevertRIGCAT
6356
 
              { Fl_Check_Button* o = chkRigCatVSP = new Fl_Check_Button(276, 315, 100, 25, _("VSP Enable"));
 
6428
              { Fl_Check_Button* o = chkRigCatVSP = new Fl_Check_Button(276, 300, 100, 25, _("VSP Enable"));
6357
6429
                chkRigCatVSP->tooltip(_("Virtual Serial Port Emulator - suppress WARNINGS"));
6358
6430
                chkRigCatVSP->down_box(FL_DOWN_BOX);
6359
6431
                chkRigCatVSP->callback((Fl_Callback*)cb_chkRigCatVSP);