コード例 #1
0
ファイル: project.c プロジェクト: aitjcize/Gummi
gboolean project_add_document(const gchar* project, const gchar* fname)
{
  gchar* oldcontent;
  gchar* newcontent;
  GError* err;

  if (!g_file_get_contents(project, &oldcontent, NULL, &err)) {
    slog(L_ERROR, "%s\n", err->message);
    return FALSE;
  }

  // don't add files that are already in the project:
  if (utils_subinstr((gchar*)fname, oldcontent, TRUE)) return FALSE;

  newcontent = g_strconcat(oldcontent, "\nfile=", fname, NULL);

  if (g_file_test(project, G_FILE_TEST_EXISTS)) {
    utils_set_file_contents(project, newcontent, -1);
    return TRUE;
  }

  g_free(oldcontent);
  g_free(newcontent);

  return FALSE;
}
コード例 #2
0
ファイル: latex.c プロジェクト: aitjcize/Gummi
gchar* latex_update_workfile(GuLatex* lc, GuEditor* ec)
{
  gchar *text;

  text = editor_grab_buffer(ec);

  // bit of a dirty hack, but only write the buffer content when
  // there is not a recovery in progress, otherwise the workfile
  // will be overwritten with empty text
  if (!STR_EQU(text, "")) {
    utils_set_file_contents(ec->workfile, text, -1);
  }
  return text;
}
コード例 #3
0
ファイル: gui-prefs.c プロジェクト: aitjcize/Gummi
G_MODULE_EXPORT
void on_prefs_close_clicked(GtkWidget* widget, void* user)
{
  GtkTextIter start, end;
  gchar* text = NULL;

  if (gtk_text_buffer_get_modified(gui->prefsgui->default_buffer)) {
    gtk_text_buffer_get_start_iter(gui->prefsgui->default_buffer, &start);
    gtk_text_buffer_get_end_iter(gui->prefsgui->default_buffer, &end);
    text = gtk_text_buffer_get_text(gui->prefsgui->default_buffer, &start,
                                    &end, FALSE);

    utils_set_file_contents(C_WELCOMETEXT, text, -1);
  }
  g_free(text);

  gtk_widget_hide(GTK_WIDGET(gui->prefsgui->prefwindow));
}
コード例 #4
0
ファイル: project.c プロジェクト: JasonGross/gummi
gboolean project_create_new (const gchar* filename) {
    const gchar* version = g_strdup ("0.6.0");
    const gchar* csetter = config_get_value ("typesetter");
    const gchar* csteps = config_get_value ("compile_steps");
    const gchar* rootfile = g_active_editor->filename;
    // TODO: do we need to encode this text?
    const gchar* content = g_strdup_printf("version=%s\n"
                                           "typesetter=%s\n"
                                           "steps=%s\n"
                                           "root=%s\n", 
                                            version, csetter, csteps, rootfile);
    
    if (!STR_EQU (filename + strlen (filename) -6, ".gummi")) {
        filename = g_strdup_printf ("%s.gummi", filename);
    }

    statusbar_set_message (g_strdup_printf("Creating project file: %s",
                filename));
    utils_set_file_contents (filename, content, -1);
    
    gummi->project->projfile = g_strdup (filename);
    
    return TRUE;
}