Mercurial > projects > package-update-indicator
annotate pui-settings.c @ 24:4196eacbe940 version-3
Release version 3
author | Guido Berhoerster <guido+pui@berhoerster.name> |
---|---|
date | Wed, 24 Jul 2019 10:33:37 +0200 |
parents | 2f04ec9e0506 |
children |
rev | line source |
---|---|
1
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
1 /* |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
2 * Copyright (C) 2018 Guido Berhoerster <guido+pui@berhoerster.name> |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
3 * |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
4 * Permission is hereby granted, free of charge, to any person obtaining |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
5 * a copy of this software and associated documentation files (the |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
6 * "Software"), to deal in the Software without restriction, including |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
7 * without limitation the rights to use, copy, modify, merge, publish, |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
8 * distribute, sublicense, and/or sell copies of the Software, and to |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
9 * permit persons to whom the Software is furnished to do so, subject to |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
10 * the following conditions: |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
11 * |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
12 * The above copyright notice and this permission notice shall be included |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
13 * in all copies or substantial portions of the Software. |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
14 * |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
16 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
17 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
18 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
19 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
20 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
21 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
22 */ |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
23 |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
24 #define G_SETTINGS_ENABLE_BACKEND |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
25 #include <gio/gsettingsbackend.h> |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
26 |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
27 #include "pui-settings.h" |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
28 |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
29 #define SETTINGS_ROOT_PATH \ |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
30 "/org/guido-berhoerster/code/package-update-indicator/" |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
31 #define SETTINGS_ROOT_GROUP "General" |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
32 |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
33 GSettings * |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
34 pui_settings_new(void) |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
35 { |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
36 gchar *settings_filename; |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
37 GSettingsBackend *settings_backend; |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
38 |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
39 settings_filename = g_build_filename(g_get_user_config_dir(), PACKAGE, |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
40 PACKAGE ".conf", NULL); |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
41 settings_backend = g_keyfile_settings_backend_new(settings_filename, |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
42 SETTINGS_ROOT_PATH, SETTINGS_ROOT_GROUP); |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
43 |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
44 return (g_settings_new_with_backend(SETTINGS_SCHEMA_ID, |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
45 settings_backend)); |
2f04ec9e0506
Add preferences application
Guido Berhoerster <guido+pui@berhoerster.name>
parents:
diff
changeset
|
46 } |