Skip to content

Commit

Permalink
Breaking change: Replace gconf with wxconfig (#17)
Browse files Browse the repository at this point in the history
libgconf-2.4 was removed from Void Linux and was in general deprecated. Settings are not migrated.
  • Loading branch information
onli committed Jan 19, 2024
1 parent 48378df commit f3fa53b
Show file tree
Hide file tree
Showing 8 changed files with 63 additions and 258 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ SRCDIR ?= src/
SHELL ?= /bin/sh
CC = g++
CCFLAGS ?= -O2
DEPS = $(shell pkg-config --libs --cflags glib-2.0 gconf-2.0 gtk+-3.0 libwnck-3.0 xcb-ewmh librsvg-2.0)
DEPS = $(shell pkg-config --libs --cflags glib-2.0 gtk+-3.0 libwnck-3.0 xcb-ewmh librsvg-2.0)
ifneq (, $(shell which wx-config))
DEPS += $(shell wx-config --cflags --libs)
else
Expand Down
101 changes: 48 additions & 53 deletions src/gconf_settings.cc
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/

#include "sim_gconf.h"
#include "gconf_settings.h"

using namespace std;
Expand All @@ -26,77 +25,73 @@ using namespace std;
void simGconf_loadSettings (simSettings* data)
{

GConfClient *client = SimGconf::GetClient ();
wxConfigBase* config = wxConfig::Get();

SimGconf::GetInt(client, APPLICATION_PATH GCONF_LEFT_BORDER, &data->LEFT_BORDER);
SimGconf::GetInt(client, APPLICATION_PATH GCONF_RIGHT_BORDER, &data->RIGHT_BORDER);
SimGconf::GetInt(client, APPLICATION_PATH GCONF_BOTTOM_BORDER, &data->BOTTOM_BORDER);
SimGconf::GetInt(client, APPLICATION_PATH GCONF_ICON_WIDTH, &data->ICONW);
SimGconf::GetInt(client, APPLICATION_PATH GCONF_ICON_HEIGHT, &data->ICONH);
SimGconf::GetInt(client, APPLICATION_PATH GCONF_ZOOM, &data->PERCENT);
SimGconf::GetInt(client, APPLICATION_PATH GCONF_RANGE, &data->RANGE);
SimGconf::GetInt(client, APPLICATION_PATH GCONF_BG_HEIGHT, &data->BG_HEIGHT);
SimGconf::GetInt(client, APPLICATION_PATH GCONF_SPACER, &data->SPACER);
SimGconf::GetInt(client, APPLICATION_PATH GCONF_BLUR_TIMEOUT, &data->BLUR_TIMEOUT);
SimGconf::GetString(client, APPLICATION_PATH GCONF_BG_URL, &data->BG_PATH);
config->Read(GCONF_LEFT_BORDER, &data->LEFT_BORDER);
config->Read(GCONF_RIGHT_BORDER, &data->RIGHT_BORDER);
config->Read(GCONF_BOTTOM_BORDER, &data->BOTTOM_BORDER);
config->Read(GCONF_ICON_WIDTH, &data->ICONW);
config->Read(GCONF_ICON_HEIGHT, &data->ICONH);
config->Read(GCONF_ZOOM, &data->PERCENT);
config->Read(GCONF_RANGE, &data->RANGE);
config->Read(GCONF_BG_HEIGHT, &data->BG_HEIGHT);
config->Read(GCONF_SPACER, &data->SPACER);
config->Read(GCONF_BLUR_TIMEOUT, &data->BLUR_TIMEOUT);
config->Read(GCONF_BG_URL, &data->BG_PATH);

SimGconf::GetBool(client, APPLICATION_PATH GCONF_SHOW_REFLEXES, &data->SHOW_REFLEXES);
SimGconf::GetInt(client, APPLICATION_PATH GCONF_REFLEX_SCALING, &data->REFLEX_SCALING);
SimGconf::GetInt(client, APPLICATION_PATH GCONF_REFLEX_ALPHA, &data->REFLEX_ALPHA);
SimGconf::GetBool(client, APPLICATION_PATH GCONF_AUTO_POSITION, &data->AUTO_POSITION);
SimGconf::GetBool(client, APPLICATION_PATH GCONF_ENABLE_TASKS, &data->ENABLE_TASKS);

SimGconf::GetBool(client, APPLICATION_PATH GCONF_ENABLE_MINIMIZE, &data->ENABLE_MINIMIZE);
SimGconf::GetBool(client, APPLICATION_PATH GCONF_FAST_ANIMATIONS, &data->FAST_ANIMATIONS);

g_object_unref (client);
config->Read(GCONF_SHOW_REFLEXES, &data->SHOW_REFLEXES);
config->Read(GCONF_REFLEX_SCALING, &data->REFLEX_SCALING);
config->Read(GCONF_REFLEX_ALPHA, &data->REFLEX_ALPHA);
config->Read(GCONF_AUTO_POSITION, &data->AUTO_POSITION);
config->Read(GCONF_ENABLE_TASKS, &data->ENABLE_TASKS);

config->Read(GCONF_ENABLE_MINIMIZE, &data->ENABLE_MINIMIZE);
config->Read(GCONF_FAST_ANIMATIONS, &data->FAST_ANIMATIONS);
}

void simGconf_loadPosition (int* x, int* y)
{
GConfClient *client = SimGconf::GetClient ();
wxConfigBase* config = wxConfig::Get();

SimGconf::GetInt(client, APPLICATION_PATH GCONF_SETTINGS_X, x);
SimGconf::GetInt(client, APPLICATION_PATH GCONF_SETTINGS_Y, y);

g_object_unref (client);
config->Read(GCONF_SETTINGS_X, x);
config->Read(GCONF_SETTINGS_Y, y);
}

void
simGconf_saveSettings (struct simSettings* data)
{
GConfClient *client = SimGconf::GetClient ();

SimGconf::SetInt(client, APPLICATION_PATH GCONF_LEFT_BORDER, &data->LEFT_BORDER);
SimGconf::SetInt(client, APPLICATION_PATH GCONF_RIGHT_BORDER, &data->RIGHT_BORDER);
SimGconf::SetInt(client, APPLICATION_PATH GCONF_BOTTOM_BORDER, &data->BOTTOM_BORDER);
SimGconf::SetInt(client, APPLICATION_PATH GCONF_ICON_WIDTH, &data->ICONW);
SimGconf::SetInt(client, APPLICATION_PATH GCONF_ICON_HEIGHT, &data->ICONH);
SimGconf::SetInt(client, APPLICATION_PATH GCONF_ZOOM, &data->PERCENT);
SimGconf::SetInt(client, APPLICATION_PATH GCONF_RANGE, &data->RANGE);
SimGconf::SetInt(client, APPLICATION_PATH GCONF_BG_HEIGHT, &data->BG_HEIGHT);
SimGconf::SetInt(client, APPLICATION_PATH GCONF_SPACER, &data->SPACER);
SimGconf::SetInt(client, APPLICATION_PATH GCONF_BLUR_TIMEOUT, &data->BLUR_TIMEOUT);
SimGconf::SetString(client, APPLICATION_PATH GCONF_BG_URL, &data->BG_PATH);
SimGconf::SetBool(client, APPLICATION_PATH GCONF_SHOW_REFLEXES, &data->SHOW_REFLEXES);
SimGconf::SetInt(client, APPLICATION_PATH GCONF_REFLEX_SCALING, &data->REFLEX_SCALING);
SimGconf::SetInt(client, APPLICATION_PATH GCONF_REFLEX_ALPHA, &data->REFLEX_ALPHA);
SimGconf::SetBool(client, APPLICATION_PATH GCONF_AUTO_POSITION, &data->AUTO_POSITION);
SimGconf::SetBool(client, APPLICATION_PATH GCONF_ENABLE_TASKS, &data->ENABLE_TASKS);
wxConfigBase* config = wxConfig::Get();

config->Write(GCONF_LEFT_BORDER, data->LEFT_BORDER);
config->Write(GCONF_RIGHT_BORDER, data->RIGHT_BORDER);
config->Write(GCONF_BOTTOM_BORDER, data->BOTTOM_BORDER);
config->Write(GCONF_ICON_WIDTH, data->ICONW);
config->Write(GCONF_ICON_HEIGHT, data->ICONH);
config->Write(GCONF_ZOOM, data->PERCENT);
config->Write(GCONF_RANGE, data->RANGE);
config->Write(GCONF_BG_HEIGHT, data->BG_HEIGHT);
config->Write(GCONF_SPACER, data->SPACER);
config->Write(GCONF_BLUR_TIMEOUT, data->BLUR_TIMEOUT);
config->Write(GCONF_BG_URL, data->BG_PATH);
config->Write(GCONF_SHOW_REFLEXES, data->SHOW_REFLEXES);
config->Write(GCONF_REFLEX_SCALING, data->REFLEX_SCALING);
config->Write(GCONF_REFLEX_ALPHA, data->REFLEX_ALPHA);
config->Write(GCONF_AUTO_POSITION, data->AUTO_POSITION);
config->Write(GCONF_ENABLE_TASKS, data->ENABLE_TASKS);

SimGconf::SetBool(client, APPLICATION_PATH GCONF_ENABLE_MINIMIZE, &data->ENABLE_MINIMIZE);
SimGconf::SetBool(client, APPLICATION_PATH GCONF_FAST_ANIMATIONS, &data->FAST_ANIMATIONS);
config->Write(GCONF_ENABLE_MINIMIZE, data->ENABLE_MINIMIZE);
config->Write(GCONF_FAST_ANIMATIONS, data->FAST_ANIMATIONS);

g_object_unref (client);
config->Flush();

}

void simGconf_savePosition(int x, int y)
{
GConfClient *client = SimGconf::GetClient ();
wxConfigBase* config = wxConfig::Get();

SimGconf::SetInt(client, APPLICATION_PATH GCONF_SETTINGS_X, &x);
SimGconf::SetInt(client, APPLICATION_PATH GCONF_SETTINGS_Y, &y);
config->Write(APPLICATION_PATH GCONF_SETTINGS_X, x);
config->Write(GCONF_SETTINGS_Y, y);

g_object_unref (client);
config->Flush();
}
6 changes: 4 additions & 2 deletions src/gconf_settings.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
#define GCONF_SETTINGS_H

#include "simSettings.h"
#include <wx/config.h>
#include <iostream> //cout

// Gconf does not accept slash-ended strings as keys. Just in case
#define APPLICATION_PATH "/apps/simdock/"
Expand Down Expand Up @@ -48,10 +50,10 @@
#define GCONF_WALLPAPER_URL "wallpaper_url"


/* Loads simdock settings from libgconf2 */
/* Loads simdock settings into given struct */
void simGconf_loadSettings (simSettings* data);

/* Loads last simdock position using libgconf2 */
/* Loads last simdock position */
void simGconf_loadPosition (int* x, int* y);


Expand Down
8 changes: 8 additions & 0 deletions src/main.cc
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,14 @@ MyApp::OnInit () {

ImagesList = new ImagesArray ();
wxInitAllImageHandlers ();

// The default wxConfig configuration would try to create .simdock as a config file. But we
// already create a directory there. Because of that we have to configure wxwidgets to use a
// different config instead.
// Note: This likely has the drawback of forcing a FileConfig even when a registry would be
// used by default instead
wxConfigBase* config = new wxFileConfig(wxEmptyString, wxEmptyString, ".config/simdock");
wxConfigBase::Set(config);

//default values
simSettings settings = {
Expand Down
2 changes: 0 additions & 2 deletions src/main.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
#include <fstream>

#include <glib.h>
#include <gconf/gconf-client.h>
#include <gdk/gdkx.h>


Expand Down Expand Up @@ -76,7 +75,6 @@ WX_DEFINE_ARRAY (simImage *, ImagesArray);
#include "settingsDialog.h"

#include "myFrame.h"
//#include "getBg.h"
#include "gconf_settings.h"
#include "background.h"

Expand Down
2 changes: 2 additions & 0 deletions src/simSettings.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#ifndef _SIMSETTINGS_H
#define _SIMSETTINGS_H

#include <wx/string.h>

struct simSettings {
int LEFT_BORDER;
int RIGHT_BORDER;
Expand Down
155 changes: 0 additions & 155 deletions src/sim_gconf.cc

This file was deleted.

Loading

0 comments on commit f3fa53b

Please sign in to comment.