X-Git-Url: https://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Fcfg.c;h=756153577dad62c4767c148f28f31e688f34d4b4;hb=45c8086f97097df36ba8cd0552f152be80f79b12;hp=b866a8cbd3d62fd1684674931437e2f9434109ed;hpb=e34af72ddaecb2baf56a0e0a7e135e8f25861ba2;p=psensor.git diff --git a/src/cfg.c b/src/cfg.c index b866a8c..7561535 100644 --- a/src/cfg.c +++ b/src/cfg.c @@ -1,22 +1,21 @@ /* - Copyright (C) 2010-2011 jeanfi@gmail.com - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301 USA -*/ - + * Copyright (C) 2010-2011 jeanfi@gmail.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA + */ #include #include #include @@ -64,6 +63,14 @@ #define KEY_INTERFACE_WINDOW_RESTORE_ENABLED \ "/apps/psensor/interface/window_restore_enabled" +#define KEY_INTERFACE_WINDOW_X "/apps/psensor/interface/window_x" +#define KEY_INTERFACE_WINDOW_Y "/apps/psensor/interface/window_y" +#define KEY_INTERFACE_WINDOW_W "/apps/psensor/interface/window_w" +#define KEY_INTERFACE_WINDOW_H "/apps/psensor/interface/window_h" + +#define KEY_INTERFACE_WINDOW_DIVIDER_POS \ +"/apps/psensor/interface/window_divider_pos" + GConfClient *client; static char *get_string(char *key, char *default_value) @@ -462,6 +469,28 @@ struct config *config_load() KEY_INTERFACE_WINDOW_RESTORE_ENABLED, NULL); + c->window_x = gconf_client_get_int(client, + KEY_INTERFACE_WINDOW_X, + NULL); + c->window_y = gconf_client_get_int(client, + KEY_INTERFACE_WINDOW_Y, + NULL); + c->window_w = gconf_client_get_int(client, + KEY_INTERFACE_WINDOW_W, + NULL); + c->window_h = gconf_client_get_int(client, + KEY_INTERFACE_WINDOW_H, + NULL); + c->window_divider_pos + = gconf_client_get_int(client, + KEY_INTERFACE_WINDOW_DIVIDER_POS, + NULL); + + if (!c->window_restore_enabled || !c->window_w || !c->window_h) { + c->window_w = 800; + c->window_h = 200; + } + return c; } @@ -502,4 +531,26 @@ void config_save(struct config *c) KEY_INTERFACE_WINDOW_RESTORE_ENABLED, c->window_restore_enabled, NULL); + + gconf_client_set_int(client, + KEY_INTERFACE_WINDOW_X, + c->window_x, + NULL); + gconf_client_set_int(client, + KEY_INTERFACE_WINDOW_Y, + c->window_y, + NULL); + gconf_client_set_int(client, + KEY_INTERFACE_WINDOW_W, + c->window_w, + NULL); + gconf_client_set_int(client, + KEY_INTERFACE_WINDOW_H, + c->window_h, + NULL); + + gconf_client_set_int(client, + KEY_INTERFACE_WINDOW_DIVIDER_POS, + c->window_divider_pos, + NULL); }