Move miscellaneous functions to their own files (new misc.[ch]).
authorLaurent Monin <geeqie@norz.org>
Sun, 31 Aug 2008 10:51:41 +0000 (10:51 +0000)
committerLaurent Monin <geeqie@norz.org>
Sun, 31 Aug 2008 10:51:41 +0000 (10:51 +0000)
19 files changed:
src/Makefile.am
src/bar_exif.c
src/bar_info.c
src/collect.c
src/dupe.c
src/editors.c
src/img-view.c
src/layout_image.c
src/layout_util.c
src/lirc.c
src/logwindow.c
src/main.c
src/main.h
src/misc.c [new file with mode: 0644]
src/misc.h [new file with mode: 0644]
src/pan-view.c
src/remote.c
src/search.c
src/ui_tabcomp.c

index ae9e644..ad6749f 100644 (file)
@@ -168,6 +168,8 @@ geeqie_SOURCES = \
        md5-util.h      \
        menu.c          \
        menu.h          \
+       misc.c          \
+       misc.h          \
        options.c       \
        options.h       \
        pan-calendar.c  \
index e2a1242..d46ee58 100644 (file)
 #include "bar_exif.h"
 
 #include "exif.h"
+#include "filedata.h"
 #include "history_list.h"
+#include "misc.h"
 #include "ui_misc.h"
-#include "filedata.h"
 
 #include <math.h>
 
index 9da97a9..26469e3 100644 (file)
 
 
 #include "main.h"
-#include "exif.h"
-
 #include "bar_info.h"
 
 #include "cache.h"
+#include "exif.h"
 #include "filedata.h"
 #include "history_list.h"
 #include "info.h"
+#include "misc.h"
 #include "secure_save.h"
-#include "utilops.h"
 #include "ui_fileops.h"
 #include "ui_misc.h"
 #include "ui_utildlg.h"
-
+#include "utilops.h"
 
 #define BAR_KEYWORD_AUTOSAVE_TIME 10000
 
index dfcb2e8..0114ed6 100644 (file)
 #include "info.h"
 #include "layout.h"
 #include "layout_image.h"
+#include "misc.h"
 #include "pixbuf_util.h"
 #include "print.h"
-#include "utilops.h"
 #include "ui_fileops.h"
 #include "ui_tree_edit.h"
+#include "utilops.h"
 #include "window.h"
 
 #include <gdk/gdkkeysyms.h> /* for keyboard values */
index 10bca95..007b6b4 100644 (file)
 #include "layout_image.h"
 #include "md5-util.h"
 #include "menu.h"
+#include "misc.h"
 #include "print.h"
 #include "thumb.h"
-#include "utilops.h"
 #include "ui_fileops.h"
 #include "ui_menu.h"
 #include "ui_misc.h"
 #include "ui_tree_edit.h"
 #include "uri_utils.h"
+#include "utilops.h"
 #include "window.h"
 
 #include <gdk/gdkkeysyms.h> /* for keyboard values */
index f91e1de..a937653 100644 (file)
 
 #include "filedata.h"
 #include "filefilter.h"
-#include "utilops.h"
+#include "misc.h"
 #include "ui_fileops.h"
 #include "ui_spinner.h"
 #include "ui_utildlg.h"
+#include "utilops.h"
 
 #include <errno.h>
 
index d16b670..dbea19c 100644 (file)
 #include "layout.h"
 #include "layout_image.h"
 #include "menu.h"
-#include "pixbuf-renderer.h"
+#include "misc.h"
 #include "pixbuf_util.h"
+#include "pixbuf-renderer.h"
 #include "print.h"
 #include "slideshow.h"
-#include "utilops.h"
 #include "ui_fileops.h"
 #include "ui_menu.h"
 #include "uri_utils.h"
+#include "utilops.h"
 #include "window.h"
 
 #include <gdk/gdkkeysyms.h> /* for keyboard values */
