Commit 846ee516beecdbf967fe19026d69ef74e31e3084

Authored by perry.werneck@gmail.com
1 parent 4288039a

Implementando suporte para os botões full/unfullscreen

@@ -8,8 +8,8 @@ @@ -8,8 +8,8 @@
8 <Option compiler="gcc" /> 8 <Option compiler="gcc" />
9 <Build> 9 <Build>
10 <Target title="Debug"> 10 <Target title="Debug">
11 - <Option output=".bin\Debug\pw3270" prefix_auto="1" extension_auto="1" />  
12 - <Option object_output=".obj\Debug\" /> 11 + <Option output=".bin/Debug/pw3270" prefix_auto="1" extension_auto="1" />
  12 + <Option object_output=".obj/Debug/" />
13 <Option type="0" /> 13 <Option type="0" />
14 <Option compiler="gcc" /> 14 <Option compiler="gcc" />
15 <Compiler> 15 <Compiler>
@@ -18,8 +18,8 @@ @@ -18,8 +18,8 @@
18 </Compiler> 18 </Compiler>
19 </Target> 19 </Target>
20 <Target title="Release"> 20 <Target title="Release">
21 - <Option output=".bin\Release\pw3270" prefix_auto="1" extension_auto="1" />  
22 - <Option object_output=".obj\Release\" /> 21 + <Option output=".bin/Release/pw3270" prefix_auto="1" extension_auto="1" />
  22 + <Option object_output=".obj/Release/" />
23 <Option type="0" /> 23 <Option type="0" />
24 <Option compiler="gcc" /> 24 <Option compiler="gcc" />
25 <Compiler> 25 <Compiler>
@@ -33,7 +33,7 @@ @@ -33,7 +33,7 @@
33 <Compiler> 33 <Compiler>
34 <Add option="-Wall" /> 34 <Add option="-Wall" />
35 <Add option="`pkg-config gtk+-3.0 lib3270 --cflags`" /> 35 <Add option="`pkg-config gtk+-3.0 lib3270 --cflags`" />
36 - <Add directory="src\include" /> 36 + <Add directory="src/include" />
37 </Compiler> 37 </Compiler>
38 <Linker> 38 <Linker>
39 <Add option="`pkg-config gtk+-3.0 lib3270 --libs`" /> 39 <Add option="`pkg-config gtk+-3.0 lib3270 --libs`" />
@@ -41,273 +41,270 @@ @@ -41,273 +41,270 @@
41 <Unit filename="Makefile.in" /> 41 <Unit filename="Makefile.in" />
42 <Unit filename="configure.ac" /> 42 <Unit filename="configure.ac" />
43 <Unit filename="pw3270.spec.in" /> 43 <Unit filename="pw3270.spec.in" />
44 - <Unit filename="src\gtk\Makefile.in" />  
45 - <Unit filename="src\gtk\actions.c"> 44 + <Unit filename="src/gtk/Makefile.in" />
  45 + <Unit filename="src/gtk/actions.c">
46 <Option compilerVar="CC" /> 46 <Option compilerVar="CC" />
47 </Unit> 47 </Unit>
48 - <Unit filename="src\gtk\common\common.h" />  
49 - <Unit filename="src\gtk\common\config.c"> 48 + <Unit filename="src/gtk/common/common.h" />
  49 + <Unit filename="src/gtk/common/config.c">
50 <Option compilerVar="CC" /> 50 <Option compilerVar="CC" />
51 </Unit> 51 </Unit>
52 - <Unit filename="src\gtk\fonts.c"> 52 + <Unit filename="src/gtk/fonts.c">
53 <Option compilerVar="CC" /> 53 <Option compilerVar="CC" />
54 </Unit> 54 </Unit>
55 - <Unit filename="src\gtk\globals.h" />  
56 - <Unit filename="src\gtk\main.c"> 55 + <Unit filename="src/gtk/globals.h" />
  56 + <Unit filename="src/gtk/main.c">
57 <Option compilerVar="CC" /> 57 <Option compilerVar="CC" />
58 </Unit> 58 </Unit>
59 - <Unit filename="src\gtk\mainwindow.c"> 59 + <Unit filename="src/gtk/mainwindow.c">
60 <Option compilerVar="CC" /> 60 <Option compilerVar="CC" />
61 </Unit> 61 </Unit>
62 - <Unit filename="src\gtk\uiparser\Makefile.in" />  
63 - <Unit filename="src\gtk\uiparser\accelerator.c"> 62 + <Unit filename="src/gtk/uiparser/Makefile.in" />
  63 + <Unit filename="src/gtk/uiparser/accelerator.c">
64 <Option compilerVar="CC" /> 64 <Option compilerVar="CC" />
65 </Unit> 65 </Unit>
66 - <Unit filename="src\gtk\uiparser\action.c"> 66 + <Unit filename="src/gtk/uiparser/action.c">
67 <Option compilerVar="CC" /> 67 <Option compilerVar="CC" />
68 </Unit> 68 </Unit>
69 - <Unit filename="src\gtk\uiparser\menu.c"> 69 + <Unit filename="src/gtk/uiparser/menu.c">
70 <Option compilerVar="CC" /> 70 <Option compilerVar="CC" />
71 </Unit> 71 </Unit>
72 - <Unit filename="src\gtk\uiparser\menubar.c"> 72 + <Unit filename="src/gtk/uiparser/menubar.c">
73 <Option compilerVar="CC" /> 73 <Option compilerVar="CC" />
74 </Unit> 74 </Unit>
75 - <Unit filename="src\gtk\uiparser\menuitem.c"> 75 + <Unit filename="src/gtk/uiparser/menuitem.c">
76 <Option compilerVar="CC" /> 76 <Option compilerVar="CC" />
77 </Unit> 77 </Unit>
78 - <Unit filename="src\gtk\uiparser\parsefile.c"> 78 + <Unit filename="src/gtk/uiparser/parsefile.c">
79 <Option compilerVar="CC" /> 79 <Option compilerVar="CC" />
80 </Unit> 80 </Unit>
81 - <Unit filename="src\gtk\uiparser\parser.c"> 81 + <Unit filename="src/gtk/uiparser/parser.c">
82 <Option compilerVar="CC" /> 82 <Option compilerVar="CC" />
83 </Unit> 83 </Unit>
84 - <Unit filename="src\gtk\uiparser\parser.h" />  
85 - <Unit filename="src\gtk\uiparser\popup.c"> 84 + <Unit filename="src/gtk/uiparser/parser.h" />
  85 + <Unit filename="src/gtk/uiparser/popup.c">
