Mercurial > geeqie
diff src/main.h @ 281:9995c5fb202a
gqview.h -> main.h
author | zas_ |
---|---|
date | Tue, 08 Apr 2008 23:02:33 +0000 |
parents | src/gqview.h@04abf5b160eb |
children | c2cb12def9d6 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main.h Tue Apr 08 23:02:33 2008 +0000 @@ -0,0 +1,256 @@ +/* + * Geeqie + * (C) 2006 John Ellis + * + * Author: John Ellis + * + * 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 GQVIEW_H +#define GQVIEW_H + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#ifdef HAVE_STRVERSCMP +# ifndef _GNU_SOURCE +# define _GNU_SOURCE +# endif +#endif + +#include "intl.h" + +/* + *------------------------------------- + * Standard library includes + *------------------------------------- + */ + +#include <pwd.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <time.h> +#include <unistd.h> +#include <sys/stat.h> +#include <sys/time.h> +#include <sys/types.h> +#include <dirent.h> +#include <fcntl.h> + +/* + *------------------------------------- + * includes for glib / gtk / gdk-pixbuf + *------------------------------------- + */ + +#include <gdk/gdk.h> +#include <gtk/gtk.h> + +#include <gdk-pixbuf/gdk-pixbuf.h> +#include <gdk-pixbuf/gdk-pixbuf-loader.h> + + +/* + *---------------------------------------------------------------------------- + * defines + *---------------------------------------------------------------------------- + */ + +#define GQ_WMCLASS "geeqie" + +#define GQVIEW_RC_DIR ".geeqie" +#define GQVIEW_RC_DIR_COLLECTIONS GQVIEW_RC_DIR"/collections" +#define GQVIEW_RC_DIR_TRASH GQVIEW_RC_DIR"/trash" + +#define RC_FILE_NAME "geeqierc" + +#define ZOOM_RESET_ORIGINAL 0 +#define ZOOM_RESET_FIT_WINDOW 1 +#define ZOOM_RESET_NONE 2 + +#define SCROLL_RESET_TOPLEFT 0 +#define SCROLL_RESET_CENTER 1 +#define SCROLL_RESET_NOCHANGE 2 + +#define MOUSEWHEEL_SCROLL_SIZE 20 + +#define GQVIEW_EDITOR_GENERIC_SLOTS 10 + +#define COLOR_PROFILE_INPUTS 4 + +#define DEFAULT_THUMB_WIDTH 96 +#define DEFAULT_THUMB_HEIGHT 72 + +#if 1 /* set to 0 to disable debugging code and related options */ +# ifndef DEBUG +# define DEBUG 1 +# endif +#endif +#ifndef DEBUG +# define debug 0 +#endif + +#include "typedefs.h" + +/* + *---------------------------------------------------------------------------- + * globals + *---------------------------------------------------------------------------- + */ + +/* + * Since globals are used everywhere, + * it is easier to define them here. + */ + +extern GList *filename_filter; + +/* -- options -- */ +extern gint main_window_w; +extern gint main_window_h; +extern gint main_window_x; +extern gint main_window_y; +extern gint main_window_maximized; + +extern gint float_window_w; +extern gint float_window_h; +extern gint float_window_x; +extern gint float_window_y; +extern gint float_window_divider; + +extern gint window_hdivider_pos; +extern gint window_vdivider_pos; + +extern gint save_window_positions; +extern gint tools_float; +extern gint tools_hidden; +extern gint toolbar_hidden; +extern gint progressive_key_scrolling; + +extern gint startup_path_enable; +extern gchar *startup_path; +extern gint confirm_delete; +extern gint enable_delete_key; +extern gint safe_delete_enable; +extern gchar *safe_delete_path; +extern gint safe_delete_size; +extern gint restore_tool; +extern gint zoom_mode; +extern gint two_pass_zoom; +extern gint scroll_reset_method; +extern gint fit_window; +extern gint limit_window_size; +extern gint zoom_to_fit_expands; +extern gint max_window_size; +extern gint limit_autofit_size; +extern gint max_autofit_size; +extern gint thumb_max_width; +extern gint thumb_max_height; +extern gint enable_thumb_caching; +extern gint enable_thumb_dirs; +extern gint thumbnail_fast; +extern gint use_xvpics_thumbnails; +extern gint thumbnail_spec_standard; +extern gint enable_metadata_dirs; +extern gint show_dot_files; +extern gint file_filter_disable; +extern gchar *editor_name[]; +extern gchar *editor_command[]; + +extern gint thumbnails_enabled; +extern SortType file_sort_method; +extern gint file_sort_ascending; + +extern gint slideshow_delay; /* in tenths of a second */ +extern gint slideshow_random; +extern gint slideshow_repeat; + +extern gint mousewheel_scrolls; +extern gint enable_in_place_rename; + +extern gint user_specified_window_background; +extern GdkColor window_background_color; + +extern gint fullscreen_screen; +extern gint fullscreen_clean_flip; +extern gint fullscreen_disable_saver; +extern gint fullscreen_above; +extern gint show_fullscreen_info; +extern gchar *fullscreen_info; + +extern gint dupe_custom_threshold; + +#ifdef DEBUG +extern gint debug; +#endif + +extern gint recent_list_max; + +extern gint collection_rectangular_selection; + +extern gint tile_cache_max; /* in megabytes */ +extern gint thumbnail_quality; +extern gint zoom_quality; +extern gint dither_quality; + +extern gint zoom_increment; /* 10 is 1.0, 5 is 0.05, 20 is 2.0, etc. */ + +extern gint enable_read_ahead; + +extern gint place_dialogs_under_mouse; + +/* layout */ +extern gchar *layout_order; +extern gint layout_style; + +extern gint layout_view_icons; +extern gint layout_view_tree; + +extern gint show_icon_names; + +extern gint tree_descend_subdirs; + +extern gint lazy_image_sync; +extern gint update_on_time_change; +extern gint exif_rotate_enable; + +extern gint color_profile_enabled; +extern gint color_profile_input_type; +extern gchar *color_profile_input_file[]; +extern gchar *color_profile_input_name[]; +extern gint color_profile_screen_type; +extern gchar *color_profile_screen_file; +extern gint color_profile_use_image; + +/* + *---------------------------------------------------------------------------- + * main.c + *---------------------------------------------------------------------------- + */ + +/* + * This also doubles as the main.c header. + */ + +void window_set_icon(GtkWidget *window, const gchar *icon, const gchar *file); +gint window_maximized(GtkWidget *window); + +gdouble get_zoom_increment(void); + +void help_window_show(const gchar *key); + +void keyboard_scroll_calc(gint *x, gint *y, GdkEventKey *event); +gint key_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer data); +void exit_program(void); + + +#endif + + +