index 622f4a1..75c545a 100644 (file)
 #include "layout.h"
 #include "layout_util.h"
 #include "menu.h"
+#include "misc.h"
 #include "pixbuf_util.h"
-#include "utilops.h"
 #include "slideshow.h"
 #include "ui_fileops.h"
 #include "ui_menu.h"
 #include "uri_utils.h"
+#include "utilops.h"
 
 #include <gdk/gdkkeysyms.h> /* for keyboard values */
 
index 540d778..787b17f 100644 (file)
@@ -14,8 +14,8 @@
 #include "main.h"
 #include "layout_util.h"
 
-#include "bar_info.h"
 #include "bar_exif.h"
+#include "bar_info.h"
 #include "bar_sort.h"
 #include "cache_maint.h"
 #include "collect.h"
 #include "info.h"
 #include "layout_image.h"
 #include "logwindow.h"
+#include "misc.h"
 #include "pan-view.h"
 #include "pixbuf_util.h"
 #include "preferences.h"
 #include "print.h"
 #include "search.h"
-#include "utilops.h"
 #include "ui_fileops.h"
 #include "ui_menu.h"
 #include "ui_misc.h"
 #include "ui_tabcomp.h"
+#include "utilops.h"
 #include "view_dir.h"
 #include "window.h"
 
index a91901d..9053f83 100644 (file)
@@ -1,5 +1,7 @@
 #include "lirc.h"
 
+#include "misc.h"
+
 #ifdef HAVE_LIRC
 #include <lirc/lirc_client.h>
 #include "layout_image.h"
index 55325ae..6338115 100644 (file)
@@ -13,6 +13,7 @@
 #include "main.h"
 #include "logwindow.h"
 
+#include "misc.h"
 #include "window.h"
 
 #include <gdk/gdkkeysyms.h>
index 5b636a3..b240a8e 100644 (file)
 static RemoteConnection *remote_connection = NULL;
 
 
-/*
- *-----------------------------------------------------------------------------
- * misc (public)
- *-----------------------------------------------------------------------------
- */
-
-
-gdouble get_zoom_increment(void)
-{
-       return ((options->image.zoom_increment != 0) ? (gdouble)options->image.zoom_increment / 10.0 : 1.0);
-}
-
-gchar *utf8_validate_or_convert(const gchar *text)
-{
-       gint len;
-
-       if (!text) return NULL;
-       
-       len = strlen(text);
-       if (!g_utf8_validate(text, len, NULL))
-               return g_convert(text, len, "UTF-8", "ISO-8859-1", NULL, NULL, NULL);
-
-       return g_strdup(text);
-}
-
-gint utf8_compare(const gchar *s1, const gchar *s2, gboolean case_sensitive)
-{
-       gchar *s1_key, *s2_key;
-       gchar *s1_t, *s2_t;
-       gint ret;
-
-       g_assert(g_utf8_validate(s1, -1, NULL));
-       g_assert(g_utf8_validate(s2, -1, NULL));
-
-       if (!case_sensitive)
-               {
-               s1_t = g_utf8_casefold(s1, -1);
-               s2_t = g_utf8_casefold(s2, -1);
-               }
-
-       s1_key = g_utf8_collate_key(s1_t, -1);
-       s2_key = g_utf8_collate_key(s2_t, -1);
-
-       ret = strcmp(s1_key, s2_key);
-
-       g_free(s1_key);
-       g_free(s2_key);
-
-       if (!case_sensitive)
-               {
-               g_free(s1_t);
-               g_free(s2_t);
-               }
-
-       return ret;
-}
-
-/* Borrowed from gtkfilesystemunix.c */
-gchar *expand_tilde(const gchar *filename)
-{
-#ifndef G_OS_UNIX
-       return g_strdup(filename);
-#else
-       const gchar *notilde;
-       const gchar *slash;
-       const gchar *home;
-
-       if (filename[0] != '~')
-               return g_strdup(filename);
-
-       notilde = filename + 1;
-       slash = strchr(notilde, G_DIR_SEPARATOR);
-       if (slash == notilde || !*notilde)
-               {
-               home = g_get_home_dir();
-               if (!home)
-                       return g_strdup(filename);
-               }
-       else
-               {
-               gchar *username;
-               struct passwd *passwd;
-
-               if (slash)
-                       username = g_strndup(notilde, slash - notilde);
-               else
-                       username = g_strdup(notilde);
-
-               passwd = getpwnam(username);
-               g_free(username);
-
-               if (!passwd)
-                       return g_strdup(filename);
-
-               home = passwd->pw_dir;
-               }
-
-       if (slash)
-               return g_build_filename(home, G_DIR_SEPARATOR_S, slash + 1, NULL);
-       else
-               return g_build_filename(home, G_DIR_SEPARATOR_S, NULL);
-#endif
-}
-
-
 /*
  *-----------------------------------------------------------------------------
  * keyboard functions
index fa80bc8..1c7fd19 100644 (file)
  * This also doubles as the main.c header.
  */
 
