Commit 4cdb9db324a48383738dda7dd3455c702d4934e0
1 parent
5ac373b9
Exists in
master
and in
1 other branch
"has-copy" is now a widget property.
Showing
5 changed files
with
22 additions
and
1 deletions
Show diff stats
src/include/terminal.h
src/selection/selection.c
... | ... | @@ -70,6 +70,7 @@ gboolean v3270_has_copy(GtkWidget *widget) |
70 | 70 | void v3270_emit_copy_state(GtkWidget *widget) |
71 | 71 | { |
72 | 72 | g_signal_emit(widget,v3270_widget_signal[V3270_SIGNAL_CLIPBOARD], 0, GTK_V3270(widget)->selection.blocks != NULL); |
73 | + g_object_notify_by_pspec(G_OBJECT(widget), GTK_V3270_GET_CLASS(widget)->properties.has_copy); | |
73 | 74 | lib3270_action_group_notify(GTK_V3270(widget)->host,LIB3270_ACTION_GROUP_COPY); |
74 | 75 | } |
75 | 76 | ... | ... |
src/terminal/properties/get.c
... | ... | @@ -143,6 +143,9 @@ |
143 | 143 | g_value_set_uint(value,(guint) window->selection.options); |
144 | 144 | break; |
145 | 145 | |
146 | + case V3270_PROPERTY_HAS_COPY: | |
147 | + g_value_set_boolean(value,window->selection.blocks != NULL); | |
148 | + break; | |
146 | 149 | default: |
147 | 150 | G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); |
148 | 151 | ... | ... |
src/terminal/properties/init.c
... | ... | @@ -243,6 +243,21 @@ |
243 | 243 | ); |
244 | 244 | |
245 | 245 | |
246 | + klass->properties.has_copy = | |
247 | + g_param_spec_boolean( | |
248 | + "has_copy", | |
249 | + "has_copy", | |
250 | + _( "True if the terminal has copy blocks" ), | |
251 | + FALSE, | |
252 | + G_PARAM_READABLE | |
253 | + ); | |
254 | + | |
255 | + g_object_class_install_property( | |
256 | + gobject_class, | |
257 | + V3270_PROPERTY_HAS_COPY, | |
258 | + klass->properties.has_copy | |
259 | + ); | |
260 | + | |
246 | 261 | |
247 | 262 | // |
248 | 263 | // Create dynamic properties | ... | ... |
src/terminal/properties/private.h
... | ... | @@ -58,8 +58,9 @@ |
58 | 58 | V3270_PROPERTY_TRACE = 9, ///< @brief Is the trace widget active? |
59 | 59 | V3270_PROPERTY_TERMINAL_COLORS = 10, ///< @brief Terminal colors. |
60 | 60 | V3270_PROPERTY_SELECTION_OPTIONS = 11, |
61 | + V3270_PROPERTY_HAS_COPY = 12, ///< @brief Terminal has copy. | |
61 | 62 | |
62 | - V3270_PROPERTY_DYNAMIC = 12 ///< @brief Id of the first LIB3270 internal property. | |
63 | + V3270_PROPERTY_DYNAMIC = 13 ///< @brief Id of the first LIB3270 internal property. | |
63 | 64 | }; |
64 | 65 | |
65 | 66 | G_GNUC_INTERNAL void v3270_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); | ... | ... |