86 <Option compilerVar="CC" /> 86 <Option compilerVar="CC" />
87 </Unit> 87 </Unit>
88 - <Unit filename="src\gtk\uiparser\private.h" />  
89 - <Unit filename="src\gtk\uiparser\script.c"> 88 + <Unit filename="src/gtk/uiparser/private.h" />
  89 + <Unit filename="src/gtk/uiparser/script.c">
90 <Option compilerVar="CC" /> 90 <Option compilerVar="CC" />
91 </Unit> 91 </Unit>
92 - <Unit filename="src\gtk\uiparser\separator.c"> 92 + <Unit filename="src/gtk/uiparser/separator.c">
93 <Option compilerVar="CC" /> 93 <Option compilerVar="CC" />
94 </Unit> 94 </Unit>
95 - <Unit filename="src\gtk\uiparser\sources.mak" />  
96 - <Unit filename="src\gtk\uiparser\testprogram.c"> 95 + <Unit filename="src/gtk/uiparser/sources.mak" />
  96 + <Unit filename="src/gtk/uiparser/toolbar.c">
97 <Option compilerVar="CC" /> 97 <Option compilerVar="CC" />
98 </Unit> 98 </Unit>
99 - <Unit filename="src\gtk\uiparser\toolbar.c"> 99 + <Unit filename="src/gtk/uiparser/toolitem.c">
100 <Option compilerVar="CC" /> 100 <Option compilerVar="CC" />
101 </Unit> 101 </Unit>
102 - <Unit filename="src\gtk\uiparser\toolitem.c"> 102 + <Unit filename="src/gtk/v3270/clipboard.c">
103 <Option compilerVar="CC" /> 103 <Option compilerVar="CC" />
104 </Unit> 104 </Unit>
105 - <Unit filename="src\gtk\v3270\clipboard.c"> 105 + <Unit filename="src/gtk/v3270/draw.c">
106 <Option compilerVar="CC" /> 106 <Option compilerVar="CC" />
107 </Unit> 107 </Unit>
108 - <Unit filename="src\gtk\v3270\draw.c"> 108 + <Unit filename="src/gtk/v3270/genmarshal" />
  109 + <Unit filename="src/gtk/v3270/iocallback.c">
109 <Option compilerVar="CC" /> 110 <Option compilerVar="CC" />
110 </Unit> 111 </Unit>
111 - <Unit filename="src\gtk\v3270\genmarshal" />  
112 - <Unit filename="src\gtk\v3270\iocallback.c"> 112 + <Unit filename="src/gtk/v3270/keyboard.c">
113 <Option compilerVar="CC" /> 113 <Option compilerVar="CC" />
114 </Unit> 114 </Unit>
115 - <Unit filename="src\gtk\v3270\keyboard.c"> 115 + <Unit filename="src/gtk/v3270/mouse.c">
116 <Option compilerVar="CC" /> 116 <Option compilerVar="CC" />
117 </Unit> 117 </Unit>
118 - <Unit filename="src\gtk\v3270\mouse.c"> 118 + <Unit filename="src/gtk/v3270/oia.c">
119 <Option compilerVar="CC" /> 119 <Option compilerVar="CC" />
120 </Unit> 120 </Unit>
121 - <Unit filename="src\gtk\v3270\oia.c"> 121 + <Unit filename="src/gtk/v3270/private.h" />
  122 + <Unit filename="src/gtk/v3270/sources.mak" />
  123 + <Unit filename="src/gtk/v3270/v3270.h" />
  124 + <Unit filename="src/gtk/v3270/widget.c">
122 <Option compilerVar="CC" /> 125 <Option compilerVar="CC" />
123 </Unit> 126 </Unit>
124 - <Unit filename="src\gtk\v3270\private.h" />  
125 - <Unit filename="src\gtk\v3270\sources.mak" />  
126 - <Unit filename="src\gtk\v3270\v3270.h" />  
127 - <Unit filename="src\gtk\v3270\widget.c"> 127 + <Unit filename="src/include/lib3270.h" />
  128 + <Unit filename="src/include/lib3270/action_table.h" />
  129 + <Unit filename="src/include/lib3270/actions.h" />
  130 + <Unit filename="src/include/lib3270/config.h.in" />
  131 + <Unit filename="src/include/lib3270/log.h" />
  132 + <Unit filename="src/include/lib3270/popup.h" />
  133 + <Unit filename="src/include/lib3270/selection.h" />
  134 + <Unit filename="src/include/lib3270/session.h" />
  135 + <Unit filename="src/include/pw3270.h" />
  136 + <Unit filename="src/include/rules.mak.in" />
  137 + <Unit filename="src/lib3270/3270ds.h" />
  138 + <Unit filename="src/lib3270/Makefile.in" />
  139 + <Unit filename="src/lib3270/X11keysym.h" />
  140 + <Unit filename="src/lib3270/XtGlue.c">
128 <Option compilerVar="CC" /> 141 <Option compilerVar="CC" />
129 </Unit> 142 </Unit>
130 - <Unit filename="src\include\lib3270.h" />  
131 - <Unit filename="src\include\lib3270\action_table.h" />  
132 - <Unit filename="src\include\lib3270\actions.h" />  
133 - <Unit filename="src\include\lib3270\config.h.in" />  
134 - <Unit filename="src\include\lib3270\log.h" />  
135 - <Unit filename="src\include\lib3270\popup.h" />  
136 - <Unit filename="src\include\lib3270\selection.h" />  
137 - <Unit filename="src\include\lib3270\session.h" />  
138 - <Unit filename="src\include\pw3270.h" />  
139 - <Unit filename="src\include\rules.mak.in" />  
140 - <Unit filename="src\lib3270\3270ds.h" />  
141 - <Unit filename="src\lib3270\Makefile.in" />  
142 - <Unit filename="src\lib3270\X11keysym.h" />  
143 - <Unit filename="src\lib3270\XtGlue.c"> 143 + <Unit filename="src/lib3270/actions.c">
144 <Option compilerVar="CC" /> 144 <Option compilerVar="CC" />
145 </Unit> 145 </Unit>
146 - <Unit filename="src\lib3270\actions.c"> 146 + <Unit filename="src/lib3270/actionsc.h" />
  147 + <Unit filename="src/lib3270/ansi.c">
147 <Option compilerVar="CC" /> 148 <Option compilerVar="CC" />
148 </Unit> 149 </Unit>
149 - <Unit filename="src\lib3270\actionsc.h" />  
150 - <Unit filename="src\lib3270\ansi.c"> 150 + <Unit filename="src/lib3270/ansic.h" />
  151 + <Unit filename="src/lib3270/api.h" />
  152 + <Unit filename="src/lib3270/apl.c">
