/gpump/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/gpump/trunk

« back to all changes in this revision

Viewing changes to src/GPumpSettingsData.c

  • Committer: Gustav Hartvigsson
  • Date: 2014-06-08 11:00:33 UTC
  • Revision ID: gustav.hartvigsson@gmail.com-20140608110033-e4xsc2ce6dwc00my
* Started work on porting the code to GJS

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
 
2
 
#include "GPumpSettingsData.h"
3
 
 
4
 
#define GPUMP_SETTINGS_DATA_GET_PRIVATE(obj)\
5
 
  (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GPUMP_TYPE_SETTINGS_DATA,\
6
 
                                GPumpSettingsDataPrivate))
7
 
 
8
 
G_DEFINE_TYPE (GPumpSettingsData, gpump_settings_data, G_TYPE_OBJECT)
9
 
 
10
 
 
11
 
/* Private datastructure */
12
 
struct GPumpSettingsDataPrivate {
13
 
#if GPUMP_USE_GSETTINGS
14
 
  /* org.gego.gpump.ui */
15
 
  GSettings * ui_settings;
16
 
  /* org.gego.gpump */
17
 
  GSettings * gpump_settings;
18
 
#else
19
 
  GKeyFile * gpump_settings; /* Stores both UI and other settings... */
20
 
  GFile * gpump_settings_file;
21
 
#endif /* GPUMP_USE_GSETTINGS */
22
 
};
23
 
 
24
 
/* Properties enumeration */
25
 
enum {
26
 
  PROP_0,
27
 
  
28
 
  PROP_UI_X,
29
 
  PROP_UI_Y,
30
 
  PROP_UI_H,
31
 
  PROP_UI_W,
32
 
  
33
 
  PROP_MAIN_USE_DARK,
34
 
  PROP_MAIN_FIRST_RUN,
35
 
  
36
 
  N_PROPERTIES
37
 
};
38
 
 
39
 
static GParamSpec * obj_properties[N_PROPERTIES] = { NULL, };
40
 
 
41
 
 
42
 
 
43
 
/* * Override the default constructor and destructor **************************/
44
 
GObject * gpump_settings_data_construct (GType type,
45
 
                        guint n_construct_params,
46
 
                        GObjectConstructParam * construct_params);
47
 
 
48
 
void gpump_settings_data_dispose (GObject * object);
49
 
 
50
 
/* * internal private functions ***********************************************/
51
 
void _print_errors (GError ** err_arr);
52
 
 
53
 
void gpump_settings_data_set_property (GObject * object,
54
 
                                       guint property_id,
55
 
                                       const GValue * value,
56
 
                                       GParamSpec * pspec);
57
 
 
58
 
void gpump_settings_data_get_property (GObject * object,
59
 
                                       guint property_id,
60
 
                                       GValue * value,
61
 
                                       GParamSpec * pspec);
62
 
 
63
 
/* * **************************************************************************/
64
 
GPumpSettingsData * gpump_settings_data_get_default () {
65
 
  GPumpSettingsData * self = g_object_new (GPUMP_TYPE_SETTINGS_DATA,
66
 
                                           NULL);
67
 
  
68
 
  return self;
69
 
}
70
 
 
71
 
