1 // =====================================================================
2 //
3 // status.h
4 //
5 // Author(s):
6 // 	Dave Freese, W1HKJ Copyright (C) 2010
7 //	Robert Stiles, KK5VD Copyright (C) 2013
8 //
9 // This file is part of FLCLUSTER.
10 //
11 // This is free software; you can redistribute it and/or modify
12 // it under the terms of the GNU General Public License as published by
13 // the Free Software Foundation; either version 3 of the License, or
14 // (at your option) any later version.
15 //
16 // This software is distributed in the hope that it will be useful,
17 // but WITHOUT ANY WARRANTY; without even the implied warranty of
18 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19 // GNU General Public License for more details.
20 //
21 // You should have received a copy of the GNU General Public License
22 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
23 //
24 // =====================================================================
25 
26 #ifndef _status_H
27 #define _status_H
28 
29 #include <string>
30 
31 using namespace std;
32 
33 struct status {
34 	int		mainX;
35 	int		mainY;
36 	int		mainW;
37 	int		mainH;
38 
39 	std::string myCall;
40 	std::string myName;
41 	std::string myQth;
42 	std::string myLocator;
43 
44 	std::string dxcluster_hosts;
45 	std::string dxcc_host_url;
46 	std::string dxcc_host_port;
47 	std::string dxcc_login;
48 	std::string dxcc_password;
49 
50 	bool cluster_connected;
51 	bool dxc_auto_connect;
52 	bool dxc_topline;
53 	bool spot_when_logged;
54 	bool dxc_hertz;
55 
56 	std::string dxcm_label_1;
57 	std::string dxcm_label_2;
58 	std::string dxcm_label_3;
59 	std::string dxcm_label_4;
60 	std::string dxcm_label_5;
61 	std::string dxcm_label_6;
62 	std::string dxcm_label_7;
63 	std::string dxcm_label_8;
64 
65 	std::string dxcm_text_1;
66 	std::string dxcm_text_2;
67 	std::string dxcm_text_3;
68 	std::string dxcm_text_4;
69 	std::string dxcm_text_5;
70 	std::string dxcm_text_6;
71 	std::string dxcm_text_7;
72 	std::string dxcm_text_8;
73 
74 	int keepalive;
75 
76 	int DX_Color_R;
77 	int DX_Color_G;
78 	int DX_Color_B;
79 
80 	Fl_Color DXC_even_color;
81 	Fl_Color DXC_odd_color;
82 	Fl_Color DXC_textcolor;
83 	Fl_Font  DXC_textfont;
84 	int      DXC_textsize;
85 
86 	Fl_Color  DXfontcolor;
87 	Fl_Color  DXalt_color;
88 	Fl_Font   DXfontnbr;
89 	int       DXfontsize;
90 
91 	Fl_Color  TabsColor;
92 
93 // fldigi control parameters
94 	bool connect_to_fldigi;
95 	std::string fldigi_address;
96 	std::string fldigi_port;
97 	int CWsweetspot;
98 	int PSKsweetspot;
99 	int RTTYsweetspot;
100 	bool useMARKfreq;
101 	bool USB;
102 	bool USBCW;
103 	bool LSBCW;
104 
105 	bool connect_to_flrig;
106 	std::string flrig_address;
107 	std::string flrig_port;
108 
109 	bool tooltips;
110 
111 // help URLs
112 	std::string serversURL;
113 	std::string AR_help_URL;
114 	std::string CC_help_URL;
115 	std::string DX_help_URL;
116 
117 	bool changed;
118 	void saveLastState();
119 	void loadLastState();
120 };
121 
122 extern status progStatus;
123 
124 #endif
125