Trim trailing white spaces.
[geeqie.git] / src / layout_util.c
index d30f9a6..79193b0 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2004 John Ellis
- * Copyright (C) 2008 - 2009 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -64,10 +64,10 @@ static void layout_util_sync_views(LayoutWindow *lw);
  */
 
 static guint tree_key_overrides[] = {
-       GDK_Page_Up,    GDK_KP_Page_Up,
-       GDK_Page_Down,  GDK_KP_Page_Down,
-       GDK_Home,       GDK_KP_Home,
-       GDK_End,        GDK_KP_End
+       GDK_KEY_Page_Up,        GDK_KEY_KP_Page_Up,
+       GDK_KEY_Page_Down,      GDK_KEY_KP_Page_Down,
+       GDK_KEY_Home,   GDK_KEY_KP_Home,
+       GDK_KEY_End,    GDK_KEY_KP_End
 };
 
 static gboolean layout_key_match(guint keyval)
@@ -85,13 +85,14 @@ static gboolean layout_key_match(guint keyval)
 gboolean layout_key_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer data)
 {
        LayoutWindow *lw = data;
+       GtkWidget *focused;
        gboolean stop_signal = FALSE;
        gint x = 0;
        gint y = 0;
 
-       if (lw->path_entry && GTK_WIDGET_HAS_FOCUS(lw->path_entry))
+       if (lw->path_entry && gtk_widget_has_focus(lw->path_entry))
                {
-               if (event->keyval == GDK_Escape && lw->dir_fd)
+               if (event->keyval == GDK_KEY_Escape && lw->dir_fd)
                        {
                        gtk_entry_set_text(GTK_ENTRY(lw->path_entry), lw->dir_fd->path);
                        }
@@ -104,7 +105,7 @@ gboolean layout_key_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer dat
                        return TRUE;
                        }
                }