151 <Option compilerVar="CC" /> 153 <Option compilerVar="CC" />
152 </Unit> 154 </Unit>
153 - <Unit filename="src\lib3270\ansic.h" />  
154 - <Unit filename="src\lib3270\api.h" />  
155 - <Unit filename="src\lib3270\apl.c"> 155 + <Unit filename="src/lib3270/aplc.h" />
  156 + <Unit filename="src/lib3270/appres.h" />
  157 + <Unit filename="src/lib3270/arpa_telnet.h" />
  158 + <Unit filename="src/lib3270/cg.h" />
  159 + <Unit filename="src/lib3270/charset.c">
156 <Option compilerVar="CC" /> 160 <Option compilerVar="CC" />
157 </Unit> 161 </Unit>
158 - <Unit filename="src\lib3270\aplc.h" />  
159 - <Unit filename="src\lib3270\appres.h" />  
160 - <Unit filename="src\lib3270\arpa_telnet.h" />  
161 - <Unit filename="src\lib3270\cg.h" />  
162 - <Unit filename="src\lib3270\charset.c"> 162 + <Unit filename="src/lib3270/charsetc.h" />
  163 + <Unit filename="src/lib3270/childc.h" />
  164 + <Unit filename="src/lib3270/ctlr.c">
163 <Option compilerVar="CC" /> 165 <Option compilerVar="CC" />
164 </Unit> 166 </Unit>
165 - <Unit filename="src\lib3270\charsetc.h" />  
166 - <Unit filename="src\lib3270\childc.h" />  
167 - <Unit filename="src\lib3270\ctlr.c"> 167 + <Unit filename="src/lib3270/ctlr.h" />
  168 + <Unit filename="src/lib3270/ctlrc.h" />
  169 + <Unit filename="src/lib3270/dialogc.h" />
  170 + <Unit filename="src/lib3270/fallbacks.c">
168 <Option compilerVar="CC" /> 171 <Option compilerVar="CC" />
169 </Unit> 172 </Unit>
170 - <Unit filename="src\lib3270\ctlr.h" />  
171 - <Unit filename="src\lib3270\ctlrc.h" />  
172 - <Unit filename="src\lib3270\dialogc.h" />  
173 - <Unit filename="src\lib3270\fallbacks.c"> 173 + <Unit filename="src/lib3270/ft.c">
174 <Option compilerVar="CC" /> 174 <Option compilerVar="CC" />
175 </Unit> 175 </Unit>
176 - <Unit filename="src\lib3270\ft.c"> 176 + <Unit filename="src/lib3270/ft_cut.c">
177 <Option compilerVar="CC" /> 177 <Option compilerVar="CC" />
178 </Unit> 178 </Unit>
179 - <Unit filename="src\lib3270\ft_cut.c"> 179 + <Unit filename="src/lib3270/ft_cut_ds.h" />
  180 + <Unit filename="src/lib3270/ft_cutc.h" />
  181 + <Unit filename="src/lib3270/ft_dft.c">
180 <Option compilerVar="CC" /> 182 <Option compilerVar="CC" />
181 </Unit> 183 </Unit>
182 - <Unit filename="src\lib3270\ft_cut_ds.h" />  
183 - <Unit filename="src\lib3270\ft_cutc.h" />  
184 - <Unit filename="src\lib3270\ft_dft.c"> 184 + <Unit filename="src/lib3270/ft_dft_ds.h" />
  185 + <Unit filename="src/lib3270/ft_dftc.h" />
  186 + <Unit filename="src/lib3270/ftc.h" />
  187 + <Unit filename="src/lib3270/globals.h" />
  188 + <Unit filename="src/lib3270/glue.c">
185 <Option compilerVar="CC" /> 189 <Option compilerVar="CC" />
186 </Unit> 190 </Unit>
187 - <Unit filename="src\lib3270\ft_dft_ds.h" />  
188 - <Unit filename="src\lib3270\ft_dftc.h" />  
189 - <Unit filename="src\lib3270\ftc.h" />  
190 - <Unit filename="src\lib3270\globals.h" />  
191 - <Unit filename="src\lib3270\glue.c"> 191 + <Unit filename="src/lib3270/gluec.h" />
  192 + <Unit filename="src/lib3270/host.c">
192 <Option compilerVar="CC" /> 193 <Option compilerVar="CC" />
193 </Unit> 194 </Unit>
194 - <Unit filename="src\lib3270\gluec.h" />  
195 - <Unit filename="src\lib3270\host.c"> 195 + <Unit filename="src/lib3270/hostc.h" />
  196 + <Unit filename="src/lib3270/icmdc.h" />
  197 + <Unit filename="src/lib3270/keypadc.h" />
  198 + <Unit filename="src/lib3270/kybd.c">
196 <Option compilerVar="CC" /> 199 <Option compilerVar="CC" />
197 </Unit> 200 </Unit>
198 - <Unit filename="src\lib3270\hostc.h" />  
199 - <Unit filename="src\lib3270\icmdc.h" />  
200 - <Unit filename="src\lib3270\keypadc.h" />  
201 - <Unit filename="src\lib3270\kybd.c"> 201 + <Unit filename="src/lib3270/kybdc.h" />
  202 + <Unit filename="src/lib3270/localdefs.h" />
  203 + <Unit filename="src/lib3270/log.c">
202 <Option compilerVar="CC" /> 204 <Option compilerVar="CC" />
203 </Unit> 205 </Unit>
204 - <Unit filename="src\lib3270\kybdc.h" />  
205 - <Unit filename="src\lib3270\localdefs.h" />  
206 - <Unit filename="src\lib3270\log.c"> 206 + <Unit filename="src/lib3270/macros.c">
207 <Option compilerVar="CC" /> 207 <Option compilerVar="CC" />
208 </Unit> 208 </Unit>
209 - <Unit filename="src\lib3270\macros.c"> 209 + <Unit filename="src/lib3270/mkfb.c">
210 <Option compilerVar="CC" /> 210 <Option compilerVar="CC" />
211 </Unit> 211 </Unit>
212 - <Unit filename="src\lib3270\mkfb.c"> 212 + <Unit filename="src/lib3270/objects.h" />
  213 + <Unit filename="src/lib3270/paste.c">
213 <Option compilerVar="CC" /> 214 <Option compilerVar="CC" />
214 </Unit> 215 </Unit>
215 - <Unit filename="src\lib3270\objects.h" />  
216 - <Unit filename="src\lib3270\paste.c"> 216 + <Unit filename="src/lib3270/popupsc.h" />
  217 + <Unit filename="src/lib3270/print.c">