-gdouble get_zoom_increment(void);
-gchar *utf8_validate_or_convert(const gchar *text);
-gint utf8_compare(const gchar *s1, const gchar *s2, gboolean case_sensitive);
-gchar *expand_tilde(const gchar *filename);
-
 void keyboard_scroll_calc(gint *x, gint *y, GdkEventKey *event);
 gint key_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer data);
 
diff --git a/src/misc.c b/src/misc.c
new file mode 100644 (file)
index 0000000..47bbdc3
--- /dev/null
@@ -0,0 +1,110 @@
+/*
+ * Geeqie
+ * Copyright (C) 2008 The Geeqie Team
+ *
+ * Authors: Vladimir Nadvornik / Laurent Monin
+ *
+ * This software is released under the GNU General Public License (GNU GPL).
+ * Please read the included file COPYING for more information.
+ * This software comes with no warranty of any kind, use at your own risk!
+ */
+
+#include "main.h"
+#include "misc.h"
+
+gdouble get_zoom_increment(void)
+{
+       return ((options->image.zoom_increment != 0) ? (gdouble)options->image.zoom_increment / 10.0 : 1.0);
+}
+
+gchar *utf8_validate_or_convert(const gchar *text)
+{
+       gint len;
+
+       if (!text) return NULL;
+       
+       len = strlen(text);
+       if (!g_utf8_validate(text, len, NULL))
+               return g_convert(text, len, "UTF-8", "ISO-8859-1", NULL, NULL, NULL);
+
+       return g_strdup(text);
+}
+
+gint utf8_compare(const gchar *s1, const gchar *s2, gboolean case_sensitive)
+{
+       gchar *s1_key, *s2_key;
+       gchar *s1_t, *s2_t;
+       gint ret;
+
+       g_assert(g_utf8_validate(s1, -1, NULL));
+       g_assert(g_utf8_validate(s2, -1, NULL));
+
+       if (!case_sensitive)
+               {
+               s1_t = g_utf8_casefold(s1, -1);
+               s2_t = g_utf8_casefold(s2, -1);
+               }
+
+       s1_key = g_utf8_collate_key(s1_t, -1);
+       s2_key = g_utf8_collate_key(s2_t, -1);
+
+       ret = strcmp(s1_key, s2_key);
+
+       g_free(s1_key);
+       g_free(s2_key);
+
+       if (!case_sensitive)
+               {
+               g_free(s1_t);
+               g_free(s2_t);
+               }
+
+       return ret;
+}
+
+/* Borrowed from gtkfilesystemunix.c */
+gchar *expand_tilde(const gchar *filename)
+{
+#ifndef G_OS_UNIX
+       return g_strdup(filename);
+#else
+       const gchar *notilde;
+       const gchar *slash;
+       const gchar *home;
+
+       if (filename[0] != '~')
+               return g_strdup(filename);
+
+       notilde = filename + 1;
+       slash = strchr(notilde, G_DIR_SEPARATOR);
+       if (slash == notilde || !*notilde)
+               {
+               home = g_get_home_dir();
+               if (!home)
+                       return g_strdup(filename);
+               }
+       else
+               {
+               gchar *username;
+               struct passwd *passwd;
+
+               if (slash)
+                       username = g_strndup(notilde, slash - notilde);
+               else
+                       username = g_strdup(notilde);
+
+               passwd = getpwnam(username);
+               g_free(username);
+
+               if (!passwd)
+                       return g_strdup(filename);
+
+               home = passwd->pw_dir;
+               }
+
+       if (slash)
+               return g_build_filename(home, G_DIR_SEPARATOR_S, slash + 1, NULL);
+       else
+               return g_build_filename(home, G_DIR_SEPARATOR_S, NULL);
+#endif
+}
diff --git a/src/misc.h b/src/misc.h
new file mode 100644 (file)
index 0000000..6489ae5
--- /dev/null
@@ -0,0 +1,21 @@
+/*
+ * Geeqie
+ * Copyright (C) 2008 The Geeqie Team
+ *
+ * Authors: Vladimir Nadvornik / Laurent Monin
+ *
+ *
+ * This software is released under the GNU General Public License (GNU GPL).
+ * Please read the included file COPYING for more information.
+ * This software comes with no warranty of any kind, use at your own risk!
+ */
+
+#ifndef MISC_H
+#define MISC_H
+
+gdouble get_zoom_increment(void);
+gchar *utf8_validate_or_convert(const gchar *text);
+gint utf8_compare(const gchar *s1, const gchar *s2, gboolean case_sensitive);
+gchar *expand_tilde(const gchar *filename);
+
+#endif /* MISC_H */
index e2ce580..e306731 100644 (file)
 #include "img-view.h"
 #include "info.h"
 #include "menu.h"