-       if (lw->vd && lw->options.dir_view_type == DIRVIEW_TREE && GTK_WIDGET_HAS_FOCUS(lw->vd->view) &&
+       if (lw->vd && lw->options.dir_view_type == DIRVIEW_TREE && gtk_widget_has_focus(lw->vd->view) &&
            !layout_key_match(event->keyval) &&
            gtk_widget_event(lw->vd->view, (GdkEvent *)event))
                {
@@ -116,28 +117,23 @@ gboolean layout_key_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer dat
                return TRUE;
                }
 
-/*
-       if (event->type == GDK_KEY_PRESS && lw->full_screen &&
-           gtk_accel_groups_activate(G_OBJECT(lw->window), event->keyval, event->state))
-               return TRUE;
-*/
-
+       focused = gtk_container_get_focus_child(GTK_CONTAINER(lw->image->widget));
        if (lw->image &&
-           (GTK_WIDGET_HAS_FOCUS(lw->image->widget) || (lw->tools && widget == lw->window) || lw->full_screen) )
+           ((focused && gtk_widget_has_focus(focused)) || (lw->tools && widget == lw->window) || lw->full_screen) )
                {
                stop_signal = TRUE;
                switch (event->keyval)
                        {
-                       case GDK_Left: case GDK_KP_Left:
+                       case GDK_KEY_Left: case GDK_KEY_KP_Left:
                                x -= 1;
                                break;
-                       case GDK_Right: case GDK_KP_Right:
+                       case GDK_KEY_Right: case GDK_KEY_KP_Right:
                                x += 1;
                                break;
-                       case GDK_Up: case GDK_KP_Up:
+                       case GDK_KEY_Up: case GDK_KEY_KP_Up:
                                y -= 1;
                                break;
-                       case GDK_Down: case GDK_KP_Down:
+                       case GDK_KEY_Down: case GDK_KEY_KP_Down:
                                y += 1;
                                break;
                        default:
@@ -151,7 +147,7 @@ gboolean layout_key_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer dat
                        stop_signal = TRUE;
                        switch (event->keyval)
                                {
-                               case GDK_Menu:
+                               case GDK_KEY_Menu:
                                        layout_image_menu_popup(lw);
                                        break;
                                default:
@@ -642,11 +638,6 @@ static void layout_menu_escape_cb(GtkAction *action, gpointer data)
        LayoutWindow *lw = data;
 
        layout_exit_fullscreen(lw);
-
-       /* FIXME:interrupting thumbs no longer allowed */
-#if 0
-       interrupt_thumbs();
-#endif
 }
 
 static void layout_menu_overlay_toggle_cb(GtkAction *action, gpointer data)
@@ -661,8 +652,7 @@ static void layout_menu_overlay_toggle_cb(GtkAction *action, gpointer data)
 static void layout_menu_overlay_cb(GtkToggleAction *action, gpointer data)
 {
        LayoutWindow *lw = data;
-       GtkToggleAction *histogram_action = GTK_TOGGLE_ACTION(gtk_action_group_get_action(lw->action_group, "ImageHistogram"));
-
+       
        if (gtk_toggle_action_get_active(action))
                {
                OsdShowFlags flags = image_osd_get(lw->image);
@@ -672,6 +662,8 @@ static void layout_menu_overlay_cb(GtkToggleAction *action, gpointer data)
                }
        else
                {
+               GtkToggleAction *histogram_action = GTK_TOGGLE_ACTION(gtk_action_group_get_action(lw->action_group, "ImageHistogram"));
+               
                image_osd_set(lw->image, OSD_SHOW_NOTHING);
                gtk_toggle_action_set_active(histogram_action, FALSE); /* this calls layout_menu_histogram_cb */
                }
@@ -680,7 +672,6 @@ static void layout_menu_overlay_cb(GtkToggleAction *action, gpointer data)
 static void layout_menu_histogram_cb(GtkToggleAction *action, gpointer data)
 {
        LayoutWindow *lw = data;
-       GtkToggleAction *overlay_action = GTK_TOGGLE_ACTION(gtk_action_group_get_action(lw->action_group, "ImageOverlay"));
 
        if (gtk_toggle_action_get_active(action))
                {
@@ -809,10 +800,11 @@ static void layout_menu_bar_sort_cb(GtkToggleAction *action, gpointer data)
        layout_bar_sort_toggle(lw);
 }
 
-static void layout_menu_slideshow_cb(GtkAction *action, gpointer data)
+static void layout_menu_slideshow_cb(GtkToggleAction *action, gpointer data)
 {
        LayoutWindow *lw = data;
 
+       if (layout_image_slideshow_active(lw) == gtk_toggle_action_get_active(action)) return;
        layout_image_slideshow_toggle(lw);
 }
 
@@ -823,6 +815,32 @@ static void layout_menu_slideshow_pause_cb(GtkAction *action, gpointer data)
        layout_image_slideshow_pause_toggle(lw);
 }
 
+
+static void layout_menu_stereo_mode_next_cb(GtkAction *action, gpointer data)
+{
+       LayoutWindow *lw = data;
+       gint mode = layout_image_stereo_pixbuf_get(lw);
+       
+       /* 0->1, 1->2, 2->3, 3->1 - disable auto, then cycle */
+       mode = mode % 3 + 1;
+       
+       GtkAction *radio = gtk_action_group_get_action(lw->action_group, "StereoAuto");
+       gtk_radio_action_set_current_value(GTK_RADIO_ACTION(radio), mode);
+       
+       /*
+       this is called via fallback in layout_menu_stereo_mode_cb
+       layout_image_stereo_pixbuf_set(lw, mode);
+       */
+
+}
+
+static void layout_menu_stereo_mode_cb(GtkRadioAction *action, GtkRadioAction *current, gpointer data)
+{
+       LayoutWindow *lw = data;
+       gint mode = gtk_radio_action_get_current_value(action);
+       layout_image_stereo_pixbuf_set(lw, mode);
+}
+
 static void layout_menu_help_cb(GtkAction *action, gpointer data)
 {
        LayoutWindow *lw = data;
@@ -1025,7 +1043,7 @@ static void layout_menu_back_cb(GtkAction *action, gpointer data)
        if (!path) return;
        
        /* Open previous path */
-       dir_fd = file_data_new_simple(path);
+       dir_fd = file_data_new_dir(path);
        layout_set_fd(lw, dir_fd);
        file_data_unref(dir_fd);
 }
@@ -1042,7 +1060,7 @@ static void layout_menu_home_cb(GtkAction *action, gpointer data)
 
        if (path)
                {
-               FileData *dir_fd = file_data_new_simple(path);
+               FileData *dir_fd = file_data_new_dir(path);
                layout_set_fd(lw, dir_fd);
                file_data_unref(dir_fd);
                }
@@ -1084,6 +1102,8 @@ static void layout_color_menu_enable_cb(GtkToggleAction *action, gpointer data)
 #ifdef HAVE_LCMS
        LayoutWindow *lw = data;
 
+       if (layout_image_color_profile_get_use(lw) == gtk_toggle_action_get_active(action)) return;
+
        layout_image_color_profile_set_use(lw, gtk_toggle_action_get_active(action));
        layout_util_sync_color(lw);
        layout_image_refresh(lw);
@@ -1098,6 +1118,7 @@ static void layout_color_menu_use_image_cb(GtkToggleAction *action, gpointer dat
        gboolean use_image;
 
        if (!layout_image_color_profile_get(lw, &input, &use_image)) return;
+       if (use_image == gtk_toggle_action_get_active(action)) return;
        layout_image_color_profile_set(lw, input, gtk_toggle_action_get_active(action));
        layout_util_sync_color(lw);
        layout_image_refresh(lw);
@@ -1240,6 +1261,7 @@ static GtkActionEntry menu_entries[] = {
   { "ColorMenu",       NULL,                   N_("_Color Management"),                NULL,                   NULL,                                   NULL },
   { "ConnectZoomMenu", NULL,                   N_("_Connected Zoom"),                  NULL,                   NULL,                                   NULL },
   { "SplitMenu",       NULL,                   N_("Spli_t"),                           NULL,                   NULL,                                   NULL },
+  { "StereoMenu",      NULL,                   N_("Stere_o"),                          NULL,                   NULL,                                   NULL },
   { "OverlayMenu",     NULL,                   N_("Image _Overlay"),                   NULL,                   NULL,                                   NULL },
   { "HelpMenu",                NULL,                   N_("_Help"),                            NULL,                   NULL,                                   NULL },
 
@@ -1339,6 +1361,7 @@ static GtkActionEntry menu_entries[] = {
   { "About",           GTK_STOCK_ABOUT,        N_("_About"),                           NULL,                   N_("About"),                            CB(layout_menu_about_cb) },
   { "LogWindow",       NULL,                   N_("_Log Window"),                      NULL,                   N_("Log Window"),                       CB(layout_menu_log_window_cb) },
   { "ExifWin",         NULL,                   N_("_Exif window"),                     "<control>E",           N_("Exif window"),                      CB(layout_menu_bar_exif_cb) },
+  { "StereoCycle",     NULL,                   N_("_Cycle through stereo modes"),      NULL,                   N_("Cycle through stereo modes"),       CB(layout_menu_stereo_mode_next_cb) },
 
 };
 
@@ -1397,6 +1420,13 @@ static GtkRadioActionEntry menu_histogram_mode[] = {
   { "HistogramModeLog",        NULL,                   N_("_Log Histogram"),                   NULL,                   N_("Log Histogram"),            1 },
 };
 
+static GtkRadioActionEntry menu_stereo_mode_entries[] = {
+  { "StereoAuto",      NULL,                   N_("_Auto"),                            NULL,                   N_("Stereo Auto"),              STEREO_PIXBUF_DEFAULT },
+  { "StereoSBS",       NULL,                   N_("_Side by Side"),                    NULL,                   N_("Stereo Side by Side"),      STEREO_PIXBUF_SBS },
+  { "StereoCross",     NULL,                   N_("_Cross"),                           NULL,                   N_("Stereo Cross"),             STEREO_PIXBUF_CROSS },
+  { "StereoOff",       NULL,                   N_("_Off"),                             NULL,                   N_("Stereo Off"),               STEREO_PIXBUF_NONE }
+};
+
 
 #undef CB
 
@@ -1535,6 +1565,14 @@ static const gchar *menu_ui_description =
 "        <menuitem action='SplitQuad'/>"
 "        <menuitem action='SplitSingle'/>"
 "      </menu>"
+"      <menu action='StereoMenu'>"
+"        <menuitem action='StereoAuto'/>"
+"        <menuitem action='StereoSBS'/>"
+"        <menuitem action='StereoCross'/>"
+"        <menuitem action='StereoOff'/>"
+"        <separator/>"
+"        <menuitem action='StereoCycle'/>"
+"      </menu>"
 "      <menu action='ColorMenu'>"
 "        <menuitem action='UseColorProfiles'/>"
 "        <menuitem action='UseImageProfile'/>"
@@ -1716,7 +1754,7 @@ static GList *layout_actions_editor_menu_path(EditorDescription *editor)
        gint i = 0;
        GList *ret = NULL;
        
-       if (split[0] == NULL) 
+       if (split[0] == NULL)
                {
                g_strfreev(split);
                return NULL;
@@ -1800,6 +1838,16 @@ static void layout_actions_setup_editors(LayoutWindow *lw)
        GList *old_path;
        GString *desc;
        
+       if (lw->ui_editors_id)
+               {
+               gtk_ui_manager_remove_ui(lw->ui_manager, lw->ui_editors_id);
+               }
+
+       if (lw->action_group_editors)
+               {
+               gtk_ui_manager_remove_action_group(lw->ui_manager, lw->action_group_editors);
+               g_object_unref(lw->action_group_editors);
+               }
        lw->action_group_editors = gtk_action_group_new("MenuActionsExternal");
        gtk_ui_manager_insert_action_group(lw->ui_manager, lw->action_group_editors, 1);
 
@@ -1816,14 +1864,14 @@ static void layout_actions_setup_editors(LayoutWindow *lw)
                {
                GList *path;
                EditorDescription *editor = work->data;
-               GtkActionEntry entry = { editor->key, 
+               GtkActionEntry entry = { editor->key,
                                         NULL,
                                         editor->name,
-                                        editor->hotkey, 
+                                        editor->hotkey,
                                         editor->comment ? editor->comment : editor->name,
                                         G_CALLBACK(layout_menu_edit_cb) };
                
-               if (editor->icon && register_theme_icon_as_stock(editor->key, editor->icon))
+               if (editor->icon)
                        {
                        entry.stock_id = editor->key;
                        }
@@ -1861,6 +1909,7 @@ void layout_actions_setup(LayoutWindow *lw)
        GError *error;
        gint i;
 
+       DEBUG_1("%s layout_actions_setup: start", get_exec_time());
        if (lw->ui_manager) return;
 
        lw->action_group = gtk_action_group_new("MenuActions");
@@ -1888,12 +1937,16 @@ void layout_actions_setup(LayoutWindow *lw)
        gtk_action_group_add_radio_actions(lw->action_group,
                                           menu_histogram_mode, G_N_ELEMENTS(menu_histogram_mode),
                                           0, G_CALLBACK(layout_menu_histogram_mode_cb), lw);
+       gtk_action_group_add_radio_actions(lw->action_group,
+                                          menu_stereo_mode_entries, G_N_ELEMENTS(menu_stereo_mode_entries),
+                                          0, G_CALLBACK(layout_menu_stereo_mode_cb), lw);
 
 
        lw->ui_manager = gtk_ui_manager_new();
        gtk_ui_manager_set_add_tearoffs(lw->ui_manager, TRUE);
        gtk_ui_manager_insert_action_group(lw->ui_manager, lw->action_group, 0);
 
+       DEBUG_1("%s layout_actions_setup: add menu", get_exec_time());
        error = NULL;
        if (!gtk_ui_manager_add_ui_from_string(lw->ui_manager, menu_ui_description, -1, &error))
                {
@@ -1902,43 +1955,91 @@ void layout_actions_setup(LayoutWindow *lw)
                exit(EXIT_FAILURE);
                }
        
+       DEBUG_1("%s layout_actions_setup: add toolbar", get_exec_time());
        for (i = 0; i < TOOLBAR_COUNT; i++)
                {
                layout_toolbar_clear(lw, i);
                layout_toolbar_add_default(lw, i);
                }
        
+
+       DEBUG_1("%s layout_actions_setup: marks", get_exec_time());
        layout_actions_setup_marks(lw);
+
+       DEBUG_1("%s layout_actions_setup: editors", get_exec_time());
        layout_actions_setup_editors(lw);
 
+       DEBUG_1("%s layout_actions_setup: status_update_write", get_exec_time());
        layout_util_status_update_write(lw);
        
+       DEBUG_1("%s layout_actions_setup: actions_add_window", get_exec_time());
        layout_actions_add_window(lw, lw->window);
+       DEBUG_1("%s layout_actions_setup: end", get_exec_time());
 }
 
-void layout_editors_reload_all(void)
-{
-       GList *work;
+static gint layout_editors_reload_idle_id = -1;
+static GList *layout_editors_desktop_files = NULL;
 
-       work = layout_window_list;
-       while (work)
+static gboolean layout_editors_reload_idle_cb(gpointer data)
+{
+       if (!layout_editors_desktop_files)
                {
-               LayoutWindow *lw = work->data;
-               work = work->next;
-
-               gtk_ui_manager_remove_ui(lw->ui_manager, lw->ui_editors_id);
-               gtk_ui_manager_remove_action_group(lw->ui_manager, lw->action_group_editors);
-               g_object_unref(lw->action_group_editors);
+               DEBUG_1("%s layout_editors_reload_idle_cb: get_desktop_files", get_exec_time());
+               layout_editors_desktop_files = editor_get_desktop_files();
+               return TRUE;
                }
        
-       editor_load_descriptions();
+       editor_read_desktop_file(layout_editors_desktop_files->data);
+       g_free(layout_editors_desktop_files->data);
+       layout_editors_desktop_files = g_list_delete_link(layout_editors_desktop_files, layout_editors_desktop_files);
        
-       work = layout_window_list;
-       while (work)
+       
+       if (!layout_editors_desktop_files)
                {
-               LayoutWindow *lw = work->data;
-               work = work->next;
-               layout_actions_setup_editors(lw);
+               GList *work;
+               DEBUG_1("%s layout_editors_reload_idle_cb: setup_editors", get_exec_time());
+               editor_table_finish();
+
+               work = layout_window_list;
+               while (work)
+                       {
+                       LayoutWindow *lw = work->data;
+                       work = work->next;
+                       layout_actions_setup_editors(lw);
+                       }
+
+               DEBUG_1("%s layout_editors_reload_idle_cb: setup_editors done", get_exec_time());
+               
+               layout_editors_reload_idle_id = -1;
+               return FALSE;
+               }
+       return TRUE;
+}
+
+void layout_editors_reload_start(void)
+{
+       DEBUG_1("%s layout_editors_reload_start", get_exec_time());
+
+       if (layout_editors_reload_idle_id != -1)
+               {
+               g_source_remove(layout_editors_reload_idle_id);
+               string_list_free(layout_editors_desktop_files);
+               }
+
+       editor_table_clear();
+       layout_editors_reload_idle_id = g_idle_add(layout_editors_reload_idle_cb, NULL);
+}
+       
+void layout_editors_reload_finish(void)
+{
+       if (layout_editors_reload_idle_id != -1)
+               {
+               DEBUG_1("%s layout_editors_reload_finish", get_exec_time());
+               g_source_remove(layout_editors_reload_idle_id);
+               while (layout_editors_reload_idle_id != -1)
+                       {
+                       layout_editors_reload_idle_cb(NULL);
+                       }
                }
 }
 
@@ -1985,7 +2086,7 @@ GtkWidget *layout_actions_toolbar(LayoutWindow *lw, ToolbarType type)
 
 void layout_toolbar_clear(LayoutWindow *lw, ToolbarType type)
 {
-       if (lw->toolbar_merge_id[type]) 
+       if (lw->toolbar_merge_id[type])
                {
                gtk_ui_manager_remove_ui(lw->ui_manager, lw->toolbar_merge_id[type]);
                gtk_ui_manager_ensure_update(lw->ui_manager);
@@ -2016,7 +2117,30 @@ void layout_toolbar_add(LayoutWindow *lw, ToolbarType type, const gchar *action)
                        break;
                }
        
-       gtk_ui_manager_add_ui(lw->ui_manager, lw->toolbar_merge_id[type], path, action, action, GTK_UI_MANAGER_TOOLITEM, FALSE); 
+       
+       if (g_str_has_suffix(action, ".desktop"))
+               {
+               /* this may be called before the external editors are read
+                  create a dummy action for now */
+                 
+               if (!lw->action_group_editors)
+                       {
+                       lw->action_group_editors = gtk_action_group_new("MenuActionsExternal");
+                       gtk_ui_manager_insert_action_group(lw->ui_manager, lw->action_group_editors, 1);
+                       }
+               if (!gtk_action_group_get_action(lw->action_group_editors, action))
+                       {
+                       GtkActionEntry entry = { action,
+                                                GTK_STOCK_MISSING_IMAGE,
+                                                action,
+                                                NULL,
+                                                NULL,
+                                                NULL };
+                       DEBUG_1("Creating temporary action %s", action);
+                       gtk_action_group_add_actions(lw->action_group_editors, &entry, 1, lw);
+                       }
+               }
+       gtk_ui_manager_add_ui(lw->ui_manager, lw->toolbar_merge_id[type], path, action, action, GTK_UI_MANAGER_TOOLITEM, FALSE);
        lw->toolbar_actions[type] = g_list_append(lw->toolbar_actions[type], g_strdup(action));
 }
 
@@ -2094,7 +2218,7 @@ void layout_toolbar_add_from_config(LayoutWindow *lw, ToolbarType type, const gc
                }
 
        layout_toolbar_add(lw, type, action);
-       g_free(action); 
+       g_free(action);
 }
 
 /*
@@ -2224,13 +2348,13 @@ static void layout_util_sync_views(LayoutWindow *lw)
        if (!lw->action_group) return;
 
        action = gtk_action_group_get_action(lw->action_group, "FolderTree");
-       radio_action_set_current_value(GTK_RADIO_ACTION(action), lw->options.dir_view_type);
+       gtk_radio_action_set_current_value(GTK_RADIO_ACTION(action), lw->options.dir_view_type);
 
        action = gtk_action_group_get_action(lw->action_group, "SplitSingle");
-       radio_action_set_current_value(GTK_RADIO_ACTION(action), lw->split_mode);
+       gtk_radio_action_set_current_value(GTK_RADIO_ACTION(action), lw->split_mode);
 
        action = gtk_action_group_get_action(lw->action_group, "ViewIcons");
-       radio_action_set_current_value(GTK_RADIO_ACTION(action), lw->options.file_view_type);
+       gtk_radio_action_set_current_value(GTK_RADIO_ACTION(action), lw->options.file_view_type);
 
        action = gtk_action_group_get_action(lw->action_group, "FloatTools");
        gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), lw->options.tools_float);
@@ -2262,15 +2386,18 @@ static void layout_util_sync_views(LayoutWindow *lw)
        if (osd_flags & OSD_SHOW_HISTOGRAM)
                {
                action = gtk_action_group_get_action(lw->action_group, "HistogramChanR");
-               radio_action_set_current_value(GTK_RADIO_ACTION(action), image_osd_histogram_get_channel(lw->image));
+               gtk_radio_action_set_current_value(GTK_RADIO_ACTION(action), image_osd_histogram_get_channel(lw->image));
 
                action = gtk_action_group_get_action(lw->action_group, "HistogramModeLin");
-               radio_action_set_current_value(GTK_RADIO_ACTION(action), image_osd_histogram_get_mode(lw->image));
+               gtk_radio_action_set_current_value(GTK_RADIO_ACTION(action), image_osd_histogram_get_mode(lw->image));
                }
 
        action = gtk_action_group_get_action(lw->action_group, "ConnectZoomMenu");
        gtk_action_set_sensitive(action, lw->split_mode != SPLIT_NONE);
 
+       action = gtk_action_group_get_action(lw->action_group, "StereoAuto");
+       gtk_radio_action_set_current_value(GTK_RADIO_ACTION(action), layout_image_stereo_pixbuf_get(lw));
+
        layout_util_sync_color(lw);
 }
 
@@ -2302,7 +2429,7 @@ void layout_util_sync(LayoutWindow *lw)
 
 static gboolean layout_bar_enabled(LayoutWindow *lw)
 {
-       return lw->bar && GTK_WIDGET_VISIBLE(lw->bar);
+       return lw->bar && gtk_widget_get_visible(lw->bar);
 }
 
 static void layout_bar_destroyed(GtkWidget *widget, gpointer data)
@@ -2310,7 +2437,7 @@ static void layout_bar_destroyed(GtkWidget *widget, gpointer data)
        LayoutWindow *lw = data;
 
        lw->bar = NULL;
-/* 
+/*
     do not call layout_util_sync_views(lw) here
     this is called either when whole layout is destroyed - no need for update
     or when the bar is replaced - sync is called by upper function at the end of whole operation
@@ -2355,7 +2482,7 @@ void layout_bar_set(LayoutWindow *lw, GtkWidget *bar)
 
 
 //     gtk_box_pack_start(GTK_BOX(lw->utility_box), lw->bar, FALSE, FALSE, 0);
-       gtk_paned_pack2(GTK_PANED(lw->utility_paned), lw->bar, FALSE, TRUE); 
+       gtk_paned_pack2(GTK_PANED(lw->utility_paned), lw->bar, FALSE, TRUE);
 
        bar_set_fd(lw->bar, layout_image_get_fd(lw));
 }
@@ -2395,7 +2522,7 @@ static void layout_bar_new_selection(LayoutWindow *lw, gint count)
 
 static gboolean layout_bar_sort_enabled(LayoutWindow *lw)
 {
-       return lw->bar_sort && GTK_WIDGET_VISIBLE(lw->bar_sort);
+       return lw->bar_sort && gtk_widget_get_visible(lw->bar_sort);
 }
 
 
@@ -2405,7 +2532,7 @@ static void layout_bar_sort_destroyed(GtkWidget *widget, gpointer data)
 
        lw->bar_sort = NULL;
 
-/* 
+/*
     do not call layout_util_sync_views(lw) here
     this is called either when whole layout is destroyed - no need for update
     or when the bar is replaced - sync is called by upper function at the end of whole operation
@@ -2488,7 +2615,7 @@ GtkWidget *layout_bars_prepare(LayoutWindow *lw, GtkWidget *image)
        lw->utility_paned = gtk_hpaned_new();
        gtk_box_pack_start(GTK_BOX(lw->utility_box), lw->utility_paned, TRUE, TRUE, 0);
 
-       gtk_paned_pack1(GTK_PANED(lw->utility_paned), image, TRUE, FALSE); 
+       gtk_paned_pack1(GTK_PANED(lw->utility_paned), image, TRUE, FALSE);
        gtk_widget_show(lw->utility_paned);
        
        gtk_widget_show(image);
@@ -2511,7 +2638,7 @@ static void layout_exif_window_destroy(GtkWidget *widget, gpointer data)
 
 void layout_exif_window_new(LayoutWindow *lw)
 {
-       if (lw->exif_window) return; 
+       if (lw->exif_window) return;
        
        lw->exif_window = advanced_exif_new();
        if (!lw->exif_window) return;