217 <Option compilerVar="CC" /> 218 <Option compilerVar="CC" />
218 </Unit> 219 </Unit>
219 - <Unit filename="src\lib3270\popupsc.h" />  
220 - <Unit filename="src\lib3270\print.c"> 220 + <Unit filename="src/lib3270/printc.h" />
  221 + <Unit filename="src/lib3270/printer.c">
221 <Option compilerVar="CC" /> 222 <Option compilerVar="CC" />
222 </Unit> 223 </Unit>
223 - <Unit filename="src\lib3270\printc.h" />  
224 - <Unit filename="src\lib3270\printer.c"> 224 + <Unit filename="src/lib3270/printerc.h" />
  225 + <Unit filename="src/lib3270/proxy.c">
225 <Option compilerVar="CC" /> 226 <Option compilerVar="CC" />
226 </Unit> 227 </Unit>
227 - <Unit filename="src\lib3270\printerc.h" />  
228 - <Unit filename="src\lib3270\proxy.c"> 228 + <Unit filename="src/lib3270/proxyc.h" />
  229 + <Unit filename="src/lib3270/resolver.c">
229 <Option compilerVar="CC" /> 230 <Option compilerVar="CC" />
230 </Unit> 231 </Unit>
231 - <Unit filename="src\lib3270\proxyc.h" />  
232 - <Unit filename="src\lib3270\resolver.c"> 232 + <Unit filename="src/lib3270/resolverc.h" />
  233 + <Unit filename="src/lib3270/resources.c">
233 <Option compilerVar="CC" /> 234 <Option compilerVar="CC" />
234 </Unit> 235 </Unit>
235 - <Unit filename="src\lib3270\resolverc.h" />  
236 - <Unit filename="src\lib3270\resources.c"> 236 + <Unit filename="src/lib3270/resources.h" />
  237 + <Unit filename="src/lib3270/rpq.c">
237 <Option compilerVar="CC" /> 238 <Option compilerVar="CC" />
238 </Unit> 239 </Unit>
239 - <Unit filename="src\lib3270\resources.h" />  
240 - <Unit filename="src\lib3270\rpq.c"> 240 + <Unit filename="src/lib3270/savec.h" />
  241 + <Unit filename="src/lib3270/screen.c">
241 <Option compilerVar="CC" /> 242 <Option compilerVar="CC" />
242 </Unit> 243 </Unit>
243 - <Unit filename="src\lib3270\savec.h" />  
244 - <Unit filename="src\lib3270\screen.c"> 244 + <Unit filename="src/lib3270/screen.h" />
  245 + <Unit filename="src/lib3270/screenc.h" />
  246 + <Unit filename="src/lib3270/scrollc.h" />
  247 + <Unit filename="src/lib3270/see.c">
245 <Option compilerVar="CC" /> 248 <Option compilerVar="CC" />
246 </Unit> 249 </Unit>
247 - <Unit filename="src\lib3270\screen.h" />  
248 - <Unit filename="src\lib3270\screenc.h" />  
249 - <Unit filename="src\lib3270\scrollc.h" />  
250 - <Unit filename="src\lib3270\see.c"> 250 + <Unit filename="src/lib3270/seec.h" />
  251 + <Unit filename="src/lib3270/selection.c">
251 <Option compilerVar="CC" /> 252 <Option compilerVar="CC" />
252 </Unit> 253 </Unit>
253 - <Unit filename="src\lib3270\seec.h" />  
254 - <Unit filename="src\lib3270\selection.c"> 254 + <Unit filename="src/lib3270/sf.c">
255 <Option compilerVar="CC" /> 255 <Option compilerVar="CC" />
256 </Unit> 256 </Unit>
257 - <Unit filename="src\lib3270\sf.c"> 257 + <Unit filename="src/lib3270/sfc.h" />
  258 + <Unit filename="src/lib3270/shlobj_missing.h" />
  259 + <Unit filename="src/lib3270/statusc.h" />
  260 + <Unit filename="src/lib3270/tables.c">
258 <Option compilerVar="CC" /> 261 <Option compilerVar="CC" />
259 </Unit> 262 </Unit>
260 - <Unit filename="src\lib3270\sfc.h" />  
261 - <Unit filename="src\lib3270\shlobj_missing.h" />  
262 - <Unit filename="src\lib3270\statusc.h" />  
263 - <Unit filename="src\lib3270\tables.c"> 263 + <Unit filename="src/lib3270/tablesc.h" />
  264 + <Unit filename="src/lib3270/telnet.c">
264 <Option compilerVar="CC" /> 265 <Option compilerVar="CC" />
265 </Unit> 266 </Unit>
266 - <Unit filename="src\lib3270\tablesc.h" />  
267 - <Unit filename="src\lib3270\telnet.c"> 267 + <Unit filename="src/lib3270/telnetc.h" />
  268 + <Unit filename="src/lib3270/testprogram.c">
268 <Option compilerVar="CC" /> 269 <Option compilerVar="CC" />
269 </Unit> 270 </Unit>
270 - <Unit filename="src\lib3270\telnetc.h" />  
271 - <Unit filename="src\lib3270\testprogram.c"> 271 + <Unit filename="src/lib3270/tn3270e.h" />
  272 + <Unit filename="src/lib3270/toggle.h" />
  273 + <Unit filename="src/lib3270/toggles.c">
272 <Option compilerVar="CC" /> 274 <Option compilerVar="CC" />
273 </Unit> 275 </Unit>
274 - <Unit filename="src\lib3270\tn3270e.h" />  
275 - <Unit filename="src\lib3270\toggle.h" />  
276 - <Unit filename="src\lib3270\toggles.c"> 276 + <Unit filename="src/lib3270/togglesc.h" />
  277 + <Unit filename="src/lib3270/trace_ds.c">
277 <Option compilerVar="CC" /> 278 <Option compilerVar="CC" />
278 </Unit> 279 </Unit>
279 - <Unit filename="src\lib3270\togglesc.h" />  
280 - <Unit filename="src\lib3270\trace_ds.c"> 280 + <Unit filename="src/lib3270/trace_dsc.h" />
  281 + <Unit filename="src/lib3270/utf8.c">
281 <Option compilerVar="CC" /> 282 <Option compilerVar="CC" />
282 </Unit> 283 </Unit>
283 - <Unit filename="src\lib3270\trace_dsc.h" />  
284 - <Unit filename="src\lib3270\utf8.c"> 284 + <Unit filename="src/lib3270/utf8c.h" />
  285 + <Unit filename="src/lib3270/util.c">
