Exemple #1
0
void iofunctions_real_load_file (GObject* hook, const gchar* filename) {
    GError* err = NULL;
    gchar* text = NULL;
    gchar* decoded = NULL;
    gboolean result;
    GuEditor* ec = NULL;

    ec = gummi_get_active_editor();
    
    /* get the file contents */
    if (FALSE == (result = g_file_get_contents (filename, &text, NULL, &err))) {
        slog (L_G_ERROR, "g_file_get_contents (): %s\n", err->message);
        g_error_free (err);
        iofunctions_load_default_text (FALSE);
        return;
    }
    if (NULL == (decoded = iofunctions_decode_text (text)))
        goto cleanup;

    editor_fill_buffer (ec, decoded);
    gtk_text_buffer_set_modified (GTK_TEXT_BUFFER(ec->buffer), FALSE);

cleanup:
    g_free (decoded);
    g_free (text); 
}
Exemple #2
0
void snippets_accel_cb (GtkAccelGroup* accel_group, GObject* obj,
        guint keyval, GdkModifierType mods, Tuple2* udata) {
    GuSnippets* sc = GU_SNIPPETS (udata->first);
    gchar* key = (gchar*)udata->second;
    /* XXX: Don't know how to avoid using gummi_get_active_editor () here. Since
     * gtk_accel_group must be connect when load, we can not specify the
     * editor in user_data, because snippets should only have effect on
     * active tab */
    snippets_activate (sc, gummi_get_active_editor (), key);
}
Exemple #3
0
void iofunctions_save_file (GuIOFunc* io, gchar* filename, gchar *text) {
    gchar* status = NULL;

    status = g_strdup_printf (_("Saving %s..."), filename);
    statusbar_set_message (status);    
    g_free (status);
    
    GObject *savecontext = g_object_new(G_TYPE_OBJECT, NULL);
    
    g_object_set_data (savecontext, "filename", filename);
    g_object_set_data (savecontext, "text", text);
    
    g_signal_emit_by_name (io->sig_hook, "document-write", savecontext);
    
    gtk_text_buffer_set_modified 
                (GTK_TEXT_BUFFER(gummi_get_active_editor()->buffer), FALSE);
}
Exemple #4
0
void iofunctions_load_default_text (gboolean loopedonce) {
    GError* readerr = NULL;
    GError* copyerr = NULL;
    gchar* text = NULL;

    GuEditor* ec = gummi_get_active_editor();

    if (!g_file_get_contents (C_WELCOMETEXT, &text, NULL, &readerr)) {
        slog (L_WARNING, "Could not find default welcome text, resetting..\n");
        utils_copy_file (C_DEFAULTTEXT, C_WELCOMETEXT, &copyerr);
        if (!loopedonce) return iofunctions_load_default_text (TRUE);
    }
    
    if (text) editor_fill_buffer (ec, text);
    
    gtk_text_buffer_set_modified (GTK_TEXT_BUFFER (ec->buffer), FALSE);
    g_free (text);
}