Commit 6b58b3f66a63b412685eaecb4663e8d019892e83

Authored by perry.werneck@gmail.com
1 parent 4afc4a58
Exists in master and in 1 other branch develop

Iniciando implementação do recurso "copy" com atributos

Showing 3 changed files with 14 additions and 11 deletions   Show diff stats
@@ -244,6 +244,8 @@ void v3270_draw_shift_status(v3270 *terminal); @@ -244,6 +244,8 @@ void v3270_draw_shift_status(v3270 *terminal);
244 void v3270_draw_alt_status(v3270 *terminal); 244 void v3270_draw_alt_status(v3270 *terminal);
245 void v3270_draw_ins_status(v3270 *terminal); 245 void v3270_draw_ins_status(v3270 *terminal);
246 246
  247 +void v3270_clear_clipboard(v3270 *terminal);
  248 +
247 void v3270_update_cursor_surface(v3270 *widget,unsigned char chr,unsigned short attr); 249 void v3270_update_cursor_surface(v3270 *widget,unsigned char chr,unsigned short attr);
248 250
249 void v3270_register_io_handlers(v3270Class *cls); 251 void v3270_register_io_handlers(v3270Class *cls);
@@ -138,11 +138,7 @@ const gchar * v3270_get_selected_text(GtkWidget *widget, gboolean cut) @@ -138,11 +138,7 @@ const gchar * v3270_get_selected_text(GtkWidget *widget, gboolean cut)
138 138
139 terminal = GTK_V3270(widget); 139 terminal = GTK_V3270(widget);
140 140
141 - if(terminal->clipboard)  
142 - {  
143 - g_free(terminal->clipboard);  
144 - terminal->clipboard = NULL;  
145 - } 141 + v3270_clear_clipboard(terminal);
146 142
147 if(cut) 143 if(cut)
148 text = lib3270_cut_selected(terminal->host); 144 text = lib3270_cut_selected(terminal->host);
@@ -276,7 +272,7 @@ const gchar * v3270_copy_append(GtkWidget *widget) @@ -276,7 +272,7 @@ const gchar * v3270_copy_append(GtkWidget *widget)
276 clip = g_strconcat(terminal->clipboard,"\n",text,NULL); 272 clip = g_strconcat(terminal->clipboard,"\n",text,NULL);
277 273
278 g_free(text); 274 g_free(text);
279 - g_free(terminal->clipboard); 275 + v3270_clear_clipboard(terminal);
280 276
281 terminal->clipboard = clip; 277 terminal->clipboard = clip;
282 278
@@ -895,6 +895,15 @@ GtkWidget * v3270_new(void) @@ -895,6 +895,15 @@ GtkWidget * v3270_new(void)
895 return g_object_new(GTK_TYPE_V3270, NULL); 895 return g_object_new(GTK_TYPE_V3270, NULL);
896 } 896 }
897 897
  898 +void v3270_clear_clipboard(v3270 *terminal)
  899 +{
  900 + if(terminal->clipboard)
  901 + {
  902 + g_free(terminal->clipboard);
  903 + terminal->clipboard = NULL;
  904 + }
  905 +}
  906 +
898 #if GTK_CHECK_VERSION(3,0,0) 907 #if GTK_CHECK_VERSION(3,0,0)
899 static void v3270_destroy(GtkWidget *widget) 908 static void v3270_destroy(GtkWidget *widget)
900 #else 909 #else
@@ -969,11 +978,7 @@ static void v3270_destroy(GtkObject *widget) @@ -969,11 +978,7 @@ static void v3270_destroy(GtkObject *widget)
969 terminal->input_method = NULL; 978 terminal->input_method = NULL;
970 } 979 }
971 980
972 - if(terminal->clipboard)  
973 - {  
974 - g_free(terminal->clipboard);  
975 - terminal->clipboard = NULL;  
976 - } 981 + v3270_clear_clipboard(terminal);
977 982
978 if(terminal->session_name) 983 if(terminal->session_name)
979 { 984 {