285 <Option compilerVar="CC" /> 286 <Option compilerVar="CC" />
286 </Unit> 287 </Unit>
287 - <Unit filename="src\lib3270\utf8c.h" />  
288 - <Unit filename="src\lib3270\util.c"> 288 + <Unit filename="src/lib3270/utilc.h" />
  289 + <Unit filename="src/lib3270/version.c">
289 <Option compilerVar="CC" /> 290 <Option compilerVar="CC" />
290 </Unit> 291 </Unit>
291 - <Unit filename="src\lib3270\utilc.h" />  
292 - <Unit filename="src\lib3270\version.c"> 292 + <Unit filename="src/lib3270/w3misc.c">
293 <Option compilerVar="CC" /> 293 <Option compilerVar="CC" />
294 </Unit> 294 </Unit>
295 - <Unit filename="src\lib3270\w3misc.c"> 295 + <Unit filename="src/lib3270/w3miscc.h" />
  296 + <Unit filename="src/lib3270/widec.h" />
  297 + <Unit filename="src/lib3270/winvers.c">
296 <Option compilerVar="CC" /> 298 <Option compilerVar="CC" />
297 </Unit> 299 </Unit>
298 - <Unit filename="src\lib3270\w3miscc.h" />  
299 - <Unit filename="src\lib3270\widec.h" />  
300 - <Unit filename="src\lib3270\winvers.c"> 300 + <Unit filename="src/lib3270/winversc.h" />
  301 + <Unit filename="src/lib3270/xio.c">
301 <Option compilerVar="CC" /> 302 <Option compilerVar="CC" />
302 </Unit> 303 </Unit>
303 - <Unit filename="src\lib3270\winversc.h" />  
304 - <Unit filename="src\lib3270\xio.c">  
305 - <Option compilerVar="CC" />  
306 - </Unit>  
307 - <Unit filename="src\lib3270\xioc.h" />  
308 - <Unit filename="src\lib3270\xl.h" />  
309 - <Unit filename="ui\00default.xml" />  
310 - <Unit filename="ui\99debug.xml" /> 304 + <Unit filename="src/lib3270/xioc.h" />
  305 + <Unit filename="src/lib3270/xl.h" />
  306 + <Unit filename="ui/00default.xml" />
  307 + <Unit filename="ui/99debug.xml" />
311 <Unit filename="valgrind.suppression" /> 308 <Unit filename="valgrind.suppression" />
312 <Extensions> 309 <Extensions>
313 <code_completion /> 310 <code_completion />
src/gtk/actions.c
@@ -186,8 +186,41 @@ static void action_pakey(GtkAction *action, GtkWidget *widget) @@ -186,8 +186,41 @@ static void action_pakey(GtkAction *action, GtkWidget *widget)
186 lib3270_pakey(GTK_V3270(widget)->host,(int) g_object_get_data(G_OBJECT(action),"pakey")); 186 lib3270_pakey(GTK_V3270(widget)->host,(int) g_object_get_data(G_OBJECT(action),"pakey"));
187 } 187 }
188 188
  189 +static void action_fullscreen(GtkAction *action, GtkWidget *widget)
  190 +{
  191 + lib3270_set_toggle(GTK_V3270(widget)->host,LIB3270_TOGGLE_FULL_SCREEN,1);
  192 +}
  193 +
  194 +static void action_unfullscreen(GtkAction *action, GtkWidget *widget)
  195 +{
  196 + lib3270_set_toggle(GTK_V3270(widget)->host,LIB3270_TOGGLE_FULL_SCREEN,0);
  197 +}
  198 +
189 void ui_connect_pakey(GtkAction *action, GtkWidget *widget, const gchar *name, const gchar *id) 199 void ui_connect_pakey(GtkAction *action, GtkWidget *widget, const gchar *name, const gchar *id)
190 { 200 {
191 g_object_set_data(G_OBJECT(action),"pakey",(gpointer) atoi(id)); 201 g_object_set_data(G_OBJECT(action),"pakey",(gpointer) atoi(id));
192 g_signal_connect(action,"activate",G_CALLBACK(action_pakey),widget); 202 g_signal_connect(action,"activate",G_CALLBACK(action_pakey),widget);
193 } 203 }
  204 +
  205 +void ui_connect_index_action(GtkAction *action, GtkWidget *widget, int ix, GtkAction **lst)
  206 +{
  207 + trace("action(%d): %p",ix,action);
  208 +
  209 + switch(ix)
  210 + {
  211 + case ACTION_PASTENEXT:
  212 + break;
  213 +
  214 + case ACTION_FULLSCREEN:
  215 + g_signal_connect(action,"activate",G_CALLBACK(action_fullscreen),widget);
  216 + break;
  217 +
  218 + case ACTION_UNFULLSCREEN:
  219 + g_signal_connect(action,"activate",G_CALLBACK(action_unfullscreen),widget);
  220 + break;
  221 +
  222 + default:
  223 + g_warning("Action \"%s\" has unexpected id %d",gtk_action_get_name(action),ix);
  224 + gtk_action_set_sensitive(action,FALSE);
  225 + }
  226 +}
src/gtk/globals.h
@@ -39,6 +39,16 @@ @@ -39,6 +39,16 @@
39 39
40 #include "v3270/v3270.h" 40 #include "v3270/v3270.h"
41 41
  42 + // Special actions
  43 + enum
  44 + {
  45 + ACTION_PASTENEXT,
  46 + ACTION_FULLSCREEN,
  47 + ACTION_UNFULLSCREEN,
  48 +
  49 + ACTION_COUNT
  50 + };
  51 +
42 // Configuration 52 // Configuration
43 #include "common/common.h" 53 #include "common/common.h"
44 54
src/gtk/mainwindow.c
@@ -73,22 +73,37 @@ @@ -73,22 +73,37 @@
73 "selection", 73 "selection",
74 NULL 74 NULL
75 }; 75 };
  76 +
  77 + static const gchar *actionname[ACTION_COUNT+1] = { "pastenext",
  78 + "setfullscreen",
  79 + "resetfullscreen"
  80 + };