+#include "misc.h"
 #include "pan-types.h"
 #include "thumb.h"
-#include "utilops.h"
 #include "ui_fileops.h"
 #include "ui_menu.h"
 #include "ui_tabcomp.h"
 #include "ui_utildlg.h"
 #include "uri_utils.h"
+#include "utilops.h"
 #include "window.h"
 
 #include <gdk/gdkkeysyms.h> /* for keyboard values */
index 73e32a2..9185b2a 100644 (file)
@@ -19,6 +19,7 @@
 #include "img-view.h"
 #include "layout.h"
 #include "layout_image.h"
+#include "misc.h"
 #include "slideshow.h"
 #include "ui_fileops.h"
 
index 086d1f0..a3e1140 100644 (file)
 #include "collect-table.h"
 #include "dnd.h"
 #include "dupe.h"
-#include "image-load.h"
-#include "info.h"
 #include "editors.h"
-#include "img-view.h"
 #include "filedata.h"
+#include "image-load.h"
+#include "img-view.h"
+#include "info.h"
 #include "layout_image.h"
 #include "menu.h"
+#include "misc.h"
 #include "print.h"
 #include "thumb.h"
-#include "utilops.h"
 #include "ui_bookmark.h"
 #include "ui_fileops.h"
 #include "ui_menu.h"
@@ -38,6 +38,7 @@
 #include "ui_tabcomp.h"
 #include "ui_tree_edit.h"
 #include "uri_utils.h"
+#include "utilops.h"
 #include "window.h"
 
 #include <gdk/gdkkeysyms.h> /* for keyboard values */
index 7ba8589..c6d8527 100644 (file)
@@ -30,6 +30,7 @@
 #include "ui_tabcomp.h"
 
 #include "history_list.h"
+#include "misc.h"      /* expand_tilde() */
 #include "ui_fileops.h"
 #include "ui_spinner.h"
 #include "ui_utildlg.h"