Commit 401625e9d7d1fdad7ea5158c6057fee1f38a72d0

Authored by Perry Werneck
1 parent 8720ae85
Exists in master and in 1 other branch develop

Adding "auto-disconnect" property in the terminal widget.

Showing 1 changed file with 30 additions and 4 deletions   Show diff stats
src/terminal/properties.c
@@ -48,10 +48,13 @@ @@ -48,10 +48,13 @@
48 48
49 enum _v3270_internal_property 49 enum _v3270_internal_property
50 { 50 {
51 - V3270_PROPERTY_FONT_FAMILY = 2, ///< @brief Name of the font-family used by widget.  
52 - V3270_PROPERTY_CLIPBOARD = 3, ///< @brief Name of the selected clipboard.  
53 - V3270_PROPERTY_SESSION_NAME = 4, ///< @brief Widget's session name.  
54 - V3270_PROPERTY_DYNAMIC = 5 ///< @brief Id of the first LIB3270 internal property. 51 + V3270_PROPERTY_FONT_FAMILY = 2, ///< @brief Name of the font-family used by widget.
  52 + V3270_PROPERTY_CLIPBOARD = 3, ///< @brief Name of the selected clipboard.
  53 + V3270_PROPERTY_SESSION_NAME = 4, ///< @brief Widget's session name.
  54 + V3270_PROPERTY_AUTO_DISCONNECT = 5, ///< @brief Auto disconnect.
  55 +
  56 +
  57 + V3270_PROPERTY_DYNAMIC = 6 ///< @brief Id of the first LIB3270 internal property.
55 }; 58 };
56 59
57 /*--[ Implement ]------------------------------------------------------------------------------------*/ 60 /*--[ Implement ]------------------------------------------------------------------------------------*/
@@ -139,6 +142,10 @@ @@ -139,6 +142,10 @@
139 v3270_set_session_name(GTK_WIDGET(object), g_value_get_string(value)); 142 v3270_set_session_name(GTK_WIDGET(object), g_value_get_string(value));
140 break; 143 break;
141 144
  145 + case V3270_PROPERTY_AUTO_DISCONNECT:
  146 + v3270_set_auto_disconnect(GTK_WIDGET(object), g_value_get_uint(value));
  147 + break;
  148 +
142 default: 149 default:
143 G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); 150 G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
144 151
@@ -214,6 +221,10 @@ @@ -214,6 +221,10 @@
214 g_value_set_string(value,v3270_get_session_name(GTK_WIDGET(object))); 221 g_value_set_string(value,v3270_get_session_name(GTK_WIDGET(object)));
215 break; 222 break;
216 223
  224 + case V3270_PROPERTY_AUTO_DISCONNECT:
  225 + g_value_set_uint(value,window->activity.disconnect);
  226 + break;
  227 +
217 default: 228 default:
218 G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); 229 G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
219 230
@@ -297,6 +308,21 @@ @@ -297,6 +308,21 @@
297 spec 308 spec
298 ); 309 );
299 310
  311 + // Auto disconnect
  312 + spec = g_param_spec_string(
  313 + "auto_disconnect",
  314 + "auto_disconnect",
  315 + _("IDLE minutes for automatic disconnection"),
  316 + FALSE,
  317 + G_PARAM_READABLE|G_PARAM_WRITABLE
  318 + );
  319 +
  320 + g_object_class_install_property(
  321 + gobject_class,
  322 + V3270_PROPERTY_AUTO_DISCONNECT,
  323 + spec
  324 + );
  325 +
300 // Clipboard 326 // Clipboard
301 spec = g_param_spec_string( 327 spec = g_param_spec_string(
302 "clipboard", 328 "clipboard",