76 /*--[ Implement ]------------------------------------------------------------------------------------*/ 81 /*--[ Implement ]------------------------------------------------------------------------------------*/
77 82
78 - static void save_toggle(GtkWidget *widget, LIB3270_TOGGLE id, gboolean toggled, const gchar *name, GtkWindow *toplevel) 83 + static void toggle_changed(GtkWidget *widget, LIB3270_TOGGLE id, gboolean toggled, const gchar *name, GtkWindow *toplevel)
79 { 84 {
80 gchar *nm = g_ascii_strdown(name,-1); 85 gchar *nm = g_ascii_strdown(name,-1);
81 - trace("Toggle \"%s\" in widget %p is %s toplevel=%p",nm,widget,toggled ? "Active" : "Inactive",toplevel);  
82 set_boolean_to_config("toggle",nm,toggled); 86 set_boolean_to_config("toggle",nm,toggled);
83 g_free(nm); 87 g_free(nm);
84 88
85 if(id == LIB3270_TOGGLE_FULL_SCREEN) 89 if(id == LIB3270_TOGGLE_FULL_SCREEN)
86 { 90 {
  91 + GtkAction **action = (GtkAction **) g_object_get_data(G_OBJECT(toplevel),"named_actions");
  92 +
  93 + if(action[ACTION_FULLSCREEN])
  94 + gtk_action_set_visible(action[ACTION_FULLSCREEN],!toggled);
  95 +
  96 + if(action[ACTION_UNFULLSCREEN])
  97 + gtk_action_set_visible(action[ACTION_UNFULLSCREEN],toggled);
  98 +
87 if(toggled) 99 if(toggled)
88 gtk_window_fullscreen(GTK_WINDOW(toplevel)); 100 gtk_window_fullscreen(GTK_WINDOW(toplevel));
89 else 101 else
90 gtk_window_unfullscreen(GTK_WINDOW(toplevel)); 102 gtk_window_unfullscreen(GTK_WINDOW(toplevel));
91 } 103 }
  104 +
  105 + #warning TODO: Update toggle actions.
  106 +
92 } 107 }
93 108
94 static void disconnected(GtkWidget *widget, GtkActionGroup **group) 109 static void disconnected(GtkWidget *widget, GtkActionGroup **group)
@@ -226,6 +241,7 @@ @@ -226,6 +241,7 @@
226 H3270 * host = v3270_get_session(terminal); 241 H3270 * host = v3270_get_session(terminal);
227 gchar * path = build_data_filename("ui",NULL); 242 gchar * path = build_data_filename("ui",NULL);
228 GtkActionGroup **group; 243 GtkActionGroup **group;
  244 + GtkAction **action;
229 GtkWidget **popup; 245 GtkWidget **popup;
230 int f; 246 int f;
231 247
@@ -247,9 +263,10 @@ @@ -247,9 +263,10 @@
247 } 263 }
248 264
249 // Create window 265 // Create window
250 - window = ui_parse_xml_folder(path,groupname,popupname,terminal,widget_setup); 266 + window = ui_parse_xml_folder(path,groupname,popupname,actionname,terminal,widget_setup);
251 group = g_object_get_data(G_OBJECT(window),"action_groups"); 267 group = g_object_get_data(G_OBJECT(window),"action_groups");
252 popup = g_object_get_data(G_OBJECT(window),"popup_menus"); 268 popup = g_object_get_data(G_OBJECT(window),"popup_menus");
  269 + action = (GtkAction **) g_object_get_data(G_OBJECT(window),"named_actions");
253 270
254 // Setup action groups 271 // Setup action groups
255 gtk_action_group_set_sensitive(group[ACTION_GROUP_SELECTION],FALSE); 272 gtk_action_group_set_sensitive(group[ACTION_GROUP_SELECTION],FALSE);
@@ -258,8 +275,15 @@ @@ -258,8 +275,15 @@
258 gtk_action_group_set_sensitive(group[ACTION_GROUP_PASTE],FALSE); 275 gtk_action_group_set_sensitive(group[ACTION_GROUP_PASTE],FALSE);
259 disconnected(terminal, (gpointer) group); 276 disconnected(terminal, (gpointer) group);
260 277
  278 + // Setup actions
  279 + if(action[ACTION_FULLSCREEN])
  280 + gtk_action_set_visible(action[ACTION_FULLSCREEN],!lib3270_get_toggle(host,LIB3270_TOGGLE_FULL_SCREEN));
  281 +
  282 + if(action[ACTION_UNFULLSCREEN])
  283 + gtk_action_set_visible(action[ACTION_UNFULLSCREEN],lib3270_get_toggle(host,LIB3270_TOGGLE_FULL_SCREEN));
  284 +