void gpump_settings_data_init (GPumpSettingsData * self) {
72
 
  g_print ("Init GPumpSettingsData\n");
73
 
  
74
 
  self->priv = GPUMP_SETTINGS_DATA_GET_PRIVATE (self);
75
 
  
76
 
#if GPUMP_USE_GSETTINGS
77
 
  /* This will not be compiled, this will have to be implemented later...
78
 
   * much later...
79
 
   */
80
 
  self->ui_settings = g_settings_new ("org.gego.gpump.ui");
81
 
  self->gpump_settings = g_settings_new ("org.gego.gpump");
82
 
#else
83
 
  
84
 
  /* Construct the path for the files, 1) the GPump settings 2) the GPump UI 
85
 
   * settings.
86
 
   *
87
 
   * The file names are defined static, so they do not need to be re-created,
88
 
   * each and every time to object is re-created.
89
 
   */
90
 
  self->priv->gpump_settings = g_key_file_new ();
91
 
  
92
 
  static gchar * gpump_settings_file_uri = NULL;
93
 
  static gchar * settings_basedir = NULL;
94
 
  
95
 
  if (!(gpump_settings_file_uri)) {
96
 
    
97
 
    g_print ("Constructing path!\n");
98
 
    
99
 
    const gchar * base_config_dir = g_get_user_config_dir ();
100
 
    
101
 
    settings_basedir = g_strdup_printf ("%s/%s",
102
 
                                                base_config_dir,
103
 
                                                "gpump");
104
 
    g_free ((gchar*)base_config_dir);
105
 
    
106
 
    gpump_settings_file_uri = g_strdup_printf ("%s/%s",
107
 
                                               settings_basedir,
108
 
                                               "gpump.conf");
109
 
  }
110
 
  
111
 
  self->priv->gpump_settings_file = g_file_new_for_path (
112
 
                                                      gpump_settings_file_uri);
113
 
  GError ** err_arr = NULL;
114
 
  /* Dose the file exist? */
115
 
  if (!g_file_test (gpump_settings_file_uri, G_FILE_TEST_EXISTS )) {
116
 
    /* Nope, it did not exist */
117
 
    g_debug ("Config file does not exist, creating it.\n");
118
 
    
119
 
    g_mkdir_with_parents (settings_basedir, 0700);
120
 
    
121
 
    GFileOutputStream * file_stream = g_file_create (
122
 
                                                self->priv->gpump_settings_file,
123
 
                                                G_FILE_CREATE_PRIVATE,
124
 
                                                NULL,
125
 
                                                err_arr);
126
 
    
127
 
    _print_errors (err_arr);
128
 
    
129
 
    /* Construct a set of default settings */
130
 
    
131
 
    /* UI settings */
132
 
    /* -1 is undefined, these are set when the main window is displayed */
133
 
    g_key_file_set_integer (self->priv->gpump_settings, "ui","x", -1);
134
 
    g_key_file_set_integer (self->priv->gpump_settings, "ui","y", -1);
135
 
    /* 500x500 is the default window size */
136
 
    g_key_file_set_integer (self->priv->gpump_settings, "ui","h", 500);
137
 
    g_key_file_set_integer (self->priv->gpump_settings, "ui","w", 500);
138
 
    /* main settings */
139
 
    g_key_file_set_boolean (self->priv->gpump_settings,
140
 
                            "main",
141
 
                            "use dark",
142
 
                            FALSE);
143
 
    g_key_file_set_boolean (self->priv->gpump_settings,
144
 
                            "main",
145
 
                            "first run",
146
 
                            TRUE);
147
 
    
148
 
    g_assert (err_arr == NULL);
149
 
    
150
 
    gchar * buff = g_key_file_to_data (self->priv->gpump_settings,
151
 
                                       NULL,
152
 
                                       err_arr);
153
 
    
154
 
    _print_errors (err_arr);
155
 
    
156
 
    g_output_stream_write (G_OUTPUT_STREAM (file_stream),
157
 
                           buff,
158
 
                           strlen (buff),
159
 
                           NULL,
160
 
                           err_arr);
161
 
    
162
 
    _print_errors (err_arr);
163
 
    
164
 
    g_object_unref (file_stream);
165
 
  } else {
166
 
    /* yes, the file did exit */
167
 
    
168
 
    g_debug ("Reading data from file:\n");
169
 
    g_key_file_load_from_file (self->priv->gpump_settings,
170
 
                               gpump_settings_file_uri,
171
 
                               G_KEY_FILE_NONE,
172
 
                               err_arr);
173
 
    g_debug ("%s\n", g_key_file_to_data (self->priv->gpump_settings,NULL, NULL));
174
 
    _print_errors (err_arr);
175
 
    
176
 
  }
177
 
#endif
178
 
}
179
 
 
180
 
 
181
 
