[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