summaryrefslogtreecommitdiff
path: root/pluma/pluma-app.c
diff options
context:
space:
mode:
authormbkma <[email protected]>2020-07-07 15:57:46 +0200
committerraveit65 <[email protected]>2020-07-29 16:47:54 +0200
commit2edb465b646f671f3372c70f020bd3d3076e86ad (patch)
tree0203909db2933fef2bff19084b67ae8f4ccfef19 /pluma/pluma-app.c
parent8f02e21f3703c9549fb357986f77c9534186f2ab (diff)
downloadpluma-2edb465b646f671f3372c70f020bd3d3076e86ad.tar.bz2
pluma-2edb465b646f671f3372c70f020bd3d3076e86ad.tar.xz
Port main program to GSettings
Remove pluma_prefs_manager. Plugins were already ported to GSettings. Based on: https://gitlab.gnome.org/GNOME/gedit/-/commit/4215be0e8924f45170683493beaa2695e8e2e483
Diffstat (limited to 'pluma/pluma-app.c')
-rw-r--r--pluma/pluma-app.c33
1 files changed, 28 insertions, 5 deletions
diff --git a/pluma/pluma-app.c b/pluma/pluma-app.c
index c9d2e614..60ce9bac 100644
--- a/pluma/pluma-app.c
+++ b/pluma/pluma-app.c
@@ -39,13 +39,13 @@
#include <gdk/gdk.h>
#include <gdk/gdkx.h>
#include "pluma-app.h"
-#include "pluma-prefs-manager-app.h"
#include "pluma-commands.h"
#include "pluma-notebook.h"
#include "pluma-debug.h"
#include "pluma-utils.h"
#include "pluma-enum-types.h"
#include "pluma-dirs.h"
+#include "pluma-settings.h"
#define PLUMA_PAGE_SETUP_FILE "pluma-page-setup"
#define PLUMA_PRINT_SETTINGS_FILE "pluma-print-settings"
@@ -66,6 +66,8 @@ struct _PlumaAppPrivate
GtkPageSetup *page_setup;
GtkPrintSettings *print_settings;
+
+ GSettings *window_settings;
};
G_DEFINE_TYPE_WITH_PRIVATE (PlumaApp, pluma_app, G_TYPE_OBJECT)
@@ -86,6 +88,17 @@ pluma_app_finalize (GObject *object)
}
static void
+pluma_app_dispose (GObject *object)
+{
+ PlumaApp *app = PLUMA_APP (object);
+
+ g_clear_object (&app->priv->window_settings);
+
+ G_OBJECT_CLASS (pluma_app_parent_class)->dispose (object);
+}
+
+
+static void
pluma_app_get_property (GObject *object,
guint prop_id,
GValue *value,
@@ -110,6 +123,7 @@ pluma_app_class_init (PlumaAppClass *klass)
GObjectClass *object_class = G_OBJECT_CLASS (klass);
object_class->finalize = pluma_app_finalize;
+ object_class->dispose = pluma_app_dispose;
object_class->get_property = pluma_app_get_property;
g_object_class_install_property (object_class,
@@ -326,12 +340,18 @@ save_print_settings (PlumaApp *app)
static void
pluma_app_init (PlumaApp *app)
{
+ PlumaSettings *settings;
+
app->priv = pluma_app_get_instance_private (app);
load_accels ();
+ /* Load/init settings */
+ settings = _pluma_settings_get_singleton ();
+ app->priv->window_settings = g_settings_new (PLUMA_SCHEMA_ID);
+
/* initial lockdown state */
- app->priv->lockdown = pluma_prefs_manager_get_lockdown ();
+ app->priv->lockdown = pluma_settings_get_lockdown (settings);
}
static void
@@ -504,17 +524,20 @@ pluma_app_create_window_real (PlumaApp *app,
GdkWindowState state;
gint w, h;
- state = pluma_prefs_manager_get_window_state ();
+ state = g_settings_get_int (app->priv->window_settings,
+ PLUMA_SETTINGS_WINDOW_STATE);
if ((state & GDK_WINDOW_STATE_MAXIMIZED) != 0)
{
- pluma_prefs_manager_get_default_window_size (&w, &h);
+ _pluma_window_get_default_size (&w, &h);
gtk_window_set_default_size (GTK_WINDOW (window), w, h);
gtk_window_maximize (GTK_WINDOW (window));
}
else
{
- pluma_prefs_manager_get_window_size (&w, &h);
+ g_settings_get (app->priv->window_settings,
+ PLUMA_SETTINGS_WINDOW_SIZE,
+ "(ii)", &w, &h);
gtk_window_set_default_size (GTK_WINDOW (window), w, h);
gtk_window_unmaximize (GTK_WINDOW (window));
}