void gpump_settings_data_class_init (GPumpSettingsDataClass * klass) {
182
 
  GObjectClass * parent = G_OBJECT_CLASS (klass);
183
 
  
184
 
  parent->constructor = gpump_settings_data_construct;
185
 
  parent->dispose = gpump_settings_data_dispose;
186
 
  
187
 
  parent->get_property = gpump_settings_data_get_property;
188
 
  parent->set_property = gpump_settings_data_set_property;
189
 
  
190
 
  obj_properties[PROP_UI_X] = g_param_spec_int ("ui-x",
191
 
                                                "UI-X",
192
 
                                              "The x coordinate of the window",
193
 
                                                -1,
194
 
                                                INT_MAX,
195
 
                                                -1,
196
 
                                                G_PARAM_READABLE |
197
 
                                                G_PARAM_WRITABLE);
198
 
  
199
 
  obj_properties[PROP_UI_Y] = g_param_spec_int ("ui-y",
200
 
                                                "UI-Y",
201
 
                                              "The Y coordinate of the window",
202
 
                                                -1,
203
 
                                                INT_MAX,
204
 
                                                -1,
205
 
                                                G_PARAM_READABLE |
206
 
                                                G_PARAM_WRITABLE);
207
 
  
208
 
  obj_properties[PROP_UI_H] = g_param_spec_int ("ui-h",
209
 
                                                "UI-h",
210
 
                                              "The x coordinate of the window",
211
 
                                                1,
212
 
                                                INT_MAX,
213
 
                                                500,
214
 
                                                G_PARAM_READABLE |
215
 
                                                G_PARAM_WRITABLE);
216
 
  
217
 
  obj_properties[PROP_UI_W] = g_param_spec_int ("ui-w",
218
 
                                                "UI-w",
219
 
                                              "The x coordinate of the window",
220
 
                                                1,
221
 
                                                INT_MAX,
222
 
                                                500,
223
 
                                                G_PARAM_READABLE |
224
 
                                                G_PARAM_WRITABLE);
225
 
  
226
 
  obj_properties[PROP_MAIN_USE_DARK] = g_param_spec_boolean ("main-use-dark",
227
 
                                                "MAIN-USE-DARK",
228
 
                                            "Weather or not to use dark theme.",
229
 
                                                FALSE,
230
 
                                                G_PARAM_READABLE |
231
 
                                                G_PARAM_WRITABLE);
232
 
  
233
 
  obj_properties[PROP_MAIN_FIRST_RUN] = g_param_spec_boolean ("main-first-run",
234
 
                                                "MAIN-FIRST-RUN",
235
 
                   "Weather or not this is the first time that the app is run.",
236
 
                                                TRUE,
237
 
                                                G_PARAM_READABLE |
238
 
                                                G_PARAM_WRITABLE);
239
 
  
240
 
  g_object_class_install_properties (parent, N_PROPERTIES,
241
 
                                     obj_properties);
242
 
  
243
 
  g_type_class_add_private (klass, sizeof (GPumpSettingsDataPrivate));
244
 
}
245
 
 
246
 
void gpump_settings_data_set (GPumpSettingsData * self,
247
 
                              gchar * name,
248
 
                              GValue * data) {
249
 
  g_object_set_property (G_OBJECT (self),
250
 
                         name,
251
 
                         data);
252
 
}
253
 
 
254
 
 
255
 
GValue * gpump_settings_data_get (GPumpSettingsData * self,
256
 
                                    gchar * name) {
257
 
  GValue * data = NULL;
258
 
  g_object_set_property (G_OBJECT (self),
259
 
                         name,
260
 
                         data);
261
 
  return data;
262
 
}
263
 
 
264
 
 
265
 
gboolean gpump_settings_data_commit (GPumpSettingsData * self,
266
 
                                     GError ** err_arr) {
267
 
  g_object_ref (G_OBJECT(self));
268
 
#if GPUMP_USE_GSETTINGS
269
 
  /* Do thothing */
270
 
  return TRUE;
271
 
#else
272
 
  
273
 
  g_debug ("Committing data to file!\n");
274
 
  g_assert ( err_arr == NULL);
275
 
  
276
 
  GFileOutputStream * out_stream = g_file_replace (
277
 
                                                self->priv->gpump_settings_file,
278
 
                                                NULL,
279
 
                                                FALSE,
280
 
                                                G_FILE_CREATE_PRIVATE,
281
 
                                                NULL,
282
 
                                                err_arr);
283
 
  if (err_arr) {
284
 
    g_object_unref (out_stream);
285
 
    return FALSE;
286
 
  }
287
 
  
288
 
  gchar * buff = g_key_file_to_data (self->priv->gpump_settings, NULL, err_arr);
289
 
  
290
 
  if (err_arr) {
291
 
   g_object_unref (out_stream);
292
 
   g_free (buff);
293
 
   return FALSE;
294
 
  }
295
 
  gssize buff_size = strlen (buff);
296
 
  gssize out_size = g_output_stream_write (G_OUTPUT_STREAM (out_stream),
297
 
                         buff,
298
 
                         buff_size,
299
 
                         NULL,
300
 
                         err_arr);
301
 
  
302
 
  
303
 
  if (err_arr) {
304
 
    g_object_unref (out_stream);
305
 
    g_free (buff);
306
 
    return FALSE;
307
 
  }
308
 
  
309
 
  g_object_unref (out_stream);
310
 
  g_free (buff);
311
 
  
312
 
  g_debug ("Data commited: %i of %i bytes written!\n", (int)out_size, (int)buff_size);
313
 
  
314
 
  return TRUE;
315
 
#endif
316
 
  g_object_unref (G_OBJECT (self));
317
 
}
318
 
 
319
 