261 // Connect widget signals 285 // Connect widget signals
262 - g_signal_connect(terminal,"toggle_changed",G_CALLBACK(save_toggle),window); 286 + g_signal_connect(terminal,"toggle_changed",G_CALLBACK(toggle_changed),window);
263 g_signal_connect(terminal,"disconnected",G_CALLBACK(disconnected),group); 287 g_signal_connect(terminal,"disconnected",G_CALLBACK(disconnected),group);
264 g_signal_connect(terminal,"connected",G_CALLBACK(connected),group); 288 g_signal_connect(terminal,"connected",G_CALLBACK(connected),group);
265 g_signal_connect(terminal,"update_config",G_CALLBACK(update_config),0); 289 g_signal_connect(terminal,"update_config",G_CALLBACK(update_config),0);
src/gtk/uiparser/parsefile.c
@@ -182,10 +182,24 @@ @@ -182,10 +182,24 @@
182 } 182 }
183 else 183 else
184 { 184 {
  185 + int ix = -1;
  186 +
185 action = GTK_ACTION(create(nm,NULL,NULL,NULL)); 187 action = GTK_ACTION(create(nm,NULL,NULL,NULL));
186 g_hash_table_insert(info->actions,nm,action); 188 g_hash_table_insert(info->actions,nm,action);
187 189
188 - if(g_strcasecmp(name,"quit")) 190 + if(info->actionname)
  191 + {
  192 + int f;
  193 + for(f=0;info->actionname[f] && ix < 0;f++)
  194 + {
  195 + if(!g_strcasecmp(nm,info->actionname[f]))
  196 + ix = f;
  197 + }
  198 + }
  199 +
  200 + if(ix >= 0)
  201 + ui_connect_index_action(info->action[ix] = action,info->center_widget,ix,info->action);
  202 + else if(g_strcasecmp(name,"quit"))
189 connect(action,info->center_widget,name,id); 203 connect(action,info->center_widget,name,id);
190 else 204 else
191 g_signal_connect(action,"activate",G_CALLBACK(gtk_main_quit), NULL); 205 g_signal_connect(action,"activate",G_CALLBACK(gtk_main_quit), NULL);
src/gtk/uiparser/parser.c
@@ -206,20 +206,18 @@ void parser_build(struct parser *p, GtkWidget *widget) @@ -206,20 +206,18 @@ void parser_build(struct parser *p, GtkWidget *widget)
206 206
207 } 207 }
208 208
209 -static void release_popups(GtkWidget **popup) 209 +static void release_list(GObject **obj)
210 { 210 {
211 int f; 211 int f;
212 - for(f=0;popup[f] != ((GtkWidget *) -1);f++) 212 + for(f=0;obj[f] != ((GObject *) -1);f++)
213 { 213 {
214 -// trace("%s[%d]=%p",__FUNCTION__,f,popup[f]);  
215 - if(popup[f])  
216 - g_object_unref(popup[f]); 214 + if(obj[f])
  215 + g_object_unref(obj[f]);
217 } 216 }
218 -  
219 - g_free(popup); 217 + g_free(obj);
220 } 218 }
221 219
222 -GtkWidget * ui_parse_xml_folder(const gchar *path, const gchar ** groupname, const gchar **popupname, GtkWidget *widget, const UI_WIDGET_SETUP *setup) 220 +GtkWidget * ui_parse_xml_folder(const gchar *path, const gchar ** groupname, const gchar **popupname, const gchar **actionname, GtkWidget *widget, const UI_WIDGET_SETUP *setup)
223 { 221 {
224 struct parser p; 222 struct parser p;
225 GDir * dir; 223 GDir * dir;
@@ -272,11 +270,16 @@ GtkWidget * ui_parse_xml_folder(const gchar *path, const gchar ** groupname, con @@ -272,11 +270,16 @@ GtkWidget * ui_parse_xml_folder(const gchar *path, const gchar ** groupname, con
272 p.popupname = popupname; 270 p.popupname = popupname;
273 p.strings = g_string_chunk_new(0); 271 p.strings = g_string_chunk_new(0);
274 p.setup = setup; 272 p.setup = setup;
  273 + p.actionname = actionname;
275 274
276 sz = (g_strv_length((gchar **) p.popupname)); 275 sz = (g_strv_length((gchar **) p.popupname));
277 p.popup = g_new0(GtkWidget *,sz+1); 276 p.popup = g_new0(GtkWidget *,sz+1);
278 p.popup[sz] = (GtkWidget *) -1; 277 p.popup[sz] = (GtkWidget *) -1;
279 - g_object_set_data_full(G_OBJECT(p.toplevel),"popup_menus",(gpointer) p.popup, (GDestroyNotify) release_popups); 278 + g_object_set_data_full(G_OBJECT(p.toplevel),"popup_menus",(gpointer) p.popup, (GDestroyNotify) release_list);
  279 +
  280 + sz = (g_strv_length((gchar **) p.actionname));
  281 + p.action = g_new0(GtkAction *,sz);
  282 + g_object_set_data_full(G_OBJECT(p.toplevel),"named_actions",(gpointer) p.action, (GDestroyNotify) g_free);
280 283
281 for(current = g_list_first(file);current;current = g_list_next(current)) 284 for(current = g_list_first(file);current;current = g_list_next(current))
282 { 285 {
src/gtk/uiparser/parser.h
@@ -51,8 +51,9 @@ @@ -51,8 +51,9 @@
51 void (*setup)(GtkWidget *widget, GtkWidget *obj); 51 void (*setup)(GtkWidget *widget, GtkWidget *obj);
52 } UI_WIDGET_SETUP; 52 } UI_WIDGET_SETUP;
53 53
54 - GtkWidget * ui_parse_xml_folder(const gchar *path, const gchar ** groupname, const gchar **popupname, GtkWidget *widget, const UI_WIDGET_SETUP *itn); 54 + GtkWidget * ui_parse_xml_folder(const gchar *path, const gchar ** groupname, const gchar **popupname, const gchar **actionname, GtkWidget *widget, const UI_WIDGET_SETUP *itn);
55 void ui_connect_action(GtkAction *action, GtkWidget *widget, const gchar *name, const gchar *id); 55 void ui_connect_action(GtkAction *action, GtkWidget *widget, const gchar *name, const gchar *id);
  56 + void ui_connect_index_action(GtkAction *action, GtkWidget *widget, int ix, GtkAction **lst);
56 void ui_connect_toggle(GtkAction *action, GtkWidget *widget, const gchar *name, const gchar *id); 57 void ui_connect_toggle(GtkAction *action, GtkWidget *widget, const gchar *name, const gchar *id);
57 void ui_connect_pfkey(GtkAction *action, GtkWidget *widget, const gchar *name, const gchar *id); 58 void ui_connect_pfkey(GtkAction *action, GtkWidget *widget, const gchar *name, const gchar *id);
58 void ui_connect_pakey(GtkAction *action, GtkWidget *widget, const gchar *name, const gchar *id); 59 void ui_connect_pakey(GtkAction *action, GtkWidget *widget, const gchar *name, const gchar *id);
src/gtk/uiparser/private.h
@@ -59,9 +59,11 @@ @@ -59,9 +59,11 @@
59 GObject * element; 59 GObject * element;
60 GtkWidget * center_widget; 60 GtkWidget * center_widget;
61 GtkWidget ** popup; /**< Popup widgets */ 61 GtkWidget ** popup; /**< Popup widgets */
  62 + GtkAction ** action; /**< Named actions */
62 GStringChunk * strings; 63 GStringChunk * strings;
63 const gchar ** group; /**< Action group list */ 64 const gchar ** group; /**< Action group list */
64 const gchar ** popupname; /**< Popup names */ 65 const gchar ** popupname; /**< Popup names */
  66 + const gchar ** actionname; /**< Action names */
65 GHashTable * actions; /**< List of actions */ 67 GHashTable * actions; /**< List of actions */
66 GHashTable * element_list[UI_ELEMENT_COUNT]; 68 GHashTable * element_list[UI_ELEMENT_COUNT];
67 const UI_WIDGET_SETUP * setup; 69 const UI_WIDGET_SETUP * setup;
src/gtk/uiparser/testprogram.c
@@ -14,6 +14,12 @@ void activated(GtkAction *action, GtkWidget *widget) @@ -14,6 +14,12 @@ void activated(GtkAction *action, GtkWidget *widget)
14 trace("Action %s activated on widget %p",gtk_action_get_name(action),widget); 14 trace("Action %s activated on widget %p",gtk_action_get_name(action),widget);
15 } 15 }
16 16
  17 +void ui_connect_index_action(GtkAction *action, GtkWidget *widget, int ix, GtkAction **lst)
  18 +{
  19 + trace("%s: Connecting indexed action %d",__FUNCTION__,ix);
  20 + g_signal_connect(action,"activate",G_CALLBACK(activated),widget);
  21 +}
  22 +
17 void toggled(GtkToggleAction *action, GtkWidget *widget) 23 void toggled(GtkToggleAction *action, GtkWidget *widget)
18 { 24 {
19 trace("Action %s toggled on widget %p",gtk_action_get_name(GTK_ACTION(action)),widget); 25 trace("Action %s toggled on widget %p",gtk_action_get_name(GTK_ACTION(action)),widget);
@@ -52,20 +58,26 @@ void show_popup(GtkWidget *button, GtkWidget *menu) @@ -52,20 +58,26 @@ void show_popup(GtkWidget *button, GtkWidget *menu)
52 58
53 int main (int argc, char *argv[]) 59 int main (int argc, char *argv[])
54 { 60 {
55 - static const gchar *groupname[] = { "default",  
56 - "online",  
57 - "offline",  
58 - "selection",  
59 - "clipboard",  
60 - "filetransfer",  
61 - "paste",  
62 - NULL };  
63 -  
64 - static const gchar *popupname[] = { "default",  
65 - "selection",  
66 - "offline",  
67 - "dock",  
68 - NULL }; 61 + static const gchar *groupname[] = { "default",
  62 + "online",
  63 + "offline",
  64 + "selection",
  65 + "clipboard",
  66 + "filetransfer",
  67 + "paste",
  68 + NULL };
  69 +
  70 + static const gchar *popupname[] = { "default",
  71 + "selection",
  72 + "offline",
  73 + "dock",
  74 + NULL };
  75 +
  76 + static const gchar *actionname[] = { "pastenext",
  77 + "setfullscreen",
  78 + "resetfullscreen",
  79 + NULL };
  80 +
69 int f; 81 int f;
70 GtkWidget * window; 82 GtkWidget * window;
71 gchar * path; 83 gchar * path;
@@ -78,7 +90,7 @@ int main (int argc, char *argv[]) @@ -78,7 +90,7 @@ int main (int argc, char *argv[])
78 hbox = gtk_hbox_new(FALSE,5); 90 hbox = gtk_hbox_new(FALSE,5);
79 vbox = gtk_vbox_new(FALSE,5); 91 vbox = gtk_vbox_new(FALSE,5);
80 path = build_data_filename("ui",NULL); 92 path = build_data_filename("ui",NULL);
81 - window = ui_parse_xml_folder(path,groupname,popupname,vbox,NULL); 93 + window = ui_parse_xml_folder(path,groupname,popupname,actionname,vbox,NULL);
82 g_free(path); 94 g_free(path);
83 95
84 popup = g_object_get_data(G_OBJECT(window),"popup_menus"); 96 popup = g_object_get_data(G_OBJECT(window),"popup_menus");
src/gtk/uiparser/uiparser.cbp
@@ -7,8 +7,8 @@ @@ -7,8 +7,8 @@
7 <Option compiler="gcc" /> 7 <Option compiler="gcc" />
8 <Build> 8 <Build>
9 <Target title="Debug"> 9 <Target title="Debug">
10 - <Option output=".bin\Debug\uiparser" prefix_auto="1" extension_auto="1" />  
11 - <Option object_output=".obj\Debug\" /> 10 + <Option output=".bin/Debug/uiparser" prefix_auto="1" extension_auto="1" />
  11 + <Option object_output=".obj/Debug/" />
12 <Option type="1" /> 12 <Option type="1" />
13 <Option compiler="gcc" /> 13 <Option compiler="gcc" />
14 <Compiler> 14 <Compiler>
@@ -17,8 +17,8 @@ @@ -17,8 +17,8 @@
17 </Compiler> 17 </Compiler>
18 </Target> 18 </Target>
19 <Target title="Release"> 19 <Target title="Release">
20 - <Option output=".bin\Release\uiparser" prefix_auto="1" extension_auto="1" />  
21 - <Option object_output=".obj\Release\" /> 20 + <Option output=".bin/Release/uiparser" prefix_auto="1" extension_auto="1" />
  21 + <Option object_output=".obj/Release/" />
22 <Option type="0" /> 22 <Option type="0" />
23 <Option compiler="gcc" /> 23 <Option compiler="gcc" />
24 <Compiler> 24 <Compiler>
@@ -32,13 +32,13 @@ @@ -32,13 +32,13 @@
32 <Compiler> 32 <Compiler>
33 <Add option="-Wall" /> 33 <Add option="-Wall" />
34 <Add option="`pkg-config gtk+-2.0 --cflags`" /> 34 <Add option="`pkg-config gtk+-2.0 --cflags`" />
35 - <Add directory="..\..\include" /> 35 + <Add directory="../../include" />
36 </Compiler> 36 </Compiler>
37 <Linker> 37 <Linker>
38 <Add option="`pkg-config gtk+-2.0 --libs`" /> 38 <Add option="`pkg-config gtk+-2.0 --libs`" />
39 </Linker> 39 </Linker>
40 - <Unit filename="..\common\common.h.in" />  
41 - <Unit filename="..\common\config.c"> 40 + <Unit filename="../common/common.h.in" />
  41 + <Unit filename="../common/config.c">
42 <Option compilerVar="CC" /> 42 <Option compilerVar="CC" />
43 </Unit> 43 </Unit>
44 <Unit filename="accelerator.c"> 44 <Unit filename="accelerator.c">
@@ -83,7 +83,6 @@ @@ -83,7 +83,6 @@
83 <Unit filename="toolitem.c"> 83 <Unit filename="toolitem.c">
84 <Option compilerVar="CC" /> 84 <Option compilerVar="CC" />
85 </Unit> 85 </Unit>
86 - <Unit filename="..\..\..\ui\default.xml" />  
87 <Extensions> 86 <Extensions>
88 <code_completion /> 87 <code_completion />
89 <debugger /> 88 <debugger />
src/lib3270/screen.c
@@ -86,6 +86,10 @@ static unsigned short color_from_fa(unsigned char fa); @@ -86,6 +86,10 @@ static unsigned short color_from_fa(unsigned char fa);
86 86
87 static void addch(H3270 *session, int baddr, unsigned char c, unsigned short attr) 87 static void addch(H3270 *session, int baddr, unsigned char c, unsigned short attr)
88 { 88 {
  89 + // If set to keep selection adjust corresponding flag based on the current state
  90 + if(lib3270_get_toggle(session,LIB3270_TOGGLE_KEEP_SELECTED))
  91 + attr |= (session->ea_buf[baddr].attr & LIB3270_ATTR_SELECTED);
  92 +
89 if(session->ea_buf[baddr].chr == c && session->ea_buf[baddr].attr == attr) 93 if(session->ea_buf[baddr].chr == c && session->ea_buf[baddr].attr == attr)
90 return; 94 return;
91 95