|
Packit |
1e8aac |
/*
|
|
Packit |
1e8aac |
* Copyright (C) 2012 Juan Pablo Ugarte.
|
|
Packit |
1e8aac |
*
|
|
Packit |
1e8aac |
* This program is free software; you can redistribute it and/or modify
|
|
Packit |
1e8aac |
* it under the terms of the GNU General Public License as
|
|
Packit |
1e8aac |
* published by the Free Software Foundation; either version 2 of the
|
|
Packit |
1e8aac |
* License, or (at your option) any later version.
|
|
Packit |
1e8aac |
*
|
|
Packit |
1e8aac |
* This program is distributed in the hope that it will be useful,
|
|
Packit |
1e8aac |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
1e8aac |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
Packit |
1e8aac |
* GNU General Public License for more details.
|
|
Packit |
1e8aac |
*
|
|
Packit |
1e8aac |
* You should have received a copy of the GNU General Public License
|
|
Packit |
1e8aac |
* along with this program; if not, write to the Free Software
|
|
Packit |
1e8aac |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
Packit |
1e8aac |
*
|
|
Packit |
1e8aac |
* Authors:
|
|
Packit |
1e8aac |
* Juan Pablo Ugarte <juanpablougarte@gmail.com>
|
|
Packit |
1e8aac |
*/
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
#include "glade-preferences.h"
|
|
Packit |
1e8aac |
#include <gladeui/glade-catalog.h>
|
|
Packit |
1e8aac |
#include <gladeui/glade-utils.h>
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
#define CONFIG_GROUP "Preferences"
|
|
Packit |
1e8aac |
#define CONFIG_KEY_CATALOG_PATHS "catalog-paths"
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
#define CONFIG_GROUP_LOAD_SAVE "Load and Save"
|
|
Packit |
1e8aac |
#define CONFIG_KEY_BACKUP "backup"
|
|
Packit |
1e8aac |
#define CONFIG_KEY_AUTOSAVE "autosave"
|
|
Packit |
1e8aac |
#define CONFIG_KEY_AUTOSAVE_SECONDS "autosave-seconds"
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
#define CONFIG_GROUP_SAVE_WARNINGS "Save Warnings"
|
|
Packit |
1e8aac |
#define CONFIG_KEY_VERSIONING "versioning"
|
|
Packit |
1e8aac |
#define CONFIG_KEY_DEPRECATIONS "deprecations"
|
|
Packit |
1e8aac |
#define CONFIG_KEY_UNRECOGNIZED "unrecognized"
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/* Default preference values */
|
|
Packit |
1e8aac |
#define DEFAULT_BACKUP TRUE
|
|
Packit |
1e8aac |
#define DEFAULT_AUTOSAVE TRUE
|
|
Packit |
1e8aac |
#define DEFAULT_AUTOSAVE_SECONDS 5
|
|
Packit |
1e8aac |
#define DEFAULT_WARN_VERSIONS TRUE
|
|
Packit |
1e8aac |
#define DEFAULT_WARN_DEPRECATIONS FALSE
|
|
Packit |
1e8aac |
#define DEFAULT_WARN_UNRECOGNIZED TRUE
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
enum {
|
|
Packit |
1e8aac |
COLUMN_PATH = 0,
|
|
Packit |
1e8aac |
COLUMN_CANONICAL_PATH
|
|
Packit |
1e8aac |
};
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
struct _GladePreferencesPrivate
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
GtkTreeModel *catalog_path_store;
|
|
Packit |
1e8aac |
GtkTreeSelection *selection;
|
|
Packit |
1e8aac |
GtkWidget *remove_catalog_button;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
GtkWidget *create_backups_toggle;
|
|
Packit |
1e8aac |
GtkWidget *autosave_toggle;
|
|
Packit |
1e8aac |
GtkWidget *autosave_spin;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
GtkWidget *versioning_toggle;
|
|
Packit |
1e8aac |
GtkWidget *deprecations_toggle;
|
|
Packit |
1e8aac |
GtkWidget *unrecognized_toggle;
|
|
Packit |
1e8aac |
};
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
G_DEFINE_TYPE_WITH_PRIVATE (GladePreferences, glade_preferences, GTK_TYPE_DIALOG);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/********************************************************
|
|
Packit |
1e8aac |
* CALLBACKS *
|
|
Packit |
1e8aac |
********************************************************/
|
|
Packit |
1e8aac |
static void
|
|
Packit |
1e8aac |
autosave_toggled (GtkToggleButton *button,
|
|
Packit |
1e8aac |
GladePreferences *prefs)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
gtk_widget_set_sensitive (prefs->priv->autosave_spin,
|
|
Packit |
1e8aac |
gtk_toggle_button_get_active (button));
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
static gboolean
|
|
Packit |
1e8aac |
find_row (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
gchar **directory = data;
|
|
Packit |
1e8aac |
gchar *string;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
gtk_tree_model_get (model, iter, COLUMN_CANONICAL_PATH, &string, -1);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
if (g_strcmp0 (string, *directory) == 0)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
g_free (*directory);
|
|
Packit |
1e8aac |
*directory = NULL;
|
|
Packit |
1e8aac |
return TRUE;
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
return FALSE;
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
static void
|
|
Packit |
1e8aac |
on_preferences_filechooserdialog_response (GtkDialog *dialog,
|
|
Packit |
1e8aac |
gint response_id,
|
|
Packit |
1e8aac |
GladePreferences *preferences)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
GladePreferencesPrivate *priv = preferences->priv;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
gtk_widget_hide (GTK_WIDGET (dialog));
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
if (response_id == GTK_RESPONSE_ACCEPT)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
gchar *directory = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
|
|
Packit |
1e8aac |
gchar *canonical, *display;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
canonical = glade_util_canonical_path (directory);
|
|
Packit |
1e8aac |
display = glade_utils_replace_home_dir_with_tilde (canonical);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
gtk_tree_model_foreach (priv->catalog_path_store, find_row, &canonical);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
if (canonical)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
GtkTreeIter iter;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
glade_catalog_add_path (canonical);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
gtk_list_store_append (GTK_LIST_STORE (priv->catalog_path_store), &iter);
|
|
Packit |
1e8aac |
gtk_list_store_set (GTK_LIST_STORE (priv->catalog_path_store), &iter,
|
|
Packit |
1e8aac |
COLUMN_PATH, display,
|
|
Packit |
1e8aac |
COLUMN_CANONICAL_PATH, canonical,
|
|
Packit |
1e8aac |
-1);
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
g_free (directory);
|
|
Packit |
1e8aac |
g_free (canonical);
|
|
Packit |
1e8aac |
g_free (display);
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
static void
|
|
Packit |
1e8aac |
remove_catalog_clicked (GtkButton *button,
|
|
Packit |
1e8aac |
GladePreferences *preferences)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
GladePreferencesPrivate *priv = preferences->priv;
|
|
Packit |
1e8aac |
GtkTreeIter iter;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
if (gtk_tree_selection_get_selected (priv->selection, NULL, &iter))
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
gchar *path = NULL;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
gtk_tree_model_get (priv->catalog_path_store, &iter,
|
|
Packit |
1e8aac |
COLUMN_CANONICAL_PATH, &path,
|
|
Packit |
1e8aac |
-1);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
if (path)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
glade_catalog_remove_path (path);
|
|
Packit |
1e8aac |
g_free (path);
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
gtk_list_store_remove (GTK_LIST_STORE (priv->catalog_path_store), &iter);
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
static void
|
|
Packit |
1e8aac |
catalog_selection_changed (GtkTreeSelection *selection,
|
|
Packit |
1e8aac |
GladePreferences *preferences)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
gboolean selected = gtk_tree_selection_get_selected (selection, NULL, NULL);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/* Make the button sensitive if anything is selected */
|
|
Packit |
1e8aac |
gtk_widget_set_sensitive (preferences->priv->remove_catalog_button, selected);
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/********************************************************
|
|
Packit |
1e8aac |
* Class/Instance Init *
|
|
Packit |
1e8aac |
********************************************************/
|
|
Packit |
1e8aac |
static void
|
|
Packit |
1e8aac |
glade_preferences_init (GladePreferences *preferences)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
preferences->priv = glade_preferences_get_instance_private (preferences);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
gtk_widget_init_template (GTK_WIDGET (preferences));
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
static void
|
|
Packit |
1e8aac |
glade_preferences_class_init (GladePreferencesClass *klass)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
GtkWidgetClass *widget_class;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
widget_class = GTK_WIDGET_CLASS (klass);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/* Setup the template GtkBuilder xml for this class
|
|
Packit |
1e8aac |
*/
|
|
Packit |
1e8aac |
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/glade/glade-preferences.glade");
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/* Define the relationship of the private entry and the entry defined in the xml
|
|
Packit |
1e8aac |
*/
|
|
Packit |
1e8aac |
gtk_widget_class_bind_template_child_private (widget_class, GladePreferences, catalog_path_store);
|
|
Packit |
1e8aac |
gtk_widget_class_bind_template_child_private (widget_class, GladePreferences, remove_catalog_button);
|
|
Packit |
1e8aac |
gtk_widget_class_bind_template_child_private (widget_class, GladePreferences, selection);
|
|
Packit |
1e8aac |
gtk_widget_class_bind_template_child_private (widget_class, GladePreferences, create_backups_toggle);
|
|
Packit |
1e8aac |
gtk_widget_class_bind_template_child_private (widget_class, GladePreferences, autosave_toggle);
|
|
Packit |
1e8aac |
gtk_widget_class_bind_template_child_private (widget_class, GladePreferences, autosave_spin);
|
|
Packit |
1e8aac |
gtk_widget_class_bind_template_child_private (widget_class, GladePreferences, versioning_toggle);
|
|
Packit |
1e8aac |
gtk_widget_class_bind_template_child_private (widget_class, GladePreferences, deprecations_toggle);
|
|
Packit |
1e8aac |
gtk_widget_class_bind_template_child_private (widget_class, GladePreferences, unrecognized_toggle);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/* Declare the callback ports that this widget class exposes, to bind with <signal>
|
|
Packit |
1e8aac |
* connections defined in the GtkBuilder xml
|
|
Packit |
1e8aac |
*/
|
|
Packit |
1e8aac |
gtk_widget_class_bind_template_callback (widget_class, autosave_toggled);
|
|
Packit |
1e8aac |
gtk_widget_class_bind_template_callback (widget_class, on_preferences_filechooserdialog_response);
|
|
Packit |
1e8aac |
gtk_widget_class_bind_template_callback (widget_class, catalog_selection_changed);
|
|
Packit |
1e8aac |
gtk_widget_class_bind_template_callback (widget_class, remove_catalog_clicked);
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/********************************************************
|
|
Packit |
1e8aac |
* API *
|
|
Packit |
1e8aac |
********************************************************/
|
|
Packit |
1e8aac |
GtkWidget *
|
|
Packit |
1e8aac |
glade_preferences_new (void)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
return g_object_new (GLADE_TYPE_PREFERENCES, NULL);
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
void
|
|
Packit |
1e8aac |
glade_preferences_save (GladePreferences *prefs,
|
|
Packit |
1e8aac |
GKeyFile *config)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
GtkTreeModel *model = prefs->priv->catalog_path_store;
|
|
Packit |
1e8aac |
GString *string = g_string_new ("");
|
|
Packit |
1e8aac |
GtkTreeIter iter;
|
|
Packit |
1e8aac |
gboolean valid;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
valid = gtk_tree_model_get_iter_first (model, &iter);
|
|
Packit |
1e8aac |
while (valid)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
gchar *path;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
gtk_tree_model_get (model, &iter, COLUMN_CANONICAL_PATH, &path, -1);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
valid = gtk_tree_model_iter_next (model, &iter);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
g_string_append (string, path);
|
|
Packit |
1e8aac |
if (valid) g_string_append (string, ":");
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
g_free (path);
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
g_key_file_set_string (config, CONFIG_GROUP, CONFIG_KEY_CATALOG_PATHS, string->str);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/* Load and save */
|
|
Packit |
1e8aac |
g_key_file_set_boolean (config, CONFIG_GROUP_LOAD_SAVE, CONFIG_KEY_BACKUP,
|
|
Packit |
1e8aac |
glade_preferences_backup (prefs));
|
|
Packit |
1e8aac |
g_key_file_set_boolean (config, CONFIG_GROUP_LOAD_SAVE, CONFIG_KEY_AUTOSAVE,
|
|
Packit |
1e8aac |
glade_preferences_autosave (prefs));
|
|
Packit |
1e8aac |
g_key_file_set_integer (config, CONFIG_GROUP_LOAD_SAVE, CONFIG_KEY_AUTOSAVE_SECONDS,
|
|
Packit |
1e8aac |
glade_preferences_autosave_seconds (prefs));
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/* Warnings */
|
|
Packit |
1e8aac |
g_key_file_set_boolean (config, CONFIG_GROUP_SAVE_WARNINGS, CONFIG_KEY_VERSIONING,
|
|
Packit |
1e8aac |
glade_preferences_warn_versioning (prefs));
|
|
Packit |
1e8aac |
g_key_file_set_boolean (config, CONFIG_GROUP_SAVE_WARNINGS, CONFIG_KEY_DEPRECATIONS,
|
|
Packit |
1e8aac |
glade_preferences_warn_deprecations (prefs));
|
|
Packit |
1e8aac |
g_key_file_set_boolean (config, CONFIG_GROUP_SAVE_WARNINGS, CONFIG_KEY_UNRECOGNIZED,
|
|
Packit |
1e8aac |
glade_preferences_warn_unrecognized (prefs));
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
g_string_free (string, TRUE);
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
void
|
|
Packit |
1e8aac |
glade_preferences_load (GladePreferences *prefs,
|
|
Packit |
1e8aac |
GKeyFile *config)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
gboolean backups = DEFAULT_BACKUP;
|
|
Packit |
1e8aac |
gboolean autosave = DEFAULT_AUTOSAVE;
|
|
Packit |
1e8aac |
gboolean warn_versioning = DEFAULT_WARN_VERSIONS;
|
|
Packit |
1e8aac |
gboolean warn_deprecations = DEFAULT_WARN_DEPRECATIONS;
|
|
Packit |
1e8aac |
gboolean warn_unrecognized = DEFAULT_WARN_UNRECOGNIZED;
|
|
Packit |
1e8aac |
gint autosave_seconds = DEFAULT_AUTOSAVE_SECONDS;
|
|
Packit |
1e8aac |
gchar *string;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
string = g_key_file_get_string (config, CONFIG_GROUP, CONFIG_KEY_CATALOG_PATHS, NULL);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
if (string && g_strcmp0 (string, ""))
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
gchar **paths, **path;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
gtk_list_store_clear (GTK_LIST_STORE (prefs->priv->catalog_path_store));
|
|
Packit |
1e8aac |
glade_catalog_remove_path (NULL);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
paths = g_strsplit (string, ":", -1);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
path = paths;
|
|
Packit |
1e8aac |
do
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
GtkTreeIter iter;
|
|
Packit |
1e8aac |
gchar *canonical, *display;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
canonical = glade_util_canonical_path (*path);
|
|
Packit |
1e8aac |
display = glade_utils_replace_home_dir_with_tilde (canonical);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
glade_catalog_add_path (canonical);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
gtk_list_store_append (GTK_LIST_STORE (prefs->priv->catalog_path_store), &iter);
|
|
Packit |
1e8aac |
gtk_list_store_set (GTK_LIST_STORE (prefs->priv->catalog_path_store), &iter,
|
|
Packit |
1e8aac |
COLUMN_PATH, display,
|
|
Packit |
1e8aac |
COLUMN_CANONICAL_PATH, canonical,
|
|
Packit |
1e8aac |
-1);
|
|
Packit |
1e8aac |
g_free (display);
|
|
Packit |
1e8aac |
g_free (canonical);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
} while (*++path);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
g_strfreev (paths);
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/* Load and save */
|
|
Packit |
1e8aac |
if (g_key_file_has_key (config, CONFIG_GROUP_LOAD_SAVE, CONFIG_KEY_BACKUP, NULL))
|
|
Packit |
1e8aac |
backups = g_key_file_get_boolean (config, CONFIG_GROUP_LOAD_SAVE, CONFIG_KEY_BACKUP, NULL);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
if (g_key_file_has_key (config, CONFIG_GROUP_LOAD_SAVE, CONFIG_KEY_AUTOSAVE, NULL))
|
|
Packit |
1e8aac |
autosave = g_key_file_get_boolean (config, CONFIG_GROUP_LOAD_SAVE, CONFIG_KEY_AUTOSAVE, NULL);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
if (g_key_file_has_key (config, CONFIG_GROUP_LOAD_SAVE, CONFIG_KEY_AUTOSAVE_SECONDS, NULL))
|
|
Packit |
1e8aac |
autosave_seconds = g_key_file_get_integer (config, CONFIG_GROUP_LOAD_SAVE, CONFIG_KEY_AUTOSAVE_SECONDS, NULL);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/* Warnings */
|
|
Packit |
1e8aac |
if (g_key_file_has_key (config, CONFIG_GROUP_SAVE_WARNINGS, CONFIG_KEY_VERSIONING, NULL))
|
|
Packit |
1e8aac |
warn_versioning = g_key_file_get_boolean (config, CONFIG_GROUP_SAVE_WARNINGS, CONFIG_KEY_VERSIONING, NULL);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
if (g_key_file_has_key (config, CONFIG_GROUP_SAVE_WARNINGS, CONFIG_KEY_DEPRECATIONS, NULL))
|
|
Packit |
1e8aac |
warn_deprecations = g_key_file_get_boolean (config, CONFIG_GROUP_SAVE_WARNINGS, CONFIG_KEY_DEPRECATIONS, NULL);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
if (g_key_file_has_key (config, CONFIG_GROUP_SAVE_WARNINGS, CONFIG_KEY_UNRECOGNIZED, NULL))
|
|
Packit |
1e8aac |
warn_unrecognized = g_key_file_get_boolean (config, CONFIG_GROUP_SAVE_WARNINGS, CONFIG_KEY_UNRECOGNIZED, NULL);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs->priv->create_backups_toggle), backups);
|
|
Packit |
1e8aac |
gtk_widget_set_sensitive (prefs->priv->autosave_spin, autosave);
|
|
Packit |
1e8aac |
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs->priv->autosave_toggle), autosave);
|
|
Packit |
1e8aac |
gtk_spin_button_set_value (GTK_SPIN_BUTTON (prefs->priv->autosave_spin), autosave_seconds);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs->priv->versioning_toggle), warn_versioning);
|
|
Packit |
1e8aac |
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs->priv->deprecations_toggle), warn_deprecations);
|
|
Packit |
1e8aac |
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs->priv->unrecognized_toggle), warn_unrecognized);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
g_free (string);
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
gboolean
|
|
Packit |
1e8aac |
glade_preferences_backup (GladePreferences *prefs)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
return gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (prefs->priv->create_backups_toggle));
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
gboolean
|
|
Packit |
1e8aac |
glade_preferences_autosave (GladePreferences *prefs)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
return gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (prefs->priv->autosave_toggle));
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
gint
|
|
Packit |
1e8aac |
glade_preferences_autosave_seconds (GladePreferences *prefs)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
return (gint)gtk_spin_button_get_value (GTK_SPIN_BUTTON (prefs->priv->autosave_spin));
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
gboolean
|
|
Packit |
1e8aac |
glade_preferences_warn_versioning (GladePreferences *prefs)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
return gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (prefs->priv->versioning_toggle));
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
gboolean
|
|
Packit |
1e8aac |
glade_preferences_warn_deprecations (GladePreferences *prefs)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
return gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (prefs->priv->deprecations_toggle));
|
|
Packit |
1e8aac |
}
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
gboolean
|
|
Packit |
1e8aac |
glade_preferences_warn_unrecognized (GladePreferences *prefs)
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
return gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (prefs->priv->unrecognized_toggle));
|
|
Packit |
1e8aac |
}
|