Ref #676: Simultaneous runs of geeqie interfere with each other
[geeqie.git] / src / typedefs.h
index 134adb0..8cd5582 100644 (file)
@@ -39,8 +39,8 @@ typedef enum {
        MOUSE_BUTTON_RIGHT      = 3,
        MOUSE_BUTTON_WHEEL_UP   = 4,
        MOUSE_BUTTON_WHEEL_DOWN = 5,
-       MOUSE_BUTTON_BACK       = 8,
-       MOUSE_BUTTON_FORWARD    = 9
+       MOUSE_BUTTON_8  = 8,
+       MOUSE_BUTTON_9  = 9
 } MouseButton;
 
 typedef enum {
@@ -143,9 +143,14 @@ typedef enum {
        FORMAT_CLASS_RAWIMAGE,
        FORMAT_CLASS_META,
        FORMAT_CLASS_VIDEO,
+       FORMAT_CLASS_COLLECTION,
+       FORMAT_CLASS_DOCUMENT,
        FILE_FORMAT_CLASSES
 } FileFormatClass;
 
+/* defined in preferences.c */
+extern gchar *format_class_list[];
+
 typedef enum {
        SS_ERR_NONE = 0,
        SS_ERR_DISABLED, /**< secsave is disabled. */
@@ -260,6 +265,25 @@ typedef enum {
        STEREO_PIXBUF_NONE     = 3
 } StereoPixbufData;
 
+typedef enum {
+       BAR_SORT_MODE_FOLDER = 0,
+       BAR_SORT_MODE_COLLECTION,
+       BAR_SORT_MODE_COUNT
+} SortModeType;
+
+typedef enum {
+       BAR_SORT_COPY = 0,
+       BAR_SORT_MOVE,
+       BAR_SORT_FILTER,
+       BAR_SORT_ACTION_COUNT
+} SortActionType;
+
+typedef enum {
+       BAR_SORT_SELECTION_IMAGE = 0,
+       BAR_SORT_SELECTION_SELECTED,
+       BAR_SORT_SELECTION_COUNT
+} SortSelectionType;
+
 #define MAX_SPLIT_IMAGES 4
 
 typedef enum {
@@ -358,12 +382,16 @@ struct _ThumbLoader
 struct _AnimationData
 {
        ImageWindow *iw;
+       LayoutWindow *lw;
        GdkPixbufAnimation *gpa;
        GdkPixbufAnimationIter *iter;
        GdkPixbuf *gpb;
        FileData *data_adr;
        guint delay;
        gboolean valid;
+       GCancellable *cancellable;
+       GFile *in_file;
+       GFileInputStream *gfstream;
 };
 
 struct _CollectInfo
@@ -437,6 +465,7 @@ struct _CollectTable
        guint drop_idle_id; /* event source id */
 
        gboolean show_text;
+       gboolean show_stars;
 
        /* file list for edit menu */
        GList *editmenu_fd_list;
@@ -533,6 +562,7 @@ struct _ImageWindow
        gboolean delay_flip;
        gint orientation;
        gboolean desaturate;
+       gboolean overunderexposed;
        gint user_stereo;
 
        gboolean mouse_wheel_mode;
@@ -593,8 +623,16 @@ struct _FileData {
        GHashTable *modified_xmp; // hash table which contains unwritten xmp metadata in format: key->list of string values
        GList *cached_metadata;
        gint rating;
+       gboolean metadata_in_idle_loaded;
+
+       gchar *owner;
+       gchar *group;
+       gchar *sym_link;
 
        SelectionType selected;  // Used by view_file_icon.
+
+       gint page_num;
+       gint page_total;
 };
 
 struct _LayoutOptions
@@ -609,6 +647,7 @@ struct _LayoutOptions
 
        gboolean show_thumbnails;
        gboolean show_marks;
+       gboolean show_file_filter;
        gboolean show_directory_date;
        gboolean show_info_pixel;
 
@@ -672,6 +711,11 @@ struct _LayoutOptions
        gboolean exit_on_close;
 
        gboolean animate;
+
+       SortActionType action;
+       SortModeType mode;
+       SortSelectionType selection;
+       gchar *filter_key;
 };
 
 struct _LayoutWindow
@@ -721,7 +765,7 @@ struct _LayoutWindow
 
 //     gint tools_float;
 //     gint tools_hidden;
-
+       GtkWidget *menu_tool_bar; /*Combined menu and toolbar box */
        GtkWidget *menu_bar; /* referenced by lw, exist during whole lw lifetime */
        /* toolbar */
 
@@ -792,6 +836,7 @@ struct _LayoutWindow
 //     gint bar_width;
 
        GtkWidget *exif_window;
+       GtkWidget *sar_window; /* Search and Run window */
 
        AnimationData *animation;
 
@@ -852,6 +897,14 @@ struct _ViewFile
        GtkWidget *filter;
        GtkWidget *filter_check[FILEDATA_MARKS_SIZE];
 
+       struct {
+               GtkWidget *combo;
+               GtkWidget *frame;
+               gint count;
+               gint last_selected;
+               gboolean case_sensitive;
+       } file_filter;
+
        FileData *dir_fd;
        GList *list;
 
@@ -885,6 +938,8 @@ struct _ViewFile
 
        /* file list for edit menu */
        GList *editmenu_fd_list;
+
+       guint read_metadata_in_idle_id;
 };
 
 struct _ViewFileInfoList
@@ -972,6 +1027,7 @@ struct _PixmapFolders
        GdkPixbuf *open;
        GdkPixbuf *deny;
        GdkPixbuf *parent;
+       GdkPixbuf *link;
 };
 
 struct _SecureSaveInfo {
@@ -1004,6 +1060,7 @@ struct _CommandLine
        gchar *regexp;
        gchar *log_file;
        SecureSaveInfo *ssi;
+       gboolean new_instance;
 };
 
 #endif