static void signature_editor_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec) { switch (property_id) { case PROP_SIGNATURE: g_value_set_object ( value, e_signature_editor_get_signature ( E_SIGNATURE_EDITOR (object))); return; } G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); }
static void signature_manager_edit_signature (ESignatureManager *manager) { ESignatureTreeView *tree_view; ESignatureList *signature_list; ESignature *signature; GtkWidget *editor; const gchar *title; const gchar *filename; tree_view = e_signature_manager_get_tree_view (manager); signature = e_signature_tree_view_get_selected (tree_view); signature_list = e_signature_manager_get_signature_list (manager); if (signature == NULL) return; if (e_signature_get_is_script (signature)) goto script; filename = e_signature_get_filename (signature); if (filename == NULL || *filename == '\0') e_signature_set_filename (signature, _("Unnamed")); editor = e_signature_editor_new (); e_signature_editor_set_signature ( E_SIGNATURE_EDITOR (editor), signature); signature_manager_emit_editor_created (manager, editor); goto exit; script: title = _("Edit Signature Script"); if (signature_manager_run_script_dialog (manager, signature, title)) e_signature_list_change (signature_list, signature); e_signature_list_save (signature_list); exit: gtk_widget_grab_focus (GTK_WIDGET (tree_view)); g_object_unref (signature); }