Commit 2a2675da1944e499298a33f87716555f5cc2df41

  • avatar
  • Sam Thursfield <sam @dja…go.(none)>
  • Sun Jul 05 13:37:50 CEST 2009
[gsettings] Implement 'edited' handler on cell renderer.
  
7676glade_settings_editor_set_property (GladeSettingsEditor *self,
7777 GladeProperty *property)
7878{
79 GladePropertyClass *property_class;
79 GladePropertyClass *property_class = property->klass;;
8080 GtkTreeIter iter;
8181
82 property_class = property->klass;
83
8482 if (property->widget != self->widget)
8583 glade_settings_editor_set_widget (self, property->widget);
8684
9292};
9393
9494static void
95key_edited (GtkCellRendererText *cell,
96 const gchar *path_str,
97 const gchar *new_key,
98 gpointer data)
99{
100 GladeSettingsEditor *self = GLADE_SETTINGS_EDITOR (data);
101 GtkTreePath *path = gtk_tree_path_new_from_string (path_str);
102 GtkTreeIter iter;
103 gboolean is_void;
104
105 g_return_if_fail (gtk_tree_model_get_iter (self->data, &iter, path));
106 gtk_tree_path_free (path);
107
108 if (new_key == NULL || *new_key == 0)
109 {
110 /* Not bound any more - remove from tree model */
111 gtk_list_store_remove (GTK_LIST_STORE (self->data), &iter);
112 }
113 else {
114 gtk_list_store_set (GTK_LIST_STORE (self->data), &iter,
115 GLADE_SETTINGS_EDITOR_COLUMN_KEY, new_key,
116 -1);
117 };
118
119 /*old_signal = glade_signal_new (signal_name, handler, old_userdata, after);
120
121 new_signal = glade_signal_new (signal_name, handler, new_userdata, after);
122
123 if (glade_signal_equal (old_signal, new_signal) == FALSE)
124 glade_command_change_signal (glade_widget, old_signal, new_signal);
125
126 glade_signal_free (old_signal);
127 glade_signal_free (new_signal);*/
128}
129
130static void
95131dialog_response (GtkDialog *dialog)
96132{
97133 gtk_widget_hide (GTK_WIDGET (dialog));
172172 "text", GLADE_SETTINGS_EDITOR_COLUMN_KEY,
173173 NULL);
174174 gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
175
176 g_signal_connect (cell_renderer, "edited", G_CALLBACK (key_edited), self);
177
175178
176179 gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area (GTK_DIALOG (self->dialog))),
177180 tree_view);