/* * **************************************************************************
320
 
 * * Implementation of the constructor ****************************************
321
 
 *
322
 
 * See: blogs.gnome.org/xclaesse/2010/02/11/how-to-make-a-gobject-singleton/
323
 
 * for more information.
324
 
 */
325
 
GObject *gpump_settings_data_construct (GType type,
326
 
                        guint n_construct_params,
327
 
                        GObjectConstructParam * construct_params) {
328
 
  g_print ("GPumpSettingsData contructor is run\n");
329
 
  static GObject * self = NULL;
330
 
  static GMutex mutex;
331
 
  
332
 
  g_mutex_lock (&mutex);
333
 
  if (self == NULL) {
334
 
    self = G_OBJECT_CLASS (gpump_settings_data_parent_class)->constructor (
335
 
      type, n_construct_params, construct_params);
336
 
    g_object_add_weak_pointer (self, (gpointer) &self);
337
 
    g_mutex_unlock (&mutex);
338
 
    g_print ("GPumpSettingsData contructor has run\n");
339
 
    return self;
340
 
  }
341
 
  g_mutex_unlock (&mutex);
342
 
  g_print ("GPumpSettingsData contructor has run\n");
343
 
  return g_object_ref (self);
344
 
}
345
 
 
346
 
/* Destructor */
347
 
void gpump_settings_data_dispose (GObject * object) {
348
 
  GPumpSettingsData * self  = GPUMP_SETTINGS_DATA (object);
349
 
#if GPUMP_USE_GSETTIGS
350
 
  /* do nothing, not implemented yet */
351
 
#else
352
 
  if (!(gpump_settings_data_commit (self, NULL))) {
353
 
     g_print ("Could not commit data\n");
354
 
   }
355
 
  
356
 
  g_key_file_free (self->priv->gpump_settings);
357
 
  g_object_unref (G_OBJECT(self->priv->gpump_settings_file));
358
 
  
359
 
  
360
 
  G_OBJECT_CLASS (gpump_settings_data_parent_class)->dispose (object);
361
 
#endif
362
 
}
363
 
 
364
 
/* * Internal private functions ***********************************************/
365
 
void _print_errors (GError ** err_arr) {
366
 
  if (err_arr) {
367
 
    for (int i = 0; err_arr[i] != NULL; i++) {
368
 
       g_print ("GPumpSettingsData:\n An %s error occured:\n\t%s\n\n",
369
 
                 g_quark_to_string (err_arr[i]->domain),
370
 
                 err_arr[i]->message);
371
 
    }
372
 
    abort ();
373
 
  }
374
 
}
375
 
 
376
 
/* * **************************************************************************
377
 
 * * Getting and setting properties *******************************************
378
 
 * For more information see:
379
 
 * https://developer.gnome.org/gobject/stable/gobject-properties.html
380
 
 */
381
 
 
382
 
/* * declarations of setting functions */
383
 
void _set_ui_x (GPumpSettingsData * self,
384
 
                const GValue * value);
385
 
void _set_ui_y (GPumpSettingsData * self,
386
 
                const GValue * value);
387
 
void _set_ui_h (GPumpSettingsData * self,
388
 
                const GValue * value);
389
 
void _set_ui_w (GPumpSettingsData * self,
390
 
                const GValue * value);
391
 
 
392
 
void _set_main_use_dark (GPumpSettingsData * self,
393
 
                         const GValue * value);
394
 
void _set_main_first_run (GPumpSettingsData * self,
395
 
                          const GValue * value);
396
 
 
397
 
 
398
 
/* * declarations of getting functions */
399
 
void _get_ui_x (GPumpSettingsData * self,
400
 
                GValue * value);
401
 
void _get_ui_y (GPumpSettingsData * self,
402
 
                GValue * value);
403
 
void _get_ui_h (GPumpSettingsData * self,
404
 
                GValue * value);
405
 
void _get_ui_w (GPumpSettingsData * self,
406
 
                GValue * value);
407
 
 
408
 
void _get_main_use_dark (GPumpSettingsData * self,
409
 
                         GValue * value);
410
 
void _get_main_first_run (GPumpSettingsData * self,
411
 
                          GValue * value);
412
 
 
413
 
 
414
 
 
415
 
/* * Setting props */
416
 
