Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/Remmina/remminadoc.gitlab.io.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntenore Gatta <antenore@simbiosi.org>2023-06-16 16:02:20 +0300
committerAntenore Gatta <antenore@simbiosi.org>2023-06-16 16:02:20 +0300
commit5b52622db7ee7d9021b1a5e5a1be52242ff2b719 (patch)
tree00195c44b7e442ae3230a7831707e099011ca852
parentf3e716e1974fc5f79f2391f70b3692b1329d3de5 (diff)
Automatic doc build by remmina-ci
-rw-r--r--public/globals_func_r.html407
-rw-r--r--public/globals_r.html367
-rw-r--r--public/navtreedata.js24
-rw-r--r--public/navtreeindex10.js4
-rw-r--r--public/navtreeindex11.js4
-rw-r--r--public/navtreeindex12.js4
-rw-r--r--public/navtreeindex13.js4
-rw-r--r--public/navtreeindex14.js4
-rw-r--r--public/navtreeindex15.js4
-rw-r--r--public/navtreeindex16.js4
-rw-r--r--public/navtreeindex17.js4
-rw-r--r--public/navtreeindex18.js1
-rw-r--r--public/navtreeindex5.js6
-rw-r--r--public/navtreeindex6.js14
-rw-r--r--public/navtreeindex7.js10
-rw-r--r--public/navtreeindex8.js4
-rw-r--r--public/navtreeindex9.js4
-rw-r--r--public/rcw_8c_source.html8
-rw-r--r--public/remmina__exec_8c_source.html8
-rw-r--r--public/remmina__file_8c_source.html4
-rw-r--r--public/remmina__file__editor_8c.html122
-rw-r--r--public/remmina__file__editor_8c.js1
-rw-r--r--public/remmina__file__editor_8c_source.html89
-rw-r--r--public/remmina__file__editor_8h.html14
-rw-r--r--public/remmina__file__editor_8h_source.html14
-rw-r--r--public/remmina__main_8c.html128
-rw-r--r--public/remmina__main_8c.js1
-rw-r--r--public/remmina__main_8c_source.html79
-rw-r--r--public/remmina__main_8h.html68
-rw-r--r--public/remmina__main_8h.js1
-rw-r--r--public/remmina__main_8h_source.html37
-rw-r--r--public/remmina__message__panel_8c.html40
-rw-r--r--public/remmina__message__panel_8c_source.html50
-rw-r--r--public/remmina__message__panel_8h.html28
-rw-r--r--public/remmina__message__panel_8h_source.html28
-rw-r--r--public/remmina__mpchange_8c_source.html2
-rw-r--r--public/remmina__plugin__manager_8c_source.html4
-rw-r--r--public/remmina__protocol__widget_8c_source.html24
-rw-r--r--public/search/all_12.js2
-rw-r--r--public/search/functions_11.js2
-rw-r--r--public/struct_remmina_message_panel_private.html8
41 files changed, 831 insertions, 800 deletions
diff --git a/public/globals_func_r.html b/public/globals_func_r.html
index 65edc4d17..acd5c3598 100644
--- a/public/globals_func_r.html
+++ b/public/globals_func_r.html
@@ -1008,9 +1008,6 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__file_8c.html#a3be28ff7f5a9b44dc47f92b883a85ac5">remmina_file.c</a>
, <a class="el" href="remmina__file_8h.html#a3be28ff7f5a9b44dc47f92b883a85ac5">remmina_file.h</a>
</li>
-<li>remmina_file_toggle_password_view()
-: <a class="el" href="remmina__file__editor_8c.html#a65b38bc13546d3d890624a79b080ffe9">remmina_file_editor.c</a>
-</li>
<li>remmina_file_touch()
: <a class="el" href="remmina__file_8c.html#a3d19095f74e9b7c92d74f11bd5a39a8c">remmina_file.c</a>
, <a class="el" href="remmina__file_8h.html#a3d19095f74e9b7c92d74f11bd5a39a8c">remmina_file.h</a>
@@ -1397,8 +1394,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__main_8h.html#a91f22c2834ac7f38d201d8d678f8c57b">remmina_main.h</a>
</li>
<li>remmina_main_on_action_application_default()
-: <a class="el" href="remmina__main_8c.html#a05dbb6ce820f3a137949b919d0efa6a1">remmina_main.c</a>
-, <a class="el" href="remmina__main_8h.html#a05dbb6ce820f3a137949b919d0efa6a1">remmina_main.h</a>
+: <a class="el" href="remmina__main_8h.html#a05dbb6ce820f3a137949b919d0efa6a1">remmina_main.h</a>
+, <a class="el" href="remmina__main_8c.html#a05dbb6ce820f3a137949b919d0efa6a1">remmina_main.c</a>
</li>
<li>remmina_main_on_action_application_mpchange()
: <a class="el" href="remmina__main_8c.html#abf51d42fa2c5ce84164b5514b4634229">remmina_main.c</a>
@@ -1558,6 +1555,10 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__main_8c.html#ad99b9c0bf2fa8c166a8b4a09e06ffdf7">remmina_main.c</a>
, <a class="el" href="remmina__main_8h.html#ad99b9c0bf2fa8c166a8b4a09e06ffdf7">remmina_main.h</a>
</li>
+<li>remmina_main_toggle_password_view()
+: <a class="el" href="remmina__main_8c.html#aac3fe305e456dfa7bb55aa2f057e8cb0">remmina_main.c</a>
+, <a class="el" href="remmina__main_8h.html#aac3fe305e456dfa7bb55aa2f057e8cb0">remmina_main.h</a>
+</li>
<li>remmina_main_tree_row_activated()
: <a class="el" href="remmina__main_8c.html#a4477897686d091d6f57e7f9401674a8c">remmina_main.c</a>
</li>
@@ -2199,8 +2200,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="vnc__plugin_8c.html#aa09286b99e12ea23e6a6ea14c5488469">vnc_plugin.c</a>
</li>
<li>remmina_plugin_vnc_update_scale()
-: <a class="el" href="vnc__plugin_8c.html#a1f57bda271e77f086885101650e8d82c">vnc_plugin.c</a>
-, <a class="el" href="vnc__plugin_8h.html#a8a70c9cdaf6821611a3311c0d4797db9">vnc_plugin.h</a>
+: <a class="el" href="vnc__plugin_8h.html#a8a70c9cdaf6821611a3311c0d4797db9">vnc_plugin.h</a>
+, <a class="el" href="vnc__plugin_8c.html#a1f57bda271e77f086885101650e8d82c">vnc_plugin.c</a>
</li>
<li>remmina_plugin_www_close_connection()
: <a class="el" href="www__plugin_8c.html#af1e5c3cccf8fcfb51c4518462b9b61ea">www_plugin.c</a>
@@ -2210,15 +2211,15 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="www__plugin_8h.html#ad7744b6ffed0a7250dad8d73a1bbdb32">www_plugin.h</a>
</li>
<li>remmina_plugin_www_decide_newwin()
-: <a class="el" href="www__plugin_8h.html#a05218b821edab542795439a87ad9d909">www_plugin.h</a>
-, <a class="el" href="www__plugin_8c.html#a05218b821edab542795439a87ad9d909">www_plugin.c</a>
+: <a class="el" href="www__plugin_8c.html#a05218b821edab542795439a87ad9d909">www_plugin.c</a>
+, <a class="el" href="www__plugin_8h.html#a05218b821edab542795439a87ad9d909">www_plugin.h</a>
</li>
<li>remmina_plugin_www_decide_policy_cb()
: <a class="el" href="www__plugin_8c.html#aaa970cf06dde51601b91b8d6f936b7ed">www_plugin.c</a>
</li>
<li>remmina_plugin_www_decide_resource()
-: <a class="el" href="www__plugin_8c.html#aab3ceb1ae095823fcbee98ce2811b374">www_plugin.c</a>
-, <a class="el" href="www__plugin_8h.html#aab3ceb1ae095823fcbee98ce2811b374">www_plugin.h</a>
+: <a class="el" href="www__plugin_8h.html#aab3ceb1ae095823fcbee98ce2811b374">www_plugin.h</a>
+, <a class="el" href="www__plugin_8c.html#aab3ceb1ae095823fcbee98ce2811b374">www_plugin.c</a>
</li>
<li>remmina_plugin_www_download_started()
: <a class="el" href="www__plugin_8c.html#af4c8fa778acc2d2f7dd9418e48c99f19">www_plugin.c</a>
@@ -2249,8 +2250,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="www__plugin_8c.html#a282f3f57584e24a15a8a5d5cf5aa8d72">www_plugin.c</a>
</li>
<li>remmina_plugin_www_response_received()
-: <a class="el" href="www__plugin_8c.html#a98eddc35144b89bce2e247d5ea49177b">www_plugin.c</a>
-, <a class="el" href="www__plugin_8h.html#a98eddc35144b89bce2e247d5ea49177b">www_plugin.h</a>
+: <a class="el" href="www__plugin_8h.html#a98eddc35144b89bce2e247d5ea49177b">www_plugin.h</a>
+, <a class="el" href="www__plugin_8c.html#a98eddc35144b89bce2e247d5ea49177b">www_plugin.c</a>
</li>
<li>remmina_plugin_www_save_snapshot()
: <a class="el" href="www__plugin_8c.html#a1a152b9760d6b4808393569b0409f8b8">www_plugin.c</a>
@@ -2260,8 +2261,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__pref_8h.html#ab9e75c6bf39aa93a87d421fc3d742d60">remmina_pref.h</a>
</li>
<li>remmina_pref_clear_recent()
-: <a class="el" href="remmina__pref_8h.html#ac3b15f811daf0aaf8bacd67f1b47aa14">remmina_pref.h</a>
-, <a class="el" href="remmina__pref_8c.html#ac3b15f811daf0aaf8bacd67f1b47aa14">remmina_pref.c</a>
+: <a class="el" href="remmina__pref_8c.html#ac3b15f811daf0aaf8bacd67f1b47aa14">remmina_pref.c</a>
+, <a class="el" href="remmina__pref_8h.html#ac3b15f811daf0aaf8bacd67f1b47aa14">remmina_pref.h</a>
</li>
<li>remmina_pref_dialog_add_pref_plugin()
: <a class="el" href="remmina__pref__dialog_8c.html#add9c48bccc2c61be2f2900a154648dd4">remmina_pref_dialog.c</a>
@@ -2280,8 +2281,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__pref__dialog_8c.html#a9a050b69e373c90ea7d400aa94f34344">remmina_pref_dialog.c</a>
</li>
<li>remmina_pref_dialog_new()
-: <a class="el" href="remmina__pref__dialog_8h.html#ad54ed89678b180a685af40b6226d1458">remmina_pref_dialog.h</a>
-, <a class="el" href="remmina__pref__dialog_8c.html#ab09f64d25a5a016281a56edca7e2d70a">remmina_pref_dialog.c</a>
+: <a class="el" href="remmina__pref__dialog_8c.html#ab09f64d25a5a016281a56edca7e2d70a">remmina_pref_dialog.c</a>
+, <a class="el" href="remmina__pref__dialog_8h.html#ad54ed89678b180a685af40b6226d1458">remmina_pref_dialog.h</a>
</li>
<li>remmina_pref_dialog_on_action_close()
: <a class="el" href="remmina__pref__dialog_8c.html#a722371d3ad01079279d5e86d7c8400e1">remmina_pref_dialog.c</a>
@@ -2317,8 +2318,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__pref_8c.html#a0296a8f5b359547a0aa4cbffb914edd3">remmina_pref.c</a>
</li>
<li>remmina_pref_get_recent()
-: <a class="el" href="remmina__pref_8c.html#a0208d5dc8197423da67e5967aafb7a05">remmina_pref.c</a>
-, <a class="el" href="remmina__pref_8h.html#a0208d5dc8197423da67e5967aafb7a05">remmina_pref.h</a>
+: <a class="el" href="remmina__pref_8h.html#a0208d5dc8197423da67e5967aafb7a05">remmina_pref.h</a>
+, <a class="el" href="remmina__pref_8c.html#a0208d5dc8197423da67e5967aafb7a05">remmina_pref.c</a>
</li>
<li>remmina_pref_get_scale_quality()
: <a class="el" href="remmina__pref_8c.html#a37cd589f00c94cb28eabb1bce4646d0b">remmina_pref.c</a>
@@ -2328,15 +2329,15 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="python__wrapper__remmina_8c.html#abf39b9982da287d8768a66e472965519">python_wrapper_remmina.c</a>
</li>
<li>remmina_pref_get_ssh_loglevel()
-: <a class="el" href="remmina__pref_8h.html#a12e52ee4ab89912280605e36ee069267">remmina_pref.h</a>
-, <a class="el" href="remmina__pref_8c.html#a12e52ee4ab89912280605e36ee069267">remmina_pref.c</a>
+: <a class="el" href="remmina__pref_8c.html#a12e52ee4ab89912280605e36ee069267">remmina_pref.c</a>
+, <a class="el" href="remmina__pref_8h.html#a12e52ee4ab89912280605e36ee069267">remmina_pref.h</a>
</li>
<li>remmina_pref_get_ssh_loglevel_wrapper()
: <a class="el" href="python__wrapper__remmina_8c.html#ad112bebbdfe15ce6a66b433bd1e7108b">python_wrapper_remmina.c</a>
</li>
<li>remmina_pref_get_ssh_parseconfig()
-: <a class="el" href="remmina__pref_8c.html#a98b783e4c5c1dae695fe554f52f94a23">remmina_pref.c</a>
-, <a class="el" href="remmina__pref_8h.html#a98b783e4c5c1dae695fe554f52f94a23">remmina_pref.h</a>
+: <a class="el" href="remmina__pref_8h.html#a98b783e4c5c1dae695fe554f52f94a23">remmina_pref.h</a>
+, <a class="el" href="remmina__pref_8c.html#a98b783e4c5c1dae695fe554f52f94a23">remmina_pref.c</a>
</li>
<li>remmina_pref_get_ssh_parseconfig_wrapper()
: <a class="el" href="python__wrapper__remmina_8c.html#abd69575c9a3a3b1f6a551e78d1d73ecb">python_wrapper_remmina.c</a>
@@ -2354,8 +2355,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__pref_8h.html#ad7040b17df053835bfb21eb24ae10414">remmina_pref.h</a>
</li>
<li>remmina_pref_get_ssh_tcp_usrtimeout()
-: <a class="el" href="remmina__pref_8h.html#a1a695b64e75d6f49de220dc777e57714">remmina_pref.h</a>
-, <a class="el" href="remmina__pref_8c.html#a1a695b64e75d6f49de220dc777e57714">remmina_pref.c</a>
+: <a class="el" href="remmina__pref_8c.html#a1a695b64e75d6f49de220dc777e57714">remmina_pref.c</a>
+, <a class="el" href="remmina__pref_8h.html#a1a695b64e75d6f49de220dc777e57714">remmina_pref.h</a>
</li>
<li>remmina_pref_get_sshtunnel_port()
: <a class="el" href="remmina__pref_8c.html#a6982152fd0492586819ce1760a853e99">remmina_pref.c</a>
@@ -2372,8 +2373,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="python__wrapper__remmina_8c.html#a274f120396b0399dacab0565aa286ed6">python_wrapper_remmina.c</a>
</li>
<li>remmina_pref_init()
-: <a class="el" href="remmina__pref_8h.html#a400f7319fd3996a13399ef72bcf0a2fd">remmina_pref.h</a>
-, <a class="el" href="remmina__pref_8c.html#a400f7319fd3996a13399ef72bcf0a2fd">remmina_pref.c</a>
+: <a class="el" href="remmina__pref_8c.html#a400f7319fd3996a13399ef72bcf0a2fd">remmina_pref.c</a>
+, <a class="el" href="remmina__pref_8h.html#a400f7319fd3996a13399ef72bcf0a2fd">remmina_pref.h</a>
</li>
<li>remmina_pref_init_keymap()
: <a class="el" href="remmina__pref_8c.html#aed7f3859d4306419932df15131987355">remmina_pref.c</a>
@@ -2390,8 +2391,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="python__wrapper__remmina_8c.html#a094b4cbf549e774fc03e988c8fb904e7">python_wrapper_remmina.c</a>
</li>
<li>remmina_pref_keymap_get_table()
-: <a class="el" href="remmina__pref_8h.html#aa263ec4481bcac099b7a294fe42179b9">remmina_pref.h</a>
-, <a class="el" href="remmina__pref_8c.html#aa263ec4481bcac099b7a294fe42179b9">remmina_pref.c</a>
+: <a class="el" href="remmina__pref_8c.html#aa263ec4481bcac099b7a294fe42179b9">remmina_pref.c</a>
+, <a class="el" href="remmina__pref_8h.html#aa263ec4481bcac099b7a294fe42179b9">remmina_pref.h</a>
</li>
<li>remmina_pref_keymap_groups()
: <a class="el" href="remmina__pref_8c.html#a745bbef1d48a7462f8db997821742395">remmina_pref.c</a>
@@ -2410,8 +2411,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__pref__dialog_8c.html#ab9776574663e2c3fcb793ec70887336d">remmina_pref_dialog.c</a>
</li>
<li>remmina_pref_save()
-: <a class="el" href="remmina__pref_8h.html#ae17aaf37449083a4322b6748c8f3a39f">remmina_pref.h</a>
-, <a class="el" href="remmina__pref_8c.html#ae17aaf37449083a4322b6748c8f3a39f">remmina_pref.c</a>
+: <a class="el" href="remmina__pref_8c.html#ae17aaf37449083a4322b6748c8f3a39f">remmina_pref.c</a>
+, <a class="el" href="remmina__pref_8h.html#ae17aaf37449083a4322b6748c8f3a39f">remmina_pref.h</a>
</li>
<li>remmina_pref_set_value()
: <a class="el" href="remmina__pref_8c.html#a4fbb2aff07d1fef416352d8b80d79e02">remmina_pref.c</a>
@@ -2473,8 +2474,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#a605b69a9aa4393024369cc5070488692">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_call_feature_by_type()
-: <a class="el" href="remmina__protocol__widget_8c.html#a6a630e96e5b914d60d678ae8eaad4cd9">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a6a630e96e5b914d60d678ae8eaad4cd9">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a6a630e96e5b914d60d678ae8eaad4cd9">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a6a630e96e5b914d60d678ae8eaad4cd9">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_chat_close()
: <a class="el" href="remmina__protocol__widget_8c.html#a4a3a9ba7422fc302b0b412ac771c9953">remmina_protocol_widget.c</a>
@@ -2484,8 +2485,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__protocol__widget_8c.html#a04f0a11e50cdbd98ab80984fd5aca16d">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_chat_open()
-: <a class="el" href="remmina__protocol__widget_8h.html#a66263e6e7da79357ceb80d32b191d9f2">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a66263e6e7da79357ceb80d32b191d9f2">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a66263e6e7da79357ceb80d32b191d9f2">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a66263e6e7da79357ceb80d32b191d9f2">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_chat_receive()
: <a class="el" href="remmina__protocol__widget_8c.html#ae2522242b3f39ee84ee8cf75170de0c0">remmina_protocol_widget.c</a>
@@ -2519,16 +2520,16 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#ac3e5a7f14aef4adb2e57d35e9c180b3b">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_cacert()
-: <a class="el" href="remmina__protocol__widget_8c.html#a9473da27fd10eb46ef8360f9ad4be86d">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a9473da27fd10eb46ef8360f9ad4be86d">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a9473da27fd10eb46ef8360f9ad4be86d">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a9473da27fd10eb46ef8360f9ad4be86d">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_get_cacrl()
: <a class="el" href="remmina__protocol__widget_8c.html#a70aecb9af2ea35527e8d058d1d87a0d3">remmina_protocol_widget.c</a>
, <a class="el" href="remmina__protocol__widget_8h.html#a70aecb9af2ea35527e8d058d1d87a0d3">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_clientcert()
-: <a class="el" href="remmina__protocol__widget_8c.html#ab9632c73b32531b7bea976e10204670b">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#ab9632c73b32531b7bea976e10204670b">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#ab9632c73b32531b7bea976e10204670b">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#ab9632c73b32531b7bea976e10204670b">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_get_clientkey()
: <a class="el" href="remmina__protocol__widget_8c.html#a08d312825fc0de9f9286279d99f763a1">remmina_protocol_widget.c</a>
@@ -2543,24 +2544,24 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#a7c15fa81642c52ef382e1dbe34ffb6ac">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_error_message()
-: <a class="el" href="remmina__protocol__widget_8c.html#a508044024b303c286a0e643e44d85a29">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a508044024b303c286a0e643e44d85a29">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a508044024b303c286a0e643e44d85a29">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a508044024b303c286a0e643e44d85a29">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_get_expand()
: <a class="el" href="remmina__protocol__widget_8c.html#a25bcb2ae99449624fed6f770218e3d25">remmina_protocol_widget.c</a>
, <a class="el" href="remmina__protocol__widget_8h.html#a25bcb2ae99449624fed6f770218e3d25">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_features()
-: <a class="el" href="remmina__protocol__widget_8c.html#af9b6a2c2665010ab09a6d9943f9850bd">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#af9b6a2c2665010ab09a6d9943f9850bd">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#af9b6a2c2665010ab09a6d9943f9850bd">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#af9b6a2c2665010ab09a6d9943f9850bd">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_get_file()
: <a class="el" href="remmina__protocol__widget_8c.html#a2506e80d482c34532d0e534856452069">remmina_protocol_widget.c</a>
, <a class="el" href="remmina__protocol__widget_8h.html#a2506e80d482c34532d0e534856452069">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_gtkwindow()
-: <a class="el" href="remmina__protocol__widget_8c.html#a8127b4cc7c278216dff87a7e4a336dfb">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a8127b4cc7c278216dff87a7e4a336dfb">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a8127b4cc7c278216dff87a7e4a336dfb">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a8127b4cc7c278216dff87a7e4a336dfb">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_get_height()
: <a class="el" href="remmina__protocol__widget_8c.html#ae609b351fff17c235251b0ba7c480da5">remmina_protocol_widget.c</a>
@@ -2575,8 +2576,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#ab224a0f643d291f86ede54e373bd0a6f">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_password()
-: <a class="el" href="remmina__protocol__widget_8c.html#a3fc52d61f77327534286f57e563e0923">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a3fc52d61f77327534286f57e563e0923">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a3fc52d61f77327534286f57e563e0923">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a3fc52d61f77327534286f57e563e0923">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_get_profile_remote_height()
: <a class="el" href="remmina__protocol__widget_8c.html#ad8df6a87e19b7751b26820ef4a668de9">remmina_protocol_widget.c</a>
@@ -2586,15 +2587,15 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="python__wrapper__remmina_8c.html#ad1f61fdcb71c0511a084ee18b5f0e6a8">python_wrapper_remmina.c</a>
</li>
<li>remmina_protocol_widget_get_profile_remote_width()
-: <a class="el" href="remmina__protocol__widget_8h.html#ab4c6435ef92e34a94270069ce1861907">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#ab4c6435ef92e34a94270069ce1861907">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#ab4c6435ef92e34a94270069ce1861907">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#ab4c6435ef92e34a94270069ce1861907">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_profile_remote_width_wrapper()
: <a class="el" href="python__wrapper__remmina_8c.html#a5183cb11a04689752672de10bf5d0c69">python_wrapper_remmina.c</a>
</li>
<li>remmina_protocol_widget_get_savepassword()
-: <a class="el" href="remmina__protocol__widget_8c.html#a9ed3110b7b030bccd0ff9ed70e86da2d">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a9ed3110b7b030bccd0ff9ed70e86da2d">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a9ed3110b7b030bccd0ff9ed70e86da2d">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a9ed3110b7b030bccd0ff9ed70e86da2d">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_get_type()
: <a class="el" href="remmina__protocol__widget_8h.html#aca61c93aaf5f3cbc2046c8267bb84a2e">remmina_protocol_widget.h</a>
@@ -2612,8 +2613,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#a290eb68f0e86de1b7b82e2d98a1494d1">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_gtkviewport()
-: <a class="el" href="remmina__protocol__widget_8h.html#a2067c19b160eb43bddda6c6c6e8d6045">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a2067c19b160eb43bddda6c6c6e8d6045">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a2067c19b160eb43bddda6c6c6e8d6045">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a2067c19b160eb43bddda6c6c6e8d6045">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_has_error()
: <a class="el" href="remmina__protocol__widget_8c.html#aab2f304822ccfd4979854ef1afd81771">remmina_protocol_widget.c</a>
@@ -2646,8 +2647,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#a78b123eca6709bceeacda7d791a94bf1">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_new()
-: <a class="el" href="remmina__protocol__widget_8c.html#a5c2137462d3168e90c812f1ce75a6e62">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a5c2137462d3168e90c812f1ce75a6e62">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a5c2137462d3168e90c812f1ce75a6e62">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a5c2137462d3168e90c812f1ce75a6e62">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_on_key_press()
: <a class="el" href="remmina__protocol__widget_8c.html#a1caaa7bea6ef53e5c7e8109f3d0814e1">remmina_protocol_widget.c</a>
@@ -2656,8 +2657,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__protocol__widget_8c.html#ac1f95eb1e31c05ae0bc4027496ceafb0">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_open_connection()
-: <a class="el" href="remmina__protocol__widget_8c.html#a6399c3828908e36ed6202b5599bd206b">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a6399c3828908e36ed6202b5599bd206b">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a6399c3828908e36ed6202b5599bd206b">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a6399c3828908e36ed6202b5599bd206b">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_open_connection_real()
: <a class="el" href="remmina__protocol__widget_8c.html#a76ad91e7f8648699f71c466e203aa6dd">remmina_protocol_widget.c</a>
@@ -2667,8 +2668,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#aebc7c7d34c470081a52aa35d998ce868">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_panel_authuserpwd_ssh_tunnel()
-: <a class="el" href="remmina__protocol__widget_8h.html#ad637ec849c497e4a0d4c723396aa6fba">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#ad637ec849c497e4a0d4c723396aa6fba">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#ad637ec849c497e4a0d4c723396aa6fba">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#ad637ec849c497e4a0d4c723396aa6fba">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_panel_authx509()
: <a class="el" href="remmina__protocol__widget_8c.html#aa674c14f3a46dd5eb6b53d6f8ce6bd31">remmina_protocol_widget.c</a>
@@ -2682,24 +2683,24 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__protocol__widget_8h.html#a78069d2e4c2773685126fc3127b26dae">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_panel_hide()
-: <a class="el" href="remmina__protocol__widget_8c.html#a8ef0523afadadc9984d53fb02ecc01ad">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a8ef0523afadadc9984d53fb02ecc01ad">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a8ef0523afadadc9984d53fb02ecc01ad">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a8ef0523afadadc9984d53fb02ecc01ad">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_panel_new_certificate()
: <a class="el" href="remmina__protocol__widget_8c.html#a262d75d6b535bd8c623e607805db4084">remmina_protocol_widget.c</a>
, <a class="el" href="remmina__protocol__widget_8h.html#a262d75d6b535bd8c623e607805db4084">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_panel_question_yesno()
-: <a class="el" href="remmina__protocol__widget_8c.html#a9092c29f585fdabaf0ce7e865670053b">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a9092c29f585fdabaf0ce7e865670053b">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a9092c29f585fdabaf0ce7e865670053b">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a9092c29f585fdabaf0ce7e865670053b">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_panel_show()
: <a class="el" href="remmina__protocol__widget_8c.html#a843c2455a10c9382aee454515f9e7f8b">remmina_protocol_widget.c</a>
, <a class="el" href="remmina__protocol__widget_8h.html#a843c2455a10c9382aee454515f9e7f8b">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_panel_show_listen()
-: <a class="el" href="remmina__protocol__widget_8c.html#a278e13b53a4fdb65498e00e908edb98d">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a278e13b53a4fdb65498e00e908edb98d">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a278e13b53a4fdb65498e00e908edb98d">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a278e13b53a4fdb65498e00e908edb98d">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_panel_show_retry()
: <a class="el" href="remmina__protocol__widget_8c.html#a7ed85f4ea19e0660dbf46f4f3dc4b895">remmina_protocol_widget.c</a>
@@ -2714,16 +2715,16 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#a57ac13fc4a2653c40e0601183628c0ca">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_query_feature_by_ref()
-: <a class="el" href="remmina__protocol__widget_8c.html#a4017a800d7803a40d606ffce2578509a">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a4017a800d7803a40d606ffce2578509a">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a4017a800d7803a40d606ffce2578509a">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a4017a800d7803a40d606ffce2578509a">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_query_feature_by_type()
: <a class="el" href="remmina__protocol__widget_8c.html#adbe15328275677cb38bd8c8a2d5e039d">remmina_protocol_widget.c</a>
, <a class="el" href="remmina__protocol__widget_8h.html#adbe15328275677cb38bd8c8a2d5e039d">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_register_hostkey()
-: <a class="el" href="remmina__protocol__widget_8c.html#a13e14fa81f7ca52942415a7caf5b932c">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a13e14fa81f7ca52942415a7caf5b932c">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a13e14fa81f7ca52942415a7caf5b932c">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a13e14fa81f7ca52942415a7caf5b932c">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_save_cred()
: <a class="el" href="remmina__protocol__widget_8c.html#ab863cc1442a992adfa323bc77ab88504">remmina_protocol_widget.c</a>
@@ -2733,8 +2734,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__protocol__widget_8c.html#a2f5270c5e5007a8e95f4d460c11b2a06">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_send_clipboard()
-: <a class="el" href="remmina__protocol__widget_8h.html#acf40f566116cf43af26891cd37af4eb1">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#acf40f566116cf43af26891cd37af4eb1">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#acf40f566116cf43af26891cd37af4eb1">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#acf40f566116cf43af26891cd37af4eb1">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_send_keys_signals()
: <a class="el" href="remmina__protocol__widget_8c.html#a9bcd0d356c7215dc0f791c9744360705">remmina_protocol_widget.c</a>
@@ -2749,24 +2750,24 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#ad6e2d00646e8268aa0e8bbe31b77db48">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_set_display()
-: <a class="el" href="remmina__protocol__widget_8h.html#a15368afcbeb770f8cf25941bd49e7b54">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a15368afcbeb770f8cf25941bd49e7b54">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a15368afcbeb770f8cf25941bd49e7b54">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a15368afcbeb770f8cf25941bd49e7b54">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_set_error()
-: <a class="el" href="remmina__protocol__widget_8c.html#a95088334da86faf9520383629fff48af">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a95088334da86faf9520383629fff48af">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a95088334da86faf9520383629fff48af">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a95088334da86faf9520383629fff48af">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_set_expand()
-: <a class="el" href="remmina__protocol__widget_8h.html#a0b19dbe685e4465e7f06706270e120fa">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a0b19dbe685e4465e7f06706270e120fa">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a0b19dbe685e4465e7f06706270e120fa">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a0b19dbe685e4465e7f06706270e120fa">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_set_height()
: <a class="el" href="remmina__protocol__widget_8c.html#aadd106cec729a80405c6097e4c662044">remmina_protocol_widget.c</a>
, <a class="el" href="remmina__protocol__widget_8h.html#aadd106cec729a80405c6097e4c662044">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_set_hostkey_func()
-: <a class="el" href="remmina__protocol__widget_8h.html#a5aaadd752a3275a0a8e0018a3dd669f8">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a5aaadd752a3275a0a8e0018a3dd669f8">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a5aaadd752a3275a0a8e0018a3dd669f8">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a5aaadd752a3275a0a8e0018a3dd669f8">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_set_width()
: <a class="el" href="remmina__protocol__widget_8c.html#a41b62f211a8a8e960bc80aa1ba6b0380">remmina_protocol_widget.c</a>
@@ -2781,24 +2782,24 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#a1cae52cad394f317c712eb4fd709d261">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_signal_connection_opened()
-: <a class="el" href="remmina__protocol__widget_8h.html#a05b5edfc3d3d0dcff1745d1d35aaca5c">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a05b5edfc3d3d0dcff1745d1d35aaca5c">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a05b5edfc3d3d0dcff1745d1d35aaca5c">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a05b5edfc3d3d0dcff1745d1d35aaca5c">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_ssh_exec()
: <a class="el" href="remmina__protocol__widget_8c.html#a12eddf3428a53201ee0a2ec422d2fa4a">remmina_protocol_widget.c</a>
, <a class="el" href="remmina__protocol__widget_8h.html#a12eddf3428a53201ee0a2ec422d2fa4a">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_start_direct_tunnel()
-: <a class="el" href="remmina__protocol__widget_8h.html#a9d55210413d6a313478f81cf76ecf1b7">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a9d55210413d6a313478f81cf76ecf1b7">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a9d55210413d6a313478f81cf76ecf1b7">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a9d55210413d6a313478f81cf76ecf1b7">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_start_reverse_tunnel()
: <a class="el" href="remmina__protocol__widget_8c.html#aa6d9f2f558fcd9e7fe58eefcde1c3c5c">remmina_protocol_widget.c</a>
, <a class="el" href="remmina__protocol__widget_8h.html#aa6d9f2f558fcd9e7fe58eefcde1c3c5c">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_start_xport_tunnel()
-: <a class="el" href="remmina__protocol__widget_8h.html#a172fa9cf2ce196c9846a3e47ea9036b4">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a172fa9cf2ce196c9846a3e47ea9036b4">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a172fa9cf2ce196c9846a3e47ea9036b4">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a172fa9cf2ce196c9846a3e47ea9036b4">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_tunnel_destroy()
: <a class="el" href="remmina__protocol__widget_8c.html#aecd801fbe5399bbeb5832657bce193cb">remmina_protocol_widget.c</a>
@@ -2883,24 +2884,24 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="python__wrapper__remmina_8c.html#a7055f797416a2fd833c882c24e6e88a6">python_wrapper_remmina.c</a>
</li>
<li>remmina_public_get_xauth_cookie()
-: <a class="el" href="remmina__public_8h.html#a12ba081432e5f32cf8287231d4779ecf">remmina_public.h</a>
-, <a class="el" href="remmina__public_8c.html#a12ba081432e5f32cf8287231d4779ecf">remmina_public.c</a>
+: <a class="el" href="remmina__public_8c.html#a12ba081432e5f32cf8287231d4779ecf">remmina_public.c</a>
+, <a class="el" href="remmina__public_8h.html#a12ba081432e5f32cf8287231d4779ecf">remmina_public.h</a>
</li>
<li>remmina_public_gtk_builder_new_from_file()
-: <a class="el" href="remmina__public_8h.html#a3031598a6e4f67d1519d8e5afba7da41">remmina_public.h</a>
-, <a class="el" href="remmina__public_8c.html#a3031598a6e4f67d1519d8e5afba7da41">remmina_public.c</a>
+: <a class="el" href="remmina__public_8c.html#a3031598a6e4f67d1519d8e5afba7da41">remmina_public.c</a>
+, <a class="el" href="remmina__public_8h.html#a3031598a6e4f67d1519d8e5afba7da41">remmina_public.h</a>
</li>
<li>remmina_public_gtk_builder_new_from_resource()
-: <a class="el" href="remmina__public_8h.html#a4573e086e1ff8507eb9447b25bf11b92">remmina_public.h</a>
-, <a class="el" href="remmina__public_8c.html#a4573e086e1ff8507eb9447b25bf11b92">remmina_public.c</a>
+: <a class="el" href="remmina__public_8c.html#a4573e086e1ff8507eb9447b25bf11b92">remmina_public.c</a>
+, <a class="el" href="remmina__public_8h.html#a4573e086e1ff8507eb9447b25bf11b92">remmina_public.h</a>
</li>
<li>remmina_public_gtk_widget_reparent()
: <a class="el" href="remmina__public_8h.html#ac0f480277a5929212d389b4bcdd56912">remmina_public.h</a>
, <a class="el" href="remmina__public_8c.html#ac0f480277a5929212d389b4bcdd56912">remmina_public.c</a>
</li>
<li>remmina_public_load_combo_text_d()
-: <a class="el" href="remmina__public_8h.html#aa5eacff7c9dab7457dd65525d01047f8">remmina_public.h</a>
-, <a class="el" href="remmina__public_8c.html#aa5eacff7c9dab7457dd65525d01047f8">remmina_public.c</a>
+: <a class="el" href="remmina__public_8c.html#aa5eacff7c9dab7457dd65525d01047f8">remmina_public.c</a>
+, <a class="el" href="remmina__public_8h.html#aa5eacff7c9dab7457dd65525d01047f8">remmina_public.h</a>
</li>
<li>remmina_public_open_unix_sock()
: <a class="el" href="remmina__public_8c.html#a4b8a7b85d58148cf856ea71b1d9f22c1">remmina_public.c</a>
@@ -2915,24 +2916,24 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__public_8h.html#a92025b5f6512955f9c29608b5451a12c">remmina_public.h</a>
</li>
<li>remmina_public_resolution_validation_func()
-: <a class="el" href="remmina__public_8h.html#a098786d3aa6991aeba43a61e29d534d0">remmina_public.h</a>
-, <a class="el" href="remmina__public_8c.html#a098786d3aa6991aeba43a61e29d534d0">remmina_public.c</a>
+: <a class="el" href="remmina__public_8c.html#a098786d3aa6991aeba43a61e29d534d0">remmina_public.c</a>
+, <a class="el" href="remmina__public_8h.html#a098786d3aa6991aeba43a61e29d534d0">remmina_public.h</a>
</li>
<li>remmina_public_send_notification()
-: <a class="el" href="remmina__public_8h.html#a893f0cfe2d694ab700975f4f427ee2f6">remmina_public.h</a>
-, <a class="el" href="remmina__public_8c.html#a893f0cfe2d694ab700975f4f427ee2f6">remmina_public.c</a>
+: <a class="el" href="remmina__public_8c.html#a893f0cfe2d694ab700975f4f427ee2f6">remmina_public.c</a>
+, <a class="el" href="remmina__public_8h.html#a893f0cfe2d694ab700975f4f427ee2f6">remmina_public.h</a>
</li>
<li>remmina_public_split_resolution_string()
-: <a class="el" href="remmina__public_8h.html#aaf3fdb980c24cd06965b85ebcdd79173">remmina_public.h</a>
-, <a class="el" href="remmina__public_8c.html#aaf3fdb980c24cd06965b85ebcdd79173">remmina_public.c</a>
+: <a class="el" href="remmina__public_8c.html#aaf3fdb980c24cd06965b85ebcdd79173">remmina_public.c</a>
+, <a class="el" href="remmina__public_8h.html#aaf3fdb980c24cd06965b85ebcdd79173">remmina_public.h</a>
</li>
<li>remmina_public_str_replace()
: <a class="el" href="remmina__public_8h.html#aea7547abe3a67e6126addc9ed91af640">remmina_public.h</a>
, <a class="el" href="remmina__public_8c.html#aea7547abe3a67e6126addc9ed91af640">remmina_public.c</a>
</li>
<li>remmina_public_str_replace_in_place()
-: <a class="el" href="remmina__public_8h.html#a8d7d9b3c8050545469b1af9a35b043a2">remmina_public.h</a>
-, <a class="el" href="remmina__public_8c.html#a8d7d9b3c8050545469b1af9a35b043a2">remmina_public.c</a>
+: <a class="el" href="remmina__public_8c.html#a8d7d9b3c8050545469b1af9a35b043a2">remmina_public.c</a>
+, <a class="el" href="remmina__public_8h.html#a8d7d9b3c8050545469b1af9a35b043a2">remmina_public.h</a>
</li>
<li>remmina_rdp_authenticate()
: <a class="el" href="rdp__plugin_8c.html#af33e88ae9c13745eb6d36f36418e3676">rdp_plugin.c</a>
@@ -2948,26 +2949,26 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="rdp__cliprdr_8h.html#a829aba669bedbb7cdcf9dcb4df8ca26b">rdp_cliprdr.h</a>
</li>
<li>remmina_rdp_clipboard_free()
-: <a class="el" href="rdp__cliprdr_8c.html#a4da95b96bf2c86b8f4cc63dcafdd1365">rdp_cliprdr.c</a>
-, <a class="el" href="rdp__cliprdr_8h.html#a4da95b96bf2c86b8f4cc63dcafdd1365">rdp_cliprdr.h</a>
+: <a class="el" href="rdp__cliprdr_8h.html#a4da95b96bf2c86b8f4cc63dcafdd1365">rdp_cliprdr.h</a>
+, <a class="el" href="rdp__cliprdr_8c.html#a4da95b96bf2c86b8f4cc63dcafdd1365">rdp_cliprdr.c</a>
</li>
<li>remmina_rdp_clipboard_init()
-: <a class="el" href="rdp__cliprdr_8c.html#ac3300142e3c2f416896948681ecd45f3">rdp_cliprdr.c</a>
-, <a class="el" href="rdp__cliprdr_8h.html#ac3300142e3c2f416896948681ecd45f3">rdp_cliprdr.h</a>
+: <a class="el" href="rdp__cliprdr_8h.html#ac3300142e3c2f416896948681ecd45f3">rdp_cliprdr.h</a>
+, <a class="el" href="rdp__cliprdr_8c.html#ac3300142e3c2f416896948681ecd45f3">rdp_cliprdr.c</a>
</li>
<li>remmina_rdp_cliprdr_cached_clipboard_free()
: <a class="el" href="rdp__cliprdr_8c.html#a48c10fa190a5f20e17d35b669c865209">rdp_cliprdr.c</a>
</li>
<li>remmina_rdp_cliprdr_detach_owner()
-: <a class="el" href="rdp__cliprdr_8h.html#a7d911246d8a6efed5a64b7ecd7b059bf">rdp_cliprdr.h</a>
-, <a class="el" href="rdp__cliprdr_8c.html#a7d911246d8a6efed5a64b7ecd7b059bf">rdp_cliprdr.c</a>
+: <a class="el" href="rdp__cliprdr_8c.html#a7d911246d8a6efed5a64b7ecd7b059bf">rdp_cliprdr.c</a>
+, <a class="el" href="rdp__cliprdr_8h.html#a7d911246d8a6efed5a64b7ecd7b059bf">rdp_cliprdr.h</a>
</li>
<li>remmina_rdp_cliprdr_empty_clipboard()
: <a class="el" href="rdp__cliprdr_8c.html#a719b6820f66508f8acb943a1bf1a495d">rdp_cliprdr.c</a>
</li>
<li>remmina_rdp_cliprdr_get_client_format_list()
-: <a class="el" href="rdp__cliprdr_8c.html#accb7cad54767b8f658b8ea438690ef4f">rdp_cliprdr.c</a>
-, <a class="el" href="rdp__cliprdr_8h.html#accb7cad54767b8f658b8ea438690ef4f">rdp_cliprdr.h</a>
+: <a class="el" href="rdp__cliprdr_8h.html#accb7cad54767b8f658b8ea438690ef4f">rdp_cliprdr.h</a>
+, <a class="el" href="rdp__cliprdr_8c.html#accb7cad54767b8f658b8ea438690ef4f">rdp_cliprdr.c</a>
</li>
<li>remmina_rdp_cliprdr_get_clipboard_data()
: <a class="el" href="rdp__cliprdr_8c.html#a1875ac25f73dd93e4b716746e7c6b8d5">rdp_cliprdr.c</a>
@@ -2979,8 +2980,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="rdp__cliprdr_8c.html#a5378f6a230a35d2a84e94ee029a10af4">rdp_cliprdr.c</a>
</li>
<li>remmina_rdp_cliprdr_init()
-: <a class="el" href="rdp__cliprdr_8h.html#a2c900a8369c1081e3084f5b17efbe47d">rdp_cliprdr.h</a>
-, <a class="el" href="rdp__cliprdr_8c.html#a2c900a8369c1081e3084f5b17efbe47d">rdp_cliprdr.c</a>
+: <a class="el" href="rdp__cliprdr_8c.html#a2c900a8369c1081e3084f5b17efbe47d">rdp_cliprdr.c</a>
+, <a class="el" href="rdp__cliprdr_8h.html#a2c900a8369c1081e3084f5b17efbe47d">rdp_cliprdr.h</a>
</li>
<li>remmina_rdp_cliprdr_monitor_ready()
: <a class="el" href="rdp__cliprdr_8c.html#aa3ee3696d9fdb72f994184eee168b2ca">rdp_cliprdr.c</a>
@@ -3046,8 +3047,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="rdp__event_8c.html#a35376ff50915de1c14285e6326bc943e">rdp_event.c</a>
</li>
<li>remmina_rdp_event_event_push()
-: <a class="el" href="rdp__event_8c.html#ad446d6471bddba97f8bfcee8c51e4580">rdp_event.c</a>
-, <a class="el" href="rdp__plugin_8h.html#ad446d6471bddba97f8bfcee8c51e4580">rdp_plugin.h</a>
+: <a class="el" href="rdp__plugin_8h.html#ad446d6471bddba97f8bfcee8c51e4580">rdp_plugin.h</a>
+, <a class="el" href="rdp__event_8c.html#ad446d6471bddba97f8bfcee8c51e4580">rdp_event.c</a>
</li>
<li>remmina_rdp_event_free_cursor()
: <a class="el" href="rdp__event_8c.html#a740d33b9c229ada638eeeebe2ffca461">rdp_event.c</a>
@@ -3056,8 +3057,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="rdp__event_8c.html#a40b4fd190055c10d5d2248a6eca5f50f">rdp_event.c</a>
</li>
<li>remmina_rdp_event_init()
-: <a class="el" href="rdp__event_8c.html#af3a991a02d35fb09c85f2e752a5393ca">rdp_event.c</a>
-, <a class="el" href="rdp__event_8h.html#afba21c241e7abe9fe72f6e5aeeaa99cc">rdp_event.h</a>
+: <a class="el" href="rdp__event_8h.html#afba21c241e7abe9fe72f6e5aeeaa99cc">rdp_event.h</a>
+, <a class="el" href="rdp__event_8c.html#af3a991a02d35fb09c85f2e752a5393ca">rdp_event.c</a>
</li>
<li>remmina_rdp_event_init_keymap()
: <a class="el" href="rdp__event_8c.html#a4eeb2bd828f9fae2c549f3ef8a1e20c0">rdp_event.c</a>
@@ -3081,8 +3082,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="rdp__event_8c.html#ad8f0d0f1b1b75646523f3b241f124e56">rdp_event.c</a>
</li>
<li>remmina_rdp_event_on_map()
-: <a class="el" href="rdp__event_8h.html#a09271b787fc086f05a8a6e7c3282d6aa">rdp_event.h</a>
-, <a class="el" href="rdp__event_8c.html#a09271b787fc086f05a8a6e7c3282d6aa">rdp_event.c</a>
+: <a class="el" href="rdp__event_8c.html#a09271b787fc086f05a8a6e7c3282d6aa">rdp_event.c</a>
+, <a class="el" href="rdp__event_8h.html#a09271b787fc086f05a8a6e7c3282d6aa">rdp_event.h</a>
</li>
<li>remmina_rdp_event_on_motion()
: <a class="el" href="rdp__event_8c.html#ac27328f2796bd021d174c0f4b172c024">rdp_event.c</a>
@@ -3091,8 +3092,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="rdp__event_8c.html#a9d63c3ac635001e62851ec4bc5fb7469">rdp_event.c</a>
</li>
<li>remmina_rdp_event_on_unmap()
-: <a class="el" href="rdp__event_8h.html#a393d4ec6673f6a9c2b71849c109facef">rdp_event.h</a>
-, <a class="el" href="rdp__event_8c.html#a393d4ec6673f6a9c2b71849c109facef">rdp_event.c</a>
+: <a class="el" href="rdp__event_8c.html#a393d4ec6673f6a9c2b71849c109facef">rdp_event.c</a>
+, <a class="el" href="rdp__event_8h.html#a393d4ec6673f6a9c2b71849c109facef">rdp_event.h</a>
</li>
<li>remmina_rdp_event_process_clipboard()
: <a class="el" href="rdp__cliprdr_8h.html#ad4fad618198e7746ea1e4ebd01a9b173">rdp_cliprdr.h</a>
@@ -3111,16 +3112,16 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="rdp__event_8c.html#a2b91746b782b7782432bd1d23c6a9945">rdp_event.c</a>
</li>
<li>remmina_rdp_event_queue_ui_async()
-: <a class="el" href="rdp__event_8h.html#ae445fd0a84c7c9414a177a69c86cf325">rdp_event.h</a>
-, <a class="el" href="rdp__event_8c.html#ae445fd0a84c7c9414a177a69c86cf325">rdp_event.c</a>
+: <a class="el" href="rdp__event_8c.html#ae445fd0a84c7c9414a177a69c86cf325">rdp_event.c</a>
+, <a class="el" href="rdp__event_8h.html#ae445fd0a84c7c9414a177a69c86cf325">rdp_event.h</a>
</li>
<li>remmina_rdp_event_queue_ui_sync_retint()
: <a class="el" href="rdp__event_8h.html#ab5fe43c1b1b77c39f118d2581942eb81">rdp_event.h</a>
, <a class="el" href="rdp__event_8c.html#ab5fe43c1b1b77c39f118d2581942eb81">rdp_event.c</a>
</li>
<li>remmina_rdp_event_queue_ui_sync_retptr()
-: <a class="el" href="rdp__event_8h.html#adaaf3de8342309cc52668f318a473350">rdp_event.h</a>
-, <a class="el" href="rdp__event_8c.html#adaaf3de8342309cc52668f318a473350">rdp_event.c</a>
+: <a class="el" href="rdp__event_8c.html#adaaf3de8342309cc52668f318a473350">rdp_event.c</a>
+, <a class="el" href="rdp__event_8h.html#adaaf3de8342309cc52668f318a473350">rdp_event.h</a>
</li>
<li>remmina_rdp_event_reconnect_progress()
: <a class="el" href="rdp__event_8c.html#ab7cbdc2f8cf829e2f09ecfa605a92d65">rdp_event.c</a>
@@ -3138,8 +3139,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="rdp__event_8c.html#a080ab4a0a8f592bb5484202175beaaa5">rdp_event.c</a>
</li>
<li>remmina_rdp_event_send_delayed_monitor_layout()
-: <a class="el" href="rdp__event_8c.html#ac7c8d626470553c1659312697811dbfe">rdp_event.c</a>
-, <a class="el" href="rdp__event_8h.html#ac7c8d626470553c1659312697811dbfe">rdp_event.h</a>
+: <a class="el" href="rdp__event_8h.html#ac7c8d626470553c1659312697811dbfe">rdp_event.h</a>
+, <a class="el" href="rdp__event_8c.html#ac7c8d626470553c1659312697811dbfe">rdp_event.c</a>
</li>
<li>remmina_rdp_event_set_pointer_position()
: <a class="el" href="rdp__event_8c.html#a34c7d3a1bb411e84d3b4e30fcccc9cd8">rdp_event.c</a>
@@ -3148,23 +3149,23 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="rdp__event_8c.html#afe3b6a9e7d9319bca7021ddd29d39332">rdp_event.c</a>
</li>
<li>remmina_rdp_event_unfocus()
-: <a class="el" href="rdp__event_8c.html#a4da10c12b28edc28403766994d6ef29c">rdp_event.c</a>
-, <a class="el" href="rdp__event_8h.html#a4da10c12b28edc28403766994d6ef29c">rdp_event.h</a>
+: <a class="el" href="rdp__event_8h.html#a4da10c12b28edc28403766994d6ef29c">rdp_event.h</a>
+, <a class="el" href="rdp__event_8c.html#a4da10c12b28edc28403766994d6ef29c">rdp_event.c</a>
</li>
<li>remmina_rdp_event_uninit()
-: <a class="el" href="rdp__event_8c.html#a65eef99dc99f77be815a5da804ed94fc">rdp_event.c</a>
-, <a class="el" href="rdp__event_8h.html#a65eef99dc99f77be815a5da804ed94fc">rdp_event.h</a>
+: <a class="el" href="rdp__event_8h.html#a65eef99dc99f77be815a5da804ed94fc">rdp_event.h</a>
+, <a class="el" href="rdp__event_8c.html#a65eef99dc99f77be815a5da804ed94fc">rdp_event.c</a>
</li>
<li>remmina_rdp_event_update_rect()
-: <a class="el" href="rdp__event_8c.html#a712a9b04decd8b928d71db44b9b14fc9">rdp_event.c</a>
-, <a class="el" href="rdp__event_8h.html#a712a9b04decd8b928d71db44b9b14fc9">rdp_event.h</a>
+: <a class="el" href="rdp__event_8h.html#a712a9b04decd8b928d71db44b9b14fc9">rdp_event.h</a>
+, <a class="el" href="rdp__event_8c.html#a712a9b04decd8b928d71db44b9b14fc9">rdp_event.c</a>
</li>
<li>remmina_rdp_event_update_regions()
: <a class="el" href="rdp__event_8c.html#a2ff2e46de1ad42c9aa8f792d629e0a89">rdp_event.c</a>
</li>
<li>remmina_rdp_event_update_scale()
-: <a class="el" href="rdp__event_8h.html#a64ce0c66bb4cb6ddaee263ce8563f497">rdp_event.h</a>
-, <a class="el" href="rdp__event_8c.html#a64ce0c66bb4cb6ddaee263ce8563f497">rdp_event.c</a>
+: <a class="el" href="rdp__event_8c.html#a64ce0c66bb4cb6ddaee263ce8563f497">rdp_event.c</a>
+, <a class="el" href="rdp__event_8h.html#a64ce0c66bb4cb6ddaee263ce8563f497">rdp_event.h</a>
</li>
<li>remmina_rdp_event_update_scale_factor()
: <a class="el" href="rdp__event_8c.html#a6076424eb759c91ca9c8da59432c66d6">rdp_event.c</a>
@@ -3177,12 +3178,12 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="rdp__file_8c.html#af8f66ae61f0a025b3f69cd8e08d2c229">rdp_file.c</a>
</li>
<li>remmina_rdp_file_export_test()
-: <a class="el" href="rdp__file_8h.html#aa3a9bcd9fdbbf8906d74acf57bd5ab90">rdp_file.h</a>
-, <a class="el" href="rdp__file_8c.html#aa3a9bcd9fdbbf8906d74acf57bd5ab90">rdp_file.c</a>
+: <a class="el" href="rdp__file_8c.html#aa3a9bcd9fdbbf8906d74acf57bd5ab90">rdp_file.c</a>
+, <a class="el" href="rdp__file_8h.html#aa3a9bcd9fdbbf8906d74acf57bd5ab90">rdp_file.h</a>
</li>
<li>remmina_rdp_file_import()
-: <a class="el" href="rdp__file_8h.html#a992b5a31dfa961cb3244cb3e2084c4cf">rdp_file.h</a>
-, <a class="el" href="rdp__file_8c.html#a992b5a31dfa961cb3244cb3e2084c4cf">rdp_file.c</a>
+: <a class="el" href="rdp__file_8c.html#a992b5a31dfa961cb3244cb3e2084c4cf">rdp_file.c</a>
+, <a class="el" href="rdp__file_8h.html#a992b5a31dfa961cb3244cb3e2084c4cf">rdp_file.h</a>
</li>
<li>remmina_rdp_file_import_channel()
: <a class="el" href="rdp__file_8c.html#a03125699e25c5b81dbe148815a10d642">rdp_file.c</a>
@@ -3226,8 +3227,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="rdp__monitor_8h.html#a7536570aee98af77f038d82fe9f57ca6">rdp_monitor.h</a>
</li>
<li>remmina_rdp_OnChannelConnectedEventHandler()
-: <a class="el" href="rdp__channels_8c.html#ac969423bc7cde10268f1d2870a5e6130">rdp_channels.c</a>
-, <a class="el" href="rdp__channels_8h.html#a81be0bdb718bc47b5296698a7b47ce20">rdp_channels.h</a>
+: <a class="el" href="rdp__channels_8h.html#a81be0bdb718bc47b5296698a7b47ce20">rdp_channels.h</a>
+, <a class="el" href="rdp__channels_8c.html#ac969423bc7cde10268f1d2870a5e6130">rdp_channels.c</a>
</li>
<li>remmina_rdp_OnChannelDisconnectedEventHandler()
: <a class="el" href="rdp__channels_8c.html#a2d82ea9a38463d03c07271a356ccaec2">rdp_channels.c</a>
@@ -3261,8 +3262,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="rdp__settings_8c.html#ab69390b3995c4b4fed872d5bb363d9d5">rdp_settings.c</a>
</li>
<li>remmina_rdp_settings_get_keyboard_layout()
-: <a class="el" href="rdp__settings_8h.html#a4052ab6359b14e8f9a4cf76bed4da90c">rdp_settings.h</a>
-, <a class="el" href="rdp__settings_8c.html#a4052ab6359b14e8f9a4cf76bed4da90c">rdp_settings.c</a>
+: <a class="el" href="rdp__settings_8c.html#a4052ab6359b14e8f9a4cf76bed4da90c">rdp_settings.c</a>
+, <a class="el" href="rdp__settings_8h.html#a4052ab6359b14e8f9a4cf76bed4da90c">rdp_settings.h</a>
</li>
<li>remmina_rdp_settings_get_orientation_scale_prefs()
: <a class="el" href="rdp__settings_8c.html#a5f05047cf10611ffb7a23a248650cb4c">rdp_settings.c</a>
@@ -3340,8 +3341,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__scheduler_8c.html#abdee2f0b202662d50de1f6e5835f81f1">remmina_scheduler.c</a>
</li>
<li>remmina_scheduler_setup()
-: <a class="el" href="remmina__scheduler_8c.html#a8ee49eb86004b98070d1514c2612251a">remmina_scheduler.c</a>
-, <a class="el" href="remmina__scheduler_8h.html#a5d69b073538851d85534b3090cf75da6">remmina_scheduler.h</a>
+: <a class="el" href="remmina__scheduler_8h.html#a5d69b073538851d85534b3090cf75da6">remmina_scheduler.h</a>
+, <a class="el" href="remmina__scheduler_8c.html#a8ee49eb86004b98070d1514c2612251a">remmina_scheduler.c</a>
</li>
<li>remmina_scrolled_viewport_class_init()
: <a class="el" href="remmina__scrolled__viewport_8c.html#a9efdaaa5d040cbad9f03bd2100caf011">remmina_scrolled_viewport.c</a>
@@ -3391,8 +3392,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__ssh__plugin_8c.html#abb22b826bb7cf89a1af52b6b060edd4c">remmina_ssh_plugin.c</a>
</li>
<li>remmina_sftp_client_confirm_resume()
-: <a class="el" href="remmina__sftp__client_8h.html#a138904893cb9c7f6535b8dfc7ba17e33">remmina_sftp_client.h</a>
-, <a class="el" href="remmina__sftp__client_8c.html#a138904893cb9c7f6535b8dfc7ba17e33">remmina_sftp_client.c</a>
+: <a class="el" href="remmina__sftp__client_8c.html#a138904893cb9c7f6535b8dfc7ba17e33">remmina_sftp_client.c</a>
+, <a class="el" href="remmina__sftp__client_8h.html#a138904893cb9c7f6535b8dfc7ba17e33">remmina_sftp_client.h</a>
</li>
<li>remmina_sftp_client_destroy()
: <a class="el" href="remmina__sftp__client_8c.html#a396c50263fbc60962481655bdb7b24f2">remmina_sftp_client.c</a>
@@ -3420,8 +3421,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__sftp__client_8c.html#a476effba1e0cf529dab3f75a501341ea">remmina_sftp_client.c</a>
</li>
<li>remmina_sftp_client_open()
-: <a class="el" href="remmina__sftp__client_8c.html#a9fb6d25e4676b2fa574f958a5ba271a1">remmina_sftp_client.c</a>
-, <a class="el" href="remmina__sftp__client_8h.html#a9fb6d25e4676b2fa574f958a5ba271a1">remmina_sftp_client.h</a>
+: <a class="el" href="remmina__sftp__client_8h.html#a9fb6d25e4676b2fa574f958a5ba271a1">remmina_sftp_client.h</a>
+, <a class="el" href="remmina__sftp__client_8c.html#a9fb6d25e4676b2fa574f958a5ba271a1">remmina_sftp_client.c</a>
</li>
<li>remmina_sftp_client_refresh()
: <a class="el" href="remmina__sftp__client_8c.html#ae87948f1c87c6eb6b16664665cac9a2c">remmina_sftp_client.c</a>
@@ -3483,24 +3484,24 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__utils_8c.html#aff7d3597f23cae366973218cc01a2ae8">remmina_utils.c</a>
</li>
<li>remmina_sodium_init()
-: <a class="el" href="remmina__sodium_8c.html#a17d17beeb57808af1c4299e3b4b94e9a">remmina_sodium.c</a>
-, <a class="el" href="remmina__sodium_8h.html#a17d17beeb57808af1c4299e3b4b94e9a">remmina_sodium.h</a>
+: <a class="el" href="remmina__sodium_8h.html#a17d17beeb57808af1c4299e3b4b94e9a">remmina_sodium.h</a>
+, <a class="el" href="remmina__sodium_8c.html#a17d17beeb57808af1c4299e3b4b94e9a">remmina_sodium.c</a>
</li>
<li>remmina_sodium_pwhash()
-: <a class="el" href="remmina__sodium_8c.html#ae661257deabb27ca05747be21aac253c">remmina_sodium.c</a>
-, <a class="el" href="remmina__sodium_8h.html#ae661257deabb27ca05747be21aac253c">remmina_sodium.h</a>
+: <a class="el" href="remmina__sodium_8h.html#ae661257deabb27ca05747be21aac253c">remmina_sodium.h</a>
+, <a class="el" href="remmina__sodium_8c.html#ae661257deabb27ca05747be21aac253c">remmina_sodium.c</a>
</li>
<li>remmina_sodium_pwhash_str()
-: <a class="el" href="remmina__sodium_8h.html#a42b49fa9a654cb061a02f52577171e1e">remmina_sodium.h</a>
-, <a class="el" href="remmina__sodium_8c.html#a42b49fa9a654cb061a02f52577171e1e">remmina_sodium.c</a>
+: <a class="el" href="remmina__sodium_8c.html#a42b49fa9a654cb061a02f52577171e1e">remmina_sodium.c</a>
+, <a class="el" href="remmina__sodium_8h.html#a42b49fa9a654cb061a02f52577171e1e">remmina_sodium.h</a>
</li>
<li>remmina_sodium_pwhash_str_verify()
-: <a class="el" href="remmina__sodium_8c.html#a6df48c8b8aafee07bfe41fb89581aa5f">remmina_sodium.c</a>
-, <a class="el" href="remmina__sodium_8h.html#a6df48c8b8aafee07bfe41fb89581aa5f">remmina_sodium.h</a>
+: <a class="el" href="remmina__sodium_8h.html#a6df48c8b8aafee07bfe41fb89581aa5f">remmina_sodium.h</a>
+, <a class="el" href="remmina__sodium_8c.html#a6df48c8b8aafee07bfe41fb89581aa5f">remmina_sodium.c</a>
</li>
<li>remmina_ssh_auth()
-: <a class="el" href="remmina__ssh_8h.html#aad84c6609cb431d48121ae5e0902441b">remmina_ssh.h</a>
-, <a class="el" href="remmina__ssh_8c.html#aad84c6609cb431d48121ae5e0902441b">remmina_ssh.c</a>
+: <a class="el" href="remmina__ssh_8c.html#aad84c6609cb431d48121ae5e0902441b">remmina_ssh.c</a>
+, <a class="el" href="remmina__ssh_8h.html#aad84c6609cb431d48121ae5e0902441b">remmina_ssh.h</a>
</li>
<li>remmina_ssh_auth_agent()
: <a class="el" href="remmina__ssh_8c.html#a6e57a1b5ba4a3886c4cb79ece8894796">remmina_ssh.c</a>
@@ -3578,19 +3579,19 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__ssh__plugin_8h.html#a3e8e08f2a9b05530e85962f9b8c556e9">remmina_ssh_plugin.h</a>
</li>
<li>remmina_ssh_plugin_register()
-: <a class="el" href="remmina__ssh__plugin_8h.html#af9f9487a10fb1a9c4b494ce3657359b9">remmina_ssh_plugin.h</a>
-, <a class="el" href="remmina__ssh__plugin_8c.html#a6f594d157e09639e09b1f32a420da96c">remmina_ssh_plugin.c</a>
+: <a class="el" href="remmina__ssh__plugin_8c.html#a6f594d157e09639e09b1f32a420da96c">remmina_ssh_plugin.c</a>
+, <a class="el" href="remmina__ssh__plugin_8h.html#af9f9487a10fb1a9c4b494ce3657359b9">remmina_ssh_plugin.h</a>
</li>
<li>remmina_ssh_search_item()
: <a class="el" href="remmina__ssh_8c.html#af39f90e2343e62348226aed0d7496dda">remmina_ssh.c</a>
</li>
<li>remmina_ssh_set_application_error()
-: <a class="el" href="remmina__ssh_8c.html#a1f3297263703b4259c1c9607d710995d">remmina_ssh.c</a>
-, <a class="el" href="remmina__ssh_8h.html#a1f3297263703b4259c1c9607d710995d">remmina_ssh.h</a>
+: <a class="el" href="remmina__ssh_8h.html#a1f3297263703b4259c1c9607d710995d">remmina_ssh.h</a>
+, <a class="el" href="remmina__ssh_8c.html#a1f3297263703b4259c1c9607d710995d">remmina_ssh.c</a>
</li>
<li>remmina_ssh_set_error()
-: <a class="el" href="remmina__ssh_8h.html#abc556f0a4335083436f6e19c204fa553">remmina_ssh.h</a>
-, <a class="el" href="remmina__ssh_8c.html#abc556f0a4335083436f6e19c204fa553">remmina_ssh.c</a>
+: <a class="el" href="remmina__ssh_8c.html#abc556f0a4335083436f6e19c204fa553">remmina_ssh.c</a>
+, <a class="el" href="remmina__ssh_8h.html#abc556f0a4335083436f6e19c204fa553">remmina_ssh.h</a>
</li>
<li>remmina_ssh_set_nodelay()
: <a class="el" href="remmina__ssh_8c.html#a1daf0b140ecf3ef9665d1c5d4c0ec479">remmina_ssh.c</a>
@@ -3647,8 +3648,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__ssh_8c.html#ab8f07d5ab2ee8aa8423a11808b6cb100">remmina_ssh.c</a>
</li>
<li>remmina_stats_get_all()
-: <a class="el" href="remmina__stats_8h.html#a7a1c9ab1abc1fdf78239d11b802843ae">remmina_stats.h</a>
-, <a class="el" href="remmina__stats_8c.html#a7398b36347e3621772776c466b565641">remmina_stats.c</a>
+: <a class="el" href="remmina__stats_8c.html#a7398b36347e3621772776c466b565641">remmina_stats.c</a>
+, <a class="el" href="remmina__stats_8h.html#a7a1c9ab1abc1fdf78239d11b802843ae">remmina_stats.h</a>
</li>
<li>remmina_stats_get_gtk_backend()
: <a class="el" href="remmina__stats_8c.html#a73fbf1064af209f1f7272d737168971c">remmina_stats.c</a>
@@ -3699,12 +3700,12 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__string__array_8h.html#a8ab78913d299df665a408a8a5ec51bbe">remmina_string_array.h</a>
</li>
<li>remmina_string_array_intersect()
-: <a class="el" href="remmina__string__array_8c.html#abf64b35316d6e97f5c5001913b307308">remmina_string_array.c</a>
-, <a class="el" href="remmina__string__array_8h.html#abf64b35316d6e97f5c5001913b307308">remmina_string_array.h</a>
+: <a class="el" href="remmina__string__array_8h.html#abf64b35316d6e97f5c5001913b307308">remmina_string_array.h</a>
+, <a class="el" href="remmina__string__array_8c.html#abf64b35316d6e97f5c5001913b307308">remmina_string_array.c</a>
</li>
<li>remmina_string_array_new()
-: <a class="el" href="remmina__string__array_8c.html#aff90e964c6541b1af02adf7ea39e6e02">remmina_string_array.c</a>
-, <a class="el" href="remmina__string__array_8h.html#aff90e964c6541b1af02adf7ea39e6e02">remmina_string_array.h</a>
+: <a class="el" href="remmina__string__array_8h.html#aff90e964c6541b1af02adf7ea39e6e02">remmina_string_array.h</a>
+, <a class="el" href="remmina__string__array_8c.html#aff90e964c6541b1af02adf7ea39e6e02">remmina_string_array.c</a>
</li>
<li>remmina_string_array_new_from_allocated_string()
: <a class="el" href="remmina__string__array_8h.html#a462a635b3a55cc0e3af087ff996fba9a">remmina_string_array.h</a>
@@ -3715,24 +3716,24 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__string__array_8h.html#a7f1c8e427a25c2d5cede3952b1d0ad90">remmina_string_array.h</a>
</li>
<li>remmina_string_array_remove()
-: <a class="el" href="remmina__string__array_8c.html#a2a8a9753ebf61c9418a77ba3dd654ff3">remmina_string_array.c</a>
-, <a class="el" href="remmina__string__array_8h.html#a2a8a9753ebf61c9418a77ba3dd654ff3">remmina_string_array.h</a>
+: <a class="el" href="remmina__string__array_8h.html#a2a8a9753ebf61c9418a77ba3dd654ff3">remmina_string_array.h</a>
+, <a class="el" href="remmina__string__array_8c.html#a2a8a9753ebf61c9418a77ba3dd654ff3">remmina_string_array.c</a>
</li>
<li>remmina_string_array_remove_index()
-: <a class="el" href="remmina__string__array_8c.html#a40811c036e46f6544ab6c4cff445454b">remmina_string_array.c</a>
-, <a class="el" href="remmina__string__array_8h.html#a40811c036e46f6544ab6c4cff445454b">remmina_string_array.h</a>
+: <a class="el" href="remmina__string__array_8h.html#a40811c036e46f6544ab6c4cff445454b">remmina_string_array.h</a>
+, <a class="el" href="remmina__string__array_8c.html#a40811c036e46f6544ab6c4cff445454b">remmina_string_array.c</a>
</li>
<li>remmina_string_array_sort()
: <a class="el" href="remmina__string__array_8h.html#a3eab4bae72ff130ad10ec8fc7364ce70">remmina_string_array.h</a>
, <a class="el" href="remmina__string__array_8c.html#a3eab4bae72ff130ad10ec8fc7364ce70">remmina_string_array.c</a>
</li>
<li>remmina_string_array_to_string()
-: <a class="el" href="remmina__string__array_8h.html#a96f7bec7ce32de6cf5deadcd5aec51ec">remmina_string_array.h</a>
-, <a class="el" href="remmina__string__array_8c.html#a96f7bec7ce32de6cf5deadcd5aec51ec">remmina_string_array.c</a>
+: <a class="el" href="remmina__string__array_8c.html#a96f7bec7ce32de6cf5deadcd5aec51ec">remmina_string_array.c</a>
+, <a class="el" href="remmina__string__array_8h.html#a96f7bec7ce32de6cf5deadcd5aec51ec">remmina_string_array.h</a>
</li>
<li>remmina_string_list_get_text()
-: <a class="el" href="remmina__string__list_8h.html#a74058eac0af28c05a55d041103457aec">remmina_string_list.h</a>
-, <a class="el" href="remmina__string__list_8c.html#a74058eac0af28c05a55d041103457aec">remmina_string_list.c</a>
+: <a class="el" href="remmina__string__list_8c.html#a74058eac0af28c05a55d041103457aec">remmina_string_list.c</a>
+, <a class="el" href="remmina__string__list_8h.html#a74058eac0af28c05a55d041103457aec">remmina_string_list.h</a>
</li>
<li>remmina_string_list_init()
: <a class="el" href="remmina__string__list_8c.html#a3c7633dffb5b6bab089c71c44506d8ab">remmina_string_list.c</a>
@@ -3760,8 +3761,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__string__list_8c.html#afa74f7320b1d5b8487eaadcd97d0d085">remmina_string_list.c</a>
</li>
<li>remmina_string_list_set_text()
-: <a class="el" href="remmina__string__list_8h.html#ab1bacc097f59c20b477d954bb863a5e0">remmina_string_list.h</a>
-, <a class="el" href="remmina__string__list_8c.html#ab1bacc097f59c20b477d954bb863a5e0">remmina_string_list.c</a>
+: <a class="el" href="remmina__string__list_8c.html#ab1bacc097f59c20b477d954bb863a5e0">remmina_string_list.c</a>
+, <a class="el" href="remmina__string__list_8h.html#ab1bacc097f59c20b477d954bb863a5e0">remmina_string_list.h</a>
</li>
<li>remmina_string_list_set_titles()
: <a class="el" href="remmina__string__list_8c.html#aa9ca6ccf40b954051a0daa5c1efeef87">remmina_string_list.c</a>
@@ -3775,16 +3776,16 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__string__list_8c.html#a777917055c80821e9bde6ac8fd06e2ff">remmina_string_list.c</a>
</li>
<li>remmina_sysinfo_get_gnome_shell_version()
-: <a class="el" href="remmina__sysinfo_8h.html#a9f1ea6410d45aaf5603439a5919aa1cb">remmina_sysinfo.h</a>
-, <a class="el" href="remmina__sysinfo_8c.html#a79fd36823613c320001f0cdd2a97490f">remmina_sysinfo.c</a>
+: <a class="el" href="remmina__sysinfo_8c.html#a79fd36823613c320001f0cdd2a97490f">remmina_sysinfo.c</a>
+, <a class="el" href="remmina__sysinfo_8h.html#a9f1ea6410d45aaf5603439a5919aa1cb">remmina_sysinfo.h</a>
</li>
<li>remmina_sysinfo_get_wm_name()
: <a class="el" href="remmina__sysinfo_8c.html#ae4441d62bb4075d1618b5750fea064b4">remmina_sysinfo.c</a>
, <a class="el" href="remmina__sysinfo_8h.html#a5e08ab3a66f27ada8e700ae42a181b6a">remmina_sysinfo.h</a>
</li>
<li>remmina_sysinfo_is_appindicator_available()
-: <a class="el" href="remmina__sysinfo_8c.html#ae6ecf91edb905f3b2b39e33e05325590">remmina_sysinfo.c</a>
-, <a class="el" href="remmina__sysinfo_8h.html#a9e89ac64e13b47a651554d6a77af6b23">remmina_sysinfo.h</a>
+: <a class="el" href="remmina__sysinfo_8h.html#a9e89ac64e13b47a651554d6a77af6b23">remmina_sysinfo.h</a>
+, <a class="el" href="remmina__sysinfo_8c.html#ae6ecf91edb905f3b2b39e33e05325590">remmina_sysinfo.c</a>
</li>
<li>remmina_tp_channel_handler_accept()
: <a class="el" href="telepathy__channel__handler_8c.html#a4ede5d9d191e9d1b906054429a36e1bb">telepathy_channel_handler.c</a>
@@ -3862,8 +3863,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__unlock_8c.html#a10e43559c46ea3ba409c0b97a43c93b3">remmina_unlock.c</a>
</li>
<li>remmina_utils_get_etc_release()
-: <a class="el" href="remmina__utils_8h.html#a54cee350c4ecc6e77af835c4ba90df4c">remmina_utils.h</a>
-, <a class="el" href="remmina__utils_8c.html#a54cee350c4ecc6e77af835c4ba90df4c">remmina_utils.c</a>
+: <a class="el" href="remmina__utils_8c.html#a54cee350c4ecc6e77af835c4ba90df4c">remmina_utils.c</a>
+, <a class="el" href="remmina__utils_8h.html#a54cee350c4ecc6e77af835c4ba90df4c">remmina_utils.h</a>
</li>
<li>remmina_utils_get_kernel_arch()
: <a class="el" href="remmina__utils_8h.html#a116e7cd4565386fe531d3a6d1a3d3730">remmina_utils.h</a>
@@ -3878,24 +3879,24 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__utils_8h.html#a57603aa88df56e77e1a6de0f215f21aa">remmina_utils.h</a>
</li>
<li>remmina_utils_get_lang()
-: <a class="el" href="remmina__utils_8h.html#a0f10e190a6dd212fcb0cf36ce81c8324">remmina_utils.h</a>
-, <a class="el" href="remmina__utils_8c.html#a0f10e190a6dd212fcb0cf36ce81c8324">remmina_utils.c</a>
+: <a class="el" href="remmina__utils_8c.html#a0f10e190a6dd212fcb0cf36ce81c8324">remmina_utils.c</a>
+, <a class="el" href="remmina__utils_8h.html#a0f10e190a6dd212fcb0cf36ce81c8324">remmina_utils.h</a>
</li>
<li>remmina_utils_get_lsb_codename()
-: <a class="el" href="remmina__utils_8c.html#a2b4dbb0da7c8ba4bd86877097b85d10c">remmina_utils.c</a>
-, <a class="el" href="remmina__utils_8h.html#a2b4dbb0da7c8ba4bd86877097b85d10c">remmina_utils.h</a>
+: <a class="el" href="remmina__utils_8h.html#a2b4dbb0da7c8ba4bd86877097b85d10c">remmina_utils.h</a>
+, <a class="el" href="remmina__utils_8c.html#a2b4dbb0da7c8ba4bd86877097b85d10c">remmina_utils.c</a>
</li>
<li>remmina_utils_get_lsb_description()
-: <a class="el" href="remmina__utils_8h.html#ac00cb21c5cb5efcf7afc6eeae2147a75">remmina_utils.h</a>
-, <a class="el" href="remmina__utils_8c.html#ac00cb21c5cb5efcf7afc6eeae2147a75">remmina_utils.c</a>
+: <a class="el" href="remmina__utils_8c.html#ac00cb21c5cb5efcf7afc6eeae2147a75">remmina_utils.c</a>
+, <a class="el" href="remmina__utils_8h.html#ac00cb21c5cb5efcf7afc6eeae2147a75">remmina_utils.h</a>
</li>
<li>remmina_utils_get_lsb_id()
-: <a class="el" href="remmina__utils_8c.html#aa768b6fe171695d212da4c6eaf74cf22">remmina_utils.c</a>
-, <a class="el" href="remmina__utils_8h.html#aa768b6fe171695d212da4c6eaf74cf22">remmina_utils.h</a>
+: <a class="el" href="remmina__utils_8h.html#aa768b6fe171695d212da4c6eaf74cf22">remmina_utils.h</a>
+, <a class="el" href="remmina__utils_8c.html#aa768b6fe171695d212da4c6eaf74cf22">remmina_utils.c</a>
</li>
<li>remmina_utils_get_lsb_release()
-: <a class="el" href="remmina__utils_8c.html#a5ee50df5d7585d229a154a712c9161ca">remmina_utils.c</a>
-, <a class="el" href="remmina__utils_8h.html#a5ee50df5d7585d229a154a712c9161ca">remmina_utils.h</a>
+: <a class="el" href="remmina__utils_8h.html#a5ee50df5d7585d229a154a712c9161ca">remmina_utils.h</a>
+, <a class="el" href="remmina__utils_8c.html#a5ee50df5d7585d229a154a712c9161ca">remmina_utils.c</a>
</li>
<li>remmina_utils_get_os_info()
: <a class="el" href="remmina__utils_8c.html#af1acfeca84e3efd47ab1ef8365f94f99">remmina_utils.c</a>
@@ -3909,16 +3910,16 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
, <a class="el" href="remmina__utils_8c.html#a75eb5f79df692dfe4db221d03a5fa355">remmina_utils.c</a>
</li>
<li>remmina_utils_string_replace()
-: <a class="el" href="remmina__utils_8h.html#aa6859a61aa28f46591750c9afdef66f4">remmina_utils.h</a>
-, <a class="el" href="remmina__utils_8c.html#aa6859a61aa28f46591750c9afdef66f4">remmina_utils.c</a>
+: <a class="el" href="remmina__utils_8c.html#aa6859a61aa28f46591750c9afdef66f4">remmina_utils.c</a>
+, <a class="el" href="remmina__utils_8h.html#aa6859a61aa28f46591750c9afdef66f4">remmina_utils.h</a>
</li>
<li>remmina_utils_string_replace_all()
: <a class="el" href="remmina__utils_8c.html#ac804e6111e538ee2fa425b8b6fd1fb66">remmina_utils.c</a>
, <a class="el" href="remmina__utils_8h.html#ac804e6111e538ee2fa425b8b6fd1fb66">remmina_utils.h</a>
</li>
<li>remmina_utils_string_strip()
-: <a class="el" href="remmina__utils_8h.html#afe83bd0997a1054045e17d3f66c8bb0d">remmina_utils.h</a>
-, <a class="el" href="remmina__utils_8c.html#afe83bd0997a1054045e17d3f66c8bb0d">remmina_utils.c</a>
+: <a class="el" href="remmina__utils_8c.html#afe83bd0997a1054045e17d3f66c8bb0d">remmina_utils.c</a>
+, <a class="el" href="remmina__utils_8h.html#afe83bd0997a1054045e17d3f66c8bb0d">remmina_utils.h</a>
</li>
<li>remmina_utils_strpos()
: <a class="el" href="remmina__utils_8c.html#ae4318060ee81f8fbd907904892dd71d3">remmina_utils.c</a>
@@ -3947,8 +3948,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="remmina__widget__pool_8c.html#aa5fd17580202843eab40cabb258d2664">remmina_widget_pool.c</a>
</li>
<li>remmina_widget_pool_register()
-: <a class="el" href="remmina__widget__pool_8h.html#ae3c9c9853eb5bedbfeadbfac1d495b95">remmina_widget_pool.h</a>
-, <a class="el" href="remmina__widget__pool_8c.html#ae3c9c9853eb5bedbfeadbfac1d495b95">remmina_widget_pool.c</a>
+: <a class="el" href="remmina__widget__pool_8c.html#ae3c9c9853eb5bedbfeadbfac1d495b95">remmina_widget_pool.c</a>
+, <a class="el" href="remmina__widget__pool_8h.html#ae3c9c9853eb5bedbfeadbfac1d495b95">remmina_widget_pool.h</a>
</li>
<li>remmina_widget_pool_register_wrapper()
: <a class="el" href="python__wrapper__remmina_8c.html#a923e3fd23d17372bec0ff951a46b7660">python_wrapper_remmina.c</a>
@@ -4044,8 +4045,8 @@ $(document).ready(function(){initNavTree('globals_func_r.html','');});
: <a class="el" href="rdp__plugin_8c.html#a8b9e88d2925be5eee2025f4c3ede1e29">rdp_plugin.c</a>
</li>
<li>rf_register_graphics()
-: <a class="el" href="rdp__graphics_8h.html#a95732c40c35499f3440715b6526279b1">rdp_graphics.h</a>
-, <a class="el" href="rdp__graphics_8c.html#a95732c40c35499f3440715b6526279b1">rdp_graphics.c</a>
+: <a class="el" href="rdp__graphics_8c.html#a95732c40c35499f3440715b6526279b1">rdp_graphics.c</a>
+, <a class="el" href="rdp__graphics_8h.html#a95732c40c35499f3440715b6526279b1">rdp_graphics.h</a>
</li>
<li>rf_uninit()
: <a class="el" href="rdp__plugin_8h.html#ab113687b2d454d2ef5865de40a9cabbb">rdp_plugin.h</a>
diff --git a/public/globals_r.html b/public/globals_r.html
index d1e759761..904d17ff8 100644
--- a/public/globals_r.html
+++ b/public/globals_r.html
@@ -1122,9 +1122,6 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__file_8c.html#a3be28ff7f5a9b44dc47f92b883a85ac5">remmina_file.c</a>
, <a class="el" href="remmina__file_8h.html#a3be28ff7f5a9b44dc47f92b883a85ac5">remmina_file.h</a>
</li>
-<li>remmina_file_toggle_password_view()
-: <a class="el" href="remmina__file__editor_8c.html#a65b38bc13546d3d890624a79b080ffe9">remmina_file_editor.c</a>
-</li>
<li>remmina_file_touch()
: <a class="el" href="remmina__file_8c.html#a3d19095f74e9b7c92d74f11bd5a39a8c">remmina_file.c</a>
, <a class="el" href="remmina__file_8h.html#a3d19095f74e9b7c92d74f11bd5a39a8c">remmina_file.h</a>
@@ -1429,8 +1426,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__icon_8h.html#a741c81815e562f40672c4485172306d6">remmina_icon.h</a>
</li>
<li>remmina_icon_is_autostart()
-: <a class="el" href="remmina__icon_8c.html#ae477ccd85ab1d878d243aed7fa5e48ae">remmina_icon.c</a>
-, <a class="el" href="remmina__icon_8h.html#ae477ccd85ab1d878d243aed7fa5e48ae">remmina_icon.h</a>
+: <a class="el" href="remmina__icon_8h.html#ae477ccd85ab1d878d243aed7fa5e48ae">remmina_icon.h</a>
+, <a class="el" href="remmina__icon_8c.html#ae477ccd85ab1d878d243aed7fa5e48ae">remmina_icon.c</a>
</li>
<li>remmina_icon_is_available()
: <a class="el" href="remmina__icon_8c.html#a42f087b679b43b8a1d36cd9e9781a8b6">remmina_icon.c</a>
@@ -1783,6 +1780,10 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__main_8c.html#ad99b9c0bf2fa8c166a8b4a09e06ffdf7">remmina_main.c</a>
, <a class="el" href="remmina__main_8h.html#ad99b9c0bf2fa8c166a8b4a09e06ffdf7">remmina_main.h</a>
</li>
+<li>remmina_main_toggle_password_view()
+: <a class="el" href="remmina__main_8c.html#aac3fe305e456dfa7bb55aa2f057e8cb0">remmina_main.c</a>
+, <a class="el" href="remmina__main_8h.html#aac3fe305e456dfa7bb55aa2f057e8cb0">remmina_main.h</a>
+</li>
<li>remmina_main_tree_row_activated()
: <a class="el" href="remmina__main_8c.html#a4477897686d091d6f57e7f9401674a8c">remmina_main.c</a>
</li>
@@ -2757,8 +2758,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__pref_8c.html#a7829d615a6c5b8a6f6c759043fb2ac81">remmina_pref.c</a>
</li>
<li>remmina_pref_file_load_colors()
-: <a class="el" href="remmina__pref_8c.html#ad6424eb32c9549eb3e26f167dc58c218">remmina_pref.c</a>
-, <a class="el" href="remmina__pref_8h.html#ad6424eb32c9549eb3e26f167dc58c218">remmina_pref.h</a>
+: <a class="el" href="remmina__pref_8h.html#ad6424eb32c9549eb3e26f167dc58c218">remmina_pref.h</a>
+, <a class="el" href="remmina__pref_8c.html#ad6424eb32c9549eb3e26f167dc58c218">remmina_pref.c</a>
</li>
<li>remmina_pref_gen_secret()
: <a class="el" href="remmina__pref_8c.html#afc609e167e078f1991320f79e9f9157c">remmina_pref.c</a>
@@ -2771,8 +2772,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__pref_8c.html#a0296a8f5b359547a0aa4cbffb914edd3">remmina_pref.c</a>
</li>
<li>remmina_pref_get_recent()
-: <a class="el" href="remmina__pref_8h.html#a0208d5dc8197423da67e5967aafb7a05">remmina_pref.h</a>
-, <a class="el" href="remmina__pref_8c.html#a0208d5dc8197423da67e5967aafb7a05">remmina_pref.c</a>
+: <a class="el" href="remmina__pref_8c.html#a0208d5dc8197423da67e5967aafb7a05">remmina_pref.c</a>
+, <a class="el" href="remmina__pref_8h.html#a0208d5dc8197423da67e5967aafb7a05">remmina_pref.h</a>
</li>
<li>remmina_pref_get_scale_quality()
: <a class="el" href="remmina__pref_8c.html#a37cd589f00c94cb28eabb1bce4646d0b">remmina_pref.c</a>
@@ -2796,24 +2797,24 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="python__wrapper__remmina_8c.html#abd69575c9a3a3b1f6a551e78d1d73ecb">python_wrapper_remmina.c</a>
</li>
<li>remmina_pref_get_ssh_tcp_keepcnt()
-: <a class="el" href="remmina__pref_8c.html#a781431450dfcf639c8dd96701be3795b">remmina_pref.c</a>
-, <a class="el" href="remmina__pref_8h.html#a781431450dfcf639c8dd96701be3795b">remmina_pref.h</a>
+: <a class="el" href="remmina__pref_8h.html#a781431450dfcf639c8dd96701be3795b">remmina_pref.h</a>
+, <a class="el" href="remmina__pref_8c.html#a781431450dfcf639c8dd96701be3795b">remmina_pref.c</a>
</li>
<li>remmina_pref_get_ssh_tcp_keepidle()
: <a class="el" href="remmina__pref_8c.html#a5ed143a13f2a3393e44fd5b2c4fee4be">remmina_pref.c</a>
, <a class="el" href="remmina__pref_8h.html#a5ed143a13f2a3393e44fd5b2c4fee4be">remmina_pref.h</a>
</li>
<li>remmina_pref_get_ssh_tcp_keepintvl()
-: <a class="el" href="remmina__pref_8c.html#ad7040b17df053835bfb21eb24ae10414">remmina_pref.c</a>
-, <a class="el" href="remmina__pref_8h.html#ad7040b17df053835bfb21eb24ae10414">remmina_pref.h</a>
+: <a class="el" href="remmina__pref_8h.html#ad7040b17df053835bfb21eb24ae10414">remmina_pref.h</a>
+, <a class="el" href="remmina__pref_8c.html#ad7040b17df053835bfb21eb24ae10414">remmina_pref.c</a>
</li>
<li>remmina_pref_get_ssh_tcp_usrtimeout()
: <a class="el" href="remmina__pref_8c.html#a1a695b64e75d6f49de220dc777e57714">remmina_pref.c</a>
, <a class="el" href="remmina__pref_8h.html#a1a695b64e75d6f49de220dc777e57714">remmina_pref.h</a>
</li>
<li>remmina_pref_get_sshtunnel_port()
-: <a class="el" href="remmina__pref_8c.html#a6982152fd0492586819ce1760a853e99">remmina_pref.c</a>
-, <a class="el" href="remmina__pref_8h.html#a6982152fd0492586819ce1760a853e99">remmina_pref.h</a>
+: <a class="el" href="remmina__pref_8h.html#a6982152fd0492586819ce1760a853e99">remmina_pref.h</a>
+, <a class="el" href="remmina__pref_8c.html#a6982152fd0492586819ce1760a853e99">remmina_pref.c</a>
</li>
<li>remmina_pref_get_sshtunnel_port_wrapper()
: <a class="el" href="python__wrapper__remmina_8c.html#aa3f81ddb59721fc45ae6752a357d2490">python_wrapper_remmina.c</a>
@@ -2833,8 +2834,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__pref_8c.html#aed7f3859d4306419932df15131987355">remmina_pref.c</a>
</li>
<li>remmina_pref_is_rw()
-: <a class="el" href="remmina__pref_8h.html#a0dd25f5b3a055b936a5fa327bc71f19c">remmina_pref.h</a>
-, <a class="el" href="remmina__pref_8c.html#a0dd25f5b3a055b936a5fa327bc71f19c">remmina_pref.c</a>
+: <a class="el" href="remmina__pref_8c.html#a0dd25f5b3a055b936a5fa327bc71f19c">remmina_pref.c</a>
+, <a class="el" href="remmina__pref_8h.html#a0dd25f5b3a055b936a5fa327bc71f19c">remmina_pref.h</a>
</li>
<li>remmina_pref_keymap_get_keyval()
: <a class="el" href="remmina__pref_8c.html#aaac087c000b0863a296f2739f6344af8">remmina_pref.c</a>
@@ -2848,8 +2849,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__pref_8h.html#aa263ec4481bcac099b7a294fe42179b9">remmina_pref.h</a>
</li>
<li>remmina_pref_keymap_groups()
-: <a class="el" href="remmina__pref_8c.html#a745bbef1d48a7462f8db997821742395">remmina_pref.c</a>
-, <a class="el" href="remmina__pref_8h.html#a745bbef1d48a7462f8db997821742395">remmina_pref.h</a>
+: <a class="el" href="remmina__pref_8h.html#a745bbef1d48a7462f8db997821742395">remmina_pref.h</a>
+, <a class="el" href="remmina__pref_8c.html#a745bbef1d48a7462f8db997821742395">remmina_pref.c</a>
</li>
<li>remmina_pref_on_button_keystrokes_clicked()
: <a class="el" href="remmina__pref__dialog_8c.html#a0c5f28eea2fe32297da5f7833df7b131">remmina_pref_dialog.c</a>
@@ -2871,8 +2872,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__pref_8h.html#ae17aaf37449083a4322b6748c8f3a39f">remmina_pref.h</a>
</li>
<li>remmina_pref_set_value()
-: <a class="el" href="remmina__pref_8h.html#a4fbb2aff07d1fef416352d8b80d79e02">remmina_pref.h</a>
-, <a class="el" href="remmina__pref_8c.html#a4fbb2aff07d1fef416352d8b80d79e02">remmina_pref.c</a>
+: <a class="el" href="remmina__pref_8c.html#a4fbb2aff07d1fef416352d8b80d79e02">remmina_pref.c</a>
+, <a class="el" href="remmina__pref_8h.html#a4fbb2aff07d1fef416352d8b80d79e02">remmina_pref.h</a>
</li>
<li>remmina_pref_set_value_wrapper()
: <a class="el" href="python__wrapper__remmina_8c.html#aacf9837276323e7dcd1e60fcca68b781">python_wrapper_remmina.c</a>
@@ -3011,8 +3012,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#a605b69a9aa4393024369cc5070488692">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_call_feature_by_type()
-: <a class="el" href="remmina__protocol__widget_8h.html#a6a630e96e5b914d60d678ae8eaad4cd9">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a6a630e96e5b914d60d678ae8eaad4cd9">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a6a630e96e5b914d60d678ae8eaad4cd9">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a6a630e96e5b914d60d678ae8eaad4cd9">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_chat_close()
: <a class="el" href="remmina__protocol__widget_8c.html#a4a3a9ba7422fc302b0b412ac771c9953">remmina_protocol_widget.c</a>
@@ -3026,8 +3027,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#a66263e6e7da79357ceb80d32b191d9f2">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_chat_receive()
-: <a class="el" href="remmina__protocol__widget_8c.html#ae2522242b3f39ee84ee8cf75170de0c0">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#ae2522242b3f39ee84ee8cf75170de0c0">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#ae2522242b3f39ee84ee8cf75170de0c0">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#ae2522242b3f39ee84ee8cf75170de0c0">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_class_init()
: <a class="el" href="remmina__protocol__widget_8c.html#a8c125f58aa4fac0e4c88f293e4d4dd74">remmina_protocol_widget.c</a>
@@ -3057,16 +3058,16 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#ac3e5a7f14aef4adb2e57d35e9c180b3b">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_cacert()
-: <a class="el" href="remmina__protocol__widget_8h.html#a9473da27fd10eb46ef8360f9ad4be86d">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a9473da27fd10eb46ef8360f9ad4be86d">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a9473da27fd10eb46ef8360f9ad4be86d">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a9473da27fd10eb46ef8360f9ad4be86d">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_cacrl()
: <a class="el" href="remmina__protocol__widget_8c.html#a70aecb9af2ea35527e8d058d1d87a0d3">remmina_protocol_widget.c</a>
, <a class="el" href="remmina__protocol__widget_8h.html#a70aecb9af2ea35527e8d058d1d87a0d3">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_clientcert()
-: <a class="el" href="remmina__protocol__widget_8h.html#ab9632c73b32531b7bea976e10204670b">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#ab9632c73b32531b7bea976e10204670b">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#ab9632c73b32531b7bea976e10204670b">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#ab9632c73b32531b7bea976e10204670b">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_clientkey()
: <a class="el" href="remmina__protocol__widget_8c.html#a08d312825fc0de9f9286279d99f763a1">remmina_protocol_widget.c</a>
@@ -3081,24 +3082,24 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#a7c15fa81642c52ef382e1dbe34ffb6ac">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_error_message()
-: <a class="el" href="remmina__protocol__widget_8h.html#a508044024b303c286a0e643e44d85a29">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a508044024b303c286a0e643e44d85a29">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a508044024b303c286a0e643e44d85a29">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a508044024b303c286a0e643e44d85a29">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_expand()
: <a class="el" href="remmina__protocol__widget_8c.html#a25bcb2ae99449624fed6f770218e3d25">remmina_protocol_widget.c</a>
, <a class="el" href="remmina__protocol__widget_8h.html#a25bcb2ae99449624fed6f770218e3d25">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_features()
-: <a class="el" href="remmina__protocol__widget_8h.html#af9b6a2c2665010ab09a6d9943f9850bd">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#af9b6a2c2665010ab09a6d9943f9850bd">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#af9b6a2c2665010ab09a6d9943f9850bd">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#af9b6a2c2665010ab09a6d9943f9850bd">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_file()
: <a class="el" href="remmina__protocol__widget_8c.html#a2506e80d482c34532d0e534856452069">remmina_protocol_widget.c</a>
, <a class="el" href="remmina__protocol__widget_8h.html#a2506e80d482c34532d0e534856452069">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_gtkwindow()
-: <a class="el" href="remmina__protocol__widget_8h.html#a8127b4cc7c278216dff87a7e4a336dfb">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a8127b4cc7c278216dff87a7e4a336dfb">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a8127b4cc7c278216dff87a7e4a336dfb">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a8127b4cc7c278216dff87a7e4a336dfb">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_height()
: <a class="el" href="remmina__protocol__widget_8c.html#ae609b351fff17c235251b0ba7c480da5">remmina_protocol_widget.c</a>
@@ -3113,8 +3114,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#ab224a0f643d291f86ede54e373bd0a6f">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_password()
-: <a class="el" href="remmina__protocol__widget_8h.html#a3fc52d61f77327534286f57e563e0923">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a3fc52d61f77327534286f57e563e0923">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a3fc52d61f77327534286f57e563e0923">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a3fc52d61f77327534286f57e563e0923">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_profile_remote_height()
: <a class="el" href="remmina__protocol__widget_8c.html#ad8df6a87e19b7751b26820ef4a668de9">remmina_protocol_widget.c</a>
@@ -3131,8 +3132,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="python__wrapper__remmina_8c.html#a5183cb11a04689752672de10bf5d0c69">python_wrapper_remmina.c</a>
</li>
<li>remmina_protocol_widget_get_savepassword()
-: <a class="el" href="remmina__protocol__widget_8h.html#a9ed3110b7b030bccd0ff9ed70e86da2d">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a9ed3110b7b030bccd0ff9ed70e86da2d">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a9ed3110b7b030bccd0ff9ed70e86da2d">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a9ed3110b7b030bccd0ff9ed70e86da2d">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_get_type()
: <a class="el" href="remmina__protocol__widget_8h.html#aca61c93aaf5f3cbc2046c8267bb84a2e">remmina_protocol_widget.h</a>
@@ -3146,16 +3147,16 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#aaf355ea7103fc57a4cbc7b815cde2995">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_grab_focus()
-: <a class="el" href="remmina__protocol__widget_8c.html#a290eb68f0e86de1b7b82e2d98a1494d1">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a290eb68f0e86de1b7b82e2d98a1494d1">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a290eb68f0e86de1b7b82e2d98a1494d1">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a290eb68f0e86de1b7b82e2d98a1494d1">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_gtkviewport()
: <a class="el" href="remmina__protocol__widget_8c.html#a2067c19b160eb43bddda6c6c6e8d6045">remmina_protocol_widget.c</a>
, <a class="el" href="remmina__protocol__widget_8h.html#a2067c19b160eb43bddda6c6c6e8d6045">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_has_error()
-: <a class="el" href="remmina__protocol__widget_8c.html#aab2f304822ccfd4979854ef1afd81771">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#aab2f304822ccfd4979854ef1afd81771">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#aab2f304822ccfd4979854ef1afd81771">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#aab2f304822ccfd4979854ef1afd81771">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_init()
: <a class="el" href="remmina__protocol__widget_8c.html#a0fcec40aae330e115d1bae66aeefb3df">remmina_protocol_widget.c</a>
@@ -3164,8 +3165,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__protocol__widget_8c.html#a5567a5c55d9a880d174faabafcd15fa3">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_is_closed()
-: <a class="el" href="remmina__protocol__widget_8c.html#a2830f756dfc3d735b57b0c5753c429e3">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a2830f756dfc3d735b57b0c5753c429e3">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a2830f756dfc3d735b57b0c5753c429e3">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a2830f756dfc3d735b57b0c5753c429e3">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_lock_dynres()
: <a class="el" href="remmina__protocol__widget_8c.html#a36e01bda95825ee6b5f164f52af7c457">remmina_protocol_widget.c</a>
@@ -3180,8 +3181,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#a97cba8208a4348446159bf465b3233f5">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_mpprogress()
-: <a class="el" href="remmina__protocol__widget_8c.html#a78b123eca6709bceeacda7d791a94bf1">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a78b123eca6709bceeacda7d791a94bf1">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a78b123eca6709bceeacda7d791a94bf1">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a78b123eca6709bceeacda7d791a94bf1">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_new()
: <a class="el" href="remmina__protocol__widget_8c.html#a5c2137462d3168e90c812f1ce75a6e62">remmina_protocol_widget.c</a>
@@ -3201,8 +3202,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__protocol__widget_8c.html#a76ad91e7f8648699f71c466e203aa6dd">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_panel_auth()
-: <a class="el" href="remmina__protocol__widget_8h.html#aebc7c7d34c470081a52aa35d998ce868">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#aebc7c7d34c470081a52aa35d998ce868">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#aebc7c7d34c470081a52aa35d998ce868">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#aebc7c7d34c470081a52aa35d998ce868">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_panel_authuserpwd_ssh_tunnel()
: <a class="el" href="remmina__protocol__widget_8c.html#ad637ec849c497e4a0d4c723396aa6fba">remmina_protocol_widget.c</a>
@@ -3224,16 +3225,16 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#a8ef0523afadadc9984d53fb02ecc01ad">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_panel_new_certificate()
-: <a class="el" href="remmina__protocol__widget_8c.html#a262d75d6b535bd8c623e607805db4084">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a262d75d6b535bd8c623e607805db4084">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a262d75d6b535bd8c623e607805db4084">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a262d75d6b535bd8c623e607805db4084">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_panel_question_yesno()
: <a class="el" href="remmina__protocol__widget_8c.html#a9092c29f585fdabaf0ce7e865670053b">remmina_protocol_widget.c</a>
, <a class="el" href="remmina__protocol__widget_8h.html#a9092c29f585fdabaf0ce7e865670053b">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_panel_show()
-: <a class="el" href="remmina__protocol__widget_8c.html#a843c2455a10c9382aee454515f9e7f8b">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a843c2455a10c9382aee454515f9e7f8b">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a843c2455a10c9382aee454515f9e7f8b">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a843c2455a10c9382aee454515f9e7f8b">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_panel_show_listen()
: <a class="el" href="remmina__protocol__widget_8c.html#a278e13b53a4fdb65498e00e908edb98d">remmina_protocol_widget.c</a>
@@ -3248,24 +3249,24 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#a480f842fac65440c367bf3c3d87d2601">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_plugin_screenshot()
-: <a class="el" href="remmina__protocol__widget_8c.html#a57ac13fc4a2653c40e0601183628c0ca">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a57ac13fc4a2653c40e0601183628c0ca">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a57ac13fc4a2653c40e0601183628c0ca">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a57ac13fc4a2653c40e0601183628c0ca">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_query_feature_by_ref()
: <a class="el" href="remmina__protocol__widget_8c.html#a4017a800d7803a40d606ffce2578509a">remmina_protocol_widget.c</a>
, <a class="el" href="remmina__protocol__widget_8h.html#a4017a800d7803a40d606ffce2578509a">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_query_feature_by_type()
-: <a class="el" href="remmina__protocol__widget_8c.html#adbe15328275677cb38bd8c8a2d5e039d">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#adbe15328275677cb38bd8c8a2d5e039d">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#adbe15328275677cb38bd8c8a2d5e039d">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#adbe15328275677cb38bd8c8a2d5e039d">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_register_hostkey()
: <a class="el" href="remmina__protocol__widget_8c.html#a13e14fa81f7ca52942415a7caf5b932c">remmina_protocol_widget.c</a>
, <a class="el" href="remmina__protocol__widget_8h.html#a13e14fa81f7ca52942415a7caf5b932c">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_save_cred()
-: <a class="el" href="remmina__protocol__widget_8c.html#ab863cc1442a992adfa323bc77ab88504">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#ab863cc1442a992adfa323bc77ab88504">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#ab863cc1442a992adfa323bc77ab88504">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#ab863cc1442a992adfa323bc77ab88504">remmina_protocol_widget.c</a>
</li>
<li>REMMINA_PROTOCOL_WIDGET_SCALE_MODE_DYNRES
: <a class="el" href="types_8h.html#aeea5ee1e675368413b6f6ab09883e7dea4d22c6eed721b661d618098159a20946">types.h</a>
@@ -3284,24 +3285,24 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#acf40f566116cf43af26891cd37af4eb1">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_send_keys_signals()
-: <a class="el" href="remmina__protocol__widget_8c.html#a9bcd0d356c7215dc0f791c9744360705">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a9bcd0d356c7215dc0f791c9744360705">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a9bcd0d356c7215dc0f791c9744360705">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a9bcd0d356c7215dc0f791c9744360705">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_send_keystrokes()
: <a class="el" href="remmina__protocol__widget_8c.html#affb2413c00f0681fe08f90523f7e1471">remmina_protocol_widget.c</a>
, <a class="el" href="remmina__protocol__widget_8h.html#affb2413c00f0681fe08f90523f7e1471">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_set_current_scale_mode()
-: <a class="el" href="remmina__protocol__widget_8c.html#ad6e2d00646e8268aa0e8bbe31b77db48">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#ad6e2d00646e8268aa0e8bbe31b77db48">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#ad6e2d00646e8268aa0e8bbe31b77db48">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#ad6e2d00646e8268aa0e8bbe31b77db48">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_set_display()
: <a class="el" href="remmina__protocol__widget_8c.html#a15368afcbeb770f8cf25941bd49e7b54">remmina_protocol_widget.c</a>
, <a class="el" href="remmina__protocol__widget_8h.html#a15368afcbeb770f8cf25941bd49e7b54">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_set_error()
-: <a class="el" href="remmina__protocol__widget_8c.html#a95088334da86faf9520383629fff48af">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a95088334da86faf9520383629fff48af">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a95088334da86faf9520383629fff48af">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a95088334da86faf9520383629fff48af">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_set_expand()
: <a class="el" href="remmina__protocol__widget_8c.html#a0b19dbe685e4465e7f06706270e120fa">remmina_protocol_widget.c</a>
@@ -3324,8 +3325,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#ac705ffa194e3c3457e9a0a1bd6c79be8">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_signal_connection_closed()
-: <a class="el" href="remmina__protocol__widget_8c.html#a1cae52cad394f317c712eb4fd709d261">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#a1cae52cad394f317c712eb4fd709d261">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#a1cae52cad394f317c712eb4fd709d261">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#a1cae52cad394f317c712eb4fd709d261">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_signal_connection_opened()
: <a class="el" href="remmina__protocol__widget_8c.html#a05b5edfc3d3d0dcff1745d1d35aaca5c">remmina_protocol_widget.c</a>
@@ -3335,8 +3336,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__protocol__widget_8c.html#a2c2a41aeee8f3ef6481378a95c02c130">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_ssh_exec()
-: <a class="el" href="remmina__protocol__widget_8h.html#a12eddf3428a53201ee0a2ec422d2fa4a">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a12eddf3428a53201ee0a2ec422d2fa4a">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a12eddf3428a53201ee0a2ec422d2fa4a">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a12eddf3428a53201ee0a2ec422d2fa4a">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_start_direct_tunnel()
: <a class="el" href="remmina__protocol__widget_8c.html#a9d55210413d6a313478f81cf76ecf1b7">remmina_protocol_widget.c</a>
@@ -3358,8 +3359,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__protocol__widget_8h.html#a2551dd6f53480609596d2695040fba5d">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_unmap_event()
-: <a class="el" href="remmina__protocol__widget_8c.html#ac9da39853a32523057759a498bf6ac0a">remmina_protocol_widget.c</a>
-, <a class="el" href="remmina__protocol__widget_8h.html#ac9da39853a32523057759a498bf6ac0a">remmina_protocol_widget.h</a>
+: <a class="el" href="remmina__protocol__widget_8h.html#ac9da39853a32523057759a498bf6ac0a">remmina_protocol_widget.h</a>
+, <a class="el" href="remmina__protocol__widget_8c.html#ac9da39853a32523057759a498bf6ac0a">remmina_protocol_widget.c</a>
</li>
<li>remmina_protocol_widget_update_align()
: <a class="el" href="remmina__protocol__widget_8c.html#aa88afa1e3f04974974a8be324b0a930e">remmina_protocol_widget.c</a>
@@ -3369,8 +3370,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="rcw_8c.html#ab7dc553cbd2005feb77163cf79f48f6d">rcw.c</a>
</li>
<li>remmina_protocol_widget_update_remote_resolution()
-: <a class="el" href="remmina__protocol__widget_8h.html#a14684e3222e6afb1b43d77634a174767">remmina_protocol_widget.h</a>
-, <a class="el" href="remmina__protocol__widget_8c.html#a14684e3222e6afb1b43d77634a174767">remmina_protocol_widget.c</a>
+: <a class="el" href="remmina__protocol__widget_8c.html#a14684e3222e6afb1b43d77634a174767">remmina_protocol_widget.c</a>
+, <a class="el" href="remmina__protocol__widget_8h.html#a14684e3222e6afb1b43d77634a174767">remmina_protocol_widget.h</a>
</li>
<li>remmina_protocol_widget_xport_tunnel_connect_callback()
: <a class="el" href="remmina__protocol__widget_8c.html#adfac12e7a563dc06fb2f0c8307f40fee">remmina_protocol_widget.c</a>
@@ -3386,24 +3387,24 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__public_8h.html#a86940733e5b9cf77b276084e437dcac0">remmina_public.h</a>
</li>
<li>remmina_public_combo_get_active_text()
-: <a class="el" href="remmina__public_8c.html#af1679d83834c8409f23e00c555d677fb">remmina_public.c</a>
-, <a class="el" href="remmina__public_8h.html#af1679d83834c8409f23e00c555d677fb">remmina_public.h</a>
+: <a class="el" href="remmina__public_8h.html#af1679d83834c8409f23e00c555d677fb">remmina_public.h</a>
+, <a class="el" href="remmina__public_8c.html#af1679d83834c8409f23e00c555d677fb">remmina_public.c</a>
</li>
<li>remmina_public_create_combo()
: <a class="el" href="remmina__public_8c.html#ab4a593956dfe89aba3242a5c264a681f">remmina_public.c</a>
, <a class="el" href="remmina__public_8h.html#ab4a593956dfe89aba3242a5c264a681f">remmina_public.h</a>
</li>
<li>remmina_public_create_combo_entry()
-: <a class="el" href="remmina__public_8c.html#a9ec86f1e9caea5ebc867a90230d6b51a">remmina_public.c</a>
-, <a class="el" href="remmina__public_8h.html#ab28356392468fbd147814f09cda6e168">remmina_public.h</a>
+: <a class="el" href="remmina__public_8h.html#ab28356392468fbd147814f09cda6e168">remmina_public.h</a>
+, <a class="el" href="remmina__public_8c.html#a9ec86f1e9caea5ebc867a90230d6b51a">remmina_public.c</a>
</li>
<li>remmina_public_create_combo_map()
: <a class="el" href="remmina__public_8c.html#a616258d3226ec1f1ecee6ce18aba535b">remmina_public.c</a>
, <a class="el" href="remmina__public_8h.html#a616258d3226ec1f1ecee6ce18aba535b">remmina_public.h</a>
</li>
<li>remmina_public_create_combo_mapint()
-: <a class="el" href="remmina__public_8c.html#ad1feef5a6d19225b8fcbfd0f9555306b">remmina_public.c</a>
-, <a class="el" href="remmina__public_8h.html#ad1feef5a6d19225b8fcbfd0f9555306b">remmina_public.h</a>
+: <a class="el" href="remmina__public_8h.html#ad1feef5a6d19225b8fcbfd0f9555306b">remmina_public.h</a>
+, <a class="el" href="remmina__public_8c.html#ad1feef5a6d19225b8fcbfd0f9555306b">remmina_public.c</a>
</li>
<li>remmina_public_create_combo_text_d()
: <a class="el" href="remmina__public_8c.html#a3796b536244067e9a85923b1cefa6cde">remmina_public.c</a>
@@ -3418,16 +3419,16 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__public_8h.html#a95f1d68c7ab3e2a6b158db45f63538fb">remmina_public.h</a>
</li>
<li>remmina_public_get_modifier_for_keycode()
-: <a class="el" href="remmina__public_8c.html#a1fac51670815da6a72700a10866c179a">remmina_public.c</a>
-, <a class="el" href="remmina__public_8h.html#a1fac51670815da6a72700a10866c179a">remmina_public.h</a>
+: <a class="el" href="remmina__public_8h.html#a1fac51670815da6a72700a10866c179a">remmina_public.h</a>
+, <a class="el" href="remmina__public_8c.html#a1fac51670815da6a72700a10866c179a">remmina_public.c</a>
</li>
<li>remmina_public_get_server_port()
: <a class="el" href="remmina__public_8c.html#adc8b77823386e00e610527d6b0b61149">remmina_public.c</a>
, <a class="el" href="remmina__public_8h.html#adc8b77823386e00e610527d6b0b61149">remmina_public.h</a>
</li>
<li>remmina_public_get_server_port_old()
-: <a class="el" href="remmina__public_8c.html#ad7fe0e4dc091d9227b9610517cf61667">remmina_public.c</a>
-, <a class="el" href="remmina__public_8h.html#ad7fe0e4dc091d9227b9610517cf61667">remmina_public.h</a>
+: <a class="el" href="remmina__public_8h.html#ad7fe0e4dc091d9227b9610517cf61667">remmina_public.h</a>
+, <a class="el" href="remmina__public_8c.html#ad7fe0e4dc091d9227b9610517cf61667">remmina_public.c</a>
</li>
<li>remmina_public_get_server_port_wrapper()
: <a class="el" href="python__wrapper__remmina_8c.html#a7055f797416a2fd833c882c24e6e88a6">python_wrapper_remmina.c</a>
@@ -3437,8 +3438,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__public_8h.html#a12ba081432e5f32cf8287231d4779ecf">remmina_public.h</a>
</li>
<li>remmina_public_gtk_builder_new_from_file()
-: <a class="el" href="remmina__public_8h.html#a3031598a6e4f67d1519d8e5afba7da41">remmina_public.h</a>
-, <a class="el" href="remmina__public_8c.html#a3031598a6e4f67d1519d8e5afba7da41">remmina_public.c</a>
+: <a class="el" href="remmina__public_8c.html#a3031598a6e4f67d1519d8e5afba7da41">remmina_public.c</a>
+, <a class="el" href="remmina__public_8h.html#a3031598a6e4f67d1519d8e5afba7da41">remmina_public.h</a>
</li>
<li>remmina_public_gtk_builder_new_from_resource()
: <a class="el" href="remmina__public_8c.html#a4573e086e1ff8507eb9447b25bf11b92">remmina_public.c</a>
@@ -3453,24 +3454,24 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__public_8h.html#aa5eacff7c9dab7457dd65525d01047f8">remmina_public.h</a>
</li>
<li>remmina_public_open_unix_sock()
-: <a class="el" href="remmina__public_8h.html#a4b8a7b85d58148cf856ea71b1d9f22c1">remmina_public.h</a>
-, <a class="el" href="remmina__public_8c.html#a4b8a7b85d58148cf856ea71b1d9f22c1">remmina_public.c</a>
+: <a class="el" href="remmina__public_8c.html#a4b8a7b85d58148cf856ea71b1d9f22c1">remmina_public.c</a>
+, <a class="el" href="remmina__public_8h.html#a4b8a7b85d58148cf856ea71b1d9f22c1">remmina_public.h</a>
</li>
<li>remmina_public_open_xdisplay()
: <a class="el" href="remmina__public_8c.html#a52656bbe00a83068f36337f449bdc767">remmina_public.c</a>
, <a class="el" href="remmina__public_8h.html#a52656bbe00a83068f36337f449bdc767">remmina_public.h</a>
</li>
<li>remmina_public_popup_position()
-: <a class="el" href="remmina__public_8h.html#a92025b5f6512955f9c29608b5451a12c">remmina_public.h</a>
-, <a class="el" href="remmina__public_8c.html#a92025b5f6512955f9c29608b5451a12c">remmina_public.c</a>
+: <a class="el" href="remmina__public_8c.html#a92025b5f6512955f9c29608b5451a12c">remmina_public.c</a>
+, <a class="el" href="remmina__public_8h.html#a92025b5f6512955f9c29608b5451a12c">remmina_public.h</a>
</li>
<li>remmina_public_resolution_validation_func()
: <a class="el" href="remmina__public_8c.html#a098786d3aa6991aeba43a61e29d534d0">remmina_public.c</a>
, <a class="el" href="remmina__public_8h.html#a098786d3aa6991aeba43a61e29d534d0">remmina_public.h</a>
</li>
<li>remmina_public_send_notification()
-: <a class="el" href="remmina__public_8h.html#a893f0cfe2d694ab700975f4f427ee2f6">remmina_public.h</a>
-, <a class="el" href="remmina__public_8c.html#a893f0cfe2d694ab700975f4f427ee2f6">remmina_public.c</a>
+: <a class="el" href="remmina__public_8c.html#a893f0cfe2d694ab700975f4f427ee2f6">remmina_public.c</a>
+, <a class="el" href="remmina__public_8h.html#a893f0cfe2d694ab700975f4f427ee2f6">remmina_public.h</a>
</li>
<li>remmina_public_split_resolution_string()
: <a class="el" href="remmina__public_8c.html#aaf3fdb980c24cd06965b85ebcdd79173">remmina_public.c</a>
@@ -3527,8 +3528,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="rdp__cliprdr_8c.html#a48c10fa190a5f20e17d35b669c865209">rdp_cliprdr.c</a>
</li>
<li>remmina_rdp_cliprdr_detach_owner()
-: <a class="el" href="rdp__cliprdr_8h.html#a7d911246d8a6efed5a64b7ecd7b059bf">rdp_cliprdr.h</a>
-, <a class="el" href="rdp__cliprdr_8c.html#a7d911246d8a6efed5a64b7ecd7b059bf">rdp_cliprdr.c</a>
+: <a class="el" href="rdp__cliprdr_8c.html#a7d911246d8a6efed5a64b7ecd7b059bf">rdp_cliprdr.c</a>
+, <a class="el" href="rdp__cliprdr_8h.html#a7d911246d8a6efed5a64b7ecd7b059bf">rdp_cliprdr.h</a>
</li>
<li>remmina_rdp_cliprdr_empty_clipboard()
: <a class="el" href="rdp__cliprdr_8c.html#a719b6820f66508f8acb943a1bf1a495d">rdp_cliprdr.c</a>
@@ -3547,8 +3548,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="rdp__cliprdr_8c.html#a5378f6a230a35d2a84e94ee029a10af4">rdp_cliprdr.c</a>
</li>
<li>remmina_rdp_cliprdr_init()
-: <a class="el" href="rdp__cliprdr_8h.html#a2c900a8369c1081e3084f5b17efbe47d">rdp_cliprdr.h</a>
-, <a class="el" href="rdp__cliprdr_8c.html#a2c900a8369c1081e3084f5b17efbe47d">rdp_cliprdr.c</a>
+: <a class="el" href="rdp__cliprdr_8c.html#a2c900a8369c1081e3084f5b17efbe47d">rdp_cliprdr.c</a>
+, <a class="el" href="rdp__cliprdr_8h.html#a2c900a8369c1081e3084f5b17efbe47d">rdp_cliprdr.h</a>
</li>
<li>remmina_rdp_cliprdr_monitor_ready()
: <a class="el" href="rdp__cliprdr_8c.html#aa3ee3696d9fdb72f994184eee168b2ca">rdp_cliprdr.c</a>
@@ -3617,8 +3618,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="rdp__plugin_8h.html#adafbb901615d7fc9d8f31d5dbdae29d7a6b5a1dbb05d7f63d451b84ea5ec85c03">rdp_plugin.h</a>
</li>
<li>remmina_rdp_event_event_push()
-: <a class="el" href="rdp__plugin_8h.html#ad446d6471bddba97f8bfcee8c51e4580">rdp_plugin.h</a>
-, <a class="el" href="rdp__event_8c.html#ad446d6471bddba97f8bfcee8c51e4580">rdp_event.c</a>
+: <a class="el" href="rdp__event_8c.html#ad446d6471bddba97f8bfcee8c51e4580">rdp_event.c</a>
+, <a class="el" href="rdp__plugin_8h.html#ad446d6471bddba97f8bfcee8c51e4580">rdp_plugin.h</a>
</li>
<li>remmina_rdp_event_free_cursor()
: <a class="el" href="rdp__event_8c.html#a740d33b9c229ada638eeeebe2ffca461">rdp_event.c</a>
@@ -3666,8 +3667,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="rdp__event_8c.html#a393d4ec6673f6a9c2b71849c109facef">rdp_event.c</a>
</li>
<li>remmina_rdp_event_process_clipboard()
-: <a class="el" href="rdp__cliprdr_8h.html#ad4fad618198e7746ea1e4ebd01a9b173">rdp_cliprdr.h</a>
-, <a class="el" href="rdp__cliprdr_8c.html#ad4fad618198e7746ea1e4ebd01a9b173">rdp_cliprdr.c</a>
+: <a class="el" href="rdp__cliprdr_8c.html#ad4fad618198e7746ea1e4ebd01a9b173">rdp_cliprdr.c</a>
+, <a class="el" href="rdp__cliprdr_8h.html#ad4fad618198e7746ea1e4ebd01a9b173">rdp_cliprdr.h</a>
</li>
<li>remmina_rdp_event_process_event()
: <a class="el" href="rdp__event_8c.html#a5f5fcd2a5c81d0c8bec609e0428735c5">rdp_event.c</a>
@@ -3744,12 +3745,12 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="rdp__event_8h.html#a4da10c12b28edc28403766994d6ef29c">rdp_event.h</a>
</li>
<li>remmina_rdp_event_uninit()
-: <a class="el" href="rdp__event_8c.html#a65eef99dc99f77be815a5da804ed94fc">rdp_event.c</a>
-, <a class="el" href="rdp__event_8h.html#a65eef99dc99f77be815a5da804ed94fc">rdp_event.h</a>
+: <a class="el" href="rdp__event_8h.html#a65eef99dc99f77be815a5da804ed94fc">rdp_event.h</a>
+, <a class="el" href="rdp__event_8c.html#a65eef99dc99f77be815a5da804ed94fc">rdp_event.c</a>
</li>
<li>remmina_rdp_event_update_rect()
-: <a class="el" href="rdp__event_8h.html#a712a9b04decd8b928d71db44b9b14fc9">rdp_event.h</a>
-, <a class="el" href="rdp__event_8c.html#a712a9b04decd8b928d71db44b9b14fc9">rdp_event.c</a>
+: <a class="el" href="rdp__event_8c.html#a712a9b04decd8b928d71db44b9b14fc9">rdp_event.c</a>
+, <a class="el" href="rdp__event_8h.html#a712a9b04decd8b928d71db44b9b14fc9">rdp_event.h</a>
</li>
<li>remmina_rdp_event_update_regions()
: <a class="el" href="rdp__event_8c.html#a2ff2e46de1ad42c9aa8f792d629e0a89">rdp_event.c</a>
@@ -3765,8 +3766,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="rdp__plugin_8c.html#ac66bd1c0ceb224f7a65f5b712148a43e">rdp_plugin.c</a>
</li>
<li>remmina_rdp_file_export()
-: <a class="el" href="rdp__file_8c.html#a0141f87575bf2b97219541b419ed467e">rdp_file.c</a>
-, <a class="el" href="rdp__file_8h.html#a0141f87575bf2b97219541b419ed467e">rdp_file.h</a>
+: <a class="el" href="rdp__file_8h.html#a0141f87575bf2b97219541b419ed467e">rdp_file.h</a>
+, <a class="el" href="rdp__file_8c.html#a0141f87575bf2b97219541b419ed467e">rdp_file.c</a>
</li>
<li>remmina_rdp_file_export_channel()
: <a class="el" href="rdp__file_8c.html#af8f66ae61f0a025b3f69cd8e08d2c229">rdp_file.c</a>
@@ -3821,8 +3822,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="rdp__monitor_8h.html#a7536570aee98af77f038d82fe9f57ca6">rdp_monitor.h</a>
</li>
<li>remmina_rdp_OnChannelConnectedEventHandler()
-: <a class="el" href="rdp__channels_8h.html#a81be0bdb718bc47b5296698a7b47ce20">rdp_channels.h</a>
-, <a class="el" href="rdp__channels_8c.html#ac969423bc7cde10268f1d2870a5e6130">rdp_channels.c</a>
+: <a class="el" href="rdp__channels_8c.html#ac969423bc7cde10268f1d2870a5e6130">rdp_channels.c</a>
+, <a class="el" href="rdp__channels_8h.html#a81be0bdb718bc47b5296698a7b47ce20">rdp_channels.h</a>
</li>
<li>remmina_rdp_OnChannelDisconnectedEventHandler()
: <a class="el" href="rdp__channels_8h.html#a2d82ea9a38463d03c07271a356ccaec2">rdp_channels.h</a>
@@ -3910,8 +3911,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="rdp__settings_8c.html#a6ed11971f5d908da70e3104067efe485">rdp_settings.c</a>
</li>
<li>remmina_rdp_settings_new()
-: <a class="el" href="rdp__settings_8c.html#a55dda4fb09dc13dafba65becda89e194">rdp_settings.c</a>
-, <a class="el" href="rdp__settings_8h.html#a55dda4fb09dc13dafba65becda89e194">rdp_settings.h</a>
+: <a class="el" href="rdp__settings_8h.html#a55dda4fb09dc13dafba65becda89e194">rdp_settings.h</a>
+, <a class="el" href="rdp__settings_8c.html#a55dda4fb09dc13dafba65becda89e194">rdp_settings.c</a>
</li>
<li>remmina_rdp_settings_quality_on_changed()
: <a class="el" href="rdp__settings_8c.html#a06bfe79d2df19ff863a1ed66c53fea35">rdp_settings.c</a>
@@ -3946,18 +3947,18 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
<li>REMMINA_RDP_UI_EVENT
: <a class="el" href="rdp__plugin_8h.html#a1e2313a63a9cfd208ab722cc1e0ee072aa5f6f338ffaa4bed53b225cf54b50000">rdp_plugin.h</a>
</li>
-<li>REMMINA_RDP_UI_EVENT_DESTROY_CAIRO_SURFACE
-: <a class="el" href="rdp__plugin_8h.html#a70cc17b1d3603d036f962a0ae8496b35ad2dd5f6251de0ac7afe2f962c829aa48">rdp_plugin.h</a>
-</li>
<li>remmina_rdp_ui_event_destroy_cairo_surface()
: <a class="el" href="rdp__event_8c.html#acd5f1bd57553006fdbc60d62af433e31">rdp_event.c</a>
</li>
-<li>REMMINA_RDP_UI_EVENT_UPDATE_SCALE
-: <a class="el" href="rdp__plugin_8h.html#a70cc17b1d3603d036f962a0ae8496b35a5bec41fd19576fc5c3e397366461dfe4">rdp_plugin.h</a>
+<li>REMMINA_RDP_UI_EVENT_DESTROY_CAIRO_SURFACE
+: <a class="el" href="rdp__plugin_8h.html#a70cc17b1d3603d036f962a0ae8496b35ad2dd5f6251de0ac7afe2f962c829aa48">rdp_plugin.h</a>
</li>
<li>remmina_rdp_ui_event_update_scale()
: <a class="el" href="rdp__event_8c.html#ae0e0d42524cb165cd6d26553c104dbde">rdp_event.c</a>
</li>
+<li>REMMINA_RDP_UI_EVENT_UPDATE_SCALE
+: <a class="el" href="rdp__plugin_8h.html#a70cc17b1d3603d036f962a0ae8496b35a5bec41fd19576fc5c3e397366461dfe4">rdp_plugin.h</a>
+</li>
<li>REMMINA_RDP_UI_NOCODEC
: <a class="el" href="rdp__plugin_8h.html#a1e2313a63a9cfd208ab722cc1e0ee072a96cf99f0ed1b7e1a798ebb358eff0d1b">rdp_plugin.h</a>
</li>
@@ -4023,8 +4024,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__scrolled__viewport_8c.html#ab6821a1bbe2dbd787512236a68493b4f">remmina_scrolled_viewport.c</a>
</li>
<li>remmina_scrolled_viewport_new()
-: <a class="el" href="remmina__scrolled__viewport_8h.html#aadfe00c3960eab12d17bdb47495dd1ee">remmina_scrolled_viewport.h</a>
-, <a class="el" href="remmina__scrolled__viewport_8c.html#aadfe00c3960eab12d17bdb47495dd1ee">remmina_scrolled_viewport.c</a>
+: <a class="el" href="remmina__scrolled__viewport_8c.html#aadfe00c3960eab12d17bdb47495dd1ee">remmina_scrolled_viewport.c</a>
+, <a class="el" href="remmina__scrolled__viewport_8h.html#aadfe00c3960eab12d17bdb47495dd1ee">remmina_scrolled_viewport.h</a>
</li>
<li>remmina_scrolled_viewport_remove_motion()
: <a class="el" href="remmina__scrolled__viewport_8c.html#a0ba56f429a9c1ec05b093f5f78be692c">remmina_scrolled_viewport.c</a>
@@ -4052,8 +4053,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__sftp__plugin_8c.html#a999de1dbe291169ccc33dffa123a1315">remmina_sftp_plugin.c</a>
</li>
<li>remmina_sftp_client_confirm_resume()
-: <a class="el" href="remmina__sftp__client_8c.html#a138904893cb9c7f6535b8dfc7ba17e33">remmina_sftp_client.c</a>
-, <a class="el" href="remmina__sftp__client_8h.html#a138904893cb9c7f6535b8dfc7ba17e33">remmina_sftp_client.h</a>
+: <a class="el" href="remmina__sftp__client_8h.html#a138904893cb9c7f6535b8dfc7ba17e33">remmina_sftp_client.h</a>
+, <a class="el" href="remmina__sftp__client_8c.html#a138904893cb9c7f6535b8dfc7ba17e33">remmina_sftp_client.c</a>
</li>
<li>remmina_sftp_client_destroy()
: <a class="el" href="remmina__sftp__client_8c.html#a396c50263fbc60962481655bdb7b24f2">remmina_sftp_client.c</a>
@@ -4065,8 +4066,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__sftp__client_8c.html#a52b86e14d8abd0a5b6ddeb464a22a5f0">remmina_sftp_client.c</a>
</li>
<li>remmina_sftp_client_new()
-: <a class="el" href="remmina__sftp__client_8h.html#a0a3d678ad99a04a8b6aa3d958d60dc7d">remmina_sftp_client.h</a>
-, <a class="el" href="remmina__sftp__client_8c.html#ac2b4d83fed9c42029fee134684601aba">remmina_sftp_client.c</a>
+: <a class="el" href="remmina__sftp__client_8c.html#ac2b4d83fed9c42029fee134684601aba">remmina_sftp_client.c</a>
+, <a class="el" href="remmina__sftp__client_8h.html#a0a3d678ad99a04a8b6aa3d958d60dc7d">remmina_sftp_client.h</a>
</li>
<li>remmina_sftp_client_on_canceltask()
: <a class="el" href="remmina__sftp__client_8c.html#ad2d75d3cee69addbb691a85ac864db0f">remmina_sftp_client.c</a>
@@ -4136,28 +4137,28 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__ssh_8h.html#a1e09b32044c240a7dce0ad8afcbf0ff2">remmina_ssh.h</a>
</li>
<li>remmina_sftp_plugin_register()
-: <a class="el" href="remmina__sftp__plugin_8c.html#a14a447ab8a10b109967d92c8d2db0ff9">remmina_sftp_plugin.c</a>
-, <a class="el" href="remmina__sftp__plugin_8h.html#ac06b00323f7ac1e7faea66d135bffba4">remmina_sftp_plugin.h</a>
+: <a class="el" href="remmina__sftp__plugin_8h.html#ac06b00323f7ac1e7faea66d135bffba4">remmina_sftp_plugin.h</a>
+, <a class="el" href="remmina__sftp__plugin_8c.html#a14a447ab8a10b109967d92c8d2db0ff9">remmina_sftp_plugin.c</a>
</li>
<li>remmina_sha1_file()
-: <a class="el" href="remmina__utils_8c.html#aff7d3597f23cae366973218cc01a2ae8">remmina_utils.c</a>
-, <a class="el" href="remmina__utils_8h.html#aff7d3597f23cae366973218cc01a2ae8">remmina_utils.h</a>
+: <a class="el" href="remmina__utils_8h.html#aff7d3597f23cae366973218cc01a2ae8">remmina_utils.h</a>
+, <a class="el" href="remmina__utils_8c.html#aff7d3597f23cae366973218cc01a2ae8">remmina_utils.c</a>
</li>
<li>remmina_sodium_init()
: <a class="el" href="remmina__sodium_8c.html#a17d17beeb57808af1c4299e3b4b94e9a">remmina_sodium.c</a>
, <a class="el" href="remmina__sodium_8h.html#a17d17beeb57808af1c4299e3b4b94e9a">remmina_sodium.h</a>
</li>
<li>remmina_sodium_pwhash()
-: <a class="el" href="remmina__sodium_8c.html#ae661257deabb27ca05747be21aac253c">remmina_sodium.c</a>
-, <a class="el" href="remmina__sodium_8h.html#ae661257deabb27ca05747be21aac253c">remmina_sodium.h</a>
+: <a class="el" href="remmina__sodium_8h.html#ae661257deabb27ca05747be21aac253c">remmina_sodium.h</a>
+, <a class="el" href="remmina__sodium_8c.html#ae661257deabb27ca05747be21aac253c">remmina_sodium.c</a>
</li>
<li>remmina_sodium_pwhash_str()
-: <a class="el" href="remmina__sodium_8c.html#a42b49fa9a654cb061a02f52577171e1e">remmina_sodium.c</a>
-, <a class="el" href="remmina__sodium_8h.html#a42b49fa9a654cb061a02f52577171e1e">remmina_sodium.h</a>
+: <a class="el" href="remmina__sodium_8h.html#a42b49fa9a654cb061a02f52577171e1e">remmina_sodium.h</a>
+, <a class="el" href="remmina__sodium_8c.html#a42b49fa9a654cb061a02f52577171e1e">remmina_sodium.c</a>
</li>
<li>remmina_sodium_pwhash_str_verify()
-: <a class="el" href="remmina__sodium_8c.html#a6df48c8b8aafee07bfe41fb89581aa5f">remmina_sodium.c</a>
-, <a class="el" href="remmina__sodium_8h.html#a6df48c8b8aafee07bfe41fb89581aa5f">remmina_sodium.h</a>
+: <a class="el" href="remmina__sodium_8h.html#a6df48c8b8aafee07bfe41fb89581aa5f">remmina_sodium.h</a>
+, <a class="el" href="remmina__sodium_8c.html#a6df48c8b8aafee07bfe41fb89581aa5f">remmina_sodium.c</a>
</li>
<li>remmina_ssh_advanced_settings
: <a class="el" href="remmina__ssh__plugin_8c.html#a51b5159cc5a6833759bc87688221b807">remmina_ssh_plugin.c</a>
@@ -4249,8 +4250,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__ssh_8h.html#acdb9f57d2f9b47913715a8d8a0ea0c02">remmina_ssh.h</a>
</li>
<li>remmina_ssh_identity_path()
-: <a class="el" href="remmina__ssh_8h.html#a72a58e416c4eeb9d17eaf76360ebee42">remmina_ssh.h</a>
-, <a class="el" href="remmina__ssh_8c.html#a72a58e416c4eeb9d17eaf76360ebee42">remmina_ssh.c</a>
+: <a class="el" href="remmina__ssh_8c.html#a72a58e416c4eeb9d17eaf76360ebee42">remmina_ssh.c</a>
+, <a class="el" href="remmina__ssh_8h.html#a72a58e416c4eeb9d17eaf76360ebee42">remmina_ssh.h</a>
</li>
<li>remmina_ssh_init_from_file()
: <a class="el" href="remmina__ssh_8h.html#a6815a78f65795cbc6795ca1c59e73102">remmina_ssh.h</a>
@@ -4272,19 +4273,19 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__ssh__plugin_8h.html#a3e8e08f2a9b05530e85962f9b8c556e9">remmina_ssh_plugin.h</a>
</li>
<li>remmina_ssh_plugin_register()
-: <a class="el" href="remmina__ssh__plugin_8c.html#a6f594d157e09639e09b1f32a420da96c">remmina_ssh_plugin.c</a>
-, <a class="el" href="remmina__ssh__plugin_8h.html#af9f9487a10fb1a9c4b494ce3657359b9">remmina_ssh_plugin.h</a>
+: <a class="el" href="remmina__ssh__plugin_8h.html#af9f9487a10fb1a9c4b494ce3657359b9">remmina_ssh_plugin.h</a>
+, <a class="el" href="remmina__ssh__plugin_8c.html#a6f594d157e09639e09b1f32a420da96c">remmina_ssh_plugin.c</a>
</li>
<li>remmina_ssh_search_item()
: <a class="el" href="remmina__ssh_8c.html#af39f90e2343e62348226aed0d7496dda">remmina_ssh.c</a>
</li>
<li>remmina_ssh_set_application_error()
-: <a class="el" href="remmina__ssh_8h.html#a1f3297263703b4259c1c9607d710995d">remmina_ssh.h</a>
-, <a class="el" href="remmina__ssh_8c.html#a1f3297263703b4259c1c9607d710995d">remmina_ssh.c</a>
+: <a class="el" href="remmina__ssh_8c.html#a1f3297263703b4259c1c9607d710995d">remmina_ssh.c</a>
+, <a class="el" href="remmina__ssh_8h.html#a1f3297263703b4259c1c9607d710995d">remmina_ssh.h</a>
</li>
<li>remmina_ssh_set_error()
-: <a class="el" href="remmina__ssh_8h.html#abc556f0a4335083436f6e19c204fa553">remmina_ssh.h</a>
-, <a class="el" href="remmina__ssh_8c.html#abc556f0a4335083436f6e19c204fa553">remmina_ssh.c</a>
+: <a class="el" href="remmina__ssh_8c.html#abc556f0a4335083436f6e19c204fa553">remmina_ssh.c</a>
+, <a class="el" href="remmina__ssh_8h.html#abc556f0a4335083436f6e19c204fa553">remmina_ssh.h</a>
</li>
<li>remmina_ssh_set_nodelay()
: <a class="el" href="remmina__ssh_8c.html#a1daf0b140ecf3ef9665d1c5d4c0ec479">remmina_ssh.c</a>
@@ -4322,12 +4323,12 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
<li>REMMINA_SSH_TUNNEL_OPEN
: <a class="el" href="remmina__ssh_8h.html#a77867ab4129f63159b37bca3b652a798a78cac65c66c1f72592488c7c5728ea14">remmina_ssh.h</a>
</li>
-<li>REMMINA_SSH_TUNNEL_REVERSE
-: <a class="el" href="remmina__ssh_8h.html#a77867ab4129f63159b37bca3b652a798ae14c0d50235951946ca18866a1329459">remmina_ssh.h</a>
-</li>
<li>remmina_ssh_tunnel_reverse()
: <a class="el" href="remmina__ssh_8h.html#ae47c8270267b02b9c0ff5b36074101c2">remmina_ssh.h</a>
</li>
+<li>REMMINA_SSH_TUNNEL_REVERSE
+: <a class="el" href="remmina__ssh_8h.html#a77867ab4129f63159b37bca3b652a798ae14c0d50235951946ca18866a1329459">remmina_ssh.h</a>
+</li>
<li>remmina_ssh_tunnel_terminated()
: <a class="el" href="remmina__ssh_8h.html#aeb20d31243a4d30e469a34fe01684e38">remmina_ssh.h</a>
</li>
@@ -4350,8 +4351,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__ssh_8c.html#ab8f07d5ab2ee8aa8423a11808b6cb100">remmina_ssh.c</a>
</li>
<li>remmina_stats_get_all()
-: <a class="el" href="remmina__stats_8h.html#a7a1c9ab1abc1fdf78239d11b802843ae">remmina_stats.h</a>
-, <a class="el" href="remmina__stats_8c.html#a7398b36347e3621772776c466b565641">remmina_stats.c</a>
+: <a class="el" href="remmina__stats_8c.html#a7398b36347e3621772776c466b565641">remmina_stats.c</a>
+, <a class="el" href="remmina__stats_8h.html#a7a1c9ab1abc1fdf78239d11b802843ae">remmina_stats.h</a>
</li>
<li>remmina_stats_get_gtk_backend()
: <a class="el" href="remmina__stats_8c.html#a73fbf1064af209f1f7272d737168971c">remmina_stats.c</a>
@@ -4387,19 +4388,19 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__stats_8c.html#ae596da7901fb3b45b7290a1d70b3ea3a">remmina_stats.c</a>
</li>
<li>remmina_string_array_add()
-: <a class="el" href="remmina__string__array_8h.html#a2aaacca7db4b86f836486cfb559398f0">remmina_string_array.h</a>
-, <a class="el" href="remmina__string__array_8c.html#a2aaacca7db4b86f836486cfb559398f0">remmina_string_array.c</a>
+: <a class="el" href="remmina__string__array_8c.html#a2aaacca7db4b86f836486cfb559398f0">remmina_string_array.c</a>
+, <a class="el" href="remmina__string__array_8h.html#a2aaacca7db4b86f836486cfb559398f0">remmina_string_array.h</a>
</li>
<li>remmina_string_array_compare_func()
: <a class="el" href="remmina__string__array_8c.html#a404140e205363c778476feb6f320f5f5">remmina_string_array.c</a>
</li>
<li>remmina_string_array_find()
-: <a class="el" href="remmina__string__array_8c.html#ab93a69850cfb4117c223a3f145ced986">remmina_string_array.c</a>
-, <a class="el" href="remmina__string__array_8h.html#ab93a69850cfb4117c223a3f145ced986">remmina_string_array.h</a>
+: <a class="el" href="remmina__string__array_8h.html#ab93a69850cfb4117c223a3f145ced986">remmina_string_array.h</a>
+, <a class="el" href="remmina__string__array_8c.html#ab93a69850cfb4117c223a3f145ced986">remmina_string_array.c</a>
</li>
<li>remmina_string_array_free()
-: <a class="el" href="remmina__string__array_8c.html#a8ab78913d299df665a408a8a5ec51bbe">remmina_string_array.c</a>
-, <a class="el" href="remmina__string__array_8h.html#a8ab78913d299df665a408a8a5ec51bbe">remmina_string_array.h</a>
+: <a class="el" href="remmina__string__array_8h.html#a8ab78913d299df665a408a8a5ec51bbe">remmina_string_array.h</a>
+, <a class="el" href="remmina__string__array_8c.html#a8ab78913d299df665a408a8a5ec51bbe">remmina_string_array.c</a>
</li>
<li>remmina_string_array_intersect()
: <a class="el" href="remmina__string__array_8h.html#abf64b35316d6e97f5c5001913b307308">remmina_string_array.h</a>
@@ -4426,8 +4427,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__string__array_8h.html#a40811c036e46f6544ab6c4cff445454b">remmina_string_array.h</a>
</li>
<li>remmina_string_array_sort()
-: <a class="el" href="remmina__string__array_8h.html#a3eab4bae72ff130ad10ec8fc7364ce70">remmina_string_array.h</a>
-, <a class="el" href="remmina__string__array_8c.html#a3eab4bae72ff130ad10ec8fc7364ce70">remmina_string_array.c</a>
+: <a class="el" href="remmina__string__array_8c.html#a3eab4bae72ff130ad10ec8fc7364ce70">remmina_string_array.c</a>
+, <a class="el" href="remmina__string__array_8h.html#a3eab4bae72ff130ad10ec8fc7364ce70">remmina_string_array.h</a>
</li>
<li>remmina_string_array_to_string()
: <a class="el" href="remmina__string__array_8c.html#a96f7bec7ce32de6cf5deadcd5aec51ec">remmina_string_array.c</a>
@@ -4478,16 +4479,16 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__string__list_8c.html#a777917055c80821e9bde6ac8fd06e2ff">remmina_string_list.c</a>
</li>
<li>remmina_sysinfo_get_gnome_shell_version()
-: <a class="el" href="remmina__sysinfo_8c.html#a79fd36823613c320001f0cdd2a97490f">remmina_sysinfo.c</a>
-, <a class="el" href="remmina__sysinfo_8h.html#a9f1ea6410d45aaf5603439a5919aa1cb">remmina_sysinfo.h</a>
+: <a class="el" href="remmina__sysinfo_8h.html#a9f1ea6410d45aaf5603439a5919aa1cb">remmina_sysinfo.h</a>
+, <a class="el" href="remmina__sysinfo_8c.html#a79fd36823613c320001f0cdd2a97490f">remmina_sysinfo.c</a>
</li>
<li>remmina_sysinfo_get_wm_name()
-: <a class="el" href="remmina__sysinfo_8h.html#a5e08ab3a66f27ada8e700ae42a181b6a">remmina_sysinfo.h</a>
-, <a class="el" href="remmina__sysinfo_8c.html#ae4441d62bb4075d1618b5750fea064b4">remmina_sysinfo.c</a>
+: <a class="el" href="remmina__sysinfo_8c.html#ae4441d62bb4075d1618b5750fea064b4">remmina_sysinfo.c</a>
+, <a class="el" href="remmina__sysinfo_8h.html#a5e08ab3a66f27ada8e700ae42a181b6a">remmina_sysinfo.h</a>
</li>
<li>remmina_sysinfo_is_appindicator_available()
-: <a class="el" href="remmina__sysinfo_8h.html#a9e89ac64e13b47a651554d6a77af6b23">remmina_sysinfo.h</a>
-, <a class="el" href="remmina__sysinfo_8c.html#ae6ecf91edb905f3b2b39e33e05325590">remmina_sysinfo.c</a>
+: <a class="el" href="remmina__sysinfo_8c.html#ae6ecf91edb905f3b2b39e33e05325590">remmina_sysinfo.c</a>
+, <a class="el" href="remmina__sysinfo_8h.html#a9e89ac64e13b47a651554d6a77af6b23">remmina_sysinfo.h</a>
</li>
<li>REMMINA_TAB_ALL
: <a class="el" href="remmina__pref_8h.html#a96a58e29e8dbf2b5bdeb775cba46556eafb68a1eeda5303774bbc922ef8d364e9">remmina_pref.h</a>
@@ -4607,28 +4608,28 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__unlock_8c.html#a10e43559c46ea3ba409c0b97a43c93b3">remmina_unlock.c</a>
</li>
<li>remmina_utils_get_etc_release()
-: <a class="el" href="remmina__utils_8c.html#a54cee350c4ecc6e77af835c4ba90df4c">remmina_utils.c</a>
-, <a class="el" href="remmina__utils_8h.html#a54cee350c4ecc6e77af835c4ba90df4c">remmina_utils.h</a>
+: <a class="el" href="remmina__utils_8h.html#a54cee350c4ecc6e77af835c4ba90df4c">remmina_utils.h</a>
+, <a class="el" href="remmina__utils_8c.html#a54cee350c4ecc6e77af835c4ba90df4c">remmina_utils.c</a>
</li>
<li>remmina_utils_get_kernel_arch()
: <a class="el" href="remmina__utils_8c.html#a116e7cd4565386fe531d3a6d1a3d3730">remmina_utils.c</a>
, <a class="el" href="remmina__utils_8h.html#a116e7cd4565386fe531d3a6d1a3d3730">remmina_utils.h</a>
</li>
<li>remmina_utils_get_kernel_name()
-: <a class="el" href="remmina__utils_8c.html#abfc722d07d9936711794411bfbed0522">remmina_utils.c</a>
-, <a class="el" href="remmina__utils_8h.html#abfc722d07d9936711794411bfbed0522">remmina_utils.h</a>
+: <a class="el" href="remmina__utils_8h.html#abfc722d07d9936711794411bfbed0522">remmina_utils.h</a>
+, <a class="el" href="remmina__utils_8c.html#abfc722d07d9936711794411bfbed0522">remmina_utils.c</a>
</li>
<li>remmina_utils_get_kernel_release()
-: <a class="el" href="remmina__utils_8h.html#a57603aa88df56e77e1a6de0f215f21aa">remmina_utils.h</a>
-, <a class="el" href="remmina__utils_8c.html#a57603aa88df56e77e1a6de0f215f21aa">remmina_utils.c</a>
+: <a class="el" href="remmina__utils_8c.html#a57603aa88df56e77e1a6de0f215f21aa">remmina_utils.c</a>
+, <a class="el" href="remmina__utils_8h.html#a57603aa88df56e77e1a6de0f215f21aa">remmina_utils.h</a>
</li>
<li>remmina_utils_get_lang()
-: <a class="el" href="remmina__utils_8c.html#a0f10e190a6dd212fcb0cf36ce81c8324">remmina_utils.c</a>
-, <a class="el" href="remmina__utils_8h.html#a0f10e190a6dd212fcb0cf36ce81c8324">remmina_utils.h</a>
+: <a class="el" href="remmina__utils_8h.html#a0f10e190a6dd212fcb0cf36ce81c8324">remmina_utils.h</a>
+, <a class="el" href="remmina__utils_8c.html#a0f10e190a6dd212fcb0cf36ce81c8324">remmina_utils.c</a>
</li>
<li>remmina_utils_get_lsb_codename()
-: <a class="el" href="remmina__utils_8h.html#a2b4dbb0da7c8ba4bd86877097b85d10c">remmina_utils.h</a>
-, <a class="el" href="remmina__utils_8c.html#a2b4dbb0da7c8ba4bd86877097b85d10c">remmina_utils.c</a>
+: <a class="el" href="remmina__utils_8c.html#a2b4dbb0da7c8ba4bd86877097b85d10c">remmina_utils.c</a>
+, <a class="el" href="remmina__utils_8h.html#a2b4dbb0da7c8ba4bd86877097b85d10c">remmina_utils.h</a>
</li>
<li>remmina_utils_get_lsb_description()
: <a class="el" href="remmina__utils_8h.html#ac00cb21c5cb5efcf7afc6eeae2147a75">remmina_utils.h</a>
@@ -4639,8 +4640,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
, <a class="el" href="remmina__utils_8h.html#aa768b6fe171695d212da4c6eaf74cf22">remmina_utils.h</a>
</li>
<li>remmina_utils_get_lsb_release()
-: <a class="el" href="remmina__utils_8c.html#a5ee50df5d7585d229a154a712c9161ca">remmina_utils.c</a>
-, <a class="el" href="remmina__utils_8h.html#a5ee50df5d7585d229a154a712c9161ca">remmina_utils.h</a>
+: <a class="el" href="remmina__utils_8h.html#a5ee50df5d7585d229a154a712c9161ca">remmina_utils.h</a>
+, <a class="el" href="remmina__utils_8c.html#a5ee50df5d7585d229a154a712c9161ca">remmina_utils.c</a>
</li>
<li>remmina_utils_get_os_info()
: <a class="el" href="remmina__utils_8c.html#af1acfeca84e3efd47ab1ef8365f94f99">remmina_utils.c</a>
@@ -4650,20 +4651,20 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__utils_8c.html#a297576937e5f9be372f1861a87c41dfa">remmina_utils.c</a>
</li>
<li>remmina_utils_string_find()
-: <a class="el" href="remmina__utils_8c.html#a75eb5f79df692dfe4db221d03a5fa355">remmina_utils.c</a>
-, <a class="el" href="remmina__utils_8h.html#a3ce53eeb3b090f86cfcdbce3e7cf71be">remmina_utils.h</a>
+: <a class="el" href="remmina__utils_8h.html#a3ce53eeb3b090f86cfcdbce3e7cf71be">remmina_utils.h</a>
+, <a class="el" href="remmina__utils_8c.html#a75eb5f79df692dfe4db221d03a5fa355">remmina_utils.c</a>
</li>
<li>remmina_utils_string_replace()
: <a class="el" href="remmina__utils_8h.html#aa6859a61aa28f46591750c9afdef66f4">remmina_utils.h</a>
, <a class="el" href="remmina__utils_8c.html#aa6859a61aa28f46591750c9afdef66f4">remmina_utils.c</a>
</li>
<li>remmina_utils_string_replace_all()
-: <a class="el" href="remmina__utils_8c.html#ac804e6111e538ee2fa425b8b6fd1fb66">remmina_utils.c</a>
-, <a class="el" href="remmina__utils_8h.html#ac804e6111e538ee2fa425b8b6fd1fb66">remmina_utils.h</a>
+: <a class="el" href="remmina__utils_8h.html#ac804e6111e538ee2fa425b8b6fd1fb66">remmina_utils.h</a>
+, <a class="el" href="remmina__utils_8c.html#ac804e6111e538ee2fa425b8b6fd1fb66">remmina_utils.c</a>
</li>
<li>remmina_utils_string_strip()
-: <a class="el" href="remmina__utils_8h.html#afe83bd0997a1054045e17d3f66c8bb0d">remmina_utils.h</a>
-, <a class="el" href="remmina__utils_8c.html#afe83bd0997a1054045e17d3f66c8bb0d">remmina_utils.c</a>
+: <a class="el" href="remmina__utils_8c.html#afe83bd0997a1054045e17d3f66c8bb0d">remmina_utils.c</a>
+, <a class="el" href="remmina__utils_8h.html#afe83bd0997a1054045e17d3f66c8bb0d">remmina_utils.h</a>
</li>
<li>remmina_utils_strpos()
: <a class="el" href="remmina__utils_8c.html#ae4318060ee81f8fbd907904892dd71d3">remmina_utils.c</a>
@@ -4678,12 +4679,12 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__widget__pool_8c.html#a904ecc5c259a92edee29d749b3406ac2">remmina_widget_pool.c</a>
</li>
<li>remmina_widget_pool_count()
-: <a class="el" href="remmina__widget__pool_8h.html#af888e4e0c2d590e61c72608a7482f18a">remmina_widget_pool.h</a>
-, <a class="el" href="remmina__widget__pool_8c.html#a9cbb5b8d01a6d44ba7b46434467c02f8">remmina_widget_pool.c</a>
+: <a class="el" href="remmina__widget__pool_8c.html#a9cbb5b8d01a6d44ba7b46434467c02f8">remmina_widget_pool.c</a>
+, <a class="el" href="remmina__widget__pool_8h.html#af888e4e0c2d590e61c72608a7482f18a">remmina_widget_pool.h</a>
</li>
<li>remmina_widget_pool_find()
-: <a class="el" href="remmina__widget__pool_8c.html#ab776b24a3b829a1d5dd7974cb8582c05">remmina_widget_pool.c</a>
-, <a class="el" href="remmina__widget__pool_8h.html#ab776b24a3b829a1d5dd7974cb8582c05">remmina_widget_pool.h</a>
+: <a class="el" href="remmina__widget__pool_8h.html#ab776b24a3b829a1d5dd7974cb8582c05">remmina_widget_pool.h</a>
+, <a class="el" href="remmina__widget__pool_8c.html#ab776b24a3b829a1d5dd7974cb8582c05">remmina_widget_pool.c</a>
</li>
<li>remmina_widget_pool_find_by_window()
: <a class="el" href="remmina__widget__pool_8c.html#a0a6a2069cdbbb920fb09f95bec3e997e">remmina_widget_pool.c</a>
@@ -4701,8 +4702,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__widget__pool_8c.html#aa5fd17580202843eab40cabb258d2664">remmina_widget_pool.c</a>
</li>
<li>remmina_widget_pool_register()
-: <a class="el" href="remmina__widget__pool_8h.html#ae3c9c9853eb5bedbfeadbfac1d495b95">remmina_widget_pool.h</a>
-, <a class="el" href="remmina__widget__pool_8c.html#ae3c9c9853eb5bedbfeadbfac1d495b95">remmina_widget_pool.c</a>
+: <a class="el" href="remmina__widget__pool_8c.html#ae3c9c9853eb5bedbfeadbfac1d495b95">remmina_widget_pool.c</a>
+, <a class="el" href="remmina__widget__pool_8h.html#ae3c9c9853eb5bedbfeadbfac1d495b95">remmina_widget_pool.h</a>
</li>
<li>remmina_widget_pool_register_wrapper()
: <a class="el" href="python__wrapper__remmina_8c.html#a923e3fd23d17372bec0ff951a46b7660">python_wrapper_remmina.c</a>
@@ -4774,8 +4775,8 @@ $(document).ready(function(){initNavTree('globals_r.html','');});
: <a class="el" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5">remmina_exec.h</a>
</li>
<li>RemminaConnectionObject
-: <a class="el" href="rcw_8h.html#a4c54d77416105f6b094796316f5360a2">rcw.h</a>
-, <a class="el" href="rcw_8c.html#a1cc1f656edfbe0d9c5483ac858b76517">rcw.c</a>
+: <a class="el" href="rcw_8c.html#a1cc1f656edfbe0d9c5483ac858b76517">rcw.c</a>
+, <a class="el" href="rcw_8h.html#a4c54d77416105f6b094796316f5360a2">rcw.h</a>
</li>
<li>RemminaConnectionWindow
: <a class="el" href="rcw_8h.html#aed2c8083c39e5e137651f1a7db750fe7">rcw.h</a>
diff --git a/public/navtreedata.js b/public/navtreedata.js
index 6bc6af0bb..0d2fc898d 100644
--- a/public/navtreedata.js
+++ b/public/navtreedata.js
@@ -93,19 +93,19 @@ var NAVTREEINDEX =
"rcw_8c.html#a82c93bbb1ab73807b366b86928c37946",
"rdp__plugin_8c.html#a18f77c3f0788ca8df08ebc80c72b553f",
"remmina__crypt_8c.html#a3fe2fa245d401146adf02a3a8f996ab9",
-"remmina__ftp__client_8c.html#a3a2dc5070f06ae0fcd25fbfe1587ab5c",
+"remmina__ftp__client_8c.html#a3cb68d802d3c35dff5cee970d3c33bd5",
"remmina__main_8c.html#ab203476099a5ad6e889f91c8e05d577d",
-"remmina__pref_8c.html#a10b667eb7a100d6ac8d9544697f22743",
-"remmina__protocol__widget_8h.html#a2551dd6f53480609596d2695040fba5d",
-"remmina__ssh_8c_source.html",
-"remmina__utils_8h.html#a2b4dbb0da7c8ba4bd86877097b85d10c",
-"struct___remmina_color_pref.html#a8c109e8479617a5e6da0fcaccf511c60",
-"struct___remmina_plugin_service.html#a46433bff9d6f3ea25b67115031e94e9b",
-"struct___remmina_pref.html#a994425a04b78282ff40a05580cc9355c",
-"struct___remmina_s_s_h.html",
-"structmpchanger__params.html#a098952d194a183d4a505aa065797864b",
-"structrf__context.html#acee2095e72fb2428c498f62e21800026",
-"www__plugin_8c.html#ae38b4f2efc412b6256221d9a33a03cd4"
+"remmina__pref_8c.html#a0dd25f5b3a055b936a5fa327bc71f19c",
+"remmina__protocol__widget_8h.html#a2506e80d482c34532d0e534856452069",
+"remmina__ssh_8c.html#af39f90e2343e62348226aed0d7496dda",
+"remmina__utils_8h.html#a116e7cd4565386fe531d3a6d1a3d3730",
+"struct___remmina_color_pref.html#a675a8004488715429fa540dffb330d49",
+"struct___remmina_plugin_service.html#a4558dbff70064da3de58a6d684611fad",
+"struct___remmina_pref.html#a97ad6670df5c399df233f0a74f5c148f",
+"struct___remmina_s_f_t_p_client_class.html#ac7786b1cfca2fcc92c85f10e4939f80d",
+"structmpchanger__params.html#a00a888f26c1609e064367bb5095c71f4",
+"structrf__context.html#acacad775c2c168f900deaa6c90481319",
+"www__plugin_8c.html#adb58ee650d75d952dd5802fbba9e9b0e"
];
var SYNCONMSG = 'click to disable panel synchronisation';
diff --git a/public/navtreeindex10.js b/public/navtreeindex10.js
index 31b94d6fe..44d0957e2 100644
--- a/public/navtreeindex10.js
+++ b/public/navtreeindex10.js
@@ -1,5 +1,6 @@
var NAVTREEINDEX10 =
{
+"remmina__ssh_8c.html#af39f90e2343e62348226aed0d7496dda":[61,0,133,19],
"remmina__ssh_8c_source.html":[61,0,133],
"remmina__ssh_8h.html":[61,0,134],
"remmina__ssh_8h.html#a09bd4aee40b6e8d6ba8ffaa84dc95330":[61,0,134,21],
@@ -248,6 +249,5 @@ var NAVTREEINDEX10 =
"remmina__utils_8c.html#aff7d3597f23cae366973218cc01a2ae8":[61,0,149,4],
"remmina__utils_8c_source.html":[61,0,149],
"remmina__utils_8h.html":[61,0,150],
-"remmina__utils_8h.html#a0f10e190a6dd212fcb0cf36ce81c8324":[61,0,150,5],
-"remmina__utils_8h.html#a116e7cd4565386fe531d3a6d1a3d3730":[61,0,150,2]
+"remmina__utils_8h.html#a0f10e190a6dd212fcb0cf36ce81c8324":[61,0,150,5]
};
diff --git a/public/navtreeindex11.js b/public/navtreeindex11.js
index 8367910df..4c1181147 100644
--- a/public/navtreeindex11.js
+++ b/public/navtreeindex11.js
@@ -1,5 +1,6 @@
var NAVTREEINDEX11 =
{
+"remmina__utils_8h.html#a116e7cd4565386fe531d3a6d1a3d3730":[61,0,150,2],
"remmina__utils_8h.html#a2b4dbb0da7c8ba4bd86877097b85d10c":[61,0,150,6],
"remmina__utils_8h.html#a3ce53eeb3b090f86cfcdbce3e7cf71be":[61,0,150,11],
"remmina__utils_8h.html#a54cee350c4ecc6e77af835c4ba90df4c":[61,0,150,1],
@@ -248,6 +249,5 @@ var NAVTREEINDEX11 =
"struct___remmina_color_pref.html#a3f12bdb761d7c3ee02c0871aa423bcd1":[60,0,15,17],
"struct___remmina_color_pref.html#a4ad947d133d2aa2c94756aacb5031e79":[60,0,15,7],
"struct___remmina_color_pref.html#a5ae99dc78a80baa14e0407983077c500":[60,0,15,18],
-"struct___remmina_color_pref.html#a5d92875f0034e5fc3d360d97d5992bd4":[60,0,15,15],
-"struct___remmina_color_pref.html#a675a8004488715429fa540dffb330d49":[60,0,15,0]
+"struct___remmina_color_pref.html#a5d92875f0034e5fc3d360d97d5992bd4":[60,0,15,15]
};
diff --git a/public/navtreeindex12.js b/public/navtreeindex12.js
index 317daed52..a46b74cac 100644
--- a/public/navtreeindex12.js
+++ b/public/navtreeindex12.js
@@ -1,5 +1,6 @@
var NAVTREEINDEX12 =
{
+"struct___remmina_color_pref.html#a675a8004488715429fa540dffb330d49":[60,0,15,0],
"struct___remmina_color_pref.html#a8c109e8479617a5e6da0fcaccf511c60":[60,0,15,8],
"struct___remmina_color_pref.html#a8d7f02ac9b6890ad675b702708bc4af9":[60,0,15,13],
"struct___remmina_color_pref.html#aa495bd5170c952a7dccff4e2504f5867":[60,0,15,20],
@@ -248,6 +249,5 @@ var NAVTREEINDEX12 =
"struct___remmina_plugin_service.html#a40855f4643654a7f2a88f72008ea0b5e":[60,0,43,90],
"struct___remmina_plugin_service.html#a42ca6bc7a62f91efdba93cde19b347ce":[60,0,43,121],
"struct___remmina_plugin_service.html#a434bf35a11eea8a5b653ffd8c7823d84":[60,0,43,97],
-"struct___remmina_plugin_service.html#a45416583767fafcac3fe3a9ac50d400f":[60,0,43,104],
-"struct___remmina_plugin_service.html#a4558dbff70064da3de58a6d684611fad":[60,0,43,67]
+"struct___remmina_plugin_service.html#a45416583767fafcac3fe3a9ac50d400f":[60,0,43,104]
};
diff --git a/public/navtreeindex13.js b/public/navtreeindex13.js
index a71c2ca64..57a6e2d56 100644
--- a/public/navtreeindex13.js
+++ b/public/navtreeindex13.js
@@ -1,5 +1,6 @@
var NAVTREEINDEX13 =
{
+"struct___remmina_plugin_service.html#a4558dbff70064da3de58a6d684611fad":[60,0,43,67],
"struct___remmina_plugin_service.html#a46433bff9d6f3ea25b67115031e94e9b":[60,0,43,89],
"struct___remmina_plugin_service.html#a48651c1147371e7e9069eb1fd06a9e4f":[60,0,43,3],
"struct___remmina_plugin_service.html#a4880fb57479708bc1cb47bf6b4dcabc3":[60,0,43,14],
@@ -248,6 +249,5 @@ var NAVTREEINDEX13 =
"struct___remmina_pref.html#a901034949132f369eb34c4f1ded3a0a6":[60,0,54,84],
"struct___remmina_pref.html#a90e0cfac442b9e50e0f4857b3ff74255":[60,0,54,83],
"struct___remmina_pref.html#a920221c2f304bfa278d0944bbbb6e011":[60,0,54,10],
-"struct___remmina_pref.html#a9258f6c3c18f14b4abb148aa43e6bc0e":[60,0,54,22],
-"struct___remmina_pref.html#a97ad6670df5c399df233f0a74f5c148f":[60,0,54,19]
+"struct___remmina_pref.html#a9258f6c3c18f14b4abb148aa43e6bc0e":[60,0,54,22]
};
diff --git a/public/navtreeindex14.js b/public/navtreeindex14.js
index db8a2da10..eb50753be 100644
--- a/public/navtreeindex14.js
+++ b/public/navtreeindex14.js
@@ -1,5 +1,6 @@
var NAVTREEINDEX14 =
{
+"struct___remmina_pref.html#a97ad6670df5c399df233f0a74f5c148f":[60,0,54,19],
"struct___remmina_pref.html#a994425a04b78282ff40a05580cc9355c":[60,0,54,29],
"struct___remmina_pref.html#a999b74e3aab2e7fbc4431e803511b568":[60,0,54,4],
"struct___remmina_pref.html#a99a34af002da68036758fab3ceb08259":[60,0,54,46],
@@ -248,6 +249,5 @@ var NAVTREEINDEX14 =
"struct___remmina_s_f_t_p_client.html#a95d95acad60636dd6c45ca93620d1f5b":[60,0,70,4],
"struct___remmina_s_f_t_p_client.html#ab74654f5e47c939e1098c183a582023c":[60,0,70,2],
"struct___remmina_s_f_t_p_client.html#ad6c612bb5172905eb63bfd5b672e1875":[60,0,70,5],
-"struct___remmina_s_f_t_p_client_class.html":[60,0,71],
-"struct___remmina_s_f_t_p_client_class.html#ac7786b1cfca2fcc92c85f10e4939f80d":[60,0,71,0]
+"struct___remmina_s_f_t_p_client_class.html":[60,0,71]
};
diff --git a/public/navtreeindex15.js b/public/navtreeindex15.js
index 510b7b79d..5fb00df1f 100644
--- a/public/navtreeindex15.js
+++ b/public/navtreeindex15.js
@@ -1,5 +1,6 @@
var NAVTREEINDEX15 =
{
+"struct___remmina_s_f_t_p_client_class.html#ac7786b1cfca2fcc92c85f10e4939f80d":[60,0,71,0],
"struct___remmina_s_s_h.html":[60,0,72],
"struct___remmina_s_s_h.html#a0b35a5a573abb5e8b8a27a91434a00a5":[60,0,72,4],
"struct___remmina_s_s_h.html#a0b3e071eb2c6011efdcea3f65f8e7fa0":[60,0,72,5],
@@ -248,6 +249,5 @@ var NAVTREEINDEX15 =
"structlsb__distro__info.html":[60,0,86],
"structlsb__distro__info.html#a251763a49054183774e2082595537e47":[60,0,86,0],
"structlsb__distro__info.html#a7aba92d963bcaed1a5dda7b7be4fa6d7":[60,0,86,1],
-"structmpchanger__params.html":[60,0,87],
-"structmpchanger__params.html#a00a888f26c1609e064367bb5095c71f4":[60,0,87,13]
+"structmpchanger__params.html":[60,0,87]
};
diff --git a/public/navtreeindex16.js b/public/navtreeindex16.js
index 3c5b47b78..0355bb987 100644
--- a/public/navtreeindex16.js
+++ b/public/navtreeindex16.js
@@ -1,5 +1,6 @@
var NAVTREEINDEX16 =
{
+"structmpchanger__params.html#a00a888f26c1609e064367bb5095c71f4":[60,0,87,13],
"structmpchanger__params.html#a098952d194a183d4a505aa065797864b":[60,0,87,16],
"structmpchanger__params.html#a170ffe7965540ab152a4a95945482c87":[60,0,87,20],
"structmpchanger__params.html#a3cb4141ca61b0b9a5584239386dbbe46":[60,0,87,17],
@@ -248,6 +249,5 @@ var NAVTREEINDEX16 =
"structrf__context.html#aa79909e0ac140a3404151a40bed6a6ec":[60,0,113,34],
"structrf__context.html#aafce196b029d2578151275acd07ccb82":[60,0,113,24],
"structrf__context.html#ab5ffc4d8ba9d3d8a298414dc8e4efd2a":[60,0,113,30],
-"structrf__context.html#ac1f3330674d320c9d0ae408c551be6b8":[60,0,113,50],
-"structrf__context.html#acacad775c2c168f900deaa6c90481319":[60,0,113,51]
+"structrf__context.html#ac1f3330674d320c9d0ae408c551be6b8":[60,0,113,50]
};
diff --git a/public/navtreeindex17.js b/public/navtreeindex17.js
index 98cafb3a9..8c0bb5b58 100644
--- a/public/navtreeindex17.js
+++ b/public/navtreeindex17.js
@@ -1,5 +1,6 @@
var NAVTREEINDEX17 =
{
+"structrf__context.html#acacad775c2c168f900deaa6c90481319":[60,0,113,51],
"structrf__context.html#acee2095e72fb2428c498f62e21800026":[60,0,113,15],
"structrf__context.html#ad06c1d1a2295fbdf455df0250dfb2523":[60,0,113,9],
"structrf__context.html#ad4ea260ce64d09deea422b9067ee70b4":[60,0,113,25],
@@ -248,6 +249,5 @@ var NAVTREEINDEX17 =
"www__plugin_8c.html#aab3ceb1ae095823fcbee98ce2811b374":[61,0,169,7],
"www__plugin_8c.html#ab0a82693798a5534d8657ba9f7634057":[61,0,169,15],
"www__plugin_8c.html#abc7a556e81fb1152b1e9bc68406b983f":[61,0,169,12],
-"www__plugin_8c.html#ac6b72af8913086b2ec590a675473f2a1":[61,0,169,23],
-"www__plugin_8c.html#adb58ee650d75d952dd5802fbba9e9b0e":[61,0,169,9]
+"www__plugin_8c.html#ac6b72af8913086b2ec590a675473f2a1":[61,0,169,23]
};
diff --git a/public/navtreeindex18.js b/public/navtreeindex18.js
index 4f50b0866..7ac88aeb8 100644
--- a/public/navtreeindex18.js
+++ b/public/navtreeindex18.js
@@ -1,5 +1,6 @@
var NAVTREEINDEX18 =
{
+"www__plugin_8c.html#adb58ee650d75d952dd5802fbba9e9b0e":[61,0,169,9],
"www__plugin_8c.html#ae38b4f2efc412b6256221d9a33a03cd4":[61,0,169,19],
"www__plugin_8c.html#ae6ccaf3df9ea3201521eb62dd9943b00":[61,0,169,11],
"www__plugin_8c.html#ae8ced85169ca68aae1ed7f14b488e5b8":[61,0,169,25],
diff --git a/public/navtreeindex5.js b/public/navtreeindex5.js
index 1cc2529d5..f5bd10c34 100644
--- a/public/navtreeindex5.js
+++ b/public/navtreeindex5.js
@@ -155,7 +155,6 @@ var NAVTREEINDEX5 =
"remmina__file__editor_8c.html#a57224f3f69f04f398de563b71be6b18e":[61,0,80,41],
"remmina__file__editor_8c.html#a5ea3f796c3a46aeb01b2f13f4a3d40a9":[61,0,80,47],
"remmina__file__editor_8c.html#a6415f73260076747c4f933af7f9f4b38":[61,0,80,6],
-"remmina__file__editor_8c.html#a65b38bc13546d3d890624a79b080ffe9":[61,0,80,53],
"remmina__file__editor_8c.html#a6eb0bcee764064d6a7dd84c015d9ed4f":[61,0,80,24],
"remmina__file__editor_8c.html#a727f967cf81d4af3f953046b0c4cf08d":[61,0,80,19],
"remmina__file__editor_8c.html#a73b8581fd1fd77532b748d91a2951f25":[61,0,80,37],
@@ -174,7 +173,7 @@ var NAVTREEINDEX5 =
"remmina__file__editor_8c.html#aa5c50852f8569f075eec5d5db30c2ebf":[61,0,80,32],
"remmina__file__editor_8c.html#aa9345cfe3fb32d326b652e96ee55eaea":[61,0,80,34],
"remmina__file__editor_8c.html#aaa55ab55c6806aef6765eb01577365f3":[61,0,80,36],
-"remmina__file__editor_8c.html#aadf4d0ab51fe09231b48d4a2939564f7":[61,0,80,54],
+"remmina__file__editor_8c.html#aadf4d0ab51fe09231b48d4a2939564f7":[61,0,80,53],
"remmina__file__editor_8c.html#ab563344276cbcdf0fcea05b0b64c7aeb":[61,0,80,35],
"remmina__file__editor_8c.html#ab5d28ebef67a21099e99268bd6fa04aa":[61,0,80,9],
"remmina__file__editor_8c.html#ab6e562792eb63ec43ed7f9a4b6687c23":[61,0,80,20],
@@ -249,5 +248,6 @@ var NAVTREEINDEX5 =
"remmina__ftp__client_8c.html#a2aaef09531b1694c183a5ba530fcc2fa":[61,0,86,45],
"remmina__ftp__client_8c.html#a2e39a69f60d38b46bc603df0ae368aed":[61,0,86,21],
"remmina__ftp__client_8c.html#a33e4993b60c36eae89a6a0a943d28141":[61,0,86,43],
-"remmina__ftp__client_8c.html#a3872b49a2c0bea73d51d0500c5cee488":[61,0,86,16]
+"remmina__ftp__client_8c.html#a3872b49a2c0bea73d51d0500c5cee488":[61,0,86,16],
+"remmina__ftp__client_8c.html#a3a2dc5070f06ae0fcd25fbfe1587ab5c":[61,0,86,33]
};
diff --git a/public/navtreeindex6.js b/public/navtreeindex6.js
index f43d999fb..152931c29 100644
--- a/public/navtreeindex6.js
+++ b/public/navtreeindex6.js
@@ -1,6 +1,5 @@
var NAVTREEINDEX6 =
{
-"remmina__ftp__client_8c.html#a3a2dc5070f06ae0fcd25fbfe1587ab5c":[61,0,86,33],
"remmina__ftp__client_8c.html#a3cb68d802d3c35dff5cee970d3c33bd5":[61,0,86,61],
"remmina__ftp__client_8c.html#a437dba2fc4f44f119501e9b53c688dd1":[61,0,86,25],
"remmina__ftp__client_8c.html#a49d1fee26f8c7fb210b46d83f92b08e2":[61,0,86,13],
@@ -210,14 +209,14 @@ var NAVTREEINDEX6 =
"remmina__main_8c.html#a3c5043279b5d98d4d08635d33402ea66":[61,0,94,81],
"remmina__main_8c.html#a3d60de4c121cae0c82e60b13873073db":[61,0,94,62],
"remmina__main_8c.html#a40493bb60c169e53e2e08a0d0a808302":[61,0,94,63],
-"remmina__main_8c.html#a4477897686d091d6f57e7f9401674a8c":[61,0,94,85],
+"remmina__main_8c.html#a4477897686d091d6f57e7f9401674a8c":[61,0,94,86],
"remmina__main_8c.html#a44eb44c6391f53a19c6f1fdf9a39a8c1":[61,0,94,47],
"remmina__main_8c.html#a4a4733c243f20c3ffc27105003f5e30e":[61,0,94,16],
"remmina__main_8c.html#a4b4f0bbdb9e487d6c3809e8a57dc1d1c":[61,0,94,61],
"remmina__main_8c.html#a51880fc109db6457a5d0fc543c2deaf2":[61,0,94,77],
"remmina__main_8c.html#a52cc21537ff003b9d0fbdb9040c811af":[61,0,94,52],
"remmina__main_8c.html#a5445e5568a6fc04d08b620829a59334a":[61,0,94,44],
-"remmina__main_8c.html#a5ae0372dafe41f96a09097c07d1b270a":[61,0,94,86],
+"remmina__main_8c.html#a5ae0372dafe41f96a09097c07d1b270a":[61,0,94,87],
"remmina__main_8c.html#a5db4436cc72b9d5ea3e498f8519efecc":[61,0,94,55],
"remmina__main_8c.html#a627eb26ab02f0093365ed6b10dab0320":[61,0,94,34],
"remmina__main_8c.html#a6a466d0b07944e619bd9b0e473c8a5bd":[61,0,94,18],
@@ -235,10 +234,10 @@ var NAVTREEINDEX6 =
"remmina__main_8c.html#a847424fdb97ffe35d060409d4d738497":[61,0,94,30],
"remmina__main_8c.html#a85aa313453e0ecaa17bcce233973998d":[61,0,94,11],
"remmina__main_8c.html#a861de52d1b5ec54591d0592de6289d79":[61,0,94,68],
-"remmina__main_8c.html#a8ccd8303ada6e26880504fc58812fbda":[61,0,94,90],
-"remmina__main_8c.html#a8ebbcba2c07af0938b3c29e316747d12":[61,0,94,92],
+"remmina__main_8c.html#a8ccd8303ada6e26880504fc58812fbda":[61,0,94,91],
+"remmina__main_8c.html#a8ebbcba2c07af0938b3c29e316747d12":[61,0,94,93],
"remmina__main_8c.html#a91f22c2834ac7f38d201d8d678f8c57b":[61,0,94,39],
-"remmina__main_8c.html#a923b3e2712d969eb59d9291e99f933e8":[61,0,94,87],
+"remmina__main_8c.html#a923b3e2712d969eb59d9291e99f933e8":[61,0,94,88],
"remmina__main_8c.html#a95532ac6d110eeeb2e41d4b2a329797c":[61,0,94,14],
"remmina__main_8c.html#a9896df7a92402b5a61e58420235c515a":[61,0,94,59],
"remmina__main_8c.html#a9e60326026d7de56882bc83c0084fd12":[61,0,94,13],
@@ -247,7 +246,8 @@ var NAVTREEINDEX6 =
"remmina__main_8c.html#aa4d9b76d32fa500f4b9f39a19e4eaaf2":[61,0,94,66],
"remmina__main_8c.html#aac0bb51159be042fecab0103e73a54dc":[61,0,94,38],
"remmina__main_8c.html#aac3aa116a8d8b527f1aa61b7395b4b32":[61,0,94,54],
-"remmina__main_8c.html#aace9ecdd0b74d392ad6ed541bd605c1c":[61,0,94,89],
+"remmina__main_8c.html#aac3fe305e456dfa7bb55aa2f057e8cb0":[61,0,94,85],
+"remmina__main_8c.html#aace9ecdd0b74d392ad6ed541bd605c1c":[61,0,94,90],
"remmina__main_8c.html#ab08aae433b625c3a84330630fe2bd2d5":[61,0,94,83],
"remmina__main_8c.html#ab0d22f0e3571eb80886acb0c68005800":[61,0,94,23]
};
diff --git a/public/navtreeindex7.js b/public/navtreeindex7.js
index a2e5b45ea..632e2ccb4 100644
--- a/public/navtreeindex7.js
+++ b/public/navtreeindex7.js
@@ -2,7 +2,7 @@ var NAVTREEINDEX7 =
{
"remmina__main_8c.html#ab203476099a5ad6e889f91c8e05d577d":[61,0,94,60],
"remmina__main_8c.html#ab2a1a54320992fb796850ffbd6a63589":[61,0,94,82],
-"remmina__main_8c.html#ab7c680e1f6ffeef21cb928a083d36d89":[61,0,94,91],
+"remmina__main_8c.html#ab7c680e1f6ffeef21cb928a083d36d89":[61,0,94,92],
"remmina__main_8c.html#ab98d51c96a87fddaa2d5d6d4614bafa8":[61,0,94,53],
"remmina__main_8c.html#aba1a89a2400c5cc8373c6bd34602ac10":[61,0,94,21],
"remmina__main_8c.html#abcf8bd8ca57b389264ff9739a61efdc1":[61,0,94,51],
@@ -20,7 +20,7 @@ var NAVTREEINDEX7 =
"remmina__main_8c.html#aea426b2e8fc03f963bb2b98cb8649adf":[61,0,94,37],
"remmina__main_8c.html#aeb74f36e5fd58ceab9f13a184bfb2029":[61,0,94,64],
"remmina__main_8c.html#af129aea3f5f3ec56b061187a81d43e4c":[61,0,94,79],
-"remmina__main_8c.html#af146cc1f982c98a9c8a5ac43cc1508f3":[61,0,94,88],
+"remmina__main_8c.html#af146cc1f982c98a9c8a5ac43cc1508f3":[61,0,94,89],
"remmina__main_8c.html#af14b1942a754d7b2f5c10266208ebe01":[61,0,94,35],
"remmina__main_8c.html#af51fc7233eb2397a5074ba37b5c5275f":[61,0,94,71],
"remmina__main_8c.html#af56bada711b2fc9c50af83b8b62dfe8b":[61,0,94,49],
@@ -41,7 +41,7 @@ var NAVTREEINDEX7 =
"remmina__main_8h.html#a4d2d08c3fed3f72ea7f4c0600fec7ed5":[61,0,95,31],
"remmina__main_8h.html#a52cc21537ff003b9d0fbdb9040c811af":[61,0,95,21],
"remmina__main_8h.html#a5445e5568a6fc04d08b620829a59334a":[61,0,95,13],
-"remmina__main_8h.html#a5ae0372dafe41f96a09097c07d1b270a":[61,0,95,36],
+"remmina__main_8h.html#a5ae0372dafe41f96a09097c07d1b270a":[61,0,95,37],
"remmina__main_8h.html#a5db4436cc72b9d5ea3e498f8519efecc":[61,0,95,24],
"remmina__main_8h.html#a6b30ed832369f3a7153aa63f98873c9d":[61,0,95,15],
"remmina__main_8h.html#a6ed9f6a588a2d9e3a6cf6884c8d07f92":[61,0,95,12],
@@ -52,6 +52,7 @@ var NAVTREEINDEX7 =
"remmina__main_8h.html#a9896df7a92402b5a61e58420235c515a":[61,0,95,28],
"remmina__main_8h.html#aac0bb51159be042fecab0103e73a54dc":[61,0,95,7],
"remmina__main_8h.html#aac3aa116a8d8b527f1aa61b7395b4b32":[61,0,95,23],
+"remmina__main_8h.html#aac3fe305e456dfa7bb55aa2f057e8cb0":[61,0,95,36],
"remmina__main_8h.html#ab203476099a5ad6e889f91c8e05d577d":[61,0,95,29],
"remmina__main_8h.html#ab2a1a54320992fb796850ffbd6a63589":[61,0,95,34],
"remmina__main_8h.html#ab98d51c96a87fddaa2d5d6d4614bafa8":[61,0,95,22],
@@ -248,6 +249,5 @@ var NAVTREEINDEX7 =
"remmina__plugin__native_8h_source.html":[61,0,114],
"remmina__pref_8c.html":[61,0,115],
"remmina__pref_8c.html#a0208d5dc8197423da67e5967aafb7a05":[61,0,115,7],
-"remmina__pref_8c.html#a0296a8f5b359547a0aa4cbffb914edd3":[61,0,115,6],
-"remmina__pref_8c.html#a0dd25f5b3a055b936a5fa327bc71f19c":[61,0,115,19]
+"remmina__pref_8c.html#a0296a8f5b359547a0aa4cbffb914edd3":[61,0,115,6]
};
diff --git a/public/navtreeindex8.js b/public/navtreeindex8.js
index d2da6d94a..32265d7b5 100644
--- a/public/navtreeindex8.js
+++ b/public/navtreeindex8.js
@@ -1,5 +1,6 @@
var NAVTREEINDEX8 =
{
+"remmina__pref_8c.html#a0dd25f5b3a055b936a5fa327bc71f19c":[61,0,115,19],
"remmina__pref_8c.html#a10b667eb7a100d6ac8d9544697f22743":[61,0,115,28],
"remmina__pref_8c.html#a12e52ee4ab89912280605e36ee069267":[61,0,115,9],
"remmina__pref_8c.html#a1a695b64e75d6f49de220dc777e57714":[61,0,115,14],
@@ -248,6 +249,5 @@ var NAVTREEINDEX8 =
"remmina__protocol__widget_8h.html#a1585ea6908dd5c0a9b0f47d409916435":[61,0,120,39],
"remmina__protocol__widget_8h.html#a172fa9cf2ce196c9846a3e47ea9036b4":[61,0,120,77],
"remmina__protocol__widget_8h.html#a1cae52cad394f317c712eb4fd709d261":[61,0,120,72],
-"remmina__protocol__widget_8h.html#a2067c19b160eb43bddda6c6c6e8d6045":[61,0,120,35],
-"remmina__protocol__widget_8h.html#a2506e80d482c34532d0e534856452069":[61,0,120,22]
+"remmina__protocol__widget_8h.html#a2067c19b160eb43bddda6c6c6e8d6045":[61,0,120,35]
};
diff --git a/public/navtreeindex9.js b/public/navtreeindex9.js
index 160cfe6da..c916661c6 100644
--- a/public/navtreeindex9.js
+++ b/public/navtreeindex9.js
@@ -1,5 +1,6 @@
var NAVTREEINDEX9 =
{
+"remmina__protocol__widget_8h.html#a2506e80d482c34532d0e534856452069":[61,0,120,22],
"remmina__protocol__widget_8h.html#a2551dd6f53480609596d2695040fba5d":[61,0,120,78],
"remmina__protocol__widget_8h.html#a25bcb2ae99449624fed6f770218e3d25":[61,0,120,20],
"remmina__protocol__widget_8h.html#a262d75d6b535bd8c623e607805db4084":[61,0,120,50],
@@ -248,6 +249,5 @@ var NAVTREEINDEX9 =
"remmina__ssh_8c.html#ab8f07d5ab2ee8aa8423a11808b6cb100":[61,0,133,26],
"remmina__ssh_8c.html#abc556f0a4335083436f6e19c204fa553":[61,0,133,21],
"remmina__ssh_8c.html#ad6f3f5c196175412049af0c440414e65":[61,0,133,7],
-"remmina__ssh_8c.html#adfe0e9338fec4a1c03677595c15514d1":[61,0,133,18],
-"remmina__ssh_8c.html#af39f90e2343e62348226aed0d7496dda":[61,0,133,19]
+"remmina__ssh_8c.html#adfe0e9338fec4a1c03677595c15514d1":[61,0,133,18]
};
diff --git a/public/rcw_8c_source.html b/public/rcw_8c_source.html
index 3f5c049bc..2cddfcc68 100644
--- a/public/rcw_8c_source.html
+++ b/public/rcw_8c_source.html
@@ -117,7 +117,7 @@ $(document).ready(function(){initNavTree('rcw_8c_source.html','');});
<div class="ttc" id="rcw_8c_html_af657fd4825d16d8d003a8b42fbd0c715"><div class="ttname"><a href="rcw_8c.html#af657fd4825d16d8d003a8b42fbd0c715">remmina_pref_file</a></div><div class="ttdeci">gchar * remmina_pref_file</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l00078">rcw.c:78</a></div></div>
<div class="ttc" id="rcw_8c_html_af2f5c8716d84e6223a4b2cbc9efc532b"><div class="ttname"><a href="rcw_8c.html#af2f5c8716d84e6223a4b2cbc9efc532b">rcw_toolbar_fullscreen</a></div><div class="ttdeci">static void rcw_toolbar_fullscreen(GtkToolItem *toggle, RemminaConnectionWindow *cnnwin)</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l01351">rcw.c:1351</a></div></div>
<div class="ttc" id="rcw_8c_html_a8f8175377bfbda4794674e619ca0fa8b"><div class="ttname"><a href="rcw_8c.html#a8f8175377bfbda4794674e619ca0fa8b">rcw_on_switch_page</a></div><div class="ttdeci">static void rcw_on_switch_page(GtkNotebook *notebook, GtkWidget *newpage, guint page_num, RemminaConnectionWindow *cnnwin)</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l03653">rcw.c:3653</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a7740488de65c0e642895cc9dfba07b6e"><div class="ttname"><a href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a></div><div class="ttdeci">GtkWindow * remmina_main_get_window()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01718">remmina_main.c:1718</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a7740488de65c0e642895cc9dfba07b6e"><div class="ttname"><a href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a></div><div class="ttdeci">GtkWindow * remmina_main_get_window()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01736">remmina_main.c:1736</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_aaf355ea7103fc57a4cbc7b815cde2995"><div class="ttname"><a href="remmina__protocol__widget_8c.html#aaf355ea7103fc57a4cbc7b815cde2995">remmina_protocol_widget_get_width</a></div><div class="ttdeci">gint remmina_protocol_widget_get_width(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01389">remmina_protocol_widget.c:1389</a></div></div>
<div class="ttc" id="rcw_8c_html_acb1b2ab629603837e08f8d8de542316d"><div class="ttname"><a href="rcw_8c.html#acb1b2ab629603837e08f8d8de542316d">rcw_hostkey_func</a></div><div class="ttdeci">static gboolean rcw_hostkey_func(RemminaProtocolWidget *gp, guint keyval, gboolean release)</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l04053">rcw.c:4053</a></div></div>
<div class="ttc" id="remmina__scrolled__viewport_8c_html_a0ba56f429a9c1ec05b093f5f78be692c"><div class="ttname"><a href="remmina__scrolled__viewport_8c.html#a0ba56f429a9c1ec05b093f5f78be692c">remmina_scrolled_viewport_remove_motion</a></div><div class="ttdeci">void remmina_scrolled_viewport_remove_motion(RemminaScrolledViewport *gsv)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__scrolled__viewport_8c_source.html#l00190">remmina_scrolled_viewport.c:190</a></div></div>
@@ -168,7 +168,7 @@ $(document).ready(function(){initNavTree('rcw_8c_source.html','');});
<div class="ttc" id="plugin_8h_html_aaf53c620d115a4642130227cff4a624aa45e094c248384c12cdafd9d088e4aa24"><div class="ttname"><a href="plugin_8h.html#aaf53c620d115a4642130227cff4a624aa45e094c248384c12cdafd9d088e4aa24">REMMINA_PLUGIN_TYPE_PROTOCOL</a></div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00047">plugin.h:47</a></div></div>
<div class="ttc" id="struct___remmina_pref_html_ab0928bd64388cb1ced2f542d3b35019d"><div class="ttname"><a href="struct___remmina_pref.html#ab0928bd64388cb1ced2f542d3b35019d">_RemminaPref::default_mode</a></div><div class="ttdeci">gint default_mode</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8h_source.html#l00156">remmina_pref.h:156</a></div></div>
<div class="ttc" id="remmina__trace__calls_8h_html"><div class="ttname"><a href="remmina__trace__calls_8h.html">remmina_trace_calls.h</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_aacb1f47e5ad88086c1bda1b0a156c34d"><div class="ttname"><a href="remmina__message__panel_8c.html#aacb1f47e5ad88086c1bda1b0a156c34d">remmina_message_panel_focus_auth_entry</a></div><div class="ttdeci">void remmina_message_panel_focus_auth_entry(RemminaMessagePanel *mp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00652">remmina_message_panel.c:652</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_aacb1f47e5ad88086c1bda1b0a156c34d"><div class="ttname"><a href="remmina__message__panel_8c.html#aacb1f47e5ad88086c1bda1b0a156c34d">remmina_message_panel_focus_auth_entry</a></div><div class="ttdeci">void remmina_message_panel_focus_auth_entry(RemminaMessagePanel *mp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00656">remmina_message_panel.c:656</a></div></div>
<div class="ttc" id="rcw_8c_html_abd0a6de10dd92a8a84f24b8e66da5767"><div class="ttname"><a href="rcw_8c.html#abd0a6de10dd92a8a84f24b8e66da5767">rcw_scaler_keep_aspect</a></div><div class="ttdeci">static void rcw_scaler_keep_aspect(GtkWidget *widget, RemminaConnectionWindow *cnnwin)</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l01494">rcw.c:1494</a></div></div>
<div class="ttc" id="rcw_8c_html_a78e4acb7bd8b9e502442949ef6204f58"><div class="ttname"><a href="rcw_8c.html#a78e4acb7bd8b9e502442949ef6204f58">set_label_selectable</a></div><div class="ttdeci">static void set_label_selectable(gpointer data, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l04452">rcw.c:4452</a></div></div>
<div class="ttc" id="rcw_8c_html_a70d89903e3279a1650dc0684f26ed9c2"><div class="ttname"><a href="rcw_8c.html#a70d89903e3279a1650dc0684f26ed9c2">rcw_tb_drag_drop</a></div><div class="ttdeci">static gboolean rcw_tb_drag_drop(GtkWidget *widget, GdkDragContext *context, gint x, gint y, guint time, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l00786">rcw.c:786</a></div></div>
@@ -386,7 +386,7 @@ $(document).ready(function(){initNavTree('rcw_8c_source.html','');});
<div class="ttc" id="remmina__applet__menu_8h_html"><div class="ttname"><a href="remmina__applet__menu_8h.html">remmina_applet_menu.h</a></div></div>
<div class="ttc" id="rcw_8c_html_a93650a12c555e40554b8b8e7382f42a3"><div class="ttname"><a href="rcw_8c.html#a93650a12c555e40554b8b8e7382f42a3">rcw_toolbar_screenshot</a></div><div class="ttdeci">static void rcw_toolbar_screenshot(GtkToolItem *toggle, RemminaConnectionWindow *cnnwin)</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l02135">rcw.c:2135</a></div></div>
<div class="ttc" id="struct___remmina_connection_object_html_a871e61a40fb0acd54b10191a3942d328"><div class="ttname"><a href="struct___remmina_connection_object.html#a871e61a40fb0acd54b10191a3942d328">_RemminaConnectionObject::cnnwin</a></div><div class="ttdeci">RemminaConnectionWindow * cnnwin</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l00163">rcw.c:163</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_ae01d27ae9f678dc5a4fa32f0b401f434"><div class="ttname"><a href="remmina__message__panel_8c.html#ae01d27ae9f678dc5a4fa32f0b401f434">remmina_message_panel_setup_message</a></div><div class="ttdeci">void remmina_message_panel_setup_message(RemminaMessagePanel *mp, const gchar *message, RemminaMessagePanelCallback response_callback, gpointer response_callback_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00174">remmina_message_panel.c:174</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_ae01d27ae9f678dc5a4fa32f0b401f434"><div class="ttname"><a href="remmina__message__panel_8c.html#ae01d27ae9f678dc5a4fa32f0b401f434">remmina_message_panel_setup_message</a></div><div class="ttdeci">void remmina_message_panel_setup_message(RemminaMessagePanel *mp, const gchar *message, RemminaMessagePanelCallback response_callback, gpointer response_callback_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00175">remmina_message_panel.c:175</a></div></div>
<div class="ttc" id="remmina_8c_html_ab4a9a67c5372ff07b71d0558679ab7ae"><div class="ttname"><a href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a></div><div class="ttdeci">gboolean kioskmode</div><div class="ttdef"><b>Definition:</b> <a href="remmina_8c_source.html#l00087">remmina.c:87</a></div></div>
<div class="ttc" id="remmina__exec_8c_html_aaa67e07e2426828d7e7b9b30d2038d31"><div class="ttname"><a href="remmina__exec_8c.html#aaa67e07e2426828d7e7b9b30d2038d31">remmina_application_condexit</a></div><div class="ttdeci">void remmina_application_condexit(RemminaCondExitType why)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00123">remmina_exec.c:123</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a0b19dbe685e4465e7f06706270e120fa"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a0b19dbe685e4465e7f06706270e120fa">remmina_protocol_widget_set_expand</a></div><div class="ttdeci">void remmina_protocol_widget_set_expand(RemminaProtocolWidget *gp, gboolean expand)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01431">remmina_protocol_widget.c:1431</a></div></div>
@@ -426,7 +426,7 @@ $(document).ready(function(){initNavTree('rcw_8c_source.html','');});
<div class="ttc" id="rcw_8c_html_aef19b6cf1ddcd2f21eebca7f78890ef3"><div class="ttname"><a href="rcw_8c.html#aef19b6cf1ddcd2f21eebca7f78890ef3">rcw_toolbar_duplicate</a></div><div class="ttdeci">static void rcw_toolbar_duplicate(GtkToolItem *toggle, RemminaConnectionWindow *cnnwin)</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l02122">rcw.c:2122</a></div></div>
<div class="ttc" id="rcw_8c_html_a7189a0f1289a24fc5cc9fdfaf37244f3"><div class="ttname"><a href="rcw_8c.html#a7189a0f1289a24fc5cc9fdfaf37244f3">rcw_grab_focus</a></div><div class="ttdeci">void rcw_grab_focus(RemminaConnectionWindow *cnnwin)</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l03441">rcw.c:3441</a></div></div>
<div class="ttc" id="struct___remmina_pref_html_a7c139ee405d50330b1d9bfb646c0258c"><div class="ttname"><a href="struct___remmina_pref.html#a7c139ee405d50330b1d9bfb646c0258c">_RemminaPref::dark_theme</a></div><div class="ttdeci">gboolean dark_theme</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8h_source.html#l00149">remmina_pref.h:149</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_a7015155d2b1db3e74de4d4d5ef7cca55"><div class="ttname"><a href="remmina__message__panel_8c.html#a7015155d2b1db3e74de4d4d5ef7cca55">remmina_message_panel_new</a></div><div class="ttdeci">RemminaMessagePanel * remmina_message_panel_new()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00087">remmina_message_panel.c:87</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_a7015155d2b1db3e74de4d4d5ef7cca55"><div class="ttname"><a href="remmina__message__panel_8c.html#a7015155d2b1db3e74de4d4d5ef7cca55">remmina_message_panel_new</a></div><div class="ttdeci">RemminaMessagePanel * remmina_message_panel_new()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00088">remmina_message_panel.c:88</a></div></div>
<div class="ttc" id="rcw_8c_html_a45ecb24606954e4268f2f3c5d7e2e1e0"><div class="ttname"><a href="rcw_8c.html#a45ecb24606954e4268f2f3c5d7e2e1e0">rcw_scaler_option_popdown</a></div><div class="ttdeci">static void rcw_scaler_option_popdown(GtkWidget *widget, RemminaConnectionWindow *cnnwin)</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l01468">rcw.c:1468</a></div></div>
<div class="ttc" id="struct___remmina_pref_html_aad6660781f636788d5f05b3bac85d676"><div class="ttname"><a href="struct___remmina_pref.html#aad6660781f636788d5f05b3bac85d676">_RemminaPref::save_view_mode</a></div><div class="ttdeci">gboolean save_view_mode</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8h_source.html#l00140">remmina_pref.h:140</a></div></div>
<div class="ttc" id="remmina__pref_8h_html_a96a58e29e8dbf2b5bdeb775cba46556eadc41dc23d32d8955a469953bee975631"><div class="ttname"><a href="remmina__pref_8h.html#a96a58e29e8dbf2b5bdeb775cba46556eadc41dc23d32d8955a469953bee975631">REMMINA_TAB_NONE</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8h_source.html#l00087">remmina_pref.h:87</a></div></div>
diff --git a/public/remmina__exec_8c_source.html b/public/remmina__exec_8c_source.html
index 611522931..6a40a2732 100644
--- a/public/remmina__exec_8c_source.html
+++ b/public/remmina__exec_8c_source.html
@@ -89,7 +89,7 @@ $(document).ready(function(){initNavTree('remmina__exec_8c_source.html','');});
<a href="remmina__exec_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Remmina - The GTK+ Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2010 Vic Lee</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Copyright (C) 2016-2023 Antenore Gatta, Giovanni Panozzo</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * along with this program; if not, write to the Free Software</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> * In addition, as a special exception, the copyright holders give</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * permission to link the code of portions of this program with the</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * OpenSSL library under certain conditions as described in each</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * including the two.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * You must obey the GNU General Public License in all respects</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * for all of the code used other than OpenSSL. * If you modify</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * file(s) with this exception, you may extend this exception to your</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> * version of the file(s), but you are not obligated to do so. * If you</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> * do not wish to do so, delete this exception statement from your</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> * version. * If you delete this exception statement from all source</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> * files in the program, then also delete it here.</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &quot;config.h&quot;</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &quot;buildflags.h&quot;</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &lt;glib/gi18n.h&gt;</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina_8h.html">remmina.h</a>&quot;</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__main_8h.html">remmina_main.h</a>&quot;</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__log_8h.html">remmina_log.h</a>&quot;</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__pref_8h.html">remmina_pref.h</a>&quot;</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__widget__pool_8h.html">remmina_widget_pool.h</a>&quot;</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__unlock_8h.html">remmina_unlock.h</a>&quot;</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__pref__dialog_8h.html">remmina_pref_dialog.h</a>&quot;</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file_8h.html">remmina_file.h</a>&quot;</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file__manager_8h.html">remmina_file_manager.h</a>&quot;</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file__editor_8h.html">remmina_file_editor.h</a>&quot;</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="rcw_8h.html">rcw.h</a>&quot;</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__about_8h.html">remmina_about.h</a>&quot;</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__plugin__manager_8h.html">remmina_plugin_manager.h</a>&quot;</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__exec_8h.html">remmina_exec.h</a>&quot;</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__trace__calls_8h.html">remmina/remmina_trace_calls.h</a>&quot;</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file__manager_8h.html">remmina_file_manager.h</a>&quot;</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__crypt_8h.html">remmina_crypt.h</a>&quot;</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__icon_8h.html">remmina_icon.h</a>&quot;</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="preprocessor">#ifdef SNAP_BUILD</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="preprocessor"># define ISSNAP &quot;- SNAP Build -&quot;</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="preprocessor"># define ISSNAP &quot;-&quot;</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#a0ffd51ed283da4640c920e75e89e694a"> 67</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__exec_8c.html#a0ffd51ed283da4640c920e75e89e694a">cb_closewidget</a>(GtkWidget *widget, gpointer data)</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;{</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="comment">/* The correct way to close a rcw is to send</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"> * it a &quot;delete-event&quot; signal. Simply destroying it will not close</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"> * all network connections */</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">if</span> (REMMINA_IS_CONNECTION_WINDOW(widget))</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">return</span> <a class="code" href="rcw_8c.html#adae469553aa0647d0df5d88b180e7cd7">rcw_delete</a>(RCW(widget));</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;}</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#a93f5633a6348dc1df1a5723b3054a2a3"> 78</a></span>&#160;<span class="keyword">const</span> gchar* <a class="code" href="remmina__exec_8c.html#a93f5633a6348dc1df1a5723b3054a2a3">remmina_exec_get_build_config</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;{</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> gchar build_config[] =</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="stringliteral">&quot;Build configuration: &quot;</span> BUILD_CONFIG <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="stringliteral">&quot;Build type: &quot;</span> BUILD_TYPE <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="stringliteral">&quot;CFLAGS: &quot;</span> CFLAGS <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="stringliteral">&quot;Compiler: &quot;</span> COMPILER_ID <span class="stringliteral">&quot;, &quot;</span> COMPILER_VERSION <span class="stringliteral">&quot;\n&quot;</span></div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="stringliteral">&quot;Target architecture: &quot;</span> TARGET_ARCH <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">return</span> build_config;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;}</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#adbaf105af1039e44ba503a8d7174535f"> 89</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271">remmina_exec_exitremmina</a>()</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;{</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="comment">/* Save main window state/position */</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="remmina__main_8c.html#a009f32092bd1d8dcd8e783d25416f3df">remmina_main_save_before_destroy</a>();</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="comment">/* Delete all widgets, main window not included */</span></div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="remmina__widget__pool_8c.html#a53fad3994b2550300cfd4fd8bb2a2b5b">remmina_widget_pool_foreach</a>(<a class="code" href="remmina__exec_8c.html#a0ffd51ed283da4640c920e75e89e694a">cb_closewidget</a>, NULL);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBAPPINDICATOR</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="comment">/* Remove systray menu */</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <a class="code" href="remmina__icon_8c.html#a25b1d13f76ddf6a51836d780eda5fab1">remmina_icon_destroy</a>();</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="comment">/* close/destroy main window struct and window */</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="remmina__main_8c.html#a95532ac6d110eeeb2e41d4b2a329797c">remmina_main_destroy</a>();</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="comment">/* Exit from Remmina */</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; g_application_quit(g_application_get_default());</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;}</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#aacc2a2ffd19e56fcb3e4b025d180ab8f"> 111</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__exec_8c.html#aacc2a2ffd19e56fcb3e4b025d180ab8f">disable_rcw_delete_confirm_cb</a>(GtkWidget *widget, gpointer data)</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;{</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="struct___remmina_connection_window.html">RemminaConnectionWindow</a> *rcw;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">if</span> (REMMINA_IS_CONNECTION_WINDOW(widget)) {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; rcw = (<a class="code" href="struct___remmina_connection_window.html">RemminaConnectionWindow</a>*)widget;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="rcw_8c.html#a4204fcd726a60493b290dd5590ec693d">rcw_set_delete_confirm_mode</a>(rcw, <a class="code" href="rcw_8h.html#a2450dfe27d3ded59370ea879419f307fadd57127d30bc4755bf3a8323045922bc">RCW_ONDELETE_NOCONFIRM</a>);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; }</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;}</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#aaa67e07e2426828d7e7b9b30d2038d31"> 123</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__exec_8c.html#aaa67e07e2426828d7e7b9b30d2038d31">remmina_application_condexit</a>(<a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5">RemminaCondExitType</a> why)</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;{</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="comment">/* Exit remmina only if there are no interesting windows left:</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"> * no main window, no systray menu, no connection window.</span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> * This function is usually called after a disconnection */</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">switch</span> (why) {</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5a3272be70c922ec6a1eaf498461943c51">REMMINA_CONDEXIT_ONDISCONNECT</a>:</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="comment">// A connection has disconnected, should we exit remmina ?</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__widget__pool_8c.html#a9cbb5b8d01a6d44ba7b46434467c02f8">remmina_widget_pool_count</a>() &lt; 1 &amp;&amp; !<a class="code" href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a>() &amp;&amp; !<a class="code" href="remmina__icon_8c.html#a42f087b679b43b8a1d36cd9e9781a8b6">remmina_icon_is_available</a>())</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <a class="code" href="remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271">remmina_exec_exitremmina</a>();</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5ae79d14a54e119795478a6e390d7d3b40">REMMINA_CONDEXIT_ONMAINWINDELETE</a>:</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="comment">/* If we are in Kiosk mode, we just exit */</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> &amp;&amp; <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> == TRUE)</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <a class="code" href="remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271">remmina_exec_exitremmina</a>();</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="comment">// Main window has been deleted</span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__widget__pool_8c.html#a9cbb5b8d01a6d44ba7b46434467c02f8">remmina_widget_pool_count</a>() &lt; 1 &amp;&amp; !<a class="code" href="remmina__icon_8c.html#a42f087b679b43b8a1d36cd9e9781a8b6">remmina_icon_is_available</a>())</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271">remmina_exec_exitremmina</a>();</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5a94dfcc0fcf38aa8060ff843e40799284">REMMINA_CONDEXIT_ONQUIT</a>:</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="comment">// Quit command has been sent from main window or appindicator/systray menu</span></div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="comment">// quit means QUIT.</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="remmina__widget__pool_8c.html#a53fad3994b2550300cfd4fd8bb2a2b5b">remmina_widget_pool_foreach</a>(<a class="code" href="remmina__exec_8c.html#aacc2a2ffd19e56fcb3e4b025d180ab8f">disable_rcw_delete_confirm_cb</a>, NULL);</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271">remmina_exec_exitremmina</a>();</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; }</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;}</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#aca2d356a03e1aac7b716b408183aa305"> 155</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__exec_8c.html#aca2d356a03e1aac7b716b408183aa305">newline_remove</a>(<span class="keywordtype">char</span> *s)</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;{</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordtype">char</span> c;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">while</span>((c = *s) != 0 &amp;&amp; c != <span class="charliteral">&#39;\r&#39;</span> &amp;&amp; c != <span class="charliteral">&#39;\n&#39;</span>)</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; s++;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; *s = 0;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;}</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment">/* used for commandline parameter --update-profile X --set-option Y --set-option Z</span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> * return a status code for exit()</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a4e202866339a104ffdbfa519cfbcdca9"> 166</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="remmina__exec_8c.html#a4e202866339a104ffdbfa519cfbcdca9">remmina_exec_set_setting</a>(gchar *profilefilename, gchar **settings)</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;{</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordtype">int</span> i;</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; gchar **tk, *value = NULL;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordtype">char</span> *line = NULL;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordtype">size_t</span> len = 0;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; ssize_t read;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; gboolean abort = FALSE;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; remminafile = <a class="code" href="remmina__file__manager_8c.html#af7b58659604660eb0cb40b0e0f8348ab">remmina_file_manager_load_file</a>(profilefilename);</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">if</span> (!remminafile) {</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; g_print(<span class="stringliteral">&quot;Unable to open profile file %s\n&quot;</span>, profilefilename);</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">return</span> 2;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; }</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordflow">for</span>(i = 0; settings[i] != NULL &amp;&amp; !abort; i++) {</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordflow">if</span> (strlen(settings[i]) &gt; 0) {</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; tk = g_strsplit(settings[i], <span class="stringliteral">&quot;=&quot;</span>, 2);</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordflow">if</span> (tk[1] == NULL) {</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; read = getline(&amp;line, &amp;len, stdin);</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">if</span> (read &gt; 0) {</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <a class="code" href="remmina__exec_8c.html#aca2d356a03e1aac7b716b408183aa305">newline_remove</a>(line);</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; value = line;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; g_print(<span class="stringliteral">&quot;Error: an extra line of standard input is needed\n&quot;</span>);</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; abort = TRUE;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; }</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; } <span class="keywordflow">else</span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; value = tk[1];</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, tk[0], value);</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; g_strfreev(tk);</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; }</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; }</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">if</span> (line) free(line);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">if</span> (!abort) <a class="code" href="remmina__file_8c.html#a8c893a5deec9bc446bd89cc9973416c7">remmina_file_save</a>(remminafile);</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;}</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#ae3299f9cf136cb759dc052ee799b1f0d"> 210</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__exec_8c.html#ae3299f9cf136cb759dc052ee799b1f0d">remmina_exec_autostart_cb</a>(<a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile, gpointer user_data)</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;{</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(remminafile, <span class="stringliteral">&quot;enable-autostart&quot;</span>, FALSE)) {</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; REMMINA_DEBUG (<span class="stringliteral">&quot;Profile %s is set to autostart&quot;</span>, remminafile-&gt;filename);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <a class="code" href="rcw_8c.html#aa37f2a9c56df0ce1a0dbc32f8989e4b5">rcw_open_from_filename</a>(remminafile-&gt;filename);</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; }</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;}</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="remmina__exec_8c.html#ad4535dd84752c2943b8fb996ffcbcb58"> 221</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__exec_8c.html#ad4535dd84752c2943b8fb996ffcbcb58">remmina_exec_connect</a>(<span class="keyword">const</span> gchar *data)</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;{</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; gchar *protocol;</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; gchar **protocolserver;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; gchar *server;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; gchar **userat;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; gchar **userpass;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; gchar *user;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; gchar *password;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; gchar **domainuser;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; gchar **serverquery;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; gchar **querystring;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; gchar **querystringpart;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; gchar **querystringpartkv;</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; gchar *value;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; gchar *temp;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; GError *error = NULL;</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; protocol = NULL;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">if</span> (strncmp(<span class="stringliteral">&quot;rdp://&quot;</span>, data, 6) == 0 || strncmp(<span class="stringliteral">&quot;RDP://&quot;</span>, data, 6) == 0)</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; protocol = <span class="stringliteral">&quot;RDP&quot;</span>;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strncmp(<span class="stringliteral">&quot;vnc://&quot;</span>, data, 6) == 0 || strncmp(<span class="stringliteral">&quot;VNC://&quot;</span>, data, 6) == 0)</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; protocol = <span class="stringliteral">&quot;VNC&quot;</span>;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strncmp(<span class="stringliteral">&quot;ssh://&quot;</span>, data, 6) == 0 || strncmp(<span class="stringliteral">&quot;SSH://&quot;</span>, data, 6) == 0)</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; protocol = <span class="stringliteral">&quot;SSH&quot;</span>;</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strncmp(<span class="stringliteral">&quot;spice://&quot;</span>, data, 8) == 0 || strncmp(<span class="stringliteral">&quot;SPICE://&quot;</span>, data, 8) == 0)</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; protocol = <span class="stringliteral">&quot;SPICE&quot;</span>;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">if</span> (strncmp(<span class="stringliteral">&quot;file://&quot;</span>, data, 6) == 0) {</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; gchar *filename = g_filename_from_uri (data, NULL, &amp;error);</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">if</span> (filename != NULL) {</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <a class="code" href="rcw_8c.html#aa37f2a9c56df0ce1a0dbc32f8989e4b5">rcw_open_from_filename</a>(filename);</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; } <span class="keywordflow">else</span></div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; REMMINA_DEBUG (<span class="stringliteral">&quot;Opening URI %s failed with error %s&quot;</span>, data, error-&gt;message);</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; g_error_free(error);</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; }</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">if</span> (protocol == NULL) {</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <a class="code" href="rcw_8c.html#aa37f2a9c56df0ce1a0dbc32f8989e4b5">rcw_open_from_filename</a>(data);</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; }</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; protocolserver = g_strsplit(data, <span class="stringliteral">&quot;://&quot;</span>, 2);</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; server = g_strdup(protocolserver[1]);</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="comment">// Support loading .remmina files using handler</span></div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">if</span> ((temp = strrchr(server, <span class="charliteral">&#39;.&#39;</span>)) != NULL &amp;&amp; g_strcmp0(temp + 1, <span class="stringliteral">&quot;remmina&quot;</span>) == 0) {</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; g_strfreev(protocolserver);</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; temp = g_uri_unescape_string(server, NULL);</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; g_free(server);</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; server = temp;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <a class="code" href="rcw_8c.html#aa37f2a9c56df0ce1a0dbc32f8989e4b5">rcw_open_from_filename</a>(server);</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; }</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; remminafile = <a class="code" href="remmina__file_8c.html#a5e421ba636d34e21bba5ece463e98892">remmina_file_new</a>();</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="comment">// Check for username@server</span></div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordflow">if</span> ((strcmp(protocol, <span class="stringliteral">&quot;RDP&quot;</span>) == 0 || strcmp(protocol, <span class="stringliteral">&quot;VNC&quot;</span>) == 0 || strcmp(protocol, <span class="stringliteral">&quot;SSH&quot;</span>) == 0) &amp;&amp; strstr(server, <span class="stringliteral">&quot;@&quot;</span>) != NULL) {</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; userat = g_strsplit(server, <span class="stringliteral">&quot;@&quot;</span>, 2);</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="comment">// Check for username:password</span></div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keywordflow">if</span> (strstr(userat[0], <span class="stringliteral">&quot;:&quot;</span>) != NULL) {</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; userpass = g_strsplit(userat[0], <span class="stringliteral">&quot;:&quot;</span>, 2);</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; user = g_uri_unescape_string(userpass[0], NULL);</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; password = g_uri_unescape_string(userpass[1], NULL);</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="comment">// Try to decrypt the password field if it contains =</span></div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; temp = password != NULL &amp;&amp; strrchr(password, <span class="charliteral">&#39;=&#39;</span>) != NULL ? <a class="code" href="remmina__crypt_8c.html#a3fe2fa245d401146adf02a3a8f996ab9">remmina_crypt_decrypt</a>(password) : NULL;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">if</span> (temp != NULL) {</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; g_free(password);</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; password = temp;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; }</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;password&quot;</span>, password);</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; g_free(password);</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; g_strfreev(userpass);</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; user = g_uri_unescape_string(userat[0], NULL);</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; }</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="comment">// Check for domain\user for RDP connections</span></div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keywordflow">if</span> (strcmp(protocol, <span class="stringliteral">&quot;RDP&quot;</span>) == 0 &amp;&amp; strstr(user, <span class="stringliteral">&quot;\\&quot;</span>) != NULL) {</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; domainuser = g_strsplit(user, <span class="stringliteral">&quot;\\&quot;</span>, 2);</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;domain&quot;</span>, domainuser[0]);</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; g_free(user);</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; user = g_strdup(domainuser[1]);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; }</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;username&quot;</span>, user);</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; g_free(user);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; g_free(server);</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; server = g_strdup(userat[1]);</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; g_strfreev(userat);</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; }</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordflow">if</span> (strcmp(protocol, <span class="stringliteral">&quot;VNC&quot;</span>) == 0 &amp;&amp; strstr(server, <span class="stringliteral">&quot;?&quot;</span>) != NULL) {</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="comment">// https://tools.ietf.org/html/rfc7869</span></div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="comment">// VncUsername, VncPassword and ColorLevel supported for vnc-params</span></div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="comment">// Check for query string parameters</span></div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; serverquery = g_strsplit(server, <span class="stringliteral">&quot;?&quot;</span>, 2);</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; querystring = g_strsplit(serverquery[1], <span class="stringliteral">&quot;&amp;&quot;</span>, -1);</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <span class="keywordflow">for</span> (querystringpart = querystring; *querystringpart; querystringpart++) {</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">if</span> (strstr(*querystringpart, <span class="stringliteral">&quot;=&quot;</span>) == NULL)</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; querystringpartkv = g_strsplit(*querystringpart, <span class="stringliteral">&quot;=&quot;</span>, 2);</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; value = g_uri_unescape_string(querystringpartkv[1], NULL);</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordflow">if</span> (strcmp(querystringpartkv[0], <span class="stringliteral">&quot;VncPassword&quot;</span>) == 0) {</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="comment">// Try to decrypt password field if it contains =</span></div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; temp = value != NULL &amp;&amp; strrchr(value, <span class="charliteral">&#39;=&#39;</span>) != NULL ? <a class="code" href="remmina__crypt_8c.html#a3fe2fa245d401146adf02a3a8f996ab9">remmina_crypt_decrypt</a>(value) : NULL;</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordflow">if</span> (temp != NULL) {</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; g_free(value);</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; value = temp;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; }</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;password&quot;</span>, value);</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(querystringpartkv[0], <span class="stringliteral">&quot;VncUsername&quot;</span>) == 0) {</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;username&quot;</span>, value);</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(querystringpartkv[0], <span class="stringliteral">&quot;ColorLevel&quot;</span>) == 0) {</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;colordepth&quot;</span>, value);</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; }</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; g_free(value);</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; g_strfreev(querystringpartkv);</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; }</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; g_strfreev(querystring);</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; g_free(server);</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; server = g_strdup(serverquery[0]);</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; g_strfreev(serverquery);</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; }</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160;</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="comment">// Unescape server</span></div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; temp = g_uri_unescape_string(server, NULL);</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; g_free(server);</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; server = temp;</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;server&quot;</span>, server);</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;name&quot;</span>, server);</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;sound&quot;</span>, <span class="stringliteral">&quot;off&quot;</span>);</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;protocol&quot;</span>, protocol);</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; g_free(server);</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; g_strfreev(protocolserver);</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <a class="code" href="rcw_8c.html#a1b7a771392e15e527005305e71cc2546">rcw_open_from_file</a>(remminafile);</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;}</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160;</div><div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="remmina__exec_8h.html#a424cabdcff647797061e7482049d62a7"> 368</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0c">RemminaCommandType</a> command, <span class="keyword">const</span> gchar* data)</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;{</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; gchar *s1;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; gchar *s2;</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; gchar *temp;</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; GtkWindow *mainwindow;</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; GtkWidget *prefdialog;</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <a class="code" href="struct___remmina_entry_plugin.html">RemminaEntryPlugin</a> *plugin;</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordtype">int</span> i;</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordtype">int</span> ch;</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; mainwindow = <a class="code" href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a>();</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160;</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="keywordflow">switch</span> (command) {</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cacc1267f3834ff091be0587522f2182b8">REMMINA_COMMAND_AUTOSTART</a>:</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <a class="code" href="remmina__file__manager_8c.html#a55a717aafc046713380bd2c55f29165a">remmina_file_manager_iterate</a>((GFunc)<a class="code" href="remmina__exec_8c.html#ae3299f9cf136cb759dc052ee799b1f0d">remmina_exec_autostart_cb</a>, NULL);</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cae084d7c048c5eb5045210062b225f5e5">REMMINA_COMMAND_MAIN</a>:</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordflow">if</span> (mainwindow) {</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; gtk_window_present(mainwindow);</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; gtk_window_deiconify(GTK_WINDOW(mainwindow));</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; widget = <a class="code" href="remmina__main_8c.html#af14b1942a754d7b2f5c10266208ebe01">remmina_main_new</a>();</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; }</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca822f35bcbc0737231ada0aa4ecfcd704">REMMINA_COMMAND_PREF</a>:</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>)</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; &amp;&amp; <a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(mainwindow) == 0)</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; prefdialog = <a class="code" href="remmina__pref__dialog_8c.html#a9f24dad52fd8f57961ac7c5df58f251e">remmina_pref_dialog_get_dialog</a>();</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordflow">if</span> (prefdialog) {</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; gtk_window_present(GTK_WINDOW(prefdialog));</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; gtk_window_deiconify(GTK_WINDOW(prefdialog));</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <span class="comment">/* Create a new preference dialog */</span></div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; widget = <a class="code" href="remmina__pref__dialog_8c.html#ab09f64d25a5a016281a56edca7e2d70a">remmina_pref_dialog_new</a>(atoi(data), NULL);</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; }</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca2b493ae3acf856c484831767169c41b7">REMMINA_COMMAND_NEW</a>:</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;lock_edit&quot;</span>)</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; &amp;&amp; <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>))</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(mainwindow) == 0)</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; s1 = (data ? strchr(data, <span class="charliteral">&#39;,&#39;</span>) : NULL);</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="keywordflow">if</span> (s1) {</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; s1 = g_strdup(data);</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; s2 = strchr(s1, <span class="charliteral">&#39;,&#39;</span>);</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; *s2++ = <span class="charliteral">&#39;\0&#39;</span>;</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#ab563344276cbcdf0fcea05b0b64c7aeb">remmina_file_editor_new_full</a>(s2, s1);</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; g_free(s1);</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#ab563344276cbcdf0fcea05b0b64c7aeb">remmina_file_editor_new_full</a>(NULL, data);</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; }</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160;</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca3b100b365ea4c523dba34c3a1233e33d">REMMINA_COMMAND_CONNECT</a>:</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; REMMINA_DEBUG (<span class="stringliteral">&quot;Initiating connection&quot;</span>);</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;lock_connect&quot;</span>)</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; &amp;&amp; <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>))</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(mainwindow) == 0)</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <a class="code" href="remmina__exec_8c.html#ad4535dd84752c2943b8fb996ffcbcb58">remmina_exec_connect</a>(data);</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0caddf76fb98da2a8a197974ac1237dfb65">REMMINA_COMMAND_EDIT</a>:</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;lock_edit&quot;</span>)</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; &amp;&amp; <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>))</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(mainwindow) == 0)</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#aa9345cfe3fb32d326b652e96ee55eaea">remmina_file_editor_new_from_filename</a>(data);</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="keywordflow">if</span> (widget)</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cacce474bb2b63053b884cc9e639d4372b">REMMINA_COMMAND_ABOUT</a>:</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <a class="code" href="remmina__about_8c.html#a3ad768979e0945a162018c6d596c90f4">remmina_about_open</a>(NULL);</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0caa436b39160d5ab6b73f6758dc5c30c06">REMMINA_COMMAND_VERSION</a>:</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; mainwindow = <a class="code" href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a>();</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <span class="keywordflow">if</span> (mainwindow) {</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <a class="code" href="remmina__about_8c.html#a3ad768979e0945a162018c6d596c90f4">remmina_about_open</a>(NULL);</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; g_print(<span class="stringliteral">&quot;%s %s %s (git %s)\n&quot;</span>, g_get_application_name(), ISSNAP, VERSION, REMMINA_GIT_REVISION);</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <span class="comment">/* As we do not use the &quot;handle-local-options&quot; signal, we have to exit Remmina */</span></div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca5815f1d3742909a0a2a61664ad35300a">REMMINA_COMMAND_EXIT</a>, NULL);</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; }</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160;</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cab9f0b4fd42775c1d2b2311e0b9692885">REMMINA_COMMAND_FULL_VERSION</a>:</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; mainwindow = <a class="code" href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a>();</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <span class="keywordflow">if</span> (mainwindow) {</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <span class="comment">/* Show th widget with the list of plugins and versions */</span></div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <a class="code" href="remmina__plugin__manager_8c.html#aedec4e9cf18d99a559aa51065c2bc276">remmina_plugin_manager_show</a>(mainwindow);</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; g_print(<span class="stringliteral">&quot;\n%s %s %s (git %s)\n\n&quot;</span>, g_get_application_name(), ISSNAP, VERSION, REMMINA_GIT_REVISION);</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160;</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; <a class="code" href="remmina__plugin__manager_8c.html#afe0881986b2a64bfb5460981dadcf28d">remmina_plugin_manager_show_stdout</a>();</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; g_print(<span class="stringliteral">&quot;\n%s\n&quot;</span>, <a class="code" href="remmina__exec_8c.html#a93f5633a6348dc1df1a5723b3054a2a3">remmina_exec_get_build_config</a>());</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <a class="code" href="remmina__exec_8c.html#a424cabdcff647797061e7482049d62a7">remmina_exec_command</a>(<a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca5815f1d3742909a0a2a61664ad35300a">REMMINA_COMMAND_EXIT</a>, NULL);</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; }</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160;</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160;</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cabb2bf3aea0dd6f02ba402ec12a6ccbad">REMMINA_COMMAND_PLUGIN</a>:</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; plugin = (<a class="code" href="struct___remmina_entry_plugin.html">RemminaEntryPlugin</a>*)<a class="code" href="remmina__plugin__manager_8c.html#a3872c8656a8a3d5147bcc603471c1932">remmina_plugin_manager_get_plugin</a>(<a class="code" href="plugin_8h.html#aaf53c620d115a4642130227cff4a624aae2648710d57bdd48a15a95e9c4cc234e">REMMINA_PLUGIN_TYPE_ENTRY</a>, data);</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keywordflow">if</span> (plugin) {</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; plugin-&gt;<a class="code" href="struct___remmina_entry_plugin.html#afb2a9a6ff9289c08eccaaec0962f3c19">entry_func</a>(plugin);</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; widget = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; _(<span class="stringliteral">&quot;Plugin %s is not registered.&quot;</span>), data);</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;response&quot;</span>, G_CALLBACK(gtk_widget_destroy), NULL);</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <a class="code" href="remmina__widget__pool_8c.html#ae3c9c9853eb5bedbfeadbfac1d495b95">remmina_widget_pool_register</a>(widget);</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; }</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160;</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cab4e4dc22219fe0323279276222efb0b5">REMMINA_COMMAND_ENCRYPT_PASSWORD</a>:</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; i = 0;</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; g_print(<span class="stringliteral">&quot;Enter the password you want to encrypt: &quot;</span>);</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; temp = (<span class="keywordtype">char</span> *)g_malloc(255 * <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>));</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="keywordflow">while</span> ((ch = getchar()) != EOF &amp;&amp; ch != <span class="charliteral">&#39;\n&#39;</span>) {</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="keywordflow">if</span> (i &lt; 254) {</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; temp[i] = ch;</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; i++;</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; }</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; }</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; temp[i] = <span class="charliteral">&#39;\0&#39;</span>;</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; s1 = <a class="code" href="remmina__crypt_8c.html#aa02cf0fed3eb68d6a89815c3ba3bf7b1">remmina_crypt_encrypt</a>(temp);</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; s2 = g_uri_escape_string(s1, NULL, TRUE);</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; g_print(<span class="stringliteral">&quot;\nEncrypted password: %s\n\n&quot;</span>, s1);</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; g_print(<span class="stringliteral">&quot;Usage:\n&quot;</span>);</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; g_print(<span class="stringliteral">&quot;rdp://username:%s@server\n&quot;</span>, s1);</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; g_print(<span class="stringliteral">&quot;vnc://username:%s@server\n&quot;</span>, s1);</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; g_print(<span class="stringliteral">&quot;vnc://server?VncUsername=user\\&amp;VncPassword=%s\n&quot;</span>, s2);</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; g_free(s1);</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; g_free(s2);</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; g_free(temp);</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <a class="code" href="remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271">remmina_exec_exitremmina</a>();</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160;</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0ca5815f1d3742909a0a2a61664ad35300a">REMMINA_COMMAND_EXIT</a>:</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <a class="code" href="remmina__widget__pool_8c.html#a53fad3994b2550300cfd4fd8bb2a2b5b">remmina_widget_pool_foreach</a>(<a class="code" href="remmina__exec_8c.html#aacc2a2ffd19e56fcb3e4b025d180ab8f">disable_rcw_delete_confirm_cb</a>, NULL);</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <a class="code" href="remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271">remmina_exec_exitremmina</a>();</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160;</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; }</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160;}</div><div class="ttc" id="remmina__exec_8c_html_a4e202866339a104ffdbfa519cfbcdca9"><div class="ttname"><a href="remmina__exec_8c.html#a4e202866339a104ffdbfa519cfbcdca9">remmina_exec_set_setting</a></div><div class="ttdeci">int remmina_exec_set_setting(gchar *profilefilename, gchar **settings)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00166">remmina_exec.c:166</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8h_html"><div class="ttname"><a href="remmina__plugin__manager_8h.html">remmina_plugin_manager.h</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_ae9dfd6986f18cb3d846a4933ac792fd5"><div class="ttname"><a href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5">RemminaCondExitType</a></div><div class="ttdeci">RemminaCondExitType</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00058">remmina_exec.h:58</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a7740488de65c0e642895cc9dfba07b6e"><div class="ttname"><a href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a></div><div class="ttdeci">GtkWindow * remmina_main_get_window()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01718">remmina_main.c:1718</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a7740488de65c0e642895cc9dfba07b6e"><div class="ttname"><a href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a></div><div class="ttdeci">GtkWindow * remmina_main_get_window()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01736">remmina_main.c:1736</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_a23616cb0334a45c2b477be6efd45ee0cab9f0b4fd42775c1d2b2311e0b9692885"><div class="ttname"><a href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cab9f0b4fd42775c1d2b2311e0b9692885">REMMINA_COMMAND_FULL_VERSION</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00051">remmina_exec.h:51</a></div></div>
<div class="ttc" id="remmina__file__manager_8h_html"><div class="ttname"><a href="remmina__file__manager_8h.html">remmina_file_manager.h</a></div></div>
<div class="ttc" id="remmina__crypt_8c_html_a3fe2fa245d401146adf02a3a8f996ab9"><div class="ttname"><a href="remmina__crypt_8c.html#a3fe2fa245d401146adf02a3a8f996ab9">remmina_crypt_decrypt</a></div><div class="ttdeci">gchar * remmina_crypt_decrypt(const gchar *str)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__crypt_8c_source.html#l00134">remmina_crypt.c:134</a></div></div>
@@ -104,8 +104,8 @@ $(document).ready(function(){initNavTree('remmina__exec_8c_source.html','');});
<div class="ttc" id="remmina__pref__dialog_8h_html"><div class="ttname"><a href="remmina__pref__dialog_8h.html">remmina_pref_dialog.h</a></div></div>
<div class="ttc" id="remmina__about_8h_html"><div class="ttname"><a href="remmina__about_8h.html">remmina_about.h</a></div></div>
<div class="ttc" id="remmina__icon_8c_html_a42f087b679b43b8a1d36cd9e9781a8b6"><div class="ttname"><a href="remmina__icon_8c.html#a42f087b679b43b8a1d36cd9e9781a8b6">remmina_icon_is_available</a></div><div class="ttdeci">gboolean remmina_icon_is_available(void)</div><div class="ttdoc">Determine whenever the Remmina icon is available. </div><div class="ttdef"><b>Definition:</b> <a href="remmina__icon_8c_source.html#l00318">remmina_icon.c:318</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_ab563344276cbcdf0fcea05b0b64c7aeb"><div class="ttname"><a href="remmina__file__editor_8c.html#ab563344276cbcdf0fcea05b0b64c7aeb">remmina_file_editor_new_full</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new_full(const gchar *server, const gchar *protocol)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l02040">remmina_file_editor.c:2040</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_af14b1942a754d7b2f5c10266208ebe01"><div class="ttname"><a href="remmina__main_8c.html#af14b1942a754d7b2f5c10266208ebe01">remmina_main_new</a></div><div class="ttdeci">GtkWidget * remmina_main_new(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01634">remmina_main.c:1634</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_ab563344276cbcdf0fcea05b0b64c7aeb"><div class="ttname"><a href="remmina__file__editor_8c.html#ab563344276cbcdf0fcea05b0b64c7aeb">remmina_file_editor_new_full</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new_full(const gchar *server, const gchar *protocol)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l02025">remmina_file_editor.c:2025</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_af14b1942a754d7b2f5c10266208ebe01"><div class="ttname"><a href="remmina__main_8c.html#af14b1942a754d7b2f5c10266208ebe01">remmina_main_new</a></div><div class="ttdeci">GtkWidget * remmina_main_new(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01652">remmina_main.c:1652</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a009f32092bd1d8dcd8e783d25416f3df"><div class="ttname"><a href="remmina__main_8c.html#a009f32092bd1d8dcd8e783d25416f3df">remmina_main_save_before_destroy</a></div><div class="ttdeci">void remmina_main_save_before_destroy()</div><div class="ttdoc">Save the Remmina Main Window size and the expanded group before to close Remmina. ...</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00180">remmina_main.c:180</a></div></div>
<div class="ttc" id="remmina__exec_8c_html_a93f5633a6348dc1df1a5723b3054a2a3"><div class="ttname"><a href="remmina__exec_8c.html#a93f5633a6348dc1df1a5723b3054a2a3">remmina_exec_get_build_config</a></div><div class="ttdeci">const gchar * remmina_exec_get_build_config(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00078">remmina_exec.c:78</a></div></div>
<div class="ttc" id="remmina__main_8h_html"><div class="ttname"><a href="remmina__main_8h.html">remmina_main.h</a></div></div>
@@ -129,7 +129,7 @@ $(document).ready(function(){initNavTree('remmina__exec_8c_source.html','');});
<div class="ttc" id="remmina__exec_8c_html_a206abe0e916081b29c5faa52330e2271"><div class="ttname"><a href="remmina__exec_8c.html#a206abe0e916081b29c5faa52330e2271">remmina_exec_exitremmina</a></div><div class="ttdeci">void remmina_exec_exitremmina()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8c_source.html#l00089">remmina_exec.c:89</a></div></div>
<div class="ttc" id="remmina__pref_8c_html_a9a8d02227eb703bccc3f9296a5d89d6f"><div class="ttname"><a href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a></div><div class="ttdeci">gboolean remmina_pref_get_boolean(const gchar *key)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8c_source.html#l01151">remmina_pref.c:1151</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_a23616cb0334a45c2b477be6efd45ee0cacc1267f3834ff091be0587522f2182b8"><div class="ttname"><a href="remmina__exec_8h.html#a23616cb0334a45c2b477be6efd45ee0cacc1267f3834ff091be0587522f2182b8">REMMINA_COMMAND_AUTOSTART</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00054">remmina_exec.h:54</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_aa9345cfe3fb32d326b652e96ee55eaea"><div class="ttname"><a href="remmina__file__editor_8c.html#aa9345cfe3fb32d326b652e96ee55eaea">remmina_file_editor_new_from_filename</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new_from_filename(const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l02073">remmina_file_editor.c:2073</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_aa9345cfe3fb32d326b652e96ee55eaea"><div class="ttname"><a href="remmina__file__editor_8c.html#aa9345cfe3fb32d326b652e96ee55eaea">remmina_file_editor_new_from_filename</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new_from_filename(const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l02058">remmina_file_editor.c:2058</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a95532ac6d110eeeb2e41d4b2a329797c"><div class="ttname"><a href="remmina__main_8c.html#a95532ac6d110eeeb2e41d4b2a329797c">remmina_main_destroy</a></div><div class="ttdeci">void remmina_main_destroy()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00193">remmina_main.c:193</a></div></div>
<div class="ttc" id="remmina__file_8c_html_a5e421ba636d34e21bba5ece463e98892"><div class="ttname"><a href="remmina__file_8c.html#a5e421ba636d34e21bba5ece463e98892">remmina_file_new</a></div><div class="ttdeci">RemminaFile * remmina_file_new(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00093">remmina_file.c:93</a></div></div>
<div class="ttc" id="rcw_8h_html"><div class="ttname"><a href="rcw_8h.html">rcw.h</a></div></div>
diff --git a/public/remmina__file_8c_source.html b/public/remmina__file_8c_source.html
index 415e66860..7412f6e50 100644
--- a/public/remmina__file_8c_source.html
+++ b/public/remmina__file_8c_source.html
@@ -122,7 +122,7 @@ $(document).ready(function(){initNavTree('remmina__file_8c_source.html','');});
<div class="ttc" id="struct___remmina_secret_plugin_html"><div class="ttname"><a href="struct___remmina_secret_plugin.html">_RemminaSecretPlugin</a></div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00135">plugin.h:135</a></div></div>
<div class="ttc" id="remmina__file_8c_html_afd8b12f3d84b4e201b9f465d5b8e0d03"><div class="ttname"><a href="remmina__file_8c.html#afd8b12f3d84b4e201b9f465d5b8e0d03">remmina_file_format_properties</a></div><div class="ttdeci">gchar * remmina_file_format_properties(RemminaFile *remminafile, const gchar *setting)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00561">remmina_file.c:561</a></div></div>
<div class="ttc" id="remmina__file_8c_html_a1399e5b83aa040b6613cf98be45b4c99"><div class="ttname"><a href="remmina__file_8c.html#a1399e5b83aa040b6613cf98be45b4c99">find_protocol_setting</a></div><div class="ttdeci">const RemminaProtocolSetting * find_protocol_setting(const gchar *name, RemminaProtocolPlugin *protocol_plugin)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00235">remmina_file.c:235</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a5ae0372dafe41f96a09097c07d1b270a"><div class="ttname"><a href="remmina__main_8c.html#a5ae0372dafe41f96a09097c07d1b270a">remmina_main_update_file_datetime</a></div><div class="ttdeci">void remmina_main_update_file_datetime(RemminaFile *file)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01730">remmina_main.c:1730</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a5ae0372dafe41f96a09097c07d1b270a"><div class="ttname"><a href="remmina__main_8c.html#a5ae0372dafe41f96a09097c07d1b270a">remmina_main_update_file_datetime</a></div><div class="ttdeci">void remmina_main_update_file_datetime(RemminaFile *file)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01748">remmina_main.c:1748</a></div></div>
<div class="ttc" id="struct___remmina_protocol_plugin_html_a8a4c7d195e85a1428abf82e952ff4df3"><div class="ttname"><a href="struct___remmina_protocol_plugin.html#a8a4c7d195e85a1428abf82e952ff4df3">_RemminaProtocolPlugin::icon_name_ssh</a></div><div class="ttdeci">const gchar * icon_name_ssh</div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00073">plugin.h:73</a></div></div>
<div class="ttc" id="remmina__file_8c_html_aba0aa663aaad89e4df41b42259d29841"><div class="ttname"><a href="remmina__file_8c.html#aba0aa663aaad89e4df41b42259d29841">remmina_file_get_state_int</a></div><div class="ttdeci">gint remmina_file_get_state_int(RemminaFile *remminafile, const gchar *setting, gint default_value)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00615">remmina_file.c:615</a></div></div>
<div class="ttc" id="remmina__file_8c_html_a493ffa77b862ff3bad9ea951592715a8"><div class="ttname"><a href="remmina__file_8c.html#a493ffa77b862ff3bad9ea951592715a8">remmina_file_state_last_success</a></div><div class="ttdeci">void remmina_file_state_last_success(RemminaFile *remminafile)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00948">remmina_file.c:948</a></div></div>
@@ -135,7 +135,7 @@ $(document).ready(function(){initNavTree('remmina__file_8c_source.html','');});
<div class="ttc" id="remmina__log_8h_html"><div class="ttname"><a href="remmina__log_8h.html">remmina_log.h</a></div></div>
<div class="ttc" id="remmina__crypt_8c_html_aa02cf0fed3eb68d6a89815c3ba3bf7b1"><div class="ttname"><a href="remmina__crypt_8c.html#aa02cf0fed3eb68d6a89815c3ba3bf7b1">remmina_crypt_encrypt</a></div><div class="ttdeci">gchar * remmina_crypt_encrypt(const gchar *str)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__crypt_8c_source.html#l00093">remmina_crypt.c:93</a></div></div>
<div class="ttc" id="remmina__file_8c_html_ad2cf2ab34ab748bb984005fdd579d113"><div class="ttname"><a href="remmina__file_8c.html#ad2cf2ab34ab748bb984005fdd579d113">remmina_file_get_state_double</a></div><div class="ttdeci">gdouble remmina_file_get_state_double(RemminaFile *remminafile, const gchar *setting, gdouble default_value)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00655">remmina_file.c:655</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_ad99b9c0bf2fa8c166a8b4a09e06ffdf7"><div class="ttname"><a href="remmina__main_8c.html#ad99b9c0bf2fa8c166a8b4a09e06ffdf7">remmina_main_show_warning_dialog</a></div><div class="ttdeci">void remmina_main_show_warning_dialog(const gchar *message)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01747">remmina_main.c:1747</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_ad99b9c0bf2fa8c166a8b4a09e06ffdf7"><div class="ttname"><a href="remmina__main_8c.html#ad99b9c0bf2fa8c166a8b4a09e06ffdf7">remmina_main_show_warning_dialog</a></div><div class="ttdeci">void remmina_main_show_warning_dialog(const gchar *message)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01765">remmina_main.c:1765</a></div></div>
<div class="ttc" id="remmina__pref_8h_html_ab48899087cc647f0f791ed0c459adc53a0378e0f09c7bc6fd7f8d95b3827ad561"><div class="ttname"><a href="remmina__pref_8h.html#ab48899087cc647f0f791ed0c459adc53a0378e0f09c7bc6fd7f8d95b3827ad561">RM_ENC_MODE_SODIUM_SENSITIVE</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8h_source.html#l00095">remmina_pref.h:95</a></div></div>
<div class="ttc" id="remmina__file_8c_html_af153b0d289ac93f6ecdaa15d5f3b9b8c"><div class="ttname"><a href="remmina__file_8c.html#af153b0d289ac93f6ecdaa15d5f3b9b8c">remmina_file_set_int</a></div><div class="ttdeci">void remmina_file_set_int(RemminaFile *remminafile, const gchar *setting, gint value)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00585">remmina_file.c:585</a></div></div>
<div class="ttc" id="remmina__file_8c_html_a89ec355adbf6e03ad16d7faf810af46f"><div class="ttname"><a href="remmina__file_8c.html#a89ec355adbf6e03ad16d7faf810af46f">remmina_file_get_keyfile</a></div><div class="ttdeci">static GKeyFile * remmina_file_get_keyfile(RemminaFile *remminafile)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00680">remmina_file.c:680</a></div></div>
diff --git a/public/remmina__file__editor_8c.html b/public/remmina__file__editor_8c.html
index b04584269..0f6327ca6 100644
--- a/public/remmina__file__editor_8c.html
+++ b/public/remmina__file__editor_8c.html
@@ -119,8 +119,6 @@ Functions</h2></td></tr>
<tr class="separator:a8a7f3ce69255bf413ef8fa841af3d019"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7edb004da0ecc48277c1b656f2649ae"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remmina__file__editor_8c.html#af7edb004da0ecc48277c1b656f2649ae">remmina_file_editor_create_server</a> (<a class="el" href="remmina__file__editor_8h.html#a16a58b48a99ec5a073a5fc6f5b0d9498">RemminaFileEditor</a> *gfe, const <a class="el" href="types_8h.html#a41c04d02e6a15ad17be8065453cc4933">RemminaProtocolSetting</a> *setting, GtkWidget *grid, gint row)</td></tr>
<tr class="separator:af7edb004da0ecc48277c1b656f2649ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a65b38bc13546d3d890624a79b080ffe9"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remmina__file__editor_8c.html#a65b38bc13546d3d890624a79b080ffe9">remmina_file_toggle_password_view</a> (GtkWidget *widget, gpointer data)</td></tr>
-<tr class="separator:a65b38bc13546d3d890624a79b080ffe9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54d3b1890fcf67c2f7615e37f27f7583"><td class="memItemLeft" align="right" valign="top">static GtkWidget *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remmina__file__editor_8c.html#a54d3b1890fcf67c2f7615e37f27f7583">remmina_file_editor_create_password</a> (<a class="el" href="remmina__file__editor_8h.html#a16a58b48a99ec5a073a5fc6f5b0d9498">RemminaFileEditor</a> *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, const gchar *value, gchar *setting_name)</td></tr>
<tr class="separator:a54d3b1890fcf67c2f7615e37f27f7583"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51a45d872a9e7a0b06d25aef592a6e3a"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remmina__file__editor_8c.html#a51a45d872a9e7a0b06d25aef592a6e3a">remmina_file_editor_update_resolution</a> (GtkWidget *widget, <a class="el" href="remmina__file__editor_8h.html#a16a58b48a99ec5a073a5fc6f5b0d9498">RemminaFileEditor</a> *gfe)</td></tr>
@@ -319,7 +317,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00542">542</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00527">527</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -377,7 +375,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01864">1864</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01849">1849</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -433,7 +431,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01314">1314</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01299">1299</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -461,7 +459,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01091">1091</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01076">1076</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -529,7 +527,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00758">758</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00743">743</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -606,7 +604,7 @@ Variables</h2></td></tr>
<p>Create checkbox + gtk_file_chooser for open files and select folders. </p>
<p>The code is wrong, because if the checkbox is not active, the value should be set to NULL and remove it from the remmina file. The problem is that this function knows nothing about the remmina file. This should be rewritten in a more generic way Please use REMMINA_PROTOCOL_SETTING_TYPE_TEXT </p>
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00786">786</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00771">771</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -680,7 +678,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00735">735</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00720">720</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -760,7 +758,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00891">891</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00876">876</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -840,7 +838,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00849">849</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00834">834</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -992,7 +990,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00493">493</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00478">478</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -1042,7 +1040,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00558">558</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00543">543</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -1116,7 +1114,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00713">713</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00698">698</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -1210,7 +1208,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00936">936</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00921">921</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -1248,7 +1246,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01146">1146</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01131">1131</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -1316,7 +1314,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00671">671</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00656">656</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -1396,7 +1394,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00637">637</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00622">622</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -1464,7 +1462,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00680">680</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00665">665</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -1550,7 +1548,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00838">838</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00823">823</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -1588,7 +1586,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01874">1874</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01859">1859</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -1608,7 +1606,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01891">1891</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01876">1876</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -1636,7 +1634,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01799">1799</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01784">1784</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -1684,7 +1682,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00824">824</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00809">809</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -1728,7 +1726,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01842">1842</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01827">1827</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -1748,7 +1746,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l02034">2034</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l02019">2019</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -1768,7 +1766,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l02054">2054</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l02039">2039</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -1788,7 +1786,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01905">1905</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01890">1890</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -1808,7 +1806,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l02073">2073</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l02058">2058</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -1838,7 +1836,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l02040">2040</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l02025">2025</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -1876,7 +1874,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01793">1793</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01778">1778</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -1914,7 +1912,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01744">1744</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01729">1729</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -1952,7 +1950,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01686">1686</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01671">1671</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -2028,7 +2026,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01724">1724</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01709">1709</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -2067,7 +2065,7 @@ Variables</h2></td></tr>
</div><div class="memdoc">
<p>: Call remmina_file_editor_on_save </p>
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01766">1766</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01751">1751</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -2105,7 +2103,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01351">1351</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01336">1336</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -2133,7 +2131,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01395">1395</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01380">1380</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -2161,7 +2159,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01409">1409</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01394">1394</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -2338,7 +2336,7 @@ TODO: Responsive text size and line wrap. </p>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01631">1631</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01616">1616</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -2376,7 +2374,7 @@ TODO: Responsive text size and line wrap. </p>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00530">530</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00515">515</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -2414,7 +2412,7 @@ TODO: Responsive text size and line wrap. </p>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01535">1535</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01520">1520</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -2464,7 +2462,7 @@ TODO: Responsive text size and line wrap. </p>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01457">1457</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01442">1442</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -2502,44 +2500,6 @@ TODO: Responsive text size and line wrap. </p>
</div>
</div>
-<a id="a65b38bc13546d3d890624a79b080ffe9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a65b38bc13546d3d890624a79b080ffe9">&#9670;&nbsp;</a></span>remmina_file_toggle_password_view()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">static void remmina_file_toggle_password_view </td>
- <td>(</td>
- <td class="paramtype">GtkWidget *&#160;</td>
- <td class="paramname"><em>widget</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">gpointer&#160;</td>
- <td class="paramname"><em>data</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">static</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l00476">476</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
-
-</div>
-</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="aadf4d0ab51fe09231b48d4a2939564f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aadf4d0ab51fe09231b48d4a2939564f7">&#9670;&nbsp;</a></span>ssh_tunnel_auth_list</h2>
@@ -2562,7 +2522,7 @@ TODO: Responsive text size and line wrap. </p>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">=</div><div class="line">{</div><div class="line"> <span class="stringliteral">&quot;0&quot;</span>, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Password&quot;</span>),</div><div class="line"> <span class="stringliteral">&quot;1&quot;</span>, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;SSH identity file&quot;</span>),</div><div class="line"> <span class="stringliteral">&quot;2&quot;</span>, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;SSH agent&quot;</span>),</div><div class="line"> <span class="stringliteral">&quot;3&quot;</span>, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Public key (automatic)&quot;</span>),</div><div class="line"> <span class="stringliteral">&quot;4&quot;</span>, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Kerberos (GSSAPI)&quot;</span>),</div><div class="line"> NULL</div><div class="line">}</div><div class="ttc" id="vnc__plugin_8c_html_ab96ef9227ecef94018f2729f72e7651e"><div class="ttname"><a href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a></div><div class="ttdeci">N_(&quot;Unable to connect to VNC server&quot;)</div><div class="ttdef"><b>Definition:</b> <a href="vnc__plugin_8c_source.html#l00953">vnc_plugin.c:953</a></div></div>
</div><!-- fragment -->
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01135">1135</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01120">1120</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
diff --git a/public/remmina__file__editor_8c.js b/public/remmina__file__editor_8c.js
index 6d15e9736..516223861 100644
--- a/public/remmina__file__editor_8c.js
+++ b/public/remmina__file__editor_8c.js
@@ -53,6 +53,5 @@ var remmina__file__editor_8c =
[ "remmina_file_editor_update_settings", "remmina__file__editor_8c.html#ac4aed08e645f690ef347adec9cdbb9b9", null ],
[ "remmina_file_editor_validate_settings", "remmina__file__editor_8c.html#a8c1924fd32be943136d147e8dedb3eca", null ],
[ "remmina_file_get_double", "remmina__file__editor_8c.html#a471a1f5ab14197b626f84ec3128e87d4", null ],
- [ "remmina_file_toggle_password_view", "remmina__file__editor_8c.html#a65b38bc13546d3d890624a79b080ffe9", null ],
[ "ssh_tunnel_auth_list", "remmina__file__editor_8c.html#aadf4d0ab51fe09231b48d4a2939564f7", null ]
]; \ No newline at end of file
diff --git a/public/remmina__file__editor_8c_source.html b/public/remmina__file__editor_8c_source.html
index 1848a5bbe..f69e63829 100644
--- a/public/remmina__file__editor_8c_source.html
+++ b/public/remmina__file__editor_8c_source.html
@@ -86,7 +86,7 @@ $(document).ready(function(){initNavTree('remmina__file__editor_8c_source.html',
<div class="title">remmina_file_editor.c</div> </div>
</div><!--header-->
<div class="contents">
-<a href="remmina__file__editor_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Remmina - The GTK+ Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2009-2011 Vic Lee</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Copyright (C) 2016-2023 Antenore Gatta, Giovanni Panozzo</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * along with this program; if not, write to the Free Software</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> * In addition, as a special exception, the copyright holders give</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * permission to link the code of portions of this program with the</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * OpenSSL library under certain conditions as described in each</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * including the two.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * You must obey the GNU General Public License in all respects</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * for all of the code used other than OpenSSL. * If you modify</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * file(s) with this exception, you may extend this exception to your</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> * version of the file(s), but you are not obligated to do so. * If you</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> * do not wish to do so, delete this exception statement from your</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> * version. * If you delete this exception statement from all source</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> * files in the program, then also delete it here.</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;ctype.h&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &quot;config.h&quot;</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBAVAHI_UI</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &lt;avahi-ui/avahi-ui.h&gt;</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__public_8h.html">remmina_public.h</a>&quot;</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__pref_8h.html">remmina_pref.h</a>&quot;</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="rcw_8h.html">rcw.h</a>&quot;</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__trace__calls_8h.html">remmina/remmina_trace_calls.h</a>&quot;</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file_8h.html">remmina_file.h</a>&quot;</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file__editor_8h.html">remmina_file_editor.h</a>&quot;</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file__manager_8h.html">remmina_file_manager.h</a>&quot;</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__icon_8h.html">remmina_icon.h</a>&quot;</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__main_8h.html">remmina_main.h</a>&quot;</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__plugin__manager_8h.html">remmina_plugin_manager.h</a>&quot;</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__pref__dialog_8h.html">remmina_pref_dialog.h</a>&quot;</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__ssh_8h.html">remmina_ssh.h</a>&quot;</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__string__list_8h.html">remmina_string_list.h</a>&quot;</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__unlock_8h.html">remmina_unlock.h</a>&quot;</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__widget__pool_8h.html">remmina_widget_pool.h</a>&quot;</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#abb7466f51c11427405a54c94767a52de"> 58</a></span>&#160;<a class="code" href="remmina__file__editor_8c.html#abb7466f51c11427405a54c94767a52de">G_DEFINE_TYPE</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a>, remmina_file_editor, GTK_TYPE_DIALOG)</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> gchar *server_tips = <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;&lt;big&gt;&quot;</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="stringliteral">&quot;Supported formats\n&quot;</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="stringliteral">&quot;• server\n&quot;</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="stringliteral">&quot;• server[:port]\n&quot;</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="stringliteral">&quot;VNC additional formats\n&quot;</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="stringliteral">&quot;• ID:repeater ID number\n&quot;</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="stringliteral">&quot;• unix:///path/socket.sock&quot;</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="stringliteral">&quot;&lt;/big&gt;&quot;</span>);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> gchar *cmd_tips = <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;&lt;big&gt;&quot;</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="stringliteral">&quot;• command in PATH args %h\n&quot;</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="stringliteral">&quot;• /path/to/foo -options %h %u\n&quot;</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="stringliteral">&quot;• %h is substituted with the server name\n&quot;</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="stringliteral">&quot;• %t is substituted with the SSH server name\n&quot;</span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="stringliteral">&quot;• %u is substituted with the username\n&quot;</span></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="stringliteral">&quot;• %U is substituted with the SSH username\n&quot;</span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="stringliteral">&quot;• %p is substituted with Remmina profile name\n&quot;</span></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="stringliteral">&quot;• %g is substituted with Remmina profile group name\n&quot;</span></div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="stringliteral">&quot;• %d is substituted with local date and time in ISO 8601 format\n&quot;</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="stringliteral">&quot;Do not run in background if you want the command to be executed before connecting.\n&quot;</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="stringliteral">&quot;&lt;/big&gt;&quot;</span>);</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBSSH</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> gchar *server_tips2 = <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;&lt;big&gt;&quot;</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="stringliteral">&quot;Supported formats\n&quot;</span></div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="stringliteral">&quot;• server\n&quot;</span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="stringliteral">&quot;• server[:port]\n&quot;</span></div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="stringliteral">&quot;• username@server[:port] (SSH protocol only)&quot;</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="stringliteral">&quot;&lt;/big&gt;&quot;</span>);</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="keyword">struct </span>_RemminaFileEditorPriv {</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> * remmina_file;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="code" href="struct___remmina_protocol_plugin.html">RemminaProtocolPlugin</a> * plugin;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keyword">const</span> gchar * avahi_service_type;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; GtkWidget * name_entry;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; GtkWidget * labels_entry;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; GtkWidget * group_combo;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; GtkWidget * protocol_combo;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; GtkWidget * save_button;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; GtkWidget * config_box;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; GtkWidget * config_scrollable;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; GtkWidget * config_viewport;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; GtkWidget * config_container;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; GtkWidget * server_combo;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; GtkWidget * resolution_iws_radio;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; GtkWidget * resolution_auto_radio;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; GtkWidget * resolution_custom_radio;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; GtkWidget * resolution_custom_combo;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; GtkWidget * keymap_combo;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; GtkWidget * behavior_autostart_check;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; GtkWidget * behavior_precommand_entry;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; GtkWidget * behavior_postcommand_entry;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; GtkWidget * behavior_lock_check;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; GtkWidget * ssh_tunnel_enabled_check;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; GtkWidget * ssh_tunnel_loopback_check;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; GtkWidget * ssh_tunnel_server_default_radio;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; GtkWidget * ssh_tunnel_server_custom_radio;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; GtkWidget * ssh_tunnel_server_entry;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; GtkWidget * ssh_tunnel_auth_agent_radio;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; GtkWidget * ssh_tunnel_auth_password_radio;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; GtkWidget * ssh_tunnel_auth_password;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; GtkWidget * ssh_tunnel_passphrase;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; GtkWidget * ssh_tunnel_auth_publickey_radio;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; GtkWidget * ssh_tunnel_auth_auto_publickey_radio;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; GtkWidget * ssh_tunnel_auth_combo;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; GtkWidget * ssh_tunnel_username_entry;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; GtkWidget * ssh_tunnel_privatekey_chooser;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; GtkWidget * ssh_tunnel_certfile_chooser;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; GHashTable * setting_widgets;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;};</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a7f1406c817183d78a801668a10d73e0b"> 138</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a7f1406c817183d78a801668a10d73e0b">remmina_file_editor_class_init</a>(<a class="code" href="struct___remmina_file_editor_class.html">RemminaFileEditorClass</a> *klass)</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;{</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;}</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a2808be66552b252210e1c3b76530cd11"> 158</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a2808be66552b252210e1c3b76530cd11">remmina_file_editor_show_validation_error_popup</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> * gfe,</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; GtkWidget * failed_widget,</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; GError * err)</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;{</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">if</span> (!err) {</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; err = NULL; <span class="comment">// g_set_error doesn&#39;t like overwriting errors.</span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; g_set_error(&amp;err, 1, 1, _(<span class="stringliteral">&quot;Input is invalid.&quot;</span>));</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; }</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">if</span> (!gfe || !failed_widget) {</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; g_critical(<span class="stringliteral">&quot;(%s): Parameters RemminaFileEditor &#39;gfe&#39; or &quot;</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="stringliteral">&quot;GtkWidget* &#39;failed_widget&#39; are &#39;NULL&#39;!&quot;</span>,</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; __func__);</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; }</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; gint widget_width = gtk_widget_get_allocated_width(failed_widget);</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; gint widget_height = gtk_widget_get_allocated_height(failed_widget);</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; GtkWidget *err_label = gtk_label_new(<span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; GtkWidget *alert_icon = NULL;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; GtkWindow *err_window = GTK_WINDOW(gtk_window_new(GTK_WINDOW_TOPLEVEL));</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; GdkWindow *window = gtk_widget_get_window(failed_widget);</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; GtkAllocation allocation;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; gint failed_widget_x, failed_widget_y;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; gchar *markup = g_strdup_printf(<span class="stringliteral">&quot;&lt;span size=&#39;large&#39;&gt;%s&lt;/span&gt;&quot;</span>, err-&gt;message);</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="comment">// Setup err_window</span></div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; gtk_window_set_decorated(err_window, FALSE);</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; gtk_window_set_type_hint(err_window, GDK_WINDOW_TYPE_HINT_TOOLTIP);</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; gtk_window_set_default_size(err_window, widget_width, widget_height);</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; gtk_window_set_title(err_window, <span class="stringliteral">&quot;Error&quot;</span>);</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; gtk_window_set_resizable(err_window, TRUE);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="comment">// Move err_window under failed_widget</span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; gtk_window_set_attached_to(err_window, failed_widget);</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; gtk_window_set_transient_for(err_window, GTK_WINDOW(gfe));</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; gdk_window_get_origin(GDK_WINDOW(window), &amp;failed_widget_x, &amp;failed_widget_y);</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; gtk_widget_get_allocation(failed_widget, &amp;allocation);</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; failed_widget_x += allocation.x;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; failed_widget_y += allocation.y + allocation.height;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; gtk_window_move(err_window, failed_widget_x, failed_widget_y);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="comment">// Setup label</span></div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; gtk_label_set_selectable(GTK_LABEL(err_label), FALSE);</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; gtk_label_set_max_width_chars(GTK_LABEL(err_label), 1);</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; gtk_widget_set_hexpand(GTK_WIDGET(err_label), TRUE);</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; gtk_widget_set_vexpand(GTK_WIDGET(err_label), TRUE);</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; gtk_label_set_ellipsize(GTK_LABEL(err_label), PANGO_ELLIPSIZE_END);</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; gtk_label_set_line_wrap(GTK_LABEL(err_label), TRUE);</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; gtk_label_set_line_wrap_mode(GTK_LABEL(err_label), PANGO_WRAP_WORD_CHAR);</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; gtk_label_set_markup(GTK_LABEL(err_label), markup);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; alert_icon = gtk_image_new_from_icon_name(<span class="stringliteral">&quot;dialog-warning-symbolic&quot;</span>,</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; GTK_ICON_SIZE_DND);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="comment">// Fill icon and label into a box.</span></div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; gtk_box_pack_start(GTK_BOX(box), GTK_WIDGET(alert_icon), FALSE, FALSE, 0);</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; gtk_box_pack_start(GTK_BOX(box), GTK_WIDGET(err_label), TRUE, TRUE, 5);</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="comment">// Attach box to err_window</span></div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; gtk_container_add(GTK_CONTAINER(err_window), GTK_WIDGET(box));</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="comment">// Display everything.</span></div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; gtk_widget_show_all(GTK_WIDGET(err_window));</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="comment">// Mouse click and focus-loss will delete the err_window.</span></div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; g_signal_connect(G_OBJECT(err_window), <span class="stringliteral">&quot;focus-out-event&quot;</span>,</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; G_CALLBACK(gtk_window_close), NULL);</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; g_signal_connect(G_OBJECT(err_window), <span class="stringliteral">&quot;button-press-event&quot;</span>,</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; G_CALLBACK(gtk_window_close), NULL);</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;}</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBAVAHI_UI</span></div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;</div><div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#aa3acf0470349d706d15fa751e982fd05"> 236</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#aa3acf0470349d706d15fa751e982fd05">remmina_file_editor_browse_avahi</a>(GtkWidget *button, <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;{</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; GtkWidget *dialog;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; gchar *host;</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; dialog = aui_service_dialog_new(_(<span class="stringliteral">&quot;Choose a Remote Desktop Server&quot;</span>),</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; GTK_WINDOW(gfe),</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; _(<span class="stringliteral">&quot;_Cancel&quot;</span>), GTK_RESPONSE_CANCEL,</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; _(<span class="stringliteral">&quot;_OK&quot;</span>), GTK_RESPONSE_ACCEPT,</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; NULL);</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(gfe));</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; aui_service_dialog_set_resolve_service(AUI_SERVICE_DIALOG(dialog), TRUE);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; aui_service_dialog_set_resolve_host_name(AUI_SERVICE_DIALOG(dialog), TRUE);</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; aui_service_dialog_set_browse_service_types(AUI_SERVICE_DIALOG(dialog),</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;avahi_service_type, NULL);</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">if</span> (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) {</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; host = g_strdup_printf(<span class="stringliteral">&quot;[%s]:%i&quot;</span>,</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; aui_service_dialog_get_host_name(AUI_SERVICE_DIALOG(dialog)),</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; aui_service_dialog_get_port(AUI_SERVICE_DIALOG(dialog)));</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; host = NULL;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; }</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; gtk_widget_destroy(dialog);</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordflow">if</span> (host) {</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; gtk_entry_set_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;server_combo))), host);</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; g_free(host);</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; }</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;}</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a880e8e6aee571b91eeb7f5d2f60e210b"> 270</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a880e8e6aee571b91eeb7f5d2f60e210b">remmina_file_editor_on_realize</a>(GtkWidget *widget, gpointer user_data)</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;{</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; GtkWidget *defaultwidget;</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; gfe = REMMINA_FILE_EDITOR(widget);</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; defaultwidget = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;server_combo;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">if</span> (defaultwidget) {</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">if</span> (GTK_IS_EDITABLE(defaultwidget))</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; gtk_editable_select_region(GTK_EDITABLE(defaultwidget), 0, -1);</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; gtk_widget_grab_focus(defaultwidget);</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; }</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;}</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;</div><div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a6eb0bcee764064d6a7dd84c015d9ed4f"> 287</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a6eb0bcee764064d6a7dd84c015d9ed4f">remmina_file_editor_destroy</a>(GtkWidget *widget, gpointer data)</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;{</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <a class="code" href="remmina__file_8c.html#abd2f06bf0a5ddcf7156e5ef7d0c8d4d7">remmina_file_free</a>(REMMINA_FILE_EDITOR(widget)-&gt;priv-&gt;remmina_file);</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; g_hash_table_destroy(REMMINA_FILE_EDITOR(widget)-&gt;priv-&gt;setting_widgets);</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; g_free(REMMINA_FILE_EDITOR(widget)-&gt;priv);</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;}</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a112a0fd5bf7d5693b9cb717c850637cb"> 295</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a112a0fd5bf7d5693b9cb717c850637cb">remmina_file_editor_button_on_toggled</a>(GtkToggleButton *togglebutton, GtkWidget *widget)</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;{</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; gtk_widget_set_sensitive(widget, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(togglebutton)));</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;}</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;</div><div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a3df3718727200d865f9f977435db30ea"> 301</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a3df3718727200d865f9f977435db30ea">remmina_file_editor_create_notebook_container</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160;{</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="comment">/* Create the notebook */</span></div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_container = gtk_notebook_new();</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_viewport = gtk_viewport_new(NULL, NULL);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_scrollable = gtk_scrolled_window_new(NULL, NULL);</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; gtk_container_set_border_width(GTK_CONTAINER(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_scrollable), 2);</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_scrollable),</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; gtk_widget_show(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_scrollable);</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; gtk_container_add(GTK_CONTAINER(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_viewport), gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_container);</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; gtk_container_set_border_width(GTK_CONTAINER(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_viewport), 2);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; gtk_widget_show(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_viewport);</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; gtk_container_add(GTK_CONTAINER(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_scrollable), gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_viewport);</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; gtk_container_set_border_width(GTK_CONTAINER(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_container), 2);</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; gtk_widget_show(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_container);</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; gtk_container_add(GTK_CONTAINER(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_box), gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_scrollable);</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;}</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;</div><div class="line"><a name="l00323"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#aecbc005c39cdf4fab4779090f11a3556"> 323</a></span>&#160;<span class="keyword">static</span> GtkWidget *<a class="code" href="remmina__file__editor_8c.html#aecbc005c39cdf4fab4779090f11a3556">remmina_file_editor_create_notebook_tab</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe,</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keyword">const</span> gchar *stock_id, <span class="keyword">const</span> gchar *label, gint rows, gint cols)</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;{</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; GtkWidget *tablabel;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; GtkWidget *tabbody;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; GtkWidget *grid;</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; tablabel = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; gtk_widget_show(tablabel);</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; widget = gtk_image_new_from_icon_name(stock_id, GTK_ICON_SIZE_BUTTON);</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; gtk_box_pack_start(GTK_BOX(tablabel), widget, FALSE, FALSE, 0);</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; widget = gtk_label_new(label);</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; gtk_box_pack_start(GTK_BOX(tablabel), widget, FALSE, FALSE, 0);</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; tabbody = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; gtk_widget_show(tabbody);</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; gtk_notebook_append_page(GTK_NOTEBOOK(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_container), tabbody, tablabel);</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; grid = gtk_grid_new();</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; gtk_widget_show(grid);</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; gtk_grid_set_row_spacing(GTK_GRID(grid), 8);</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; gtk_grid_set_column_spacing(GTK_GRID(grid), 8);</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; gtk_container_set_border_width(GTK_CONTAINER(grid), 15);</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; gtk_box_pack_start(GTK_BOX(tabbody), grid, FALSE, FALSE, 0);</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160;</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keywordflow">return</span> grid;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;}</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBSSH</span></div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;</div><div class="line"><a name="l00359"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a5ea3f796c3a46aeb01b2f13f4a3d40a9"> 359</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a5ea3f796c3a46aeb01b2f13f4a3d40a9">remmina_file_editor_ssh_tunnel_server_custom_radio_on_toggled</a>(GtkToggleButton *togglebutton, <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;{</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_server_entry),</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_enabled_check)) &amp;&amp;</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; (gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_server_custom_radio == NULL ||</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_server_custom_radio))));</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;}</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160;</div><div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a8a7f3ce69255bf413ef8fa841af3d019"> 368</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a8a7f3ce69255bf413ef8fa841af3d019">remmina_file_editor_ssh_tunnel_enabled_check_on_toggled</a>(GtkToggleButton *togglebutton,</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, <a class="code" href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7">RemminaProtocolSSHSetting</a> ssh_setting)</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;{</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; gboolean enabled = TRUE;</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; gchar *p;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keyword">const</span> gchar *cp;</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keyword">const</span> gchar *s = NULL;</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordflow">if</span> (gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_enabled_check) {</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; enabled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_enabled_check));</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="keywordflow">if</span> (gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_loopback_check)</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_loopback_check), enabled);</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="keywordflow">if</span> (gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_server_default_radio)</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_server_default_radio), enabled);</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keywordflow">if</span> (gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_server_custom_radio)</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_server_custom_radio), enabled);</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a5ea3f796c3a46aeb01b2f13f4a3d40a9">remmina_file_editor_ssh_tunnel_server_custom_radio_on_toggled</a>(NULL, gfe);</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; p = <a class="code" href="remmina__public_8c.html#af1679d83834c8409f23e00c555d677fb">remmina_public_combo_get_active_text</a>(GTK_COMBO_BOX(priv-&gt;protocol_combo));</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="comment">// if (!(g_strcmp0(p, &quot;SFTP&quot;) == 0 || g_strcmp0(p, &quot;SSH&quot;) == 0)) {</span></div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_username_entry), enabled);</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_auth_password), enabled);</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_auth_combo), enabled);</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_privatekey_chooser), enabled);</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_certfile_chooser), enabled);</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="comment">//}</span></div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; g_free(p);</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; }</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="comment">// remmina_file_editor_ssh_tunnel_auth_publickey_radio_on_toggled(NULL, gfe);</span></div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; s = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_privatekey&quot;</span>);</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keywordflow">if</span> (s)</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_privatekey_chooser), s);</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; s = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_certfile&quot;</span>);</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordflow">if</span> (s)</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_certfile_chooser), s);</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordflow">if</span> (gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_username_entry)</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <span class="keywordflow">if</span> (enabled &amp;&amp; gtk_entry_get_text(GTK_ENTRY(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_username_entry))[0] == <span class="charliteral">&#39;\0&#39;</span>) {</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; cp = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_username&quot;</span>);</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; gtk_entry_set_text(GTK_ENTRY(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_username_entry), cp ? cp : <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; }</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160;</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keywordflow">if</span> (gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_auth_password) {</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="keywordflow">if</span> (enabled &amp;&amp; gtk_entry_get_text(GTK_ENTRY(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_auth_password))[0] == <span class="charliteral">&#39;\0&#39;</span>) {</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; cp = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_password&quot;</span>);</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; gtk_entry_set_text(GTK_ENTRY(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_auth_password), cp ? cp : <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; }</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; }</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="keywordflow">if</span> (gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_passphrase) {</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="keywordflow">if</span> (enabled &amp;&amp; gtk_entry_get_text(GTK_ENTRY(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_passphrase))[0] == <span class="charliteral">&#39;\0&#39;</span>) {</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; cp = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_passphrase&quot;</span>);</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; gtk_entry_set_text(GTK_ENTRY(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_passphrase), cp ? cp : <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; }</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; }</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160;}</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160;</div><div class="line"><a name="l00427"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#af7edb004da0ecc48277c1b656f2649ae"> 427</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#af7edb004da0ecc48277c1b656f2649ae">remmina_file_editor_create_server</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, <span class="keyword">const</span> <a class="code" href="struct___remmina_protocol_setting.html">RemminaProtocolSetting</a> *setting, GtkWidget *grid,</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; gint row)</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160;{</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <a class="code" href="struct___remmina_protocol_plugin.html">RemminaProtocolPlugin</a> *plugin = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;plugin;</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBAVAHI_UI</span></div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; GtkWidget *hbox;</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; gchar *s;</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; widget = gtk_label_new(_(<span class="stringliteral">&quot;Server&quot;</span>));</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; gtk_widget_set_valign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, row, 1, row + 1);</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160;</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; s = <a class="code" href="remmina__pref_8c.html#a0208d5dc8197423da67e5967aafb7a05">remmina_pref_get_recent</a>(plugin-&gt;<a class="code" href="struct___remmina_protocol_plugin.html#a6e04143450eeb71e3d0b2c14983860a4">name</a>);</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; widget = <a class="code" href="remmina__public_8c.html#a9ec86f1e9caea5ebc867a90230d6b51a">remmina_public_create_combo_entry</a>(s, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file, <span class="stringliteral">&quot;server&quot;</span>), TRUE);</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; gtk_widget_set_hexpand(widget, TRUE);</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; gtk_widget_set_tooltip_markup(widget, _(server_tips));</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; gtk_entry_set_activates_default(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(widget))), TRUE);</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;server_combo = widget;</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; g_free(s);</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBAVAHI_UI</span></div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <span class="keywordflow">if</span> (setting-&gt;<a class="code" href="struct___remmina_protocol_setting.html#ae1cc5b9d910f68aa5909e3cf483c1d1d">opt1</a>) {</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;avahi_service_type = (<span class="keyword">const</span> gchar *)setting-&gt;<a class="code" href="struct___remmina_protocol_setting.html#ae1cc5b9d910f68aa5909e3cf483c1d1d">opt1</a>;</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; gtk_widget_show(hbox);</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; gtk_box_pack_start(GTK_BOX(hbox), widget, TRUE, TRUE, 0);</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; widget = gtk_button_new_with_label(<span class="stringliteral">&quot;…&quot;</span>);</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; s = g_strdup_printf(_(<span class="stringliteral">&quot;Browse the network to find a %s server&quot;</span>), plugin-&gt;<a class="code" href="struct___remmina_protocol_plugin.html#a6e04143450eeb71e3d0b2c14983860a4">name</a>);</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; gtk_widget_set_tooltip_text(widget, s);</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; g_free(s);</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, FALSE, 0);</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#aa3acf0470349d706d15fa751e982fd05">remmina_file_editor_browse_avahi</a>), gfe);</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; gtk_grid_attach(GTK_GRID(grid), hbox, 1, row, 1, 1);</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; } <span class="keywordflow">else</span></div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; {</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 1, row, 1, 1);</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; }</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;}</div><div class="line"><a name="l00476"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a65b38bc13546d3d890624a79b080ffe9"> 476</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a65b38bc13546d3d890624a79b080ffe9">remmina_file_toggle_password_view</a>(GtkWidget *widget, gpointer data)</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;{</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; GtkWindow *mainwindow;</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; gboolean visible = gtk_entry_get_visibility(GTK_ENTRY(widget));</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160;</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; mainwindow = <a class="code" href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a>();</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>) &amp;&amp; <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;lock_view_passwords&quot;</span>) &amp;&amp; <a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(mainwindow) == 0)</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <span class="keywordflow">if</span> (visible) {</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; gtk_entry_set_visibility(GTK_ENTRY(widget), FALSE);</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; gtk_entry_set_icon_from_icon_name(GTK_ENTRY(widget), GTK_ENTRY_ICON_SECONDARY, <span class="stringliteral">&quot;org.remmina.Remmina-password-reveal-symbolic&quot;</span>);</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; gtk_entry_set_visibility(GTK_ENTRY(widget), TRUE);</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; gtk_entry_set_icon_from_icon_name(GTK_ENTRY(widget), GTK_ENTRY_ICON_SECONDARY, <span class="stringliteral">&quot;org.remmina.Remmina-password-conceal-symbolic&quot;</span>);</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; }</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160;}</div><div class="line"><a name="l00493"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a54d3b1890fcf67c2f7615e37f27f7583"> 493</a></span>&#160;<span class="keyword">static</span> GtkWidget *<a class="code" href="remmina__file__editor_8c.html#a54d3b1890fcf67c2f7615e37f27f7583">remmina_file_editor_create_password</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, GtkWidget *grid, gint row, gint col, <span class="keyword">const</span> gchar *label, <span class="keyword">const</span> gchar *value, gchar *setting_name)</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160;{</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160;</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; widget = gtk_label_new(label);</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160;<span class="preprocessor">#if GTK_CHECK_VERSION(3, 12, 0)</span></div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; gtk_widget_set_margin_end(widget, 40);</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; gtk_widget_set_margin_right(widget, 40);</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; gtk_widget_set_valign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, row, 1, 1);</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160;</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; widget = gtk_entry_new();</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 1, row, 1, 1);</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; gtk_entry_set_max_length(GTK_ENTRY(widget), 0);</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; gtk_entry_set_visibility(GTK_ENTRY(widget), FALSE);</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; gtk_widget_set_hexpand(widget, TRUE);</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; gtk_entry_set_activates_default(GTK_ENTRY(widget), TRUE);</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keywordflow">if</span> (setting_name)</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; gtk_widget_set_name(widget, setting_name);</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160;</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <span class="keywordflow">if</span> (value)</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; gtk_entry_set_text(GTK_ENTRY(widget), value);</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <span class="comment">/* Password view Toogle*/</span></div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <span class="keywordflow">if</span> (setting_name) {</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; gtk_entry_set_icon_from_icon_name(GTK_ENTRY(widget), GTK_ENTRY_ICON_SECONDARY, <span class="stringliteral">&quot;org.remmina.Remmina-password-reveal-symbolic&quot;</span>);</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; gtk_entry_set_icon_activatable(GTK_ENTRY(widget), GTK_ENTRY_ICON_SECONDARY, TRUE);</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; g_signal_connect(widget, <span class="stringliteral">&quot;icon-press&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#a65b38bc13546d3d890624a79b080ffe9">remmina_file_toggle_password_view</a>), NULL);</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; }</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="keywordflow">return</span> widget;</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160;}</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160;</div><div class="line"><a name="l00530"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a51a45d872a9e7a0b06d25aef592a6e3a"> 530</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a51a45d872a9e7a0b06d25aef592a6e3a">remmina_file_editor_update_resolution</a>(GtkWidget *widget, <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160;{</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; gchar *res_str;</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; res_str = g_strdup_printf(<span class="stringliteral">&quot;%dx%d&quot;</span>,</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file, <span class="stringliteral">&quot;resolution_width&quot;</span>, 0),</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file, <span class="stringliteral">&quot;resolution_height&quot;</span>, 0));</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <a class="code" href="remmina__public_8c.html#aa5eacff7c9dab7457dd65525d01047f8">remmina_public_load_combo_text_d</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_custom_combo, <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a59eebf1d365ef192de8e14da2c381f37">resolutions</a>,</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; res_str, NULL);</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; g_free(res_str);</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160;}</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160;</div><div class="line"><a name="l00542"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a51b9fe336d9068ffc488ef55adc9eac4"> 542</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a51b9fe336d9068ffc488ef55adc9eac4">remmina_file_editor_browse_resolution</a>(GtkWidget *button, <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160;{</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160;</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; GtkDialog *dialog = <a class="code" href="remmina__string__list_8c.html#a11147c41297537effe55f18a63ce9f7e">remmina_string_list_new</a>(FALSE, NULL);</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; <a class="code" href="remmina__string__list_8c.html#a500b85eafd23280f998d2980d1eba80e">remmina_string_list_set_validation_func</a>(<a class="code" href="remmina__public_8c.html#a098786d3aa6991aeba43a61e29d534d0">remmina_public_resolution_validation_func</a>);</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <a class="code" href="remmina__string__list_8c.html#ab1bacc097f59c20b477d954bb863a5e0">remmina_string_list_set_text</a>(<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a59eebf1d365ef192de8e14da2c381f37">resolutions</a>, TRUE);</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; <a class="code" href="remmina__string__list_8c.html#aa9ca6ccf40b954051a0daa5c1efeef87">remmina_string_list_set_titles</a>(_(<span class="stringliteral">&quot;Resolutions&quot;</span>), _(<span class="stringliteral">&quot;Configure the available resolutions&quot;</span>));</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(gfe));</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; gtk_dialog_run(dialog);</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; g_free(<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a59eebf1d365ef192de8e14da2c381f37">resolutions</a>);</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a59eebf1d365ef192de8e14da2c381f37">resolutions</a> = <a class="code" href="remmina__string__list_8c.html#a74058eac0af28c05a55d041103457aec">remmina_string_list_get_text</a>();</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; g_signal_connect(G_OBJECT(dialog), <span class="stringliteral">&quot;destroy&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#a51a45d872a9e7a0b06d25aef592a6e3a">remmina_file_editor_update_resolution</a>), gfe);</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; gtk_widget_destroy(GTK_WIDGET(dialog));</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160;}</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160;</div><div class="line"><a name="l00558"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#afad358c6e3a5918416c6eb036157d8e5"> 558</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#afad358c6e3a5918416c6eb036157d8e5">remmina_file_editor_create_resolution</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, <span class="keyword">const</span> <a class="code" href="struct___remmina_protocol_setting.html">RemminaProtocolSetting</a> *setting,</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; GtkWidget *grid, gint row)</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160;{</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; GtkWidget *hbox;</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; <span class="keywordtype">int</span> resolution_w, resolution_h;</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; gchar *res_str;</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <a class="code" href="types_8h.html#a373ddef8221457d86c64830c26d3f78a">RemminaProtocolWidgetResolutionMode</a> res_mode;</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160;</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; res_mode = <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file, <span class="stringliteral">&quot;resolution_mode&quot;</span>, <a class="code" href="types_8h.html#a373ddef8221457d86c64830c26d3f78aa415945752acf7689df7cb602ae4e1724">RES_INVALID</a>);</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; resolution_w = <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file, <span class="stringliteral">&quot;resolution_width&quot;</span>, -1);</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; resolution_h = <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file, <span class="stringliteral">&quot;resolution_height&quot;</span>, -1);</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160;</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <span class="comment">/* If resolution_mode is non-existent (-1), then we try to calculate it</span></div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160;<span class="comment"> * as we did before having resolution_mode */</span></div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="keywordflow">if</span> (res_mode == <a class="code" href="types_8h.html#a373ddef8221457d86c64830c26d3f78aa415945752acf7689df7cb602ae4e1724">RES_INVALID</a>) {</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <span class="keywordflow">if</span> (resolution_w &lt;= 0 || resolution_h &lt;= 0)</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; res_mode = <a class="code" href="types_8h.html#a373ddef8221457d86c64830c26d3f78aa60de6896fa451ca072d23fab21dbfeef">RES_USE_INITIAL_WINDOW_SIZE</a>;</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; res_mode = <a class="code" href="types_8h.html#a373ddef8221457d86c64830c26d3f78aafe10effd553a16b9bac60b6d9b64c2cd">RES_USE_CUSTOM</a>;</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; }</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <span class="keywordflow">if</span> (res_mode == <a class="code" href="types_8h.html#a373ddef8221457d86c64830c26d3f78aafe10effd553a16b9bac60b6d9b64c2cd">RES_USE_CUSTOM</a>)</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; res_str = g_strdup_printf(<span class="stringliteral">&quot;%dx%d&quot;</span>, resolution_w, resolution_h);</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; res_str = NULL;</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160;</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; widget = gtk_label_new(_(<span class="stringliteral">&quot;Resolution&quot;</span>));</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; gtk_widget_set_valign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, row, 1, 1);</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160;</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; widget = gtk_radio_button_new_with_label(NULL, _(<span class="stringliteral">&quot;Use initial window size&quot;</span>));</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; gtk_box_pack_start(GTK_BOX(hbox), widget, TRUE, TRUE, 0);</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_iws_radio = widget;</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; widget = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_iws_radio), _(<span class="stringliteral">&quot;Use client resolution&quot;</span>));</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; gtk_box_pack_start(GTK_BOX(hbox), widget, TRUE, TRUE, 0);</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_auto_radio = widget;</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; gtk_grid_attach(GTK_GRID(grid), hbox, 1, row, 1, 1);</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; gtk_widget_show(hbox);</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160;</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; gtk_widget_show(hbox);</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; gtk_grid_attach(GTK_GRID(grid), hbox, 1, row + 1, 1, 1);</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160;</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; widget = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_iws_radio), _(<span class="stringliteral">&quot;Custom&quot;</span>));</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, FALSE, 0);</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_custom_radio = widget;</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160;</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; widget = <a class="code" href="remmina__public_8c.html#a3796b536244067e9a85923b1cefa6cde">remmina_public_create_combo_text_d</a>(<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a59eebf1d365ef192de8e14da2c381f37">resolutions</a>, res_str, NULL);</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; gtk_box_pack_start(GTK_BOX(hbox), widget, TRUE, TRUE, 0);</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_custom_combo = widget;</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160;</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; widget = gtk_button_new_with_label(<span class="stringliteral">&quot;…&quot;</span>);</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, FALSE, 0);</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#a51b9fe336d9068ffc488ef55adc9eac4">remmina_file_editor_browse_resolution</a>), gfe);</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160;</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; g_signal_connect(G_OBJECT(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_custom_radio), <span class="stringliteral">&quot;toggled&quot;</span>,</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#a112a0fd5bf7d5693b9cb717c850637cb">remmina_file_editor_button_on_toggled</a>), gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_custom_combo);</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160;</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; <span class="keywordflow">if</span> (res_mode == <a class="code" href="types_8h.html#a373ddef8221457d86c64830c26d3f78aafe10effd553a16b9bac60b6d9b64c2cd">RES_USE_CUSTOM</a>)</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_custom_radio), TRUE);</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (res_mode == <a class="code" href="types_8h.html#a373ddef8221457d86c64830c26d3f78aaf5ff7e2cd480eb2acc5e1520e409202d">RES_USE_CLIENT</a>)</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_auto_radio), TRUE);</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_iws_radio), TRUE);</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160;</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; gtk_widget_set_sensitive(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_custom_combo, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_custom_radio)));</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160;</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; g_free(res_str);</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160;}</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160;</div><div class="line"><a name="l00637"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a8cec1e80676c945f10bf39aca671d0a0"> 637</a></span>&#160;<span class="keyword">static</span> GtkWidget *<a class="code" href="remmina__file__editor_8c.html#a8cec1e80676c945f10bf39aca671d0a0">remmina_file_editor_create_text2</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, GtkWidget *grid,</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; gint row, gint col, <span class="keyword">const</span> gchar *label, <span class="keyword">const</span> gchar *value, gint left,</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; gint right, gchar *setting_name)</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160;{</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160;</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; widget = gtk_label_new(label);</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160;<span class="preprocessor">#if GTK_CHECK_VERSION(3, 12, 0)</span></div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; gtk_widget_set_margin_start(widget, left);</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; gtk_widget_set_margin_end(widget, right);</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; gtk_widget_set_margin_left(widget, left);</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; gtk_widget_set_margin_right(widget, right);</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; gtk_widget_set_valign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, col, row, 1, 1);</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160;</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; widget = gtk_entry_new();</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, col + 1, row, 1, 1);</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; gtk_entry_set_max_length(GTK_ENTRY(widget), 300);</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; gtk_widget_set_hexpand(widget, TRUE);</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <span class="keywordflow">if</span> (setting_name)</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; gtk_widget_set_name(widget, setting_name);</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160;</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; <span class="keywordflow">if</span> (value)</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; gtk_entry_set_text(GTK_ENTRY(widget), value);</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160;</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; <span class="keywordflow">return</span> widget;</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160;}</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160;</div><div class="line"><a name="l00671"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a072de27e64368581e8507d3b795bfbf4"> 671</a></span>&#160;<span class="keyword">static</span> GtkWidget *<a class="code" href="remmina__file__editor_8c.html#a072de27e64368581e8507d3b795bfbf4">remmina_file_editor_create_text</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, GtkWidget *grid,</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; gint row, gint col, <span class="keyword">const</span> gchar *label, <span class="keyword">const</span> gchar *value,</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; gchar *setting_name)</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160;{</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; <span class="keywordflow">return</span> <a class="code" href="remmina__file__editor_8c.html#a8cec1e80676c945f10bf39aca671d0a0">remmina_file_editor_create_text2</a>(gfe, grid, row, col, label, value, 0, 40,</div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; setting_name);</div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160;}</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160;</div><div class="line"><a name="l00680"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#aef2803d3fc2558c9c3844ffac088e7d7"> 680</a></span>&#160;<span class="keyword">static</span> GtkWidget *<a class="code" href="remmina__file__editor_8c.html#aef2803d3fc2558c9c3844ffac088e7d7">remmina_file_editor_create_textarea</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, GtkWidget *grid,</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; gint row, gint col, <span class="keyword">const</span> gchar *label, <span class="keyword">const</span> gchar *value,</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; gchar *setting_name)</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160;{</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; GtkTextView *view;</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; GtkTextBuffer *buffer;</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; GtkTextIter start;</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160;</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; widget = gtk_text_view_new();</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; view = GTK_TEXT_VIEW(widget);</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(view), GTK_WRAP_WORD);</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; gtk_text_view_set_top_margin(GTK_TEXT_VIEW(view), 20);</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; gtk_text_view_set_bottom_margin(GTK_TEXT_VIEW(view), 20);</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; gtk_text_view_set_left_margin(GTK_TEXT_VIEW(view), 20);</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; gtk_text_view_set_right_margin(GTK_TEXT_VIEW(view), 20);</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; gtk_text_view_set_monospace(view, TRUE);</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; <span class="keywordflow">if</span> (setting_name)</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; gtk_widget_set_name(widget, setting_name);</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="keywordflow">if</span> (value) {</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; buffer = gtk_text_view_get_buffer(view);</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; gtk_text_buffer_set_text(buffer, value, -1);</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; gtk_text_buffer_get_start_iter(buffer, &amp;start);</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; gtk_text_buffer_place_cursor(buffer, &amp;start);</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; }</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; gtk_widget_set_hexpand(widget, TRUE);</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; gtk_widget_set_size_request(GTK_WIDGET(view), 320, 300);</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, row, 1, 1);</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <span class="keywordflow">return</span> widget;</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160;}</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160;</div><div class="line"><a name="l00713"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#ac9b7c0ba5ece064548bcaf72d1b0425a"> 713</a></span>&#160;<span class="keyword">static</span> GtkWidget *<a class="code" href="remmina__file__editor_8c.html#ac9b7c0ba5ece064548bcaf72d1b0425a">remmina_file_editor_create_select</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, GtkWidget *grid,</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; gint row, gint col, <span class="keyword">const</span> gchar *label, <span class="keyword">const</span> gpointer *list,</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <span class="keyword">const</span> gchar *value, gchar *setting_name)</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160;{</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160;</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; widget = gtk_label_new(label);</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; gtk_widget_set_valign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; <span class="keywordflow">if</span> (setting_name)</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; gtk_widget_set_name(widget, setting_name);</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, row, 1, 1);</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160;</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; widget = <a class="code" href="remmina__public_8c.html#a616258d3226ec1f1ecee6ce18aba535b">remmina_public_create_combo_map</a>(list, value, FALSE, gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;plugin-&gt;domain);</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 1, row, 1, 1);</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160;</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; <span class="keywordflow">return</span> widget;</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160;}</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160;</div><div class="line"><a name="l00735"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#af253834273229ac38c6fdfe613626965"> 735</a></span>&#160;<span class="keyword">static</span> GtkWidget *<a class="code" href="remmina__file__editor_8c.html#af253834273229ac38c6fdfe613626965">remmina_file_editor_create_combo</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, GtkWidget *grid,</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; gint row, gint col, <span class="keyword">const</span> gchar *label, <span class="keyword">const</span> gchar *list,</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; <span class="keyword">const</span> gchar *value, gchar *setting_name)</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160;{</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160;</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; widget = gtk_label_new(label);</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; gtk_widget_set_valign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, row, 1, 1);</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160;</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; widget = <a class="code" href="remmina__public_8c.html#a9ec86f1e9caea5ebc867a90230d6b51a">remmina_public_create_combo_entry</a>(list, value, FALSE);</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; gtk_widget_set_hexpand(widget, TRUE);</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <span class="keywordflow">if</span> (setting_name)</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; gtk_widget_set_name(widget, setting_name);</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 1, row, 1, 1);</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160;</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; <span class="keywordflow">return</span> widget;</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160;}</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160;</div><div class="line"><a name="l00758"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a2a31c93bd54489f8bb3c8fe0dff033d6"> 758</a></span>&#160;<span class="keyword">static</span> GtkWidget *<a class="code" href="remmina__file__editor_8c.html#a2a31c93bd54489f8bb3c8fe0dff033d6">remmina_file_editor_create_check</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, GtkWidget *grid,</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; gint row, gint top, <span class="keyword">const</span> gchar *label, gboolean value,</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; gchar *setting_name)</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160;{</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; widget = gtk_check_button_new_with_label(label);</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; <span class="keywordflow">if</span> (setting_name)</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; gtk_widget_set_name(widget, setting_name);</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, top, row, 1, 1);</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160;</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; <span class="keywordflow">if</span> (value)</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), TRUE);</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160;</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <span class="keywordflow">return</span> widget;</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160;}</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160;</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160;<span class="keyword">static</span> GtkWidget *</div><div class="line"><a name="l00786"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#ab5d28ebef67a21099e99268bd6fa04aa"> 786</a></span>&#160;<a class="code" href="remmina__file__editor_8c.html#ab5d28ebef67a21099e99268bd6fa04aa">remmina_file_editor_create_chooser</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, GtkWidget *grid, gint row, gint col, <span class="keyword">const</span> gchar *label,</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; <span class="keyword">const</span> gchar *value, gint type, gchar *setting_name)</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160;{</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; GtkWidget *check;</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; GtkWidget *hbox;</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160;</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; widget = gtk_label_new(label);</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; gtk_widget_set_valign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, row, 1, 1);</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160;</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; gtk_widget_show(hbox);</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; gtk_grid_attach(GTK_GRID(grid), hbox, 1, row, 1, 1);</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160;</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; check = gtk_check_button_new();</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; gtk_widget_show(check);</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check), (value &amp;&amp; value[0] == <span class="charliteral">&#39;/&#39;</span>));</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; gtk_box_pack_start(GTK_BOX(hbox), check, FALSE, FALSE, 0);</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160;</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; widget = gtk_file_chooser_button_new(label, type);</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; <span class="keywordflow">if</span> (setting_name)</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; gtk_widget_set_name(widget, setting_name);</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; <span class="keywordflow">if</span> (value)</div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(widget), value);</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; gtk_box_pack_start(GTK_BOX(hbox), widget, TRUE, TRUE, 0);</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160;</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; g_signal_connect(G_OBJECT(check), <span class="stringliteral">&quot;toggled&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#a112a0fd5bf7d5693b9cb717c850637cb">remmina_file_editor_button_on_toggled</a>), widget);</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a112a0fd5bf7d5693b9cb717c850637cb">remmina_file_editor_button_on_toggled</a>(GTK_TOGGLE_BUTTON(check), widget);</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160;</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; <span class="keywordflow">return</span> widget;</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160;}</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160;</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160;<span class="comment">// used to filter out invalid characters for REMMINA_PROTOCOL_SETTING_TYPE_INT</span></div><div class="line"><a name="l00824"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#aa1e0d966a2100175a8eab3a1497306c0"> 824</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#aa1e0d966a2100175a8eab3a1497306c0">remmina_file_editor_int_setting_filter</a>(GtkEditable *editable, <span class="keyword">const</span> gchar *text,</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; gint length, gint *position, gpointer data)</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160;{</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; length; i++) {</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; <span class="keywordflow">if</span> (!isdigit(text[i]) &amp;&amp; text[i] != <span class="charliteral">&#39;-&#39;</span>) {</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; g_signal_stop_emission_by_name(G_OBJECT(editable), <span class="stringliteral">&quot;insert-text&quot;</span>);</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; }</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; }</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160;}</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160;</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160;<span class="comment">// used to filter out invalid characters for REMMINA_PROTOCOL_SETTING_TYPE_DOUBLE</span></div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160;<span class="comment">// &#39;.&#39; and &#39;,&#39; can&#39;t be used interchangeably! It depends on the language setting</span></div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160;<span class="comment">// of the user.</span></div><div class="line"><a name="l00838"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#aed69ba3823f68580d5acea459c5c890f"> 838</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#aed69ba3823f68580d5acea459c5c890f">remmina_file_editor_double_setting_filter</a>(GtkEditable *editable, <span class="keyword">const</span> gchar *text,</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; gint length, gint *position, gpointer data)</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160;{</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; length; i++) {</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; <span class="keywordflow">if</span> (!isdigit(text[i]) &amp;&amp; text[i] != <span class="charliteral">&#39;-&#39;</span> &amp;&amp; text[i] != <span class="charliteral">&#39;.&#39;</span> &amp;&amp; text[i] != <span class="charliteral">&#39;,&#39;</span>) {</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; g_signal_stop_emission_by_name(G_OBJECT(editable), <span class="stringliteral">&quot;insert-text&quot;</span>);</div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; }</div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; }</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160;}</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160;</div><div class="line"><a name="l00849"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#ac47032c150cbdb7bf691059b4e3eb9d0"> 849</a></span>&#160;<span class="keyword">static</span> GtkWidget *<a class="code" href="remmina__file__editor_8c.html#ac47032c150cbdb7bf691059b4e3eb9d0">remmina_file_editor_create_int</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, GtkWidget *grid,</div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; gint row, gint col, <span class="keyword">const</span> gchar *label, <span class="keyword">const</span> gint value,</div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; gint left, gint right, gchar *setting_name)</div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160;{</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160;</div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; widget = gtk_label_new(label);</div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160;<span class="preprocessor">#if GTK_CHECK_VERSION(3, 12, 0)</span></div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; gtk_widget_set_margin_start(widget, left);</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; gtk_widget_set_margin_end(widget, right);</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; gtk_widget_set_margin_left(widget, left);</div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; gtk_widget_set_margin_right(widget, right);</div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; gtk_widget_set_valign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, col, row, 1, 1);</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160;</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; widget = gtk_entry_new();</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, col + 1, row, 1, 1);</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; gtk_entry_set_max_length(GTK_ENTRY(widget), 300);</div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; gtk_widget_set_hexpand(widget, TRUE);</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; <span class="keywordflow">if</span> (setting_name)</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; gtk_widget_set_name(widget, setting_name);</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160;</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; <span class="comment">// Convert int to str.</span></div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; <span class="keywordtype">int</span> length = snprintf(NULL, 0, <span class="stringliteral">&quot;%d&quot;</span>, value) + 1; <span class="comment">// +1 &#39;\0&#39; byte</span></div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; <span class="keywordtype">char</span> *str = malloc(length);</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; snprintf(str, length, <span class="stringliteral">&quot;%d&quot;</span>, value);</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160;</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; gtk_entry_set_text(GTK_ENTRY(widget), str);</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; free(str);</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160;</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;insert-text&quot;</span>,</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#aa1e0d966a2100175a8eab3a1497306c0">remmina_file_editor_int_setting_filter</a>), NULL);</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160;</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; <span class="keywordflow">return</span> widget;</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160;}</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160;</div><div class="line"><a name="l00891"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a9266544ca3a532b9a02d985c18113e80"> 891</a></span>&#160;<span class="keyword">static</span> GtkWidget *<a class="code" href="remmina__file__editor_8c.html#a9266544ca3a532b9a02d985c18113e80">remmina_file_editor_create_double</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe,</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; GtkWidget *grid, gint row, gint col,</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; <span class="keyword">const</span> gchar *label, gdouble value, gint left,</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; gint right, gchar *setting_name)</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160;{</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160;</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; widget = gtk_label_new(label);</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160;<span class="preprocessor">#if GTK_CHECK_VERSION(3, 12, 0)</span></div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; gtk_widget_set_margin_start(widget, left);</div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; gtk_widget_set_margin_end(widget, right);</div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; gtk_widget_set_margin_left(widget, left);</div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; gtk_widget_set_margin_right(widget, right);</div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; gtk_widget_set_valign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, col, row, 1, 1);</div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160;</div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; widget = gtk_entry_new();</div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, col + 1, row, 1, 1);</div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; gtk_entry_set_max_length(GTK_ENTRY(widget), 300);</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; gtk_widget_set_hexpand(widget, TRUE);</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; <span class="keywordflow">if</span> (setting_name)</div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; gtk_widget_set_name(widget, setting_name);</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160;</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; <span class="comment">// Convert double to str.</span></div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; <span class="keywordtype">int</span> length = snprintf(NULL, 0, <span class="stringliteral">&quot;%.8g&quot;</span>, value) + 1; <span class="comment">// +1 &#39;\0&#39; byte</span></div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; <span class="keywordtype">char</span> *str = malloc(length);</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; snprintf(str, length, <span class="stringliteral">&quot;%f&quot;</span>, value);</div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160;</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; gtk_entry_set_text(GTK_ENTRY(widget), str);</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; free(str);</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160;</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;insert-text&quot;</span>,</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#aed69ba3823f68580d5acea459c5c890f">remmina_file_editor_double_setting_filter</a>), NULL);</div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160;</div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; <span class="keywordflow">return</span> widget;</div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160;}</div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160;</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160;gdouble <a class="code" href="remmina__file__editor_8c.html#a471a1f5ab14197b626f84ec3128e87d4">remmina_file_get_double</a>(<a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile, <span class="keyword">const</span> gchar *setting, gfloat default_value);</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160;</div><div class="line"><a name="l00936"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a727f967cf81d4af3f953046b0c4cf08d"> 936</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a727f967cf81d4af3f953046b0c4cf08d">remmina_file_editor_create_settings</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, GtkWidget *grid,</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; <span class="keyword">const</span> <a class="code" href="struct___remmina_protocol_setting.html">RemminaProtocolSetting</a> *settings)</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160;{</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; gint grid_row = 0;</div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; gint grid_column = 0;</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; gchar **strarr;</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; gchar *setting_name;</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; <span class="keyword">const</span> gchar *escaped;</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160;</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; <span class="keywordflow">while</span> (settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a6274d44b592a54162ff583135e55ffc9">type</a> != <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350ad898beb6ae625dee1ae27de75f1ab4e3">REMMINA_PROTOCOL_SETTING_TYPE_END</a>) {</div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; setting_name = (gchar *)(<a class="code" href="remmina__plugin__manager_8c.html#af60b8edfa50563ae4c7593efc3deed55">remmina_plugin_manager_get_canonical_setting_name</a>(settings));</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; <span class="keywordflow">switch</span> (settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a6274d44b592a54162ff583135e55ffc9">type</a>) {</div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350a579ed0f0f6624dd55a25665693c92a92">REMMINA_PROTOCOL_SETTING_TYPE_SERVER</a>:</div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; <a class="code" href="remmina__file__editor_8c.html#af7edb004da0ecc48277c1b656f2649ae">remmina_file_editor_create_server</a>(gfe, settings, grid, grid_row);</div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160;</div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350ae76d06b6e313971e5f420dd6e7f4c5aa">REMMINA_PROTOCOL_SETTING_TYPE_PASSWORD</a>:</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#a54d3b1890fcf67c2f7615e37f27f7583">remmina_file_editor_create_password</a>(gfe, grid, grid_row, 0,</div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; g_dgettext(priv-&gt;plugin-&gt;domain, settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a7a5b063deb126422c461203c074a3dc4">label</a>),</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, setting_name),</div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; setting_name);</div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; g_hash_table_insert(priv-&gt;setting_widgets, setting_name, widget);</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; grid_row++;</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160;</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350aa045109309280606ff11a9de1862e2ba">REMMINA_PROTOCOL_SETTING_TYPE_RESOLUTION</a>:</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; <a class="code" href="remmina__file__editor_8c.html#afad358c6e3a5918416c6eb036157d8e5">remmina_file_editor_create_resolution</a>(gfe, settings, grid, grid_row);</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; grid_row += 1;</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160;</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350ad9418344a7f597351e3cc5639be78425">REMMINA_PROTOCOL_SETTING_TYPE_KEYMAP</a>:</div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; strarr = <a class="code" href="remmina__pref_8c.html#a745bbef1d48a7462f8db997821742395">remmina_pref_keymap_groups</a>();</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; priv-&gt;keymap_combo = <a class="code" href="remmina__file__editor_8c.html#ac9b7c0ba5ece064548bcaf72d1b0425a">remmina_file_editor_create_select</a>(gfe, grid,</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; grid_row + 1, 0,</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; _(<span class="stringliteral">&quot;Keyboard mapping&quot;</span>), (<span class="keyword">const</span> gpointer *)strarr,</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;keymap&quot;</span>),</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160; setting_name);</div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160; g_strfreev(strarr);</div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; grid_row++;</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160;</div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350a8be3f210c609fde31f68e607c41de296">REMMINA_PROTOCOL_SETTING_TYPE_TEXT</a>:</div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#a072de27e64368581e8507d3b795bfbf4">remmina_file_editor_create_text</a>(gfe, grid, grid_row, 0,</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160; g_dgettext(priv-&gt;plugin-&gt;domain, settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a7a5b063deb126422c461203c074a3dc4">label</a>),</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, setting_name),</div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; setting_name);</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; g_hash_table_insert(priv-&gt;setting_widgets, setting_name, widget);</div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160; <span class="keywordflow">if</span> (settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>)</div><div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160; gtk_widget_set_tooltip_text(widget, _((<span class="keyword">const</span> gchar *)settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>));</div><div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160; grid_row++;</div><div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160;</div><div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350aadb70e5d52a6eccc1aaf6f1428c1fb11">REMMINA_PROTOCOL_SETTING_TYPE_TEXTAREA</a>:</div><div class="line"><a name="l00992"></a><span class="lineno"> 992</span>&#160; escaped = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, setting_name);</div><div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160; escaped = g_uri_unescape_string(escaped, NULL);</div><div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#aef2803d3fc2558c9c3844ffac088e7d7">remmina_file_editor_create_textarea</a>(gfe, grid, grid_row, 0,</div><div class="line"><a name="l00995"></a><span class="lineno"> 995</span>&#160; g_dgettext(priv-&gt;plugin-&gt;domain, settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a7a5b063deb126422c461203c074a3dc4">label</a>), escaped,</div><div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160; setting_name);</div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160; g_hash_table_insert(priv-&gt;setting_widgets, setting_name, widget);</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160; grid_row++;</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350a04da01eead7904a55d1c813950609b2d">REMMINA_PROTOCOL_SETTING_TYPE_SELECT</a>:</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#ac9b7c0ba5ece064548bcaf72d1b0425a">remmina_file_editor_create_select</a>(gfe, grid, grid_row, 0,</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160; g_dgettext(priv-&gt;plugin-&gt;domain, settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a7a5b063deb126422c461203c074a3dc4">label</a>),</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160; (<span class="keyword">const</span> gpointer *)settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#ae1cc5b9d910f68aa5909e3cf483c1d1d">opt1</a>,</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160; <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, setting_name),</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160; setting_name);</div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160; g_hash_table_insert(priv-&gt;setting_widgets, setting_name, widget);</div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160; <span class="keywordflow">if</span> (settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>)</div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160; gtk_widget_set_tooltip_text(widget, _((<span class="keyword">const</span> gchar *)settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>));</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350ae2237632b23d3c90a842bc5bc8302ec5">REMMINA_PROTOCOL_SETTING_TYPE_COMBO</a>:</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#af253834273229ac38c6fdfe613626965">remmina_file_editor_create_combo</a>(gfe, grid, grid_row, 0,</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160; g_dgettext(priv-&gt;plugin-&gt;domain, settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a7a5b063deb126422c461203c074a3dc4">label</a>),</div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160; (<span class="keyword">const</span> gchar *)settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#ae1cc5b9d910f68aa5909e3cf483c1d1d">opt1</a>,</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160; <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, setting_name),</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160; setting_name);</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160; g_hash_table_insert(priv-&gt;setting_widgets, setting_name, widget);</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160; <span class="keywordflow">if</span> (settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>)</div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160; gtk_widget_set_tooltip_text(widget, _((<span class="keyword">const</span> gchar *)settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>));</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;</div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350a52a80f3f9b84e9e0d0bf3335cfd7527f">REMMINA_PROTOCOL_SETTING_TYPE_CHECK</a>:</div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#a2a31c93bd54489f8bb3c8fe0dff033d6">remmina_file_editor_create_check</a>(gfe, grid, grid_row, grid_column,</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160; g_dgettext(priv-&gt;plugin-&gt;domain, settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a7a5b063deb126422c461203c074a3dc4">label</a>),</div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160; <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(priv-&gt;remmina_file, setting_name, FALSE),</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160; setting_name);</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160; g_hash_table_insert(priv-&gt;setting_widgets, setting_name, widget);</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160; <span class="keywordflow">if</span> (settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>)</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160; gtk_widget_set_tooltip_text(widget, _((<span class="keyword">const</span> gchar *)settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>));</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350a31ee66fffaa245ae411aba0c296ad9da">REMMINA_PROTOCOL_SETTING_TYPE_FILE</a>:</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#ab5d28ebef67a21099e99268bd6fa04aa">remmina_file_editor_create_chooser</a>(gfe, grid, grid_row, 0,</div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160; g_dgettext(priv-&gt;plugin-&gt;domain, settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a7a5b063deb126422c461203c074a3dc4">label</a>),</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160; <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, setting_name),</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160; GTK_FILE_CHOOSER_ACTION_OPEN, setting_name);</div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160; g_hash_table_insert(priv-&gt;setting_widgets, setting_name, widget);</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160; <span class="keywordflow">if</span> (settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>)</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160; gtk_widget_set_tooltip_text(widget, _((<span class="keyword">const</span> gchar *)settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>));</div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350a68b440d346168aadb6fd728ea394607f">REMMINA_PROTOCOL_SETTING_TYPE_FOLDER</a>:</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#ab5d28ebef67a21099e99268bd6fa04aa">remmina_file_editor_create_chooser</a>(gfe, grid, grid_row, 0,</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160; g_dgettext(priv-&gt;plugin-&gt;domain, settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a7a5b063deb126422c461203c074a3dc4">label</a>),</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160; <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, setting_name),</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160; GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160; setting_name);</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160; g_hash_table_insert(priv-&gt;setting_widgets, setting_name, widget);</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160; <span class="keywordflow">if</span> (settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>)</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160; gtk_widget_set_tooltip_text(widget, _((<span class="keyword">const</span> gchar *)settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>));</div><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350ab4c68b7df42ebd08e953cc72c5b97583">REMMINA_PROTOCOL_SETTING_TYPE_INT</a>:</div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#ac47032c150cbdb7bf691059b4e3eb9d0">remmina_file_editor_create_int</a>(gfe, grid, grid_row, 0,</div><div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160; g_dgettext(priv-&gt;plugin-&gt;domain, settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a7a5b063deb126422c461203c074a3dc4">label</a>),</div><div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160; <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(priv-&gt;remmina_file, setting_name, 0),</div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160; 0, 40, setting_name);</div><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160; g_hash_table_insert(priv-&gt;setting_widgets, setting_name, widget);</div><div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160; <span class="keywordflow">if</span> (settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>)</div><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160; gtk_widget_set_tooltip_text(widget, _((<span class="keyword">const</span> gchar *)settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>));</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160; grid_row++;</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350a25c4af05ecfc7053db40ed0997389b91">REMMINA_PROTOCOL_SETTING_TYPE_DOUBLE</a>:</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#a9266544ca3a532b9a02d985c18113e80">remmina_file_editor_create_double</a>(gfe, grid, grid_row, 0,</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160; g_dgettext(priv-&gt;plugin-&gt;domain, settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a7a5b063deb126422c461203c074a3dc4">label</a>),</div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a471a1f5ab14197b626f84ec3128e87d4">remmina_file_get_double</a>(priv-&gt;remmina_file, setting_name, 0.0f),</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160; 0, 40, setting_name);</div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160; g_hash_table_insert(priv-&gt;setting_widgets, setting_name, widget);</div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160; <span class="keywordflow">if</span> (settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>)</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160; gtk_widget_set_tooltip_text(widget, _((<span class="keyword">const</span> gchar *)settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>));</div><div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160; grid_row++;</div><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160; }</div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160; <span class="comment">/* If the setting wants compactness, move to the next column */</span></div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160; <span class="keywordflow">if</span> (settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#ab434990a6fe70b7e8a4a8b11129527a6">compact</a>)</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160; grid_column++;</div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160; <span class="comment">/* Add a new settings row and move to the first column</span></div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160;<span class="comment"> * if the setting doesn’t want the compactness</span></div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160;<span class="comment"> * or we already have two columns */</span></div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160; <span class="keywordflow">if</span> (!settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#ab434990a6fe70b7e8a4a8b11129527a6">compact</a> || grid_column &gt; 1) {</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160; grid_row++;</div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160; grid_column = 0;</div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160; }</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160; settings++;</div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160; }</div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160;}</div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160;</div><div class="line"><a name="l01091"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a9bcaeec3ba26d31c6333f35fe1381a8c"> 1091</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a9bcaeec3ba26d31c6333f35fe1381a8c">remmina_file_editor_create_behavior_tab</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160;{</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160; GtkWidget *grid;</div><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160; <span class="keyword">const</span> gchar *cs;</div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160;</div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160; <span class="comment">/* The Behavior tab (implementation) */</span></div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160; grid = <a class="code" href="remmina__file__editor_8c.html#aecbc005c39cdf4fab4779090f11a3556">remmina_file_editor_create_notebook_tab</a>(gfe, NULL, _(<span class="stringliteral">&quot;Behavior&quot;</span>), 20, 2);</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;</div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160; <span class="comment">/* Execute Command frame */</span></div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160; <a class="code" href="remmina__public_8c.html#af9c70a727bfeb32730b98ce5cf7a3739">remmina_public_create_group</a>(GTK_GRID(grid), _(<span class="stringliteral">&quot;Execute a Command&quot;</span>), 0, 1, 2);</div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160;</div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160; <span class="comment">/* PRE connection command */</span></div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160; cs = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;precommand&quot;</span>);</div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#a8cec1e80676c945f10bf39aca671d0a0">remmina_file_editor_create_text2</a>(gfe, grid, 2, 0, _(<span class="stringliteral">&quot;Before connecting&quot;</span>), cs, 24, 26, <span class="stringliteral">&quot;precommand&quot;</span>);</div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160; priv-&gt;behavior_precommand_entry = widget;</div><div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160; gtk_entry_set_placeholder_text(GTK_ENTRY(widget), _(<span class="stringliteral">&quot;command %h %u %t %U %p %g --option&quot;</span>));</div><div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160; gtk_widget_set_tooltip_markup(widget, _(cmd_tips));</div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;</div><div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160; <span class="comment">/* POST connection command */</span></div><div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160; cs = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;postcommand&quot;</span>);</div><div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#a8cec1e80676c945f10bf39aca671d0a0">remmina_file_editor_create_text2</a>(gfe, grid, 3, 0, _(<span class="stringliteral">&quot;After connecting&quot;</span>), cs, 24, 16, <span class="stringliteral">&quot;postcommand&quot;</span>);</div><div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160; priv-&gt;behavior_postcommand_entry = widget;</div><div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160; gtk_entry_set_placeholder_text(GTK_ENTRY(widget), _(<span class="stringliteral">&quot;/path/to/command -opt1 arg %h %u %t -opt2 %U %p %g&quot;</span>));</div><div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160; gtk_widget_set_tooltip_markup(widget, _(cmd_tips));</div><div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160;</div><div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160; <span class="comment">/* Startup frame */</span></div><div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160; <a class="code" href="remmina__public_8c.html#af9c70a727bfeb32730b98ce5cf7a3739">remmina_public_create_group</a>(GTK_GRID(grid), _(<span class="stringliteral">&quot;Start-up&quot;</span>), 4, 1, 2);</div><div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160;</div><div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160; <span class="comment">/* Autostart profile option */</span></div><div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160; priv-&gt;behavior_autostart_check = <a class="code" href="remmina__file__editor_8c.html#a2a31c93bd54489f8bb3c8fe0dff033d6">remmina_file_editor_create_check</a>(gfe, grid, 6, 1, _(<span class="stringliteral">&quot;Auto-start this profile&quot;</span>),</div><div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160; <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;enable-autostart&quot;</span>, FALSE), <span class="stringliteral">&quot;enable-autostart&quot;</span>);</div><div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160;</div><div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160; <span class="comment">/* Startup frame */</span></div><div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160; <a class="code" href="remmina__public_8c.html#af9c70a727bfeb32730b98ce5cf7a3739">remmina_public_create_group</a>(GTK_GRID(grid), _(<span class="stringliteral">&quot;Connection profile security&quot;</span>), 8, 1, 2);</div><div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160;</div><div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160; <span class="comment">/* Autostart profile option */</span></div><div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160; priv-&gt;behavior_lock_check = <a class="code" href="remmina__file__editor_8c.html#a2a31c93bd54489f8bb3c8fe0dff033d6">remmina_file_editor_create_check</a>(gfe, grid, 10, 1, _(<span class="stringliteral">&quot;Require password to connect or edit the profile&quot;</span>),</div><div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160; <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;profile-lock&quot;</span>, FALSE), <span class="stringliteral">&quot;profile-lock&quot;</span>);</div><div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160;}</div><div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160;</div><div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBSSH</span></div><div class="line"><a name="l01135"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#aadf4d0ab51fe09231b48d4a2939564f7"> 1135</a></span>&#160;<span class="keyword">static</span> gpointer <a class="code" href="remmina__file__editor_8c.html#aadf4d0ab51fe09231b48d4a2939564f7">ssh_tunnel_auth_list</a>[] =</div><div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160;{</div><div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160; <span class="stringliteral">&quot;0&quot;</span>, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Password&quot;</span>),</div><div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160; <span class="stringliteral">&quot;1&quot;</span>, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;SSH identity file&quot;</span>),</div><div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160; <span class="stringliteral">&quot;2&quot;</span>, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;SSH agent&quot;</span>),</div><div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160; <span class="stringliteral">&quot;3&quot;</span>, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Public key (automatic)&quot;</span>),</div><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160; <span class="stringliteral">&quot;4&quot;</span>, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Kerberos (GSSAPI)&quot;</span>),</div><div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160; NULL</div><div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160;};</div><div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160;</div><div class="line"><a name="l01146"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#ab6e562792eb63ec43ed7f9a4b6687c23"> 1146</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#ab6e562792eb63ec43ed7f9a4b6687c23">remmina_file_editor_create_ssh_tunnel_tab</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, <a class="code" href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7">RemminaProtocolSSHSetting</a> ssh_setting)</div><div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160;{</div><div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBSSH</span></div><div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160; GtkWidget *grid;</div><div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160; <span class="keyword">const</span> gchar *cs;</div><div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160; gchar *s;</div><div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160; gchar *p;</div><div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>&#160; gint row = 0;</div><div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>&#160;</div><div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160; <span class="keywordflow">if</span> (ssh_setting == <a class="code" href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7a8f910597287a73453a5f09ca0037d093">REMMINA_PROTOCOL_SSH_SETTING_NONE</a>)</div><div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>&#160;</div><div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>&#160; <span class="comment">/* The SSH tab (implementation) */</span></div><div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160; grid = <a class="code" href="remmina__file__editor_8c.html#aecbc005c39cdf4fab4779090f11a3556">remmina_file_editor_create_notebook_tab</a>(gfe, NULL,</div><div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160; _(<span class="stringliteral">&quot;SSH Tunnel&quot;</span>), 9, 3);</div><div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160; widget = gtk_toggle_button_new_with_label(_(<span class="stringliteral">&quot;Enable SSH tunnel&quot;</span>));</div><div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, row, 1, 1);</div><div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;toggled&quot;</span>,</div><div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160; G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#a8a7f3ce69255bf413ef8fa841af3d019">remmina_file_editor_ssh_tunnel_enabled_check_on_toggled</a>), gfe);</div><div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160; priv-&gt;ssh_tunnel_enabled_check = widget;</div><div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160;</div><div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160; widget = gtk_check_button_new_with_label(_(<span class="stringliteral">&quot;Tunnel via loopback address&quot;</span>));</div><div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 1, row, 2, 1);</div><div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160; priv-&gt;ssh_tunnel_loopback_check = widget;</div><div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160;</div><div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160; <span class="comment">// 1</span></div><div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160; row++;</div><div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160; <span class="comment">/* SSH Server group */</span></div><div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160;</div><div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160; <span class="keywordflow">switch</span> (ssh_setting) {</div><div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7ab0449f571d03e46b99b301792a5d8e1a">REMMINA_PROTOCOL_SSH_SETTING_TUNNEL</a>:</div><div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160; s = g_strdup_printf(_(<span class="stringliteral">&quot;Same server at port %i&quot;</span>), DEFAULT_SSH_PORT);</div><div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160; widget = gtk_radio_button_new_with_label(NULL, s);</div><div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160; g_free(s);</div><div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, row, 3, 1);</div><div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160; priv-&gt;ssh_tunnel_server_default_radio = widget;</div><div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160; <span class="comment">// 2</span></div><div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160; row++;</div><div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160;</div><div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160; widget = gtk_radio_button_new_with_label_from_widget(</div><div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>&#160; GTK_RADIO_BUTTON(priv-&gt;ssh_tunnel_server_default_radio), _(<span class="stringliteral">&quot;Custom&quot;</span>));</div><div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, row, 1, 1);</div><div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;toggled&quot;</span>,</div><div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>&#160; G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#a5ea3f796c3a46aeb01b2f13f4a3d40a9">remmina_file_editor_ssh_tunnel_server_custom_radio_on_toggled</a>), gfe);</div><div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160; priv-&gt;ssh_tunnel_server_custom_radio = widget;</div><div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160;</div><div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160; widget = gtk_entry_new();</div><div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160; gtk_entry_set_max_length(GTK_ENTRY(widget), 100);</div><div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160; gtk_widget_set_tooltip_markup(widget, _(server_tips2));</div><div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 1, row, 2, 1);</div><div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160; priv-&gt;ssh_tunnel_server_entry = widget;</div><div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160; <span class="comment">// 3</span></div><div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160; row++;</div><div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160;</div><div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7a2f71ac2987eeec94430308f6f36840cd">REMMINA_PROTOCOL_SSH_SETTING_REVERSE_TUNNEL</a>:</div><div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160; priv-&gt;ssh_tunnel_server_default_radio = NULL;</div><div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>&#160; priv-&gt;ssh_tunnel_server_custom_radio = NULL;</div><div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>&#160;</div><div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>&#160; priv-&gt;ssh_tunnel_server_entry = <a class="code" href="remmina__file__editor_8c.html#a072de27e64368581e8507d3b795bfbf4">remmina_file_editor_create_text</a>(gfe, grid, 1, 0,</div><div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>&#160; _(<span class="stringliteral">&quot;Server&quot;</span>), NULL, <span class="stringliteral">&quot;ssh_reverse_tunnel_server&quot;</span>);</div><div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>&#160; gtk_widget_set_tooltip_markup(priv-&gt;ssh_tunnel_server_entry, _(server_tips));</div><div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>&#160; <span class="comment">// 2</span></div><div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>&#160; row++;</div><div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7a113aff9a0339ebe347ddf738d8c1f371">REMMINA_PROTOCOL_SSH_SETTING_SSH</a>:</div><div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7aef0536e2d0186b8cb8d8ba7a4a1a51c3">REMMINA_PROTOCOL_SSH_SETTING_SFTP</a>:</div><div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160; priv-&gt;ssh_tunnel_server_default_radio = NULL;</div><div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160; priv-&gt;ssh_tunnel_server_custom_radio = NULL;</div><div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160; priv-&gt;ssh_tunnel_server_entry = NULL;</div><div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160;</div><div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160;</div><div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160; }</div><div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160;</div><div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160; <span class="comment">/* This is not used? */</span></div><div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160; p = <a class="code" href="remmina__public_8c.html#af1679d83834c8409f23e00c555d677fb">remmina_public_combo_get_active_text</a>(GTK_COMBO_BOX(priv-&gt;protocol_combo));</div><div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160; <span class="keywordflow">if</span> (ssh_setting == <a class="code" href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7aef0536e2d0186b8cb8d8ba7a4a1a51c3">REMMINA_PROTOCOL_SSH_SETTING_SFTP</a>) {</div><div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#a072de27e64368581e8507d3b795bfbf4">remmina_file_editor_create_text</a>(gfe, grid, row, 1,</div><div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160; _(<span class="stringliteral">&quot;Start-up path&quot;</span>), NULL, <span class="stringliteral">&quot;start-up-path&quot;</span>);</div><div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160; cs = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;execpath&quot;</span>);</div><div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160; gtk_entry_set_text(GTK_ENTRY(widget), cs ? cs : <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>&#160; g_hash_table_insert(priv-&gt;setting_widgets, <span class="stringliteral">&quot;execpath&quot;</span>, widget);</div><div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160; <span class="comment">// 2</span></div><div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160; row++;</div><div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160; }</div><div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160;</div><div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160; <span class="comment">/* SSH Authentication frame */</span></div><div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>&#160; <a class="code" href="remmina__public_8c.html#af9c70a727bfeb32730b98ce5cf7a3739">remmina_public_create_group</a>(GTK_GRID(grid), _(<span class="stringliteral">&quot;SSH Authentication&quot;</span>), row, 6, 1);</div><div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160; <span class="comment">// 5</span></div><div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160; row += 2;</div><div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160;</div><div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160; priv-&gt;ssh_tunnel_auth_combo = <a class="code" href="remmina__file__editor_8c.html#ac9b7c0ba5ece064548bcaf72d1b0425a">remmina_file_editor_create_select</a>(gfe, grid, row, 0,</div><div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160; _(<span class="stringliteral">&quot;Authentication type&quot;</span>),</div><div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160; (<span class="keyword">const</span> gpointer *)<a class="code" href="remmina__file__editor_8c.html#aadf4d0ab51fe09231b48d4a2939564f7">ssh_tunnel_auth_list</a>,</div><div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160; <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_auth&quot;</span>), <span class="stringliteral">&quot;ssh_tunnel_auth&quot;</span>);</div><div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160; row++;</div><div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160;</div><div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>&#160; <span class="keywordflow">if</span> (ssh_setting == <a class="code" href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7ab0449f571d03e46b99b301792a5d8e1a">REMMINA_PROTOCOL_SSH_SETTING_TUNNEL</a> ||</div><div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160; ssh_setting == <a class="code" href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7a2f71ac2987eeec94430308f6f36840cd">REMMINA_PROTOCOL_SSH_SETTING_REVERSE_TUNNEL</a>) {</div><div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>&#160; priv-&gt;ssh_tunnel_username_entry =</div><div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a072de27e64368581e8507d3b795bfbf4">remmina_file_editor_create_text</a>(gfe, grid, row, 0,</div><div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>&#160; _(<span class="stringliteral">&quot;Username&quot;</span>), NULL, <span class="stringliteral">&quot;ssh_tunnel_username&quot;</span>);</div><div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>&#160; <span class="comment">// 5</span></div><div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160; row++;</div><div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160; }</div><div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160;</div><div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#a54d3b1890fcf67c2f7615e37f27f7583">remmina_file_editor_create_password</a>(gfe, grid, row, 0,</div><div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160; _(<span class="stringliteral">&quot;Password&quot;</span>),</div><div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160; <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_password&quot;</span>),</div><div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160; <span class="stringliteral">&quot;ssh_tunnel_password&quot;</span>);</div><div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160; priv-&gt;ssh_tunnel_auth_password = widget;</div><div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160; row++;</div><div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160;</div><div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160; priv-&gt;ssh_tunnel_privatekey_chooser = <a class="code" href="remmina__file__editor_8c.html#ab5d28ebef67a21099e99268bd6fa04aa">remmina_file_editor_create_chooser</a>(gfe, grid, row, 0,</div><div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160; _(<span class="stringliteral">&quot;SSH private key file&quot;</span>),</div><div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>&#160; <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_privatekey&quot;</span>),</div><div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160; GTK_FILE_CHOOSER_ACTION_OPEN, <span class="stringliteral">&quot;ssh_tunnel_privatekey&quot;</span>);</div><div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160; row++;</div><div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160;</div><div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160; priv-&gt;ssh_tunnel_certfile_chooser = <a class="code" href="remmina__file__editor_8c.html#ab5d28ebef67a21099e99268bd6fa04aa">remmina_file_editor_create_chooser</a>(gfe, grid, row, 0,</div><div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160; _(<span class="stringliteral">&quot;SSH certificate file&quot;</span>),</div><div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160; <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_certfile&quot;</span>),</div><div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160; GTK_FILE_CHOOSER_ACTION_OPEN, <span class="stringliteral">&quot;ssh_tunnel_certfile&quot;</span>);</div><div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160; row++;</div><div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160;</div><div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160; widget = gtk_label_new(_(<span class="stringliteral">&quot;Password to unlock private key&quot;</span>));</div><div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, row, 1, 1);</div><div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160; widget = gtk_entry_new();</div><div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 1, row, 2, 1);</div><div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160; gtk_entry_set_max_length(GTK_ENTRY(widget), 300);</div><div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160; gtk_entry_set_visibility(GTK_ENTRY(widget), FALSE);</div><div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160; gtk_widget_set_hexpand(widget, TRUE);</div><div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160; priv-&gt;ssh_tunnel_passphrase = widget;</div><div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160; row++;</div><div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160;</div><div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160; <span class="comment">/* Set the values */</span></div><div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160; cs = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_server&quot;</span>);</div><div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160; <span class="keywordflow">if</span> (ssh_setting == <a class="code" href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7ab0449f571d03e46b99b301792a5d8e1a">REMMINA_PROTOCOL_SSH_SETTING_TUNNEL</a>) {</div><div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>&#160; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(priv-&gt;ssh_tunnel_enabled_check),</div><div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160; <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_enabled&quot;</span>, FALSE));</div><div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(priv-&gt;ssh_tunnel_loopback_check),</div><div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160; <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_loopback&quot;</span>, FALSE));</div><div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160;</div><div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cs ? priv-&gt;ssh_tunnel_server_custom_radio : priv-&gt;ssh_tunnel_server_default_radio), TRUE);</div><div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>&#160; gtk_entry_set_text(GTK_ENTRY(priv-&gt;ssh_tunnel_server_entry),</div><div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>&#160; cs ? cs : <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ssh_setting == <a class="code" href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7a2f71ac2987eeec94430308f6f36840cd">REMMINA_PROTOCOL_SSH_SETTING_REVERSE_TUNNEL</a>) {</div><div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(priv-&gt;ssh_tunnel_enabled_check),</div><div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160; <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_enabled&quot;</span>, FALSE));</div><div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(priv-&gt;ssh_tunnel_loopback_check),</div><div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160; <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_loopback&quot;</span>, FALSE));</div><div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160; gtk_entry_set_text(GTK_ENTRY(priv-&gt;ssh_tunnel_server_entry),</div><div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160; cs ? cs : <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160; }</div><div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160;</div><div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a8a7f3ce69255bf413ef8fa841af3d019">remmina_file_editor_ssh_tunnel_enabled_check_on_toggled</a>(NULL, gfe, ssh_setting);</div><div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160; gtk_widget_show_all(grid);</div><div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160; g_free(p);</div><div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160;}</div><div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160;</div><div class="line"><a name="l01314"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a6415f73260076747c4f933af7f9f4b38"> 1314</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a6415f73260076747c4f933af7f9f4b38">remmina_file_editor_create_all_settings</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160;{</div><div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160; GtkWidget *grid;</div><div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>&#160;</div><div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="struct___remmina_protocol_setting.html">RemminaProtocolSetting</a> notes_settings[] =</div><div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160; {</div><div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160; { <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350aadb70e5d52a6eccc1aaf6f1428c1fb11">REMMINA_PROTOCOL_SETTING_TYPE_TEXTAREA</a>, <span class="stringliteral">&quot;notes_text&quot;</span>, NULL, FALSE, NULL, NULL },</div><div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160; { <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350ad898beb6ae625dee1ae27de75f1ab4e3">REMMINA_PROTOCOL_SETTING_TYPE_END</a>, NULL, NULL, FALSE, NULL, NULL }</div><div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160; };</div><div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160;</div><div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a3df3718727200d865f9f977435db30ea">remmina_file_editor_create_notebook_container</a>(gfe);</div><div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160;</div><div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160; <span class="comment">/* The Basic tab */</span></div><div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160; <span class="keywordflow">if</span> (priv-&gt;plugin-&gt;basic_settings) {</div><div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160; grid = <a class="code" href="remmina__file__editor_8c.html#aecbc005c39cdf4fab4779090f11a3556">remmina_file_editor_create_notebook_tab</a>(gfe, NULL, _(<span class="stringliteral">&quot;Basic&quot;</span>), 20, 2);</div><div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a727f967cf81d4af3f953046b0c4cf08d">remmina_file_editor_create_settings</a>(gfe, grid, priv-&gt;plugin-&gt;basic_settings);</div><div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160; }</div><div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160;</div><div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160; <span class="comment">/* The Advanced tab */</span></div><div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160; <span class="keywordflow">if</span> (priv-&gt;plugin-&gt;advanced_settings) {</div><div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160; grid = <a class="code" href="remmina__file__editor_8c.html#aecbc005c39cdf4fab4779090f11a3556">remmina_file_editor_create_notebook_tab</a>(gfe, NULL, _(<span class="stringliteral">&quot;Advanced&quot;</span>), 20, 2);</div><div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a727f967cf81d4af3f953046b0c4cf08d">remmina_file_editor_create_settings</a>(gfe, grid, priv-&gt;plugin-&gt;advanced_settings);</div><div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160; }</div><div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160;</div><div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160; <span class="comment">/* The Behavior tab */</span></div><div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a9bcaeec3ba26d31c6333f35fe1381a8c">remmina_file_editor_create_behavior_tab</a>(gfe);</div><div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160;</div><div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160; <span class="comment">/* The SSH tab */</span></div><div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160; <a class="code" href="remmina__file__editor_8c.html#ab6e562792eb63ec43ed7f9a4b6687c23">remmina_file_editor_create_ssh_tunnel_tab</a>(gfe, priv-&gt;plugin-&gt;ssh_setting);</div><div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>&#160;</div><div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>&#160; <span class="comment">/* Notes tab */</span></div><div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>&#160; grid = <a class="code" href="remmina__file__editor_8c.html#aecbc005c39cdf4fab4779090f11a3556">remmina_file_editor_create_notebook_tab</a>(gfe, NULL, _(<span class="stringliteral">&quot;Notes&quot;</span>), 1, 1);</div><div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a727f967cf81d4af3f953046b0c4cf08d">remmina_file_editor_create_settings</a>(gfe, grid, notes_settings);</div><div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>&#160;}</div><div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>&#160;</div><div class="line"><a name="l01351"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a333de350f1b07add2d0fd06320c80d16"> 1351</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a333de350f1b07add2d0fd06320c80d16">remmina_file_editor_protocol_combo_on_changed</a>(GtkComboBox *combo, <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160;{</div><div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160; gchar *protocol;</div><div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160;</div><div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160; <span class="keywordflow">if</span> (priv-&gt;config_container) {</div><div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160; gtk_widget_destroy(priv-&gt;config_container);</div><div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>&#160; priv-&gt;config_container = NULL;</div><div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>&#160; gtk_widget_destroy(priv-&gt;config_viewport);</div><div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160; priv-&gt;config_viewport = NULL;</div><div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160; gtk_widget_destroy(priv-&gt;config_scrollable);</div><div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160; priv-&gt;config_scrollable = NULL;</div><div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160; }</div><div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160;</div><div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160; priv-&gt;server_combo = NULL;</div><div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160; priv-&gt;resolution_iws_radio = NULL;</div><div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160; priv-&gt;resolution_auto_radio = NULL;</div><div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160; priv-&gt;resolution_custom_radio = NULL;</div><div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>&#160; priv-&gt;resolution_custom_combo = NULL;</div><div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>&#160; priv-&gt;keymap_combo = NULL;</div><div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>&#160;</div><div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>&#160; priv-&gt;ssh_tunnel_enabled_check = NULL;</div><div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>&#160; priv-&gt;ssh_tunnel_loopback_check = NULL;</div><div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>&#160; priv-&gt;ssh_tunnel_server_default_radio = NULL;</div><div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>&#160; priv-&gt;ssh_tunnel_server_custom_radio = NULL;</div><div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>&#160; priv-&gt;ssh_tunnel_server_entry = NULL;</div><div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>&#160; priv-&gt;ssh_tunnel_username_entry = NULL;</div><div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>&#160; priv-&gt;ssh_tunnel_auth_combo = NULL;</div><div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>&#160; priv-&gt;ssh_tunnel_auth_password = NULL;</div><div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>&#160; priv-&gt;ssh_tunnel_privatekey_chooser = NULL;</div><div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160; priv-&gt;ssh_tunnel_certfile_chooser = NULL;</div><div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>&#160;</div><div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>&#160; g_hash_table_remove_all(priv-&gt;setting_widgets);</div><div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>&#160;</div><div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160; protocol = <a class="code" href="remmina__public_8c.html#af1679d83834c8409f23e00c555d677fb">remmina_public_combo_get_active_text</a>(combo);</div><div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160; <span class="keywordflow">if</span> (protocol) {</div><div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160; priv-&gt;plugin = (<a class="code" href="struct___remmina_protocol_plugin.html">RemminaProtocolPlugin</a> *)<a class="code" href="remmina__plugin__manager_8c.html#a3872c8656a8a3d5147bcc603471c1932">remmina_plugin_manager_get_plugin</a>(<a class="code" href="plugin_8h.html#aaf53c620d115a4642130227cff4a624aa45e094c248384c12cdafd9d088e4aa24">REMMINA_PLUGIN_TYPE_PROTOCOL</a>,</div><div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160; protocol);</div><div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160; g_free(protocol);</div><div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a6415f73260076747c4f933af7f9f4b38">remmina_file_editor_create_all_settings</a>(gfe);</div><div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160; }</div><div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>&#160;}</div><div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>&#160;</div><div class="line"><a name="l01395"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a4c16a6793828893598bc0a158bb13cbb"> 1395</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a4c16a6793828893598bc0a158bb13cbb">remmina_file_editor_save_behavior_tab</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>&#160;{</div><div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>&#160;</div><div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;precommand&quot;</span>, gtk_entry_get_text(GTK_ENTRY(priv-&gt;behavior_precommand_entry)));</div><div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;postcommand&quot;</span>, gtk_entry_get_text(GTK_ENTRY(priv-&gt;behavior_postcommand_entry)));</div><div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>&#160;</div><div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160; gboolean autostart_enabled = (priv-&gt;behavior_autostart_check ? gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(priv-&gt;behavior_autostart_check)) : FALSE);</div><div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160; <a class="code" href="remmina__file_8c.html#af153b0d289ac93f6ecdaa15d5f3b9b8c">remmina_file_set_int</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;enable-autostart&quot;</span>, autostart_enabled);</div><div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>&#160; gboolean lock_enabled = (priv-&gt;behavior_lock_check ? gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(priv-&gt;behavior_lock_check)) : FALSE);</div><div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>&#160; <a class="code" href="remmina__file_8c.html#af153b0d289ac93f6ecdaa15d5f3b9b8c">remmina_file_set_int</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;profile-lock&quot;</span>, lock_enabled);</div><div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160;}</div><div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>&#160;</div><div class="line"><a name="l01409"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a99984deb4b5a3b873b26c0c9cf8268b7"> 1409</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a99984deb4b5a3b873b26c0c9cf8268b7">remmina_file_editor_save_ssh_tunnel_tab</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>&#160;{</div><div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160; gboolean ssh_tunnel_enabled;</div><div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160; <span class="keywordtype">int</span> ssh_tunnel_auth;</div><div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160;</div><div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160; ssh_tunnel_enabled = (priv-&gt;ssh_tunnel_enabled_check ? gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(priv-&gt;ssh_tunnel_enabled_check)) : FALSE);</div><div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160; <a class="code" href="remmina__file_8c.html#af153b0d289ac93f6ecdaa15d5f3b9b8c">remmina_file_set_int</a>(priv-&gt;remmina_file,</div><div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160; <span class="stringliteral">&quot;ssh_tunnel_loopback&quot;</span>,</div><div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160; (priv-&gt;ssh_tunnel_loopback_check ? gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(priv-&gt;ssh_tunnel_loopback_check)) : FALSE));</div><div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>&#160; <a class="code" href="remmina__file_8c.html#af153b0d289ac93f6ecdaa15d5f3b9b8c">remmina_file_set_int</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_enabled&quot;</span>, ssh_tunnel_enabled);</div><div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_auth&quot;</span>,</div><div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160; <a class="code" href="remmina__public_8c.html#af1679d83834c8409f23e00c555d677fb">remmina_public_combo_get_active_text</a>(GTK_COMBO_BOX(priv-&gt;ssh_tunnel_auth_combo)));</div><div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_username&quot;</span>,</div><div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160; (ssh_tunnel_enabled ? gtk_entry_get_text(GTK_ENTRY(priv-&gt;ssh_tunnel_username_entry)) : NULL));</div><div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(</div><div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160; priv-&gt;remmina_file,</div><div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160; <span class="stringliteral">&quot;ssh_tunnel_server&quot;</span>,</div><div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160; (ssh_tunnel_enabled &amp;&amp; priv-&gt;ssh_tunnel_server_entry &amp;&amp; (priv-&gt;ssh_tunnel_server_custom_radio == NULL || gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(priv-&gt;ssh_tunnel_server_custom_radio))) ? gtk_entry_get_text(GTK_ENTRY(priv-&gt;ssh_tunnel_server_entry)) : NULL));</div><div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>&#160;</div><div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>&#160; ssh_tunnel_auth = gtk_combo_box_get_active(GTK_COMBO_BOX(priv-&gt;ssh_tunnel_auth_combo));</div><div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160;</div><div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>&#160; <a class="code" href="remmina__file_8c.html#af153b0d289ac93f6ecdaa15d5f3b9b8c">remmina_file_set_int</a>(</div><div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160; priv-&gt;remmina_file,</div><div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160; <span class="stringliteral">&quot;ssh_tunnel_auth&quot;</span>,</div><div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160; ssh_tunnel_auth);</div><div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(</div><div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160; priv-&gt;remmina_file,</div><div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160; <span class="stringliteral">&quot;ssh_tunnel_privatekey&quot;</span>,</div><div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160; (priv-&gt;ssh_tunnel_privatekey_chooser ? gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(priv-&gt;ssh_tunnel_privatekey_chooser)) : NULL));</div><div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>&#160;</div><div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(</div><div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>&#160; priv-&gt;remmina_file,</div><div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160; <span class="stringliteral">&quot;ssh_tunnel_certfile&quot;</span>,</div><div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>&#160; (priv-&gt;ssh_tunnel_certfile_chooser ? gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(priv-&gt;ssh_tunnel_certfile_chooser)) : NULL));</div><div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>&#160;</div><div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(</div><div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>&#160; priv-&gt;remmina_file,</div><div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>&#160; <span class="stringliteral">&quot;ssh_tunnel_password&quot;</span>,</div><div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>&#160; (ssh_tunnel_enabled &amp;&amp; (ssh_tunnel_auth == <a class="code" href="remmina__file_8h.html#abc6126af1d45847bc59afa0aa3216b04a7d995a7868d2d2f81e9dd2f898b206fe">SSH_AUTH_PASSWORD</a>)) ? gtk_entry_get_text(GTK_ENTRY(priv-&gt;ssh_tunnel_auth_password)) : NULL);</div><div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>&#160;</div><div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(</div><div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>&#160; priv-&gt;remmina_file,</div><div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>&#160; <span class="stringliteral">&quot;ssh_tunnel_passphrase&quot;</span>,</div><div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160; (ssh_tunnel_enabled &amp;&amp; (ssh_tunnel_auth == <a class="code" href="remmina__file_8h.html#abc6126af1d45847bc59afa0aa3216b04aeba5f4ff7657d7b15519556793ee8930">SSH_AUTH_PUBLICKEY</a> || ssh_tunnel_auth == <a class="code" href="remmina__file_8h.html#abc6126af1d45847bc59afa0aa3216b04a9f6024449a620d679eab2c09ea77877e">SSH_AUTH_AUTO_PUBLICKEY</a>)) ? gtk_entry_get_text(GTK_ENTRY(priv-&gt;ssh_tunnel_passphrase)) : NULL);</div><div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>&#160;}</div><div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>&#160;</div><div class="line"><a name="l01457"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a8c1924fd32be943136d147e8dedb3eca"> 1457</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__file__editor_8c.html#a8c1924fd32be943136d147e8dedb3eca">remmina_file_editor_validate_settings</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> * gfe,</div><div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>&#160; gchar * setting_name_to_validate,</div><div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160; gconstpointer value,</div><div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>&#160; GError ** err)</div><div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>&#160;{</div><div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>&#160; <span class="keywordflow">if</span> (!setting_name_to_validate || !value || !gfe) {</div><div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>&#160; <span class="keywordflow">if</span> (!setting_name_to_validate) {</div><div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>&#160; g_critical(_(<span class="stringliteral">&quot;(%s: %i): Can&#39;t validate setting &#39;%s&#39; since &#39;value&#39; or &#39;gfe&#39; &quot;</span></div><div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>&#160; <span class="stringliteral">&quot;are NULL!&quot;</span>),</div><div class="line"><a name="l01466"></a><span class="lineno"> 1466</span>&#160; __func__, __LINE__, setting_name_to_validate);</div><div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>&#160; g_critical(_(<span class="stringliteral">&quot;(%s: %i): Can&#39;t validate user input since &quot;</span></div><div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>&#160; <span class="stringliteral">&quot;&#39;setting_name_to_validate&#39;, &#39;value&#39; or &#39;gfe&#39; are NULL!&quot;</span>),</div><div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>&#160; __func__, __LINE__);</div><div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>&#160; }</div><div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>&#160; g_set_error(err, 1, 1, _(<span class="stringliteral">&quot;Internal error.&quot;</span>));</div><div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>&#160; }</div><div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>&#160;</div><div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>&#160; <span class="keywordflow">if</span> (strcmp(setting_name_to_validate, <span class="stringliteral">&quot;notes_text&quot;</span>) == 0) {</div><div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>&#160; <span class="comment">// Not a plugin setting. Bail out early.</span></div><div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>&#160; }</div><div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>&#160;</div><div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>&#160; <span class="keyword">const</span> <a class="code" href="struct___remmina_protocol_setting.html">RemminaProtocolSetting</a> *setting_iter;</div><div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>&#160; <a class="code" href="struct___remmina_protocol_plugin.html">RemminaProtocolPlugin</a> *protocol_plugin;</div><div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>&#160; protocol_plugin = priv-&gt;plugin;</div><div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>&#160;</div><div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>&#160; setting_iter = protocol_plugin-&gt;<a class="code" href="struct___remmina_protocol_plugin.html#aae09a7e2c978cc36e85d0f295518978d">basic_settings</a>;</div><div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>&#160; <span class="keywordflow">if</span> (setting_iter) {</div><div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>&#160; <span class="comment">// gboolean found = FALSE;</span></div><div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>&#160; <span class="keywordflow">while</span> (setting_iter-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a6274d44b592a54162ff583135e55ffc9">type</a> != <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350ad898beb6ae625dee1ae27de75f1ab4e3">REMMINA_PROTOCOL_SETTING_TYPE_END</a>) {</div><div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>&#160; <span class="keywordflow">if</span> (setting_iter-&gt;<a class="code" href="struct___remmina_protocol_setting.html#ac4cd339607204c5f478727e2a0c04857">name</a> == NULL) {</div><div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>&#160; g_error(<span class="stringliteral">&quot;Internal error: a setting name in protocol plugin %s is &quot;</span></div><div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>&#160; <span class="stringliteral">&quot;null. Please fix RemminaProtocolSetting struct content.&quot;</span>,</div><div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>&#160; protocol_plugin-&gt;<a class="code" href="struct___remmina_protocol_plugin.html#a6e04143450eeb71e3d0b2c14983860a4">name</a>);</div><div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((gchar *)setting_name_to_validate) {</div><div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>&#160; <span class="keywordflow">if</span> (strcmp((gchar *)setting_name_to_validate, setting_iter-&gt;<a class="code" href="struct___remmina_protocol_setting.html#ac4cd339607204c5f478727e2a0c04857">name</a>) == 0) {</div><div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>&#160; <span class="comment">// found = TRUE;</span></div><div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>&#160;</div><div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>&#160; gpointer validator_data = setting_iter-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a6086b43049072a3a3245c4a45f43dbc5">validator_data</a>;</div><div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>&#160; GCallback validator = setting_iter-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a94df87db138d4e44e81b3e6c99148ed3">validator</a>;</div><div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>&#160;</div><div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>&#160; <span class="comment">// Default behaviour is that everything is valid,</span></div><div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>&#160; <span class="comment">// except a validator is given and its returned GError is not NULL.</span></div><div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>&#160; GError *err_ret = NULL;</div><div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>&#160;</div><div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>&#160; g_debug(<span class="stringliteral">&quot;Checking setting &#39;%s&#39; for validation.&quot;</span>, setting_iter-&gt;<a class="code" href="struct___remmina_protocol_setting.html#ac4cd339607204c5f478727e2a0c04857">name</a>);</div><div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>&#160; <span class="keywordflow">if</span> (validator != NULL) {</div><div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>&#160; <span class="comment">// Looks weird but it calls the setting&#39;s validator</span></div><div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>&#160; <span class="comment">// function using setting_name_to_validate, value and</span></div><div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>&#160; <span class="comment">// validator_data as parameters and it returns a GError*.</span></div><div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>&#160; err_ret = ((GError * (*)(gpointer, gconstpointer, gpointer)) validator)(setting_name_to_validate, value, validator_data);</div><div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160; }</div><div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160;</div><div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>&#160; <span class="keywordflow">if</span> (err_ret) {</div><div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>&#160; g_debug(<span class="stringliteral">&quot;it has a validator function and it had an error!&quot;</span>);</div><div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>&#160; <span class="comment">// pass err (returned value) to function caller.</span></div><div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>&#160; *err = err_ret;</div><div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>&#160; }</div><div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>&#160;</div><div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>&#160; }</div><div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>&#160; }</div><div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>&#160; setting_iter++;</div><div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>&#160; }</div><div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>&#160;</div><div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>&#160; <span class="comment">// if (!found) {</span></div><div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>&#160; <span class="comment">// TOO VERBOSE:</span></div><div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>&#160; <span class="comment">// g_warning(&quot;%s is not a plugin setting!&quot;, setting_name_to_validate);</span></div><div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>&#160; <span class="comment">// }</span></div><div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>&#160; }</div><div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>&#160;</div><div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>&#160;}</div><div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>&#160;</div><div class="line"><a name="l01535"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#ac4aed08e645f690ef347adec9cdbb9b9"> 1535</a></span>&#160;<span class="keyword">static</span> GError *<a class="code" href="remmina__file__editor_8c.html#ac4aed08e645f690ef347adec9cdbb9b9">remmina_file_editor_update_settings</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> * gfe,</div><div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>&#160; GtkWidget ** failed_widget)</div><div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>&#160;{</div><div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>&#160; GHashTableIter iter;</div><div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>&#160; gpointer key;</div><div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>&#160; gpointer widget;</div><div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>&#160; GtkTextBuffer *buffer;</div><div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>&#160; gchar *escaped, *unescaped;</div><div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>&#160; GtkTextIter start, end;</div><div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>&#160;</div><div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>&#160; GError *err = NULL;</div><div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>&#160; *failed_widget = NULL;</div><div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>&#160;</div><div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>&#160; g_hash_table_iter_init(&amp;iter, priv-&gt;setting_widgets);</div><div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>&#160; <span class="keywordflow">while</span> (g_hash_table_iter_next(&amp;iter, &amp;key, &amp;widget)) {</div><div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>&#160; <span class="comment">// We don&#39;t want to save or validate grayed-out settings.</span></div><div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>&#160; <span class="keywordflow">if</span> (!gtk_widget_get_sensitive(GTK_WIDGET(widget))) {</div><div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>&#160; g_debug(<span class="stringliteral">&quot;Grayed-out setting-widget &#39;%s&#39; will not be saved.&quot;</span>,</div><div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>&#160; gtk_widget_get_name(widget));</div><div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>&#160; }</div><div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>&#160;</div><div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>&#160; <span class="keywordflow">if</span> (GTK_IS_ENTRY(widget)) {</div><div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>&#160; <span class="keyword">const</span> gchar *value = gtk_entry_get_text(GTK_ENTRY(widget));</div><div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>&#160;</div><div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="remmina__file__editor_8c.html#a8c1924fd32be943136d147e8dedb3eca">remmina_file_editor_validate_settings</a>(gfe, (gchar *)key, value, &amp;err)) {</div><div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>&#160; <span class="comment">// Error while validating!</span></div><div class="line"><a name="l01564"></a><span class="lineno"> 1564</span>&#160; <span class="comment">// err should be set now.</span></div><div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>&#160; *failed_widget = widget;</div><div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>&#160; }</div><div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>&#160;</div><div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, (gchar *)key, value);</div><div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (GTK_IS_TEXT_VIEW(widget)) {</div><div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>&#160; buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(widget));</div><div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>&#160; gtk_text_buffer_get_start_iter(buffer, &amp;start);</div><div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160; gtk_text_buffer_get_end_iter(buffer, &amp;end);</div><div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>&#160; unescaped = gtk_text_buffer_get_text(buffer, &amp;start, &amp;end, FALSE);</div><div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>&#160; escaped = g_uri_escape_string(unescaped, NULL, TRUE);</div><div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>&#160;</div><div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="remmina__file__editor_8c.html#a8c1924fd32be943136d147e8dedb3eca">remmina_file_editor_validate_settings</a>(gfe, (gchar *)key, escaped, &amp;err)) {</div><div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>&#160; <span class="comment">// Error while validating!</span></div><div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>&#160; <span class="comment">// err should be set now.</span></div><div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>&#160; *failed_widget = widget;</div><div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160; }</div><div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>&#160;</div><div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, (gchar *)key, escaped);</div><div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>&#160; g_free(escaped);</div><div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (GTK_IS_COMBO_BOX(widget)) {</div><div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>&#160; gchar *value = <a class="code" href="remmina__public_8c.html#af1679d83834c8409f23e00c555d677fb">remmina_public_combo_get_active_text</a>(GTK_COMBO_BOX(widget));</div><div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>&#160;</div><div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="remmina__file__editor_8c.html#a8c1924fd32be943136d147e8dedb3eca">remmina_file_editor_validate_settings</a>(gfe, (gchar *)key, value, &amp;err)) {</div><div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>&#160; <span class="comment">// Error while validating!</span></div><div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>&#160; <span class="comment">// err should be set now.</span></div><div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>&#160; *failed_widget = widget;</div><div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160; }</div><div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>&#160;</div><div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, (gchar *)key, value);</div><div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (GTK_IS_FILE_CHOOSER(widget)) {</div><div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160; gchar *value = gtk_widget_get_sensitive(GTK_WIDGET(widget)) ? gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(widget)) : NULL;</div><div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>&#160;</div><div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="remmina__file__editor_8c.html#a8c1924fd32be943136d147e8dedb3eca">remmina_file_editor_validate_settings</a>(gfe, (gchar *)key, value, &amp;err)) {</div><div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>&#160; <span class="comment">// Error while validating!</span></div><div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>&#160; <span class="comment">// err should be set now.</span></div><div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>&#160; g_free(value);</div><div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>&#160; *failed_widget = widget;</div><div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160; }</div><div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>&#160;</div><div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, (gchar *)key, value);</div><div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>&#160; g_free(value);</div><div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (GTK_IS_TOGGLE_BUTTON(widget)) {</div><div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>&#160; gboolean value = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));</div><div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>&#160;</div><div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="remmina__file__editor_8c.html#a8c1924fd32be943136d147e8dedb3eca">remmina_file_editor_validate_settings</a>(gfe, (gchar *)key, &amp;value, &amp;err)) {</div><div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>&#160; <span class="comment">// Error while validating!</span></div><div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>&#160; <span class="comment">// err should be set now.</span></div><div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>&#160; *failed_widget = widget;</div><div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>&#160; }</div><div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>&#160;</div><div class="line"><a name="l01620"></a><span class="lineno"> 1620</span>&#160; <a class="code" href="remmina__file_8c.html#af153b0d289ac93f6ecdaa15d5f3b9b8c">remmina_file_set_int</a>(priv-&gt;remmina_file, (gchar *)key, value);</div><div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>&#160; }</div><div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>&#160; }</div><div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>&#160;</div><div class="line"><a name="l01624"></a><span class="lineno"> 1624</span>&#160; <span class="keywordflow">if</span> (err) {</div><div class="line"><a name="l01625"></a><span class="lineno"> 1625</span>&#160; <span class="keywordflow">return</span> err;</div><div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>&#160; }</div><div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>&#160;</div><div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>&#160; <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>&#160;}</div><div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>&#160;</div><div class="line"><a name="l01631"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#adddb10632532560ce0a1f0c9ca1bcde5"> 1631</a></span>&#160;<span class="keyword">static</span> GError *<a class="code" href="remmina__file__editor_8c.html#adddb10632532560ce0a1f0c9ca1bcde5">remmina_file_editor_update</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> * gfe,</div><div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>&#160; GtkWidget ** failed_widget)</div><div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>&#160;{</div><div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>&#160; <span class="keywordtype">int</span> res_w, res_h;</div><div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160; gchar *custom_resolution;</div><div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160; <a class="code" href="types_8h.html#a373ddef8221457d86c64830c26d3f78a">RemminaProtocolWidgetResolutionMode</a> res_mode;</div><div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>&#160;</div><div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>&#160;</div><div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;name&quot;</span>, gtk_entry_get_text(GTK_ENTRY(priv-&gt;name_entry)));</div><div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>&#160;</div><div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;labels&quot;</span>, gtk_entry_get_text(GTK_ENTRY(priv-&gt;labels_entry)));</div><div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>&#160;</div><div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;group&quot;</span>,</div><div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>&#160; (priv-&gt;group_combo ? <a class="code" href="remmina__public_8c.html#af1679d83834c8409f23e00c555d677fb">remmina_public_combo_get_active_text</a>(GTK_COMBO_BOX(priv-&gt;group_combo)) : NULL));</div><div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>&#160;</div><div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;protocol&quot;</span>,</div><div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>&#160; <a class="code" href="remmina__public_8c.html#af1679d83834c8409f23e00c555d677fb">remmina_public_combo_get_active_text</a>(GTK_COMBO_BOX(priv-&gt;protocol_combo)));</div><div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>&#160;</div><div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;server&quot;</span>,</div><div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>&#160; (priv-&gt;server_combo ? <a class="code" href="remmina__public_8c.html#af1679d83834c8409f23e00c555d677fb">remmina_public_combo_get_active_text</a>(GTK_COMBO_BOX(priv-&gt;server_combo)) : NULL));</div><div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>&#160;</div><div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>&#160; <span class="keywordflow">if</span> (priv-&gt;resolution_auto_radio) {</div><div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>&#160; <span class="keywordflow">if</span> (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(priv-&gt;resolution_auto_radio))) {</div><div class="line"><a name="l01656"></a><span class="lineno"> 1656</span>&#160; <span class="comment">/* Resolution is set to auto (which means: Use client fullscreen resolution, aka use client resolution) */</span></div><div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>&#160; res_w = res_h = 0;</div><div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>&#160; res_mode = <a class="code" href="types_8h.html#a373ddef8221457d86c64830c26d3f78aaf5ff7e2cd480eb2acc5e1520e409202d">RES_USE_CLIENT</a>;</div><div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(priv-&gt;resolution_iws_radio))) {</div><div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>&#160; <span class="comment">/* Resolution is set to initial window size */</span></div><div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>&#160; res_w = res_h = 0;</div><div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>&#160; res_mode = <a class="code" href="types_8h.html#a373ddef8221457d86c64830c26d3f78aa60de6896fa451ca072d23fab21dbfeef">RES_USE_INITIAL_WINDOW_SIZE</a>;</div><div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l01664"></a><span class="lineno"> 1664</span>&#160; <span class="comment">/* Resolution is set to a value from the list */</span></div><div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>&#160; custom_resolution = <a class="code" href="remmina__public_8c.html#af1679d83834c8409f23e00c555d677fb">remmina_public_combo_get_active_text</a>(GTK_COMBO_BOX(priv-&gt;resolution_custom_combo));</div><div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__public_8c.html#aaf3fdb980c24cd06965b85ebcdd79173">remmina_public_split_resolution_string</a>(custom_resolution, &amp;res_w, &amp;res_h))</div><div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>&#160; res_mode = <a class="code" href="types_8h.html#a373ddef8221457d86c64830c26d3f78aafe10effd553a16b9bac60b6d9b64c2cd">RES_USE_CUSTOM</a>;</div><div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>&#160; res_mode = <a class="code" href="types_8h.html#a373ddef8221457d86c64830c26d3f78aa60de6896fa451ca072d23fab21dbfeef">RES_USE_INITIAL_WINDOW_SIZE</a>;</div><div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>&#160; g_free(custom_resolution);</div><div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>&#160; }</div><div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>&#160; <a class="code" href="remmina__file_8c.html#af153b0d289ac93f6ecdaa15d5f3b9b8c">remmina_file_set_int</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;resolution_mode&quot;</span>, res_mode);</div><div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>&#160; <a class="code" href="remmina__file_8c.html#af153b0d289ac93f6ecdaa15d5f3b9b8c">remmina_file_set_int</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;resolution_width&quot;</span>, res_w);</div><div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>&#160; <a class="code" href="remmina__file_8c.html#af153b0d289ac93f6ecdaa15d5f3b9b8c">remmina_file_set_int</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;resolution_height&quot;</span>, res_h);</div><div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>&#160; }</div><div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>&#160;</div><div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>&#160; <span class="keywordflow">if</span> (priv-&gt;keymap_combo)</div><div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;keymap&quot;</span>,</div><div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>&#160; <a class="code" href="remmina__public_8c.html#af1679d83834c8409f23e00c555d677fb">remmina_public_combo_get_active_text</a>(GTK_COMBO_BOX(priv-&gt;keymap_combo)));</div><div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>&#160;</div><div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a4c16a6793828893598bc0a158bb13cbb">remmina_file_editor_save_behavior_tab</a>(gfe);</div><div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a99984deb4b5a3b873b26c0c9cf8268b7">remmina_file_editor_save_ssh_tunnel_tab</a>(gfe);</div><div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160; <span class="keywordflow">return</span> <a class="code" href="remmina__file__editor_8c.html#ac4aed08e645f690ef347adec9cdbb9b9">remmina_file_editor_update_settings</a>(gfe, failed_widget);</div><div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>&#160;}</div><div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>&#160;</div><div class="line"><a name="l01686"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#afcc5ee6fcd22686b716fbe595cb210a6"> 1686</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#afcc5ee6fcd22686b716fbe595cb210a6">remmina_file_editor_on_default</a>(GtkWidget *button, <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160;{</div><div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *gf;</div><div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160; GtkWidget *dialog;</div><div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>&#160;</div><div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>&#160; GtkWidget *failed_widget = NULL;</div><div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>&#160; GError *err = <a class="code" href="remmina__file__editor_8c.html#adddb10632532560ce0a1f0c9ca1bcde5">remmina_file_editor_update</a>(gfe, &amp;failed_widget);</div><div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>&#160; <span class="keywordflow">if</span> (err) {</div><div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>&#160; g_warning(_(<span class="stringliteral">&quot;Couldn&#39;t validate user input. %s&quot;</span>), err-&gt;message);</div><div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a2808be66552b252210e1c3b76530cd11">remmina_file_editor_show_validation_error_popup</a>(gfe, failed_widget, err);</div><div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>&#160; }</div><div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>&#160;</div><div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>&#160; gf = <a class="code" href="remmina__file_8c.html#a3fb992fced83e0f1c4e4e3c8d2206be5">remmina_file_dup</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file);</div><div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>&#160;</div><div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>&#160; <a class="code" href="remmina__file_8c.html#ab03b042504c09c1ad880ac126a703114">remmina_file_set_filename</a>(gf, <a class="code" href="rcw_8c.html#af657fd4825d16d8d003a8b42fbd0c715">remmina_pref_file</a>);</div><div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>&#160;</div><div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>&#160; <span class="comment">/* Clear properties that should never be default */</span></div><div class="line"><a name="l01705"></a><span class="lineno"> 1705</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(gf, <span class="stringliteral">&quot;name&quot;</span>, NULL);</div><div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(gf, <span class="stringliteral">&quot;server&quot;</span>, NULL);</div><div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(gf, <span class="stringliteral">&quot;password&quot;</span>, NULL);</div><div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(gf, <span class="stringliteral">&quot;precommand&quot;</span>, NULL);</div><div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(gf, <span class="stringliteral">&quot;postcommand&quot;</span>, NULL);</div><div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>&#160;</div><div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(gf, <span class="stringliteral">&quot;ssh_tunnel_server&quot;</span>, NULL);</div><div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(gf, <span class="stringliteral">&quot;ssh_tunnel_password&quot;</span>, NULL);</div><div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(gf, <span class="stringliteral">&quot;ssh_tunnel_passphrase&quot;</span>, NULL);</div><div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>&#160;</div><div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>&#160; <a class="code" href="remmina__file_8c.html#a8c893a5deec9bc446bd89cc9973416c7">remmina_file_save</a>(gf);</div><div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>&#160; <a class="code" href="remmina__file_8c.html#abd2f06bf0a5ddcf7156e5ef7d0c8d4d7">remmina_file_free</a>(gf);</div><div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>&#160;</div><div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>&#160; dialog = gtk_message_dialog_new(GTK_WINDOW(gfe), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO,</div><div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>&#160; GTK_BUTTONS_OK, _(<span class="stringliteral">&quot;Default settings saved.&quot;</span>));</div><div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>&#160; gtk_dialog_run(GTK_DIALOG(dialog));</div><div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>&#160; gtk_widget_destroy(dialog);</div><div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>&#160;}</div><div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>&#160;</div><div class="line"><a name="l01724"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#ac2a5cf9cdcf640986e245eb04be9c4ad"> 1724</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#ac2a5cf9cdcf640986e245eb04be9c4ad">remmina_file_editor_on_save</a>(GtkWidget *button, <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>&#160;{</div><div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>&#160;</div><div class="line"><a name="l01728"></a><span class="lineno"> 1728</span>&#160; GtkWidget *failed_widget = NULL;</div><div class="line"><a name="l01729"></a><span class="lineno"> 1729</span>&#160; GError *err = <a class="code" href="remmina__file__editor_8c.html#adddb10632532560ce0a1f0c9ca1bcde5">remmina_file_editor_update</a>(gfe, &amp;failed_widget);</div><div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>&#160; <span class="keywordflow">if</span> (err) {</div><div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>&#160; g_warning(_(<span class="stringliteral">&quot;Couldn&#39;t validate user input. %s&quot;</span>), err-&gt;message);</div><div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a2808be66552b252210e1c3b76530cd11">remmina_file_editor_show_validation_error_popup</a>(gfe, failed_widget, err);</div><div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>&#160; }</div><div class="line"><a name="l01735"></a><span class="lineno"> 1735</span>&#160;</div><div class="line"><a name="l01736"></a><span class="lineno"> 1736</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a3866832d550ceac91d608900df4c8056">remmina_file_editor_file_save</a>(gfe);</div><div class="line"><a name="l01737"></a><span class="lineno"> 1737</span>&#160;</div><div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>&#160; <a class="code" href="remmina__file_8c.html#a8c893a5deec9bc446bd89cc9973416c7">remmina_file_save</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file);</div><div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>&#160; <a class="code" href="remmina__icon_8c.html#af80ed314f91d653237249d839c7fc3b2">remmina_icon_populate_menu</a>();</div><div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>&#160;</div><div class="line"><a name="l01741"></a><span class="lineno"> 1741</span>&#160; gtk_widget_destroy(GTK_WIDGET(gfe));</div><div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>&#160;}</div><div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>&#160;</div><div class="line"><a name="l01744"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a73b8581fd1fd77532b748d91a2951f25"> 1744</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a73b8581fd1fd77532b748d91a2951f25">remmina_file_editor_on_connect</a>(GtkWidget *button, <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>&#160;{</div><div class="line"><a name="l01746"></a><span class="lineno"> 1746</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01747"></a><span class="lineno"> 1747</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *gf;</div><div class="line"><a name="l01748"></a><span class="lineno"> 1748</span>&#160;</div><div class="line"><a name="l01749"></a><span class="lineno"> 1749</span>&#160; GtkWidget *failed_widget = NULL;</div><div class="line"><a name="l01750"></a><span class="lineno"> 1750</span>&#160; GError *err = <a class="code" href="remmina__file__editor_8c.html#adddb10632532560ce0a1f0c9ca1bcde5">remmina_file_editor_update</a>(gfe, &amp;failed_widget);</div><div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>&#160; <span class="keywordflow">if</span> (err) {</div><div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>&#160; g_warning(_(<span class="stringliteral">&quot;Couldn&#39;t validate user input. %s&quot;</span>), err-&gt;message);</div><div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a2808be66552b252210e1c3b76530cd11">remmina_file_editor_show_validation_error_popup</a>(gfe, failed_widget, err);</div><div class="line"><a name="l01754"></a><span class="lineno"> 1754</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l01755"></a><span class="lineno"> 1755</span>&#160; }</div><div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>&#160;</div><div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>&#160; gf = <a class="code" href="remmina__file_8c.html#a3fb992fced83e0f1c4e4e3c8d2206be5">remmina_file_dup</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file);</div><div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>&#160; <span class="comment">/* Put server into name for &quot;Quick Connect&quot; */</span></div><div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__file_8c.html#ad1e4f3a0f64cd98e301044b6c38a1f1d">remmina_file_get_filename</a>(gf) == NULL)</div><div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(gf, <span class="stringliteral">&quot;name&quot;</span>, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(gf, <span class="stringliteral">&quot;server&quot;</span>));</div><div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>&#160; gtk_widget_destroy(GTK_WIDGET(gfe));</div><div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>&#160; gf-&gt;prevent_saving = TRUE;</div><div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>&#160; <a class="code" href="rcw_8c.html#a1b7a771392e15e527005305e71cc2546">rcw_open_from_file</a>(gf);</div><div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>&#160;}</div><div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>&#160;</div><div class="line"><a name="l01766"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a57224f3f69f04f398de563b71be6b18e"> 1766</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a57224f3f69f04f398de563b71be6b18e">remmina_file_editor_on_save_connect</a>(GtkWidget *button, <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>&#160;{</div><div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *gf;</div><div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>&#160;</div><div class="line"><a name="l01772"></a><span class="lineno"> 1772</span>&#160; GtkWidget *failed_widget = NULL;</div><div class="line"><a name="l01773"></a><span class="lineno"> 1773</span>&#160; GError *err = <a class="code" href="remmina__file__editor_8c.html#adddb10632532560ce0a1f0c9ca1bcde5">remmina_file_editor_update</a>(gfe, &amp;failed_widget);</div><div class="line"><a name="l01774"></a><span class="lineno"> 1774</span>&#160; <span class="keywordflow">if</span> (err) {</div><div class="line"><a name="l01775"></a><span class="lineno"> 1775</span>&#160; g_warning(_(<span class="stringliteral">&quot;Couldn&#39;t validate user input. %s&quot;</span>), err-&gt;message);</div><div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a2808be66552b252210e1c3b76530cd11">remmina_file_editor_show_validation_error_popup</a>(gfe, failed_widget, err);</div><div class="line"><a name="l01777"></a><span class="lineno"> 1777</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l01778"></a><span class="lineno"> 1778</span>&#160; }</div><div class="line"><a name="l01779"></a><span class="lineno"> 1779</span>&#160;</div><div class="line"><a name="l01780"></a><span class="lineno"> 1780</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a3866832d550ceac91d608900df4c8056">remmina_file_editor_file_save</a>(gfe);</div><div class="line"><a name="l01781"></a><span class="lineno"> 1781</span>&#160;</div><div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>&#160; <a class="code" href="remmina__file_8c.html#a8c893a5deec9bc446bd89cc9973416c7">remmina_file_save</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file);</div><div class="line"><a name="l01783"></a><span class="lineno"> 1783</span>&#160; <a class="code" href="remmina__icon_8c.html#af80ed314f91d653237249d839c7fc3b2">remmina_icon_populate_menu</a>();</div><div class="line"><a name="l01784"></a><span class="lineno"> 1784</span>&#160;</div><div class="line"><a name="l01785"></a><span class="lineno"> 1785</span>&#160; gf = <a class="code" href="remmina__file_8c.html#a3fb992fced83e0f1c4e4e3c8d2206be5">remmina_file_dup</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file);</div><div class="line"><a name="l01786"></a><span class="lineno"> 1786</span>&#160; <span class="comment">/* Put server into name for Quick Connect */</span></div><div class="line"><a name="l01787"></a><span class="lineno"> 1787</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__file_8c.html#ad1e4f3a0f64cd98e301044b6c38a1f1d">remmina_file_get_filename</a>(gf) == NULL)</div><div class="line"><a name="l01788"></a><span class="lineno"> 1788</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(gf, <span class="stringliteral">&quot;name&quot;</span>, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(gf, <span class="stringliteral">&quot;server&quot;</span>));</div><div class="line"><a name="l01789"></a><span class="lineno"> 1789</span>&#160; gtk_widget_destroy(GTK_WIDGET(gfe));</div><div class="line"><a name="l01790"></a><span class="lineno"> 1790</span>&#160; <a class="code" href="rcw_8c.html#a1b7a771392e15e527005305e71cc2546">rcw_open_from_file</a>(gf);</div><div class="line"><a name="l01791"></a><span class="lineno"> 1791</span>&#160;}</div><div class="line"><a name="l01792"></a><span class="lineno"> 1792</span>&#160;</div><div class="line"><a name="l01793"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#aaa55ab55c6806aef6765eb01577365f3"> 1793</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#aaa55ab55c6806aef6765eb01577365f3">remmina_file_editor_on_cancel</a>(GtkWidget *button, <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>&#160;{</div><div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>&#160; gtk_widget_destroy(GTK_WIDGET(gfe));</div><div class="line"><a name="l01797"></a><span class="lineno"> 1797</span>&#160;}</div><div class="line"><a name="l01798"></a><span class="lineno"> 1798</span>&#160;</div><div class="line"><a name="l01799"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a9afd8d41c66f547320930eb331f3124d"> 1799</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a9afd8d41c66f547320930eb331f3124d">remmina_file_editor_init</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>&#160;{</div><div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01802"></a><span class="lineno"> 1802</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv;</div><div class="line"><a name="l01803"></a><span class="lineno"> 1803</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l01804"></a><span class="lineno"> 1804</span>&#160;</div><div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>&#160; priv = g_new0(<a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a>, 1);</div><div class="line"><a name="l01806"></a><span class="lineno"> 1806</span>&#160; gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a> = priv;</div><div class="line"><a name="l01807"></a><span class="lineno"> 1807</span>&#160;</div><div class="line"><a name="l01808"></a><span class="lineno"> 1808</span>&#160; <span class="comment">/* Create the editor dialog */</span></div><div class="line"><a name="l01809"></a><span class="lineno"> 1809</span>&#160; gtk_window_set_title(GTK_WINDOW(gfe), _(<span class="stringliteral">&quot;Remote Connection Profile&quot;</span>));</div><div class="line"><a name="l01810"></a><span class="lineno"> 1810</span>&#160;</div><div class="line"><a name="l01811"></a><span class="lineno"> 1811</span>&#160; widget = gtk_dialog_add_button(GTK_DIALOG(gfe), (_(<span class="stringliteral">&quot;_Cancel&quot;</span>)), GTK_RESPONSE_CANCEL);</div><div class="line"><a name="l01812"></a><span class="lineno"> 1812</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#aaa55ab55c6806aef6765eb01577365f3">remmina_file_editor_on_cancel</a>), gfe);</div><div class="line"><a name="l01813"></a><span class="lineno"> 1813</span>&#160;</div><div class="line"><a name="l01814"></a><span class="lineno"> 1814</span>&#160; <span class="comment">/* Default button */</span></div><div class="line"><a name="l01815"></a><span class="lineno"> 1815</span>&#160; widget = gtk_dialog_add_button(GTK_DIALOG(gfe), (_(<span class="stringliteral">&quot;Save as Default&quot;</span>)), GTK_RESPONSE_OK);</div><div class="line"><a name="l01816"></a><span class="lineno"> 1816</span>&#160; gtk_widget_set_tooltip_text(GTK_WIDGET(widget), _(<span class="stringliteral">&quot;Use the current settings as the default for all new connection profiles&quot;</span>));</div><div class="line"><a name="l01817"></a><span class="lineno"> 1817</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#afcc5ee6fcd22686b716fbe595cb210a6">remmina_file_editor_on_default</a>), gfe);</div><div class="line"><a name="l01818"></a><span class="lineno"> 1818</span>&#160;</div><div class="line"><a name="l01819"></a><span class="lineno"> 1819</span>&#160; widget = gtk_dialog_add_button(GTK_DIALOG(gfe), (_(<span class="stringliteral">&quot;_Save&quot;</span>)), GTK_RESPONSE_APPLY);</div><div class="line"><a name="l01820"></a><span class="lineno"> 1820</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#ac2a5cf9cdcf640986e245eb04be9c4ad">remmina_file_editor_on_save</a>), gfe);</div><div class="line"><a name="l01821"></a><span class="lineno"> 1821</span>&#160; gtk_widget_set_sensitive(widget, FALSE);</div><div class="line"><a name="l01822"></a><span class="lineno"> 1822</span>&#160; priv-&gt;save_button = widget;</div><div class="line"><a name="l01823"></a><span class="lineno"> 1823</span>&#160;</div><div class="line"><a name="l01824"></a><span class="lineno"> 1824</span>&#160; widget = gtk_dialog_add_button(GTK_DIALOG(gfe), (_(<span class="stringliteral">&quot;Connect&quot;</span>)), GTK_RESPONSE_ACCEPT);</div><div class="line"><a name="l01825"></a><span class="lineno"> 1825</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#a73b8581fd1fd77532b748d91a2951f25">remmina_file_editor_on_connect</a>), gfe);</div><div class="line"><a name="l01826"></a><span class="lineno"> 1826</span>&#160;</div><div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>&#160; widget = gtk_dialog_add_button(GTK_DIALOG(gfe), (_(<span class="stringliteral">&quot;_Save and Connect&quot;</span>)), GTK_RESPONSE_OK);</div><div class="line"><a name="l01828"></a><span class="lineno"> 1828</span>&#160; gtk_widget_set_can_default(widget, TRUE);</div><div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#a57224f3f69f04f398de563b71be6b18e">remmina_file_editor_on_save_connect</a>), gfe);</div><div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>&#160;</div><div class="line"><a name="l01831"></a><span class="lineno"> 1831</span>&#160; gtk_dialog_set_default_response(GTK_DIALOG(gfe), GTK_RESPONSE_OK);</div><div class="line"><a name="l01832"></a><span class="lineno"> 1832</span>&#160; gtk_window_set_default_size(GTK_WINDOW(gfe), 800, 600);</div><div class="line"><a name="l01833"></a><span class="lineno"> 1833</span>&#160;</div><div class="line"><a name="l01834"></a><span class="lineno"> 1834</span>&#160; g_signal_connect(G_OBJECT(gfe), <span class="stringliteral">&quot;destroy&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#a6eb0bcee764064d6a7dd84c015d9ed4f">remmina_file_editor_destroy</a>), NULL);</div><div class="line"><a name="l01835"></a><span class="lineno"> 1835</span>&#160; g_signal_connect(G_OBJECT(gfe), <span class="stringliteral">&quot;realize&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#a880e8e6aee571b91eeb7f5d2f60e210b">remmina_file_editor_on_realize</a>), NULL);</div><div class="line"><a name="l01836"></a><span class="lineno"> 1836</span>&#160;</div><div class="line"><a name="l01837"></a><span class="lineno"> 1837</span>&#160; priv-&gt;setting_widgets = g_hash_table_new(g_str_hash, g_str_equal);</div><div class="line"><a name="l01838"></a><span class="lineno"> 1838</span>&#160;</div><div class="line"><a name="l01839"></a><span class="lineno"> 1839</span>&#160; <a class="code" href="remmina__widget__pool_8c.html#ae3c9c9853eb5bedbfeadbfac1d495b95">remmina_widget_pool_register</a>(GTK_WIDGET(gfe));</div><div class="line"><a name="l01840"></a><span class="lineno"> 1840</span>&#160;}</div><div class="line"><a name="l01841"></a><span class="lineno"> 1841</span>&#160;</div><div class="line"><a name="l01842"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#afc37e2e9dbe8f0c8bcf1a76d0c54ea1b"> 1842</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__file__editor_8c.html#afc37e2e9dbe8f0c8bcf1a76d0c54ea1b">remmina_file_editor_iterate_protocol</a>(gchar *protocol, <a class="code" href="struct___remmina_plugin.html">RemminaPlugin</a> *plugin, gpointer data)</div><div class="line"><a name="l01843"></a><span class="lineno"> 1843</span>&#160;{</div><div class="line"><a name="l01844"></a><span class="lineno"> 1844</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01845"></a><span class="lineno"> 1845</span>&#160; <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe = REMMINA_FILE_EDITOR(data);</div><div class="line"><a name="l01846"></a><span class="lineno"> 1846</span>&#160; GtkListStore *store;</div><div class="line"><a name="l01847"></a><span class="lineno"> 1847</span>&#160; GtkTreeIter iter;</div><div class="line"><a name="l01848"></a><span class="lineno"> 1848</span>&#160; gboolean first;</div><div class="line"><a name="l01849"></a><span class="lineno"> 1849</span>&#160;</div><div class="line"><a name="l01850"></a><span class="lineno"> 1850</span>&#160; store = GTK_LIST_STORE(gtk_combo_box_get_model(GTK_COMBO_BOX(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;protocol_combo)));</div><div class="line"><a name="l01851"></a><span class="lineno"> 1851</span>&#160;</div><div class="line"><a name="l01852"></a><span class="lineno"> 1852</span>&#160; first = !gtk_tree_model_get_iter_first(GTK_TREE_MODEL(store), &amp;iter);</div><div class="line"><a name="l01853"></a><span class="lineno"> 1853</span>&#160;</div><div class="line"><a name="l01854"></a><span class="lineno"> 1854</span>&#160; gtk_list_store_append(store, &amp;iter);</div><div class="line"><a name="l01855"></a><span class="lineno"> 1855</span>&#160; gtk_list_store_set(store, &amp;iter, 0, protocol, 1, g_dgettext(plugin-&gt;<a class="code" href="struct___remmina_plugin.html#a024d3e6d752dd29828b31c60c8c7c201">domain</a>, plugin-&gt;<a class="code" href="struct___remmina_plugin.html#a4ac66b7ebefb9bd8167737eb1af83cde">description</a>), 2,</div><div class="line"><a name="l01856"></a><span class="lineno"> 1856</span>&#160; ((<a class="code" href="struct___remmina_protocol_plugin.html">RemminaProtocolPlugin</a> *)plugin)-&gt;icon_name, -1);</div><div class="line"><a name="l01857"></a><span class="lineno"> 1857</span>&#160;</div><div class="line"><a name="l01858"></a><span class="lineno"> 1858</span>&#160; <span class="keywordflow">if</span> (first || g_strcmp0(protocol, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file, <span class="stringliteral">&quot;protocol&quot;</span>)) == 0)</div><div class="line"><a name="l01859"></a><span class="lineno"> 1859</span>&#160; gtk_combo_box_set_active_iter(GTK_COMBO_BOX(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;protocol_combo), &amp;iter);</div><div class="line"><a name="l01860"></a><span class="lineno"> 1860</span>&#160;</div><div class="line"><a name="l01861"></a><span class="lineno"> 1861</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l01862"></a><span class="lineno"> 1862</span>&#160;}</div><div class="line"><a name="l01863"></a><span class="lineno"> 1863</span>&#160;</div><div class="line"><a name="l01864"></a><span class="lineno"><a class="line" href="remmina__file__editor_8h.html#add382dd8f40444b928e78b293a86a257"> 1864</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#add382dd8f40444b928e78b293a86a257">remmina_file_editor_check_profile</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01865"></a><span class="lineno"> 1865</span>&#160;{</div><div class="line"><a name="l01866"></a><span class="lineno"> 1866</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01867"></a><span class="lineno"> 1867</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv;</div><div class="line"><a name="l01868"></a><span class="lineno"> 1868</span>&#160;</div><div class="line"><a name="l01869"></a><span class="lineno"> 1869</span>&#160; priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l01870"></a><span class="lineno"> 1870</span>&#160; gtk_widget_set_sensitive(priv-&gt;group_combo, TRUE);</div><div class="line"><a name="l01871"></a><span class="lineno"> 1871</span>&#160; gtk_widget_set_sensitive(priv-&gt;save_button, TRUE);</div><div class="line"><a name="l01872"></a><span class="lineno"> 1872</span>&#160;}</div><div class="line"><a name="l01873"></a><span class="lineno"> 1873</span>&#160;</div><div class="line"><a name="l01874"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a287b79ac0e199393f391655ab5cbb55b"> 1874</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a287b79ac0e199393f391655ab5cbb55b">remmina_file_editor_entry_on_changed</a>(GtkEditable *editable, <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01875"></a><span class="lineno"> 1875</span>&#160;{</div><div class="line"><a name="l01876"></a><span class="lineno"> 1876</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01877"></a><span class="lineno"> 1877</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv;</div><div class="line"><a name="l01878"></a><span class="lineno"> 1878</span>&#160;</div><div class="line"><a name="l01879"></a><span class="lineno"> 1879</span>&#160; priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l01880"></a><span class="lineno"> 1880</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__file_8c.html#ad1e4f3a0f64cd98e301044b6c38a1f1d">remmina_file_get_filename</a>(priv-&gt;remmina_file) == NULL) {</div><div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>&#160; <a class="code" href="remmina__file_8c.html#ac952f8ddb715314f11cef1ccc513fb7e">remmina_file_generate_filename</a>(priv-&gt;remmina_file);</div><div class="line"><a name="l01882"></a><span class="lineno"> 1882</span>&#160; <span class="comment">/* TODO: Probably to be removed */</span></div><div class="line"><a name="l01883"></a><span class="lineno"> 1883</span>&#160; <a class="code" href="remmina__file__editor_8c.html#add382dd8f40444b928e78b293a86a257">remmina_file_editor_check_profile</a>(gfe);</div><div class="line"><a name="l01884"></a><span class="lineno"> 1884</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l01885"></a><span class="lineno"> 1885</span>&#160; <a class="code" href="remmina__file_8c.html#a55f66f2bb81bf427d6837e1adb7fe1d4">remmina_file_delete</a>(<a class="code" href="remmina__file_8c.html#ad1e4f3a0f64cd98e301044b6c38a1f1d">remmina_file_get_filename</a>(priv-&gt;remmina_file));</div><div class="line"><a name="l01886"></a><span class="lineno"> 1886</span>&#160; <a class="code" href="remmina__file_8c.html#ac952f8ddb715314f11cef1ccc513fb7e">remmina_file_generate_filename</a>(priv-&gt;remmina_file);</div><div class="line"><a name="l01887"></a><span class="lineno"> 1887</span>&#160; <a class="code" href="remmina__file__editor_8c.html#add382dd8f40444b928e78b293a86a257">remmina_file_editor_check_profile</a>(gfe);</div><div class="line"><a name="l01888"></a><span class="lineno"> 1888</span>&#160; }</div><div class="line"><a name="l01889"></a><span class="lineno"> 1889</span>&#160;}</div><div class="line"><a name="l01890"></a><span class="lineno"> 1890</span>&#160;</div><div class="line"><a name="l01891"></a><span class="lineno"><a class="line" href="remmina__file__editor_8h.html#a3866832d550ceac91d608900df4c8056"> 1891</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a3866832d550ceac91d608900df4c8056">remmina_file_editor_file_save</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01892"></a><span class="lineno"> 1892</span>&#160;{</div><div class="line"><a name="l01893"></a><span class="lineno"> 1893</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01894"></a><span class="lineno"> 1894</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv;</div><div class="line"><a name="l01895"></a><span class="lineno"> 1895</span>&#160;</div><div class="line"><a name="l01896"></a><span class="lineno"> 1896</span>&#160; priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l01897"></a><span class="lineno"> 1897</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__file_8c.html#ad1e4f3a0f64cd98e301044b6c38a1f1d">remmina_file_get_filename</a>(priv-&gt;remmina_file) == NULL) {</div><div class="line"><a name="l01898"></a><span class="lineno"> 1898</span>&#160; <a class="code" href="remmina__file_8c.html#ac952f8ddb715314f11cef1ccc513fb7e">remmina_file_generate_filename</a>(priv-&gt;remmina_file);</div><div class="line"><a name="l01899"></a><span class="lineno"> 1899</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l01900"></a><span class="lineno"> 1900</span>&#160; <a class="code" href="remmina__file_8c.html#a55f66f2bb81bf427d6837e1adb7fe1d4">remmina_file_delete</a>(<a class="code" href="remmina__file_8c.html#ad1e4f3a0f64cd98e301044b6c38a1f1d">remmina_file_get_filename</a>(priv-&gt;remmina_file));</div><div class="line"><a name="l01901"></a><span class="lineno"> 1901</span>&#160; <a class="code" href="remmina__file_8c.html#ac952f8ddb715314f11cef1ccc513fb7e">remmina_file_generate_filename</a>(priv-&gt;remmina_file);</div><div class="line"><a name="l01902"></a><span class="lineno"> 1902</span>&#160; }</div><div class="line"><a name="l01903"></a><span class="lineno"> 1903</span>&#160;}</div><div class="line"><a name="l01904"></a><span class="lineno"> 1904</span>&#160;</div><div class="line"><a name="l01905"></a><span class="lineno"><a class="line" href="remmina__file__editor_8h.html#a08327d6951c345808628dbb5784aba06"> 1905</a></span>&#160;GtkWidget *<a class="code" href="remmina__file__editor_8c.html#a08327d6951c345808628dbb5784aba06">remmina_file_editor_new_from_file</a>(<a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile)</div><div class="line"><a name="l01906"></a><span class="lineno"> 1906</span>&#160;{</div><div class="line"><a name="l01907"></a><span class="lineno"> 1907</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01908"></a><span class="lineno"> 1908</span>&#160; <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe;</div><div class="line"><a name="l01909"></a><span class="lineno"> 1909</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv;</div><div class="line"><a name="l01910"></a><span class="lineno"> 1910</span>&#160; GtkWidget *grid;</div><div class="line"><a name="l01911"></a><span class="lineno"> 1911</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>&#160; gchar *groups;</div><div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>&#160; gchar *s;</div><div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>&#160; <span class="keyword">const</span> gchar *cs;</div><div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>&#160;</div><div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>&#160; gfe = REMMINA_FILE_EDITOR(g_object_new(REMMINA_TYPE_FILE_EDITOR, NULL));</div><div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>&#160; priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l01918"></a><span class="lineno"> 1918</span>&#160; priv-&gt;remmina_file = remminafile;</div><div class="line"><a name="l01919"></a><span class="lineno"> 1919</span>&#160;</div><div class="line"><a name="l01920"></a><span class="lineno"> 1920</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__file_8c.html#ad1e4f3a0f64cd98e301044b6c38a1f1d">remmina_file_get_filename</a>(remminafile) == NULL)</div><div class="line"><a name="l01921"></a><span class="lineno"> 1921</span>&#160; gtk_dialog_set_response_sensitive(GTK_DIALOG(gfe), GTK_RESPONSE_APPLY, FALSE);</div><div class="line"><a name="l01922"></a><span class="lineno"> 1922</span>&#160;</div><div class="line"><a name="l01923"></a><span class="lineno"> 1923</span>&#160; <span class="comment">/* Create the &quot;Profile&quot; group on the top (for name and protocol) */</span></div><div class="line"><a name="l01924"></a><span class="lineno"> 1924</span>&#160; grid = gtk_grid_new();</div><div class="line"><a name="l01925"></a><span class="lineno"> 1925</span>&#160; gtk_widget_show(grid);</div><div class="line"><a name="l01926"></a><span class="lineno"> 1926</span>&#160; gtk_grid_set_row_spacing(GTK_GRID(grid), 4);</div><div class="line"><a name="l01927"></a><span class="lineno"> 1927</span>&#160; gtk_grid_set_column_spacing(GTK_GRID(grid), 8);</div><div class="line"><a name="l01928"></a><span class="lineno"> 1928</span>&#160; gtk_grid_set_column_homogeneous(GTK_GRID(grid), TRUE);</div><div class="line"><a name="l01929"></a><span class="lineno"> 1929</span>&#160; gtk_container_set_border_width(GTK_CONTAINER(grid), 8);</div><div class="line"><a name="l01930"></a><span class="lineno"> 1930</span>&#160; gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(gfe))), grid, FALSE, FALSE, 2);</div><div class="line"><a name="l01931"></a><span class="lineno"> 1931</span>&#160;</div><div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>&#160; <span class="comment">// remmina_public_create_group(GTK_GRID(grid), _(&quot;Profile&quot;), 0, 4, 3);</span></div><div class="line"><a name="l01933"></a><span class="lineno"> 1933</span>&#160;</div><div class="line"><a name="l01934"></a><span class="lineno"> 1934</span>&#160; gboolean profile_file_exists = (<a class="code" href="remmina__file_8c.html#ad1e4f3a0f64cd98e301044b6c38a1f1d">remmina_file_get_filename</a>(remminafile) != NULL);</div><div class="line"><a name="l01935"></a><span class="lineno"> 1935</span>&#160;</div><div class="line"><a name="l01936"></a><span class="lineno"> 1936</span>&#160; <span class="comment">/* Profile: Name */</span></div><div class="line"><a name="l01937"></a><span class="lineno"> 1937</span>&#160; widget = gtk_label_new(_(<span class="stringliteral">&quot;Name&quot;</span>));</div><div class="line"><a name="l01938"></a><span class="lineno"> 1938</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l01939"></a><span class="lineno"> 1939</span>&#160; gtk_widget_set_valign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l01941"></a><span class="lineno"> 1941</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, 3, 2, 1);</div><div class="line"><a name="l01942"></a><span class="lineno"> 1942</span>&#160; gtk_grid_set_column_spacing(GTK_GRID(grid), 10);</div><div class="line"><a name="l01943"></a><span class="lineno"> 1943</span>&#160;</div><div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>&#160; widget = gtk_entry_new();</div><div class="line"><a name="l01945"></a><span class="lineno"> 1945</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l01946"></a><span class="lineno"> 1946</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 1, 3, 3, 1);</div><div class="line"><a name="l01947"></a><span class="lineno"> 1947</span>&#160; gtk_entry_set_max_length(GTK_ENTRY(widget), 100);</div><div class="line"><a name="l01948"></a><span class="lineno"> 1948</span>&#160; priv-&gt;name_entry = widget;</div><div class="line"><a name="l01949"></a><span class="lineno"> 1949</span>&#160;</div><div class="line"><a name="l01950"></a><span class="lineno"> 1950</span>&#160; <span class="keywordflow">if</span> (!profile_file_exists) {</div><div class="line"><a name="l01951"></a><span class="lineno"> 1951</span>&#160; gtk_entry_set_text(GTK_ENTRY(widget), _(<span class="stringliteral">&quot;Quick Connect&quot;</span>));</div><div class="line"><a name="l01952"></a><span class="lineno"> 1952</span>&#160;<span class="preprocessor">#if GTK_CHECK_VERSION(3, 16, 0)</span></div><div class="line"><a name="l01953"></a><span class="lineno"> 1953</span>&#160; gtk_entry_grab_focus_without_selecting(GTK_ENTRY(widget));</div><div class="line"><a name="l01954"></a><span class="lineno"> 1954</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l01955"></a><span class="lineno"> 1955</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;changed&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#a287b79ac0e199393f391655ab5cbb55b">remmina_file_editor_entry_on_changed</a>), gfe);</div><div class="line"><a name="l01956"></a><span class="lineno"> 1956</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l01957"></a><span class="lineno"> 1957</span>&#160; cs = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;name&quot;</span>);</div><div class="line"><a name="l01958"></a><span class="lineno"> 1958</span>&#160; gtk_entry_set_text(GTK_ENTRY(widget), cs ? cs : <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l01959"></a><span class="lineno"> 1959</span>&#160; }</div><div class="line"><a name="l01960"></a><span class="lineno"> 1960</span>&#160;</div><div class="line"><a name="l01961"></a><span class="lineno"> 1961</span>&#160; <span class="comment">/* Profile: Group */</span></div><div class="line"><a name="l01962"></a><span class="lineno"> 1962</span>&#160; widget = gtk_label_new(_(<span class="stringliteral">&quot;Group&quot;</span>));</div><div class="line"><a name="l01963"></a><span class="lineno"> 1963</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l01964"></a><span class="lineno"> 1964</span>&#160; gtk_widget_set_valign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l01965"></a><span class="lineno"> 1965</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l01966"></a><span class="lineno"> 1966</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, 6, 2, 1);</div><div class="line"><a name="l01967"></a><span class="lineno"> 1967</span>&#160;</div><div class="line"><a name="l01968"></a><span class="lineno"> 1968</span>&#160; groups = <a class="code" href="remmina__file__manager_8c.html#a536edeef371d907ab3936f4d65c3003d">remmina_file_manager_get_groups</a>();</div><div class="line"><a name="l01969"></a><span class="lineno"> 1969</span>&#160; priv-&gt;group_combo = <a class="code" href="remmina__public_8c.html#a9ec86f1e9caea5ebc867a90230d6b51a">remmina_public_create_combo_entry</a>(groups, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;group&quot;</span>), FALSE);</div><div class="line"><a name="l01970"></a><span class="lineno"> 1970</span>&#160; g_free(groups);</div><div class="line"><a name="l01971"></a><span class="lineno"> 1971</span>&#160; gtk_widget_show(priv-&gt;group_combo);</div><div class="line"><a name="l01972"></a><span class="lineno"> 1972</span>&#160; gtk_grid_attach(GTK_GRID(grid), priv-&gt;group_combo, 1, 6, 3, 1);</div><div class="line"><a name="l01973"></a><span class="lineno"> 1973</span>&#160; gtk_widget_set_sensitive(priv-&gt;group_combo, FALSE);</div><div class="line"><a name="l01974"></a><span class="lineno"> 1974</span>&#160;</div><div class="line"><a name="l01975"></a><span class="lineno"> 1975</span>&#160; s = g_strdup_printf(_(<span class="stringliteral">&quot;Use &#39;%s&#39; as subgroup delimiter&quot;</span>), <span class="stringliteral">&quot;/&quot;</span>);</div><div class="line"><a name="l01976"></a><span class="lineno"> 1976</span>&#160; gtk_widget_set_tooltip_text(priv-&gt;group_combo, s);</div><div class="line"><a name="l01977"></a><span class="lineno"> 1977</span>&#160; g_free(s);</div><div class="line"><a name="l01978"></a><span class="lineno"> 1978</span>&#160;</div><div class="line"><a name="l01979"></a><span class="lineno"> 1979</span>&#160; <span class="comment">/* Profile: Labels */</span></div><div class="line"><a name="l01980"></a><span class="lineno"> 1980</span>&#160; widget = gtk_label_new(_(<span class="stringliteral">&quot;Labels&quot;</span>));</div><div class="line"><a name="l01981"></a><span class="lineno"> 1981</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l01982"></a><span class="lineno"> 1982</span>&#160; gtk_widget_set_valign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l01983"></a><span class="lineno"> 1983</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l01984"></a><span class="lineno"> 1984</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, 9, 2, 1);</div><div class="line"><a name="l01985"></a><span class="lineno"> 1985</span>&#160; gtk_grid_set_column_spacing(GTK_GRID(grid), 10);</div><div class="line"><a name="l01986"></a><span class="lineno"> 1986</span>&#160;</div><div class="line"><a name="l01987"></a><span class="lineno"> 1987</span>&#160; widget = gtk_entry_new();</div><div class="line"><a name="l01988"></a><span class="lineno"> 1988</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l01989"></a><span class="lineno"> 1989</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 1, 9, 3, 1);</div><div class="line"><a name="l01990"></a><span class="lineno"> 1990</span>&#160; gtk_entry_set_max_length(GTK_ENTRY(widget), 255);</div><div class="line"><a name="l01991"></a><span class="lineno"> 1991</span>&#160; priv-&gt;labels_entry = widget;</div><div class="line"><a name="l01992"></a><span class="lineno"> 1992</span>&#160;</div><div class="line"><a name="l01993"></a><span class="lineno"> 1993</span>&#160; <span class="keywordflow">if</span> (!profile_file_exists) {</div><div class="line"><a name="l01994"></a><span class="lineno"> 1994</span>&#160; gtk_widget_set_tooltip_text(widget, _(<span class="stringliteral">&quot;Label1,Label2&quot;</span>));</div><div class="line"><a name="l01995"></a><span class="lineno"> 1995</span>&#160;<span class="preprocessor">#if GTK_CHECK_VERSION(3, 16, 0)</span></div><div class="line"><a name="l01996"></a><span class="lineno"> 1996</span>&#160; gtk_entry_grab_focus_without_selecting(GTK_ENTRY(widget));</div><div class="line"><a name="l01997"></a><span class="lineno"> 1997</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l01998"></a><span class="lineno"> 1998</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;changed&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#a287b79ac0e199393f391655ab5cbb55b">remmina_file_editor_entry_on_changed</a>), gfe);</div><div class="line"><a name="l01999"></a><span class="lineno"> 1999</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l02000"></a><span class="lineno"> 2000</span>&#160; cs = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;labels&quot;</span>);</div><div class="line"><a name="l02001"></a><span class="lineno"> 2001</span>&#160; gtk_entry_set_text(GTK_ENTRY(widget), cs ? cs : <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l02002"></a><span class="lineno"> 2002</span>&#160; }</div><div class="line"><a name="l02003"></a><span class="lineno"> 2003</span>&#160;</div><div class="line"><a name="l02004"></a><span class="lineno"> 2004</span>&#160; <span class="comment">/* Profile: Protocol */</span></div><div class="line"><a name="l02005"></a><span class="lineno"> 2005</span>&#160; widget = gtk_label_new(_(<span class="stringliteral">&quot;Protocol&quot;</span>));</div><div class="line"><a name="l02006"></a><span class="lineno"> 2006</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l02007"></a><span class="lineno"> 2007</span>&#160; gtk_widget_set_valign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l02008"></a><span class="lineno"> 2008</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l02009"></a><span class="lineno"> 2009</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, 12, 2, 1);</div><div class="line"><a name="l02010"></a><span class="lineno"> 2010</span>&#160;</div><div class="line"><a name="l02011"></a><span class="lineno"> 2011</span>&#160; widget = <a class="code" href="remmina__public_8c.html#ab4a593956dfe89aba3242a5c264a681f">remmina_public_create_combo</a>(TRUE);</div><div class="line"><a name="l02012"></a><span class="lineno"> 2012</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l02013"></a><span class="lineno"> 2013</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 1, 12, 3, 1);</div><div class="line"><a name="l02014"></a><span class="lineno"> 2014</span>&#160; priv-&gt;protocol_combo = widget;</div><div class="line"><a name="l02015"></a><span class="lineno"> 2015</span>&#160; <a class="code" href="remmina__plugin__manager_8c.html#a13f13a6a4280268656f258cb5aeff031">remmina_plugin_manager_for_each_plugin</a>(<a class="code" href="plugin_8h.html#aaf53c620d115a4642130227cff4a624aa45e094c248384c12cdafd9d088e4aa24">REMMINA_PLUGIN_TYPE_PROTOCOL</a>, <a class="code" href="remmina__file__editor_8c.html#afc37e2e9dbe8f0c8bcf1a76d0c54ea1b">remmina_file_editor_iterate_protocol</a>, gfe);</div><div class="line"><a name="l02016"></a><span class="lineno"> 2016</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;changed&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#a333de350f1b07add2d0fd06320c80d16">remmina_file_editor_protocol_combo_on_changed</a>), gfe);</div><div class="line"><a name="l02017"></a><span class="lineno"> 2017</span>&#160;</div><div class="line"><a name="l02018"></a><span class="lineno"> 2018</span>&#160; <span class="comment">/* Create the &quot;Preference&quot; frame */</span></div><div class="line"><a name="l02019"></a><span class="lineno"> 2019</span>&#160; widget = gtk_event_box_new();</div><div class="line"><a name="l02020"></a><span class="lineno"> 2020</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l02021"></a><span class="lineno"> 2021</span>&#160; gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(gfe))), widget, TRUE, TRUE, 2);</div><div class="line"><a name="l02022"></a><span class="lineno"> 2022</span>&#160; priv-&gt;config_box = widget;</div><div class="line"><a name="l02023"></a><span class="lineno"> 2023</span>&#160;</div><div class="line"><a name="l02024"></a><span class="lineno"> 2024</span>&#160; priv-&gt;config_container = NULL;</div><div class="line"><a name="l02025"></a><span class="lineno"> 2025</span>&#160; priv-&gt;config_scrollable = NULL;</div><div class="line"><a name="l02026"></a><span class="lineno"> 2026</span>&#160;</div><div class="line"><a name="l02027"></a><span class="lineno"> 2027</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a333de350f1b07add2d0fd06320c80d16">remmina_file_editor_protocol_combo_on_changed</a>(GTK_COMBO_BOX(priv-&gt;protocol_combo), gfe);</div><div class="line"><a name="l02028"></a><span class="lineno"> 2028</span>&#160;</div><div class="line"><a name="l02029"></a><span class="lineno"> 2029</span>&#160; <a class="code" href="remmina__file__editor_8c.html#add382dd8f40444b928e78b293a86a257">remmina_file_editor_check_profile</a>(gfe);</div><div class="line"><a name="l02030"></a><span class="lineno"> 2030</span>&#160;</div><div class="line"><a name="l02031"></a><span class="lineno"> 2031</span>&#160; <span class="keywordflow">return</span> GTK_WIDGET(gfe);</div><div class="line"><a name="l02032"></a><span class="lineno"> 2032</span>&#160;}</div><div class="line"><a name="l02033"></a><span class="lineno"> 2033</span>&#160;</div><div class="line"><a name="l02034"></a><span class="lineno"><a class="line" href="remmina__file__editor_8h.html#aa4e8657ca722e4cce3f3c42c0cfec51e"> 2034</a></span>&#160;GtkWidget *<a class="code" href="remmina__file__editor_8c.html#aa4e8657ca722e4cce3f3c42c0cfec51e">remmina_file_editor_new</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l02035"></a><span class="lineno"> 2035</span>&#160;{</div><div class="line"><a name="l02036"></a><span class="lineno"> 2036</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l02037"></a><span class="lineno"> 2037</span>&#160; <span class="keywordflow">return</span> <a class="code" href="remmina__file__editor_8c.html#ab563344276cbcdf0fcea05b0b64c7aeb">remmina_file_editor_new_full</a>(NULL, NULL);</div><div class="line"><a name="l02038"></a><span class="lineno"> 2038</span>&#160;}</div><div class="line"><a name="l02039"></a><span class="lineno"> 2039</span>&#160;</div><div class="line"><a name="l02040"></a><span class="lineno"><a class="line" href="remmina__file__editor_8h.html#ab563344276cbcdf0fcea05b0b64c7aeb"> 2040</a></span>&#160;GtkWidget *<a class="code" href="remmina__file__editor_8c.html#ab563344276cbcdf0fcea05b0b64c7aeb">remmina_file_editor_new_full</a>(<span class="keyword">const</span> gchar *server, <span class="keyword">const</span> gchar *protocol)</div><div class="line"><a name="l02041"></a><span class="lineno"> 2041</span>&#160;{</div><div class="line"><a name="l02042"></a><span class="lineno"> 2042</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l02043"></a><span class="lineno"> 2043</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile;</div><div class="line"><a name="l02044"></a><span class="lineno"> 2044</span>&#160;</div><div class="line"><a name="l02045"></a><span class="lineno"> 2045</span>&#160; remminafile = <a class="code" href="remmina__file_8c.html#a5e421ba636d34e21bba5ece463e98892">remmina_file_new</a>();</div><div class="line"><a name="l02046"></a><span class="lineno"> 2046</span>&#160; <span class="keywordflow">if</span> (server)</div><div class="line"><a name="l02047"></a><span class="lineno"> 2047</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;server&quot;</span>, server);</div><div class="line"><a name="l02048"></a><span class="lineno"> 2048</span>&#160; <span class="keywordflow">if</span> (protocol)</div><div class="line"><a name="l02049"></a><span class="lineno"> 2049</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;protocol&quot;</span>, protocol);</div><div class="line"><a name="l02050"></a><span class="lineno"> 2050</span>&#160;</div><div class="line"><a name="l02051"></a><span class="lineno"> 2051</span>&#160; <span class="keywordflow">return</span> <a class="code" href="remmina__file__editor_8c.html#a08327d6951c345808628dbb5784aba06">remmina_file_editor_new_from_file</a>(remminafile);</div><div class="line"><a name="l02052"></a><span class="lineno"> 2052</span>&#160;}</div><div class="line"><a name="l02053"></a><span class="lineno"> 2053</span>&#160;</div><div class="line"><a name="l02054"></a><span class="lineno"><a class="line" href="remmina__file__editor_8h.html#aa5c50852f8569f075eec5d5db30c2ebf"> 2054</a></span>&#160;GtkWidget *<a class="code" href="remmina__file__editor_8c.html#aa5c50852f8569f075eec5d5db30c2ebf">remmina_file_editor_new_copy</a>(<span class="keyword">const</span> gchar *filename)</div><div class="line"><a name="l02055"></a><span class="lineno"> 2055</span>&#160;{</div><div class="line"><a name="l02056"></a><span class="lineno"> 2056</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l02057"></a><span class="lineno"> 2057</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile;</div><div class="line"><a name="l02058"></a><span class="lineno"> 2058</span>&#160; GtkWidget *dialog;</div><div class="line"><a name="l02059"></a><span class="lineno"> 2059</span>&#160;</div><div class="line"><a name="l02060"></a><span class="lineno"> 2060</span>&#160; remminafile = <a class="code" href="remmina__file_8c.html#ac1685edf35a793a396ce039d7eec5343">remmina_file_copy</a>(filename);</div><div class="line"><a name="l02061"></a><span class="lineno"> 2061</span>&#160;</div><div class="line"><a name="l02062"></a><span class="lineno"> 2062</span>&#160; <span class="keywordflow">if</span> (remminafile) {</div><div class="line"><a name="l02063"></a><span class="lineno"> 2063</span>&#160; <span class="keywordflow">return</span> <a class="code" href="remmina__file__editor_8c.html#a08327d6951c345808628dbb5784aba06">remmina_file_editor_new_from_file</a>(remminafile);</div><div class="line"><a name="l02064"></a><span class="lineno"> 2064</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l02065"></a><span class="lineno"> 2065</span>&#160; dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,</div><div class="line"><a name="l02066"></a><span class="lineno"> 2066</span>&#160; _(<span class="stringliteral">&quot;Could not find the file “%s”.&quot;</span>), filename);</div><div class="line"><a name="l02067"></a><span class="lineno"> 2067</span>&#160; gtk_dialog_run(GTK_DIALOG(dialog));</div><div class="line"><a name="l02068"></a><span class="lineno"> 2068</span>&#160; gtk_widget_destroy(dialog);</div><div class="line"><a name="l02069"></a><span class="lineno"> 2069</span>&#160; <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l02070"></a><span class="lineno"> 2070</span>&#160; }</div><div class="line"><a name="l02071"></a><span class="lineno"> 2071</span>&#160;}</div><div class="line"><a name="l02072"></a><span class="lineno"> 2072</span>&#160;</div><div class="line"><a name="l02073"></a><span class="lineno"><a class="line" href="remmina__file__editor_8h.html#aa9345cfe3fb32d326b652e96ee55eaea"> 2073</a></span>&#160;GtkWidget *<a class="code" href="remmina__file__editor_8c.html#aa9345cfe3fb32d326b652e96ee55eaea">remmina_file_editor_new_from_filename</a>(<span class="keyword">const</span> gchar *filename)</div><div class="line"><a name="l02074"></a><span class="lineno"> 2074</span>&#160;{</div><div class="line"><a name="l02075"></a><span class="lineno"> 2075</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l02076"></a><span class="lineno"> 2076</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile;</div><div class="line"><a name="l02077"></a><span class="lineno"> 2077</span>&#160;</div><div class="line"><a name="l02078"></a><span class="lineno"> 2078</span>&#160; remminafile = <a class="code" href="remmina__file__manager_8c.html#af7b58659604660eb0cb40b0e0f8348ab">remmina_file_manager_load_file</a>(filename);</div><div class="line"><a name="l02079"></a><span class="lineno"> 2079</span>&#160; <span class="keywordflow">if</span> (remminafile) {</div><div class="line"><a name="l02080"></a><span class="lineno"> 2080</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(remminafile, <span class="stringliteral">&quot;profile-lock&quot;</span>, FALSE) &amp;&amp; <a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(<a class="code" href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a>()) == 0)</div><div class="line"><a name="l02081"></a><span class="lineno"> 2081</span>&#160; <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l02082"></a><span class="lineno"> 2082</span>&#160; <span class="keywordflow">return</span> <a class="code" href="remmina__file__editor_8c.html#a08327d6951c345808628dbb5784aba06">remmina_file_editor_new_from_file</a>(remminafile);</div><div class="line"><a name="l02083"></a><span class="lineno"> 2083</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l02084"></a><span class="lineno"> 2084</span>&#160; GtkWidget *dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,</div><div class="line"><a name="l02085"></a><span class="lineno"> 2085</span>&#160; _(<span class="stringliteral">&quot;Could not find the file “%s”.&quot;</span>), filename);</div><div class="line"><a name="l02086"></a><span class="lineno"> 2086</span>&#160; gtk_dialog_run(GTK_DIALOG(dialog));</div><div class="line"><a name="l02087"></a><span class="lineno"> 2087</span>&#160; gtk_widget_destroy(dialog);</div><div class="line"><a name="l02088"></a><span class="lineno"> 2088</span>&#160; <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l02089"></a><span class="lineno"> 2089</span>&#160; }</div><div class="line"><a name="l02090"></a><span class="lineno"> 2090</span>&#160;}</div><div class="ttc" id="types_8h_html_aee1a3e130e6991978acd907b52204350a579ed0f0f6624dd55a25665693c92a92"><div class="ttname"><a href="types_8h.html#aee1a3e130e6991978acd907b52204350a579ed0f0f6624dd55a25665693c92a92">REMMINA_PROTOCOL_SETTING_TYPE_SERVER</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00100">types.h:100</a></div></div>
+<a href="remmina__file__editor_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Remmina - The GTK+ Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2009-2011 Vic Lee</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Copyright (C) 2016-2023 Antenore Gatta, Giovanni Panozzo</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * along with this program; if not, write to the Free Software</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> * In addition, as a special exception, the copyright holders give</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * permission to link the code of portions of this program with the</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * OpenSSL library under certain conditions as described in each</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * including the two.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * You must obey the GNU General Public License in all respects</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * for all of the code used other than OpenSSL. * If you modify</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * file(s) with this exception, you may extend this exception to your</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> * version of the file(s), but you are not obligated to do so. * If you</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> * do not wish to do so, delete this exception statement from your</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> * version. * If you delete this exception statement from all source</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> * files in the program, then also delete it here.</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;ctype.h&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &quot;config.h&quot;</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBAVAHI_UI</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &lt;avahi-ui/avahi-ui.h&gt;</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__public_8h.html">remmina_public.h</a>&quot;</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__pref_8h.html">remmina_pref.h</a>&quot;</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="rcw_8h.html">rcw.h</a>&quot;</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__trace__calls_8h.html">remmina/remmina_trace_calls.h</a>&quot;</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file_8h.html">remmina_file.h</a>&quot;</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file__editor_8h.html">remmina_file_editor.h</a>&quot;</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file__manager_8h.html">remmina_file_manager.h</a>&quot;</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__icon_8h.html">remmina_icon.h</a>&quot;</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__main_8h.html">remmina_main.h</a>&quot;</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__plugin__manager_8h.html">remmina_plugin_manager.h</a>&quot;</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__pref__dialog_8h.html">remmina_pref_dialog.h</a>&quot;</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__ssh_8h.html">remmina_ssh.h</a>&quot;</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__string__list_8h.html">remmina_string_list.h</a>&quot;</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__unlock_8h.html">remmina_unlock.h</a>&quot;</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__widget__pool_8h.html">remmina_widget_pool.h</a>&quot;</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#abb7466f51c11427405a54c94767a52de"> 58</a></span>&#160;<a class="code" href="remmina__file__editor_8c.html#abb7466f51c11427405a54c94767a52de">G_DEFINE_TYPE</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a>, remmina_file_editor, GTK_TYPE_DIALOG)</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> gchar *server_tips = <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;&lt;big&gt;&quot;</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="stringliteral">&quot;Supported formats\n&quot;</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="stringliteral">&quot;• server\n&quot;</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="stringliteral">&quot;• server[:port]\n&quot;</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="stringliteral">&quot;VNC additional formats\n&quot;</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="stringliteral">&quot;• ID:repeater ID number\n&quot;</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="stringliteral">&quot;• unix:///path/socket.sock&quot;</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="stringliteral">&quot;&lt;/big&gt;&quot;</span>);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> gchar *cmd_tips = <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;&lt;big&gt;&quot;</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="stringliteral">&quot;• command in PATH args %h\n&quot;</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="stringliteral">&quot;• /path/to/foo -options %h %u\n&quot;</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="stringliteral">&quot;• %h is substituted with the server name\n&quot;</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="stringliteral">&quot;• %t is substituted with the SSH server name\n&quot;</span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="stringliteral">&quot;• %u is substituted with the username\n&quot;</span></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="stringliteral">&quot;• %U is substituted with the SSH username\n&quot;</span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="stringliteral">&quot;• %p is substituted with Remmina profile name\n&quot;</span></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="stringliteral">&quot;• %g is substituted with Remmina profile group name\n&quot;</span></div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="stringliteral">&quot;• %d is substituted with local date and time in ISO 8601 format\n&quot;</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="stringliteral">&quot;Do not run in background if you want the command to be executed before connecting.\n&quot;</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="stringliteral">&quot;&lt;/big&gt;&quot;</span>);</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBSSH</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> gchar *server_tips2 = <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;&lt;big&gt;&quot;</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="stringliteral">&quot;Supported formats\n&quot;</span></div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="stringliteral">&quot;• server\n&quot;</span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="stringliteral">&quot;• server[:port]\n&quot;</span></div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="stringliteral">&quot;• username@server[:port] (SSH protocol only)&quot;</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="stringliteral">&quot;&lt;/big&gt;&quot;</span>);</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="keyword">struct </span>_RemminaFileEditorPriv {</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> * remmina_file;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="code" href="struct___remmina_protocol_plugin.html">RemminaProtocolPlugin</a> * plugin;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keyword">const</span> gchar * avahi_service_type;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; GtkWidget * name_entry;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; GtkWidget * labels_entry;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; GtkWidget * group_combo;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; GtkWidget * protocol_combo;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; GtkWidget * save_button;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; GtkWidget * config_box;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; GtkWidget * config_scrollable;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; GtkWidget * config_viewport;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; GtkWidget * config_container;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; GtkWidget * server_combo;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; GtkWidget * resolution_iws_radio;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; GtkWidget * resolution_auto_radio;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; GtkWidget * resolution_custom_radio;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; GtkWidget * resolution_custom_combo;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; GtkWidget * keymap_combo;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; GtkWidget * behavior_autostart_check;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; GtkWidget * behavior_precommand_entry;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; GtkWidget * behavior_postcommand_entry;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; GtkWidget * behavior_lock_check;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; GtkWidget * ssh_tunnel_enabled_check;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; GtkWidget * ssh_tunnel_loopback_check;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; GtkWidget * ssh_tunnel_server_default_radio;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; GtkWidget * ssh_tunnel_server_custom_radio;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; GtkWidget * ssh_tunnel_server_entry;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; GtkWidget * ssh_tunnel_auth_agent_radio;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; GtkWidget * ssh_tunnel_auth_password_radio;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; GtkWidget * ssh_tunnel_auth_password;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; GtkWidget * ssh_tunnel_passphrase;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; GtkWidget * ssh_tunnel_auth_publickey_radio;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; GtkWidget * ssh_tunnel_auth_auto_publickey_radio;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; GtkWidget * ssh_tunnel_auth_combo;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; GtkWidget * ssh_tunnel_username_entry;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; GtkWidget * ssh_tunnel_privatekey_chooser;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; GtkWidget * ssh_tunnel_certfile_chooser;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; GHashTable * setting_widgets;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;};</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a7f1406c817183d78a801668a10d73e0b"> 138</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a7f1406c817183d78a801668a10d73e0b">remmina_file_editor_class_init</a>(<a class="code" href="struct___remmina_file_editor_class.html">RemminaFileEditorClass</a> *klass)</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;{</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;}</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a2808be66552b252210e1c3b76530cd11"> 158</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a2808be66552b252210e1c3b76530cd11">remmina_file_editor_show_validation_error_popup</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> * gfe,</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; GtkWidget * failed_widget,</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; GError * err)</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;{</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">if</span> (!err) {</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; err = NULL; <span class="comment">// g_set_error doesn&#39;t like overwriting errors.</span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; g_set_error(&amp;err, 1, 1, _(<span class="stringliteral">&quot;Input is invalid.&quot;</span>));</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; }</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">if</span> (!gfe || !failed_widget) {</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; g_critical(<span class="stringliteral">&quot;(%s): Parameters RemminaFileEditor &#39;gfe&#39; or &quot;</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="stringliteral">&quot;GtkWidget* &#39;failed_widget&#39; are &#39;NULL&#39;!&quot;</span>,</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; __func__);</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; }</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; gint widget_width = gtk_widget_get_allocated_width(failed_widget);</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; gint widget_height = gtk_widget_get_allocated_height(failed_widget);</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; GtkWidget *err_label = gtk_label_new(<span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; GtkWidget *alert_icon = NULL;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; GtkWindow *err_window = GTK_WINDOW(gtk_window_new(GTK_WINDOW_TOPLEVEL));</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; GdkWindow *window = gtk_widget_get_window(failed_widget);</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; GtkAllocation allocation;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; gint failed_widget_x, failed_widget_y;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; gchar *markup = g_strdup_printf(<span class="stringliteral">&quot;&lt;span size=&#39;large&#39;&gt;%s&lt;/span&gt;&quot;</span>, err-&gt;message);</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="comment">// Setup err_window</span></div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; gtk_window_set_decorated(err_window, FALSE);</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; gtk_window_set_type_hint(err_window, GDK_WINDOW_TYPE_HINT_TOOLTIP);</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; gtk_window_set_default_size(err_window, widget_width, widget_height);</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; gtk_window_set_title(err_window, <span class="stringliteral">&quot;Error&quot;</span>);</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; gtk_window_set_resizable(err_window, TRUE);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="comment">// Move err_window under failed_widget</span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; gtk_window_set_attached_to(err_window, failed_widget);</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; gtk_window_set_transient_for(err_window, GTK_WINDOW(gfe));</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; gdk_window_get_origin(GDK_WINDOW(window), &amp;failed_widget_x, &amp;failed_widget_y);</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; gtk_widget_get_allocation(failed_widget, &amp;allocation);</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; failed_widget_x += allocation.x;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; failed_widget_y += allocation.y + allocation.height;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; gtk_window_move(err_window, failed_widget_x, failed_widget_y);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="comment">// Setup label</span></div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; gtk_label_set_selectable(GTK_LABEL(err_label), FALSE);</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; gtk_label_set_max_width_chars(GTK_LABEL(err_label), 1);</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; gtk_widget_set_hexpand(GTK_WIDGET(err_label), TRUE);</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; gtk_widget_set_vexpand(GTK_WIDGET(err_label), TRUE);</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; gtk_label_set_ellipsize(GTK_LABEL(err_label), PANGO_ELLIPSIZE_END);</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; gtk_label_set_line_wrap(GTK_LABEL(err_label), TRUE);</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; gtk_label_set_line_wrap_mode(GTK_LABEL(err_label), PANGO_WRAP_WORD_CHAR);</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; gtk_label_set_markup(GTK_LABEL(err_label), markup);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; alert_icon = gtk_image_new_from_icon_name(<span class="stringliteral">&quot;dialog-warning-symbolic&quot;</span>,</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; GTK_ICON_SIZE_DND);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="comment">// Fill icon and label into a box.</span></div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; gtk_box_pack_start(GTK_BOX(box), GTK_WIDGET(alert_icon), FALSE, FALSE, 0);</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; gtk_box_pack_start(GTK_BOX(box), GTK_WIDGET(err_label), TRUE, TRUE, 5);</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="comment">// Attach box to err_window</span></div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; gtk_container_add(GTK_CONTAINER(err_window), GTK_WIDGET(box));</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="comment">// Display everything.</span></div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; gtk_widget_show_all(GTK_WIDGET(err_window));</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="comment">// Mouse click and focus-loss will delete the err_window.</span></div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; g_signal_connect(G_OBJECT(err_window), <span class="stringliteral">&quot;focus-out-event&quot;</span>,</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; G_CALLBACK(gtk_window_close), NULL);</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; g_signal_connect(G_OBJECT(err_window), <span class="stringliteral">&quot;button-press-event&quot;</span>,</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; G_CALLBACK(gtk_window_close), NULL);</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;}</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBAVAHI_UI</span></div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;</div><div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#aa3acf0470349d706d15fa751e982fd05"> 236</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#aa3acf0470349d706d15fa751e982fd05">remmina_file_editor_browse_avahi</a>(GtkWidget *button, <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;{</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; GtkWidget *dialog;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; gchar *host;</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; dialog = aui_service_dialog_new(_(<span class="stringliteral">&quot;Choose a Remote Desktop Server&quot;</span>),</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; GTK_WINDOW(gfe),</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; _(<span class="stringliteral">&quot;_Cancel&quot;</span>), GTK_RESPONSE_CANCEL,</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; _(<span class="stringliteral">&quot;_OK&quot;</span>), GTK_RESPONSE_ACCEPT,</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; NULL);</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(gfe));</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; aui_service_dialog_set_resolve_service(AUI_SERVICE_DIALOG(dialog), TRUE);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; aui_service_dialog_set_resolve_host_name(AUI_SERVICE_DIALOG(dialog), TRUE);</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; aui_service_dialog_set_browse_service_types(AUI_SERVICE_DIALOG(dialog),</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;avahi_service_type, NULL);</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">if</span> (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) {</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; host = g_strdup_printf(<span class="stringliteral">&quot;[%s]:%i&quot;</span>,</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; aui_service_dialog_get_host_name(AUI_SERVICE_DIALOG(dialog)),</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; aui_service_dialog_get_port(AUI_SERVICE_DIALOG(dialog)));</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; host = NULL;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; }</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; gtk_widget_destroy(dialog);</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordflow">if</span> (host) {</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; gtk_entry_set_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;server_combo))), host);</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; g_free(host);</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; }</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;}</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a880e8e6aee571b91eeb7f5d2f60e210b"> 270</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a880e8e6aee571b91eeb7f5d2f60e210b">remmina_file_editor_on_realize</a>(GtkWidget *widget, gpointer user_data)</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;{</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; GtkWidget *defaultwidget;</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; gfe = REMMINA_FILE_EDITOR(widget);</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; defaultwidget = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;server_combo;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">if</span> (defaultwidget) {</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">if</span> (GTK_IS_EDITABLE(defaultwidget))</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; gtk_editable_select_region(GTK_EDITABLE(defaultwidget), 0, -1);</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; gtk_widget_grab_focus(defaultwidget);</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; }</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;}</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;</div><div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a6eb0bcee764064d6a7dd84c015d9ed4f"> 287</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a6eb0bcee764064d6a7dd84c015d9ed4f">remmina_file_editor_destroy</a>(GtkWidget *widget, gpointer data)</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;{</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <a class="code" href="remmina__file_8c.html#abd2f06bf0a5ddcf7156e5ef7d0c8d4d7">remmina_file_free</a>(REMMINA_FILE_EDITOR(widget)-&gt;priv-&gt;remmina_file);</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; g_hash_table_destroy(REMMINA_FILE_EDITOR(widget)-&gt;priv-&gt;setting_widgets);</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; g_free(REMMINA_FILE_EDITOR(widget)-&gt;priv);</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;}</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;</div><div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a112a0fd5bf7d5693b9cb717c850637cb"> 295</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a112a0fd5bf7d5693b9cb717c850637cb">remmina_file_editor_button_on_toggled</a>(GtkToggleButton *togglebutton, GtkWidget *widget)</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;{</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; gtk_widget_set_sensitive(widget, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(togglebutton)));</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;}</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;</div><div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a3df3718727200d865f9f977435db30ea"> 301</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a3df3718727200d865f9f977435db30ea">remmina_file_editor_create_notebook_container</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160;{</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="comment">/* Create the notebook */</span></div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_container = gtk_notebook_new();</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_viewport = gtk_viewport_new(NULL, NULL);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_scrollable = gtk_scrolled_window_new(NULL, NULL);</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; gtk_container_set_border_width(GTK_CONTAINER(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_scrollable), 2);</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_scrollable),</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; gtk_widget_show(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_scrollable);</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; gtk_container_add(GTK_CONTAINER(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_viewport), gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_container);</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; gtk_container_set_border_width(GTK_CONTAINER(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_viewport), 2);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; gtk_widget_show(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_viewport);</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; gtk_container_add(GTK_CONTAINER(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_scrollable), gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_viewport);</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; gtk_container_set_border_width(GTK_CONTAINER(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_container), 2);</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; gtk_widget_show(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_container);</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; gtk_container_add(GTK_CONTAINER(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_box), gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_scrollable);</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;}</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;</div><div class="line"><a name="l00323"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#aecbc005c39cdf4fab4779090f11a3556"> 323</a></span>&#160;<span class="keyword">static</span> GtkWidget *<a class="code" href="remmina__file__editor_8c.html#aecbc005c39cdf4fab4779090f11a3556">remmina_file_editor_create_notebook_tab</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe,</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keyword">const</span> gchar *stock_id, <span class="keyword">const</span> gchar *label, gint rows, gint cols)</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;{</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; GtkWidget *tablabel;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; GtkWidget *tabbody;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; GtkWidget *grid;</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; tablabel = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; gtk_widget_show(tablabel);</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; widget = gtk_image_new_from_icon_name(stock_id, GTK_ICON_SIZE_BUTTON);</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; gtk_box_pack_start(GTK_BOX(tablabel), widget, FALSE, FALSE, 0);</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; widget = gtk_label_new(label);</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; gtk_box_pack_start(GTK_BOX(tablabel), widget, FALSE, FALSE, 0);</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; tabbody = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; gtk_widget_show(tabbody);</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; gtk_notebook_append_page(GTK_NOTEBOOK(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;config_container), tabbody, tablabel);</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; grid = gtk_grid_new();</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; gtk_widget_show(grid);</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; gtk_grid_set_row_spacing(GTK_GRID(grid), 8);</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; gtk_grid_set_column_spacing(GTK_GRID(grid), 8);</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; gtk_container_set_border_width(GTK_CONTAINER(grid), 15);</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; gtk_box_pack_start(GTK_BOX(tabbody), grid, FALSE, FALSE, 0);</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160;</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keywordflow">return</span> grid;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;}</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBSSH</span></div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;</div><div class="line"><a name="l00359"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a5ea3f796c3a46aeb01b2f13f4a3d40a9"> 359</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a5ea3f796c3a46aeb01b2f13f4a3d40a9">remmina_file_editor_ssh_tunnel_server_custom_radio_on_toggled</a>(GtkToggleButton *togglebutton, <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;{</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_server_entry),</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_enabled_check)) &amp;&amp;</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; (gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_server_custom_radio == NULL ||</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_server_custom_radio))));</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;}</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160;</div><div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a8a7f3ce69255bf413ef8fa841af3d019"> 368</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a8a7f3ce69255bf413ef8fa841af3d019">remmina_file_editor_ssh_tunnel_enabled_check_on_toggled</a>(GtkToggleButton *togglebutton,</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, <a class="code" href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7">RemminaProtocolSSHSetting</a> ssh_setting)</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;{</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; gboolean enabled = TRUE;</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; gchar *p;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keyword">const</span> gchar *cp;</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keyword">const</span> gchar *s = NULL;</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordflow">if</span> (gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_enabled_check) {</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; enabled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_enabled_check));</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="keywordflow">if</span> (gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_loopback_check)</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_loopback_check), enabled);</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="keywordflow">if</span> (gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_server_default_radio)</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_server_default_radio), enabled);</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keywordflow">if</span> (gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_server_custom_radio)</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_server_custom_radio), enabled);</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a5ea3f796c3a46aeb01b2f13f4a3d40a9">remmina_file_editor_ssh_tunnel_server_custom_radio_on_toggled</a>(NULL, gfe);</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; p = <a class="code" href="remmina__public_8c.html#af1679d83834c8409f23e00c555d677fb">remmina_public_combo_get_active_text</a>(GTK_COMBO_BOX(priv-&gt;protocol_combo));</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="comment">// if (!(g_strcmp0(p, &quot;SFTP&quot;) == 0 || g_strcmp0(p, &quot;SSH&quot;) == 0)) {</span></div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_username_entry), enabled);</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_auth_password), enabled);</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_auth_combo), enabled);</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_privatekey_chooser), enabled);</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_certfile_chooser), enabled);</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="comment">//}</span></div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; g_free(p);</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; }</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="comment">// remmina_file_editor_ssh_tunnel_auth_publickey_radio_on_toggled(NULL, gfe);</span></div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; s = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_privatekey&quot;</span>);</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keywordflow">if</span> (s)</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_privatekey_chooser), s);</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; s = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_certfile&quot;</span>);</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordflow">if</span> (s)</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_certfile_chooser), s);</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordflow">if</span> (gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_username_entry)</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <span class="keywordflow">if</span> (enabled &amp;&amp; gtk_entry_get_text(GTK_ENTRY(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_username_entry))[0] == <span class="charliteral">&#39;\0&#39;</span>) {</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; cp = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_username&quot;</span>);</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; gtk_entry_set_text(GTK_ENTRY(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_username_entry), cp ? cp : <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; }</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160;</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keywordflow">if</span> (gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_auth_password) {</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="keywordflow">if</span> (enabled &amp;&amp; gtk_entry_get_text(GTK_ENTRY(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_auth_password))[0] == <span class="charliteral">&#39;\0&#39;</span>) {</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; cp = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_password&quot;</span>);</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; gtk_entry_set_text(GTK_ENTRY(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_auth_password), cp ? cp : <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; }</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; }</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="keywordflow">if</span> (gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_passphrase) {</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="keywordflow">if</span> (enabled &amp;&amp; gtk_entry_get_text(GTK_ENTRY(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_passphrase))[0] == <span class="charliteral">&#39;\0&#39;</span>) {</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; cp = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_passphrase&quot;</span>);</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; gtk_entry_set_text(GTK_ENTRY(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;ssh_tunnel_passphrase), cp ? cp : <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; }</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; }</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160;}</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160;</div><div class="line"><a name="l00427"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#af7edb004da0ecc48277c1b656f2649ae"> 427</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#af7edb004da0ecc48277c1b656f2649ae">remmina_file_editor_create_server</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, <span class="keyword">const</span> <a class="code" href="struct___remmina_protocol_setting.html">RemminaProtocolSetting</a> *setting, GtkWidget *grid,</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; gint row)</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160;{</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <a class="code" href="struct___remmina_protocol_plugin.html">RemminaProtocolPlugin</a> *plugin = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;plugin;</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBAVAHI_UI</span></div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; GtkWidget *hbox;</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; gchar *s;</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; widget = gtk_label_new(_(<span class="stringliteral">&quot;Server&quot;</span>));</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; gtk_widget_set_valign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, row, 1, row + 1);</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160;</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; s = <a class="code" href="remmina__pref_8c.html#a0208d5dc8197423da67e5967aafb7a05">remmina_pref_get_recent</a>(plugin-&gt;<a class="code" href="struct___remmina_protocol_plugin.html#a6e04143450eeb71e3d0b2c14983860a4">name</a>);</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; widget = <a class="code" href="remmina__public_8c.html#a9ec86f1e9caea5ebc867a90230d6b51a">remmina_public_create_combo_entry</a>(s, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file, <span class="stringliteral">&quot;server&quot;</span>), TRUE);</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; gtk_widget_set_hexpand(widget, TRUE);</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; gtk_widget_set_tooltip_markup(widget, _(server_tips));</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; gtk_entry_set_activates_default(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(widget))), TRUE);</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;server_combo = widget;</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; g_free(s);</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBAVAHI_UI</span></div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <span class="keywordflow">if</span> (setting-&gt;<a class="code" href="struct___remmina_protocol_setting.html#ae1cc5b9d910f68aa5909e3cf483c1d1d">opt1</a>) {</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;avahi_service_type = (<span class="keyword">const</span> gchar *)setting-&gt;<a class="code" href="struct___remmina_protocol_setting.html#ae1cc5b9d910f68aa5909e3cf483c1d1d">opt1</a>;</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; gtk_widget_show(hbox);</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; gtk_box_pack_start(GTK_BOX(hbox), widget, TRUE, TRUE, 0);</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; widget = gtk_button_new_with_label(<span class="stringliteral">&quot;…&quot;</span>);</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; s = g_strdup_printf(_(<span class="stringliteral">&quot;Browse the network to find a %s server&quot;</span>), plugin-&gt;<a class="code" href="struct___remmina_protocol_plugin.html#a6e04143450eeb71e3d0b2c14983860a4">name</a>);</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; gtk_widget_set_tooltip_text(widget, s);</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; g_free(s);</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, FALSE, 0);</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#aa3acf0470349d706d15fa751e982fd05">remmina_file_editor_browse_avahi</a>), gfe);</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; gtk_grid_attach(GTK_GRID(grid), hbox, 1, row, 1, 1);</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; } <span class="keywordflow">else</span></div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; {</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 1, row, 1, 1);</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; }</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;}</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160;</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;</div><div class="line"><a name="l00478"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a54d3b1890fcf67c2f7615e37f27f7583"> 478</a></span>&#160;<span class="keyword">static</span> GtkWidget *<a class="code" href="remmina__file__editor_8c.html#a54d3b1890fcf67c2f7615e37f27f7583">remmina_file_editor_create_password</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, GtkWidget *grid, gint row, gint col, <span class="keyword">const</span> gchar *label, <span class="keyword">const</span> gchar *value, gchar *setting_name)</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;{</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; widget = gtk_label_new(label);</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160;<span class="preprocessor">#if GTK_CHECK_VERSION(3, 12, 0)</span></div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; gtk_widget_set_margin_end(widget, 40);</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; gtk_widget_set_margin_right(widget, 40);</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; gtk_widget_set_valign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, row, 1, 1);</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160;</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; widget = gtk_entry_new();</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 1, row, 1, 1);</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; gtk_entry_set_max_length(GTK_ENTRY(widget), 0);</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; gtk_entry_set_visibility(GTK_ENTRY(widget), FALSE);</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; gtk_widget_set_hexpand(widget, TRUE);</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; gtk_entry_set_activates_default(GTK_ENTRY(widget), TRUE);</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">if</span> (setting_name)</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; gtk_widget_set_name(widget, setting_name);</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160;</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <span class="keywordflow">if</span> (value)</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; gtk_entry_set_text(GTK_ENTRY(widget), value);</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <span class="comment">/* Password view Toogle*/</span></div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <span class="keywordflow">if</span> (setting_name) {</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; gtk_entry_set_icon_from_icon_name(GTK_ENTRY(widget), GTK_ENTRY_ICON_SECONDARY, <span class="stringliteral">&quot;org.remmina.Remmina-password-reveal-symbolic&quot;</span>);</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; gtk_entry_set_icon_activatable(GTK_ENTRY(widget), GTK_ENTRY_ICON_SECONDARY, TRUE);</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; g_signal_connect(widget, <span class="stringliteral">&quot;icon-press&quot;</span>, G_CALLBACK(<a class="code" href="remmina__main_8c.html#aac3fe305e456dfa7bb55aa2f057e8cb0">remmina_main_toggle_password_view</a>), NULL);</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; }</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="keywordflow">return</span> widget;</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160;}</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160;</div><div class="line"><a name="l00515"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a51a45d872a9e7a0b06d25aef592a6e3a"> 515</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a51a45d872a9e7a0b06d25aef592a6e3a">remmina_file_editor_update_resolution</a>(GtkWidget *widget, <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160;{</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; gchar *res_str;</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; res_str = g_strdup_printf(<span class="stringliteral">&quot;%dx%d&quot;</span>,</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file, <span class="stringliteral">&quot;resolution_width&quot;</span>, 0),</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file, <span class="stringliteral">&quot;resolution_height&quot;</span>, 0));</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <a class="code" href="remmina__public_8c.html#aa5eacff7c9dab7457dd65525d01047f8">remmina_public_load_combo_text_d</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_custom_combo, <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a59eebf1d365ef192de8e14da2c381f37">resolutions</a>,</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; res_str, NULL);</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; g_free(res_str);</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160;}</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160;</div><div class="line"><a name="l00527"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a51b9fe336d9068ffc488ef55adc9eac4"> 527</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a51b9fe336d9068ffc488ef55adc9eac4">remmina_file_editor_browse_resolution</a>(GtkWidget *button, <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160;{</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160;</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; GtkDialog *dialog = <a class="code" href="remmina__string__list_8c.html#a11147c41297537effe55f18a63ce9f7e">remmina_string_list_new</a>(FALSE, NULL);</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; <a class="code" href="remmina__string__list_8c.html#a500b85eafd23280f998d2980d1eba80e">remmina_string_list_set_validation_func</a>(<a class="code" href="remmina__public_8c.html#a098786d3aa6991aeba43a61e29d534d0">remmina_public_resolution_validation_func</a>);</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <a class="code" href="remmina__string__list_8c.html#ab1bacc097f59c20b477d954bb863a5e0">remmina_string_list_set_text</a>(<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a59eebf1d365ef192de8e14da2c381f37">resolutions</a>, TRUE);</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <a class="code" href="remmina__string__list_8c.html#aa9ca6ccf40b954051a0daa5c1efeef87">remmina_string_list_set_titles</a>(_(<span class="stringliteral">&quot;Resolutions&quot;</span>), _(<span class="stringliteral">&quot;Configure the available resolutions&quot;</span>));</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(gfe));</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; gtk_dialog_run(dialog);</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; g_free(<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a59eebf1d365ef192de8e14da2c381f37">resolutions</a>);</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a59eebf1d365ef192de8e14da2c381f37">resolutions</a> = <a class="code" href="remmina__string__list_8c.html#a74058eac0af28c05a55d041103457aec">remmina_string_list_get_text</a>();</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; g_signal_connect(G_OBJECT(dialog), <span class="stringliteral">&quot;destroy&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#a51a45d872a9e7a0b06d25aef592a6e3a">remmina_file_editor_update_resolution</a>), gfe);</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; gtk_widget_destroy(GTK_WIDGET(dialog));</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160;}</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160;</div><div class="line"><a name="l00543"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#afad358c6e3a5918416c6eb036157d8e5"> 543</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#afad358c6e3a5918416c6eb036157d8e5">remmina_file_editor_create_resolution</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, <span class="keyword">const</span> <a class="code" href="struct___remmina_protocol_setting.html">RemminaProtocolSetting</a> *setting,</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; GtkWidget *grid, gint row)</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160;{</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; GtkWidget *hbox;</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; <span class="keywordtype">int</span> resolution_w, resolution_h;</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; gchar *res_str;</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; <a class="code" href="types_8h.html#a373ddef8221457d86c64830c26d3f78a">RemminaProtocolWidgetResolutionMode</a> res_mode;</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160;</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; res_mode = <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file, <span class="stringliteral">&quot;resolution_mode&quot;</span>, <a class="code" href="types_8h.html#a373ddef8221457d86c64830c26d3f78aa415945752acf7689df7cb602ae4e1724">RES_INVALID</a>);</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; resolution_w = <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file, <span class="stringliteral">&quot;resolution_width&quot;</span>, -1);</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; resolution_h = <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file, <span class="stringliteral">&quot;resolution_height&quot;</span>, -1);</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160;</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; <span class="comment">/* If resolution_mode is non-existent (-1), then we try to calculate it</span></div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160;<span class="comment"> * as we did before having resolution_mode */</span></div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <span class="keywordflow">if</span> (res_mode == <a class="code" href="types_8h.html#a373ddef8221457d86c64830c26d3f78aa415945752acf7689df7cb602ae4e1724">RES_INVALID</a>) {</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; <span class="keywordflow">if</span> (resolution_w &lt;= 0 || resolution_h &lt;= 0)</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; res_mode = <a class="code" href="types_8h.html#a373ddef8221457d86c64830c26d3f78aa60de6896fa451ca072d23fab21dbfeef">RES_USE_INITIAL_WINDOW_SIZE</a>;</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; res_mode = <a class="code" href="types_8h.html#a373ddef8221457d86c64830c26d3f78aafe10effd553a16b9bac60b6d9b64c2cd">RES_USE_CUSTOM</a>;</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; }</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <span class="keywordflow">if</span> (res_mode == <a class="code" href="types_8h.html#a373ddef8221457d86c64830c26d3f78aafe10effd553a16b9bac60b6d9b64c2cd">RES_USE_CUSTOM</a>)</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; res_str = g_strdup_printf(<span class="stringliteral">&quot;%dx%d&quot;</span>, resolution_w, resolution_h);</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; res_str = NULL;</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160;</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; widget = gtk_label_new(_(<span class="stringliteral">&quot;Resolution&quot;</span>));</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; gtk_widget_set_valign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, row, 1, 1);</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160;</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; widget = gtk_radio_button_new_with_label(NULL, _(<span class="stringliteral">&quot;Use initial window size&quot;</span>));</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; gtk_box_pack_start(GTK_BOX(hbox), widget, TRUE, TRUE, 0);</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_iws_radio = widget;</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; widget = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_iws_radio), _(<span class="stringliteral">&quot;Use client resolution&quot;</span>));</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; gtk_box_pack_start(GTK_BOX(hbox), widget, TRUE, TRUE, 0);</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_auto_radio = widget;</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; gtk_grid_attach(GTK_GRID(grid), hbox, 1, row, 1, 1);</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; gtk_widget_show(hbox);</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160;</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; gtk_widget_show(hbox);</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; gtk_grid_attach(GTK_GRID(grid), hbox, 1, row + 1, 1, 1);</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160;</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; widget = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_iws_radio), _(<span class="stringliteral">&quot;Custom&quot;</span>));</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, FALSE, 0);</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_custom_radio = widget;</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160;</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; widget = <a class="code" href="remmina__public_8c.html#a3796b536244067e9a85923b1cefa6cde">remmina_public_create_combo_text_d</a>(<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a59eebf1d365ef192de8e14da2c381f37">resolutions</a>, res_str, NULL);</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; gtk_box_pack_start(GTK_BOX(hbox), widget, TRUE, TRUE, 0);</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_custom_combo = widget;</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160;</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; widget = gtk_button_new_with_label(<span class="stringliteral">&quot;…&quot;</span>);</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, FALSE, 0);</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#a51b9fe336d9068ffc488ef55adc9eac4">remmina_file_editor_browse_resolution</a>), gfe);</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160;</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; g_signal_connect(G_OBJECT(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_custom_radio), <span class="stringliteral">&quot;toggled&quot;</span>,</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#a112a0fd5bf7d5693b9cb717c850637cb">remmina_file_editor_button_on_toggled</a>), gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_custom_combo);</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160;</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <span class="keywordflow">if</span> (res_mode == <a class="code" href="types_8h.html#a373ddef8221457d86c64830c26d3f78aafe10effd553a16b9bac60b6d9b64c2cd">RES_USE_CUSTOM</a>)</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_custom_radio), TRUE);</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (res_mode == <a class="code" href="types_8h.html#a373ddef8221457d86c64830c26d3f78aaf5ff7e2cd480eb2acc5e1520e409202d">RES_USE_CLIENT</a>)</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_auto_radio), TRUE);</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_iws_radio), TRUE);</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160;</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; gtk_widget_set_sensitive(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_custom_combo, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;resolution_custom_radio)));</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160;</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; g_free(res_str);</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160;}</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160;</div><div class="line"><a name="l00622"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a8cec1e80676c945f10bf39aca671d0a0"> 622</a></span>&#160;<span class="keyword">static</span> GtkWidget *<a class="code" href="remmina__file__editor_8c.html#a8cec1e80676c945f10bf39aca671d0a0">remmina_file_editor_create_text2</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, GtkWidget *grid,</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; gint row, gint col, <span class="keyword">const</span> gchar *label, <span class="keyword">const</span> gchar *value, gint left,</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; gint right, gchar *setting_name)</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160;{</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160;</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; widget = gtk_label_new(label);</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160;<span class="preprocessor">#if GTK_CHECK_VERSION(3, 12, 0)</span></div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; gtk_widget_set_margin_start(widget, left);</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; gtk_widget_set_margin_end(widget, right);</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; gtk_widget_set_margin_left(widget, left);</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; gtk_widget_set_margin_right(widget, right);</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; gtk_widget_set_valign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, col, row, 1, 1);</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160;</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; widget = gtk_entry_new();</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, col + 1, row, 1, 1);</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; gtk_entry_set_max_length(GTK_ENTRY(widget), 300);</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; gtk_widget_set_hexpand(widget, TRUE);</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; <span class="keywordflow">if</span> (setting_name)</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; gtk_widget_set_name(widget, setting_name);</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160;</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; <span class="keywordflow">if</span> (value)</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; gtk_entry_set_text(GTK_ENTRY(widget), value);</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160;</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; <span class="keywordflow">return</span> widget;</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160;}</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160;</div><div class="line"><a name="l00656"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a072de27e64368581e8507d3b795bfbf4"> 656</a></span>&#160;<span class="keyword">static</span> GtkWidget *<a class="code" href="remmina__file__editor_8c.html#a072de27e64368581e8507d3b795bfbf4">remmina_file_editor_create_text</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, GtkWidget *grid,</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; gint row, gint col, <span class="keyword">const</span> gchar *label, <span class="keyword">const</span> gchar *value,</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; gchar *setting_name)</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160;{</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <span class="keywordflow">return</span> <a class="code" href="remmina__file__editor_8c.html#a8cec1e80676c945f10bf39aca671d0a0">remmina_file_editor_create_text2</a>(gfe, grid, row, col, label, value, 0, 40,</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; setting_name);</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160;}</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160;</div><div class="line"><a name="l00665"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#aef2803d3fc2558c9c3844ffac088e7d7"> 665</a></span>&#160;<span class="keyword">static</span> GtkWidget *<a class="code" href="remmina__file__editor_8c.html#aef2803d3fc2558c9c3844ffac088e7d7">remmina_file_editor_create_textarea</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, GtkWidget *grid,</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; gint row, gint col, <span class="keyword">const</span> gchar *label, <span class="keyword">const</span> gchar *value,</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; gchar *setting_name)</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160;{</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; GtkTextView *view;</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; GtkTextBuffer *buffer;</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; GtkTextIter start;</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160;</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; widget = gtk_text_view_new();</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; view = GTK_TEXT_VIEW(widget);</div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(view), GTK_WRAP_WORD);</div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; gtk_text_view_set_top_margin(GTK_TEXT_VIEW(view), 20);</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; gtk_text_view_set_bottom_margin(GTK_TEXT_VIEW(view), 20);</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; gtk_text_view_set_left_margin(GTK_TEXT_VIEW(view), 20);</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; gtk_text_view_set_right_margin(GTK_TEXT_VIEW(view), 20);</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; gtk_text_view_set_monospace(view, TRUE);</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; <span class="keywordflow">if</span> (setting_name)</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; gtk_widget_set_name(widget, setting_name);</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <span class="keywordflow">if</span> (value) {</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; buffer = gtk_text_view_get_buffer(view);</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; gtk_text_buffer_set_text(buffer, value, -1);</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; gtk_text_buffer_get_start_iter(buffer, &amp;start);</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; gtk_text_buffer_place_cursor(buffer, &amp;start);</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; }</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; gtk_widget_set_hexpand(widget, TRUE);</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; gtk_widget_set_size_request(GTK_WIDGET(view), 320, 300);</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, row, 1, 1);</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; <span class="keywordflow">return</span> widget;</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160;}</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160;</div><div class="line"><a name="l00698"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#ac9b7c0ba5ece064548bcaf72d1b0425a"> 698</a></span>&#160;<span class="keyword">static</span> GtkWidget *<a class="code" href="remmina__file__editor_8c.html#ac9b7c0ba5ece064548bcaf72d1b0425a">remmina_file_editor_create_select</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, GtkWidget *grid,</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; gint row, gint col, <span class="keyword">const</span> gchar *label, <span class="keyword">const</span> gpointer *list,</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="keyword">const</span> gchar *value, gchar *setting_name)</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160;{</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160;</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; widget = gtk_label_new(label);</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; gtk_widget_set_valign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <span class="keywordflow">if</span> (setting_name)</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; gtk_widget_set_name(widget, setting_name);</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, row, 1, 1);</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160;</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; widget = <a class="code" href="remmina__public_8c.html#a616258d3226ec1f1ecee6ce18aba535b">remmina_public_create_combo_map</a>(list, value, FALSE, gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;plugin-&gt;domain);</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 1, row, 1, 1);</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160;</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; <span class="keywordflow">return</span> widget;</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160;}</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160;</div><div class="line"><a name="l00720"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#af253834273229ac38c6fdfe613626965"> 720</a></span>&#160;<span class="keyword">static</span> GtkWidget *<a class="code" href="remmina__file__editor_8c.html#af253834273229ac38c6fdfe613626965">remmina_file_editor_create_combo</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, GtkWidget *grid,</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; gint row, gint col, <span class="keyword">const</span> gchar *label, <span class="keyword">const</span> gchar *list,</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; <span class="keyword">const</span> gchar *value, gchar *setting_name)</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160;{</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160;</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; widget = gtk_label_new(label);</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; gtk_widget_set_valign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, row, 1, 1);</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160;</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; widget = <a class="code" href="remmina__public_8c.html#a9ec86f1e9caea5ebc867a90230d6b51a">remmina_public_create_combo_entry</a>(list, value, FALSE);</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; gtk_widget_set_hexpand(widget, TRUE);</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; <span class="keywordflow">if</span> (setting_name)</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; gtk_widget_set_name(widget, setting_name);</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 1, row, 1, 1);</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160;</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; <span class="keywordflow">return</span> widget;</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160;}</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160;</div><div class="line"><a name="l00743"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a2a31c93bd54489f8bb3c8fe0dff033d6"> 743</a></span>&#160;<span class="keyword">static</span> GtkWidget *<a class="code" href="remmina__file__editor_8c.html#a2a31c93bd54489f8bb3c8fe0dff033d6">remmina_file_editor_create_check</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, GtkWidget *grid,</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; gint row, gint top, <span class="keyword">const</span> gchar *label, gboolean value,</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; gchar *setting_name)</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160;{</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; widget = gtk_check_button_new_with_label(label);</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <span class="keywordflow">if</span> (setting_name)</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; gtk_widget_set_name(widget, setting_name);</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, top, row, 1, 1);</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160;</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; <span class="keywordflow">if</span> (value)</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), TRUE);</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160;</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; <span class="keywordflow">return</span> widget;</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160;}</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160;</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160;<span class="keyword">static</span> GtkWidget *</div><div class="line"><a name="l00771"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#ab5d28ebef67a21099e99268bd6fa04aa"> 771</a></span>&#160;<a class="code" href="remmina__file__editor_8c.html#ab5d28ebef67a21099e99268bd6fa04aa">remmina_file_editor_create_chooser</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, GtkWidget *grid, gint row, gint col, <span class="keyword">const</span> gchar *label,</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; <span class="keyword">const</span> gchar *value, gint type, gchar *setting_name)</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160;{</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; GtkWidget *check;</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; GtkWidget *hbox;</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160;</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; widget = gtk_label_new(label);</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; gtk_widget_set_valign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, row, 1, 1);</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160;</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; gtk_widget_show(hbox);</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; gtk_grid_attach(GTK_GRID(grid), hbox, 1, row, 1, 1);</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160;</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; check = gtk_check_button_new();</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; gtk_widget_show(check);</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check), (value &amp;&amp; value[0] == <span class="charliteral">&#39;/&#39;</span>));</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; gtk_box_pack_start(GTK_BOX(hbox), check, FALSE, FALSE, 0);</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160;</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; widget = gtk_file_chooser_button_new(label, type);</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <span class="keywordflow">if</span> (setting_name)</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; gtk_widget_set_name(widget, setting_name);</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; <span class="keywordflow">if</span> (value)</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(widget), value);</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; gtk_box_pack_start(GTK_BOX(hbox), widget, TRUE, TRUE, 0);</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160;</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; g_signal_connect(G_OBJECT(check), <span class="stringliteral">&quot;toggled&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#a112a0fd5bf7d5693b9cb717c850637cb">remmina_file_editor_button_on_toggled</a>), widget);</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a112a0fd5bf7d5693b9cb717c850637cb">remmina_file_editor_button_on_toggled</a>(GTK_TOGGLE_BUTTON(check), widget);</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160;</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; <span class="keywordflow">return</span> widget;</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160;}</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160;</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160;<span class="comment">// used to filter out invalid characters for REMMINA_PROTOCOL_SETTING_TYPE_INT</span></div><div class="line"><a name="l00809"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#aa1e0d966a2100175a8eab3a1497306c0"> 809</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#aa1e0d966a2100175a8eab3a1497306c0">remmina_file_editor_int_setting_filter</a>(GtkEditable *editable, <span class="keyword">const</span> gchar *text,</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; gint length, gint *position, gpointer data)</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160;{</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; length; i++) {</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; <span class="keywordflow">if</span> (!isdigit(text[i]) &amp;&amp; text[i] != <span class="charliteral">&#39;-&#39;</span>) {</div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; g_signal_stop_emission_by_name(G_OBJECT(editable), <span class="stringliteral">&quot;insert-text&quot;</span>);</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; }</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; }</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160;}</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160;</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160;<span class="comment">// used to filter out invalid characters for REMMINA_PROTOCOL_SETTING_TYPE_DOUBLE</span></div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160;<span class="comment">// &#39;.&#39; and &#39;,&#39; can&#39;t be used interchangeably! It depends on the language setting</span></div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160;<span class="comment">// of the user.</span></div><div class="line"><a name="l00823"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#aed69ba3823f68580d5acea459c5c890f"> 823</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#aed69ba3823f68580d5acea459c5c890f">remmina_file_editor_double_setting_filter</a>(GtkEditable *editable, <span class="keyword">const</span> gchar *text,</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; gint length, gint *position, gpointer data)</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160;{</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; length; i++) {</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; <span class="keywordflow">if</span> (!isdigit(text[i]) &amp;&amp; text[i] != <span class="charliteral">&#39;-&#39;</span> &amp;&amp; text[i] != <span class="charliteral">&#39;.&#39;</span> &amp;&amp; text[i] != <span class="charliteral">&#39;,&#39;</span>) {</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; g_signal_stop_emission_by_name(G_OBJECT(editable), <span class="stringliteral">&quot;insert-text&quot;</span>);</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; }</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; }</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160;}</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160;</div><div class="line"><a name="l00834"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#ac47032c150cbdb7bf691059b4e3eb9d0"> 834</a></span>&#160;<span class="keyword">static</span> GtkWidget *<a class="code" href="remmina__file__editor_8c.html#ac47032c150cbdb7bf691059b4e3eb9d0">remmina_file_editor_create_int</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, GtkWidget *grid,</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; gint row, gint col, <span class="keyword">const</span> gchar *label, <span class="keyword">const</span> gint value,</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; gint left, gint right, gchar *setting_name)</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160;{</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160;</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; widget = gtk_label_new(label);</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160;<span class="preprocessor">#if GTK_CHECK_VERSION(3, 12, 0)</span></div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; gtk_widget_set_margin_start(widget, left);</div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; gtk_widget_set_margin_end(widget, right);</div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; gtk_widget_set_margin_left(widget, left);</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; gtk_widget_set_margin_right(widget, right);</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; gtk_widget_set_valign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, col, row, 1, 1);</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160;</div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; widget = gtk_entry_new();</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, col + 1, row, 1, 1);</div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; gtk_entry_set_max_length(GTK_ENTRY(widget), 300);</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; gtk_widget_set_hexpand(widget, TRUE);</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; <span class="keywordflow">if</span> (setting_name)</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; gtk_widget_set_name(widget, setting_name);</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160;</div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; <span class="comment">// Convert int to str.</span></div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; <span class="keywordtype">int</span> length = snprintf(NULL, 0, <span class="stringliteral">&quot;%d&quot;</span>, value) + 1; <span class="comment">// +1 &#39;\0&#39; byte</span></div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; <span class="keywordtype">char</span> *str = malloc(length);</div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; snprintf(str, length, <span class="stringliteral">&quot;%d&quot;</span>, value);</div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160;</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; gtk_entry_set_text(GTK_ENTRY(widget), str);</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; free(str);</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160;</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;insert-text&quot;</span>,</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#aa1e0d966a2100175a8eab3a1497306c0">remmina_file_editor_int_setting_filter</a>), NULL);</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160;</div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; <span class="keywordflow">return</span> widget;</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160;}</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160;</div><div class="line"><a name="l00876"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a9266544ca3a532b9a02d985c18113e80"> 876</a></span>&#160;<span class="keyword">static</span> GtkWidget *<a class="code" href="remmina__file__editor_8c.html#a9266544ca3a532b9a02d985c18113e80">remmina_file_editor_create_double</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe,</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; GtkWidget *grid, gint row, gint col,</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; <span class="keyword">const</span> gchar *label, gdouble value, gint left,</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; gint right, gchar *setting_name)</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160;{</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160;</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; widget = gtk_label_new(label);</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160;<span class="preprocessor">#if GTK_CHECK_VERSION(3, 12, 0)</span></div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; gtk_widget_set_margin_start(widget, left);</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; gtk_widget_set_margin_end(widget, right);</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; gtk_widget_set_margin_left(widget, left);</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; gtk_widget_set_margin_right(widget, right);</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; gtk_widget_set_valign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, col, row, 1, 1);</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160;</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; widget = gtk_entry_new();</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, col + 1, row, 1, 1);</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; gtk_entry_set_max_length(GTK_ENTRY(widget), 300);</div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; gtk_widget_set_hexpand(widget, TRUE);</div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; <span class="keywordflow">if</span> (setting_name)</div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; gtk_widget_set_name(widget, setting_name);</div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160;</div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; <span class="comment">// Convert double to str.</span></div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; <span class="keywordtype">int</span> length = snprintf(NULL, 0, <span class="stringliteral">&quot;%.8g&quot;</span>, value) + 1; <span class="comment">// +1 &#39;\0&#39; byte</span></div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; <span class="keywordtype">char</span> *str = malloc(length);</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; snprintf(str, length, <span class="stringliteral">&quot;%f&quot;</span>, value);</div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160;</div><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; gtk_entry_set_text(GTK_ENTRY(widget), str);</div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; free(str);</div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160;</div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;insert-text&quot;</span>,</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#aed69ba3823f68580d5acea459c5c890f">remmina_file_editor_double_setting_filter</a>), NULL);</div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160;</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; <span class="keywordflow">return</span> widget;</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160;}</div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160;</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160;gdouble <a class="code" href="remmina__file__editor_8c.html#a471a1f5ab14197b626f84ec3128e87d4">remmina_file_get_double</a>(<a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile, <span class="keyword">const</span> gchar *setting, gfloat default_value);</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160;</div><div class="line"><a name="l00921"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a727f967cf81d4af3f953046b0c4cf08d"> 921</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a727f967cf81d4af3f953046b0c4cf08d">remmina_file_editor_create_settings</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, GtkWidget *grid,</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; <span class="keyword">const</span> <a class="code" href="struct___remmina_protocol_setting.html">RemminaProtocolSetting</a> *settings)</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160;{</div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; gint grid_row = 0;</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; gint grid_column = 0;</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; gchar **strarr;</div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; gchar *setting_name;</div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; <span class="keyword">const</span> gchar *escaped;</div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160;</div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; <span class="keywordflow">while</span> (settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a6274d44b592a54162ff583135e55ffc9">type</a> != <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350ad898beb6ae625dee1ae27de75f1ab4e3">REMMINA_PROTOCOL_SETTING_TYPE_END</a>) {</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; setting_name = (gchar *)(<a class="code" href="remmina__plugin__manager_8c.html#af60b8edfa50563ae4c7593efc3deed55">remmina_plugin_manager_get_canonical_setting_name</a>(settings));</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; <span class="keywordflow">switch</span> (settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a6274d44b592a54162ff583135e55ffc9">type</a>) {</div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350a579ed0f0f6624dd55a25665693c92a92">REMMINA_PROTOCOL_SETTING_TYPE_SERVER</a>:</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; <a class="code" href="remmina__file__editor_8c.html#af7edb004da0ecc48277c1b656f2649ae">remmina_file_editor_create_server</a>(gfe, settings, grid, grid_row);</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160;</div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350ae76d06b6e313971e5f420dd6e7f4c5aa">REMMINA_PROTOCOL_SETTING_TYPE_PASSWORD</a>:</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#a54d3b1890fcf67c2f7615e37f27f7583">remmina_file_editor_create_password</a>(gfe, grid, grid_row, 0,</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; g_dgettext(priv-&gt;plugin-&gt;domain, settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a7a5b063deb126422c461203c074a3dc4">label</a>),</div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, setting_name),</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; setting_name);</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; g_hash_table_insert(priv-&gt;setting_widgets, setting_name, widget);</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; grid_row++;</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160;</div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350aa045109309280606ff11a9de1862e2ba">REMMINA_PROTOCOL_SETTING_TYPE_RESOLUTION</a>:</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; <a class="code" href="remmina__file__editor_8c.html#afad358c6e3a5918416c6eb036157d8e5">remmina_file_editor_create_resolution</a>(gfe, settings, grid, grid_row);</div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; grid_row += 1;</div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160;</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350ad9418344a7f597351e3cc5639be78425">REMMINA_PROTOCOL_SETTING_TYPE_KEYMAP</a>:</div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; strarr = <a class="code" href="remmina__pref_8c.html#a745bbef1d48a7462f8db997821742395">remmina_pref_keymap_groups</a>();</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; priv-&gt;keymap_combo = <a class="code" href="remmina__file__editor_8c.html#ac9b7c0ba5ece064548bcaf72d1b0425a">remmina_file_editor_create_select</a>(gfe, grid,</div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; grid_row + 1, 0,</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; _(<span class="stringliteral">&quot;Keyboard mapping&quot;</span>), (<span class="keyword">const</span> gpointer *)strarr,</div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;keymap&quot;</span>),</div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; setting_name);</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; g_strfreev(strarr);</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; grid_row++;</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160;</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350a8be3f210c609fde31f68e607c41de296">REMMINA_PROTOCOL_SETTING_TYPE_TEXT</a>:</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#a072de27e64368581e8507d3b795bfbf4">remmina_file_editor_create_text</a>(gfe, grid, grid_row, 0,</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; g_dgettext(priv-&gt;plugin-&gt;domain, settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a7a5b063deb126422c461203c074a3dc4">label</a>),</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, setting_name),</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; setting_name);</div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; g_hash_table_insert(priv-&gt;setting_widgets, setting_name, widget);</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; <span class="keywordflow">if</span> (settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>)</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; gtk_widget_set_tooltip_text(widget, _((<span class="keyword">const</span> gchar *)settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>));</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; grid_row++;</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160;</div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350aadb70e5d52a6eccc1aaf6f1428c1fb11">REMMINA_PROTOCOL_SETTING_TYPE_TEXTAREA</a>:</div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; escaped = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, setting_name);</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; escaped = g_uri_unescape_string(escaped, NULL);</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#aef2803d3fc2558c9c3844ffac088e7d7">remmina_file_editor_create_textarea</a>(gfe, grid, grid_row, 0,</div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160; g_dgettext(priv-&gt;plugin-&gt;domain, settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a7a5b063deb126422c461203c074a3dc4">label</a>), escaped,</div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160; setting_name);</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160; g_hash_table_insert(priv-&gt;setting_widgets, setting_name, widget);</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; grid_row++;</div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160;</div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350a04da01eead7904a55d1c813950609b2d">REMMINA_PROTOCOL_SETTING_TYPE_SELECT</a>:</div><div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#ac9b7c0ba5ece064548bcaf72d1b0425a">remmina_file_editor_create_select</a>(gfe, grid, grid_row, 0,</div><div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160; g_dgettext(priv-&gt;plugin-&gt;domain, settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a7a5b063deb126422c461203c074a3dc4">label</a>),</div><div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160; (<span class="keyword">const</span> gpointer *)settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#ae1cc5b9d910f68aa5909e3cf483c1d1d">opt1</a>,</div><div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160; <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, setting_name),</div><div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160; setting_name);</div><div class="line"><a name="l00992"></a><span class="lineno"> 992</span>&#160; g_hash_table_insert(priv-&gt;setting_widgets, setting_name, widget);</div><div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160; <span class="keywordflow">if</span> (settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>)</div><div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160; gtk_widget_set_tooltip_text(widget, _((<span class="keyword">const</span> gchar *)settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>));</div><div class="line"><a name="l00995"></a><span class="lineno"> 995</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160;</div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350ae2237632b23d3c90a842bc5bc8302ec5">REMMINA_PROTOCOL_SETTING_TYPE_COMBO</a>:</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#af253834273229ac38c6fdfe613626965">remmina_file_editor_create_combo</a>(gfe, grid, grid_row, 0,</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160; g_dgettext(priv-&gt;plugin-&gt;domain, settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a7a5b063deb126422c461203c074a3dc4">label</a>),</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160; (<span class="keyword">const</span> gchar *)settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#ae1cc5b9d910f68aa5909e3cf483c1d1d">opt1</a>,</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160; <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, setting_name),</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160; setting_name);</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160; g_hash_table_insert(priv-&gt;setting_widgets, setting_name, widget);</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160; <span class="keywordflow">if</span> (settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>)</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160; gtk_widget_set_tooltip_text(widget, _((<span class="keyword">const</span> gchar *)settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>));</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;</div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350a52a80f3f9b84e9e0d0bf3335cfd7527f">REMMINA_PROTOCOL_SETTING_TYPE_CHECK</a>:</div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#a2a31c93bd54489f8bb3c8fe0dff033d6">remmina_file_editor_create_check</a>(gfe, grid, grid_row, grid_column,</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160; g_dgettext(priv-&gt;plugin-&gt;domain, settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a7a5b063deb126422c461203c074a3dc4">label</a>),</div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160; <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(priv-&gt;remmina_file, setting_name, FALSE),</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160; setting_name);</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160; g_hash_table_insert(priv-&gt;setting_widgets, setting_name, widget);</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160; <span class="keywordflow">if</span> (settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>)</div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160; gtk_widget_set_tooltip_text(widget, _((<span class="keyword">const</span> gchar *)settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>));</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350a31ee66fffaa245ae411aba0c296ad9da">REMMINA_PROTOCOL_SETTING_TYPE_FILE</a>:</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#ab5d28ebef67a21099e99268bd6fa04aa">remmina_file_editor_create_chooser</a>(gfe, grid, grid_row, 0,</div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160; g_dgettext(priv-&gt;plugin-&gt;domain, settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a7a5b063deb126422c461203c074a3dc4">label</a>),</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160; <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, setting_name),</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160; GTK_FILE_CHOOSER_ACTION_OPEN, setting_name);</div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160; g_hash_table_insert(priv-&gt;setting_widgets, setting_name, widget);</div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160; <span class="keywordflow">if</span> (settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>)</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160; gtk_widget_set_tooltip_text(widget, _((<span class="keyword">const</span> gchar *)settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>));</div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350a68b440d346168aadb6fd728ea394607f">REMMINA_PROTOCOL_SETTING_TYPE_FOLDER</a>:</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#ab5d28ebef67a21099e99268bd6fa04aa">remmina_file_editor_create_chooser</a>(gfe, grid, grid_row, 0,</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160; g_dgettext(priv-&gt;plugin-&gt;domain, settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a7a5b063deb126422c461203c074a3dc4">label</a>),</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160; <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, setting_name),</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160; GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160; setting_name);</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160; g_hash_table_insert(priv-&gt;setting_widgets, setting_name, widget);</div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160; <span class="keywordflow">if</span> (settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>)</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160; gtk_widget_set_tooltip_text(widget, _((<span class="keyword">const</span> gchar *)settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>));</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350ab4c68b7df42ebd08e953cc72c5b97583">REMMINA_PROTOCOL_SETTING_TYPE_INT</a>:</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#ac47032c150cbdb7bf691059b4e3eb9d0">remmina_file_editor_create_int</a>(gfe, grid, grid_row, 0,</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160; g_dgettext(priv-&gt;plugin-&gt;domain, settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a7a5b063deb126422c461203c074a3dc4">label</a>),</div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160; <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(priv-&gt;remmina_file, setting_name, 0),</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160; 0, 40, setting_name);</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160; g_hash_table_insert(priv-&gt;setting_widgets, setting_name, widget);</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160; <span class="keywordflow">if</span> (settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>)</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160; gtk_widget_set_tooltip_text(widget, _((<span class="keyword">const</span> gchar *)settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>));</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160; grid_row++;</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350a25c4af05ecfc7053db40ed0997389b91">REMMINA_PROTOCOL_SETTING_TYPE_DOUBLE</a>:</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#a9266544ca3a532b9a02d985c18113e80">remmina_file_editor_create_double</a>(gfe, grid, grid_row, 0,</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160; g_dgettext(priv-&gt;plugin-&gt;domain, settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a7a5b063deb126422c461203c074a3dc4">label</a>),</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a471a1f5ab14197b626f84ec3128e87d4">remmina_file_get_double</a>(priv-&gt;remmina_file, setting_name, 0.0f),</div><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160; 0, 40, setting_name);</div><div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160; g_hash_table_insert(priv-&gt;setting_widgets, setting_name, widget);</div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160; <span class="keywordflow">if</span> (settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>)</div><div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160; gtk_widget_set_tooltip_text(widget, _((<span class="keyword">const</span> gchar *)settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a55a12c6ed9ab21954208e0e83165f770">opt2</a>));</div><div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160; grid_row++;</div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160;</div><div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160; }</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160; <span class="comment">/* If the setting wants compactness, move to the next column */</span></div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160; <span class="keywordflow">if</span> (settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#ab434990a6fe70b7e8a4a8b11129527a6">compact</a>)</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160; grid_column++;</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160; <span class="comment">/* Add a new settings row and move to the first column</span></div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;<span class="comment"> * if the setting doesn’t want the compactness</span></div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;<span class="comment"> * or we already have two columns */</span></div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160; <span class="keywordflow">if</span> (!settings-&gt;<a class="code" href="struct___remmina_protocol_setting.html#ab434990a6fe70b7e8a4a8b11129527a6">compact</a> || grid_column &gt; 1) {</div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160; grid_row++;</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160; grid_column = 0;</div><div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160; }</div><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160; settings++;</div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160; }</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;}</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;</div><div class="line"><a name="l01076"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a9bcaeec3ba26d31c6333f35fe1381a8c"> 1076</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a9bcaeec3ba26d31c6333f35fe1381a8c">remmina_file_editor_create_behavior_tab</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;{</div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160; GtkWidget *grid;</div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160; <span class="keyword">const</span> gchar *cs;</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160;</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160; <span class="comment">/* The Behavior tab (implementation) */</span></div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160; grid = <a class="code" href="remmina__file__editor_8c.html#aecbc005c39cdf4fab4779090f11a3556">remmina_file_editor_create_notebook_tab</a>(gfe, NULL, _(<span class="stringliteral">&quot;Behavior&quot;</span>), 20, 2);</div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160; <span class="comment">/* Execute Command frame */</span></div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160; <a class="code" href="remmina__public_8c.html#af9c70a727bfeb32730b98ce5cf7a3739">remmina_public_create_group</a>(GTK_GRID(grid), _(<span class="stringliteral">&quot;Execute a Command&quot;</span>), 0, 1, 2);</div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160;</div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160; <span class="comment">/* PRE connection command */</span></div><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160; cs = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;precommand&quot;</span>);</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#a8cec1e80676c945f10bf39aca671d0a0">remmina_file_editor_create_text2</a>(gfe, grid, 2, 0, _(<span class="stringliteral">&quot;Before connecting&quot;</span>), cs, 24, 26, <span class="stringliteral">&quot;precommand&quot;</span>);</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160; priv-&gt;behavior_precommand_entry = widget;</div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160; gtk_entry_set_placeholder_text(GTK_ENTRY(widget), _(<span class="stringliteral">&quot;command %h %u %t %U %p %g --option&quot;</span>));</div><div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160; gtk_widget_set_tooltip_markup(widget, _(cmd_tips));</div><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160;</div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160; <span class="comment">/* POST connection command */</span></div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160; cs = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;postcommand&quot;</span>);</div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#a8cec1e80676c945f10bf39aca671d0a0">remmina_file_editor_create_text2</a>(gfe, grid, 3, 0, _(<span class="stringliteral">&quot;After connecting&quot;</span>), cs, 24, 16, <span class="stringliteral">&quot;postcommand&quot;</span>);</div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160; priv-&gt;behavior_postcommand_entry = widget;</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160; gtk_entry_set_placeholder_text(GTK_ENTRY(widget), _(<span class="stringliteral">&quot;/path/to/command -opt1 arg %h %u %t -opt2 %U %p %g&quot;</span>));</div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160; gtk_widget_set_tooltip_markup(widget, _(cmd_tips));</div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;</div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160; <span class="comment">/* Startup frame */</span></div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160; <a class="code" href="remmina__public_8c.html#af9c70a727bfeb32730b98ce5cf7a3739">remmina_public_create_group</a>(GTK_GRID(grid), _(<span class="stringliteral">&quot;Start-up&quot;</span>), 4, 1, 2);</div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160;</div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160; <span class="comment">/* Autostart profile option */</span></div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160; priv-&gt;behavior_autostart_check = <a class="code" href="remmina__file__editor_8c.html#a2a31c93bd54489f8bb3c8fe0dff033d6">remmina_file_editor_create_check</a>(gfe, grid, 6, 1, _(<span class="stringliteral">&quot;Auto-start this profile&quot;</span>),</div><div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160; <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;enable-autostart&quot;</span>, FALSE), <span class="stringliteral">&quot;enable-autostart&quot;</span>);</div><div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160;</div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160; <span class="comment">/* Startup frame */</span></div><div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160; <a class="code" href="remmina__public_8c.html#af9c70a727bfeb32730b98ce5cf7a3739">remmina_public_create_group</a>(GTK_GRID(grid), _(<span class="stringliteral">&quot;Connection profile security&quot;</span>), 8, 1, 2);</div><div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160;</div><div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160; <span class="comment">/* Autostart profile option */</span></div><div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160; priv-&gt;behavior_lock_check = <a class="code" href="remmina__file__editor_8c.html#a2a31c93bd54489f8bb3c8fe0dff033d6">remmina_file_editor_create_check</a>(gfe, grid, 10, 1, _(<span class="stringliteral">&quot;Require password to connect or edit the profile&quot;</span>),</div><div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160; <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;profile-lock&quot;</span>, FALSE), <span class="stringliteral">&quot;profile-lock&quot;</span>);</div><div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160;}</div><div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160;</div><div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBSSH</span></div><div class="line"><a name="l01120"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#aadf4d0ab51fe09231b48d4a2939564f7"> 1120</a></span>&#160;<span class="keyword">static</span> gpointer <a class="code" href="remmina__file__editor_8c.html#aadf4d0ab51fe09231b48d4a2939564f7">ssh_tunnel_auth_list</a>[] =</div><div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160;{</div><div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160; <span class="stringliteral">&quot;0&quot;</span>, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Password&quot;</span>),</div><div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160; <span class="stringliteral">&quot;1&quot;</span>, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;SSH identity file&quot;</span>),</div><div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160; <span class="stringliteral">&quot;2&quot;</span>, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;SSH agent&quot;</span>),</div><div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160; <span class="stringliteral">&quot;3&quot;</span>, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Public key (automatic)&quot;</span>),</div><div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160; <span class="stringliteral">&quot;4&quot;</span>, <a class="code" href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a>(<span class="stringliteral">&quot;Kerberos (GSSAPI)&quot;</span>),</div><div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160; NULL</div><div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160;};</div><div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;</div><div class="line"><a name="l01131"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#ab6e562792eb63ec43ed7f9a4b6687c23"> 1131</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#ab6e562792eb63ec43ed7f9a4b6687c23">remmina_file_editor_create_ssh_tunnel_tab</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe, <a class="code" href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7">RemminaProtocolSSHSetting</a> ssh_setting)</div><div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160;{</div><div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160;<span class="preprocessor">#ifdef HAVE_LIBSSH</span></div><div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160; GtkWidget *grid;</div><div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160; <span class="keyword">const</span> gchar *cs;</div><div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160; gchar *s;</div><div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160; gchar *p;</div><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160; gint row = 0;</div><div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160;</div><div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160; <span class="keywordflow">if</span> (ssh_setting == <a class="code" href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7a8f910597287a73453a5f09ca0037d093">REMMINA_PROTOCOL_SSH_SETTING_NONE</a>)</div><div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160;</div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160; <span class="comment">/* The SSH tab (implementation) */</span></div><div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160; grid = <a class="code" href="remmina__file__editor_8c.html#aecbc005c39cdf4fab4779090f11a3556">remmina_file_editor_create_notebook_tab</a>(gfe, NULL,</div><div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160; _(<span class="stringliteral">&quot;SSH Tunnel&quot;</span>), 9, 3);</div><div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160; widget = gtk_toggle_button_new_with_label(_(<span class="stringliteral">&quot;Enable SSH tunnel&quot;</span>));</div><div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, row, 1, 1);</div><div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;toggled&quot;</span>,</div><div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160; G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#a8a7f3ce69255bf413ef8fa841af3d019">remmina_file_editor_ssh_tunnel_enabled_check_on_toggled</a>), gfe);</div><div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160; priv-&gt;ssh_tunnel_enabled_check = widget;</div><div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160;</div><div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>&#160; widget = gtk_check_button_new_with_label(_(<span class="stringliteral">&quot;Tunnel via loopback address&quot;</span>));</div><div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 1, row, 2, 1);</div><div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160; priv-&gt;ssh_tunnel_loopback_check = widget;</div><div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160;</div><div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>&#160; <span class="comment">// 1</span></div><div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>&#160; row++;</div><div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160; <span class="comment">/* SSH Server group */</span></div><div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160;</div><div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160; <span class="keywordflow">switch</span> (ssh_setting) {</div><div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7ab0449f571d03e46b99b301792a5d8e1a">REMMINA_PROTOCOL_SSH_SETTING_TUNNEL</a>:</div><div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160; s = g_strdup_printf(_(<span class="stringliteral">&quot;Same server at port %i&quot;</span>), DEFAULT_SSH_PORT);</div><div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160; widget = gtk_radio_button_new_with_label(NULL, s);</div><div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160; g_free(s);</div><div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, row, 3, 1);</div><div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160; priv-&gt;ssh_tunnel_server_default_radio = widget;</div><div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160; <span class="comment">// 2</span></div><div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160; row++;</div><div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160;</div><div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160; widget = gtk_radio_button_new_with_label_from_widget(</div><div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160; GTK_RADIO_BUTTON(priv-&gt;ssh_tunnel_server_default_radio), _(<span class="stringliteral">&quot;Custom&quot;</span>));</div><div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, row, 1, 1);</div><div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;toggled&quot;</span>,</div><div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160; G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#a5ea3f796c3a46aeb01b2f13f4a3d40a9">remmina_file_editor_ssh_tunnel_server_custom_radio_on_toggled</a>), gfe);</div><div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160; priv-&gt;ssh_tunnel_server_custom_radio = widget;</div><div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160;</div><div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160; widget = gtk_entry_new();</div><div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160; gtk_entry_set_max_length(GTK_ENTRY(widget), 100);</div><div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160; gtk_widget_set_tooltip_markup(widget, _(server_tips2));</div><div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 1, row, 2, 1);</div><div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160; priv-&gt;ssh_tunnel_server_entry = widget;</div><div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160; <span class="comment">// 3</span></div><div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160; row++;</div><div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160;</div><div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7a2f71ac2987eeec94430308f6f36840cd">REMMINA_PROTOCOL_SSH_SETTING_REVERSE_TUNNEL</a>:</div><div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>&#160; priv-&gt;ssh_tunnel_server_default_radio = NULL;</div><div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160; priv-&gt;ssh_tunnel_server_custom_radio = NULL;</div><div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>&#160;</div><div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160; priv-&gt;ssh_tunnel_server_entry = <a class="code" href="remmina__file__editor_8c.html#a072de27e64368581e8507d3b795bfbf4">remmina_file_editor_create_text</a>(gfe, grid, 1, 0,</div><div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160; _(<span class="stringliteral">&quot;Server&quot;</span>), NULL, <span class="stringliteral">&quot;ssh_reverse_tunnel_server&quot;</span>);</div><div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160; gtk_widget_set_tooltip_markup(priv-&gt;ssh_tunnel_server_entry, _(server_tips));</div><div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160; <span class="comment">// 2</span></div><div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160; row++;</div><div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7a113aff9a0339ebe347ddf738d8c1f371">REMMINA_PROTOCOL_SSH_SETTING_SSH</a>:</div><div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160; <span class="keywordflow">case</span> <a class="code" href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7aef0536e2d0186b8cb8d8ba7a4a1a51c3">REMMINA_PROTOCOL_SSH_SETTING_SFTP</a>:</div><div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160; priv-&gt;ssh_tunnel_server_default_radio = NULL;</div><div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160; priv-&gt;ssh_tunnel_server_custom_radio = NULL;</div><div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160; priv-&gt;ssh_tunnel_server_entry = NULL;</div><div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160;</div><div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>&#160;</div><div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>&#160; }</div><div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>&#160;</div><div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>&#160; <span class="comment">/* This is not used? */</span></div><div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>&#160; p = <a class="code" href="remmina__public_8c.html#af1679d83834c8409f23e00c555d677fb">remmina_public_combo_get_active_text</a>(GTK_COMBO_BOX(priv-&gt;protocol_combo));</div><div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>&#160; <span class="keywordflow">if</span> (ssh_setting == <a class="code" href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7aef0536e2d0186b8cb8d8ba7a4a1a51c3">REMMINA_PROTOCOL_SSH_SETTING_SFTP</a>) {</div><div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#a072de27e64368581e8507d3b795bfbf4">remmina_file_editor_create_text</a>(gfe, grid, row, 1,</div><div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>&#160; _(<span class="stringliteral">&quot;Start-up path&quot;</span>), NULL, <span class="stringliteral">&quot;start-up-path&quot;</span>);</div><div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160; cs = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;execpath&quot;</span>);</div><div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160; gtk_entry_set_text(GTK_ENTRY(widget), cs ? cs : <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160; g_hash_table_insert(priv-&gt;setting_widgets, <span class="stringliteral">&quot;execpath&quot;</span>, widget);</div><div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160; <span class="comment">// 2</span></div><div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160; row++;</div><div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160; }</div><div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160;</div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160; <span class="comment">/* SSH Authentication frame */</span></div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160; <a class="code" href="remmina__public_8c.html#af9c70a727bfeb32730b98ce5cf7a3739">remmina_public_create_group</a>(GTK_GRID(grid), _(<span class="stringliteral">&quot;SSH Authentication&quot;</span>), row, 6, 1);</div><div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160; <span class="comment">// 5</span></div><div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160; row += 2;</div><div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160;</div><div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160; priv-&gt;ssh_tunnel_auth_combo = <a class="code" href="remmina__file__editor_8c.html#ac9b7c0ba5ece064548bcaf72d1b0425a">remmina_file_editor_create_select</a>(gfe, grid, row, 0,</div><div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160; _(<span class="stringliteral">&quot;Authentication type&quot;</span>),</div><div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160; (<span class="keyword">const</span> gpointer *)<a class="code" href="remmina__file__editor_8c.html#aadf4d0ab51fe09231b48d4a2939564f7">ssh_tunnel_auth_list</a>,</div><div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160; <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_auth&quot;</span>), <span class="stringliteral">&quot;ssh_tunnel_auth&quot;</span>);</div><div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160; row++;</div><div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>&#160;</div><div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160; <span class="keywordflow">if</span> (ssh_setting == <a class="code" href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7ab0449f571d03e46b99b301792a5d8e1a">REMMINA_PROTOCOL_SSH_SETTING_TUNNEL</a> ||</div><div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160; ssh_setting == <a class="code" href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7a2f71ac2987eeec94430308f6f36840cd">REMMINA_PROTOCOL_SSH_SETTING_REVERSE_TUNNEL</a>) {</div><div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160; priv-&gt;ssh_tunnel_username_entry =</div><div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a072de27e64368581e8507d3b795bfbf4">remmina_file_editor_create_text</a>(gfe, grid, row, 0,</div><div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160; _(<span class="stringliteral">&quot;Username&quot;</span>), NULL, <span class="stringliteral">&quot;ssh_tunnel_username&quot;</span>);</div><div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>&#160; <span class="comment">// 5</span></div><div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160; row++;</div><div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160; }</div><div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160;</div><div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#a54d3b1890fcf67c2f7615e37f27f7583">remmina_file_editor_create_password</a>(gfe, grid, row, 0,</div><div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160; _(<span class="stringliteral">&quot;Password&quot;</span>),</div><div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160; <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_password&quot;</span>),</div><div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160; <span class="stringliteral">&quot;ssh_tunnel_password&quot;</span>);</div><div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160; priv-&gt;ssh_tunnel_auth_password = widget;</div><div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160; row++;</div><div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>&#160;</div><div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160; priv-&gt;ssh_tunnel_privatekey_chooser = <a class="code" href="remmina__file__editor_8c.html#ab5d28ebef67a21099e99268bd6fa04aa">remmina_file_editor_create_chooser</a>(gfe, grid, row, 0,</div><div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>&#160; _(<span class="stringliteral">&quot;SSH private key file&quot;</span>),</div><div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>&#160; <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_privatekey&quot;</span>),</div><div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>&#160; GTK_FILE_CHOOSER_ACTION_OPEN, <span class="stringliteral">&quot;ssh_tunnel_privatekey&quot;</span>);</div><div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>&#160; row++;</div><div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160;</div><div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160; priv-&gt;ssh_tunnel_certfile_chooser = <a class="code" href="remmina__file__editor_8c.html#ab5d28ebef67a21099e99268bd6fa04aa">remmina_file_editor_create_chooser</a>(gfe, grid, row, 0,</div><div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160; _(<span class="stringliteral">&quot;SSH certificate file&quot;</span>),</div><div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160; <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_certfile&quot;</span>),</div><div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160; GTK_FILE_CHOOSER_ACTION_OPEN, <span class="stringliteral">&quot;ssh_tunnel_certfile&quot;</span>);</div><div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160; row++;</div><div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160;</div><div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160; widget = gtk_label_new(_(<span class="stringliteral">&quot;Password to unlock private key&quot;</span>));</div><div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, row, 1, 1);</div><div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160; widget = gtk_entry_new();</div><div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 1, row, 2, 1);</div><div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160; gtk_entry_set_max_length(GTK_ENTRY(widget), 300);</div><div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>&#160; gtk_entry_set_visibility(GTK_ENTRY(widget), FALSE);</div><div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160; gtk_widget_set_hexpand(widget, TRUE);</div><div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160; priv-&gt;ssh_tunnel_passphrase = widget;</div><div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160; row++;</div><div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160;</div><div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160; <span class="comment">/* Set the values */</span></div><div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160; cs = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_server&quot;</span>);</div><div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160; <span class="keywordflow">if</span> (ssh_setting == <a class="code" href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7ab0449f571d03e46b99b301792a5d8e1a">REMMINA_PROTOCOL_SSH_SETTING_TUNNEL</a>) {</div><div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(priv-&gt;ssh_tunnel_enabled_check),</div><div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160; <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_enabled&quot;</span>, FALSE));</div><div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(priv-&gt;ssh_tunnel_loopback_check),</div><div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>&#160; <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_loopback&quot;</span>, FALSE));</div><div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160;</div><div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cs ? priv-&gt;ssh_tunnel_server_custom_radio : priv-&gt;ssh_tunnel_server_default_radio), TRUE);</div><div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160; gtk_entry_set_text(GTK_ENTRY(priv-&gt;ssh_tunnel_server_entry),</div><div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160; cs ? cs : <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ssh_setting == <a class="code" href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7a2f71ac2987eeec94430308f6f36840cd">REMMINA_PROTOCOL_SSH_SETTING_REVERSE_TUNNEL</a>) {</div><div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(priv-&gt;ssh_tunnel_enabled_check),</div><div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160; <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_enabled&quot;</span>, FALSE));</div><div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(priv-&gt;ssh_tunnel_loopback_check),</div><div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160; <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_loopback&quot;</span>, FALSE));</div><div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160; gtk_entry_set_text(GTK_ENTRY(priv-&gt;ssh_tunnel_server_entry),</div><div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160; cs ? cs : <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>&#160; }</div><div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160;</div><div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a8a7f3ce69255bf413ef8fa841af3d019">remmina_file_editor_ssh_tunnel_enabled_check_on_toggled</a>(NULL, gfe, ssh_setting);</div><div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160; gtk_widget_show_all(grid);</div><div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160; g_free(p);</div><div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>&#160;}</div><div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>&#160;</div><div class="line"><a name="l01299"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a6415f73260076747c4f933af7f9f4b38"> 1299</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a6415f73260076747c4f933af7f9f4b38">remmina_file_editor_create_all_settings</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160;{</div><div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160; GtkWidget *grid;</div><div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160;</div><div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="struct___remmina_protocol_setting.html">RemminaProtocolSetting</a> notes_settings[] =</div><div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160; {</div><div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160; { <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350aadb70e5d52a6eccc1aaf6f1428c1fb11">REMMINA_PROTOCOL_SETTING_TYPE_TEXTAREA</a>, <span class="stringliteral">&quot;notes_text&quot;</span>, NULL, FALSE, NULL, NULL },</div><div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160; { <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350ad898beb6ae625dee1ae27de75f1ab4e3">REMMINA_PROTOCOL_SETTING_TYPE_END</a>, NULL, NULL, FALSE, NULL, NULL }</div><div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160; };</div><div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160;</div><div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a3df3718727200d865f9f977435db30ea">remmina_file_editor_create_notebook_container</a>(gfe);</div><div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160;</div><div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160; <span class="comment">/* The Basic tab */</span></div><div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>&#160; <span class="keywordflow">if</span> (priv-&gt;plugin-&gt;basic_settings) {</div><div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160; grid = <a class="code" href="remmina__file__editor_8c.html#aecbc005c39cdf4fab4779090f11a3556">remmina_file_editor_create_notebook_tab</a>(gfe, NULL, _(<span class="stringliteral">&quot;Basic&quot;</span>), 20, 2);</div><div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a727f967cf81d4af3f953046b0c4cf08d">remmina_file_editor_create_settings</a>(gfe, grid, priv-&gt;plugin-&gt;basic_settings);</div><div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160; }</div><div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160;</div><div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>&#160; <span class="comment">/* The Advanced tab */</span></div><div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160; <span class="keywordflow">if</span> (priv-&gt;plugin-&gt;advanced_settings) {</div><div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160; grid = <a class="code" href="remmina__file__editor_8c.html#aecbc005c39cdf4fab4779090f11a3556">remmina_file_editor_create_notebook_tab</a>(gfe, NULL, _(<span class="stringliteral">&quot;Advanced&quot;</span>), 20, 2);</div><div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a727f967cf81d4af3f953046b0c4cf08d">remmina_file_editor_create_settings</a>(gfe, grid, priv-&gt;plugin-&gt;advanced_settings);</div><div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160; }</div><div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160;</div><div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160; <span class="comment">/* The Behavior tab */</span></div><div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a9bcaeec3ba26d31c6333f35fe1381a8c">remmina_file_editor_create_behavior_tab</a>(gfe);</div><div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160;</div><div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160; <span class="comment">/* The SSH tab */</span></div><div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160; <a class="code" href="remmina__file__editor_8c.html#ab6e562792eb63ec43ed7f9a4b6687c23">remmina_file_editor_create_ssh_tunnel_tab</a>(gfe, priv-&gt;plugin-&gt;ssh_setting);</div><div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160;</div><div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160; <span class="comment">/* Notes tab */</span></div><div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160; grid = <a class="code" href="remmina__file__editor_8c.html#aecbc005c39cdf4fab4779090f11a3556">remmina_file_editor_create_notebook_tab</a>(gfe, NULL, _(<span class="stringliteral">&quot;Notes&quot;</span>), 1, 1);</div><div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a727f967cf81d4af3f953046b0c4cf08d">remmina_file_editor_create_settings</a>(gfe, grid, notes_settings);</div><div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160;}</div><div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160;</div><div class="line"><a name="l01336"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a333de350f1b07add2d0fd06320c80d16"> 1336</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a333de350f1b07add2d0fd06320c80d16">remmina_file_editor_protocol_combo_on_changed</a>(GtkComboBox *combo, <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160;{</div><div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160; gchar *protocol;</div><div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160;</div><div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160; <span class="keywordflow">if</span> (priv-&gt;config_container) {</div><div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160; gtk_widget_destroy(priv-&gt;config_container);</div><div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160; priv-&gt;config_container = NULL;</div><div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>&#160; gtk_widget_destroy(priv-&gt;config_viewport);</div><div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>&#160; priv-&gt;config_viewport = NULL;</div><div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>&#160; gtk_widget_destroy(priv-&gt;config_scrollable);</div><div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>&#160; priv-&gt;config_scrollable = NULL;</div><div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>&#160; }</div><div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>&#160;</div><div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>&#160; priv-&gt;server_combo = NULL;</div><div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160; priv-&gt;resolution_iws_radio = NULL;</div><div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>&#160; priv-&gt;resolution_auto_radio = NULL;</div><div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>&#160; priv-&gt;resolution_custom_radio = NULL;</div><div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160; priv-&gt;resolution_custom_combo = NULL;</div><div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160; priv-&gt;keymap_combo = NULL;</div><div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160;</div><div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160; priv-&gt;ssh_tunnel_enabled_check = NULL;</div><div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>&#160; priv-&gt;ssh_tunnel_loopback_check = NULL;</div><div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>&#160; priv-&gt;ssh_tunnel_server_default_radio = NULL;</div><div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160; priv-&gt;ssh_tunnel_server_custom_radio = NULL;</div><div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160; priv-&gt;ssh_tunnel_server_entry = NULL;</div><div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160; priv-&gt;ssh_tunnel_username_entry = NULL;</div><div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160; priv-&gt;ssh_tunnel_auth_combo = NULL;</div><div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160; priv-&gt;ssh_tunnel_auth_password = NULL;</div><div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160; priv-&gt;ssh_tunnel_privatekey_chooser = NULL;</div><div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160; priv-&gt;ssh_tunnel_certfile_chooser = NULL;</div><div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160;</div><div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160; g_hash_table_remove_all(priv-&gt;setting_widgets);</div><div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>&#160;</div><div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>&#160; protocol = <a class="code" href="remmina__public_8c.html#af1679d83834c8409f23e00c555d677fb">remmina_public_combo_get_active_text</a>(combo);</div><div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>&#160; <span class="keywordflow">if</span> (protocol) {</div><div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>&#160; priv-&gt;plugin = (<a class="code" href="struct___remmina_protocol_plugin.html">RemminaProtocolPlugin</a> *)<a class="code" href="remmina__plugin__manager_8c.html#a3872c8656a8a3d5147bcc603471c1932">remmina_plugin_manager_get_plugin</a>(<a class="code" href="plugin_8h.html#aaf53c620d115a4642130227cff4a624aa45e094c248384c12cdafd9d088e4aa24">REMMINA_PLUGIN_TYPE_PROTOCOL</a>,</div><div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>&#160; protocol);</div><div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>&#160; g_free(protocol);</div><div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a6415f73260076747c4f933af7f9f4b38">remmina_file_editor_create_all_settings</a>(gfe);</div><div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>&#160; }</div><div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>&#160;}</div><div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>&#160;</div><div class="line"><a name="l01380"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a4c16a6793828893598bc0a158bb13cbb"> 1380</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a4c16a6793828893598bc0a158bb13cbb">remmina_file_editor_save_behavior_tab</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>&#160;{</div><div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>&#160;</div><div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;precommand&quot;</span>, gtk_entry_get_text(GTK_ENTRY(priv-&gt;behavior_precommand_entry)));</div><div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;postcommand&quot;</span>, gtk_entry_get_text(GTK_ENTRY(priv-&gt;behavior_postcommand_entry)));</div><div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160;</div><div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160; gboolean autostart_enabled = (priv-&gt;behavior_autostart_check ? gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(priv-&gt;behavior_autostart_check)) : FALSE);</div><div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160; <a class="code" href="remmina__file_8c.html#af153b0d289ac93f6ecdaa15d5f3b9b8c">remmina_file_set_int</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;enable-autostart&quot;</span>, autostart_enabled);</div><div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160; gboolean lock_enabled = (priv-&gt;behavior_lock_check ? gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(priv-&gt;behavior_lock_check)) : FALSE);</div><div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160; <a class="code" href="remmina__file_8c.html#af153b0d289ac93f6ecdaa15d5f3b9b8c">remmina_file_set_int</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;profile-lock&quot;</span>, lock_enabled);</div><div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160;}</div><div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>&#160;</div><div class="line"><a name="l01394"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a99984deb4b5a3b873b26c0c9cf8268b7"> 1394</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a99984deb4b5a3b873b26c0c9cf8268b7">remmina_file_editor_save_ssh_tunnel_tab</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>&#160;{</div><div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160; gboolean ssh_tunnel_enabled;</div><div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>&#160; <span class="keywordtype">int</span> ssh_tunnel_auth;</div><div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>&#160;</div><div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160; ssh_tunnel_enabled = (priv-&gt;ssh_tunnel_enabled_check ? gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(priv-&gt;ssh_tunnel_enabled_check)) : FALSE);</div><div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>&#160; <a class="code" href="remmina__file_8c.html#af153b0d289ac93f6ecdaa15d5f3b9b8c">remmina_file_set_int</a>(priv-&gt;remmina_file,</div><div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160; <span class="stringliteral">&quot;ssh_tunnel_loopback&quot;</span>,</div><div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160; (priv-&gt;ssh_tunnel_loopback_check ? gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(priv-&gt;ssh_tunnel_loopback_check)) : FALSE));</div><div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>&#160; <a class="code" href="remmina__file_8c.html#af153b0d289ac93f6ecdaa15d5f3b9b8c">remmina_file_set_int</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_enabled&quot;</span>, ssh_tunnel_enabled);</div><div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_auth&quot;</span>,</div><div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160; <a class="code" href="remmina__public_8c.html#af1679d83834c8409f23e00c555d677fb">remmina_public_combo_get_active_text</a>(GTK_COMBO_BOX(priv-&gt;ssh_tunnel_auth_combo)));</div><div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;ssh_tunnel_username&quot;</span>,</div><div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>&#160; (ssh_tunnel_enabled ? gtk_entry_get_text(GTK_ENTRY(priv-&gt;ssh_tunnel_username_entry)) : NULL));</div><div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(</div><div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>&#160; priv-&gt;remmina_file,</div><div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160; <span class="stringliteral">&quot;ssh_tunnel_server&quot;</span>,</div><div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160; (ssh_tunnel_enabled &amp;&amp; priv-&gt;ssh_tunnel_server_entry &amp;&amp; (priv-&gt;ssh_tunnel_server_custom_radio == NULL || gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(priv-&gt;ssh_tunnel_server_custom_radio))) ? gtk_entry_get_text(GTK_ENTRY(priv-&gt;ssh_tunnel_server_entry)) : NULL));</div><div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160;</div><div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160; ssh_tunnel_auth = gtk_combo_box_get_active(GTK_COMBO_BOX(priv-&gt;ssh_tunnel_auth_combo));</div><div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160;</div><div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160; <a class="code" href="remmina__file_8c.html#af153b0d289ac93f6ecdaa15d5f3b9b8c">remmina_file_set_int</a>(</div><div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160; priv-&gt;remmina_file,</div><div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160; <span class="stringliteral">&quot;ssh_tunnel_auth&quot;</span>,</div><div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>&#160; ssh_tunnel_auth);</div><div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(</div><div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160; priv-&gt;remmina_file,</div><div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160; <span class="stringliteral">&quot;ssh_tunnel_privatekey&quot;</span>,</div><div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160; (priv-&gt;ssh_tunnel_privatekey_chooser ? gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(priv-&gt;ssh_tunnel_privatekey_chooser)) : NULL));</div><div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>&#160;</div><div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(</div><div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160; priv-&gt;remmina_file,</div><div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160; <span class="stringliteral">&quot;ssh_tunnel_certfile&quot;</span>,</div><div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>&#160; (priv-&gt;ssh_tunnel_certfile_chooser ? gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(priv-&gt;ssh_tunnel_certfile_chooser)) : NULL));</div><div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>&#160;</div><div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(</div><div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>&#160; priv-&gt;remmina_file,</div><div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160; <span class="stringliteral">&quot;ssh_tunnel_password&quot;</span>,</div><div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160; (ssh_tunnel_enabled &amp;&amp; (ssh_tunnel_auth == <a class="code" href="remmina__file_8h.html#abc6126af1d45847bc59afa0aa3216b04a7d995a7868d2d2f81e9dd2f898b206fe">SSH_AUTH_PASSWORD</a>)) ? gtk_entry_get_text(GTK_ENTRY(priv-&gt;ssh_tunnel_auth_password)) : NULL);</div><div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160;</div><div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(</div><div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160; priv-&gt;remmina_file,</div><div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160; <span class="stringliteral">&quot;ssh_tunnel_passphrase&quot;</span>,</div><div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160; (ssh_tunnel_enabled &amp;&amp; (ssh_tunnel_auth == <a class="code" href="remmina__file_8h.html#abc6126af1d45847bc59afa0aa3216b04aeba5f4ff7657d7b15519556793ee8930">SSH_AUTH_PUBLICKEY</a> || ssh_tunnel_auth == <a class="code" href="remmina__file_8h.html#abc6126af1d45847bc59afa0aa3216b04a9f6024449a620d679eab2c09ea77877e">SSH_AUTH_AUTO_PUBLICKEY</a>)) ? gtk_entry_get_text(GTK_ENTRY(priv-&gt;ssh_tunnel_passphrase)) : NULL);</div><div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>&#160;}</div><div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160;</div><div class="line"><a name="l01442"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a8c1924fd32be943136d147e8dedb3eca"> 1442</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__file__editor_8c.html#a8c1924fd32be943136d147e8dedb3eca">remmina_file_editor_validate_settings</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> * gfe,</div><div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160; gchar * setting_name_to_validate,</div><div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>&#160; gconstpointer value,</div><div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>&#160; GError ** err)</div><div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>&#160;{</div><div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>&#160; <span class="keywordflow">if</span> (!setting_name_to_validate || !value || !gfe) {</div><div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>&#160; <span class="keywordflow">if</span> (!setting_name_to_validate) {</div><div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>&#160; g_critical(_(<span class="stringliteral">&quot;(%s: %i): Can&#39;t validate setting &#39;%s&#39; since &#39;value&#39; or &#39;gfe&#39; &quot;</span></div><div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>&#160; <span class="stringliteral">&quot;are NULL!&quot;</span>),</div><div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>&#160; __func__, __LINE__, setting_name_to_validate);</div><div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>&#160; g_critical(_(<span class="stringliteral">&quot;(%s: %i): Can&#39;t validate user input since &quot;</span></div><div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160; <span class="stringliteral">&quot;&#39;setting_name_to_validate&#39;, &#39;value&#39; or &#39;gfe&#39; are NULL!&quot;</span>),</div><div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>&#160; __func__, __LINE__);</div><div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>&#160; }</div><div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>&#160; g_set_error(err, 1, 1, _(<span class="stringliteral">&quot;Internal error.&quot;</span>));</div><div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160; }</div><div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>&#160;</div><div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>&#160; <span class="keywordflow">if</span> (strcmp(setting_name_to_validate, <span class="stringliteral">&quot;notes_text&quot;</span>) == 0) {</div><div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>&#160; <span class="comment">// Not a plugin setting. Bail out early.</span></div><div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>&#160; }</div><div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>&#160;</div><div class="line"><a name="l01466"></a><span class="lineno"> 1466</span>&#160; <span class="keyword">const</span> <a class="code" href="struct___remmina_protocol_setting.html">RemminaProtocolSetting</a> *setting_iter;</div><div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>&#160; <a class="code" href="struct___remmina_protocol_plugin.html">RemminaProtocolPlugin</a> *protocol_plugin;</div><div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>&#160; protocol_plugin = priv-&gt;plugin;</div><div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>&#160;</div><div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>&#160; setting_iter = protocol_plugin-&gt;<a class="code" href="struct___remmina_protocol_plugin.html#aae09a7e2c978cc36e85d0f295518978d">basic_settings</a>;</div><div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>&#160; <span class="keywordflow">if</span> (setting_iter) {</div><div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>&#160; <span class="comment">// gboolean found = FALSE;</span></div><div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>&#160; <span class="keywordflow">while</span> (setting_iter-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a6274d44b592a54162ff583135e55ffc9">type</a> != <a class="code" href="types_8h.html#aee1a3e130e6991978acd907b52204350ad898beb6ae625dee1ae27de75f1ab4e3">REMMINA_PROTOCOL_SETTING_TYPE_END</a>) {</div><div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>&#160; <span class="keywordflow">if</span> (setting_iter-&gt;<a class="code" href="struct___remmina_protocol_setting.html#ac4cd339607204c5f478727e2a0c04857">name</a> == NULL) {</div><div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>&#160; g_error(<span class="stringliteral">&quot;Internal error: a setting name in protocol plugin %s is &quot;</span></div><div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>&#160; <span class="stringliteral">&quot;null. Please fix RemminaProtocolSetting struct content.&quot;</span>,</div><div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>&#160; protocol_plugin-&gt;<a class="code" href="struct___remmina_protocol_plugin.html#a6e04143450eeb71e3d0b2c14983860a4">name</a>);</div><div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((gchar *)setting_name_to_validate) {</div><div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>&#160; <span class="keywordflow">if</span> (strcmp((gchar *)setting_name_to_validate, setting_iter-&gt;<a class="code" href="struct___remmina_protocol_setting.html#ac4cd339607204c5f478727e2a0c04857">name</a>) == 0) {</div><div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>&#160; <span class="comment">// found = TRUE;</span></div><div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>&#160;</div><div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>&#160; gpointer validator_data = setting_iter-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a6086b43049072a3a3245c4a45f43dbc5">validator_data</a>;</div><div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>&#160; GCallback validator = setting_iter-&gt;<a class="code" href="struct___remmina_protocol_setting.html#a94df87db138d4e44e81b3e6c99148ed3">validator</a>;</div><div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>&#160;</div><div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>&#160; <span class="comment">// Default behaviour is that everything is valid,</span></div><div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>&#160; <span class="comment">// except a validator is given and its returned GError is not NULL.</span></div><div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>&#160; GError *err_ret = NULL;</div><div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>&#160;</div><div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>&#160; g_debug(<span class="stringliteral">&quot;Checking setting &#39;%s&#39; for validation.&quot;</span>, setting_iter-&gt;<a class="code" href="struct___remmina_protocol_setting.html#ac4cd339607204c5f478727e2a0c04857">name</a>);</div><div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>&#160; <span class="keywordflow">if</span> (validator != NULL) {</div><div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>&#160; <span class="comment">// Looks weird but it calls the setting&#39;s validator</span></div><div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>&#160; <span class="comment">// function using setting_name_to_validate, value and</span></div><div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>&#160; <span class="comment">// validator_data as parameters and it returns a GError*.</span></div><div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>&#160; err_ret = ((GError * (*)(gpointer, gconstpointer, gpointer)) validator)(setting_name_to_validate, value, validator_data);</div><div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>&#160; }</div><div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>&#160;</div><div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>&#160; <span class="keywordflow">if</span> (err_ret) {</div><div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>&#160; g_debug(<span class="stringliteral">&quot;it has a validator function and it had an error!&quot;</span>);</div><div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>&#160; <span class="comment">// pass err (returned value) to function caller.</span></div><div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>&#160; *err = err_ret;</div><div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>&#160; }</div><div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>&#160;</div><div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>&#160; }</div><div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>&#160; }</div><div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>&#160; setting_iter++;</div><div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>&#160; }</div><div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>&#160;</div><div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160; <span class="comment">// if (!found) {</span></div><div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160; <span class="comment">// TOO VERBOSE:</span></div><div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>&#160; <span class="comment">// g_warning(&quot;%s is not a plugin setting!&quot;, setting_name_to_validate);</span></div><div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>&#160; <span class="comment">// }</span></div><div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>&#160; }</div><div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>&#160;</div><div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>&#160;}</div><div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>&#160;</div><div class="line"><a name="l01520"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#ac4aed08e645f690ef347adec9cdbb9b9"> 1520</a></span>&#160;<span class="keyword">static</span> GError *<a class="code" href="remmina__file__editor_8c.html#ac4aed08e645f690ef347adec9cdbb9b9">remmina_file_editor_update_settings</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> * gfe,</div><div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>&#160; GtkWidget ** failed_widget)</div><div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>&#160;{</div><div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>&#160; GHashTableIter iter;</div><div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>&#160; gpointer key;</div><div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>&#160; gpointer widget;</div><div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>&#160; GtkTextBuffer *buffer;</div><div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>&#160; gchar *escaped, *unescaped;</div><div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>&#160; GtkTextIter start, end;</div><div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>&#160;</div><div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>&#160; GError *err = NULL;</div><div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>&#160; *failed_widget = NULL;</div><div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>&#160;</div><div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>&#160; g_hash_table_iter_init(&amp;iter, priv-&gt;setting_widgets);</div><div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>&#160; <span class="keywordflow">while</span> (g_hash_table_iter_next(&amp;iter, &amp;key, &amp;widget)) {</div><div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>&#160; <span class="comment">// We don&#39;t want to save or validate grayed-out settings.</span></div><div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>&#160; <span class="keywordflow">if</span> (!gtk_widget_get_sensitive(GTK_WIDGET(widget))) {</div><div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>&#160; g_debug(<span class="stringliteral">&quot;Grayed-out setting-widget &#39;%s&#39; will not be saved.&quot;</span>,</div><div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>&#160; gtk_widget_get_name(widget));</div><div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>&#160; }</div><div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>&#160;</div><div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>&#160; <span class="keywordflow">if</span> (GTK_IS_ENTRY(widget)) {</div><div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>&#160; <span class="keyword">const</span> gchar *value = gtk_entry_get_text(GTK_ENTRY(widget));</div><div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>&#160;</div><div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="remmina__file__editor_8c.html#a8c1924fd32be943136d147e8dedb3eca">remmina_file_editor_validate_settings</a>(gfe, (gchar *)key, value, &amp;err)) {</div><div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>&#160; <span class="comment">// Error while validating!</span></div><div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>&#160; <span class="comment">// err should be set now.</span></div><div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>&#160; *failed_widget = widget;</div><div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>&#160; }</div><div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>&#160;</div><div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, (gchar *)key, value);</div><div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (GTK_IS_TEXT_VIEW(widget)) {</div><div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>&#160; buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(widget));</div><div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>&#160; gtk_text_buffer_get_start_iter(buffer, &amp;start);</div><div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>&#160; gtk_text_buffer_get_end_iter(buffer, &amp;end);</div><div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>&#160; unescaped = gtk_text_buffer_get_text(buffer, &amp;start, &amp;end, FALSE);</div><div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>&#160; escaped = g_uri_escape_string(unescaped, NULL, TRUE);</div><div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>&#160;</div><div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="remmina__file__editor_8c.html#a8c1924fd32be943136d147e8dedb3eca">remmina_file_editor_validate_settings</a>(gfe, (gchar *)key, escaped, &amp;err)) {</div><div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>&#160; <span class="comment">// Error while validating!</span></div><div class="line"><a name="l01564"></a><span class="lineno"> 1564</span>&#160; <span class="comment">// err should be set now.</span></div><div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>&#160; *failed_widget = widget;</div><div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>&#160; }</div><div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>&#160;</div><div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, (gchar *)key, escaped);</div><div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>&#160; g_free(escaped);</div><div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (GTK_IS_COMBO_BOX(widget)) {</div><div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>&#160; gchar *value = <a class="code" href="remmina__public_8c.html#af1679d83834c8409f23e00c555d677fb">remmina_public_combo_get_active_text</a>(GTK_COMBO_BOX(widget));</div><div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160;</div><div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="remmina__file__editor_8c.html#a8c1924fd32be943136d147e8dedb3eca">remmina_file_editor_validate_settings</a>(gfe, (gchar *)key, value, &amp;err)) {</div><div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>&#160; <span class="comment">// Error while validating!</span></div><div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>&#160; <span class="comment">// err should be set now.</span></div><div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>&#160; *failed_widget = widget;</div><div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>&#160; }</div><div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>&#160;</div><div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, (gchar *)key, value);</div><div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (GTK_IS_FILE_CHOOSER(widget)) {</div><div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>&#160; gchar *value = gtk_widget_get_sensitive(GTK_WIDGET(widget)) ? gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(widget)) : NULL;</div><div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>&#160;</div><div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="remmina__file__editor_8c.html#a8c1924fd32be943136d147e8dedb3eca">remmina_file_editor_validate_settings</a>(gfe, (gchar *)key, value, &amp;err)) {</div><div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>&#160; <span class="comment">// Error while validating!</span></div><div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>&#160; <span class="comment">// err should be set now.</span></div><div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>&#160; g_free(value);</div><div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>&#160; *failed_widget = widget;</div><div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>&#160; }</div><div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>&#160;</div><div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, (gchar *)key, value);</div><div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160; g_free(value);</div><div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (GTK_IS_TOGGLE_BUTTON(widget)) {</div><div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>&#160; gboolean value = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));</div><div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160;</div><div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="remmina__file__editor_8c.html#a8c1924fd32be943136d147e8dedb3eca">remmina_file_editor_validate_settings</a>(gfe, (gchar *)key, &amp;value, &amp;err)) {</div><div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>&#160; <span class="comment">// Error while validating!</span></div><div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>&#160; <span class="comment">// err should be set now.</span></div><div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>&#160; *failed_widget = widget;</div><div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>&#160; }</div><div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>&#160;</div><div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>&#160; <a class="code" href="remmina__file_8c.html#af153b0d289ac93f6ecdaa15d5f3b9b8c">remmina_file_set_int</a>(priv-&gt;remmina_file, (gchar *)key, value);</div><div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160; }</div><div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>&#160; }</div><div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160;</div><div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>&#160; <span class="keywordflow">if</span> (err) {</div><div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>&#160; <span class="keywordflow">return</span> err;</div><div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>&#160; }</div><div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>&#160;</div><div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>&#160; <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>&#160;}</div><div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>&#160;</div><div class="line"><a name="l01616"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#adddb10632532560ce0a1f0c9ca1bcde5"> 1616</a></span>&#160;<span class="keyword">static</span> GError *<a class="code" href="remmina__file__editor_8c.html#adddb10632532560ce0a1f0c9ca1bcde5">remmina_file_editor_update</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> * gfe,</div><div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>&#160; GtkWidget ** failed_widget)</div><div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>&#160;{</div><div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01620"></a><span class="lineno"> 1620</span>&#160; <span class="keywordtype">int</span> res_w, res_h;</div><div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>&#160; gchar *custom_resolution;</div><div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>&#160; <a class="code" href="types_8h.html#a373ddef8221457d86c64830c26d3f78a">RemminaProtocolWidgetResolutionMode</a> res_mode;</div><div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>&#160;</div><div class="line"><a name="l01624"></a><span class="lineno"> 1624</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l01625"></a><span class="lineno"> 1625</span>&#160;</div><div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;name&quot;</span>, gtk_entry_get_text(GTK_ENTRY(priv-&gt;name_entry)));</div><div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>&#160;</div><div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;labels&quot;</span>, gtk_entry_get_text(GTK_ENTRY(priv-&gt;labels_entry)));</div><div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>&#160;</div><div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;group&quot;</span>,</div><div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>&#160; (priv-&gt;group_combo ? <a class="code" href="remmina__public_8c.html#af1679d83834c8409f23e00c555d677fb">remmina_public_combo_get_active_text</a>(GTK_COMBO_BOX(priv-&gt;group_combo)) : NULL));</div><div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>&#160;</div><div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;protocol&quot;</span>,</div><div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>&#160; <a class="code" href="remmina__public_8c.html#af1679d83834c8409f23e00c555d677fb">remmina_public_combo_get_active_text</a>(GTK_COMBO_BOX(priv-&gt;protocol_combo)));</div><div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>&#160;</div><div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;server&quot;</span>,</div><div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160; (priv-&gt;server_combo ? <a class="code" href="remmina__public_8c.html#af1679d83834c8409f23e00c555d677fb">remmina_public_combo_get_active_text</a>(GTK_COMBO_BOX(priv-&gt;server_combo)) : NULL));</div><div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>&#160;</div><div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>&#160; <span class="keywordflow">if</span> (priv-&gt;resolution_auto_radio) {</div><div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>&#160; <span class="keywordflow">if</span> (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(priv-&gt;resolution_auto_radio))) {</div><div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>&#160; <span class="comment">/* Resolution is set to auto (which means: Use client fullscreen resolution, aka use client resolution) */</span></div><div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>&#160; res_w = res_h = 0;</div><div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>&#160; res_mode = <a class="code" href="types_8h.html#a373ddef8221457d86c64830c26d3f78aaf5ff7e2cd480eb2acc5e1520e409202d">RES_USE_CLIENT</a>;</div><div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(priv-&gt;resolution_iws_radio))) {</div><div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>&#160; <span class="comment">/* Resolution is set to initial window size */</span></div><div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>&#160; res_w = res_h = 0;</div><div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>&#160; res_mode = <a class="code" href="types_8h.html#a373ddef8221457d86c64830c26d3f78aa60de6896fa451ca072d23fab21dbfeef">RES_USE_INITIAL_WINDOW_SIZE</a>;</div><div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>&#160; <span class="comment">/* Resolution is set to a value from the list */</span></div><div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>&#160; custom_resolution = <a class="code" href="remmina__public_8c.html#af1679d83834c8409f23e00c555d677fb">remmina_public_combo_get_active_text</a>(GTK_COMBO_BOX(priv-&gt;resolution_custom_combo));</div><div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__public_8c.html#aaf3fdb980c24cd06965b85ebcdd79173">remmina_public_split_resolution_string</a>(custom_resolution, &amp;res_w, &amp;res_h))</div><div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>&#160; res_mode = <a class="code" href="types_8h.html#a373ddef8221457d86c64830c26d3f78aafe10effd553a16b9bac60b6d9b64c2cd">RES_USE_CUSTOM</a>;</div><div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>&#160; res_mode = <a class="code" href="types_8h.html#a373ddef8221457d86c64830c26d3f78aa60de6896fa451ca072d23fab21dbfeef">RES_USE_INITIAL_WINDOW_SIZE</a>;</div><div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>&#160; g_free(custom_resolution);</div><div class="line"><a name="l01656"></a><span class="lineno"> 1656</span>&#160; }</div><div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>&#160; <a class="code" href="remmina__file_8c.html#af153b0d289ac93f6ecdaa15d5f3b9b8c">remmina_file_set_int</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;resolution_mode&quot;</span>, res_mode);</div><div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>&#160; <a class="code" href="remmina__file_8c.html#af153b0d289ac93f6ecdaa15d5f3b9b8c">remmina_file_set_int</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;resolution_width&quot;</span>, res_w);</div><div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>&#160; <a class="code" href="remmina__file_8c.html#af153b0d289ac93f6ecdaa15d5f3b9b8c">remmina_file_set_int</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;resolution_height&quot;</span>, res_h);</div><div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>&#160; }</div><div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>&#160;</div><div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>&#160; <span class="keywordflow">if</span> (priv-&gt;keymap_combo)</div><div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(priv-&gt;remmina_file, <span class="stringliteral">&quot;keymap&quot;</span>,</div><div class="line"><a name="l01664"></a><span class="lineno"> 1664</span>&#160; <a class="code" href="remmina__public_8c.html#af1679d83834c8409f23e00c555d677fb">remmina_public_combo_get_active_text</a>(GTK_COMBO_BOX(priv-&gt;keymap_combo)));</div><div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>&#160;</div><div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a4c16a6793828893598bc0a158bb13cbb">remmina_file_editor_save_behavior_tab</a>(gfe);</div><div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a99984deb4b5a3b873b26c0c9cf8268b7">remmina_file_editor_save_ssh_tunnel_tab</a>(gfe);</div><div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>&#160; <span class="keywordflow">return</span> <a class="code" href="remmina__file__editor_8c.html#ac4aed08e645f690ef347adec9cdbb9b9">remmina_file_editor_update_settings</a>(gfe, failed_widget);</div><div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>&#160;}</div><div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>&#160;</div><div class="line"><a name="l01671"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#afcc5ee6fcd22686b716fbe595cb210a6"> 1671</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#afcc5ee6fcd22686b716fbe595cb210a6">remmina_file_editor_on_default</a>(GtkWidget *button, <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>&#160;{</div><div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *gf;</div><div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>&#160; GtkWidget *dialog;</div><div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>&#160;</div><div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>&#160; GtkWidget *failed_widget = NULL;</div><div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>&#160; GError *err = <a class="code" href="remmina__file__editor_8c.html#adddb10632532560ce0a1f0c9ca1bcde5">remmina_file_editor_update</a>(gfe, &amp;failed_widget);</div><div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>&#160; <span class="keywordflow">if</span> (err) {</div><div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>&#160; g_warning(_(<span class="stringliteral">&quot;Couldn&#39;t validate user input. %s&quot;</span>), err-&gt;message);</div><div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a2808be66552b252210e1c3b76530cd11">remmina_file_editor_show_validation_error_popup</a>(gfe, failed_widget, err);</div><div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160; }</div><div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>&#160;</div><div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>&#160; gf = <a class="code" href="remmina__file_8c.html#a3fb992fced83e0f1c4e4e3c8d2206be5">remmina_file_dup</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file);</div><div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>&#160;</div><div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160; <a class="code" href="remmina__file_8c.html#ab03b042504c09c1ad880ac126a703114">remmina_file_set_filename</a>(gf, <a class="code" href="rcw_8c.html#af657fd4825d16d8d003a8b42fbd0c715">remmina_pref_file</a>);</div><div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160;</div><div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160; <span class="comment">/* Clear properties that should never be default */</span></div><div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(gf, <span class="stringliteral">&quot;name&quot;</span>, NULL);</div><div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(gf, <span class="stringliteral">&quot;server&quot;</span>, NULL);</div><div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(gf, <span class="stringliteral">&quot;password&quot;</span>, NULL);</div><div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(gf, <span class="stringliteral">&quot;precommand&quot;</span>, NULL);</div><div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(gf, <span class="stringliteral">&quot;postcommand&quot;</span>, NULL);</div><div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>&#160;</div><div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(gf, <span class="stringliteral">&quot;ssh_tunnel_server&quot;</span>, NULL);</div><div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(gf, <span class="stringliteral">&quot;ssh_tunnel_password&quot;</span>, NULL);</div><div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(gf, <span class="stringliteral">&quot;ssh_tunnel_passphrase&quot;</span>, NULL);</div><div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>&#160;</div><div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>&#160; <a class="code" href="remmina__file_8c.html#a8c893a5deec9bc446bd89cc9973416c7">remmina_file_save</a>(gf);</div><div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>&#160; <a class="code" href="remmina__file_8c.html#abd2f06bf0a5ddcf7156e5ef7d0c8d4d7">remmina_file_free</a>(gf);</div><div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>&#160;</div><div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>&#160; dialog = gtk_message_dialog_new(GTK_WINDOW(gfe), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO,</div><div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>&#160; GTK_BUTTONS_OK, _(<span class="stringliteral">&quot;Default settings saved.&quot;</span>));</div><div class="line"><a name="l01705"></a><span class="lineno"> 1705</span>&#160; gtk_dialog_run(GTK_DIALOG(dialog));</div><div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>&#160; gtk_widget_destroy(dialog);</div><div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>&#160;}</div><div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>&#160;</div><div class="line"><a name="l01709"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#ac2a5cf9cdcf640986e245eb04be9c4ad"> 1709</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#ac2a5cf9cdcf640986e245eb04be9c4ad">remmina_file_editor_on_save</a>(GtkWidget *button, <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>&#160;{</div><div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>&#160;</div><div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>&#160; GtkWidget *failed_widget = NULL;</div><div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>&#160; GError *err = <a class="code" href="remmina__file__editor_8c.html#adddb10632532560ce0a1f0c9ca1bcde5">remmina_file_editor_update</a>(gfe, &amp;failed_widget);</div><div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>&#160; <span class="keywordflow">if</span> (err) {</div><div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>&#160; g_warning(_(<span class="stringliteral">&quot;Couldn&#39;t validate user input. %s&quot;</span>), err-&gt;message);</div><div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a2808be66552b252210e1c3b76530cd11">remmina_file_editor_show_validation_error_popup</a>(gfe, failed_widget, err);</div><div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>&#160; }</div><div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>&#160;</div><div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a3866832d550ceac91d608900df4c8056">remmina_file_editor_file_save</a>(gfe);</div><div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>&#160;</div><div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>&#160; <a class="code" href="remmina__file_8c.html#a8c893a5deec9bc446bd89cc9973416c7">remmina_file_save</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file);</div><div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>&#160; <a class="code" href="remmina__icon_8c.html#af80ed314f91d653237249d839c7fc3b2">remmina_icon_populate_menu</a>();</div><div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>&#160;</div><div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>&#160; gtk_widget_destroy(GTK_WIDGET(gfe));</div><div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>&#160;}</div><div class="line"><a name="l01728"></a><span class="lineno"> 1728</span>&#160;</div><div class="line"><a name="l01729"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a73b8581fd1fd77532b748d91a2951f25"> 1729</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a73b8581fd1fd77532b748d91a2951f25">remmina_file_editor_on_connect</a>(GtkWidget *button, <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>&#160;{</div><div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *gf;</div><div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>&#160;</div><div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>&#160; GtkWidget *failed_widget = NULL;</div><div class="line"><a name="l01735"></a><span class="lineno"> 1735</span>&#160; GError *err = <a class="code" href="remmina__file__editor_8c.html#adddb10632532560ce0a1f0c9ca1bcde5">remmina_file_editor_update</a>(gfe, &amp;failed_widget);</div><div class="line"><a name="l01736"></a><span class="lineno"> 1736</span>&#160; <span class="keywordflow">if</span> (err) {</div><div class="line"><a name="l01737"></a><span class="lineno"> 1737</span>&#160; g_warning(_(<span class="stringliteral">&quot;Couldn&#39;t validate user input. %s&quot;</span>), err-&gt;message);</div><div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a2808be66552b252210e1c3b76530cd11">remmina_file_editor_show_validation_error_popup</a>(gfe, failed_widget, err);</div><div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>&#160; }</div><div class="line"><a name="l01741"></a><span class="lineno"> 1741</span>&#160;</div><div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>&#160; gf = <a class="code" href="remmina__file_8c.html#a3fb992fced83e0f1c4e4e3c8d2206be5">remmina_file_dup</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file);</div><div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>&#160; <span class="comment">/* Put server into name for &quot;Quick Connect&quot; */</span></div><div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__file_8c.html#ad1e4f3a0f64cd98e301044b6c38a1f1d">remmina_file_get_filename</a>(gf) == NULL)</div><div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(gf, <span class="stringliteral">&quot;name&quot;</span>, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(gf, <span class="stringliteral">&quot;server&quot;</span>));</div><div class="line"><a name="l01746"></a><span class="lineno"> 1746</span>&#160; gtk_widget_destroy(GTK_WIDGET(gfe));</div><div class="line"><a name="l01747"></a><span class="lineno"> 1747</span>&#160; gf-&gt;prevent_saving = TRUE;</div><div class="line"><a name="l01748"></a><span class="lineno"> 1748</span>&#160; <a class="code" href="rcw_8c.html#a1b7a771392e15e527005305e71cc2546">rcw_open_from_file</a>(gf);</div><div class="line"><a name="l01749"></a><span class="lineno"> 1749</span>&#160;}</div><div class="line"><a name="l01750"></a><span class="lineno"> 1750</span>&#160;</div><div class="line"><a name="l01751"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a57224f3f69f04f398de563b71be6b18e"> 1751</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a57224f3f69f04f398de563b71be6b18e">remmina_file_editor_on_save_connect</a>(GtkWidget *button, <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>&#160;{</div><div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01755"></a><span class="lineno"> 1755</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *gf;</div><div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>&#160;</div><div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>&#160; GtkWidget *failed_widget = NULL;</div><div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>&#160; GError *err = <a class="code" href="remmina__file__editor_8c.html#adddb10632532560ce0a1f0c9ca1bcde5">remmina_file_editor_update</a>(gfe, &amp;failed_widget);</div><div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>&#160; <span class="keywordflow">if</span> (err) {</div><div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>&#160; g_warning(_(<span class="stringliteral">&quot;Couldn&#39;t validate user input. %s&quot;</span>), err-&gt;message);</div><div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a2808be66552b252210e1c3b76530cd11">remmina_file_editor_show_validation_error_popup</a>(gfe, failed_widget, err);</div><div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>&#160; }</div><div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>&#160;</div><div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a3866832d550ceac91d608900df4c8056">remmina_file_editor_file_save</a>(gfe);</div><div class="line"><a name="l01766"></a><span class="lineno"> 1766</span>&#160;</div><div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>&#160; <a class="code" href="remmina__file_8c.html#a8c893a5deec9bc446bd89cc9973416c7">remmina_file_save</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file);</div><div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>&#160; <a class="code" href="remmina__icon_8c.html#af80ed314f91d653237249d839c7fc3b2">remmina_icon_populate_menu</a>();</div><div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>&#160;</div><div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>&#160; gf = <a class="code" href="remmina__file_8c.html#a3fb992fced83e0f1c4e4e3c8d2206be5">remmina_file_dup</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file);</div><div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>&#160; <span class="comment">/* Put server into name for Quick Connect */</span></div><div class="line"><a name="l01772"></a><span class="lineno"> 1772</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__file_8c.html#ad1e4f3a0f64cd98e301044b6c38a1f1d">remmina_file_get_filename</a>(gf) == NULL)</div><div class="line"><a name="l01773"></a><span class="lineno"> 1773</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(gf, <span class="stringliteral">&quot;name&quot;</span>, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(gf, <span class="stringliteral">&quot;server&quot;</span>));</div><div class="line"><a name="l01774"></a><span class="lineno"> 1774</span>&#160; gtk_widget_destroy(GTK_WIDGET(gfe));</div><div class="line"><a name="l01775"></a><span class="lineno"> 1775</span>&#160; <a class="code" href="rcw_8c.html#a1b7a771392e15e527005305e71cc2546">rcw_open_from_file</a>(gf);</div><div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>&#160;}</div><div class="line"><a name="l01777"></a><span class="lineno"> 1777</span>&#160;</div><div class="line"><a name="l01778"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#aaa55ab55c6806aef6765eb01577365f3"> 1778</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#aaa55ab55c6806aef6765eb01577365f3">remmina_file_editor_on_cancel</a>(GtkWidget *button, <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01779"></a><span class="lineno"> 1779</span>&#160;{</div><div class="line"><a name="l01780"></a><span class="lineno"> 1780</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01781"></a><span class="lineno"> 1781</span>&#160; gtk_widget_destroy(GTK_WIDGET(gfe));</div><div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>&#160;}</div><div class="line"><a name="l01783"></a><span class="lineno"> 1783</span>&#160;</div><div class="line"><a name="l01784"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a9afd8d41c66f547320930eb331f3124d"> 1784</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a9afd8d41c66f547320930eb331f3124d">remmina_file_editor_init</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01785"></a><span class="lineno"> 1785</span>&#160;{</div><div class="line"><a name="l01786"></a><span class="lineno"> 1786</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01787"></a><span class="lineno"> 1787</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv;</div><div class="line"><a name="l01788"></a><span class="lineno"> 1788</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l01789"></a><span class="lineno"> 1789</span>&#160;</div><div class="line"><a name="l01790"></a><span class="lineno"> 1790</span>&#160; priv = g_new0(<a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a>, 1);</div><div class="line"><a name="l01791"></a><span class="lineno"> 1791</span>&#160; gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a> = priv;</div><div class="line"><a name="l01792"></a><span class="lineno"> 1792</span>&#160;</div><div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>&#160; <span class="comment">/* Create the editor dialog */</span></div><div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>&#160; gtk_window_set_title(GTK_WINDOW(gfe), _(<span class="stringliteral">&quot;Remote Connection Profile&quot;</span>));</div><div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>&#160;</div><div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>&#160; widget = gtk_dialog_add_button(GTK_DIALOG(gfe), (_(<span class="stringliteral">&quot;_Cancel&quot;</span>)), GTK_RESPONSE_CANCEL);</div><div class="line"><a name="l01797"></a><span class="lineno"> 1797</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#aaa55ab55c6806aef6765eb01577365f3">remmina_file_editor_on_cancel</a>), gfe);</div><div class="line"><a name="l01798"></a><span class="lineno"> 1798</span>&#160;</div><div class="line"><a name="l01799"></a><span class="lineno"> 1799</span>&#160; <span class="comment">/* Default button */</span></div><div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>&#160; widget = gtk_dialog_add_button(GTK_DIALOG(gfe), (_(<span class="stringliteral">&quot;Save as Default&quot;</span>)), GTK_RESPONSE_OK);</div><div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>&#160; gtk_widget_set_tooltip_text(GTK_WIDGET(widget), _(<span class="stringliteral">&quot;Use the current settings as the default for all new connection profiles&quot;</span>));</div><div class="line"><a name="l01802"></a><span class="lineno"> 1802</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#afcc5ee6fcd22686b716fbe595cb210a6">remmina_file_editor_on_default</a>), gfe);</div><div class="line"><a name="l01803"></a><span class="lineno"> 1803</span>&#160;</div><div class="line"><a name="l01804"></a><span class="lineno"> 1804</span>&#160; widget = gtk_dialog_add_button(GTK_DIALOG(gfe), (_(<span class="stringliteral">&quot;_Save&quot;</span>)), GTK_RESPONSE_APPLY);</div><div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#ac2a5cf9cdcf640986e245eb04be9c4ad">remmina_file_editor_on_save</a>), gfe);</div><div class="line"><a name="l01806"></a><span class="lineno"> 1806</span>&#160; gtk_widget_set_sensitive(widget, FALSE);</div><div class="line"><a name="l01807"></a><span class="lineno"> 1807</span>&#160; priv-&gt;save_button = widget;</div><div class="line"><a name="l01808"></a><span class="lineno"> 1808</span>&#160;</div><div class="line"><a name="l01809"></a><span class="lineno"> 1809</span>&#160; widget = gtk_dialog_add_button(GTK_DIALOG(gfe), (_(<span class="stringliteral">&quot;Connect&quot;</span>)), GTK_RESPONSE_ACCEPT);</div><div class="line"><a name="l01810"></a><span class="lineno"> 1810</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#a73b8581fd1fd77532b748d91a2951f25">remmina_file_editor_on_connect</a>), gfe);</div><div class="line"><a name="l01811"></a><span class="lineno"> 1811</span>&#160;</div><div class="line"><a name="l01812"></a><span class="lineno"> 1812</span>&#160; widget = gtk_dialog_add_button(GTK_DIALOG(gfe), (_(<span class="stringliteral">&quot;_Save and Connect&quot;</span>)), GTK_RESPONSE_OK);</div><div class="line"><a name="l01813"></a><span class="lineno"> 1813</span>&#160; gtk_widget_set_can_default(widget, TRUE);</div><div class="line"><a name="l01814"></a><span class="lineno"> 1814</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#a57224f3f69f04f398de563b71be6b18e">remmina_file_editor_on_save_connect</a>), gfe);</div><div class="line"><a name="l01815"></a><span class="lineno"> 1815</span>&#160;</div><div class="line"><a name="l01816"></a><span class="lineno"> 1816</span>&#160; gtk_dialog_set_default_response(GTK_DIALOG(gfe), GTK_RESPONSE_OK);</div><div class="line"><a name="l01817"></a><span class="lineno"> 1817</span>&#160; gtk_window_set_default_size(GTK_WINDOW(gfe), 800, 600);</div><div class="line"><a name="l01818"></a><span class="lineno"> 1818</span>&#160;</div><div class="line"><a name="l01819"></a><span class="lineno"> 1819</span>&#160; g_signal_connect(G_OBJECT(gfe), <span class="stringliteral">&quot;destroy&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#a6eb0bcee764064d6a7dd84c015d9ed4f">remmina_file_editor_destroy</a>), NULL);</div><div class="line"><a name="l01820"></a><span class="lineno"> 1820</span>&#160; g_signal_connect(G_OBJECT(gfe), <span class="stringliteral">&quot;realize&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#a880e8e6aee571b91eeb7f5d2f60e210b">remmina_file_editor_on_realize</a>), NULL);</div><div class="line"><a name="l01821"></a><span class="lineno"> 1821</span>&#160;</div><div class="line"><a name="l01822"></a><span class="lineno"> 1822</span>&#160; priv-&gt;setting_widgets = g_hash_table_new(g_str_hash, g_str_equal);</div><div class="line"><a name="l01823"></a><span class="lineno"> 1823</span>&#160;</div><div class="line"><a name="l01824"></a><span class="lineno"> 1824</span>&#160; <a class="code" href="remmina__widget__pool_8c.html#ae3c9c9853eb5bedbfeadbfac1d495b95">remmina_widget_pool_register</a>(GTK_WIDGET(gfe));</div><div class="line"><a name="l01825"></a><span class="lineno"> 1825</span>&#160;}</div><div class="line"><a name="l01826"></a><span class="lineno"> 1826</span>&#160;</div><div class="line"><a name="l01827"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#afc37e2e9dbe8f0c8bcf1a76d0c54ea1b"> 1827</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__file__editor_8c.html#afc37e2e9dbe8f0c8bcf1a76d0c54ea1b">remmina_file_editor_iterate_protocol</a>(gchar *protocol, <a class="code" href="struct___remmina_plugin.html">RemminaPlugin</a> *plugin, gpointer data)</div><div class="line"><a name="l01828"></a><span class="lineno"> 1828</span>&#160;{</div><div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>&#160; <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe = REMMINA_FILE_EDITOR(data);</div><div class="line"><a name="l01831"></a><span class="lineno"> 1831</span>&#160; GtkListStore *store;</div><div class="line"><a name="l01832"></a><span class="lineno"> 1832</span>&#160; GtkTreeIter iter;</div><div class="line"><a name="l01833"></a><span class="lineno"> 1833</span>&#160; gboolean first;</div><div class="line"><a name="l01834"></a><span class="lineno"> 1834</span>&#160;</div><div class="line"><a name="l01835"></a><span class="lineno"> 1835</span>&#160; store = GTK_LIST_STORE(gtk_combo_box_get_model(GTK_COMBO_BOX(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;protocol_combo)));</div><div class="line"><a name="l01836"></a><span class="lineno"> 1836</span>&#160;</div><div class="line"><a name="l01837"></a><span class="lineno"> 1837</span>&#160; first = !gtk_tree_model_get_iter_first(GTK_TREE_MODEL(store), &amp;iter);</div><div class="line"><a name="l01838"></a><span class="lineno"> 1838</span>&#160;</div><div class="line"><a name="l01839"></a><span class="lineno"> 1839</span>&#160; gtk_list_store_append(store, &amp;iter);</div><div class="line"><a name="l01840"></a><span class="lineno"> 1840</span>&#160; gtk_list_store_set(store, &amp;iter, 0, protocol, 1, g_dgettext(plugin-&gt;<a class="code" href="struct___remmina_plugin.html#a024d3e6d752dd29828b31c60c8c7c201">domain</a>, plugin-&gt;<a class="code" href="struct___remmina_plugin.html#a4ac66b7ebefb9bd8167737eb1af83cde">description</a>), 2,</div><div class="line"><a name="l01841"></a><span class="lineno"> 1841</span>&#160; ((<a class="code" href="struct___remmina_protocol_plugin.html">RemminaProtocolPlugin</a> *)plugin)-&gt;icon_name, -1);</div><div class="line"><a name="l01842"></a><span class="lineno"> 1842</span>&#160;</div><div class="line"><a name="l01843"></a><span class="lineno"> 1843</span>&#160; <span class="keywordflow">if</span> (first || g_strcmp0(protocol, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;remmina_file, <span class="stringliteral">&quot;protocol&quot;</span>)) == 0)</div><div class="line"><a name="l01844"></a><span class="lineno"> 1844</span>&#160; gtk_combo_box_set_active_iter(GTK_COMBO_BOX(gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>-&gt;protocol_combo), &amp;iter);</div><div class="line"><a name="l01845"></a><span class="lineno"> 1845</span>&#160;</div><div class="line"><a name="l01846"></a><span class="lineno"> 1846</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l01847"></a><span class="lineno"> 1847</span>&#160;}</div><div class="line"><a name="l01848"></a><span class="lineno"> 1848</span>&#160;</div><div class="line"><a name="l01849"></a><span class="lineno"><a class="line" href="remmina__file__editor_8h.html#add382dd8f40444b928e78b293a86a257"> 1849</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#add382dd8f40444b928e78b293a86a257">remmina_file_editor_check_profile</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01850"></a><span class="lineno"> 1850</span>&#160;{</div><div class="line"><a name="l01851"></a><span class="lineno"> 1851</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01852"></a><span class="lineno"> 1852</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv;</div><div class="line"><a name="l01853"></a><span class="lineno"> 1853</span>&#160;</div><div class="line"><a name="l01854"></a><span class="lineno"> 1854</span>&#160; priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l01855"></a><span class="lineno"> 1855</span>&#160; gtk_widget_set_sensitive(priv-&gt;group_combo, TRUE);</div><div class="line"><a name="l01856"></a><span class="lineno"> 1856</span>&#160; gtk_widget_set_sensitive(priv-&gt;save_button, TRUE);</div><div class="line"><a name="l01857"></a><span class="lineno"> 1857</span>&#160;}</div><div class="line"><a name="l01858"></a><span class="lineno"> 1858</span>&#160;</div><div class="line"><a name="l01859"></a><span class="lineno"><a class="line" href="remmina__file__editor_8c.html#a287b79ac0e199393f391655ab5cbb55b"> 1859</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a287b79ac0e199393f391655ab5cbb55b">remmina_file_editor_entry_on_changed</a>(GtkEditable *editable, <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01860"></a><span class="lineno"> 1860</span>&#160;{</div><div class="line"><a name="l01861"></a><span class="lineno"> 1861</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01862"></a><span class="lineno"> 1862</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv;</div><div class="line"><a name="l01863"></a><span class="lineno"> 1863</span>&#160;</div><div class="line"><a name="l01864"></a><span class="lineno"> 1864</span>&#160; priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l01865"></a><span class="lineno"> 1865</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__file_8c.html#ad1e4f3a0f64cd98e301044b6c38a1f1d">remmina_file_get_filename</a>(priv-&gt;remmina_file) == NULL) {</div><div class="line"><a name="l01866"></a><span class="lineno"> 1866</span>&#160; <a class="code" href="remmina__file_8c.html#ac952f8ddb715314f11cef1ccc513fb7e">remmina_file_generate_filename</a>(priv-&gt;remmina_file);</div><div class="line"><a name="l01867"></a><span class="lineno"> 1867</span>&#160; <span class="comment">/* TODO: Probably to be removed */</span></div><div class="line"><a name="l01868"></a><span class="lineno"> 1868</span>&#160; <a class="code" href="remmina__file__editor_8c.html#add382dd8f40444b928e78b293a86a257">remmina_file_editor_check_profile</a>(gfe);</div><div class="line"><a name="l01869"></a><span class="lineno"> 1869</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l01870"></a><span class="lineno"> 1870</span>&#160; <a class="code" href="remmina__file_8c.html#a55f66f2bb81bf427d6837e1adb7fe1d4">remmina_file_delete</a>(<a class="code" href="remmina__file_8c.html#ad1e4f3a0f64cd98e301044b6c38a1f1d">remmina_file_get_filename</a>(priv-&gt;remmina_file));</div><div class="line"><a name="l01871"></a><span class="lineno"> 1871</span>&#160; <a class="code" href="remmina__file_8c.html#ac952f8ddb715314f11cef1ccc513fb7e">remmina_file_generate_filename</a>(priv-&gt;remmina_file);</div><div class="line"><a name="l01872"></a><span class="lineno"> 1872</span>&#160; <a class="code" href="remmina__file__editor_8c.html#add382dd8f40444b928e78b293a86a257">remmina_file_editor_check_profile</a>(gfe);</div><div class="line"><a name="l01873"></a><span class="lineno"> 1873</span>&#160; }</div><div class="line"><a name="l01874"></a><span class="lineno"> 1874</span>&#160;}</div><div class="line"><a name="l01875"></a><span class="lineno"> 1875</span>&#160;</div><div class="line"><a name="l01876"></a><span class="lineno"><a class="line" href="remmina__file__editor_8h.html#a3866832d550ceac91d608900df4c8056"> 1876</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8c.html#a3866832d550ceac91d608900df4c8056">remmina_file_editor_file_save</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe)</div><div class="line"><a name="l01877"></a><span class="lineno"> 1877</span>&#160;{</div><div class="line"><a name="l01878"></a><span class="lineno"> 1878</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01879"></a><span class="lineno"> 1879</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv;</div><div class="line"><a name="l01880"></a><span class="lineno"> 1880</span>&#160;</div><div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>&#160; priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l01882"></a><span class="lineno"> 1882</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__file_8c.html#ad1e4f3a0f64cd98e301044b6c38a1f1d">remmina_file_get_filename</a>(priv-&gt;remmina_file) == NULL) {</div><div class="line"><a name="l01883"></a><span class="lineno"> 1883</span>&#160; <a class="code" href="remmina__file_8c.html#ac952f8ddb715314f11cef1ccc513fb7e">remmina_file_generate_filename</a>(priv-&gt;remmina_file);</div><div class="line"><a name="l01884"></a><span class="lineno"> 1884</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l01885"></a><span class="lineno"> 1885</span>&#160; <a class="code" href="remmina__file_8c.html#a55f66f2bb81bf427d6837e1adb7fe1d4">remmina_file_delete</a>(<a class="code" href="remmina__file_8c.html#ad1e4f3a0f64cd98e301044b6c38a1f1d">remmina_file_get_filename</a>(priv-&gt;remmina_file));</div><div class="line"><a name="l01886"></a><span class="lineno"> 1886</span>&#160; <a class="code" href="remmina__file_8c.html#ac952f8ddb715314f11cef1ccc513fb7e">remmina_file_generate_filename</a>(priv-&gt;remmina_file);</div><div class="line"><a name="l01887"></a><span class="lineno"> 1887</span>&#160; }</div><div class="line"><a name="l01888"></a><span class="lineno"> 1888</span>&#160;}</div><div class="line"><a name="l01889"></a><span class="lineno"> 1889</span>&#160;</div><div class="line"><a name="l01890"></a><span class="lineno"><a class="line" href="remmina__file__editor_8h.html#a08327d6951c345808628dbb5784aba06"> 1890</a></span>&#160;GtkWidget *<a class="code" href="remmina__file__editor_8c.html#a08327d6951c345808628dbb5784aba06">remmina_file_editor_new_from_file</a>(<a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile)</div><div class="line"><a name="l01891"></a><span class="lineno"> 1891</span>&#160;{</div><div class="line"><a name="l01892"></a><span class="lineno"> 1892</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01893"></a><span class="lineno"> 1893</span>&#160; <a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe;</div><div class="line"><a name="l01894"></a><span class="lineno"> 1894</span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> *priv;</div><div class="line"><a name="l01895"></a><span class="lineno"> 1895</span>&#160; GtkWidget *grid;</div><div class="line"><a name="l01896"></a><span class="lineno"> 1896</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l01897"></a><span class="lineno"> 1897</span>&#160; gchar *groups;</div><div class="line"><a name="l01898"></a><span class="lineno"> 1898</span>&#160; gchar *s;</div><div class="line"><a name="l01899"></a><span class="lineno"> 1899</span>&#160; <span class="keyword">const</span> gchar *cs;</div><div class="line"><a name="l01900"></a><span class="lineno"> 1900</span>&#160;</div><div class="line"><a name="l01901"></a><span class="lineno"> 1901</span>&#160; gfe = REMMINA_FILE_EDITOR(g_object_new(REMMINA_TYPE_FILE_EDITOR, NULL));</div><div class="line"><a name="l01902"></a><span class="lineno"> 1902</span>&#160; priv = gfe-&gt;<a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l01903"></a><span class="lineno"> 1903</span>&#160; priv-&gt;remmina_file = remminafile;</div><div class="line"><a name="l01904"></a><span class="lineno"> 1904</span>&#160;</div><div class="line"><a name="l01905"></a><span class="lineno"> 1905</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__file_8c.html#ad1e4f3a0f64cd98e301044b6c38a1f1d">remmina_file_get_filename</a>(remminafile) == NULL)</div><div class="line"><a name="l01906"></a><span class="lineno"> 1906</span>&#160; gtk_dialog_set_response_sensitive(GTK_DIALOG(gfe), GTK_RESPONSE_APPLY, FALSE);</div><div class="line"><a name="l01907"></a><span class="lineno"> 1907</span>&#160;</div><div class="line"><a name="l01908"></a><span class="lineno"> 1908</span>&#160; <span class="comment">/* Create the &quot;Profile&quot; group on the top (for name and protocol) */</span></div><div class="line"><a name="l01909"></a><span class="lineno"> 1909</span>&#160; grid = gtk_grid_new();</div><div class="line"><a name="l01910"></a><span class="lineno"> 1910</span>&#160; gtk_widget_show(grid);</div><div class="line"><a name="l01911"></a><span class="lineno"> 1911</span>&#160; gtk_grid_set_row_spacing(GTK_GRID(grid), 4);</div><div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>&#160; gtk_grid_set_column_spacing(GTK_GRID(grid), 8);</div><div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>&#160; gtk_grid_set_column_homogeneous(GTK_GRID(grid), TRUE);</div><div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>&#160; gtk_container_set_border_width(GTK_CONTAINER(grid), 8);</div><div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>&#160; gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(gfe))), grid, FALSE, FALSE, 2);</div><div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>&#160;</div><div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>&#160; <span class="comment">// remmina_public_create_group(GTK_GRID(grid), _(&quot;Profile&quot;), 0, 4, 3);</span></div><div class="line"><a name="l01918"></a><span class="lineno"> 1918</span>&#160;</div><div class="line"><a name="l01919"></a><span class="lineno"> 1919</span>&#160; gboolean profile_file_exists = (<a class="code" href="remmina__file_8c.html#ad1e4f3a0f64cd98e301044b6c38a1f1d">remmina_file_get_filename</a>(remminafile) != NULL);</div><div class="line"><a name="l01920"></a><span class="lineno"> 1920</span>&#160;</div><div class="line"><a name="l01921"></a><span class="lineno"> 1921</span>&#160; <span class="comment">/* Profile: Name */</span></div><div class="line"><a name="l01922"></a><span class="lineno"> 1922</span>&#160; widget = gtk_label_new(_(<span class="stringliteral">&quot;Name&quot;</span>));</div><div class="line"><a name="l01923"></a><span class="lineno"> 1923</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l01924"></a><span class="lineno"> 1924</span>&#160; gtk_widget_set_valign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l01925"></a><span class="lineno"> 1925</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l01926"></a><span class="lineno"> 1926</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, 3, 2, 1);</div><div class="line"><a name="l01927"></a><span class="lineno"> 1927</span>&#160; gtk_grid_set_column_spacing(GTK_GRID(grid), 10);</div><div class="line"><a name="l01928"></a><span class="lineno"> 1928</span>&#160;</div><div class="line"><a name="l01929"></a><span class="lineno"> 1929</span>&#160; widget = gtk_entry_new();</div><div class="line"><a name="l01930"></a><span class="lineno"> 1930</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l01931"></a><span class="lineno"> 1931</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 1, 3, 3, 1);</div><div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>&#160; gtk_entry_set_max_length(GTK_ENTRY(widget), 100);</div><div class="line"><a name="l01933"></a><span class="lineno"> 1933</span>&#160; priv-&gt;name_entry = widget;</div><div class="line"><a name="l01934"></a><span class="lineno"> 1934</span>&#160;</div><div class="line"><a name="l01935"></a><span class="lineno"> 1935</span>&#160; <span class="keywordflow">if</span> (!profile_file_exists) {</div><div class="line"><a name="l01936"></a><span class="lineno"> 1936</span>&#160; gtk_entry_set_text(GTK_ENTRY(widget), _(<span class="stringliteral">&quot;Quick Connect&quot;</span>));</div><div class="line"><a name="l01937"></a><span class="lineno"> 1937</span>&#160;<span class="preprocessor">#if GTK_CHECK_VERSION(3, 16, 0)</span></div><div class="line"><a name="l01938"></a><span class="lineno"> 1938</span>&#160; gtk_entry_grab_focus_without_selecting(GTK_ENTRY(widget));</div><div class="line"><a name="l01939"></a><span class="lineno"> 1939</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;changed&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#a287b79ac0e199393f391655ab5cbb55b">remmina_file_editor_entry_on_changed</a>), gfe);</div><div class="line"><a name="l01941"></a><span class="lineno"> 1941</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l01942"></a><span class="lineno"> 1942</span>&#160; cs = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;name&quot;</span>);</div><div class="line"><a name="l01943"></a><span class="lineno"> 1943</span>&#160; gtk_entry_set_text(GTK_ENTRY(widget), cs ? cs : <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>&#160; }</div><div class="line"><a name="l01945"></a><span class="lineno"> 1945</span>&#160;</div><div class="line"><a name="l01946"></a><span class="lineno"> 1946</span>&#160; <span class="comment">/* Profile: Group */</span></div><div class="line"><a name="l01947"></a><span class="lineno"> 1947</span>&#160; widget = gtk_label_new(_(<span class="stringliteral">&quot;Group&quot;</span>));</div><div class="line"><a name="l01948"></a><span class="lineno"> 1948</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l01949"></a><span class="lineno"> 1949</span>&#160; gtk_widget_set_valign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l01950"></a><span class="lineno"> 1950</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l01951"></a><span class="lineno"> 1951</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, 6, 2, 1);</div><div class="line"><a name="l01952"></a><span class="lineno"> 1952</span>&#160;</div><div class="line"><a name="l01953"></a><span class="lineno"> 1953</span>&#160; groups = <a class="code" href="remmina__file__manager_8c.html#a536edeef371d907ab3936f4d65c3003d">remmina_file_manager_get_groups</a>();</div><div class="line"><a name="l01954"></a><span class="lineno"> 1954</span>&#160; priv-&gt;group_combo = <a class="code" href="remmina__public_8c.html#a9ec86f1e9caea5ebc867a90230d6b51a">remmina_public_create_combo_entry</a>(groups, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;group&quot;</span>), FALSE);</div><div class="line"><a name="l01955"></a><span class="lineno"> 1955</span>&#160; g_free(groups);</div><div class="line"><a name="l01956"></a><span class="lineno"> 1956</span>&#160; gtk_widget_show(priv-&gt;group_combo);</div><div class="line"><a name="l01957"></a><span class="lineno"> 1957</span>&#160; gtk_grid_attach(GTK_GRID(grid), priv-&gt;group_combo, 1, 6, 3, 1);</div><div class="line"><a name="l01958"></a><span class="lineno"> 1958</span>&#160; gtk_widget_set_sensitive(priv-&gt;group_combo, FALSE);</div><div class="line"><a name="l01959"></a><span class="lineno"> 1959</span>&#160;</div><div class="line"><a name="l01960"></a><span class="lineno"> 1960</span>&#160; s = g_strdup_printf(_(<span class="stringliteral">&quot;Use &#39;%s&#39; as subgroup delimiter&quot;</span>), <span class="stringliteral">&quot;/&quot;</span>);</div><div class="line"><a name="l01961"></a><span class="lineno"> 1961</span>&#160; gtk_widget_set_tooltip_text(priv-&gt;group_combo, s);</div><div class="line"><a name="l01962"></a><span class="lineno"> 1962</span>&#160; g_free(s);</div><div class="line"><a name="l01963"></a><span class="lineno"> 1963</span>&#160;</div><div class="line"><a name="l01964"></a><span class="lineno"> 1964</span>&#160; <span class="comment">/* Profile: Labels */</span></div><div class="line"><a name="l01965"></a><span class="lineno"> 1965</span>&#160; widget = gtk_label_new(_(<span class="stringliteral">&quot;Labels&quot;</span>));</div><div class="line"><a name="l01966"></a><span class="lineno"> 1966</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l01967"></a><span class="lineno"> 1967</span>&#160; gtk_widget_set_valign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l01968"></a><span class="lineno"> 1968</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l01969"></a><span class="lineno"> 1969</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, 9, 2, 1);</div><div class="line"><a name="l01970"></a><span class="lineno"> 1970</span>&#160; gtk_grid_set_column_spacing(GTK_GRID(grid), 10);</div><div class="line"><a name="l01971"></a><span class="lineno"> 1971</span>&#160;</div><div class="line"><a name="l01972"></a><span class="lineno"> 1972</span>&#160; widget = gtk_entry_new();</div><div class="line"><a name="l01973"></a><span class="lineno"> 1973</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l01974"></a><span class="lineno"> 1974</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 1, 9, 3, 1);</div><div class="line"><a name="l01975"></a><span class="lineno"> 1975</span>&#160; gtk_entry_set_max_length(GTK_ENTRY(widget), 255);</div><div class="line"><a name="l01976"></a><span class="lineno"> 1976</span>&#160; priv-&gt;labels_entry = widget;</div><div class="line"><a name="l01977"></a><span class="lineno"> 1977</span>&#160;</div><div class="line"><a name="l01978"></a><span class="lineno"> 1978</span>&#160; <span class="keywordflow">if</span> (!profile_file_exists) {</div><div class="line"><a name="l01979"></a><span class="lineno"> 1979</span>&#160; gtk_widget_set_tooltip_text(widget, _(<span class="stringliteral">&quot;Label1,Label2&quot;</span>));</div><div class="line"><a name="l01980"></a><span class="lineno"> 1980</span>&#160;<span class="preprocessor">#if GTK_CHECK_VERSION(3, 16, 0)</span></div><div class="line"><a name="l01981"></a><span class="lineno"> 1981</span>&#160; gtk_entry_grab_focus_without_selecting(GTK_ENTRY(widget));</div><div class="line"><a name="l01982"></a><span class="lineno"> 1982</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l01983"></a><span class="lineno"> 1983</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;changed&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#a287b79ac0e199393f391655ab5cbb55b">remmina_file_editor_entry_on_changed</a>), gfe);</div><div class="line"><a name="l01984"></a><span class="lineno"> 1984</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l01985"></a><span class="lineno"> 1985</span>&#160; cs = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;labels&quot;</span>);</div><div class="line"><a name="l01986"></a><span class="lineno"> 1986</span>&#160; gtk_entry_set_text(GTK_ENTRY(widget), cs ? cs : <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l01987"></a><span class="lineno"> 1987</span>&#160; }</div><div class="line"><a name="l01988"></a><span class="lineno"> 1988</span>&#160;</div><div class="line"><a name="l01989"></a><span class="lineno"> 1989</span>&#160; <span class="comment">/* Profile: Protocol */</span></div><div class="line"><a name="l01990"></a><span class="lineno"> 1990</span>&#160; widget = gtk_label_new(_(<span class="stringliteral">&quot;Protocol&quot;</span>));</div><div class="line"><a name="l01991"></a><span class="lineno"> 1991</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l01992"></a><span class="lineno"> 1992</span>&#160; gtk_widget_set_valign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l01993"></a><span class="lineno"> 1993</span>&#160; gtk_widget_set_halign(widget, GTK_ALIGN_START);</div><div class="line"><a name="l01994"></a><span class="lineno"> 1994</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, 12, 2, 1);</div><div class="line"><a name="l01995"></a><span class="lineno"> 1995</span>&#160;</div><div class="line"><a name="l01996"></a><span class="lineno"> 1996</span>&#160; widget = <a class="code" href="remmina__public_8c.html#ab4a593956dfe89aba3242a5c264a681f">remmina_public_create_combo</a>(TRUE);</div><div class="line"><a name="l01997"></a><span class="lineno"> 1997</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l01998"></a><span class="lineno"> 1998</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 1, 12, 3, 1);</div><div class="line"><a name="l01999"></a><span class="lineno"> 1999</span>&#160; priv-&gt;protocol_combo = widget;</div><div class="line"><a name="l02000"></a><span class="lineno"> 2000</span>&#160; <a class="code" href="remmina__plugin__manager_8c.html#a13f13a6a4280268656f258cb5aeff031">remmina_plugin_manager_for_each_plugin</a>(<a class="code" href="plugin_8h.html#aaf53c620d115a4642130227cff4a624aa45e094c248384c12cdafd9d088e4aa24">REMMINA_PLUGIN_TYPE_PROTOCOL</a>, <a class="code" href="remmina__file__editor_8c.html#afc37e2e9dbe8f0c8bcf1a76d0c54ea1b">remmina_file_editor_iterate_protocol</a>, gfe);</div><div class="line"><a name="l02001"></a><span class="lineno"> 2001</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;changed&quot;</span>, G_CALLBACK(<a class="code" href="remmina__file__editor_8c.html#a333de350f1b07add2d0fd06320c80d16">remmina_file_editor_protocol_combo_on_changed</a>), gfe);</div><div class="line"><a name="l02002"></a><span class="lineno"> 2002</span>&#160;</div><div class="line"><a name="l02003"></a><span class="lineno"> 2003</span>&#160; <span class="comment">/* Create the &quot;Preference&quot; frame */</span></div><div class="line"><a name="l02004"></a><span class="lineno"> 2004</span>&#160; widget = gtk_event_box_new();</div><div class="line"><a name="l02005"></a><span class="lineno"> 2005</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l02006"></a><span class="lineno"> 2006</span>&#160; gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(gfe))), widget, TRUE, TRUE, 2);</div><div class="line"><a name="l02007"></a><span class="lineno"> 2007</span>&#160; priv-&gt;config_box = widget;</div><div class="line"><a name="l02008"></a><span class="lineno"> 2008</span>&#160;</div><div class="line"><a name="l02009"></a><span class="lineno"> 2009</span>&#160; priv-&gt;config_container = NULL;</div><div class="line"><a name="l02010"></a><span class="lineno"> 2010</span>&#160; priv-&gt;config_scrollable = NULL;</div><div class="line"><a name="l02011"></a><span class="lineno"> 2011</span>&#160;</div><div class="line"><a name="l02012"></a><span class="lineno"> 2012</span>&#160; <a class="code" href="remmina__file__editor_8c.html#a333de350f1b07add2d0fd06320c80d16">remmina_file_editor_protocol_combo_on_changed</a>(GTK_COMBO_BOX(priv-&gt;protocol_combo), gfe);</div><div class="line"><a name="l02013"></a><span class="lineno"> 2013</span>&#160;</div><div class="line"><a name="l02014"></a><span class="lineno"> 2014</span>&#160; <a class="code" href="remmina__file__editor_8c.html#add382dd8f40444b928e78b293a86a257">remmina_file_editor_check_profile</a>(gfe);</div><div class="line"><a name="l02015"></a><span class="lineno"> 2015</span>&#160;</div><div class="line"><a name="l02016"></a><span class="lineno"> 2016</span>&#160; <span class="keywordflow">return</span> GTK_WIDGET(gfe);</div><div class="line"><a name="l02017"></a><span class="lineno"> 2017</span>&#160;}</div><div class="line"><a name="l02018"></a><span class="lineno"> 2018</span>&#160;</div><div class="line"><a name="l02019"></a><span class="lineno"><a class="line" href="remmina__file__editor_8h.html#aa4e8657ca722e4cce3f3c42c0cfec51e"> 2019</a></span>&#160;GtkWidget *<a class="code" href="remmina__file__editor_8c.html#aa4e8657ca722e4cce3f3c42c0cfec51e">remmina_file_editor_new</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l02020"></a><span class="lineno"> 2020</span>&#160;{</div><div class="line"><a name="l02021"></a><span class="lineno"> 2021</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l02022"></a><span class="lineno"> 2022</span>&#160; <span class="keywordflow">return</span> <a class="code" href="remmina__file__editor_8c.html#ab563344276cbcdf0fcea05b0b64c7aeb">remmina_file_editor_new_full</a>(NULL, NULL);</div><div class="line"><a name="l02023"></a><span class="lineno"> 2023</span>&#160;}</div><div class="line"><a name="l02024"></a><span class="lineno"> 2024</span>&#160;</div><div class="line"><a name="l02025"></a><span class="lineno"><a class="line" href="remmina__file__editor_8h.html#ab563344276cbcdf0fcea05b0b64c7aeb"> 2025</a></span>&#160;GtkWidget *<a class="code" href="remmina__file__editor_8c.html#ab563344276cbcdf0fcea05b0b64c7aeb">remmina_file_editor_new_full</a>(<span class="keyword">const</span> gchar *server, <span class="keyword">const</span> gchar *protocol)</div><div class="line"><a name="l02026"></a><span class="lineno"> 2026</span>&#160;{</div><div class="line"><a name="l02027"></a><span class="lineno"> 2027</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l02028"></a><span class="lineno"> 2028</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile;</div><div class="line"><a name="l02029"></a><span class="lineno"> 2029</span>&#160;</div><div class="line"><a name="l02030"></a><span class="lineno"> 2030</span>&#160; remminafile = <a class="code" href="remmina__file_8c.html#a5e421ba636d34e21bba5ece463e98892">remmina_file_new</a>();</div><div class="line"><a name="l02031"></a><span class="lineno"> 2031</span>&#160; <span class="keywordflow">if</span> (server)</div><div class="line"><a name="l02032"></a><span class="lineno"> 2032</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;server&quot;</span>, server);</div><div class="line"><a name="l02033"></a><span class="lineno"> 2033</span>&#160; <span class="keywordflow">if</span> (protocol)</div><div class="line"><a name="l02034"></a><span class="lineno"> 2034</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;protocol&quot;</span>, protocol);</div><div class="line"><a name="l02035"></a><span class="lineno"> 2035</span>&#160;</div><div class="line"><a name="l02036"></a><span class="lineno"> 2036</span>&#160; <span class="keywordflow">return</span> <a class="code" href="remmina__file__editor_8c.html#a08327d6951c345808628dbb5784aba06">remmina_file_editor_new_from_file</a>(remminafile);</div><div class="line"><a name="l02037"></a><span class="lineno"> 2037</span>&#160;}</div><div class="line"><a name="l02038"></a><span class="lineno"> 2038</span>&#160;</div><div class="line"><a name="l02039"></a><span class="lineno"><a class="line" href="remmina__file__editor_8h.html#aa5c50852f8569f075eec5d5db30c2ebf"> 2039</a></span>&#160;GtkWidget *<a class="code" href="remmina__file__editor_8c.html#aa5c50852f8569f075eec5d5db30c2ebf">remmina_file_editor_new_copy</a>(<span class="keyword">const</span> gchar *filename)</div><div class="line"><a name="l02040"></a><span class="lineno"> 2040</span>&#160;{</div><div class="line"><a name="l02041"></a><span class="lineno"> 2041</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l02042"></a><span class="lineno"> 2042</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile;</div><div class="line"><a name="l02043"></a><span class="lineno"> 2043</span>&#160; GtkWidget *dialog;</div><div class="line"><a name="l02044"></a><span class="lineno"> 2044</span>&#160;</div><div class="line"><a name="l02045"></a><span class="lineno"> 2045</span>&#160; remminafile = <a class="code" href="remmina__file_8c.html#ac1685edf35a793a396ce039d7eec5343">remmina_file_copy</a>(filename);</div><div class="line"><a name="l02046"></a><span class="lineno"> 2046</span>&#160;</div><div class="line"><a name="l02047"></a><span class="lineno"> 2047</span>&#160; <span class="keywordflow">if</span> (remminafile) {</div><div class="line"><a name="l02048"></a><span class="lineno"> 2048</span>&#160; <span class="keywordflow">return</span> <a class="code" href="remmina__file__editor_8c.html#a08327d6951c345808628dbb5784aba06">remmina_file_editor_new_from_file</a>(remminafile);</div><div class="line"><a name="l02049"></a><span class="lineno"> 2049</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l02050"></a><span class="lineno"> 2050</span>&#160; dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,</div><div class="line"><a name="l02051"></a><span class="lineno"> 2051</span>&#160; _(<span class="stringliteral">&quot;Could not find the file “%s”.&quot;</span>), filename);</div><div class="line"><a name="l02052"></a><span class="lineno"> 2052</span>&#160; gtk_dialog_run(GTK_DIALOG(dialog));</div><div class="line"><a name="l02053"></a><span class="lineno"> 2053</span>&#160; gtk_widget_destroy(dialog);</div><div class="line"><a name="l02054"></a><span class="lineno"> 2054</span>&#160; <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l02055"></a><span class="lineno"> 2055</span>&#160; }</div><div class="line"><a name="l02056"></a><span class="lineno"> 2056</span>&#160;}</div><div class="line"><a name="l02057"></a><span class="lineno"> 2057</span>&#160;</div><div class="line"><a name="l02058"></a><span class="lineno"><a class="line" href="remmina__file__editor_8h.html#aa9345cfe3fb32d326b652e96ee55eaea"> 2058</a></span>&#160;GtkWidget *<a class="code" href="remmina__file__editor_8c.html#aa9345cfe3fb32d326b652e96ee55eaea">remmina_file_editor_new_from_filename</a>(<span class="keyword">const</span> gchar *filename)</div><div class="line"><a name="l02059"></a><span class="lineno"> 2059</span>&#160;{</div><div class="line"><a name="l02060"></a><span class="lineno"> 2060</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l02061"></a><span class="lineno"> 2061</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile;</div><div class="line"><a name="l02062"></a><span class="lineno"> 2062</span>&#160;</div><div class="line"><a name="l02063"></a><span class="lineno"> 2063</span>&#160; remminafile = <a class="code" href="remmina__file__manager_8c.html#af7b58659604660eb0cb40b0e0f8348ab">remmina_file_manager_load_file</a>(filename);</div><div class="line"><a name="l02064"></a><span class="lineno"> 2064</span>&#160; <span class="keywordflow">if</span> (remminafile) {</div><div class="line"><a name="l02065"></a><span class="lineno"> 2065</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a>(remminafile, <span class="stringliteral">&quot;profile-lock&quot;</span>, FALSE) &amp;&amp; <a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(<a class="code" href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a>()) == 0)</div><div class="line"><a name="l02066"></a><span class="lineno"> 2066</span>&#160; <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l02067"></a><span class="lineno"> 2067</span>&#160; <span class="keywordflow">return</span> <a class="code" href="remmina__file__editor_8c.html#a08327d6951c345808628dbb5784aba06">remmina_file_editor_new_from_file</a>(remminafile);</div><div class="line"><a name="l02068"></a><span class="lineno"> 2068</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l02069"></a><span class="lineno"> 2069</span>&#160; GtkWidget *dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,</div><div class="line"><a name="l02070"></a><span class="lineno"> 2070</span>&#160; _(<span class="stringliteral">&quot;Could not find the file “%s”.&quot;</span>), filename);</div><div class="line"><a name="l02071"></a><span class="lineno"> 2071</span>&#160; gtk_dialog_run(GTK_DIALOG(dialog));</div><div class="line"><a name="l02072"></a><span class="lineno"> 2072</span>&#160; gtk_widget_destroy(dialog);</div><div class="line"><a name="l02073"></a><span class="lineno"> 2073</span>&#160; <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l02074"></a><span class="lineno"> 2074</span>&#160; }</div><div class="line"><a name="l02075"></a><span class="lineno"> 2075</span>&#160;}</div><div class="ttc" id="types_8h_html_aee1a3e130e6991978acd907b52204350a579ed0f0f6624dd55a25665693c92a92"><div class="ttname"><a href="types_8h.html#aee1a3e130e6991978acd907b52204350a579ed0f0f6624dd55a25665693c92a92">REMMINA_PROTOCOL_SETTING_TYPE_SERVER</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00100">types.h:100</a></div></div>
<div class="ttc" id="remmina__public_8c_html_af9c70a727bfeb32730b98ce5cf7a3739"><div class="ttname"><a href="remmina__public_8c.html#af9c70a727bfeb32730b98ce5cf7a3739">remmina_public_create_group</a></div><div class="ttdeci">void remmina_public_create_group(GtkGrid *grid, const gchar *group, gint row, gint rows, gint cols)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__public_8c_source.html#l00251">remmina_public.c:251</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_af60b8edfa50563ae4c7593efc3deed55"><div class="ttname"><a href="remmina__plugin__manager_8c.html#af60b8edfa50563ae4c7593efc3deed55">remmina_plugin_manager_get_canonical_setting_name</a></div><div class="ttdeci">const gchar * remmina_plugin_manager_get_canonical_setting_name(const RemminaProtocolSetting *setting)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00453">remmina_plugin_manager.c:453</a></div></div>
<div class="ttc" id="remmina__string__list_8c_html_a11147c41297537effe55f18a63ce9f7e"><div class="ttname"><a href="remmina__string__list_8c.html#a11147c41297537effe55f18a63ce9f7e">remmina_string_list_new</a></div><div class="ttdeci">GtkDialog * remmina_string_list_new(gboolean two_columns, const gchar *fields_separator)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__string__list_8c_source.html#l00280">remmina_string_list.c:280</a></div></div>
@@ -95,30 +95,30 @@ $(document).ready(function(){initNavTree('remmina__file__editor_8c_source.html',
<div class="ttc" id="remmina__plugin__manager_8h_html"><div class="ttname"><a href="remmina__plugin__manager_8h.html">remmina_plugin_manager.h</a></div></div>
<div class="ttc" id="remmina__file_8c_html_a8eb1b213d9d08c6ad13683ce05f4355e"><div class="ttname"><a href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a></div><div class="ttdeci">const gchar * remmina_file_get_string(RemminaFile *remminafile, const gchar *setting)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00516">remmina_file.c:516</a></div></div>
<div class="ttc" id="remmina__pref_8c_html_a745bbef1d48a7462f8db997821742395"><div class="ttname"><a href="remmina__pref_8c.html#a745bbef1d48a7462f8db997821742395">remmina_pref_keymap_groups</a></div><div class="ttdeci">gchar ** remmina_pref_keymap_groups(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8c_source.html#l01041">remmina_pref.c:1041</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_afad358c6e3a5918416c6eb036157d8e5"><div class="ttname"><a href="remmina__file__editor_8c.html#afad358c6e3a5918416c6eb036157d8e5">remmina_file_editor_create_resolution</a></div><div class="ttdeci">static void remmina_file_editor_create_resolution(RemminaFileEditor *gfe, const RemminaProtocolSetting *setting, GtkWidget *grid, gint row)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00558">remmina_file_editor.c:558</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_afad358c6e3a5918416c6eb036157d8e5"><div class="ttname"><a href="remmina__file__editor_8c.html#afad358c6e3a5918416c6eb036157d8e5">remmina_file_editor_create_resolution</a></div><div class="ttdeci">static void remmina_file_editor_create_resolution(RemminaFileEditor *gfe, const RemminaProtocolSetting *setting, GtkWidget *grid, gint row)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00543">remmina_file_editor.c:543</a></div></div>
<div class="ttc" id="remmina__ssh_8h_html"><div class="ttname"><a href="remmina__ssh_8h.html">remmina_ssh.h</a></div></div>
<div class="ttc" id="types_8h_html_aee1a3e130e6991978acd907b52204350aadb70e5d52a6eccc1aaf6f1428c1fb11"><div class="ttname"><a href="types_8h.html#aee1a3e130e6991978acd907b52204350aadb70e5d52a6eccc1aaf6f1428c1fb11">REMMINA_PROTOCOL_SETTING_TYPE_TEXTAREA</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00106">types.h:106</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_af253834273229ac38c6fdfe613626965"><div class="ttname"><a href="remmina__file__editor_8c.html#af253834273229ac38c6fdfe613626965">remmina_file_editor_create_combo</a></div><div class="ttdeci">static GtkWidget * remmina_file_editor_create_combo(RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, const gchar *list, const gchar *value, gchar *setting_name)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00735">remmina_file_editor.c:735</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_af253834273229ac38c6fdfe613626965"><div class="ttname"><a href="remmina__file__editor_8c.html#af253834273229ac38c6fdfe613626965">remmina_file_editor_create_combo</a></div><div class="ttdeci">static GtkWidget * remmina_file_editor_create_combo(RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, const gchar *list, const gchar *value, gchar *setting_name)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00720">remmina_file_editor.c:720</a></div></div>
<div class="ttc" id="remmina__file_8h_html_abc6126af1d45847bc59afa0aa3216b04a9f6024449a620d679eab2c09ea77877e"><div class="ttname"><a href="remmina__file_8h.html#abc6126af1d45847bc59afa0aa3216b04a9f6024449a620d679eab2c09ea77877e">SSH_AUTH_AUTO_PUBLICKEY</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8h_source.html#l00071">remmina_file.h:71</a></div></div>
<div class="ttc" id="types_8h_html_aee1a3e130e6991978acd907b52204350ab4c68b7df42ebd08e953cc72c5b97583"><div class="ttname"><a href="types_8h.html#aee1a3e130e6991978acd907b52204350ab4c68b7df42ebd08e953cc72c5b97583">REMMINA_PROTOCOL_SETTING_TYPE_INT</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00112">types.h:112</a></div></div>
<div class="ttc" id="remmina__file_8c_html_a3fb992fced83e0f1c4e4e3c8d2206be5"><div class="ttname"><a href="remmina__file_8c.html#a3fb992fced83e0f1c4e4e3c8d2206be5">remmina_file_dup</a></div><div class="ttdeci">RemminaFile * remmina_file_dup(RemminaFile *remminafile)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00865">remmina_file.c:865</a></div></div>
<div class="ttc" id="remmina__public_8c_html_a9ec86f1e9caea5ebc867a90230d6b51a"><div class="ttname"><a href="remmina__public_8c.html#a9ec86f1e9caea5ebc867a90230d6b51a">remmina_public_create_combo_entry</a></div><div class="ttdeci">GtkWidget * remmina_public_create_combo_entry(const gchar *text, const gchar *def, gboolean descending)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__public_8c_source.html#l00065">remmina_public.c:65</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_a73b8581fd1fd77532b748d91a2951f25"><div class="ttname"><a href="remmina__file__editor_8c.html#a73b8581fd1fd77532b748d91a2951f25">remmina_file_editor_on_connect</a></div><div class="ttdeci">static void remmina_file_editor_on_connect(GtkWidget *button, RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01744">remmina_file_editor.c:1744</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_a73b8581fd1fd77532b748d91a2951f25"><div class="ttname"><a href="remmina__file__editor_8c.html#a73b8581fd1fd77532b748d91a2951f25">remmina_file_editor_on_connect</a></div><div class="ttdeci">static void remmina_file_editor_on_connect(GtkWidget *button, RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01729">remmina_file_editor.c:1729</a></div></div>
<div class="ttc" id="types_8h_html_aee1a3e130e6991978acd907b52204350a52a80f3f9b84e9e0d0bf3335cfd7527f"><div class="ttname"><a href="types_8h.html#aee1a3e130e6991978acd907b52204350a52a80f3f9b84e9e0d0bf3335cfd7527f">REMMINA_PROTOCOL_SETTING_TYPE_CHECK</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00109">types.h:109</a></div></div>
<div class="ttc" id="rcw_8c_html_af657fd4825d16d8d003a8b42fbd0c715"><div class="ttname"><a href="rcw_8c.html#af657fd4825d16d8d003a8b42fbd0c715">remmina_pref_file</a></div><div class="ttdeci">gchar * remmina_pref_file</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l00078">rcw.c:78</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a7740488de65c0e642895cc9dfba07b6e"><div class="ttname"><a href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a></div><div class="ttdeci">GtkWindow * remmina_main_get_window()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01718">remmina_main.c:1718</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a7740488de65c0e642895cc9dfba07b6e"><div class="ttname"><a href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a></div><div class="ttdeci">GtkWindow * remmina_main_get_window()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01736">remmina_main.c:1736</a></div></div>
<div class="ttc" id="types_8h_html_aee1a3e130e6991978acd907b52204350a68b440d346168aadb6fd728ea394607f"><div class="ttname"><a href="types_8h.html#aee1a3e130e6991978acd907b52204350a68b440d346168aadb6fd728ea394607f">REMMINA_PROTOCOL_SETTING_TYPE_FOLDER</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00111">types.h:111</a></div></div>
<div class="ttc" id="remmina__string__list_8c_html_a500b85eafd23280f998d2980d1eba80e"><div class="ttname"><a href="remmina__string__list_8c.html#a500b85eafd23280f998d2980d1eba80e">remmina_string_list_set_validation_func</a></div><div class="ttdeci">void remmina_string_list_set_validation_func(RemminaStringListValidationFunc func)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__string__list_8c_source.html#l00247">remmina_string_list.c:247</a></div></div>
<div class="ttc" id="remmina__file__editor_8c_html_abb7466f51c11427405a54c94767a52de"><div class="ttname"><a href="remmina__file__editor_8c.html#abb7466f51c11427405a54c94767a52de">G_DEFINE_TYPE</a></div><div class="ttdeci">G_DEFINE_TYPE(RemminaFileEditor, remmina_file_editor, GTK_TYPE_DIALOG)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00058">remmina_file_editor.c:58</a></div></div>
<div class="ttc" id="types_8h_html_aee1a3e130e6991978acd907b52204350a8be3f210c609fde31f68e607c41de296"><div class="ttname"><a href="types_8h.html#aee1a3e130e6991978acd907b52204350a8be3f210c609fde31f68e607c41de296">REMMINA_PROTOCOL_SETTING_TYPE_TEXT</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00105">types.h:105</a></div></div>
<div class="ttc" id="remmina__file__manager_8h_html"><div class="ttname"><a href="remmina__file__manager_8h.html">remmina_file_manager.h</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_ac47032c150cbdb7bf691059b4e3eb9d0"><div class="ttname"><a href="remmina__file__editor_8c.html#ac47032c150cbdb7bf691059b4e3eb9d0">remmina_file_editor_create_int</a></div><div class="ttdeci">static GtkWidget * remmina_file_editor_create_int(RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, const gint value, gint left, gint right, gchar *setting_name)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00849">remmina_file_editor.c:849</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_ac47032c150cbdb7bf691059b4e3eb9d0"><div class="ttname"><a href="remmina__file__editor_8c.html#ac47032c150cbdb7bf691059b4e3eb9d0">remmina_file_editor_create_int</a></div><div class="ttdeci">static GtkWidget * remmina_file_editor_create_int(RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, const gint value, gint left, gint right, gchar *setting_name)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00834">remmina_file_editor.c:834</a></div></div>
<div class="ttc" id="remmina__file__editor_8c_html_a8a7f3ce69255bf413ef8fa841af3d019"><div class="ttname"><a href="remmina__file__editor_8c.html#a8a7f3ce69255bf413ef8fa841af3d019">remmina_file_editor_ssh_tunnel_enabled_check_on_toggled</a></div><div class="ttdeci">static void remmina_file_editor_ssh_tunnel_enabled_check_on_toggled(GtkToggleButton *togglebutton, RemminaFileEditor *gfe, RemminaProtocolSSHSetting ssh_setting)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00368">remmina_file_editor.c:368</a></div></div>
<div class="ttc" id="remmina__file_8c_html_ad1e4f3a0f64cd98e301044b6c38a1f1d"><div class="ttname"><a href="remmina__file_8c.html#ad1e4f3a0f64cd98e301044b6c38a1f1d">remmina_file_get_filename</a></div><div class="ttdeci">const gchar * remmina_file_get_filename(RemminaFile *remminafile)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00210">remmina_file.c:210</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_a9266544ca3a532b9a02d985c18113e80"><div class="ttname"><a href="remmina__file__editor_8c.html#a9266544ca3a532b9a02d985c18113e80">remmina_file_editor_create_double</a></div><div class="ttdeci">static GtkWidget * remmina_file_editor_create_double(RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, gdouble value, gint left, gint right, gchar *setting_name)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00891">remmina_file_editor.c:891</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_ac9b7c0ba5ece064548bcaf72d1b0425a"><div class="ttname"><a href="remmina__file__editor_8c.html#ac9b7c0ba5ece064548bcaf72d1b0425a">remmina_file_editor_create_select</a></div><div class="ttdeci">static GtkWidget * remmina_file_editor_create_select(RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, const gpointer *list, const gchar *value, gchar *setting_name)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00713">remmina_file_editor.c:713</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_a9266544ca3a532b9a02d985c18113e80"><div class="ttname"><a href="remmina__file__editor_8c.html#a9266544ca3a532b9a02d985c18113e80">remmina_file_editor_create_double</a></div><div class="ttdeci">static GtkWidget * remmina_file_editor_create_double(RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, gdouble value, gint left, gint right, gchar *setting_name)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00876">remmina_file_editor.c:876</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_ac9b7c0ba5ece064548bcaf72d1b0425a"><div class="ttname"><a href="remmina__file__editor_8c.html#ac9b7c0ba5ece064548bcaf72d1b0425a">remmina_file_editor_create_select</a></div><div class="ttdeci">static GtkWidget * remmina_file_editor_create_select(RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, const gpointer *list, const gchar *value, gchar *setting_name)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00698">remmina_file_editor.c:698</a></div></div>
<div class="ttc" id="types_8h_html_a112d7cc6c755209cabb68cf2a62ad515"><div class="ttname"><a href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a></div><div class="ttdeci">typedefG_BEGIN_DECLS struct _RemminaFile RemminaFile</div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00044">types.h:44</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_a333de350f1b07add2d0fd06320c80d16"><div class="ttname"><a href="remmina__file__editor_8c.html#a333de350f1b07add2d0fd06320c80d16">remmina_file_editor_protocol_combo_on_changed</a></div><div class="ttdeci">static void remmina_file_editor_protocol_combo_on_changed(GtkComboBox *combo, RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01351">remmina_file_editor.c:1351</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_a333de350f1b07add2d0fd06320c80d16"><div class="ttname"><a href="remmina__file__editor_8c.html#a333de350f1b07add2d0fd06320c80d16">remmina_file_editor_protocol_combo_on_changed</a></div><div class="ttdeci">static void remmina_file_editor_protocol_combo_on_changed(GtkComboBox *combo, RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01336">remmina_file_editor.c:1336</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_a13f13a6a4280268656f258cb5aeff031"><div class="ttname"><a href="remmina__plugin__manager_8c.html#a13f13a6a4280268656f258cb5aeff031">remmina_plugin_manager_for_each_plugin</a></div><div class="ttdeci">void remmina_plugin_manager_for_each_plugin(RemminaPluginType type, RemminaPluginFunc func, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00467">remmina_plugin_manager.c:467</a></div></div>
<div class="ttc" id="remmina__widget__pool_8c_html_ae3c9c9853eb5bedbfeadbfac1d495b95"><div class="ttname"><a href="remmina__widget__pool_8c.html#ae3c9c9853eb5bedbfeadbfac1d495b95">remmina_widget_pool_register</a></div><div class="ttdeci">void remmina_widget_pool_register(GtkWidget *widget)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__widget__pool_8c_source.html#l00056">remmina_widget_pool.c:56</a></div></div>
<div class="ttc" id="types_8h_html_aee1a3e130e6991978acd907b52204350ae76d06b6e313971e5f420dd6e7f4c5aa"><div class="ttname"><a href="types_8h.html#aee1a3e130e6991978acd907b52204350ae76d06b6e313971e5f420dd6e7f4c5aa">REMMINA_PROTOCOL_SETTING_TYPE_PASSWORD</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00101">types.h:101</a></div></div>
@@ -131,12 +131,11 @@ $(document).ready(function(){initNavTree('remmina__file__editor_8c_source.html',
<div class="ttc" id="struct___remmina_plugin_html_a024d3e6d752dd29828b31c60c8c7c201"><div class="ttname"><a href="struct___remmina_plugin.html#a024d3e6d752dd29828b31c60c8c7c201">_RemminaPlugin::domain</a></div><div class="ttdeci">const gchar * domain</div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00060">plugin.h:60</a></div></div>
<div class="ttc" id="remmina__pref_8c_html_a0208d5dc8197423da67e5967aafb7a05"><div class="ttname"><a href="remmina__pref_8c.html#a0208d5dc8197423da67e5967aafb7a05">remmina_pref_get_recent</a></div><div class="ttdeci">gchar * remmina_pref_get_recent(const gchar *protocol)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8c_source.html#l00967">remmina_pref.c:967</a></div></div>
<div class="ttc" id="remmina__pref__dialog_8h_html"><div class="ttname"><a href="remmina__pref__dialog_8h.html">remmina_pref_dialog.h</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_a65b38bc13546d3d890624a79b080ffe9"><div class="ttname"><a href="remmina__file__editor_8c.html#a65b38bc13546d3d890624a79b080ffe9">remmina_file_toggle_password_view</a></div><div class="ttdeci">static void remmina_file_toggle_password_view(GtkWidget *widget, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00476">remmina_file_editor.c:476</a></div></div>
<div class="ttc" id="remmina__file__editor_8c_html_af7edb004da0ecc48277c1b656f2649ae"><div class="ttname"><a href="remmina__file__editor_8c.html#af7edb004da0ecc48277c1b656f2649ae">remmina_file_editor_create_server</a></div><div class="ttdeci">static void remmina_file_editor_create_server(RemminaFileEditor *gfe, const RemminaProtocolSetting *setting, GtkWidget *grid, gint row)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00427">remmina_file_editor.c:427</a></div></div>
<div class="ttc" id="remmina__icon_8c_html_af80ed314f91d653237249d839c7fc3b2"><div class="ttname"><a href="remmina__icon_8c.html#af80ed314f91d653237249d839c7fc3b2">remmina_icon_populate_menu</a></div><div class="ttdeci">void remmina_icon_populate_menu(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__icon_8c_source.html#l00250">remmina_icon.c:250</a></div></div>
<div class="ttc" id="types_8h_html_aee1a3e130e6991978acd907b52204350ae2237632b23d3c90a842bc5bc8302ec5"><div class="ttname"><a href="types_8h.html#aee1a3e130e6991978acd907b52204350ae2237632b23d3c90a842bc5bc8302ec5">REMMINA_PROTOCOL_SETTING_TYPE_COMBO</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00108">types.h:108</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_ab563344276cbcdf0fcea05b0b64c7aeb"><div class="ttname"><a href="remmina__file__editor_8c.html#ab563344276cbcdf0fcea05b0b64c7aeb">remmina_file_editor_new_full</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new_full(const gchar *server, const gchar *protocol)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l02040">remmina_file_editor.c:2040</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_a9afd8d41c66f547320930eb331f3124d"><div class="ttname"><a href="remmina__file__editor_8c.html#a9afd8d41c66f547320930eb331f3124d">remmina_file_editor_init</a></div><div class="ttdeci">static void remmina_file_editor_init(RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01799">remmina_file_editor.c:1799</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_ab563344276cbcdf0fcea05b0b64c7aeb"><div class="ttname"><a href="remmina__file__editor_8c.html#ab563344276cbcdf0fcea05b0b64c7aeb">remmina_file_editor_new_full</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new_full(const gchar *server, const gchar *protocol)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l02025">remmina_file_editor.c:2025</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_a9afd8d41c66f547320930eb331f3124d"><div class="ttname"><a href="remmina__file__editor_8c.html#a9afd8d41c66f547320930eb331f3124d">remmina_file_editor_init</a></div><div class="ttdeci">static void remmina_file_editor_init(RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01784">remmina_file_editor.c:1784</a></div></div>
<div class="ttc" id="struct___remmina_pref_html_a59eebf1d365ef192de8e14da2c381f37"><div class="ttname"><a href="struct___remmina_pref.html#a59eebf1d365ef192de8e14da2c381f37">_RemminaPref::resolutions</a></div><div class="ttdeci">gchar * resolutions</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8h_source.html#l00145">remmina_pref.h:145</a></div></div>
<div class="ttc" id="remmina__file__editor_8c_html_a471a1f5ab14197b626f84ec3128e87d4"><div class="ttname"><a href="remmina__file__editor_8c.html#a471a1f5ab14197b626f84ec3128e87d4">remmina_file_get_double</a></div><div class="ttdeci">gdouble remmina_file_get_double(RemminaFile *remminafile, const gchar *setting, gfloat default_value)</div></div>
<div class="ttc" id="remmina__file_8c_html_ac952f8ddb715314f11cef1ccc513fb7e"><div class="ttname"><a href="remmina__file_8c.html#ac952f8ddb715314f11cef1ccc513fb7e">remmina_file_generate_filename</a></div><div class="ttdeci">void remmina_file_generate_filename(RemminaFile *remminafile)</div><div class="ttdoc">Generate a new Remmina connection profile file name. </div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00114">remmina_file.c:114</a></div></div>
@@ -149,17 +148,17 @@ $(document).ready(function(){initNavTree('remmina__file__editor_8c_source.html',
<div class="ttc" id="types_8h_html_a373ddef8221457d86c64830c26d3f78a"><div class="ttname"><a href="types_8h.html#a373ddef8221457d86c64830c26d3f78a">RemminaProtocolWidgetResolutionMode</a></div><div class="ttdeci">RemminaProtocolWidgetResolutionMode</div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00147">types.h:147</a></div></div>
<div class="ttc" id="remmina__file__editor_8c_html_a2808be66552b252210e1c3b76530cd11"><div class="ttname"><a href="remmina__file__editor_8c.html#a2808be66552b252210e1c3b76530cd11">remmina_file_editor_show_validation_error_popup</a></div><div class="ttdeci">static void remmina_file_editor_show_validation_error_popup(RemminaFileEditor *gfe, GtkWidget *failed_widget, GError *err)</div><div class="ttdoc">Shows a tooltip-like window which tells the user what they did wrong to trigger the validation functi...</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00158">remmina_file_editor.c:158</a></div></div>
<div class="ttc" id="remmina__public_8c_html_a616258d3226ec1f1ecee6ce18aba535b"><div class="ttname"><a href="remmina__public_8c.html#a616258d3226ec1f1ecee6ce18aba535b">remmina_public_create_combo_map</a></div><div class="ttdeci">GtkWidget * remmina_public_create_combo_map(const gpointer *key_value_list, const gchar *def, gboolean use_icon, const gchar *domain)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__public_8c_source.html#l00211">remmina_public.c:211</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_ab5d28ebef67a21099e99268bd6fa04aa"><div class="ttname"><a href="remmina__file__editor_8c.html#ab5d28ebef67a21099e99268bd6fa04aa">remmina_file_editor_create_chooser</a></div><div class="ttdeci">static GtkWidget * remmina_file_editor_create_chooser(RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, const gchar *value, gint type, gchar *setting_name)</div><div class="ttdoc">Create checkbox + gtk_file_chooser for open files and select folders. </div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00786">remmina_file_editor.c:786</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_ab5d28ebef67a21099e99268bd6fa04aa"><div class="ttname"><a href="remmina__file__editor_8c.html#ab5d28ebef67a21099e99268bd6fa04aa">remmina_file_editor_create_chooser</a></div><div class="ttdeci">static GtkWidget * remmina_file_editor_create_chooser(RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, const gchar *value, gint type, gchar *setting_name)</div><div class="ttdoc">Create checkbox + gtk_file_chooser for open files and select folders. </div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00771">remmina_file_editor.c:771</a></div></div>
<div class="ttc" id="types_8h_html_a373ddef8221457d86c64830c26d3f78aaf5ff7e2cd480eb2acc5e1520e409202d"><div class="ttname"><a href="types_8h.html#a373ddef8221457d86c64830c26d3f78aaf5ff7e2cd480eb2acc5e1520e409202d">RES_USE_CLIENT</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00150">types.h:150</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_a54d3b1890fcf67c2f7615e37f27f7583"><div class="ttname"><a href="remmina__file__editor_8c.html#a54d3b1890fcf67c2f7615e37f27f7583">remmina_file_editor_create_password</a></div><div class="ttdeci">static GtkWidget * remmina_file_editor_create_password(RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, const gchar *value, gchar *setting_name)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00493">remmina_file_editor.c:493</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_a54d3b1890fcf67c2f7615e37f27f7583"><div class="ttname"><a href="remmina__file__editor_8c.html#a54d3b1890fcf67c2f7615e37f27f7583">remmina_file_editor_create_password</a></div><div class="ttdeci">static GtkWidget * remmina_file_editor_create_password(RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, const gchar *value, gchar *setting_name)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00478">remmina_file_editor.c:478</a></div></div>
<div class="ttc" id="remmina__file_8c_html_ab03b042504c09c1ad880ac126a703114"><div class="ttname"><a href="remmina__file_8c.html#ab03b042504c09c1ad880ac126a703114">remmina_file_set_filename</a></div><div class="ttdeci">void remmina_file_set_filename(RemminaFile *remminafile, const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00182">remmina_file.c:182</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_aadf4d0ab51fe09231b48d4a2939564f7"><div class="ttname"><a href="remmina__file__editor_8c.html#aadf4d0ab51fe09231b48d4a2939564f7">ssh_tunnel_auth_list</a></div><div class="ttdeci">static gpointer ssh_tunnel_auth_list[]</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01135">remmina_file_editor.c:1135</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_aadf4d0ab51fe09231b48d4a2939564f7"><div class="ttname"><a href="remmina__file__editor_8c.html#aadf4d0ab51fe09231b48d4a2939564f7">ssh_tunnel_auth_list</a></div><div class="ttdeci">static gpointer ssh_tunnel_auth_list[]</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01120">remmina_file_editor.c:1120</a></div></div>
<div class="ttc" id="types_8h_html_a64c62354cc2b7baa50e1d73dcd3df9c7a113aff9a0339ebe347ddf738d8c1f371"><div class="ttname"><a href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7a113aff9a0339ebe347ddf738d8c1f371">REMMINA_PROTOCOL_SSH_SETTING_SSH</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00130">types.h:130</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_ac4aed08e645f690ef347adec9cdbb9b9"><div class="ttname"><a href="remmina__file__editor_8c.html#ac4aed08e645f690ef347adec9cdbb9b9">remmina_file_editor_update_settings</a></div><div class="ttdeci">static GError * remmina_file_editor_update_settings(RemminaFileEditor *gfe, GtkWidget **failed_widget)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01535">remmina_file_editor.c:1535</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_ac4aed08e645f690ef347adec9cdbb9b9"><div class="ttname"><a href="remmina__file__editor_8c.html#ac4aed08e645f690ef347adec9cdbb9b9">remmina_file_editor_update_settings</a></div><div class="ttdeci">static GError * remmina_file_editor_update_settings(RemminaFileEditor *gfe, GtkWidget **failed_widget)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01520">remmina_file_editor.c:1520</a></div></div>
<div class="ttc" id="remmina__icon_8h_html"><div class="ttname"><a href="remmina__icon_8h.html">remmina_icon.h</a></div></div>
<div class="ttc" id="remmina__public_8h_html"><div class="ttname"><a href="remmina__public_8h.html">remmina_public.h</a></div></div>
<div class="ttc" id="struct___remmina_protocol_setting_html_ae1cc5b9d910f68aa5909e3cf483c1d1d"><div class="ttname"><a href="struct___remmina_protocol_setting.html#ae1cc5b9d910f68aa5909e3cf483c1d1d">_RemminaProtocolSetting::opt1</a></div><div class="ttdeci">gpointer opt1</div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00121">types.h:121</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_add382dd8f40444b928e78b293a86a257"><div class="ttname"><a href="remmina__file__editor_8c.html#add382dd8f40444b928e78b293a86a257">remmina_file_editor_check_profile</a></div><div class="ttdeci">void remmina_file_editor_check_profile(RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01864">remmina_file_editor.c:1864</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_add382dd8f40444b928e78b293a86a257"><div class="ttname"><a href="remmina__file__editor_8c.html#add382dd8f40444b928e78b293a86a257">remmina_file_editor_check_profile</a></div><div class="ttdeci">void remmina_file_editor_check_profile(RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01849">remmina_file_editor.c:1849</a></div></div>
<div class="ttc" id="remmina__public_8c_html_a3796b536244067e9a85923b1cefa6cde"><div class="ttname"><a href="remmina__public_8c.html#a3796b536244067e9a85923b1cefa6cde">remmina_public_create_combo_text_d</a></div><div class="ttdeci">GtkWidget * remmina_public_create_combo_text_d(const gchar *text, const gchar *def, const gchar *empty_choice)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__public_8c_source.html#l00117">remmina_public.c:117</a></div></div>
<div class="ttc" id="remmina__file__editor_8h_html_abbeeb0b88810f1f479ffb1fadfbf6530"><div class="ttname"><a href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a></div><div class="ttdeci">struct _RemminaFileEditorPriv RemminaFileEditorPriv</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8h_source.html#l00054">remmina_file_editor.h:54</a></div></div>
<div class="ttc" id="remmina__file__editor_8c_html_aecbc005c39cdf4fab4779090f11a3556"><div class="ttname"><a href="remmina__file__editor_8c.html#aecbc005c39cdf4fab4779090f11a3556">remmina_file_editor_create_notebook_tab</a></div><div class="ttdeci">static GtkWidget * remmina_file_editor_create_notebook_tab(RemminaFileEditor *gfe, const gchar *stock_id, const gchar *label, gint rows, gint cols)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00323">remmina_file_editor.c:323</a></div></div>
@@ -170,25 +169,24 @@ $(document).ready(function(){initNavTree('remmina__file__editor_8c_source.html',
<div class="ttc" id="remmina__file_8c_html_af153b0d289ac93f6ecdaa15d5f3b9b8c"><div class="ttname"><a href="remmina__file_8c.html#af153b0d289ac93f6ecdaa15d5f3b9b8c">remmina_file_set_int</a></div><div class="ttdeci">void remmina_file_set_int(RemminaFile *remminafile, const gchar *setting, gint value)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00585">remmina_file.c:585</a></div></div>
<div class="ttc" id="types_8h_html_aee1a3e130e6991978acd907b52204350a04da01eead7904a55d1c813950609b2d"><div class="ttname"><a href="types_8h.html#aee1a3e130e6991978acd907b52204350a04da01eead7904a55d1c813950609b2d">REMMINA_PROTOCOL_SETTING_TYPE_SELECT</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00107">types.h:107</a></div></div>
<div class="ttc" id="remmina__file_8c_html_a55f66f2bb81bf427d6837e1adb7fe1d4"><div class="ttname"><a href="remmina__file_8c.html#a55f66f2bb81bf427d6837e1adb7fe1d4">remmina_file_delete</a></div><div class="ttdeci">void remmina_file_delete(const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00911">remmina_file.c:911</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_a287b79ac0e199393f391655ab5cbb55b"><div class="ttname"><a href="remmina__file__editor_8c.html#a287b79ac0e199393f391655ab5cbb55b">remmina_file_editor_entry_on_changed</a></div><div class="ttdeci">static void remmina_file_editor_entry_on_changed(GtkEditable *editable, RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01874">remmina_file_editor.c:1874</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_a8cec1e80676c945f10bf39aca671d0a0"><div class="ttname"><a href="remmina__file__editor_8c.html#a8cec1e80676c945f10bf39aca671d0a0">remmina_file_editor_create_text2</a></div><div class="ttdeci">static GtkWidget * remmina_file_editor_create_text2(RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, const gchar *value, gint left, gint right, gchar *setting_name)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00637">remmina_file_editor.c:637</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_a287b79ac0e199393f391655ab5cbb55b"><div class="ttname"><a href="remmina__file__editor_8c.html#a287b79ac0e199393f391655ab5cbb55b">remmina_file_editor_entry_on_changed</a></div><div class="ttdeci">static void remmina_file_editor_entry_on_changed(GtkEditable *editable, RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01859">remmina_file_editor.c:1859</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_a8cec1e80676c945f10bf39aca671d0a0"><div class="ttname"><a href="remmina__file__editor_8c.html#a8cec1e80676c945f10bf39aca671d0a0">remmina_file_editor_create_text2</a></div><div class="ttdeci">static GtkWidget * remmina_file_editor_create_text2(RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, const gchar *value, gint left, gint right, gchar *setting_name)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00622">remmina_file_editor.c:622</a></div></div>
<div class="ttc" id="remmina__file_8h_html_abc6126af1d45847bc59afa0aa3216b04aeba5f4ff7657d7b15519556793ee8930"><div class="ttname"><a href="remmina__file_8h.html#abc6126af1d45847bc59afa0aa3216b04aeba5f4ff7657d7b15519556793ee8930">SSH_AUTH_PUBLICKEY</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8h_source.html#l00069">remmina_file.h:69</a></div></div>
<div class="ttc" id="struct___remmina_protocol_plugin_html_aae09a7e2c978cc36e85d0f295518978d"><div class="ttname"><a href="struct___remmina_protocol_plugin.html#aae09a7e2c978cc36e85d0f295518978d">_RemminaProtocolPlugin::basic_settings</a></div><div class="ttdeci">const RemminaProtocolSetting * basic_settings</div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00074">plugin.h:74</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_a2a31c93bd54489f8bb3c8fe0dff033d6"><div class="ttname"><a href="remmina__file__editor_8c.html#a2a31c93bd54489f8bb3c8fe0dff033d6">remmina_file_editor_create_check</a></div><div class="ttdeci">static GtkWidget * remmina_file_editor_create_check(RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint top, const gchar *label, gboolean value, gchar *setting_name)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00758">remmina_file_editor.c:758</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_a6415f73260076747c4f933af7f9f4b38"><div class="ttname"><a href="remmina__file__editor_8c.html#a6415f73260076747c4f933af7f9f4b38">remmina_file_editor_create_all_settings</a></div><div class="ttdeci">static void remmina_file_editor_create_all_settings(RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01314">remmina_file_editor.c:1314</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_a2a31c93bd54489f8bb3c8fe0dff033d6"><div class="ttname"><a href="remmina__file__editor_8c.html#a2a31c93bd54489f8bb3c8fe0dff033d6">remmina_file_editor_create_check</a></div><div class="ttdeci">static GtkWidget * remmina_file_editor_create_check(RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint top, const gchar *label, gboolean value, gchar *setting_name)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00743">remmina_file_editor.c:743</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_a6415f73260076747c4f933af7f9f4b38"><div class="ttname"><a href="remmina__file__editor_8c.html#a6415f73260076747c4f933af7f9f4b38">remmina_file_editor_create_all_settings</a></div><div class="ttdeci">static void remmina_file_editor_create_all_settings(RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01299">remmina_file_editor.c:1299</a></div></div>
<div class="ttc" id="remmina__file__editor_8c_html_a3df3718727200d865f9f977435db30ea"><div class="ttname"><a href="remmina__file__editor_8c.html#a3df3718727200d865f9f977435db30ea">remmina_file_editor_create_notebook_container</a></div><div class="ttdeci">static void remmina_file_editor_create_notebook_container(RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00301">remmina_file_editor.c:301</a></div></div>
<div class="ttc" id="remmina__file__editor_8h_html"><div class="ttname"><a href="remmina__file__editor_8h.html">remmina_file_editor.h</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_a08327d6951c345808628dbb5784aba06"><div class="ttname"><a href="remmina__file__editor_8c.html#a08327d6951c345808628dbb5784aba06">remmina_file_editor_new_from_file</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new_from_file(RemminaFile *remminafile)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01905">remmina_file_editor.c:1905</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_a08327d6951c345808628dbb5784aba06"><div class="ttname"><a href="remmina__file__editor_8c.html#a08327d6951c345808628dbb5784aba06">remmina_file_editor_new_from_file</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new_from_file(RemminaFile *remminafile)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01890">remmina_file_editor.c:1890</a></div></div>
<div class="ttc" id="struct___remmina_protocol_setting_html_a6086b43049072a3a3245c4a45f43dbc5"><div class="ttname"><a href="struct___remmina_protocol_setting.html#a6086b43049072a3a3245c4a45f43dbc5">_RemminaProtocolSetting::validator_data</a></div><div class="ttdeci">gpointer validator_data</div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00123">types.h:123</a></div></div>
<div class="ttc" id="types_8h_html_a64c62354cc2b7baa50e1d73dcd3df9c7aef0536e2d0186b8cb8d8ba7a4a1a51c3"><div class="ttname"><a href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7aef0536e2d0186b8cb8d8ba7a4a1a51c3">REMMINA_PROTOCOL_SSH_SETTING_SFTP</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00132">types.h:132</a></div></div>
-<div class="ttc" id="remmina__pref_8c_html_a9a8d02227eb703bccc3f9296a5d89d6f"><div class="ttname"><a href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a></div><div class="ttdeci">gboolean remmina_pref_get_boolean(const gchar *key)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8c_source.html#l01151">remmina_pref.c:1151</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_aa1e0d966a2100175a8eab3a1497306c0"><div class="ttname"><a href="remmina__file__editor_8c.html#aa1e0d966a2100175a8eab3a1497306c0">remmina_file_editor_int_setting_filter</a></div><div class="ttdeci">void remmina_file_editor_int_setting_filter(GtkEditable *editable, const gchar *text, gint length, gint *position, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00824">remmina_file_editor.c:824</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_aa1e0d966a2100175a8eab3a1497306c0"><div class="ttname"><a href="remmina__file__editor_8c.html#aa1e0d966a2100175a8eab3a1497306c0">remmina_file_editor_int_setting_filter</a></div><div class="ttdeci">void remmina_file_editor_int_setting_filter(GtkEditable *editable, const gchar *text, gint length, gint *position, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00809">remmina_file_editor.c:809</a></div></div>
<div class="ttc" id="types_8h_html_aee1a3e130e6991978acd907b52204350a25c4af05ecfc7053db40ed0997389b91"><div class="ttname"><a href="types_8h.html#aee1a3e130e6991978acd907b52204350a25c4af05ecfc7053db40ed0997389b91">REMMINA_PROTOCOL_SETTING_TYPE_DOUBLE</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00113">types.h:113</a></div></div>
<div class="ttc" id="remmina__string__list_8c_html_ab1bacc097f59c20b477d954bb863a5e0"><div class="ttname"><a href="remmina__string__list_8c.html#ab1bacc097f59c20b477d954bb863a5e0">remmina_string_list_set_text</a></div><div class="ttdeci">void remmina_string_list_set_text(const gchar *text, const gboolean clear_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__string__list_8c_source.html#l00171">remmina_string_list.c:171</a></div></div>
<div class="ttc" id="types_8h_html_a64c62354cc2b7baa50e1d73dcd3df9c7a8f910597287a73453a5f09ca0037d093"><div class="ttname"><a href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7a8f910597287a73453a5f09ca0037d093">REMMINA_PROTOCOL_SSH_SETTING_NONE</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00128">types.h:128</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_aa9345cfe3fb32d326b652e96ee55eaea"><div class="ttname"><a href="remmina__file__editor_8c.html#aa9345cfe3fb32d326b652e96ee55eaea">remmina_file_editor_new_from_filename</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new_from_filename(const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l02073">remmina_file_editor.c:2073</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_aa9345cfe3fb32d326b652e96ee55eaea"><div class="ttname"><a href="remmina__file__editor_8c.html#aa9345cfe3fb32d326b652e96ee55eaea">remmina_file_editor_new_from_filename</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new_from_filename(const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l02058">remmina_file_editor.c:2058</a></div></div>
<div class="ttc" id="types_8h_html_a373ddef8221457d86c64830c26d3f78aafe10effd553a16b9bac60b6d9b64c2cd"><div class="ttname"><a href="types_8h.html#a373ddef8221457d86c64830c26d3f78aafe10effd553a16b9bac60b6d9b64c2cd">RES_USE_CUSTOM</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00149">types.h:149</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_ab6e562792eb63ec43ed7f9a4b6687c23"><div class="ttname"><a href="remmina__file__editor_8c.html#ab6e562792eb63ec43ed7f9a4b6687c23">remmina_file_editor_create_ssh_tunnel_tab</a></div><div class="ttdeci">static void remmina_file_editor_create_ssh_tunnel_tab(RemminaFileEditor *gfe, RemminaProtocolSSHSetting ssh_setting)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01146">remmina_file_editor.c:1146</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_ab6e562792eb63ec43ed7f9a4b6687c23"><div class="ttname"><a href="remmina__file__editor_8c.html#ab6e562792eb63ec43ed7f9a4b6687c23">remmina_file_editor_create_ssh_tunnel_tab</a></div><div class="ttdeci">static void remmina_file_editor_create_ssh_tunnel_tab(RemminaFileEditor *gfe, RemminaProtocolSSHSetting ssh_setting)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01131">remmina_file_editor.c:1131</a></div></div>
<div class="ttc" id="struct___remmina_file_editor_class_html"><div class="ttname"><a href="struct___remmina_file_editor_class.html">_RemminaFileEditorClass</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8h_source.html#l00062">remmina_file_editor.h:62</a></div></div>
<div class="ttc" id="struct___remmina_protocol_setting_html_a6274d44b592a54162ff583135e55ffc9"><div class="ttname"><a href="struct___remmina_protocol_setting.html#a6274d44b592a54162ff583135e55ffc9">_RemminaProtocolSetting::type</a></div><div class="ttdeci">RemminaProtocolSettingType type</div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00117">types.h:117</a></div></div>
<div class="ttc" id="struct___remmina_protocol_setting_html"><div class="ttname"><a href="struct___remmina_protocol_setting.html">_RemminaProtocolSetting</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00116">types.h:116</a></div></div>
@@ -197,55 +195,56 @@ $(document).ready(function(){initNavTree('remmina__file__editor_8c_source.html',
<div class="ttc" id="remmina__file_8c_html_a5e421ba636d34e21bba5ece463e98892"><div class="ttname"><a href="remmina__file_8c.html#a5e421ba636d34e21bba5ece463e98892">remmina_file_new</a></div><div class="ttdeci">RemminaFile * remmina_file_new(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00093">remmina_file.c:93</a></div></div>
<div class="ttc" id="remmina__string__list_8c_html_aa9ca6ccf40b954051a0daa5c1efeef87"><div class="ttname"><a href="remmina__string__list_8c.html#aa9ca6ccf40b954051a0daa5c1efeef87">remmina_string_list_set_titles</a></div><div class="ttdeci">void remmina_string_list_set_titles(gchar *title1, gchar *title2)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__string__list_8c_source.html#l00254">remmina_string_list.c:254</a></div></div>
<div class="ttc" id="struct___remmina_protocol_setting_html_a94df87db138d4e44e81b3e6c99148ed3"><div class="ttname"><a href="struct___remmina_protocol_setting.html#a94df87db138d4e44e81b3e6c99148ed3">_RemminaProtocolSetting::validator</a></div><div class="ttdeci">GCallback validator</div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00124">types.h:124</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_a727f967cf81d4af3f953046b0c4cf08d"><div class="ttname"><a href="remmina__file__editor_8c.html#a727f967cf81d4af3f953046b0c4cf08d">remmina_file_editor_create_settings</a></div><div class="ttdeci">static void remmina_file_editor_create_settings(RemminaFileEditor *gfe, GtkWidget *grid, const RemminaProtocolSetting *settings)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00936">remmina_file_editor.c:936</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_a57224f3f69f04f398de563b71be6b18e"><div class="ttname"><a href="remmina__file__editor_8c.html#a57224f3f69f04f398de563b71be6b18e">remmina_file_editor_on_save_connect</a></div><div class="ttdeci">static void remmina_file_editor_on_save_connect(GtkWidget *button, RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01766">remmina_file_editor.c:1766</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_a727f967cf81d4af3f953046b0c4cf08d"><div class="ttname"><a href="remmina__file__editor_8c.html#a727f967cf81d4af3f953046b0c4cf08d">remmina_file_editor_create_settings</a></div><div class="ttdeci">static void remmina_file_editor_create_settings(RemminaFileEditor *gfe, GtkWidget *grid, const RemminaProtocolSetting *settings)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00921">remmina_file_editor.c:921</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_a57224f3f69f04f398de563b71be6b18e"><div class="ttname"><a href="remmina__file__editor_8c.html#a57224f3f69f04f398de563b71be6b18e">remmina_file_editor_on_save_connect</a></div><div class="ttdeci">static void remmina_file_editor_on_save_connect(GtkWidget *button, RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01751">remmina_file_editor.c:1751</a></div></div>
<div class="ttc" id="rcw_8h_html"><div class="ttname"><a href="rcw_8h.html">rcw.h</a></div></div>
<div class="ttc" id="rcw_8c_html_a1b7a771392e15e527005305e71cc2546"><div class="ttname"><a href="rcw_8c.html#a1b7a771392e15e527005305e71cc2546">rcw_open_from_file</a></div><div class="ttdeci">void rcw_open_from_file(RemminaFile *remminafile)</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l04446">rcw.c:4446</a></div></div>
<div class="ttc" id="rcw_8c_html_a29701ae152ba15f6d8921f395174d2df"><div class="ttname"><a href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a></div><div class="ttdeci">RemminaPref remmina_pref</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l00079">rcw.c:79</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_a3866832d550ceac91d608900df4c8056"><div class="ttname"><a href="remmina__file__editor_8c.html#a3866832d550ceac91d608900df4c8056">remmina_file_editor_file_save</a></div><div class="ttdeci">void remmina_file_editor_file_save(RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01891">remmina_file_editor.c:1891</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_a3866832d550ceac91d608900df4c8056"><div class="ttname"><a href="remmina__file__editor_8c.html#a3866832d550ceac91d608900df4c8056">remmina_file_editor_file_save</a></div><div class="ttdeci">void remmina_file_editor_file_save(RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01876">remmina_file_editor.c:1876</a></div></div>
<div class="ttc" id="struct___remmina_file_editor_html"><div class="ttname"><a href="struct___remmina_file_editor.html">_RemminaFileEditor</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8h_source.html#l00056">remmina_file_editor.h:56</a></div></div>
<div class="ttc" id="remmina__file_8c_html_a4884356c195dcfb4ceacf641a1e74e66"><div class="ttname"><a href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a></div><div class="ttdeci">gint remmina_file_get_int(RemminaFile *remminafile, const gchar *setting, gint default_value)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00603">remmina_file.c:603</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_aa4e8657ca722e4cce3f3c42c0cfec51e"><div class="ttname"><a href="remmina__file__editor_8c.html#aa4e8657ca722e4cce3f3c42c0cfec51e">remmina_file_editor_new</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l02034">remmina_file_editor.c:2034</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_aa4e8657ca722e4cce3f3c42c0cfec51e"><div class="ttname"><a href="remmina__file__editor_8c.html#aa4e8657ca722e4cce3f3c42c0cfec51e">remmina_file_editor_new</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l02019">remmina_file_editor.c:2019</a></div></div>
<div class="ttc" id="remmina__file__editor_8c_html_a880e8e6aee571b91eeb7f5d2f60e210b"><div class="ttname"><a href="remmina__file__editor_8c.html#a880e8e6aee571b91eeb7f5d2f60e210b">remmina_file_editor_on_realize</a></div><div class="ttdeci">static void remmina_file_editor_on_realize(GtkWidget *widget, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00270">remmina_file_editor.c:270</a></div></div>
<div class="ttc" id="remmina__file__editor_8c_html_a112a0fd5bf7d5693b9cb717c850637cb"><div class="ttname"><a href="remmina__file__editor_8c.html#a112a0fd5bf7d5693b9cb717c850637cb">remmina_file_editor_button_on_toggled</a></div><div class="ttdeci">static void remmina_file_editor_button_on_toggled(GtkToggleButton *togglebutton, GtkWidget *widget)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00295">remmina_file_editor.c:295</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_aaa55ab55c6806aef6765eb01577365f3"><div class="ttname"><a href="remmina__file__editor_8c.html#aaa55ab55c6806aef6765eb01577365f3">remmina_file_editor_on_cancel</a></div><div class="ttdeci">static void remmina_file_editor_on_cancel(GtkWidget *button, RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01793">remmina_file_editor.c:1793</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_aaa55ab55c6806aef6765eb01577365f3"><div class="ttname"><a href="remmina__file__editor_8c.html#aaa55ab55c6806aef6765eb01577365f3">remmina_file_editor_on_cancel</a></div><div class="ttdeci">static void remmina_file_editor_on_cancel(GtkWidget *button, RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01778">remmina_file_editor.c:1778</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_a3872c8656a8a3d5147bcc603471c1932"><div class="ttname"><a href="remmina__plugin__manager_8c.html#a3872c8656a8a3d5147bcc603471c1932">remmina_plugin_manager_get_plugin</a></div><div class="ttdeci">RemminaPlugin * remmina_plugin_manager_get_plugin(RemminaPluginType type, const gchar *name)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00438">remmina_plugin_manager.c:438</a></div></div>
<div class="ttc" id="remmina__pref_8h_html"><div class="ttname"><a href="remmina__pref_8h.html">remmina_pref.h</a></div></div>
<div class="ttc" id="types_8h_html_aee1a3e130e6991978acd907b52204350ad9418344a7f597351e3cc5639be78425"><div class="ttname"><a href="types_8h.html#aee1a3e130e6991978acd907b52204350ad9418344a7f597351e3cc5639be78425">REMMINA_PROTOCOL_SETTING_TYPE_KEYMAP</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00103">types.h:103</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_ac2a5cf9cdcf640986e245eb04be9c4ad"><div class="ttname"><a href="remmina__file__editor_8c.html#ac2a5cf9cdcf640986e245eb04be9c4ad">remmina_file_editor_on_save</a></div><div class="ttdeci">static void remmina_file_editor_on_save(GtkWidget *button, RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01724">remmina_file_editor.c:1724</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_afcc5ee6fcd22686b716fbe595cb210a6"><div class="ttname"><a href="remmina__file__editor_8c.html#afcc5ee6fcd22686b716fbe595cb210a6">remmina_file_editor_on_default</a></div><div class="ttdeci">static void remmina_file_editor_on_default(GtkWidget *button, RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01686">remmina_file_editor.c:1686</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_ac2a5cf9cdcf640986e245eb04be9c4ad"><div class="ttname"><a href="remmina__file__editor_8c.html#ac2a5cf9cdcf640986e245eb04be9c4ad">remmina_file_editor_on_save</a></div><div class="ttdeci">static void remmina_file_editor_on_save(GtkWidget *button, RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01709">remmina_file_editor.c:1709</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_afcc5ee6fcd22686b716fbe595cb210a6"><div class="ttname"><a href="remmina__file__editor_8c.html#afcc5ee6fcd22686b716fbe595cb210a6">remmina_file_editor_on_default</a></div><div class="ttdeci">static void remmina_file_editor_on_default(GtkWidget *button, RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01671">remmina_file_editor.c:1671</a></div></div>
<div class="ttc" id="struct___remmina_protocol_plugin_html_a6e04143450eeb71e3d0b2c14983860a4"><div class="ttname"><a href="struct___remmina_protocol_plugin.html#a6e04143450eeb71e3d0b2c14983860a4">_RemminaProtocolPlugin::name</a></div><div class="ttdeci">const gchar * name</div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00067">plugin.h:67</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_aed69ba3823f68580d5acea459c5c890f"><div class="ttname"><a href="remmina__file__editor_8c.html#aed69ba3823f68580d5acea459c5c890f">remmina_file_editor_double_setting_filter</a></div><div class="ttdeci">void remmina_file_editor_double_setting_filter(GtkEditable *editable, const gchar *text, gint length, gint *position, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00838">remmina_file_editor.c:838</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_aac3fe305e456dfa7bb55aa2f057e8cb0"><div class="ttname"><a href="remmina__main_8c.html#aac3fe305e456dfa7bb55aa2f057e8cb0">remmina_main_toggle_password_view</a></div><div class="ttdeci">void remmina_main_toggle_password_view(GtkWidget *widget, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01161">remmina_main.c:1161</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_aed69ba3823f68580d5acea459c5c890f"><div class="ttname"><a href="remmina__file__editor_8c.html#aed69ba3823f68580d5acea459c5c890f">remmina_file_editor_double_setting_filter</a></div><div class="ttdeci">void remmina_file_editor_double_setting_filter(GtkEditable *editable, const gchar *text, gint length, gint *position, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00823">remmina_file_editor.c:823</a></div></div>
<div class="ttc" id="remmina__file_8h_html_abc6126af1d45847bc59afa0aa3216b04a7d995a7868d2d2f81e9dd2f898b206fe"><div class="ttname"><a href="remmina__file_8h.html#abc6126af1d45847bc59afa0aa3216b04a7d995a7868d2d2f81e9dd2f898b206fe">SSH_AUTH_PASSWORD</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8h_source.html#l00068">remmina_file.h:68</a></div></div>
<div class="ttc" id="remmina__file__manager_8c_html_a536edeef371d907ab3936f4d65c3003d"><div class="ttname"><a href="remmina__file__manager_8c.html#a536edeef371d907ab3936f4d65c3003d">remmina_file_manager_get_groups</a></div><div class="ttdeci">gchar * remmina_file_manager_get_groups(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__manager_8c_source.html#l00210">remmina_file_manager.c:210</a></div></div>
<div class="ttc" id="types_8h_html_aee1a3e130e6991978acd907b52204350a31ee66fffaa245ae411aba0c296ad9da"><div class="ttname"><a href="types_8h.html#aee1a3e130e6991978acd907b52204350a31ee66fffaa245ae411aba0c296ad9da">REMMINA_PROTOCOL_SETTING_TYPE_FILE</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00110">types.h:110</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_a072de27e64368581e8507d3b795bfbf4"><div class="ttname"><a href="remmina__file__editor_8c.html#a072de27e64368581e8507d3b795bfbf4">remmina_file_editor_create_text</a></div><div class="ttdeci">static GtkWidget * remmina_file_editor_create_text(RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, const gchar *value, gchar *setting_name)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00671">remmina_file_editor.c:671</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_a072de27e64368581e8507d3b795bfbf4"><div class="ttname"><a href="remmina__file__editor_8c.html#a072de27e64368581e8507d3b795bfbf4">remmina_file_editor_create_text</a></div><div class="ttdeci">static GtkWidget * remmina_file_editor_create_text(RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, const gchar *value, gchar *setting_name)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00656">remmina_file_editor.c:656</a></div></div>
<div class="ttc" id="remmina__file_8c_html_a85ca1ca2d0bf9ef29e490c6f4527a954"><div class="ttname"><a href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a></div><div class="ttdeci">void remmina_file_set_string(RemminaFile *remminafile, const gchar *setting, const gchar *value)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00469">remmina_file.c:469</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_a4c16a6793828893598bc0a158bb13cbb"><div class="ttname"><a href="remmina__file__editor_8c.html#a4c16a6793828893598bc0a158bb13cbb">remmina_file_editor_save_behavior_tab</a></div><div class="ttdeci">static void remmina_file_editor_save_behavior_tab(RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01395">remmina_file_editor.c:1395</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_a9bcaeec3ba26d31c6333f35fe1381a8c"><div class="ttname"><a href="remmina__file__editor_8c.html#a9bcaeec3ba26d31c6333f35fe1381a8c">remmina_file_editor_create_behavior_tab</a></div><div class="ttdeci">static void remmina_file_editor_create_behavior_tab(RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01091">remmina_file_editor.c:1091</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_a4c16a6793828893598bc0a158bb13cbb"><div class="ttname"><a href="remmina__file__editor_8c.html#a4c16a6793828893598bc0a158bb13cbb">remmina_file_editor_save_behavior_tab</a></div><div class="ttdeci">static void remmina_file_editor_save_behavior_tab(RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01380">remmina_file_editor.c:1380</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_a9bcaeec3ba26d31c6333f35fe1381a8c"><div class="ttname"><a href="remmina__file__editor_8c.html#a9bcaeec3ba26d31c6333f35fe1381a8c">remmina_file_editor_create_behavior_tab</a></div><div class="ttdeci">static void remmina_file_editor_create_behavior_tab(RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01076">remmina_file_editor.c:1076</a></div></div>
<div class="ttc" id="remmina__file_8c_html_a8c893a5deec9bc446bd89cc9973416c7"><div class="ttname"><a href="remmina__file_8c.html#a8c893a5deec9bc446bd89cc9973416c7">remmina_file_save</a></div><div class="ttdeci">void remmina_file_save(RemminaFile *remminafile)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00730">remmina_file.c:730</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_a51b9fe336d9068ffc488ef55adc9eac4"><div class="ttname"><a href="remmina__file__editor_8c.html#a51b9fe336d9068ffc488ef55adc9eac4">remmina_file_editor_browse_resolution</a></div><div class="ttdeci">static void remmina_file_editor_browse_resolution(GtkWidget *button, RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00542">remmina_file_editor.c:542</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_a8c1924fd32be943136d147e8dedb3eca"><div class="ttname"><a href="remmina__file__editor_8c.html#a8c1924fd32be943136d147e8dedb3eca">remmina_file_editor_validate_settings</a></div><div class="ttdeci">static gboolean remmina_file_editor_validate_settings(RemminaFileEditor *gfe, gchar *setting_name_to_validate, gconstpointer value, GError **err)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01457">remmina_file_editor.c:1457</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_a51b9fe336d9068ffc488ef55adc9eac4"><div class="ttname"><a href="remmina__file__editor_8c.html#a51b9fe336d9068ffc488ef55adc9eac4">remmina_file_editor_browse_resolution</a></div><div class="ttdeci">static void remmina_file_editor_browse_resolution(GtkWidget *button, RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00527">remmina_file_editor.c:527</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_a8c1924fd32be943136d147e8dedb3eca"><div class="ttname"><a href="remmina__file__editor_8c.html#a8c1924fd32be943136d147e8dedb3eca">remmina_file_editor_validate_settings</a></div><div class="ttdeci">static gboolean remmina_file_editor_validate_settings(RemminaFileEditor *gfe, gchar *setting_name_to_validate, gconstpointer value, GError **err)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01442">remmina_file_editor.c:1442</a></div></div>
<div class="ttc" id="remmina__file__editor_8c_html_a5ea3f796c3a46aeb01b2f13f4a3d40a9"><div class="ttname"><a href="remmina__file__editor_8c.html#a5ea3f796c3a46aeb01b2f13f4a3d40a9">remmina_file_editor_ssh_tunnel_server_custom_radio_on_toggled</a></div><div class="ttdeci">static void remmina_file_editor_ssh_tunnel_server_custom_radio_on_toggled(GtkToggleButton *togglebutton, RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00359">remmina_file_editor.c:359</a></div></div>
<div class="ttc" id="remmina__file_8c_html_ac1685edf35a793a396ce039d7eec5343"><div class="ttname"><a href="remmina__file_8c.html#ac1685edf35a793a396ce039d7eec5343">remmina_file_copy</a></div><div class="ttdeci">RemminaFile * remmina_file_copy(const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00217">remmina_file.c:217</a></div></div>
<div class="ttc" id="types_8h_html_a64c62354cc2b7baa50e1d73dcd3df9c7a2f71ac2987eeec94430308f6f36840cd"><div class="ttname"><a href="types_8h.html#a64c62354cc2b7baa50e1d73dcd3df9c7a2f71ac2987eeec94430308f6f36840cd">REMMINA_PROTOCOL_SSH_SETTING_REVERSE_TUNNEL</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00131">types.h:131</a></div></div>
<div class="ttc" id="remmina__file__manager_8c_html_af7b58659604660eb0cb40b0e0f8348ab"><div class="ttname"><a href="remmina__file__manager_8c.html#af7b58659604660eb0cb40b0e0f8348ab">remmina_file_manager_load_file</a></div><div class="ttdeci">RemminaFile * remmina_file_manager_load_file(const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__manager_8c_source.html#l00356">remmina_file_manager.c:356</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_afc37e2e9dbe8f0c8bcf1a76d0c54ea1b"><div class="ttname"><a href="remmina__file__editor_8c.html#afc37e2e9dbe8f0c8bcf1a76d0c54ea1b">remmina_file_editor_iterate_protocol</a></div><div class="ttdeci">static gboolean remmina_file_editor_iterate_protocol(gchar *protocol, RemminaPlugin *plugin, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01842">remmina_file_editor.c:1842</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_adddb10632532560ce0a1f0c9ca1bcde5"><div class="ttname"><a href="remmina__file__editor_8c.html#adddb10632532560ce0a1f0c9ca1bcde5">remmina_file_editor_update</a></div><div class="ttdeci">static GError * remmina_file_editor_update(RemminaFileEditor *gfe, GtkWidget **failed_widget)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01631">remmina_file_editor.c:1631</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_afc37e2e9dbe8f0c8bcf1a76d0c54ea1b"><div class="ttname"><a href="remmina__file__editor_8c.html#afc37e2e9dbe8f0c8bcf1a76d0c54ea1b">remmina_file_editor_iterate_protocol</a></div><div class="ttdeci">static gboolean remmina_file_editor_iterate_protocol(gchar *protocol, RemminaPlugin *plugin, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01827">remmina_file_editor.c:1827</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_adddb10632532560ce0a1f0c9ca1bcde5"><div class="ttname"><a href="remmina__file__editor_8c.html#adddb10632532560ce0a1f0c9ca1bcde5">remmina_file_editor_update</a></div><div class="ttdeci">static GError * remmina_file_editor_update(RemminaFileEditor *gfe, GtkWidget **failed_widget)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01616">remmina_file_editor.c:1616</a></div></div>
<div class="ttc" id="types_8h_html_aee1a3e130e6991978acd907b52204350ad898beb6ae625dee1ae27de75f1ab4e3"><div class="ttname"><a href="types_8h.html#aee1a3e130e6991978acd907b52204350ad898beb6ae625dee1ae27de75f1ab4e3">REMMINA_PROTOCOL_SETTING_TYPE_END</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00098">types.h:98</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_aa5c50852f8569f075eec5d5db30c2ebf"><div class="ttname"><a href="remmina__file__editor_8c.html#aa5c50852f8569f075eec5d5db30c2ebf">remmina_file_editor_new_copy</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new_copy(const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l02054">remmina_file_editor.c:2054</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_aa5c50852f8569f075eec5d5db30c2ebf"><div class="ttname"><a href="remmina__file__editor_8c.html#aa5c50852f8569f075eec5d5db30c2ebf">remmina_file_editor_new_copy</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new_copy(const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l02039">remmina_file_editor.c:2039</a></div></div>
<div class="ttc" id="struct___remmina_file_editor_html_a8517b06116569fad2bb71b99c2f75f6a"><div class="ttname"><a href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">_RemminaFileEditor::priv</a></div><div class="ttdeci">RemminaFileEditorPriv * priv</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8h_source.html#l00059">remmina_file_editor.h:59</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_aef2803d3fc2558c9c3844ffac088e7d7"><div class="ttname"><a href="remmina__file__editor_8c.html#aef2803d3fc2558c9c3844ffac088e7d7">remmina_file_editor_create_textarea</a></div><div class="ttdeci">static GtkWidget * remmina_file_editor_create_textarea(RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, const gchar *value, gchar *setting_name)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00680">remmina_file_editor.c:680</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_aef2803d3fc2558c9c3844ffac088e7d7"><div class="ttname"><a href="remmina__file__editor_8c.html#aef2803d3fc2558c9c3844ffac088e7d7">remmina_file_editor_create_textarea</a></div><div class="ttdeci">static GtkWidget * remmina_file_editor_create_textarea(RemminaFileEditor *gfe, GtkWidget *grid, gint row, gint col, const gchar *label, const gchar *value, gchar *setting_name)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00665">remmina_file_editor.c:665</a></div></div>
<div class="ttc" id="remmina__file__editor_8c_html_aa3acf0470349d706d15fa751e982fd05"><div class="ttname"><a href="remmina__file__editor_8c.html#aa3acf0470349d706d15fa751e982fd05">remmina_file_editor_browse_avahi</a></div><div class="ttdeci">static void remmina_file_editor_browse_avahi(GtkWidget *button, RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00236">remmina_file_editor.c:236</a></div></div>
<div class="ttc" id="types_8h_html_a373ddef8221457d86c64830c26d3f78aa415945752acf7689df7cb602ae4e1724"><div class="ttname"><a href="types_8h.html#a373ddef8221457d86c64830c26d3f78aa415945752acf7689df7cb602ae4e1724">RES_INVALID</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00148">types.h:148</a></div></div>
<div class="ttc" id="remmina__unlock_8c_html_a81e79e5c1c230b7e2bf27b2457801d4e"><div class="ttname"><a href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a></div><div class="ttdeci">gint remmina_unlock_new(GtkWindow *parent)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__unlock_8c_source.html#l00113">remmina_unlock.c:113</a></div></div>
<div class="ttc" id="remmina__unlock_8h_html"><div class="ttname"><a href="remmina__unlock_8h.html">remmina_unlock.h</a></div></div>
<div class="ttc" id="remmina__public_8c_html_aa5eacff7c9dab7457dd65525d01047f8"><div class="ttname"><a href="remmina__public_8c.html#aa5eacff7c9dab7457dd65525d01047f8">remmina_public_load_combo_text_d</a></div><div class="ttdeci">void remmina_public_load_combo_text_d(GtkWidget *combo, const gchar *text, const gchar *def, const gchar *empty_choice)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__public_8c_source.html#l00136">remmina_public.c:136</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_a51a45d872a9e7a0b06d25aef592a6e3a"><div class="ttname"><a href="remmina__file__editor_8c.html#a51a45d872a9e7a0b06d25aef592a6e3a">remmina_file_editor_update_resolution</a></div><div class="ttdeci">static void remmina_file_editor_update_resolution(GtkWidget *widget, RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00530">remmina_file_editor.c:530</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_a51a45d872a9e7a0b06d25aef592a6e3a"><div class="ttname"><a href="remmina__file__editor_8c.html#a51a45d872a9e7a0b06d25aef592a6e3a">remmina_file_editor_update_resolution</a></div><div class="ttdeci">static void remmina_file_editor_update_resolution(GtkWidget *widget, RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00515">remmina_file_editor.c:515</a></div></div>
<div class="ttc" id="vnc__plugin_8c_html_ab96ef9227ecef94018f2729f72e7651e"><div class="ttname"><a href="vnc__plugin_8c.html#ab96ef9227ecef94018f2729f72e7651e">N_</a></div><div class="ttdeci">N_(&quot;Unable to connect to VNC server&quot;)</div><div class="ttdef"><b>Definition:</b> <a href="vnc__plugin_8c_source.html#l00953">vnc_plugin.c:953</a></div></div>
<div class="ttc" id="remmina__file__editor_8c_html_a7f1406c817183d78a801668a10d73e0b"><div class="ttname"><a href="remmina__file__editor_8c.html#a7f1406c817183d78a801668a10d73e0b">remmina_file_editor_class_init</a></div><div class="ttdeci">static void remmina_file_editor_class_init(RemminaFileEditorClass *klass)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l00138">remmina_file_editor.c:138</a></div></div>
<div class="ttc" id="struct___remmina_protocol_setting_html_a7a5b063deb126422c461203c074a3dc4"><div class="ttname"><a href="struct___remmina_protocol_setting.html#a7a5b063deb126422c461203c074a3dc4">_RemminaProtocolSetting::label</a></div><div class="ttdeci">const gchar * label</div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00119">types.h:119</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_a99984deb4b5a3b873b26c0c9cf8268b7"><div class="ttname"><a href="remmina__file__editor_8c.html#a99984deb4b5a3b873b26c0c9cf8268b7">remmina_file_editor_save_ssh_tunnel_tab</a></div><div class="ttdeci">static void remmina_file_editor_save_ssh_tunnel_tab(RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01409">remmina_file_editor.c:1409</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_a99984deb4b5a3b873b26c0c9cf8268b7"><div class="ttname"><a href="remmina__file__editor_8c.html#a99984deb4b5a3b873b26c0c9cf8268b7">remmina_file_editor_save_ssh_tunnel_tab</a></div><div class="ttdeci">static void remmina_file_editor_save_ssh_tunnel_tab(RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01394">remmina_file_editor.c:1394</a></div></div>
<div class="ttc" id="remmina__file_8h_html"><div class="ttname"><a href="remmina__file_8h.html">remmina_file.h</a></div></div>
<div class="ttc" id="remmina__string__list_8c_html_a74058eac0af28c05a55d041103457aec"><div class="ttname"><a href="remmina__string__list_8c.html#a74058eac0af28c05a55d041103457aec">remmina_string_list_get_text</a></div><div class="ttdeci">gchar * remmina_string_list_get_text(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__string__list_8c_source.html#l00205">remmina_string_list.c:205</a></div></div>
<div class="ttc" id="struct___remmina_protocol_setting_html_ac4cd339607204c5f478727e2a0c04857"><div class="ttname"><a href="struct___remmina_protocol_setting.html#ac4cd339607204c5f478727e2a0c04857">_RemminaProtocolSetting::name</a></div><div class="ttdeci">const gchar * name</div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00118">types.h:118</a></div></div>
diff --git a/public/remmina__file__editor_8h.html b/public/remmina__file__editor_8h.html
index 59b63986c..d2b18367f 100644
--- a/public/remmina__file__editor_8h.html
+++ b/public/remmina__file__editor_8h.html
@@ -190,7 +190,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01864">1864</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01849">1849</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -210,7 +210,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01891">1891</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01876">1876</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -248,7 +248,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l02034">2034</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l02019">2019</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -268,7 +268,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l02054">2054</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l02039">2039</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -288,7 +288,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01905">1905</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l01890">1890</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -308,7 +308,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l02073">2073</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l02058">2058</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
@@ -338,7 +338,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l02040">2040</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__file__editor_8c_source.html#l02025">2025</a> of file <a class="el" href="remmina__file__editor_8c_source.html">remmina_file_editor.c</a>.</p>
</div>
</div>
diff --git a/public/remmina__file__editor_8h_source.html b/public/remmina__file__editor_8h_source.html
index 726670b8e..668a00208 100644
--- a/public/remmina__file__editor_8h_source.html
+++ b/public/remmina__file__editor_8h_source.html
@@ -89,19 +89,19 @@ $(document).ready(function(){initNavTree('remmina__file__editor_8h_source.html',
<a href="remmina__file__editor_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Remmina - The GTK+ Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2009-2011 Vic Lee</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Copyright (C) 2016-2023 Antenore Gatta, Giovanni Panozzo</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * along with this program; if not, write to the Free Software</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> * In addition, as a special exception, the copyright holders give</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * permission to link the code of portions of this program with the</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * OpenSSL library under certain conditions as described in each</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * including the two.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * You must obey the GNU General Public License in all respects</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * for all of the code used other than OpenSSL. * If you modify</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * file(s) with this exception, you may extend this exception to your</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> * version of the file(s), but you are not obligated to do so. * If you</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> * do not wish to do so, delete this exception statement from your</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> * version. * If you delete this exception statement from all source</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> * files in the program, then also delete it here.</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &lt;stdarg.h&gt;</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &lt;glib/gi18n.h&gt;</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#include &lt;gtk/gtk.h&gt;</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file_8h.html">remmina_file.h</a>&quot;</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;G_BEGIN_DECLS</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#define REMMINA_TYPE_FILE_EDITOR (remmina_file_editor_get_type())</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor">#define REMMINA_FILE_EDITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), REMMINA_TYPE_FILE_EDITOR, RemminaFileEditor))</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor">#define REMMINA_FILE_EDITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), REMMINA_TYPE_FILE_EDITOR, RemminaFileEditorClass))</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor">#define REMMINA_IS_FILE_EDITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), REMMINA_TYPE_FILE_EDITOR))</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor">#define REMMINA_IS_FILE_EDITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), REMMINA_TYPE_FILE_EDITOR))</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor">#define REMMINA_FILE_EDITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), REMMINA_TYPE_FILE_EDITOR, RemminaFileEditorClass))</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530"> 54</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>_RemminaFileEditorPriv <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a>;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="struct___remmina_file_editor.html"> 56</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct___remmina_file_editor.html">_RemminaFileEditor</a> {</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="struct___remmina_file_editor.html#ad33dd514275a054042ab1ac258092872"> 57</a></span>&#160; GtkDialog <a class="code" href="struct___remmina_file_editor.html#ad33dd514275a054042ab1ac258092872">dialog</a>;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a"> 59</a></span>&#160; <a class="code" href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a> * <a class="code" href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">priv</a>;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;} <a class="code" href="remmina__file__editor_8h.html#a16a58b48a99ec5a073a5fc6f5b0d9498">RemminaFileEditor</a>;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="struct___remmina_file_editor_class.html"> 62</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct___remmina_file_editor_class.html">_RemminaFileEditorClass</a> {</div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="struct___remmina_file_editor_class.html#a3c652db10d3aab6c698273c846fc743f"> 63</a></span>&#160; GtkDialogClass <a class="code" href="struct___remmina_file_editor_class.html#a3c652db10d3aab6c698273c846fc743f">parent_class</a>;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;} <a class="code" href="remmina__file__editor_8h.html#ad2662b100a2d321db52fc1280c899208">RemminaFileEditorClass</a>;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;GType <a class="code" href="remmina__file__editor_8h.html#ac5b20a46b2d95b1e5e4e09006e0ee04f">remmina_file_editor_get_type</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;G_GNUC_CONST;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment">/* Base constructor */</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;GtkWidget *<a class="code" href="remmina__file__editor_8h.html#a08327d6951c345808628dbb5784aba06">remmina_file_editor_new_from_file</a>(<a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment">/* Create new file */</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;GtkWidget *<a class="code" href="remmina__file__editor_8h.html#aa4e8657ca722e4cce3f3c42c0cfec51e">remmina_file_editor_new</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;GtkWidget *<a class="code" href="remmina__file__editor_8h.html#ab563344276cbcdf0fcea05b0b64c7aeb">remmina_file_editor_new_full</a>(<span class="keyword">const</span> gchar *server, <span class="keyword">const</span> gchar *protocol);</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;GtkWidget *<a class="code" href="remmina__file__editor_8h.html#aa5c50852f8569f075eec5d5db30c2ebf">remmina_file_editor_new_copy</a>(<span class="keyword">const</span> gchar *filename);</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="comment">/* Open existing file */</span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;GtkWidget *<a class="code" href="remmina__file__editor_8h.html#aa9345cfe3fb32d326b652e96ee55eaea">remmina_file_editor_new_from_filename</a>(<span class="keyword">const</span> gchar *filename);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8h.html#add382dd8f40444b928e78b293a86a257">remmina_file_editor_check_profile</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe);</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__file__editor_8h.html#a3866832d550ceac91d608900df4c8056">remmina_file_editor_file_save</a>(<a class="code" href="struct___remmina_file_editor.html">RemminaFileEditor</a> *gfe);</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;G_END_DECLS</div><div class="ttc" id="types_8h_html_a112d7cc6c755209cabb68cf2a62ad515"><div class="ttname"><a href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a></div><div class="ttdeci">typedefG_BEGIN_DECLS struct _RemminaFile RemminaFile</div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00044">types.h:44</a></div></div>
<div class="ttc" id="remmina__file__editor_8h_html_a16a58b48a99ec5a073a5fc6f5b0d9498"><div class="ttname"><a href="remmina__file__editor_8h.html#a16a58b48a99ec5a073a5fc6f5b0d9498">RemminaFileEditor</a></div><div class="ttdeci">struct _RemminaFileEditor RemminaFileEditor</div></div>
<div class="ttc" id="struct___remmina_file_editor_html_ad33dd514275a054042ab1ac258092872"><div class="ttname"><a href="struct___remmina_file_editor.html#ad33dd514275a054042ab1ac258092872">_RemminaFileEditor::dialog</a></div><div class="ttdeci">GtkDialog dialog</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8h_source.html#l00057">remmina_file_editor.h:57</a></div></div>
-<div class="ttc" id="remmina__file__editor_8h_html_add382dd8f40444b928e78b293a86a257"><div class="ttname"><a href="remmina__file__editor_8h.html#add382dd8f40444b928e78b293a86a257">remmina_file_editor_check_profile</a></div><div class="ttdeci">void remmina_file_editor_check_profile(RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01864">remmina_file_editor.c:1864</a></div></div>
+<div class="ttc" id="remmina__file__editor_8h_html_add382dd8f40444b928e78b293a86a257"><div class="ttname"><a href="remmina__file__editor_8h.html#add382dd8f40444b928e78b293a86a257">remmina_file_editor_check_profile</a></div><div class="ttdeci">void remmina_file_editor_check_profile(RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01849">remmina_file_editor.c:1849</a></div></div>
<div class="ttc" id="struct___remmina_file_editor_class_html_a3c652db10d3aab6c698273c846fc743f"><div class="ttname"><a href="struct___remmina_file_editor_class.html#a3c652db10d3aab6c698273c846fc743f">_RemminaFileEditorClass::parent_class</a></div><div class="ttdeci">GtkDialogClass parent_class</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8h_source.html#l00063">remmina_file_editor.h:63</a></div></div>
<div class="ttc" id="remmina__file__editor_8h_html_abbeeb0b88810f1f479ffb1fadfbf6530"><div class="ttname"><a href="remmina__file__editor_8h.html#abbeeb0b88810f1f479ffb1fadfbf6530">RemminaFileEditorPriv</a></div><div class="ttdeci">struct _RemminaFileEditorPriv RemminaFileEditorPriv</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8h_source.html#l00054">remmina_file_editor.h:54</a></div></div>
-<div class="ttc" id="remmina__file__editor_8h_html_a3866832d550ceac91d608900df4c8056"><div class="ttname"><a href="remmina__file__editor_8h.html#a3866832d550ceac91d608900df4c8056">remmina_file_editor_file_save</a></div><div class="ttdeci">void remmina_file_editor_file_save(RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01891">remmina_file_editor.c:1891</a></div></div>
-<div class="ttc" id="remmina__file__editor_8h_html_aa5c50852f8569f075eec5d5db30c2ebf"><div class="ttname"><a href="remmina__file__editor_8h.html#aa5c50852f8569f075eec5d5db30c2ebf">remmina_file_editor_new_copy</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new_copy(const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l02054">remmina_file_editor.c:2054</a></div></div>
+<div class="ttc" id="remmina__file__editor_8h_html_a3866832d550ceac91d608900df4c8056"><div class="ttname"><a href="remmina__file__editor_8h.html#a3866832d550ceac91d608900df4c8056">remmina_file_editor_file_save</a></div><div class="ttdeci">void remmina_file_editor_file_save(RemminaFileEditor *gfe)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01876">remmina_file_editor.c:1876</a></div></div>
+<div class="ttc" id="remmina__file__editor_8h_html_aa5c50852f8569f075eec5d5db30c2ebf"><div class="ttname"><a href="remmina__file__editor_8h.html#aa5c50852f8569f075eec5d5db30c2ebf">remmina_file_editor_new_copy</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new_copy(const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l02039">remmina_file_editor.c:2039</a></div></div>
<div class="ttc" id="remmina__file__editor_8h_html_ad2662b100a2d321db52fc1280c899208"><div class="ttname"><a href="remmina__file__editor_8h.html#ad2662b100a2d321db52fc1280c899208">RemminaFileEditorClass</a></div><div class="ttdeci">struct _RemminaFileEditorClass RemminaFileEditorClass</div></div>
-<div class="ttc" id="remmina__file__editor_8h_html_aa4e8657ca722e4cce3f3c42c0cfec51e"><div class="ttname"><a href="remmina__file__editor_8h.html#aa4e8657ca722e4cce3f3c42c0cfec51e">remmina_file_editor_new</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l02034">remmina_file_editor.c:2034</a></div></div>
+<div class="ttc" id="remmina__file__editor_8h_html_aa4e8657ca722e4cce3f3c42c0cfec51e"><div class="ttname"><a href="remmina__file__editor_8h.html#aa4e8657ca722e4cce3f3c42c0cfec51e">remmina_file_editor_new</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l02019">remmina_file_editor.c:2019</a></div></div>
<div class="ttc" id="struct___remmina_file_editor_class_html"><div class="ttname"><a href="struct___remmina_file_editor_class.html">_RemminaFileEditorClass</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8h_source.html#l00062">remmina_file_editor.h:62</a></div></div>
<div class="ttc" id="struct___remmina_file_editor_html"><div class="ttname"><a href="struct___remmina_file_editor.html">_RemminaFileEditor</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8h_source.html#l00056">remmina_file_editor.h:56</a></div></div>
<div class="ttc" id="remmina__file__editor_8h_html_ac5b20a46b2d95b1e5e4e09006e0ee04f"><div class="ttname"><a href="remmina__file__editor_8h.html#ac5b20a46b2d95b1e5e4e09006e0ee04f">remmina_file_editor_get_type</a></div><div class="ttdeci">GType remmina_file_editor_get_type(void) G_GNUC_CONST</div></div>
-<div class="ttc" id="remmina__file__editor_8h_html_a08327d6951c345808628dbb5784aba06"><div class="ttname"><a href="remmina__file__editor_8h.html#a08327d6951c345808628dbb5784aba06">remmina_file_editor_new_from_file</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new_from_file(RemminaFile *remminafile)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01905">remmina_file_editor.c:1905</a></div></div>
-<div class="ttc" id="remmina__file__editor_8h_html_aa9345cfe3fb32d326b652e96ee55eaea"><div class="ttname"><a href="remmina__file__editor_8h.html#aa9345cfe3fb32d326b652e96ee55eaea">remmina_file_editor_new_from_filename</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new_from_filename(const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l02073">remmina_file_editor.c:2073</a></div></div>
-<div class="ttc" id="remmina__file__editor_8h_html_ab563344276cbcdf0fcea05b0b64c7aeb"><div class="ttname"><a href="remmina__file__editor_8h.html#ab563344276cbcdf0fcea05b0b64c7aeb">remmina_file_editor_new_full</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new_full(const gchar *server, const gchar *protocol)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l02040">remmina_file_editor.c:2040</a></div></div>
+<div class="ttc" id="remmina__file__editor_8h_html_a08327d6951c345808628dbb5784aba06"><div class="ttname"><a href="remmina__file__editor_8h.html#a08327d6951c345808628dbb5784aba06">remmina_file_editor_new_from_file</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new_from_file(RemminaFile *remminafile)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l01890">remmina_file_editor.c:1890</a></div></div>
+<div class="ttc" id="remmina__file__editor_8h_html_aa9345cfe3fb32d326b652e96ee55eaea"><div class="ttname"><a href="remmina__file__editor_8h.html#aa9345cfe3fb32d326b652e96ee55eaea">remmina_file_editor_new_from_filename</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new_from_filename(const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l02058">remmina_file_editor.c:2058</a></div></div>
+<div class="ttc" id="remmina__file__editor_8h_html_ab563344276cbcdf0fcea05b0b64c7aeb"><div class="ttname"><a href="remmina__file__editor_8h.html#ab563344276cbcdf0fcea05b0b64c7aeb">remmina_file_editor_new_full</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new_full(const gchar *server, const gchar *protocol)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l02025">remmina_file_editor.c:2025</a></div></div>
<div class="ttc" id="struct___remmina_file_editor_html_a8517b06116569fad2bb71b99c2f75f6a"><div class="ttname"><a href="struct___remmina_file_editor.html#a8517b06116569fad2bb71b99c2f75f6a">_RemminaFileEditor::priv</a></div><div class="ttdeci">RemminaFileEditorPriv * priv</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8h_source.html#l00059">remmina_file_editor.h:59</a></div></div>
<div class="ttc" id="remmina__file_8h_html"><div class="ttname"><a href="remmina__file_8h.html">remmina_file.h</a></div></div>
</div><!-- fragment --></div><!-- contents -->
diff --git a/public/remmina__main_8c.html b/public/remmina__main_8c.html
index 64a3eef00..b8456c019 100644
--- a/public/remmina__main_8c.html
+++ b/public/remmina__main_8c.html
@@ -202,6 +202,8 @@ Functions</h2></td></tr>
<tr class="separator:a5445e5568a6fc04d08b620829a59334a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d60de4c121cae0c82e60b13873073db"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remmina__main_8c.html#a3d60de4c121cae0c82e60b13873073db">remmina_main_on_date_column_sort_clicked</a> ()</td></tr>
<tr class="separator:a3d60de4c121cae0c82e60b13873073db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac3fe305e456dfa7bb55aa2f057e8cb0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remmina__main_8c.html#aac3fe305e456dfa7bb55aa2f057e8cb0">remmina_main_toggle_password_view</a> (GtkWidget *widget, gpointer data)</td></tr>
+<tr class="separator:aac3fe305e456dfa7bb55aa2f057e8cb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac767825cb87a34531306cfb587216d20"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remmina__main_8c.html#ac767825cb87a34531306cfb587216d20">remmina_main_import_file_list</a> (GSList *files)</td></tr>
<tr class="separator:ac767825cb87a34531306cfb587216d20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85aa313453e0ecaa17bcce233973998d"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remmina__main_8c.html#a85aa313453e0ecaa17bcce233973998d">remmina_main_action_tools_import_on_response</a> (GtkDialog *dialog, gint response_id, gpointer user_data)</td></tr>
@@ -342,7 +344,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01315">1315</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01333">1333</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -386,7 +388,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01204">1204</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01222">1222</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -430,7 +432,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01534">1534</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01552">1552</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -638,7 +640,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01450">1450</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01468">1468</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -674,7 +676,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01473">1473</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01491">1491</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -716,7 +718,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01432">1432</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01450">1450</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -818,7 +820,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01718">1718</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01736">1736</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -866,7 +868,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01161">1161</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01179">1179</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -895,7 +897,7 @@ Variables</h2></td></tr>
</div><div class="memdoc">
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000007">Todo:</a></b></dt><dd>Set entry_quick_connect_server as default search entry. Weirdly. This does not work yet. </dd></dl>
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01553">1553</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01571">1571</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -1170,7 +1172,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01634">1634</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01652">1652</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -1226,7 +1228,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01419">1419</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01437">1437</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -1262,7 +1264,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01309">1309</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01327">1327</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -1298,7 +1300,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01263">1263</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01281">1281</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -1406,7 +1408,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01257">1257</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01275">1275</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -1514,7 +1516,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01396">1396</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01414">1414</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -1802,7 +1804,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01425">1425</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01443">1443</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -1838,7 +1840,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01291">1291</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01309">1309</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -1874,7 +1876,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01303">1303</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01321">1321</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -1910,7 +1912,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01297">1297</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01315">1315</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -1946,7 +1948,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01279">1279</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01297">1297</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -1982,7 +1984,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01285">1285</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01303">1303</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -2018,7 +2020,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01402">1402</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01420">1420</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -2054,7 +2056,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01228">1228</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01246">1246</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -2090,7 +2092,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01216">1216</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01234">1234</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -2233,7 +2235,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01515">1515</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01533">1533</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -2263,7 +2265,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01625">1625</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01643">1643</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -2318,7 +2320,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01546">1546</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01564">1564</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -2348,7 +2350,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01390">1390</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01408">1408</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -2378,7 +2380,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01495">1495</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01513">1513</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -2420,7 +2422,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01488">1488</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01506">1506</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -2448,7 +2450,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01327">1327</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01345">1345</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -2478,7 +2480,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01381">1381</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01399">1399</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -2786,7 +2788,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01737">1737</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01755">1755</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -2833,7 +2835,37 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01747">1747</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01765">1765</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+
+</div>
+</div>
+<a id="aac3fe305e456dfa7bb55aa2f057e8cb0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aac3fe305e456dfa7bb55aa2f057e8cb0">&#9670;&nbsp;</a></span>remmina_main_toggle_password_view()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void remmina_main_toggle_password_view </td>
+ <td>(</td>
+ <td class="paramtype">GtkWidget *&#160;</td>
+ <td class="paramname"><em>widget</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">gpointer&#160;</td>
+ <td class="paramname"><em>data</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01161">1161</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -2903,7 +2935,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01730">1730</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01748">1748</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -2927,18 +2959,18 @@ Variables</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
-<b>Initial value:</b><div class="fragment"><div class="line">= {</div><div class="line"> { <span class="stringliteral">&quot;about&quot;</span>, <a class="code" href="remmina__main_8c.html#aac0bb51159be042fecab0103e73a54dc">remmina_main_on_action_application_about</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;default&quot;</span>, <a class="code" href="remmina__main_8c.html#a05dbb6ce820f3a137949b919d0efa6a1">remmina_main_on_action_application_default</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;mpchange&quot;</span>, <a class="code" href="remmina__main_8c.html#abf51d42fa2c5ce84164b5514b4634229">remmina_main_on_action_application_mpchange</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;plugins&quot;</span>, <a class="code" href="remmina__main_8c.html#adf59ad5b0a0ef68e58bbea3701929efc">remmina_main_on_action_application_plugins</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;preferences&quot;</span>, <a class="code" href="remmina__main_8c.html#a6ed9f6a588a2d9e3a6cf6884c8d07f92">remmina_main_on_action_application_preferences</a>, <span class="stringliteral">&quot;i&quot;</span>, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;dark&quot;</span>, <a class="code" href="remmina__main_8c.html#a91f22c2834ac7f38d201d8d678f8c57b">remmina_main_on_action_application_dark_theme</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;debug&quot;</span>, <a class="code" href="remmina__main_8c.html#a5db4436cc72b9d5ea3e498f8519efecc">remmina_main_on_action_help_debug</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;community&quot;</span>, <a class="code" href="remmina__main_8c.html#aac3aa116a8d8b527f1aa61b7395b4b32">remmina_main_on_action_help_community</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;donations&quot;</span>, <a class="code" href="remmina__main_8c.html#a2704d643ee15702a84a1c76219dd5277">remmina_main_on_action_help_donations</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;homepage&quot;</span>, <a class="code" href="remmina__main_8c.html#a7049d977154921f651cc1538f59c5b7a">remmina_main_on_action_help_homepage</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;wiki&quot;</span>, <a class="code" href="remmina__main_8c.html#a0c32fe66988056b353220128611b9116">remmina_main_on_action_help_wiki</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;quit&quot;</span>, <a class="code" href="remmina__main_8c.html#a5445e5568a6fc04d08b620829a59334a">remmina_main_on_action_application_quit</a>, NULL, NULL, NULL },</div><div class="line">}</div><div class="ttc" id="remmina__main_8c_html_a7049d977154921f651cc1538f59c5b7a"><div class="ttname"><a href="remmina__main_8c.html#a7049d977154921f651cc1538f59c5b7a">remmina_main_on_action_help_homepage</a></div><div class="ttdeci">void remmina_main_on_action_help_homepage(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01279">remmina_main.c:1279</a></div></div>
+<b>Initial value:</b><div class="fragment"><div class="line">= {</div><div class="line"> { <span class="stringliteral">&quot;about&quot;</span>, <a class="code" href="remmina__main_8c.html#aac0bb51159be042fecab0103e73a54dc">remmina_main_on_action_application_about</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;default&quot;</span>, <a class="code" href="remmina__main_8c.html#a05dbb6ce820f3a137949b919d0efa6a1">remmina_main_on_action_application_default</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;mpchange&quot;</span>, <a class="code" href="remmina__main_8c.html#abf51d42fa2c5ce84164b5514b4634229">remmina_main_on_action_application_mpchange</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;plugins&quot;</span>, <a class="code" href="remmina__main_8c.html#adf59ad5b0a0ef68e58bbea3701929efc">remmina_main_on_action_application_plugins</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;preferences&quot;</span>, <a class="code" href="remmina__main_8c.html#a6ed9f6a588a2d9e3a6cf6884c8d07f92">remmina_main_on_action_application_preferences</a>, <span class="stringliteral">&quot;i&quot;</span>, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;dark&quot;</span>, <a class="code" href="remmina__main_8c.html#a91f22c2834ac7f38d201d8d678f8c57b">remmina_main_on_action_application_dark_theme</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;debug&quot;</span>, <a class="code" href="remmina__main_8c.html#a5db4436cc72b9d5ea3e498f8519efecc">remmina_main_on_action_help_debug</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;community&quot;</span>, <a class="code" href="remmina__main_8c.html#aac3aa116a8d8b527f1aa61b7395b4b32">remmina_main_on_action_help_community</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;donations&quot;</span>, <a class="code" href="remmina__main_8c.html#a2704d643ee15702a84a1c76219dd5277">remmina_main_on_action_help_donations</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;homepage&quot;</span>, <a class="code" href="remmina__main_8c.html#a7049d977154921f651cc1538f59c5b7a">remmina_main_on_action_help_homepage</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;wiki&quot;</span>, <a class="code" href="remmina__main_8c.html#a0c32fe66988056b353220128611b9116">remmina_main_on_action_help_wiki</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;quit&quot;</span>, <a class="code" href="remmina__main_8c.html#a5445e5568a6fc04d08b620829a59334a">remmina_main_on_action_application_quit</a>, NULL, NULL, NULL },</div><div class="line">}</div><div class="ttc" id="remmina__main_8c_html_a7049d977154921f651cc1538f59c5b7a"><div class="ttname"><a href="remmina__main_8c.html#a7049d977154921f651cc1538f59c5b7a">remmina_main_on_action_help_homepage</a></div><div class="ttdeci">void remmina_main_on_action_help_homepage(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01297">remmina_main.c:1297</a></div></div>
<div class="ttc" id="remmina__main_8c_html_abf51d42fa2c5ce84164b5514b4634229"><div class="ttname"><a href="remmina__main_8c.html#abf51d42fa2c5ce84164b5514b4634229">remmina_main_on_action_application_mpchange</a></div><div class="ttdeci">void remmina_main_on_action_application_mpchange(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00814">remmina_main.c:814</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a5db4436cc72b9d5ea3e498f8519efecc"><div class="ttname"><a href="remmina__main_8c.html#a5db4436cc72b9d5ea3e498f8519efecc">remmina_main_on_action_help_debug</a></div><div class="ttdeci">void remmina_main_on_action_help_debug(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01303">remmina_main.c:1303</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a0c32fe66988056b353220128611b9116"><div class="ttname"><a href="remmina__main_8c.html#a0c32fe66988056b353220128611b9116">remmina_main_on_action_help_wiki</a></div><div class="ttdeci">void remmina_main_on_action_help_wiki(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01285">remmina_main.c:1285</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a5db4436cc72b9d5ea3e498f8519efecc"><div class="ttname"><a href="remmina__main_8c.html#a5db4436cc72b9d5ea3e498f8519efecc">remmina_main_on_action_help_debug</a></div><div class="ttdeci">void remmina_main_on_action_help_debug(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01321">remmina_main.c:1321</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a0c32fe66988056b353220128611b9116"><div class="ttname"><a href="remmina__main_8c.html#a0c32fe66988056b353220128611b9116">remmina_main_on_action_help_wiki</a></div><div class="ttdeci">void remmina_main_on_action_help_wiki(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01303">remmina_main.c:1303</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a05dbb6ce820f3a137949b919d0efa6a1"><div class="ttname"><a href="remmina__main_8c.html#a05dbb6ce820f3a137949b919d0efa6a1">remmina_main_on_action_application_default</a></div><div class="ttdeci">void remmina_main_on_action_application_default(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01115">remmina_main.c:1115</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a2704d643ee15702a84a1c76219dd5277"><div class="ttname"><a href="remmina__main_8c.html#a2704d643ee15702a84a1c76219dd5277">remmina_main_on_action_help_donations</a></div><div class="ttdeci">void remmina_main_on_action_help_donations(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01297">remmina_main.c:1297</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a2704d643ee15702a84a1c76219dd5277"><div class="ttname"><a href="remmina__main_8c.html#a2704d643ee15702a84a1c76219dd5277">remmina_main_on_action_help_donations</a></div><div class="ttdeci">void remmina_main_on_action_help_donations(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01315">remmina_main.c:1315</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a6ed9f6a588a2d9e3a6cf6884c8d07f92"><div class="ttname"><a href="remmina__main_8c.html#a6ed9f6a588a2d9e3a6cf6884c8d07f92">remmina_main_on_action_application_preferences</a></div><div class="ttdeci">void remmina_main_on_action_application_preferences(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01091">remmina_main.c:1091</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_aac3aa116a8d8b527f1aa61b7395b4b32"><div class="ttname"><a href="remmina__main_8c.html#aac3aa116a8d8b527f1aa61b7395b4b32">remmina_main_on_action_help_community</a></div><div class="ttdeci">void remmina_main_on_action_help_community(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01291">remmina_main.c:1291</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a91f22c2834ac7f38d201d8d678f8c57b"><div class="ttname"><a href="remmina__main_8c.html#a91f22c2834ac7f38d201d8d678f8c57b">remmina_main_on_action_application_dark_theme</a></div><div class="ttdeci">void remmina_main_on_action_application_dark_theme(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01263">remmina_main.c:1263</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_aac3aa116a8d8b527f1aa61b7395b4b32"><div class="ttname"><a href="remmina__main_8c.html#aac3aa116a8d8b527f1aa61b7395b4b32">remmina_main_on_action_help_community</a></div><div class="ttdeci">void remmina_main_on_action_help_community(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01309">remmina_main.c:1309</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a91f22c2834ac7f38d201d8d678f8c57b"><div class="ttname"><a href="remmina__main_8c.html#a91f22c2834ac7f38d201d8d678f8c57b">remmina_main_on_action_application_dark_theme</a></div><div class="ttdeci">void remmina_main_on_action_application_dark_theme(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01281">remmina_main.c:1281</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a5445e5568a6fc04d08b620829a59334a"><div class="ttname"><a href="remmina__main_8c.html#a5445e5568a6fc04d08b620829a59334a">remmina_main_on_action_application_quit</a></div><div class="ttdeci">void remmina_main_on_action_application_quit(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01143">remmina_main.c:1143</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_aac0bb51159be042fecab0103e73a54dc"><div class="ttname"><a href="remmina__main_8c.html#aac0bb51159be042fecab0103e73a54dc">remmina_main_on_action_application_about</a></div><div class="ttdeci">void remmina_main_on_action_application_about(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01309">remmina_main.c:1309</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_adf59ad5b0a0ef68e58bbea3701929efc"><div class="ttname"><a href="remmina__main_8c.html#adf59ad5b0a0ef68e58bbea3701929efc">remmina_main_on_action_application_plugins</a></div><div class="ttdeci">void remmina_main_on_action_application_plugins(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01257">remmina_main.c:1257</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_aac0bb51159be042fecab0103e73a54dc"><div class="ttname"><a href="remmina__main_8c.html#aac0bb51159be042fecab0103e73a54dc">remmina_main_on_action_application_about</a></div><div class="ttdeci">void remmina_main_on_action_application_about(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01327">remmina_main.c:1327</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_adf59ad5b0a0ef68e58bbea3701929efc"><div class="ttname"><a href="remmina__main_8c.html#adf59ad5b0a0ef68e58bbea3701929efc">remmina_main_on_action_application_plugins</a></div><div class="ttdeci">void remmina_main_on_action_application_plugins(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01275">remmina_main.c:1275</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l00096">96</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
@@ -2964,17 +2996,17 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div><div class="line"> { <span class="stringliteral">&quot;connect&quot;</span>, <a class="code" href="remmina__main_8c.html#a6b30ed832369f3a7153aa63f98873c9d">remmina_main_on_action_connection_connect</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;copy&quot;</span>, <a class="code" href="remmina__main_8c.html#a44eb44c6391f53a19c6f1fdf9a39a8c1">remmina_main_on_action_connection_copy</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;delete&quot;</span>, <a class="code" href="remmina__main_8c.html#a10e574723222f5df9db456977e62a093">remmina_main_on_action_connection_delete</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;delete_multiple&quot;</span>, <a class="code" href="remmina__main_8c.html#af56bada711b2fc9c50af83b8b62dfe8b">remmina_main_on_action_connection_delete_multiple</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;edit&quot;</span>, <a class="code" href="remmina__main_8c.html#adfbfc580d25b58d09770a7d33ffe03cc">remmina_main_on_action_connection_edit</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;exttools&quot;</span>, <a class="code" href="remmina__main_8c.html#abcf8bd8ca57b389264ff9739a61efdc1">remmina_main_on_action_connection_external_tools</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;new&quot;</span>, <a class="code" href="remmina__main_8c.html#a52cc21537ff003b9d0fbdb9040c811af">remmina_main_on_action_connection_new</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;export&quot;</span>, <a class="code" href="remmina__main_8c.html#ab203476099a5ad6e889f91c8e05d577d">remmina_main_on_action_tools_export</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;import&quot;</span>, <a class="code" href="remmina__main_8c.html#a4b4f0bbdb9e487d6c3809e8a57dc1d1c">remmina_main_on_action_tools_import</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;expand&quot;</span>, <a class="code" href="remmina__main_8c.html#ab98d51c96a87fddaa2d5d6d4614bafa8">remmina_main_on_action_expand</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;collapse&quot;</span>, <a class="code" href="remmina__main_8c.html#a0edcc1d7dc3adcbb7bb36aa0f62dec3a">remmina_main_on_action_collapse</a>, NULL, NULL, NULL },</div><div class="line"> { <span class="stringliteral">&quot;search&quot;</span>, <a class="code" href="remmina__main_8c.html#a9896df7a92402b5a61e58420235c515a">remmina_main_on_action_search_toggle</a>, NULL, NULL, NULL },</div><div class="line">}</div><div class="ttc" id="remmina__main_8c_html_a6b30ed832369f3a7153aa63f98873c9d"><div class="ttname"><a href="remmina__main_8c.html#a6b30ed832369f3a7153aa63f98873c9d">remmina_main_on_action_connection_connect</a></div><div class="ttdeci">void remmina_main_on_action_connection_connect(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00768">remmina_main.c:768</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a4b4f0bbdb9e487d6c3809e8a57dc1d1c"><div class="ttname"><a href="remmina__main_8c.html#a4b4f0bbdb9e487d6c3809e8a57dc1d1c">remmina_main_on_action_tools_import</a></div><div class="ttdeci">void remmina_main_on_action_tools_import(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01216">remmina_main.c:1216</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a4b4f0bbdb9e487d6c3809e8a57dc1d1c"><div class="ttname"><a href="remmina__main_8c.html#a4b4f0bbdb9e487d6c3809e8a57dc1d1c">remmina_main_on_action_tools_import</a></div><div class="ttdeci">void remmina_main_on_action_tools_import(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01234">remmina_main.c:1234</a></div></div>
<div class="ttc" id="remmina__main_8c_html_af56bada711b2fc9c50af83b8b62dfe8b"><div class="ttname"><a href="remmina__main_8c.html#af56bada711b2fc9c50af83b8b62dfe8b">remmina_main_on_action_connection_delete_multiple</a></div><div class="ttdeci">void remmina_main_on_action_connection_delete_multiple(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01011">remmina_main.c:1011</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a44eb44c6391f53a19c6f1fdf9a39a8c1"><div class="ttname"><a href="remmina__main_8c.html#a44eb44c6391f53a19c6f1fdf9a39a8c1">remmina_main_on_action_connection_copy</a></div><div class="ttdeci">void remmina_main_on_action_connection_copy(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00910">remmina_main.c:910</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a0edcc1d7dc3adcbb7bb36aa0f62dec3a"><div class="ttname"><a href="remmina__main_8c.html#a0edcc1d7dc3adcbb7bb36aa0f62dec3a">remmina_main_on_action_collapse</a></div><div class="ttdeci">void remmina_main_on_action_collapse(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01396">remmina_main.c:1396</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a0edcc1d7dc3adcbb7bb36aa0f62dec3a"><div class="ttname"><a href="remmina__main_8c.html#a0edcc1d7dc3adcbb7bb36aa0f62dec3a">remmina_main_on_action_collapse</a></div><div class="ttdeci">void remmina_main_on_action_collapse(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01414">remmina_main.c:1414</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a52cc21537ff003b9d0fbdb9040c811af"><div class="ttname"><a href="remmina__main_8c.html#a52cc21537ff003b9d0fbdb9040c811af">remmina_main_on_action_connection_new</a></div><div class="ttdeci">void remmina_main_on_action_connection_new(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00851">remmina_main.c:851</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a10e574723222f5df9db456977e62a093"><div class="ttname"><a href="remmina__main_8c.html#a10e574723222f5df9db456977e62a093">remmina_main_on_action_connection_delete</a></div><div class="ttdeci">void remmina_main_on_action_connection_delete(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00977">remmina_main.c:977</a></div></div>
<div class="ttc" id="remmina__main_8c_html_abcf8bd8ca57b389264ff9739a61efdc1"><div class="ttname"><a href="remmina__main_8c.html#abcf8bd8ca57b389264ff9739a61efdc1">remmina_main_on_action_connection_external_tools</a></div><div class="ttdeci">void remmina_main_on_action_connection_external_tools(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00796">remmina_main.c:796</a></div></div>
<div class="ttc" id="remmina__main_8c_html_adfbfc580d25b58d09770a7d33ffe03cc"><div class="ttname"><a href="remmina__main_8c.html#adfbfc580d25b58d09770a7d33ffe03cc">remmina_main_on_action_connection_edit</a></div><div class="ttdeci">void remmina_main_on_action_connection_edit(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00946">remmina_main.c:946</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_ab98d51c96a87fddaa2d5d6d4614bafa8"><div class="ttname"><a href="remmina__main_8c.html#ab98d51c96a87fddaa2d5d6d4614bafa8">remmina_main_on_action_expand</a></div><div class="ttdeci">void remmina_main_on_action_expand(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01425">remmina_main.c:1425</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a9896df7a92402b5a61e58420235c515a"><div class="ttname"><a href="remmina__main_8c.html#a9896df7a92402b5a61e58420235c515a">remmina_main_on_action_search_toggle</a></div><div class="ttdeci">void remmina_main_on_action_search_toggle(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01402">remmina_main.c:1402</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_ab203476099a5ad6e889f91c8e05d577d"><div class="ttname"><a href="remmina__main_8c.html#ab203476099a5ad6e889f91c8e05d577d">remmina_main_on_action_tools_export</a></div><div class="ttdeci">void remmina_main_on_action_tools_export(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01228">remmina_main.c:1228</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_ab98d51c96a87fddaa2d5d6d4614bafa8"><div class="ttname"><a href="remmina__main_8c.html#ab98d51c96a87fddaa2d5d6d4614bafa8">remmina_main_on_action_expand</a></div><div class="ttdeci">void remmina_main_on_action_expand(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01443">remmina_main.c:1443</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a9896df7a92402b5a61e58420235c515a"><div class="ttname"><a href="remmina__main_8c.html#a9896df7a92402b5a61e58420235c515a">remmina_main_on_action_search_toggle</a></div><div class="ttdeci">void remmina_main_on_action_search_toggle(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01420">remmina_main.c:1420</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_ab203476099a5ad6e889f91c8e05d577d"><div class="ttname"><a href="remmina__main_8c.html#ab203476099a5ad6e889f91c8e05d577d">remmina_main_on_action_tools_export</a></div><div class="ttdeci">void remmina_main_on_action_tools_export(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01246">remmina_main.c:1246</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l00111">111</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
diff --git a/public/remmina__main_8c.js b/public/remmina__main_8c.js
index 51814edf0..f464536f7 100644
--- a/public/remmina__main_8c.js
+++ b/public/remmina__main_8c.js
@@ -85,6 +85,7 @@ var remmina__main_8c =
[ "remmina_main_show_dialog", "remmina__main_8c.html#ab2a1a54320992fb796850ffbd6a63589", null ],
[ "remmina_main_show_snap_welcome", "remmina__main_8c.html#ab08aae433b625c3a84330630fe2bd2d5", null ],
[ "remmina_main_show_warning_dialog", "remmina__main_8c.html#ad99b9c0bf2fa8c166a8b4a09e06ffdf7", null ],
+ [ "remmina_main_toggle_password_view", "remmina__main_8c.html#aac3fe305e456dfa7bb55aa2f057e8cb0", null ],
[ "remmina_main_tree_row_activated", "remmina__main_8c.html#a4477897686d091d6f57e7f9401674a8c", null ],
[ "remmina_main_update_file_datetime", "remmina__main_8c.html#a5ae0372dafe41f96a09097c07d1b270a", null ],
[ "app_actions", "remmina__main_8c.html#a923b3e2712d969eb59d9291e99f933e8", null ],
diff --git a/public/remmina__main_8c_source.html b/public/remmina__main_8c_source.html
index 0de01fd5a..b32c8950d 100644
--- a/public/remmina__main_8c_source.html
+++ b/public/remmina__main_8c_source.html
@@ -86,7 +86,7 @@ $(document).ready(function(){initNavTree('remmina__main_8c_source.html','');});
<div class="title">remmina_main.c</div> </div>
</div><!--header-->
<div class="contents">
-<a href="remmina__main_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Remmina - The GTK+ Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2009-2011 Vic Lee</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Copyright (C) 2016-2022 Antenore Gatta, Giovanni Panozzo</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * Copyright (C) 2022-2023 Antenore Gatta, Giovanni Panozzo, Hiroyuki Tanaka</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * along with this program; if not, write to the Free Software</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * In addition, as a special exception, the copyright holders give</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * permission to link the code of portions of this program with the</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * OpenSSL library under certain conditions as described in each</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * including the two.</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * You must obey the GNU General Public License in all respects</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * for all of the code used other than OpenSSL. * If you modify</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> * file(s) with this exception, you may extend this exception to your</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> * version of the file(s), but you are not obligated to do so. * If you</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> * do not wish to do so, delete this exception statement from your</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> * version. * If you delete this exception statement from all source</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"> * files in the program, then also delete it here.</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &quot;config.h&quot;</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &lt;ctype.h&gt;</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &lt;gio/gio.h&gt;</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#ifndef __APPLE__</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#include &lt;gio/gdesktopappinfo.h&gt;</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#include &lt;gdk/gdkkeysyms.h&gt;</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor">#include &lt;glib/gi18n.h&gt;</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor">#include &lt;gtk/gtk.h&gt;</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina_8h.html">remmina.h</a>&quot;</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__string__array_8h.html">remmina_string_array.h</a>&quot;</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__public_8h.html">remmina_public.h</a>&quot;</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file_8h.html">remmina_file.h</a>&quot;</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file__manager_8h.html">remmina_file_manager.h</a>&quot;</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file__editor_8h.html">remmina_file_editor.h</a>&quot;</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="rcw_8h.html">rcw.h</a>&quot;</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__about_8h.html">remmina_about.h</a>&quot;</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__pref_8h.html">remmina_pref.h</a>&quot;</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__pref__dialog_8h.html">remmina_pref_dialog.h</a>&quot;</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__widget__pool_8h.html">remmina_widget_pool.h</a>&quot;</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__plugin__manager_8h.html">remmina_plugin_manager.h</a>&quot;</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__log_8h.html">remmina_log.h</a>&quot;</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__icon_8h.html">remmina_icon.h</a>&quot;</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__main_8h.html">remmina_main.h</a>&quot;</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__exec_8h.html">remmina_exec.h</a>&quot;</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__mpchange_8h.html">remmina_mpchange.h</a>&quot;</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__external__tools_8h.html">remmina_external_tools.h</a>&quot;</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__unlock_8h.html">remmina_unlock.h</a>&quot;</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__trace__calls_8h.html">remmina/remmina_trace_calls.h</a>&quot;</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#ab7c680e1f6ffeef21cb928a083d36d89"> 69</a></span>&#160;<span class="keyword">static</span> <a class="code" href="struct___remmina_main.html">RemminaMain</a> *<a class="code" href="remmina__main_8c.html#ab7c680e1f6ffeef21cb928a083d36d89">remminamain</a>;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="preprocessor">#define RM_GET_OBJECT(object_name) gtk_builder_get_object(remminamain-&gt;builder, object_name)</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="keyword">enum</span> {</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a2b637b91fededa6eb7f4be69da080445"> 74</a></span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a2b637b91fededa6eb7f4be69da080445">PROTOCOL_COLUMN</a>,</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1f8f29e04fd120da5a66491ef0a4ff6c"> 75</a></span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1f8f29e04fd120da5a66491ef0a4ff6c">NAME_COLUMN</a>,</div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1704de86134c42b13d2e5fd7cf7c903b"> 76</a></span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1704de86134c42b13d2e5fd7cf7c903b">GROUP_COLUMN</a>,</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c129f382d9456db6f671e1e6e99d32f"> 77</a></span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c129f382d9456db6f671e1e6e99d32f">SERVER_COLUMN</a>,</div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388ad68c7d7d2f1cfe0321e87c4a833a0756"> 78</a></span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388ad68c7d7d2f1cfe0321e87c4a833a0756">PLUGIN_COLUMN</a>,</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a6e22c76fbdeaa8f724eb996db2d528bb"> 79</a></span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a6e22c76fbdeaa8f724eb996db2d528bb">DATE_COLUMN</a>,</div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c5d264253ed2fc8f96ffcee508db93d"> 80</a></span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c5d264253ed2fc8f96ffcee508db93d">FILENAME_COLUMN</a>,</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a4d053f07c7bfa18ee1db38382a64c454"> 81</a></span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a4d053f07c7bfa18ee1db38382a64c454">LABELS_COLUMN</a>,</div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a348c0cf6892b36818d9825dddc25f8e3"> 82</a></span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a348c0cf6892b36818d9825dddc25f8e3">NOTES_COLUMN</a>,</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388ac70d28409ca79aa291cc0e58244f1fe4"> 83</a></span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388ac70d28409ca79aa291cc0e58244f1fe4">N_COLUMNS</a></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;};</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="keyword">static</span></div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a8ebbcba2c07af0938b3c29e316747d12"> 87</a></span>&#160;<span class="keyword">const</span> gchar *<a class="code" href="remmina__main_8c.html#a8ebbcba2c07af0938b3c29e316747d12">supported_mime_types</a>[] = {</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="stringliteral">&quot;x-scheme-handler/rdp&quot;</span>,</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="stringliteral">&quot;x-scheme-handler/spice&quot;</span>,</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="stringliteral">&quot;x-scheme-handler/vnc&quot;</span>,</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="stringliteral">&quot;x-scheme-handler/remmina&quot;</span>,</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="stringliteral">&quot;application/x-remmina&quot;</span>,</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; NULL</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;};</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a923b3e2712d969eb59d9291e99f933e8"> 96</a></span>&#160;<span class="keyword">static</span> GActionEntry <a class="code" href="remmina__main_8c.html#a923b3e2712d969eb59d9291e99f933e8">app_actions</a>[] = {</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; { <span class="stringliteral">&quot;about&quot;</span>, <a class="code" href="remmina__main_8c.html#aac0bb51159be042fecab0103e73a54dc">remmina_main_on_action_application_about</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; { <span class="stringliteral">&quot;default&quot;</span>, <a class="code" href="remmina__main_8c.html#a05dbb6ce820f3a137949b919d0efa6a1">remmina_main_on_action_application_default</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; { <span class="stringliteral">&quot;mpchange&quot;</span>, <a class="code" href="remmina__main_8c.html#abf51d42fa2c5ce84164b5514b4634229">remmina_main_on_action_application_mpchange</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; { <span class="stringliteral">&quot;plugins&quot;</span>, <a class="code" href="remmina__main_8c.html#adf59ad5b0a0ef68e58bbea3701929efc">remmina_main_on_action_application_plugins</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; { <span class="stringliteral">&quot;preferences&quot;</span>, <a class="code" href="remmina__main_8c.html#a6ed9f6a588a2d9e3a6cf6884c8d07f92">remmina_main_on_action_application_preferences</a>, <span class="stringliteral">&quot;i&quot;</span>, NULL, NULL },</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; { <span class="stringliteral">&quot;dark&quot;</span>, <a class="code" href="remmina__main_8c.html#a91f22c2834ac7f38d201d8d678f8c57b">remmina_main_on_action_application_dark_theme</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; { <span class="stringliteral">&quot;debug&quot;</span>, <a class="code" href="remmina__main_8c.html#a5db4436cc72b9d5ea3e498f8519efecc">remmina_main_on_action_help_debug</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; { <span class="stringliteral">&quot;community&quot;</span>, <a class="code" href="remmina__main_8c.html#aac3aa116a8d8b527f1aa61b7395b4b32">remmina_main_on_action_help_community</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; { <span class="stringliteral">&quot;donations&quot;</span>, <a class="code" href="remmina__main_8c.html#a2704d643ee15702a84a1c76219dd5277">remmina_main_on_action_help_donations</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; { <span class="stringliteral">&quot;homepage&quot;</span>, <a class="code" href="remmina__main_8c.html#a7049d977154921f651cc1538f59c5b7a">remmina_main_on_action_help_homepage</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; { <span class="stringliteral">&quot;wiki&quot;</span>, <a class="code" href="remmina__main_8c.html#a0c32fe66988056b353220128611b9116">remmina_main_on_action_help_wiki</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; { <span class="stringliteral">&quot;quit&quot;</span>, <a class="code" href="remmina__main_8c.html#a5445e5568a6fc04d08b620829a59334a">remmina_main_on_action_application_quit</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;};</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#af146cc1f982c98a9c8a5ac43cc1508f3"> 111</a></span>&#160;<span class="keyword">static</span> GActionEntry <a class="code" href="remmina__main_8c.html#af146cc1f982c98a9c8a5ac43cc1508f3">main_actions</a>[] = {</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; { <span class="stringliteral">&quot;connect&quot;</span>, <a class="code" href="remmina__main_8c.html#a6b30ed832369f3a7153aa63f98873c9d">remmina_main_on_action_connection_connect</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; { <span class="stringliteral">&quot;copy&quot;</span>, <a class="code" href="remmina__main_8c.html#a44eb44c6391f53a19c6f1fdf9a39a8c1">remmina_main_on_action_connection_copy</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; { <span class="stringliteral">&quot;delete&quot;</span>, <a class="code" href="remmina__main_8c.html#a10e574723222f5df9db456977e62a093">remmina_main_on_action_connection_delete</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; { <span class="stringliteral">&quot;delete_multiple&quot;</span>, <a class="code" href="remmina__main_8c.html#af56bada711b2fc9c50af83b8b62dfe8b">remmina_main_on_action_connection_delete_multiple</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; { <span class="stringliteral">&quot;edit&quot;</span>, <a class="code" href="remmina__main_8c.html#adfbfc580d25b58d09770a7d33ffe03cc">remmina_main_on_action_connection_edit</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; { <span class="stringliteral">&quot;exttools&quot;</span>, <a class="code" href="remmina__main_8c.html#abcf8bd8ca57b389264ff9739a61efdc1">remmina_main_on_action_connection_external_tools</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; { <span class="stringliteral">&quot;new&quot;</span>, <a class="code" href="remmina__main_8c.html#a52cc21537ff003b9d0fbdb9040c811af">remmina_main_on_action_connection_new</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; { <span class="stringliteral">&quot;export&quot;</span>, <a class="code" href="remmina__main_8c.html#ab203476099a5ad6e889f91c8e05d577d">remmina_main_on_action_tools_export</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; { <span class="stringliteral">&quot;import&quot;</span>, <a class="code" href="remmina__main_8c.html#a4b4f0bbdb9e487d6c3809e8a57dc1d1c">remmina_main_on_action_tools_import</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; { <span class="stringliteral">&quot;expand&quot;</span>, <a class="code" href="remmina__main_8c.html#ab98d51c96a87fddaa2d5d6d4614bafa8">remmina_main_on_action_expand</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; { <span class="stringliteral">&quot;collapse&quot;</span>, <a class="code" href="remmina__main_8c.html#a0edcc1d7dc3adcbb7bb36aa0f62dec3a">remmina_main_on_action_collapse</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; { <span class="stringliteral">&quot;search&quot;</span>, <a class="code" href="remmina__main_8c.html#a9896df7a92402b5a61e58420235c515a">remmina_main_on_action_search_toggle</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;};</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a8ccd8303ada6e26880504fc58812fbda"> 126</a></span>&#160;<span class="keyword">static</span> GtkTargetEntry <a class="code" href="remmina__main_8c.html#a8ccd8303ada6e26880504fc58812fbda">remmina_drop_types</a>[] =</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;{</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; { <span class="stringliteral">&quot;text/uri-list&quot;</span>, 0, 1 }</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;};</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#aace9ecdd0b74d392ad6ed541bd605c1c"> 131</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">char</span> *<a class="code" href="remmina__main_8c.html#aace9ecdd0b74d392ad6ed541bd605c1c">quick_connect_plugin_list</a>[] =</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;{</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="stringliteral">&quot;RDP&quot;</span>, <span class="stringliteral">&quot;VNC&quot;</span>, <span class="stringliteral">&quot;SSH&quot;</span>, <span class="stringliteral">&quot;NX&quot;</span>, <span class="stringliteral">&quot;SPICE&quot;</span>, <span class="stringliteral">&quot;X2GO&quot;</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;};</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#ac448c53d7a2066763d2b747d269f60ee"> 139</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#ac448c53d7a2066763d2b747d269f60ee">remmina_main_save_size</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;{</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">if</span> ((gdk_window_get_state(gtk_widget_get_window(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>))) &amp; GDK_WINDOW_STATE_MAXIMIZED) == 0) {</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; gtk_window_get_size(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, &amp;<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a6318ff8e2f73d36fb8b35cbed503c222">main_width</a>, &amp;<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#aeb86dc8005c98ce2eab57bd900467875">main_height</a>);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a8edfd2a9a9a06b1fd876fbe8742b9ff6">main_maximize</a> = FALSE;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a8edfd2a9a9a06b1fd876fbe8742b9ff6">main_maximize</a> = TRUE;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; }</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;}</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;</div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a51880fc109db6457a5d0fc543c2deaf2"> 150</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a51880fc109db6457a5d0fc543c2deaf2">remmina_main_save_expanded_group_func</a>(GtkTreeView *tree_view, GtkTreePath *path, gpointer user_data)</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;{</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; GtkTreeIter iter;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; gchar *group;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; gtk_tree_model_get_iter(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">file_model_sort</a>, &amp;iter, path);</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; gtk_tree_model_get(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">file_model_sort</a>, &amp;iter, <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1704de86134c42b13d2e5fd7cf7c903b">GROUP_COLUMN</a>, &amp;group, -1);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">if</span> (group) {</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="code" href="remmina__string__array_8c.html#a2aaacca7db4b86f836486cfb559398f0">remmina_string_array_add</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a467cf8ebc87ccdb68b9f88bce95c9f3a">expanded_group</a>, group);</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; g_free(group);</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; }</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;}</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#ad8744dc59ba8072ffdf557b6c94e9f40"> 164</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#ad8744dc59ba8072ffdf557b6c94e9f40">remmina_main_save_expanded_group</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;{</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">if</span> (GTK_IS_TREE_STORE(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#aec4c4540e9463a45b22a5c0b9108bc6f">file_model</a>)) {</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">if</span> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a467cf8ebc87ccdb68b9f88bce95c9f3a">expanded_group</a>)</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <a class="code" href="remmina__string__array_8c.html#a8ab78913d299df665a408a8a5ec51bbe">remmina_string_array_free</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a467cf8ebc87ccdb68b9f88bce95c9f3a">expanded_group</a>);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a467cf8ebc87ccdb68b9f88bce95c9f3a">expanded_group</a> = <a class="code" href="remmina__string__array_8c.html#aff90e964c6541b1af02adf7ea39e6e02">remmina_string_array_new</a>();</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; gtk_tree_view_map_expanded_rows(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>,</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; (GtkTreeViewMappingFunc)<a class="code" href="remmina__main_8c.html#a51880fc109db6457a5d0fc543c2deaf2">remmina_main_save_expanded_group_func</a>, NULL);</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; }</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;}</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a95cedb0d631aacbd1b4a5ee1e10a40a5"> 180</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a009f32092bd1d8dcd8e783d25416f3df">remmina_main_save_before_destroy</a>()</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;{</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordflow">if</span> (!remminamain || !remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>)</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <a class="code" href="remmina__main_8c.html#ac448c53d7a2066763d2b747d269f60ee">remmina_main_save_size</a>();</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <a class="code" href="remmina__main_8c.html#ad8744dc59ba8072ffdf557b6c94e9f40">remmina_main_save_expanded_group</a>();</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; g_free(<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#aa8d4c923cb9ca1be451436d1790e8ee5">expanded_group</a>);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#aa8d4c923cb9ca1be451436d1790e8ee5">expanded_group</a> = <a class="code" href="remmina__string__array_8c.html#a96f7bec7ce32de6cf5deadcd5aec51ec">remmina_string_array_to_string</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a467cf8ebc87ccdb68b9f88bce95c9f3a">expanded_group</a>);</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <a class="code" href="remmina__pref_8c.html#ae17aaf37449083a4322b6748c8f3a39f">remmina_pref_save</a>();</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;}</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a77d974da2ddd1ea7c87f8b9bb1eedda8"> 193</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a95532ac6d110eeeb2e41d4b2a329797c">remmina_main_destroy</a>()</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;{</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">if</span> (remminamain) {</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">if</span> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>)</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; gtk_widget_destroy(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>));</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; g_object_unref(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ab7c6aebff1b06ef97c36bfa9d360b0c1">builder</a>);</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <a class="code" href="remmina__string__array_8c.html#a8ab78913d299df665a408a8a5ec51bbe">remmina_string_array_free</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a467cf8ebc87ccdb68b9f88bce95c9f3a">expanded_group</a>);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a467cf8ebc87ccdb68b9f88bce95c9f3a">expanded_group</a> = NULL;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">if</span> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#aec4c4540e9463a45b22a5c0b9108bc6f">file_model</a>)</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; g_object_unref(G_OBJECT(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#aec4c4540e9463a45b22a5c0b9108bc6f">file_model</a>));</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; g_object_unref(G_OBJECT(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#ae1e1d579bdb2517bd0f86408b9d5f97c">file_model_filter</a>));</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; g_free(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; g_free(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a606c7e6dc78219e8e5536519db723a4d">selected_name</a>);</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; g_free(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>);</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; g_free(remminamain);</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; remminamain = NULL;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; }</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;}</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a33ef5745d8b934ef52379c277d3a1ab2"> 218</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__main_8c.html#a33ef5745d8b934ef52379c277d3a1ab2">remmina_main_dexit</a>(gpointer data)</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;{</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <a class="code" href="remmina__exec_8c.html#aaa67e07e2426828d7e7b9b30d2038d31">remmina_application_condexit</a>(<a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5ae79d14a54e119795478a6e390d7d3b40">REMMINA_CONDEXIT_ONMAINWINDELETE</a>);</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;}</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;</div><div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a40493bb60c169e53e2e08a0d0a808302"> 225</a></span>&#160;gboolean <a class="code" href="remmina__main_8c.html#a40493bb60c169e53e2e08a0d0a808302">remmina_main_on_delete_event</a>(GtkWidget *widget, GdkEvent *event, gpointer user_data)</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;{</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <a class="code" href="remmina__main_8c.html#a009f32092bd1d8dcd8e783d25416f3df">remmina_main_save_before_destroy</a>();</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; g_idle_add(<a class="code" href="remmina__main_8c.html#a33ef5745d8b934ef52379c277d3a1ab2">remmina_main_dexit</a>, NULL);</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;}</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;</div><div class="line"><a name="l00235"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a829d3ad1468d780380ae1ad693532e82"> 235</a></span>&#160;gboolean <a class="code" href="remmina__main_8c.html#a829d3ad1468d780380ae1ad693532e82">remmina_main_idle_destroy</a>(gpointer data)</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;{</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">if</span> (remminamain)</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <a class="code" href="remmina__main_8c.html#a95532ac6d110eeeb2e41d4b2a329797c">remmina_main_destroy</a>();</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">return</span> G_SOURCE_REMOVE;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;}</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;</div><div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a4d2d08c3fed3f72ea7f4c0600fec7ed5"> 248</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#aeb74f36e5fd58ceab9f13a184bfb2029">remmina_main_on_destroy_event</a>()</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;{</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">if</span> (remminamain) {</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="comment">/* Invalidate remminamain-&gt;window to avoid multiple destructions */</span></div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a> = NULL;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="comment">/* Destroy remminamain struct, later. We can&#39;t destroy</span></div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;<span class="comment"> * important objects like the builder now */</span></div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; g_idle_add(<a class="code" href="remmina__main_8c.html#a829d3ad1468d780380ae1ad693532e82">remmina_main_idle_destroy</a>, NULL);</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; }</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;}</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;</div><div class="line"><a name="l00261"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a9e60326026d7de56882bc83c0084fd12"> 261</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a9e60326026d7de56882bc83c0084fd12">remmina_main_clear_selection_data</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;{</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; g_free(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; g_free(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a606c7e6dc78219e8e5536519db723a4d">selected_name</a>);</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a> = NULL;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a606c7e6dc78219e8e5536519db723a4d">selected_name</a> = NULL;</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;}</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;<span class="preprocessor">#ifdef SNAP_BUILD</span></div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;</div><div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#ab08aae433b625c3a84330630fe2bd2d5"> 272</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#ab08aae433b625c3a84330630fe2bd2d5">remmina_main_show_snap_welcome</a>()</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;{</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; GtkBuilder *dlgbuilder = NULL;</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; GtkWidget *dlg;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; GtkWindow *parent;</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordtype">int</span> result;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keyword">static</span> gboolean shown_once = FALSE;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; gboolean need_snap_interface_connections = FALSE;</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; GtkWidget *dsa;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <a class="code" href="struct___remmina_secret_plugin.html">RemminaSecretPlugin</a> *<a class="code" href="remmina__plugin__manager_8c.html#a5e79d6abd0b12c1ed2bb33988e41857e">remmina_secret_plugin</a>;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordflow">if</span> (shown_once)</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; shown_once = TRUE;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; g_print(<span class="stringliteral">&quot;Remmina is compiled as a SNAP package.\n&quot;</span>);</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; remmina_secret_plugin = <a class="code" href="remmina__plugin__manager_8c.html#ad380a98f6624aa8c830015c8b428b7b4">remmina_plugin_manager_get_secret_plugin</a>();</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">if</span> (remmina_secret_plugin == NULL) {</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; g_print(<span class="stringliteral">&quot; but we can’t find the secret plugin inside the SNAP.\n&quot;</span>);</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; need_snap_interface_connections = TRUE;</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">if</span> (!remmina_secret_plugin-&gt;<a class="code" href="struct___remmina_secret_plugin.html#a2123e14795b104f5fe8d77a4b7847261">is_service_available</a>(remmina_secret_plugin)) {</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; g_print(<span class="stringliteral">&quot; but we can’t access a secret service. Secret service or SNAP interface connection is missing.\n&quot;</span>);</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; need_snap_interface_connections = TRUE;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; }</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; }</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordflow">if</span> (need_snap_interface_connections &amp;&amp; !<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a18872e092d22f5d3accb66d6a22845d7">prevent_snap_welcome_message</a>) {</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; dlgbuilder = <a class="code" href="remmina__public_8c.html#a4573e086e1ff8507eb9447b25bf11b92">remmina_public_gtk_builder_new_from_resource</a>(<span class="stringliteral">&quot;/org/remmina/Remmina/src/../data/ui/remmina_snap_info_dialog.glade&quot;</span>);</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; dsa = GTK_WIDGET(gtk_builder_get_object(dlgbuilder, <span class="stringliteral">&quot;dontshowagain&quot;</span>));</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordflow">if</span> (dlgbuilder) {</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; parent = <a class="code" href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a>();</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; dlg = GTK_WIDGET(gtk_builder_get_object(dlgbuilder, <span class="stringliteral">&quot;SnapInfoDlg&quot;</span>));</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keywordflow">if</span> (parent)</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; gtk_window_set_transient_for(GTK_WINDOW(dlg), parent);</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; gtk_builder_connect_signals(dlgbuilder, NULL);</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; result = gtk_dialog_run(GTK_DIALOG(dlg));</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordflow">if</span> (result == 1) {</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a18872e092d22f5d3accb66d6a22845d7">prevent_snap_welcome_message</a> = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dsa));</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <a class="code" href="remmina__pref_8c.html#ae17aaf37449083a4322b6748c8f3a39f">remmina_pref_save</a>();</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; }</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; gtk_widget_destroy(dlg);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; g_object_unref(dlgbuilder);</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; }</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; }</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;}</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;</div><div class="line"><a name="l00322"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a3c5043279b5d98d4d08635d33402ea66"> 322</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__main_8c.html#a3c5043279b5d98d4d08635d33402ea66">remmina_main_selection_func</a>(GtkTreeSelection *selection, GtkTreeModel *model, GtkTreePath *path,</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; gboolean path_currently_selected, gpointer user_data)</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;{</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; guint context_id;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; GtkTreeIter iter;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; gchar buf[1000];</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keywordflow">if</span> (path_currently_selected)</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160;</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordflow">if</span> (!gtk_tree_model_get_iter(model, &amp;iter, path))</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <a class="code" href="remmina__main_8c.html#a9e60326026d7de56882bc83c0084fd12">remmina_main_clear_selection_data</a>();</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; gtk_tree_model_get(model, &amp;iter,</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1f8f29e04fd120da5a66491ef0a4ff6c">NAME_COLUMN</a>, &amp;remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a606c7e6dc78219e8e5536519db723a4d">selected_name</a>,</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c5d264253ed2fc8f96ffcee508db93d">FILENAME_COLUMN</a>, &amp;remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>,</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; -1);</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; context_id = gtk_statusbar_get_context_id(remminamain-&gt;<a class="code" href="struct___remmina_main.html#acacd90f3e6df6a864154edba01464ae2">statusbar_main</a>, <span class="stringliteral">&quot;status&quot;</span>);</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; gtk_statusbar_pop(remminamain-&gt;<a class="code" href="struct___remmina_main.html#acacd90f3e6df6a864154edba01464ae2">statusbar_main</a>, context_id);</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordflow">if</span> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>) {</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; g_snprintf(buf, <span class="keyword">sizeof</span>(buf), <span class="stringliteral">&quot;%s (%s)&quot;</span>, remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a606c7e6dc78219e8e5536519db723a4d">selected_name</a>, remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; gtk_statusbar_push(remminamain-&gt;<a class="code" href="struct___remmina_main.html#acacd90f3e6df6a864154edba01464ae2">statusbar_main</a>, context_id, buf);</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; gtk_statusbar_push(remminamain-&gt;<a class="code" href="struct___remmina_main.html#acacd90f3e6df6a864154edba01464ae2">statusbar_main</a>, context_id, remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a606c7e6dc78219e8e5536519db723a4d">selected_name</a>);</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; }</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160;}</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;</div><div class="line"><a name="l00355"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a71f485dba1b11bf8cba129920767b5e6"> 355</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a71f485dba1b11bf8cba129920767b5e6">remmina_main_load_file_list_callback</a>(<a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile, gpointer user_data)</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;{</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; GtkTreeIter iter;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; GtkListStore *store;</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; store = GTK_LIST_STORE(user_data);</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; gchar *datetime;</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; datetime = <a class="code" href="remmina__file_8c.html#a96abbfdc183d1e82fdffd6445d611ffe">remmina_file_get_datetime</a>(remminafile);</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; gtk_list_store_append(store, &amp;iter);</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; gtk_list_store_set(store, &amp;iter,</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a2b637b91fededa6eb7f4be69da080445">PROTOCOL_COLUMN</a>, <a class="code" href="remmina__file_8c.html#a2feb8e9e32f3ff4e2fac836e67a77331">remmina_file_get_icon_name</a>(remminafile),</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1f8f29e04fd120da5a66491ef0a4ff6c">NAME_COLUMN</a>, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;name&quot;</span>),</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a348c0cf6892b36818d9825dddc25f8e3">NOTES_COLUMN</a>, g_uri_unescape_string(<a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;notes_text&quot;</span>), NULL),</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1704de86134c42b13d2e5fd7cf7c903b">GROUP_COLUMN</a>, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;group&quot;</span>),</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c129f382d9456db6f671e1e6e99d32f">SERVER_COLUMN</a>, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;server&quot;</span>),</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388ad68c7d7d2f1cfe0321e87c4a833a0756">PLUGIN_COLUMN</a>, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;protocol&quot;</span>),</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a6e22c76fbdeaa8f724eb996db2d528bb">DATE_COLUMN</a>, datetime,</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c5d264253ed2fc8f96ffcee508db93d">FILENAME_COLUMN</a>, <a class="code" href="remmina__file_8c.html#ad1e4f3a0f64cd98e301044b6c38a1f1d">remmina_file_get_filename</a>(remminafile),</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a4d053f07c7bfa18ee1db38382a64c454">LABELS_COLUMN</a>, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;labels&quot;</span>),</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; -1);</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; g_free(datetime);</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;}</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160;</div><div class="line"><a name="l00380"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a2a6ba822ef89ef8ad9f19340c2c8b7f5"> 380</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__main_8c.html#a2a6ba822ef89ef8ad9f19340c2c8b7f5">remmina_main_load_file_tree_traverse</a>(GNode *<a class="code" href="remmina__ssh_8c.html#a85d5bd836f83ef1dbbcf4657f32e0792">node</a>, GtkTreeStore *store, GtkTreeIter *parent)</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160;{</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; GtkTreeIter *iter;</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <a class="code" href="remmina__file__manager_8h.html#a0155f52ba9a28e2aa0ea5d831f5d2c90">RemminaGroupData</a> *data;</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; GNode *child;</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; iter = NULL;</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordflow">if</span> (node-&gt;data) {</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; data = (<a class="code" href="remmina__file__manager_8h.html#a0155f52ba9a28e2aa0ea5d831f5d2c90">RemminaGroupData</a> *)node-&gt;data;</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; iter = g_new0(GtkTreeIter, 1);</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; gtk_tree_store_append(store, iter, parent);</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; gtk_tree_store_set(store, iter,</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a2b637b91fededa6eb7f4be69da080445">PROTOCOL_COLUMN</a>, <span class="stringliteral">&quot;folder-symbolic&quot;</span>,</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1f8f29e04fd120da5a66491ef0a4ff6c">NAME_COLUMN</a>, data-&gt;name,</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1704de86134c42b13d2e5fd7cf7c903b">GROUP_COLUMN</a>, data-&gt;group,</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a6e22c76fbdeaa8f724eb996db2d528bb">DATE_COLUMN</a>, data-&gt;datetime,</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c5d264253ed2fc8f96ffcee508db93d">FILENAME_COLUMN</a>, NULL,</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a4d053f07c7bfa18ee1db38382a64c454">LABELS_COLUMN</a>, data-&gt;labels,</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; -1);</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; }</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keywordflow">for</span> (child = g_node_first_child(node); child; child = g_node_next_sibling(child))</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <a class="code" href="remmina__main_8c.html#a2a6ba822ef89ef8ad9f19340c2c8b7f5">remmina_main_load_file_tree_traverse</a>(child, store, iter);</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; g_free(iter);</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160;}</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160;</div><div class="line"><a name="l00407"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#aa46e6b815c241d32a476a29053dbf296"> 407</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#aa46e6b815c241d32a476a29053dbf296">remmina_main_load_file_tree_group</a>(GtkTreeStore *store)</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160;{</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; GNode *root;</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; root = <a class="code" href="remmina__file__manager_8c.html#a6593a3f297f420f012405fa582819857">remmina_file_manager_get_group_tree</a>();</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <a class="code" href="remmina__main_8c.html#a2a6ba822ef89ef8ad9f19340c2c8b7f5">remmina_main_load_file_tree_traverse</a>(root, store, NULL);</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <a class="code" href="remmina__file__manager_8c.html#a06196f19abc15526514a5aa59a568798">remmina_file_manager_free_group_tree</a>(root);</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;}</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160;</div><div class="line"><a name="l00417"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a74cb130b886c2b905f651e777644a08c"> 417</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a74cb130b886c2b905f651e777644a08c">remmina_main_expand_group_traverse</a>(GtkTreeIter *iter)</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;{</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; GtkTreeModel *tree;</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; gboolean ret;</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; gchar *group, *filename;</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; GtkTreeIter child;</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; GtkTreePath *path;</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; tree = remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">file_model_sort</a>;</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; ret = TRUE;</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordflow">while</span> (ret) {</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; gtk_tree_model_get(tree, iter, <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1704de86134c42b13d2e5fd7cf7c903b">GROUP_COLUMN</a>, &amp;group, <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c5d264253ed2fc8f96ffcee508db93d">FILENAME_COLUMN</a>, &amp;filename, -1);</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">if</span> (filename == NULL) {</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__string__array_8c.html#ab93a69850cfb4117c223a3f145ced986">remmina_string_array_find</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a467cf8ebc87ccdb68b9f88bce95c9f3a">expanded_group</a>, group) &gt;= 0) {</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; path = gtk_tree_model_get_path(tree, iter);</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; gtk_tree_view_expand_row(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>, path, FALSE);</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; gtk_tree_path_free(path);</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; }</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keywordflow">if</span> (gtk_tree_model_iter_children(tree, &amp;child, iter))</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <a class="code" href="remmina__main_8c.html#a74cb130b886c2b905f651e777644a08c">remmina_main_expand_group_traverse</a>(&amp;child);</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; }</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; g_free(group);</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; g_free(filename);</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160;</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; ret = gtk_tree_model_iter_next(tree, iter);</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; }</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160;}</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160;</div><div class="line"><a name="l00446"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a4a4733c243f20c3ffc27105003f5e30e"> 446</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a4a4733c243f20c3ffc27105003f5e30e">remmina_main_expand_group</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160;{</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; GtkTreeIter iter;</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160;</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordflow">if</span> (gtk_tree_model_get_iter_first(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">file_model_sort</a>, &amp;iter))</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <a class="code" href="remmina__main_8c.html#a74cb130b886c2b905f651e777644a08c">remmina_main_expand_group_traverse</a>(&amp;iter);</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;}</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160;</div><div class="line"><a name="l00455"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a847424fdb97ffe35d060409d4d738497"> 455</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__main_8c.html#a847424fdb97ffe35d060409d4d738497">remmina_main_load_file_tree_find</a>(GtkTreeModel *tree, GtkTreeIter *iter, <span class="keyword">const</span> gchar *match_group)</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;{</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; gboolean ret, match;</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; gchar *group, *filename;</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; GtkTreeIter child;</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160;</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; match = FALSE;</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; ret = TRUE;</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keywordflow">while</span> (ret) {</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; gtk_tree_model_get(tree, iter, <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1704de86134c42b13d2e5fd7cf7c903b">GROUP_COLUMN</a>, &amp;group, <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c5d264253ed2fc8f96ffcee508db93d">FILENAME_COLUMN</a>, &amp;filename, -1);</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; match = (filename == NULL &amp;&amp; g_strcmp0(group, match_group) == 0);</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; g_free(group);</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; g_free(filename);</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <span class="keywordflow">if</span> (match)</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <span class="keywordflow">if</span> (gtk_tree_model_iter_children(tree, &amp;child, iter)) {</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; match = <a class="code" href="remmina__main_8c.html#a847424fdb97ffe35d060409d4d738497">remmina_main_load_file_tree_find</a>(tree, &amp;child, match_group);</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <span class="keywordflow">if</span> (match) {</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; memcpy(iter, &amp;child, <span class="keyword">sizeof</span>(GtkTreeIter));</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; }</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; }</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; ret = gtk_tree_model_iter_next(tree, iter);</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; }</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <span class="keywordflow">return</span> match;</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160;}</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;</div><div class="line"><a name="l00483"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#ae32574ebe06b1a24f135af9379e663b4"> 483</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#ae32574ebe06b1a24f135af9379e663b4">remmina_main_load_file_tree_callback</a>(<a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile, gpointer user_data)</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;{</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; GtkTreeIter iter, child;</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; GtkTreeStore *store;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; gboolean found;</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; gchar *datetime = NULL;</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160;</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; store = GTK_TREE_STORE(user_data);</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160;</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; found = FALSE;</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <span class="keywordflow">if</span> (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(store), &amp;iter))</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; found = <a class="code" href="remmina__main_8c.html#a847424fdb97ffe35d060409d4d738497">remmina_main_load_file_tree_find</a>(GTK_TREE_MODEL(store), &amp;iter,</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;group&quot;</span>));</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160;</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; datetime = <a class="code" href="remmina__file_8c.html#a96abbfdc183d1e82fdffd6445d611ffe">remmina_file_get_datetime</a>(remminafile);</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="comment">//REMMINA_DEBUG(&quot;The date is %s&quot;, datetime);</span></div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; gtk_tree_store_append(store, &amp;child, (found ? &amp;iter : NULL));</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; gtk_tree_store_set(store, &amp;child,</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a2b637b91fededa6eb7f4be69da080445">PROTOCOL_COLUMN</a>, <a class="code" href="remmina__file_8c.html#a2feb8e9e32f3ff4e2fac836e67a77331">remmina_file_get_icon_name</a>(remminafile),</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1f8f29e04fd120da5a66491ef0a4ff6c">NAME_COLUMN</a>, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;name&quot;</span>),</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a348c0cf6892b36818d9825dddc25f8e3">NOTES_COLUMN</a>, g_uri_unescape_string(<a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;notes_text&quot;</span>), NULL),</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1704de86134c42b13d2e5fd7cf7c903b">GROUP_COLUMN</a>, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;group&quot;</span>),</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c129f382d9456db6f671e1e6e99d32f">SERVER_COLUMN</a>, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;server&quot;</span>),</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388ad68c7d7d2f1cfe0321e87c4a833a0756">PLUGIN_COLUMN</a>, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;protocol&quot;</span>),</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a6e22c76fbdeaa8f724eb996db2d528bb">DATE_COLUMN</a>, datetime,</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c5d264253ed2fc8f96ffcee508db93d">FILENAME_COLUMN</a>, <a class="code" href="remmina__file_8c.html#ad1e4f3a0f64cd98e301044b6c38a1f1d">remmina_file_get_filename</a>(remminafile),</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a4d053f07c7bfa18ee1db38382a64c454">LABELS_COLUMN</a>, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;labels&quot;</span>),</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; -1);</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; g_free(datetime);</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160;}</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160;</div><div class="line"><a name="l00515"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a71fbe206a9c2abb8f348ee598d7751b7"> 515</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a71fbe206a9c2abb8f348ee598d7751b7">remmina_main_file_model_on_sort</a>(GtkTreeSortable *sortable, gpointer user_data)</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160;{</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; gint columnid;</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; GtkSortType order;</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160;</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; gtk_tree_sortable_get_sort_column_id(sortable, &amp;columnid, &amp;order);</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ac13f1310a2625b29defdf5b0ba8fd2d0">main_sort_column_id</a> = columnid;</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a4504684f0e67bb50157fd6862182e2c4">main_sort_order</a> = order;</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <a class="code" href="remmina__pref_8c.html#ae17aaf37449083a4322b6748c8f3a39f">remmina_pref_save</a>();</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160;}</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160;</div><div class="line"><a name="l00527"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#ab0d22f0e3571eb80886acb0c68005800"> 527</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__main_8c.html#ab0d22f0e3571eb80886acb0c68005800">remmina_main_filter_visible_func</a>(GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data)</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160;{</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; gchar *text;</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; gchar *protocol, *name, *labels, *group, *server, *plugin, *date, *s;</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; gboolean result = TRUE;</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160;</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; text = g_ascii_strdown(gtk_entry_get_text(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>), -1);</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <span class="keywordflow">if</span> (text &amp;&amp; text[0]) {</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; gtk_tree_model_get(model, iter,</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a2b637b91fededa6eb7f4be69da080445">PROTOCOL_COLUMN</a>, &amp;protocol,</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1f8f29e04fd120da5a66491ef0a4ff6c">NAME_COLUMN</a>, &amp;name,</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1704de86134c42b13d2e5fd7cf7c903b">GROUP_COLUMN</a>, &amp;group,</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c129f382d9456db6f671e1e6e99d32f">SERVER_COLUMN</a>, &amp;server,</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388ad68c7d7d2f1cfe0321e87c4a833a0756">PLUGIN_COLUMN</a>, &amp;plugin,</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a6e22c76fbdeaa8f724eb996db2d528bb">DATE_COLUMN</a>, &amp;date,</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a4d053f07c7bfa18ee1db38382a64c454">LABELS_COLUMN</a>, &amp;labels,</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; -1);</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <span class="keywordflow">if</span> (g_strcmp0(protocol, <span class="stringliteral">&quot;folder-symbolic&quot;</span>) != 0) {</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; s = g_ascii_strdown(name ? name : <span class="stringliteral">&quot;&quot;</span>, -1);</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; g_free(name);</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; name = s;</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; s = g_ascii_strdown(group ? group : <span class="stringliteral">&quot;&quot;</span>, -1);</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; g_free(group);</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; group = s;</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; s = g_ascii_strdown(server ? server : <span class="stringliteral">&quot;&quot;</span>, -1);</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; g_free(server);</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; server = s;</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; s = g_ascii_strdown(plugin ? plugin : <span class="stringliteral">&quot;&quot;</span>, -1);</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; g_free(plugin);</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; plugin = s;</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; s = g_ascii_strdown(date ? date : <span class="stringliteral">&quot;&quot;</span>, -1);</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; g_free(date);</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; date = s;</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; result = (strstr(name, text) || strstr(group, text) || strstr(server, text) || strstr(plugin, text) || strstr(date, text));</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160;</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; <span class="comment">// Filter by labels</span></div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; s = g_ascii_strdown(labels ? labels : <span class="stringliteral">&quot;&quot;</span>, -1);</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; g_free(labels);</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; labels = s;</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160;</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; <span class="keywordflow">if</span> (strlen(labels) &gt; 0) {</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; gboolean labels_result = TRUE;</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; gchar **labels_array = g_strsplit(labels, <span class="stringliteral">&quot;,&quot;</span>, -1);</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; gchar **text_array = g_strsplit(text, <span class="stringliteral">&quot;,&quot;</span>, -1);</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160;</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> t = 0; (NULL != text_array[t]); t++) {</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <span class="keywordflow">if</span> (0 == strlen(text_array[t])) {</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; }</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160;</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; gboolean text_result = FALSE;</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160;</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> l = 0; (NULL != labels_array[l]); l++) {</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <span class="keywordflow">if</span> (0 == strlen(labels_array[l])) {</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; }</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160;</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; text_result = (text_result || strstr(labels_array[l], text_array[t]));</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160;</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; <span class="keywordflow">if</span> (text_result) {</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; }</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; }</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160;</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; labels_result = (labels_result &amp;&amp; text_result);</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160;</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; <span class="keywordflow">if</span> (!labels_result) {</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; }</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; }</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160;</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; result = (result || labels_result);</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160;</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; g_strfreev(labels_array);</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; g_strfreev(text_array);</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; }</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; }</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; g_free(protocol);</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; g_free(name);</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; g_free(labels);</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; g_free(group);</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; g_free(server);</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; g_free(plugin);</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; g_free(date);</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; }</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; g_free(text);</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <span class="keywordflow">return</span> result;</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160;}</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160;</div><div class="line"><a name="l00618"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#aa20963aed43242994c88d5a97a546355"> 618</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#aa20963aed43242994c88d5a97a546355">remmina_main_select_file</a>(<span class="keyword">const</span> gchar *filename)</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160;{</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; GtkTreeIter iter;</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; GtkTreePath *path;</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; gchar *item_filename;</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; gboolean cmp;</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160;</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; <span class="keywordflow">if</span> (!gtk_tree_model_get_iter_first(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">file_model_sort</a>, &amp;iter))</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160;</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <span class="keywordflow">while</span> (TRUE) {</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; gtk_tree_model_get(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">file_model_sort</a>, &amp;iter, <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c5d264253ed2fc8f96ffcee508db93d">FILENAME_COLUMN</a>, &amp;item_filename, -1);</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; cmp = g_strcmp0(item_filename, filename);</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; g_free(item_filename);</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; <span class="keywordflow">if</span> (cmp == 0) {</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; gtk_tree_selection_select_iter(gtk_tree_view_get_selection(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>),</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; &amp;iter);</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; path = gtk_tree_model_get_path(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">file_model_sort</a>, &amp;iter);</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; gtk_tree_view_scroll_to_cell(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>, path, NULL, TRUE, 0.5, 0.0);</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; gtk_tree_path_free(path);</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; }</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="keywordflow">if</span> (!gtk_tree_model_iter_next(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">file_model_sort</a>, &amp;iter))</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; }</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160;}</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160;</div><div class="line"><a name="l00646"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7"> 646</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>()</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160;{</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; gint items_count;</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; gchar buf[200];</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; guint context_id;</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; gint view_file_mode;</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; gboolean always_show_notes;</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; <span class="keywordtype">char</span> *save_selected_filename;</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; GtkTreeModel *newmodel;</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; <span class="keyword">const</span> gchar *neticon;</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; <span class="keyword">const</span> gchar *connection_tooltip;</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160;</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; save_selected_filename = g_strdup(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; <a class="code" href="remmina__main_8c.html#ad8744dc59ba8072ffdf557b6c94e9f40">remmina_main_save_expanded_group</a>();</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160;</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; view_file_mode = <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ab43c3da7d8551c9df726996c540726f1">view_file_mode</a>;</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; <span class="keywordflow">if</span> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a0307278dd7770ab490f4687f2eb00e76">override_view_file_mode_to_list</a>)</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; view_file_mode = <a class="code" href="remmina__pref_8h.html#aac34dfe6c6b73b43a4656c9dce041034ae2bd62151481c5fa5823aa2d66fb67d7">REMMINA_VIEW_FILE_LIST</a>;</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160;</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; <span class="keywordflow">switch</span> (<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ab43c3da7d8551c9df726996c540726f1">view_file_mode</a>) {</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__pref_8h.html#aac34dfe6c6b73b43a4656c9dce041034a46530ebfd659963a54b7dae5702af1df">REMMINA_VIEW_FILE_TREE</a>:</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; gtk_toggle_button_set_active(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ae3c2c0b9855bb44b5b9a27a3178d32e7">view_toggle_button</a>, FALSE);</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__pref_8h.html#aac34dfe6c6b73b43a4656c9dce041034ae2bd62151481c5fa5823aa2d66fb67d7">REMMINA_VIEW_FILE_LIST</a>:</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; gtk_toggle_button_set_active(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ae3c2c0b9855bb44b5b9a27a3178d32e7">view_toggle_button</a>, TRUE);</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; }</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160;</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; <span class="keywordflow">switch</span> (view_file_mode) {</div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__pref_8h.html#aac34dfe6c6b73b43a4656c9dce041034a46530ebfd659963a54b7dae5702af1df">REMMINA_VIEW_FILE_TREE</a>:</div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; <span class="comment">/* Create new GtkTreeStore model */</span></div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; newmodel = GTK_TREE_MODEL(gtk_tree_store_new(9, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING));</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; <span class="comment">/* Hide the Group column in the tree view mode */</span></div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; gtk_tree_view_column_set_visible(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a56ac6ffe61c0d3663ebc6b26e65a8cbc">column_files_list_group</a>, FALSE);</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; <span class="comment">/* Load groups first */</span></div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; <a class="code" href="remmina__main_8c.html#aa46e6b815c241d32a476a29053dbf296">remmina_main_load_file_tree_group</a>(GTK_TREE_STORE(newmodel));</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; <span class="comment">/* Load files list */</span></div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; items_count = <a class="code" href="remmina__file__manager_8c.html#a55a717aafc046713380bd2c55f29165a">remmina_file_manager_iterate</a>((GFunc)<a class="code" href="remmina__main_8c.html#ae32574ebe06b1a24f135af9379e663b4">remmina_main_load_file_tree_callback</a>, (gpointer)newmodel);</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160;</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__pref_8h.html#aac34dfe6c6b73b43a4656c9dce041034ae2bd62151481c5fa5823aa2d66fb67d7">REMMINA_VIEW_FILE_LIST</a>:</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; <span class="comment">/* Create new GtkListStore model */</span></div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; newmodel = GTK_TREE_MODEL(gtk_list_store_new(9, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING));</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="comment">/* Show the Group column in the list view mode */</span></div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; gtk_tree_view_column_set_visible(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a56ac6ffe61c0d3663ebc6b26e65a8cbc">column_files_list_group</a>, TRUE);</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; <span class="comment">/* Load files list */</span></div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; items_count = <a class="code" href="remmina__file__manager_8c.html#a55a717aafc046713380bd2c55f29165a">remmina_file_manager_iterate</a>((GFunc)<a class="code" href="remmina__main_8c.html#a71f485dba1b11bf8cba129920767b5e6">remmina_main_load_file_list_callback</a>, (gpointer)newmodel);</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; }</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160;</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; <span class="comment">/* Set note column visibility*/</span></div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; always_show_notes = <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a320861799b86dc076d5f87e3a216eb95">always_show_notes</a>;</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; <span class="keywordflow">if</span> (!always_show_notes){</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; gtk_tree_view_column_set_visible(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ab743fa626843d8fbb669fbd01819aea9">column_files_list_notes</a>, FALSE);</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; }</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160;</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; <span class="comment">/* Unset old model */</span></div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; gtk_tree_view_set_model(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>, NULL);</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160;</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <span class="comment">/* Destroy the old model and save the new one */</span></div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#aec4c4540e9463a45b22a5c0b9108bc6f">file_model</a> = newmodel;</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160;</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="comment">/* Create a sorted filtered model based on newmodel and apply it to the TreeView */</span></div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#ae1e1d579bdb2517bd0f86408b9d5f97c">file_model_filter</a> = gtk_tree_model_filter_new(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#aec4c4540e9463a45b22a5c0b9108bc6f">file_model</a>, NULL);</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#ae1e1d579bdb2517bd0f86408b9d5f97c">file_model_filter</a>),</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; (GtkTreeModelFilterVisibleFunc)<a class="code" href="remmina__main_8c.html#ab0d22f0e3571eb80886acb0c68005800">remmina_main_filter_visible_func</a>, NULL, NULL);</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">file_model_sort</a> = gtk_tree_model_sort_new_with_model(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#ae1e1d579bdb2517bd0f86408b9d5f97c">file_model_filter</a>);</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">file_model_sort</a>),</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ac13f1310a2625b29defdf5b0ba8fd2d0">main_sort_column_id</a>,</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a4504684f0e67bb50157fd6862182e2c4">main_sort_order</a>);</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; gtk_tree_view_set_model(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>, remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">file_model_sort</a>);</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; g_signal_connect(G_OBJECT(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">file_model_sort</a>), <span class="stringliteral">&quot;sort-column-changed&quot;</span>,</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; G_CALLBACK(<a class="code" href="remmina__main_8c.html#a71fbe206a9c2abb8f348ee598d7751b7">remmina_main_file_model_on_sort</a>), NULL);</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; <a class="code" href="remmina__main_8c.html#a4a4733c243f20c3ffc27105003f5e30e">remmina_main_expand_group</a>();</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; <span class="comment">/* Select the file previously selected */</span></div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; <span class="keywordflow">if</span> (save_selected_filename) {</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <a class="code" href="remmina__main_8c.html#aa20963aed43242994c88d5a97a546355">remmina_main_select_file</a>(save_selected_filename);</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; g_free(save_selected_filename);</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; }</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; gtk_tree_view_column_set_widget(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a1ffeff8198ae0dc7c2461001118fcc5a">column_files_list_date</a>, NULL);</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160;</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; GtkWidget *label = gtk_tree_view_column_get_button(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a1ffeff8198ae0dc7c2461001118fcc5a">column_files_list_date</a>);</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160;</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; gtk_widget_set_tooltip_text(GTK_WIDGET(label),</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; _(<span class="stringliteral">&quot;The latest successful connection attempt, or a pre-computed date&quot;</span>));</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; <span class="comment">/* Show in the status bar the total number of connections found */</span></div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; g_snprintf(buf, <span class="keyword">sizeof</span>(buf), ngettext(<span class="stringliteral">&quot;Total %i item.&quot;</span>, <span class="stringliteral">&quot;Total %i items.&quot;</span>, items_count), items_count);</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; context_id = gtk_statusbar_get_context_id(remminamain-&gt;<a class="code" href="struct___remmina_main.html#acacd90f3e6df6a864154edba01464ae2">statusbar_main</a>, <span class="stringliteral">&quot;status&quot;</span>);</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; gtk_statusbar_pop(remminamain-&gt;<a class="code" href="struct___remmina_main.html#acacd90f3e6df6a864154edba01464ae2">statusbar_main</a>, context_id);</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; gtk_statusbar_push(remminamain-&gt;<a class="code" href="struct___remmina_main.html#acacd90f3e6df6a864154edba01464ae2">statusbar_main</a>, context_id, buf);</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160;</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; <a class="code" href="remmina__monitor_8c.html#acf79b91eb05694ec967d726bd0f85e50">remmina_network_monitor_status</a> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a0e6602776373cf6a198d249df6e87150">monitor</a>);</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; <span class="keywordflow">if</span> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a0e6602776373cf6a198d249df6e87150">monitor</a>-&gt;<a class="code" href="struct___remmina_monitor.html#adaa8ac5463302ab18a45171b5e4618f1">connected</a>){</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; neticon = g_strdup(<span class="stringliteral">&quot;network-transmit-receive-symbolic&quot;</span>);</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; connection_tooltip = g_strdup(_(<span class="stringliteral">&quot;Network status: fully online&quot;</span>));</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; neticon = g_strdup(<span class="stringliteral">&quot;network-offline-symbolic&quot;</span>);</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; connection_tooltip = g_strdup(_(<span class="stringliteral">&quot;Network status: offline&quot;</span>));</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; }</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160;</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <span class="keywordflow">if</span> (GTK_IS_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a0995d06fd3cad6098f0ecfaca9ed616f">network_icon</a>))</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; gtk_widget_destroy(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a0995d06fd3cad6098f0ecfaca9ed616f">network_icon</a>);</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; GIcon *icon = g_themed_icon_new (neticon);</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a0995d06fd3cad6098f0ecfaca9ed616f">network_icon</a> = gtk_image_new_from_gicon (icon, GTK_ICON_SIZE_BUTTON);</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; gtk_widget_set_tooltip_text (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a0995d06fd3cad6098f0ecfaca9ed616f">network_icon</a>, connection_tooltip);</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160;</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; g_object_unref (icon);</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160;</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; gtk_box_pack_start (GTK_BOX(remminamain-&gt;<a class="code" href="struct___remmina_main.html#acacd90f3e6df6a864154edba01464ae2">statusbar_main</a>), remminamain-&gt;<a class="code" href="struct___remmina_main.html#a0995d06fd3cad6098f0ecfaca9ed616f">network_icon</a>, FALSE, FALSE, 0);</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; gtk_widget_show (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a0995d06fd3cad6098f0ecfaca9ed616f">network_icon</a>);</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160;</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160;}</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160;</div><div class="line"><a name="l00762"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a627eb26ab02f0093365ed6b10dab0320"> 762</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a627eb26ab02f0093365ed6b10dab0320">remmina_main_load_files_cb</a>(GtkEntry *entry, <span class="keywordtype">char</span> *<span class="keywordtype">string</span>, gpointer user_data)</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160;{</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>();</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160;}</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160;</div><div class="line"><a name="l00768"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a6b30ed832369f3a7153aa63f98873c9d"> 768</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a6b30ed832369f3a7153aa63f98873c9d">remmina_main_on_action_connection_connect</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160;{</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160;</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile;</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160;</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; <span class="keywordflow">if</span> (!remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>)</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160;</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; remminafile = <a class="code" href="remmina__file_8c.html#ac1cc2d7f827f7d64c7fd3edf10e9383e">remmina_file_load</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160;</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; <span class="keywordflow">if</span> (remminafile == NULL)</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160;</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>)</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; &amp;&amp; <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;lock_connect&quot;</span>)</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; &amp;&amp; <a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>) == 0)</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a> (remminafile, <span class="stringliteral">&quot;profile-lock&quot;</span>, FALSE) == 1</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; &amp;&amp; <a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>) == 0)</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160;</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; <a class="code" href="remmina__file_8c.html#a3d19095f74e9b7c92d74f11bd5a39a8c">remmina_file_touch</a>(remminafile);</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; <a class="code" href="rcw_8c.html#aa37f2a9c56df0ce1a0dbc32f8989e4b5">rcw_open_from_filename</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160;</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; <a class="code" href="remmina__file_8c.html#abd2f06bf0a5ddcf7156e5ef7d0c8d4d7">remmina_file_free</a>(remminafile);</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160;}</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160;</div><div class="line"><a name="l00796"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#abcf8bd8ca57b389264ff9739a61efdc1"> 796</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#abcf8bd8ca57b389264ff9739a61efdc1">remmina_main_on_action_connection_external_tools</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160;{</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; <span class="keywordflow">if</span> (!remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>)</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160;</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; <a class="code" href="remmina__external__tools_8c.html#abe70273f7d1cbab092c6f6017695c56d">remmina_external_tools_from_filename</a>(remminamain, remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160;}</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160;</div><div class="line"><a name="l00805"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a6a466d0b07944e619bd9b0e473c8a5bd"> 805</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a6a466d0b07944e619bd9b0e473c8a5bd">remmina_main_file_editor_destroy</a>(GtkWidget *widget, gpointer user_data)</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160;{</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160;</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; <span class="keywordflow">if</span> (!remminamain)</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>();</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160;}</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160;</div><div class="line"><a name="l00814"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#abf51d42fa2c5ce84164b5514b4634229"> 814</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#abf51d42fa2c5ce84164b5514b4634229">remmina_main_on_action_application_mpchange</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160;{</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile;</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160;</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; <span class="keyword">const</span> gchar *username;</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; <span class="keyword">const</span> gchar *domain;</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; <span class="keyword">const</span> gchar *group;</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; <span class="keyword">const</span> gchar *gatewayusername;</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; <span class="keyword">const</span> gchar *gatewaydomain;</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160;</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; username = domain = group = gatewayusername = gatewaydomain = <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160;</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; remminafile = NULL;</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160;</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>)</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; &amp;&amp; <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;lock_edit&quot;</span>)</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; &amp;&amp; <a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>) == 0)</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160;</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; <span class="keywordflow">if</span> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>) {</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; remminafile = <a class="code" href="remmina__file_8c.html#ac1cc2d7f827f7d64c7fd3edf10e9383e">remmina_file_load</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; <span class="keywordflow">if</span> (remminafile != NULL) {</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; username = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;username&quot;</span>);</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; domain = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;domain&quot;</span>);</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; group = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;group&quot;</span>);</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; gatewayusername = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;gateway_username&quot;</span>);</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; gatewaydomain = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;gateway_domain&quot;</span>);</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; }</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; }</div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160;</div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; <a class="code" href="remmina__mpchange_8c.html#aa5a382490ca5e92bc4b124f66d83c4ff">remmina_mpchange_schedule</a>(TRUE, group, domain, username, <span class="stringliteral">&quot;&quot;</span>, gatewayusername, gatewaydomain, <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160;</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <span class="keywordflow">if</span> (remminafile != NULL)</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; <a class="code" href="remmina__file_8c.html#abd2f06bf0a5ddcf7156e5ef7d0c8d4d7">remmina_file_free</a>(remminafile);</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160;}</div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160;</div><div class="line"><a name="l00851"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a52cc21537ff003b9d0fbdb9040c811af"> 851</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a52cc21537ff003b9d0fbdb9040c811af">remmina_main_on_action_connection_new</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160;{</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> &amp;&amp; <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> == TRUE)</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160;</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>)</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; &amp;&amp; <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;lock_edit&quot;</span>)</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; &amp;&amp; <a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>) == 0)</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160;</div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#aa4e8657ca722e4cce3f3c42c0cfec51e">remmina_file_editor_new</a>();</div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;destroy&quot;</span>, G_CALLBACK(<a class="code" href="remmina__main_8c.html#a6a466d0b07944e619bd9b0e473c8a5bd">remmina_main_file_editor_destroy</a>), remminamain);</div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; gtk_window_set_transient_for(GTK_WINDOW(widget), remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>);</div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>();</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160;}</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160;</div><div class="line"><a name="l00870"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#af129aea3f5f3ec56b061187a81d43e4c"> 870</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__main_8c.html#af129aea3f5f3ec56b061187a81d43e4c">remmina_main_search_key_event</a>(GtkWidget *search_entry, GdkEventKey *event, gpointer user_data)</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160;{</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; <span class="keywordflow">if</span> (event-&gt;keyval == GDK_KEY_Escape) {</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; gtk_entry_set_text(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>, <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(RM_GET_OBJECT(<span class="stringliteral">&quot;search_toggle&quot;</span>)), FALSE);</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; }</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160;}</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160;</div><div class="line"><a name="l00881"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a4477897686d091d6f57e7f9401674a8c"> 881</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__main_8c.html#a4477897686d091d6f57e7f9401674a8c">remmina_main_tree_row_activated</a>(GtkTreeView *tree, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data)</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160;{</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; <span class="keywordflow">if</span> (gtk_tree_view_row_expanded(tree, path))</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; gtk_tree_view_collapse_row(tree, path);</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; gtk_tree_view_expand_row(tree, path, FALSE);</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160;}</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160;</div><div class="line"><a name="l00891"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#ac1a3a51f6d7f6a2411f9b38de860d766"> 891</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#ac1a3a51f6d7f6a2411f9b38de860d766">remmina_main_on_view_toggle</a>()</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160;{</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; <span class="keywordflow">if</span> (gtk_toggle_button_get_active(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ae3c2c0b9855bb44b5b9a27a3178d32e7">view_toggle_button</a>)) {</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ab43c3da7d8551c9df726996c540726f1">view_file_mode</a> != <a class="code" href="remmina__pref_8h.html#aac34dfe6c6b73b43a4656c9dce041034ae2bd62151481c5fa5823aa2d66fb67d7">REMMINA_VIEW_FILE_LIST</a>) {</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ab43c3da7d8551c9df726996c540726f1">view_file_mode</a> = <a class="code" href="remmina__pref_8h.html#aac34dfe6c6b73b43a4656c9dce041034ae2bd62151481c5fa5823aa2d66fb67d7">REMMINA_VIEW_FILE_LIST</a>;</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; gtk_entry_set_text(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>, <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; <a class="code" href="remmina__pref_8c.html#ae17aaf37449083a4322b6748c8f3a39f">remmina_pref_save</a>();</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>();</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; }</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ab43c3da7d8551c9df726996c540726f1">view_file_mode</a> != <a class="code" href="remmina__pref_8h.html#aac34dfe6c6b73b43a4656c9dce041034a46530ebfd659963a54b7dae5702af1df">REMMINA_VIEW_FILE_TREE</a>) {</div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ab43c3da7d8551c9df726996c540726f1">view_file_mode</a> = <a class="code" href="remmina__pref_8h.html#aac34dfe6c6b73b43a4656c9dce041034a46530ebfd659963a54b7dae5702af1df">REMMINA_VIEW_FILE_TREE</a>;</div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; gtk_entry_set_text(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>, <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; <a class="code" href="remmina__pref_8c.html#ae17aaf37449083a4322b6748c8f3a39f">remmina_pref_save</a>();</div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>();</div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; }</div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; }</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160;}</div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160;</div><div class="line"><a name="l00910"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a44eb44c6391f53a19c6f1fdf9a39a8c1"> 910</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a44eb44c6391f53a19c6f1fdf9a39a8c1">remmina_main_on_action_connection_copy</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160;{</div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160;</div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>)</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; &amp;&amp; <a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>) == 0)</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160;</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; <span class="keywordflow">if</span> (!remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>)</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160;</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile = <a class="code" href="remmina__file_8c.html#ac1cc2d7f827f7d64c7fd3edf10e9383e">remmina_file_load</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160;</div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; <span class="keywordflow">if</span> (((<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;lock_edit&quot;</span>)</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; &amp;&amp; <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>))</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; || <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a> (remminafile, <span class="stringliteral">&quot;profile-lock&quot;</span>, FALSE))</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; &amp;&amp; <a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>) == 0)</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160;</div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; <span class="keywordflow">if</span> (remminafile) {</div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; <a class="code" href="remmina__file_8c.html#abd2f06bf0a5ddcf7156e5ef7d0c8d4d7">remmina_file_free</a>(remminafile);</div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; remminafile = NULL;</div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; }</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160;</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#aa5c50852f8569f075eec5d5db30c2ebf">remmina_file_editor_new_copy</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; <span class="keywordflow">if</span> (widget) {</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;destroy&quot;</span>, G_CALLBACK(<a class="code" href="remmina__main_8c.html#a6a466d0b07944e619bd9b0e473c8a5bd">remmina_main_file_editor_destroy</a>), remminamain);</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; gtk_window_set_transient_for(GTK_WINDOW(widget), remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>);</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; }</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; <span class="comment">/* Select the file previously selected */</span></div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; <span class="keywordflow">if</span> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>)</div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; <a class="code" href="remmina__main_8c.html#aa20963aed43242994c88d5a97a546355">remmina_main_select_file</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160;}</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160;</div><div class="line"><a name="l00946"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#adfbfc580d25b58d09770a7d33ffe03cc"> 946</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#adfbfc580d25b58d09770a7d33ffe03cc">remmina_main_on_action_connection_edit</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160;{</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160;</div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; <span class="keywordflow">if</span> (!remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>)</div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160;</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile = <a class="code" href="remmina__file_8c.html#ac1cc2d7f827f7d64c7fd3edf10e9383e">remmina_file_load</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160;</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>)</div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; &amp;&amp; (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;lock_edit&quot;</span>)</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; || <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a> (remminafile, <span class="stringliteral">&quot;profile-lock&quot;</span>, FALSE))</div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; &amp;&amp; <a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>) == 0)</div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160;</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; <span class="keywordflow">if</span> (remminafile) {</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; <a class="code" href="remmina__file_8c.html#abd2f06bf0a5ddcf7156e5ef7d0c8d4d7">remmina_file_free</a>(remminafile);</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; remminafile = NULL;</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; }</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160;</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#aa9345cfe3fb32d326b652e96ee55eaea">remmina_file_editor_new_from_filename</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; <span class="keywordflow">if</span> (widget) {</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; gtk_window_set_transient_for(GTK_WINDOW(widget), remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>);</div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; }</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160;<span class="comment">/* Select the file previously selected */</span></div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; <span class="keywordflow">if</span> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>)</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; <a class="code" href="remmina__main_8c.html#aa20963aed43242994c88d5a97a546355">remmina_main_select_file</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160;}</div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160;</div><div class="line"><a name="l00977"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a10e574723222f5df9db456977e62a093"> 977</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a10e574723222f5df9db456977e62a093">remmina_main_on_action_connection_delete</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160;{</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160; GtkWidget *dialog;</div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160;</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160; <span class="keywordflow">if</span> (!remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>)</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160;</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile = <a class="code" href="remmina__file_8c.html#ac1cc2d7f827f7d64c7fd3edf10e9383e">remmina_file_load</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160;</div><div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160; <span class="keywordflow">if</span> (((<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;lock_edit&quot;</span>)</div><div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160; &amp;&amp; <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>))</div><div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160; || <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a> (remminafile, <span class="stringliteral">&quot;profile-lock&quot;</span>, FALSE))</div><div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160; &amp;&amp; <a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>) == 0)</div><div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00992"></a><span class="lineno"> 992</span>&#160;</div><div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160; <span class="keywordflow">if</span> (remminafile) {</div><div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160; <a class="code" href="remmina__file_8c.html#abd2f06bf0a5ddcf7156e5ef7d0c8d4d7">remmina_file_free</a>(remminafile);</div><div class="line"><a name="l00995"></a><span class="lineno"> 995</span>&#160; remminafile = NULL;</div><div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160; }</div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160;</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160; dialog = gtk_message_dialog_new(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO,</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160; _(<span class="stringliteral">&quot;Are you sure you want to delete “%s”?&quot;</span>), remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a606c7e6dc78219e8e5536519db723a4d">selected_name</a>);</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160; <span class="keywordflow">if</span> (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_YES) {</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160; gchar *delfilename = g_strdup(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160; <a class="code" href="remmina__file_8c.html#a55f66f2bb81bf427d6837e1adb7fe1d4">remmina_file_delete</a>(delfilename);</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160; g_free(delfilename), delfilename = NULL;</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160; <a class="code" href="remmina__icon_8c.html#af80ed314f91d653237249d839c7fc3b2">remmina_icon_populate_menu</a>();</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160; <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>();</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160; }</div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160; gtk_widget_destroy(dialog);</div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160; <a class="code" href="remmina__main_8c.html#a9e60326026d7de56882bc83c0084fd12">remmina_main_clear_selection_data</a>();</div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;}</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;</div><div class="line"><a name="l01011"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#af56bada711b2fc9c50af83b8b62dfe8b"> 1011</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#af56bada711b2fc9c50af83b8b62dfe8b">remmina_main_on_action_connection_delete_multiple</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;{</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160; GtkWidget *dialog;</div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160; GtkTreeSelection *sel = gtk_tree_view_get_selection(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>);</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160; GtkTreeModel *model = gtk_tree_view_get_model(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>);</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160; GList *list = gtk_tree_selection_get_selected_rows(sel, &amp;model);</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160; gchar *file_to_delete;</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;</div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160; dialog = gtk_message_dialog_new(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO,</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160; _(<span class="stringliteral">&quot;Are you sure you want to delete the selected files?&quot;</span>));</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;</div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160; <span class="comment">// Delete files if Yes is clicked</span></div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160; <span class="keywordflow">if</span> (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_YES) {</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160; <span class="keywordflow">while</span> (list) {</div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160; GtkTreePath *path = list-&gt;data;</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160; GtkTreeIter iter;</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160; </div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160; <span class="keywordflow">if</span> (!gtk_tree_model_get_iter(model, &amp;iter, path)) {</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160; GtkWidget *dialog_warning;</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160; dialog_warning = gtk_message_dialog_new(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_OK, </div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160; _(<span class="stringliteral">&quot;Failed to delete files!&quot;</span>));</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160; gtk_dialog_run(GTK_DIALOG(dialog_warning));</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160; gtk_widget_destroy(dialog_warning);</div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160; gtk_widget_destroy(dialog);</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160; <a class="code" href="remmina__main_8c.html#a9e60326026d7de56882bc83c0084fd12">remmina_main_clear_selection_data</a>();</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160; }</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160; gtk_tree_model_get(model, &amp;iter, </div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c5d264253ed2fc8f96ffcee508db93d">FILENAME_COLUMN</a>, &amp;file_to_delete, -1);</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile = <a class="code" href="remmina__file_8c.html#ac1cc2d7f827f7d64c7fd3edf10e9383e">remmina_file_load</a>(file_to_delete);</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160; <span class="keywordflow">if</span> (((<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;lock_edit&quot;</span>)</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160; &amp;&amp; <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>))</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160; || <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a> (remminafile, <span class="stringliteral">&quot;profile-lock&quot;</span>, FALSE))</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160; &amp;&amp; <a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>) == 0)</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160; <span class="keywordflow">if</span> (remminafile) {</div><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160; <a class="code" href="remmina__file_8c.html#abd2f06bf0a5ddcf7156e5ef7d0c8d4d7">remmina_file_free</a>(remminafile);</div><div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160; remminafile = NULL;</div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160; }</div><div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;</div><div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160; gchar *delfilename = g_strdup(file_to_delete);</div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160; <a class="code" href="remmina__file_8c.html#a55f66f2bb81bf427d6837e1adb7fe1d4">remmina_file_delete</a>(delfilename);</div><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160; g_free(delfilename), delfilename = NULL;</div><div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160; <a class="code" href="remmina__icon_8c.html#af80ed314f91d653237249d839c7fc3b2">remmina_icon_populate_menu</a>();</div><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160; <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>();</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160; list = g_list_next(list);</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160; }</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160; }</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160; </div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160; gtk_widget_destroy(dialog);</div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160; <a class="code" href="remmina__main_8c.html#a9e60326026d7de56882bc83c0084fd12">remmina_main_clear_selection_data</a>();</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;}</div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;</div><div class="line"><a name="l01069"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a1e8b7e8c0f7a47dc0409ae6eb18cfc6a"> 1069</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a1e8b7e8c0f7a47dc0409ae6eb18cfc6a">remmina_main_on_accel_application_preferences</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;{</div><div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160; GVariant *v = g_variant_new(<span class="stringliteral">&quot;i&quot;</span>, 0);</div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160; <a class="code" href="remmina__main_8c.html#a6ed9f6a588a2d9e3a6cf6884c8d07f92">remmina_main_on_action_application_preferences</a>(NULL, v, NULL);</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;}</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;</div><div class="line"><a name="l01077"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a1bdf3fe7a3de2371f80adcbdcf50381d"> 1077</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a1bdf3fe7a3de2371f80adcbdcf50381d">remmina_main_reload_preferences</a>()</div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;{</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160; GtkSettings *settings;</div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160; settings = gtk_settings_get_default();</div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160; g_object_set(settings, <span class="stringliteral">&quot;gtk-application-prefer-dark-theme&quot;</span>, <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a7c139ee405d50330b1d9bfb646c0258c">dark_theme</a>, NULL);</div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ae293a1fa591d3db78bd587c5af9c9101">hide_searchbar</a>){</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160; gtk_toggle_button_set_active(remminamain-&gt;<a class="code" href="struct___remmina_main.html#acd8f3437eee668a2b8d905a16a16be72">search_toggle</a>, FALSE);</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160; }</div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160; <span class="keywordflow">else</span>{</div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160; gtk_toggle_button_set_active(remminamain-&gt;<a class="code" href="struct___remmina_main.html#acd8f3437eee668a2b8d905a16a16be72">search_toggle</a>, TRUE);</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160; }</div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160; gtk_tree_view_column_set_visible(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ab743fa626843d8fbb669fbd01819aea9">column_files_list_notes</a>, <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a320861799b86dc076d5f87e3a216eb95">always_show_notes</a>);</div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160;}</div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160;</div><div class="line"><a name="l01091"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a6ed9f6a588a2d9e3a6cf6884c8d07f92"> 1091</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a6ed9f6a588a2d9e3a6cf6884c8d07f92">remmina_main_on_action_application_preferences</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160;{</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160;</div><div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160; REMMINA_DEBUG(<span class="stringliteral">&quot;Opening the preferences&quot;</span>);</div><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160; gint32 tab_num;</div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160;</div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160; <span class="keywordflow">if</span> (param) {</div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160; REMMINA_DEBUG(<span class="stringliteral">&quot;Parameter passed to preferences of type %s&quot;</span>, g_variant_get_type_string(param));</div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160; tab_num = g_variant_get_int32(param);</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160; REMMINA_DEBUG(<span class="stringliteral">&quot;We got a parameter for the preferences: %d&quot;</span>, tab_num);</div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160; tab_num = 0;</div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160; }</div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160;</div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>)</div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160; &amp;&amp; <a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>) == 0)</div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;</div><div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160; GtkWidget *widget = <a class="code" href="remmina__pref__dialog_8c.html#ab09f64d25a5a016281a56edca7e2d70a">remmina_pref_dialog_new</a>(tab_num, remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>);</div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;</div><div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160; gtk_widget_show_all(widget); </div><div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160;}</div><div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160;</div><div class="line"><a name="l01115"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a05dbb6ce820f3a137949b919d0efa6a1"> 1115</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a05dbb6ce820f3a137949b919d0efa6a1">remmina_main_on_action_application_default</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160;{</div><div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160;<span class="preprocessor">#ifndef __APPLE__</span></div><div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160; g_autoptr(GError) error = NULL;</div><div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160; GDesktopAppInfo *desktop_info;</div><div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160; GAppInfo *info = NULL;</div><div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160; g_autofree gchar *<span class="keywordtype">id</span> = g_strconcat(REMMINA_APP_ID, <span class="stringliteral">&quot;.desktop&quot;</span>, NULL);</div><div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160; <span class="keywordtype">int</span> i;</div><div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160;</div><div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160; desktop_info = g_desktop_app_info_new(<span class="keywordtype">id</span>);</div><div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160; <span class="keywordflow">if</span> (!desktop_info)</div><div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160;</div><div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160; info = G_APP_INFO(desktop_info);</div><div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;</div><div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160; <span class="keywordflow">for</span> (i = 0; <a class="code" href="remmina__main_8c.html#a8ebbcba2c07af0938b3c29e316747d12">supported_mime_types</a>[i]; i++) {</div><div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160; <span class="keywordflow">if</span> (!g_app_info_set_as_default_for_type(info, <a class="code" href="remmina__main_8c.html#a8ebbcba2c07af0938b3c29e316747d12">supported_mime_types</a>[i], &amp;error))</div><div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160; g_warning(<span class="stringliteral">&quot;Failed to set &#39;%s&#39; as the default application for secondary content type &#39;%s&#39;: %s&quot;</span>,</div><div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160; g_app_info_get_name(info), <a class="code" href="remmina__main_8c.html#a8ebbcba2c07af0938b3c29e316747d12">supported_mime_types</a>[i], error-&gt;message);</div><div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160; g_debug(<span class="stringliteral">&quot;Set &#39;%s&#39; as the default application for &#39;%s&#39;&quot;</span>,</div><div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160; g_app_info_get_name(info),</div><div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160; <a class="code" href="remmina__main_8c.html#a8ebbcba2c07af0938b3c29e316747d12">supported_mime_types</a>[i]);</div><div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160; }</div><div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;}</div><div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160;</div><div class="line"><a name="l01143"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a5445e5568a6fc04d08b620829a59334a"> 1143</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a5445e5568a6fc04d08b620829a59334a">remmina_main_on_action_application_quit</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;{</div><div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160; <span class="comment">// Called by quit signal in remmina_main.glade</span></div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160; g_debug(<span class="stringliteral">&quot;Quit intercept&quot;</span>);</div><div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160; <a class="code" href="remmina__exec_8c.html#aaa67e07e2426828d7e7b9b30d2038d31">remmina_application_condexit</a>(<a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5a94dfcc0fcf38aa8060ff843e40799284">REMMINA_CONDEXIT_ONQUIT</a>);</div><div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160;}</div><div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160;</div><div class="line"><a name="l01151"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a3d60de4c121cae0c82e60b13873073db"> 1151</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a3d60de4c121cae0c82e60b13873073db">remmina_main_on_date_column_sort_clicked</a>()</div><div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160;{</div><div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ab43c3da7d8551c9df726996c540726f1">view_file_mode</a> != <a class="code" href="remmina__pref_8h.html#aac34dfe6c6b73b43a4656c9dce041034ae2bd62151481c5fa5823aa2d66fb67d7">REMMINA_VIEW_FILE_LIST</a>) {</div><div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ab43c3da7d8551c9df726996c540726f1">view_file_mode</a> = <a class="code" href="remmina__pref_8h.html#aac34dfe6c6b73b43a4656c9dce041034ae2bd62151481c5fa5823aa2d66fb67d7">REMMINA_VIEW_FILE_LIST</a>;</div><div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160; gtk_entry_set_text(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>, <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>&#160; <a class="code" href="remmina__pref_8c.html#ae17aaf37449083a4322b6748c8f3a39f">remmina_pref_save</a>();</div><div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>&#160; <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>();</div><div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160; }</div><div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160;}</div><div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>&#160;</div><div class="line"><a name="l01161"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#ac767825cb87a34531306cfb587216d20"> 1161</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#ac767825cb87a34531306cfb587216d20">remmina_main_import_file_list</a>(GSList *files)</div><div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160;{</div><div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160; GtkWidget *dlg;</div><div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160; GSList *element;</div><div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160; gchar *path;</div><div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160; <a class="code" href="struct___remmina_file_plugin.html">RemminaFilePlugin</a> *plugin;</div><div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160; GString *err;</div><div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile = NULL;</div><div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160; gboolean imported;</div><div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160;</div><div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160; err = g_string_new(NULL);</div><div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160; imported = FALSE;</div><div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160; <span class="keywordflow">for</span> (element = files; element; element = element-&gt;next) {</div><div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160; path = (gchar *)element-&gt;data;</div><div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160; plugin = <a class="code" href="remmina__plugin__manager_8c.html#a859348bddc9069f06195915692b65076">remmina_plugin_manager_get_import_file_handler</a>(path);</div><div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160; <span class="keywordflow">if</span> (plugin &amp;&amp; (remminafile = plugin-&gt;<a class="code" href="struct___remmina_file_plugin.html#a597178a88c755ebe0614897b7aa279b1">import_func</a>(plugin, path)) != NULL &amp;&amp; <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;name&quot;</span>)) {</div><div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160; <a class="code" href="remmina__file_8c.html#ac952f8ddb715314f11cef1ccc513fb7e">remmina_file_generate_filename</a>(remminafile);</div><div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160; <a class="code" href="remmina__file_8c.html#a8c893a5deec9bc446bd89cc9973416c7">remmina_file_save</a>(remminafile);</div><div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160; imported = TRUE;</div><div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160; g_string_append(err, path);</div><div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160; g_string_append_c(err, <span class="charliteral">&#39;\n&#39;</span>);</div><div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160; }</div><div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160; <span class="keywordflow">if</span> (remminafile) {</div><div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160; <a class="code" href="remmina__file_8c.html#abd2f06bf0a5ddcf7156e5ef7d0c8d4d7">remmina_file_free</a>(remminafile);</div><div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160; remminafile = NULL;</div><div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160; }</div><div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160; g_free(path);</div><div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>&#160; }</div><div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>&#160; g_slist_free(files);</div><div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160; <span class="keywordflow">if</span> (err-&gt;len &gt; 0) {</div><div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>&#160; <span class="comment">// TRANSLATORS: The placeholder %s is an error message</span></div><div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160; dlg = gtk_message_dialog_new(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,</div><div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160; _(<span class="stringliteral">&quot;Unable to import:\n%s&quot;</span>), err-&gt;str);</div><div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160; g_signal_connect(G_OBJECT(dlg), <span class="stringliteral">&quot;response&quot;</span>, G_CALLBACK(gtk_widget_destroy), NULL);</div><div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160; gtk_widget_show(dlg);</div><div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160; }</div><div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160; g_string_free(err, TRUE);</div><div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160; <span class="keywordflow">if</span> (imported)</div><div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160; <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>();</div><div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160;}</div><div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160;</div><div class="line"><a name="l01204"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a85aa313453e0ecaa17bcce233973998d"> 1204</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a85aa313453e0ecaa17bcce233973998d">remmina_main_action_tools_import_on_response</a>(GtkDialog *dialog, gint response_id, gpointer user_data)</div><div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160;{</div><div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>&#160; GSList *files;</div><div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>&#160;</div><div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>&#160; <span class="keywordflow">if</span> (response_id == GTK_RESPONSE_ACCEPT) {</div><div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>&#160; files = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(dialog));</div><div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>&#160; <a class="code" href="remmina__main_8c.html#ac767825cb87a34531306cfb587216d20">remmina_main_import_file_list</a>(files);</div><div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>&#160; }</div><div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>&#160; gtk_widget_destroy(GTK_WIDGET(dialog));</div><div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>&#160;}</div><div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>&#160;</div><div class="line"><a name="l01216"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a4b4f0bbdb9e487d6c3809e8a57dc1d1c"> 1216</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a4b4f0bbdb9e487d6c3809e8a57dc1d1c">remmina_main_on_action_tools_import</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160;{</div><div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160; GtkWidget *dialog;</div><div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160;</div><div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160; dialog = gtk_file_chooser_dialog_new(_(<span class="stringliteral">&quot;Import&quot;</span>), remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, GTK_FILE_CHOOSER_ACTION_OPEN, <span class="stringliteral">&quot;Import&quot;</span>,</div><div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160; GTK_RESPONSE_ACCEPT, NULL);</div><div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160; gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), TRUE);</div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160; g_signal_connect(G_OBJECT(dialog), <span class="stringliteral">&quot;response&quot;</span>, G_CALLBACK(<a class="code" href="remmina__main_8c.html#a85aa313453e0ecaa17bcce233973998d">remmina_main_action_tools_import_on_response</a>), NULL);</div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160; gtk_widget_show(dialog);</div><div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160;}</div><div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160;</div><div class="line"><a name="l01228"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#ab203476099a5ad6e889f91c8e05d577d"> 1228</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#ab203476099a5ad6e889f91c8e05d577d">remmina_main_on_action_tools_export</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160;{</div><div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160; <a class="code" href="struct___remmina_file_plugin.html">RemminaFilePlugin</a> *plugin;</div><div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile;</div><div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160; GtkWidget *dialog;</div><div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>&#160;</div><div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160; <span class="keywordflow">if</span> (!remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>)</div><div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160;</div><div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160; remminafile = <a class="code" href="remmina__file_8c.html#ac1cc2d7f827f7d64c7fd3edf10e9383e">remmina_file_load</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160; <span class="keywordflow">if</span> (remminafile == NULL)</div><div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160; plugin = <a class="code" href="remmina__plugin__manager_8c.html#afce14b101da527ada9b44a4503e91e07">remmina_plugin_manager_get_export_file_handler</a>(remminafile);</div><div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160; <span class="keywordflow">if</span> (plugin) {</div><div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160; dialog = gtk_file_chooser_dialog_new(plugin-&gt;<a class="code" href="struct___remmina_file_plugin.html#ac4f2b0118490cede0577aaee9f2e0b5f">export_hints</a>, remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>,</div><div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160; GTK_FILE_CHOOSER_ACTION_SAVE, _(<span class="stringliteral">&quot;_Save&quot;</span>), GTK_RESPONSE_ACCEPT, NULL);</div><div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160; <span class="keywordflow">if</span> (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT)</div><div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160; plugin-&gt;<a class="code" href="struct___remmina_file_plugin.html#a8bf634ff09caba624ecf93c42e12af78">export_func</a>(plugin, remminafile, gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)));</div><div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160; gtk_widget_destroy(dialog);</div><div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160; dialog = gtk_message_dialog_new(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,</div><div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>&#160; _(<span class="stringliteral">&quot;This protocol does not support exporting.&quot;</span>));</div><div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160; g_signal_connect(G_OBJECT(dialog), <span class="stringliteral">&quot;response&quot;</span>, G_CALLBACK(gtk_widget_destroy), NULL);</div><div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>&#160; gtk_widget_show(dialog);</div><div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>&#160; }</div><div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>&#160; <a class="code" href="remmina__file_8c.html#abd2f06bf0a5ddcf7156e5ef7d0c8d4d7">remmina_file_free</a>(remminafile);</div><div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>&#160;}</div><div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160;</div><div class="line"><a name="l01257"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#adf59ad5b0a0ef68e58bbea3701929efc"> 1257</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#adf59ad5b0a0ef68e58bbea3701929efc">remmina_main_on_action_application_plugins</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160;{</div><div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160; <a class="code" href="remmina__plugin__manager_8c.html#aedec4e9cf18d99a559aa51065c2bc276">remmina_plugin_manager_show</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>);</div><div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160;}</div><div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160;</div><div class="line"><a name="l01263"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a91f22c2834ac7f38d201d8d678f8c57b"> 1263</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a91f22c2834ac7f38d201d8d678f8c57b">remmina_main_on_action_application_dark_theme</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160;{</div><div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160; GtkSettings *settings;</div><div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160;</div><div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>&#160; settings = gtk_settings_get_default();</div><div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160;</div><div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160; <span class="keywordflow">if</span> (gtk_switch_get_active(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a912f2057752ad0779485c3303e3e9b04">switch_dark_mode</a>))</div><div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a7c139ee405d50330b1d9bfb646c0258c">dark_theme</a> = 1;</div><div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a7c139ee405d50330b1d9bfb646c0258c">dark_theme</a> = 0;</div><div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160; <a class="code" href="remmina__pref_8c.html#ae17aaf37449083a4322b6748c8f3a39f">remmina_pref_save</a>();</div><div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160;</div><div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160; g_object_set(settings, <span class="stringliteral">&quot;gtk-application-prefer-dark-theme&quot;</span>, <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a7c139ee405d50330b1d9bfb646c0258c">dark_theme</a>, NULL);</div><div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160;}</div><div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160;</div><div class="line"><a name="l01279"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a7049d977154921f651cc1538f59c5b7a"> 1279</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a7049d977154921f651cc1538f59c5b7a">remmina_main_on_action_help_homepage</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160;{</div><div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160; g_app_info_launch_default_for_uri(<span class="stringliteral">&quot;https://www.remmina.org&quot;</span>, NULL, NULL);</div><div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160;}</div><div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160;</div><div class="line"><a name="l01285"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a0c32fe66988056b353220128611b9116"> 1285</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a0c32fe66988056b353220128611b9116">remmina_main_on_action_help_wiki</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160;{</div><div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160; g_app_info_launch_default_for_uri(<span class="stringliteral">&quot;https://gitlab.com/Remmina/Remmina/wikis/home&quot;</span>, NULL, NULL);</div><div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160;}</div><div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160;</div><div class="line"><a name="l01291"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#aac3aa116a8d8b527f1aa61b7395b4b32"> 1291</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#aac3aa116a8d8b527f1aa61b7395b4b32">remmina_main_on_action_help_community</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160;{</div><div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160; g_app_info_launch_default_for_uri(<span class="stringliteral">&quot;https://remmina.org/community&quot;</span>, NULL, NULL);</div><div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160;}</div><div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160;</div><div class="line"><a name="l01297"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a2704d643ee15702a84a1c76219dd5277"> 1297</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a2704d643ee15702a84a1c76219dd5277">remmina_main_on_action_help_donations</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>&#160;{</div><div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160; g_app_info_launch_default_for_uri(<span class="stringliteral">&quot;https://www.remmina.org/donations&quot;</span>, NULL, NULL);</div><div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160;}</div><div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160;</div><div class="line"><a name="l01303"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a5db4436cc72b9d5ea3e498f8519efecc"> 1303</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a5db4436cc72b9d5ea3e498f8519efecc">remmina_main_on_action_help_debug</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160;{</div><div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160; <a class="code" href="remmina__log_8c.html#a72cf53183f3ef89c4208fdccb629003d">remmina_log_start</a>();</div><div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160;}</div><div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160;</div><div class="line"><a name="l01309"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#aac0bb51159be042fecab0103e73a54dc"> 1309</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#aac0bb51159be042fecab0103e73a54dc">remmina_main_on_action_application_about</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160;{</div><div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160; <a class="code" href="remmina__about_8c.html#a3ad768979e0945a162018c6d596c90f4">remmina_about_open</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>);</div><div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160;};</div><div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>&#160;</div><div class="line"><a name="l01315"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a1f5f9a964a75214d500e7a9fca1bd8a6"> 1315</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__main_8c.html#a1f5f9a964a75214d500e7a9fca1bd8a6">is_empty</a>(<span class="keyword">const</span> gchar *s)</div><div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160;{</div><div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160; <span class="keywordflow">if</span> (s == NULL)</div><div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>&#160; <span class="keywordflow">while</span> (*s != 0) {</div><div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160; <span class="keywordflow">if</span> (!isspace((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)*s))</div><div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160; s++;</div><div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160; }</div><div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160;}</div><div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160;</div><div class="line"><a name="l01327"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a802458852abacebfb16f1f4295806a01"> 1327</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__main_8c.html#a802458852abacebfb16f1f4295806a01">remmina_main_quickconnect</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160;{</div><div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile;</div><div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160; gchar *server;</div><div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160; gchar *server_trimmed;</div><div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160; gchar *qcp;</div><div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160;</div><div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160;</div><div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160; <span class="comment">/* Save quick connect protocol if different from the previous one */</span></div><div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160; qcp = gtk_combo_box_text_get_active_text(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a35f10af8065b3b64ba6f26db60061d39">combo_quick_connect_protocol</a>);</div><div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160; <span class="keywordflow">if</span> (qcp &amp;&amp; strcmp(qcp, <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ac31f888a39eec7ef6de922c7b53d044e">last_quickconnect_protocol</a>) != 0) {</div><div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160; g_free(<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ac31f888a39eec7ef6de922c7b53d044e">last_quickconnect_protocol</a>);</div><div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ac31f888a39eec7ef6de922c7b53d044e">last_quickconnect_protocol</a> = g_strdup(qcp);</div><div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160; <a class="code" href="remmina__pref_8c.html#ae17aaf37449083a4322b6748c8f3a39f">remmina_pref_save</a>();</div><div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160; }</div><div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160;</div><div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160; remminafile = <a class="code" href="remmina__file_8c.html#a5e421ba636d34e21bba5ece463e98892">remmina_file_new</a>();</div><div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>&#160; server = g_strdup(gtk_entry_get_text(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>));</div><div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>&#160; <span class="keywordflow">if</span> (g_hostname_to_ascii(server) == NULL)</div><div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>&#160; <span class="comment">/* If server contain /, e.g. vnc://, it won&#39;t connect</span></div><div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>&#160;<span class="comment"> * We could search for an array of invalid characters, but</span></div><div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>&#160;<span class="comment"> * it&#39;s better to find a way to correctly parse and validate addresses</span></div><div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160; <span class="keywordflow">if</span> (g_strrstr(server, <span class="stringliteral">&quot;/&quot;</span>) != NULL)</div><div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>&#160; <span class="comment">//if (g_str_has_suffix (server, &quot;/&quot;))</span></div><div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160; <span class="comment">//return FALSE;</span></div><div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__main_8c.html#a1f5f9a964a75214d500e7a9fca1bd8a6">is_empty</a>(server))</div><div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160;</div><div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>&#160; <span class="comment">/* check if server is an IP address and trim whitespace if so */</span></div><div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>&#160; server_trimmed = g_strdup(server);</div><div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160; g_strstrip(server_trimmed);</div><div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160; gchar **strings = g_strsplit(server_trimmed, <span class="stringliteral">&quot;:&quot;</span>, 2);</div><div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160;</div><div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160; <span class="keywordflow">if</span> (strings[0] != NULL)</div><div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160; <span class="keywordflow">if</span> (g_hostname_is_ip_address(strings[0]))</div><div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160; g_stpcpy(server, server_trimmed);</div><div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160;</div><div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;sound&quot;</span>, <span class="stringliteral">&quot;off&quot;</span>);</div><div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;server&quot;</span>, server);</div><div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;name&quot;</span>, server);</div><div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;protocol&quot;</span>, qcp);</div><div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>&#160; g_free(server);</div><div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>&#160; g_free(server_trimmed);</div><div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>&#160; g_free(qcp);</div><div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>&#160;</div><div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>&#160; <a class="code" href="rcw_8c.html#a1b7a771392e15e527005305e71cc2546">rcw_open_from_file</a>(remminafile);</div><div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>&#160;</div><div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>&#160;}</div><div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>&#160;</div><div class="line"><a name="l01381"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a210e9e04c7c97cc86412044de31f659d"> 1381</a></span>&#160;gboolean <a class="code" href="remmina__main_8c.html#a210e9e04c7c97cc86412044de31f659d">remmina_main_quickconnect_on_click</a>(GtkWidget *widget, gpointer user_data)</div><div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160;{</div><div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> &amp;&amp; <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> == FALSE)</div><div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>&#160; <span class="keywordflow">return</span> <a class="code" href="remmina__main_8c.html#a802458852abacebfb16f1f4295806a01">remmina_main_quickconnect</a>();</div><div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160;}</div><div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160;</div><div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160;<span class="comment">/* Select all the text inside the quick search box if there is anything */</span></div><div class="line"><a name="l01390"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a6c69b2fa6a56869c54f58d7ebae89427"> 1390</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a6c69b2fa6a56869c54f58d7ebae89427">remmina_main_quick_search_enter</a>(GtkWidget *widget, gpointer user_data)</div><div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160;{</div><div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160; <span class="keywordflow">if</span> (gtk_entry_get_text(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>))</div><div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>&#160; gtk_editable_select_region(GTK_EDITABLE(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>), 0, -1);</div><div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>&#160;}</div><div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>&#160;</div><div class="line"><a name="l01396"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a0edcc1d7dc3adcbb7bb36aa0f62dec3a"> 1396</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a0edcc1d7dc3adcbb7bb36aa0f62dec3a">remmina_main_on_action_collapse</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160;{</div><div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>&#160; gtk_tree_view_collapse_all(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>);</div><div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>&#160;}</div><div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160;</div><div class="line"><a name="l01402"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a9896df7a92402b5a61e58420235c515a"> 1402</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a9896df7a92402b5a61e58420235c515a">remmina_main_on_action_search_toggle</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160;{</div><div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>&#160; REMMINA_DEBUG(<span class="stringliteral">&quot;Search toggle triggered&quot;</span>);</div><div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>&#160;</div><div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160; gboolean toggle_status = gtk_toggle_button_get_active(remminamain-&gt;<a class="code" href="struct___remmina_main.html#acd8f3437eee668a2b8d905a16a16be72">search_toggle</a>);</div><div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>&#160;</div><div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>&#160; gtk_search_bar_set_search_mode(remminamain-&gt;<a class="code" href="struct___remmina_main.html#aecb54d7c3dd1e86a16e24ea2e00d4ddd">search_bar</a>, toggle_status);</div><div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>&#160; <span class="keywordflow">if</span> (toggle_status) {</div><div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>&#160; REMMINA_DEBUG(<span class="stringliteral">&quot;Search toggle is active&quot;</span>);</div><div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160; gtk_widget_grab_focus(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>));</div><div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160; REMMINA_DEBUG(<span class="stringliteral">&quot;Search toggle is not active, focus is tree_files_list&quot;</span>);</div><div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160; gtk_widget_grab_focus(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>));</div><div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160; }</div><div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160;}</div><div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160;</div><div class="line"><a name="l01419"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#aea426b2e8fc03f963bb2b98cb8649adf"> 1419</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#aea426b2e8fc03f963bb2b98cb8649adf">remmina_main_on_accel_search_toggle</a>(<a class="code" href="struct___remmina_main.html">RemminaMain</a> *remminamain)</div><div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>&#160;{</div><div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(remminamain-&gt;<a class="code" href="struct___remmina_main.html#acd8f3437eee668a2b8d905a16a16be72">search_toggle</a>), TRUE);</div><div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160;}</div><div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160;</div><div class="line"><a name="l01425"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#ab98d51c96a87fddaa2d5d6d4614bafa8"> 1425</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#ab98d51c96a87fddaa2d5d6d4614bafa8">remmina_main_on_action_expand</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160;{</div><div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160; gtk_tree_view_expand_all(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>);</div><div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>&#160;}</div><div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>&#160;</div><div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160;<span class="comment">/* Handle double click on a row in the connections list */</span></div><div class="line"><a name="l01432"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#aba1a89a2400c5cc8373c6bd34602ac10"> 1432</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#aba1a89a2400c5cc8373c6bd34602ac10">remmina_main_file_list_on_row_activated</a>(GtkTreeView *tree, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data)</div><div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160;{</div><div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160;<span class="comment">/* If a connection was selected then execute the default action */</span></div><div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160; <span class="keywordflow">if</span> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>) {</div><div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160; <span class="keywordflow">switch</span> (<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a054a55a2c39181609150cbb4d22413ef">default_action</a>) {</div><div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__pref_8h.html#a0ed680fdb405e7195d9f14032851eebba84fe14d6d19ab0479931a6886178f2e3">REMMINA_ACTION_EDIT</a>:</div><div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160; <a class="code" href="remmina__main_8c.html#adfbfc580d25b58d09770a7d33ffe03cc">remmina_main_on_action_connection_edit</a>(NULL, NULL, NULL);</div><div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__pref_8h.html#a0ed680fdb405e7195d9f14032851eebbad14d19fdcc60e744406c5f80c1bb840a">REMMINA_ACTION_CONNECT</a>:</div><div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160; <a class="code" href="remmina__main_8c.html#a6b30ed832369f3a7153aa63f98873c9d">remmina_main_on_action_connection_connect</a>(NULL, NULL, NULL);</div><div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>&#160; }</div><div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>&#160; }</div><div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>&#160;}</div><div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>&#160;</div><div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>&#160;<span class="comment">/* Show the popup menu by the right button mouse click */</span></div><div class="line"><a name="l01450"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#ace72fa8f7198020464623e7117a351a9"> 1450</a></span>&#160;gboolean <a class="code" href="remmina__main_8c.html#ace72fa8f7198020464623e7117a351a9">remmina_main_file_list_on_button_press</a>(GtkWidget *widget, GdkEventButton *event, gpointer user_data)</div><div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>&#160;{</div><div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>&#160; <span class="keywordflow">if</span> (event-&gt;button == MOUSE_BUTTON_RIGHT) {</div><div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> &amp;&amp; <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> == FALSE) {</div><div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>&#160;<span class="preprocessor">#if GTK_CHECK_VERSION(3, 22, 0)</span></div><div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>&#160; <span class="comment">// For now, if more than one selected row, display only a delete menu option</span></div><div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>&#160; <span class="keywordflow">if</span> (gtk_tree_selection_count_selected_rows(gtk_tree_view_get_selection(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>)) &gt; 1) {</div><div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>&#160; gtk_menu_popup_at_pointer(GTK_MENU(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a98a1ddd6aebc35c131f8de819a3d861f">menu_popup_delete_rc</a>), (GdkEvent *)event);</div><div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160; <span class="keywordflow">return</span> GDK_EVENT_STOP;</div><div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>&#160; }</div><div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>&#160; <span class="keywordflow">else</span> {</div><div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>&#160; gtk_menu_popup_at_pointer(GTK_MENU(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a2d6960ab62869638a77d2fe5bd72c7f6">menu_popup</a>), (GdkEvent *)event);</div><div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>&#160; }</div><div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>&#160; gtk_menu_popup(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a2d6960ab62869638a77d2fe5bd72c7f6">menu_popup</a>, NULL, NULL, NULL, NULL, event-&gt;button, event-&gt;time);</div><div class="line"><a name="l01466"></a><span class="lineno"> 1466</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>&#160; }</div><div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>&#160; }</div><div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>&#160;}</div><div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>&#160;</div><div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>&#160;<span class="comment">/* Show the popup menu by the menu key */</span></div><div class="line"><a name="l01473"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a31102f8ca7440a22c1514bca17933193"> 1473</a></span>&#160;gboolean <a class="code" href="remmina__main_8c.html#a31102f8ca7440a22c1514bca17933193">remmina_main_file_list_on_key_press</a>(GtkWidget *widget, GdkEventKey *event, gpointer user_data)</div><div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>&#160;{</div><div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>&#160; <span class="keywordflow">if</span> (event-&gt;keyval == GDK_KEY_Menu) {</div><div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>&#160;<span class="preprocessor">#if GTK_CHECK_VERSION(3, 22, 0)</span></div><div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>&#160; gtk_menu_popup_at_widget(GTK_MENU(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a2d6960ab62869638a77d2fe5bd72c7f6">menu_popup</a>), widget,</div><div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>&#160; GDK_GRAVITY_CENTER, GDK_GRAVITY_CENTER,</div><div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>&#160; (GdkEvent *)event);</div><div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>&#160; gtk_menu_popup(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a2d6960ab62869638a77d2fe5bd72c7f6">menu_popup</a>, NULL, NULL, NULL, NULL, 0, event-&gt;time);</div><div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>&#160; }</div><div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>&#160;}</div><div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>&#160;</div><div class="line"><a name="l01488"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#af51fc7233eb2397a5074ba37b5c5275f"> 1488</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#af51fc7233eb2397a5074ba37b5c5275f">remmina_main_quick_search_on_icon_press</a>(GtkEntry *entry, GtkEntryIconPosition icon_pos, GdkEvent *event, gpointer user_data)</div><div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>&#160;{</div><div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>&#160; <span class="keywordflow">if</span> (icon_pos == GTK_ENTRY_ICON_SECONDARY)</div><div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>&#160; gtk_entry_set_text(entry, <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>&#160;}</div><div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>&#160;</div><div class="line"><a name="l01495"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a1cac4199e40e35bf3fcdb98841615657"> 1495</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a1cac4199e40e35bf3fcdb98841615657">remmina_main_quick_search_on_changed</a>(GtkEditable *editable, gpointer user_data)</div><div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>&#160;{</div><div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>&#160; <span class="comment">/* If a search text was input then temporary set the file mode to list */</span></div><div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>&#160; <span class="keywordflow">if</span> (gtk_entry_get_text_length(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>)) {</div><div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>&#160; <span class="keywordflow">if</span> (GTK_IS_TREE_STORE(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#aec4c4540e9463a45b22a5c0b9108bc6f">file_model</a>)) {</div><div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>&#160; <span class="comment">/* File view mode changed, put it to override and reload list */</span></div><div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a0307278dd7770ab490f4687f2eb00e76">override_view_file_mode_to_list</a> = TRUE;</div><div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>&#160; <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>();</div><div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>&#160; }</div><div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>&#160; <span class="keywordflow">if</span> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a0307278dd7770ab490f4687f2eb00e76">override_view_file_mode_to_list</a>) {</div><div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>&#160; <span class="comment">/* File view mode changed, put it to default (disable override) and reload list */</span></div><div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a0307278dd7770ab490f4687f2eb00e76">override_view_file_mode_to_list</a> = FALSE;</div><div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>&#160; <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>();</div><div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>&#160; }</div><div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160; }</div><div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160; gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#ae1e1d579bdb2517bd0f86408b9d5f97c">file_model_filter</a>));</div><div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>&#160;}</div><div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>&#160;</div><div class="line"><a name="l01515"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#adf073486149762f547504020484bff70"> 1515</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#adf073486149762f547504020484bff70">remmina_main_on_drag_data_received</a>(GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y,</div><div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>&#160; GtkSelectionData *data, guint info, guint time, gpointer user_data)</div><div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160;{</div><div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>&#160; gchar **uris;</div><div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>&#160; GSList *files = NULL;</div><div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>&#160; gint i;</div><div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>&#160;</div><div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>&#160; uris = g_uri_list_extract_uris((<span class="keyword">const</span> gchar *)gtk_selection_data_get_data(data));</div><div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>&#160; <span class="keywordflow">for</span> (i = 0; uris[i]; i++) {</div><div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>&#160; <span class="keywordflow">if</span> (strncmp(uris[i], <span class="stringliteral">&quot;file://&quot;</span>, 7) != 0)</div><div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>&#160; files = g_slist_append(files, g_strdup(uris[i] + 7));</div><div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>&#160; }</div><div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>&#160; g_strfreev(uris);</div><div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>&#160; <a class="code" href="remmina__main_8c.html#ac767825cb87a34531306cfb587216d20">remmina_main_import_file_list</a>(files);</div><div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>&#160;}</div><div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>&#160;</div><div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>&#160;<span class="comment">/* Add a new menuitem to the Tools menu */</span></div><div class="line"><a name="l01534"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a7be10e330f0c2a3f74e119cde443786f"> 1534</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__main_8c.html#a7be10e330f0c2a3f74e119cde443786f">remmina_main_add_tool_plugin</a>(gchar *name, <a class="code" href="struct___remmina_plugin.html">RemminaPlugin</a> *plugin, gpointer user_data)</div><div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>&#160;{</div><div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>&#160; <a class="code" href="struct___remmina_tool_plugin.html">RemminaToolPlugin</a> *tool_plugin = (<a class="code" href="struct___remmina_tool_plugin.html">RemminaToolPlugin</a> *)plugin;</div><div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>&#160; GtkWidget *menuitem = gtk_menu_item_new_with_label(plugin-&gt;<a class="code" href="struct___remmina_plugin.html#a4ac66b7ebefb9bd8167737eb1af83cde">description</a>);</div><div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>&#160;</div><div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>&#160; gtk_widget_show(menuitem);</div><div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>&#160; gtk_menu_shell_append(GTK_MENU_SHELL(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a1575015519fedca001bb26e129331b62">menu_popup_full</a>), menuitem);</div><div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>&#160; g_signal_connect(G_OBJECT(menuitem), <span class="stringliteral">&quot;activate&quot;</span>, G_CALLBACK(tool_plugin-&gt;<a class="code" href="struct___remmina_tool_plugin.html#ad83c522c030d51d5f0313b1f77f04d74">exec_func</a>), tool_plugin);</div><div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>&#160;}</div><div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>&#160;</div><div class="line"><a name="l01546"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a861de52d1b5ec54591d0592de6289d79"> 1546</a></span>&#160;gboolean <a class="code" href="remmina__main_8c.html#a861de52d1b5ec54591d0592de6289d79">remmina_main_on_window_state_event</a>(GtkWidget *widget, GdkEventWindowState *event, gpointer user_data)</div><div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>&#160;{</div><div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>&#160;}</div><div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>&#160;</div><div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>&#160;<span class="comment">/* Remmina main window initialization */</span></div><div class="line"><a name="l01553"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#afefc1b651e1c546e949dbe6df72b0300"> 1553</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#afefc1b651e1c546e949dbe6df72b0300">remmina_main_init</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>&#160;{</div><div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>&#160; <span class="keywordtype">int</span> i, qcp_idx, qcp_actidx;</div><div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>&#160; <span class="keywordtype">char</span> *name;</div><div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>&#160; GtkSettings *settings;</div><div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>&#160;</div><div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>&#160; REMMINA_DEBUG(<span class="stringliteral">&quot;Initializing the Remmina main window&quot;</span>);</div><div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>&#160; <span class="comment">/* Switch to a dark theme if the user enabled it */</span></div><div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>&#160; settings = gtk_settings_get_default();</div><div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>&#160; g_object_set(settings, <span class="stringliteral">&quot;gtk-application-prefer-dark-theme&quot;</span>, <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a7c139ee405d50330b1d9bfb646c0258c">dark_theme</a>, NULL);</div><div class="line"><a name="l01564"></a><span class="lineno"> 1564</span>&#160;</div><div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>&#160; REMMINA_DEBUG (<span class="stringliteral">&quot;Initializing monitor&quot;</span>);</div><div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a0e6602776373cf6a198d249df6e87150">monitor</a> = <a class="code" href="remmina__monitor_8c.html#ac37c2579934e206d669c1af9b51f8ef1">remmina_network_monitor_new</a>();</div><div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>&#160;</div><div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a467cf8ebc87ccdb68b9f88bce95c9f3a">expanded_group</a> = <a class="code" href="remmina__string__array_8c.html#a7f1c8e427a25c2d5cede3952b1d0ad90">remmina_string_array_new_from_string</a>(<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#aa8d4c923cb9ca1be451436d1790e8ee5">expanded_group</a>);</div><div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> &amp;&amp; <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> == FALSE)</div><div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>&#160; gtk_window_set_title(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, _(<span class="stringliteral">&quot;Remmina Remote Desktop Client&quot;</span>));</div><div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>&#160; gtk_window_set_title(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, _(<span class="stringliteral">&quot;Remmina Kiosk&quot;</span>));</div><div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> &amp;&amp; <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> == FALSE) {</div><div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>&#160; gtk_window_set_default_size(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a6318ff8e2f73d36fb8b35cbed503c222">main_width</a>, <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#aeb86dc8005c98ce2eab57bd900467875">main_height</a>);</div><div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a8edfd2a9a9a06b1fd876fbe8742b9ff6">main_maximize</a>)</div><div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>&#160; gtk_window_maximize(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>);</div><div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>&#160; }</div><div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>&#160; <span class="comment">/* Honor global preferences Search Bar visibility */</span></div><div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ae293a1fa591d3db78bd587c5af9c9101">hide_searchbar</a>)</div><div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>&#160; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(RM_GET_OBJECT(<span class="stringliteral">&quot;search_toggle&quot;</span>)), FALSE);</div><div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>&#160;</div><div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160; <span class="comment">/* Add a GtkMenuItem to the Tools menu for each plugin of type REMMINA_PLUGIN_TYPE_TOOL */</span></div><div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>&#160; <a class="code" href="remmina__plugin__manager_8c.html#a13f13a6a4280268656f258cb5aeff031">remmina_plugin_manager_for_each_plugin</a>(<a class="code" href="plugin_8h.html#aaf53c620d115a4642130227cff4a624aadd037352a609e2dc890595f9d95bd1ac">REMMINA_PLUGIN_TYPE_TOOL</a>, <a class="code" href="remmina__main_8c.html#a7be10e330f0c2a3f74e119cde443786f">remmina_main_add_tool_plugin</a>, remminamain);</div><div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>&#160;</div><div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>&#160; <span class="comment">/* Add available quick connect protocols to remminamain-&gt;combo_quick_connect_protocol */</span></div><div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>&#160; qcp_idx = qcp_actidx = 0;</div><div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>&#160; <span class="keywordflow">for</span> (i = 0; i &lt; <span class="keyword">sizeof</span>(<a class="code" href="remmina__main_8c.html#aace9ecdd0b74d392ad6ed541bd605c1c">quick_connect_plugin_list</a>) / <span class="keyword">sizeof</span>(<a class="code" href="remmina__main_8c.html#aace9ecdd0b74d392ad6ed541bd605c1c">quick_connect_plugin_list</a>[0]); i++) {</div><div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>&#160; name = <a class="code" href="remmina__main_8c.html#aace9ecdd0b74d392ad6ed541bd605c1c">quick_connect_plugin_list</a>[i];</div><div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__plugin__manager_8c.html#a3872c8656a8a3d5147bcc603471c1932">remmina_plugin_manager_get_plugin</a>(<a class="code" href="plugin_8h.html#aaf53c620d115a4642130227cff4a624aa45e094c248384c12cdafd9d088e4aa24">REMMINA_PLUGIN_TYPE_PROTOCOL</a>, name)) {</div><div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>&#160; gtk_combo_box_text_append(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a35f10af8065b3b64ba6f26db60061d39">combo_quick_connect_protocol</a>, name, name);</div><div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ac31f888a39eec7ef6de922c7b53d044e">last_quickconnect_protocol</a> != NULL &amp;&amp; strcmp(name, <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ac31f888a39eec7ef6de922c7b53d044e">last_quickconnect_protocol</a>) == 0)</div><div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>&#160; qcp_actidx = qcp_idx;</div><div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>&#160; qcp_idx++;</div><div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160; }</div><div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>&#160; }</div><div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>&#160; gtk_combo_box_set_active(GTK_COMBO_BOX(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a35f10af8065b3b64ba6f26db60061d39">combo_quick_connect_protocol</a>), qcp_actidx);</div><div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160;</div><div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160; <span class="comment">/* Connect the group accelerators to the GtkWindow */</span></div><div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>&#160; <span class="comment">//gtk_window_add_accel_group(remminamain-&gt;window, remminamain-&gt;accelgroup_shortcuts);</span></div><div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>&#160; <span class="comment">/* Set the Quick Connection */</span></div><div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>&#160; gtk_entry_set_activates_default(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>, TRUE);</div><div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>&#160; <span class="comment">/* Set the TreeView for the files list */</span></div><div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>&#160; gtk_tree_selection_set_select_function(</div><div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>&#160; gtk_tree_view_get_selection(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>),</div><div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>&#160; <a class="code" href="remmina__main_8c.html#a3c5043279b5d98d4d08635d33402ea66">remmina_main_selection_func</a>, NULL, NULL);</div><div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>&#160; gtk_tree_view_set_search_entry(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>, GTK_ENTRY(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>));</div><div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ae293a1fa591d3db78bd587c5af9c9101">hide_searchbar</a>)</div><div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>&#160; gtk_widget_grab_focus(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>));</div><div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>&#160; <span class="comment">/* Load the files list */</span></div><div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>&#160; <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>();</div><div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>&#160;</div><div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>&#160; <span class="comment">/* Drag-n-drop support */</span></div><div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>&#160; gtk_drag_dest_set(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>), GTK_DEST_DEFAULT_ALL, <a class="code" href="remmina__main_8c.html#a8ccd8303ada6e26880504fc58812fbda">remmina_drop_types</a>, 1, GDK_ACTION_COPY);</div><div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>&#160;</div><div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>&#160; <span class="comment">/* Finish initialization */</span></div><div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a7a4eb201dd185ba606af5c486ef55e7f">initialized</a> = TRUE;</div><div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>&#160;</div><div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>&#160; <span class="comment">/* Register the window in remmina_widget_pool with GType=GTK_WINDOW and TAG=remmina-main-window */</span></div><div class="line"><a name="l01620"></a><span class="lineno"> 1620</span>&#160; g_object_set_data(G_OBJECT(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>), <span class="stringliteral">&quot;tag&quot;</span>, <span class="stringliteral">&quot;remmina-main-window&quot;</span>);</div><div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>&#160; <a class="code" href="remmina__widget__pool_8c.html#ae3c9c9853eb5bedbfeadbfac1d495b95">remmina_widget_pool_register</a>(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>));</div><div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>&#160;}</div><div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>&#160;</div><div class="line"><a name="l01624"></a><span class="lineno"> 1624</span>&#160;<span class="comment">/* Signal handler for &quot;show&quot; on remminamain-&gt;window */</span></div><div class="line"><a name="l01625"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#aa4d9b76d32fa500f4b9f39a19e4eaaf2"> 1625</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#aa4d9b76d32fa500f4b9f39a19e4eaaf2">remmina_main_on_show</a>(GtkWidget *w, gpointer user_data)</div><div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>&#160;{</div><div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>&#160;<span class="preprocessor">#ifdef SNAP_BUILD</span></div><div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>&#160; <a class="code" href="remmina__main_8c.html#ab08aae433b625c3a84330630fe2bd2d5">remmina_main_show_snap_welcome</a>();</div><div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>&#160;}</div><div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>&#160;</div><div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>&#160;<span class="comment">/* RemminaMain instance */</span></div><div class="line"><a name="l01634"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a0c322c3136c4225d5f8d4cee318afce7"> 1634</a></span>&#160;GtkWidget *<a class="code" href="remmina__main_8c.html#af14b1942a754d7b2f5c10266208ebe01">remmina_main_new</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>&#160;{</div><div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160; GSimpleActionGroup *actions;</div><div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>&#160; GtkAccelGroup *accel_group = NULL;</div><div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>&#160;</div><div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>&#160; remminamain = g_new0(<a class="code" href="struct___remmina_main.html">RemminaMain</a>, 1);</div><div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a> = g_new0(<a class="code" href="struct___remmina_main_priv.html">RemminaMainPriv</a>, 1);</div><div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>&#160; <span class="comment">/* Assign UI widgets to the private members */</span></div><div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#ab7c6aebff1b06ef97c36bfa9d360b0c1">builder</a> = <a class="code" href="remmina__public_8c.html#a4573e086e1ff8507eb9447b25bf11b92">remmina_public_gtk_builder_new_from_resource</a>(<span class="stringliteral">&quot;/org/remmina/Remmina/src/../data/ui/remmina_main.glade&quot;</span>);</div><div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a> = GTK_WINDOW(RM_GET_OBJECT(<span class="stringliteral">&quot;RemminaMain&quot;</span>));</div><div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> &amp;&amp; <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> == TRUE) {</div><div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>&#160; gtk_window_set_position(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, GTK_WIN_POS_CENTER_ALWAYS);</div><div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>&#160; gtk_window_set_default_size(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, 800, 400);</div><div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>&#160; gtk_window_set_resizable(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, FALSE);</div><div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>&#160; }</div><div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>&#160; <span class="comment">/* New Button */</span></div><div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a4db5c4960c9dbe3e798528bacb31456e">button_new</a> = GTK_BUTTON(RM_GET_OBJECT(<span class="stringliteral">&quot;button_new&quot;</span>));</div><div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> &amp;&amp; <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> == TRUE)</div><div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a4db5c4960c9dbe3e798528bacb31456e">button_new</a>), FALSE);</div><div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>&#160; <span class="comment">/* Search bar */</span></div><div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#acd8f3437eee668a2b8d905a16a16be72">search_toggle</a> = GTK_TOGGLE_BUTTON(RM_GET_OBJECT(<span class="stringliteral">&quot;search_toggle&quot;</span>));</div><div class="line"><a name="l01656"></a><span class="lineno"> 1656</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#aecb54d7c3dd1e86a16e24ea2e00d4ddd">search_bar</a> = GTK_SEARCH_BAR(RM_GET_OBJECT(<span class="stringliteral">&quot;search_bar&quot;</span>));</div><div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>&#160; <span class="comment">/* view mode list/tree */</span></div><div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#ae3c2c0b9855bb44b5b9a27a3178d32e7">view_toggle_button</a> = GTK_TOGGLE_BUTTON(RM_GET_OBJECT(<span class="stringliteral">&quot;view_toggle_button&quot;</span>));</div><div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> &amp;&amp; <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> == TRUE)</div><div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ae3c2c0b9855bb44b5b9a27a3178d32e7">view_toggle_button</a>), FALSE);</div><div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>&#160;</div><div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>&#160; <span class="comment">/* Menu widgets */</span></div><div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a2d6960ab62869638a77d2fe5bd72c7f6">menu_popup</a> = GTK_MENU(RM_GET_OBJECT(<span class="stringliteral">&quot;menu_popup&quot;</span>));</div><div class="line"><a name="l01664"></a><span class="lineno"> 1664</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#ab3be770af5f21758fa641b274ca967ec">menu_header_button</a> = GTK_MENU_BUTTON(RM_GET_OBJECT(<span class="stringliteral">&quot;menu_header_button&quot;</span>));</div><div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a1575015519fedca001bb26e129331b62">menu_popup_full</a> = GTK_MENU(RM_GET_OBJECT(<span class="stringliteral">&quot;menu_popup_full&quot;</span>));</div><div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a98a1ddd6aebc35c131f8de819a3d861f">menu_popup_delete_rc</a> = GTK_MENU(RM_GET_OBJECT(<span class="stringliteral">&quot;menu_popup_delete_rc&quot;</span>));</div><div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> &amp;&amp; <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> == TRUE) {</div><div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a1575015519fedca001bb26e129331b62">menu_popup_full</a>), FALSE);</div><div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ab3be770af5f21758fa641b274ca967ec">menu_header_button</a>), FALSE);</div><div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>&#160; }</div><div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>&#160; <span class="comment">/* View mode radios */</span></div><div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a6288ed69d372d1047ce94c74e77e0fd4">menuitem_view_mode_list</a> = GTK_RADIO_MENU_ITEM(RM_GET_OBJECT(<span class="stringliteral">&quot;menuitem_view_mode_list&quot;</span>));</div><div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a670425eaf7430854a172ee0f41c4e5e0">menuitem_view_mode_tree</a> = GTK_RADIO_MENU_ITEM(RM_GET_OBJECT(<span class="stringliteral">&quot;menuitem_view_mode_tree&quot;</span>));</div><div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>&#160; <span class="comment">/* Quick connect objects */</span></div><div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a7b03d239c21141a202d0698492cfae95">box_quick_connect</a> = GTK_BOX(RM_GET_OBJECT(<span class="stringliteral">&quot;box_quick_connect&quot;</span>));</div><div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a35f10af8065b3b64ba6f26db60061d39">combo_quick_connect_protocol</a> = GTK_COMBO_BOX_TEXT(RM_GET_OBJECT(<span class="stringliteral">&quot;combo_quick_connect_protocol&quot;</span>));</div><div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> &amp;&amp; <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> == TRUE)</div><div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a35f10af8065b3b64ba6f26db60061d39">combo_quick_connect_protocol</a>), FALSE);</div><div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a> = GTK_ENTRY(RM_GET_OBJECT(<span class="stringliteral">&quot;entry_quick_connect_server&quot;</span>));</div><div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>&#160; <span class="comment">/* Other widgets */</span></div><div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a> = GTK_TREE_VIEW(RM_GET_OBJECT(<span class="stringliteral">&quot;tree_files_list&quot;</span>));</div><div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#aa2b3c232b59da2278215d446b93db0e5">column_files_list_name</a> = GTK_TREE_VIEW_COLUMN(RM_GET_OBJECT(<span class="stringliteral">&quot;column_files_list_name&quot;</span>));</div><div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a56ac6ffe61c0d3663ebc6b26e65a8cbc">column_files_list_group</a> = GTK_TREE_VIEW_COLUMN(RM_GET_OBJECT(<span class="stringliteral">&quot;column_files_list_group&quot;</span>));</div><div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a7db532834f4fd6360956cb0e2383b0fb">column_files_list_server</a> = GTK_TREE_VIEW_COLUMN(RM_GET_OBJECT(<span class="stringliteral">&quot;column_files_list_server&quot;</span>));</div><div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a8e21f782dd6e0a6d80f0f622898b2a48">column_files_list_plugin</a> = GTK_TREE_VIEW_COLUMN(RM_GET_OBJECT(<span class="stringliteral">&quot;column_files_list_plugin&quot;</span>));</div><div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a1ffeff8198ae0dc7c2461001118fcc5a">column_files_list_date</a> = GTK_TREE_VIEW_COLUMN(RM_GET_OBJECT(<span class="stringliteral">&quot;column_files_list_date&quot;</span>));</div><div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#ab743fa626843d8fbb669fbd01819aea9">column_files_list_notes</a> = GTK_TREE_VIEW_COLUMN(RM_GET_OBJECT(<span class="stringliteral">&quot;column_files_list_notes&quot;</span>));</div><div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160; gtk_tree_view_column_set_fixed_width(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ab743fa626843d8fbb669fbd01819aea9">column_files_list_notes</a>, 100);</div><div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#acacd90f3e6df6a864154edba01464ae2">statusbar_main</a> = GTK_STATUSBAR(RM_GET_OBJECT(<span class="stringliteral">&quot;statusbar_main&quot;</span>));</div><div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160; <span class="comment">/* signals */</span></div><div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>&#160; g_signal_connect(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>, <span class="stringliteral">&quot;key-release-event&quot;</span>, G_CALLBACK(<a class="code" href="remmina__main_8c.html#af129aea3f5f3ec56b061187a81d43e4c">remmina_main_search_key_event</a>), NULL);</div><div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>&#160; g_signal_connect(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>, <span class="stringliteral">&quot;row-activated&quot;</span>, G_CALLBACK(<a class="code" href="remmina__main_8c.html#a4477897686d091d6f57e7f9401674a8c">remmina_main_tree_row_activated</a>), NULL);</div><div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>&#160; <span class="comment">/* Non widget objects */</span></div><div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>&#160; actions = g_simple_action_group_new();</div><div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>&#160; g_action_map_add_action_entries(G_ACTION_MAP(actions), <a class="code" href="remmina__main_8c.html#a923b3e2712d969eb59d9291e99f933e8">app_actions</a>, G_N_ELEMENTS(<a class="code" href="remmina__main_8c.html#a923b3e2712d969eb59d9291e99f933e8">app_actions</a>), remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>);</div><div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>&#160; gtk_widget_insert_action_group(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>), <span class="stringliteral">&quot;app&quot;</span>, G_ACTION_GROUP(actions));</div><div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>&#160; g_action_map_add_action_entries(G_ACTION_MAP(actions), <a class="code" href="remmina__main_8c.html#af146cc1f982c98a9c8a5ac43cc1508f3">main_actions</a>, G_N_ELEMENTS(<a class="code" href="remmina__main_8c.html#af146cc1f982c98a9c8a5ac43cc1508f3">main_actions</a>), remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>);</div><div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>&#160; gtk_widget_insert_action_group(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>), <span class="stringliteral">&quot;main&quot;</span>, G_ACTION_GROUP(actions));</div><div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>&#160; g_object_unref(actions);</div><div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>&#160; <span class="comment">/* Accelerators */</span></div><div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>&#160; accel_group = gtk_accel_group_new();</div><div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>&#160; gtk_window_add_accel_group(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, accel_group);</div><div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>&#160; gtk_accel_group_connect(accel_group, GDK_KEY_Q, GDK_CONTROL_MASK, 0,</div><div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>&#160; g_cclosure_new_swap(G_CALLBACK(<a class="code" href="remmina__main_8c.html#a5445e5568a6fc04d08b620829a59334a">remmina_main_on_action_application_quit</a>), NULL, NULL));</div><div class="line"><a name="l01705"></a><span class="lineno"> 1705</span>&#160; <span class="comment">// TODO: This crash remmina because the function doesn&#39;t receive the parameter we expect</span></div><div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>&#160; gtk_accel_group_connect(accel_group, GDK_KEY_P, GDK_CONTROL_MASK, 0,</div><div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>&#160; g_cclosure_new_swap(G_CALLBACK(<a class="code" href="remmina__main_8c.html#a1e8b7e8c0f7a47dc0409ae6eb18cfc6a">remmina_main_on_accel_application_preferences</a>), NULL, NULL));</div><div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>&#160; gtk_accel_group_connect(accel_group, GDK_KEY_F, GDK_CONTROL_MASK, 0,</div><div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>&#160; g_cclosure_new_swap(G_CALLBACK(<a class="code" href="remmina__main_8c.html#aea426b2e8fc03f963bb2b98cb8649adf">remmina_main_on_accel_search_toggle</a>), remminamain, NULL));</div><div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>&#160;</div><div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>&#160; <span class="comment">/* Connect signals */</span></div><div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>&#160; gtk_builder_connect_signals(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ab7c6aebff1b06ef97c36bfa9d360b0c1">builder</a>, NULL);</div><div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>&#160; <span class="comment">/* Initialize the window and load the preferences */</span></div><div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>&#160; <a class="code" href="remmina__main_8c.html#afefc1b651e1c546e949dbe6df72b0300">remmina_main_init</a>();</div><div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>&#160; <span class="keywordflow">return</span> GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>);</div><div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>&#160;}</div><div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>&#160;</div><div class="line"><a name="l01718"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a3948142732379a3d165f3b0b4d5f5abc"> 1718</a></span>&#160;GtkWindow *<a class="code" href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a>()</div><div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>&#160;{</div><div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>&#160; <span class="keywordflow">if</span> (!remminamain)</div><div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>&#160; <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>&#160; <span class="keywordflow">if</span> (!remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>)</div><div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>&#160; <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>&#160; <span class="keywordflow">if</span> (!remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a7a4eb201dd185ba606af5c486ef55e7f">initialized</a>)</div><div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>&#160; <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a> = GTK_WINDOW(RM_GET_OBJECT(<span class="stringliteral">&quot;RemminaMain&quot;</span>));</div><div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>&#160; <span class="keywordflow">return</span> remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>;</div><div class="line"><a name="l01728"></a><span class="lineno"> 1728</span>&#160;}</div><div class="line"><a name="l01729"></a><span class="lineno"> 1729</span>&#160;</div><div class="line"><a name="l01730"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a5ae0372dafe41f96a09097c07d1b270a"> 1730</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a5ae0372dafe41f96a09097c07d1b270a">remmina_main_update_file_datetime</a>(<a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *file)</div><div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>&#160;{</div><div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>&#160; <span class="keywordflow">if</span> (!remminamain)</div><div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>&#160; <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>();</div><div class="line"><a name="l01735"></a><span class="lineno"> 1735</span>&#160;}</div><div class="line"><a name="l01736"></a><span class="lineno"> 1736</span>&#160;</div><div class="line"><a name="l01737"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#ab2a1a54320992fb796850ffbd6a63589"> 1737</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#ab2a1a54320992fb796850ffbd6a63589">remmina_main_show_dialog</a>(GtkMessageType msg, GtkButtonsType buttons, <span class="keyword">const</span> gchar* message) {</div><div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>&#160; GtkWidget *dialog;</div><div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>&#160;</div><div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>&#160; <span class="keywordflow">if</span> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>) {</div><div class="line"><a name="l01741"></a><span class="lineno"> 1741</span>&#160; dialog = gtk_message_dialog_new(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, GTK_DIALOG_MODAL, msg, buttons, <span class="stringliteral">&quot;%s&quot;</span>, message);</div><div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>&#160; gtk_dialog_run(GTK_DIALOG(dialog));</div><div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>&#160; gtk_widget_destroy(dialog);</div><div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>&#160; }</div><div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>&#160;}</div><div class="line"><a name="l01746"></a><span class="lineno"> 1746</span>&#160;</div><div class="line"><a name="l01747"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#ad99b9c0bf2fa8c166a8b4a09e06ffdf7"> 1747</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#ad99b9c0bf2fa8c166a8b4a09e06ffdf7">remmina_main_show_warning_dialog</a>(<span class="keyword">const</span> gchar *message) {</div><div class="line"><a name="l01748"></a><span class="lineno"> 1748</span>&#160; GtkWidget *dialog;</div><div class="line"><a name="l01749"></a><span class="lineno"> 1749</span>&#160;</div><div class="line"><a name="l01750"></a><span class="lineno"> 1750</span>&#160; <span class="keywordflow">if</span> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>) {</div><div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>&#160; dialog = gtk_message_dialog_new(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_CLOSE,</div><div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>&#160; message, g_get_application_name());</div><div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>&#160; gtk_dialog_run(GTK_DIALOG(dialog));</div><div class="line"><a name="l01754"></a><span class="lineno"> 1754</span>&#160; gtk_widget_destroy(dialog);</div><div class="line"><a name="l01755"></a><span class="lineno"> 1755</span>&#160; }</div><div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>&#160;}</div><div class="ttc" id="remmina__file__manager_8h_html_a0155f52ba9a28e2aa0ea5d831f5d2c90"><div class="ttname"><a href="remmina__file__manager_8h.html#a0155f52ba9a28e2aa0ea5d831f5d2c90">RemminaGroupData</a></div><div class="ttdeci">G_BEGIN_DECLS struct _RemminaGroupData RemminaGroupData</div></div>
+<a href="remmina__main_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Remmina - The GTK+ Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2009-2011 Vic Lee</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Copyright (C) 2016-2022 Antenore Gatta, Giovanni Panozzo</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * Copyright (C) 2022-2023 Antenore Gatta, Giovanni Panozzo, Hiroyuki Tanaka</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * along with this program; if not, write to the Free Software</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * In addition, as a special exception, the copyright holders give</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * permission to link the code of portions of this program with the</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * OpenSSL library under certain conditions as described in each</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * including the two.</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * You must obey the GNU General Public License in all respects</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * for all of the code used other than OpenSSL. * If you modify</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> * file(s) with this exception, you may extend this exception to your</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> * version of the file(s), but you are not obligated to do so. * If you</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> * do not wish to do so, delete this exception statement from your</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> * version. * If you delete this exception statement from all source</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"> * files in the program, then also delete it here.</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &quot;config.h&quot;</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &lt;ctype.h&gt;</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &lt;gio/gio.h&gt;</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#ifndef __APPLE__</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#include &lt;gio/gdesktopappinfo.h&gt;</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#include &lt;gdk/gdkkeysyms.h&gt;</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor">#include &lt;glib/gi18n.h&gt;</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor">#include &lt;gtk/gtk.h&gt;</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina_8h.html">remmina.h</a>&quot;</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__string__array_8h.html">remmina_string_array.h</a>&quot;</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__public_8h.html">remmina_public.h</a>&quot;</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file_8h.html">remmina_file.h</a>&quot;</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file__manager_8h.html">remmina_file_manager.h</a>&quot;</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file__editor_8h.html">remmina_file_editor.h</a>&quot;</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="rcw_8h.html">rcw.h</a>&quot;</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__about_8h.html">remmina_about.h</a>&quot;</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__pref_8h.html">remmina_pref.h</a>&quot;</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__pref__dialog_8h.html">remmina_pref_dialog.h</a>&quot;</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__widget__pool_8h.html">remmina_widget_pool.h</a>&quot;</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__plugin__manager_8h.html">remmina_plugin_manager.h</a>&quot;</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__log_8h.html">remmina_log.h</a>&quot;</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__icon_8h.html">remmina_icon.h</a>&quot;</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__main_8h.html">remmina_main.h</a>&quot;</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__exec_8h.html">remmina_exec.h</a>&quot;</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__mpchange_8h.html">remmina_mpchange.h</a>&quot;</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__external__tools_8h.html">remmina_external_tools.h</a>&quot;</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__unlock_8h.html">remmina_unlock.h</a>&quot;</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__trace__calls_8h.html">remmina/remmina_trace_calls.h</a>&quot;</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#ab7c680e1f6ffeef21cb928a083d36d89"> 69</a></span>&#160;<span class="keyword">static</span> <a class="code" href="struct___remmina_main.html">RemminaMain</a> *<a class="code" href="remmina__main_8c.html#ab7c680e1f6ffeef21cb928a083d36d89">remminamain</a>;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="preprocessor">#define RM_GET_OBJECT(object_name) gtk_builder_get_object(remminamain-&gt;builder, object_name)</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="keyword">enum</span> {</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a2b637b91fededa6eb7f4be69da080445"> 74</a></span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a2b637b91fededa6eb7f4be69da080445">PROTOCOL_COLUMN</a>,</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1f8f29e04fd120da5a66491ef0a4ff6c"> 75</a></span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1f8f29e04fd120da5a66491ef0a4ff6c">NAME_COLUMN</a>,</div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1704de86134c42b13d2e5fd7cf7c903b"> 76</a></span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1704de86134c42b13d2e5fd7cf7c903b">GROUP_COLUMN</a>,</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c129f382d9456db6f671e1e6e99d32f"> 77</a></span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c129f382d9456db6f671e1e6e99d32f">SERVER_COLUMN</a>,</div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388ad68c7d7d2f1cfe0321e87c4a833a0756"> 78</a></span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388ad68c7d7d2f1cfe0321e87c4a833a0756">PLUGIN_COLUMN</a>,</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a6e22c76fbdeaa8f724eb996db2d528bb"> 79</a></span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a6e22c76fbdeaa8f724eb996db2d528bb">DATE_COLUMN</a>,</div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c5d264253ed2fc8f96ffcee508db93d"> 80</a></span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c5d264253ed2fc8f96ffcee508db93d">FILENAME_COLUMN</a>,</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a4d053f07c7bfa18ee1db38382a64c454"> 81</a></span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a4d053f07c7bfa18ee1db38382a64c454">LABELS_COLUMN</a>,</div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a348c0cf6892b36818d9825dddc25f8e3"> 82</a></span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a348c0cf6892b36818d9825dddc25f8e3">NOTES_COLUMN</a>,</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388ac70d28409ca79aa291cc0e58244f1fe4"> 83</a></span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388ac70d28409ca79aa291cc0e58244f1fe4">N_COLUMNS</a></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;};</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="keyword">static</span></div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a8ebbcba2c07af0938b3c29e316747d12"> 87</a></span>&#160;<span class="keyword">const</span> gchar *<a class="code" href="remmina__main_8c.html#a8ebbcba2c07af0938b3c29e316747d12">supported_mime_types</a>[] = {</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="stringliteral">&quot;x-scheme-handler/rdp&quot;</span>,</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="stringliteral">&quot;x-scheme-handler/spice&quot;</span>,</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="stringliteral">&quot;x-scheme-handler/vnc&quot;</span>,</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="stringliteral">&quot;x-scheme-handler/remmina&quot;</span>,</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="stringliteral">&quot;application/x-remmina&quot;</span>,</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; NULL</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;};</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a923b3e2712d969eb59d9291e99f933e8"> 96</a></span>&#160;<span class="keyword">static</span> GActionEntry <a class="code" href="remmina__main_8c.html#a923b3e2712d969eb59d9291e99f933e8">app_actions</a>[] = {</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; { <span class="stringliteral">&quot;about&quot;</span>, <a class="code" href="remmina__main_8c.html#aac0bb51159be042fecab0103e73a54dc">remmina_main_on_action_application_about</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; { <span class="stringliteral">&quot;default&quot;</span>, <a class="code" href="remmina__main_8c.html#a05dbb6ce820f3a137949b919d0efa6a1">remmina_main_on_action_application_default</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; { <span class="stringliteral">&quot;mpchange&quot;</span>, <a class="code" href="remmina__main_8c.html#abf51d42fa2c5ce84164b5514b4634229">remmina_main_on_action_application_mpchange</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; { <span class="stringliteral">&quot;plugins&quot;</span>, <a class="code" href="remmina__main_8c.html#adf59ad5b0a0ef68e58bbea3701929efc">remmina_main_on_action_application_plugins</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; { <span class="stringliteral">&quot;preferences&quot;</span>, <a class="code" href="remmina__main_8c.html#a6ed9f6a588a2d9e3a6cf6884c8d07f92">remmina_main_on_action_application_preferences</a>, <span class="stringliteral">&quot;i&quot;</span>, NULL, NULL },</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; { <span class="stringliteral">&quot;dark&quot;</span>, <a class="code" href="remmina__main_8c.html#a91f22c2834ac7f38d201d8d678f8c57b">remmina_main_on_action_application_dark_theme</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; { <span class="stringliteral">&quot;debug&quot;</span>, <a class="code" href="remmina__main_8c.html#a5db4436cc72b9d5ea3e498f8519efecc">remmina_main_on_action_help_debug</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; { <span class="stringliteral">&quot;community&quot;</span>, <a class="code" href="remmina__main_8c.html#aac3aa116a8d8b527f1aa61b7395b4b32">remmina_main_on_action_help_community</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; { <span class="stringliteral">&quot;donations&quot;</span>, <a class="code" href="remmina__main_8c.html#a2704d643ee15702a84a1c76219dd5277">remmina_main_on_action_help_donations</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; { <span class="stringliteral">&quot;homepage&quot;</span>, <a class="code" href="remmina__main_8c.html#a7049d977154921f651cc1538f59c5b7a">remmina_main_on_action_help_homepage</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; { <span class="stringliteral">&quot;wiki&quot;</span>, <a class="code" href="remmina__main_8c.html#a0c32fe66988056b353220128611b9116">remmina_main_on_action_help_wiki</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; { <span class="stringliteral">&quot;quit&quot;</span>, <a class="code" href="remmina__main_8c.html#a5445e5568a6fc04d08b620829a59334a">remmina_main_on_action_application_quit</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;};</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#af146cc1f982c98a9c8a5ac43cc1508f3"> 111</a></span>&#160;<span class="keyword">static</span> GActionEntry <a class="code" href="remmina__main_8c.html#af146cc1f982c98a9c8a5ac43cc1508f3">main_actions</a>[] = {</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; { <span class="stringliteral">&quot;connect&quot;</span>, <a class="code" href="remmina__main_8c.html#a6b30ed832369f3a7153aa63f98873c9d">remmina_main_on_action_connection_connect</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; { <span class="stringliteral">&quot;copy&quot;</span>, <a class="code" href="remmina__main_8c.html#a44eb44c6391f53a19c6f1fdf9a39a8c1">remmina_main_on_action_connection_copy</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; { <span class="stringliteral">&quot;delete&quot;</span>, <a class="code" href="remmina__main_8c.html#a10e574723222f5df9db456977e62a093">remmina_main_on_action_connection_delete</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; { <span class="stringliteral">&quot;delete_multiple&quot;</span>, <a class="code" href="remmina__main_8c.html#af56bada711b2fc9c50af83b8b62dfe8b">remmina_main_on_action_connection_delete_multiple</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; { <span class="stringliteral">&quot;edit&quot;</span>, <a class="code" href="remmina__main_8c.html#adfbfc580d25b58d09770a7d33ffe03cc">remmina_main_on_action_connection_edit</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; { <span class="stringliteral">&quot;exttools&quot;</span>, <a class="code" href="remmina__main_8c.html#abcf8bd8ca57b389264ff9739a61efdc1">remmina_main_on_action_connection_external_tools</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; { <span class="stringliteral">&quot;new&quot;</span>, <a class="code" href="remmina__main_8c.html#a52cc21537ff003b9d0fbdb9040c811af">remmina_main_on_action_connection_new</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; { <span class="stringliteral">&quot;export&quot;</span>, <a class="code" href="remmina__main_8c.html#ab203476099a5ad6e889f91c8e05d577d">remmina_main_on_action_tools_export</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; { <span class="stringliteral">&quot;import&quot;</span>, <a class="code" href="remmina__main_8c.html#a4b4f0bbdb9e487d6c3809e8a57dc1d1c">remmina_main_on_action_tools_import</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; { <span class="stringliteral">&quot;expand&quot;</span>, <a class="code" href="remmina__main_8c.html#ab98d51c96a87fddaa2d5d6d4614bafa8">remmina_main_on_action_expand</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; { <span class="stringliteral">&quot;collapse&quot;</span>, <a class="code" href="remmina__main_8c.html#a0edcc1d7dc3adcbb7bb36aa0f62dec3a">remmina_main_on_action_collapse</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; { <span class="stringliteral">&quot;search&quot;</span>, <a class="code" href="remmina__main_8c.html#a9896df7a92402b5a61e58420235c515a">remmina_main_on_action_search_toggle</a>, NULL, NULL, NULL },</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;};</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a8ccd8303ada6e26880504fc58812fbda"> 126</a></span>&#160;<span class="keyword">static</span> GtkTargetEntry <a class="code" href="remmina__main_8c.html#a8ccd8303ada6e26880504fc58812fbda">remmina_drop_types</a>[] =</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;{</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; { <span class="stringliteral">&quot;text/uri-list&quot;</span>, 0, 1 }</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;};</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#aace9ecdd0b74d392ad6ed541bd605c1c"> 131</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">char</span> *<a class="code" href="remmina__main_8c.html#aace9ecdd0b74d392ad6ed541bd605c1c">quick_connect_plugin_list</a>[] =</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;{</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="stringliteral">&quot;RDP&quot;</span>, <span class="stringliteral">&quot;VNC&quot;</span>, <span class="stringliteral">&quot;SSH&quot;</span>, <span class="stringliteral">&quot;NX&quot;</span>, <span class="stringliteral">&quot;SPICE&quot;</span>, <span class="stringliteral">&quot;X2GO&quot;</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;};</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#ac448c53d7a2066763d2b747d269f60ee"> 139</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#ac448c53d7a2066763d2b747d269f60ee">remmina_main_save_size</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;{</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">if</span> ((gdk_window_get_state(gtk_widget_get_window(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>))) &amp; GDK_WINDOW_STATE_MAXIMIZED) == 0) {</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; gtk_window_get_size(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, &amp;<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a6318ff8e2f73d36fb8b35cbed503c222">main_width</a>, &amp;<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#aeb86dc8005c98ce2eab57bd900467875">main_height</a>);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a8edfd2a9a9a06b1fd876fbe8742b9ff6">main_maximize</a> = FALSE;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a8edfd2a9a9a06b1fd876fbe8742b9ff6">main_maximize</a> = TRUE;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; }</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;}</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;</div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a51880fc109db6457a5d0fc543c2deaf2"> 150</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a51880fc109db6457a5d0fc543c2deaf2">remmina_main_save_expanded_group_func</a>(GtkTreeView *tree_view, GtkTreePath *path, gpointer user_data)</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;{</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; GtkTreeIter iter;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; gchar *group;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; gtk_tree_model_get_iter(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">file_model_sort</a>, &amp;iter, path);</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; gtk_tree_model_get(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">file_model_sort</a>, &amp;iter, <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1704de86134c42b13d2e5fd7cf7c903b">GROUP_COLUMN</a>, &amp;group, -1);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">if</span> (group) {</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="code" href="remmina__string__array_8c.html#a2aaacca7db4b86f836486cfb559398f0">remmina_string_array_add</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a467cf8ebc87ccdb68b9f88bce95c9f3a">expanded_group</a>, group);</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; g_free(group);</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; }</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;}</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#ad8744dc59ba8072ffdf557b6c94e9f40"> 164</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#ad8744dc59ba8072ffdf557b6c94e9f40">remmina_main_save_expanded_group</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;{</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">if</span> (GTK_IS_TREE_STORE(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#aec4c4540e9463a45b22a5c0b9108bc6f">file_model</a>)) {</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">if</span> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a467cf8ebc87ccdb68b9f88bce95c9f3a">expanded_group</a>)</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <a class="code" href="remmina__string__array_8c.html#a8ab78913d299df665a408a8a5ec51bbe">remmina_string_array_free</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a467cf8ebc87ccdb68b9f88bce95c9f3a">expanded_group</a>);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a467cf8ebc87ccdb68b9f88bce95c9f3a">expanded_group</a> = <a class="code" href="remmina__string__array_8c.html#aff90e964c6541b1af02adf7ea39e6e02">remmina_string_array_new</a>();</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; gtk_tree_view_map_expanded_rows(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>,</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; (GtkTreeViewMappingFunc)<a class="code" href="remmina__main_8c.html#a51880fc109db6457a5d0fc543c2deaf2">remmina_main_save_expanded_group_func</a>, NULL);</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; }</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;}</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a95cedb0d631aacbd1b4a5ee1e10a40a5"> 180</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a009f32092bd1d8dcd8e783d25416f3df">remmina_main_save_before_destroy</a>()</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;{</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordflow">if</span> (!remminamain || !remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>)</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <a class="code" href="remmina__main_8c.html#ac448c53d7a2066763d2b747d269f60ee">remmina_main_save_size</a>();</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <a class="code" href="remmina__main_8c.html#ad8744dc59ba8072ffdf557b6c94e9f40">remmina_main_save_expanded_group</a>();</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; g_free(<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#aa8d4c923cb9ca1be451436d1790e8ee5">expanded_group</a>);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#aa8d4c923cb9ca1be451436d1790e8ee5">expanded_group</a> = <a class="code" href="remmina__string__array_8c.html#a96f7bec7ce32de6cf5deadcd5aec51ec">remmina_string_array_to_string</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a467cf8ebc87ccdb68b9f88bce95c9f3a">expanded_group</a>);</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <a class="code" href="remmina__pref_8c.html#ae17aaf37449083a4322b6748c8f3a39f">remmina_pref_save</a>();</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;}</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a77d974da2ddd1ea7c87f8b9bb1eedda8"> 193</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a95532ac6d110eeeb2e41d4b2a329797c">remmina_main_destroy</a>()</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;{</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">if</span> (remminamain) {</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">if</span> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>)</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; gtk_widget_destroy(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>));</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; g_object_unref(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ab7c6aebff1b06ef97c36bfa9d360b0c1">builder</a>);</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <a class="code" href="remmina__string__array_8c.html#a8ab78913d299df665a408a8a5ec51bbe">remmina_string_array_free</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a467cf8ebc87ccdb68b9f88bce95c9f3a">expanded_group</a>);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a467cf8ebc87ccdb68b9f88bce95c9f3a">expanded_group</a> = NULL;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">if</span> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#aec4c4540e9463a45b22a5c0b9108bc6f">file_model</a>)</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; g_object_unref(G_OBJECT(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#aec4c4540e9463a45b22a5c0b9108bc6f">file_model</a>));</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; g_object_unref(G_OBJECT(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#ae1e1d579bdb2517bd0f86408b9d5f97c">file_model_filter</a>));</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; g_free(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; g_free(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a606c7e6dc78219e8e5536519db723a4d">selected_name</a>);</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; g_free(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>);</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; g_free(remminamain);</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; remminamain = NULL;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; }</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;}</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;</div><div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a33ef5745d8b934ef52379c277d3a1ab2"> 218</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__main_8c.html#a33ef5745d8b934ef52379c277d3a1ab2">remmina_main_dexit</a>(gpointer data)</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;{</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <a class="code" href="remmina__exec_8c.html#aaa67e07e2426828d7e7b9b30d2038d31">remmina_application_condexit</a>(<a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5ae79d14a54e119795478a6e390d7d3b40">REMMINA_CONDEXIT_ONMAINWINDELETE</a>);</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;}</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;</div><div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a40493bb60c169e53e2e08a0d0a808302"> 225</a></span>&#160;gboolean <a class="code" href="remmina__main_8c.html#a40493bb60c169e53e2e08a0d0a808302">remmina_main_on_delete_event</a>(GtkWidget *widget, GdkEvent *event, gpointer user_data)</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;{</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <a class="code" href="remmina__main_8c.html#a009f32092bd1d8dcd8e783d25416f3df">remmina_main_save_before_destroy</a>();</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; g_idle_add(<a class="code" href="remmina__main_8c.html#a33ef5745d8b934ef52379c277d3a1ab2">remmina_main_dexit</a>, NULL);</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;}</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;</div><div class="line"><a name="l00235"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a829d3ad1468d780380ae1ad693532e82"> 235</a></span>&#160;gboolean <a class="code" href="remmina__main_8c.html#a829d3ad1468d780380ae1ad693532e82">remmina_main_idle_destroy</a>(gpointer data)</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;{</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">if</span> (remminamain)</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <a class="code" href="remmina__main_8c.html#a95532ac6d110eeeb2e41d4b2a329797c">remmina_main_destroy</a>();</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">return</span> G_SOURCE_REMOVE;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;}</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;</div><div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a4d2d08c3fed3f72ea7f4c0600fec7ed5"> 248</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#aeb74f36e5fd58ceab9f13a184bfb2029">remmina_main_on_destroy_event</a>()</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;{</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">if</span> (remminamain) {</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="comment">/* Invalidate remminamain-&gt;window to avoid multiple destructions */</span></div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a> = NULL;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="comment">/* Destroy remminamain struct, later. We can&#39;t destroy</span></div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;<span class="comment"> * important objects like the builder now */</span></div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; g_idle_add(<a class="code" href="remmina__main_8c.html#a829d3ad1468d780380ae1ad693532e82">remmina_main_idle_destroy</a>, NULL);</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; }</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;}</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;</div><div class="line"><a name="l00261"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a9e60326026d7de56882bc83c0084fd12"> 261</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a9e60326026d7de56882bc83c0084fd12">remmina_main_clear_selection_data</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;{</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; g_free(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; g_free(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a606c7e6dc78219e8e5536519db723a4d">selected_name</a>);</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a> = NULL;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a606c7e6dc78219e8e5536519db723a4d">selected_name</a> = NULL;</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;}</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;<span class="preprocessor">#ifdef SNAP_BUILD</span></div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;</div><div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#ab08aae433b625c3a84330630fe2bd2d5"> 272</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#ab08aae433b625c3a84330630fe2bd2d5">remmina_main_show_snap_welcome</a>()</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;{</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; GtkBuilder *dlgbuilder = NULL;</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; GtkWidget *dlg;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; GtkWindow *parent;</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordtype">int</span> result;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keyword">static</span> gboolean shown_once = FALSE;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; gboolean need_snap_interface_connections = FALSE;</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; GtkWidget *dsa;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <a class="code" href="struct___remmina_secret_plugin.html">RemminaSecretPlugin</a> *<a class="code" href="remmina__plugin__manager_8c.html#a5e79d6abd0b12c1ed2bb33988e41857e">remmina_secret_plugin</a>;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordflow">if</span> (shown_once)</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; shown_once = TRUE;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; g_print(<span class="stringliteral">&quot;Remmina is compiled as a SNAP package.\n&quot;</span>);</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; remmina_secret_plugin = <a class="code" href="remmina__plugin__manager_8c.html#ad380a98f6624aa8c830015c8b428b7b4">remmina_plugin_manager_get_secret_plugin</a>();</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">if</span> (remmina_secret_plugin == NULL) {</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; g_print(<span class="stringliteral">&quot; but we can’t find the secret plugin inside the SNAP.\n&quot;</span>);</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; need_snap_interface_connections = TRUE;</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">if</span> (!remmina_secret_plugin-&gt;<a class="code" href="struct___remmina_secret_plugin.html#a2123e14795b104f5fe8d77a4b7847261">is_service_available</a>(remmina_secret_plugin)) {</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; g_print(<span class="stringliteral">&quot; but we can’t access a secret service. Secret service or SNAP interface connection is missing.\n&quot;</span>);</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; need_snap_interface_connections = TRUE;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; }</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; }</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordflow">if</span> (need_snap_interface_connections &amp;&amp; !<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a18872e092d22f5d3accb66d6a22845d7">prevent_snap_welcome_message</a>) {</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; dlgbuilder = <a class="code" href="remmina__public_8c.html#a4573e086e1ff8507eb9447b25bf11b92">remmina_public_gtk_builder_new_from_resource</a>(<span class="stringliteral">&quot;/org/remmina/Remmina/src/../data/ui/remmina_snap_info_dialog.glade&quot;</span>);</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; dsa = GTK_WIDGET(gtk_builder_get_object(dlgbuilder, <span class="stringliteral">&quot;dontshowagain&quot;</span>));</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordflow">if</span> (dlgbuilder) {</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; parent = <a class="code" href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a>();</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; dlg = GTK_WIDGET(gtk_builder_get_object(dlgbuilder, <span class="stringliteral">&quot;SnapInfoDlg&quot;</span>));</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keywordflow">if</span> (parent)</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; gtk_window_set_transient_for(GTK_WINDOW(dlg), parent);</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; gtk_builder_connect_signals(dlgbuilder, NULL);</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; result = gtk_dialog_run(GTK_DIALOG(dlg));</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordflow">if</span> (result == 1) {</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a18872e092d22f5d3accb66d6a22845d7">prevent_snap_welcome_message</a> = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dsa));</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <a class="code" href="remmina__pref_8c.html#ae17aaf37449083a4322b6748c8f3a39f">remmina_pref_save</a>();</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; }</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; gtk_widget_destroy(dlg);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; g_object_unref(dlgbuilder);</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; }</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; }</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;}</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;</div><div class="line"><a name="l00322"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a3c5043279b5d98d4d08635d33402ea66"> 322</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__main_8c.html#a3c5043279b5d98d4d08635d33402ea66">remmina_main_selection_func</a>(GtkTreeSelection *selection, GtkTreeModel *model, GtkTreePath *path,</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; gboolean path_currently_selected, gpointer user_data)</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;{</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; guint context_id;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; GtkTreeIter iter;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; gchar buf[1000];</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keywordflow">if</span> (path_currently_selected)</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160;</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordflow">if</span> (!gtk_tree_model_get_iter(model, &amp;iter, path))</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <a class="code" href="remmina__main_8c.html#a9e60326026d7de56882bc83c0084fd12">remmina_main_clear_selection_data</a>();</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; gtk_tree_model_get(model, &amp;iter,</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1f8f29e04fd120da5a66491ef0a4ff6c">NAME_COLUMN</a>, &amp;remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a606c7e6dc78219e8e5536519db723a4d">selected_name</a>,</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c5d264253ed2fc8f96ffcee508db93d">FILENAME_COLUMN</a>, &amp;remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>,</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; -1);</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; context_id = gtk_statusbar_get_context_id(remminamain-&gt;<a class="code" href="struct___remmina_main.html#acacd90f3e6df6a864154edba01464ae2">statusbar_main</a>, <span class="stringliteral">&quot;status&quot;</span>);</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; gtk_statusbar_pop(remminamain-&gt;<a class="code" href="struct___remmina_main.html#acacd90f3e6df6a864154edba01464ae2">statusbar_main</a>, context_id);</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordflow">if</span> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>) {</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; g_snprintf(buf, <span class="keyword">sizeof</span>(buf), <span class="stringliteral">&quot;%s (%s)&quot;</span>, remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a606c7e6dc78219e8e5536519db723a4d">selected_name</a>, remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; gtk_statusbar_push(remminamain-&gt;<a class="code" href="struct___remmina_main.html#acacd90f3e6df6a864154edba01464ae2">statusbar_main</a>, context_id, buf);</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; gtk_statusbar_push(remminamain-&gt;<a class="code" href="struct___remmina_main.html#acacd90f3e6df6a864154edba01464ae2">statusbar_main</a>, context_id, remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a606c7e6dc78219e8e5536519db723a4d">selected_name</a>);</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; }</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160;}</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;</div><div class="line"><a name="l00355"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a71f485dba1b11bf8cba129920767b5e6"> 355</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a71f485dba1b11bf8cba129920767b5e6">remmina_main_load_file_list_callback</a>(<a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile, gpointer user_data)</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;{</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; GtkTreeIter iter;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; GtkListStore *store;</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; store = GTK_LIST_STORE(user_data);</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; gchar *datetime;</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; datetime = <a class="code" href="remmina__file_8c.html#a96abbfdc183d1e82fdffd6445d611ffe">remmina_file_get_datetime</a>(remminafile);</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; gtk_list_store_append(store, &amp;iter);</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; gtk_list_store_set(store, &amp;iter,</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a2b637b91fededa6eb7f4be69da080445">PROTOCOL_COLUMN</a>, <a class="code" href="remmina__file_8c.html#a2feb8e9e32f3ff4e2fac836e67a77331">remmina_file_get_icon_name</a>(remminafile),</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1f8f29e04fd120da5a66491ef0a4ff6c">NAME_COLUMN</a>, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;name&quot;</span>),</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a348c0cf6892b36818d9825dddc25f8e3">NOTES_COLUMN</a>, g_uri_unescape_string(<a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;notes_text&quot;</span>), NULL),</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1704de86134c42b13d2e5fd7cf7c903b">GROUP_COLUMN</a>, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;group&quot;</span>),</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c129f382d9456db6f671e1e6e99d32f">SERVER_COLUMN</a>, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;server&quot;</span>),</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388ad68c7d7d2f1cfe0321e87c4a833a0756">PLUGIN_COLUMN</a>, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;protocol&quot;</span>),</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a6e22c76fbdeaa8f724eb996db2d528bb">DATE_COLUMN</a>, datetime,</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c5d264253ed2fc8f96ffcee508db93d">FILENAME_COLUMN</a>, <a class="code" href="remmina__file_8c.html#ad1e4f3a0f64cd98e301044b6c38a1f1d">remmina_file_get_filename</a>(remminafile),</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a4d053f07c7bfa18ee1db38382a64c454">LABELS_COLUMN</a>, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;labels&quot;</span>),</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; -1);</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; g_free(datetime);</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;}</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160;</div><div class="line"><a name="l00380"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a2a6ba822ef89ef8ad9f19340c2c8b7f5"> 380</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__main_8c.html#a2a6ba822ef89ef8ad9f19340c2c8b7f5">remmina_main_load_file_tree_traverse</a>(GNode *<a class="code" href="remmina__ssh_8c.html#a85d5bd836f83ef1dbbcf4657f32e0792">node</a>, GtkTreeStore *store, GtkTreeIter *parent)</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160;{</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; GtkTreeIter *iter;</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <a class="code" href="remmina__file__manager_8h.html#a0155f52ba9a28e2aa0ea5d831f5d2c90">RemminaGroupData</a> *data;</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; GNode *child;</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; iter = NULL;</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordflow">if</span> (node-&gt;data) {</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; data = (<a class="code" href="remmina__file__manager_8h.html#a0155f52ba9a28e2aa0ea5d831f5d2c90">RemminaGroupData</a> *)node-&gt;data;</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; iter = g_new0(GtkTreeIter, 1);</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; gtk_tree_store_append(store, iter, parent);</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; gtk_tree_store_set(store, iter,</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a2b637b91fededa6eb7f4be69da080445">PROTOCOL_COLUMN</a>, <span class="stringliteral">&quot;folder-symbolic&quot;</span>,</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1f8f29e04fd120da5a66491ef0a4ff6c">NAME_COLUMN</a>, data-&gt;name,</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1704de86134c42b13d2e5fd7cf7c903b">GROUP_COLUMN</a>, data-&gt;group,</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a6e22c76fbdeaa8f724eb996db2d528bb">DATE_COLUMN</a>, data-&gt;datetime,</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c5d264253ed2fc8f96ffcee508db93d">FILENAME_COLUMN</a>, NULL,</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a4d053f07c7bfa18ee1db38382a64c454">LABELS_COLUMN</a>, data-&gt;labels,</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; -1);</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; }</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keywordflow">for</span> (child = g_node_first_child(node); child; child = g_node_next_sibling(child))</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <a class="code" href="remmina__main_8c.html#a2a6ba822ef89ef8ad9f19340c2c8b7f5">remmina_main_load_file_tree_traverse</a>(child, store, iter);</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; g_free(iter);</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160;}</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160;</div><div class="line"><a name="l00407"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#aa46e6b815c241d32a476a29053dbf296"> 407</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#aa46e6b815c241d32a476a29053dbf296">remmina_main_load_file_tree_group</a>(GtkTreeStore *store)</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160;{</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; GNode *root;</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; root = <a class="code" href="remmina__file__manager_8c.html#a6593a3f297f420f012405fa582819857">remmina_file_manager_get_group_tree</a>();</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <a class="code" href="remmina__main_8c.html#a2a6ba822ef89ef8ad9f19340c2c8b7f5">remmina_main_load_file_tree_traverse</a>(root, store, NULL);</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <a class="code" href="remmina__file__manager_8c.html#a06196f19abc15526514a5aa59a568798">remmina_file_manager_free_group_tree</a>(root);</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;}</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160;</div><div class="line"><a name="l00417"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a74cb130b886c2b905f651e777644a08c"> 417</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a74cb130b886c2b905f651e777644a08c">remmina_main_expand_group_traverse</a>(GtkTreeIter *iter)</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;{</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; GtkTreeModel *tree;</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; gboolean ret;</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; gchar *group, *filename;</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; GtkTreeIter child;</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; GtkTreePath *path;</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; tree = remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">file_model_sort</a>;</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; ret = TRUE;</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordflow">while</span> (ret) {</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; gtk_tree_model_get(tree, iter, <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1704de86134c42b13d2e5fd7cf7c903b">GROUP_COLUMN</a>, &amp;group, <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c5d264253ed2fc8f96ffcee508db93d">FILENAME_COLUMN</a>, &amp;filename, -1);</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">if</span> (filename == NULL) {</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__string__array_8c.html#ab93a69850cfb4117c223a3f145ced986">remmina_string_array_find</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a467cf8ebc87ccdb68b9f88bce95c9f3a">expanded_group</a>, group) &gt;= 0) {</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; path = gtk_tree_model_get_path(tree, iter);</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; gtk_tree_view_expand_row(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>, path, FALSE);</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; gtk_tree_path_free(path);</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; }</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keywordflow">if</span> (gtk_tree_model_iter_children(tree, &amp;child, iter))</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <a class="code" href="remmina__main_8c.html#a74cb130b886c2b905f651e777644a08c">remmina_main_expand_group_traverse</a>(&amp;child);</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; }</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; g_free(group);</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; g_free(filename);</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160;</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; ret = gtk_tree_model_iter_next(tree, iter);</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; }</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160;}</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160;</div><div class="line"><a name="l00446"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a4a4733c243f20c3ffc27105003f5e30e"> 446</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a4a4733c243f20c3ffc27105003f5e30e">remmina_main_expand_group</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160;{</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; GtkTreeIter iter;</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160;</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordflow">if</span> (gtk_tree_model_get_iter_first(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">file_model_sort</a>, &amp;iter))</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <a class="code" href="remmina__main_8c.html#a74cb130b886c2b905f651e777644a08c">remmina_main_expand_group_traverse</a>(&amp;iter);</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;}</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160;</div><div class="line"><a name="l00455"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a847424fdb97ffe35d060409d4d738497"> 455</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__main_8c.html#a847424fdb97ffe35d060409d4d738497">remmina_main_load_file_tree_find</a>(GtkTreeModel *tree, GtkTreeIter *iter, <span class="keyword">const</span> gchar *match_group)</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;{</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; gboolean ret, match;</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; gchar *group, *filename;</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; GtkTreeIter child;</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160;</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; match = FALSE;</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; ret = TRUE;</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keywordflow">while</span> (ret) {</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; gtk_tree_model_get(tree, iter, <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1704de86134c42b13d2e5fd7cf7c903b">GROUP_COLUMN</a>, &amp;group, <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c5d264253ed2fc8f96ffcee508db93d">FILENAME_COLUMN</a>, &amp;filename, -1);</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; match = (filename == NULL &amp;&amp; g_strcmp0(group, match_group) == 0);</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; g_free(group);</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; g_free(filename);</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <span class="keywordflow">if</span> (match)</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <span class="keywordflow">if</span> (gtk_tree_model_iter_children(tree, &amp;child, iter)) {</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; match = <a class="code" href="remmina__main_8c.html#a847424fdb97ffe35d060409d4d738497">remmina_main_load_file_tree_find</a>(tree, &amp;child, match_group);</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <span class="keywordflow">if</span> (match) {</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; memcpy(iter, &amp;child, <span class="keyword">sizeof</span>(GtkTreeIter));</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; }</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; }</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; ret = gtk_tree_model_iter_next(tree, iter);</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; }</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <span class="keywordflow">return</span> match;</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160;}</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;</div><div class="line"><a name="l00483"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#ae32574ebe06b1a24f135af9379e663b4"> 483</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#ae32574ebe06b1a24f135af9379e663b4">remmina_main_load_file_tree_callback</a>(<a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile, gpointer user_data)</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;{</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; GtkTreeIter iter, child;</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; GtkTreeStore *store;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; gboolean found;</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; gchar *datetime = NULL;</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160;</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; store = GTK_TREE_STORE(user_data);</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160;</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; found = FALSE;</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <span class="keywordflow">if</span> (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(store), &amp;iter))</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; found = <a class="code" href="remmina__main_8c.html#a847424fdb97ffe35d060409d4d738497">remmina_main_load_file_tree_find</a>(GTK_TREE_MODEL(store), &amp;iter,</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;group&quot;</span>));</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160;</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; datetime = <a class="code" href="remmina__file_8c.html#a96abbfdc183d1e82fdffd6445d611ffe">remmina_file_get_datetime</a>(remminafile);</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="comment">//REMMINA_DEBUG(&quot;The date is %s&quot;, datetime);</span></div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; gtk_tree_store_append(store, &amp;child, (found ? &amp;iter : NULL));</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; gtk_tree_store_set(store, &amp;child,</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a2b637b91fededa6eb7f4be69da080445">PROTOCOL_COLUMN</a>, <a class="code" href="remmina__file_8c.html#a2feb8e9e32f3ff4e2fac836e67a77331">remmina_file_get_icon_name</a>(remminafile),</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1f8f29e04fd120da5a66491ef0a4ff6c">NAME_COLUMN</a>, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;name&quot;</span>),</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a348c0cf6892b36818d9825dddc25f8e3">NOTES_COLUMN</a>, g_uri_unescape_string(<a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;notes_text&quot;</span>), NULL),</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1704de86134c42b13d2e5fd7cf7c903b">GROUP_COLUMN</a>, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;group&quot;</span>),</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c129f382d9456db6f671e1e6e99d32f">SERVER_COLUMN</a>, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;server&quot;</span>),</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388ad68c7d7d2f1cfe0321e87c4a833a0756">PLUGIN_COLUMN</a>, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;protocol&quot;</span>),</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a6e22c76fbdeaa8f724eb996db2d528bb">DATE_COLUMN</a>, datetime,</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c5d264253ed2fc8f96ffcee508db93d">FILENAME_COLUMN</a>, <a class="code" href="remmina__file_8c.html#ad1e4f3a0f64cd98e301044b6c38a1f1d">remmina_file_get_filename</a>(remminafile),</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a4d053f07c7bfa18ee1db38382a64c454">LABELS_COLUMN</a>, <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;labels&quot;</span>),</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; -1);</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; g_free(datetime);</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160;}</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160;</div><div class="line"><a name="l00515"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a71fbe206a9c2abb8f348ee598d7751b7"> 515</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a71fbe206a9c2abb8f348ee598d7751b7">remmina_main_file_model_on_sort</a>(GtkTreeSortable *sortable, gpointer user_data)</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160;{</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; gint columnid;</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; GtkSortType order;</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160;</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; gtk_tree_sortable_get_sort_column_id(sortable, &amp;columnid, &amp;order);</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ac13f1310a2625b29defdf5b0ba8fd2d0">main_sort_column_id</a> = columnid;</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a4504684f0e67bb50157fd6862182e2c4">main_sort_order</a> = order;</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <a class="code" href="remmina__pref_8c.html#ae17aaf37449083a4322b6748c8f3a39f">remmina_pref_save</a>();</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160;}</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160;</div><div class="line"><a name="l00527"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#ab0d22f0e3571eb80886acb0c68005800"> 527</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__main_8c.html#ab0d22f0e3571eb80886acb0c68005800">remmina_main_filter_visible_func</a>(GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data)</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160;{</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; gchar *text;</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; gchar *protocol, *name, *labels, *group, *server, *plugin, *date, *s;</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; gboolean result = TRUE;</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160;</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; text = g_ascii_strdown(gtk_entry_get_text(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>), -1);</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <span class="keywordflow">if</span> (text &amp;&amp; text[0]) {</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; gtk_tree_model_get(model, iter,</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a2b637b91fededa6eb7f4be69da080445">PROTOCOL_COLUMN</a>, &amp;protocol,</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1f8f29e04fd120da5a66491ef0a4ff6c">NAME_COLUMN</a>, &amp;name,</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1704de86134c42b13d2e5fd7cf7c903b">GROUP_COLUMN</a>, &amp;group,</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c129f382d9456db6f671e1e6e99d32f">SERVER_COLUMN</a>, &amp;server,</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388ad68c7d7d2f1cfe0321e87c4a833a0756">PLUGIN_COLUMN</a>, &amp;plugin,</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a6e22c76fbdeaa8f724eb996db2d528bb">DATE_COLUMN</a>, &amp;date,</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a4d053f07c7bfa18ee1db38382a64c454">LABELS_COLUMN</a>, &amp;labels,</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; -1);</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <span class="keywordflow">if</span> (g_strcmp0(protocol, <span class="stringliteral">&quot;folder-symbolic&quot;</span>) != 0) {</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; s = g_ascii_strdown(name ? name : <span class="stringliteral">&quot;&quot;</span>, -1);</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; g_free(name);</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; name = s;</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; s = g_ascii_strdown(group ? group : <span class="stringliteral">&quot;&quot;</span>, -1);</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; g_free(group);</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; group = s;</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; s = g_ascii_strdown(server ? server : <span class="stringliteral">&quot;&quot;</span>, -1);</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; g_free(server);</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; server = s;</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; s = g_ascii_strdown(plugin ? plugin : <span class="stringliteral">&quot;&quot;</span>, -1);</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; g_free(plugin);</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; plugin = s;</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; s = g_ascii_strdown(date ? date : <span class="stringliteral">&quot;&quot;</span>, -1);</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; g_free(date);</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; date = s;</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; result = (strstr(name, text) || strstr(group, text) || strstr(server, text) || strstr(plugin, text) || strstr(date, text));</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160;</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; <span class="comment">// Filter by labels</span></div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; s = g_ascii_strdown(labels ? labels : <span class="stringliteral">&quot;&quot;</span>, -1);</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; g_free(labels);</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; labels = s;</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160;</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; <span class="keywordflow">if</span> (strlen(labels) &gt; 0) {</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; gboolean labels_result = TRUE;</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; gchar **labels_array = g_strsplit(labels, <span class="stringliteral">&quot;,&quot;</span>, -1);</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; gchar **text_array = g_strsplit(text, <span class="stringliteral">&quot;,&quot;</span>, -1);</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160;</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> t = 0; (NULL != text_array[t]); t++) {</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <span class="keywordflow">if</span> (0 == strlen(text_array[t])) {</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; }</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160;</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; gboolean text_result = FALSE;</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160;</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> l = 0; (NULL != labels_array[l]); l++) {</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <span class="keywordflow">if</span> (0 == strlen(labels_array[l])) {</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; }</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160;</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; text_result = (text_result || strstr(labels_array[l], text_array[t]));</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160;</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; <span class="keywordflow">if</span> (text_result) {</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; }</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; }</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160;</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; labels_result = (labels_result &amp;&amp; text_result);</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160;</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; <span class="keywordflow">if</span> (!labels_result) {</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; }</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; }</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160;</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; result = (result || labels_result);</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160;</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; g_strfreev(labels_array);</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; g_strfreev(text_array);</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; }</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; }</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; g_free(protocol);</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; g_free(name);</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; g_free(labels);</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; g_free(group);</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; g_free(server);</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; g_free(plugin);</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; g_free(date);</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; }</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; g_free(text);</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <span class="keywordflow">return</span> result;</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160;}</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160;</div><div class="line"><a name="l00618"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#aa20963aed43242994c88d5a97a546355"> 618</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#aa20963aed43242994c88d5a97a546355">remmina_main_select_file</a>(<span class="keyword">const</span> gchar *filename)</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160;{</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; GtkTreeIter iter;</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; GtkTreePath *path;</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; gchar *item_filename;</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; gboolean cmp;</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160;</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; <span class="keywordflow">if</span> (!gtk_tree_model_get_iter_first(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">file_model_sort</a>, &amp;iter))</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160;</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <span class="keywordflow">while</span> (TRUE) {</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; gtk_tree_model_get(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">file_model_sort</a>, &amp;iter, <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c5d264253ed2fc8f96ffcee508db93d">FILENAME_COLUMN</a>, &amp;item_filename, -1);</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; cmp = g_strcmp0(item_filename, filename);</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; g_free(item_filename);</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; <span class="keywordflow">if</span> (cmp == 0) {</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; gtk_tree_selection_select_iter(gtk_tree_view_get_selection(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>),</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; &amp;iter);</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; path = gtk_tree_model_get_path(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">file_model_sort</a>, &amp;iter);</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; gtk_tree_view_scroll_to_cell(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>, path, NULL, TRUE, 0.5, 0.0);</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; gtk_tree_path_free(path);</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; }</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="keywordflow">if</span> (!gtk_tree_model_iter_next(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">file_model_sort</a>, &amp;iter))</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; }</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160;}</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160;</div><div class="line"><a name="l00646"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7"> 646</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>()</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160;{</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; gint items_count;</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; gchar buf[200];</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; guint context_id;</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; gint view_file_mode;</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; gboolean always_show_notes;</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; <span class="keywordtype">char</span> *save_selected_filename;</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; GtkTreeModel *newmodel;</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; <span class="keyword">const</span> gchar *neticon;</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; <span class="keyword">const</span> gchar *connection_tooltip;</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160;</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; save_selected_filename = g_strdup(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; <a class="code" href="remmina__main_8c.html#ad8744dc59ba8072ffdf557b6c94e9f40">remmina_main_save_expanded_group</a>();</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160;</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; view_file_mode = <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ab43c3da7d8551c9df726996c540726f1">view_file_mode</a>;</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; <span class="keywordflow">if</span> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a0307278dd7770ab490f4687f2eb00e76">override_view_file_mode_to_list</a>)</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; view_file_mode = <a class="code" href="remmina__pref_8h.html#aac34dfe6c6b73b43a4656c9dce041034ae2bd62151481c5fa5823aa2d66fb67d7">REMMINA_VIEW_FILE_LIST</a>;</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160;</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; <span class="keywordflow">switch</span> (<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ab43c3da7d8551c9df726996c540726f1">view_file_mode</a>) {</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__pref_8h.html#aac34dfe6c6b73b43a4656c9dce041034a46530ebfd659963a54b7dae5702af1df">REMMINA_VIEW_FILE_TREE</a>:</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; gtk_toggle_button_set_active(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ae3c2c0b9855bb44b5b9a27a3178d32e7">view_toggle_button</a>, FALSE);</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__pref_8h.html#aac34dfe6c6b73b43a4656c9dce041034ae2bd62151481c5fa5823aa2d66fb67d7">REMMINA_VIEW_FILE_LIST</a>:</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; gtk_toggle_button_set_active(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ae3c2c0b9855bb44b5b9a27a3178d32e7">view_toggle_button</a>, TRUE);</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; }</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160;</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; <span class="keywordflow">switch</span> (view_file_mode) {</div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__pref_8h.html#aac34dfe6c6b73b43a4656c9dce041034a46530ebfd659963a54b7dae5702af1df">REMMINA_VIEW_FILE_TREE</a>:</div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; <span class="comment">/* Create new GtkTreeStore model */</span></div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; newmodel = GTK_TREE_MODEL(gtk_tree_store_new(9, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING));</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; <span class="comment">/* Hide the Group column in the tree view mode */</span></div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; gtk_tree_view_column_set_visible(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a56ac6ffe61c0d3663ebc6b26e65a8cbc">column_files_list_group</a>, FALSE);</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; <span class="comment">/* Load groups first */</span></div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; <a class="code" href="remmina__main_8c.html#aa46e6b815c241d32a476a29053dbf296">remmina_main_load_file_tree_group</a>(GTK_TREE_STORE(newmodel));</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; <span class="comment">/* Load files list */</span></div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; items_count = <a class="code" href="remmina__file__manager_8c.html#a55a717aafc046713380bd2c55f29165a">remmina_file_manager_iterate</a>((GFunc)<a class="code" href="remmina__main_8c.html#ae32574ebe06b1a24f135af9379e663b4">remmina_main_load_file_tree_callback</a>, (gpointer)newmodel);</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160;</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__pref_8h.html#aac34dfe6c6b73b43a4656c9dce041034ae2bd62151481c5fa5823aa2d66fb67d7">REMMINA_VIEW_FILE_LIST</a>:</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; <span class="comment">/* Create new GtkListStore model */</span></div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; newmodel = GTK_TREE_MODEL(gtk_list_store_new(9, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING));</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="comment">/* Show the Group column in the list view mode */</span></div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; gtk_tree_view_column_set_visible(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a56ac6ffe61c0d3663ebc6b26e65a8cbc">column_files_list_group</a>, TRUE);</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; <span class="comment">/* Load files list */</span></div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; items_count = <a class="code" href="remmina__file__manager_8c.html#a55a717aafc046713380bd2c55f29165a">remmina_file_manager_iterate</a>((GFunc)<a class="code" href="remmina__main_8c.html#a71f485dba1b11bf8cba129920767b5e6">remmina_main_load_file_list_callback</a>, (gpointer)newmodel);</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; }</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160;</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; <span class="comment">/* Set note column visibility*/</span></div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; always_show_notes = <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a320861799b86dc076d5f87e3a216eb95">always_show_notes</a>;</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; <span class="keywordflow">if</span> (!always_show_notes){</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; gtk_tree_view_column_set_visible(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ab743fa626843d8fbb669fbd01819aea9">column_files_list_notes</a>, FALSE);</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; }</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160;</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; <span class="comment">/* Unset old model */</span></div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; gtk_tree_view_set_model(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>, NULL);</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160;</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <span class="comment">/* Destroy the old model and save the new one */</span></div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#aec4c4540e9463a45b22a5c0b9108bc6f">file_model</a> = newmodel;</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160;</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="comment">/* Create a sorted filtered model based on newmodel and apply it to the TreeView */</span></div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#ae1e1d579bdb2517bd0f86408b9d5f97c">file_model_filter</a> = gtk_tree_model_filter_new(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#aec4c4540e9463a45b22a5c0b9108bc6f">file_model</a>, NULL);</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#ae1e1d579bdb2517bd0f86408b9d5f97c">file_model_filter</a>),</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; (GtkTreeModelFilterVisibleFunc)<a class="code" href="remmina__main_8c.html#ab0d22f0e3571eb80886acb0c68005800">remmina_main_filter_visible_func</a>, NULL, NULL);</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">file_model_sort</a> = gtk_tree_model_sort_new_with_model(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#ae1e1d579bdb2517bd0f86408b9d5f97c">file_model_filter</a>);</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">file_model_sort</a>),</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ac13f1310a2625b29defdf5b0ba8fd2d0">main_sort_column_id</a>,</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a4504684f0e67bb50157fd6862182e2c4">main_sort_order</a>);</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; gtk_tree_view_set_model(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>, remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">file_model_sort</a>);</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; g_signal_connect(G_OBJECT(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">file_model_sort</a>), <span class="stringliteral">&quot;sort-column-changed&quot;</span>,</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; G_CALLBACK(<a class="code" href="remmina__main_8c.html#a71fbe206a9c2abb8f348ee598d7751b7">remmina_main_file_model_on_sort</a>), NULL);</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; <a class="code" href="remmina__main_8c.html#a4a4733c243f20c3ffc27105003f5e30e">remmina_main_expand_group</a>();</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; <span class="comment">/* Select the file previously selected */</span></div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; <span class="keywordflow">if</span> (save_selected_filename) {</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <a class="code" href="remmina__main_8c.html#aa20963aed43242994c88d5a97a546355">remmina_main_select_file</a>(save_selected_filename);</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; g_free(save_selected_filename);</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; }</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; gtk_tree_view_column_set_widget(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a1ffeff8198ae0dc7c2461001118fcc5a">column_files_list_date</a>, NULL);</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160;</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; GtkWidget *label = gtk_tree_view_column_get_button(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a1ffeff8198ae0dc7c2461001118fcc5a">column_files_list_date</a>);</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160;</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; gtk_widget_set_tooltip_text(GTK_WIDGET(label),</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; _(<span class="stringliteral">&quot;The latest successful connection attempt, or a pre-computed date&quot;</span>));</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; <span class="comment">/* Show in the status bar the total number of connections found */</span></div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; g_snprintf(buf, <span class="keyword">sizeof</span>(buf), ngettext(<span class="stringliteral">&quot;Total %i item.&quot;</span>, <span class="stringliteral">&quot;Total %i items.&quot;</span>, items_count), items_count);</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; context_id = gtk_statusbar_get_context_id(remminamain-&gt;<a class="code" href="struct___remmina_main.html#acacd90f3e6df6a864154edba01464ae2">statusbar_main</a>, <span class="stringliteral">&quot;status&quot;</span>);</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; gtk_statusbar_pop(remminamain-&gt;<a class="code" href="struct___remmina_main.html#acacd90f3e6df6a864154edba01464ae2">statusbar_main</a>, context_id);</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; gtk_statusbar_push(remminamain-&gt;<a class="code" href="struct___remmina_main.html#acacd90f3e6df6a864154edba01464ae2">statusbar_main</a>, context_id, buf);</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160;</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; <a class="code" href="remmina__monitor_8c.html#acf79b91eb05694ec967d726bd0f85e50">remmina_network_monitor_status</a> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a0e6602776373cf6a198d249df6e87150">monitor</a>);</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; <span class="keywordflow">if</span> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a0e6602776373cf6a198d249df6e87150">monitor</a>-&gt;<a class="code" href="struct___remmina_monitor.html#adaa8ac5463302ab18a45171b5e4618f1">connected</a>){</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; neticon = g_strdup(<span class="stringliteral">&quot;network-transmit-receive-symbolic&quot;</span>);</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; connection_tooltip = g_strdup(_(<span class="stringliteral">&quot;Network status: fully online&quot;</span>));</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; neticon = g_strdup(<span class="stringliteral">&quot;network-offline-symbolic&quot;</span>);</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; connection_tooltip = g_strdup(_(<span class="stringliteral">&quot;Network status: offline&quot;</span>));</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; }</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160;</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <span class="keywordflow">if</span> (GTK_IS_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a0995d06fd3cad6098f0ecfaca9ed616f">network_icon</a>))</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; gtk_widget_destroy(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a0995d06fd3cad6098f0ecfaca9ed616f">network_icon</a>);</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; GIcon *icon = g_themed_icon_new (neticon);</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a0995d06fd3cad6098f0ecfaca9ed616f">network_icon</a> = gtk_image_new_from_gicon (icon, GTK_ICON_SIZE_BUTTON);</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; gtk_widget_set_tooltip_text (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a0995d06fd3cad6098f0ecfaca9ed616f">network_icon</a>, connection_tooltip);</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160;</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; g_object_unref (icon);</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160;</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; gtk_box_pack_start (GTK_BOX(remminamain-&gt;<a class="code" href="struct___remmina_main.html#acacd90f3e6df6a864154edba01464ae2">statusbar_main</a>), remminamain-&gt;<a class="code" href="struct___remmina_main.html#a0995d06fd3cad6098f0ecfaca9ed616f">network_icon</a>, FALSE, FALSE, 0);</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; gtk_widget_show (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a0995d06fd3cad6098f0ecfaca9ed616f">network_icon</a>);</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160;</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160;}</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160;</div><div class="line"><a name="l00762"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a627eb26ab02f0093365ed6b10dab0320"> 762</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a627eb26ab02f0093365ed6b10dab0320">remmina_main_load_files_cb</a>(GtkEntry *entry, <span class="keywordtype">char</span> *<span class="keywordtype">string</span>, gpointer user_data)</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160;{</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>();</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160;}</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160;</div><div class="line"><a name="l00768"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a6b30ed832369f3a7153aa63f98873c9d"> 768</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a6b30ed832369f3a7153aa63f98873c9d">remmina_main_on_action_connection_connect</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160;{</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160;</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile;</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160;</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; <span class="keywordflow">if</span> (!remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>)</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160;</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; remminafile = <a class="code" href="remmina__file_8c.html#ac1cc2d7f827f7d64c7fd3edf10e9383e">remmina_file_load</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160;</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; <span class="keywordflow">if</span> (remminafile == NULL)</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160;</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>)</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; &amp;&amp; <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;lock_connect&quot;</span>)</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; &amp;&amp; <a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>) == 0)</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a> (remminafile, <span class="stringliteral">&quot;profile-lock&quot;</span>, FALSE) == 1</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; &amp;&amp; <a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>) == 0)</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160;</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; <a class="code" href="remmina__file_8c.html#a3d19095f74e9b7c92d74f11bd5a39a8c">remmina_file_touch</a>(remminafile);</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; <a class="code" href="rcw_8c.html#aa37f2a9c56df0ce1a0dbc32f8989e4b5">rcw_open_from_filename</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160;</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; <a class="code" href="remmina__file_8c.html#abd2f06bf0a5ddcf7156e5ef7d0c8d4d7">remmina_file_free</a>(remminafile);</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160;}</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160;</div><div class="line"><a name="l00796"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#abcf8bd8ca57b389264ff9739a61efdc1"> 796</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#abcf8bd8ca57b389264ff9739a61efdc1">remmina_main_on_action_connection_external_tools</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160;{</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; <span class="keywordflow">if</span> (!remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>)</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160;</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; <a class="code" href="remmina__external__tools_8c.html#abe70273f7d1cbab092c6f6017695c56d">remmina_external_tools_from_filename</a>(remminamain, remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160;}</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160;</div><div class="line"><a name="l00805"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a6a466d0b07944e619bd9b0e473c8a5bd"> 805</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a6a466d0b07944e619bd9b0e473c8a5bd">remmina_main_file_editor_destroy</a>(GtkWidget *widget, gpointer user_data)</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160;{</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160;</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; <span class="keywordflow">if</span> (!remminamain)</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>();</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160;}</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160;</div><div class="line"><a name="l00814"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#abf51d42fa2c5ce84164b5514b4634229"> 814</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#abf51d42fa2c5ce84164b5514b4634229">remmina_main_on_action_application_mpchange</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160;{</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile;</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160;</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; <span class="keyword">const</span> gchar *username;</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; <span class="keyword">const</span> gchar *domain;</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; <span class="keyword">const</span> gchar *group;</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; <span class="keyword">const</span> gchar *gatewayusername;</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; <span class="keyword">const</span> gchar *gatewaydomain;</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160;</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; username = domain = group = gatewayusername = gatewaydomain = <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160;</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; remminafile = NULL;</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160;</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>)</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; &amp;&amp; <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;lock_edit&quot;</span>)</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; &amp;&amp; <a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>) == 0)</div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160;</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; <span class="keywordflow">if</span> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>) {</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; remminafile = <a class="code" href="remmina__file_8c.html#ac1cc2d7f827f7d64c7fd3edf10e9383e">remmina_file_load</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; <span class="keywordflow">if</span> (remminafile != NULL) {</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; username = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;username&quot;</span>);</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; domain = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;domain&quot;</span>);</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; group = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;group&quot;</span>);</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; gatewayusername = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;gateway_username&quot;</span>);</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; gatewaydomain = <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;gateway_domain&quot;</span>);</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; }</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; }</div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160;</div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; <a class="code" href="remmina__mpchange_8c.html#aa5a382490ca5e92bc4b124f66d83c4ff">remmina_mpchange_schedule</a>(TRUE, group, domain, username, <span class="stringliteral">&quot;&quot;</span>, gatewayusername, gatewaydomain, <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160;</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <span class="keywordflow">if</span> (remminafile != NULL)</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; <a class="code" href="remmina__file_8c.html#abd2f06bf0a5ddcf7156e5ef7d0c8d4d7">remmina_file_free</a>(remminafile);</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160;}</div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160;</div><div class="line"><a name="l00851"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a52cc21537ff003b9d0fbdb9040c811af"> 851</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a52cc21537ff003b9d0fbdb9040c811af">remmina_main_on_action_connection_new</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160;{</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> &amp;&amp; <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> == TRUE)</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160;</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>)</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; &amp;&amp; <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;lock_edit&quot;</span>)</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; &amp;&amp; <a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>) == 0)</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160;</div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#aa4e8657ca722e4cce3f3c42c0cfec51e">remmina_file_editor_new</a>();</div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;destroy&quot;</span>, G_CALLBACK(<a class="code" href="remmina__main_8c.html#a6a466d0b07944e619bd9b0e473c8a5bd">remmina_main_file_editor_destroy</a>), remminamain);</div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; gtk_window_set_transient_for(GTK_WINDOW(widget), remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>);</div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>();</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160;}</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160;</div><div class="line"><a name="l00870"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#af129aea3f5f3ec56b061187a81d43e4c"> 870</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__main_8c.html#af129aea3f5f3ec56b061187a81d43e4c">remmina_main_search_key_event</a>(GtkWidget *search_entry, GdkEventKey *event, gpointer user_data)</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160;{</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; <span class="keywordflow">if</span> (event-&gt;keyval == GDK_KEY_Escape) {</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; gtk_entry_set_text(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>, <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(RM_GET_OBJECT(<span class="stringliteral">&quot;search_toggle&quot;</span>)), FALSE);</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; }</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160;}</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160;</div><div class="line"><a name="l00881"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a4477897686d091d6f57e7f9401674a8c"> 881</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__main_8c.html#a4477897686d091d6f57e7f9401674a8c">remmina_main_tree_row_activated</a>(GtkTreeView *tree, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data)</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160;{</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; <span class="keywordflow">if</span> (gtk_tree_view_row_expanded(tree, path))</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; gtk_tree_view_collapse_row(tree, path);</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; gtk_tree_view_expand_row(tree, path, FALSE);</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160;}</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160;</div><div class="line"><a name="l00891"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#ac1a3a51f6d7f6a2411f9b38de860d766"> 891</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#ac1a3a51f6d7f6a2411f9b38de860d766">remmina_main_on_view_toggle</a>()</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160;{</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; <span class="keywordflow">if</span> (gtk_toggle_button_get_active(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ae3c2c0b9855bb44b5b9a27a3178d32e7">view_toggle_button</a>)) {</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ab43c3da7d8551c9df726996c540726f1">view_file_mode</a> != <a class="code" href="remmina__pref_8h.html#aac34dfe6c6b73b43a4656c9dce041034ae2bd62151481c5fa5823aa2d66fb67d7">REMMINA_VIEW_FILE_LIST</a>) {</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ab43c3da7d8551c9df726996c540726f1">view_file_mode</a> = <a class="code" href="remmina__pref_8h.html#aac34dfe6c6b73b43a4656c9dce041034ae2bd62151481c5fa5823aa2d66fb67d7">REMMINA_VIEW_FILE_LIST</a>;</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; gtk_entry_set_text(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>, <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; <a class="code" href="remmina__pref_8c.html#ae17aaf37449083a4322b6748c8f3a39f">remmina_pref_save</a>();</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>();</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; }</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ab43c3da7d8551c9df726996c540726f1">view_file_mode</a> != <a class="code" href="remmina__pref_8h.html#aac34dfe6c6b73b43a4656c9dce041034a46530ebfd659963a54b7dae5702af1df">REMMINA_VIEW_FILE_TREE</a>) {</div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ab43c3da7d8551c9df726996c540726f1">view_file_mode</a> = <a class="code" href="remmina__pref_8h.html#aac34dfe6c6b73b43a4656c9dce041034a46530ebfd659963a54b7dae5702af1df">REMMINA_VIEW_FILE_TREE</a>;</div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; gtk_entry_set_text(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>, <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; <a class="code" href="remmina__pref_8c.html#ae17aaf37449083a4322b6748c8f3a39f">remmina_pref_save</a>();</div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>();</div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; }</div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; }</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160;}</div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160;</div><div class="line"><a name="l00910"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a44eb44c6391f53a19c6f1fdf9a39a8c1"> 910</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a44eb44c6391f53a19c6f1fdf9a39a8c1">remmina_main_on_action_connection_copy</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160;{</div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160;</div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>)</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; &amp;&amp; <a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>) == 0)</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160;</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; <span class="keywordflow">if</span> (!remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>)</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160;</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile = <a class="code" href="remmina__file_8c.html#ac1cc2d7f827f7d64c7fd3edf10e9383e">remmina_file_load</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160;</div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; <span class="keywordflow">if</span> (((<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;lock_edit&quot;</span>)</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; &amp;&amp; <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>))</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; || <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a> (remminafile, <span class="stringliteral">&quot;profile-lock&quot;</span>, FALSE))</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; &amp;&amp; <a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>) == 0)</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160;</div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; <span class="keywordflow">if</span> (remminafile) {</div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; <a class="code" href="remmina__file_8c.html#abd2f06bf0a5ddcf7156e5ef7d0c8d4d7">remmina_file_free</a>(remminafile);</div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; remminafile = NULL;</div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; }</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160;</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#aa5c50852f8569f075eec5d5db30c2ebf">remmina_file_editor_new_copy</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; <span class="keywordflow">if</span> (widget) {</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; g_signal_connect(G_OBJECT(widget), <span class="stringliteral">&quot;destroy&quot;</span>, G_CALLBACK(<a class="code" href="remmina__main_8c.html#a6a466d0b07944e619bd9b0e473c8a5bd">remmina_main_file_editor_destroy</a>), remminamain);</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; gtk_window_set_transient_for(GTK_WINDOW(widget), remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>);</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; }</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; <span class="comment">/* Select the file previously selected */</span></div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; <span class="keywordflow">if</span> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>)</div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; <a class="code" href="remmina__main_8c.html#aa20963aed43242994c88d5a97a546355">remmina_main_select_file</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160;}</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160;</div><div class="line"><a name="l00946"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#adfbfc580d25b58d09770a7d33ffe03cc"> 946</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#adfbfc580d25b58d09770a7d33ffe03cc">remmina_main_on_action_connection_edit</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160;{</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160;</div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; <span class="keywordflow">if</span> (!remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>)</div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160;</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile = <a class="code" href="remmina__file_8c.html#ac1cc2d7f827f7d64c7fd3edf10e9383e">remmina_file_load</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160;</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>)</div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; &amp;&amp; (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;lock_edit&quot;</span>)</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; || <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a> (remminafile, <span class="stringliteral">&quot;profile-lock&quot;</span>, FALSE))</div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; &amp;&amp; <a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>) == 0)</div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160;</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; <span class="keywordflow">if</span> (remminafile) {</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; <a class="code" href="remmina__file_8c.html#abd2f06bf0a5ddcf7156e5ef7d0c8d4d7">remmina_file_free</a>(remminafile);</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; remminafile = NULL;</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; }</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160;</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; widget = <a class="code" href="remmina__file__editor_8c.html#aa9345cfe3fb32d326b652e96ee55eaea">remmina_file_editor_new_from_filename</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; <span class="keywordflow">if</span> (widget) {</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; gtk_window_set_transient_for(GTK_WINDOW(widget), remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>);</div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; }</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160;<span class="comment">/* Select the file previously selected */</span></div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; <span class="keywordflow">if</span> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>)</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; <a class="code" href="remmina__main_8c.html#aa20963aed43242994c88d5a97a546355">remmina_main_select_file</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160;}</div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160;</div><div class="line"><a name="l00977"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a10e574723222f5df9db456977e62a093"> 977</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a10e574723222f5df9db456977e62a093">remmina_main_on_action_connection_delete</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160;{</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160; GtkWidget *dialog;</div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160;</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160; <span class="keywordflow">if</span> (!remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>)</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160;</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile = <a class="code" href="remmina__file_8c.html#ac1cc2d7f827f7d64c7fd3edf10e9383e">remmina_file_load</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160;</div><div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160; <span class="keywordflow">if</span> (((<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;lock_edit&quot;</span>)</div><div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160; &amp;&amp; <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>))</div><div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160; || <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a> (remminafile, <span class="stringliteral">&quot;profile-lock&quot;</span>, FALSE))</div><div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160; &amp;&amp; <a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>) == 0)</div><div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00992"></a><span class="lineno"> 992</span>&#160;</div><div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160; <span class="keywordflow">if</span> (remminafile) {</div><div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160; <a class="code" href="remmina__file_8c.html#abd2f06bf0a5ddcf7156e5ef7d0c8d4d7">remmina_file_free</a>(remminafile);</div><div class="line"><a name="l00995"></a><span class="lineno"> 995</span>&#160; remminafile = NULL;</div><div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160; }</div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160;</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160; dialog = gtk_message_dialog_new(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO,</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160; _(<span class="stringliteral">&quot;Are you sure you want to delete “%s”?&quot;</span>), remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a606c7e6dc78219e8e5536519db723a4d">selected_name</a>);</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160; <span class="keywordflow">if</span> (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_YES) {</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160; gchar *delfilename = g_strdup(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160; <a class="code" href="remmina__file_8c.html#a55f66f2bb81bf427d6837e1adb7fe1d4">remmina_file_delete</a>(delfilename);</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160; g_free(delfilename), delfilename = NULL;</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160; <a class="code" href="remmina__icon_8c.html#af80ed314f91d653237249d839c7fc3b2">remmina_icon_populate_menu</a>();</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160; <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>();</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160; }</div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160; gtk_widget_destroy(dialog);</div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160; <a class="code" href="remmina__main_8c.html#a9e60326026d7de56882bc83c0084fd12">remmina_main_clear_selection_data</a>();</div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;}</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;</div><div class="line"><a name="l01011"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#af56bada711b2fc9c50af83b8b62dfe8b"> 1011</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#af56bada711b2fc9c50af83b8b62dfe8b">remmina_main_on_action_connection_delete_multiple</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;{</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160; GtkWidget *dialog;</div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160; GtkTreeSelection *sel = gtk_tree_view_get_selection(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>);</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160; GtkTreeModel *model = gtk_tree_view_get_model(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>);</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160; GList *list = gtk_tree_selection_get_selected_rows(sel, &amp;model);</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160; gchar *file_to_delete;</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;</div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160; dialog = gtk_message_dialog_new(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO,</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160; _(<span class="stringliteral">&quot;Are you sure you want to delete the selected files?&quot;</span>));</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;</div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160; <span class="comment">// Delete files if Yes is clicked</span></div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160; <span class="keywordflow">if</span> (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_YES) {</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160; <span class="keywordflow">while</span> (list) {</div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160; GtkTreePath *path = list-&gt;data;</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160; GtkTreeIter iter;</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160; </div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160; <span class="keywordflow">if</span> (!gtk_tree_model_get_iter(model, &amp;iter, path)) {</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160; GtkWidget *dialog_warning;</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160; dialog_warning = gtk_message_dialog_new(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_OK, </div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160; _(<span class="stringliteral">&quot;Failed to delete files!&quot;</span>));</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160; gtk_dialog_run(GTK_DIALOG(dialog_warning));</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160; gtk_widget_destroy(dialog_warning);</div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160; gtk_widget_destroy(dialog);</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160; <a class="code" href="remmina__main_8c.html#a9e60326026d7de56882bc83c0084fd12">remmina_main_clear_selection_data</a>();</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160; }</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160; gtk_tree_model_get(model, &amp;iter, </div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160; <a class="code" href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c5d264253ed2fc8f96ffcee508db93d">FILENAME_COLUMN</a>, &amp;file_to_delete, -1);</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile = <a class="code" href="remmina__file_8c.html#ac1cc2d7f827f7d64c7fd3edf10e9383e">remmina_file_load</a>(file_to_delete);</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160; <span class="keywordflow">if</span> (((<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;lock_edit&quot;</span>)</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160; &amp;&amp; <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>))</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160; || <a class="code" href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a> (remminafile, <span class="stringliteral">&quot;profile-lock&quot;</span>, FALSE))</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160; &amp;&amp; <a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>) == 0)</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160; <span class="keywordflow">if</span> (remminafile) {</div><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160; <a class="code" href="remmina__file_8c.html#abd2f06bf0a5ddcf7156e5ef7d0c8d4d7">remmina_file_free</a>(remminafile);</div><div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160; remminafile = NULL;</div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160; }</div><div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;</div><div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160; gchar *delfilename = g_strdup(file_to_delete);</div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160; <a class="code" href="remmina__file_8c.html#a55f66f2bb81bf427d6837e1adb7fe1d4">remmina_file_delete</a>(delfilename);</div><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160; g_free(delfilename), delfilename = NULL;</div><div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160; <a class="code" href="remmina__icon_8c.html#af80ed314f91d653237249d839c7fc3b2">remmina_icon_populate_menu</a>();</div><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160; <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>();</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160; list = g_list_next(list);</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160; }</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160; }</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160; </div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160; gtk_widget_destroy(dialog);</div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160; <a class="code" href="remmina__main_8c.html#a9e60326026d7de56882bc83c0084fd12">remmina_main_clear_selection_data</a>();</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;}</div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;</div><div class="line"><a name="l01069"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a1e8b7e8c0f7a47dc0409ae6eb18cfc6a"> 1069</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a1e8b7e8c0f7a47dc0409ae6eb18cfc6a">remmina_main_on_accel_application_preferences</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;{</div><div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160; GVariant *v = g_variant_new(<span class="stringliteral">&quot;i&quot;</span>, 0);</div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160; <a class="code" href="remmina__main_8c.html#a6ed9f6a588a2d9e3a6cf6884c8d07f92">remmina_main_on_action_application_preferences</a>(NULL, v, NULL);</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;}</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;</div><div class="line"><a name="l01077"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a1bdf3fe7a3de2371f80adcbdcf50381d"> 1077</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a1bdf3fe7a3de2371f80adcbdcf50381d">remmina_main_reload_preferences</a>()</div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;{</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160; GtkSettings *settings;</div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160; settings = gtk_settings_get_default();</div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160; g_object_set(settings, <span class="stringliteral">&quot;gtk-application-prefer-dark-theme&quot;</span>, <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a7c139ee405d50330b1d9bfb646c0258c">dark_theme</a>, NULL);</div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ae293a1fa591d3db78bd587c5af9c9101">hide_searchbar</a>){</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160; gtk_toggle_button_set_active(remminamain-&gt;<a class="code" href="struct___remmina_main.html#acd8f3437eee668a2b8d905a16a16be72">search_toggle</a>, FALSE);</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160; }</div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160; <span class="keywordflow">else</span>{</div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160; gtk_toggle_button_set_active(remminamain-&gt;<a class="code" href="struct___remmina_main.html#acd8f3437eee668a2b8d905a16a16be72">search_toggle</a>, TRUE);</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160; }</div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160; gtk_tree_view_column_set_visible(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ab743fa626843d8fbb669fbd01819aea9">column_files_list_notes</a>, <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a320861799b86dc076d5f87e3a216eb95">always_show_notes</a>);</div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160;}</div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160;</div><div class="line"><a name="l01091"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a6ed9f6a588a2d9e3a6cf6884c8d07f92"> 1091</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a6ed9f6a588a2d9e3a6cf6884c8d07f92">remmina_main_on_action_application_preferences</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160;{</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160;</div><div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160; REMMINA_DEBUG(<span class="stringliteral">&quot;Opening the preferences&quot;</span>);</div><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160; gint32 tab_num;</div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160;</div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160; <span class="keywordflow">if</span> (param) {</div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160; REMMINA_DEBUG(<span class="stringliteral">&quot;Parameter passed to preferences of type %s&quot;</span>, g_variant_get_type_string(param));</div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160; tab_num = g_variant_get_int32(param);</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160; REMMINA_DEBUG(<span class="stringliteral">&quot;We got a parameter for the preferences: %d&quot;</span>, tab_num);</div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160; tab_num = 0;</div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160; }</div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160;</div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>)</div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160; &amp;&amp; <a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>) == 0)</div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;</div><div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160; GtkWidget *widget = <a class="code" href="remmina__pref__dialog_8c.html#ab09f64d25a5a016281a56edca7e2d70a">remmina_pref_dialog_new</a>(tab_num, remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>);</div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;</div><div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160; gtk_widget_show_all(widget); </div><div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160;}</div><div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160;</div><div class="line"><a name="l01115"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a05dbb6ce820f3a137949b919d0efa6a1"> 1115</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a05dbb6ce820f3a137949b919d0efa6a1">remmina_main_on_action_application_default</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160;{</div><div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160;<span class="preprocessor">#ifndef __APPLE__</span></div><div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160; g_autoptr(GError) error = NULL;</div><div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160; GDesktopAppInfo *desktop_info;</div><div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160; GAppInfo *info = NULL;</div><div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160; g_autofree gchar *<span class="keywordtype">id</span> = g_strconcat(REMMINA_APP_ID, <span class="stringliteral">&quot;.desktop&quot;</span>, NULL);</div><div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160; <span class="keywordtype">int</span> i;</div><div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160;</div><div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160; desktop_info = g_desktop_app_info_new(<span class="keywordtype">id</span>);</div><div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160; <span class="keywordflow">if</span> (!desktop_info)</div><div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160;</div><div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160; info = G_APP_INFO(desktop_info);</div><div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;</div><div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160; <span class="keywordflow">for</span> (i = 0; <a class="code" href="remmina__main_8c.html#a8ebbcba2c07af0938b3c29e316747d12">supported_mime_types</a>[i]; i++) {</div><div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160; <span class="keywordflow">if</span> (!g_app_info_set_as_default_for_type(info, <a class="code" href="remmina__main_8c.html#a8ebbcba2c07af0938b3c29e316747d12">supported_mime_types</a>[i], &amp;error))</div><div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160; g_warning(<span class="stringliteral">&quot;Failed to set &#39;%s&#39; as the default application for secondary content type &#39;%s&#39;: %s&quot;</span>,</div><div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160; g_app_info_get_name(info), <a class="code" href="remmina__main_8c.html#a8ebbcba2c07af0938b3c29e316747d12">supported_mime_types</a>[i], error-&gt;message);</div><div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160; g_debug(<span class="stringliteral">&quot;Set &#39;%s&#39; as the default application for &#39;%s&#39;&quot;</span>,</div><div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160; g_app_info_get_name(info),</div><div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160; <a class="code" href="remmina__main_8c.html#a8ebbcba2c07af0938b3c29e316747d12">supported_mime_types</a>[i]);</div><div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160; }</div><div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;}</div><div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160;</div><div class="line"><a name="l01143"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a5445e5568a6fc04d08b620829a59334a"> 1143</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a5445e5568a6fc04d08b620829a59334a">remmina_main_on_action_application_quit</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;{</div><div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160; <span class="comment">// Called by quit signal in remmina_main.glade</span></div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160; g_debug(<span class="stringliteral">&quot;Quit intercept&quot;</span>);</div><div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160; <a class="code" href="remmina__exec_8c.html#aaa67e07e2426828d7e7b9b30d2038d31">remmina_application_condexit</a>(<a class="code" href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5a94dfcc0fcf38aa8060ff843e40799284">REMMINA_CONDEXIT_ONQUIT</a>);</div><div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160;}</div><div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160;</div><div class="line"><a name="l01151"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a3d60de4c121cae0c82e60b13873073db"> 1151</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a3d60de4c121cae0c82e60b13873073db">remmina_main_on_date_column_sort_clicked</a>()</div><div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160;{</div><div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ab43c3da7d8551c9df726996c540726f1">view_file_mode</a> != <a class="code" href="remmina__pref_8h.html#aac34dfe6c6b73b43a4656c9dce041034ae2bd62151481c5fa5823aa2d66fb67d7">REMMINA_VIEW_FILE_LIST</a>) {</div><div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ab43c3da7d8551c9df726996c540726f1">view_file_mode</a> = <a class="code" href="remmina__pref_8h.html#aac34dfe6c6b73b43a4656c9dce041034ae2bd62151481c5fa5823aa2d66fb67d7">REMMINA_VIEW_FILE_LIST</a>;</div><div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160; gtk_entry_set_text(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>, <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>&#160; <a class="code" href="remmina__pref_8c.html#ae17aaf37449083a4322b6748c8f3a39f">remmina_pref_save</a>();</div><div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>&#160; <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>();</div><div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160; }</div><div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160;}</div><div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>&#160;</div><div class="line"><a name="l01161"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#aac3fe305e456dfa7bb55aa2f057e8cb0"> 1161</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#aac3fe305e456dfa7bb55aa2f057e8cb0">remmina_main_toggle_password_view</a>(GtkWidget *widget, gpointer data)</div><div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160;{</div><div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160; GtkWindow *mainwindow;</div><div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160; gboolean visible = gtk_entry_get_visibility(GTK_ENTRY(widget));</div><div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160;</div><div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160; mainwindow = <a class="code" href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a>();</div><div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;use_primary_password&quot;</span>) &amp;&amp; <a class="code" href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a>(<span class="stringliteral">&quot;lock_view_passwords&quot;</span>) &amp;&amp; <a class="code" href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a>(mainwindow) == 0)</div><div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160;</div><div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160; <span class="keywordflow">if</span> (visible) {</div><div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160; gtk_entry_set_visibility(GTK_ENTRY(widget), FALSE);</div><div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160; gtk_entry_set_icon_from_icon_name(GTK_ENTRY(widget), GTK_ENTRY_ICON_SECONDARY, <span class="stringliteral">&quot;org.remmina.Remmina-password-reveal-symbolic&quot;</span>);</div><div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160; gtk_entry_set_visibility(GTK_ENTRY(widget), TRUE);</div><div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160; gtk_entry_set_icon_from_icon_name(GTK_ENTRY(widget), GTK_ENTRY_ICON_SECONDARY, <span class="stringliteral">&quot;org.remmina.Remmina-password-conceal-symbolic&quot;</span>);</div><div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160; }</div><div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160;}</div><div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160;</div><div class="line"><a name="l01179"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#ac767825cb87a34531306cfb587216d20"> 1179</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#ac767825cb87a34531306cfb587216d20">remmina_main_import_file_list</a>(GSList *files)</div><div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160;{</div><div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160; GtkWidget *dlg;</div><div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160; GSList *element;</div><div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160; gchar *path;</div><div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160; <a class="code" href="struct___remmina_file_plugin.html">RemminaFilePlugin</a> *plugin;</div><div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160; GString *err;</div><div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile = NULL;</div><div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160; gboolean imported;</div><div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160;</div><div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>&#160; err = g_string_new(NULL);</div><div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>&#160; imported = FALSE;</div><div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160; <span class="keywordflow">for</span> (element = files; element; element = element-&gt;next) {</div><div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>&#160; path = (gchar *)element-&gt;data;</div><div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160; plugin = <a class="code" href="remmina__plugin__manager_8c.html#a859348bddc9069f06195915692b65076">remmina_plugin_manager_get_import_file_handler</a>(path);</div><div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160; <span class="keywordflow">if</span> (plugin &amp;&amp; (remminafile = plugin-&gt;<a class="code" href="struct___remmina_file_plugin.html#a597178a88c755ebe0614897b7aa279b1">import_func</a>(plugin, path)) != NULL &amp;&amp; <a class="code" href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a>(remminafile, <span class="stringliteral">&quot;name&quot;</span>)) {</div><div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160; <a class="code" href="remmina__file_8c.html#ac952f8ddb715314f11cef1ccc513fb7e">remmina_file_generate_filename</a>(remminafile);</div><div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160; <a class="code" href="remmina__file_8c.html#a8c893a5deec9bc446bd89cc9973416c7">remmina_file_save</a>(remminafile);</div><div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160; imported = TRUE;</div><div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160; g_string_append(err, path);</div><div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160; g_string_append_c(err, <span class="charliteral">&#39;\n&#39;</span>);</div><div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160; }</div><div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160; <span class="keywordflow">if</span> (remminafile) {</div><div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160; <a class="code" href="remmina__file_8c.html#abd2f06bf0a5ddcf7156e5ef7d0c8d4d7">remmina_file_free</a>(remminafile);</div><div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160; remminafile = NULL;</div><div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160; }</div><div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>&#160; g_free(path);</div><div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>&#160; }</div><div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>&#160; g_slist_free(files);</div><div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>&#160; <span class="keywordflow">if</span> (err-&gt;len &gt; 0) {</div><div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>&#160; <span class="comment">// TRANSLATORS: The placeholder %s is an error message</span></div><div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>&#160; dlg = gtk_message_dialog_new(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,</div><div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>&#160; _(<span class="stringliteral">&quot;Unable to import:\n%s&quot;</span>), err-&gt;str);</div><div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>&#160; g_signal_connect(G_OBJECT(dlg), <span class="stringliteral">&quot;response&quot;</span>, G_CALLBACK(gtk_widget_destroy), NULL);</div><div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>&#160; gtk_widget_show(dlg);</div><div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>&#160; }</div><div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160; g_string_free(err, TRUE);</div><div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160; <span class="keywordflow">if</span> (imported)</div><div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160; <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>();</div><div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160;}</div><div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160;</div><div class="line"><a name="l01222"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a85aa313453e0ecaa17bcce233973998d"> 1222</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a85aa313453e0ecaa17bcce233973998d">remmina_main_action_tools_import_on_response</a>(GtkDialog *dialog, gint response_id, gpointer user_data)</div><div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160;{</div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160; GSList *files;</div><div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160;</div><div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160; <span class="keywordflow">if</span> (response_id == GTK_RESPONSE_ACCEPT) {</div><div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160; files = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(dialog));</div><div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160; <a class="code" href="remmina__main_8c.html#ac767825cb87a34531306cfb587216d20">remmina_main_import_file_list</a>(files);</div><div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160; }</div><div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160; gtk_widget_destroy(GTK_WIDGET(dialog));</div><div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160;}</div><div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160;</div><div class="line"><a name="l01234"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a4b4f0bbdb9e487d6c3809e8a57dc1d1c"> 1234</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a4b4f0bbdb9e487d6c3809e8a57dc1d1c">remmina_main_on_action_tools_import</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160;{</div><div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160; GtkWidget *dialog;</div><div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160;</div><div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160; dialog = gtk_file_chooser_dialog_new(_(<span class="stringliteral">&quot;Import&quot;</span>), remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, GTK_FILE_CHOOSER_ACTION_OPEN, <span class="stringliteral">&quot;Import&quot;</span>,</div><div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>&#160; GTK_RESPONSE_ACCEPT, NULL);</div><div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160; gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), TRUE);</div><div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160; g_signal_connect(G_OBJECT(dialog), <span class="stringliteral">&quot;response&quot;</span>, G_CALLBACK(<a class="code" href="remmina__main_8c.html#a85aa313453e0ecaa17bcce233973998d">remmina_main_action_tools_import_on_response</a>), NULL);</div><div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160; gtk_widget_show(dialog);</div><div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160;}</div><div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160;</div><div class="line"><a name="l01246"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#ab203476099a5ad6e889f91c8e05d577d"> 1246</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#ab203476099a5ad6e889f91c8e05d577d">remmina_main_on_action_tools_export</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160;{</div><div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160; <a class="code" href="struct___remmina_file_plugin.html">RemminaFilePlugin</a> *plugin;</div><div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile;</div><div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160; GtkWidget *dialog;</div><div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>&#160;</div><div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>&#160; <span class="keywordflow">if</span> (!remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>)</div><div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>&#160;</div><div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160; remminafile = <a class="code" href="remmina__file_8c.html#ac1cc2d7f827f7d64c7fd3edf10e9383e">remmina_file_load</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>);</div><div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160; <span class="keywordflow">if</span> (remminafile == NULL)</div><div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160; plugin = <a class="code" href="remmina__plugin__manager_8c.html#afce14b101da527ada9b44a4503e91e07">remmina_plugin_manager_get_export_file_handler</a>(remminafile);</div><div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160; <span class="keywordflow">if</span> (plugin) {</div><div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160; dialog = gtk_file_chooser_dialog_new(plugin-&gt;<a class="code" href="struct___remmina_file_plugin.html#ac4f2b0118490cede0577aaee9f2e0b5f">export_hints</a>, remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>,</div><div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160; GTK_FILE_CHOOSER_ACTION_SAVE, _(<span class="stringliteral">&quot;_Save&quot;</span>), GTK_RESPONSE_ACCEPT, NULL);</div><div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160; <span class="keywordflow">if</span> (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT)</div><div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160; plugin-&gt;<a class="code" href="struct___remmina_file_plugin.html#a8bf634ff09caba624ecf93c42e12af78">export_func</a>(plugin, remminafile, gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)));</div><div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160; gtk_widget_destroy(dialog);</div><div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160; dialog = gtk_message_dialog_new(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,</div><div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>&#160; _(<span class="stringliteral">&quot;This protocol does not support exporting.&quot;</span>));</div><div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160; g_signal_connect(G_OBJECT(dialog), <span class="stringliteral">&quot;response&quot;</span>, G_CALLBACK(gtk_widget_destroy), NULL);</div><div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160; gtk_widget_show(dialog);</div><div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160; }</div><div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160; <a class="code" href="remmina__file_8c.html#abd2f06bf0a5ddcf7156e5ef7d0c8d4d7">remmina_file_free</a>(remminafile);</div><div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160;}</div><div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160;</div><div class="line"><a name="l01275"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#adf59ad5b0a0ef68e58bbea3701929efc"> 1275</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#adf59ad5b0a0ef68e58bbea3701929efc">remmina_main_on_action_application_plugins</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160;{</div><div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160; <a class="code" href="remmina__plugin__manager_8c.html#aedec4e9cf18d99a559aa51065c2bc276">remmina_plugin_manager_show</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>);</div><div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>&#160;}</div><div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160;</div><div class="line"><a name="l01281"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a91f22c2834ac7f38d201d8d678f8c57b"> 1281</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a91f22c2834ac7f38d201d8d678f8c57b">remmina_main_on_action_application_dark_theme</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160;{</div><div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160; GtkSettings *settings;</div><div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160;</div><div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160; settings = gtk_settings_get_default();</div><div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160;</div><div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160; <span class="keywordflow">if</span> (gtk_switch_get_active(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a912f2057752ad0779485c3303e3e9b04">switch_dark_mode</a>))</div><div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a7c139ee405d50330b1d9bfb646c0258c">dark_theme</a> = 1;</div><div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a7c139ee405d50330b1d9bfb646c0258c">dark_theme</a> = 0;</div><div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160; <a class="code" href="remmina__pref_8c.html#ae17aaf37449083a4322b6748c8f3a39f">remmina_pref_save</a>();</div><div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160;</div><div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160; g_object_set(settings, <span class="stringliteral">&quot;gtk-application-prefer-dark-theme&quot;</span>, <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a7c139ee405d50330b1d9bfb646c0258c">dark_theme</a>, NULL);</div><div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160;}</div><div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160;</div><div class="line"><a name="l01297"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a7049d977154921f651cc1538f59c5b7a"> 1297</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a7049d977154921f651cc1538f59c5b7a">remmina_main_on_action_help_homepage</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>&#160;{</div><div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160; g_app_info_launch_default_for_uri(<span class="stringliteral">&quot;https://www.remmina.org&quot;</span>, NULL, NULL);</div><div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160;}</div><div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160;</div><div class="line"><a name="l01303"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a0c32fe66988056b353220128611b9116"> 1303</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a0c32fe66988056b353220128611b9116">remmina_main_on_action_help_wiki</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160;{</div><div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160; g_app_info_launch_default_for_uri(<span class="stringliteral">&quot;https://gitlab.com/Remmina/Remmina/wikis/home&quot;</span>, NULL, NULL);</div><div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160;}</div><div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160;</div><div class="line"><a name="l01309"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#aac3aa116a8d8b527f1aa61b7395b4b32"> 1309</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#aac3aa116a8d8b527f1aa61b7395b4b32">remmina_main_on_action_help_community</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160;{</div><div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160; g_app_info_launch_default_for_uri(<span class="stringliteral">&quot;https://remmina.org/community&quot;</span>, NULL, NULL);</div><div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160;}</div><div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>&#160;</div><div class="line"><a name="l01315"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a2704d643ee15702a84a1c76219dd5277"> 1315</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a2704d643ee15702a84a1c76219dd5277">remmina_main_on_action_help_donations</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160;{</div><div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160; g_app_info_launch_default_for_uri(<span class="stringliteral">&quot;https://www.remmina.org/donations&quot;</span>, NULL, NULL);</div><div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>&#160;}</div><div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160;</div><div class="line"><a name="l01321"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a5db4436cc72b9d5ea3e498f8519efecc"> 1321</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a5db4436cc72b9d5ea3e498f8519efecc">remmina_main_on_action_help_debug</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160;{</div><div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160; <a class="code" href="remmina__log_8c.html#a72cf53183f3ef89c4208fdccb629003d">remmina_log_start</a>();</div><div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160;}</div><div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160;</div><div class="line"><a name="l01327"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#aac0bb51159be042fecab0103e73a54dc"> 1327</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#aac0bb51159be042fecab0103e73a54dc">remmina_main_on_action_application_about</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160;{</div><div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160; <a class="code" href="remmina__about_8c.html#a3ad768979e0945a162018c6d596c90f4">remmina_about_open</a>(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>);</div><div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160;};</div><div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160;</div><div class="line"><a name="l01333"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a1f5f9a964a75214d500e7a9fca1bd8a6"> 1333</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__main_8c.html#a1f5f9a964a75214d500e7a9fca1bd8a6">is_empty</a>(<span class="keyword">const</span> gchar *s)</div><div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160;{</div><div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160; <span class="keywordflow">if</span> (s == NULL)</div><div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160; <span class="keywordflow">while</span> (*s != 0) {</div><div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160; <span class="keywordflow">if</span> (!isspace((<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>)*s))</div><div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160; s++;</div><div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160; }</div><div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160; <span class="keywordflow">return</span> TRUE;</div><div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160;}</div><div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160;</div><div class="line"><a name="l01345"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a802458852abacebfb16f1f4295806a01"> 1345</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__main_8c.html#a802458852abacebfb16f1f4295806a01">remmina_main_quickconnect</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>&#160;{</div><div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>&#160; <a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *remminafile;</div><div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>&#160; gchar *server;</div><div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>&#160; gchar *server_trimmed;</div><div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>&#160; gchar *qcp;</div><div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160;</div><div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>&#160;</div><div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>&#160; <span class="comment">/* Save quick connect protocol if different from the previous one */</span></div><div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160; qcp = gtk_combo_box_text_get_active_text(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a35f10af8065b3b64ba6f26db60061d39">combo_quick_connect_protocol</a>);</div><div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160; <span class="keywordflow">if</span> (qcp &amp;&amp; strcmp(qcp, <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ac31f888a39eec7ef6de922c7b53d044e">last_quickconnect_protocol</a>) != 0) {</div><div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160; g_free(<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ac31f888a39eec7ef6de922c7b53d044e">last_quickconnect_protocol</a>);</div><div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160; <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ac31f888a39eec7ef6de922c7b53d044e">last_quickconnect_protocol</a> = g_strdup(qcp);</div><div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>&#160; <a class="code" href="remmina__pref_8c.html#ae17aaf37449083a4322b6748c8f3a39f">remmina_pref_save</a>();</div><div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>&#160; }</div><div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160;</div><div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160; remminafile = <a class="code" href="remmina__file_8c.html#a5e421ba636d34e21bba5ece463e98892">remmina_file_new</a>();</div><div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160; server = g_strdup(gtk_entry_get_text(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>));</div><div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160; <span class="keywordflow">if</span> (g_hostname_to_ascii(server) == NULL)</div><div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160; <span class="comment">/* If server contain /, e.g. vnc://, it won&#39;t connect</span></div><div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160;<span class="comment"> * We could search for an array of invalid characters, but</span></div><div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160;<span class="comment"> * it&#39;s better to find a way to correctly parse and validate addresses</span></div><div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>&#160; <span class="keywordflow">if</span> (g_strrstr(server, <span class="stringliteral">&quot;/&quot;</span>) != NULL)</div><div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>&#160; <span class="comment">//if (g_str_has_suffix (server, &quot;/&quot;))</span></div><div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>&#160; <span class="comment">//return FALSE;</span></div><div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__main_8c.html#a1f5f9a964a75214d500e7a9fca1bd8a6">is_empty</a>(server))</div><div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>&#160;</div><div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>&#160; <span class="comment">/* check if server is an IP address and trim whitespace if so */</span></div><div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>&#160; server_trimmed = g_strdup(server);</div><div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>&#160; g_strstrip(server_trimmed);</div><div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>&#160; gchar **strings = g_strsplit(server_trimmed, <span class="stringliteral">&quot;:&quot;</span>, 2);</div><div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>&#160;</div><div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160; <span class="keywordflow">if</span> (strings[0] != NULL)</div><div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>&#160; <span class="keywordflow">if</span> (g_hostname_is_ip_address(strings[0]))</div><div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>&#160; g_stpcpy(server, server_trimmed);</div><div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>&#160;</div><div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;sound&quot;</span>, <span class="stringliteral">&quot;off&quot;</span>);</div><div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;server&quot;</span>, server);</div><div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;name&quot;</span>, server);</div><div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160; <a class="code" href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a>(remminafile, <span class="stringliteral">&quot;protocol&quot;</span>, qcp);</div><div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160; g_free(server);</div><div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160; g_free(server_trimmed);</div><div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160; g_free(qcp);</div><div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>&#160;</div><div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>&#160; <a class="code" href="rcw_8c.html#a1b7a771392e15e527005305e71cc2546">rcw_open_from_file</a>(remminafile);</div><div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>&#160;</div><div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160;}</div><div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160;</div><div class="line"><a name="l01399"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a210e9e04c7c97cc86412044de31f659d"> 1399</a></span>&#160;gboolean <a class="code" href="remmina__main_8c.html#a210e9e04c7c97cc86412044de31f659d">remmina_main_quickconnect_on_click</a>(GtkWidget *widget, gpointer user_data)</div><div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>&#160;{</div><div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> &amp;&amp; <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> == FALSE)</div><div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160; <span class="keywordflow">return</span> <a class="code" href="remmina__main_8c.html#a802458852abacebfb16f1f4295806a01">remmina_main_quickconnect</a>();</div><div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>&#160;}</div><div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>&#160;</div><div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160;<span class="comment">/* Select all the text inside the quick search box if there is anything */</span></div><div class="line"><a name="l01408"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a6c69b2fa6a56869c54f58d7ebae89427"> 1408</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a6c69b2fa6a56869c54f58d7ebae89427">remmina_main_quick_search_enter</a>(GtkWidget *widget, gpointer user_data)</div><div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>&#160;{</div><div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>&#160; <span class="keywordflow">if</span> (gtk_entry_get_text(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>))</div><div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>&#160; gtk_editable_select_region(GTK_EDITABLE(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>), 0, -1);</div><div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160;}</div><div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160;</div><div class="line"><a name="l01414"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a0edcc1d7dc3adcbb7bb36aa0f62dec3a"> 1414</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a0edcc1d7dc3adcbb7bb36aa0f62dec3a">remmina_main_on_action_collapse</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160;{</div><div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160; gtk_tree_view_collapse_all(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>);</div><div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160;}</div><div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160;</div><div class="line"><a name="l01420"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a9896df7a92402b5a61e58420235c515a"> 1420</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a9896df7a92402b5a61e58420235c515a">remmina_main_on_action_search_toggle</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160;{</div><div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160; REMMINA_DEBUG(<span class="stringliteral">&quot;Search toggle triggered&quot;</span>);</div><div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160;</div><div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>&#160; gboolean toggle_status = gtk_toggle_button_get_active(remminamain-&gt;<a class="code" href="struct___remmina_main.html#acd8f3437eee668a2b8d905a16a16be72">search_toggle</a>);</div><div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160;</div><div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160; gtk_search_bar_set_search_mode(remminamain-&gt;<a class="code" href="struct___remmina_main.html#aecb54d7c3dd1e86a16e24ea2e00d4ddd">search_bar</a>, toggle_status);</div><div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160; <span class="keywordflow">if</span> (toggle_status) {</div><div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>&#160; REMMINA_DEBUG(<span class="stringliteral">&quot;Search toggle is active&quot;</span>);</div><div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>&#160; gtk_widget_grab_focus(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>));</div><div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>&#160; REMMINA_DEBUG(<span class="stringliteral">&quot;Search toggle is not active, focus is tree_files_list&quot;</span>);</div><div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160; gtk_widget_grab_focus(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>));</div><div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160; }</div><div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160;}</div><div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160;</div><div class="line"><a name="l01437"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#aea426b2e8fc03f963bb2b98cb8649adf"> 1437</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#aea426b2e8fc03f963bb2b98cb8649adf">remmina_main_on_accel_search_toggle</a>(<a class="code" href="struct___remmina_main.html">RemminaMain</a> *remminamain)</div><div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160;{</div><div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>&#160; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(remminamain-&gt;<a class="code" href="struct___remmina_main.html#acd8f3437eee668a2b8d905a16a16be72">search_toggle</a>), TRUE);</div><div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160;}</div><div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>&#160;</div><div class="line"><a name="l01443"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#ab98d51c96a87fddaa2d5d6d4614bafa8"> 1443</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#ab98d51c96a87fddaa2d5d6d4614bafa8">remmina_main_on_action_expand</a>(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>&#160;{</div><div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>&#160; gtk_tree_view_expand_all(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>);</div><div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>&#160;}</div><div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>&#160;</div><div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>&#160;<span class="comment">/* Handle double click on a row in the connections list */</span></div><div class="line"><a name="l01450"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#aba1a89a2400c5cc8373c6bd34602ac10"> 1450</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#aba1a89a2400c5cc8373c6bd34602ac10">remmina_main_file_list_on_row_activated</a>(GtkTreeView *tree, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data)</div><div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>&#160;{</div><div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>&#160;<span class="comment">/* If a connection was selected then execute the default action */</span></div><div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160; <span class="keywordflow">if</span> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>) {</div><div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>&#160; <span class="keywordflow">switch</span> (<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a054a55a2c39181609150cbb4d22413ef">default_action</a>) {</div><div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__pref_8h.html#a0ed680fdb405e7195d9f14032851eebba84fe14d6d19ab0479931a6886178f2e3">REMMINA_ACTION_EDIT</a>:</div><div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>&#160; <a class="code" href="remmina__main_8c.html#adfbfc580d25b58d09770a7d33ffe03cc">remmina_main_on_action_connection_edit</a>(NULL, NULL, NULL);</div><div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160; <span class="keywordflow">case</span> <a class="code" href="remmina__pref_8h.html#a0ed680fdb405e7195d9f14032851eebbad14d19fdcc60e744406c5f80c1bb840a">REMMINA_ACTION_CONNECT</a>:</div><div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>&#160; <a class="code" href="remmina__main_8c.html#a6b30ed832369f3a7153aa63f98873c9d">remmina_main_on_action_connection_connect</a>(NULL, NULL, NULL);</div><div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>&#160; }</div><div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>&#160; }</div><div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>&#160;}</div><div class="line"><a name="l01466"></a><span class="lineno"> 1466</span>&#160;</div><div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>&#160;<span class="comment">/* Show the popup menu by the right button mouse click */</span></div><div class="line"><a name="l01468"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#ace72fa8f7198020464623e7117a351a9"> 1468</a></span>&#160;gboolean <a class="code" href="remmina__main_8c.html#ace72fa8f7198020464623e7117a351a9">remmina_main_file_list_on_button_press</a>(GtkWidget *widget, GdkEventButton *event, gpointer user_data)</div><div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>&#160;{</div><div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>&#160; <span class="keywordflow">if</span> (event-&gt;button == MOUSE_BUTTON_RIGHT) {</div><div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> &amp;&amp; <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> == FALSE) {</div><div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>&#160;<span class="preprocessor">#if GTK_CHECK_VERSION(3, 22, 0)</span></div><div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>&#160; <span class="comment">// For now, if more than one selected row, display only a delete menu option</span></div><div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>&#160; <span class="keywordflow">if</span> (gtk_tree_selection_count_selected_rows(gtk_tree_view_get_selection(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>)) &gt; 1) {</div><div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>&#160; gtk_menu_popup_at_pointer(GTK_MENU(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a98a1ddd6aebc35c131f8de819a3d861f">menu_popup_delete_rc</a>), (GdkEvent *)event);</div><div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>&#160; <span class="keywordflow">return</span> GDK_EVENT_STOP;</div><div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>&#160; }</div><div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>&#160; <span class="keywordflow">else</span> {</div><div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>&#160; gtk_menu_popup_at_pointer(GTK_MENU(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a2d6960ab62869638a77d2fe5bd72c7f6">menu_popup</a>), (GdkEvent *)event);</div><div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>&#160; }</div><div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>&#160; gtk_menu_popup(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a2d6960ab62869638a77d2fe5bd72c7f6">menu_popup</a>, NULL, NULL, NULL, NULL, event-&gt;button, event-&gt;time);</div><div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>&#160; }</div><div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>&#160; }</div><div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>&#160;}</div><div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>&#160;</div><div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>&#160;<span class="comment">/* Show the popup menu by the menu key */</span></div><div class="line"><a name="l01491"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a31102f8ca7440a22c1514bca17933193"> 1491</a></span>&#160;gboolean <a class="code" href="remmina__main_8c.html#a31102f8ca7440a22c1514bca17933193">remmina_main_file_list_on_key_press</a>(GtkWidget *widget, GdkEventKey *event, gpointer user_data)</div><div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>&#160;{</div><div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>&#160; <span class="keywordflow">if</span> (event-&gt;keyval == GDK_KEY_Menu) {</div><div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>&#160;<span class="preprocessor">#if GTK_CHECK_VERSION(3, 22, 0)</span></div><div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>&#160; gtk_menu_popup_at_widget(GTK_MENU(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a2d6960ab62869638a77d2fe5bd72c7f6">menu_popup</a>), widget,</div><div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>&#160; GDK_GRAVITY_CENTER, GDK_GRAVITY_CENTER,</div><div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>&#160; (GdkEvent *)event);</div><div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>&#160; gtk_menu_popup(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a2d6960ab62869638a77d2fe5bd72c7f6">menu_popup</a>, NULL, NULL, NULL, NULL, 0, event-&gt;time);</div><div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>&#160; }</div><div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>&#160;}</div><div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>&#160;</div><div class="line"><a name="l01506"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#af51fc7233eb2397a5074ba37b5c5275f"> 1506</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#af51fc7233eb2397a5074ba37b5c5275f">remmina_main_quick_search_on_icon_press</a>(GtkEntry *entry, GtkEntryIconPosition icon_pos, GdkEvent *event, gpointer user_data)</div><div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>&#160;{</div><div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>&#160; <span class="keywordflow">if</span> (icon_pos == GTK_ENTRY_ICON_SECONDARY)</div><div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>&#160; gtk_entry_set_text(entry, <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160;}</div><div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160;</div><div class="line"><a name="l01513"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a1cac4199e40e35bf3fcdb98841615657"> 1513</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a1cac4199e40e35bf3fcdb98841615657">remmina_main_quick_search_on_changed</a>(GtkEditable *editable, gpointer user_data)</div><div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>&#160;{</div><div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>&#160; <span class="comment">/* If a search text was input then temporary set the file mode to list */</span></div><div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160; <span class="keywordflow">if</span> (gtk_entry_get_text_length(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>)) {</div><div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>&#160; <span class="keywordflow">if</span> (GTK_IS_TREE_STORE(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#aec4c4540e9463a45b22a5c0b9108bc6f">file_model</a>)) {</div><div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>&#160; <span class="comment">/* File view mode changed, put it to override and reload list */</span></div><div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a0307278dd7770ab490f4687f2eb00e76">override_view_file_mode_to_list</a> = TRUE;</div><div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>&#160; <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>();</div><div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>&#160; }</div><div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>&#160; <span class="keywordflow">if</span> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a0307278dd7770ab490f4687f2eb00e76">override_view_file_mode_to_list</a>) {</div><div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>&#160; <span class="comment">/* File view mode changed, put it to default (disable override) and reload list */</span></div><div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a0307278dd7770ab490f4687f2eb00e76">override_view_file_mode_to_list</a> = FALSE;</div><div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>&#160; <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>();</div><div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>&#160; }</div><div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>&#160; }</div><div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>&#160; gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#ae1e1d579bdb2517bd0f86408b9d5f97c">file_model_filter</a>));</div><div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>&#160;}</div><div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>&#160;</div><div class="line"><a name="l01533"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#adf073486149762f547504020484bff70"> 1533</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#adf073486149762f547504020484bff70">remmina_main_on_drag_data_received</a>(GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y,</div><div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>&#160; GtkSelectionData *data, guint info, guint time, gpointer user_data)</div><div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>&#160;{</div><div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>&#160; gchar **uris;</div><div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>&#160; GSList *files = NULL;</div><div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>&#160; gint i;</div><div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>&#160;</div><div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>&#160; uris = g_uri_list_extract_uris((<span class="keyword">const</span> gchar *)gtk_selection_data_get_data(data));</div><div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>&#160; <span class="keywordflow">for</span> (i = 0; uris[i]; i++) {</div><div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>&#160; <span class="keywordflow">if</span> (strncmp(uris[i], <span class="stringliteral">&quot;file://&quot;</span>, 7) != 0)</div><div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>&#160; files = g_slist_append(files, g_strdup(uris[i] + 7));</div><div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>&#160; }</div><div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>&#160; g_strfreev(uris);</div><div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>&#160; <a class="code" href="remmina__main_8c.html#ac767825cb87a34531306cfb587216d20">remmina_main_import_file_list</a>(files);</div><div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>&#160;}</div><div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>&#160;</div><div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>&#160;<span class="comment">/* Add a new menuitem to the Tools menu */</span></div><div class="line"><a name="l01552"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a7be10e330f0c2a3f74e119cde443786f"> 1552</a></span>&#160;<span class="keyword">static</span> gboolean <a class="code" href="remmina__main_8c.html#a7be10e330f0c2a3f74e119cde443786f">remmina_main_add_tool_plugin</a>(gchar *name, <a class="code" href="struct___remmina_plugin.html">RemminaPlugin</a> *plugin, gpointer user_data)</div><div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>&#160;{</div><div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>&#160; <a class="code" href="struct___remmina_tool_plugin.html">RemminaToolPlugin</a> *tool_plugin = (<a class="code" href="struct___remmina_tool_plugin.html">RemminaToolPlugin</a> *)plugin;</div><div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>&#160; GtkWidget *menuitem = gtk_menu_item_new_with_label(plugin-&gt;<a class="code" href="struct___remmina_plugin.html#a4ac66b7ebefb9bd8167737eb1af83cde">description</a>);</div><div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>&#160;</div><div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>&#160; gtk_widget_show(menuitem);</div><div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>&#160; gtk_menu_shell_append(GTK_MENU_SHELL(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a1575015519fedca001bb26e129331b62">menu_popup_full</a>), menuitem);</div><div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>&#160; g_signal_connect(G_OBJECT(menuitem), <span class="stringliteral">&quot;activate&quot;</span>, G_CALLBACK(tool_plugin-&gt;<a class="code" href="struct___remmina_tool_plugin.html#ad83c522c030d51d5f0313b1f77f04d74">exec_func</a>), tool_plugin);</div><div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>&#160;}</div><div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>&#160;</div><div class="line"><a name="l01564"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#a861de52d1b5ec54591d0592de6289d79"> 1564</a></span>&#160;gboolean <a class="code" href="remmina__main_8c.html#a861de52d1b5ec54591d0592de6289d79">remmina_main_on_window_state_event</a>(GtkWidget *widget, GdkEventWindowState *event, gpointer user_data)</div><div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>&#160;{</div><div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>&#160;}</div><div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>&#160;</div><div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>&#160;<span class="comment">/* Remmina main window initialization */</span></div><div class="line"><a name="l01571"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#afefc1b651e1c546e949dbe6df72b0300"> 1571</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#afefc1b651e1c546e949dbe6df72b0300">remmina_main_init</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>&#160;{</div><div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>&#160; <span class="keywordtype">int</span> i, qcp_idx, qcp_actidx;</div><div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>&#160; <span class="keywordtype">char</span> *name;</div><div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>&#160; GtkSettings *settings;</div><div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>&#160;</div><div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>&#160; REMMINA_DEBUG(<span class="stringliteral">&quot;Initializing the Remmina main window&quot;</span>);</div><div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>&#160; <span class="comment">/* Switch to a dark theme if the user enabled it */</span></div><div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>&#160; settings = gtk_settings_get_default();</div><div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>&#160; g_object_set(settings, <span class="stringliteral">&quot;gtk-application-prefer-dark-theme&quot;</span>, <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a7c139ee405d50330b1d9bfb646c0258c">dark_theme</a>, NULL);</div><div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160;</div><div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>&#160; REMMINA_DEBUG (<span class="stringliteral">&quot;Initializing monitor&quot;</span>);</div><div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a0e6602776373cf6a198d249df6e87150">monitor</a> = <a class="code" href="remmina__monitor_8c.html#ac37c2579934e206d669c1af9b51f8ef1">remmina_network_monitor_new</a>();</div><div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>&#160;</div><div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a467cf8ebc87ccdb68b9f88bce95c9f3a">expanded_group</a> = <a class="code" href="remmina__string__array_8c.html#a7f1c8e427a25c2d5cede3952b1d0ad90">remmina_string_array_new_from_string</a>(<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#aa8d4c923cb9ca1be451436d1790e8ee5">expanded_group</a>);</div><div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> &amp;&amp; <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> == FALSE)</div><div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>&#160; gtk_window_set_title(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, _(<span class="stringliteral">&quot;Remmina Remote Desktop Client&quot;</span>));</div><div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>&#160; gtk_window_set_title(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, _(<span class="stringliteral">&quot;Remmina Kiosk&quot;</span>));</div><div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> &amp;&amp; <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> == FALSE) {</div><div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>&#160; gtk_window_set_default_size(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a6318ff8e2f73d36fb8b35cbed503c222">main_width</a>, <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#aeb86dc8005c98ce2eab57bd900467875">main_height</a>);</div><div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#a8edfd2a9a9a06b1fd876fbe8742b9ff6">main_maximize</a>)</div><div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160; gtk_window_maximize(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>);</div><div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>&#160; }</div><div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>&#160; <span class="comment">/* Honor global preferences Search Bar visibility */</span></div><div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ae293a1fa591d3db78bd587c5af9c9101">hide_searchbar</a>)</div><div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(RM_GET_OBJECT(<span class="stringliteral">&quot;search_toggle&quot;</span>)), FALSE);</div><div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>&#160;</div><div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>&#160; <span class="comment">/* Add a GtkMenuItem to the Tools menu for each plugin of type REMMINA_PLUGIN_TYPE_TOOL */</span></div><div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>&#160; <a class="code" href="remmina__plugin__manager_8c.html#a13f13a6a4280268656f258cb5aeff031">remmina_plugin_manager_for_each_plugin</a>(<a class="code" href="plugin_8h.html#aaf53c620d115a4642130227cff4a624aadd037352a609e2dc890595f9d95bd1ac">REMMINA_PLUGIN_TYPE_TOOL</a>, <a class="code" href="remmina__main_8c.html#a7be10e330f0c2a3f74e119cde443786f">remmina_main_add_tool_plugin</a>, remminamain);</div><div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>&#160;</div><div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>&#160; <span class="comment">/* Add available quick connect protocols to remminamain-&gt;combo_quick_connect_protocol */</span></div><div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>&#160; qcp_idx = qcp_actidx = 0;</div><div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>&#160; <span class="keywordflow">for</span> (i = 0; i &lt; <span class="keyword">sizeof</span>(<a class="code" href="remmina__main_8c.html#aace9ecdd0b74d392ad6ed541bd605c1c">quick_connect_plugin_list</a>) / <span class="keyword">sizeof</span>(<a class="code" href="remmina__main_8c.html#aace9ecdd0b74d392ad6ed541bd605c1c">quick_connect_plugin_list</a>[0]); i++) {</div><div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160; name = <a class="code" href="remmina__main_8c.html#aace9ecdd0b74d392ad6ed541bd605c1c">quick_connect_plugin_list</a>[i];</div><div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina__plugin__manager_8c.html#a3872c8656a8a3d5147bcc603471c1932">remmina_plugin_manager_get_plugin</a>(<a class="code" href="plugin_8h.html#aaf53c620d115a4642130227cff4a624aa45e094c248384c12cdafd9d088e4aa24">REMMINA_PLUGIN_TYPE_PROTOCOL</a>, name)) {</div><div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160; gtk_combo_box_text_append(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a35f10af8065b3b64ba6f26db60061d39">combo_quick_connect_protocol</a>, name, name);</div><div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ac31f888a39eec7ef6de922c7b53d044e">last_quickconnect_protocol</a> != NULL &amp;&amp; strcmp(name, <a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ac31f888a39eec7ef6de922c7b53d044e">last_quickconnect_protocol</a>) == 0)</div><div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>&#160; qcp_actidx = qcp_idx;</div><div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>&#160; qcp_idx++;</div><div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>&#160; }</div><div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>&#160; }</div><div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>&#160; gtk_combo_box_set_active(GTK_COMBO_BOX(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a35f10af8065b3b64ba6f26db60061d39">combo_quick_connect_protocol</a>), qcp_actidx);</div><div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>&#160;</div><div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>&#160; <span class="comment">/* Connect the group accelerators to the GtkWindow */</span></div><div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>&#160; <span class="comment">//gtk_window_add_accel_group(remminamain-&gt;window, remminamain-&gt;accelgroup_shortcuts);</span></div><div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>&#160; <span class="comment">/* Set the Quick Connection */</span></div><div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>&#160; gtk_entry_set_activates_default(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>, TRUE);</div><div class="line"><a name="l01620"></a><span class="lineno"> 1620</span>&#160; <span class="comment">/* Set the TreeView for the files list */</span></div><div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>&#160; gtk_tree_selection_set_select_function(</div><div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>&#160; gtk_tree_view_get_selection(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>),</div><div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>&#160; <a class="code" href="remmina__main_8c.html#a3c5043279b5d98d4d08635d33402ea66">remmina_main_selection_func</a>, NULL, NULL);</div><div class="line"><a name="l01625"></a><span class="lineno"> 1625</span>&#160; gtk_tree_view_set_search_entry(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>, GTK_ENTRY(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>));</div><div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a>.<a class="code" href="struct___remmina_pref.html#ae293a1fa591d3db78bd587c5af9c9101">hide_searchbar</a>)</div><div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>&#160; gtk_widget_grab_focus(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>));</div><div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>&#160; <span class="comment">/* Load the files list */</span></div><div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>&#160; <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>();</div><div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>&#160;</div><div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>&#160; <span class="comment">/* Drag-n-drop support */</span></div><div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>&#160; gtk_drag_dest_set(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>), GTK_DEST_DEFAULT_ALL, <a class="code" href="remmina__main_8c.html#a8ccd8303ada6e26880504fc58812fbda">remmina_drop_types</a>, 1, GDK_ACTION_COPY);</div><div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>&#160;</div><div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>&#160; <span class="comment">/* Finish initialization */</span></div><div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a7a4eb201dd185ba606af5c486ef55e7f">initialized</a> = TRUE;</div><div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160;</div><div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160; <span class="comment">/* Register the window in remmina_widget_pool with GType=GTK_WINDOW and TAG=remmina-main-window */</span></div><div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>&#160; g_object_set_data(G_OBJECT(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>), <span class="stringliteral">&quot;tag&quot;</span>, <span class="stringliteral">&quot;remmina-main-window&quot;</span>);</div><div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>&#160; <a class="code" href="remmina__widget__pool_8c.html#ae3c9c9853eb5bedbfeadbfac1d495b95">remmina_widget_pool_register</a>(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>));</div><div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>&#160;}</div><div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>&#160;</div><div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>&#160;<span class="comment">/* Signal handler for &quot;show&quot; on remminamain-&gt;window */</span></div><div class="line"><a name="l01643"></a><span class="lineno"><a class="line" href="remmina__main_8c.html#aa4d9b76d32fa500f4b9f39a19e4eaaf2"> 1643</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#aa4d9b76d32fa500f4b9f39a19e4eaaf2">remmina_main_on_show</a>(GtkWidget *w, gpointer user_data)</div><div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>&#160;{</div><div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>&#160;<span class="preprocessor">#ifdef SNAP_BUILD</span></div><div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>&#160; <a class="code" href="remmina__main_8c.html#ab08aae433b625c3a84330630fe2bd2d5">remmina_main_show_snap_welcome</a>();</div><div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>&#160;}</div><div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>&#160;</div><div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>&#160;<span class="comment">/* RemminaMain instance */</span></div><div class="line"><a name="l01652"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a0c322c3136c4225d5f8d4cee318afce7"> 1652</a></span>&#160;GtkWidget *<a class="code" href="remmina__main_8c.html#af14b1942a754d7b2f5c10266208ebe01">remmina_main_new</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>&#160;{</div><div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>&#160; GSimpleActionGroup *actions;</div><div class="line"><a name="l01656"></a><span class="lineno"> 1656</span>&#160; GtkAccelGroup *accel_group = NULL;</div><div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>&#160;</div><div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>&#160; remminamain = g_new0(<a class="code" href="struct___remmina_main.html">RemminaMain</a>, 1);</div><div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a> = g_new0(<a class="code" href="struct___remmina_main_priv.html">RemminaMainPriv</a>, 1);</div><div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>&#160; <span class="comment">/* Assign UI widgets to the private members */</span></div><div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#ab7c6aebff1b06ef97c36bfa9d360b0c1">builder</a> = <a class="code" href="remmina__public_8c.html#a4573e086e1ff8507eb9447b25bf11b92">remmina_public_gtk_builder_new_from_resource</a>(<span class="stringliteral">&quot;/org/remmina/Remmina/src/../data/ui/remmina_main.glade&quot;</span>);</div><div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a> = GTK_WINDOW(RM_GET_OBJECT(<span class="stringliteral">&quot;RemminaMain&quot;</span>));</div><div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> &amp;&amp; <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> == TRUE) {</div><div class="line"><a name="l01664"></a><span class="lineno"> 1664</span>&#160; gtk_window_set_position(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, GTK_WIN_POS_CENTER_ALWAYS);</div><div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>&#160; gtk_window_set_default_size(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, 800, 400);</div><div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>&#160; gtk_window_set_resizable(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, FALSE);</div><div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>&#160; }</div><div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>&#160; <span class="comment">/* New Button */</span></div><div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a4db5c4960c9dbe3e798528bacb31456e">button_new</a> = GTK_BUTTON(RM_GET_OBJECT(<span class="stringliteral">&quot;button_new&quot;</span>));</div><div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> &amp;&amp; <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> == TRUE)</div><div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a4db5c4960c9dbe3e798528bacb31456e">button_new</a>), FALSE);</div><div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>&#160; <span class="comment">/* Search bar */</span></div><div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#acd8f3437eee668a2b8d905a16a16be72">search_toggle</a> = GTK_TOGGLE_BUTTON(RM_GET_OBJECT(<span class="stringliteral">&quot;search_toggle&quot;</span>));</div><div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#aecb54d7c3dd1e86a16e24ea2e00d4ddd">search_bar</a> = GTK_SEARCH_BAR(RM_GET_OBJECT(<span class="stringliteral">&quot;search_bar&quot;</span>));</div><div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>&#160; <span class="comment">/* view mode list/tree */</span></div><div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#ae3c2c0b9855bb44b5b9a27a3178d32e7">view_toggle_button</a> = GTK_TOGGLE_BUTTON(RM_GET_OBJECT(<span class="stringliteral">&quot;view_toggle_button&quot;</span>));</div><div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> &amp;&amp; <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> == TRUE)</div><div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ae3c2c0b9855bb44b5b9a27a3178d32e7">view_toggle_button</a>), FALSE);</div><div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>&#160;</div><div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>&#160; <span class="comment">/* Menu widgets */</span></div><div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a2d6960ab62869638a77d2fe5bd72c7f6">menu_popup</a> = GTK_MENU(RM_GET_OBJECT(<span class="stringliteral">&quot;menu_popup&quot;</span>));</div><div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#ab3be770af5f21758fa641b274ca967ec">menu_header_button</a> = GTK_MENU_BUTTON(RM_GET_OBJECT(<span class="stringliteral">&quot;menu_header_button&quot;</span>));</div><div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a1575015519fedca001bb26e129331b62">menu_popup_full</a> = GTK_MENU(RM_GET_OBJECT(<span class="stringliteral">&quot;menu_popup_full&quot;</span>));</div><div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a98a1ddd6aebc35c131f8de819a3d861f">menu_popup_delete_rc</a> = GTK_MENU(RM_GET_OBJECT(<span class="stringliteral">&quot;menu_popup_delete_rc&quot;</span>));</div><div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> &amp;&amp; <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> == TRUE) {</div><div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a1575015519fedca001bb26e129331b62">menu_popup_full</a>), FALSE);</div><div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ab3be770af5f21758fa641b274ca967ec">menu_header_button</a>), FALSE);</div><div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160; }</div><div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160; <span class="comment">/* View mode radios */</span></div><div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a6288ed69d372d1047ce94c74e77e0fd4">menuitem_view_mode_list</a> = GTK_RADIO_MENU_ITEM(RM_GET_OBJECT(<span class="stringliteral">&quot;menuitem_view_mode_list&quot;</span>));</div><div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a670425eaf7430854a172ee0f41c4e5e0">menuitem_view_mode_tree</a> = GTK_RADIO_MENU_ITEM(RM_GET_OBJECT(<span class="stringliteral">&quot;menuitem_view_mode_tree&quot;</span>));</div><div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>&#160; <span class="comment">/* Quick connect objects */</span></div><div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a7b03d239c21141a202d0698492cfae95">box_quick_connect</a> = GTK_BOX(RM_GET_OBJECT(<span class="stringliteral">&quot;box_quick_connect&quot;</span>));</div><div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a35f10af8065b3b64ba6f26db60061d39">combo_quick_connect_protocol</a> = GTK_COMBO_BOX_TEXT(RM_GET_OBJECT(<span class="stringliteral">&quot;combo_quick_connect_protocol&quot;</span>));</div><div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> &amp;&amp; <a class="code" href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a> == TRUE)</div><div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a35f10af8065b3b64ba6f26db60061d39">combo_quick_connect_protocol</a>), FALSE);</div><div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a> = GTK_ENTRY(RM_GET_OBJECT(<span class="stringliteral">&quot;entry_quick_connect_server&quot;</span>));</div><div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>&#160; <span class="comment">/* Other widgets */</span></div><div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a> = GTK_TREE_VIEW(RM_GET_OBJECT(<span class="stringliteral">&quot;tree_files_list&quot;</span>));</div><div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#aa2b3c232b59da2278215d446b93db0e5">column_files_list_name</a> = GTK_TREE_VIEW_COLUMN(RM_GET_OBJECT(<span class="stringliteral">&quot;column_files_list_name&quot;</span>));</div><div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a56ac6ffe61c0d3663ebc6b26e65a8cbc">column_files_list_group</a> = GTK_TREE_VIEW_COLUMN(RM_GET_OBJECT(<span class="stringliteral">&quot;column_files_list_group&quot;</span>));</div><div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a7db532834f4fd6360956cb0e2383b0fb">column_files_list_server</a> = GTK_TREE_VIEW_COLUMN(RM_GET_OBJECT(<span class="stringliteral">&quot;column_files_list_server&quot;</span>));</div><div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a8e21f782dd6e0a6d80f0f622898b2a48">column_files_list_plugin</a> = GTK_TREE_VIEW_COLUMN(RM_GET_OBJECT(<span class="stringliteral">&quot;column_files_list_plugin&quot;</span>));</div><div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a1ffeff8198ae0dc7c2461001118fcc5a">column_files_list_date</a> = GTK_TREE_VIEW_COLUMN(RM_GET_OBJECT(<span class="stringliteral">&quot;column_files_list_date&quot;</span>));</div><div class="line"><a name="l01705"></a><span class="lineno"> 1705</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#ab743fa626843d8fbb669fbd01819aea9">column_files_list_notes</a> = GTK_TREE_VIEW_COLUMN(RM_GET_OBJECT(<span class="stringliteral">&quot;column_files_list_notes&quot;</span>));</div><div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>&#160; gtk_tree_view_column_set_fixed_width(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ab743fa626843d8fbb669fbd01819aea9">column_files_list_notes</a>, 100);</div><div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#acacd90f3e6df6a864154edba01464ae2">statusbar_main</a> = GTK_STATUSBAR(RM_GET_OBJECT(<span class="stringliteral">&quot;statusbar_main&quot;</span>));</div><div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>&#160; <span class="comment">/* signals */</span></div><div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>&#160; g_signal_connect(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>, <span class="stringliteral">&quot;key-release-event&quot;</span>, G_CALLBACK(<a class="code" href="remmina__main_8c.html#af129aea3f5f3ec56b061187a81d43e4c">remmina_main_search_key_event</a>), NULL);</div><div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>&#160; g_signal_connect(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>, <span class="stringliteral">&quot;row-activated&quot;</span>, G_CALLBACK(<a class="code" href="remmina__main_8c.html#a4477897686d091d6f57e7f9401674a8c">remmina_main_tree_row_activated</a>), NULL);</div><div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>&#160; <span class="comment">/* Non widget objects */</span></div><div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>&#160; actions = g_simple_action_group_new();</div><div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>&#160; g_action_map_add_action_entries(G_ACTION_MAP(actions), <a class="code" href="remmina__main_8c.html#a923b3e2712d969eb59d9291e99f933e8">app_actions</a>, G_N_ELEMENTS(<a class="code" href="remmina__main_8c.html#a923b3e2712d969eb59d9291e99f933e8">app_actions</a>), remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>);</div><div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>&#160; gtk_widget_insert_action_group(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>), <span class="stringliteral">&quot;app&quot;</span>, G_ACTION_GROUP(actions));</div><div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>&#160; g_action_map_add_action_entries(G_ACTION_MAP(actions), <a class="code" href="remmina__main_8c.html#af146cc1f982c98a9c8a5ac43cc1508f3">main_actions</a>, G_N_ELEMENTS(<a class="code" href="remmina__main_8c.html#af146cc1f982c98a9c8a5ac43cc1508f3">main_actions</a>), remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>);</div><div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>&#160; gtk_widget_insert_action_group(GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>), <span class="stringliteral">&quot;main&quot;</span>, G_ACTION_GROUP(actions));</div><div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>&#160; g_object_unref(actions);</div><div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>&#160; <span class="comment">/* Accelerators */</span></div><div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>&#160; accel_group = gtk_accel_group_new();</div><div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>&#160; gtk_window_add_accel_group(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, accel_group);</div><div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>&#160; gtk_accel_group_connect(accel_group, GDK_KEY_Q, GDK_CONTROL_MASK, 0,</div><div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>&#160; g_cclosure_new_swap(G_CALLBACK(<a class="code" href="remmina__main_8c.html#a5445e5568a6fc04d08b620829a59334a">remmina_main_on_action_application_quit</a>), NULL, NULL));</div><div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>&#160; <span class="comment">// TODO: This crash remmina because the function doesn&#39;t receive the parameter we expect</span></div><div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>&#160; gtk_accel_group_connect(accel_group, GDK_KEY_P, GDK_CONTROL_MASK, 0,</div><div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>&#160; g_cclosure_new_swap(G_CALLBACK(<a class="code" href="remmina__main_8c.html#a1e8b7e8c0f7a47dc0409ae6eb18cfc6a">remmina_main_on_accel_application_preferences</a>), NULL, NULL));</div><div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>&#160; gtk_accel_group_connect(accel_group, GDK_KEY_F, GDK_CONTROL_MASK, 0,</div><div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>&#160; g_cclosure_new_swap(G_CALLBACK(<a class="code" href="remmina__main_8c.html#aea426b2e8fc03f963bb2b98cb8649adf">remmina_main_on_accel_search_toggle</a>), remminamain, NULL));</div><div class="line"><a name="l01728"></a><span class="lineno"> 1728</span>&#160;</div><div class="line"><a name="l01729"></a><span class="lineno"> 1729</span>&#160; <span class="comment">/* Connect signals */</span></div><div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>&#160; gtk_builder_connect_signals(remminamain-&gt;<a class="code" href="struct___remmina_main.html#ab7c6aebff1b06ef97c36bfa9d360b0c1">builder</a>, NULL);</div><div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>&#160; <span class="comment">/* Initialize the window and load the preferences */</span></div><div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>&#160; <a class="code" href="remmina__main_8c.html#afefc1b651e1c546e949dbe6df72b0300">remmina_main_init</a>();</div><div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>&#160; <span class="keywordflow">return</span> GTK_WIDGET(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>);</div><div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>&#160;}</div><div class="line"><a name="l01735"></a><span class="lineno"> 1735</span>&#160;</div><div class="line"><a name="l01736"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a3948142732379a3d165f3b0b4d5f5abc"> 1736</a></span>&#160;GtkWindow *<a class="code" href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a>()</div><div class="line"><a name="l01737"></a><span class="lineno"> 1737</span>&#160;{</div><div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>&#160; <span class="keywordflow">if</span> (!remminamain)</div><div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>&#160; <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>&#160; <span class="keywordflow">if</span> (!remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>)</div><div class="line"><a name="l01741"></a><span class="lineno"> 1741</span>&#160; <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>&#160; <span class="keywordflow">if</span> (!remminamain-&gt;<a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>-&gt;<a class="code" href="struct___remmina_main_priv.html#a7a4eb201dd185ba606af5c486ef55e7f">initialized</a>)</div><div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>&#160; <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>&#160; remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a> = GTK_WINDOW(RM_GET_OBJECT(<span class="stringliteral">&quot;RemminaMain&quot;</span>));</div><div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>&#160; <span class="keywordflow">return</span> remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>;</div><div class="line"><a name="l01746"></a><span class="lineno"> 1746</span>&#160;}</div><div class="line"><a name="l01747"></a><span class="lineno"> 1747</span>&#160;</div><div class="line"><a name="l01748"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a5ae0372dafe41f96a09097c07d1b270a"> 1748</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#a5ae0372dafe41f96a09097c07d1b270a">remmina_main_update_file_datetime</a>(<a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *file)</div><div class="line"><a name="l01749"></a><span class="lineno"> 1749</span>&#160;{</div><div class="line"><a name="l01750"></a><span class="lineno"> 1750</span>&#160; <span class="keywordflow">if</span> (!remminamain)</div><div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>&#160; <a class="code" href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a>();</div><div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>&#160;}</div><div class="line"><a name="l01754"></a><span class="lineno"> 1754</span>&#160;</div><div class="line"><a name="l01755"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#ab2a1a54320992fb796850ffbd6a63589"> 1755</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#ab2a1a54320992fb796850ffbd6a63589">remmina_main_show_dialog</a>(GtkMessageType msg, GtkButtonsType buttons, <span class="keyword">const</span> gchar* message) {</div><div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>&#160; GtkWidget *dialog;</div><div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>&#160;</div><div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>&#160; <span class="keywordflow">if</span> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>) {</div><div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>&#160; dialog = gtk_message_dialog_new(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, GTK_DIALOG_MODAL, msg, buttons, <span class="stringliteral">&quot;%s&quot;</span>, message);</div><div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>&#160; gtk_dialog_run(GTK_DIALOG(dialog));</div><div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>&#160; gtk_widget_destroy(dialog);</div><div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>&#160; }</div><div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>&#160;}</div><div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>&#160;</div><div class="line"><a name="l01765"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#ad99b9c0bf2fa8c166a8b4a09e06ffdf7"> 1765</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8c.html#ad99b9c0bf2fa8c166a8b4a09e06ffdf7">remmina_main_show_warning_dialog</a>(<span class="keyword">const</span> gchar *message) {</div><div class="line"><a name="l01766"></a><span class="lineno"> 1766</span>&#160; GtkWidget *dialog;</div><div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>&#160;</div><div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>&#160; <span class="keywordflow">if</span> (remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>) {</div><div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>&#160; dialog = gtk_message_dialog_new(remminamain-&gt;<a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>, GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_CLOSE,</div><div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>&#160; message, g_get_application_name());</div><div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>&#160; gtk_dialog_run(GTK_DIALOG(dialog));</div><div class="line"><a name="l01772"></a><span class="lineno"> 1772</span>&#160; gtk_widget_destroy(dialog);</div><div class="line"><a name="l01773"></a><span class="lineno"> 1773</span>&#160; }</div><div class="line"><a name="l01774"></a><span class="lineno"> 1774</span>&#160;}</div><div class="ttc" id="remmina__file__manager_8h_html_a0155f52ba9a28e2aa0ea5d831f5d2c90"><div class="ttname"><a href="remmina__file__manager_8h.html#a0155f52ba9a28e2aa0ea5d831f5d2c90">RemminaGroupData</a></div><div class="ttdeci">G_BEGIN_DECLS struct _RemminaGroupData RemminaGroupData</div></div>
<div class="ttc" id="remmina__file_8c_html_ac1cc2d7f827f7d64c7fd3edf10e9383e"><div class="ttname"><a href="remmina__file_8c.html#ac1cc2d7f827f7d64c7fd3edf10e9383e">remmina_file_load</a></div><div class="ttdeci">RemminaFile * remmina_file_load(const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00350">remmina_file.c:350</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_a5e79d6abd0b12c1ed2bb33988e41857e"><div class="ttname"><a href="remmina__plugin__manager_8c.html#a5e79d6abd0b12c1ed2bb33988e41857e">remmina_secret_plugin</a></div><div class="ttdeci">static RemminaSecretPlugin * remmina_secret_plugin</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00070">remmina_plugin_manager.c:70</a></div></div>
<div class="ttc" id="remmina__log_8c_html_a72cf53183f3ef89c4208fdccb629003d"><div class="ttname"><a href="remmina__log_8c.html#a72cf53183f3ef89c4208fdccb629003d">remmina_log_start</a></div><div class="ttdeci">void remmina_log_start(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__log_8c_source.html#l00116">remmina_log.c:116</a></div></div>
@@ -100,11 +100,11 @@ $(document).ready(function(){initNavTree('remmina__main_8c_source.html','');});
<div class="ttc" id="struct___remmina_main_html_a6288ed69d372d1047ce94c74e77e0fd4"><div class="ttname"><a href="struct___remmina_main.html#a6288ed69d372d1047ce94c74e77e0fd4">_RemminaMain::menuitem_view_mode_list</a></div><div class="ttdeci">GtkRadioMenuItem * menuitem_view_mode_list</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00056">remmina_main.h:56</a></div></div>
<div class="ttc" id="remmina__main_8c_html_ae32574ebe06b1a24f135af9379e663b4"><div class="ttname"><a href="remmina__main_8c.html#ae32574ebe06b1a24f135af9379e663b4">remmina_main_load_file_tree_callback</a></div><div class="ttdeci">static void remmina_main_load_file_tree_callback(RemminaFile *remminafile, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00483">remmina_main.c:483</a></div></div>
<div class="ttc" id="struct___remmina_tool_plugin_html"><div class="ttname"><a href="struct___remmina_tool_plugin.html">_RemminaToolPlugin</a></div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00114">plugin.h:114</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a7049d977154921f651cc1538f59c5b7a"><div class="ttname"><a href="remmina__main_8c.html#a7049d977154921f651cc1538f59c5b7a">remmina_main_on_action_help_homepage</a></div><div class="ttdeci">void remmina_main_on_action_help_homepage(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01279">remmina_main.c:1279</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a7049d977154921f651cc1538f59c5b7a"><div class="ttname"><a href="remmina__main_8c.html#a7049d977154921f651cc1538f59c5b7a">remmina_main_on_action_help_homepage</a></div><div class="ttdeci">void remmina_main_on_action_help_homepage(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01297">remmina_main.c:1297</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a0995d06fd3cad6098f0ecfaca9ed616f"><div class="ttname"><a href="struct___remmina_main.html#a0995d06fd3cad6098f0ecfaca9ed616f">_RemminaMain::network_icon</a></div><div class="ttdeci">GtkWidget * network_icon</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00082">remmina_main.h:82</a></div></div>
<div class="ttc" id="struct___remmina_pref_html_a054a55a2c39181609150cbb4d22413ef"><div class="ttname"><a href="struct___remmina_pref.html#a054a55a2c39181609150cbb4d22413ef">_RemminaPref::default_action</a></div><div class="ttdeci">gint default_action</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8h_source.html#l00141">remmina_pref.h:141</a></div></div>
<div class="ttc" id="remmina__main_8c_html_ab08aae433b625c3a84330630fe2bd2d5"><div class="ttname"><a href="remmina__main_8c.html#ab08aae433b625c3a84330630fe2bd2d5">remmina_main_show_snap_welcome</a></div><div class="ttdeci">static void remmina_main_show_snap_welcome()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00272">remmina_main.c:272</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a7740488de65c0e642895cc9dfba07b6e"><div class="ttname"><a href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a></div><div class="ttdeci">GtkWindow * remmina_main_get_window()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01718">remmina_main.c:1718</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a7740488de65c0e642895cc9dfba07b6e"><div class="ttname"><a href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a></div><div class="ttdeci">GtkWindow * remmina_main_get_window()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01736">remmina_main.c:1736</a></div></div>
<div class="ttc" id="struct___remmina_main_priv_html_a092aebd62ba9fe50c899e416361c1d00"><div class="ttname"><a href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">_RemminaMainPriv::selected_filename</a></div><div class="ttdeci">gchar * selected_filename</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00096">remmina_main.h:96</a></div></div>
<div class="ttc" id="struct___remmina_main_priv_html_aec4c4540e9463a45b22a5c0b9108bc6f"><div class="ttname"><a href="struct___remmina_main_priv.html#aec4c4540e9463a45b22a5c0b9108bc6f">_RemminaMainPriv::file_model</a></div><div class="ttdeci">GtkTreeModel * file_model</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00090">remmina_main.h:90</a></div></div>
<div class="ttc" id="remmina__main_8c_html_ad8744dc59ba8072ffdf557b6c94e9f40"><div class="ttname"><a href="remmina__main_8c.html#ad8744dc59ba8072ffdf557b6c94e9f40">remmina_main_save_expanded_group</a></div><div class="ttdeci">static void remmina_main_save_expanded_group(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00164">remmina_main.c:164</a></div></div>
@@ -126,7 +126,7 @@ $(document).ready(function(){initNavTree('remmina__main_8c_source.html','');});
<div class="ttc" id="remmina__widget__pool_8c_html_ae3c9c9853eb5bedbfeadbfac1d495b95"><div class="ttname"><a href="remmina__widget__pool_8c.html#ae3c9c9853eb5bedbfeadbfac1d495b95">remmina_widget_pool_register</a></div><div class="ttdeci">void remmina_widget_pool_register(GtkWidget *widget)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__widget__pool_8c_source.html#l00056">remmina_widget_pool.c:56</a></div></div>
<div class="ttc" id="struct___remmina_main_html"><div class="ttname"><a href="struct___remmina_main.html">_RemminaMain</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00048">remmina_main.h:48</a></div></div>
<div class="ttc" id="struct___remmina_pref_html_ac31f888a39eec7ef6de922c7b53d044e"><div class="ttname"><a href="struct___remmina_pref.html#ac31f888a39eec7ef6de922c7b53d044e">_RemminaPref::last_quickconnect_protocol</a></div><div class="ttdeci">gchar * last_quickconnect_protocol</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8h_source.html#l00227">remmina_pref.h:227</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_ace72fa8f7198020464623e7117a351a9"><div class="ttname"><a href="remmina__main_8c.html#ace72fa8f7198020464623e7117a351a9">remmina_main_file_list_on_button_press</a></div><div class="ttdeci">gboolean remmina_main_file_list_on_button_press(GtkWidget *widget, GdkEventButton *event, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01450">remmina_main.c:1450</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_ace72fa8f7198020464623e7117a351a9"><div class="ttname"><a href="remmina__main_8c.html#ace72fa8f7198020464623e7117a351a9">remmina_main_file_list_on_button_press</a></div><div class="ttdeci">gboolean remmina_main_file_list_on_button_press(GtkWidget *widget, GdkEventButton *event, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01468">remmina_main.c:1468</a></div></div>
<div class="ttc" id="struct___remmina_file_plugin_html_a597178a88c755ebe0614897b7aa279b1"><div class="ttname"><a href="struct___remmina_file_plugin.html#a597178a88c755ebe0614897b7aa279b1">_RemminaFilePlugin::import_func</a></div><div class="ttdeci">RemminaFile *(* import_func)(struct _RemminaFilePlugin *instance, const gchar *from_file)</div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00108">plugin.h:108</a></div></div>
<div class="ttc" id="remmina__widget__pool_8h_html"><div class="ttname"><a href="remmina__widget__pool_8h.html">remmina_widget_pool.h</a></div></div>
<div class="ttc" id="remmina__main_8c_html_ab0d22f0e3571eb80886acb0c68005800"><div class="ttname"><a href="remmina__main_8c.html#ab0d22f0e3571eb80886acb0c68005800">remmina_main_filter_visible_func</a></div><div class="ttdeci">static gboolean remmina_main_filter_visible_func(GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00527">remmina_main.c:527</a></div></div>
@@ -138,7 +138,7 @@ $(document).ready(function(){initNavTree('remmina__main_8c_source.html','');});
<div class="ttc" id="remmina__pref__dialog_8h_html"><div class="ttname"><a href="remmina__pref__dialog_8h.html">remmina_pref_dialog.h</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_a859348bddc9069f06195915692b65076"><div class="ttname"><a href="remmina__plugin__manager_8c.html#a859348bddc9069f06195915692b65076">remmina_plugin_manager_get_import_file_handler</a></div><div class="ttdeci">RemminaFilePlugin * remmina_plugin_manager_get_import_file_handler(const gchar *file)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00570">remmina_plugin_manager.c:570</a></div></div>
<div class="ttc" id="remmina__main_8c_html_af129aea3f5f3ec56b061187a81d43e4c"><div class="ttname"><a href="remmina__main_8c.html#af129aea3f5f3ec56b061187a81d43e4c">remmina_main_search_key_event</a></div><div class="ttdeci">static gboolean remmina_main_search_key_event(GtkWidget *search_entry, GdkEventKey *event, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00870">remmina_main.c:870</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a4b4f0bbdb9e487d6c3809e8a57dc1d1c"><div class="ttname"><a href="remmina__main_8c.html#a4b4f0bbdb9e487d6c3809e8a57dc1d1c">remmina_main_on_action_tools_import</a></div><div class="ttdeci">void remmina_main_on_action_tools_import(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01216">remmina_main.c:1216</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a4b4f0bbdb9e487d6c3809e8a57dc1d1c"><div class="ttname"><a href="remmina__main_8c.html#a4b4f0bbdb9e487d6c3809e8a57dc1d1c">remmina_main_on_action_tools_import</a></div><div class="ttdeci">void remmina_main_on_action_tools_import(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01234">remmina_main.c:1234</a></div></div>
<div class="ttc" id="remmina__pref_8h_html_a0ed680fdb405e7195d9f14032851eebbad14d19fdcc60e744406c5f80c1bb840a"><div class="ttname"><a href="remmina__pref_8h.html#a0ed680fdb405e7195d9f14032851eebbad14d19fdcc60e744406c5f80c1bb840a">REMMINA_ACTION_CONNECT</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8h_source.html#l00059">remmina_pref.h:59</a></div></div>
<div class="ttc" id="remmina__monitor_8c_html_ac37c2579934e206d669c1af9b51f8ef1"><div class="ttname"><a href="remmina__monitor_8c.html#ac37c2579934e206d669c1af9b51f8ef1">remmina_network_monitor_new</a></div><div class="ttdeci">RemminaMonitor * remmina_network_monitor_new()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__monitor_8c_source.html#l00220">remmina_monitor.c:220</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_ad380a98f6624aa8c830015c8b428b7b4"><div class="ttname"><a href="remmina__plugin__manager_8c.html#ad380a98f6624aa8c830015c8b428b7b4">remmina_plugin_manager_get_secret_plugin</a></div><div class="ttdeci">RemminaSecretPlugin * remmina_plugin_manager_get_secret_plugin(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00606">remmina_plugin_manager.c:606</a></div></div>
@@ -158,8 +158,8 @@ $(document).ready(function(){initNavTree('remmina__main_8c_source.html','');});
<div class="ttc" id="remmina__file_8c_html_a96abbfdc183d1e82fdffd6445d611ffe"><div class="ttname"><a href="remmina__file_8c.html#a96abbfdc183d1e82fdffd6445d611ffe">remmina_file_get_datetime</a></div><div class="ttdeci">gchar * remmina_file_get_datetime(RemminaFile *remminafile)</div><div class="ttdoc">Return the string date of the last time a Remmina state file has been modified. </div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l01031">remmina_file.c:1031</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a71fbe206a9c2abb8f348ee598d7751b7"><div class="ttname"><a href="remmina__main_8c.html#a71fbe206a9c2abb8f348ee598d7751b7">remmina_main_file_model_on_sort</a></div><div class="ttdeci">static void remmina_main_file_model_on_sort(GtkTreeSortable *sortable, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00515">remmina_main.c:515</a></div></div>
<div class="ttc" id="struct___remmina_pref_html_a6318ff8e2f73d36fb8b35cbed503c222"><div class="ttname"><a href="struct___remmina_pref.html#a6318ff8e2f73d36fb8b35cbed503c222">_RemminaPref::main_width</a></div><div class="ttdeci">gint main_width</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8h_source.html#l00217">remmina_pref.h:217</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_af14b1942a754d7b2f5c10266208ebe01"><div class="ttname"><a href="remmina__main_8c.html#af14b1942a754d7b2f5c10266208ebe01">remmina_main_new</a></div><div class="ttdeci">GtkWidget * remmina_main_new(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01634">remmina_main.c:1634</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a5db4436cc72b9d5ea3e498f8519efecc"><div class="ttname"><a href="remmina__main_8c.html#a5db4436cc72b9d5ea3e498f8519efecc">remmina_main_on_action_help_debug</a></div><div class="ttdeci">void remmina_main_on_action_help_debug(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01303">remmina_main.c:1303</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_af14b1942a754d7b2f5c10266208ebe01"><div class="ttname"><a href="remmina__main_8c.html#af14b1942a754d7b2f5c10266208ebe01">remmina_main_new</a></div><div class="ttdeci">GtkWidget * remmina_main_new(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01652">remmina_main.c:1652</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a5db4436cc72b9d5ea3e498f8519efecc"><div class="ttname"><a href="remmina__main_8c.html#a5db4436cc72b9d5ea3e498f8519efecc">remmina_main_on_action_help_debug</a></div><div class="ttdeci">void remmina_main_on_action_help_debug(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01321">remmina_main.c:1321</a></div></div>
<div class="ttc" id="remmina__string__array_8c_html_ab93a69850cfb4117c223a3f145ced986"><div class="ttname"><a href="remmina__string__array_8c.html#ab93a69850cfb4117c223a3f145ced986">remmina_string_array_find</a></div><div class="ttdeci">gint remmina_string_array_find(RemminaStringArray *array, const gchar *str)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__string__array_8c_source.html#l00092">remmina_string_array.c:92</a></div></div>
<div class="ttc" id="remmina__string__array_8c_html_a96f7bec7ce32de6cf5deadcd5aec51ec"><div class="ttname"><a href="remmina__string__array_8c.html#a96f7bec7ce32de6cf5deadcd5aec51ec">remmina_string_array_to_string</a></div><div class="ttdeci">gchar * remmina_string_array_to_string(RemminaStringArray *array)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__string__array_8c_source.html#l00155">remmina_string_array.c:155</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a912f2057752ad0779485c3303e3e9b04"><div class="ttname"><a href="struct___remmina_main.html#a912f2057752ad0779485c3303e3e9b04">_RemminaMain::switch_dark_mode</a></div><div class="ttdeci">GtkSwitch * switch_dark_mode</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00064">remmina_main.h:64</a></div></div>
@@ -175,30 +175,30 @@ $(document).ready(function(){initNavTree('remmina__main_8c_source.html','');});
<div class="ttc" id="remmina__main_8c_html_a847424fdb97ffe35d060409d4d738497"><div class="ttname"><a href="remmina__main_8c.html#a847424fdb97ffe35d060409d4d738497">remmina_main_load_file_tree_find</a></div><div class="ttdeci">static gboolean remmina_main_load_file_tree_find(GtkTreeModel *tree, GtkTreeIter *iter, const gchar *match_group)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00455">remmina_main.c:455</a></div></div>
<div class="ttc" id="remmina__main_8h_html"><div class="ttname"><a href="remmina__main_8h.html">remmina_main.h</a></div></div>
<div class="ttc" id="struct___remmina_main_priv_html_a606c7e6dc78219e8e5536519db723a4d"><div class="ttname"><a href="struct___remmina_main_priv.html#a606c7e6dc78219e8e5536519db723a4d">_RemminaMainPriv::selected_name</a></div><div class="ttdeci">gchar * selected_name</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00097">remmina_main.h:97</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a0c32fe66988056b353220128611b9116"><div class="ttname"><a href="remmina__main_8c.html#a0c32fe66988056b353220128611b9116">remmina_main_on_action_help_wiki</a></div><div class="ttdeci">void remmina_main_on_action_help_wiki(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01285">remmina_main.c:1285</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a0c32fe66988056b353220128611b9116"><div class="ttname"><a href="remmina__main_8c.html#a0c32fe66988056b353220128611b9116">remmina_main_on_action_help_wiki</a></div><div class="ttdeci">void remmina_main_on_action_help_wiki(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01303">remmina_main.c:1303</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a0e6602776373cf6a198d249df6e87150"><div class="ttname"><a href="struct___remmina_main.html#a0e6602776373cf6a198d249df6e87150">_RemminaMain::monitor</a></div><div class="ttdeci">RemminaMonitor * monitor</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00086">remmina_main.h:86</a></div></div>
<div class="ttc" id="struct___remmina_pref_html_a4504684f0e67bb50157fd6862182e2c4"><div class="ttname"><a href="struct___remmina_pref.html#a4504684f0e67bb50157fd6862182e2c4">_RemminaPref::main_sort_order</a></div><div class="ttdeci">gint main_sort_order</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8h_source.html#l00221">remmina_pref.h:221</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a05dbb6ce820f3a137949b919d0efa6a1"><div class="ttname"><a href="remmina__main_8c.html#a05dbb6ce820f3a137949b919d0efa6a1">remmina_main_on_action_application_default</a></div><div class="ttdeci">void remmina_main_on_action_application_default(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01115">remmina_main.c:1115</a></div></div>
<div class="ttc" id="struct___remmina_secret_plugin_html"><div class="ttname"><a href="struct___remmina_secret_plugin.html">_RemminaSecretPlugin</a></div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00135">plugin.h:135</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a627eb26ab02f0093365ed6b10dab0320"><div class="ttname"><a href="remmina__main_8c.html#a627eb26ab02f0093365ed6b10dab0320">remmina_main_load_files_cb</a></div><div class="ttdeci">void remmina_main_load_files_cb(GtkEntry *entry, char *string, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00762">remmina_main.c:762</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a861de52d1b5ec54591d0592de6289d79"><div class="ttname"><a href="remmina__main_8c.html#a861de52d1b5ec54591d0592de6289d79">remmina_main_on_window_state_event</a></div><div class="ttdeci">gboolean remmina_main_on_window_state_event(GtkWidget *widget, GdkEventWindowState *event, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01546">remmina_main.c:1546</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a861de52d1b5ec54591d0592de6289d79"><div class="ttname"><a href="remmina__main_8c.html#a861de52d1b5ec54591d0592de6289d79">remmina_main_on_window_state_event</a></div><div class="ttdeci">gboolean remmina_main_on_window_state_event(GtkWidget *widget, GdkEventWindowState *event, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01564">remmina_main.c:1564</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_ae9dfd6986f18cb3d846a4933ac792fd5ae79d14a54e119795478a6e390d7d3b40"><div class="ttname"><a href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5ae79d14a54e119795478a6e390d7d3b40">REMMINA_CONDEXIT_ONMAINWINDELETE</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00061">remmina_exec.h:61</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a5ae0372dafe41f96a09097c07d1b270a"><div class="ttname"><a href="remmina__main_8c.html#a5ae0372dafe41f96a09097c07d1b270a">remmina_main_update_file_datetime</a></div><div class="ttdeci">void remmina_main_update_file_datetime(RemminaFile *file)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01730">remmina_main.c:1730</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a5ae0372dafe41f96a09097c07d1b270a"><div class="ttname"><a href="remmina__main_8c.html#a5ae0372dafe41f96a09097c07d1b270a">remmina_main_update_file_datetime</a></div><div class="ttdeci">void remmina_main_update_file_datetime(RemminaFile *file)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01748">remmina_main.c:1748</a></div></div>
<div class="ttc" id="struct___remmina_main_html_ab3be770af5f21758fa641b274ca967ec"><div class="ttname"><a href="struct___remmina_main.html#ab3be770af5f21758fa641b274ca967ec">_RemminaMain::menu_header_button</a></div><div class="ttdeci">GtkMenuButton * menu_header_button</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00053">remmina_main.h:53</a></div></div>
<div class="ttc" id="remmina__main_8c_html_aa46e6b815c241d32a476a29053dbf296"><div class="ttname"><a href="remmina__main_8c.html#aa46e6b815c241d32a476a29053dbf296">remmina_main_load_file_tree_group</a></div><div class="ttdeci">static void remmina_main_load_file_tree_group(GtkTreeStore *store)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00407">remmina_main.c:407</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a44eb44c6391f53a19c6f1fdf9a39a8c1"><div class="ttname"><a href="remmina__main_8c.html#a44eb44c6391f53a19c6f1fdf9a39a8c1">remmina_main_on_action_connection_copy</a></div><div class="ttdeci">void remmina_main_on_action_connection_copy(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00910">remmina_main.c:910</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_aedec4e9cf18d99a559aa51065c2bc276"><div class="ttname"><a href="remmina__plugin__manager_8c.html#aedec4e9cf18d99a559aa51065c2bc276">remmina_plugin_manager_show</a></div><div class="ttdeci">void remmina_plugin_manager_show(GtkWindow *parent)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00516">remmina_plugin_manager.c:516</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a385c44f6fb256e5716a2302a5b940388ad68c7d7d2f1cfe0321e87c4a833a0756"><div class="ttname"><a href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388ad68c7d7d2f1cfe0321e87c4a833a0756">PLUGIN_COLUMN</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00078">remmina_main.c:78</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_ac767825cb87a34531306cfb587216d20"><div class="ttname"><a href="remmina__main_8c.html#ac767825cb87a34531306cfb587216d20">remmina_main_import_file_list</a></div><div class="ttdeci">static void remmina_main_import_file_list(GSList *files)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01161">remmina_main.c:1161</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_ac767825cb87a34531306cfb587216d20"><div class="ttname"><a href="remmina__main_8c.html#ac767825cb87a34531306cfb587216d20">remmina_main_import_file_list</a></div><div class="ttdeci">static void remmina_main_import_file_list(GSList *files)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01179">remmina_main.c:1179</a></div></div>
<div class="ttc" id="remmina__icon_8h_html"><div class="ttname"><a href="remmina__icon_8h.html">remmina_icon.h</a></div></div>
<div class="ttc" id="remmina__public_8h_html"><div class="ttname"><a href="remmina__public_8h.html">remmina_public.h</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a0edcc1d7dc3adcbb7bb36aa0f62dec3a"><div class="ttname"><a href="remmina__main_8c.html#a0edcc1d7dc3adcbb7bb36aa0f62dec3a">remmina_main_on_action_collapse</a></div><div class="ttdeci">void remmina_main_on_action_collapse(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01396">remmina_main.c:1396</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a0edcc1d7dc3adcbb7bb36aa0f62dec3a"><div class="ttname"><a href="remmina__main_8c.html#a0edcc1d7dc3adcbb7bb36aa0f62dec3a">remmina_main_on_action_collapse</a></div><div class="ttdeci">void remmina_main_on_action_collapse(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01414">remmina_main.c:1414</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a2d6960ab62869638a77d2fe5bd72c7f6"><div class="ttname"><a href="struct___remmina_main.html#a2d6960ab62869638a77d2fe5bd72c7f6">_RemminaMain::menu_popup</a></div><div class="ttdeci">GtkMenu * menu_popup</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00052">remmina_main.h:52</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a829d3ad1468d780380ae1ad693532e82"><div class="ttname"><a href="remmina__main_8c.html#a829d3ad1468d780380ae1ad693532e82">remmina_main_idle_destroy</a></div><div class="ttdeci">gboolean remmina_main_idle_destroy(gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00235">remmina_main.c:235</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a4477897686d091d6f57e7f9401674a8c"><div class="ttname"><a href="remmina__main_8c.html#a4477897686d091d6f57e7f9401674a8c">remmina_main_tree_row_activated</a></div><div class="ttdeci">static gboolean remmina_main_tree_row_activated(GtkTreeView *tree, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00881">remmina_main.c:881</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a2704d643ee15702a84a1c76219dd5277"><div class="ttname"><a href="remmina__main_8c.html#a2704d643ee15702a84a1c76219dd5277">remmina_main_on_action_help_donations</a></div><div class="ttdeci">void remmina_main_on_action_help_donations(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01297">remmina_main.c:1297</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a2704d643ee15702a84a1c76219dd5277"><div class="ttname"><a href="remmina__main_8c.html#a2704d643ee15702a84a1c76219dd5277">remmina_main_on_action_help_donations</a></div><div class="ttdeci">void remmina_main_on_action_help_donations(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01315">remmina_main.c:1315</a></div></div>
<div class="ttc" id="remmina__string__array_8h_html"><div class="ttname"><a href="remmina__string__array_8h.html">remmina_string_array.h</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_ab2a1a54320992fb796850ffbd6a63589"><div class="ttname"><a href="remmina__main_8c.html#ab2a1a54320992fb796850ffbd6a63589">remmina_main_show_dialog</a></div><div class="ttdeci">void remmina_main_show_dialog(GtkMessageType msg, GtkButtonsType buttons, const gchar *message)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01737">remmina_main.c:1737</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_ab2a1a54320992fb796850ffbd6a63589"><div class="ttname"><a href="remmina__main_8c.html#ab2a1a54320992fb796850ffbd6a63589">remmina_main_show_dialog</a></div><div class="ttdeci">void remmina_main_show_dialog(GtkMessageType msg, GtkButtonsType buttons, const gchar *message)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01755">remmina_main.c:1755</a></div></div>
<div class="ttc" id="struct___remmina_main_priv_html_a7a4eb201dd185ba606af5c486ef55e7f"><div class="ttname"><a href="struct___remmina_main_priv.html#a7a4eb201dd185ba606af5c486ef55e7f">_RemminaMainPriv::initialized</a></div><div class="ttdeci">gboolean initialized</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00094">remmina_main.h:94</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a385c44f6fb256e5716a2302a5b940388a4d053f07c7bfa18ee1db38382a64c454"><div class="ttname"><a href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a4d053f07c7bfa18ee1db38382a64c454">LABELS_COLUMN</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00081">remmina_main.c:81</a></div></div>
<div class="ttc" id="remmina__log_8h_html"><div class="ttname"><a href="remmina__log_8h.html">remmina_log.h</a></div></div>
@@ -207,11 +207,11 @@ $(document).ready(function(){initNavTree('remmina__main_8c_source.html','');});
<div class="ttc" id="struct___remmina_pref_html_a18872e092d22f5d3accb66d6a22845d7"><div class="ttname"><a href="struct___remmina_pref.html#a18872e092d22f5d3accb66d6a22845d7">_RemminaPref::prevent_snap_welcome_message</a></div><div class="ttdeci">gboolean prevent_snap_welcome_message</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8h_source.html#l00226">remmina_pref.h:226</a></div></div>
<div class="ttc" id="struct___remmina_pref_html_aa8d4c923cb9ca1be451436d1790e8ee5"><div class="ttname"><a href="struct___remmina_pref.html#aa8d4c923cb9ca1be451436d1790e8ee5">_RemminaPref::expanded_group</a></div><div class="ttdeci">gchar * expanded_group</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8h_source.html#l00222">remmina_pref.h:222</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a7b03d239c21141a202d0698492cfae95"><div class="ttname"><a href="struct___remmina_main.html#a7b03d239c21141a202d0698492cfae95">_RemminaMain::box_quick_connect</a></div><div class="ttdeci">GtkBox * box_quick_connect</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00069">remmina_main.h:69</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_adf073486149762f547504020484bff70"><div class="ttname"><a href="remmina__main_8c.html#adf073486149762f547504020484bff70">remmina_main_on_drag_data_received</a></div><div class="ttdeci">void remmina_main_on_drag_data_received(GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y, GtkSelectionData *data, guint info, guint time, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01515">remmina_main.c:1515</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_adf073486149762f547504020484bff70"><div class="ttname"><a href="remmina__main_8c.html#adf073486149762f547504020484bff70">remmina_main_on_drag_data_received</a></div><div class="ttdeci">void remmina_main_on_drag_data_received(GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y, GtkSelectionData *data, guint info, guint time, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01533">remmina_main.c:1533</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a7db532834f4fd6360956cb0e2383b0fb"><div class="ttname"><a href="struct___remmina_main.html#a7db532834f4fd6360956cb0e2383b0fb">_RemminaMain::column_files_list_server</a></div><div class="ttdeci">GtkTreeViewColumn * column_files_list_server</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00077">remmina_main.h:77</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_ad99b9c0bf2fa8c166a8b4a09e06ffdf7"><div class="ttname"><a href="remmina__main_8c.html#ad99b9c0bf2fa8c166a8b4a09e06ffdf7">remmina_main_show_warning_dialog</a></div><div class="ttdeci">void remmina_main_show_warning_dialog(const gchar *message)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01747">remmina_main.c:1747</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_ad99b9c0bf2fa8c166a8b4a09e06ffdf7"><div class="ttname"><a href="remmina__main_8c.html#ad99b9c0bf2fa8c166a8b4a09e06ffdf7">remmina_main_show_warning_dialog</a></div><div class="ttdeci">void remmina_main_show_warning_dialog(const gchar *message)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01765">remmina_main.c:1765</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a52cc21537ff003b9d0fbdb9040c811af"><div class="ttname"><a href="remmina__main_8c.html#a52cc21537ff003b9d0fbdb9040c811af">remmina_main_on_action_connection_new</a></div><div class="ttdeci">void remmina_main_on_action_connection_new(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00851">remmina_main.c:851</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a6c69b2fa6a56869c54f58d7ebae89427"><div class="ttname"><a href="remmina__main_8c.html#a6c69b2fa6a56869c54f58d7ebae89427">remmina_main_quick_search_enter</a></div><div class="ttdeci">void remmina_main_quick_search_enter(GtkWidget *widget, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01390">remmina_main.c:1390</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a6c69b2fa6a56869c54f58d7ebae89427"><div class="ttname"><a href="remmina__main_8c.html#a6c69b2fa6a56869c54f58d7ebae89427">remmina_main_quick_search_enter</a></div><div class="ttdeci">void remmina_main_quick_search_enter(GtkWidget *widget, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01408">remmina_main.c:1408</a></div></div>
<div class="ttc" id="remmina__file_8c_html_a55f66f2bb81bf427d6837e1adb7fe1d4"><div class="ttname"><a href="remmina__file_8c.html#a55f66f2bb81bf427d6837e1adb7fe1d4">remmina_file_delete</a></div><div class="ttdeci">void remmina_file_delete(const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00911">remmina_file.c:911</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a4db5c4960c9dbe3e798528bacb31456e"><div class="ttname"><a href="struct___remmina_main.html#a4db5c4960c9dbe3e798528bacb31456e">_RemminaMain::button_new</a></div><div class="ttdeci">GtkButton * button_new</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00060">remmina_main.h:60</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a1575015519fedca001bb26e129331b62"><div class="ttname"><a href="struct___remmina_main.html#a1575015519fedca001bb26e129331b62">_RemminaMain::menu_popup_full</a></div><div class="ttdeci">GtkMenu * menu_popup_full</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00054">remmina_main.h:54</a></div></div>
@@ -221,33 +221,33 @@ $(document).ready(function(){initNavTree('remmina__main_8c_source.html','');});
<div class="ttc" id="struct___remmina_pref_html_a8edfd2a9a9a06b1fd876fbe8742b9ff6"><div class="ttname"><a href="struct___remmina_pref.html#a8edfd2a9a9a06b1fd876fbe8742b9ff6">_RemminaPref::main_maximize</a></div><div class="ttdeci">gboolean main_maximize</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8h_source.html#l00219">remmina_pref.h:219</a></div></div>
<div class="ttc" id="struct___remmina_main_html_acacd90f3e6df6a864154edba01464ae2"><div class="ttname"><a href="struct___remmina_main.html#acacd90f3e6df6a864154edba01464ae2">_RemminaMain::statusbar_main</a></div><div class="ttdeci">GtkStatusbar * statusbar_main</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00081">remmina_main.h:81</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a8e21f782dd6e0a6d80f0f622898b2a48"><div class="ttname"><a href="struct___remmina_main.html#a8e21f782dd6e0a6d80f0f622898b2a48">_RemminaMain::column_files_list_plugin</a></div><div class="ttdeci">GtkTreeViewColumn * column_files_list_plugin</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00078">remmina_main.h:78</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a1cac4199e40e35bf3fcdb98841615657"><div class="ttname"><a href="remmina__main_8c.html#a1cac4199e40e35bf3fcdb98841615657">remmina_main_quick_search_on_changed</a></div><div class="ttdeci">void remmina_main_quick_search_on_changed(GtkEditable *editable, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01495">remmina_main.c:1495</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a1cac4199e40e35bf3fcdb98841615657"><div class="ttname"><a href="remmina__main_8c.html#a1cac4199e40e35bf3fcdb98841615657">remmina_main_quick_search_on_changed</a></div><div class="ttdeci">void remmina_main_quick_search_on_changed(GtkEditable *editable, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01513">remmina_main.c:1513</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a6ed9f6a588a2d9e3a6cf6884c8d07f92"><div class="ttname"><a href="remmina__main_8c.html#a6ed9f6a588a2d9e3a6cf6884c8d07f92">remmina_main_on_action_application_preferences</a></div><div class="ttdeci">void remmina_main_on_action_application_preferences(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01091">remmina_main.c:1091</a></div></div>
<div class="ttc" id="remmina__file__editor_8h_html"><div class="ttname"><a href="remmina__file__editor_8h.html">remmina_file_editor.h</a></div></div>
<div class="ttc" id="struct___remmina_main_html_ab7c6aebff1b06ef97c36bfa9d360b0c1"><div class="ttname"><a href="struct___remmina_main.html#ab7c6aebff1b06ef97c36bfa9d360b0c1">_RemminaMain::builder</a></div><div class="ttdeci">GtkBuilder * builder</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00049">remmina_main.h:49</a></div></div>
<div class="ttc" id="struct___remmina_main_priv_html"><div class="ttname"><a href="struct___remmina_main_priv.html">_RemminaMainPriv</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00089">remmina_main.h:89</a></div></div>
<div class="ttc" id="remmina__public_8c_html_a4573e086e1ff8507eb9447b25bf11b92"><div class="ttname"><a href="remmina__public_8c.html#a4573e086e1ff8507eb9447b25bf11b92">remmina_public_gtk_builder_new_from_resource</a></div><div class="ttdeci">GtkBuilder * remmina_public_gtk_builder_new_from_resource(gchar *resource)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__public_8c_source.html#l00572">remmina_public.c:572</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a10e574723222f5df9db456977e62a093"><div class="ttname"><a href="remmina__main_8c.html#a10e574723222f5df9db456977e62a093">remmina_main_on_action_connection_delete</a></div><div class="ttdeci">void remmina_main_on_action_connection_delete(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00977">remmina_main.c:977</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a1f5f9a964a75214d500e7a9fca1bd8a6"><div class="ttname"><a href="remmina__main_8c.html#a1f5f9a964a75214d500e7a9fca1bd8a6">is_empty</a></div><div class="ttdeci">static gboolean is_empty(const gchar *s)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01315">remmina_main.c:1315</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a1f5f9a964a75214d500e7a9fca1bd8a6"><div class="ttname"><a href="remmina__main_8c.html#a1f5f9a964a75214d500e7a9fca1bd8a6">is_empty</a></div><div class="ttdeci">static gboolean is_empty(const gchar *s)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01333">remmina_main.c:1333</a></div></div>
<div class="ttc" id="remmina__string__array_8c_html_a7f1c8e427a25c2d5cede3952b1d0ad90"><div class="ttname"><a href="remmina__string__array_8c.html#a7f1c8e427a25c2d5cede3952b1d0ad90">remmina_string_array_new_from_string</a></div><div class="ttdeci">RemminaStringArray * remmina_string_array_new_from_string(const gchar *strs)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__string__array_8c_source.html#l00051">remmina_string_array.c:51</a></div></div>
<div class="ttc" id="remmina__pref_8c_html_a9a8d02227eb703bccc3f9296a5d89d6f"><div class="ttname"><a href="remmina__pref_8c.html#a9a8d02227eb703bccc3f9296a5d89d6f">remmina_pref_get_boolean</a></div><div class="ttdeci">gboolean remmina_pref_get_boolean(const gchar *key)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8c_source.html#l01151">remmina_pref.c:1151</a></div></div>
<div class="ttc" id="struct___remmina_pref_html_ab43c3da7d8551c9df726996c540726f1"><div class="ttname"><a href="struct___remmina_pref.html#ab43c3da7d8551c9df726996c540726f1">_RemminaPref::view_file_mode</a></div><div class="ttdeci">gint view_file_mode</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8h_source.html#l00213">remmina_pref.h:213</a></div></div>
<div class="ttc" id="remmina__string__array_8c_html_aff90e964c6541b1af02adf7ea39e6e02"><div class="ttname"><a href="remmina__string__array_8c.html#aff90e964c6541b1af02adf7ea39e6e02">remmina_string_array_new</a></div><div class="ttdeci">RemminaStringArray * remmina_string_array_new(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__string__array_8c_source.html#l00044">remmina_string_array.c:44</a></div></div>
<div class="ttc" id="remmina__file_8c_html_a3d19095f74e9b7c92d74f11bd5a39a8c"><div class="ttname"><a href="remmina__file_8c.html#a3d19095f74e9b7c92d74f11bd5a39a8c">remmina_file_touch</a></div><div class="ttdeci">void remmina_file_touch(RemminaFile *remminafile)</div><div class="ttdoc">Update the atime and mtime of a given filename. </div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l01105">remmina_file.c:1105</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_aa9345cfe3fb32d326b652e96ee55eaea"><div class="ttname"><a href="remmina__file__editor_8c.html#aa9345cfe3fb32d326b652e96ee55eaea">remmina_file_editor_new_from_filename</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new_from_filename(const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l02073">remmina_file_editor.c:2073</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_aa9345cfe3fb32d326b652e96ee55eaea"><div class="ttname"><a href="remmina__file__editor_8c.html#aa9345cfe3fb32d326b652e96ee55eaea">remmina_file_editor_new_from_filename</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new_from_filename(const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l02058">remmina_file_editor.c:2058</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a385c44f6fb256e5716a2302a5b940388a6e22c76fbdeaa8f724eb996db2d528bb"><div class="ttname"><a href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a6e22c76fbdeaa8f724eb996db2d528bb">DATE_COLUMN</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00079">remmina_main.c:79</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a51880fc109db6457a5d0fc543c2deaf2"><div class="ttname"><a href="remmina__main_8c.html#a51880fc109db6457a5d0fc543c2deaf2">remmina_main_save_expanded_group_func</a></div><div class="ttdeci">static void remmina_main_save_expanded_group_func(GtkTreeView *tree_view, GtkTreePath *path, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00150">remmina_main.c:150</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_aa4d9b76d32fa500f4b9f39a19e4eaaf2"><div class="ttname"><a href="remmina__main_8c.html#aa4d9b76d32fa500f4b9f39a19e4eaaf2">remmina_main_on_show</a></div><div class="ttdeci">void remmina_main_on_show(GtkWidget *w, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01625">remmina_main.c:1625</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_afefc1b651e1c546e949dbe6df72b0300"><div class="ttname"><a href="remmina__main_8c.html#afefc1b651e1c546e949dbe6df72b0300">remmina_main_init</a></div><div class="ttdeci">static void remmina_main_init(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01553">remmina_main.c:1553</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_aa4d9b76d32fa500f4b9f39a19e4eaaf2"><div class="ttname"><a href="remmina__main_8c.html#aa4d9b76d32fa500f4b9f39a19e4eaaf2">remmina_main_on_show</a></div><div class="ttdeci">void remmina_main_on_show(GtkWidget *w, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01643">remmina_main.c:1643</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_afefc1b651e1c546e949dbe6df72b0300"><div class="ttname"><a href="remmina__main_8c.html#afefc1b651e1c546e949dbe6df72b0300">remmina_main_init</a></div><div class="ttdeci">static void remmina_main_init(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01571">remmina_main.c:1571</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a81f987e527d521be54aaf3f46dfe7ced"><div class="ttname"><a href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">_RemminaMain::tree_files_list</a></div><div class="ttdeci">GtkTreeView * tree_files_list</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00074">remmina_main.h:74</a></div></div>
<div class="ttc" id="remmina__main_8c_html_aa20963aed43242994c88d5a97a546355"><div class="ttname"><a href="remmina__main_8c.html#aa20963aed43242994c88d5a97a546355">remmina_main_select_file</a></div><div class="ttdeci">static void remmina_main_select_file(const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00618">remmina_main.c:618</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a40493bb60c169e53e2e08a0d0a808302"><div class="ttname"><a href="remmina__main_8c.html#a40493bb60c169e53e2e08a0d0a808302">remmina_main_on_delete_event</a></div><div class="ttdeci">gboolean remmina_main_on_delete_event(GtkWidget *widget, GdkEvent *event, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00225">remmina_main.c:225</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_aac3aa116a8d8b527f1aa61b7395b4b32"><div class="ttname"><a href="remmina__main_8c.html#aac3aa116a8d8b527f1aa61b7395b4b32">remmina_main_on_action_help_community</a></div><div class="ttdeci">void remmina_main_on_action_help_community(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01291">remmina_main.c:1291</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_aac3aa116a8d8b527f1aa61b7395b4b32"><div class="ttname"><a href="remmina__main_8c.html#aac3aa116a8d8b527f1aa61b7395b4b32">remmina_main_on_action_help_community</a></div><div class="ttdeci">void remmina_main_on_action_help_community(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01309">remmina_main.c:1309</a></div></div>
<div class="ttc" id="struct___remmina_main_html_ae3c2c0b9855bb44b5b9a27a3178d32e7"><div class="ttname"><a href="struct___remmina_main.html#ae3c2c0b9855bb44b5b9a27a3178d32e7">_RemminaMain::view_toggle_button</a></div><div class="ttdeci">GtkToggleButton * view_toggle_button</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00065">remmina_main.h:65</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a95532ac6d110eeeb2e41d4b2a329797c"><div class="ttname"><a href="remmina__main_8c.html#a95532ac6d110eeeb2e41d4b2a329797c">remmina_main_destroy</a></div><div class="ttdeci">void remmina_main_destroy()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00193">remmina_main.c:193</a></div></div>
<div class="ttc" id="remmina__file_8c_html_a5e421ba636d34e21bba5ece463e98892"><div class="ttname"><a href="remmina__file_8c.html#a5e421ba636d34e21bba5ece463e98892">remmina_file_new</a></div><div class="ttdeci">RemminaFile * remmina_file_new(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00093">remmina_file.c:93</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a56ac6ffe61c0d3663ebc6b26e65a8cbc"><div class="ttname"><a href="struct___remmina_main.html#a56ac6ffe61c0d3663ebc6b26e65a8cbc">_RemminaMain::column_files_list_group</a></div><div class="ttdeci">GtkTreeViewColumn * column_files_list_group</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00076">remmina_main.h:76</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_aba1a89a2400c5cc8373c6bd34602ac10"><div class="ttname"><a href="remmina__main_8c.html#aba1a89a2400c5cc8373c6bd34602ac10">remmina_main_file_list_on_row_activated</a></div><div class="ttdeci">void remmina_main_file_list_on_row_activated(GtkTreeView *tree, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01432">remmina_main.c:1432</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_aba1a89a2400c5cc8373c6bd34602ac10"><div class="ttname"><a href="remmina__main_8c.html#aba1a89a2400c5cc8373c6bd34602ac10">remmina_main_file_list_on_row_activated</a></div><div class="ttdeci">void remmina_main_file_list_on_row_activated(GtkTreeView *tree, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01450">remmina_main.c:1450</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a74cb130b886c2b905f651e777644a08c"><div class="ttname"><a href="remmina__main_8c.html#a74cb130b886c2b905f651e777644a08c">remmina_main_expand_group_traverse</a></div><div class="ttdeci">static void remmina_main_expand_group_traverse(GtkTreeIter *iter)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00417">remmina_main.c:417</a></div></div>
<div class="ttc" id="struct___remmina_main_priv_html_a467cf8ebc87ccdb68b9f88bce95c9f3a"><div class="ttname"><a href="struct___remmina_main_priv.html#a467cf8ebc87ccdb68b9f88bce95c9f3a">_RemminaMainPriv::expanded_group</a></div><div class="ttdeci">RemminaStringArray * expanded_group</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00099">remmina_main.h:99</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a3c5043279b5d98d4d08635d33402ea66"><div class="ttname"><a href="remmina__main_8c.html#a3c5043279b5d98d4d08635d33402ea66">remmina_main_selection_func</a></div><div class="ttdeci">static gboolean remmina_main_selection_func(GtkTreeSelection *selection, GtkTreeModel *model, GtkTreePath *path, gboolean path_currently_selected, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00322">remmina_main.c:322</a></div></div>
@@ -257,26 +257,27 @@ $(document).ready(function(){initNavTree('remmina__main_8c_source.html','');});
<div class="ttc" id="rcw_8c_html_a1b7a771392e15e527005305e71cc2546"><div class="ttname"><a href="rcw_8c.html#a1b7a771392e15e527005305e71cc2546">rcw_open_from_file</a></div><div class="ttdeci">void rcw_open_from_file(RemminaFile *remminafile)</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l04446">rcw.c:4446</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a3d60de4c121cae0c82e60b13873073db"><div class="ttname"><a href="remmina__main_8c.html#a3d60de4c121cae0c82e60b13873073db">remmina_main_on_date_column_sort_clicked</a></div><div class="ttdeci">void remmina_main_on_date_column_sort_clicked()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01151">remmina_main.c:1151</a></div></div>
<div class="ttc" id="rcw_8c_html_a29701ae152ba15f6d8921f395174d2df"><div class="ttname"><a href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a></div><div class="ttdeci">RemminaPref remmina_pref</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l00079">rcw.c:79</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a31102f8ca7440a22c1514bca17933193"><div class="ttname"><a href="remmina__main_8c.html#a31102f8ca7440a22c1514bca17933193">remmina_main_file_list_on_key_press</a></div><div class="ttdeci">gboolean remmina_main_file_list_on_key_press(GtkWidget *widget, GdkEventKey *event, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01473">remmina_main.c:1473</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a31102f8ca7440a22c1514bca17933193"><div class="ttname"><a href="remmina__main_8c.html#a31102f8ca7440a22c1514bca17933193">remmina_main_file_list_on_key_press</a></div><div class="ttdeci">gboolean remmina_main_file_list_on_key_press(GtkWidget *widget, GdkEventKey *event, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01491">remmina_main.c:1491</a></div></div>
<div class="ttc" id="remmina__file_8c_html_a4884356c195dcfb4ceacf641a1e74e66"><div class="ttname"><a href="remmina__file_8c.html#a4884356c195dcfb4ceacf641a1e74e66">remmina_file_get_int</a></div><div class="ttdeci">gint remmina_file_get_int(RemminaFile *remminafile, const gchar *setting, gint default_value)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00603">remmina_file.c:603</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a91f22c2834ac7f38d201d8d678f8c57b"><div class="ttname"><a href="remmina__main_8c.html#a91f22c2834ac7f38d201d8d678f8c57b">remmina_main_on_action_application_dark_theme</a></div><div class="ttdeci">void remmina_main_on_action_application_dark_theme(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01263">remmina_main.c:1263</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a91f22c2834ac7f38d201d8d678f8c57b"><div class="ttname"><a href="remmina__main_8c.html#a91f22c2834ac7f38d201d8d678f8c57b">remmina_main_on_action_application_dark_theme</a></div><div class="ttdeci">void remmina_main_on_action_application_dark_theme(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01281">remmina_main.c:1281</a></div></div>
<div class="ttc" id="remmina__about_8c_html_a3ad768979e0945a162018c6d596c90f4"><div class="ttname"><a href="remmina__about_8c.html#a3ad768979e0945a162018c6d596c90f4">remmina_about_open</a></div><div class="ttdeci">void remmina_about_open(GtkWindow *parent)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__about_8c_source.html#l00044">remmina_about.c:44</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_aa4e8657ca722e4cce3f3c42c0cfec51e"><div class="ttname"><a href="remmina__file__editor_8c.html#aa4e8657ca722e4cce3f3c42c0cfec51e">remmina_file_editor_new</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l02034">remmina_file_editor.c:2034</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_aa4e8657ca722e4cce3f3c42c0cfec51e"><div class="ttname"><a href="remmina__file__editor_8c.html#aa4e8657ca722e4cce3f3c42c0cfec51e">remmina_file_editor_new</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l02019">remmina_file_editor.c:2019</a></div></div>
<div class="ttc" id="remmina__pref_8h_html_aac34dfe6c6b73b43a4656c9dce041034a46530ebfd659963a54b7dae5702af1df"><div class="ttname"><a href="remmina__pref_8h.html#aac34dfe6c6b73b43a4656c9dce041034a46530ebfd659963a54b7dae5702af1df">REMMINA_VIEW_FILE_TREE</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8h_source.html#l00055">remmina_pref.h:55</a></div></div>
<div class="ttc" id="remmina__exec_8h_html_ae9dfd6986f18cb3d846a4933ac792fd5a94dfcc0fcf38aa8060ff843e40799284"><div class="ttname"><a href="remmina__exec_8h.html#ae9dfd6986f18cb3d846a4933ac792fd5a94dfcc0fcf38aa8060ff843e40799284">REMMINA_CONDEXIT_ONQUIT</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__exec_8h_source.html#l00060">remmina_exec.h:60</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_a3872c8656a8a3d5147bcc603471c1932"><div class="ttname"><a href="remmina__plugin__manager_8c.html#a3872c8656a8a3d5147bcc603471c1932">remmina_plugin_manager_get_plugin</a></div><div class="ttdeci">RemminaPlugin * remmina_plugin_manager_get_plugin(RemminaPluginType type, const gchar *name)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00438">remmina_plugin_manager.c:438</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a7be10e330f0c2a3f74e119cde443786f"><div class="ttname"><a href="remmina__main_8c.html#a7be10e330f0c2a3f74e119cde443786f">remmina_main_add_tool_plugin</a></div><div class="ttdeci">static gboolean remmina_main_add_tool_plugin(gchar *name, RemminaPlugin *plugin, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01534">remmina_main.c:1534</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a7be10e330f0c2a3f74e119cde443786f"><div class="ttname"><a href="remmina__main_8c.html#a7be10e330f0c2a3f74e119cde443786f">remmina_main_add_tool_plugin</a></div><div class="ttdeci">static gboolean remmina_main_add_tool_plugin(gchar *name, RemminaPlugin *plugin, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01552">remmina_main.c:1552</a></div></div>
<div class="ttc" id="remmina__pref_8h_html"><div class="ttname"><a href="remmina__pref_8h.html">remmina_pref.h</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a385c44f6fb256e5716a2302a5b940388a8c129f382d9456db6f671e1e6e99d32f"><div class="ttname"><a href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a8c129f382d9456db6f671e1e6e99d32f">SERVER_COLUMN</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00077">remmina_main.c:77</a></div></div>
<div class="ttc" id="struct___remmina_monitor_html_adaa8ac5463302ab18a45171b5e4618f1"><div class="ttname"><a href="struct___remmina_monitor.html#adaa8ac5463302ab18a45171b5e4618f1">_RemminaMonitor::connected</a></div><div class="ttdeci">gboolean connected</div><div class="ttdef"><b>Definition:</b> <a href="remmina__monitor_8h_source.html#l00045">remmina_monitor.h:45</a></div></div>
<div class="ttc" id="remmina__pref_8c_html_ae17aaf37449083a4322b6748c8f3a39f"><div class="ttname"><a href="remmina__pref_8c.html#ae17aaf37449083a4322b6748c8f3a39f">remmina_pref_save</a></div><div class="ttdeci">gboolean remmina_pref_save(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8c_source.html#l00778">remmina_pref.c:778</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a385c44f6fb256e5716a2302a5b940388a2b637b91fededa6eb7f4be69da080445"><div class="ttname"><a href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a2b637b91fededa6eb7f4be69da080445">PROTOCOL_COLUMN</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00074">remmina_main.c:74</a></div></div>
<div class="ttc" id="remmina__main_8c_html_adfbfc580d25b58d09770a7d33ffe03cc"><div class="ttname"><a href="remmina__main_8c.html#adfbfc580d25b58d09770a7d33ffe03cc">remmina_main_on_action_connection_edit</a></div><div class="ttdeci">void remmina_main_on_action_connection_edit(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00946">remmina_main.c:946</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_aac3fe305e456dfa7bb55aa2f057e8cb0"><div class="ttname"><a href="remmina__main_8c.html#aac3fe305e456dfa7bb55aa2f057e8cb0">remmina_main_toggle_password_view</a></div><div class="ttdeci">void remmina_main_toggle_password_view(GtkWidget *widget, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01161">remmina_main.c:1161</a></div></div>
<div class="ttc" id="struct___remmina_main_priv_html_a87a88c763f806d76fdee5a233c3ad7cd"><div class="ttname"><a href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">_RemminaMainPriv::file_model_sort</a></div><div class="ttdeci">GtkTreeModel * file_model_sort</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00092">remmina_main.h:92</a></div></div>
<div class="ttc" id="rcw_8c_html_aa37f2a9c56df0ce1a0dbc32f8989e4b5"><div class="ttname"><a href="rcw_8c.html#aa37f2a9c56df0ce1a0dbc32f8989e4b5">rcw_open_from_filename</a></div><div class="ttdeci">gboolean rcw_open_from_filename(const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l04398">rcw.c:4398</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a8ebbcba2c07af0938b3c29e316747d12"><div class="ttname"><a href="remmina__main_8c.html#a8ebbcba2c07af0938b3c29e316747d12">supported_mime_types</a></div><div class="ttdeci">static const gchar * supported_mime_types[]</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00087">remmina_main.c:87</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a385c44f6fb256e5716a2302a5b940388a1704de86134c42b13d2e5fd7cf7c903b"><div class="ttname"><a href="remmina__main_8c.html#a385c44f6fb256e5716a2302a5b940388a1704de86134c42b13d2e5fd7cf7c903b">GROUP_COLUMN</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00076">remmina_main.c:76</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_ab98d51c96a87fddaa2d5d6d4614bafa8"><div class="ttname"><a href="remmina__main_8c.html#ab98d51c96a87fddaa2d5d6d4614bafa8">remmina_main_on_action_expand</a></div><div class="ttdeci">void remmina_main_on_action_expand(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01425">remmina_main.c:1425</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_ab98d51c96a87fddaa2d5d6d4614bafa8"><div class="ttname"><a href="remmina__main_8c.html#ab98d51c96a87fddaa2d5d6d4614bafa8">remmina_main_on_action_expand</a></div><div class="ttdeci">void remmina_main_on_action_expand(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01443">remmina_main.c:1443</a></div></div>
<div class="ttc" id="struct___remmina_file_plugin_html_a8bf634ff09caba624ecf93c42e12af78"><div class="ttname"><a href="struct___remmina_file_plugin.html#a8bf634ff09caba624ecf93c42e12af78">_RemminaFilePlugin::export_func</a></div><div class="ttdeci">gboolean(* export_func)(struct _RemminaFilePlugin *instance, RemminaFile *file, const gchar *to_file)</div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00110">plugin.h:110</a></div></div>
<div class="ttc" id="remmina_8c_html_ab4a9a67c5372ff07b71d0558679ab7ae"><div class="ttname"><a href="remmina_8c.html#ab4a9a67c5372ff07b71d0558679ab7ae">kioskmode</a></div><div class="ttdeci">gboolean kioskmode</div><div class="ttdef"><b>Definition:</b> <a href="remmina_8c_source.html#l00087">remmina.c:87</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a82aa6f22340fc4f3df185aba7b01afc2"><div class="ttname"><a href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">_RemminaMain::window</a></div><div class="ttdeci">GtkWindow * window</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00050">remmina_main.h:50</a></div></div>
@@ -285,13 +286,13 @@ $(document).ready(function(){initNavTree('remmina__main_8c_source.html','');});
<div class="ttc" id="remmina__main_8c_html_aace9ecdd0b74d392ad6ed541bd605c1c"><div class="ttname"><a href="remmina__main_8c.html#aace9ecdd0b74d392ad6ed541bd605c1c">quick_connect_plugin_list</a></div><div class="ttdeci">static char * quick_connect_plugin_list[]</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00131">remmina_main.c:131</a></div></div>
<div class="ttc" id="remmina__file_8c_html_a8c893a5deec9bc446bd89cc9973416c7"><div class="ttname"><a href="remmina__file_8c.html#a8c893a5deec9bc446bd89cc9973416c7">remmina_file_save</a></div><div class="ttdeci">void remmina_file_save(RemminaFile *remminafile)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00730">remmina_file.c:730</a></div></div>
<div class="ttc" id="struct___remmina_main_html_ab743fa626843d8fbb669fbd01819aea9"><div class="ttname"><a href="struct___remmina_main.html#ab743fa626843d8fbb669fbd01819aea9">_RemminaMain::column_files_list_notes</a></div><div class="ttdeci">GtkTreeViewColumn * column_files_list_notes</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00080">remmina_main.h:80</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a802458852abacebfb16f1f4295806a01"><div class="ttname"><a href="remmina__main_8c.html#a802458852abacebfb16f1f4295806a01">remmina_main_quickconnect</a></div><div class="ttdeci">static gboolean remmina_main_quickconnect(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01327">remmina_main.c:1327</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a802458852abacebfb16f1f4295806a01"><div class="ttname"><a href="remmina__main_8c.html#a802458852abacebfb16f1f4295806a01">remmina_main_quickconnect</a></div><div class="ttdeci">static gboolean remmina_main_quickconnect(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01345">remmina_main.c:1345</a></div></div>
<div class="ttc" id="struct___remmina_pref_html_a320861799b86dc076d5f87e3a216eb95"><div class="ttname"><a href="struct___remmina_pref.html#a320861799b86dc076d5f87e3a216eb95">_RemminaPref::always_show_notes</a></div><div class="ttdeci">gboolean always_show_notes</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8h_source.html#l00153">remmina_pref.h:153</a></div></div>
<div class="ttc" id="remmina__string__array_8c_html_a2aaacca7db4b86f836486cfb559398f0"><div class="ttname"><a href="remmina__string__array_8c.html#a2aaacca7db4b86f836486cfb559398f0">remmina_string_array_add</a></div><div class="ttdeci">void remmina_string_array_add(RemminaStringArray *array, const gchar *str)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__string__array_8c_source.html#l00086">remmina_string_array.c:86</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a8ccd8303ada6e26880504fc58812fbda"><div class="ttname"><a href="remmina__main_8c.html#a8ccd8303ada6e26880504fc58812fbda">remmina_drop_types</a></div><div class="ttdeci">static GtkTargetEntry remmina_drop_types[]</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00126">remmina_main.c:126</a></div></div>
<div class="ttc" id="struct___remmina_main_html_aecb54d7c3dd1e86a16e24ea2e00d4ddd"><div class="ttname"><a href="struct___remmina_main.html#aecb54d7c3dd1e86a16e24ea2e00d4ddd">_RemminaMain::search_bar</a></div><div class="ttdeci">GtkSearchBar * search_bar</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00067">remmina_main.h:67</a></div></div>
<div class="ttc" id="remmina__main_8c_html_ab7c680e1f6ffeef21cb928a083d36d89"><div class="ttname"><a href="remmina__main_8c.html#ab7c680e1f6ffeef21cb928a083d36d89">remminamain</a></div><div class="ttdeci">static RemminaMain * remminamain</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00069">remmina_main.c:69</a></div></div>
-<div class="ttc" id="remmina__file__editor_8c_html_aa5c50852f8569f075eec5d5db30c2ebf"><div class="ttname"><a href="remmina__file__editor_8c.html#aa5c50852f8569f075eec5d5db30c2ebf">remmina_file_editor_new_copy</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new_copy(const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l02054">remmina_file_editor.c:2054</a></div></div>
+<div class="ttc" id="remmina__file__editor_8c_html_aa5c50852f8569f075eec5d5db30c2ebf"><div class="ttname"><a href="remmina__file__editor_8c.html#aa5c50852f8569f075eec5d5db30c2ebf">remmina_file_editor_new_copy</a></div><div class="ttdeci">GtkWidget * remmina_file_editor_new_copy(const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__editor_8c_source.html#l02039">remmina_file_editor.c:2039</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a5445e5568a6fc04d08b620829a59334a"><div class="ttname"><a href="remmina__main_8c.html#a5445e5568a6fc04d08b620829a59334a">remmina_main_on_action_application_quit</a></div><div class="ttdeci">void remmina_main_on_action_application_quit(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01143">remmina_main.c:1143</a></div></div>
<div class="ttc" id="struct___remmina_main_html_ac2eff9c56cc7830bcf9ca4bfdf216095"><div class="ttname"><a href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">_RemminaMain::entry_quick_connect_server</a></div><div class="ttdeci">GtkEntry * entry_quick_connect_server</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00071">remmina_main.h:71</a></div></div>
<div class="ttc" id="remmina__unlock_8c_html_a81e79e5c1c230b7e2bf27b2457801d4e"><div class="ttname"><a href="remmina__unlock_8c.html#a81e79e5c1c230b7e2bf27b2457801d4e">remmina_unlock_new</a></div><div class="ttdeci">gint remmina_unlock_new(GtkWindow *parent)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__unlock_8c_source.html#l00113">remmina_unlock.c:113</a></div></div>
@@ -303,24 +304,24 @@ $(document).ready(function(){initNavTree('remmina__main_8c_source.html','');});
<div class="ttc" id="remmina__pref__dialog_8c_html_ab09f64d25a5a016281a56edca7e2d70a"><div class="ttname"><a href="remmina__pref__dialog_8c.html#ab09f64d25a5a016281a56edca7e2d70a">remmina_pref_dialog_new</a></div><div class="ttdeci">GtkWidget * remmina_pref_dialog_new(gint default_tab, GtkWindow *parent)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref__dialog_8c_source.html#l00691">remmina_pref_dialog.c:691</a></div></div>
<div class="ttc" id="remmina__unlock_8h_html"><div class="ttname"><a href="remmina__unlock_8h.html">remmina_unlock.h</a></div></div>
<div class="ttc" id="remmina__file__manager_8c_html_a6593a3f297f420f012405fa582819857"><div class="ttname"><a href="remmina__file__manager_8c.html#a6593a3f297f420f012405fa582819857">remmina_file_manager_get_group_tree</a></div><div class="ttdeci">GNode * remmina_file_manager_get_group_tree(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__manager_8c_source.html#l00303">remmina_file_manager.c:303</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a9896df7a92402b5a61e58420235c515a"><div class="ttname"><a href="remmina__main_8c.html#a9896df7a92402b5a61e58420235c515a">remmina_main_on_action_search_toggle</a></div><div class="ttdeci">void remmina_main_on_action_search_toggle(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01402">remmina_main.c:1402</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a9896df7a92402b5a61e58420235c515a"><div class="ttname"><a href="remmina__main_8c.html#a9896df7a92402b5a61e58420235c515a">remmina_main_on_action_search_toggle</a></div><div class="ttdeci">void remmina_main_on_action_search_toggle(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01420">remmina_main.c:1420</a></div></div>
<div class="ttc" id="struct___remmina_main_priv_html_a0307278dd7770ab490f4687f2eb00e76"><div class="ttname"><a href="struct___remmina_main_priv.html#a0307278dd7770ab490f4687f2eb00e76">_RemminaMainPriv::override_view_file_mode_to_list</a></div><div class="ttdeci">gboolean override_view_file_mode_to_list</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00098">remmina_main.h:98</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_ab203476099a5ad6e889f91c8e05d577d"><div class="ttname"><a href="remmina__main_8c.html#ab203476099a5ad6e889f91c8e05d577d">remmina_main_on_action_tools_export</a></div><div class="ttdeci">void remmina_main_on_action_tools_export(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01228">remmina_main.c:1228</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_ab203476099a5ad6e889f91c8e05d577d"><div class="ttname"><a href="remmina__main_8c.html#ab203476099a5ad6e889f91c8e05d577d">remmina_main_on_action_tools_export</a></div><div class="ttdeci">void remmina_main_on_action_tools_export(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01246">remmina_main.c:1246</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a6a466d0b07944e619bd9b0e473c8a5bd"><div class="ttname"><a href="remmina__main_8c.html#a6a466d0b07944e619bd9b0e473c8a5bd">remmina_main_file_editor_destroy</a></div><div class="ttdeci">static void remmina_main_file_editor_destroy(GtkWidget *widget, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00805">remmina_main.c:805</a></div></div>
<div class="ttc" id="remmina__file__manager_8c_html_a55a717aafc046713380bd2c55f29165a"><div class="ttname"><a href="remmina__file__manager_8c.html#a55a717aafc046713380bd2c55f29165a">remmina_file_manager_iterate</a></div><div class="ttdeci">gint remmina_file_manager_iterate(GFunc func, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file__manager_8c_source.html#l00178">remmina_file_manager.c:178</a></div></div>
<div class="ttc" id="struct___remmina_pref_html_a7c139ee405d50330b1d9bfb646c0258c"><div class="ttname"><a href="struct___remmina_pref.html#a7c139ee405d50330b1d9bfb646c0258c">_RemminaPref::dark_theme</a></div><div class="ttdeci">gboolean dark_theme</div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8h_source.html#l00149">remmina_pref.h:149</a></div></div>
<div class="ttc" id="remmina__pref_8h_html_a0ed680fdb405e7195d9f14032851eebba84fe14d6d19ab0479931a6886178f2e3"><div class="ttname"><a href="remmina__pref_8h.html#a0ed680fdb405e7195d9f14032851eebba84fe14d6d19ab0479931a6886178f2e3">REMMINA_ACTION_EDIT</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__pref_8h_source.html#l00060">remmina_pref.h:60</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a4a4733c243f20c3ffc27105003f5e30e"><div class="ttname"><a href="remmina__main_8c.html#a4a4733c243f20c3ffc27105003f5e30e">remmina_main_expand_group</a></div><div class="ttdeci">static void remmina_main_expand_group(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00446">remmina_main.c:446</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_af51fc7233eb2397a5074ba37b5c5275f"><div class="ttname"><a href="remmina__main_8c.html#af51fc7233eb2397a5074ba37b5c5275f">remmina_main_quick_search_on_icon_press</a></div><div class="ttdeci">void remmina_main_quick_search_on_icon_press(GtkEntry *entry, GtkEntryIconPosition icon_pos, GdkEvent *event, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01488">remmina_main.c:1488</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_aea426b2e8fc03f963bb2b98cb8649adf"><div class="ttname"><a href="remmina__main_8c.html#aea426b2e8fc03f963bb2b98cb8649adf">remmina_main_on_accel_search_toggle</a></div><div class="ttdeci">void remmina_main_on_accel_search_toggle(RemminaMain *remminamain)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01419">remmina_main.c:1419</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_af51fc7233eb2397a5074ba37b5c5275f"><div class="ttname"><a href="remmina__main_8c.html#af51fc7233eb2397a5074ba37b5c5275f">remmina_main_quick_search_on_icon_press</a></div><div class="ttdeci">void remmina_main_quick_search_on_icon_press(GtkEntry *entry, GtkEntryIconPosition icon_pos, GdkEvent *event, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01506">remmina_main.c:1506</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_aea426b2e8fc03f963bb2b98cb8649adf"><div class="ttname"><a href="remmina__main_8c.html#aea426b2e8fc03f963bb2b98cb8649adf">remmina_main_on_accel_search_toggle</a></div><div class="ttdeci">void remmina_main_on_accel_search_toggle(RemminaMain *remminamain)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01437">remmina_main.c:1437</a></div></div>
<div class="ttc" id="remmina__file_8h_html"><div class="ttname"><a href="remmina__file_8h.html">remmina_file.h</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a3617295e74fa84edbd41dedc601402a7"><div class="ttname"><a href="remmina__main_8c.html#a3617295e74fa84edbd41dedc601402a7">remmina_main_load_files</a></div><div class="ttdeci">static void remmina_main_load_files()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00646">remmina_main.c:646</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a1ffeff8198ae0dc7c2461001118fcc5a"><div class="ttname"><a href="struct___remmina_main.html#a1ffeff8198ae0dc7c2461001118fcc5a">_RemminaMain::column_files_list_date</a></div><div class="ttdeci">GtkTreeViewColumn * column_files_list_date</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00079">remmina_main.h:79</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_aac0bb51159be042fecab0103e73a54dc"><div class="ttname"><a href="remmina__main_8c.html#aac0bb51159be042fecab0103e73a54dc">remmina_main_on_action_application_about</a></div><div class="ttdeci">void remmina_main_on_action_application_about(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01309">remmina_main.c:1309</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a85aa313453e0ecaa17bcce233973998d"><div class="ttname"><a href="remmina__main_8c.html#a85aa313453e0ecaa17bcce233973998d">remmina_main_action_tools_import_on_response</a></div><div class="ttdeci">static void remmina_main_action_tools_import_on_response(GtkDialog *dialog, gint response_id, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01204">remmina_main.c:1204</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_adf59ad5b0a0ef68e58bbea3701929efc"><div class="ttname"><a href="remmina__main_8c.html#adf59ad5b0a0ef68e58bbea3701929efc">remmina_main_on_action_application_plugins</a></div><div class="ttdeci">void remmina_main_on_action_application_plugins(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01257">remmina_main.c:1257</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_aac0bb51159be042fecab0103e73a54dc"><div class="ttname"><a href="remmina__main_8c.html#aac0bb51159be042fecab0103e73a54dc">remmina_main_on_action_application_about</a></div><div class="ttdeci">void remmina_main_on_action_application_about(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01327">remmina_main.c:1327</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a85aa313453e0ecaa17bcce233973998d"><div class="ttname"><a href="remmina__main_8c.html#a85aa313453e0ecaa17bcce233973998d">remmina_main_action_tools_import_on_response</a></div><div class="ttdeci">static void remmina_main_action_tools_import_on_response(GtkDialog *dialog, gint response_id, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01222">remmina_main.c:1222</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_adf59ad5b0a0ef68e58bbea3701929efc"><div class="ttname"><a href="remmina__main_8c.html#adf59ad5b0a0ef68e58bbea3701929efc">remmina_main_on_action_application_plugins</a></div><div class="ttdeci">void remmina_main_on_action_application_plugins(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01275">remmina_main.c:1275</a></div></div>
<div class="ttc" id="remmina__main_8c_html_a33ef5745d8b934ef52379c277d3a1ab2"><div class="ttname"><a href="remmina__main_8c.html#a33ef5745d8b934ef52379c277d3a1ab2">remmina_main_dexit</a></div><div class="ttdeci">static gboolean remmina_main_dexit(gpointer data)</div><div class="ttdoc">Try to exit remmina after a delete window event. </div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00218">remmina_main.c:218</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a210e9e04c7c97cc86412044de31f659d"><div class="ttname"><a href="remmina__main_8c.html#a210e9e04c7c97cc86412044de31f659d">remmina_main_quickconnect_on_click</a></div><div class="ttdeci">gboolean remmina_main_quickconnect_on_click(GtkWidget *widget, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01381">remmina_main.c:1381</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a210e9e04c7c97cc86412044de31f659d"><div class="ttname"><a href="remmina__main_8c.html#a210e9e04c7c97cc86412044de31f659d">remmina_main_quickconnect_on_click</a></div><div class="ttdeci">gboolean remmina_main_quickconnect_on_click(GtkWidget *widget, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01399">remmina_main.c:1399</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
diff --git a/public/remmina__main_8h.html b/public/remmina__main_8h.html
index ef0ac5a7c..a37c379b2 100644
--- a/public/remmina__main_8h.html
+++ b/public/remmina__main_8h.html
@@ -175,6 +175,8 @@ Functions</h2></td></tr>
<tr class="separator:a0edcc1d7dc3adcbb7bb36aa0f62dec3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9896df7a92402b5a61e58420235c515a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remmina__main_8h.html#a9896df7a92402b5a61e58420235c515a">remmina_main_on_action_search_toggle</a> (GSimpleAction *action, GVariant *param, gpointer data)</td></tr>
<tr class="separator:a9896df7a92402b5a61e58420235c515a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aac3fe305e456dfa7bb55aa2f057e8cb0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remmina__main_8h.html#aac3fe305e456dfa7bb55aa2f057e8cb0">remmina_main_toggle_password_view</a> (GtkWidget *widget, gpointer data)</td></tr>
+<tr class="separator:aac3fe305e456dfa7bb55aa2f057e8cb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bdf3fe7a3de2371f80adcbdcf50381d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="remmina__main_8h.html#a1bdf3fe7a3de2371f80adcbdcf50381d">remmina_main_reload_preferences</a> ()</td></tr>
<tr class="separator:a1bdf3fe7a3de2371f80adcbdcf50381d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
@@ -246,7 +248,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01718">1718</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01736">1736</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -266,7 +268,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01634">1634</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01652">1652</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -302,7 +304,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01309">1309</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01327">1327</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -338,7 +340,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01263">1263</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01281">1281</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -446,7 +448,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01257">1257</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01275">1275</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -554,7 +556,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01396">1396</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01414">1414</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -842,7 +844,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01425">1425</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01443">1443</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -878,7 +880,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01291">1291</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01309">1309</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -914,7 +916,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01303">1303</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01321">1321</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -950,7 +952,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01297">1297</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01315">1315</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -986,7 +988,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01279">1279</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01297">1297</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -1022,7 +1024,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01285">1285</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01303">1303</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -1058,7 +1060,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01402">1402</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01420">1420</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -1094,7 +1096,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01228">1228</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01246">1246</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -1130,7 +1132,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01216">1216</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01234">1234</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -1230,7 +1232,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01737">1737</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01755">1755</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -1250,7 +1252,37 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01747">1747</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01765">1765</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+
+</div>
+</div>
+<a id="aac3fe305e456dfa7bb55aa2f057e8cb0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aac3fe305e456dfa7bb55aa2f057e8cb0">&#9670;&nbsp;</a></span>remmina_main_toggle_password_view()</h2>
+
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void remmina_main_toggle_password_view </td>
+ <td>(</td>
+ <td class="paramtype">GtkWidget *&#160;</td>
+ <td class="paramname"><em>widget</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">gpointer&#160;</td>
+ <td class="paramname"><em>data</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01161">1161</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
@@ -1270,7 +1302,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01730">1730</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__main_8c_source.html#l01748">1748</a> of file <a class="el" href="remmina__main_8c_source.html">remmina_main.c</a>.</p>
</div>
</div>
diff --git a/public/remmina__main_8h.js b/public/remmina__main_8h.js
index 470985bce..3cc2f4545 100644
--- a/public/remmina__main_8h.js
+++ b/public/remmina__main_8h.js
@@ -36,5 +36,6 @@ var remmina__main_8h =
[ "remmina_main_save_before_destroy", "remmina__main_8h.html#a95cedb0d631aacbd1b4a5ee1e10a40a5", null ],
[ "remmina_main_show_dialog", "remmina__main_8h.html#ab2a1a54320992fb796850ffbd6a63589", null ],
[ "remmina_main_show_warning_dialog", "remmina__main_8h.html#ad99b9c0bf2fa8c166a8b4a09e06ffdf7", null ],
+ [ "remmina_main_toggle_password_view", "remmina__main_8h.html#aac3fe305e456dfa7bb55aa2f057e8cb0", null ],
[ "remmina_main_update_file_datetime", "remmina__main_8h.html#a5ae0372dafe41f96a09097c07d1b270a", null ]
]; \ No newline at end of file
diff --git a/public/remmina__main_8h_source.html b/public/remmina__main_8h_source.html
index 9bd1d24fa..451dbcae3 100644
--- a/public/remmina__main_8h_source.html
+++ b/public/remmina__main_8h_source.html
@@ -86,7 +86,7 @@ $(document).ready(function(){initNavTree('remmina__main_8h_source.html','');});
<div class="title">remmina_main.h</div> </div>
</div><!--header-->
<div class="contents">
-<a href="remmina__main_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Remmina - The GTK+ Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2009-2011 Vic Lee</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Copyright (C) 2016-2022 Antenore Gatta, Giovanni Panozzo</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * Copyright (C) 2022-2023 Antenore Gatta, Giovanni Panozzo, Hiroyuki Tanaka</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * along with this program; if not, write to the Free Software</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * In addition, as a special exception, the copyright holders give</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * permission to link the code of portions of this program with the</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * OpenSSL library under certain conditions as described in each</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * including the two.</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * You must obey the GNU General Public License in all respects</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * for all of the code used other than OpenSSL. * If you modify</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> * file(s) with this exception, you may extend this exception to your</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> * version of the file(s), but you are not obligated to do so. * If you</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> * do not wish to do so, delete this exception statement from your</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> * version. * If you delete this exception statement from all source</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"> * files in the program, then also delete it here.</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file_8h.html">remmina_file.h</a>&quot;</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__monitor_8h.html">remmina_monitor.h</a>&quot;</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#include &lt;gtk/gtk.h&gt;</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__string__array_8h.html">remmina_string_array.h</a>&quot;</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a49e7c1b5d4dcfd155886e39d78b3d052"> 46</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct___remmina_main_priv.html">_RemminaMainPriv</a> <a class="code" href="struct___remmina_main_priv.html">RemminaMainPriv</a>;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="struct___remmina_main.html"> 48</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct___remmina_main.html">_RemminaMain</a> {</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#ab7c6aebff1b06ef97c36bfa9d360b0c1"> 49</a></span>&#160; GtkBuilder * <a class="code" href="struct___remmina_main.html#ab7c6aebff1b06ef97c36bfa9d360b0c1">builder</a>;</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2"> 50</a></span>&#160; GtkWindow * <a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="comment">/* Menu widgets */</span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a2d6960ab62869638a77d2fe5bd72c7f6"> 52</a></span>&#160; GtkMenu * <a class="code" href="struct___remmina_main.html#a2d6960ab62869638a77d2fe5bd72c7f6">menu_popup</a>;</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#ab3be770af5f21758fa641b274ca967ec"> 53</a></span>&#160; GtkMenuButton * <a class="code" href="struct___remmina_main.html#ab3be770af5f21758fa641b274ca967ec">menu_header_button</a>;</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a1575015519fedca001bb26e129331b62"> 54</a></span>&#160; GtkMenu * <a class="code" href="struct___remmina_main.html#a1575015519fedca001bb26e129331b62">menu_popup_full</a>;</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a98a1ddd6aebc35c131f8de819a3d861f"> 55</a></span>&#160; GtkMenu * <a class="code" href="struct___remmina_main.html#a98a1ddd6aebc35c131f8de819a3d861f">menu_popup_delete_rc</a>;</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a6288ed69d372d1047ce94c74e77e0fd4"> 56</a></span>&#160; GtkRadioMenuItem * <a class="code" href="struct___remmina_main.html#a6288ed69d372d1047ce94c74e77e0fd4">menuitem_view_mode_list</a>;</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a670425eaf7430854a172ee0f41c4e5e0"> 57</a></span>&#160; GtkRadioMenuItem * <a class="code" href="struct___remmina_main.html#a670425eaf7430854a172ee0f41c4e5e0">menuitem_view_mode_tree</a>;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a37436a0fbd3d64082192826328fe063a"> 58</a></span>&#160; GtkMenuItem * <a class="code" href="struct___remmina_main.html#a37436a0fbd3d64082192826328fe063a">menuitem_connection_quit</a>;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="comment">/* Button new */</span></div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a4db5c4960c9dbe3e798528bacb31456e"> 60</a></span>&#160; GtkButton * <a class="code" href="struct___remmina_main.html#a4db5c4960c9dbe3e798528bacb31456e">button_new</a>;</div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a641297035bda72ca18ffe13816a44b21"> 61</a></span>&#160; GtkButton * <a class="code" href="struct___remmina_main.html#a641297035bda72ca18ffe13816a44b21">button_make_default</a>;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="comment">/* Search bar objects */</span></div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#acd8f3437eee668a2b8d905a16a16be72"> 63</a></span>&#160; GtkToggleButton * <a class="code" href="struct___remmina_main.html#acd8f3437eee668a2b8d905a16a16be72">search_toggle</a>;</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a912f2057752ad0779485c3303e3e9b04"> 64</a></span>&#160; GtkSwitch * <a class="code" href="struct___remmina_main.html#a912f2057752ad0779485c3303e3e9b04">switch_dark_mode</a>;</div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#ae3c2c0b9855bb44b5b9a27a3178d32e7"> 65</a></span>&#160; GtkToggleButton * <a class="code" href="struct___remmina_main.html#ae3c2c0b9855bb44b5b9a27a3178d32e7">view_toggle_button</a>;</div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#aa1e811e50525f5a74bb781f8c8a10670"> 66</a></span>&#160; GtkToggleButton * <a class="code" href="struct___remmina_main.html#aa1e811e50525f5a74bb781f8c8a10670">ustats_toggle</a>;</div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#aecb54d7c3dd1e86a16e24ea2e00d4ddd"> 67</a></span>&#160; GtkSearchBar * <a class="code" href="struct___remmina_main.html#aecb54d7c3dd1e86a16e24ea2e00d4ddd">search_bar</a>;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="comment">/* Quick connect objects */</span></div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a7b03d239c21141a202d0698492cfae95"> 69</a></span>&#160; GtkBox * <a class="code" href="struct___remmina_main.html#a7b03d239c21141a202d0698492cfae95">box_quick_connect</a>;</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a35f10af8065b3b64ba6f26db60061d39"> 70</a></span>&#160; GtkComboBoxText * <a class="code" href="struct___remmina_main.html#a35f10af8065b3b64ba6f26db60061d39">combo_quick_connect_protocol</a>;</div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095"> 71</a></span>&#160; GtkEntry * <a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>;</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#aebb188bd83f8dcfb80cad10e43181774"> 72</a></span>&#160; GtkButton * <a class="code" href="struct___remmina_main.html#aebb188bd83f8dcfb80cad10e43181774">button_quick_connect</a>;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="comment">/* Other widgets */</span></div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced"> 74</a></span>&#160; GtkTreeView * <a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#aa2b3c232b59da2278215d446b93db0e5"> 75</a></span>&#160; GtkTreeViewColumn * <a class="code" href="struct___remmina_main.html#aa2b3c232b59da2278215d446b93db0e5">column_files_list_name</a>;</div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a56ac6ffe61c0d3663ebc6b26e65a8cbc"> 76</a></span>&#160; GtkTreeViewColumn * <a class="code" href="struct___remmina_main.html#a56ac6ffe61c0d3663ebc6b26e65a8cbc">column_files_list_group</a>;</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a7db532834f4fd6360956cb0e2383b0fb"> 77</a></span>&#160; GtkTreeViewColumn * <a class="code" href="struct___remmina_main.html#a7db532834f4fd6360956cb0e2383b0fb">column_files_list_server</a>;</div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a8e21f782dd6e0a6d80f0f622898b2a48"> 78</a></span>&#160; GtkTreeViewColumn * <a class="code" href="struct___remmina_main.html#a8e21f782dd6e0a6d80f0f622898b2a48">column_files_list_plugin</a>;</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a1ffeff8198ae0dc7c2461001118fcc5a"> 79</a></span>&#160; GtkTreeViewColumn * <a class="code" href="struct___remmina_main.html#a1ffeff8198ae0dc7c2461001118fcc5a">column_files_list_date</a>;</div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#ab743fa626843d8fbb669fbd01819aea9"> 80</a></span>&#160; GtkTreeViewColumn * <a class="code" href="struct___remmina_main.html#ab743fa626843d8fbb669fbd01819aea9">column_files_list_notes</a>;</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#acacd90f3e6df6a864154edba01464ae2"> 81</a></span>&#160; GtkStatusbar * <a class="code" href="struct___remmina_main.html#acacd90f3e6df6a864154edba01464ae2">statusbar_main</a>;</div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a0995d06fd3cad6098f0ecfaca9ed616f"> 82</a></span>&#160; GtkWidget * <a class="code" href="struct___remmina_main.html#a0995d06fd3cad6098f0ecfaca9ed616f">network_icon</a>;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="comment">/* Non widget objects */</span></div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a0baa48aa1ed260cead7af434c3f69549"> 84</a></span>&#160; GtkAccelGroup * <a class="code" href="struct___remmina_main.html#a0baa48aa1ed260cead7af434c3f69549">accelgroup_shortcuts</a>;</div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980"> 85</a></span>&#160; <a class="code" href="struct___remmina_main_priv.html">RemminaMainPriv</a> * <a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>;</div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a0e6602776373cf6a198d249df6e87150"> 86</a></span>&#160; <a class="code" href="struct___remmina_monitor.html">RemminaMonitor</a> * <a class="code" href="struct___remmina_main.html#a0e6602776373cf6a198d249df6e87150">monitor</a>;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;} <a class="code" href="remmina__main_8h.html#ad17d9a48f2b3f84e17baa91104bc6cb1">RemminaMain</a>;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="struct___remmina_main_priv.html"> 89</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct___remmina_main_priv.html">_RemminaMainPriv</a> {</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="struct___remmina_main_priv.html#aec4c4540e9463a45b22a5c0b9108bc6f"> 90</a></span>&#160; GtkTreeModel * <a class="code" href="struct___remmina_main_priv.html#aec4c4540e9463a45b22a5c0b9108bc6f">file_model</a>;</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="struct___remmina_main_priv.html#ae1e1d579bdb2517bd0f86408b9d5f97c"> 91</a></span>&#160; GtkTreeModel * <a class="code" href="struct___remmina_main_priv.html#ae1e1d579bdb2517bd0f86408b9d5f97c">file_model_filter</a>;</div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd"> 92</a></span>&#160; GtkTreeModel * <a class="code" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">file_model_sort</a>;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="struct___remmina_main_priv.html#a7a4eb201dd185ba606af5c486ef55e7f"> 94</a></span>&#160; gboolean <a class="code" href="struct___remmina_main_priv.html#a7a4eb201dd185ba606af5c486ef55e7f">initialized</a>;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00"> 96</a></span>&#160; gchar * <a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>;</div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="struct___remmina_main_priv.html#a606c7e6dc78219e8e5536519db723a4d"> 97</a></span>&#160; gchar * <a class="code" href="struct___remmina_main_priv.html#a606c7e6dc78219e8e5536519db723a4d">selected_name</a>;</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="struct___remmina_main_priv.html#a0307278dd7770ab490f4687f2eb00e76"> 98</a></span>&#160; gboolean <a class="code" href="struct___remmina_main_priv.html#a0307278dd7770ab490f4687f2eb00e76">override_view_file_mode_to_list</a>;</div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="struct___remmina_main_priv.html#a467cf8ebc87ccdb68b9f88bce95c9f3a"> 99</a></span>&#160; <a class="code" href="remmina__string__array_8h.html#a62228cb0bc959307e3268cff98e1f7bb">RemminaStringArray</a> * <a class="code" href="struct___remmina_main_priv.html#a467cf8ebc87ccdb68b9f88bce95c9f3a">expanded_group</a>;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;};</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;G_BEGIN_DECLS</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment">/* Create the remminamain struct and the remmina main Remmina window */</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;GtkWidget *<a class="code" href="remmina__main_8h.html#a0c322c3136c4225d5f8d4cee318afce7">remmina_main_new</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment">/* Get the current main GTK window or NULL if not initialized */</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;GtkWindow *<a class="code" href="remmina__main_8h.html#a3948142732379a3d165f3b0b4d5f5abc">remmina_main_get_window</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a5ae0372dafe41f96a09097c07d1b270a">remmina_main_update_file_datetime</a>(<a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *file);</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a77d974da2ddd1ea7c87f8b9bb1eedda8">remmina_main_destroy</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a4d2d08c3fed3f72ea7f4c0600fec7ed5">remmina_main_on_destroy_event</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a95cedb0d631aacbd1b4a5ee1e10a40a5">remmina_main_save_before_destroy</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#ab2a1a54320992fb796850ffbd6a63589">remmina_main_show_dialog</a>(GtkMessageType msg, GtkButtonsType buttons, <span class="keyword">const</span> gchar* message);</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#ad99b9c0bf2fa8c166a8b4a09e06ffdf7">remmina_main_show_warning_dialog</a>(<span class="keyword">const</span> gchar *message);</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#aac0bb51159be042fecab0103e73a54dc">remmina_main_on_action_application_about</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a05dbb6ce820f3a137949b919d0efa6a1">remmina_main_on_action_application_default</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#abf51d42fa2c5ce84164b5514b4634229">remmina_main_on_action_application_mpchange</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#adf59ad5b0a0ef68e58bbea3701929efc">remmina_main_on_action_application_plugins</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a91f22c2834ac7f38d201d8d678f8c57b">remmina_main_on_action_application_dark_theme</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a6ed9f6a588a2d9e3a6cf6884c8d07f92">remmina_main_on_action_application_preferences</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a5445e5568a6fc04d08b620829a59334a">remmina_main_on_action_application_quit</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a6b30ed832369f3a7153aa63f98873c9d">remmina_main_on_action_connection_connect</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a44eb44c6391f53a19c6f1fdf9a39a8c1">remmina_main_on_action_connection_copy</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a10e574723222f5df9db456977e62a093">remmina_main_on_action_connection_delete</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#af56bada711b2fc9c50af83b8b62dfe8b">remmina_main_on_action_connection_delete_multiple</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#adfbfc580d25b58d09770a7d33ffe03cc">remmina_main_on_action_connection_edit</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#abcf8bd8ca57b389264ff9739a61efdc1">remmina_main_on_action_connection_external_tools</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a52cc21537ff003b9d0fbdb9040c811af">remmina_main_on_action_connection_new</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#aac3aa116a8d8b527f1aa61b7395b4b32">remmina_main_on_action_help_community</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a5db4436cc72b9d5ea3e498f8519efecc">remmina_main_on_action_help_debug</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a2704d643ee15702a84a1c76219dd5277">remmina_main_on_action_help_donations</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a7049d977154921f651cc1538f59c5b7a">remmina_main_on_action_help_homepage</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a0c32fe66988056b353220128611b9116">remmina_main_on_action_help_wiki</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#ab203476099a5ad6e889f91c8e05d577d">remmina_main_on_action_tools_export</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a4b4f0bbdb9e487d6c3809e8a57dc1d1c">remmina_main_on_action_tools_import</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#ab98d51c96a87fddaa2d5d6d4614bafa8">remmina_main_on_action_expand</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a0edcc1d7dc3adcbb7bb36aa0f62dec3a">remmina_main_on_action_collapse</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a9896df7a92402b5a61e58420235c515a">remmina_main_on_action_search_toggle</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a1bdf3fe7a3de2371f80adcbdcf50381d">remmina_main_reload_preferences</a>();</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;G_END_DECLS</div><div class="ttc" id="remmina__main_8h_html_adf59ad5b0a0ef68e58bbea3701929efc"><div class="ttname"><a href="remmina__main_8h.html#adf59ad5b0a0ef68e58bbea3701929efc">remmina_main_on_action_application_plugins</a></div><div class="ttdeci">void remmina_main_on_action_application_plugins(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01257">remmina_main.c:1257</a></div></div>
+<a href="remmina__main_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Remmina - The GTK+ Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2009-2011 Vic Lee</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Copyright (C) 2016-2022 Antenore Gatta, Giovanni Panozzo</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * Copyright (C) 2022-2023 Antenore Gatta, Giovanni Panozzo, Hiroyuki Tanaka</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * along with this program; if not, write to the Free Software</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * In addition, as a special exception, the copyright holders give</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * permission to link the code of portions of this program with the</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * OpenSSL library under certain conditions as described in each</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * including the two.</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * You must obey the GNU General Public License in all respects</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * for all of the code used other than OpenSSL. * If you modify</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> * file(s) with this exception, you may extend this exception to your</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> * version of the file(s), but you are not obligated to do so. * If you</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> * do not wish to do so, delete this exception statement from your</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> * version. * If you delete this exception statement from all source</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"> * files in the program, then also delete it here.</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__file_8h.html">remmina_file.h</a>&quot;</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__monitor_8h.html">remmina_monitor.h</a>&quot;</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#include &lt;gtk/gtk.h&gt;</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__string__array_8h.html">remmina_string_array.h</a>&quot;</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="remmina__main_8h.html#a49e7c1b5d4dcfd155886e39d78b3d052"> 46</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct___remmina_main_priv.html">_RemminaMainPriv</a> <a class="code" href="struct___remmina_main_priv.html">RemminaMainPriv</a>;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="struct___remmina_main.html"> 48</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct___remmina_main.html">_RemminaMain</a> {</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#ab7c6aebff1b06ef97c36bfa9d360b0c1"> 49</a></span>&#160; GtkBuilder * <a class="code" href="struct___remmina_main.html#ab7c6aebff1b06ef97c36bfa9d360b0c1">builder</a>;</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2"> 50</a></span>&#160; GtkWindow * <a class="code" href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">window</a>;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="comment">/* Menu widgets */</span></div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a2d6960ab62869638a77d2fe5bd72c7f6"> 52</a></span>&#160; GtkMenu * <a class="code" href="struct___remmina_main.html#a2d6960ab62869638a77d2fe5bd72c7f6">menu_popup</a>;</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#ab3be770af5f21758fa641b274ca967ec"> 53</a></span>&#160; GtkMenuButton * <a class="code" href="struct___remmina_main.html#ab3be770af5f21758fa641b274ca967ec">menu_header_button</a>;</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a1575015519fedca001bb26e129331b62"> 54</a></span>&#160; GtkMenu * <a class="code" href="struct___remmina_main.html#a1575015519fedca001bb26e129331b62">menu_popup_full</a>;</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a98a1ddd6aebc35c131f8de819a3d861f"> 55</a></span>&#160; GtkMenu * <a class="code" href="struct___remmina_main.html#a98a1ddd6aebc35c131f8de819a3d861f">menu_popup_delete_rc</a>;</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a6288ed69d372d1047ce94c74e77e0fd4"> 56</a></span>&#160; GtkRadioMenuItem * <a class="code" href="struct___remmina_main.html#a6288ed69d372d1047ce94c74e77e0fd4">menuitem_view_mode_list</a>;</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a670425eaf7430854a172ee0f41c4e5e0"> 57</a></span>&#160; GtkRadioMenuItem * <a class="code" href="struct___remmina_main.html#a670425eaf7430854a172ee0f41c4e5e0">menuitem_view_mode_tree</a>;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a37436a0fbd3d64082192826328fe063a"> 58</a></span>&#160; GtkMenuItem * <a class="code" href="struct___remmina_main.html#a37436a0fbd3d64082192826328fe063a">menuitem_connection_quit</a>;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="comment">/* Button new */</span></div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a4db5c4960c9dbe3e798528bacb31456e"> 60</a></span>&#160; GtkButton * <a class="code" href="struct___remmina_main.html#a4db5c4960c9dbe3e798528bacb31456e">button_new</a>;</div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a641297035bda72ca18ffe13816a44b21"> 61</a></span>&#160; GtkButton * <a class="code" href="struct___remmina_main.html#a641297035bda72ca18ffe13816a44b21">button_make_default</a>;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="comment">/* Search bar objects */</span></div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#acd8f3437eee668a2b8d905a16a16be72"> 63</a></span>&#160; GtkToggleButton * <a class="code" href="struct___remmina_main.html#acd8f3437eee668a2b8d905a16a16be72">search_toggle</a>;</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a912f2057752ad0779485c3303e3e9b04"> 64</a></span>&#160; GtkSwitch * <a class="code" href="struct___remmina_main.html#a912f2057752ad0779485c3303e3e9b04">switch_dark_mode</a>;</div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#ae3c2c0b9855bb44b5b9a27a3178d32e7"> 65</a></span>&#160; GtkToggleButton * <a class="code" href="struct___remmina_main.html#ae3c2c0b9855bb44b5b9a27a3178d32e7">view_toggle_button</a>;</div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#aa1e811e50525f5a74bb781f8c8a10670"> 66</a></span>&#160; GtkToggleButton * <a class="code" href="struct___remmina_main.html#aa1e811e50525f5a74bb781f8c8a10670">ustats_toggle</a>;</div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#aecb54d7c3dd1e86a16e24ea2e00d4ddd"> 67</a></span>&#160; GtkSearchBar * <a class="code" href="struct___remmina_main.html#aecb54d7c3dd1e86a16e24ea2e00d4ddd">search_bar</a>;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="comment">/* Quick connect objects */</span></div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a7b03d239c21141a202d0698492cfae95"> 69</a></span>&#160; GtkBox * <a class="code" href="struct___remmina_main.html#a7b03d239c21141a202d0698492cfae95">box_quick_connect</a>;</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a35f10af8065b3b64ba6f26db60061d39"> 70</a></span>&#160; GtkComboBoxText * <a class="code" href="struct___remmina_main.html#a35f10af8065b3b64ba6f26db60061d39">combo_quick_connect_protocol</a>;</div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095"> 71</a></span>&#160; GtkEntry * <a class="code" href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">entry_quick_connect_server</a>;</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#aebb188bd83f8dcfb80cad10e43181774"> 72</a></span>&#160; GtkButton * <a class="code" href="struct___remmina_main.html#aebb188bd83f8dcfb80cad10e43181774">button_quick_connect</a>;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="comment">/* Other widgets */</span></div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced"> 74</a></span>&#160; GtkTreeView * <a class="code" href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">tree_files_list</a>;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#aa2b3c232b59da2278215d446b93db0e5"> 75</a></span>&#160; GtkTreeViewColumn * <a class="code" href="struct___remmina_main.html#aa2b3c232b59da2278215d446b93db0e5">column_files_list_name</a>;</div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a56ac6ffe61c0d3663ebc6b26e65a8cbc"> 76</a></span>&#160; GtkTreeViewColumn * <a class="code" href="struct___remmina_main.html#a56ac6ffe61c0d3663ebc6b26e65a8cbc">column_files_list_group</a>;</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a7db532834f4fd6360956cb0e2383b0fb"> 77</a></span>&#160; GtkTreeViewColumn * <a class="code" href="struct___remmina_main.html#a7db532834f4fd6360956cb0e2383b0fb">column_files_list_server</a>;</div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a8e21f782dd6e0a6d80f0f622898b2a48"> 78</a></span>&#160; GtkTreeViewColumn * <a class="code" href="struct___remmina_main.html#a8e21f782dd6e0a6d80f0f622898b2a48">column_files_list_plugin</a>;</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a1ffeff8198ae0dc7c2461001118fcc5a"> 79</a></span>&#160; GtkTreeViewColumn * <a class="code" href="struct___remmina_main.html#a1ffeff8198ae0dc7c2461001118fcc5a">column_files_list_date</a>;</div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#ab743fa626843d8fbb669fbd01819aea9"> 80</a></span>&#160; GtkTreeViewColumn * <a class="code" href="struct___remmina_main.html#ab743fa626843d8fbb669fbd01819aea9">column_files_list_notes</a>;</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#acacd90f3e6df6a864154edba01464ae2"> 81</a></span>&#160; GtkStatusbar * <a class="code" href="struct___remmina_main.html#acacd90f3e6df6a864154edba01464ae2">statusbar_main</a>;</div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a0995d06fd3cad6098f0ecfaca9ed616f"> 82</a></span>&#160; GtkWidget * <a class="code" href="struct___remmina_main.html#a0995d06fd3cad6098f0ecfaca9ed616f">network_icon</a>;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="comment">/* Non widget objects */</span></div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a0baa48aa1ed260cead7af434c3f69549"> 84</a></span>&#160; GtkAccelGroup * <a class="code" href="struct___remmina_main.html#a0baa48aa1ed260cead7af434c3f69549">accelgroup_shortcuts</a>;</div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980"> 85</a></span>&#160; <a class="code" href="struct___remmina_main_priv.html">RemminaMainPriv</a> * <a class="code" href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">priv</a>;</div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="struct___remmina_main.html#a0e6602776373cf6a198d249df6e87150"> 86</a></span>&#160; <a class="code" href="struct___remmina_monitor.html">RemminaMonitor</a> * <a class="code" href="struct___remmina_main.html#a0e6602776373cf6a198d249df6e87150">monitor</a>;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;} <a class="code" href="remmina__main_8h.html#ad17d9a48f2b3f84e17baa91104bc6cb1">RemminaMain</a>;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="struct___remmina_main_priv.html"> 89</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct___remmina_main_priv.html">_RemminaMainPriv</a> {</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="struct___remmina_main_priv.html#aec4c4540e9463a45b22a5c0b9108bc6f"> 90</a></span>&#160; GtkTreeModel * <a class="code" href="struct___remmina_main_priv.html#aec4c4540e9463a45b22a5c0b9108bc6f">file_model</a>;</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="struct___remmina_main_priv.html#ae1e1d579bdb2517bd0f86408b9d5f97c"> 91</a></span>&#160; GtkTreeModel * <a class="code" href="struct___remmina_main_priv.html#ae1e1d579bdb2517bd0f86408b9d5f97c">file_model_filter</a>;</div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd"> 92</a></span>&#160; GtkTreeModel * <a class="code" href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">file_model_sort</a>;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="struct___remmina_main_priv.html#a7a4eb201dd185ba606af5c486ef55e7f"> 94</a></span>&#160; gboolean <a class="code" href="struct___remmina_main_priv.html#a7a4eb201dd185ba606af5c486ef55e7f">initialized</a>;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00"> 96</a></span>&#160; gchar * <a class="code" href="struct___remmina_main_priv.html#a092aebd62ba9fe50c899e416361c1d00">selected_filename</a>;</div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="struct___remmina_main_priv.html#a606c7e6dc78219e8e5536519db723a4d"> 97</a></span>&#160; gchar * <a class="code" href="struct___remmina_main_priv.html#a606c7e6dc78219e8e5536519db723a4d">selected_name</a>;</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="struct___remmina_main_priv.html#a0307278dd7770ab490f4687f2eb00e76"> 98</a></span>&#160; gboolean <a class="code" href="struct___remmina_main_priv.html#a0307278dd7770ab490f4687f2eb00e76">override_view_file_mode_to_list</a>;</div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="struct___remmina_main_priv.html#a467cf8ebc87ccdb68b9f88bce95c9f3a"> 99</a></span>&#160; <a class="code" href="remmina__string__array_8h.html#a62228cb0bc959307e3268cff98e1f7bb">RemminaStringArray</a> * <a class="code" href="struct___remmina_main_priv.html#a467cf8ebc87ccdb68b9f88bce95c9f3a">expanded_group</a>;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;};</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;G_BEGIN_DECLS</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment">/* Create the remminamain struct and the remmina main Remmina window */</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;GtkWidget *<a class="code" href="remmina__main_8h.html#a0c322c3136c4225d5f8d4cee318afce7">remmina_main_new</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment">/* Get the current main GTK window or NULL if not initialized */</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;GtkWindow *<a class="code" href="remmina__main_8h.html#a3948142732379a3d165f3b0b4d5f5abc">remmina_main_get_window</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a5ae0372dafe41f96a09097c07d1b270a">remmina_main_update_file_datetime</a>(<a class="code" href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a> *file);</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a77d974da2ddd1ea7c87f8b9bb1eedda8">remmina_main_destroy</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a4d2d08c3fed3f72ea7f4c0600fec7ed5">remmina_main_on_destroy_event</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a95cedb0d631aacbd1b4a5ee1e10a40a5">remmina_main_save_before_destroy</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#ab2a1a54320992fb796850ffbd6a63589">remmina_main_show_dialog</a>(GtkMessageType msg, GtkButtonsType buttons, <span class="keyword">const</span> gchar* message);</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#ad99b9c0bf2fa8c166a8b4a09e06ffdf7">remmina_main_show_warning_dialog</a>(<span class="keyword">const</span> gchar *message);</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#aac0bb51159be042fecab0103e73a54dc">remmina_main_on_action_application_about</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a05dbb6ce820f3a137949b919d0efa6a1">remmina_main_on_action_application_default</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#abf51d42fa2c5ce84164b5514b4634229">remmina_main_on_action_application_mpchange</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#adf59ad5b0a0ef68e58bbea3701929efc">remmina_main_on_action_application_plugins</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a91f22c2834ac7f38d201d8d678f8c57b">remmina_main_on_action_application_dark_theme</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a6ed9f6a588a2d9e3a6cf6884c8d07f92">remmina_main_on_action_application_preferences</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a5445e5568a6fc04d08b620829a59334a">remmina_main_on_action_application_quit</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a6b30ed832369f3a7153aa63f98873c9d">remmina_main_on_action_connection_connect</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a44eb44c6391f53a19c6f1fdf9a39a8c1">remmina_main_on_action_connection_copy</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a10e574723222f5df9db456977e62a093">remmina_main_on_action_connection_delete</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#af56bada711b2fc9c50af83b8b62dfe8b">remmina_main_on_action_connection_delete_multiple</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#adfbfc580d25b58d09770a7d33ffe03cc">remmina_main_on_action_connection_edit</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#abcf8bd8ca57b389264ff9739a61efdc1">remmina_main_on_action_connection_external_tools</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a52cc21537ff003b9d0fbdb9040c811af">remmina_main_on_action_connection_new</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#aac3aa116a8d8b527f1aa61b7395b4b32">remmina_main_on_action_help_community</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a5db4436cc72b9d5ea3e498f8519efecc">remmina_main_on_action_help_debug</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a2704d643ee15702a84a1c76219dd5277">remmina_main_on_action_help_donations</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a7049d977154921f651cc1538f59c5b7a">remmina_main_on_action_help_homepage</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a0c32fe66988056b353220128611b9116">remmina_main_on_action_help_wiki</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#ab203476099a5ad6e889f91c8e05d577d">remmina_main_on_action_tools_export</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a4b4f0bbdb9e487d6c3809e8a57dc1d1c">remmina_main_on_action_tools_import</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#ab98d51c96a87fddaa2d5d6d4614bafa8">remmina_main_on_action_expand</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a0edcc1d7dc3adcbb7bb36aa0f62dec3a">remmina_main_on_action_collapse</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a9896df7a92402b5a61e58420235c515a">remmina_main_on_action_search_toggle</a>(GSimpleAction *action, GVariant *param, gpointer data);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#aac3fe305e456dfa7bb55aa2f057e8cb0">remmina_main_toggle_password_view</a>(GtkWidget *widget, gpointer data);</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__main_8h.html#a1bdf3fe7a3de2371f80adcbdcf50381d">remmina_main_reload_preferences</a>();</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;G_END_DECLS</div><div class="ttc" id="remmina__main_8h_html_adf59ad5b0a0ef68e58bbea3701929efc"><div class="ttname"><a href="remmina__main_8h.html#adf59ad5b0a0ef68e58bbea3701929efc">remmina_main_on_action_application_plugins</a></div><div class="ttdeci">void remmina_main_on_action_application_plugins(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01275">remmina_main.c:1275</a></div></div>
<div class="ttc" id="struct___remmina_main_html_acd8f3437eee668a2b8d905a16a16be72"><div class="ttname"><a href="struct___remmina_main.html#acd8f3437eee668a2b8d905a16a16be72">_RemminaMain::search_toggle</a></div><div class="ttdeci">GtkToggleButton * search_toggle</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00063">remmina_main.h:63</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a6288ed69d372d1047ce94c74e77e0fd4"><div class="ttname"><a href="struct___remmina_main.html#a6288ed69d372d1047ce94c74e77e0fd4">_RemminaMain::menuitem_view_mode_list</a></div><div class="ttdeci">GtkRadioMenuItem * menuitem_view_mode_list</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00056">remmina_main.h:56</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a0995d06fd3cad6098f0ecfaca9ed616f"><div class="ttname"><a href="struct___remmina_main.html#a0995d06fd3cad6098f0ecfaca9ed616f">_RemminaMain::network_icon</a></div><div class="ttdeci">GtkWidget * network_icon</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00082">remmina_main.h:82</a></div></div>
@@ -97,7 +97,7 @@ $(document).ready(function(){initNavTree('remmina__main_8h_source.html','');});
<div class="ttc" id="struct___remmina_main_priv_html_aec4c4540e9463a45b22a5c0b9108bc6f"><div class="ttname"><a href="struct___remmina_main_priv.html#aec4c4540e9463a45b22a5c0b9108bc6f">_RemminaMainPriv::file_model</a></div><div class="ttdeci">GtkTreeModel * file_model</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00090">remmina_main.h:90</a></div></div>
<div class="ttc" id="remmina__main_8h_html_a77d974da2ddd1ea7c87f8b9bb1eedda8"><div class="ttname"><a href="remmina__main_8h.html#a77d974da2ddd1ea7c87f8b9bb1eedda8">remmina_main_destroy</a></div><div class="ttdeci">void remmina_main_destroy(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00193">remmina_main.c:193</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a45e6df8230d849a78e547fd542d76980"><div class="ttname"><a href="struct___remmina_main.html#a45e6df8230d849a78e547fd542d76980">_RemminaMain::priv</a></div><div class="ttdeci">RemminaMainPriv * priv</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00085">remmina_main.h:85</a></div></div>
-<div class="ttc" id="remmina__main_8h_html_a7049d977154921f651cc1538f59c5b7a"><div class="ttname"><a href="remmina__main_8h.html#a7049d977154921f651cc1538f59c5b7a">remmina_main_on_action_help_homepage</a></div><div class="ttdeci">void remmina_main_on_action_help_homepage(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01279">remmina_main.c:1279</a></div></div>
+<div class="ttc" id="remmina__main_8h_html_a7049d977154921f651cc1538f59c5b7a"><div class="ttname"><a href="remmina__main_8h.html#a7049d977154921f651cc1538f59c5b7a">remmina_main_on_action_help_homepage</a></div><div class="ttdeci">void remmina_main_on_action_help_homepage(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01297">remmina_main.c:1297</a></div></div>
<div class="ttc" id="types_8h_html_a112d7cc6c755209cabb68cf2a62ad515"><div class="ttname"><a href="types_8h.html#a112d7cc6c755209cabb68cf2a62ad515">RemminaFile</a></div><div class="ttdeci">typedefG_BEGIN_DECLS struct _RemminaFile RemminaFile</div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00044">types.h:44</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a37436a0fbd3d64082192826328fe063a"><div class="ttname"><a href="struct___remmina_main.html#a37436a0fbd3d64082192826328fe063a">_RemminaMain::menuitem_connection_quit</a></div><div class="ttdeci">GtkMenuItem * menuitem_connection_quit</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00058">remmina_main.h:58</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a670425eaf7430854a172ee0f41c4e5e0"><div class="ttname"><a href="struct___remmina_main.html#a670425eaf7430854a172ee0f41c4e5e0">_RemminaMain::menuitem_view_mode_tree</a></div><div class="ttdeci">GtkRadioMenuItem * menuitem_view_mode_tree</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00057">remmina_main.h:57</a></div></div>
@@ -105,22 +105,22 @@ $(document).ready(function(){initNavTree('remmina__main_8h_source.html','');});
<div class="ttc" id="struct___remmina_main_html_a98a1ddd6aebc35c131f8de819a3d861f"><div class="ttname"><a href="struct___remmina_main.html#a98a1ddd6aebc35c131f8de819a3d861f">_RemminaMain::menu_popup_delete_rc</a></div><div class="ttdeci">GtkMenu * menu_popup_delete_rc</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00055">remmina_main.h:55</a></div></div>
<div class="ttc" id="struct___remmina_main_html"><div class="ttname"><a href="struct___remmina_main.html">_RemminaMain</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00048">remmina_main.h:48</a></div></div>
<div class="ttc" id="struct___remmina_monitor_html"><div class="ttname"><a href="struct___remmina_monitor.html">_RemminaMonitor</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__monitor_8h_source.html#l00043">remmina_monitor.h:43</a></div></div>
-<div class="ttc" id="remmina__main_8h_html_ab98d51c96a87fddaa2d5d6d4614bafa8"><div class="ttname"><a href="remmina__main_8h.html#ab98d51c96a87fddaa2d5d6d4614bafa8">remmina_main_on_action_expand</a></div><div class="ttdeci">void remmina_main_on_action_expand(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01425">remmina_main.c:1425</a></div></div>
-<div class="ttc" id="remmina__main_8h_html_a5db4436cc72b9d5ea3e498f8519efecc"><div class="ttname"><a href="remmina__main_8h.html#a5db4436cc72b9d5ea3e498f8519efecc">remmina_main_on_action_help_debug</a></div><div class="ttdeci">void remmina_main_on_action_help_debug(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01303">remmina_main.c:1303</a></div></div>
+<div class="ttc" id="remmina__main_8h_html_ab98d51c96a87fddaa2d5d6d4614bafa8"><div class="ttname"><a href="remmina__main_8h.html#ab98d51c96a87fddaa2d5d6d4614bafa8">remmina_main_on_action_expand</a></div><div class="ttdeci">void remmina_main_on_action_expand(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01443">remmina_main.c:1443</a></div></div>
+<div class="ttc" id="remmina__main_8h_html_a5db4436cc72b9d5ea3e498f8519efecc"><div class="ttname"><a href="remmina__main_8h.html#a5db4436cc72b9d5ea3e498f8519efecc">remmina_main_on_action_help_debug</a></div><div class="ttdeci">void remmina_main_on_action_help_debug(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01321">remmina_main.c:1321</a></div></div>
<div class="ttc" id="remmina__main_8h_html_a44eb44c6391f53a19c6f1fdf9a39a8c1"><div class="ttname"><a href="remmina__main_8h.html#a44eb44c6391f53a19c6f1fdf9a39a8c1">remmina_main_on_action_connection_copy</a></div><div class="ttdeci">void remmina_main_on_action_connection_copy(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00910">remmina_main.c:910</a></div></div>
-<div class="ttc" id="remmina__main_8h_html_a0c322c3136c4225d5f8d4cee318afce7"><div class="ttname"><a href="remmina__main_8h.html#a0c322c3136c4225d5f8d4cee318afce7">remmina_main_new</a></div><div class="ttdeci">G_BEGIN_DECLS GtkWidget * remmina_main_new(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01634">remmina_main.c:1634</a></div></div>
-<div class="ttc" id="remmina__main_8h_html_a4b4f0bbdb9e487d6c3809e8a57dc1d1c"><div class="ttname"><a href="remmina__main_8h.html#a4b4f0bbdb9e487d6c3809e8a57dc1d1c">remmina_main_on_action_tools_import</a></div><div class="ttdeci">void remmina_main_on_action_tools_import(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01216">remmina_main.c:1216</a></div></div>
+<div class="ttc" id="remmina__main_8h_html_a0c322c3136c4225d5f8d4cee318afce7"><div class="ttname"><a href="remmina__main_8h.html#a0c322c3136c4225d5f8d4cee318afce7">remmina_main_new</a></div><div class="ttdeci">G_BEGIN_DECLS GtkWidget * remmina_main_new(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01652">remmina_main.c:1652</a></div></div>
+<div class="ttc" id="remmina__main_8h_html_a4b4f0bbdb9e487d6c3809e8a57dc1d1c"><div class="ttname"><a href="remmina__main_8h.html#a4b4f0bbdb9e487d6c3809e8a57dc1d1c">remmina_main_on_action_tools_import</a></div><div class="ttdeci">void remmina_main_on_action_tools_import(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01234">remmina_main.c:1234</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a912f2057752ad0779485c3303e3e9b04"><div class="ttname"><a href="struct___remmina_main.html#a912f2057752ad0779485c3303e3e9b04">_RemminaMain::switch_dark_mode</a></div><div class="ttdeci">GtkSwitch * switch_dark_mode</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00064">remmina_main.h:64</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a0baa48aa1ed260cead7af434c3f69549"><div class="ttname"><a href="struct___remmina_main.html#a0baa48aa1ed260cead7af434c3f69549">_RemminaMain::accelgroup_shortcuts</a></div><div class="ttdeci">GtkAccelGroup * accelgroup_shortcuts</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00084">remmina_main.h:84</a></div></div>
-<div class="ttc" id="remmina__main_8h_html_a91f22c2834ac7f38d201d8d678f8c57b"><div class="ttname"><a href="remmina__main_8h.html#a91f22c2834ac7f38d201d8d678f8c57b">remmina_main_on_action_application_dark_theme</a></div><div class="ttdeci">void remmina_main_on_action_application_dark_theme(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01263">remmina_main.c:1263</a></div></div>
+<div class="ttc" id="remmina__main_8h_html_a91f22c2834ac7f38d201d8d678f8c57b"><div class="ttname"><a href="remmina__main_8h.html#a91f22c2834ac7f38d201d8d678f8c57b">remmina_main_on_action_application_dark_theme</a></div><div class="ttdeci">void remmina_main_on_action_application_dark_theme(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01281">remmina_main.c:1281</a></div></div>
<div class="ttc" id="struct___remmina_main_priv_html_ae1e1d579bdb2517bd0f86408b9d5f97c"><div class="ttname"><a href="struct___remmina_main_priv.html#ae1e1d579bdb2517bd0f86408b9d5f97c">_RemminaMainPriv::file_model_filter</a></div><div class="ttdeci">GtkTreeModel * file_model_filter</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00091">remmina_main.h:91</a></div></div>
<div class="ttc" id="struct___remmina_main_priv_html_a606c7e6dc78219e8e5536519db723a4d"><div class="ttname"><a href="struct___remmina_main_priv.html#a606c7e6dc78219e8e5536519db723a4d">_RemminaMainPriv::selected_name</a></div><div class="ttdeci">gchar * selected_name</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00097">remmina_main.h:97</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a0e6602776373cf6a198d249df6e87150"><div class="ttname"><a href="struct___remmina_main.html#a0e6602776373cf6a198d249df6e87150">_RemminaMain::monitor</a></div><div class="ttdeci">RemminaMonitor * monitor</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00086">remmina_main.h:86</a></div></div>
<div class="ttc" id="remmina__main_8h_html_a10e574723222f5df9db456977e62a093"><div class="ttname"><a href="remmina__main_8h.html#a10e574723222f5df9db456977e62a093">remmina_main_on_action_connection_delete</a></div><div class="ttdeci">void remmina_main_on_action_connection_delete(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00977">remmina_main.c:977</a></div></div>
-<div class="ttc" id="remmina__main_8h_html_aac0bb51159be042fecab0103e73a54dc"><div class="ttname"><a href="remmina__main_8h.html#aac0bb51159be042fecab0103e73a54dc">remmina_main_on_action_application_about</a></div><div class="ttdeci">void remmina_main_on_action_application_about(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01309">remmina_main.c:1309</a></div></div>
+<div class="ttc" id="remmina__main_8h_html_aac0bb51159be042fecab0103e73a54dc"><div class="ttname"><a href="remmina__main_8h.html#aac0bb51159be042fecab0103e73a54dc">remmina_main_on_action_application_about</a></div><div class="ttdeci">void remmina_main_on_action_application_about(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01327">remmina_main.c:1327</a></div></div>
<div class="ttc" id="struct___remmina_main_html_ab3be770af5f21758fa641b274ca967ec"><div class="ttname"><a href="struct___remmina_main.html#ab3be770af5f21758fa641b274ca967ec">_RemminaMain::menu_header_button</a></div><div class="ttdeci">GtkMenuButton * menu_header_button</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00053">remmina_main.h:53</a></div></div>
-<div class="ttc" id="remmina__main_8h_html_ab2a1a54320992fb796850ffbd6a63589"><div class="ttname"><a href="remmina__main_8h.html#ab2a1a54320992fb796850ffbd6a63589">remmina_main_show_dialog</a></div><div class="ttdeci">void remmina_main_show_dialog(GtkMessageType msg, GtkButtonsType buttons, const gchar *message)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01737">remmina_main.c:1737</a></div></div>
-<div class="ttc" id="remmina__main_8h_html_a9896df7a92402b5a61e58420235c515a"><div class="ttname"><a href="remmina__main_8h.html#a9896df7a92402b5a61e58420235c515a">remmina_main_on_action_search_toggle</a></div><div class="ttdeci">void remmina_main_on_action_search_toggle(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01402">remmina_main.c:1402</a></div></div>
+<div class="ttc" id="remmina__main_8h_html_ab2a1a54320992fb796850ffbd6a63589"><div class="ttname"><a href="remmina__main_8h.html#ab2a1a54320992fb796850ffbd6a63589">remmina_main_show_dialog</a></div><div class="ttdeci">void remmina_main_show_dialog(GtkMessageType msg, GtkButtonsType buttons, const gchar *message)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01755">remmina_main.c:1755</a></div></div>
+<div class="ttc" id="remmina__main_8h_html_a9896df7a92402b5a61e58420235c515a"><div class="ttname"><a href="remmina__main_8h.html#a9896df7a92402b5a61e58420235c515a">remmina_main_on_action_search_toggle</a></div><div class="ttdeci">void remmina_main_on_action_search_toggle(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01420">remmina_main.c:1420</a></div></div>
<div class="ttc" id="remmina__main_8h_html_a6ed9f6a588a2d9e3a6cf6884c8d07f92"><div class="ttname"><a href="remmina__main_8h.html#a6ed9f6a588a2d9e3a6cf6884c8d07f92">remmina_main_on_action_application_preferences</a></div><div class="ttdeci">void remmina_main_on_action_application_preferences(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01091">remmina_main.c:1091</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a2d6960ab62869638a77d2fe5bd72c7f6"><div class="ttname"><a href="struct___remmina_main.html#a2d6960ab62869638a77d2fe5bd72c7f6">_RemminaMain::menu_popup</a></div><div class="ttdeci">GtkMenu * menu_popup</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00052">remmina_main.h:52</a></div></div>
<div class="ttc" id="remmina__main_8h_html_a1bdf3fe7a3de2371f80adcbdcf50381d"><div class="ttname"><a href="remmina__main_8h.html#a1bdf3fe7a3de2371f80adcbdcf50381d">remmina_main_reload_preferences</a></div><div class="ttdeci">void remmina_main_reload_preferences()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01077">remmina_main.c:1077</a></div></div>
@@ -130,7 +130,7 @@ $(document).ready(function(){initNavTree('remmina__main_8h_source.html','');});
<div class="ttc" id="remmina__main_8h_html_af56bada711b2fc9c50af83b8b62dfe8b"><div class="ttname"><a href="remmina__main_8h.html#af56bada711b2fc9c50af83b8b62dfe8b">remmina_main_on_action_connection_delete_multiple</a></div><div class="ttdeci">void remmina_main_on_action_connection_delete_multiple(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01011">remmina_main.c:1011</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a7b03d239c21141a202d0698492cfae95"><div class="ttname"><a href="struct___remmina_main.html#a7b03d239c21141a202d0698492cfae95">_RemminaMain::box_quick_connect</a></div><div class="ttdeci">GtkBox * box_quick_connect</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00069">remmina_main.h:69</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a7db532834f4fd6360956cb0e2383b0fb"><div class="ttname"><a href="struct___remmina_main.html#a7db532834f4fd6360956cb0e2383b0fb">_RemminaMain::column_files_list_server</a></div><div class="ttdeci">GtkTreeViewColumn * column_files_list_server</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00077">remmina_main.h:77</a></div></div>
-<div class="ttc" id="remmina__main_8h_html_aac3aa116a8d8b527f1aa61b7395b4b32"><div class="ttname"><a href="remmina__main_8h.html#aac3aa116a8d8b527f1aa61b7395b4b32">remmina_main_on_action_help_community</a></div><div class="ttdeci">void remmina_main_on_action_help_community(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01291">remmina_main.c:1291</a></div></div>
+<div class="ttc" id="remmina__main_8h_html_aac3aa116a8d8b527f1aa61b7395b4b32"><div class="ttname"><a href="remmina__main_8h.html#aac3aa116a8d8b527f1aa61b7395b4b32">remmina_main_on_action_help_community</a></div><div class="ttdeci">void remmina_main_on_action_help_community(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01309">remmina_main.c:1309</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a4db5c4960c9dbe3e798528bacb31456e"><div class="ttname"><a href="struct___remmina_main.html#a4db5c4960c9dbe3e798528bacb31456e">_RemminaMain::button_new</a></div><div class="ttdeci">GtkButton * button_new</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00060">remmina_main.h:60</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a1575015519fedca001bb26e129331b62"><div class="ttname"><a href="struct___remmina_main.html#a1575015519fedca001bb26e129331b62">_RemminaMain::menu_popup_full</a></div><div class="ttdeci">GtkMenu * menu_popup_full</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00054">remmina_main.h:54</a></div></div>
<div class="ttc" id="struct___remmina_main_html_acacd90f3e6df6a864154edba01464ae2"><div class="ttname"><a href="struct___remmina_main.html#acacd90f3e6df6a864154edba01464ae2">_RemminaMain::statusbar_main</a></div><div class="ttdeci">GtkStatusbar * statusbar_main</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00081">remmina_main.h:81</a></div></div>
@@ -140,30 +140,31 @@ $(document).ready(function(){initNavTree('remmina__main_8h_source.html','');});
<div class="ttc" id="struct___remmina_main_html_ab7c6aebff1b06ef97c36bfa9d360b0c1"><div class="ttname"><a href="struct___remmina_main.html#ab7c6aebff1b06ef97c36bfa9d360b0c1">_RemminaMain::builder</a></div><div class="ttdeci">GtkBuilder * builder</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00049">remmina_main.h:49</a></div></div>
<div class="ttc" id="struct___remmina_main_priv_html"><div class="ttname"><a href="struct___remmina_main_priv.html">_RemminaMainPriv</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00089">remmina_main.h:89</a></div></div>
<div class="ttc" id="struct___remmina_main_html_aebb188bd83f8dcfb80cad10e43181774"><div class="ttname"><a href="struct___remmina_main.html#aebb188bd83f8dcfb80cad10e43181774">_RemminaMain::button_quick_connect</a></div><div class="ttdeci">GtkButton * button_quick_connect</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00072">remmina_main.h:72</a></div></div>
-<div class="ttc" id="remmina__main_8h_html_ab203476099a5ad6e889f91c8e05d577d"><div class="ttname"><a href="remmina__main_8h.html#ab203476099a5ad6e889f91c8e05d577d">remmina_main_on_action_tools_export</a></div><div class="ttdeci">void remmina_main_on_action_tools_export(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01228">remmina_main.c:1228</a></div></div>
-<div class="ttc" id="remmina__main_8h_html_a3948142732379a3d165f3b0b4d5f5abc"><div class="ttname"><a href="remmina__main_8h.html#a3948142732379a3d165f3b0b4d5f5abc">remmina_main_get_window</a></div><div class="ttdeci">GtkWindow * remmina_main_get_window(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01718">remmina_main.c:1718</a></div></div>
+<div class="ttc" id="remmina__main_8h_html_ab203476099a5ad6e889f91c8e05d577d"><div class="ttname"><a href="remmina__main_8h.html#ab203476099a5ad6e889f91c8e05d577d">remmina_main_on_action_tools_export</a></div><div class="ttdeci">void remmina_main_on_action_tools_export(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01246">remmina_main.c:1246</a></div></div>
+<div class="ttc" id="remmina__main_8h_html_aac3fe305e456dfa7bb55aa2f057e8cb0"><div class="ttname"><a href="remmina__main_8h.html#aac3fe305e456dfa7bb55aa2f057e8cb0">remmina_main_toggle_password_view</a></div><div class="ttdeci">void remmina_main_toggle_password_view(GtkWidget *widget, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01161">remmina_main.c:1161</a></div></div>
+<div class="ttc" id="remmina__main_8h_html_a3948142732379a3d165f3b0b4d5f5abc"><div class="ttname"><a href="remmina__main_8h.html#a3948142732379a3d165f3b0b4d5f5abc">remmina_main_get_window</a></div><div class="ttdeci">GtkWindow * remmina_main_get_window(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01736">remmina_main.c:1736</a></div></div>
<div class="ttc" id="remmina__main_8h_html_abf51d42fa2c5ce84164b5514b4634229"><div class="ttname"><a href="remmina__main_8h.html#abf51d42fa2c5ce84164b5514b4634229">remmina_main_on_action_application_mpchange</a></div><div class="ttdeci">void remmina_main_on_action_application_mpchange(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00814">remmina_main.c:814</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a81f987e527d521be54aaf3f46dfe7ced"><div class="ttname"><a href="struct___remmina_main.html#a81f987e527d521be54aaf3f46dfe7ced">_RemminaMain::tree_files_list</a></div><div class="ttdeci">GtkTreeView * tree_files_list</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00074">remmina_main.h:74</a></div></div>
<div class="ttc" id="struct___remmina_main_html_ae3c2c0b9855bb44b5b9a27a3178d32e7"><div class="ttname"><a href="struct___remmina_main.html#ae3c2c0b9855bb44b5b9a27a3178d32e7">_RemminaMain::view_toggle_button</a></div><div class="ttdeci">GtkToggleButton * view_toggle_button</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00065">remmina_main.h:65</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a56ac6ffe61c0d3663ebc6b26e65a8cbc"><div class="ttname"><a href="struct___remmina_main.html#a56ac6ffe61c0d3663ebc6b26e65a8cbc">_RemminaMain::column_files_list_group</a></div><div class="ttdeci">GtkTreeViewColumn * column_files_list_group</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00076">remmina_main.h:76</a></div></div>
<div class="ttc" id="struct___remmina_main_priv_html_a467cf8ebc87ccdb68b9f88bce95c9f3a"><div class="ttname"><a href="struct___remmina_main_priv.html#a467cf8ebc87ccdb68b9f88bce95c9f3a">_RemminaMainPriv::expanded_group</a></div><div class="ttdeci">RemminaStringArray * expanded_group</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00099">remmina_main.h:99</a></div></div>
<div class="ttc" id="remmina__main_8h_html_adfbfc580d25b58d09770a7d33ffe03cc"><div class="ttname"><a href="remmina__main_8h.html#adfbfc580d25b58d09770a7d33ffe03cc">remmina_main_on_action_connection_edit</a></div><div class="ttdeci">void remmina_main_on_action_connection_edit(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00946">remmina_main.c:946</a></div></div>
-<div class="ttc" id="remmina__main_8h_html_ad99b9c0bf2fa8c166a8b4a09e06ffdf7"><div class="ttname"><a href="remmina__main_8h.html#ad99b9c0bf2fa8c166a8b4a09e06ffdf7">remmina_main_show_warning_dialog</a></div><div class="ttdeci">void remmina_main_show_warning_dialog(const gchar *message)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01747">remmina_main.c:1747</a></div></div>
+<div class="ttc" id="remmina__main_8h_html_ad99b9c0bf2fa8c166a8b4a09e06ffdf7"><div class="ttname"><a href="remmina__main_8h.html#ad99b9c0bf2fa8c166a8b4a09e06ffdf7">remmina_main_show_warning_dialog</a></div><div class="ttdeci">void remmina_main_show_warning_dialog(const gchar *message)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01765">remmina_main.c:1765</a></div></div>
<div class="ttc" id="remmina__main_8h_html_a05dbb6ce820f3a137949b919d0efa6a1"><div class="ttname"><a href="remmina__main_8h.html#a05dbb6ce820f3a137949b919d0efa6a1">remmina_main_on_action_application_default</a></div><div class="ttdeci">void remmina_main_on_action_application_default(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01115">remmina_main.c:1115</a></div></div>
<div class="ttc" id="struct___remmina_main_priv_html_a87a88c763f806d76fdee5a233c3ad7cd"><div class="ttname"><a href="struct___remmina_main_priv.html#a87a88c763f806d76fdee5a233c3ad7cd">_RemminaMainPriv::file_model_sort</a></div><div class="ttdeci">GtkTreeModel * file_model_sort</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00092">remmina_main.h:92</a></div></div>
-<div class="ttc" id="remmina__main_8h_html_a5ae0372dafe41f96a09097c07d1b270a"><div class="ttname"><a href="remmina__main_8h.html#a5ae0372dafe41f96a09097c07d1b270a">remmina_main_update_file_datetime</a></div><div class="ttdeci">void remmina_main_update_file_datetime(RemminaFile *file)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01730">remmina_main.c:1730</a></div></div>
+<div class="ttc" id="remmina__main_8h_html_a5ae0372dafe41f96a09097c07d1b270a"><div class="ttname"><a href="remmina__main_8h.html#a5ae0372dafe41f96a09097c07d1b270a">remmina_main_update_file_datetime</a></div><div class="ttdeci">void remmina_main_update_file_datetime(RemminaFile *file)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01748">remmina_main.c:1748</a></div></div>
<div class="ttc" id="remmina__main_8h_html_a6b30ed832369f3a7153aa63f98873c9d"><div class="ttname"><a href="remmina__main_8h.html#a6b30ed832369f3a7153aa63f98873c9d">remmina_main_on_action_connection_connect</a></div><div class="ttdeci">void remmina_main_on_action_connection_connect(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00768">remmina_main.c:768</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a82aa6f22340fc4f3df185aba7b01afc2"><div class="ttname"><a href="struct___remmina_main.html#a82aa6f22340fc4f3df185aba7b01afc2">_RemminaMain::window</a></div><div class="ttdeci">GtkWindow * window</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00050">remmina_main.h:50</a></div></div>
<div class="ttc" id="remmina__main_8h_html_a5445e5568a6fc04d08b620829a59334a"><div class="ttname"><a href="remmina__main_8h.html#a5445e5568a6fc04d08b620829a59334a">remmina_main_on_action_application_quit</a></div><div class="ttdeci">void remmina_main_on_action_application_quit(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01143">remmina_main.c:1143</a></div></div>
<div class="ttc" id="struct___remmina_main_html_aa1e811e50525f5a74bb781f8c8a10670"><div class="ttname"><a href="struct___remmina_main.html#aa1e811e50525f5a74bb781f8c8a10670">_RemminaMain::ustats_toggle</a></div><div class="ttdeci">GtkToggleButton * ustats_toggle</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00066">remmina_main.h:66</a></div></div>
<div class="ttc" id="remmina__main_8h_html_a52cc21537ff003b9d0fbdb9040c811af"><div class="ttname"><a href="remmina__main_8h.html#a52cc21537ff003b9d0fbdb9040c811af">remmina_main_on_action_connection_new</a></div><div class="ttdeci">void remmina_main_on_action_connection_new(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l00851">remmina_main.c:851</a></div></div>
-<div class="ttc" id="remmina__main_8h_html_a0edcc1d7dc3adcbb7bb36aa0f62dec3a"><div class="ttname"><a href="remmina__main_8h.html#a0edcc1d7dc3adcbb7bb36aa0f62dec3a">remmina_main_on_action_collapse</a></div><div class="ttdeci">void remmina_main_on_action_collapse(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01396">remmina_main.c:1396</a></div></div>
+<div class="ttc" id="remmina__main_8h_html_a0edcc1d7dc3adcbb7bb36aa0f62dec3a"><div class="ttname"><a href="remmina__main_8h.html#a0edcc1d7dc3adcbb7bb36aa0f62dec3a">remmina_main_on_action_collapse</a></div><div class="ttdeci">void remmina_main_on_action_collapse(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01414">remmina_main.c:1414</a></div></div>
<div class="ttc" id="struct___remmina_main_html_a641297035bda72ca18ffe13816a44b21"><div class="ttname"><a href="struct___remmina_main.html#a641297035bda72ca18ffe13816a44b21">_RemminaMain::button_make_default</a></div><div class="ttdeci">GtkButton * button_make_default</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00061">remmina_main.h:61</a></div></div>
-<div class="ttc" id="remmina__main_8h_html_a2704d643ee15702a84a1c76219dd5277"><div class="ttname"><a href="remmina__main_8h.html#a2704d643ee15702a84a1c76219dd5277">remmina_main_on_action_help_donations</a></div><div class="ttdeci">void remmina_main_on_action_help_donations(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01297">remmina_main.c:1297</a></div></div>
+<div class="ttc" id="remmina__main_8h_html_a2704d643ee15702a84a1c76219dd5277"><div class="ttname"><a href="remmina__main_8h.html#a2704d643ee15702a84a1c76219dd5277">remmina_main_on_action_help_donations</a></div><div class="ttdeci">void remmina_main_on_action_help_donations(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01315">remmina_main.c:1315</a></div></div>
<div class="ttc" id="struct___remmina_main_html_ab743fa626843d8fbb669fbd01819aea9"><div class="ttname"><a href="struct___remmina_main.html#ab743fa626843d8fbb669fbd01819aea9">_RemminaMain::column_files_list_notes</a></div><div class="ttdeci">GtkTreeViewColumn * column_files_list_notes</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00080">remmina_main.h:80</a></div></div>
<div class="ttc" id="struct___remmina_main_html_aecb54d7c3dd1e86a16e24ea2e00d4ddd"><div class="ttname"><a href="struct___remmina_main.html#aecb54d7c3dd1e86a16e24ea2e00d4ddd">_RemminaMain::search_bar</a></div><div class="ttdeci">GtkSearchBar * search_bar</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00067">remmina_main.h:67</a></div></div>
<div class="ttc" id="struct___remmina_main_html_ac2eff9c56cc7830bcf9ca4bfdf216095"><div class="ttname"><a href="struct___remmina_main.html#ac2eff9c56cc7830bcf9ca4bfdf216095">_RemminaMain::entry_quick_connect_server</a></div><div class="ttdeci">GtkEntry * entry_quick_connect_server</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00071">remmina_main.h:71</a></div></div>
-<div class="ttc" id="remmina__main_8h_html_a0c32fe66988056b353220128611b9116"><div class="ttname"><a href="remmina__main_8h.html#a0c32fe66988056b353220128611b9116">remmina_main_on_action_help_wiki</a></div><div class="ttdeci">void remmina_main_on_action_help_wiki(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01285">remmina_main.c:1285</a></div></div>
+<div class="ttc" id="remmina__main_8h_html_a0c32fe66988056b353220128611b9116"><div class="ttname"><a href="remmina__main_8h.html#a0c32fe66988056b353220128611b9116">remmina_main_on_action_help_wiki</a></div><div class="ttdeci">void remmina_main_on_action_help_wiki(GSimpleAction *action, GVariant *param, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01303">remmina_main.c:1303</a></div></div>
<div class="ttc" id="struct___remmina_main_priv_html_a0307278dd7770ab490f4687f2eb00e76"><div class="ttname"><a href="struct___remmina_main_priv.html#a0307278dd7770ab490f4687f2eb00e76">_RemminaMainPriv::override_view_file_mode_to_list</a></div><div class="ttdeci">gboolean override_view_file_mode_to_list</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8h_source.html#l00098">remmina_main.h:98</a></div></div>
<div class="ttc" id="remmina__main_8h_html_ad17d9a48f2b3f84e17baa91104bc6cb1"><div class="ttname"><a href="remmina__main_8h.html#ad17d9a48f2b3f84e17baa91104bc6cb1">RemminaMain</a></div><div class="ttdeci">struct _RemminaMain RemminaMain</div></div>
<div class="ttc" id="remmina__file_8h_html"><div class="ttname"><a href="remmina__file_8h.html">remmina_file.h</a></div></div>
diff --git a/public/remmina__message__panel_8c.html b/public/remmina__message__panel_8c.html
index 630bd874d..fcffc0626 100644
--- a/public/remmina__message__panel_8c.html
+++ b/public/remmina__message__panel_8c.html
@@ -177,7 +177,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00054">54</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00055">55</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -215,7 +215,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00110">110</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00111">111</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -243,7 +243,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00071">71</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00072">72</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -273,7 +273,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00775">775</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00779">779</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -303,7 +303,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00703">703</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00707">707</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -333,7 +333,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00739">739</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00743">743</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -369,7 +369,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00758">758</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00762">762</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -405,7 +405,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00687">687</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00691">691</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -441,7 +441,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00721">721</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00725">725</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -461,7 +461,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00652">652</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00656">656</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -489,7 +489,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00066">66</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00067">67</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -509,7 +509,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00087">87</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00088">88</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -539,7 +539,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00793">793</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00797">797</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -593,7 +593,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00282">282</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00283">283</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -629,7 +629,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00480">480</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00484">484</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -671,7 +671,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00174">174</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00175">175</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -713,7 +713,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00127">127</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00128">128</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -755,7 +755,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00213">213</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00214">214</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -780,7 +780,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00064">64</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00065">65</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -804,7 +804,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00060">60</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00061">61</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
diff --git a/public/remmina__message__panel_8c_source.html b/public/remmina__message__panel_8c_source.html
index 4915b76d7..85f67cf64 100644
--- a/public/remmina__message__panel_8c_source.html
+++ b/public/remmina__message__panel_8c_source.html
@@ -86,51 +86,53 @@ $(document).ready(function(){initNavTree('remmina__message__panel_8c_source.html
<div class="title">remmina_message_panel.c</div> </div>
</div><!--header-->
<div class="contents">
-<a href="remmina__message__panel_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Remmina - The GTK+ Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2009-2011 Vic Lee</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Copyright (C) 2016-2023 Antenore Gatta, Giovanni Panozzo</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * along with this program; if not, write to the Free Software</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> * In addition, as a special exception, the copyright holders give</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * permission to link the code of portions of this program with the</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * OpenSSL library under certain conditions as described in each</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * including the two.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * You must obey the GNU General Public License in all respects</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * for all of the code used other than OpenSSL. * If you modify</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * file(s) with this exception, you may extend this exception to your</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> * version of the file(s), but you are not obligated to do so. * If you</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> * do not wish to do so, delete this exception statement from your</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> * version. * If you delete this exception statement from all source</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> * files in the program, then also delete it here.</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;glib/gi18n.h&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &quot;config.h&quot;</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__public_8h.html">remmina_public.h</a>&quot;</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__widget__pool_8h.html">remmina_widget_pool.h</a>&quot;</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__message__panel_8h.html">remmina_message_panel.h</a>&quot;</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__masterthread__exec_8h.html">remmina_masterthread_exec.h</a>&quot;</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__trace__calls_8h.html">remmina/remmina_trace_calls.h</a>&quot;</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="struct_remmina_message_panel_private.html"> 46</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;{</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="struct_remmina_message_panel_private.html#a9766a5c72bd815501e2ba0a5ac8cd283"> 49</a></span>&#160; <a class="code" href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a">RemminaMessagePanelCallback</a> <a class="code" href="struct_remmina_message_panel_private.html#a9766a5c72bd815501e2ba0a5ac8cd283">response_callback</a>;</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="struct_remmina_message_panel_private.html#a6595dbe739d97d82e36c6e0878bcf1d4"> 50</a></span>&#160; <span class="keywordtype">void</span> *<a class="code" href="struct_remmina_message_panel_private.html#a6595dbe739d97d82e36c6e0878bcf1d4">response_callback_data</a>;</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8"> 51</a></span>&#160; GtkWidget *w[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8ae335afb8ce18f75a427da98b1d84f10a">REMMINA_MESSAGE_PANEL_MAXWIDGETID</a>];</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;} <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a>;</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="remmina__message__panel_8c.html#ad3ce5558696c03b0355b44b7f1b0d31e"> 54</a></span>&#160;<a class="code" href="remmina__message__panel_8c.html#ad3ce5558696c03b0355b44b7f1b0d31e">G_DEFINE_TYPE_WITH_PRIVATE</a> (RemminaMessagePanel, remmina_message_panel, GTK_TYPE_BOX)</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="keyword">enum</span> {</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; RESPONSE,</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="rcw_8c.html#adf764cbdea00d65edcd07bb9953ad2b7a0c34d85df8279641afad9e3c9b3a54ce">LAST_SIGNAL</a></div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="remmina__message__panel_8c.html#ad7824aab39b78f2b1b1ce661213f8f1c"> 60</a></span>&#160;};</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="keyword">static</span> guint <a class="code" href="remmina__message__panel_8c.html#ad7824aab39b78f2b1b1ce661213f8f1c">messagepanel_signals</a>[<a class="code" href="rcw_8c.html#adf764cbdea00d65edcd07bb9953ad2b7a0c34d85df8279641afad9e3c9b3a54ce">LAST_SIGNAL</a>];</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="remmina__message__panel_8c.html#ac93f8305d443470b429d0bf723e30953"> 64</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> gchar <a class="code" href="remmina__message__panel_8c.html#ac93f8305d443470b429d0bf723e30953">btn_response_key</a>[] = <span class="stringliteral">&quot;btn_response&quot;</span>;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="remmina__message__panel_8c.html#ab6b5ef1f109af9209f76d194dd704a8c"> 66</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8c.html#ab6b5ef1f109af9209f76d194dd704a8c">remmina_message_panel_init</a> (RemminaMessagePanel *mp)</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;{</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;}</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="remmina__message__panel_8c.html#a6ed806c022986b81ef4db70e6d89abc9"> 71</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8c.html#a6ed806c022986b81ef4db70e6d89abc9">remmina_message_panel_class_init</a>(RemminaMessagePanelClass *<span class="keyword">class</span>)</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;{</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="comment">// class-&gt;transform_text = my_app_label_real_transform_text;</span></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <a class="code" href="remmina__message__panel_8c.html#ad7824aab39b78f2b1b1ce661213f8f1c">messagepanel_signals</a>[RESPONSE] =</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; g_signal_new (<span class="stringliteral">&quot;response&quot;</span>,</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; G_OBJECT_CLASS_TYPE (<span class="keyword">class</span>),</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; G_SIGNAL_RUN_LAST,</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; G_STRUCT_OFFSET (RemminaMessagePanelClass, response),</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; NULL, NULL,</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; NULL,</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; G_TYPE_NONE, 1,</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; G_TYPE_INT);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;}</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#adf4a7707360c836ba312a2c7286db294"> 87</a></span>&#160;RemminaMessagePanel *<a class="code" href="remmina__message__panel_8c.html#a7015155d2b1db3e74de4d4d5ef7cca55">remmina_message_panel_new</a>()</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;{</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; RemminaMessagePanel* mp;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; mp = (RemminaMessagePanel*)g_object_new(REMMINA_TYPE_MESSAGE_PANEL,</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="stringliteral">&quot;orientation&quot;</span>, GTK_ORIENTATION_VERTICAL,</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="stringliteral">&quot;spacing&quot;</span>, 0,</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; NULL);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a9766a5c72bd815501e2ba0a5ac8cd283">response_callback</a> = NULL;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a6595dbe739d97d82e36c6e0878bcf1d4">response_callback_data</a> = NULL;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="comment">/* Set widget class, for CSS styling */</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="comment">// gtk_widget_set_name(GTK_WIDGET(mp), &quot;remmina-cw-message-panel&quot;);</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; gtk_style_context_add_class(gtk_widget_get_style_context(GTK_WIDGET(mp)), <span class="stringliteral">&quot;message_panel&quot;</span>);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; gtk_style_context_add_class(gtk_widget_get_style_context(GTK_WIDGET(mp)), <span class="stringliteral">&quot;background&quot;</span>);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">return</span> mp;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;}</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="remmina__message__panel_8c.html#abd857d6074d031de315fed1ffe0b6062"> 110</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8c.html#abd857d6074d031de315fed1ffe0b6062">remmina_message_panel_button_clicked_callback</a>(</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; GtkButton *button, gpointer user_data)</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;{</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; RemminaMessagePanel *mp = (RemminaMessagePanel*)user_data;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; gint btn_data;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; btn_data = (gint)((gint64)g_object_get_data(G_OBJECT(button), <a class="code" href="remmina__message__panel_8c.html#ac93f8305d443470b429d0bf723e30953">btn_response_key</a>));</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="comment">/* Calls the callback, if defined */</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">if</span> (priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a9766a5c72bd815501e2ba0a5ac8cd283">response_callback</a> != NULL)</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; (*priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a9766a5c72bd815501e2ba0a5ac8cd283">response_callback</a>)(priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a6595dbe739d97d82e36c6e0878bcf1d4">response_callback_data</a>, btn_data);</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;}</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#afae4072b7d8b54392ec08da7d6ead620"> 127</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8c.html#afae4072b7d8b54392ec08da7d6ead620">remmina_message_panel_setup_progress</a>(RemminaMessagePanel *mp, <span class="keyword">const</span> gchar *message, <a class="code" href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a">RemminaMessagePanelCallback</a> response_callback, gpointer response_callback_data)</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;{</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="comment">/*</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> * Setup a message panel to show a spinner, a message like &quot;Connecting…&quot;,</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> * and a button to cancel the action in progress</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; GtkBox *hbox;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; GtkWidget *w;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">if</span> ( !<a class="code" href="remmina__masterthread__exec_8c.html#a3a52e863a3a3da6da6bb5d36c13b7ff4">remmina_masterthread_exec_is_main_thread</a>() ) {</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; printf(<span class="stringliteral">&quot;WARNING: %s called in a subthread. This should not happen.\n&quot;</span>, __func__);</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keyword">raise</span>(SIGINT);</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; }</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; hbox = GTK_BOX(gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0));</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="comment">/* A spinner */</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; w = gtk_spinner_new();</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; gtk_box_pack_start(hbox, w, FALSE, FALSE, 0);</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; gtk_spinner_start(GTK_SPINNER(w));</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="comment">/* A message */</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; w = gtk_label_new(message);</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; gtk_box_pack_start(hbox, w, TRUE, TRUE, 0);</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a9766a5c72bd815501e2ba0a5ac8cd283">response_callback</a> = response_callback;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a6595dbe739d97d82e36c6e0878bcf1d4">response_callback_data</a> = response_callback_data;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="comment">/* A button to cancel the action. The cancel button is available</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> * only when a response_callback function is defined. */</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">if</span> (response_callback) {</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; w = gtk_button_new_with_label(_(<span class="stringliteral">&quot;Cancel&quot;</span>));</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; gtk_box_pack_end(hbox, w, FALSE, FALSE, 0);</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; g_object_set_data(G_OBJECT(w), <a class="code" href="remmina__message__panel_8c.html#ac93f8305d443470b429d0bf723e30953">btn_response_key</a>, (<span class="keywordtype">void</span> *)GTK_RESPONSE_CANCEL);</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; g_signal_connect(G_OBJECT(w), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__message__panel_8c.html#abd857d6074d031de315fed1ffe0b6062">remmina_message_panel_button_clicked_callback</a>), mp);</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; }</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; gtk_box_pack_start(GTK_BOX(mp), GTK_WIDGET(hbox), TRUE, TRUE, 0);</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; gtk_widget_show_all(GTK_WIDGET(mp));</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;}</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;</div><div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#ae01d27ae9f678dc5a4fa32f0b401f434"> 174</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8c.html#ae01d27ae9f678dc5a4fa32f0b401f434">remmina_message_panel_setup_message</a>(RemminaMessagePanel *mp, <span class="keyword">const</span> gchar *message, <a class="code" href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a">RemminaMessagePanelCallback</a> response_callback, gpointer response_callback_data)</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;{</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="comment">/*</span></div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment"> * Setup a message panel to a message to read like &quot;Cannot connect…&quot;,</span></div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="comment"> * and a button to close the panel</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; GtkBox *hbox;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; GtkWidget *w;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">if</span> ( !<a class="code" href="remmina__masterthread__exec_8c.html#a3a52e863a3a3da6da6bb5d36c13b7ff4">remmina_masterthread_exec_is_main_thread</a>() ) {</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; printf(<span class="stringliteral">&quot;WARNING: %s called in a subthread. This should not happen.\n&quot;</span>, __func__);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; }</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; hbox = GTK_BOX(gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0));</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="comment">/* A message */</span></div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; w = gtk_label_new(message);</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; gtk_box_pack_start(hbox, w, TRUE, TRUE, 0);</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="comment">/* A button to confirm reading */</span></div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; w = gtk_button_new_with_label(_(<span class="stringliteral">&quot;Close&quot;</span>));</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; gtk_box_pack_end(hbox, w, FALSE, FALSE, 0);</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a9766a5c72bd815501e2ba0a5ac8cd283">response_callback</a> = response_callback;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a6595dbe739d97d82e36c6e0878bcf1d4">response_callback_data</a> = response_callback_data;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; g_object_set_data(G_OBJECT(w), <a class="code" href="remmina__message__panel_8c.html#ac93f8305d443470b429d0bf723e30953">btn_response_key</a>, (<span class="keywordtype">void</span> *)GTK_RESPONSE_OK);</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; g_signal_connect(G_OBJECT(w), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__message__panel_8c.html#abd857d6074d031de315fed1ffe0b6062">remmina_message_panel_button_clicked_callback</a>), mp);</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; gtk_box_pack_start(GTK_BOX(mp), GTK_WIDGET(hbox), TRUE, TRUE, 0);</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; gtk_widget_show_all(GTK_WIDGET(mp));</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;}</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;</div><div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#ae5b1825b5d4e56ecc2f25c28bb042c32"> 213</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8c.html#ae5b1825b5d4e56ecc2f25c28bb042c32">remmina_message_panel_setup_question</a>(RemminaMessagePanel *mp, <span class="keyword">const</span> gchar *message, <a class="code" href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a">RemminaMessagePanelCallback</a> response_callback, gpointer response_callback_data)</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;{</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="comment">/*</span></div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;<span class="comment"> * Setup a message panel to a message to read like &quot;Do you accept ?&quot;,</span></div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;<span class="comment"> * and a pair of button for Yes and No</span></div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;<span class="comment"> * message is an HTML string</span></div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;<span class="comment"> * Callback will receive GTK_RESPONSE_NO for No, GTK_RESPONSE_YES for Yes</span></div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; GtkWidget *grid;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; GtkWidget *bbox;</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; GtkWidget *w;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">if</span> ( !<a class="code" href="remmina__masterthread__exec_8c.html#a3a52e863a3a3da6da6bb5d36c13b7ff4">remmina_masterthread_exec_is_main_thread</a>() ) {</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; printf(<span class="stringliteral">&quot;WARNING: %s called in a subthread. This should not happen. Raising SIGINT for debugging.\n&quot;</span>, __func__);</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keyword">raise</span>(SIGINT);</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; }</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="comment">/* Create grid */</span></div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; grid = gtk_grid_new();</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; gtk_widget_set_halign(GTK_WIDGET(grid), GTK_ALIGN_CENTER);</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; gtk_widget_set_valign(GTK_WIDGET(grid), GTK_ALIGN_CENTER);</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; gtk_widget_show(grid);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; gtk_grid_set_row_spacing(GTK_GRID(grid), 6);</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; gtk_grid_set_column_spacing(GTK_GRID(grid), 6);</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="comment">/* A message, in HTML format */</span></div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; w = gtk_label_new(NULL);</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; gtk_label_set_markup(GTK_LABEL(w), message);</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; gtk_widget_set_halign(GTK_WIDGET(w), GTK_ALIGN_START);</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; gtk_widget_set_valign(GTK_WIDGET(w), GTK_ALIGN_FILL);</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(w), 18);</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(w), 9);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(w), 18);</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(w), 18);</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; gtk_widget_show(w);</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; gtk_grid_attach(GTK_GRID(grid), w, 0, 0, 2, 1);</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="comment">/* A button for yes and one for no */</span></div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_START);</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; gtk_grid_attach(GTK_GRID(grid), bbox, 0, 1, 1, 1);</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; w = gtk_button_new_with_label(_(<span class="stringliteral">&quot;Yes&quot;</span>));</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; gtk_widget_set_valign(GTK_WIDGET(w), GTK_ALIGN_CENTER);</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; g_object_set_data(G_OBJECT(w), <a class="code" href="remmina__message__panel_8c.html#ac93f8305d443470b429d0bf723e30953">btn_response_key</a>, (<span class="keywordtype">void</span> *)GTK_RESPONSE_YES);</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; g_signal_connect(G_OBJECT(w), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__message__panel_8c.html#abd857d6074d031de315fed1ffe0b6062">remmina_message_panel_button_clicked_callback</a>), mp);</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; gtk_container_add(GTK_CONTAINER(bbox), w);</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; w = gtk_button_new_with_label(_(<span class="stringliteral">&quot;No&quot;</span>));</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; gtk_widget_set_valign(GTK_WIDGET(w), GTK_ALIGN_CENTER);</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; g_object_set_data(G_OBJECT(w), <a class="code" href="remmina__message__panel_8c.html#ac93f8305d443470b429d0bf723e30953">btn_response_key</a>, (<span class="keywordtype">void</span> *)GTK_RESPONSE_NO);</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a9766a5c72bd815501e2ba0a5ac8cd283">response_callback</a> = response_callback;</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a6595dbe739d97d82e36c6e0878bcf1d4">response_callback_data</a> = response_callback_data;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; g_signal_connect(G_OBJECT(w), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__message__panel_8c.html#abd857d6074d031de315fed1ffe0b6062">remmina_message_panel_button_clicked_callback</a>), mp);</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; gtk_container_add(GTK_CONTAINER(bbox), w);</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; gtk_box_pack_start(GTK_BOX(mp), GTK_WIDGET(grid), TRUE, TRUE, 0);</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; gtk_widget_show_all(GTK_WIDGET(mp));</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;}</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;</div><div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#ae2cec8bc8216154388727b7e35200667"> 282</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8c.html#ae2cec8bc8216154388727b7e35200667">remmina_message_panel_setup_auth</a>(RemminaMessagePanel *mp, <a class="code" href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a">RemminaMessagePanelCallback</a> response_callback, gpointer response_callback_data, <span class="keyword">const</span> gchar *title, <span class="keyword">const</span> gchar *password_prompt, <span class="keywordtype">unsigned</span> flags)</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;{</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; GtkWidget *grid;</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; GtkWidget *password_entry;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; GtkWidget *username_entry;</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; GtkWidget *domain_entry;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; GtkWidget *save_password_switch;</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; GtkWidget *bbox;</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; GtkWidget *button_ok;</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; GtkWidget *button_cancel;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordtype">int</span> grid_row;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160;</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="keywordflow">if</span> ( !<a class="code" href="remmina__masterthread__exec_8c.html#a3a52e863a3a3da6da6bb5d36c13b7ff4">remmina_masterthread_exec_is_main_thread</a>() ) {</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; printf(<span class="stringliteral">&quot;WARNING: %s called in a subthread. This should not happen. Raising SIGINT to debug.\n&quot;</span>, __func__);</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keyword">raise</span>(SIGINT);</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; }</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160;</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="comment">/* Create grid */</span></div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; grid = gtk_grid_new();</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; gtk_widget_set_halign(GTK_WIDGET(grid), GTK_ALIGN_CENTER);</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; gtk_widget_set_valign(GTK_WIDGET(grid), GTK_ALIGN_CENTER);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; gtk_widget_show(grid);</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; gtk_grid_set_row_spacing(GTK_GRID(grid), 6);</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; gtk_grid_set_column_spacing(GTK_GRID(grid), 6);</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="comment">//gtk_grid_set_column_homogeneous(GTK_GRID(grid), TRUE);</span></div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="comment">/* Entries */</span></div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; grid_row = 0;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; widget = gtk_label_new(title);</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; gtk_style_context_add_class(gtk_widget_get_style_context(widget), <span class="stringliteral">&quot;title_label&quot;</span>);</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; gtk_widget_set_halign(GTK_WIDGET(widget), GTK_ALIGN_START);</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; gtk_widget_set_valign(GTK_WIDGET(widget), GTK_ALIGN_FILL);</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(widget), 9);</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, grid_row, 3, 1);</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; grid_row++;</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">if</span> (flags &amp; <a class="code" href="types_8h.html#a341a0a8b6509633809d99348cc3ba486a10be0730fc3ea326856019ae139a922a">REMMINA_MESSAGE_PANEL_FLAG_USERNAME</a>) {</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; widget = gtk_label_new(_(<span class="stringliteral">&quot;Username&quot;</span>));</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; gtk_widget_set_halign(GTK_WIDGET(widget), GTK_ALIGN_START);</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; gtk_widget_set_valign(GTK_WIDGET(widget), GTK_ALIGN_CENTER);</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(widget), 9);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(widget), 3);</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(widget), 6);</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, grid_row, 1, 1);</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; username_entry = gtk_entry_new();</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="comment">// gtk_style_context_add_class(gtk_widget_get_style_context(username_entry), &quot;panel_entry&quot;);</span></div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; gtk_widget_set_halign(GTK_WIDGET(username_entry), GTK_ALIGN_FILL);</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; gtk_widget_set_valign(GTK_WIDGET(username_entry), GTK_ALIGN_FILL);</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(username_entry), 9);</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(username_entry), 3);</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(username_entry), 6);</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(username_entry), 18);</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="comment">//gtk_entry_set_activates_default (GTK_ENTRY(username_entry), TRUE);</span></div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; gtk_grid_attach(GTK_GRID(grid), username_entry, 1, grid_row, 2, 1);</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; gtk_entry_set_max_length(GTK_ENTRY(username_entry), 100);</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160;</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keywordflow">if</span> (flags &amp; <a class="code" href="types_8h.html#a341a0a8b6509633809d99348cc3ba486a1f63bf86b8f6da71137cf0a28ebf024a">REMMINA_MESSAGE_PANEL_FLAG_USERNAME_READONLY</a>) {</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; g_object_set(username_entry, <span class="stringliteral">&quot;editable&quot;</span>, FALSE, NULL);</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; }</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="comment">/*</span></div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;<span class="comment"> if (default_username &amp;&amp; default_username[0] != &#39;\0&#39;) {</span></div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;<span class="comment"> gtk_entry_set_text(GTK_ENTRY(username_entry), default_username);</span></div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;<span class="comment"> }</span></div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; grid_row++;</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; username_entry = NULL;</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; }</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <span class="comment">/* The password/key field */</span></div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; widget = gtk_label_new(password_prompt);</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; gtk_widget_set_halign(GTK_WIDGET(widget), GTK_ALIGN_START);</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(widget), 3);</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(widget), 3);</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(widget), 6);</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, grid_row, 1, 1);</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; password_entry = gtk_entry_new();</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; gtk_widget_set_halign(GTK_WIDGET(password_entry), GTK_ALIGN_FILL);</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; gtk_widget_set_valign(GTK_WIDGET(password_entry), GTK_ALIGN_FILL);</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(password_entry), 3);</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(password_entry), 3);</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(password_entry), 6);</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(password_entry), 18);</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; gtk_entry_set_activates_default (GTK_ENTRY(password_entry), TRUE);</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; gtk_grid_attach(GTK_GRID(grid), password_entry, 1, grid_row, 2, 1);</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; gtk_entry_set_max_length(GTK_ENTRY(password_entry), 0);</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; gtk_entry_set_visibility(GTK_ENTRY(password_entry), FALSE);</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; grid_row++;</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160;</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">if</span> (flags &amp; <a class="code" href="types_8h.html#a341a0a8b6509633809d99348cc3ba486a46ac68f2dea71082d090ae63c5c4505c">REMMINA_MESSAGE_PANEL_FLAG_DOMAIN</a>) {</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; widget = gtk_label_new(_(<span class="stringliteral">&quot;Domain&quot;</span>));</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; gtk_widget_set_halign(GTK_WIDGET(widget), GTK_ALIGN_START);</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(widget), 3);</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(widget), 3);</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(widget), 6);</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, grid_row, 1, 1);</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160;</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; domain_entry = gtk_entry_new();</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; gtk_widget_set_halign(GTK_WIDGET(domain_entry), GTK_ALIGN_FILL);</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; gtk_widget_set_valign(GTK_WIDGET(domain_entry), GTK_ALIGN_FILL);</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(domain_entry), 3);</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(domain_entry), 3);</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(domain_entry), 6);</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(domain_entry), 18);</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; gtk_entry_set_activates_default (GTK_ENTRY(domain_entry), TRUE);</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; gtk_widget_show(domain_entry);</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; gtk_grid_attach(GTK_GRID(grid), domain_entry, 1, grid_row, 2, 1);</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; gtk_entry_set_max_length(GTK_ENTRY(domain_entry), 100);</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="comment">/* if (default_domain &amp;&amp; default_domain[0] != &#39;\0&#39;) {</span></div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;<span class="comment"> gtk_entry_set_text(GTK_ENTRY(domain_entry), default_domain);</span></div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;<span class="comment"> } */</span></div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; grid_row ++;</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; domain_entry = NULL;</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; }</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160;</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; widget = gtk_label_new(_(<span class="stringliteral">&quot;Save password&quot;</span>));</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; gtk_widget_set_halign(GTK_WIDGET(widget), GTK_ALIGN_START);</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(widget), 9);</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(widget), 9);</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(widget), 6);</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, grid_row, 1, 1);</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; save_password_switch = gtk_switch_new();</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; gtk_widget_set_halign(GTK_WIDGET(save_password_switch), GTK_ALIGN_START);</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; gtk_widget_set_valign(GTK_WIDGET(save_password_switch), GTK_ALIGN_FILL);</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(save_password_switch), 9);</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(save_password_switch), 9);</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(save_password_switch), 6);</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(save_password_switch), 18);</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; gtk_grid_attach(GTK_GRID(grid), save_password_switch, 1, grid_row, 2, 1);</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <span class="keywordflow">if</span> (flags &amp; <a class="code" href="types_8h.html#a341a0a8b6509633809d99348cc3ba486a9b734c324722cf2982768feaeeb15c7c">REMMINA_MESSAGE_PANEL_FLAG_SAVEPASSWORD</a>) {</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; gtk_switch_set_active(GTK_SWITCH(save_password_switch), TRUE);</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; gtk_switch_set_active(GTK_SWITCH(save_password_switch), FALSE);</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(save_password_switch), FALSE);</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; }</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; grid_row ++;</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <span class="comment">/* Buttons, ok and cancel */</span></div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; bbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL);</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_EDGE);</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; gtk_box_set_spacing (GTK_BOX (bbox), 40);</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(bbox), 9);</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(bbox), 18);</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(bbox), 18);</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(bbox), 18);</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; button_ok = gtk_button_new_with_label(_(<span class="stringliteral">&quot;_OK&quot;</span>));</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; gtk_button_set_use_underline(GTK_BUTTON(button_ok), TRUE);</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; gtk_widget_set_can_default(button_ok, TRUE);</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; gtk_container_add (GTK_CONTAINER (bbox), button_ok);</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="comment">/* Buttons, ok and cancel */</span></div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; button_cancel = gtk_button_new_with_label(_(<span class="stringliteral">&quot;_Cancel&quot;</span>));</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; gtk_button_set_use_underline(GTK_BUTTON(button_cancel), TRUE);</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; gtk_container_add (GTK_CONTAINER (bbox), button_cancel);</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; gtk_grid_attach(GTK_GRID(grid), bbox, 0, grid_row, 3, 1);</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <span class="comment">/* Pack it into the panel */</span></div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; gtk_box_pack_start(GTK_BOX(mp), grid, TRUE, TRUE, 4);</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160;</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a5c66a04852163126a3b494abe3e07e25">REMMINA_MESSAGE_PANEL_USERNAME</a>] = username_entry;</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a1d61170572fba5e968305c2ea3b0f9f6">REMMINA_MESSAGE_PANEL_PASSWORD</a>] = password_entry;</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="types_8h.html#a341a0a8b6509633809d99348cc3ba486a9b734c324722cf2982768feaeeb15c7c">REMMINA_MESSAGE_PANEL_FLAG_SAVEPASSWORD</a>] = save_password_switch;</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a9efe2bb3f139ed0baf3833880fc2369a">REMMINA_MESSAGE_PANEL_DOMAIN</a>] = domain_entry;</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a9439963721ca9d03d1a2371161336725">REMMINA_MESSAGE_PANEL_BUTTONTOFOCUS</a>] = button_ok;</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a9766a5c72bd815501e2ba0a5ac8cd283">response_callback</a> = response_callback;</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a6595dbe739d97d82e36c6e0878bcf1d4">response_callback_data</a> = response_callback_data;</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160;</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <span class="keywordflow">if</span> (username_entry) g_signal_connect_swapped (username_entry, <span class="stringliteral">&quot;activate&quot;</span>, (GCallback)gtk_widget_grab_focus, password_entry);</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; g_signal_connect_swapped (password_entry, <span class="stringliteral">&quot;activate&quot;</span>, (GCallback)gtk_widget_grab_focus, button_ok);</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; g_object_set_data(G_OBJECT(button_cancel), <a class="code" href="remmina__message__panel_8c.html#ac93f8305d443470b429d0bf723e30953">btn_response_key</a>, (<span class="keywordtype">void</span> *)GTK_RESPONSE_CANCEL);</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; g_signal_connect(G_OBJECT(button_cancel), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__message__panel_8c.html#abd857d6074d031de315fed1ffe0b6062">remmina_message_panel_button_clicked_callback</a>), mp);</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; g_object_set_data(G_OBJECT(button_ok), <a class="code" href="remmina__message__panel_8c.html#ac93f8305d443470b429d0bf723e30953">btn_response_key</a>, (<span class="keywordtype">void</span> *)GTK_RESPONSE_OK);</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; g_signal_connect(G_OBJECT(button_ok), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__message__panel_8c.html#abd857d6074d031de315fed1ffe0b6062">remmina_message_panel_button_clicked_callback</a>), mp);</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160;}</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;</div><div class="line"><a name="l00480"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#ac10f450f856ca7d9c0b6896261e9c407"> 480</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8c.html#ac10f450f856ca7d9c0b6896261e9c407">remmina_message_panel_setup_auth_x509</a>(RemminaMessagePanel *mp, <a class="code" href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a">RemminaMessagePanelCallback</a> response_callback, gpointer response_callback_data)</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160;{</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160;</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; GtkWidget *grid;</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; GtkWidget *bbox;</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; GtkWidget *button_ok;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; GtkWidget *button_cancel;</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; GtkWidget *cacert_file;</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; GtkWidget *cacrl_file;</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; GtkWidget *clientcert_file;</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; GtkWidget *clientkey_file;</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="keywordtype">int</span> grid_row;</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160;</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160;</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordflow">if</span> ( !<a class="code" href="remmina__masterthread__exec_8c.html#a3a52e863a3a3da6da6bb5d36c13b7ff4">remmina_masterthread_exec_is_main_thread</a>() ) {</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; printf(<span class="stringliteral">&quot;WARNING: %s called in a subthread. This should not happen. Raising SIGINT to debug.\n&quot;</span>, __func__);</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="keyword">raise</span>(SIGINT);</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; }</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160;</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="comment">/* Create grid */</span></div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; grid = gtk_grid_new();</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; gtk_widget_set_halign(GTK_WIDGET(grid), GTK_ALIGN_CENTER);</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; gtk_widget_set_valign(GTK_WIDGET(grid), GTK_ALIGN_CENTER);</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; gtk_widget_show(grid);</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; gtk_grid_set_row_spacing(GTK_GRID(grid), 6);</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; gtk_grid_set_column_spacing(GTK_GRID(grid), 6);</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160;</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="comment">/* Entries */</span></div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; grid_row = 0;</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; widget = gtk_label_new(_(<span class="stringliteral">&quot;Enter certificate authentication files&quot;</span>));</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; gtk_style_context_add_class(gtk_widget_get_style_context(widget), <span class="stringliteral">&quot;title_label&quot;</span>);</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; gtk_widget_set_halign(GTK_WIDGET(widget), GTK_ALIGN_START);</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; gtk_widget_set_valign(GTK_WIDGET(widget), GTK_ALIGN_FILL);</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(widget), 9);</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, grid_row, 3, 1);</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; grid_row++;</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160;</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <span class="keyword">const</span> gchar *lbl_cacert = _(<span class="stringliteral">&quot;CA Certificate File&quot;</span>);</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; widget = gtk_label_new(lbl_cacert);</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; gtk_widget_set_halign(GTK_WIDGET(widget), GTK_ALIGN_START);</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; gtk_widget_set_valign(GTK_WIDGET(widget), GTK_ALIGN_CENTER);</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(widget), 9);</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(widget), 3);</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(widget), 6);</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, grid_row, 1, 1);</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; cacert_file = gtk_file_chooser_button_new(lbl_cacert, GTK_FILE_CHOOSER_ACTION_OPEN);</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <span class="comment">// gtk_style_context_add_class(gtk_widget_get_style_context(username_entry), &quot;panel_entry&quot;);</span></div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; gtk_widget_show(cacert_file);</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; gtk_widget_set_halign(GTK_WIDGET(cacert_file), GTK_ALIGN_FILL);</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; gtk_widget_set_valign(GTK_WIDGET(cacert_file), GTK_ALIGN_FILL);</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(cacert_file), 9);</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(cacert_file), 3);</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(cacert_file), 6);</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(cacert_file), 18);</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; gtk_grid_attach(GTK_GRID(grid), cacert_file, 1, grid_row, 2, 1);</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; grid_row++;</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160;</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; <span class="keyword">const</span> gchar *lbl_cacrl = _(<span class="stringliteral">&quot;CA CRL File&quot;</span>);</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; widget = gtk_label_new(lbl_cacrl);</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; gtk_widget_set_halign(GTK_WIDGET(widget), GTK_ALIGN_START);</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; gtk_widget_set_valign(GTK_WIDGET(widget), GTK_ALIGN_CENTER);</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(widget), 9);</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(widget), 3);</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(widget), 6);</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, grid_row, 1, 1);</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; cacrl_file = gtk_file_chooser_button_new(lbl_cacrl, GTK_FILE_CHOOSER_ACTION_OPEN);</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; <span class="comment">// gtk_style_context_add_class(gtk_widget_get_style_context(username_entry), &quot;panel_entry&quot;);</span></div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; gtk_widget_show(cacrl_file);</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; gtk_widget_set_halign(GTK_WIDGET(cacrl_file), GTK_ALIGN_FILL);</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; gtk_widget_set_valign(GTK_WIDGET(cacrl_file), GTK_ALIGN_FILL);</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(cacrl_file), 9);</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(cacrl_file), 3);</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(cacrl_file), 6);</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(cacrl_file), 18);</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; gtk_grid_attach(GTK_GRID(grid), cacrl_file, 1, grid_row, 2, 1);</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; grid_row++;</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160;</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <span class="keyword">const</span> gchar *lbl_clicert = _(<span class="stringliteral">&quot;Client Certificate File&quot;</span>);</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; widget = gtk_label_new(lbl_clicert);</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; gtk_widget_set_halign(GTK_WIDGET(widget), GTK_ALIGN_START);</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; gtk_widget_set_valign(GTK_WIDGET(widget), GTK_ALIGN_CENTER);</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(widget), 9);</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(widget), 3);</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(widget), 6);</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, grid_row, 1, 1);</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; clientcert_file = gtk_file_chooser_button_new(lbl_clicert, GTK_FILE_CHOOSER_ACTION_OPEN);</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <span class="comment">// gtk_style_context_add_class(gtk_widget_get_style_context(username_entry), &quot;panel_entry&quot;);</span></div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; gtk_widget_show(clientcert_file);</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; gtk_widget_set_halign(GTK_WIDGET(clientcert_file), GTK_ALIGN_FILL);</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; gtk_widget_set_valign(GTK_WIDGET(clientcert_file), GTK_ALIGN_FILL);</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(clientcert_file), 9);</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(clientcert_file), 3);</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(clientcert_file), 6);</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(clientcert_file), 18);</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; gtk_grid_attach(GTK_GRID(grid), clientcert_file, 1, grid_row, 2, 1);</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; grid_row++;</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160;</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; <span class="keyword">const</span> gchar *lbl_clikey = _(<span class="stringliteral">&quot;Client Certificate Key&quot;</span>);</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; widget = gtk_label_new(lbl_clikey);</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; gtk_widget_set_halign(GTK_WIDGET(widget), GTK_ALIGN_START);</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; gtk_widget_set_valign(GTK_WIDGET(widget), GTK_ALIGN_CENTER);</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(widget), 9);</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(widget), 3);</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(widget), 6);</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, grid_row, 1, 1);</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; clientkey_file = gtk_file_chooser_button_new(lbl_clikey, GTK_FILE_CHOOSER_ACTION_OPEN);</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <span class="comment">// gtk_style_context_add_class(gtk_widget_get_style_context(username_entry), &quot;panel_entry&quot;);</span></div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; gtk_widget_show(clientkey_file);</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; gtk_widget_set_halign(GTK_WIDGET(clientkey_file), GTK_ALIGN_FILL);</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; gtk_widget_set_valign(GTK_WIDGET(clientkey_file), GTK_ALIGN_FILL);</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(clientkey_file), 9);</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(clientkey_file), 3);</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(clientkey_file), 6);</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(clientkey_file), 18);</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; gtk_grid_attach(GTK_GRID(grid), clientkey_file, 1, grid_row, 2, 1);</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; grid_row++;</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160;</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; <span class="comment">/* Buttons, ok and cancel */</span></div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; bbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL);</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_EDGE);</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; gtk_box_set_spacing (GTK_BOX (bbox), 40);</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(bbox), 9);</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(bbox), 18);</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(bbox), 18);</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(bbox), 18);</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; button_ok = gtk_button_new_with_label(_(<span class="stringliteral">&quot;_OK&quot;</span>));</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; gtk_widget_set_can_default (button_ok, TRUE);</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160;</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; gtk_button_set_use_underline(GTK_BUTTON(button_ok), TRUE);</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; <span class="comment">//gtk_widget_show(button_ok);</span></div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; gtk_container_add (GTK_CONTAINER (bbox), button_ok);</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; <span class="comment">//gtk_grid_attach(GTK_GRID(grid), button_ok, 0, grid_row, 1, 1);</span></div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; <span class="comment">/* Buttons, ok and cancel */</span></div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; button_cancel = gtk_button_new_with_label(_(<span class="stringliteral">&quot;_Cancel&quot;</span>));</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; gtk_button_set_use_underline(GTK_BUTTON(button_cancel), TRUE);</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; <span class="comment">//gtk_widget_show(button_cancel);</span></div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; gtk_container_add (GTK_CONTAINER (bbox), button_cancel);</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; gtk_grid_attach(GTK_GRID(grid), bbox, 0, grid_row, 3, 1);</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; <span class="comment">/* Pack it into the panel */</span></div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; gtk_box_pack_start(GTK_BOX(mp), grid, TRUE, TRUE, 4);</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160;</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a9766a5c72bd815501e2ba0a5ac8cd283">response_callback</a> = response_callback;</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a6595dbe739d97d82e36c6e0878bcf1d4">response_callback_data</a> = response_callback_data;</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160;</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a10531307d859706670fb6ce4aa7308c7">REMMINA_MESSAGE_PANEL_CACERTFILE</a>] = cacert_file;</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a703afb1dece981649f9497a9e910b779">REMMINA_MESSAGE_PANEL_CACRLFILE</a>] = cacrl_file;</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a26a6d6b3ac3f4e64662b0c72dc3982f7">REMMINA_MESSAGE_PANEL_CLIENTCERTFILE</a>] = clientcert_file;</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a34c1441f93d50321cbabcfb45918c6e3">REMMINA_MESSAGE_PANEL_CLIENTKEYFILE</a>] = clientkey_file;</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a9439963721ca9d03d1a2371161336725">REMMINA_MESSAGE_PANEL_BUTTONTOFOCUS</a>] = button_ok;</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160;</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; g_object_set_data(G_OBJECT(button_cancel), <a class="code" href="remmina__message__panel_8c.html#ac93f8305d443470b429d0bf723e30953">btn_response_key</a>, (<span class="keywordtype">void</span> *)GTK_RESPONSE_CANCEL);</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; g_signal_connect(G_OBJECT(button_cancel), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__message__panel_8c.html#abd857d6074d031de315fed1ffe0b6062">remmina_message_panel_button_clicked_callback</a>), mp);</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; g_object_set_data(G_OBJECT(button_ok), <a class="code" href="remmina__message__panel_8c.html#ac93f8305d443470b429d0bf723e30953">btn_response_key</a>, (<span class="keywordtype">void</span> *)GTK_RESPONSE_OK);</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; g_signal_connect(G_OBJECT(button_ok), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__message__panel_8c.html#abd857d6074d031de315fed1ffe0b6062">remmina_message_panel_button_clicked_callback</a>), mp);</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160;</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160;}</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160;</div><div class="line"><a name="l00652"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#aacb1f47e5ad88086c1bda1b0a156c34d"> 652</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8c.html#aacb1f47e5ad88086c1bda1b0a156c34d">remmina_message_panel_focus_auth_entry</a>(RemminaMessagePanel *mp)</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160;{</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160;</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv;</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; GtkWidget *w;</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <span class="keyword">const</span> gchar *username;</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160;</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; <span class="keywordflow">if</span> (mp == NULL)</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160;</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; <span class="comment">/* Activate default button */</span></div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; w = priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a9439963721ca9d03d1a2371161336725">REMMINA_MESSAGE_PANEL_BUTTONTOFOCUS</a>];</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; <span class="keywordflow">if</span> (w &amp;&amp; G_TYPE_CHECK_INSTANCE_TYPE(w, gtk_button_get_type()))</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; gtk_widget_grab_default(w);</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160;</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; w = priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a5c66a04852163126a3b494abe3e07e25">REMMINA_MESSAGE_PANEL_USERNAME</a>];</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; <span class="keywordflow">if</span> (w == NULL)</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; {</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; w = priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a1d61170572fba5e968305c2ea3b0f9f6">REMMINA_MESSAGE_PANEL_PASSWORD</a>];</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; username = gtk_entry_get_text(GTK_ENTRY(w));</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; <span class="keywordflow">if</span> (username[0] != 0)</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; w = priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a1d61170572fba5e968305c2ea3b0f9f6">REMMINA_MESSAGE_PANEL_PASSWORD</a>];</div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; }</div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; <span class="keywordflow">if</span> (w == NULL)</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160;</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; <span class="keywordflow">if</span> (!G_TYPE_CHECK_INSTANCE_TYPE(w, gtk_entry_get_type()))</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160;</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; gtk_widget_grab_focus(w);</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160;}</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160;</div><div class="line"><a name="l00687"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#a0e20944d484c95036eeb6b5d7775c901"> 687</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8c.html#a0e20944d484c95036eeb6b5d7775c901">remmina_message_panel_field_set_string</a>(RemminaMessagePanel *mp, <span class="keywordtype">int</span> entryid, <span class="keyword">const</span> gchar *text)</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160;{</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv;</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160;</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; <span class="keywordflow">if</span> (mp == NULL)</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160;</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; <span class="keywordflow">if</span> (priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid] == NULL)</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; <span class="keywordflow">if</span> (!G_TYPE_CHECK_INSTANCE_TYPE(priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid], gtk_entry_get_type()))</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160;</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; gtk_entry_set_text(GTK_ENTRY(priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid]), text != NULL ? text : <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160;}</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160;</div><div class="line"><a name="l00703"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#a44054d029d4615092ae8a2ee1bf81db4"> 703</a></span>&#160;gchar* <a class="code" href="remmina__message__panel_8c.html#a44054d029d4615092ae8a2ee1bf81db4">remmina_message_panel_field_get_string</a>(RemminaMessagePanel *mp, <span class="keywordtype">int</span> entryid)</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160;{</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160;</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv;</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160;</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <span class="keywordflow">if</span> (mp == NULL)</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160;</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="keywordflow">if</span> (priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid] == NULL)</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <span class="keywordflow">if</span> (!G_TYPE_CHECK_INSTANCE_TYPE(priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid], gtk_entry_get_type()))</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160;</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; <span class="keywordflow">return</span> g_strdup(gtk_entry_get_text(GTK_ENTRY(priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid])));</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160;}</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160;</div><div class="line"><a name="l00721"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#a67a48217d44350e028ed95b1b55f0b0f"> 721</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8c.html#a67a48217d44350e028ed95b1b55f0b0f">remmina_message_panel_field_set_switch</a>(RemminaMessagePanel *mp, <span class="keywordtype">int</span> entryid, gboolean state)</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160;{</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160;</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv;</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160;</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <span class="keywordflow">if</span> (mp == NULL)</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160;</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; <span class="keywordflow">if</span> (priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid] == NULL)</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; <span class="keywordflow">if</span> (!G_TYPE_CHECK_INSTANCE_TYPE(priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid], gtk_switch_get_type()))</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160;</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; gtk_switch_set_state(GTK_SWITCH(priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid]), state);</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160;}</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160;</div><div class="line"><a name="l00739"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#a80bc2fcb39c236da739593c2134c73fa"> 739</a></span>&#160;gboolean <a class="code" href="remmina__message__panel_8c.html#a80bc2fcb39c236da739593c2134c73fa">remmina_message_panel_field_get_switch_state</a>(RemminaMessagePanel *mp, <span class="keywordtype">int</span> entryid)</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160;{</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160;</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv;</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160;</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; <span class="keywordflow">if</span> (mp == NULL)</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160;</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <span class="keywordflow">if</span> (priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid] == NULL)</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <span class="keywordflow">if</span> (!G_TYPE_CHECK_INSTANCE_TYPE(priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid], gtk_switch_get_type()))</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160;</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; <span class="keywordflow">return</span> gtk_switch_get_state(GTK_SWITCH(priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid]));</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160;}</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160;</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160;</div><div class="line"><a name="l00758"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#aec9dcd96d0148fec9cdc9e94cc8dc1ff"> 758</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8c.html#aec9dcd96d0148fec9cdc9e94cc8dc1ff">remmina_message_panel_field_set_filename</a>(RemminaMessagePanel *mp, <span class="keywordtype">int</span> entryid, <span class="keyword">const</span> gchar *filename)</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160;{</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160;</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv;</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160;</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; <span class="keywordflow">if</span> (mp == NULL)</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; <span class="keywordflow">if</span> (priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid] == NULL)</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; <span class="keywordflow">if</span> (!G_TYPE_CHECK_INSTANCE_TYPE(priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid], gtk_file_chooser_button_get_type()))</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160;</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid]), filename);</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160;}</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160;</div><div class="line"><a name="l00775"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#ab89dba73bc6832c6c5061a0d8bd0fbb4"> 775</a></span>&#160;gchar* <a class="code" href="remmina__message__panel_8c.html#ab89dba73bc6832c6c5061a0d8bd0fbb4">remmina_message_panel_field_get_filename</a>(RemminaMessagePanel *mp, <span class="keywordtype">int</span> entryid)</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160;{</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160;</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv;</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160;</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; <span class="keywordflow">if</span> (mp == NULL)</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160;</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; <span class="keywordflow">if</span> (priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid] == NULL)</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; <span class="keywordflow">if</span> (!G_TYPE_CHECK_INSTANCE_TYPE(priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid], gtk_file_chooser_button_get_type()))</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160;</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; <span class="keywordflow">return</span> gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid]));</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160;}</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160;</div><div class="line"><a name="l00793"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#af7db7b9f49fe6b83b17471116d363d40"> 793</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8c.html#af7db7b9f49fe6b83b17471116d363d40">remmina_message_panel_response</a>(RemminaMessagePanel *mp, gint response_id)</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160;{</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; g_signal_emit(mp, <a class="code" href="remmina__message__panel_8c.html#ad7824aab39b78f2b1b1ce661213f8f1c">messagepanel_signals</a>[RESPONSE], 0, response_id);</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160;}</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160;</div><div class="ttc" id="remmina__message__panel_8c_html_ab6b5ef1f109af9209f76d194dd704a8c"><div class="ttname"><a href="remmina__message__panel_8c.html#ab6b5ef1f109af9209f76d194dd704a8c">remmina_message_panel_init</a></div><div class="ttdeci">static void remmina_message_panel_init(RemminaMessagePanel *mp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00066">remmina_message_panel.c:66</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_ad7824aab39b78f2b1b1ce661213f8f1c"><div class="ttname"><a href="remmina__message__panel_8c.html#ad7824aab39b78f2b1b1ce661213f8f1c">messagepanel_signals</a></div><div class="ttdeci">static guint messagepanel_signals[LAST_SIGNAL]</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00060">remmina_message_panel.c:60</a></div></div>
+<a href="remmina__message__panel_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Remmina - The GTK+ Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2009-2011 Vic Lee</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Copyright (C) 2016-2023 Antenore Gatta, Giovanni Panozzo</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * along with this program; if not, write to the Free Software</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> * In addition, as a special exception, the copyright holders give</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * permission to link the code of portions of this program with the</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * OpenSSL library under certain conditions as described in each</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * including the two.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * You must obey the GNU General Public License in all respects</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * for all of the code used other than OpenSSL. * If you modify</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * file(s) with this exception, you may extend this exception to your</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> * version of the file(s), but you are not obligated to do so. * If you</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> * do not wish to do so, delete this exception statement from your</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> * version. * If you delete this exception statement from all source</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> * files in the program, then also delete it here.</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;glib/gi18n.h&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &quot;config.h&quot;</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__public_8h.html">remmina_public.h</a>&quot;</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__widget__pool_8h.html">remmina_widget_pool.h</a>&quot;</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__main_8h.html">remmina_main.h</a>&quot;</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__message__panel_8h.html">remmina_message_panel.h</a>&quot;</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__masterthread__exec_8h.html">remmina_masterthread_exec.h</a>&quot;</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="remmina__trace__calls_8h.html">remmina/remmina_trace_calls.h</a>&quot;</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="struct_remmina_message_panel_private.html"> 47</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;{</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="struct_remmina_message_panel_private.html#a9766a5c72bd815501e2ba0a5ac8cd283"> 50</a></span>&#160; <a class="code" href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a">RemminaMessagePanelCallback</a> <a class="code" href="struct_remmina_message_panel_private.html#a9766a5c72bd815501e2ba0a5ac8cd283">response_callback</a>;</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="struct_remmina_message_panel_private.html#a6595dbe739d97d82e36c6e0878bcf1d4"> 51</a></span>&#160; <span class="keywordtype">void</span> *<a class="code" href="struct_remmina_message_panel_private.html#a6595dbe739d97d82e36c6e0878bcf1d4">response_callback_data</a>;</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8"> 52</a></span>&#160; GtkWidget *w[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8ae335afb8ce18f75a427da98b1d84f10a">REMMINA_MESSAGE_PANEL_MAXWIDGETID</a>];</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;} <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a>;</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="remmina__message__panel_8c.html#ad3ce5558696c03b0355b44b7f1b0d31e"> 55</a></span>&#160;<a class="code" href="remmina__message__panel_8c.html#ad3ce5558696c03b0355b44b7f1b0d31e">G_DEFINE_TYPE_WITH_PRIVATE</a> (RemminaMessagePanel, remmina_message_panel, GTK_TYPE_BOX)</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="keyword">enum</span> {</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; RESPONSE,</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="rcw_8c.html#adf764cbdea00d65edcd07bb9953ad2b7a0c34d85df8279641afad9e3c9b3a54ce">LAST_SIGNAL</a></div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="remmina__message__panel_8c.html#ad7824aab39b78f2b1b1ce661213f8f1c"> 61</a></span>&#160;};</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="keyword">static</span> guint <a class="code" href="remmina__message__panel_8c.html#ad7824aab39b78f2b1b1ce661213f8f1c">messagepanel_signals</a>[<a class="code" href="rcw_8c.html#adf764cbdea00d65edcd07bb9953ad2b7a0c34d85df8279641afad9e3c9b3a54ce">LAST_SIGNAL</a>];</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="remmina__message__panel_8c.html#ac93f8305d443470b429d0bf723e30953"> 65</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> gchar <a class="code" href="remmina__message__panel_8c.html#ac93f8305d443470b429d0bf723e30953">btn_response_key</a>[] = <span class="stringliteral">&quot;btn_response&quot;</span>;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="remmina__message__panel_8c.html#ab6b5ef1f109af9209f76d194dd704a8c"> 67</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8c.html#ab6b5ef1f109af9209f76d194dd704a8c">remmina_message_panel_init</a> (RemminaMessagePanel *mp)</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;{</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;}</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="remmina__message__panel_8c.html#a6ed806c022986b81ef4db70e6d89abc9"> 72</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8c.html#a6ed806c022986b81ef4db70e6d89abc9">remmina_message_panel_class_init</a>(RemminaMessagePanelClass *<span class="keyword">class</span>)</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;{</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="comment">// class-&gt;transform_text = my_app_label_real_transform_text;</span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="remmina__message__panel_8c.html#ad7824aab39b78f2b1b1ce661213f8f1c">messagepanel_signals</a>[RESPONSE] =</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; g_signal_new (<span class="stringliteral">&quot;response&quot;</span>,</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; G_OBJECT_CLASS_TYPE (<span class="keyword">class</span>),</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; G_SIGNAL_RUN_LAST,</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; G_STRUCT_OFFSET (RemminaMessagePanelClass, response),</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; NULL, NULL,</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; NULL,</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; G_TYPE_NONE, 1,</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; G_TYPE_INT);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;}</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#adf4a7707360c836ba312a2c7286db294"> 88</a></span>&#160;RemminaMessagePanel *<a class="code" href="remmina__message__panel_8c.html#a7015155d2b1db3e74de4d4d5ef7cca55">remmina_message_panel_new</a>()</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;{</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; RemminaMessagePanel* mp;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; mp = (RemminaMessagePanel*)g_object_new(REMMINA_TYPE_MESSAGE_PANEL,</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="stringliteral">&quot;orientation&quot;</span>, GTK_ORIENTATION_VERTICAL,</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="stringliteral">&quot;spacing&quot;</span>, 0,</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; NULL);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a9766a5c72bd815501e2ba0a5ac8cd283">response_callback</a> = NULL;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a6595dbe739d97d82e36c6e0878bcf1d4">response_callback_data</a> = NULL;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="comment">/* Set widget class, for CSS styling */</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="comment">// gtk_widget_set_name(GTK_WIDGET(mp), &quot;remmina-cw-message-panel&quot;);</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; gtk_style_context_add_class(gtk_widget_get_style_context(GTK_WIDGET(mp)), <span class="stringliteral">&quot;message_panel&quot;</span>);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; gtk_style_context_add_class(gtk_widget_get_style_context(GTK_WIDGET(mp)), <span class="stringliteral">&quot;background&quot;</span>);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">return</span> mp;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;}</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="remmina__message__panel_8c.html#abd857d6074d031de315fed1ffe0b6062"> 111</a></span>&#160;<span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8c.html#abd857d6074d031de315fed1ffe0b6062">remmina_message_panel_button_clicked_callback</a>(</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; GtkButton *button, gpointer user_data)</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;{</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; RemminaMessagePanel *mp = (RemminaMessagePanel*)user_data;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; gint btn_data;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; btn_data = (gint)((gint64)g_object_get_data(G_OBJECT(button), <a class="code" href="remmina__message__panel_8c.html#ac93f8305d443470b429d0bf723e30953">btn_response_key</a>));</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="comment">/* Calls the callback, if defined */</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">if</span> (priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a9766a5c72bd815501e2ba0a5ac8cd283">response_callback</a> != NULL)</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; (*priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a9766a5c72bd815501e2ba0a5ac8cd283">response_callback</a>)(priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a6595dbe739d97d82e36c6e0878bcf1d4">response_callback_data</a>, btn_data);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;}</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#afae4072b7d8b54392ec08da7d6ead620"> 128</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8c.html#afae4072b7d8b54392ec08da7d6ead620">remmina_message_panel_setup_progress</a>(RemminaMessagePanel *mp, <span class="keyword">const</span> gchar *message, <a class="code" href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a">RemminaMessagePanelCallback</a> response_callback, gpointer response_callback_data)</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;{</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="comment">/*</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> * Setup a message panel to show a spinner, a message like &quot;Connecting…&quot;,</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> * and a button to cancel the action in progress</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; GtkBox *hbox;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; GtkWidget *w;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">if</span> ( !<a class="code" href="remmina__masterthread__exec_8c.html#a3a52e863a3a3da6da6bb5d36c13b7ff4">remmina_masterthread_exec_is_main_thread</a>() ) {</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; printf(<span class="stringliteral">&quot;WARNING: %s called in a subthread. This should not happen.\n&quot;</span>, __func__);</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keyword">raise</span>(SIGINT);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; }</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; hbox = GTK_BOX(gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0));</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="comment">/* A spinner */</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; w = gtk_spinner_new();</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; gtk_box_pack_start(hbox, w, FALSE, FALSE, 0);</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; gtk_spinner_start(GTK_SPINNER(w));</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="comment">/* A message */</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; w = gtk_label_new(message);</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; gtk_box_pack_start(hbox, w, TRUE, TRUE, 0);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a9766a5c72bd815501e2ba0a5ac8cd283">response_callback</a> = response_callback;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a6595dbe739d97d82e36c6e0878bcf1d4">response_callback_data</a> = response_callback_data;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="comment">/* A button to cancel the action. The cancel button is available</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> * only when a response_callback function is defined. */</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">if</span> (response_callback) {</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; w = gtk_button_new_with_label(_(<span class="stringliteral">&quot;Cancel&quot;</span>));</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; gtk_box_pack_end(hbox, w, FALSE, FALSE, 0);</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; g_object_set_data(G_OBJECT(w), <a class="code" href="remmina__message__panel_8c.html#ac93f8305d443470b429d0bf723e30953">btn_response_key</a>, (<span class="keywordtype">void</span> *)GTK_RESPONSE_CANCEL);</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; g_signal_connect(G_OBJECT(w), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__message__panel_8c.html#abd857d6074d031de315fed1ffe0b6062">remmina_message_panel_button_clicked_callback</a>), mp);</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; }</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; gtk_box_pack_start(GTK_BOX(mp), GTK_WIDGET(hbox), TRUE, TRUE, 0);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; gtk_widget_show_all(GTK_WIDGET(mp));</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;}</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;</div><div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#ae01d27ae9f678dc5a4fa32f0b401f434"> 175</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8c.html#ae01d27ae9f678dc5a4fa32f0b401f434">remmina_message_panel_setup_message</a>(RemminaMessagePanel *mp, <span class="keyword">const</span> gchar *message, <a class="code" href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a">RemminaMessagePanelCallback</a> response_callback, gpointer response_callback_data)</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;{</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="comment">/*</span></div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="comment"> * Setup a message panel to a message to read like &quot;Cannot connect…&quot;,</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;<span class="comment"> * and a button to close the panel</span></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; GtkBox *hbox;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; GtkWidget *w;</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">if</span> ( !<a class="code" href="remmina__masterthread__exec_8c.html#a3a52e863a3a3da6da6bb5d36c13b7ff4">remmina_masterthread_exec_is_main_thread</a>() ) {</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; printf(<span class="stringliteral">&quot;WARNING: %s called in a subthread. This should not happen.\n&quot;</span>, __func__);</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; }</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; hbox = GTK_BOX(gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0));</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="comment">/* A message */</span></div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; w = gtk_label_new(message);</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; gtk_box_pack_start(hbox, w, TRUE, TRUE, 0);</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="comment">/* A button to confirm reading */</span></div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; w = gtk_button_new_with_label(_(<span class="stringliteral">&quot;Close&quot;</span>));</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; gtk_box_pack_end(hbox, w, FALSE, FALSE, 0);</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a9766a5c72bd815501e2ba0a5ac8cd283">response_callback</a> = response_callback;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a6595dbe739d97d82e36c6e0878bcf1d4">response_callback_data</a> = response_callback_data;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; g_object_set_data(G_OBJECT(w), <a class="code" href="remmina__message__panel_8c.html#ac93f8305d443470b429d0bf723e30953">btn_response_key</a>, (<span class="keywordtype">void</span> *)GTK_RESPONSE_OK);</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; g_signal_connect(G_OBJECT(w), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__message__panel_8c.html#abd857d6074d031de315fed1ffe0b6062">remmina_message_panel_button_clicked_callback</a>), mp);</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; gtk_box_pack_start(GTK_BOX(mp), GTK_WIDGET(hbox), TRUE, TRUE, 0);</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; gtk_widget_show_all(GTK_WIDGET(mp));</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;}</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#ae5b1825b5d4e56ecc2f25c28bb042c32"> 214</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8c.html#ae5b1825b5d4e56ecc2f25c28bb042c32">remmina_message_panel_setup_question</a>(RemminaMessagePanel *mp, <span class="keyword">const</span> gchar *message, <a class="code" href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a">RemminaMessagePanelCallback</a> response_callback, gpointer response_callback_data)</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;{</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="comment">/*</span></div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;<span class="comment"> * Setup a message panel to a message to read like &quot;Do you accept ?&quot;,</span></div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;<span class="comment"> * and a pair of button for Yes and No</span></div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;<span class="comment"> * message is an HTML string</span></div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;<span class="comment"> * Callback will receive GTK_RESPONSE_NO for No, GTK_RESPONSE_YES for Yes</span></div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; GtkWidget *grid;</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; GtkWidget *bbox;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; GtkWidget *w;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">if</span> ( !<a class="code" href="remmina__masterthread__exec_8c.html#a3a52e863a3a3da6da6bb5d36c13b7ff4">remmina_masterthread_exec_is_main_thread</a>() ) {</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; printf(<span class="stringliteral">&quot;WARNING: %s called in a subthread. This should not happen. Raising SIGINT for debugging.\n&quot;</span>, __func__);</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keyword">raise</span>(SIGINT);</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; }</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="comment">/* Create grid */</span></div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; grid = gtk_grid_new();</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; gtk_widget_set_halign(GTK_WIDGET(grid), GTK_ALIGN_CENTER);</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; gtk_widget_set_valign(GTK_WIDGET(grid), GTK_ALIGN_CENTER);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; gtk_widget_show(grid);</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; gtk_grid_set_row_spacing(GTK_GRID(grid), 6);</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; gtk_grid_set_column_spacing(GTK_GRID(grid), 6);</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="comment">/* A message, in HTML format */</span></div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; w = gtk_label_new(NULL);</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; gtk_label_set_markup(GTK_LABEL(w), message);</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; gtk_widget_set_halign(GTK_WIDGET(w), GTK_ALIGN_START);</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; gtk_widget_set_valign(GTK_WIDGET(w), GTK_ALIGN_FILL);</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(w), 18);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(w), 9);</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(w), 18);</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(w), 18);</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; gtk_widget_show(w);</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; gtk_grid_attach(GTK_GRID(grid), w, 0, 0, 2, 1);</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="comment">/* A button for yes and one for no */</span></div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_START);</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; gtk_grid_attach(GTK_GRID(grid), bbox, 0, 1, 1, 1);</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; w = gtk_button_new_with_label(_(<span class="stringliteral">&quot;Yes&quot;</span>));</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; gtk_widget_set_valign(GTK_WIDGET(w), GTK_ALIGN_CENTER);</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; g_object_set_data(G_OBJECT(w), <a class="code" href="remmina__message__panel_8c.html#ac93f8305d443470b429d0bf723e30953">btn_response_key</a>, (<span class="keywordtype">void</span> *)GTK_RESPONSE_YES);</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; g_signal_connect(G_OBJECT(w), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__message__panel_8c.html#abd857d6074d031de315fed1ffe0b6062">remmina_message_panel_button_clicked_callback</a>), mp);</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; gtk_container_add(GTK_CONTAINER(bbox), w);</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; w = gtk_button_new_with_label(_(<span class="stringliteral">&quot;No&quot;</span>));</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; gtk_widget_set_valign(GTK_WIDGET(w), GTK_ALIGN_CENTER);</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; g_object_set_data(G_OBJECT(w), <a class="code" href="remmina__message__panel_8c.html#ac93f8305d443470b429d0bf723e30953">btn_response_key</a>, (<span class="keywordtype">void</span> *)GTK_RESPONSE_NO);</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a9766a5c72bd815501e2ba0a5ac8cd283">response_callback</a> = response_callback;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a6595dbe739d97d82e36c6e0878bcf1d4">response_callback_data</a> = response_callback_data;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; g_signal_connect(G_OBJECT(w), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__message__panel_8c.html#abd857d6074d031de315fed1ffe0b6062">remmina_message_panel_button_clicked_callback</a>), mp);</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; gtk_container_add(GTK_CONTAINER(bbox), w);</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; gtk_box_pack_start(GTK_BOX(mp), GTK_WIDGET(grid), TRUE, TRUE, 0);</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; gtk_widget_show_all(GTK_WIDGET(mp));</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;}</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;</div><div class="line"><a name="l00283"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#ae2cec8bc8216154388727b7e35200667"> 283</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8c.html#ae2cec8bc8216154388727b7e35200667">remmina_message_panel_setup_auth</a>(RemminaMessagePanel *mp, <a class="code" href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a">RemminaMessagePanelCallback</a> response_callback, gpointer response_callback_data, <span class="keyword">const</span> gchar *title, <span class="keyword">const</span> gchar *password_prompt, <span class="keywordtype">unsigned</span> flags)</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;{</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; GtkWidget *grid;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; GtkWidget *password_entry;</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; GtkWidget *username_entry;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; GtkWidget *domain_entry;</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; GtkWidget *save_password_switch;</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; GtkWidget *bbox;</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; GtkWidget *button_ok;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; GtkWidget *button_cancel;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordtype">int</span> grid_row;</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">if</span> ( !<a class="code" href="remmina__masterthread__exec_8c.html#a3a52e863a3a3da6da6bb5d36c13b7ff4">remmina_masterthread_exec_is_main_thread</a>() ) {</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; printf(<span class="stringliteral">&quot;WARNING: %s called in a subthread. This should not happen. Raising SIGINT to debug.\n&quot;</span>, __func__);</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keyword">raise</span>(SIGINT);</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; }</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="comment">/* Create grid */</span></div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; grid = gtk_grid_new();</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; gtk_widget_set_halign(GTK_WIDGET(grid), GTK_ALIGN_CENTER);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; gtk_widget_set_valign(GTK_WIDGET(grid), GTK_ALIGN_CENTER);</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; gtk_widget_show(grid);</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; gtk_grid_set_row_spacing(GTK_GRID(grid), 6);</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; gtk_grid_set_column_spacing(GTK_GRID(grid), 6);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="comment">//gtk_grid_set_column_homogeneous(GTK_GRID(grid), TRUE);</span></div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="comment">/* Entries */</span></div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; grid_row = 0;</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; widget = gtk_label_new(title);</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; gtk_style_context_add_class(gtk_widget_get_style_context(widget), <span class="stringliteral">&quot;title_label&quot;</span>);</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; gtk_widget_set_halign(GTK_WIDGET(widget), GTK_ALIGN_START);</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; gtk_widget_set_valign(GTK_WIDGET(widget), GTK_ALIGN_FILL);</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(widget), 9);</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, grid_row, 3, 1);</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; grid_row++;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <span class="keywordflow">if</span> (flags &amp; <a class="code" href="types_8h.html#a341a0a8b6509633809d99348cc3ba486a10be0730fc3ea326856019ae139a922a">REMMINA_MESSAGE_PANEL_FLAG_USERNAME</a>) {</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; widget = gtk_label_new(_(<span class="stringliteral">&quot;Username&quot;</span>));</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; gtk_widget_set_halign(GTK_WIDGET(widget), GTK_ALIGN_START);</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; gtk_widget_set_valign(GTK_WIDGET(widget), GTK_ALIGN_CENTER);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(widget), 9);</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(widget), 3);</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(widget), 6);</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, grid_row, 1, 1);</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; username_entry = gtk_entry_new();</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="comment">// gtk_style_context_add_class(gtk_widget_get_style_context(username_entry), &quot;panel_entry&quot;);</span></div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; gtk_widget_set_halign(GTK_WIDGET(username_entry), GTK_ALIGN_FILL);</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; gtk_widget_set_valign(GTK_WIDGET(username_entry), GTK_ALIGN_FILL);</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(username_entry), 9);</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(username_entry), 3);</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(username_entry), 6);</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(username_entry), 18);</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="comment">//gtk_entry_set_activates_default (GTK_ENTRY(username_entry), TRUE);</span></div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; gtk_grid_attach(GTK_GRID(grid), username_entry, 1, grid_row, 2, 1);</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; gtk_entry_set_max_length(GTK_ENTRY(username_entry), 100);</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keywordflow">if</span> (flags &amp; <a class="code" href="types_8h.html#a341a0a8b6509633809d99348cc3ba486a1f63bf86b8f6da71137cf0a28ebf024a">REMMINA_MESSAGE_PANEL_FLAG_USERNAME_READONLY</a>) {</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; g_object_set(username_entry, <span class="stringliteral">&quot;editable&quot;</span>, FALSE, NULL);</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; }</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="comment">/*</span></div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;<span class="comment"> if (default_username &amp;&amp; default_username[0] != &#39;\0&#39;) {</span></div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;<span class="comment"> gtk_entry_set_text(GTK_ENTRY(username_entry), default_username);</span></div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;<span class="comment"> }</span></div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; grid_row++;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; username_entry = NULL;</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; }</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="comment">/* The password/key field */</span></div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; widget = gtk_label_new(password_prompt);</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; gtk_widget_set_halign(GTK_WIDGET(widget), GTK_ALIGN_START);</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(widget), 3);</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(widget), 3);</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(widget), 6);</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, grid_row, 1, 1);</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160;</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; password_entry = gtk_entry_new();</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; gtk_widget_set_halign(GTK_WIDGET(password_entry), GTK_ALIGN_FILL);</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; gtk_widget_set_valign(GTK_WIDGET(password_entry), GTK_ALIGN_FILL);</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(password_entry), 3);</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(password_entry), 3);</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(password_entry), 6);</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(password_entry), 18);</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; gtk_entry_set_activates_default (GTK_ENTRY(password_entry), TRUE);</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; gtk_grid_attach(GTK_GRID(grid), password_entry, 1, grid_row, 2, 1);</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; gtk_entry_set_max_length(GTK_ENTRY(password_entry), 0);</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; gtk_entry_set_visibility(GTK_ENTRY(password_entry), FALSE);</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; gtk_entry_set_icon_from_icon_name(GTK_ENTRY(password_entry), GTK_ENTRY_ICON_SECONDARY, <span class="stringliteral">&quot;org.remmina.Remmina-password-reveal-symbolic&quot;</span>);</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; gtk_entry_set_icon_activatable(GTK_ENTRY(password_entry), GTK_ENTRY_ICON_SECONDARY, TRUE);</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; g_signal_connect(password_entry, <span class="stringliteral">&quot;icon-press&quot;</span>, G_CALLBACK(<a class="code" href="remmina__main_8c.html#aac3fe305e456dfa7bb55aa2f057e8cb0">remmina_main_toggle_password_view</a>), NULL);</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; grid_row++;</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="keywordflow">if</span> (flags &amp; <a class="code" href="types_8h.html#a341a0a8b6509633809d99348cc3ba486a46ac68f2dea71082d090ae63c5c4505c">REMMINA_MESSAGE_PANEL_FLAG_DOMAIN</a>) {</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; widget = gtk_label_new(_(<span class="stringliteral">&quot;Domain&quot;</span>));</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; gtk_widget_set_halign(GTK_WIDGET(widget), GTK_ALIGN_START);</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(widget), 3);</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(widget), 3);</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(widget), 6);</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, grid_row, 1, 1);</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; domain_entry = gtk_entry_new();</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; gtk_widget_set_halign(GTK_WIDGET(domain_entry), GTK_ALIGN_FILL);</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; gtk_widget_set_valign(GTK_WIDGET(domain_entry), GTK_ALIGN_FILL);</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(domain_entry), 3);</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(domain_entry), 3);</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(domain_entry), 6);</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(domain_entry), 18);</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; gtk_entry_set_activates_default (GTK_ENTRY(domain_entry), TRUE);</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; gtk_widget_show(domain_entry);</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; gtk_grid_attach(GTK_GRID(grid), domain_entry, 1, grid_row, 2, 1);</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; gtk_entry_set_max_length(GTK_ENTRY(domain_entry), 100);</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="comment">/* if (default_domain &amp;&amp; default_domain[0] != &#39;\0&#39;) {</span></div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;<span class="comment"> gtk_entry_set_text(GTK_ENTRY(domain_entry), default_domain);</span></div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160;<span class="comment"> } */</span></div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; grid_row ++;</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; domain_entry = NULL;</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; }</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160;</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; widget = gtk_label_new(_(<span class="stringliteral">&quot;Save password&quot;</span>));</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; gtk_widget_set_halign(GTK_WIDGET(widget), GTK_ALIGN_START);</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(widget), 9);</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(widget), 9);</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(widget), 6);</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, grid_row, 1, 1);</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; save_password_switch = gtk_switch_new();</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; gtk_widget_set_halign(GTK_WIDGET(save_password_switch), GTK_ALIGN_START);</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; gtk_widget_set_valign(GTK_WIDGET(save_password_switch), GTK_ALIGN_FILL);</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(save_password_switch), 9);</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(save_password_switch), 9);</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(save_password_switch), 6);</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(save_password_switch), 18);</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; gtk_grid_attach(GTK_GRID(grid), save_password_switch, 1, grid_row, 2, 1);</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="keywordflow">if</span> (flags &amp; <a class="code" href="types_8h.html#a341a0a8b6509633809d99348cc3ba486a9b734c324722cf2982768feaeeb15c7c">REMMINA_MESSAGE_PANEL_FLAG_SAVEPASSWORD</a>) {</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; gtk_switch_set_active(GTK_SWITCH(save_password_switch), TRUE);</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; gtk_switch_set_active(GTK_SWITCH(save_password_switch), FALSE);</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; gtk_widget_set_sensitive(GTK_WIDGET(save_password_switch), FALSE);</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; }</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; grid_row ++;</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160;</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="comment">/* Buttons, ok and cancel */</span></div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; bbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL);</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_EDGE);</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; gtk_box_set_spacing (GTK_BOX (bbox), 40);</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(bbox), 9);</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(bbox), 18);</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(bbox), 18);</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(bbox), 18);</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; button_ok = gtk_button_new_with_label(_(<span class="stringliteral">&quot;_OK&quot;</span>));</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; gtk_button_set_use_underline(GTK_BUTTON(button_ok), TRUE);</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; gtk_widget_set_can_default(button_ok, TRUE);</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; gtk_container_add (GTK_CONTAINER (bbox), button_ok);</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <span class="comment">/* Buttons, ok and cancel */</span></div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; button_cancel = gtk_button_new_with_label(_(<span class="stringliteral">&quot;_Cancel&quot;</span>));</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; gtk_button_set_use_underline(GTK_BUTTON(button_cancel), TRUE);</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; gtk_container_add (GTK_CONTAINER (bbox), button_cancel);</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; gtk_grid_attach(GTK_GRID(grid), bbox, 0, grid_row, 3, 1);</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="comment">/* Pack it into the panel */</span></div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; gtk_box_pack_start(GTK_BOX(mp), grid, TRUE, TRUE, 4);</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160;</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a5c66a04852163126a3b494abe3e07e25">REMMINA_MESSAGE_PANEL_USERNAME</a>] = username_entry;</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a1d61170572fba5e968305c2ea3b0f9f6">REMMINA_MESSAGE_PANEL_PASSWORD</a>] = password_entry;</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="types_8h.html#a341a0a8b6509633809d99348cc3ba486a9b734c324722cf2982768feaeeb15c7c">REMMINA_MESSAGE_PANEL_FLAG_SAVEPASSWORD</a>] = save_password_switch;</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a9efe2bb3f139ed0baf3833880fc2369a">REMMINA_MESSAGE_PANEL_DOMAIN</a>] = domain_entry;</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a9439963721ca9d03d1a2371161336725">REMMINA_MESSAGE_PANEL_BUTTONTOFOCUS</a>] = button_ok;</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160;</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a9766a5c72bd815501e2ba0a5ac8cd283">response_callback</a> = response_callback;</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a6595dbe739d97d82e36c6e0878bcf1d4">response_callback_data</a> = response_callback_data;</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="keywordflow">if</span> (username_entry) g_signal_connect_swapped (username_entry, <span class="stringliteral">&quot;activate&quot;</span>, (GCallback)gtk_widget_grab_focus, password_entry);</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; g_signal_connect_swapped (password_entry, <span class="stringliteral">&quot;activate&quot;</span>, (GCallback)gtk_widget_grab_focus, button_ok);</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; g_object_set_data(G_OBJECT(button_cancel), <a class="code" href="remmina__message__panel_8c.html#ac93f8305d443470b429d0bf723e30953">btn_response_key</a>, (<span class="keywordtype">void</span> *)GTK_RESPONSE_CANCEL);</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; g_signal_connect(G_OBJECT(button_cancel), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__message__panel_8c.html#abd857d6074d031de315fed1ffe0b6062">remmina_message_panel_button_clicked_callback</a>), mp);</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; g_object_set_data(G_OBJECT(button_ok), <a class="code" href="remmina__message__panel_8c.html#ac93f8305d443470b429d0bf723e30953">btn_response_key</a>, (<span class="keywordtype">void</span> *)GTK_RESPONSE_OK);</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; g_signal_connect(G_OBJECT(button_ok), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__message__panel_8c.html#abd857d6074d031de315fed1ffe0b6062">remmina_message_panel_button_clicked_callback</a>), mp);</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;}</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160;</div><div class="line"><a name="l00484"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#ac10f450f856ca7d9c0b6896261e9c407"> 484</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8c.html#ac10f450f856ca7d9c0b6896261e9c407">remmina_message_panel_setup_auth_x509</a>(RemminaMessagePanel *mp, <a class="code" href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a">RemminaMessagePanelCallback</a> response_callback, gpointer response_callback_data)</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160;{</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; GtkWidget *grid;</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; GtkWidget *widget;</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; GtkWidget *bbox;</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; GtkWidget *button_ok;</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; GtkWidget *button_cancel;</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; GtkWidget *cacert_file;</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; GtkWidget *cacrl_file;</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; GtkWidget *clientcert_file;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; GtkWidget *clientkey_file;</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordtype">int</span> grid_row;</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160;</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160;</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">if</span> ( !<a class="code" href="remmina__masterthread__exec_8c.html#a3a52e863a3a3da6da6bb5d36c13b7ff4">remmina_masterthread_exec_is_main_thread</a>() ) {</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; printf(<span class="stringliteral">&quot;WARNING: %s called in a subthread. This should not happen. Raising SIGINT to debug.\n&quot;</span>, __func__);</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="keyword">raise</span>(SIGINT);</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; }</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160;</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <span class="comment">/* Create grid */</span></div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; grid = gtk_grid_new();</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; gtk_widget_set_halign(GTK_WIDGET(grid), GTK_ALIGN_CENTER);</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; gtk_widget_set_valign(GTK_WIDGET(grid), GTK_ALIGN_CENTER);</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; gtk_widget_show(grid);</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; gtk_grid_set_row_spacing(GTK_GRID(grid), 6);</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; gtk_grid_set_column_spacing(GTK_GRID(grid), 6);</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160;</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <span class="comment">/* Entries */</span></div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; grid_row = 0;</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; widget = gtk_label_new(_(<span class="stringliteral">&quot;Enter certificate authentication files&quot;</span>));</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; gtk_style_context_add_class(gtk_widget_get_style_context(widget), <span class="stringliteral">&quot;title_label&quot;</span>);</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; gtk_widget_set_halign(GTK_WIDGET(widget), GTK_ALIGN_START);</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; gtk_widget_set_valign(GTK_WIDGET(widget), GTK_ALIGN_FILL);</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(widget), 9);</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, grid_row, 3, 1);</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; grid_row++;</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160;</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="keyword">const</span> gchar *lbl_cacert = _(<span class="stringliteral">&quot;CA Certificate File&quot;</span>);</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; widget = gtk_label_new(lbl_cacert);</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; gtk_widget_set_halign(GTK_WIDGET(widget), GTK_ALIGN_START);</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; gtk_widget_set_valign(GTK_WIDGET(widget), GTK_ALIGN_CENTER);</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(widget), 9);</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(widget), 3);</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(widget), 6);</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, grid_row, 1, 1);</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; cacert_file = gtk_file_chooser_button_new(lbl_cacert, GTK_FILE_CHOOSER_ACTION_OPEN);</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <span class="comment">// gtk_style_context_add_class(gtk_widget_get_style_context(username_entry), &quot;panel_entry&quot;);</span></div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; gtk_widget_show(cacert_file);</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; gtk_widget_set_halign(GTK_WIDGET(cacert_file), GTK_ALIGN_FILL);</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; gtk_widget_set_valign(GTK_WIDGET(cacert_file), GTK_ALIGN_FILL);</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(cacert_file), 9);</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(cacert_file), 3);</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(cacert_file), 6);</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(cacert_file), 18);</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; gtk_grid_attach(GTK_GRID(grid), cacert_file, 1, grid_row, 2, 1);</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; grid_row++;</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160;</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <span class="keyword">const</span> gchar *lbl_cacrl = _(<span class="stringliteral">&quot;CA CRL File&quot;</span>);</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; widget = gtk_label_new(lbl_cacrl);</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; gtk_widget_set_halign(GTK_WIDGET(widget), GTK_ALIGN_START);</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; gtk_widget_set_valign(GTK_WIDGET(widget), GTK_ALIGN_CENTER);</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(widget), 9);</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(widget), 3);</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(widget), 6);</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, grid_row, 1, 1);</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; cacrl_file = gtk_file_chooser_button_new(lbl_cacrl, GTK_FILE_CHOOSER_ACTION_OPEN);</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; <span class="comment">// gtk_style_context_add_class(gtk_widget_get_style_context(username_entry), &quot;panel_entry&quot;);</span></div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; gtk_widget_show(cacrl_file);</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; gtk_widget_set_halign(GTK_WIDGET(cacrl_file), GTK_ALIGN_FILL);</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; gtk_widget_set_valign(GTK_WIDGET(cacrl_file), GTK_ALIGN_FILL);</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(cacrl_file), 9);</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(cacrl_file), 3);</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(cacrl_file), 6);</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(cacrl_file), 18);</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; gtk_grid_attach(GTK_GRID(grid), cacrl_file, 1, grid_row, 2, 1);</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; grid_row++;</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160;</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <span class="keyword">const</span> gchar *lbl_clicert = _(<span class="stringliteral">&quot;Client Certificate File&quot;</span>);</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; widget = gtk_label_new(lbl_clicert);</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; gtk_widget_set_halign(GTK_WIDGET(widget), GTK_ALIGN_START);</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; gtk_widget_set_valign(GTK_WIDGET(widget), GTK_ALIGN_CENTER);</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(widget), 9);</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(widget), 3);</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(widget), 6);</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, grid_row, 1, 1);</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; clientcert_file = gtk_file_chooser_button_new(lbl_clicert, GTK_FILE_CHOOSER_ACTION_OPEN);</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <span class="comment">// gtk_style_context_add_class(gtk_widget_get_style_context(username_entry), &quot;panel_entry&quot;);</span></div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; gtk_widget_show(clientcert_file);</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; gtk_widget_set_halign(GTK_WIDGET(clientcert_file), GTK_ALIGN_FILL);</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; gtk_widget_set_valign(GTK_WIDGET(clientcert_file), GTK_ALIGN_FILL);</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(clientcert_file), 9);</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(clientcert_file), 3);</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(clientcert_file), 6);</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(clientcert_file), 18);</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; gtk_grid_attach(GTK_GRID(grid), clientcert_file, 1, grid_row, 2, 1);</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; grid_row++;</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160;</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; <span class="keyword">const</span> gchar *lbl_clikey = _(<span class="stringliteral">&quot;Client Certificate Key&quot;</span>);</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; widget = gtk_label_new(lbl_clikey);</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; gtk_widget_set_halign(GTK_WIDGET(widget), GTK_ALIGN_START);</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; gtk_widget_set_valign(GTK_WIDGET(widget), GTK_ALIGN_CENTER);</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(widget), 9);</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(widget), 3);</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(widget), 18);</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(widget), 6);</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; gtk_widget_show(widget);</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; gtk_grid_attach(GTK_GRID(grid), widget, 0, grid_row, 1, 1);</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; clientkey_file = gtk_file_chooser_button_new(lbl_clikey, GTK_FILE_CHOOSER_ACTION_OPEN);</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <span class="comment">// gtk_style_context_add_class(gtk_widget_get_style_context(username_entry), &quot;panel_entry&quot;);</span></div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; gtk_widget_show(clientkey_file);</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; gtk_widget_set_halign(GTK_WIDGET(clientkey_file), GTK_ALIGN_FILL);</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; gtk_widget_set_valign(GTK_WIDGET(clientkey_file), GTK_ALIGN_FILL);</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(clientkey_file), 9);</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(clientkey_file), 3);</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(clientkey_file), 6);</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(clientkey_file), 18);</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; gtk_grid_attach(GTK_GRID(grid), clientkey_file, 1, grid_row, 2, 1);</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; grid_row++;</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160;</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <span class="comment">/* Buttons, ok and cancel */</span></div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; bbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL);</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_EDGE);</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; gtk_box_set_spacing (GTK_BOX (bbox), 40);</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; gtk_widget_set_margin_top (GTK_WIDGET(bbox), 9);</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; gtk_widget_set_margin_bottom (GTK_WIDGET(bbox), 18);</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; gtk_widget_set_margin_start (GTK_WIDGET(bbox), 18);</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; gtk_widget_set_margin_end (GTK_WIDGET(bbox), 18);</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; button_ok = gtk_button_new_with_label(_(<span class="stringliteral">&quot;_OK&quot;</span>));</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; gtk_widget_set_can_default (button_ok, TRUE);</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160;</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; gtk_button_set_use_underline(GTK_BUTTON(button_ok), TRUE);</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; <span class="comment">//gtk_widget_show(button_ok);</span></div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; gtk_container_add (GTK_CONTAINER (bbox), button_ok);</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; <span class="comment">//gtk_grid_attach(GTK_GRID(grid), button_ok, 0, grid_row, 1, 1);</span></div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; <span class="comment">/* Buttons, ok and cancel */</span></div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; button_cancel = gtk_button_new_with_label(_(<span class="stringliteral">&quot;_Cancel&quot;</span>));</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; gtk_button_set_use_underline(GTK_BUTTON(button_cancel), TRUE);</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; <span class="comment">//gtk_widget_show(button_cancel);</span></div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; gtk_container_add (GTK_CONTAINER (bbox), button_cancel);</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; gtk_grid_attach(GTK_GRID(grid), bbox, 0, grid_row, 3, 1);</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="comment">/* Pack it into the panel */</span></div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; gtk_box_pack_start(GTK_BOX(mp), grid, TRUE, TRUE, 4);</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160;</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a9766a5c72bd815501e2ba0a5ac8cd283">response_callback</a> = response_callback;</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a6595dbe739d97d82e36c6e0878bcf1d4">response_callback_data</a> = response_callback_data;</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160;</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a10531307d859706670fb6ce4aa7308c7">REMMINA_MESSAGE_PANEL_CACERTFILE</a>] = cacert_file;</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a703afb1dece981649f9497a9e910b779">REMMINA_MESSAGE_PANEL_CACRLFILE</a>] = cacrl_file;</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a26a6d6b3ac3f4e64662b0c72dc3982f7">REMMINA_MESSAGE_PANEL_CLIENTCERTFILE</a>] = clientcert_file;</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a34c1441f93d50321cbabcfb45918c6e3">REMMINA_MESSAGE_PANEL_CLIENTKEYFILE</a>] = clientkey_file;</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a9439963721ca9d03d1a2371161336725">REMMINA_MESSAGE_PANEL_BUTTONTOFOCUS</a>] = button_ok;</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160;</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; g_object_set_data(G_OBJECT(button_cancel), <a class="code" href="remmina__message__panel_8c.html#ac93f8305d443470b429d0bf723e30953">btn_response_key</a>, (<span class="keywordtype">void</span> *)GTK_RESPONSE_CANCEL);</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; g_signal_connect(G_OBJECT(button_cancel), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__message__panel_8c.html#abd857d6074d031de315fed1ffe0b6062">remmina_message_panel_button_clicked_callback</a>), mp);</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; g_object_set_data(G_OBJECT(button_ok), <a class="code" href="remmina__message__panel_8c.html#ac93f8305d443470b429d0bf723e30953">btn_response_key</a>, (<span class="keywordtype">void</span> *)GTK_RESPONSE_OK);</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; g_signal_connect(G_OBJECT(button_ok), <span class="stringliteral">&quot;clicked&quot;</span>, G_CALLBACK(<a class="code" href="remmina__message__panel_8c.html#abd857d6074d031de315fed1ffe0b6062">remmina_message_panel_button_clicked_callback</a>), mp);</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160;</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160;}</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160;</div><div class="line"><a name="l00656"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#aacb1f47e5ad88086c1bda1b0a156c34d"> 656</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8c.html#aacb1f47e5ad88086c1bda1b0a156c34d">remmina_message_panel_focus_auth_entry</a>(RemminaMessagePanel *mp)</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160;{</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160;</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv;</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; GtkWidget *w;</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <span class="keyword">const</span> gchar *username;</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160;</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; <span class="keywordflow">if</span> (mp == NULL)</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160;</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; <span class="comment">/* Activate default button */</span></div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; w = priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a9439963721ca9d03d1a2371161336725">REMMINA_MESSAGE_PANEL_BUTTONTOFOCUS</a>];</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; <span class="keywordflow">if</span> (w &amp;&amp; G_TYPE_CHECK_INSTANCE_TYPE(w, gtk_button_get_type()))</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; gtk_widget_grab_default(w);</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160;</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; w = priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a5c66a04852163126a3b494abe3e07e25">REMMINA_MESSAGE_PANEL_USERNAME</a>];</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; <span class="keywordflow">if</span> (w == NULL)</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; {</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; w = priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a1d61170572fba5e968305c2ea3b0f9f6">REMMINA_MESSAGE_PANEL_PASSWORD</a>];</div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; }<span class="keywordflow">else</span> {</div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; username = gtk_entry_get_text(GTK_ENTRY(w));</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; <span class="keywordflow">if</span> (username[0] != 0)</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; w = priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[<a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a1d61170572fba5e968305c2ea3b0f9f6">REMMINA_MESSAGE_PANEL_PASSWORD</a>];</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; }</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; <span class="keywordflow">if</span> (w == NULL)</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160;</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <span class="keywordflow">if</span> (!G_TYPE_CHECK_INSTANCE_TYPE(w, gtk_entry_get_type()))</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160;</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; gtk_widget_grab_focus(w);</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160;}</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160;</div><div class="line"><a name="l00691"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#a0e20944d484c95036eeb6b5d7775c901"> 691</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8c.html#a0e20944d484c95036eeb6b5d7775c901">remmina_message_panel_field_set_string</a>(RemminaMessagePanel *mp, <span class="keywordtype">int</span> entryid, <span class="keyword">const</span> gchar *text)</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160;{</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv;</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160;</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; <span class="keywordflow">if</span> (mp == NULL)</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160;</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; <span class="keywordflow">if</span> (priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid] == NULL)</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; <span class="keywordflow">if</span> (!G_TYPE_CHECK_INSTANCE_TYPE(priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid], gtk_entry_get_type()))</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160;</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; gtk_entry_set_text(GTK_ENTRY(priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid]), text != NULL ? text : <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160;}</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160;</div><div class="line"><a name="l00707"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#a44054d029d4615092ae8a2ee1bf81db4"> 707</a></span>&#160;gchar* <a class="code" href="remmina__message__panel_8c.html#a44054d029d4615092ae8a2ee1bf81db4">remmina_message_panel_field_get_string</a>(RemminaMessagePanel *mp, <span class="keywordtype">int</span> entryid)</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160;{</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160;</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv;</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160;</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="keywordflow">if</span> (mp == NULL)</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160;</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; <span class="keywordflow">if</span> (priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid] == NULL)</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; <span class="keywordflow">if</span> (!G_TYPE_CHECK_INSTANCE_TYPE(priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid], gtk_entry_get_type()))</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160;</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; <span class="keywordflow">return</span> g_strdup(gtk_entry_get_text(GTK_ENTRY(priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid])));</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160;}</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160;</div><div class="line"><a name="l00725"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#a67a48217d44350e028ed95b1b55f0b0f"> 725</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8c.html#a67a48217d44350e028ed95b1b55f0b0f">remmina_message_panel_field_set_switch</a>(RemminaMessagePanel *mp, <span class="keywordtype">int</span> entryid, gboolean state)</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160;{</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160;</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv;</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160;</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; <span class="keywordflow">if</span> (mp == NULL)</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160;</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; <span class="keywordflow">if</span> (priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid] == NULL)</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; <span class="keywordflow">if</span> (!G_TYPE_CHECK_INSTANCE_TYPE(priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid], gtk_switch_get_type()))</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160;</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; gtk_switch_set_state(GTK_SWITCH(priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid]), state);</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160;}</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160;</div><div class="line"><a name="l00743"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#a80bc2fcb39c236da739593c2134c73fa"> 743</a></span>&#160;gboolean <a class="code" href="remmina__message__panel_8c.html#a80bc2fcb39c236da739593c2134c73fa">remmina_message_panel_field_get_switch_state</a>(RemminaMessagePanel *mp, <span class="keywordtype">int</span> entryid)</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160;{</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160;</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv;</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160;</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <span class="keywordflow">if</span> (mp == NULL)</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160;</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; <span class="keywordflow">if</span> (priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid] == NULL)</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; <span class="keywordflow">if</span> (!G_TYPE_CHECK_INSTANCE_TYPE(priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid], gtk_switch_get_type()))</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; <span class="keywordflow">return</span> FALSE;</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160;</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; <span class="keywordflow">return</span> gtk_switch_get_state(GTK_SWITCH(priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid]));</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160;}</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160;</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160;</div><div class="line"><a name="l00762"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#aec9dcd96d0148fec9cdc9e94cc8dc1ff"> 762</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8c.html#aec9dcd96d0148fec9cdc9e94cc8dc1ff">remmina_message_panel_field_set_filename</a>(RemminaMessagePanel *mp, <span class="keywordtype">int</span> entryid, <span class="keyword">const</span> gchar *filename)</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160;{</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160;</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv;</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160;</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; <span class="keywordflow">if</span> (mp == NULL)</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; <span class="keywordflow">if</span> (priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid] == NULL)</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <span class="keywordflow">if</span> (!G_TYPE_CHECK_INSTANCE_TYPE(priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid], gtk_file_chooser_button_get_type()))</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160;</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid]), filename);</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160;}</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160;</div><div class="line"><a name="l00779"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#ab89dba73bc6832c6c5061a0d8bd0fbb4"> 779</a></span>&#160;gchar* <a class="code" href="remmina__message__panel_8c.html#ab89dba73bc6832c6c5061a0d8bd0fbb4">remmina_message_panel_field_get_filename</a>(RemminaMessagePanel *mp, <span class="keywordtype">int</span> entryid)</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160;{</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; TRACE_CALL(__func__);</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160;</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; <a class="code" href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a> *priv;</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160;</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; <span class="keywordflow">if</span> (mp == NULL)</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; priv = remmina_message_panel_get_instance_private(mp);</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160;</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; <span class="keywordflow">if</span> (priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid] == NULL)</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; <span class="keywordflow">if</span> (!G_TYPE_CHECK_INSTANCE_TYPE(priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid], gtk_file_chooser_button_get_type()))</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; <span class="keywordflow">return</span> NULL;</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160;</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; <span class="keywordflow">return</span> gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(priv-&gt;<a class="code" href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">w</a>[entryid]));</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160;}</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160;</div><div class="line"><a name="l00797"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#af7db7b9f49fe6b83b17471116d363d40"> 797</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8c.html#af7db7b9f49fe6b83b17471116d363d40">remmina_message_panel_response</a>(RemminaMessagePanel *mp, gint response_id)</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160;{</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; g_signal_emit(mp, <a class="code" href="remmina__message__panel_8c.html#ad7824aab39b78f2b1b1ce661213f8f1c">messagepanel_signals</a>[RESPONSE], 0, response_id);</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160;}</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160;</div><div class="ttc" id="remmina__message__panel_8c_html_ab6b5ef1f109af9209f76d194dd704a8c"><div class="ttname"><a href="remmina__message__panel_8c.html#ab6b5ef1f109af9209f76d194dd704a8c">remmina_message_panel_init</a></div><div class="ttdeci">static void remmina_message_panel_init(RemminaMessagePanel *mp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00067">remmina_message_panel.c:67</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_ad7824aab39b78f2b1b1ce661213f8f1c"><div class="ttname"><a href="remmina__message__panel_8c.html#ad7824aab39b78f2b1b1ce661213f8f1c">messagepanel_signals</a></div><div class="ttdeci">static guint messagepanel_signals[LAST_SIGNAL]</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00061">remmina_message_panel.c:61</a></div></div>
<div class="ttc" id="remmina__message__panel_8h_html_aabfcbcb5ac86a1edac4035264bc7d2b8a10531307d859706670fb6ce4aa7308c7"><div class="ttname"><a href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a10531307d859706670fb6ce4aa7308c7">REMMINA_MESSAGE_PANEL_CACERTFILE</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8h_source.html#l00059">remmina_message_panel.h:59</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_ae2cec8bc8216154388727b7e35200667"><div class="ttname"><a href="remmina__message__panel_8c.html#ae2cec8bc8216154388727b7e35200667">remmina_message_panel_setup_auth</a></div><div class="ttdeci">void remmina_message_panel_setup_auth(RemminaMessagePanel *mp, RemminaMessagePanelCallback response_callback, gpointer response_callback_data, const gchar *title, const gchar *password_prompt, unsigned flags)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00282">remmina_message_panel.c:282</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_ae2cec8bc8216154388727b7e35200667"><div class="ttname"><a href="remmina__message__panel_8c.html#ae2cec8bc8216154388727b7e35200667">remmina_message_panel_setup_auth</a></div><div class="ttdeci">void remmina_message_panel_setup_auth(RemminaMessagePanel *mp, RemminaMessagePanelCallback response_callback, gpointer response_callback_data, const gchar *title, const gchar *password_prompt, unsigned flags)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00283">remmina_message_panel.c:283</a></div></div>
<div class="ttc" id="remmina__message__panel_8h_html_aabfcbcb5ac86a1edac4035264bc7d2b8a9439963721ca9d03d1a2371161336725"><div class="ttname"><a href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a9439963721ca9d03d1a2371161336725">REMMINA_MESSAGE_PANEL_BUTTONTOFOCUS</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8h_source.html#l00058">remmina_message_panel.h:58</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_ae5b1825b5d4e56ecc2f25c28bb042c32"><div class="ttname"><a href="remmina__message__panel_8c.html#ae5b1825b5d4e56ecc2f25c28bb042c32">remmina_message_panel_setup_question</a></div><div class="ttdeci">void remmina_message_panel_setup_question(RemminaMessagePanel *mp, const gchar *message, RemminaMessagePanelCallback response_callback, gpointer response_callback_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00213">remmina_message_panel.c:213</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_ab89dba73bc6832c6c5061a0d8bd0fbb4"><div class="ttname"><a href="remmina__message__panel_8c.html#ab89dba73bc6832c6c5061a0d8bd0fbb4">remmina_message_panel_field_get_filename</a></div><div class="ttdeci">gchar * remmina_message_panel_field_get_filename(RemminaMessagePanel *mp, int entryid)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00775">remmina_message_panel.c:775</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_ae5b1825b5d4e56ecc2f25c28bb042c32"><div class="ttname"><a href="remmina__message__panel_8c.html#ae5b1825b5d4e56ecc2f25c28bb042c32">remmina_message_panel_setup_question</a></div><div class="ttdeci">void remmina_message_panel_setup_question(RemminaMessagePanel *mp, const gchar *message, RemminaMessagePanelCallback response_callback, gpointer response_callback_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00214">remmina_message_panel.c:214</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_ab89dba73bc6832c6c5061a0d8bd0fbb4"><div class="ttname"><a href="remmina__message__panel_8c.html#ab89dba73bc6832c6c5061a0d8bd0fbb4">remmina_message_panel_field_get_filename</a></div><div class="ttdeci">gchar * remmina_message_panel_field_get_filename(RemminaMessagePanel *mp, int entryid)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00779">remmina_message_panel.c:779</a></div></div>
<div class="ttc" id="types_8h_html_a341a0a8b6509633809d99348cc3ba486a1f63bf86b8f6da71137cf0a28ebf024a"><div class="ttname"><a href="types_8h.html#a341a0a8b6509633809d99348cc3ba486a1f63bf86b8f6da71137cf0a28ebf024a">REMMINA_MESSAGE_PANEL_FLAG_USERNAME_READONLY</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00157">types.h:157</a></div></div>
-<div class="ttc" id="struct_remmina_message_panel_private_html_a6595dbe739d97d82e36c6e0878bcf1d4"><div class="ttname"><a href="struct_remmina_message_panel_private.html#a6595dbe739d97d82e36c6e0878bcf1d4">RemminaMessagePanelPrivate::response_callback_data</a></div><div class="ttdeci">void * response_callback_data</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00050">remmina_message_panel.c:50</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_ac10f450f856ca7d9c0b6896261e9c407"><div class="ttname"><a href="remmina__message__panel_8c.html#ac10f450f856ca7d9c0b6896261e9c407">remmina_message_panel_setup_auth_x509</a></div><div class="ttdeci">void remmina_message_panel_setup_auth_x509(RemminaMessagePanel *mp, RemminaMessagePanelCallback response_callback, gpointer response_callback_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00480">remmina_message_panel.c:480</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_a6ed806c022986b81ef4db70e6d89abc9"><div class="ttname"><a href="remmina__message__panel_8c.html#a6ed806c022986b81ef4db70e6d89abc9">remmina_message_panel_class_init</a></div><div class="ttdeci">static void remmina_message_panel_class_init(RemminaMessagePanelClass *class)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00071">remmina_message_panel.c:71</a></div></div>
+<div class="ttc" id="struct_remmina_message_panel_private_html_a6595dbe739d97d82e36c6e0878bcf1d4"><div class="ttname"><a href="struct_remmina_message_panel_private.html#a6595dbe739d97d82e36c6e0878bcf1d4">RemminaMessagePanelPrivate::response_callback_data</a></div><div class="ttdeci">void * response_callback_data</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00051">remmina_message_panel.c:51</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_ac10f450f856ca7d9c0b6896261e9c407"><div class="ttname"><a href="remmina__message__panel_8c.html#ac10f450f856ca7d9c0b6896261e9c407">remmina_message_panel_setup_auth_x509</a></div><div class="ttdeci">void remmina_message_panel_setup_auth_x509(RemminaMessagePanel *mp, RemminaMessagePanelCallback response_callback, gpointer response_callback_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00484">remmina_message_panel.c:484</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_a6ed806c022986b81ef4db70e6d89abc9"><div class="ttname"><a href="remmina__message__panel_8c.html#a6ed806c022986b81ef4db70e6d89abc9">remmina_message_panel_class_init</a></div><div class="ttdeci">static void remmina_message_panel_class_init(RemminaMessagePanelClass *class)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00072">remmina_message_panel.c:72</a></div></div>
<div class="ttc" id="remmina__widget__pool_8h_html"><div class="ttname"><a href="remmina__widget__pool_8h.html">remmina_widget_pool.h</a></div></div>
<div class="ttc" id="remmina__trace__calls_8h_html"><div class="ttname"><a href="remmina__trace__calls_8h.html">remmina_trace_calls.h</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_aacb1f47e5ad88086c1bda1b0a156c34d"><div class="ttname"><a href="remmina__message__panel_8c.html#aacb1f47e5ad88086c1bda1b0a156c34d">remmina_message_panel_focus_auth_entry</a></div><div class="ttdeci">void remmina_message_panel_focus_auth_entry(RemminaMessagePanel *mp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00652">remmina_message_panel.c:652</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_a0e20944d484c95036eeb6b5d7775c901"><div class="ttname"><a href="remmina__message__panel_8c.html#a0e20944d484c95036eeb6b5d7775c901">remmina_message_panel_field_set_string</a></div><div class="ttdeci">void remmina_message_panel_field_set_string(RemminaMessagePanel *mp, int entryid, const gchar *text)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00687">remmina_message_panel.c:687</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_aacb1f47e5ad88086c1bda1b0a156c34d"><div class="ttname"><a href="remmina__message__panel_8c.html#aacb1f47e5ad88086c1bda1b0a156c34d">remmina_message_panel_focus_auth_entry</a></div><div class="ttdeci">void remmina_message_panel_focus_auth_entry(RemminaMessagePanel *mp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00656">remmina_message_panel.c:656</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_a0e20944d484c95036eeb6b5d7775c901"><div class="ttname"><a href="remmina__message__panel_8c.html#a0e20944d484c95036eeb6b5d7775c901">remmina_message_panel_field_set_string</a></div><div class="ttdeci">void remmina_message_panel_field_set_string(RemminaMessagePanel *mp, int entryid, const gchar *text)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00691">remmina_message_panel.c:691</a></div></div>
+<div class="ttc" id="remmina__main_8h_html"><div class="ttname"><a href="remmina__main_8h.html">remmina_main.h</a></div></div>
<div class="ttc" id="remmina__message__panel_8h_html_aabfcbcb5ac86a1edac4035264bc7d2b8ae335afb8ce18f75a427da98b1d84f10a"><div class="ttname"><a href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8ae335afb8ce18f75a427da98b1d84f10a">REMMINA_MESSAGE_PANEL_MAXWIDGETID</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8h_source.html#l00063">remmina_message_panel.h:63</a></div></div>
<div class="ttc" id="remmina__message__panel_8h_html_aabfcbcb5ac86a1edac4035264bc7d2b8a9efe2bb3f139ed0baf3833880fc2369a"><div class="ttname"><a href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a9efe2bb3f139ed0baf3833880fc2369a">REMMINA_MESSAGE_PANEL_DOMAIN</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8h_source.html#l00056">remmina_message_panel.h:56</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_aec9dcd96d0148fec9cdc9e94cc8dc1ff"><div class="ttname"><a href="remmina__message__panel_8c.html#aec9dcd96d0148fec9cdc9e94cc8dc1ff">remmina_message_panel_field_set_filename</a></div><div class="ttdeci">void remmina_message_panel_field_set_filename(RemminaMessagePanel *mp, int entryid, const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00758">remmina_message_panel.c:758</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_aec9dcd96d0148fec9cdc9e94cc8dc1ff"><div class="ttname"><a href="remmina__message__panel_8c.html#aec9dcd96d0148fec9cdc9e94cc8dc1ff">remmina_message_panel_field_set_filename</a></div><div class="ttdeci">void remmina_message_panel_field_set_filename(RemminaMessagePanel *mp, int entryid, const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00762">remmina_message_panel.c:762</a></div></div>
<div class="ttc" id="remmina__public_8h_html"><div class="ttname"><a href="remmina__public_8h.html">remmina_public.h</a></div></div>
<div class="ttc" id="remmina__message__panel_8h_html"><div class="ttname"><a href="remmina__message__panel_8h.html">remmina_message_panel.h</a></div></div>
<div class="ttc" id="remmina__masterthread__exec_8c_html_a3a52e863a3a3da6da6bb5d36c13b7ff4"><div class="ttname"><a href="remmina__masterthread__exec_8c.html#a3a52e863a3a3da6da6bb5d36c13b7ff4">remmina_masterthread_exec_is_main_thread</a></div><div class="ttdeci">gboolean remmina_masterthread_exec_is_main_thread()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__masterthread__exec_8c_source.html#l00147">remmina_masterthread_exec.c:147</a></div></div>
<div class="ttc" id="remmina__message__panel_8h_html_aabfcbcb5ac86a1edac4035264bc7d2b8a1d61170572fba5e968305c2ea3b0f9f6"><div class="ttname"><a href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a1d61170572fba5e968305c2ea3b0f9f6">REMMINA_MESSAGE_PANEL_PASSWORD</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8h_source.html#l00055">remmina_message_panel.h:55</a></div></div>
<div class="ttc" id="remmina__message__panel_8h_html_aabfcbcb5ac86a1edac4035264bc7d2b8a5c66a04852163126a3b494abe3e07e25"><div class="ttname"><a href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a5c66a04852163126a3b494abe3e07e25">REMMINA_MESSAGE_PANEL_USERNAME</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8h_source.html#l00054">remmina_message_panel.h:54</a></div></div>
<div class="ttc" id="remmina__message__panel_8h_html_aabfcbcb5ac86a1edac4035264bc7d2b8a26a6d6b3ac3f4e64662b0c72dc3982f7"><div class="ttname"><a href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a26a6d6b3ac3f4e64662b0c72dc3982f7">REMMINA_MESSAGE_PANEL_CLIENTCERTFILE</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8h_source.html#l00061">remmina_message_panel.h:61</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_a67a48217d44350e028ed95b1b55f0b0f"><div class="ttname"><a href="remmina__message__panel_8c.html#a67a48217d44350e028ed95b1b55f0b0f">remmina_message_panel_field_set_switch</a></div><div class="ttdeci">void remmina_message_panel_field_set_switch(RemminaMessagePanel *mp, int entryid, gboolean state)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00721">remmina_message_panel.c:721</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_a67a48217d44350e028ed95b1b55f0b0f"><div class="ttname"><a href="remmina__message__panel_8c.html#a67a48217d44350e028ed95b1b55f0b0f">remmina_message_panel_field_set_switch</a></div><div class="ttdeci">void remmina_message_panel_field_set_switch(RemminaMessagePanel *mp, int entryid, gboolean state)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00725">remmina_message_panel.c:725</a></div></div>
<div class="ttc" id="remmina__message__panel_8h_html_ae2923c94c1caf1ac4a7eb48361d2670a"><div class="ttname"><a href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a">RemminaMessagePanelCallback</a></div><div class="ttdeci">void(* RemminaMessagePanelCallback)(void *user_data, int button)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8h_source.html#l00067">remmina_message_panel.h:67</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_ad3ce5558696c03b0355b44b7f1b0d31e"><div class="ttname"><a href="remmina__message__panel_8c.html#ad3ce5558696c03b0355b44b7f1b0d31e">G_DEFINE_TYPE_WITH_PRIVATE</a></div><div class="ttdeci">G_DEFINE_TYPE_WITH_PRIVATE(RemminaMessagePanel, remmina_message_panel, GTK_TYPE_BOX)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00054">remmina_message_panel.c:54</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_a44054d029d4615092ae8a2ee1bf81db4"><div class="ttname"><a href="remmina__message__panel_8c.html#a44054d029d4615092ae8a2ee1bf81db4">remmina_message_panel_field_get_string</a></div><div class="ttdeci">gchar * remmina_message_panel_field_get_string(RemminaMessagePanel *mp, int entryid)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00703">remmina_message_panel.c:703</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_ad3ce5558696c03b0355b44b7f1b0d31e"><div class="ttname"><a href="remmina__message__panel_8c.html#ad3ce5558696c03b0355b44b7f1b0d31e">G_DEFINE_TYPE_WITH_PRIVATE</a></div><div class="ttdeci">G_DEFINE_TYPE_WITH_PRIVATE(RemminaMessagePanel, remmina_message_panel, GTK_TYPE_BOX)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00055">remmina_message_panel.c:55</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_a44054d029d4615092ae8a2ee1bf81db4"><div class="ttname"><a href="remmina__message__panel_8c.html#a44054d029d4615092ae8a2ee1bf81db4">remmina_message_panel_field_get_string</a></div><div class="ttdeci">gchar * remmina_message_panel_field_get_string(RemminaMessagePanel *mp, int entryid)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00707">remmina_message_panel.c:707</a></div></div>
<div class="ttc" id="types_8h_html_a341a0a8b6509633809d99348cc3ba486a10be0730fc3ea326856019ae139a922a"><div class="ttname"><a href="types_8h.html#a341a0a8b6509633809d99348cc3ba486a10be0730fc3ea326856019ae139a922a">REMMINA_MESSAGE_PANEL_FLAG_USERNAME</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00156">types.h:156</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_afae4072b7d8b54392ec08da7d6ead620"><div class="ttname"><a href="remmina__message__panel_8c.html#afae4072b7d8b54392ec08da7d6ead620">remmina_message_panel_setup_progress</a></div><div class="ttdeci">void remmina_message_panel_setup_progress(RemminaMessagePanel *mp, const gchar *message, RemminaMessagePanelCallback response_callback, gpointer response_callback_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00127">remmina_message_panel.c:127</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_afae4072b7d8b54392ec08da7d6ead620"><div class="ttname"><a href="remmina__message__panel_8c.html#afae4072b7d8b54392ec08da7d6ead620">remmina_message_panel_setup_progress</a></div><div class="ttdeci">void remmina_message_panel_setup_progress(RemminaMessagePanel *mp, const gchar *message, RemminaMessagePanelCallback response_callback, gpointer response_callback_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00128">remmina_message_panel.c:128</a></div></div>
<div class="ttc" id="types_8h_html_a341a0a8b6509633809d99348cc3ba486a46ac68f2dea71082d090ae63c5c4505c"><div class="ttname"><a href="types_8h.html#a341a0a8b6509633809d99348cc3ba486a46ac68f2dea71082d090ae63c5c4505c">REMMINA_MESSAGE_PANEL_FLAG_DOMAIN</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00158">types.h:158</a></div></div>
<div class="ttc" id="remmina__message__panel_8h_html_aabfcbcb5ac86a1edac4035264bc7d2b8a34c1441f93d50321cbabcfb45918c6e3"><div class="ttname"><a href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a34c1441f93d50321cbabcfb45918c6e3">REMMINA_MESSAGE_PANEL_CLIENTKEYFILE</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8h_source.html#l00062">remmina_message_panel.h:62</a></div></div>
<div class="ttc" id="types_8h_html_a341a0a8b6509633809d99348cc3ba486a9b734c324722cf2982768feaeeb15c7c"><div class="ttname"><a href="types_8h.html#a341a0a8b6509633809d99348cc3ba486a9b734c324722cf2982768feaeeb15c7c">REMMINA_MESSAGE_PANEL_FLAG_SAVEPASSWORD</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00159">types.h:159</a></div></div>
<div class="ttc" id="remmina__masterthread__exec_8h_html"><div class="ttname"><a href="remmina__masterthread__exec_8h.html">remmina_masterthread_exec.h</a></div></div>
-<div class="ttc" id="struct_remmina_message_panel_private_html"><div class="ttname"><a href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00046">remmina_message_panel.c:46</a></div></div>
+<div class="ttc" id="struct_remmina_message_panel_private_html"><div class="ttname"><a href="struct_remmina_message_panel_private.html">RemminaMessagePanelPrivate</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00047">remmina_message_panel.c:47</a></div></div>
<div class="ttc" id="rcw_8c_html_adf764cbdea00d65edcd07bb9953ad2b7a0c34d85df8279641afad9e3c9b3a54ce"><div class="ttname"><a href="rcw_8c.html#adf764cbdea00d65edcd07bb9953ad2b7a0c34d85df8279641afad9e3c9b3a54ce">LAST_SIGNAL</a></div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l00182">rcw.c:182</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_ae01d27ae9f678dc5a4fa32f0b401f434"><div class="ttname"><a href="remmina__message__panel_8c.html#ae01d27ae9f678dc5a4fa32f0b401f434">remmina_message_panel_setup_message</a></div><div class="ttdeci">void remmina_message_panel_setup_message(RemminaMessagePanel *mp, const gchar *message, RemminaMessagePanelCallback response_callback, gpointer response_callback_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00174">remmina_message_panel.c:174</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_a80bc2fcb39c236da739593c2134c73fa"><div class="ttname"><a href="remmina__message__panel_8c.html#a80bc2fcb39c236da739593c2134c73fa">remmina_message_panel_field_get_switch_state</a></div><div class="ttdeci">gboolean remmina_message_panel_field_get_switch_state(RemminaMessagePanel *mp, int entryid)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00739">remmina_message_panel.c:739</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_ac93f8305d443470b429d0bf723e30953"><div class="ttname"><a href="remmina__message__panel_8c.html#ac93f8305d443470b429d0bf723e30953">btn_response_key</a></div><div class="ttdeci">static const gchar btn_response_key[]</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00064">remmina_message_panel.c:64</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_aac3fe305e456dfa7bb55aa2f057e8cb0"><div class="ttname"><a href="remmina__main_8c.html#aac3fe305e456dfa7bb55aa2f057e8cb0">remmina_main_toggle_password_view</a></div><div class="ttdeci">void remmina_main_toggle_password_view(GtkWidget *widget, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01161">remmina_main.c:1161</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_ae01d27ae9f678dc5a4fa32f0b401f434"><div class="ttname"><a href="remmina__message__panel_8c.html#ae01d27ae9f678dc5a4fa32f0b401f434">remmina_message_panel_setup_message</a></div><div class="ttdeci">void remmina_message_panel_setup_message(RemminaMessagePanel *mp, const gchar *message, RemminaMessagePanelCallback response_callback, gpointer response_callback_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00175">remmina_message_panel.c:175</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_a80bc2fcb39c236da739593c2134c73fa"><div class="ttname"><a href="remmina__message__panel_8c.html#a80bc2fcb39c236da739593c2134c73fa">remmina_message_panel_field_get_switch_state</a></div><div class="ttdeci">gboolean remmina_message_panel_field_get_switch_state(RemminaMessagePanel *mp, int entryid)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00743">remmina_message_panel.c:743</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_ac93f8305d443470b429d0bf723e30953"><div class="ttname"><a href="remmina__message__panel_8c.html#ac93f8305d443470b429d0bf723e30953">btn_response_key</a></div><div class="ttdeci">static const gchar btn_response_key[]</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00065">remmina_message_panel.c:65</a></div></div>
<div class="ttc" id="remmina__message__panel_8h_html_aabfcbcb5ac86a1edac4035264bc7d2b8a703afb1dece981649f9497a9e910b779"><div class="ttname"><a href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a703afb1dece981649f9497a9e910b779">REMMINA_MESSAGE_PANEL_CACRLFILE</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8h_source.html#l00060">remmina_message_panel.h:60</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_af7db7b9f49fe6b83b17471116d363d40"><div class="ttname"><a href="remmina__message__panel_8c.html#af7db7b9f49fe6b83b17471116d363d40">remmina_message_panel_response</a></div><div class="ttdeci">void remmina_message_panel_response(RemminaMessagePanel *mp, gint response_id)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00793">remmina_message_panel.c:793</a></div></div>
-<div class="ttc" id="struct_remmina_message_panel_private_html_a9766a5c72bd815501e2ba0a5ac8cd283"><div class="ttname"><a href="struct_remmina_message_panel_private.html#a9766a5c72bd815501e2ba0a5ac8cd283">RemminaMessagePanelPrivate::response_callback</a></div><div class="ttdeci">RemminaMessagePanelCallback response_callback</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00049">remmina_message_panel.c:49</a></div></div>
-<div class="ttc" id="struct_remmina_message_panel_private_html_a7cbab11c19f590bf2ec253eb694b93f8"><div class="ttname"><a href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">RemminaMessagePanelPrivate::w</a></div><div class="ttdeci">GtkWidget * w[REMMINA_MESSAGE_PANEL_MAXWIDGETID]</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00051">remmina_message_panel.c:51</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_a7015155d2b1db3e74de4d4d5ef7cca55"><div class="ttname"><a href="remmina__message__panel_8c.html#a7015155d2b1db3e74de4d4d5ef7cca55">remmina_message_panel_new</a></div><div class="ttdeci">RemminaMessagePanel * remmina_message_panel_new()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00087">remmina_message_panel.c:87</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_abd857d6074d031de315fed1ffe0b6062"><div class="ttname"><a href="remmina__message__panel_8c.html#abd857d6074d031de315fed1ffe0b6062">remmina_message_panel_button_clicked_callback</a></div><div class="ttdeci">static void remmina_message_panel_button_clicked_callback(GtkButton *button, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00110">remmina_message_panel.c:110</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_af7db7b9f49fe6b83b17471116d363d40"><div class="ttname"><a href="remmina__message__panel_8c.html#af7db7b9f49fe6b83b17471116d363d40">remmina_message_panel_response</a></div><div class="ttdeci">void remmina_message_panel_response(RemminaMessagePanel *mp, gint response_id)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00797">remmina_message_panel.c:797</a></div></div>
+<div class="ttc" id="struct_remmina_message_panel_private_html_a9766a5c72bd815501e2ba0a5ac8cd283"><div class="ttname"><a href="struct_remmina_message_panel_private.html#a9766a5c72bd815501e2ba0a5ac8cd283">RemminaMessagePanelPrivate::response_callback</a></div><div class="ttdeci">RemminaMessagePanelCallback response_callback</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00050">remmina_message_panel.c:50</a></div></div>
+<div class="ttc" id="struct_remmina_message_panel_private_html_a7cbab11c19f590bf2ec253eb694b93f8"><div class="ttname"><a href="struct_remmina_message_panel_private.html#a7cbab11c19f590bf2ec253eb694b93f8">RemminaMessagePanelPrivate::w</a></div><div class="ttdeci">GtkWidget * w[REMMINA_MESSAGE_PANEL_MAXWIDGETID]</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00052">remmina_message_panel.c:52</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_a7015155d2b1db3e74de4d4d5ef7cca55"><div class="ttname"><a href="remmina__message__panel_8c.html#a7015155d2b1db3e74de4d4d5ef7cca55">remmina_message_panel_new</a></div><div class="ttdeci">RemminaMessagePanel * remmina_message_panel_new()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00088">remmina_message_panel.c:88</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_abd857d6074d031de315fed1ffe0b6062"><div class="ttname"><a href="remmina__message__panel_8c.html#abd857d6074d031de315fed1ffe0b6062">remmina_message_panel_button_clicked_callback</a></div><div class="ttdeci">static void remmina_message_panel_button_clicked_callback(GtkButton *button, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00111">remmina_message_panel.c:111</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
diff --git a/public/remmina__message__panel_8h.html b/public/remmina__message__panel_8h.html
index 702d7be0d..33906931e 100644
--- a/public/remmina__message__panel_8h.html
+++ b/public/remmina__message__panel_8h.html
@@ -271,7 +271,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00775">775</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00779">779</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -301,7 +301,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00703">703</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00707">707</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -331,7 +331,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00739">739</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00743">743</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -367,7 +367,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00758">758</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00762">762</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -403,7 +403,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00687">687</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00691">691</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -439,7 +439,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00721">721</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00725">725</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -459,7 +459,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00652">652</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00656">656</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -479,7 +479,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00087">87</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00088">88</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -509,7 +509,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00793">793</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00797">797</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -563,7 +563,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00282">282</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00283">283</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -599,7 +599,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00480">480</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00484">484</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -641,7 +641,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00174">174</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00175">175</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -683,7 +683,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00127">127</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00128">128</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -725,7 +725,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00213">213</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00214">214</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
diff --git a/public/remmina__message__panel_8h_source.html b/public/remmina__message__panel_8h_source.html
index 21abd74b1..92ccaf508 100644
--- a/public/remmina__message__panel_8h_source.html
+++ b/public/remmina__message__panel_8h_source.html
@@ -86,29 +86,29 @@ $(document).ready(function(){initNavTree('remmina__message__panel_8h_source.html
<div class="title">remmina_message_panel.h</div> </div>
</div><!--header-->
<div class="contents">
-<a href="remmina__message__panel_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Remmina - The GTK+ Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2009-2011 Vic Lee</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Copyright (C) 2016-2023 Antenore Gatta, Giovanni Panozzo</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * along with this program; if not, write to the Free Software</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> * In addition, as a special exception, the copyright holders give</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * permission to link the code of portions of this program with the</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * OpenSSL library under certain conditions as described in each</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * including the two.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * You must obey the GNU General Public License in all respects</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * for all of the code used other than OpenSSL. * If you modify</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * file(s) with this exception, you may extend this exception to your</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> * version of the file(s), but you are not obligated to do so. * If you</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> * do not wish to do so, delete this exception statement from your</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> * version. * If you delete this exception statement from all source</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> * files in the program, then also delete it here.</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &lt;gtk/gtk.h&gt;</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;G_BEGIN_DECLS</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#define REMMINA_TYPE_MESSAGE_PANEL (remmina_message_panel_get_type())</span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#a558c1459208a2a314734a1cf92e8e156"> 44</a></span>&#160;<a class="code" href="remmina__message__panel_8h.html#a558c1459208a2a314734a1cf92e8e156">G_DECLARE_DERIVABLE_TYPE</a>(RemminaMessagePanel, remmina_message_panel, REMMINA, MESSAGE_PANEL, GtkBox)</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="keyword">struct </span>_RemminaMessagePanelClass {</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; GtkBoxClass parent_class;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; void (*response) (RemminaMessagePanel *mp, gint response_id);</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;};</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="comment">/* Widgets ID for dialog fields */</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="keyword">enum</span> {</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a5c66a04852163126a3b494abe3e07e25"> 54</a></span>&#160; <a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a5c66a04852163126a3b494abe3e07e25">REMMINA_MESSAGE_PANEL_USERNAME</a>=1,</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a1d61170572fba5e968305c2ea3b0f9f6"> 55</a></span>&#160; <a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a1d61170572fba5e968305c2ea3b0f9f6">REMMINA_MESSAGE_PANEL_PASSWORD</a>,</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a9efe2bb3f139ed0baf3833880fc2369a"> 56</a></span>&#160; <a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a9efe2bb3f139ed0baf3833880fc2369a">REMMINA_MESSAGE_PANEL_DOMAIN</a>,</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8aa20e0ac03321f7742184c8228b3a8f2e"> 57</a></span>&#160; <a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8aa20e0ac03321f7742184c8228b3a8f2e">REMMINA_MESSAGE_PANEL_SAVEPASSWORD</a>,</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a9439963721ca9d03d1a2371161336725"> 58</a></span>&#160; <a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a9439963721ca9d03d1a2371161336725">REMMINA_MESSAGE_PANEL_BUTTONTOFOCUS</a>,</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a10531307d859706670fb6ce4aa7308c7"> 59</a></span>&#160; <a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a10531307d859706670fb6ce4aa7308c7">REMMINA_MESSAGE_PANEL_CACERTFILE</a>,</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a703afb1dece981649f9497a9e910b779"> 60</a></span>&#160; <a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a703afb1dece981649f9497a9e910b779">REMMINA_MESSAGE_PANEL_CACRLFILE</a>,</div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a26a6d6b3ac3f4e64662b0c72dc3982f7"> 61</a></span>&#160; <a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a26a6d6b3ac3f4e64662b0c72dc3982f7">REMMINA_MESSAGE_PANEL_CLIENTCERTFILE</a>,</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a34c1441f93d50321cbabcfb45918c6e3"> 62</a></span>&#160; <a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a34c1441f93d50321cbabcfb45918c6e3">REMMINA_MESSAGE_PANEL_CLIENTKEYFILE</a>,</div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8ae335afb8ce18f75a427da98b1d84f10a"> 63</a></span>&#160; <a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8ae335afb8ce18f75a427da98b1d84f10a">REMMINA_MESSAGE_PANEL_MAXWIDGETID</a></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;};</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment">/* Callback function type to receive buttons notification */</span></div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a"> 67</a></span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a">RemminaMessagePanelCallback</a>)(<span class="keywordtype">void</span> *user_data, <span class="keywordtype">int</span> button);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;RemminaMessagePanel *<a class="code" href="remmina__message__panel_8h.html#adf4a7707360c836ba312a2c7286db294">remmina_message_panel_new</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8h.html#afae4072b7d8b54392ec08da7d6ead620">remmina_message_panel_setup_progress</a>(RemminaMessagePanel *mp, <span class="keyword">const</span> gchar *message, <a class="code" href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a">RemminaMessagePanelCallback</a> response_callback, gpointer response_callback_data);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8h.html#ae01d27ae9f678dc5a4fa32f0b401f434">remmina_message_panel_setup_message</a>(RemminaMessagePanel *mp, <span class="keyword">const</span> gchar *message, <a class="code" href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a">RemminaMessagePanelCallback</a> response_callback, gpointer response_callback_data);</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8h.html#ae5b1825b5d4e56ecc2f25c28bb042c32">remmina_message_panel_setup_question</a>(RemminaMessagePanel *mp, <span class="keyword">const</span> gchar *message, <a class="code" href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a">RemminaMessagePanelCallback</a> response_callback, gpointer response_callback_data);</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8h.html#ae2cec8bc8216154388727b7e35200667">remmina_message_panel_setup_auth</a>(RemminaMessagePanel *mp, <a class="code" href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a">RemminaMessagePanelCallback</a> response_callback, gpointer response_callback_data, <span class="keyword">const</span> gchar *title, <span class="keyword">const</span> gchar *password_prompt, <span class="keywordtype">unsigned</span> flags);</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8h.html#ac10f450f856ca7d9c0b6896261e9c407">remmina_message_panel_setup_auth_x509</a>(RemminaMessagePanel *mp, <a class="code" href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a">RemminaMessagePanelCallback</a> response_callback, gpointer response_callback_data);</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8h.html#aacb1f47e5ad88086c1bda1b0a156c34d">remmina_message_panel_focus_auth_entry</a>(RemminaMessagePanel *mp);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8h.html#a0e20944d484c95036eeb6b5d7775c901">remmina_message_panel_field_set_string</a>(RemminaMessagePanel *mp, <span class="keywordtype">int</span> entryid, <span class="keyword">const</span> gchar *text);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;gchar *<a class="code" href="remmina__message__panel_8h.html#a44054d029d4615092ae8a2ee1bf81db4">remmina_message_panel_field_get_string</a>(RemminaMessagePanel *mp, <span class="keywordtype">int</span> entryid);</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8h.html#a67a48217d44350e028ed95b1b55f0b0f">remmina_message_panel_field_set_switch</a>(RemminaMessagePanel *mp, <span class="keywordtype">int</span> entryid, gboolean state);</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;gboolean <a class="code" href="remmina__message__panel_8h.html#a80bc2fcb39c236da739593c2134c73fa">remmina_message_panel_field_get_switch_state</a>(RemminaMessagePanel *mp, <span class="keywordtype">int</span> entryid);</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8h.html#aec9dcd96d0148fec9cdc9e94cc8dc1ff">remmina_message_panel_field_set_filename</a>(RemminaMessagePanel *mp, <span class="keywordtype">int</span> entryid, <span class="keyword">const</span> gchar *filename);</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;gchar *<a class="code" href="remmina__message__panel_8h.html#ab89dba73bc6832c6c5061a0d8bd0fbb4">remmina_message_panel_field_get_filename</a>(RemminaMessagePanel *mp, <span class="keywordtype">int</span> entryid);</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8h.html#af7db7b9f49fe6b83b17471116d363d40">remmina_message_panel_response</a>(RemminaMessagePanel *mp, gint response_id);</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;G_END_DECLS</div><div class="ttc" id="remmina__message__panel_8h_html_a0e20944d484c95036eeb6b5d7775c901"><div class="ttname"><a href="remmina__message__panel_8h.html#a0e20944d484c95036eeb6b5d7775c901">remmina_message_panel_field_set_string</a></div><div class="ttdeci">void remmina_message_panel_field_set_string(RemminaMessagePanel *mp, int entryid, const gchar *text)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00687">remmina_message_panel.c:687</a></div></div>
+<a href="remmina__message__panel_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Remmina - The GTK+ Remote Desktop Client</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2009-2011 Vic Lee</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Copyright (C) 2016-2023 Antenore Gatta, Giovanni Panozzo</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * This program is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * the Free Software Foundation; either version 2 of the License, or</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * (at your option) any later version.</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * along with this program; if not, write to the Free Software</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor,</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> * In addition, as a special exception, the copyright holders give</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * permission to link the code of portions of this program with the</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * OpenSSL library under certain conditions as described in each</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * individual source file, and distribute linked combinations</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * including the two.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * You must obey the GNU General Public License in all respects</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * for all of the code used other than OpenSSL. * If you modify</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * file(s) with this exception, you may extend this exception to your</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> * version of the file(s), but you are not obligated to do so. * If you</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> * do not wish to do so, delete this exception statement from your</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> * version. * If you delete this exception statement from all source</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment"> * files in the program, then also delete it here.</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &lt;gtk/gtk.h&gt;</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;G_BEGIN_DECLS</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#define REMMINA_TYPE_MESSAGE_PANEL (remmina_message_panel_get_type())</span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#a558c1459208a2a314734a1cf92e8e156"> 44</a></span>&#160;<a class="code" href="remmina__message__panel_8h.html#a558c1459208a2a314734a1cf92e8e156">G_DECLARE_DERIVABLE_TYPE</a>(RemminaMessagePanel, remmina_message_panel, REMMINA, MESSAGE_PANEL, GtkBox)</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="keyword">struct </span>_RemminaMessagePanelClass {</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; GtkBoxClass parent_class;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; void (*response) (RemminaMessagePanel *mp, gint response_id);</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;};</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="comment">/* Widgets ID for dialog fields */</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="keyword">enum</span> {</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a5c66a04852163126a3b494abe3e07e25"> 54</a></span>&#160; <a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a5c66a04852163126a3b494abe3e07e25">REMMINA_MESSAGE_PANEL_USERNAME</a>=1,</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a1d61170572fba5e968305c2ea3b0f9f6"> 55</a></span>&#160; <a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a1d61170572fba5e968305c2ea3b0f9f6">REMMINA_MESSAGE_PANEL_PASSWORD</a>,</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a9efe2bb3f139ed0baf3833880fc2369a"> 56</a></span>&#160; <a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a9efe2bb3f139ed0baf3833880fc2369a">REMMINA_MESSAGE_PANEL_DOMAIN</a>,</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8aa20e0ac03321f7742184c8228b3a8f2e"> 57</a></span>&#160; <a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8aa20e0ac03321f7742184c8228b3a8f2e">REMMINA_MESSAGE_PANEL_SAVEPASSWORD</a>,</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a9439963721ca9d03d1a2371161336725"> 58</a></span>&#160; <a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a9439963721ca9d03d1a2371161336725">REMMINA_MESSAGE_PANEL_BUTTONTOFOCUS</a>,</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a10531307d859706670fb6ce4aa7308c7"> 59</a></span>&#160; <a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a10531307d859706670fb6ce4aa7308c7">REMMINA_MESSAGE_PANEL_CACERTFILE</a>,</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a703afb1dece981649f9497a9e910b779"> 60</a></span>&#160; <a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a703afb1dece981649f9497a9e910b779">REMMINA_MESSAGE_PANEL_CACRLFILE</a>,</div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a26a6d6b3ac3f4e64662b0c72dc3982f7"> 61</a></span>&#160; <a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a26a6d6b3ac3f4e64662b0c72dc3982f7">REMMINA_MESSAGE_PANEL_CLIENTCERTFILE</a>,</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a34c1441f93d50321cbabcfb45918c6e3"> 62</a></span>&#160; <a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a34c1441f93d50321cbabcfb45918c6e3">REMMINA_MESSAGE_PANEL_CLIENTKEYFILE</a>,</div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8ae335afb8ce18f75a427da98b1d84f10a"> 63</a></span>&#160; <a class="code" href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8ae335afb8ce18f75a427da98b1d84f10a">REMMINA_MESSAGE_PANEL_MAXWIDGETID</a></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;};</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment">/* Callback function type to receive buttons notification */</span></div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a"> 67</a></span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a">RemminaMessagePanelCallback</a>)(<span class="keywordtype">void</span> *user_data, <span class="keywordtype">int</span> button);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;RemminaMessagePanel *<a class="code" href="remmina__message__panel_8h.html#adf4a7707360c836ba312a2c7286db294">remmina_message_panel_new</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8h.html#afae4072b7d8b54392ec08da7d6ead620">remmina_message_panel_setup_progress</a>(RemminaMessagePanel *mp, <span class="keyword">const</span> gchar *message, <a class="code" href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a">RemminaMessagePanelCallback</a> response_callback, gpointer response_callback_data);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8h.html#ae01d27ae9f678dc5a4fa32f0b401f434">remmina_message_panel_setup_message</a>(RemminaMessagePanel *mp, <span class="keyword">const</span> gchar *message, <a class="code" href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a">RemminaMessagePanelCallback</a> response_callback, gpointer response_callback_data);</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8h.html#ae5b1825b5d4e56ecc2f25c28bb042c32">remmina_message_panel_setup_question</a>(RemminaMessagePanel *mp, <span class="keyword">const</span> gchar *message, <a class="code" href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a">RemminaMessagePanelCallback</a> response_callback, gpointer response_callback_data);</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8h.html#ae2cec8bc8216154388727b7e35200667">remmina_message_panel_setup_auth</a>(RemminaMessagePanel *mp, <a class="code" href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a">RemminaMessagePanelCallback</a> response_callback, gpointer response_callback_data, <span class="keyword">const</span> gchar *title, <span class="keyword">const</span> gchar *password_prompt, <span class="keywordtype">unsigned</span> flags);</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8h.html#ac10f450f856ca7d9c0b6896261e9c407">remmina_message_panel_setup_auth_x509</a>(RemminaMessagePanel *mp, <a class="code" href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a">RemminaMessagePanelCallback</a> response_callback, gpointer response_callback_data);</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8h.html#aacb1f47e5ad88086c1bda1b0a156c34d">remmina_message_panel_focus_auth_entry</a>(RemminaMessagePanel *mp);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8h.html#a0e20944d484c95036eeb6b5d7775c901">remmina_message_panel_field_set_string</a>(RemminaMessagePanel *mp, <span class="keywordtype">int</span> entryid, <span class="keyword">const</span> gchar *text);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;gchar *<a class="code" href="remmina__message__panel_8h.html#a44054d029d4615092ae8a2ee1bf81db4">remmina_message_panel_field_get_string</a>(RemminaMessagePanel *mp, <span class="keywordtype">int</span> entryid);</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8h.html#a67a48217d44350e028ed95b1b55f0b0f">remmina_message_panel_field_set_switch</a>(RemminaMessagePanel *mp, <span class="keywordtype">int</span> entryid, gboolean state);</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;gboolean <a class="code" href="remmina__message__panel_8h.html#a80bc2fcb39c236da739593c2134c73fa">remmina_message_panel_field_get_switch_state</a>(RemminaMessagePanel *mp, <span class="keywordtype">int</span> entryid);</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8h.html#aec9dcd96d0148fec9cdc9e94cc8dc1ff">remmina_message_panel_field_set_filename</a>(RemminaMessagePanel *mp, <span class="keywordtype">int</span> entryid, <span class="keyword">const</span> gchar *filename);</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;gchar *<a class="code" href="remmina__message__panel_8h.html#ab89dba73bc6832c6c5061a0d8bd0fbb4">remmina_message_panel_field_get_filename</a>(RemminaMessagePanel *mp, <span class="keywordtype">int</span> entryid);</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="keywordtype">void</span> <a class="code" href="remmina__message__panel_8h.html#af7db7b9f49fe6b83b17471116d363d40">remmina_message_panel_response</a>(RemminaMessagePanel *mp, gint response_id);</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;G_END_DECLS</div><div class="ttc" id="remmina__message__panel_8h_html_a0e20944d484c95036eeb6b5d7775c901"><div class="ttname"><a href="remmina__message__panel_8h.html#a0e20944d484c95036eeb6b5d7775c901">remmina_message_panel_field_set_string</a></div><div class="ttdeci">void remmina_message_panel_field_set_string(RemminaMessagePanel *mp, int entryid, const gchar *text)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00691">remmina_message_panel.c:691</a></div></div>
<div class="ttc" id="remmina__message__panel_8h_html_aabfcbcb5ac86a1edac4035264bc7d2b8a10531307d859706670fb6ce4aa7308c7"><div class="ttname"><a href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a10531307d859706670fb6ce4aa7308c7">REMMINA_MESSAGE_PANEL_CACERTFILE</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8h_source.html#l00059">remmina_message_panel.h:59</a></div></div>
-<div class="ttc" id="remmina__message__panel_8h_html_ae5b1825b5d4e56ecc2f25c28bb042c32"><div class="ttname"><a href="remmina__message__panel_8h.html#ae5b1825b5d4e56ecc2f25c28bb042c32">remmina_message_panel_setup_question</a></div><div class="ttdeci">void remmina_message_panel_setup_question(RemminaMessagePanel *mp, const gchar *message, RemminaMessagePanelCallback response_callback, gpointer response_callback_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00213">remmina_message_panel.c:213</a></div></div>
+<div class="ttc" id="remmina__message__panel_8h_html_ae5b1825b5d4e56ecc2f25c28bb042c32"><div class="ttname"><a href="remmina__message__panel_8h.html#ae5b1825b5d4e56ecc2f25c28bb042c32">remmina_message_panel_setup_question</a></div><div class="ttdeci">void remmina_message_panel_setup_question(RemminaMessagePanel *mp, const gchar *message, RemminaMessagePanelCallback response_callback, gpointer response_callback_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00214">remmina_message_panel.c:214</a></div></div>
<div class="ttc" id="remmina__message__panel_8h_html_aabfcbcb5ac86a1edac4035264bc7d2b8a9439963721ca9d03d1a2371161336725"><div class="ttname"><a href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a9439963721ca9d03d1a2371161336725">REMMINA_MESSAGE_PANEL_BUTTONTOFOCUS</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8h_source.html#l00058">remmina_message_panel.h:58</a></div></div>
-<div class="ttc" id="remmina__message__panel_8h_html_ae01d27ae9f678dc5a4fa32f0b401f434"><div class="ttname"><a href="remmina__message__panel_8h.html#ae01d27ae9f678dc5a4fa32f0b401f434">remmina_message_panel_setup_message</a></div><div class="ttdeci">void remmina_message_panel_setup_message(RemminaMessagePanel *mp, const gchar *message, RemminaMessagePanelCallback response_callback, gpointer response_callback_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00174">remmina_message_panel.c:174</a></div></div>
-<div class="ttc" id="remmina__message__panel_8h_html_a80bc2fcb39c236da739593c2134c73fa"><div class="ttname"><a href="remmina__message__panel_8h.html#a80bc2fcb39c236da739593c2134c73fa">remmina_message_panel_field_get_switch_state</a></div><div class="ttdeci">gboolean remmina_message_panel_field_get_switch_state(RemminaMessagePanel *mp, int entryid)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00739">remmina_message_panel.c:739</a></div></div>
-<div class="ttc" id="remmina__message__panel_8h_html_a44054d029d4615092ae8a2ee1bf81db4"><div class="ttname"><a href="remmina__message__panel_8h.html#a44054d029d4615092ae8a2ee1bf81db4">remmina_message_panel_field_get_string</a></div><div class="ttdeci">gchar * remmina_message_panel_field_get_string(RemminaMessagePanel *mp, int entryid)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00703">remmina_message_panel.c:703</a></div></div>
-<div class="ttc" id="remmina__message__panel_8h_html_afae4072b7d8b54392ec08da7d6ead620"><div class="ttname"><a href="remmina__message__panel_8h.html#afae4072b7d8b54392ec08da7d6ead620">remmina_message_panel_setup_progress</a></div><div class="ttdeci">void remmina_message_panel_setup_progress(RemminaMessagePanel *mp, const gchar *message, RemminaMessagePanelCallback response_callback, gpointer response_callback_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00127">remmina_message_panel.c:127</a></div></div>
-<div class="ttc" id="remmina__message__panel_8h_html_aacb1f47e5ad88086c1bda1b0a156c34d"><div class="ttname"><a href="remmina__message__panel_8h.html#aacb1f47e5ad88086c1bda1b0a156c34d">remmina_message_panel_focus_auth_entry</a></div><div class="ttdeci">void remmina_message_panel_focus_auth_entry(RemminaMessagePanel *mp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00652">remmina_message_panel.c:652</a></div></div>
+<div class="ttc" id="remmina__message__panel_8h_html_ae01d27ae9f678dc5a4fa32f0b401f434"><div class="ttname"><a href="remmina__message__panel_8h.html#ae01d27ae9f678dc5a4fa32f0b401f434">remmina_message_panel_setup_message</a></div><div class="ttdeci">void remmina_message_panel_setup_message(RemminaMessagePanel *mp, const gchar *message, RemminaMessagePanelCallback response_callback, gpointer response_callback_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00175">remmina_message_panel.c:175</a></div></div>
+<div class="ttc" id="remmina__message__panel_8h_html_a80bc2fcb39c236da739593c2134c73fa"><div class="ttname"><a href="remmina__message__panel_8h.html#a80bc2fcb39c236da739593c2134c73fa">remmina_message_panel_field_get_switch_state</a></div><div class="ttdeci">gboolean remmina_message_panel_field_get_switch_state(RemminaMessagePanel *mp, int entryid)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00743">remmina_message_panel.c:743</a></div></div>
+<div class="ttc" id="remmina__message__panel_8h_html_a44054d029d4615092ae8a2ee1bf81db4"><div class="ttname"><a href="remmina__message__panel_8h.html#a44054d029d4615092ae8a2ee1bf81db4">remmina_message_panel_field_get_string</a></div><div class="ttdeci">gchar * remmina_message_panel_field_get_string(RemminaMessagePanel *mp, int entryid)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00707">remmina_message_panel.c:707</a></div></div>
+<div class="ttc" id="remmina__message__panel_8h_html_afae4072b7d8b54392ec08da7d6ead620"><div class="ttname"><a href="remmina__message__panel_8h.html#afae4072b7d8b54392ec08da7d6ead620">remmina_message_panel_setup_progress</a></div><div class="ttdeci">void remmina_message_panel_setup_progress(RemminaMessagePanel *mp, const gchar *message, RemminaMessagePanelCallback response_callback, gpointer response_callback_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00128">remmina_message_panel.c:128</a></div></div>
+<div class="ttc" id="remmina__message__panel_8h_html_aacb1f47e5ad88086c1bda1b0a156c34d"><div class="ttname"><a href="remmina__message__panel_8h.html#aacb1f47e5ad88086c1bda1b0a156c34d">remmina_message_panel_focus_auth_entry</a></div><div class="ttdeci">void remmina_message_panel_focus_auth_entry(RemminaMessagePanel *mp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00656">remmina_message_panel.c:656</a></div></div>
<div class="ttc" id="remmina__message__panel_8h_html_aabfcbcb5ac86a1edac4035264bc7d2b8ae335afb8ce18f75a427da98b1d84f10a"><div class="ttname"><a href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8ae335afb8ce18f75a427da98b1d84f10a">REMMINA_MESSAGE_PANEL_MAXWIDGETID</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8h_source.html#l00063">remmina_message_panel.h:63</a></div></div>
<div class="ttc" id="remmina__message__panel_8h_html_aabfcbcb5ac86a1edac4035264bc7d2b8a9efe2bb3f139ed0baf3833880fc2369a"><div class="ttname"><a href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a9efe2bb3f139ed0baf3833880fc2369a">REMMINA_MESSAGE_PANEL_DOMAIN</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8h_source.html#l00056">remmina_message_panel.h:56</a></div></div>
-<div class="ttc" id="remmina__message__panel_8h_html_af7db7b9f49fe6b83b17471116d363d40"><div class="ttname"><a href="remmina__message__panel_8h.html#af7db7b9f49fe6b83b17471116d363d40">remmina_message_panel_response</a></div><div class="ttdeci">void remmina_message_panel_response(RemminaMessagePanel *mp, gint response_id)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00793">remmina_message_panel.c:793</a></div></div>
+<div class="ttc" id="remmina__message__panel_8h_html_af7db7b9f49fe6b83b17471116d363d40"><div class="ttname"><a href="remmina__message__panel_8h.html#af7db7b9f49fe6b83b17471116d363d40">remmina_message_panel_response</a></div><div class="ttdeci">void remmina_message_panel_response(RemminaMessagePanel *mp, gint response_id)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00797">remmina_message_panel.c:797</a></div></div>
<div class="ttc" id="remmina__message__panel_8h_html_aabfcbcb5ac86a1edac4035264bc7d2b8a1d61170572fba5e968305c2ea3b0f9f6"><div class="ttname"><a href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a1d61170572fba5e968305c2ea3b0f9f6">REMMINA_MESSAGE_PANEL_PASSWORD</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8h_source.html#l00055">remmina_message_panel.h:55</a></div></div>
<div class="ttc" id="remmina__message__panel_8h_html_aabfcbcb5ac86a1edac4035264bc7d2b8a5c66a04852163126a3b494abe3e07e25"><div class="ttname"><a href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a5c66a04852163126a3b494abe3e07e25">REMMINA_MESSAGE_PANEL_USERNAME</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8h_source.html#l00054">remmina_message_panel.h:54</a></div></div>
-<div class="ttc" id="remmina__message__panel_8h_html_adf4a7707360c836ba312a2c7286db294"><div class="ttname"><a href="remmina__message__panel_8h.html#adf4a7707360c836ba312a2c7286db294">remmina_message_panel_new</a></div><div class="ttdeci">RemminaMessagePanel * remmina_message_panel_new(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00087">remmina_message_panel.c:87</a></div></div>
-<div class="ttc" id="remmina__message__panel_8h_html_a67a48217d44350e028ed95b1b55f0b0f"><div class="ttname"><a href="remmina__message__panel_8h.html#a67a48217d44350e028ed95b1b55f0b0f">remmina_message_panel_field_set_switch</a></div><div class="ttdeci">void remmina_message_panel_field_set_switch(RemminaMessagePanel *mp, int entryid, gboolean state)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00721">remmina_message_panel.c:721</a></div></div>
+<div class="ttc" id="remmina__message__panel_8h_html_adf4a7707360c836ba312a2c7286db294"><div class="ttname"><a href="remmina__message__panel_8h.html#adf4a7707360c836ba312a2c7286db294">remmina_message_panel_new</a></div><div class="ttdeci">RemminaMessagePanel * remmina_message_panel_new(void)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00088">remmina_message_panel.c:88</a></div></div>
+<div class="ttc" id="remmina__message__panel_8h_html_a67a48217d44350e028ed95b1b55f0b0f"><div class="ttname"><a href="remmina__message__panel_8h.html#a67a48217d44350e028ed95b1b55f0b0f">remmina_message_panel_field_set_switch</a></div><div class="ttdeci">void remmina_message_panel_field_set_switch(RemminaMessagePanel *mp, int entryid, gboolean state)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00725">remmina_message_panel.c:725</a></div></div>
<div class="ttc" id="remmina__message__panel_8h_html_aabfcbcb5ac86a1edac4035264bc7d2b8a26a6d6b3ac3f4e64662b0c72dc3982f7"><div class="ttname"><a href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a26a6d6b3ac3f4e64662b0c72dc3982f7">REMMINA_MESSAGE_PANEL_CLIENTCERTFILE</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8h_source.html#l00061">remmina_message_panel.h:61</a></div></div>
-<div class="ttc" id="remmina__message__panel_8h_html_ab89dba73bc6832c6c5061a0d8bd0fbb4"><div class="ttname"><a href="remmina__message__panel_8h.html#ab89dba73bc6832c6c5061a0d8bd0fbb4">remmina_message_panel_field_get_filename</a></div><div class="ttdeci">gchar * remmina_message_panel_field_get_filename(RemminaMessagePanel *mp, int entryid)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00775">remmina_message_panel.c:775</a></div></div>
+<div class="ttc" id="remmina__message__panel_8h_html_ab89dba73bc6832c6c5061a0d8bd0fbb4"><div class="ttname"><a href="remmina__message__panel_8h.html#ab89dba73bc6832c6c5061a0d8bd0fbb4">remmina_message_panel_field_get_filename</a></div><div class="ttdeci">gchar * remmina_message_panel_field_get_filename(RemminaMessagePanel *mp, int entryid)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00779">remmina_message_panel.c:779</a></div></div>
<div class="ttc" id="remmina__message__panel_8h_html_ae2923c94c1caf1ac4a7eb48361d2670a"><div class="ttname"><a href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a">RemminaMessagePanelCallback</a></div><div class="ttdeci">void(* RemminaMessagePanelCallback)(void *user_data, int button)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8h_source.html#l00067">remmina_message_panel.h:67</a></div></div>
-<div class="ttc" id="remmina__message__panel_8h_html_ac10f450f856ca7d9c0b6896261e9c407"><div class="ttname"><a href="remmina__message__panel_8h.html#ac10f450f856ca7d9c0b6896261e9c407">remmina_message_panel_setup_auth_x509</a></div><div class="ttdeci">void remmina_message_panel_setup_auth_x509(RemminaMessagePanel *mp, RemminaMessagePanelCallback response_callback, gpointer response_callback_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00480">remmina_message_panel.c:480</a></div></div>
+<div class="ttc" id="remmina__message__panel_8h_html_ac10f450f856ca7d9c0b6896261e9c407"><div class="ttname"><a href="remmina__message__panel_8h.html#ac10f450f856ca7d9c0b6896261e9c407">remmina_message_panel_setup_auth_x509</a></div><div class="ttdeci">void remmina_message_panel_setup_auth_x509(RemminaMessagePanel *mp, RemminaMessagePanelCallback response_callback, gpointer response_callback_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00484">remmina_message_panel.c:484</a></div></div>
<div class="ttc" id="remmina__message__panel_8h_html_aabfcbcb5ac86a1edac4035264bc7d2b8a34c1441f93d50321cbabcfb45918c6e3"><div class="ttname"><a href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a34c1441f93d50321cbabcfb45918c6e3">REMMINA_MESSAGE_PANEL_CLIENTKEYFILE</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8h_source.html#l00062">remmina_message_panel.h:62</a></div></div>
-<div class="ttc" id="remmina__message__panel_8h_html_aec9dcd96d0148fec9cdc9e94cc8dc1ff"><div class="ttname"><a href="remmina__message__panel_8h.html#aec9dcd96d0148fec9cdc9e94cc8dc1ff">remmina_message_panel_field_set_filename</a></div><div class="ttdeci">void remmina_message_panel_field_set_filename(RemminaMessagePanel *mp, int entryid, const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00758">remmina_message_panel.c:758</a></div></div>
-<div class="ttc" id="remmina__message__panel_8h_html_ae2cec8bc8216154388727b7e35200667"><div class="ttname"><a href="remmina__message__panel_8h.html#ae2cec8bc8216154388727b7e35200667">remmina_message_panel_setup_auth</a></div><div class="ttdeci">void remmina_message_panel_setup_auth(RemminaMessagePanel *mp, RemminaMessagePanelCallback response_callback, gpointer response_callback_data, const gchar *title, const gchar *password_prompt, unsigned flags)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00282">remmina_message_panel.c:282</a></div></div>
+<div class="ttc" id="remmina__message__panel_8h_html_aec9dcd96d0148fec9cdc9e94cc8dc1ff"><div class="ttname"><a href="remmina__message__panel_8h.html#aec9dcd96d0148fec9cdc9e94cc8dc1ff">remmina_message_panel_field_set_filename</a></div><div class="ttdeci">void remmina_message_panel_field_set_filename(RemminaMessagePanel *mp, int entryid, const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00762">remmina_message_panel.c:762</a></div></div>
+<div class="ttc" id="remmina__message__panel_8h_html_ae2cec8bc8216154388727b7e35200667"><div class="ttname"><a href="remmina__message__panel_8h.html#ae2cec8bc8216154388727b7e35200667">remmina_message_panel_setup_auth</a></div><div class="ttdeci">void remmina_message_panel_setup_auth(RemminaMessagePanel *mp, RemminaMessagePanelCallback response_callback, gpointer response_callback_data, const gchar *title, const gchar *password_prompt, unsigned flags)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00283">remmina_message_panel.c:283</a></div></div>
<div class="ttc" id="remmina__message__panel_8h_html_a558c1459208a2a314734a1cf92e8e156"><div class="ttname"><a href="remmina__message__panel_8h.html#a558c1459208a2a314734a1cf92e8e156">G_DECLARE_DERIVABLE_TYPE</a></div><div class="ttdeci">G_DECLARE_DERIVABLE_TYPE(RemminaMessagePanel, remmina_message_panel, REMMINA, MESSAGE_PANEL, GtkBox) struct _RemminaMessagePanelClass</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8h_source.html#l00044">remmina_message_panel.h:44</a></div></div>
<div class="ttc" id="remmina__message__panel_8h_html_aabfcbcb5ac86a1edac4035264bc7d2b8a703afb1dece981649f9497a9e910b779"><div class="ttname"><a href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a703afb1dece981649f9497a9e910b779">REMMINA_MESSAGE_PANEL_CACRLFILE</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8h_source.html#l00060">remmina_message_panel.h:60</a></div></div>
<div class="ttc" id="remmina__message__panel_8h_html_aabfcbcb5ac86a1edac4035264bc7d2b8aa20e0ac03321f7742184c8228b3a8f2e"><div class="ttname"><a href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8aa20e0ac03321f7742184c8228b3a8f2e">REMMINA_MESSAGE_PANEL_SAVEPASSWORD</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8h_source.html#l00057">remmina_message_panel.h:57</a></div></div>
diff --git a/public/remmina__mpchange_8c_source.html b/public/remmina__mpchange_8c_source.html
index 5d47cb401..4cc9d8541 100644
--- a/public/remmina__mpchange_8c_source.html
+++ b/public/remmina__mpchange_8c_source.html
@@ -93,7 +93,7 @@ $(document).ready(function(){initNavTree('remmina__mpchange_8c_source.html','');
<div class="ttc" id="remmina__file_8c_html_a8eb1b213d9d08c6ad13683ce05f4355e"><div class="ttname"><a href="remmina__file_8c.html#a8eb1b213d9d08c6ad13683ce05f4355e">remmina_file_get_string</a></div><div class="ttdeci">const gchar * remmina_file_get_string(RemminaFile *remminafile, const gchar *setting)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00516">remmina_file.c:516</a></div></div>
<div class="ttc" id="structmpchanger__params_html_ac8fdacd94418731904020ff679475918"><div class="ttname"><a href="structmpchanger__params.html#ac8fdacd94418731904020ff679475918">mpchanger_params::searchentrychange_timeout_source_id</a></div><div class="ttdeci">guint searchentrychange_timeout_source_id</div><div class="ttdef"><b>Definition:</b> <a href="remmina__mpchange_8c_source.html#l00072">remmina_mpchange.c:72</a></div></div>
<div class="ttc" id="remmina__mpchange_8c_html_a1e4f5a537a13face058177dc97e88c8a"><div class="ttname"><a href="remmina__mpchange_8c.html#a1e4f5a537a13face058177dc97e88c8a">remmina_mpchange_stopsearch</a></div><div class="ttdeci">static void remmina_mpchange_stopsearch(GtkSearchEntry *entry, gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__mpchange_8c_source.html#l00356">remmina_mpchange.c:356</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a7740488de65c0e642895cc9dfba07b6e"><div class="ttname"><a href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a></div><div class="ttdeci">GtkWindow * remmina_main_get_window()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01718">remmina_main.c:1718</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a7740488de65c0e642895cc9dfba07b6e"><div class="ttname"><a href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a></div><div class="ttdeci">GtkWindow * remmina_main_get_window()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01736">remmina_main.c:1736</a></div></div>
<div class="ttc" id="structmpchanger__params_html_a73f1024c68afe4f35bea5608188c52bc"><div class="ttname"><a href="structmpchanger__params.html#a73f1024c68afe4f35bea5608188c52bc">mpchanger_params::eGatewayPassword2</a></div><div class="ttdeci">GtkEntry * eGatewayPassword2</div><div class="ttdef"><b>Definition:</b> <a href="remmina__mpchange_8c_source.html#l00062">remmina_mpchange.c:62</a></div></div>
<div class="ttc" id="remmina__file__manager_8h_html"><div class="ttname"><a href="remmina__file__manager_8h.html">remmina_file_manager.h</a></div></div>
<div class="ttc" id="remmina__mpchange_8c_html_a5d76b81b0ad4c19007a781d4edb8181fa8843686a2923021b5ded06faeaaf66f1"><div class="ttname"><a href="remmina__mpchange_8c.html#a5d76b81b0ad4c19007a781d4edb8181fa8843686a2923021b5ded06faeaaf66f1">NUM_COLS</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__mpchange_8c_source.html#l00082">remmina_mpchange.c:82</a></div></div>
diff --git a/public/remmina__plugin__manager_8c_source.html b/public/remmina__plugin__manager_8c_source.html
index 1eed65f04..ce304aa72 100644
--- a/public/remmina__plugin__manager_8c_source.html
+++ b/public/remmina__plugin__manager_8c_source.html
@@ -101,7 +101,7 @@ $(document).ready(function(){initNavTree('remmina__plugin__manager_8c_source.htm
<div class="ttc" id="remmina__plugin__manager_8c_html_a7e75f54171749cfec5c0cbbb1095ed86"><div class="ttname"><a href="remmina__plugin__manager_8c.html#a7e75f54171749cfec5c0cbbb1095ed86">htdestroy</a></div><div class="ttdeci">static void htdestroy(gpointer ht)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00082">remmina_plugin_manager.c:82</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a9d55210413d6a313478f81cf76ecf1b7"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a9d55210413d6a313478f81cf76ecf1b7">remmina_protocol_widget_start_direct_tunnel</a></div><div class="ttdeci">gchar * remmina_protocol_widget_start_direct_tunnel(RemminaProtocolWidget *gp, gint default_port, gboolean port_plus)</div><div class="ttdoc">Start an SSH tunnel if possible and return the host:port string. </div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01062">remmina_protocol_widget.c:1062</a></div></div>
<div class="ttc" id="struct___remmina_language_wrapper_plugin_html"><div class="ttname"><a href="struct___remmina_language_wrapper_plugin.html">_RemminaLanguageWrapperPlugin</a></div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00150">plugin.h:150</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_a7740488de65c0e642895cc9dfba07b6e"><div class="ttname"><a href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a></div><div class="ttdeci">GtkWindow * remmina_main_get_window()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01718">remmina_main.c:1718</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_a7740488de65c0e642895cc9dfba07b6e"><div class="ttname"><a href="remmina__main_8c.html#a7740488de65c0e642895cc9dfba07b6e">remmina_main_get_window</a></div><div class="ttdeci">GtkWindow * remmina_main_get_window()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01736">remmina_main.c:1736</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_ae2522242b3f39ee84ee8cf75170de0c0"><div class="ttname"><a href="remmina__protocol__widget_8c.html#ae2522242b3f39ee84ee8cf75170de0c0">remmina_protocol_widget_chat_receive</a></div><div class="ttdeci">void remmina_protocol_widget_chat_receive(RemminaProtocolWidget *gp, const gchar *text)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l02036">remmina_protocol_widget.c:2036</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_aaf355ea7103fc57a4cbc7b815cde2995"><div class="ttname"><a href="remmina__protocol__widget_8c.html#aaf355ea7103fc57a4cbc7b815cde2995">remmina_protocol_widget_get_width</a></div><div class="ttdeci">gint remmina_protocol_widget_get_width(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01389">remmina_protocol_widget.c:1389</a></div></div>
<div class="ttc" id="remmina__plugin__native_8c_html_ae60c5371a41a83ef94c6a2b3dc8c9520"><div class="ttname"><a href="remmina__plugin__native_8c.html#ae60c5371a41a83ef94c6a2b3dc8c9520">remmina_plugin_native_load</a></div><div class="ttdeci">gboolean remmina_plugin_native_load(RemminaPluginService *service, const char *name)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__native_8c_source.html#l00060">remmina_plugin_native.c:60</a></div></div>
@@ -173,7 +173,7 @@ $(document).ready(function(){initNavTree('remmina__plugin__manager_8c_source.htm
<div class="ttc" id="remmina__protocol__widget_8c_html_a1cae52cad394f317c712eb4fd709d261"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a1cae52cad394f317c712eb4fd709d261">remmina_protocol_widget_signal_connection_closed</a></div><div class="ttdeci">void remmina_protocol_widget_signal_connection_closed(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l00360">remmina_protocol_widget.c:360</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_a3996819fdb2c833f3c64c2ad399e5f10"><div class="ttname"><a href="remmina__plugin__manager_8c.html#a3996819fdb2c833f3c64c2ad399e5f10">remmina_plugin_manager_service</a></div><div class="ttdeci">RemminaPluginService remmina_plugin_manager_service</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00174">remmina_plugin_manager.c:174</a></div></div>
<div class="ttc" id="remmina__plugin__manager_8c_html_a719ce18a83ed7ecb3388f179a8590c10"><div class="ttname"><a href="remmina__plugin__manager_8c.html#a719ce18a83ed7ecb3388f179a8590c10">remmina_plugin_type_name</a></div><div class="ttdeci">static const gchar * remmina_plugin_type_name[]</div><div class="ttdef"><b>Definition:</b> <a href="remmina__plugin__manager_8c_source.html#l00073">remmina_plugin_manager.c:73</a></div></div>
-<div class="ttc" id="remmina__main_8c_html_ab2a1a54320992fb796850ffbd6a63589"><div class="ttname"><a href="remmina__main_8c.html#ab2a1a54320992fb796850ffbd6a63589">remmina_main_show_dialog</a></div><div class="ttdeci">void remmina_main_show_dialog(GtkMessageType msg, GtkButtonsType buttons, const gchar *message)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01737">remmina_main.c:1737</a></div></div>
+<div class="ttc" id="remmina__main_8c_html_ab2a1a54320992fb796850ffbd6a63589"><div class="ttname"><a href="remmina__main_8c.html#ab2a1a54320992fb796850ffbd6a63589">remmina_main_show_dialog</a></div><div class="ttdeci">void remmina_main_show_dialog(GtkMessageType msg, GtkButtonsType buttons, const gchar *message)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__main_8c_source.html#l01755">remmina_main.c:1755</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a9acf045c5a3eec5b7f748678dee0d3ee"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a9acf045c5a3eec5b7f748678dee0d3ee">remmina_protocol_widget_desktop_resize</a></div><div class="ttdeci">void remmina_protocol_widget_desktop_resize(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l00461">remmina_protocol_widget.c:461</a></div></div>
<div class="ttc" id="remmina__log_8h_html"><div class="ttname"><a href="remmina__log_8h.html">remmina_log.h</a></div></div>
<div class="ttc" id="struct___remmina_protocol_feature_html_a1826baafd2d7b5dc8a009ef4fcad77e9"><div class="ttname"><a href="struct___remmina_protocol_feature.html#a1826baafd2d7b5dc8a009ef4fcad77e9">_RemminaProtocolFeature::type</a></div><div class="ttdeci">RemminaProtocolFeatureType type</div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00073">types.h:73</a></div></div>
diff --git a/public/remmina__protocol__widget_8c_source.html b/public/remmina__protocol__widget_8c_source.html
index ec2ac22e2..ec769c217 100644
--- a/public/remmina__protocol__widget_8c_source.html
+++ b/public/remmina__protocol__widget_8c_source.html
@@ -116,14 +116,14 @@ $(document).ready(function(){initNavTree('remmina__protocol__widget_8c_source.ht
<div class="ttc" id="remmina__protocol__widget_8c_html_a4017a800d7803a40d606ffce2578509a"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a4017a800d7803a40d606ffce2578509a">remmina_protocol_widget_query_feature_by_ref</a></div><div class="ttdeci">gboolean remmina_protocol_widget_query_feature_by_ref(RemminaProtocolWidget *gp, const RemminaProtocolFeature *feature)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l00792">remmina_protocol_widget.c:792</a></div></div>
<div class="ttc" id="remmina__ssh_8h_html_ae47c8270267b02b9c0ff5b36074101c2"><div class="ttname"><a href="remmina__ssh_8h.html#ae47c8270267b02b9c0ff5b36074101c2">remmina_ssh_tunnel_reverse</a></div><div class="ttdeci">gboolean remmina_ssh_tunnel_reverse(RemminaSSHTunnel *tunnel, gint port, gint local_port)</div></div>
<div class="ttc" id="struct___remmina_protocol_widget_priv_html_ae3feb5e5dad00109813fac890d913885"><div class="ttname"><a href="struct___remmina_protocol_widget_priv.html#ae3feb5e5dad00109813fac890d913885">_RemminaProtocolWidgetPriv::username</a></div><div class="ttdeci">gchar * username</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l00093">remmina_protocol_widget.c:93</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_ae2cec8bc8216154388727b7e35200667"><div class="ttname"><a href="remmina__message__panel_8c.html#ae2cec8bc8216154388727b7e35200667">remmina_message_panel_setup_auth</a></div><div class="ttdeci">void remmina_message_panel_setup_auth(RemminaMessagePanel *mp, RemminaMessagePanelCallback response_callback, gpointer response_callback_data, const gchar *title, const gchar *password_prompt, unsigned flags)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00282">remmina_message_panel.c:282</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_ae2cec8bc8216154388727b7e35200667"><div class="ttname"><a href="remmina__message__panel_8c.html#ae2cec8bc8216154388727b7e35200667">remmina_message_panel_setup_auth</a></div><div class="ttdeci">void remmina_message_panel_setup_auth(RemminaMessagePanel *mp, RemminaMessagePanelCallback response_callback, gpointer response_callback_data, const gchar *title, const gchar *password_prompt, unsigned flags)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00283">remmina_message_panel.c:283</a></div></div>
<div class="ttc" id="struct___remmina_protocol_plugin_html_a4908abc6c70c59c42e2757aecaa25cf1"><div class="ttname"><a href="struct___remmina_protocol_plugin.html#a4908abc6c70c59c42e2757aecaa25cf1">_RemminaProtocolPlugin::call_feature</a></div><div class="ttdeci">void(* call_feature)(RemminaProtocolWidget *gp, const RemminaProtocolFeature *feature)</div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00083">plugin.h:83</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a7e54d9bb42d2d337527d3af657ef1e1f"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a7e54d9bb42d2d337527d3af657ef1e1f">remmina_protocol_widget_destroy</a></div><div class="ttdeci">static void remmina_protocol_widget_destroy(RemminaProtocolWidget *gp, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l00172">remmina_protocol_widget.c:172</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_aa9639b76ac0a92647ce08bdfe943d113"><div class="ttname"><a href="remmina__protocol__widget_8c.html#aa9639b76ac0a92647ce08bdfe943d113">remmina_protocol_widget_dialog_mt_setup</a></div><div class="ttdeci">static gboolean remmina_protocol_widget_dialog_mt_setup(gpointer user_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01533">remmina_protocol_widget.c:1533</a></div></div>
<div class="ttc" id="struct___remmina_protocol_widget_signal_data_html_a7a8b9ad6fdff86250a5eef649693d64a"><div class="ttname"><a href="struct___remmina_protocol_widget_signal_data.html#a7a8b9ad6fdff86250a5eef649693d64a">_RemminaProtocolWidgetSignalData::gp</a></div><div class="ttdeci">RemminaProtocolWidget * gp</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l00123">remmina_protocol_widget.c:123</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_ae5b1825b5d4e56ecc2f25c28bb042c32"><div class="ttname"><a href="remmina__message__panel_8c.html#ae5b1825b5d4e56ecc2f25c28bb042c32">remmina_message_panel_setup_question</a></div><div class="ttdeci">void remmina_message_panel_setup_question(RemminaMessagePanel *mp, const gchar *message, RemminaMessagePanelCallback response_callback, gpointer response_callback_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00213">remmina_message_panel.c:213</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_ae5b1825b5d4e56ecc2f25c28bb042c32"><div class="ttname"><a href="remmina__message__panel_8c.html#ae5b1825b5d4e56ecc2f25c28bb042c32">remmina_message_panel_setup_question</a></div><div class="ttdeci">void remmina_message_panel_setup_question(RemminaMessagePanel *mp, const gchar *message, RemminaMessagePanelCallback response_callback, gpointer response_callback_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00214">remmina_message_panel.c:214</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_ae2522242b3f39ee84ee8cf75170de0c0"><div class="ttname"><a href="remmina__protocol__widget_8c.html#ae2522242b3f39ee84ee8cf75170de0c0">remmina_protocol_widget_chat_receive</a></div><div class="ttdeci">void remmina_protocol_widget_chat_receive(RemminaProtocolWidget *gp, const gchar *text)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l02036">remmina_protocol_widget.c:2036</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_ab89dba73bc6832c6c5061a0d8bd0fbb4"><div class="ttname"><a href="remmina__message__panel_8c.html#ab89dba73bc6832c6c5061a0d8bd0fbb4">remmina_message_panel_field_get_filename</a></div><div class="ttdeci">gchar * remmina_message_panel_field_get_filename(RemminaMessagePanel *mp, int entryid)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00775">remmina_message_panel.c:775</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_ab89dba73bc6832c6c5061a0d8bd0fbb4"><div class="ttname"><a href="remmina__message__panel_8c.html#ab89dba73bc6832c6c5061a0d8bd0fbb4">remmina_message_panel_field_get_filename</a></div><div class="ttdeci">gchar * remmina_message_panel_field_get_filename(RemminaMessagePanel *mp, int entryid)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00779">remmina_message_panel.c:779</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_aaf355ea7103fc57a4cbc7b815cde2995"><div class="ttname"><a href="remmina__protocol__widget_8c.html#aaf355ea7103fc57a4cbc7b815cde2995">remmina_protocol_widget_get_width</a></div><div class="ttdeci">gint remmina_protocol_widget_get_width(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01389">remmina_protocol_widget.c:1389</a></div></div>
<div class="ttc" id="types_8h_html_aeea5ee1e675368413b6f6ab09883e7dea4d22c6eed721b661d618098159a20946"><div class="ttname"><a href="types_8h.html#aeea5ee1e675368413b6f6ab09883e7dea4d22c6eed721b661d618098159a20946">REMMINA_PROTOCOL_WIDGET_SCALE_MODE_DYNRES</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00144">types.h:144</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_ab4c6435ef92e34a94270069ce1861907"><div class="ttname"><a href="remmina__protocol__widget_8c.html#ab4c6435ef92e34a94270069ce1861907">remmina_protocol_widget_get_profile_remote_width</a></div><div class="ttdeci">gint remmina_protocol_widget_get_profile_remote_width(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01360">remmina_protocol_widget.c:1360</a></div></div>
@@ -152,7 +152,7 @@ $(document).ready(function(){initNavTree('remmina__protocol__widget_8c_source.ht
<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a33ae9b7cd8cb3dcd85223017dfd13795"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a33ae9b7cd8cb3dcd85223017dfd13795">_RemminaSSHTunnel::destroy_func_callback_data</a></div><div class="ttdeci">gpointer destroy_func_callback_data</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00181">remmina_ssh.h:181</a></div></div>
<div class="ttc" id="remmina__file_8c_html_a52a0986eaf54c9e606ce9cdf8bb57e60"><div class="ttname"><a href="remmina__file_8c.html#a52a0986eaf54c9e606ce9cdf8bb57e60">remmina_file_dup_temp_protocol</a></div><div class="ttdeci">RemminaFile * remmina_file_dup_temp_protocol(RemminaFile *remminafile, const gchar *new_protocol)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00899">remmina_file.c:899</a></div></div>
<div class="ttc" id="rcw_8c_html_ad3c2fe67b137c757bd21b79ad5dcc5ff"><div class="ttname"><a href="rcw_8c.html#ad3c2fe67b137c757bd21b79ad5dcc5ff">rcw_open_from_file_full</a></div><div class="ttdeci">GtkWidget * rcw_open_from_file_full(RemminaFile *remminafile, GCallback disconnect_cb, gpointer data, guint *handler)</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l04499">rcw.c:4499</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_ac10f450f856ca7d9c0b6896261e9c407"><div class="ttname"><a href="remmina__message__panel_8c.html#ac10f450f856ca7d9c0b6896261e9c407">remmina_message_panel_setup_auth_x509</a></div><div class="ttdeci">void remmina_message_panel_setup_auth_x509(RemminaMessagePanel *mp, RemminaMessagePanelCallback response_callback, gpointer response_callback_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00480">remmina_message_panel.c:480</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_ac10f450f856ca7d9c0b6896261e9c407"><div class="ttname"><a href="remmina__message__panel_8c.html#ac10f450f856ca7d9c0b6896261e9c407">remmina_message_panel_setup_auth_x509</a></div><div class="ttdeci">void remmina_message_panel_setup_auth_x509(RemminaMessagePanel *mp, RemminaMessagePanelCallback response_callback, gpointer response_callback_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00484">remmina_message_panel.c:484</a></div></div>
<div class="ttc" id="struct___remmina_protocol_feature_html_a36b55faeba78528ac9708dfa66667e20"><div class="ttname"><a href="struct___remmina_protocol_feature.html#a36b55faeba78528ac9708dfa66667e20">_RemminaProtocolFeature::id</a></div><div class="ttdeci">gint id</div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00074">types.h:74</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a858e4756aa97ce424ccf12475c225c54"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a858e4756aa97ce424ccf12475c225c54">remmina_protocol_widget_dialog</a></div><div class="ttdeci">static int remmina_protocol_widget_dialog(enum panel_type dtype, RemminaProtocolWidget *gp, RemminaMessagePanelFlags pflags, const gchar *title, const gchar *default_username, const gchar *default_password, const gchar *default_domain, const gchar *strpasswordlabel)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01612">remmina_protocol_widget.c:1612</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a122e28e59acb89200937ff823b82ddaf"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a122e28e59acb89200937ff823b82ddaf">run_response_handler</a></div><div class="ttdeci">static void run_response_handler(RemminaMessagePanel *mp, gint response_id, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01587">remmina_protocol_widget.c:1587</a></div></div>
@@ -193,7 +193,7 @@ $(document).ready(function(){initNavTree('remmina__protocol__widget_8c_source.ht
<div class="ttc" id="struct___remmina_protocol_plugin_html"><div class="ttname"><a href="struct___remmina_protocol_plugin.html">_RemminaProtocolPlugin</a></div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00065">plugin.h:65</a></div></div>
<div class="ttc" id="struct___remmina_protocol_plugin_html_ad2e965f3997d21a1e08d365c74e615bd"><div class="ttname"><a href="struct___remmina_protocol_plugin.html#ad2e965f3997d21a1e08d365c74e615bd">_RemminaProtocolPlugin::open_connection</a></div><div class="ttdeci">gboolean(* open_connection)(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00080">plugin.h:80</a></div></div>
<div class="ttc" id="struct___remmina_protocol_widget_priv_html_acad26c8fddd63360e26ecc99b0d57be4"><div class="ttname"><a href="struct___remmina_protocol_widget_priv.html#acad26c8fddd63360e26ecc99b0d57be4">_RemminaProtocolWidgetPriv::retry_message_panel</a></div><div class="ttdeci">RemminaMessagePanel * retry_message_panel</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l00090">remmina_protocol_widget.c:90</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_a0e20944d484c95036eeb6b5d7775c901"><div class="ttname"><a href="remmina__message__panel_8c.html#a0e20944d484c95036eeb6b5d7775c901">remmina_message_panel_field_set_string</a></div><div class="ttdeci">void remmina_message_panel_field_set_string(RemminaMessagePanel *mp, int entryid, const gchar *text)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00687">remmina_message_panel.c:687</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_a0e20944d484c95036eeb6b5d7775c901"><div class="ttname"><a href="remmina__message__panel_8c.html#a0e20944d484c95036eeb6b5d7775c901">remmina_message_panel_field_set_string</a></div><div class="ttdeci">void remmina_message_panel_field_set_string(RemminaMessagePanel *mp, int entryid, const gchar *text)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00691">remmina_message_panel.c:691</a></div></div>
<div class="ttc" id="structremmina__protocol__widget__dialog__mt__data__t_html_aac83645c5474683d37a9a61fcd640b7a"><div class="ttname"><a href="structremmina__protocol__widget__dialog__mt__data__t.html#aac83645c5474683d37a9a61fcd640b7a">remmina_protocol_widget_dialog_mt_data_t::gp</a></div><div class="ttdeci">RemminaProtocolWidget * gp</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01484">remmina_protocol_widget.c:1484</a></div></div>
<div class="ttc" id="struct___remmina_protocol_widget_priv_html_a2381772c96a26aafc98d347d210dbfe0"><div class="ttname"><a href="struct___remmina_protocol_widget_priv.html#a2381772c96a26aafc98d347d210dbfe0">_RemminaProtocolWidgetPriv::plugin</a></div><div class="ttdeci">RemminaProtocolPlugin * plugin</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l00062">remmina_protocol_widget.c:62</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_ac9abaedb8cc35838ef1444423a81507d"><div class="ttname"><a href="remmina__protocol__widget_8c.html#ac9abaedb8cc35838ef1444423a81507d">run_unmap_handler</a></div><div class="ttdeci">static void run_unmap_handler(RemminaMessagePanel *mp, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01595">remmina_protocol_widget.c:1595</a></div></div>
@@ -223,7 +223,7 @@ $(document).ready(function(){initNavTree('remmina__protocol__widget_8c_source.ht
<div class="ttc" id="types_8h_html_a341a0a8b6509633809d99348cc3ba486"><div class="ttname"><a href="types_8h.html#a341a0a8b6509633809d99348cc3ba486">RemminaMessagePanelFlags</a></div><div class="ttdeci">RemminaMessagePanelFlags</div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00155">types.h:155</a></div></div>
<div class="ttc" id="remmina__message__panel_8h_html_aabfcbcb5ac86a1edac4035264bc7d2b8a9efe2bb3f139ed0baf3833880fc2369a"><div class="ttname"><a href="remmina__message__panel_8h.html#aabfcbcb5ac86a1edac4035264bc7d2b8a9efe2bb3f139ed0baf3833880fc2369a">REMMINA_MESSAGE_PANEL_DOMAIN</a></div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8h_source.html#l00056">remmina_message_panel.h:56</a></div></div>
<div class="ttc" id="remmina__ext__exec_8h_html"><div class="ttname"><a href="remmina__ext__exec_8h.html">remmina_ext_exec.h</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_aec9dcd96d0148fec9cdc9e94cc8dc1ff"><div class="ttname"><a href="remmina__message__panel_8c.html#aec9dcd96d0148fec9cdc9e94cc8dc1ff">remmina_message_panel_field_set_filename</a></div><div class="ttdeci">void remmina_message_panel_field_set_filename(RemminaMessagePanel *mp, int entryid, const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00758">remmina_message_panel.c:758</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_aec9dcd96d0148fec9cdc9e94cc8dc1ff"><div class="ttname"><a href="remmina__message__panel_8c.html#aec9dcd96d0148fec9cdc9e94cc8dc1ff">remmina_message_panel_field_set_filename</a></div><div class="ttdeci">void remmina_message_panel_field_set_filename(RemminaMessagePanel *mp, int entryid, const gchar *filename)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00762">remmina_message_panel.c:762</a></div></div>
<div class="ttc" id="remmina__public_8h_html"><div class="ttname"><a href="remmina__public_8h.html">remmina_public.h</a></div></div>
<div class="ttc" id="rcw_8c_html_affd4a8e1c05f88299990bb0f3d5d1b9d"><div class="ttname"><a href="rcw_8c.html#affd4a8e1c05f88299990bb0f3d5d1b9d">rcw_get_gtkwindow</a></div><div class="ttdeci">GtkWindow * rcw_get_gtkwindow(RemminaConnectionObject *cnnobj)</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l04696">rcw.c:4696</a></div></div>
<div class="ttc" id="remmina__masterthread__exec_8c_html_a3a52e863a3a3da6da6bb5d36c13b7ff4"><div class="ttname"><a href="remmina__masterthread__exec_8c.html#a3a52e863a3a3da6da6bb5d36c13b7ff4">remmina_masterthread_exec_is_main_thread</a></div><div class="ttdeci">gboolean remmina_masterthread_exec_is_main_thread()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__masterthread__exec_8c_source.html#l00147">remmina_masterthread_exec.c:147</a></div></div>
@@ -273,7 +273,7 @@ $(document).ready(function(){initNavTree('remmina__protocol__widget_8c_source.ht
<div class="ttc" id="remmina__protocol__widget_8c_html_a7ed85f4ea19e0660dbf46f4f3dc4b895"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a7ed85f4ea19e0660dbf46f4f3dc4b895">remmina_protocol_widget_panel_show_retry</a></div><div class="ttdeci">void remmina_protocol_widget_panel_show_retry(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01973">remmina_protocol_widget.c:1973</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_acf40f566116cf43af26891cd37af4eb1"><div class="ttname"><a href="remmina__protocol__widget_8c.html#acf40f566116cf43af26891cd37af4eb1">remmina_protocol_widget_send_clipboard</a></div><div class="ttdeci">void remmina_protocol_widget_send_clipboard(RemminaProtocolWidget *gp, GtkMenuItem *widget)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l00699">remmina_protocol_widget.c:699</a></div></div>
<div class="ttc" id="struct___remmina_protocol_widget_priv_html_a94ef3b8e64d6ced7cd639b7917026f4c"><div class="ttname"><a href="struct___remmina_protocol_widget_priv.html#a94ef3b8e64d6ced7cd639b7917026f4c">_RemminaProtocolWidgetPriv::scaler_expand</a></div><div class="ttdeci">gboolean scaler_expand</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l00068">remmina_protocol_widget.c:68</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_a67a48217d44350e028ed95b1b55f0b0f"><div class="ttname"><a href="remmina__message__panel_8c.html#a67a48217d44350e028ed95b1b55f0b0f">remmina_message_panel_field_set_switch</a></div><div class="ttdeci">void remmina_message_panel_field_set_switch(RemminaMessagePanel *mp, int entryid, gboolean state)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00721">remmina_message_panel.c:721</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_a67a48217d44350e028ed95b1b55f0b0f"><div class="ttname"><a href="remmina__message__panel_8c.html#a67a48217d44350e028ed95b1b55f0b0f">remmina_message_panel_field_set_switch</a></div><div class="ttdeci">void remmina_message_panel_field_set_switch(RemminaMessagePanel *mp, int entryid, gboolean state)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00725">remmina_message_panel.c:725</a></div></div>
<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a6f2cd8a2535e180e7bd428e84030ffb6"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a6f2cd8a2535e180e7bd428e84030ffb6">_RemminaSSHTunnel::callback_data</a></div><div class="ttdeci">gpointer callback_data</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00178">remmina_ssh.h:178</a></div></div>
<div class="ttc" id="struct___remmina_protocol_widget_html_aae1dfb6ff52460c80a3adf80d4934f67"><div class="ttname"><a href="struct___remmina_protocol_widget.html#aae1dfb6ff52460c80a3adf80d4934f67">_RemminaProtocolWidget::cnnobj</a></div><div class="ttdeci">RemminaConnectionObject * cnnobj</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8h_source.html#l00060">remmina_protocol_widget.h:60</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a14684e3222e6afb1b43d77634a174767"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a14684e3222e6afb1b43d77634a174767">remmina_protocol_widget_update_remote_resolution</a></div><div class="ttdeci">void remmina_protocol_widget_update_remote_resolution(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l02142">remmina_protocol_widget.c:2142</a></div></div>
@@ -305,7 +305,7 @@ $(document).ready(function(){initNavTree('remmina__protocol__widget_8c_source.ht
<div class="ttc" id="rcw_8c_html_a96f1d274dafe5e4953da52beb75f7d14"><div class="ttname"><a href="rcw_8c.html#a96f1d274dafe5e4953da52beb75f7d14">rcw_get_gtkviewport</a></div><div class="ttdeci">GtkWidget * rcw_get_gtkviewport(RemminaConnectionObject *cnnobj)</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l04700">rcw.c:4700</a></div></div>
<div class="ttc" id="remmina__message__panel_8h_html_ae2923c94c1caf1ac4a7eb48361d2670a"><div class="ttname"><a href="remmina__message__panel_8h.html#ae2923c94c1caf1ac4a7eb48361d2670a">RemminaMessagePanelCallback</a></div><div class="ttdeci">void(* RemminaMessagePanelCallback)(void *user_data, int button)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8h_source.html#l00067">remmina_message_panel.h:67</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_ac3e5a7f14aef4adb2e57d35e9c180b3b"><div class="ttname"><a href="remmina__protocol__widget_8c.html#ac3e5a7f14aef4adb2e57d35e9c180b3b">remmina_protocol_widget_emit_signal</a></div><div class="ttdeci">void remmina_protocol_widget_emit_signal(RemminaProtocolWidget *gp, const gchar *signal_name)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l00748">remmina_protocol_widget.c:748</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_a44054d029d4615092ae8a2ee1bf81db4"><div class="ttname"><a href="remmina__message__panel_8c.html#a44054d029d4615092ae8a2ee1bf81db4">remmina_message_panel_field_get_string</a></div><div class="ttdeci">gchar * remmina_message_panel_field_get_string(RemminaMessagePanel *mp, int entryid)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00703">remmina_message_panel.c:703</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_a44054d029d4615092ae8a2ee1bf81db4"><div class="ttname"><a href="remmina__message__panel_8c.html#a44054d029d4615092ae8a2ee1bf81db4">remmina_message_panel_field_get_string</a></div><div class="ttdeci">gchar * remmina_message_panel_field_get_string(RemminaMessagePanel *mp, int entryid)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00707">remmina_message_panel.c:707</a></div></div>
<div class="ttc" id="types_8h_html_aeea5ee1e675368413b6f6ab09883e7dead50ff64ad1e14caf78956850f03871bd"><div class="ttname"><a href="types_8h.html#aeea5ee1e675368413b6f6ab09883e7dead50ff64ad1e14caf78956850f03871bd">REMMINA_PROTOCOL_WIDGET_SCALE_MODE_NONE</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00142">types.h:142</a></div></div>
<div class="ttc" id="struct___remmina_protocol_feature_html_a006b0d6d883c6dd0da6c444991973ac7"><div class="ttname"><a href="struct___remmina_protocol_feature.html#a006b0d6d883c6dd0da6c444991973ac7">_RemminaProtocolFeature::opt2_type_hint</a></div><div class="ttdeci">RemminaTypeHint opt2_type_hint</div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00079">types.h:79</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a2830f756dfc3d735b57b0c5753c429e3"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a2830f756dfc3d735b57b0c5753c429e3">remmina_protocol_widget_is_closed</a></div><div class="ttdeci">gboolean remmina_protocol_widget_is_closed(RemminaProtocolWidget *gp)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01470">remmina_protocol_widget.c:1470</a></div></div>
@@ -314,7 +314,7 @@ $(document).ready(function(){initNavTree('remmina__protocol__widget_8c_source.ht
<div class="ttc" id="rcw_8c_html_a29701ae152ba15f6d8921f395174d2df"><div class="ttname"><a href="rcw_8c.html#a29701ae152ba15f6d8921f395174d2df">remmina_pref</a></div><div class="ttdeci">RemminaPref remmina_pref</div><div class="ttdef"><b>Definition:</b> <a href="rcw_8c_source.html#l00079">rcw.c:79</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a7b1e83afd68c2b7301fc4d6da6a8f6d8"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a7b1e83afd68c2b7301fc4d6da6a8f6d8">run_destroy_handler</a></div><div class="ttdeci">static void run_destroy_handler(RemminaMessagePanel *mp, gpointer data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01603">remmina_protocol_widget.c:1603</a></div></div>
<div class="ttc" id="types_8h_html_a341a0a8b6509633809d99348cc3ba486a10be0730fc3ea326856019ae139a922a"><div class="ttname"><a href="types_8h.html#a341a0a8b6509633809d99348cc3ba486a10be0730fc3ea326856019ae139a922a">REMMINA_MESSAGE_PANEL_FLAG_USERNAME</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00156">types.h:156</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_afae4072b7d8b54392ec08da7d6ead620"><div class="ttname"><a href="remmina__message__panel_8c.html#afae4072b7d8b54392ec08da7d6ead620">remmina_message_panel_setup_progress</a></div><div class="ttdeci">void remmina_message_panel_setup_progress(RemminaMessagePanel *mp, const gchar *message, RemminaMessagePanelCallback response_callback, gpointer response_callback_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00127">remmina_message_panel.c:127</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_afae4072b7d8b54392ec08da7d6ead620"><div class="ttname"><a href="remmina__message__panel_8c.html#afae4072b7d8b54392ec08da7d6ead620">remmina_message_panel_setup_progress</a></div><div class="ttdeci">void remmina_message_panel_setup_progress(RemminaMessagePanel *mp, const gchar *message, RemminaMessagePanelCallback response_callback, gpointer response_callback_data)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00128">remmina_message_panel.c:128</a></div></div>
<div class="ttc" id="types_8h_html_aeea5ee1e675368413b6f6ab09883e7de"><div class="ttname"><a href="types_8h.html#aeea5ee1e675368413b6f6ab09883e7de">RemminaScaleMode</a></div><div class="ttdeci">RemminaScaleMode</div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00141">types.h:141</a></div></div>
<div class="ttc" id="struct___remmina_protocol_widget_priv_html_aa37ce53d4329aaaa7c4059c60882a533"><div class="ttname"><a href="struct___remmina_protocol_widget_priv.html#aa37ce53d4329aaaa7c4059c60882a533">_RemminaProtocolWidgetPriv::scalemode</a></div><div class="ttdeci">RemminaScaleMode scalemode</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l00067">remmina_protocol_widget.c:67</a></div></div>
<div class="ttc" id="types_8h_html_a341a0a8b6509633809d99348cc3ba486a46ac68f2dea71082d090ae63c5c4505c"><div class="ttname"><a href="types_8h.html#a341a0a8b6509633809d99348cc3ba486a46ac68f2dea71082d090ae63c5c4505c">REMMINA_MESSAGE_PANEL_FLAG_DOMAIN</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00158">types.h:158</a></div></div>
@@ -356,7 +356,7 @@ $(document).ready(function(){initNavTree('remmina__protocol__widget_8c_source.ht
<div class="ttc" id="struct___remmina_protocol_plugin_html_ad4778e62aa78baace7d46fb1c4a475c4"><div class="ttname"><a href="struct___remmina_protocol_plugin.html#ad4778e62aa78baace7d46fb1c4a475c4">_RemminaProtocolPlugin::get_plugin_screenshot</a></div><div class="ttdeci">gboolean(* get_plugin_screenshot)(RemminaProtocolWidget *gp, RemminaPluginScreenshotData *rpsd)</div><div class="ttdef"><b>Definition:</b> <a href="plugin_8h_source.html#l00085">plugin.h:85</a></div></div>
<div class="ttc" id="types_8h_html_ab0b29804e77812ca42752bf4f379a288ab774d380798d305b72f4301143d3f440"><div class="ttname"><a href="types_8h.html#ab0b29804e77812ca42752bf4f379a288ab774d380798d305b72f4301143d3f440">REMMINA_TYPEHINT_UNDEFINED</a></div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00069">types.h:69</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a0b19dbe685e4465e7f06706270e120fa"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a0b19dbe685e4465e7f06706270e120fa">remmina_protocol_widget_set_expand</a></div><div class="ttdeci">void remmina_protocol_widget_set_expand(RemminaProtocolWidget *gp, gboolean expand)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l01431">remmina_protocol_widget.c:1431</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_a80bc2fcb39c236da739593c2134c73fa"><div class="ttname"><a href="remmina__message__panel_8c.html#a80bc2fcb39c236da739593c2134c73fa">remmina_message_panel_field_get_switch_state</a></div><div class="ttdeci">gboolean remmina_message_panel_field_get_switch_state(RemminaMessagePanel *mp, int entryid)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00739">remmina_message_panel.c:739</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_a80bc2fcb39c236da739593c2134c73fa"><div class="ttname"><a href="remmina__message__panel_8c.html#a80bc2fcb39c236da739593c2134c73fa">remmina_message_panel_field_get_switch_state</a></div><div class="ttdeci">gboolean remmina_message_panel_field_get_switch_state(RemminaMessagePanel *mp, int entryid)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00743">remmina_message_panel.c:743</a></div></div>
<div class="ttc" id="remmina__file_8c_html_a85ca1ca2d0bf9ef29e490c6f4527a954"><div class="ttname"><a href="remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954">remmina_file_set_string</a></div><div class="ttdeci">void remmina_file_set_string(RemminaFile *remminafile, const gchar *setting, const gchar *value)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00469">remmina_file.c:469</a></div></div>
<div class="ttc" id="struct___remmina_protocol_widget_priv_html_a75d5f7d146f04132de722d0b7d09bb7d"><div class="ttname"><a href="struct___remmina_protocol_widget_priv.html#a75d5f7d146f04132de722d0b7d09bb7d">_RemminaProtocolWidgetPriv::has_error</a></div><div class="ttdeci">gboolean has_error</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l00070">remmina_protocol_widget.c:70</a></div></div>
<div class="ttc" id="remmina__file_8c_html_a8c893a5deec9bc446bd89cc9973416c7"><div class="ttname"><a href="remmina__file_8c.html#a8c893a5deec9bc446bd89cc9973416c7">remmina_file_save</a></div><div class="ttdeci">void remmina_file_save(RemminaFile *remminafile)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__file_8c_source.html#l00730">remmina_file.c:730</a></div></div>
@@ -383,9 +383,9 @@ $(document).ready(function(){initNavTree('remmina__protocol__widget_8c_source.ht
<div class="ttc" id="struct___remmina_protocol_widget_priv_html_a5cbea00dcc608759fcf66186e6afde93"><div class="ttname"><a href="struct___remmina_protocol_widget_priv.html#a5cbea00dcc608759fcf66186e6afde93">_RemminaProtocolWidgetPriv::width</a></div><div class="ttdeci">gint width</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l00065">remmina_protocol_widget.c:65</a></div></div>
<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_a071153b511500c3faa6804ebd76aeba1"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#a071153b511500c3faa6804ebd76aeba1">_RemminaSSHTunnel::localdisplay</a></div><div class="ttdeci">gchar * localdisplay</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00173">remmina_ssh.h:173</a></div></div>
<div class="ttc" id="types_8h_html_afae2f546eaf9ef8a816a804e830055bf"><div class="ttname"><a href="types_8h.html#afae2f546eaf9ef8a816a804e830055bf">RemminaXPortTunnelInitFunc</a></div><div class="ttdeci">gboolean(* RemminaXPortTunnelInitFunc)(RemminaProtocolWidget *gp, gint remotedisplay, const gchar *server, gint port)</div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00095">types.h:95</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_af7db7b9f49fe6b83b17471116d363d40"><div class="ttname"><a href="remmina__message__panel_8c.html#af7db7b9f49fe6b83b17471116d363d40">remmina_message_panel_response</a></div><div class="ttdeci">void remmina_message_panel_response(RemminaMessagePanel *mp, gint response_id)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00793">remmina_message_panel.c:793</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_af7db7b9f49fe6b83b17471116d363d40"><div class="ttname"><a href="remmina__message__panel_8c.html#af7db7b9f49fe6b83b17471116d363d40">remmina_message_panel_response</a></div><div class="ttdeci">void remmina_message_panel_response(RemminaMessagePanel *mp, gint response_id)</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00797">remmina_message_panel.c:797</a></div></div>
<div class="ttc" id="remmina__protocol__widget_8c_html_a66263e6e7da79357ceb80d32b191d9f2"><div class="ttname"><a href="remmina__protocol__widget_8c.html#a66263e6e7da79357ceb80d32b191d9f2">remmina_protocol_widget_chat_open</a></div><div class="ttdeci">void remmina_protocol_widget_chat_open(RemminaProtocolWidget *gp, const gchar *name, void(*on_send)(RemminaProtocolWidget *gp, const gchar *text), void(*on_destroy)(RemminaProtocolWidget *gp))</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l02013">remmina_protocol_widget.c:2013</a></div></div>
-<div class="ttc" id="remmina__message__panel_8c_html_a7015155d2b1db3e74de4d4d5ef7cca55"><div class="ttname"><a href="remmina__message__panel_8c.html#a7015155d2b1db3e74de4d4d5ef7cca55">remmina_message_panel_new</a></div><div class="ttdeci">RemminaMessagePanel * remmina_message_panel_new()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00087">remmina_message_panel.c:87</a></div></div>
+<div class="ttc" id="remmina__message__panel_8c_html_a7015155d2b1db3e74de4d4d5ef7cca55"><div class="ttname"><a href="remmina__message__panel_8c.html#a7015155d2b1db3e74de4d4d5ef7cca55">remmina_message_panel_new</a></div><div class="ttdeci">RemminaMessagePanel * remmina_message_panel_new()</div><div class="ttdef"><b>Definition:</b> <a href="remmina__message__panel_8c_source.html#l00088">remmina_message_panel.c:88</a></div></div>
<div class="ttc" id="struct___remmina_protocol_feature_html_a9abdee80580cddd54405d0577e459c2c"><div class="ttname"><a href="struct___remmina_protocol_feature.html#a9abdee80580cddd54405d0577e459c2c">_RemminaProtocolFeature::opt3_type_hint</a></div><div class="ttdeci">RemminaTypeHint opt3_type_hint</div><div class="ttdef"><b>Definition:</b> <a href="types_8h_source.html#l00080">types.h:80</a></div></div>
<div class="ttc" id="struct___remmina_protocol_widget_priv_html_a41a28954660d2d3816630e2ef9bb4211"><div class="ttname"><a href="struct___remmina_protocol_widget_priv.html#a41a28954660d2d3816630e2ef9bb4211">_RemminaProtocolWidgetPriv::init_func</a></div><div class="ttdeci">RemminaTunnelInitFunc init_func</div><div class="ttdef"><b>Definition:</b> <a href="remmina__protocol__widget_8c_source.html#l00075">remmina_protocol_widget.c:75</a></div></div>
<div class="ttc" id="struct___remmina_s_s_h_tunnel_html_aa904bb1d9f643f6fde2b0eea4a8b1660"><div class="ttname"><a href="struct___remmina_s_s_h_tunnel.html#aa904bb1d9f643f6fde2b0eea4a8b1660">_RemminaSSHTunnel::connect_func</a></div><div class="ttdeci">RemminaSSHTunnelCallback connect_func</div><div class="ttdef"><b>Definition:</b> <a href="remmina__ssh_8h_source.html#l00176">remmina_ssh.h:176</a></div></div>
diff --git a/public/search/all_12.js b/public/search/all_12.js
index ef0c69443..2ce78e11b 100644
--- a/public/search/all_12.js
+++ b/public/search/all_12.js
@@ -408,7 +408,6 @@ var searchData=
['remmina_5ffile_5fset_5fstring',['remmina_file_set_string',['../remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954',1,'remmina_file_set_string(RemminaFile *remminafile, const gchar *setting, const gchar *value):&#160;remmina_file.c'],['../remmina__file_8h.html#a85ca1ca2d0bf9ef29e490c6f4527a954',1,'remmina_file_set_string(RemminaFile *remminafile, const gchar *setting, const gchar *value):&#160;remmina_file.c']]],
['remmina_5ffile_5fstate_5flast_5fsuccess',['remmina_file_state_last_success',['../remmina__file_8c.html#a493ffa77b862ff3bad9ea951592715a8',1,'remmina_file_state_last_success(RemminaFile *remminafile):&#160;remmina_file.c'],['../remmina__file_8h.html#a493ffa77b862ff3bad9ea951592715a8',1,'remmina_file_state_last_success(RemminaFile *remminafile):&#160;remmina_file.c']]],
['remmina_5ffile_5fstore_5fsecret_5fplugin_5fpassword',['remmina_file_store_secret_plugin_password',['../remmina__file_8c.html#a3be28ff7f5a9b44dc47f92b883a85ac5',1,'remmina_file_store_secret_plugin_password(RemminaFile *remminafile, const gchar *key, const gchar *value):&#160;remmina_file.c'],['../remmina__file_8h.html#a3be28ff7f5a9b44dc47f92b883a85ac5',1,'remmina_file_store_secret_plugin_password(RemminaFile *remminafile, const gchar *key, const gchar *value):&#160;remmina_file.c']]],
- ['remmina_5ffile_5ftoggle_5fpassword_5fview',['remmina_file_toggle_password_view',['../remmina__file__editor_8c.html#a65b38bc13546d3d890624a79b080ffe9',1,'remmina_file_editor.c']]],
['remmina_5ffile_5ftouch',['remmina_file_touch',['../remmina__file_8c.html#a3d19095f74e9b7c92d74f11bd5a39a8c',1,'remmina_file_touch(RemminaFile *remminafile):&#160;remmina_file.c'],['../remmina__file_8h.html#a3d19095f74e9b7c92d74f11bd5a39a8c',1,'remmina_file_touch(RemminaFile *remminafile):&#160;remmina_file.c']]],
['remmina_5ffile_5funsave_5fpasswords',['remmina_file_unsave_passwords',['../remmina__file_8c.html#a503e53fe49430a5ed310c342c946c014',1,'remmina_file_unsave_passwords(RemminaFile *remminafile):&#160;remmina_file.c'],['../remmina__file_8h.html#a503e53fe49430a5ed310c342c946c014',1,'remmina_file_unsave_passwords(RemminaFile *remminafile):&#160;remmina_file.c']]],
['remmina_5ffilezilla_5fsftp_2esh',['remmina_filezilla_sftp.sh',['../remmina__filezilla__sftp_8sh.html',1,'']]],
@@ -619,6 +618,7 @@ var searchData=
['remmina_5fmain_5fshow_5fdialog',['remmina_main_show_dialog',['../remmina__main_8c.html#ab2a1a54320992fb796850ffbd6a63589',1,'remmina_main_show_dialog(GtkMessageType msg, GtkButtonsType buttons, const gchar *message):&#160;remmina_main.c'],['../remmina__main_8h.html#ab2a1a54320992fb796850ffbd6a63589',1,'remmina_main_show_dialog(GtkMessageType msg, GtkButtonsType buttons, const gchar *message):&#160;remmina_main.c']]],
['remmina_5fmain_5fshow_5fsnap_5fwelcome',['remmina_main_show_snap_welcome',['../remmina__main_8c.html#ab08aae433b625c3a84330630fe2bd2d5',1,'remmina_main.c']]],
['remmina_5fmain_5fshow_5fwarning_5fdialog',['remmina_main_show_warning_dialog',['../remmina__main_8c.html#ad99b9c0bf2fa8c166a8b4a09e06ffdf7',1,'remmina_main_show_warning_dialog(const gchar *message):&#160;remmina_main.c'],['../remmina__main_8h.html#ad99b9c0bf2fa8c166a8b4a09e06ffdf7',1,'remmina_main_show_warning_dialog(const gchar *message):&#160;remmina_main.c']]],
+ ['remmina_5fmain_5ftoggle_5fpassword_5fview',['remmina_main_toggle_password_view',['../remmina__main_8c.html#aac3fe305e456dfa7bb55aa2f057e8cb0',1,'remmina_main_toggle_password_view(GtkWidget *widget, gpointer data):&#160;remmina_main.c'],['../remmina__main_8h.html#aac3fe305e456dfa7bb55aa2f057e8cb0',1,'remmina_main_toggle_password_view(GtkWidget *widget, gpointer data):&#160;remmina_main.c']]],
['remmina_5fmain_5ftree_5frow_5factivated',['remmina_main_tree_row_activated',['../remmina__main_8c.html#a4477897686d091d6f57e7f9401674a8c',1,'remmina_main.c']]],
['remmina_5fmain_5fupdate_5ffile_5fdatetime',['remmina_main_update_file_datetime',['../remmina__main_8c.html#a5ae0372dafe41f96a09097c07d1b270a',1,'remmina_main_update_file_datetime(RemminaFile *file):&#160;remmina_main.c'],['../remmina__main_8h.html#a5ae0372dafe41f96a09097c07d1b270a',1,'remmina_main_update_file_datetime(RemminaFile *file):&#160;remmina_main.c']]],
['remmina_5fmarshal_5fboolean_5f_5fint',['remmina_marshal_BOOLEAN__INT',['../remmina__marshals_8c.html#ae155b6ae758a6b0ef3d89a4458feec99',1,'remmina_marshal_BOOLEAN__INT(GClosure *closure, GValue *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values, gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data):&#160;remmina_marshals.c'],['../remmina__marshals_8h.html#ab614355cdc97644b6505743b34a78384',1,'remmina_marshal_BOOLEAN__INT(GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data):&#160;remmina_marshals.h']]],
diff --git a/public/search/functions_11.js b/public/search/functions_11.js
index d81c6f61e..42d488647 100644
--- a/public/search/functions_11.js
+++ b/public/search/functions_11.js
@@ -283,7 +283,6 @@ var searchData=
['remmina_5ffile_5fset_5fstring',['remmina_file_set_string',['../remmina__file_8c.html#a85ca1ca2d0bf9ef29e490c6f4527a954',1,'remmina_file_set_string(RemminaFile *remminafile, const gchar *setting, const gchar *value):&#160;remmina_file.c'],['../remmina__file_8h.html#a85ca1ca2d0bf9ef29e490c6f4527a954',1,'remmina_file_set_string(RemminaFile *remminafile, const gchar *setting, const gchar *value):&#160;remmina_file.c']]],
['remmina_5ffile_5fstate_5flast_5fsuccess',['remmina_file_state_last_success',['../remmina__file_8c.html#a493ffa77b862ff3bad9ea951592715a8',1,'remmina_file_state_last_success(RemminaFile *remminafile):&#160;remmina_file.c'],['../remmina__file_8h.html#a493ffa77b862ff3bad9ea951592715a8',1,'remmina_file_state_last_success(RemminaFile *remminafile):&#160;remmina_file.c']]],
['remmina_5ffile_5fstore_5fsecret_5fplugin_5fpassword',['remmina_file_store_secret_plugin_password',['../remmina__file_8c.html#a3be28ff7f5a9b44dc47f92b883a85ac5',1,'remmina_file_store_secret_plugin_password(RemminaFile *remminafile, const gchar *key, const gchar *value):&#160;remmina_file.c'],['../remmina__file_8h.html#a3be28ff7f5a9b44dc47f92b883a85ac5',1,'remmina_file_store_secret_plugin_password(RemminaFile *remminafile, const gchar *key, const gchar *value):&#160;remmina_file.c']]],
- ['remmina_5ffile_5ftoggle_5fpassword_5fview',['remmina_file_toggle_password_view',['../remmina__file__editor_8c.html#a65b38bc13546d3d890624a79b080ffe9',1,'remmina_file_editor.c']]],
['remmina_5ffile_5ftouch',['remmina_file_touch',['../remmina__file_8c.html#a3d19095f74e9b7c92d74f11bd5a39a8c',1,'remmina_file_touch(RemminaFile *remminafile):&#160;remmina_file.c'],['../remmina__file_8h.html#a3d19095f74e9b7c92d74f11bd5a39a8c',1,'remmina_file_touch(RemminaFile *remminafile):&#160;remmina_file.c']]],
['remmina_5ffile_5funsave_5fpasswords',['remmina_file_unsave_passwords',['../remmina__file_8c.html#a503e53fe49430a5ed310c342c946c014',1,'remmina_file_unsave_passwords(RemminaFile *remminafile):&#160;remmina_file.c'],['../remmina__file_8h.html#a503e53fe49430a5ed310c342c946c014',1,'remmina_file_unsave_passwords(RemminaFile *remminafile):&#160;remmina_file.c']]],
['remmina_5fftp_5fclient_5faction_5fdelete',['remmina_ftp_client_action_delete',['../remmina__ftp__client_8c.html#a5a433db0f6129e0bc4ec2fdc8f7588f6',1,'remmina_ftp_client.c']]],
@@ -445,6 +444,7 @@ var searchData=
['remmina_5fmain_5fshow_5fdialog',['remmina_main_show_dialog',['../remmina__main_8c.html#ab2a1a54320992fb796850ffbd6a63589',1,'remmina_main_show_dialog(GtkMessageType msg, GtkButtonsType buttons, const gchar *message):&#160;remmina_main.c'],['../remmina__main_8h.html#ab2a1a54320992fb796850ffbd6a63589',1,'remmina_main_show_dialog(GtkMessageType msg, GtkButtonsType buttons, const gchar *message):&#160;remmina_main.c']]],
['remmina_5fmain_5fshow_5fsnap_5fwelcome',['remmina_main_show_snap_welcome',['../remmina__main_8c.html#ab08aae433b625c3a84330630fe2bd2d5',1,'remmina_main.c']]],
['remmina_5fmain_5fshow_5fwarning_5fdialog',['remmina_main_show_warning_dialog',['../remmina__main_8c.html#ad99b9c0bf2fa8c166a8b4a09e06ffdf7',1,'remmina_main_show_warning_dialog(const gchar *message):&#160;remmina_main.c'],['../remmina__main_8h.html#ad99b9c0bf2fa8c166a8b4a09e06ffdf7',1,'remmina_main_show_warning_dialog(const gchar *message):&#160;remmina_main.c']]],
+ ['remmina_5fmain_5ftoggle_5fpassword_5fview',['remmina_main_toggle_password_view',['../remmina__main_8c.html#aac3fe305e456dfa7bb55aa2f057e8cb0',1,'remmina_main_toggle_password_view(GtkWidget *widget, gpointer data):&#160;remmina_main.c'],['../remmina__main_8h.html#aac3fe305e456dfa7bb55aa2f057e8cb0',1,'remmina_main_toggle_password_view(GtkWidget *widget, gpointer data):&#160;remmina_main.c']]],
['remmina_5fmain_5ftree_5frow_5factivated',['remmina_main_tree_row_activated',['../remmina__main_8c.html#a4477897686d091d6f57e7f9401674a8c',1,'remmina_main.c']]],
['remmina_5fmain_5fupdate_5ffile_5fdatetime',['remmina_main_update_file_datetime',['../remmina__main_8c.html#a5ae0372dafe41f96a09097c07d1b270a',1,'remmina_main_update_file_datetime(RemminaFile *file):&#160;remmina_main.c'],['../remmina__main_8h.html#a5ae0372dafe41f96a09097c07d1b270a',1,'remmina_main_update_file_datetime(RemminaFile *file):&#160;remmina_main.c']]],
['remmina_5fmarshal_5fboolean_5f_5fint',['remmina_marshal_BOOLEAN__INT',['../remmina__marshals_8c.html#ae155b6ae758a6b0ef3d89a4458feec99',1,'remmina_marshal_BOOLEAN__INT(GClosure *closure, GValue *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values, gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data):&#160;remmina_marshals.c'],['../remmina__marshals_8h.html#ab614355cdc97644b6505743b34a78384',1,'remmina_marshal_BOOLEAN__INT(GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data):&#160;remmina_marshals.h']]],
diff --git a/public/struct_remmina_message_panel_private.html b/public/struct_remmina_message_panel_private.html
index c1921f01e..69decd946 100644
--- a/public/struct_remmina_message_panel_private.html
+++ b/public/struct_remmina_message_panel_private.html
@@ -100,7 +100,7 @@ Data Fields</h2></td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00046">46</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00047">47</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div><h2 class="groupheader">Field Documentation</h2>
<a id="a9766a5c72bd815501e2ba0a5ac8cd283"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9766a5c72bd815501e2ba0a5ac8cd283">&#9670;&nbsp;</a></span>response_callback</h2>
@@ -114,7 +114,7 @@ Data Fields</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00049">49</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00050">50</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -130,7 +130,7 @@ Data Fields</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00050">50</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00051">51</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>
@@ -146,7 +146,7 @@ Data Fields</h2></td></tr>
</table>
</div><div class="memdoc">
-<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00051">51</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
+<p class="definition">Definition at line <a class="el" href="remmina__message__panel_8c_source.html#l00052">52</a> of file <a class="el" href="remmina__message__panel_8c_source.html">remmina_message_panel.c</a>.</p>
</div>
</div>