[med-svn] [Git][med-team/amide][master] 6 commits: Port to GSettings (by Yavor Doganov <yavor at gnu.org>)
Andreas Tille (@tille)
gitlab at salsa.debian.org
Fri Feb 23 15:34:06 GMT 2024
Andreas Tille pushed to branch master at Debian Med / amide
Commits:
7b70bdea by Andreas Tille at 2024-02-23T14:28:40+01:00
Port to GSettings (by Yavor Doganov <yavor at gnu.org>)
- - - - -
b7df4e63 by Andreas Tille at 2024-02-23T14:29:36+01:00
Port to GTK 3 and GooCanvas (#967252) (by Yavor Doganov <yavor at gnu.org>)
- - - - -
859cd6f3 by Andreas Tille at 2024-02-23T14:30:34+01:00
Remove GnomeVFS support (by Yavor Doganov <yavor at gnu.org>)
- - - - -
b25ed4c1 by Andreas Tille at 2024-02-23T14:31:12+01:00
Add libopenjp2-7-dev and libvistaio-dev (by Yavor Doganov <yavor at gnu.org>)
- - - - -
f42dce5b by Andreas Tille at 2024-02-23T14:32:12+01:00
Fix some compiler warnings (by Yavor Doganov <yavor at gnu.org>)
- - - - -
cf17c05e by Andreas Tille at 2024-02-23T16:33:15+01:00
Upload to unstable
- - - - -
9 changed files:
- + debian/NEWS
- debian/changelog
- debian/control
- + debian/patches/compiler-warnings.patch
- + debian/patches/gsettings.patch
- + debian/patches/gtk3+goocanvas.patch
- + debian/patches/no-gnome-vfs.patch
- debian/patches/series
- debian/rules
Changes:
=====================================
debian/NEWS
=====================================
@@ -0,0 +1,13 @@
+amide (1.0.6-4) unstable; urgency=medium
+
+ Due to migration to GSettings, the existing configuration is lost and
+ you have to recreate it afresh. The old configuration file
+ $HOME/.amiderc is preserved and you can use it to set the new GSettings
+ keys either with dconf-editor or through AMIDE's Preferences dialog,
+ Study modification dialog, etc. (whatever method is more convenient to
+ you, it doesn't matter).
+
+ Note that due to stricter requirements of GSettings keys the names have
+ changed from CamelCase to lowercase only with dashes.
+
+ -- Yavor Doganov <yavor at gnu.org> Thu, 22 Feb 2024 09:00:50 +0200
=====================================
debian/changelog
=====================================
@@ -1,3 +1,21 @@
+amide (1.0.6-4) unstable; urgency=medium
+
+ * Team upload.
+ * debian/patches/gsettings.patch: New; port to GSettings.
+ * debian/patches/gtk3+goocanvas.patch: New; port to GTK 3 and GooCanvas
+ 2.0 (Closes: #967252).
+ * debian/patches/no-gnome-vfs.patch: New; remove GnomeVFS support.
+ * debian/patches/compiler-warnings.patch: New; fix some warnings.
+ * debian/rules (override_dh_auto_configure): Remove --disable-gconf and
+ --disable-gnome-vfs.
+ * debian/control (Build-Depends): Replace libgtk2.0-dev and
+ libgnomecanvas2-dev with libgtk-3-dev and libgoocanvas-2.0-dev. Add
+ libopenjp2-7-dev and libvistaio-dev, thus adding support for JPEG 2000
+ and Vista images.
+ * debian/NEWS: New file; inform users that configuration is lost.
+
+ -- Yavor Doganov <yavor at gnu.org> Thu, 22 Feb 2024 09:00:50 +0200
+
amide (1.0.6-3) unstable; urgency=medium
* Team upload.
=====================================
debian/control
=====================================
@@ -9,12 +9,14 @@ Build-Depends: libtool,
debhelper-compat (= 13),
appstream-util,
intltool,
- libgtk2.0-dev,
+ libgtk-3-dev,
libxml2-dev,
- libgnomecanvas2-dev,
+ libgoocanvas-2.0-dev,
libgsl-dev,
libmdc-dev,
+ libopenjp2-7-dev,
libdcmtk-dev,
+ libvistaio-dev,
libvolpack1-dev,
libavcodec-dev,
libavformat-dev,
=====================================
debian/patches/compiler-warnings.patch
=====================================
@@ -0,0 +1,198 @@
+Description: Fix some compiler warnings.
+Author: Yavor Doganov <yavor at gnu.org>
+Forwarded: no
+Last-Update: 2022-02-22
+---
+
+--- amide.orig/amide-current/src/amitk_point.c
++++ amide/amide-current/src/amitk_point.c
+@@ -49,7 +49,7 @@
+ }
+
+ AmitkPoint * amitk_point_copy(const AmitkPoint * point) {
+- return (AmitkPoint *)g_memdup(point, sizeof(AmitkPoint));
++ return (AmitkPoint *)g_memdup2(point, sizeof(AmitkPoint));
+ }
+
+ void amitk_point_free (AmitkPoint * point) {
+@@ -145,7 +145,7 @@
+ }
+
+ AmitkVoxel * amitk_voxel_copy(const AmitkVoxel * voxel) {
+- return (AmitkVoxel *)g_memdup(voxel, sizeof(AmitkVoxel));
++ return (AmitkVoxel *)g_memdup2(voxel, sizeof(AmitkVoxel));
+ }
+
+ void amitk_voxel_free (AmitkVoxel * voxel) {
+@@ -223,7 +223,7 @@
+ }
+
+ AmitkPixel * amitk_pixel_copy(const AmitkPixel * pixel) {
+- return (AmitkPixel *)g_memdup(pixel, sizeof(AmitkPixel));
++ return (AmitkPixel *)g_memdup2(pixel, sizeof(AmitkPixel));
+ }
+
+ void amitk_pixel_free (AmitkPixel * pixel) {
+@@ -242,7 +242,7 @@
+ }
+
+ AmitkCanvasPoint * amitk_canvas_point_copy(const AmitkCanvasPoint * point) {
+- return (AmitkCanvasPoint *)g_memdup(point, sizeof(AmitkCanvasPoint));
++ return (AmitkCanvasPoint *)g_memdup2(point, sizeof(AmitkCanvasPoint));
+ }
+
+ void amitk_canvas_point_free (AmitkCanvasPoint * point) {
+@@ -265,7 +265,7 @@
+ }
+
+ AmitkAxes * amitk_axes_copy(const AmitkAxes * axes) {
+- return (AmitkAxes *)g_memdup(axes, sizeof(AmitkAxes));
++ return (AmitkAxes *)g_memdup2(axes, sizeof(AmitkAxes));
+ }
+
+ void amitk_axes_free (AmitkAxes * axes) {
+@@ -503,7 +503,7 @@
+ }
+
+ AmitkCorners * amitk_corners_copy(const AmitkCorners * corners) {
+- return (AmitkCorners *)g_memdup(corners, sizeof(AmitkCorners));
++ return (AmitkCorners *)g_memdup2(corners, sizeof(AmitkCorners));
+ }
+
+ void amitk_corners_free (AmitkCorners * corners) {
+--- amide.orig/amide-current/src/fads.c
++++ amide/amide-current/src/fads.c
+@@ -484,6 +484,7 @@
+ return;
+ }
+
++#if AMIDE_DEBUG
+ static gdouble calc_magnitude(AmitkDataSet * ds, gdouble * weight) {
+
+ gdouble magnitude;
+@@ -506,6 +507,7 @@
+
+ return sqrt(magnitude);
+ }
++#endif
+
+
+ /* returned array needs to be free'd */
+@@ -909,7 +911,6 @@
+ gdouble alpha, factor;
+ amide_time_t frame_midpoint, frame_duration;
+ gdouble init_value;
+- gdouble magnitude;
+ AmitkDataSet * new_ds;
+ AmitkVoxel i_voxel;
+ gdouble current_beta=0.0;
+@@ -917,6 +918,7 @@
+ GTimer * timer=NULL;
+ gboolean new_outer;
+ #if AMIDE_DEBUG
++ gdouble magnitude;
+ div_t x;
+ #endif
+
+@@ -977,7 +979,9 @@
+ g_warning(_("failed weight malloc"));
+ goto ending;
+ }
++#if AMIDE_DEBUG
+ magnitude = calc_magnitude(p.data_set, p.weight);
++#endif
+
+ if (p.sum_factors_equal_one) {
+ p.ec_a = g_try_new(gdouble, p.num_voxels);
+@@ -1942,12 +1946,13 @@
+ amide_time_t time_start;
+ AmitkDataSet * new_ds;
+ AmitkVoxel i_voxel;
+- gdouble magnitude, k12, k21;
++ gdouble k12, k21;
+ gdouble init_value, alpha;
+ AmitkViewMode i_view_mode;
+ GTimer * timer=NULL;
+ gboolean new_outer;
+ #if AMIDE_DEBUG
++ gdouble magnitude;
+ div_t x;
+ #endif
+
+@@ -2100,7 +2105,9 @@
+ /* calculate the weights and magnitude */
+ p.weight = calc_weights(p.data_set);
+ g_return_if_fail(p.weight != NULL); /* make sure we've malloc'd it */
++#if AMIDE_DEBUG
+ magnitude = calc_magnitude(p.data_set, p.weight);
++#endif
+
+
+ /* set up gsl */
+--- amide.orig/amide-current/src/libmdc_interface.c
++++ amide/amide-current/src/libmdc_interface.c
+@@ -933,12 +933,12 @@
+
+ /* set what we can */
+ if (AMITK_DATA_SET_SUBJECT_NAME(ds) != NULL)
+- strncpy(fi.patient_name,AMITK_DATA_SET_SUBJECT_NAME(ds), MDC_MAXSTR);
++ strncpy(fi.patient_name,AMITK_DATA_SET_SUBJECT_NAME(ds), MDC_MAXSTR - 1);
+ if (AMITK_DATA_SET_SUBJECT_ID(ds) != NULL)
+- strncpy(fi.patient_id,AMITK_DATA_SET_SUBJECT_ID(ds), MDC_MAXSTR);
++ strncpy(fi.patient_id,AMITK_DATA_SET_SUBJECT_ID(ds), MDC_MAXSTR - 1);
+ if (AMITK_DATA_SET_SUBJECT_DOB(ds) != NULL)
+- strncpy(fi.patient_dob,AMITK_DATA_SET_SUBJECT_DOB(ds), MDC_MAXSTR);
+- strncpy(fi.patient_sex, amitk_subject_sex_get_name(AMITK_DATA_SET_SUBJECT_SEX(ds)), MDC_MAXSTR);
++ strncpy(fi.patient_dob,AMITK_DATA_SET_SUBJECT_DOB(ds), MDC_MAXSTR - 1);
++ strncpy(fi.patient_sex, amitk_subject_sex_get_name(AMITK_DATA_SET_SUBJECT_SEX(ds)), MDC_MAXSTR - 1);
+
+ fi.injected_dose = AMITK_DATA_SET_INJECTED_DOSE(ds);
+ fi.patient_weight= AMITK_DATA_SET_SUBJECT_WEIGHT(ds);
+--- amide.orig/amide-current/src/mpeg_encode.c
++++ amide/amide-current/src/mpeg_encode.c
+@@ -151,7 +151,7 @@
+
+
+ typedef struct {
+- AVCodec *codec;
++ const AVCodec *codec;
+ AVCodecContext *context;
+ AVFrame *picture;
+ yuv_t * yuv;
+--- amide.orig/amide-current/src/vistaio_interface.c
++++ amide/amide-current/src/vistaio_interface.c
+@@ -37,7 +37,7 @@
+ #include <locale.h>
+
+
+-gboolean vistaio_test_vista(gchar *filename)
++gboolean vistaio_test_vista(const gchar *filename)
+ {
+ return VistaIOIsVistaFile(filename);
+ }
+--- amide.orig/amide-current/src/vistaio_interface.h
++++ amide/amide-current/src/vistaio_interface.h
+@@ -33,7 +33,7 @@
+ /* includes always needed with this file */
+ #include "amitk_data_set.h"
+
+-gboolean vistaio_test_vista(gchar *filename);
++gboolean vistaio_test_vista(const gchar *filename);
+
+
+ /* external functions */
+--- amide.orig/amide-current/configure.ac
++++ amide/amide-current/configure.ac
+@@ -366,9 +366,9 @@
+ ##############################
+
+ PKG_CHECK_MODULES(AMIDE_GTK,[
+- glib-2.0 >= 2.44.0
+- gio-2.0 >= 2.44.0
+- gobject-2.0 >= 2.44.0
++ glib-2.0 >= 2.68.0
++ gio-2.0 >= 2.68.0
++ gobject-2.0 >= 2.68.0
+ gtk+-3.0 >= 3.21.5
+ libxml-2.0 >= 2.4.12
+ goocanvas-2.0 >= 2.0.2
=====================================
debian/patches/gsettings.patch
=====================================
@@ -0,0 +1,1348 @@
+Description: Port to GSettings.
+ There is no migration code; users will lose all their configuration.
+ .
+ I don't know why GConf was not used on Windows and macOS; I guess
+ it's because it is a different library. Someone (upstream) with
+ access to these systems should verify if GSettings work there (it's
+ part of GLib so it should in theory) -- if that's the case it would
+ simplify the code a lot as much of amide_gconf.c will be removed
+ along with the *_with_default functions.
+Bug: https://github.com/ferdymercury/amide/issues/27
+Author: Yavor Doganov <yavor at gnu.org>
+Forwarded: no
+Last-Update: 2024-02-22
+---
+
+--- amide.orig/amide-current/configure.ac
++++ amide/amide-current/configure.ac
+@@ -366,37 +366,15 @@
+ ##############################
+
+ PKG_CHECK_MODULES(AMIDE_GTK,[
+- glib-2.0 >= 2.16.0
+- gobject-2.0 >= 2.16.0
++ glib-2.0 >= 2.44.0
++ gio-2.0 >= 2.44.0
++ gobject-2.0 >= 2.44.0
+ gtk+-2.0 >= 2.16.0
+ libxml-2.0 >= 2.4.12
+ libgnomecanvas-2.0 >= 2.0.0
+ ])
+
+-## add in gconf if not on win32 or macos x
+-## gconf stuff is encapsulated in amide_gconf.c
+-
+-
+-
+-if (test $native_win32 = no) && (test $enable_native_gtk_osx = no); then
+- AC_ARG_ENABLE(
+- gconf,
+- [ --enable-gconf Compile with gconf support [default=yes]],
+- enable_gconf="$enableval",
+- enable_gconf=yes)
+-
+- if test "x$enable_gconf" = "xyes" ; then
+- PKG_CHECK_MODULES(AMIDE_GTK_EXTRA_GCONF,[
+- gconf-2.0 >= 2.14.0
+- ], [AC_DEFINE(AMIDE_USE_GCONF, 1, Use gconf for storing configutation)
+- AMIDE_GTK_LIBS="$AMIDE_GTK_LIBS $AMIDE_GTK_EXTRA_GCONF_LIBS"
+- AMIDE_GTK_CFLAGS="$AMIDE_GTK_CFLAGS $AMIDE_GTK_EXTRA_GCONF_CFLAGS"
+- ])
+-
+- else
+- echo "Don't use gconf"
+- fi
+-fi
++GLIB_GSETTINGS
+
+ ## add in gnome-vfs if not on win32 or gtk-osx
+ ## gnome-vfs is only used by amide_gnome.c and only on unix
+--- amide.orig/amide-current/Makefile.am
++++ amide/amide-current/Makefile.am
+@@ -19,8 +19,12 @@
+ etc \
+ $(HELPDIR)
+
++gsettings_SCHEMAS = com.github.ferdymercury.amide.gschema.xml
++
++ at GSETTINGS_RULES@
+
+ EXTRA_DIST = \
++ $(gsettings_SCHEMAS) \
+ intltool-extract.in \
+ intltool-merge.in \
+ intltool-update.in \
+--- /dev/null
++++ amide/amide-current/com.github.ferdymercury.amide.gschema.xml
+@@ -0,0 +1,363 @@
++<?xml version="1.0" encoding="UTF-8"?>
++<schemalist>
++
++ <enum id="com.github.ferdymercury.amide.AmitkLayout">
++ <value nick="Linear" value="0"/>
++ <value nick="Orthogonal" value="1"/>
++ </enum>
++
++ <enum id="com.github.ferdymercury.amide.AmitkPanelLayout">
++ <value nick="Mixed" value="0"/>
++ <value nick="Linear X" value="1"/>
++ <value nick="Linear Y" value="2"/>
++ </enum>
++
++ <enum id="com.github.ferdymercury.amide.AmitkWhichDefaultDirectory">
++ <value nick="None" value="0"/>
++ <value nick="Specified" value="1"/>
++ <value nick="Working" value="2"/>
++ </enum>
++
++ <enum id="com.github.ferdymercury.amide.AmitkThresholdStyle">
++ <value nick="Min/Max" value="0"/>
++ <value nick="Center/Width" value="1"/>
++ </enum>
++
++ <enum id="com.github.ferdymercury.amide.AmitkModality">
++ <value nick="pet" value="0"/>
++ <value nick="spect" value="1"/>
++ <value nick="ct" value="2"/>
++ <value nick="mri" value="3"/>
++ <value nick="other" value="4"/>
++ </enum>
++
++ <enum id="com.github.ferdymercury.amide.AmitkFormat">
++ <value nick="Unsigned Byte (8 bit)" value="0"/>
++ <value nick="Signed Byte (8 bit)" value="1"/>
++ <value nick="Unsigned Short (16 bit)" value="2"/>
++ <value nick="Signed Short (16 bit)" value="3"/>
++ <value nick="Unsigned Integer (32 bit)" value="4"/>
++ <value nick="Signed Integer (32 bit)" value="5"/>
++ <value nick="Float (32 bit)" value="6"/>
++ <value nick="Double (64 bit)" value="7"/>
++ </enum>
++
++ <enum id="com.github.ferdymercury.amide.AmitkExportMethod">
++ <value nick="Raw Data" value="0"/>
++ <value nick="DICOM via dcmtk" value="1"/>
++ <value nick="libmdc" value="2"/>
++ </enum>
++
++ <enum id="com.github.ferdymercury.amide.AnalysisCalculationType">
++ <value nick="all voxels" value="0"/>
++ <value nick="highest fraction voxels" value="1"/>
++ <value nick="voxels near max" value="2"/>
++ <value nick="voxels greater than value" value="3"/>
++ </enum>
++
++ <enum id="com.github.ferdymercury.amide.SeriesType">
++ <value nick="over Space" value="0"/>
++ <value nick="over Time" value="1"/>
++ <value nick="over Gates" value="2"/>
++ </enum>
++
++ <enum id="com.github.ferdymercury.amide.AmitkView">
++ <value nick="Transverse" value="0"/>
++ <value nick="Coronal" value="1"/>
++ <value nick="Sagittal" value="2"/>
++ </enum>
++
++ <schema id="com.github.ferdymercury.amide"
++ path="/com/github/ferdymercury/amide/">
++ <child name="roi" schema="com.github.ferdymercury.amide.roi"/>
++ <child name="canvas"
++ schema="com.github.ferdymercury.amide.canvas"/>
++ <child name="misc" schema="com.github.ferdymercury.amide.misc"/>
++ <child name="datasets"
++ schema="com.github.ferdymercury.amide.datasets"/>
++ <child name="windows"
++ schema="com.github.ferdymercury.amide.windows"/>
++ <child name="rawdataimport"
++ schema="com.github.ferdymercury.amide.rawdataimport"/>
++ <child name="export"
++ schema="com.github.ferdymercury.amide.export"/>
++ <child name="analysis"
++ schema="com.github.ferdymercury.amide.analysis"/>
++ <child name="rendering"
++ schema="com.github.ferdymercury.amide.rendering"/>
++ <child name="series"
++ schema="com.github.ferdymercury.amide.series"/>
++ <child name="missing-functionality"
++ schema="com.github.ferdymercury.amide.missing-functionality"/>
++ </schema>
++
++ <schema id="com.github.ferdymercury.amide.roi"
++ path="/com/github/ferdymercury/amide/roi/">
++ <key name="width" type="i">
++ <range min="1" max="5"/>
++ <default>2</default>
++ </key>
++ <key name="transparency" type="d">
++ <default>0.5</default>
++ </key>
++ </schema>
++
++ <schema id="com.github.ferdymercury.amide.canvas"
++ path="/com/github/ferdymercury/amide/canvas/">
++ <key name="layout" enum="com.github.ferdymercury.amide.AmitkLayout">
++ <default>'Linear'</default>
++ </key>
++ <key name="maintain-size" type="b">
++ <default>true</default>
++ </key>
++ <key name="target-empty-area" type="i">
++ <range min="0" max="25"/>
++ <default>5</default>
++ </key>
++ <key name="panel-layout"
++ enum="com.github.ferdymercury.amide.AmitkPanelLayout">
++ <default>'Mixed'</default>
++ </key>
++ </schema>
++
++ <schema id="com.github.ferdymercury.amide.misc"
++ path="/com/github/ferdymercury/amide/misc/">
++ <key name="warnings-to-console" type="b">
++ <default>false</default>
++ </key>
++ <key name="prompt-for-save-on-exit" type="b">
++ <default>true</default>
++ </key>
++ <key name="which-default-directory"
++ enum="com.github.ferdymercury.amide.AmitkWhichDefaultDirectory">
++ <default>'None'</default>
++ </key>
++ <key name="default-directory" type="s">
++ <default>''</default>
++ </key>
++ </schema>
++
++ <schema id="com.github.ferdymercury.amide.datasets"
++ path="/com/github/ferdymercury/amide/datasets/">
++ <key name="threshold-style"
++ enum="com.github.ferdymercury.amide.AmitkThresholdStyle">
++ <default>'Min/Max'</default>
++ </key>
++ <key name="default-color-table-pet" type="i">
++ <default>22</default>
++ </key>
++ <key name="default-color-table-spect" type="i">
++ <default>10</default>
++ </key>
++ <key name="default-color-table-ct" type="i">
++ <default>0</default>
++ </key>
++ <key name="default-color-table-mri" type="i">
++ <default>0</default>
++ </key>
++ <key name="default-color-table-other" type="i">
++ <default>0</default>
++ </key>
++ </schema>
++
++ <schema id="com.github.ferdymercury.amide.windows"
++ path="/com/github/ferdymercury/amide/windows/">
++ <key name="abdomen-min" type="d">
++ <default>-85.0</default>
++ </key>
++ <key name="abdomen-max" type="d">
++ <default>165.0</default>
++ </key>
++ <key name="brain-min" type="d">
++ <default>-0.0</default>
++ </key>
++ <key name="brain-max" type="d">
++ <default>80.0</default>
++ </key>
++ <key name="extremities-min" type="d">
++ <default>-400.0</default>
++ </key>
++ <key name="extremities-max" type="d">
++ <default>1000.0</default>
++ </key>
++ <key name="liver-min" type="d">
++ <default>-40.0</default>
++ </key>
++ <key name="liver-max" type="d">
++ <default>160.0</default>
++ </key>
++ <key name="lung-min" type="d">
++ <default>-1350.0</default>
++ </key>
++ <key name="lung-max" type="d">
++ <default>150.0</default>
++ </key>
++ <key name="pelvis-soft-tissue-min" type="d">
++ <default>-140.0</default>
++ </key>
++ <key name="pelvis-soft-tissue-max" type="d">
++ <default>210.0</default>
++ </key>
++ <key name="skull-base-min" type="d">
++ <default>-60.0</default>
++ </key>
++ <key name="skull-base-max" type="d">
++ <default>140.0</default>
++ </key>
++ <key name="spine-a-min" type="d">
++ <default>-35.0</default>
++ </key>
++ <key name="spine-a-max" type="d">
++ <default>215.0</default>
++ </key>
++ <key name="spine-b-min" type="d">
++ <default>-300.0</default>
++ </key>
++ <key name="spine-b-max" type="d">
++ <default>1200.0</default>
++ </key>
++ <key name="thorax-soft-tissue-min" type="d">
++ <default>-125.0</default>
++ </key>
++ <key name="thorax-soft-tissue-max" type="d">
++ <default>225.0</default>
++ </key>
++ </schema>
++
++ <schema id="com.github.ferdymercury.amide.rawdataimport"
++ path="/com/github/ferdymercury/amide/rawdataimport/">
++ <key name="last-modality"
++ enum="com.github.ferdymercury.amide.AmitkModality">
++ <default>'ct'</default>
++ </key>
++ <key name="last-raw-format"
++ enum="com.github.ferdymercury.amide.AmitkFormat">
++ <default>'Unsigned Byte (8 bit)'</default>
++ </key>
++ <key name="last-data-dim-g" type="i">
++ <default>1</default>
++ </key>
++ <key name="last-data-dim-t" type="i">
++ <default>1</default>
++ </key>
++ <key name="last-data-dim-z" type="i">
++ <default>1</default>
++ </key>
++ <key name="last-data-dim-y" type="i">
++ <default>1</default>
++ </key>
++ <key name="last-data-dim-x" type="i">
++ <default>1</default>
++ </key>
++ <key name="last-voxel-size-z" type="d">
++ <default>1.0</default>
++ </key>
++ <key name="last-voxel-size-y" type="d">
++ <default>1.0</default>
++ </key>
++ <key name="last-voxel-size-x" type="d">
++ <default>1.0</default>
++ </key>
++ <key name="last-offset" type="i">
++ <default>0</default>
++ </key>
++ <key name="last-scale-factor" type="d">
++ <default>1.0</default>
++ </key>
++ </schema>
++
++ <schema id="com.github.ferdymercury.amide.export"
++ path="/com/github/ferdymercury/amide/export/">
++ <key name="reslice-data-set" type="b">
++ <default>false</default>
++ </key>
++ <key name="all-visible-data-sets" type="b">
++ <default>false</default>
++ </key>
++ <key name="inclusive-bounding-box" type="b">
++ <default>false</default>
++ </key>
++ <key name="method"
++ enum="com.github.ferdymercury.amide.AmitkExportMethod">
++ <default>'Raw Data'</default>
++ </key>
++ <key name="submethod" type="i">
++ <default>0</default>
++ </key>
++ <key name="voxel-size-z" type="d">
++ <default>1.0</default>
++ </key>
++ <key name="voxel-size-y" type="d">
++ <default>1.0</default>
++ </key>
++ <key name="voxel-size-x" type="d">
++ <default>1.0</default>
++ </key>
++ </schema>
++
++ <schema id="com.github.ferdymercury.amide.analysis"
++ path="/com/github/ferdymercury/amide/analysis/">
++ <key name="calculate-all-data-sets" type="b">
++ <default>false</default>
++ </key>
++ <key name="calculate-all-rois" type="b">
++ <default>false</default>
++ </key>
++ <key name="calculation-type"
++ enum="com.github.ferdymercury.amide.AnalysisCalculationType">
++ <default>'all voxels'</default>
++ </key>
++ <key name="accurate" type="b">
++ <default>false</default>
++ </key>
++ <key name="sub-fraction" type="d">
++ <default>0.0</default>
++ </key>
++ <key name="threshold-percentage" type="d">
++ <default>0.0</default>
++ </key>
++ <key name="threshold-value" type="d">
++ <default>0.0</default>
++ </key>
++ </schema>
++
++ <schema id="com.github.ferdymercury.amide.rendering"
++ path="/com/github/ferdymercury/amide/rendering/">
++ <key name="strip-highs" type="b">
++ <default>false</default>
++ </key>
++ <key name="optimize-rendering" type="b">
++ <default>false</default>
++ </key>
++ <key name="initially-no-gradient-opacity" type="b">
++ <default>false</default>
++ </key>
++ <key name="update-without-release" type="b">
++ <default>false</default>
++ </key>
++ <key name="eye-width" type="i">
++ <default>0</default>
++ </key>
++ <key name="eye-angle" type="d">
++ <default>5.0</default>
++ </key>
++ </schema>
++
++ <schema id="com.github.ferdymercury.amide.series"
++ path="/com/github/ferdymercury/amide/series/">
++ <key name="type" enum="com.github.ferdymercury.amide.SeriesType">
++ <default>'over Space'</default>
++ </key>
++ <key name="view" enum="com.github.ferdymercury.amide.AmitkView">
++ <default>'Transverse'</default>
++ </key>
++ </schema>
++
++ <schema id="com.github.ferdymercury.amide.missing-functionality"
++ path="/com/github/ferdymercury/amide/missing-functionality/">
++ <key name="already-warned" type="s">
++ <default>'0.0.0'</default>
++ </key>
++ </schema>
++
++</schemalist>
+--- amide.orig/amide-current/src/amide_gconf.c
++++ amide/amide-current/src/amide_gconf.c
+@@ -449,7 +449,7 @@
+ return return_val;
+ }
+
+-#elif defined(AMIDE_NATIVE_GTK_OSX) || !defined(AMIDE_USE_GCONF)
++#elif defined(AMIDE_NATIVE_GTK_OSX)
+
+ /* --------------------- flatfile version ----------------- */
+
+@@ -628,147 +628,137 @@
+
+ /* ------------------- gconf version ---------------------- */
+
+-#include <gconf/gconf-client.h>
+-#include <errno.h>
++#include <gio/gio.h>
+
+ /* internal variables */
+-static GConfClient * client=NULL;
++static GSettings * settings=NULL;
+
++const gchar * enum_keys[] = {
++ "layout",
++ "panel-layout",
++ "which-default-directory",
++ "threshold-style",
++ "last-modality",
++ "last-raw-format",
++ "method",
++ "calculation-type",
++ "type",
++ "view",
++ NULL
++};
+
+ void amide_gconf_init(void) {
+- client = gconf_client_get_default();
++ settings = g_settings_new("com.github.ferdymercury.amide");
+ return;
+ }
+
+ void amide_gconf_shutdown(void) {
+- g_object_unref(client);
++ g_object_unref(settings);
+ return;
+ }
+
+ gint amide_gconf_get_int(const gchar * group, const gchar * key) {
+- gchar * real_key;
++ GSettings * child;
+ gint return_val;
+
+- real_key = g_strdup_printf("/apps/%s/%s/%s",PACKAGE,group,key);
+- return_val = gconf_client_get_int(client,real_key,NULL);
+- g_free(real_key);
++ child = g_settings_get_child(settings,group);
++ if (g_strv_contains(enum_keys,key))
++ return_val = g_settings_get_enum(child,key);
++ else
++ return_val = g_settings_get_int(child,key);
++ g_object_unref(child);
+ return return_val;
+ }
+
+ gdouble amide_gconf_get_float(const gchar * group, const gchar * key) {
+- gchar * real_key;
++ GSettings * child;
+ gdouble return_val;
+
+- real_key = g_strdup_printf("/apps/%s/%s/%s",PACKAGE,group,key);
+- return_val = gconf_client_get_float(client,real_key,NULL);
+- g_free(real_key);
++ child = g_settings_get_child(settings,group);
++ return_val = g_settings_get_double(child,key);
++ g_object_unref(child);
+ return return_val;
+ }
+
+ gboolean amide_gconf_get_bool(const gchar * group, const gchar * key) {
+- gchar * real_key;
++ GSettings * child;
+ gboolean return_val;
+
+- real_key = g_strdup_printf("/apps/%s/%s/%s",PACKAGE,group,key);
+- return_val = gconf_client_get_bool(client,real_key,NULL);
+- g_free(real_key);
++ child = g_settings_get_child(settings,group);
++ return_val = g_settings_get_boolean(child,key);
++ g_object_unref(child);
+ return return_val;
+ }
+
+ gchar * amide_gconf_get_string(const gchar * group, const gchar * key) {
+- gchar * real_key;
++ GSettings * child;
+ gchar * return_val;
+
+- real_key = g_strdup_printf("/apps/%s/%s/%s",PACKAGE,group,key);
+- return_val = gconf_client_get_string(client,real_key,NULL);
+- g_free(real_key);
++ child = g_settings_get_child(settings,group);
++ return_val = g_settings_get_string(child,key);
++ g_object_unref(child);
+ return return_val;
+ }
+
+ gboolean amide_gconf_set_int(const gchar * group, const gchar * key, gint val) {
+- gchar * real_key;
++ GSettings * child;
+ gboolean return_val;
+
+- real_key = g_strdup_printf("/apps/%s/%s/%s",PACKAGE,group,key);
+- return_val = gconf_client_set_int(client,real_key,val,NULL);
+- g_free(real_key);
++ child = g_settings_get_child(settings,group);
++ if (g_strv_contains(enum_keys,key))
++ return_val = g_settings_set_enum(child,key,val);
++ else
++ return_val = g_settings_set_int(child,key,val);
++ g_object_unref(child);
+ return return_val;
+ }
+
+ gboolean amide_gconf_set_float(const gchar * group, const gchar * key, gdouble val) {
+- gchar * real_key;
++ GSettings * child;
+ gboolean return_val;
+
+- real_key = g_strdup_printf("/apps/%s/%s/%s",PACKAGE,group,key);
+- return_val = gconf_client_set_float(client,real_key,val,NULL);
+- g_free(real_key);
++ child = g_settings_get_child(settings,group);
++ return_val = g_settings_set_double(child,key,val);
++ g_object_unref(child);
+ return return_val;
+ }
+
+ gboolean amide_gconf_set_bool(const gchar * group, const gchar * key, gboolean val) {
+- gchar * real_key;
++ GSettings * child;
+ gboolean return_val;
+
+- real_key = g_strdup_printf("/apps/%s/%s/%s",PACKAGE,group,key);
+- return_val = gconf_client_set_bool(client,real_key,val,NULL);
+- g_free(real_key);
++ child = g_settings_get_child(settings,group);
++ return_val = g_settings_set_boolean(child,key,val);
++ g_object_unref(child);
+ return return_val;
+ }
+
+ gboolean amide_gconf_set_string(const gchar * group, const gchar * key, const gchar * val) {
+- gchar * real_key;
++ GSettings * child;
+ gboolean return_val;
+
+- real_key = g_strdup_printf("/apps/%s/%s/%s",PACKAGE,group, key);
+- return_val = gconf_client_set_string(client,real_key,val,NULL);
+- g_free(real_key);
++ child = g_settings_get_child(settings,group);
++ return_val = g_settings_set_string(child,key,val);
++ g_object_unref(child);
+ return return_val;
+ }
+
+-/* it's pretty retarded that gconf doesn't have a function that can do this more easily */
+-static gboolean amide_gconf_has_value(const gchar * group, const gchar *key) {
+- GConfValue * temp_val;
+- gchar * real_key;
+-
+- real_key = g_strdup_printf("/apps/%s/%s/%s",PACKAGE,group,key);
+- temp_val = gconf_client_get(client, real_key, NULL);
+- g_free(real_key);
+-
+- if (temp_val == NULL) return FALSE;
+- gconf_value_free(temp_val);
+- return TRUE;
+-}
+-
+-
+ /* some helper functions */
+ gint amide_gconf_get_int_with_default(const gchar * group, const gchar * key, const gint default_int) {
+-
+- if (amide_gconf_has_value(group, key))
+- return amide_gconf_get_int(group, key);
+- else
+- return default_int;
++ return amide_gconf_get_int(group, key);
+ }
+
+ gdouble amide_gconf_get_float_with_default(const gchar * group, const gchar * key, const gdouble default_float) {
+- if (amide_gconf_has_value(group, key))
+- return amide_gconf_get_float(group, key);
+- else
+- return default_float;
++ return amide_gconf_get_float(group, key);
+ }
+
+ gboolean amide_gconf_get_bool_with_default(const gchar * group, const gchar * key, const gboolean default_bool) {
+- if (amide_gconf_has_value(group, key))
+- return amide_gconf_get_bool(group, key);
+- else
+- return default_bool;
++ return amide_gconf_get_bool(group, key);
+ }
+
+ /* returns an allocated string that'll need to be free'd */
+ gchar * amide_gconf_get_string_with_default(const gchar * group, const gchar * key, const gchar * default_str) {
+- if (amide_gconf_has_value(group, key))
+- return amide_gconf_get_string(group, key);
+- else
+- return g_strdup(default_str);
++ return amide_gconf_get_string(group, key);
+ }
+
+ #endif
+--- amide.orig/amide-current/src/amitk_preferences.c
++++ amide/amide-current/src/amitk_preferences.c
+@@ -33,11 +33,11 @@
+ #include "amitk_type_builtins.h"
+ #include "amitk_data_set.h"
+
+-#define GCONF_AMIDE_ROI "ROI"
+-#define GCONF_AMIDE_CANVAS "CANVAS"
+-#define GCONF_AMIDE_MISC "MISC"
+-#define GCONF_AMIDE_DATASETS "DATASETS"
+-#define GCONF_AMIDE_WINDOWS "WINDOWS"
++#define GCONF_AMIDE_ROI "roi"
++#define GCONF_AMIDE_CANVAS "canvas"
++#define GCONF_AMIDE_MISC "misc"
++#define GCONF_AMIDE_DATASETS "datasets"
++#define GCONF_AMIDE_WINDOWS "windows"
+
+ enum {
+ DATA_SET_PREFERENCES_CHANGED,
+@@ -48,6 +48,7 @@
+
+ static void preferences_class_init (AmitkPreferencesClass *klass);
+ static void preferences_init (AmitkPreferences *object);
++static void preferences_dispose (GObject *object);
+ static void preferences_finalize (GObject *object);
+ static GObjectClass * parent_class;
+ static guint preferences_signals[LAST_SIGNAL];
+@@ -93,6 +94,7 @@
+
+ parent_class = g_type_class_peek_parent(class);
+
++ gobject_class->dispose = preferences_dispose;
+ gobject_class->finalize = preferences_finalize;
+
+ preferences_signals[DATA_SET_PREFERENCES_CHANGED] =
+@@ -128,11 +130,11 @@
+
+ /* load in saved preferences */
+ preferences->canvas_roi_width =
+- amide_gconf_get_int_with_default(GCONF_AMIDE_ROI,"Width", AMITK_PREFERENCES_DEFAULT_CANVAS_ROI_WIDTH);
++ amide_gconf_get_int_with_default(GCONF_AMIDE_ROI,"width", AMITK_PREFERENCES_DEFAULT_CANVAS_ROI_WIDTH);
+
+ #ifdef AMIDE_LIBGNOMECANVAS_AA
+ preferences->canvas_roi_transparency =
+- amide_gconf_get_float_with_default(GCONF_AMIDE_ROI,"Transparency", AMITK_PREFERENCES_DEFAULT_CANVAS_ROI_TRANSPARENCY);
++ amide_gconf_get_float_with_default(GCONF_AMIDE_ROI,"transparency", AMITK_PREFERENCES_DEFAULT_CANVAS_ROI_TRANSPARENCY);
+
+ #else
+ preferences->canvas_line_style =
+@@ -143,31 +145,31 @@
+ #endif
+
+ preferences->canvas_layout =
+- amide_gconf_get_int_with_default(GCONF_AMIDE_CANVAS,"Layout", AMITK_PREFERENCES_DEFAULT_CANVAS_LAYOUT);
++ amide_gconf_get_int_with_default(GCONF_AMIDE_CANVAS,"layout", AMITK_PREFERENCES_DEFAULT_CANVAS_LAYOUT);
+
+ preferences->canvas_maintain_size =
+- amide_gconf_get_bool_with_default(GCONF_AMIDE_CANVAS,"MaintainSize", AMITK_PREFERENCES_DEFAULT_CANVAS_MAINTAIN_SIZE);
++ amide_gconf_get_bool_with_default(GCONF_AMIDE_CANVAS,"maintain-size", AMITK_PREFERENCES_DEFAULT_CANVAS_MAINTAIN_SIZE);
+
+ preferences->canvas_target_empty_area =
+- amide_gconf_get_int_with_default(GCONF_AMIDE_CANVAS,"TargetEmptyArea", AMITK_PREFERENCES_DEFAULT_CANVAS_TARGET_EMPTY_AREA);
++ amide_gconf_get_int_with_default(GCONF_AMIDE_CANVAS,"target-empty-area", AMITK_PREFERENCES_DEFAULT_CANVAS_TARGET_EMPTY_AREA);
+
+ preferences->panel_layout =
+- amide_gconf_get_int_with_default(GCONF_AMIDE_CANVAS,"PanelLayout", AMITK_PREFERENCES_DEFAULT_PANEL_LAYOUT);
++ amide_gconf_get_int_with_default(GCONF_AMIDE_CANVAS,"panel-layout", AMITK_PREFERENCES_DEFAULT_PANEL_LAYOUT);
+
+ preferences->warnings_to_console =
+- amide_gconf_get_bool_with_default(GCONF_AMIDE_MISC,"WarningsToConsole", AMITK_PREFERENCES_DEFAULT_WARNINGS_TO_CONSOLE);
++ amide_gconf_get_bool_with_default(GCONF_AMIDE_MISC,"warnings-to-console", AMITK_PREFERENCES_DEFAULT_WARNINGS_TO_CONSOLE);
+
+ preferences->prompt_for_save_on_exit =
+- amide_gconf_get_bool_with_default(GCONF_AMIDE_MISC,"PromptForSaveOnExit", AMITK_PREFERENCES_DEFAULT_PROMPT_FOR_SAVE_ON_EXIT);
++ amide_gconf_get_bool_with_default(GCONF_AMIDE_MISC,"prompt-for-save-on-exit", AMITK_PREFERENCES_DEFAULT_PROMPT_FOR_SAVE_ON_EXIT);
+
+ preferences->which_default_directory =
+- amide_gconf_get_int_with_default(GCONF_AMIDE_MISC,"WhichDefaultDirectory", AMITK_PREFERENCES_DEFAULT_WHICH_DEFAULT_DIRECTORY);
++ amide_gconf_get_int_with_default(GCONF_AMIDE_MISC,"which-default-directory", AMITK_PREFERENCES_DEFAULT_WHICH_DEFAULT_DIRECTORY);
+
+ preferences->default_directory =
+- amide_gconf_get_string_with_default(GCONF_AMIDE_MISC,"DefaultDirectory", AMITK_PREFERENCES_DEFAULT_DEFAULT_DIRECTORY);
++ amide_gconf_get_string_with_default(GCONF_AMIDE_MISC,"default-directory", AMITK_PREFERENCES_DEFAULT_DEFAULT_DIRECTORY);
+
+ for (i_modality=0; i_modality<AMITK_MODALITY_NUM; i_modality++) {
+- temp_str = g_strdup_printf("DefaultColorTable%s", amitk_modality_get_name(i_modality));
++ temp_str = g_strdup_printf("default-color-table-%s", amitk_modality_get_name(i_modality));
+ preferences->color_table[i_modality] =
+ amide_gconf_get_int_with_default(GCONF_AMIDE_DATASETS,temp_str, amitk_modality_default_color_table[i_modality]);
+ g_free(temp_str);
+@@ -178,16 +180,26 @@
+ temp_str = g_strdup_printf("%s-%s", amitk_window_get_name(i_window), amitk_limit_get_name(i_limit));
+ preferences->window[i_window][i_limit] =
+ amide_gconf_get_float_with_default(GCONF_AMIDE_WINDOWS,temp_str, amitk_window_default[i_window][i_limit]);
++ g_free(temp_str);
+ }
+
+ preferences->threshold_style =
+- amide_gconf_get_int_with_default(GCONF_AMIDE_DATASETS,"ThresholdStyle", AMITK_PREFERENCES_DEFAULT_THRESHOLD_STYLE);
++ amide_gconf_get_int_with_default(GCONF_AMIDE_DATASETS,"threshold-style", AMITK_PREFERENCES_DEFAULT_THRESHOLD_STYLE);
+
+ preferences->dialog = NULL;
+
+ return;
+ }
+
++static void preferences_dispose (GObject *object) {
++
++ AmitkPreferences * preferences = AMITK_PREFERENCES(object);
++
++ if (preferences->default_directory)
++ g_free(preferences->default_directory);
++
++ G_OBJECT_CLASS (parent_class)->dispose (object);
++}
+
+ static void preferences_finalize (GObject *object) {
+
+@@ -217,7 +229,7 @@
+
+ if (AMITK_PREFERENCES_CANVAS_ROI_WIDTH(preferences) != roi_width) {
+ preferences->canvas_roi_width = roi_width;
+- amide_gconf_set_int(GCONF_AMIDE_ROI,"Width", roi_width);
++ amide_gconf_set_int(GCONF_AMIDE_ROI,"width", roi_width);
+ g_signal_emit(G_OBJECT(preferences), preferences_signals[STUDY_PREFERENCES_CHANGED], 0);
+ }
+
+@@ -235,7 +247,7 @@
+
+ if (AMITK_PREFERENCES_CANVAS_ROI_TRANSPARENCY(preferences) != roi_transparency) {
+ preferences->canvas_roi_transparency = roi_transparency;
+- amide_gconf_set_float(GCONF_AMIDE_ROI,"Transparency", roi_transparency);
++ amide_gconf_set_float(GCONF_AMIDE_ROI,"transparency", roi_transparency);
+ g_signal_emit(G_OBJECT(preferences), preferences_signals[STUDY_PREFERENCES_CHANGED], 0);
+ }
+
+@@ -278,7 +290,7 @@
+
+ if (AMITK_PREFERENCES_CANVAS_LAYOUT(preferences) != layout) {
+ preferences->canvas_layout = layout;
+- amide_gconf_set_int(GCONF_AMIDE_CANVAS,"Layout", layout);
++ amide_gconf_set_int(GCONF_AMIDE_CANVAS,"layout", layout);
+ g_signal_emit(G_OBJECT(preferences), preferences_signals[STUDY_PREFERENCES_CHANGED], 0);
+ }
+
+@@ -292,7 +304,7 @@
+
+ if (AMITK_PREFERENCES_CANVAS_MAINTAIN_SIZE(preferences) != maintain_size) {
+ preferences->canvas_maintain_size = maintain_size;
+- amide_gconf_set_bool(GCONF_AMIDE_CANVAS,"MaintainSize",maintain_size);
++ amide_gconf_set_bool(GCONF_AMIDE_CANVAS,"maintain-size",maintain_size);
+ g_signal_emit(G_OBJECT(preferences), preferences_signals[STUDY_PREFERENCES_CHANGED], 0);
+ }
+
+@@ -313,7 +325,7 @@
+
+ if (AMITK_PREFERENCES_CANVAS_TARGET_EMPTY_AREA(preferences) != target_empty_area) {
+ preferences->canvas_target_empty_area = target_empty_area;
+- amide_gconf_set_int(GCONF_AMIDE_CANVAS,"TargetEmptyArea", target_empty_area);
++ amide_gconf_set_int(GCONF_AMIDE_CANVAS,"target-empty-area", target_empty_area);
+ g_signal_emit(G_OBJECT(preferences), preferences_signals[STUDY_PREFERENCES_CHANGED], 0);
+ }
+
+@@ -328,7 +340,7 @@
+
+ if (AMITK_PREFERENCES_PANEL_LAYOUT(preferences) != panel_layout) {
+ preferences->panel_layout = panel_layout;
+- amide_gconf_set_int(GCONF_AMIDE_CANVAS,"PanelLayout", panel_layout);
++ amide_gconf_set_int(GCONF_AMIDE_CANVAS,"panel-layout", panel_layout);
+ g_signal_emit(G_OBJECT(preferences), preferences_signals[STUDY_PREFERENCES_CHANGED], 0);
+ }
+
+@@ -343,7 +355,7 @@
+
+ if (AMITK_PREFERENCES_WARNINGS_TO_CONSOLE(preferences) != new_value) {
+ preferences->warnings_to_console = new_value;
+- amide_gconf_set_bool(GCONF_AMIDE_MISC,"WarningsToConsole",new_value);
++ amide_gconf_set_bool(GCONF_AMIDE_MISC,"warnings-to-console",new_value);
+ g_signal_emit(G_OBJECT(preferences), preferences_signals[MISC_PREFERENCES_CHANGED], 0);
+ }
+ return;
+@@ -355,7 +367,7 @@
+
+ if (AMITK_PREFERENCES_PROMPT_FOR_SAVE_ON_EXIT(preferences) != new_value) {
+ preferences->prompt_for_save_on_exit = new_value;
+- amide_gconf_set_bool(GCONF_AMIDE_MISC,"PromptForSaveOnExit",new_value);
++ amide_gconf_set_bool(GCONF_AMIDE_MISC,"prompt-for-save-on-exit",new_value);
+ g_signal_emit(G_OBJECT(preferences), preferences_signals[MISC_PREFERENCES_CHANGED], 0);
+ }
+ return;
+@@ -367,7 +379,7 @@
+
+ if (AMITK_PREFERENCES_WHICH_DEFAULT_DIRECTORY(preferences) != new_value) {
+ preferences->which_default_directory = new_value;
+- amide_gconf_set_int(GCONF_AMIDE_MISC,"WhichDefaultDirectory",new_value);
++ amide_gconf_set_int(GCONF_AMIDE_MISC,"which-default-directory",new_value);
+ g_signal_emit(G_OBJECT(preferences), preferences_signals[MISC_PREFERENCES_CHANGED], 0);
+ }
+ return;
+@@ -380,10 +392,7 @@
+ gboolean different=FALSE;
+ g_return_if_fail(AMITK_IS_PREFERENCES(preferences));
+
+- if (((AMITK_PREFERENCES_DEFAULT_DIRECTORY(preferences) == NULL) && (new_directory != NULL)) ||
+- ((AMITK_PREFERENCES_DEFAULT_DIRECTORY(preferences) != NULL) && (new_directory == NULL)))
+- different=TRUE;
+- else if ((AMITK_PREFERENCES_DEFAULT_DIRECTORY(preferences) != NULL) && (new_directory != NULL))
++ if ((AMITK_PREFERENCES_DEFAULT_DIRECTORY(preferences) != NULL) && (new_directory != NULL))
+ if (strcmp(AMITK_PREFERENCES_DEFAULT_DIRECTORY(preferences), new_directory) != 0)
+ different=TRUE;
+
+@@ -392,7 +401,7 @@
+ g_free(preferences->default_directory);
+ if (new_directory != NULL)
+ preferences->default_directory = g_strdup(new_directory);
+- amide_gconf_set_string(GCONF_AMIDE_MISC,"DefaultDirectory", new_directory);
++ amide_gconf_set_string(GCONF_AMIDE_MISC,"default-directory", new_directory);
+ g_signal_emit(G_OBJECT(preferences), preferences_signals[MISC_PREFERENCES_CHANGED], 0);
+ }
+ return;
+@@ -410,7 +419,7 @@
+ if (AMITK_PREFERENCES_COLOR_TABLE(preferences,modality) != color_table) {
+ preferences->color_table[modality] = color_table;
+
+- temp_string = g_strdup_printf("DefaultColorTable%s",
++ temp_string = g_strdup_printf("default-color-table-%s",
+ amitk_modality_get_name(modality));
+ amide_gconf_set_int(GCONF_AMIDE_DATASETS,temp_string, color_table);
+ g_free(temp_string);
+@@ -451,7 +460,7 @@
+
+ if (AMITK_PREFERENCES_THRESHOLD_STYLE(preferences) != threshold_style) {
+ preferences->threshold_style = threshold_style;
+- amide_gconf_set_int(GCONF_AMIDE_DATASETS,"ThresholdStyle", threshold_style);
++ amide_gconf_set_int(GCONF_AMIDE_DATASETS,"threshold-style", threshold_style);
+ g_signal_emit(G_OBJECT(preferences), preferences_signals[DATA_SET_PREFERENCES_CHANGED], 0);
+ }
+ }
+--- amide.orig/amide-current/src/raw_data_import.c
++++ amide/amide-current/src/raw_data_import.c
+@@ -33,7 +33,7 @@
+ #include "raw_data_import.h"
+ #include "amitk_progress_dialog.h"
+
+-#define GCONF_AMIDE_RAWDATAIMPORT "RAWDATAIMPORT"
++#define GCONF_AMIDE_RAWDATAIMPORT "rawdataimport"
+
+ /* raw_data information structure */
+ typedef struct raw_data_info_t {
+@@ -109,7 +109,7 @@
+ /* and save the value */
+ raw_data_info->scale_factor = temp_real;
+
+- amide_gconf_set_float(GCONF_AMIDE_RAWDATAIMPORT,"LastScaleFactor", raw_data_info->scale_factor);
++ amide_gconf_set_float(GCONF_AMIDE_RAWDATAIMPORT,"last-scale-factor", raw_data_info->scale_factor);
+
+ return;
+ }
+@@ -185,15 +185,15 @@
+ /* recalculate the total number of bytes to be read and have it displayed */
+ update_num_bytes(raw_data_info);
+
+- amide_gconf_set_int(GCONF_AMIDE_RAWDATAIMPORT,"LastDataDimG", raw_data_info->data_dim.g);
+- amide_gconf_set_int(GCONF_AMIDE_RAWDATAIMPORT,"LastDataDimT", raw_data_info->data_dim.t);
+- amide_gconf_set_int(GCONF_AMIDE_RAWDATAIMPORT,"LastDataDimZ", raw_data_info->data_dim.z);
+- amide_gconf_set_int(GCONF_AMIDE_RAWDATAIMPORT,"LastDataDimY", raw_data_info->data_dim.y);
+- amide_gconf_set_int(GCONF_AMIDE_RAWDATAIMPORT,"LastDataDimX", raw_data_info->data_dim.x);
+- amide_gconf_set_float(GCONF_AMIDE_RAWDATAIMPORT,"LastVoxelSizeZ", raw_data_info->voxel_size.z);
+- amide_gconf_set_float(GCONF_AMIDE_RAWDATAIMPORT,"LastVoxelSizeY", raw_data_info->voxel_size.y);
+- amide_gconf_set_float(GCONF_AMIDE_RAWDATAIMPORT,"LastVoxelSizeX", raw_data_info->voxel_size.x);
+- amide_gconf_set_int(GCONF_AMIDE_RAWDATAIMPORT,"LastOffset", raw_data_info->offset);
++ amide_gconf_set_int(GCONF_AMIDE_RAWDATAIMPORT,"last-data-dim-g", raw_data_info->data_dim.g);
++ amide_gconf_set_int(GCONF_AMIDE_RAWDATAIMPORT,"last-data-dim-t", raw_data_info->data_dim.t);
++ amide_gconf_set_int(GCONF_AMIDE_RAWDATAIMPORT,"last-data-dim-z", raw_data_info->data_dim.z);
++ amide_gconf_set_int(GCONF_AMIDE_RAWDATAIMPORT,"last-data-dim-y", raw_data_info->data_dim.y);
++ amide_gconf_set_int(GCONF_AMIDE_RAWDATAIMPORT,"last-data-dim-x", raw_data_info->data_dim.x);
++ amide_gconf_set_float(GCONF_AMIDE_RAWDATAIMPORT,"last-voxel-size-z", raw_data_info->voxel_size.z);
++ amide_gconf_set_float(GCONF_AMIDE_RAWDATAIMPORT,"last-voxel-size-y", raw_data_info->voxel_size.y);
++ amide_gconf_set_float(GCONF_AMIDE_RAWDATAIMPORT,"last-voxel-size-x", raw_data_info->voxel_size.x);
++ amide_gconf_set_int(GCONF_AMIDE_RAWDATAIMPORT,"last-offset", raw_data_info->offset);
+
+ return;
+ }
+@@ -206,7 +206,7 @@
+
+ raw_data_info->modality = gtk_combo_box_get_active(GTK_COMBO_BOX(widget));
+
+- amide_gconf_set_int(GCONF_AMIDE_RAWDATAIMPORT,"LastModality", raw_data_info->modality);
++ amide_gconf_set_int(GCONF_AMIDE_RAWDATAIMPORT,"last-modality", raw_data_info->modality);
+
+ return;
+ }
+@@ -223,7 +223,7 @@
+ /* update the offset label so it makes sense */
+ update_offset_label(raw_data_info);
+
+- amide_gconf_set_int(GCONF_AMIDE_RAWDATAIMPORT,"LastRawFormat", raw_data_info->raw_format);
++ amide_gconf_set_int(GCONF_AMIDE_RAWDATAIMPORT,"last-raw-format", raw_data_info->raw_format);
+ return;
+ }
+
+@@ -295,31 +295,31 @@
+ gint temp_int;
+ gfloat temp_float;
+
+- *plast_modality = amide_gconf_get_int(GCONF_AMIDE_RAWDATAIMPORT,"LastModality");
+- *plast_raw_format = amide_gconf_get_int(GCONF_AMIDE_RAWDATAIMPORT,"LastRawFormat");
++ *plast_modality = amide_gconf_get_int(GCONF_AMIDE_RAWDATAIMPORT,"last-modality");
++ *plast_raw_format = amide_gconf_get_int(GCONF_AMIDE_RAWDATAIMPORT,"last-raw-format");
+
+- temp_int = amide_gconf_get_int(GCONF_AMIDE_RAWDATAIMPORT,"LastDataDimG");
++ temp_int = amide_gconf_get_int(GCONF_AMIDE_RAWDATAIMPORT,"last-data-dim-g");
+ (*plast_data_dim).g = (temp_int == 0) ? 1 : temp_int;
+- temp_int = amide_gconf_get_int(GCONF_AMIDE_RAWDATAIMPORT,"LastDataDimT");
++ temp_int = amide_gconf_get_int(GCONF_AMIDE_RAWDATAIMPORT,"last-data-dim-t");
+ (*plast_data_dim).t = (temp_int == 0) ? 1 : temp_int;
+- temp_int = amide_gconf_get_int(GCONF_AMIDE_RAWDATAIMPORT,"LastDataDimZ");
++ temp_int = amide_gconf_get_int(GCONF_AMIDE_RAWDATAIMPORT,"last-data-dim-z");
+ (*plast_data_dim).z = (temp_int == 0) ? 1 : temp_int;
+- temp_int = amide_gconf_get_int(GCONF_AMIDE_RAWDATAIMPORT,"LastDataDimY");
++ temp_int = amide_gconf_get_int(GCONF_AMIDE_RAWDATAIMPORT,"last-data-dim-y");
+ (*plast_data_dim).y = (temp_int == 0) ? 1 : temp_int;
+- temp_int = amide_gconf_get_int(GCONF_AMIDE_RAWDATAIMPORT,"LastDataDimX");
++ temp_int = amide_gconf_get_int(GCONF_AMIDE_RAWDATAIMPORT,"last-data-dim-x");
+ (*plast_data_dim).x = (temp_int == 0) ? 1 : temp_int;
+
+
+- temp_float = amide_gconf_get_float(GCONF_AMIDE_RAWDATAIMPORT,"LastVoxelSizeZ");
++ temp_float = amide_gconf_get_float(GCONF_AMIDE_RAWDATAIMPORT,"last-voxel-size-z");
+ (*plast_voxel_size).z = EQUAL_ZERO(temp_float) ? 1.0 : temp_float;
+- temp_float = amide_gconf_get_float(GCONF_AMIDE_RAWDATAIMPORT,"LastVoxelSizeY");
++ temp_float = amide_gconf_get_float(GCONF_AMIDE_RAWDATAIMPORT,"last-voxel-size-y");
+ (*plast_voxel_size).y = EQUAL_ZERO(temp_float) ? 1.0 : temp_float;
+- temp_float = amide_gconf_get_float(GCONF_AMIDE_RAWDATAIMPORT,"LastVoxelSizeX");
++ temp_float = amide_gconf_get_float(GCONF_AMIDE_RAWDATAIMPORT,"last-voxel-size-x");
+ (*plast_voxel_size).x = EQUAL_ZERO(temp_float) ? 1.0 : temp_float;
+
+- *plast_offset = amide_gconf_get_int(GCONF_AMIDE_RAWDATAIMPORT,"LastOffset");
++ *plast_offset = amide_gconf_get_int(GCONF_AMIDE_RAWDATAIMPORT,"last-offset");
+
+- temp_float = amide_gconf_get_float(GCONF_AMIDE_RAWDATAIMPORT,"LastScaleFactor");
++ temp_float = amide_gconf_get_float(GCONF_AMIDE_RAWDATAIMPORT,"last-scale-factor");
+ *plast_scale_factor = EQUAL_ZERO(temp_float) ? 1.0 : temp_float;
+
+ return;
+--- amide.orig/amide-current/src/tb_export_data_set.c
++++ amide/amide-current/src/tb_export_data_set.c
+@@ -37,7 +37,7 @@
+ #include "dcmtk_interface.h"
+ #endif
+
+-#define GCONF_AMIDE_EXPORT "EXPORT"
++#define GCONF_AMIDE_EXPORT "export"
+
+ typedef struct tb_export_t {
+ AmitkStudy * study;
+@@ -142,26 +142,26 @@
+ AmitkPoint * voxel_size) {
+
+ if (resliced != NULL)
+- *resliced = amide_gconf_get_bool(GCONF_AMIDE_EXPORT,"ResliceDataSet");
++ *resliced = amide_gconf_get_bool(GCONF_AMIDE_EXPORT,"reslice-data-set");
+ if (all_visible != NULL)
+- *all_visible = amide_gconf_get_bool(GCONF_AMIDE_EXPORT,"AllVisibleDataSets");
++ *all_visible = amide_gconf_get_bool(GCONF_AMIDE_EXPORT,"all-visible-data-sets");
+ if (inclusive_bounding_box != NULL)
+- *inclusive_bounding_box = amide_gconf_get_bool(GCONF_AMIDE_EXPORT,"InclusiveBoundingBox");
++ *inclusive_bounding_box = amide_gconf_get_bool(GCONF_AMIDE_EXPORT,"inclusive-bounding-box");
+ if (method != NULL)
+- *method = amide_gconf_get_int(GCONF_AMIDE_EXPORT,"Method");
++ *method = amide_gconf_get_int(GCONF_AMIDE_EXPORT,"method");
+ if (submethod != NULL)
+- *submethod = amide_gconf_get_int(GCONF_AMIDE_EXPORT,"Submethod");
++ *submethod = amide_gconf_get_int(GCONF_AMIDE_EXPORT,"submethod");
+
+ if (voxel_size != NULL) {
+- (*voxel_size).z = amide_gconf_get_float(GCONF_AMIDE_EXPORT,"VoxelSizeZ");
++ (*voxel_size).z = amide_gconf_get_float(GCONF_AMIDE_EXPORT,"voxel-size-z");
+ if (EQUAL_ZERO((*voxel_size).z))
+ (*voxel_size).z = 1.0;
+
+- (*voxel_size).y = amide_gconf_get_float(GCONF_AMIDE_EXPORT,"VoxelSizeY");
++ (*voxel_size).y = amide_gconf_get_float(GCONF_AMIDE_EXPORT,"voxel-size-y");
+ if (EQUAL_ZERO((*voxel_size).y))
+ (*voxel_size).y = 1.0;
+
+- (*voxel_size).x = amide_gconf_get_float(GCONF_AMIDE_EXPORT,"VoxelSizeX");
++ (*voxel_size).x = amide_gconf_get_float(GCONF_AMIDE_EXPORT,"voxel-size-x");
+ if (EQUAL_ZERO((*voxel_size).x))
+ (*voxel_size).x = 1.0;
+ }
+@@ -303,14 +303,14 @@
+
+
+ static void write_voxel_size(AmitkPoint voxel_size) {
+- amide_gconf_set_float(GCONF_AMIDE_EXPORT,"VoxelSizeZ", voxel_size.z);
+- amide_gconf_set_float(GCONF_AMIDE_EXPORT,"VoxelSizeY", voxel_size.y);
+- amide_gconf_set_float(GCONF_AMIDE_EXPORT,"VoxelSizeX", voxel_size.x);
++ amide_gconf_set_float(GCONF_AMIDE_EXPORT,"voxel-size-z", voxel_size.z);
++ amide_gconf_set_float(GCONF_AMIDE_EXPORT,"voxel-size-y", voxel_size.y);
++ amide_gconf_set_float(GCONF_AMIDE_EXPORT,"voxel-size-x", voxel_size.x);
+ return;
+ }
+
+ static void write_inclusive_bounding_box(gboolean inclusive) {
+- amide_gconf_set_bool(GCONF_AMIDE_EXPORT,"InclusiveBoundingBox", inclusive);
++ amide_gconf_set_bool(GCONF_AMIDE_EXPORT,"inclusive-bounding-box", inclusive);
+ return;
+ }
+
+@@ -410,8 +410,8 @@
+ resliced = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(widget), "resliced"));
+ all_visible = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(widget), "all_visible"));
+
+- amide_gconf_set_bool(GCONF_AMIDE_EXPORT,"ResliceDataSet", resliced);
+- amide_gconf_set_bool(GCONF_AMIDE_EXPORT,"AllVisibleDataSets", all_visible);
++ amide_gconf_set_bool(GCONF_AMIDE_EXPORT,"reslice-data-set", resliced);
++ amide_gconf_set_bool(GCONF_AMIDE_EXPORT,"all-visible-data-sets", all_visible);
+
+ /* recalculate voxel sizes */
+ recommend_voxel_size(tb_export);
+@@ -451,7 +451,7 @@
+ gint submethod=0;
+ gint counter;
+ gint combo_method;
+- AmitkImportMethod i_export_method;
++ AmitkExportMethod i_export_method;
+ #ifdef AMIDE_LIBMDC_SUPPORT
+ libmdc_export_t i_libmdc_export;
+ #endif
+@@ -482,8 +482,8 @@
+ }
+ }
+
+- amide_gconf_set_int(GCONF_AMIDE_EXPORT,"Method", method);
+- amide_gconf_set_int(GCONF_AMIDE_EXPORT,"Submethod", submethod);
++ amide_gconf_set_int(GCONF_AMIDE_EXPORT,"method", method);
++ amide_gconf_set_int(GCONF_AMIDE_EXPORT,"submethod", submethod);
+
+ return;
+ }
+--- amide.orig/amide-current/src/tb_roi_analysis.c
++++ amide/amide-current/src/tb_roi_analysis.c
+@@ -35,7 +35,7 @@
+ #include "ui_common.h"
+
+
+-#define GCONF_AMIDE_ANALYSIS "ANALYSIS"
++#define GCONF_AMIDE_ANALYSIS "analysis"
+
+ #define ROI_STATISTICS_WIDTH 950
+
+@@ -706,13 +706,13 @@
+ gdouble * threshold_percentage,
+ gdouble * threshold_value) {
+
+- *all_data_sets = amide_gconf_get_bool(GCONF_AMIDE_ANALYSIS,"CalculateAllDataSets");
+- *all_rois = amide_gconf_get_bool(GCONF_AMIDE_ANALYSIS,"CalculateAllRois");
+- *calculation_type = amide_gconf_get_int(GCONF_AMIDE_ANALYSIS,"CalculationType");
+- *accurate = amide_gconf_get_bool(GCONF_AMIDE_ANALYSIS,"Accurate");
+- *subfraction = amide_gconf_get_float(GCONF_AMIDE_ANALYSIS,"SubFraction");
+- *threshold_percentage = amide_gconf_get_float(GCONF_AMIDE_ANALYSIS,"ThresholdPercentage");
+- *threshold_value = amide_gconf_get_float(GCONF_AMIDE_ANALYSIS,"ThresholdValue");
++ *all_data_sets = amide_gconf_get_bool(GCONF_AMIDE_ANALYSIS,"calculate-all-data-sets");
++ *all_rois = amide_gconf_get_bool(GCONF_AMIDE_ANALYSIS,"calculate-all-rois");
++ *calculation_type = amide_gconf_get_int(GCONF_AMIDE_ANALYSIS,"calculation-type");
++ *accurate = amide_gconf_get_bool(GCONF_AMIDE_ANALYSIS,"accurate");
++ *subfraction = amide_gconf_get_float(GCONF_AMIDE_ANALYSIS,"sub-fraction");
++ *threshold_percentage = amide_gconf_get_float(GCONF_AMIDE_ANALYSIS,"threshold-percentage");
++ *threshold_value = amide_gconf_get_float(GCONF_AMIDE_ANALYSIS,"threshold-value");
+
+ return;
+ }
+@@ -877,8 +877,8 @@
+ all_data_sets = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(widget), "all_data_sets"));
+ all_rois = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(widget), "all_rois"));
+
+- amide_gconf_set_bool(GCONF_AMIDE_ANALYSIS,"CalculateAllDataSets",all_data_sets);
+- amide_gconf_set_bool(GCONF_AMIDE_ANALYSIS,"CalculateAllRois",all_rois);
++ amide_gconf_set_bool(GCONF_AMIDE_ANALYSIS,"calculate-all-data-sets",all_data_sets);
++ amide_gconf_set_bool(GCONF_AMIDE_ANALYSIS,"calculate-all-rois",all_rois);
+
+ return;
+ }
+@@ -896,11 +896,11 @@
+ gtk_widget_set_sensitive(spin_buttons[1], calculation_type == VOXELS_NEAR_MAX);
+ gtk_widget_set_sensitive(spin_buttons[2], calculation_type == VOXELS_GREATER_THAN_VALUE);
+
+- amide_gconf_set_int(GCONF_AMIDE_ANALYSIS,"CalculationType", calculation_type);
++ amide_gconf_set_int(GCONF_AMIDE_ANALYSIS,"calculation-type", calculation_type);
+ }
+
+ static void accurate_cb(GtkWidget * widget, gpointer data) {
+- amide_gconf_set_bool(GCONF_AMIDE_ANALYSIS,"Accurate",
++ amide_gconf_set_bool(GCONF_AMIDE_ANALYSIS,"accurate",
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)));
+ return;
+ }
+@@ -911,7 +911,7 @@
+
+ subfraction = gtk_spin_button_get_value(GTK_SPIN_BUTTON(widget))/100.0;
+
+- amide_gconf_set_float(GCONF_AMIDE_ANALYSIS,"SubFraction", subfraction);
++ amide_gconf_set_float(GCONF_AMIDE_ANALYSIS,"sub-fraction", subfraction);
+
+ return;
+ }
+@@ -922,7 +922,7 @@
+
+ threshold_percentage = gtk_spin_button_get_value(GTK_SPIN_BUTTON(widget));
+
+- amide_gconf_set_float(GCONF_AMIDE_ANALYSIS,"ThresholdPercentage", threshold_percentage);
++ amide_gconf_set_float(GCONF_AMIDE_ANALYSIS,"threshold-percentage", threshold_percentage);
+
+ return;
+ }
+@@ -934,7 +934,7 @@
+
+ threshold_value = gtk_spin_button_get_value(GTK_SPIN_BUTTON(widget));
+
+- amide_gconf_set_float(GCONF_AMIDE_ANALYSIS,"ThresholdValue", threshold_value);
++ amide_gconf_set_float(GCONF_AMIDE_ANALYSIS,"threshold-value", threshold_value);
+
+ return;
+ }
+--- amide.orig/amide-current/src/ui_render.c
++++ amide/amide-current/src/ui_render.c
+@@ -647,11 +647,11 @@
+ gboolean * initially_no_gradient_opacity) {
+
+ *strip_highs =
+- amide_gconf_get_bool(GCONF_AMIDE_RENDERING,"StripHighs");
++ amide_gconf_get_bool(GCONF_AMIDE_RENDERING,"strip-highs");
+ *optimize_renderings =
+- amide_gconf_get_bool(GCONF_AMIDE_RENDERING,"OptimizeRendering");
++ amide_gconf_get_bool(GCONF_AMIDE_RENDERING,"optimize-rendering");
+ *initially_no_gradient_opacity =
+- amide_gconf_get_bool(GCONF_AMIDE_RENDERING,"InitiallyNoGradientOpacity");
++ amide_gconf_get_bool(GCONF_AMIDE_RENDERING,"initially-no-gradient-opacity");
+
+ return;
+ }
+@@ -713,15 +713,15 @@
+
+ /* load in saved render preferences */
+ ui_render->update_without_release =
+- amide_gconf_get_bool(GCONF_AMIDE_RENDERING,"UpdateWithoutRelease");
++ amide_gconf_get_bool(GCONF_AMIDE_RENDERING,"update-without-release");
+
+ ui_render->stereo_eye_width =
+- amide_gconf_get_int(GCONF_AMIDE_RENDERING,"EyeWidth");
++ amide_gconf_get_int(GCONF_AMIDE_RENDERING,"eye-width");
+ if (ui_render->stereo_eye_width == 0) /* if no config file, put in sane value */
+ ui_render->stereo_eye_width = 50*gdk_screen_width()/gdk_screen_width_mm(); /* in pixels */
+
+ ui_render->stereo_eye_angle =
+- amide_gconf_get_float(GCONF_AMIDE_RENDERING,"EyeAngle");
++ amide_gconf_get_float(GCONF_AMIDE_RENDERING,"eye-angle");
+ if ((ui_render->stereo_eye_angle <= 0.1) || (ui_render->stereo_eye_angle > 45.0))
+ ui_render->stereo_eye_angle = 5.0; /* degrees */
+
+@@ -1005,19 +1005,19 @@
+
+
+ static void init_strip_highs_cb(GtkWidget * widget, gpointer data) {
+- amide_gconf_set_bool(GCONF_AMIDE_RENDERING,"StripHighs",
++ amide_gconf_set_bool(GCONF_AMIDE_RENDERING,"strip-highs",
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)));
+ return;
+ }
+
+ static void init_optimize_rendering_cb(GtkWidget * widget, gpointer data) {
+- amide_gconf_set_bool(GCONF_AMIDE_RENDERING,"OptimizeRendering",
++ amide_gconf_set_bool(GCONF_AMIDE_RENDERING,"optimize-rendering",
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)));
+ return;
+ }
+
+ static void init_no_gradient_opacity_cb(GtkWidget * widget, gpointer data) {
+- amide_gconf_set_bool(GCONF_AMIDE_RENDERING,"InitiallyNoGradientOpacity",
++ amide_gconf_set_bool(GCONF_AMIDE_RENDERING,"initially-no-gradient-opacity",
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)));
+ return;
+ }
+--- amide.orig/amide-current/src/ui_render.h
++++ amide/amide-current/src/ui_render.h
+@@ -33,7 +33,7 @@
+ #include "render.h"
+ #include "amitk_study.h"
+
+-#define GCONF_AMIDE_RENDERING "RENDERING"
++#define GCONF_AMIDE_RENDERING "rendering"
+
+ /* defines */
+ #define UI_RENDER_BLANK_WIDTH 200
+--- amide.orig/amide-current/src/ui_render_dialog.c
++++ amide/amide-current/src/ui_render_dialog.c
+@@ -117,7 +117,7 @@
+ ui_render->update_without_release = update_without_release;
+
+ /* save user preferences */
+- amide_gconf_set_bool(GCONF_AMIDE_RENDERING,"UpdateWithoutRelease",
++ amide_gconf_set_bool(GCONF_AMIDE_RENDERING,"update-without-release",
+ ui_render->update_without_release);
+ }
+
+@@ -141,7 +141,7 @@
+ ui_render->stereo_eye_angle = temp_val;
+
+ /* save user preferences */
+- amide_gconf_set_float(GCONF_AMIDE_RENDERING,"EyeAngle",
++ amide_gconf_set_float(GCONF_AMIDE_RENDERING,"eye-angle",
+ ui_render->stereo_eye_angle);
+
+ /* do updating */
+@@ -170,7 +170,7 @@
+ ui_render->stereo_eye_width = temp_val;
+
+ /* save user preferences */
+- amide_gconf_set_int(GCONF_AMIDE_RENDERING,"EyeWidth",
++ amide_gconf_set_int(GCONF_AMIDE_RENDERING,"eye-width",
+ ui_render->stereo_eye_width);
+
+ /* do updating */
+--- amide.orig/amide-current/src/ui_series.c
++++ amide/amide-current/src/ui_series.c
+@@ -57,7 +57,7 @@
+
+ #define UPDATE_NONE 0
+ #define UPDATE_SERIES 0x1
+-#define GCONF_AMIDE_SERIES "SERIES"
++#define GCONF_AMIDE_SERIES "series"
+
+
+
+@@ -943,8 +943,8 @@
+
+ static void read_series_preferences(series_type_t * series_type, AmitkView * view) {
+
+- *series_type = amide_gconf_get_int(GCONF_AMIDE_SERIES,"Type");
+- *view = amide_gconf_get_int(GCONF_AMIDE_SERIES,"View");
++ *series_type = amide_gconf_get_int(GCONF_AMIDE_SERIES,"type");
++ *view = amide_gconf_get_int(GCONF_AMIDE_SERIES,"view");
+
+ return;
+ }
+@@ -1311,13 +1311,13 @@
+
+
+ static void init_series_type_cb(GtkWidget * widget, gpointer data) {
+- amide_gconf_set_int(GCONF_AMIDE_SERIES,"Type",
++ amide_gconf_set_int(GCONF_AMIDE_SERIES,"type",
+ GPOINTER_TO_INT(g_object_get_data(G_OBJECT(widget), "series_type")));
+ return;
+ }
+
+ static void init_view_cb(GtkWidget * widget, gpointer data) {
+- amide_gconf_set_int(GCONF_AMIDE_SERIES,"View",
++ amide_gconf_set_int(GCONF_AMIDE_SERIES,"view",
+ GPOINTER_TO_INT(g_object_get_data(G_OBJECT(widget), "view")));
+ return;
+ }
+--- amide.orig/amide-current/src/amide.c
++++ amide/amide-current/src/amide.c
+@@ -125,11 +125,12 @@
+ return; /* nothing to complain about */
+ #endif
+
+- already_warned = amide_gconf_get_string_with_default("MISSING_FUNCTIONALITY", "AlreadyWarned", "0.0.0");
++ already_warned = amide_gconf_get_string_with_default("missing-functionality", "already-warned", "0.0.0");
+
+- if (g_strcmp0(already_warned, VERSION) == 0)
++ if (g_strcmp0(already_warned, VERSION) == 0) {
++ g_free(already_warned);
+ return;
+- else {
++ } else {
+ comments = g_strconcat(_("This version of AMIDE has been compiled without the following functionality:"),
+ "\n\n",
+ #ifndef AMIDE_LIBGSL_SUPPORT
+@@ -152,7 +153,8 @@
+ g_warning("%s", comments);
+
+ g_free(comments);
+- amide_gconf_set_string("MISSING_FUNCTIONALITY", "AlreadyWarned", VERSION);
++ g_free(already_warned);
++ amide_gconf_set_string("missing-functionality", "already-warned", VERSION);
+ return;
+ }
+ }
=====================================
debian/patches/gtk3+goocanvas.patch
=====================================
The diff for this file was not included because it is too large.
=====================================
debian/patches/no-gnome-vfs.patch
=====================================
@@ -0,0 +1,348 @@
+Description: Remove GnomeVFS support (also fix a memory leak).
+Author: Yavor Doganov <yavor at gnu.org>
+Forwarded: no
+Last-Update: 2024-02-22
+---
+
+--- amide.orig/amide-current/configure.ac
++++ amide/amide-current/configure.ac
+@@ -376,25 +376,6 @@
+
+ GLIB_GSETTINGS
+
+-## add in gnome-vfs if not on win32 or gtk-osx
+-## gnome-vfs is only used by amide_gnome.c and only on unix
+-if (test $native_win32 = no) && (test $enable_native_gtk_osx = no); then
+- AC_ARG_ENABLE(gnome-vfs,
+- [ --enable-gnome-vfs Compile with gnome-vfs support [default=yes]],
+- enable_gnome_vfs="$enableval",
+- enable_gnome_vfs=yes)
+- if test "x$enable_gnome_vfs" = "xyes"; then
+- PKG_CHECK_MODULES(AMIDE_GTK_EXTRA_GVFS,[
+- gnome-vfs-2.0 >= 2.16.0
+- ], [AC_DEFINE(AMIDE_USE_GNOME_VFS, 1, Use gnome-vfs for spawning help process)
+- AMIDE_GTK_LIBS="$AMIDE_GTK_LIBS $AMIDE_GTK_EXTRA_GVFS_LIBS"
+- AMIDE_GTK_CFLAGS="$AMIDE_GTK_CFLAGS $AMIDE_GTK_EXTRA_GVFS_CFLAGS"
+- ])
+- else
+- echo "Don't use gnome-vfs"
+- fi
+-fi
+-
+ AC_SUBST(AMIDE_GTK_LIBS)
+ AC_SUBST(AMIDE_GTK_CFLAGS)
+
+--- amide.orig/amide-current/src/amide_gnome.c
++++ amide/amide-current/src/amide_gnome.c
+@@ -36,303 +36,6 @@
+ #include "amitk_common.h"
+ #include "amide_gnome.h"
+
+-#if !defined(G_OS_WIN32) && !defined(AMIDE_NATIVE_GTK_OSX) && defined(AMIDE_USE_GNOME_VFS)
+-#include <libgnomevfs/gnome-vfs-utils.h>
+-#include <libgnomevfs/gnome-vfs-uri.h>
+-//#else
+-//#include <windows.h>
+-#endif
+-
+-typedef enum {
+- AMIDE_GNOME_URL_ERROR_PARSE,
+- AMIDE_GNOME_URL_ERROR_LAUNCH,
+- AMIDE_GNOME_URL_ERROR_URL,
+- AMIDE_GNOME_URL_ERROR_NO_DEFAULT,
+- AMIDE_GNOME_URL_ERROR_NOT_SUPPORTED,
+- AMIDE_GNOME_URL_ERROR_VFS,
+- AMIDE_GNOME_URL_ERROR_CANCELLED
+-} AmideGnomeURLError;
+-
+-#define AMIDE_GNOME_URL_ERROR (amide_gnome_url_error_quark ())
+-
+-GQuark amide_gnome_url_error_quark (void) {
+- static GQuark error_quark = 0;
+-
+- if (error_quark == 0)
+- error_quark = g_quark_from_static_string ("amide-gnome-url-error-quark");
+-
+- return error_quark;
+-}
+-
+-
+-static gboolean amide_gnome_url_show_with_env (const char *url, char **envp, GError **error) {
+-#if !defined(G_OS_WIN32) && !defined(AMIDE_NATIVE_GTK_OSX) && defined(AMIDE_USE_GNOME_VFS)
+- GnomeVFSResult result;
+- GnomeVFSURI *vfs_uri;
+-
+- g_return_val_if_fail (url != NULL, FALSE);
+-
+- result = gnome_vfs_url_show_with_env (url, envp);
+-
+- switch (result) {
+- case GNOME_VFS_OK:
+- return TRUE;
+-
+- case GNOME_VFS_ERROR_INTERNAL:
+- g_set_error (error,
+- AMIDE_GNOME_URL_ERROR,
+- AMIDE_GNOME_URL_ERROR_VFS,
+- _("Unknown internal error while displaying this location."));
+- break;
+-
+- case GNOME_VFS_ERROR_BAD_PARAMETERS:
+- g_set_error (error,
+- AMIDE_GNOME_URL_ERROR,
+- AMIDE_GNOME_URL_ERROR_URL,
+- _("The specified location is invalid."));
+- break;
+-
+- case GNOME_VFS_ERROR_PARSE:
+- g_set_error (error,
+- AMIDE_GNOME_URL_ERROR,
+- AMIDE_GNOME_URL_ERROR_PARSE,
+- _("There was an error parsing the default action command associated "
+- "with this location."));
+- break;
+-
+- case GNOME_VFS_ERROR_LAUNCH:
+- g_set_error (error,
+- AMIDE_GNOME_URL_ERROR,
+- AMIDE_GNOME_URL_ERROR_LAUNCH,
+- _("There was an error launching the default action command associated "
+- "with this location."));
+- break;
+-
+- case GNOME_VFS_ERROR_NO_DEFAULT:
+- g_set_error (error,
+- AMIDE_GNOME_URL_ERROR,
+- AMIDE_GNOME_URL_ERROR_NO_DEFAULT,
+- _("There is no default action associated with this location."));
+- break;
+-
+- case GNOME_VFS_ERROR_NOT_SUPPORTED:
+- g_set_error (error,
+- AMIDE_GNOME_URL_ERROR,
+- AMIDE_GNOME_URL_ERROR_NOT_SUPPORTED,
+- _("The default action does not support this protocol."));
+- break;
+-
+- case GNOME_VFS_ERROR_CANCELLED:
+- g_set_error (error,
+- AMIDE_GNOME_URL_ERROR,
+- AMIDE_GNOME_URL_ERROR_CANCELLED,
+- _("The request was cancelled."));
+- break;
+-
+- case GNOME_VFS_ERROR_HOST_NOT_FOUND:
+- {
+- vfs_uri = gnome_vfs_uri_new (url);
+- if (gnome_vfs_uri_get_host_name (vfs_uri) != NULL) {
+- g_set_error (error,
+- AMIDE_GNOME_URL_ERROR,
+- AMIDE_GNOME_URL_ERROR_VFS,
+- _("The host \"%s\" could not be found."),
+- gnome_vfs_uri_get_host_name (vfs_uri));
+- } else {
+- g_set_error (error,
+- AMIDE_GNOME_URL_ERROR,
+- AMIDE_GNOME_URL_ERROR_VFS,
+- _("The host could not be found."));
+- }
+- gnome_vfs_uri_unref (vfs_uri);
+- }
+- break;
+-
+- case GNOME_VFS_ERROR_INVALID_URI:
+- case GNOME_VFS_ERROR_NOT_FOUND:
+- g_set_error (error,
+- AMIDE_GNOME_URL_ERROR,
+- AMIDE_GNOME_URL_ERROR_VFS,
+- _("The location or file could not be found."));
+- break;
+-
+- case GNOME_VFS_ERROR_LOGIN_FAILED:
+- g_set_error (error,
+- AMIDE_GNOME_URL_ERROR,
+- AMIDE_GNOME_URL_ERROR_VFS,
+- _("The login has failed."));
+- break;
+- default:
+- g_set_error (error,
+- AMIDE_GNOME_URL_ERROR,
+- AMIDE_GNOME_URL_ERROR_VFS,
+- "%s", gnome_vfs_result_to_string (result));
+- }
+-
+- return FALSE;
+-#else
+- char *argv[] = { NULL, NULL, NULL };
+-
+- /* TODO : handle translations when we generate them */
+- argv[0] = (char *)"hh";
+- argv[1] = url;
+- g_spawn_async (NULL, argv, NULL, G_SPAWN_SEARCH_PATH,
+- NULL, NULL, NULL, error);
+-
+- return TRUE;
+-#endif
+-}
+-
+-static gboolean amide_gnome_help_display_uri_with_env (const char *help_uri, char **envp, GError **error) {
+- GError *real_error;
+- gboolean retval;
+-
+- real_error = NULL;
+- retval = amide_gnome_url_show_with_env (help_uri, envp, &real_error);
+-
+- if (real_error != NULL) g_propagate_error (error, real_error);
+-
+- return retval;
+-}
+-
+-
+-
+-static char * locate_help_file (const char *path, const char *doc_name) {
+- int i, j;
+- char *exts[] = { "", ".xml", ".docbook", ".sgml", ".html", NULL };
+- const char * const * lang_list = g_get_language_names ();
+-
+- for (j = 0;lang_list[j] != NULL; j++) {
+- const char *lang = lang_list[j];
+-
+- /* This has to be a valid language AND a language with
+- * no encoding postfix. The language will come up without
+- * encoding next */
+- if (lang == NULL ||
+- strchr (lang, '.') != NULL)
+- continue;
+-
+- for (i = 0; exts[i] != NULL; i++) {
+- char *name;
+- char *full;
+-
+- name = g_strconcat (doc_name, exts[i], NULL);
+- full = g_build_filename (path, lang, name, NULL);
+- g_free (name);
+-
+- if (g_file_test (full, G_FILE_TEST_EXISTS))
+- return full;
+-
+- g_free (full);
+- }
+- }
+-
+- return NULL;
+-}
+-
+-/* returns an array of strings (strings can be potentially null) - array and strings need to be free'd */
+-static gchar ** amide_gnome_program_locate_help_file (const gchar *file_name, gboolean only_if_exists) {
+-
+- gchar *buf;
+- gchar ** retvals;
+- gchar ** dirs;
+- const gchar * const * global_dirs;
+- gint i;
+- gint j;
+- gint count=0;
+- gint slots;
+-
+- g_return_val_if_fail (file_name != NULL, NULL);
+-
+- global_dirs = g_get_system_data_dirs();
+- while (global_dirs[count] != NULL) count++; /* count */
+-
+- /* allocate the array of strings - extra spot for AMIDE_DATADIR,
+- plus an extra spot if on win32,
+- plus one at end for NULL termination */
+-#if defined (G_PLATFORM_WIN32)
+- slots = count+3;
+-#else
+- slots = count+2;
+-#endif
+-
+- dirs = g_try_new0(gchar *,slots);
+- retvals = g_try_new0(gchar *,slots);
+- g_return_val_if_fail((dirs != NULL) && (retvals != NULL), NULL);
+-
+- j=0;
+- /* copy over the directories */
+- dirs[j] = g_strdup(AMIDE_DATADIR); /* first entry */
+- j++;
+-
+- /* FIXME, below function is now deprecated
+-#if defined (G_PLATFORM_WIN32)
+- dirs[j] = g_win32_get_package_installation_subdirectory(NULL, NULL,"share");
+- j++;
+-#endif
+- */
+-
+- i=0;
+- while (global_dirs[i] != NULL) { /* rest of the entries */
+- dirs[j] = g_strdup(global_dirs[i]);
+- i++;
+- j++;
+- }
+-
+-
+- /* Potentially add an absolute path */
+- if (g_path_is_absolute (file_name))
+- if (!only_if_exists || g_file_test (file_name, G_FILE_TEST_EXISTS)) {
+- retvals[0] = g_strdup(file_name);
+- return retvals; /* we're already done */
+- }
+-
+- /* use the prefix */
+- if (AMIDE_DATADIR == NULL) {
+- g_warning (G_STRLOC ": Directory properties not set correctly. "
+- "Cannot locate application specific files.");
+- return retvals;
+- }
+-
+- i=0;
+- j=0;
+- while (dirs[i] != NULL) {
+- buf = g_strdup_printf ("%s%s%s%s%s", dirs[i], G_DIR_SEPARATOR_S, "help", G_DIR_SEPARATOR_S,file_name);
+-
+- if (!only_if_exists || g_file_test (buf, G_FILE_TEST_EXISTS)) {
+- retvals[j] = buf;
+- j++;
+- } else
+- g_free(buf);
+- i++;
+- }
+-
+- i=0;
+- while (dirs[i] != NULL) {
+- g_free(dirs[i]);
+- i++;
+- }
+- g_free(dirs);
+-
+- return retvals;
+-}
+-
+-
+-typedef enum {
+- AMIDE_GNOME_HELP_ERROR_INTERNAL,
+- AMIDE_GNOME_HELP_ERROR_NOT_FOUND
+-} AmideGnomeHelpError;
+-
+-#define AMIDE_GNOME_HELP_ERROR (amide_gnome_help_error_quark ())
+-GQuark amide_gnome_help_error_quark (void) {
+- static GQuark error_quark = 0;
+-
+- if (error_quark == 0)
+- error_quark = g_quark_from_static_string ("amide-gnome-help-error-quark");
+-
+- return error_quark;
+-}
+-
+
+ gboolean amide_gnome_help_display (const char *file_name, const char *link_id, GError **error) {
+
+@@ -342,6 +45,7 @@
+ if (link_id) {
+ uri = g_strconcat ("yelp help:amide/", link_id, NULL);
+ success = g_spawn_command_line_async (uri, error);
++ g_free (uri);
+ } else {
+ success = g_spawn_command_line_async ("yelp help:amide", error);
+ }
=====================================
debian/patches/series
=====================================
@@ -6,3 +6,7 @@ remove-autdated-gnome-macros.patch
debian-djdecode.patch
ffmpeg-5.patch
typos.patch
+gsettings.patch
+gtk3+goocanvas.patch
+no-gnome-vfs.patch
+compiler-warnings.patch
=====================================
debian/rules
=====================================
@@ -17,8 +17,6 @@ override_dh_auto_configure:
--mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info \
--localstatedir=/var/lib/amide \
- --disable-gconf \
- --disable-gnome-vfs \
LDFLAGS="-Wl,-z,defs $(LDFLAGS)"
# To create the docs this option would be needed but it causes build problems
View it on GitLab: https://salsa.debian.org/med-team/amide/-/compare/431a05e40f73ebe34c6eb5ec91e8b63c0bc75cee...cf17c05e8f4e140f45ce378fabf2c2c1624cf144
--
View it on GitLab: https://salsa.debian.org/med-team/amide/-/compare/431a05e40f73ebe34c6eb5ec91e8b63c0bc75cee...cf17c05e8f4e140f45ce378fabf2c2c1624cf144
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20240223/ea511149/attachment-0001.htm>
More information about the debian-med-commit
mailing list