void gpump_settings_data_set_property (GObject * object,
417
 
                                       guint property_id,
418
 
                                       const GValue * value,
419
 
                                       GParamSpec * pspec) {
420
 
  g_object_ref (object);
421
 
  
422
 
  GPumpSettingsData * self = GPUMP_SETTINGS_DATA (object);
423
 
  
424
 
  switch (property_id) {
425
 
    
426
 
    /* UI Props */
427
 
    case PROP_UI_X:
428
 
      _set_ui_x (self, value);
429
 
      break;
430
 
    case PROP_UI_Y:
431
 
      _set_ui_x (self, value);
432
 
      break;
433
 
    case PROP_UI_H:
434
 
      _set_ui_x (self, value);
435
 
      break;
436
 
    case PROP_UI_W:
437
 
      _set_ui_x (self, value);
438
 
      break;
439
 
    
440
 
    /* GPump generic props */
441
 
    case PROP_MAIN_USE_DARK:
442
 
      _set_main_use_dark (self, value);
443
 
      break;
444
 
    case PROP_MAIN_FIRST_RUN:
445
 
      _set_main_first_run (self, value);
446
 
      break;
447
 
    
448
 
    /* Default */
449
 
    default:
450
 
      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
451
 
      break;
452
 
    
453
 
  }
454
 
  g_object_unref (object);
455
 
}
456
 
 
457
 
/* * Getting */
458
 
void gpump_settings_data_get_property (GObject * object,
459
 
                                       guint property_id,
460
 
                                       GValue * value,
461
 
                                       GParamSpec * pspec) {
462
 
  g_object_ref (object);
463
 
  
464
 
  GPumpSettingsData * self = GPUMP_SETTINGS_DATA (object);
465
 
  
466
 
  switch (property_id) {
467
 
    
468
 
    /* UI Props */
469
 
    case PROP_UI_X:
470
 
      _get_ui_x (self, value);
471
 
      break;
472
 
    case PROP_UI_Y:
473
 
      _get_ui_x (self, value);
474
 
      break;
475
 
    case PROP_UI_H:
476
 
      _get_ui_x (self, value);
477
 
      break;
478
 
    case PROP_UI_W:
479
 
      _get_ui_x (self, value);
480
 
      break;
481
 
    
482
 
    /* GPump generic props */
483
 
    case PROP_MAIN_USE_DARK:
484
 
      _get_main_use_dark (self, value);
485
 
      break;
486
 
    case PROP_MAIN_FIRST_RUN:
487
 
      _get_main_first_run (self, value);
488
 
      break;
489
 
    
490
 
    /* Default */
491
 
    default:
492
 
      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
493
 
      break;
494
 
    
495
 
  }
496
 
  g_object_unref (object);
497
 
}
498
 
 
499
 
 
500
 
/* * implimentations of setting functions *************************************/
501
 
void _set_ui_x (GPumpSettingsData * self,
502
 
                const GValue * value) {
503
 
#if GPUMP_USE_GSETTINGS
504
 
  /* TODO */
505
 
#else
506
 
  g_key_file_set_integer (self->priv->gpump_settings,
507
 
                          "ui",
508
 
                          "x",
509
 
                          g_value_get_int (value));
510
 
#endif
511
 
}
512
 
 
513
 
void _set_ui_y (GPumpSettingsData * self,
514
 
                const GValue * value) {
515
 
#if GPUMP_USE_GSETTINGS
516
 
  /* TODO */
517
 
#else
518
 
  g_key_file_set_integer (self->priv->gpump_settings,
519
 
                          "ui",
520
 
                          "y",
521
 
                          g_value_get_int (value));
522
 
#endif
523
 
}
524
 
 
525
 
void _set_ui_h (GPumpSettingsData * self,
526
 
                const GValue * value) {
527
 
#if GPUMP_USE_GSETTINGS
528
 
  /* TODO */
529
 
#else
530
 
  g_key_file_set_integer (self->priv->gpump_settings,
531
 
                          "ui",
532
 
                          "h",
533
 
                          g_value_get_int (value));
534
 
#endif
535
 
}
536
 
 
537
 
void _set_ui_w (GPumpSettingsData * self,
538
 
                const GValue * value) {
539
 
#if GPUMP_USE_GSETTINGS
540
 
  /* TODO */
541
 
#else
542
 
  g_key_file_set_integer (self->priv->gpump_settings,
543
 
                          "ui",
544
 
                          "w",
545
 
                          g_value_get_int (value));
546
 
#endif
547
 
}
548
 
 
549
 
void _set_main_use_dark (GPumpSettingsData * self,
550
 
                         const GValue * value) {
551
 
#if GPUMP_USE_GSETTINGS
552
 
  /* TODO */
553
 
#else
554
 
  g_key_file_set_integer (self->priv->gpump_settings,
555
 
                          "main",
556
 
                          "use dark",
557
 
                          g_value_get_boolean (value));
558
 
#endif
559
 
}
560
 
 
561
 
void _set_main_first_run (GPumpSettingsData * self,
562
 
                          const GValue * value)  {
563
 
#if GPUMP_USE_GSETTINGS
564
 
  /* TODO */
565
 
#else
566
 
  g_key_file_set_integer (self->priv->gpump_settings,
567
 
                          "main",
568
 
                          "first run",
569
 
                          g_value_get_boolean (value));
570
 
#endif
571
 
}
572
 
 
573
 
 
574
 
/* * implimentations of getting functions *************************************/
575
 
void _get_ui_x (GPumpSettingsData * self,
576
 
                GValue * value) {
577
 
#if GPUMP_USE_GSETTINGS
578
 
  /* TODO */
579
 
#else
580
 
  GError ** err_arr = NULL;
581
 
  g_value_set_int (value,
582
 
                   g_key_file_get_integer (self->priv->gpump_settings,
583
 
                                           "ui",
584
 
                                           "x",
585
 
                                           err_arr));
586
 
  _print_errors (err_arr);
587
 
  g_clear_error (err_arr);
588
 
#endif
589
 
}
590
 
 
591
 
void _get_ui_y (GPumpSettingsData * self,
592
 
                GValue * value) {
593
 
#if GPUMP_USE_GSETTINGS
594
 
  /* TODO */
595
 
#else
596
 
  GError ** err_arr = NULL;
597
 
  g_value_set_int (value,
598
 
                   g_key_file_get_integer (self->priv->gpump_settings,
599
 
                                           "ui",
600
 
                                           "y",
601
 
                                           err_arr));
602
 
  _print_errors (err_arr);
603
 
  g_clear_error (err_arr);
604
 
#endif
605
 
}
606
 
 
607
 
void _get_ui_h (GPumpSettingsData * self,
608
 
                GValue * value) {
609
 
#if GPUMP_USE_GSETTINGS
610
 
  /* TODO */
611
 
#else
612
 
  GError ** err_arr = NULL;
613
 
  g_value_set_int (value,
614
 
                   g_key_file_get_integer (self->priv->gpump_settings,
615
 
                                           "ui",
616
 
                                           "h",
617
 
                                           err_arr));
618
 
  _print_errors (err_arr);
619
 
  g_clear_error (err_arr);
620
 
#endif
621
 
}
622
 
 
623
 
void _get_ui_w (GPumpSettingsData * self,
624
 
                GValue * value) {
625
 
#if GPUMP_USE_GSETTINGS
626
 
  /* TODO */
627
 
#else
628
 
  GError ** err_arr = NULL;
629
 
  g_value_set_int (value,
630
 
                   g_key_file_get_integer (self->priv->gpump_settings,
631
 
                                           "ui",
632
 
                                           "w",
633
 
                                           err_arr));
634
 
  _print_errors (err_arr);
635
 
  g_clear_error (err_arr);
636
 
#endif
637
 
}
638
 
 
639
 
void _get_main_use_dark (GPumpSettingsData * self,
640
 
                         GValue * value) {
641
 
#if GPUMP_USE_GSETTINGS
642
 
  /* TODO */
643
 
#else
644
 
  GError ** err_arr = NULL;
645
 
  g_value_set_int (value,
646
 
                   g_key_file_get_integer (self->priv->gpump_settings,
647
 
                                           "main",
648
 
                                           "use dark",
649
 
                                           err_arr));
650
 
  _print_errors (err_arr);
651
 
  g_clear_error (err_arr);
652
 
#endif
653
 
}
654
 
 
655
 
void _get_main_first_run (GPumpSettingsData * self,
656
 
                          GValue * value)  {
657
 
#if GPUMP_USE_GSETTINGS
658
 
  /* TODO */
659
 
#else
660
 
  GError ** err_arr = NULL;
661
 
  g_value_set_int (value,
662
 
                   g_key_file_get_integer (self->priv->gpump_settings,
663
 
                                           "main",
664
 
                                           "first run",
665
 
                                           err_arr));
666
 
  _print_errors (err_arr);
667
 
  g_clear_error (err_arr);
668
 
#endif
669
 
}
670