Sort headers using clang-tidy
[geeqie.git] / src / img-view.cc
index 5a84e7b..9a00b94 100644 (file)
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
-#include "main.h"
 #include "img-view.h"
 
-#include "collect.h"
+#include <config.h>
+
 #include "collect-io.h"
+#include "collect.h"
+#include "compat.h"
+#include "debug.h"
 #include "dnd.h"
 #include "editors.h"
 #include "filedata.h"
 #include "fullscreen.h"
-#include "image.h"
 #include "image-load.h"
 #include "image-overlay.h"
+#include "image.h"
+#include "intl.h"
 #include "layout-util.h"
+#include "main-defines.h"
+#include "main.h"
 #include "menu.h"
 #include "misc.h"
 #include "pixbuf-util.h"
@@ -43,8 +49,7 @@
 #include "utilops.h"
 #include "window.h"
 
-typedef struct _ViewWindow ViewWindow;
-struct _ViewWindow
+struct ViewWindow
 {
        GtkWidget *window;
        ImageWindow *imd;
@@ -56,7 +61,7 @@ struct _ViewWindow
 };
 
 
-static GList *view_window_list = NULL;
+static GList *view_window_list = nullptr;
 
 
 static GtkWidget *view_popup_menu(ViewWindow *vw);
@@ -130,7 +135,7 @@ hard_coded_window_keys image_window_keys[] = {
        {static_cast<GdkModifierType>(0), GDK_KEY_Escape, N_("Close window")},
        {GDK_SHIFT_MASK, 'G', N_("Desaturate")},
        {GDK_SHIFT_MASK, 'P', N_("Print")},
-       {static_cast<GdkModifierType>(0), 0, NULL}
+       {static_cast<GdkModifierType>(0), 0, nullptr}
 };
 
 
@@ -151,8 +156,8 @@ static void view_window_set_list(ViewWindow *vw, GList *list)
 {
 
        filelist_free(vw->list);
-       vw->list = NULL;
-       vw->list_pointer = NULL;
+       vw->list = nullptr;
+       vw->list_pointer = nullptr;
 
        vw->list = filelist_copy(list);
 }
@@ -172,7 +177,7 @@ static void view_collection_step(ViewWindow *vw, gboolean next)
        ImageWindow *imd = view_window_active_image(vw);
        CollectionData *cd;
        CollectInfo *info;
-       CollectInfo *read_ahead_info = NULL;
+       CollectInfo *read_ahead_info = nullptr;
 
        cd = image_get_collection(imd, &info);
 
@@ -211,7 +216,7 @@ static void view_collection_step_to_end(ViewWindow *vw, gboolean last)
        ImageWindow *imd = view_window_active_image(vw);
        CollectionData *cd;
        CollectInfo *info;
-       CollectInfo *read_ahead_info = NULL;
+       CollectInfo *read_ahead_info = nullptr;
 
        cd = image_get_collection(imd, &info);
 
@@ -274,7 +279,7 @@ static void view_list_step(ViewWindow *vw, gboolean next)
                }
        if (!work) return;
 
-       work_ahead = NULL;
+       work_ahead = nullptr;
        if (next)
                {
                work = work->next;
@@ -380,7 +385,7 @@ static void view_step_to_end(ViewWindow *vw, gboolean last)
  *-----------------------------------------------------------------------------
  */
 
-static void view_window_press_cb(GtkWidget *UNUSED(widget), GdkEventButton *bevent, gpointer data)
+static void view_window_press_cb(GtkWidget *, GdkEventButton *bevent, gpointer data)
 {
        auto vw = static_cast<ViewWindow *>(data);
 
@@ -459,17 +464,17 @@ static gboolean view_window_key_press_cb(GtkWidget * (widget), GdkEventKey *even
                        case '0':
                                break;
                        case 'C': case 'c':
-                               file_util_copy(image_get_fd(imd), NULL, NULL, imd->widget);
+                               file_util_copy(image_get_fd(imd), nullptr, nullptr, imd->widget);
                                break;
                        case 'M': case 'm':
-                               file_util_move(image_get_fd(imd), NULL, NULL, imd->widget);
+                               file_util_move(image_get_fd(imd), nullptr, nullptr, imd->widget);
                                break;
                        case 'R': case 'r':
-                               file_util_rename(image_get_fd(imd), NULL, imd->widget);
+                               file_util_rename(image_get_fd(imd), nullptr, imd->widget);
                                break;
                        case 'D': case 'd':
                                options->file_ops.safe_delete_enable = TRUE;
-                               file_util_delete(image_get_fd(imd), NULL, imd->widget);
+                               file_util_delete(image_get_fd(imd), nullptr, imd->widget);
                                break;
                        case 'W': case 'w':
                                view_window_close(vw);
@@ -504,7 +509,7 @@ static gboolean view_window_key_press_cb(GtkWidget * (widget), GdkEventKey *even
                                imd = view_window_active_image(vw);
                                fd = image_get_fd(imd);
                                print_window_new(fd,
-                                                fd ? g_list_append(NULL, file_data_ref(fd)) : NULL,
+                                                fd ? g_list_append(nullptr, file_data_ref(fd)) : nullptr,
                                                 filelist_copy(vw->list), vw->window);
                                }
                                break;
@@ -512,7 +517,7 @@ static gboolean view_window_key_press_cb(GtkWidget * (widget), GdkEventKey *even
                                if (options->file_ops.enable_delete_key)
                                        {
                                        options->file_ops.safe_delete_enable = FALSE;
-                                       file_util_delete(image_get_fd(imd), NULL, imd->widget);
+                                       file_util_delete(image_get_fd(imd), nullptr, imd->widget);
                                        }
                                break;
                        default:
@@ -611,7 +616,7 @@ static gboolean view_window_key_press_cb(GtkWidget * (widget), GdkEventKey *even
                                if (options->file_ops.enable_delete_key)
                                        {
                                        options->file_ops.safe_delete_enable = TRUE;
-                                       file_util_delete(image_get_fd(imd), NULL, imd->widget);
+                                       file_util_delete(image_get_fd(imd), nullptr, imd->widget);
                                        }
                                break;
                        case GDK_KEY_Escape:
@@ -627,7 +632,7 @@ static gboolean view_window_key_press_cb(GtkWidget * (widget), GdkEventKey *even
                        case GDK_KEY_Menu:
                        case GDK_KEY_F10:
                                menu = view_popup_menu(vw);
-                               gtk_menu_popup_at_widget(GTK_MENU(menu), widget, GDK_GRAVITY_CENTER, GDK_GRAVITY_CENTER, NULL);
+                               gtk_menu_popup_at_widget(GTK_MENU(menu), widget, GDK_GRAVITY_CENTER, GDK_GRAVITY_CENTER, nullptr);
                                break;
                        default:
                                stop_signal = FALSE;
@@ -658,7 +663,7 @@ static void button_cb(ImageWindow *imd, GdkEventButton *event, gpointer data)
        switch (event->button)
                {
                case MOUSE_BUTTON_LEFT:
-                       if (options->image_l_click_archive && imd->image_fd->format_class == FORMAT_CLASS_ARCHIVE)
+                       if (options->image_l_click_archive && imd->image_fd->format_class == FORMAT_CLASS_ARCHIVE)
                                {
                                dest_dir = open_archive(imd->image_fd);
                                if (dest_dir)
@@ -669,10 +674,10 @@ static void button_cb(ImageWindow *imd, GdkEventButton *event, gpointer data)
                                        }
                                else
                                        {
-                                       warning_dialog(_("Cannot open archive file"), _("See the Log Window"), GTK_STOCK_DIALOG_WARNING, NULL);
+                                       warning_dialog(_("Cannot open archive file"), _("See the Log Window"), GQ_ICON_DIALOG_WARNING, nullptr);
                                        }
                                }
-                       else if (options->image_l_click_video && options->image_l_click_video_editor && imd->image_fd->format_class == FORMAT_CLASS_VIDEO)
+                       else if (options->image_l_click_video && options->image_l_click_video_editor && imd->image_fd->format_class == FORMAT_CLASS_VIDEO)
                                {
                                start_editor_from_file(options->image_l_click_video_editor, imd->image_fd);
                                }
@@ -685,7 +690,7 @@ static void button_cb(ImageWindow *imd, GdkEventButton *event, gpointer data)
                        break;
                case MOUSE_BUTTON_RIGHT:
                        menu = view_popup_menu(vw);
-                       gtk_menu_popup_at_pointer(GTK_MENU(menu), NULL);
+                       gtk_menu_popup_at_pointer(GTK_MENU(menu), nullptr);
                        break;
                default:
                        break;
@@ -753,11 +758,11 @@ static void view_image_set_buttons(ViewWindow *vw, ImageWindow *imd)
        image_set_scroll_func(imd, scroll_cb, vw);
 }
 
-static void view_fullscreen_stop_func(FullScreenData *UNUSED(fs), gpointer data)
+static void view_fullscreen_stop_func(FullScreenData *, gpointer data)
 {
        auto vw = static_cast<ViewWindow *>(data);
 
-       vw->fs = NULL;
+       vw->fs = nullptr;
 
        if (vw->ss) vw->ss->imd = vw->imd;
 }
@@ -810,13 +815,13 @@ static void view_slideshow_prev(ViewWindow *vw)
        if (vw->ss) slideshow_prev(vw->ss);
 }
 
-static void view_slideshow_stop_func(SlideShowData *UNUSED(fs), gpointer data)
+static void view_slideshow_stop_func(SlideShowData *, gpointer data)
 {
        auto vw = static_cast<ViewWindow *>(data);
        GList *work;
        FileData *fd;
 
-       vw->ss = NULL;
+       vw->ss = nullptr;
 
        work = vw->list;
        fd = image_get_fd(view_window_active_image(vw));
@@ -828,7 +833,7 @@ static void view_slideshow_stop_func(SlideShowData *UNUSED(fs), gpointer data)
                if (fd == temp)
                        {
                        vw->list_pointer = work;
-                       work = NULL;
+                       work = nullptr;
                        }
                else
                        {
@@ -846,17 +851,17 @@ static void view_slideshow_start(ViewWindow *vw)
 
                if (vw->list)
                        {
-                       vw->ss = slideshow_start_from_filelist(NULL, view_window_active_image(vw),
+                       vw->ss = slideshow_start_from_filelist(nullptr, view_window_active_image(vw),
                                                                filelist_copy(vw->list),
                                                                view_slideshow_stop_func, vw);
-                       vw->list_pointer = NULL;
+                       vw->list_pointer = nullptr;
                        return;
                        }
 
                cd = image_get_collection(view_window_active_image(vw), &info);
                if (cd && info)
                        {
-                       vw->ss = slideshow_start_from_collection(NULL, view_window_active_image(vw), cd,
+                       vw->ss = slideshow_start_from_collection(nullptr, view_window_active_image(vw), cd,
                                                                 view_slideshow_stop_func, vw, info);
                        }
                }
@@ -867,7 +872,7 @@ static void view_slideshow_stop(ViewWindow *vw)
        if (vw->ss) slideshow_free(vw->ss);
 }
 
-static void view_window_destroy_cb(GtkWidget *UNUSED(widget), gpointer data)
+static void view_window_destroy_cb(GtkWidget *, gpointer data)
 {
        auto vw = static_cast<ViewWindow *>(data);
 
@@ -887,10 +892,10 @@ static void view_window_close(ViewWindow *vw)
 {
        view_slideshow_stop(vw);
        view_fullscreen_toggle(vw, TRUE);
-       gtk_widget_destroy(vw->window);
+       gq_gtk_widget_destroy(vw->window);
 }
 
-static gboolean view_window_delete_cb(GtkWidget *UNUSED(w), GdkEventAny *UNUSED(event), gpointer data)
+static gboolean view_window_delete_cb(GtkWidget *, GdkEventAny *, gpointer data)
 {
        auto vw = static_cast<ViewWindow *>(data);
 
@@ -903,18 +908,19 @@ static ViewWindow *real_view_window_new(FileData *fd, GList *list, CollectionDat
        ViewWindow *vw;
        GtkAllocation req_size;
        GdkGeometry geometry;
-       gint w, h;
+       gint w;
+       gint h;
 
-       if (!fd && !list && (!cd || !info)) return NULL;
+       if (!fd && !list && (!cd || !info)) return nullptr;
 
        vw = g_new0(ViewWindow, 1);
 
-       vw->window = window_new(GTK_WINDOW_TOPLEVEL, "view", PIXBUF_INLINE_ICON_VIEW, NULL, NULL);
+       vw->window = window_new("view", PIXBUF_INLINE_ICON_VIEW, nullptr, nullptr);
        DEBUG_NAME(vw->window);
 
        geometry.min_width = DEFAULT_MINIMAL_WINDOW_SIZE;
        geometry.min_height = DEFAULT_MINIMAL_WINDOW_SIZE;
-       gtk_window_set_geometry_hints(GTK_WINDOW(vw->window), NULL, &geometry, GDK_HINT_MIN_SIZE);
+       gtk_window_set_geometry_hints(GTK_WINDOW(vw->window), nullptr, &geometry, GDK_HINT_MIN_SIZE);
 
        gtk_window_set_resizable(GTK_WINDOW(vw->window), TRUE);
        gtk_container_set_border_width(GTK_CONTAINER(vw->window), 0);
@@ -927,12 +933,12 @@ static ViewWindow *real_view_window_new(FileData *fd, GList *list, CollectionDat
 
        image_background_set_color_from_options(vw->imd, FALSE);
 
-       image_attach_window(vw->imd, vw->window, NULL, GQ_APPNAME, TRUE);
+       image_attach_window(vw->imd, vw->window, nullptr, GQ_APPNAME, TRUE);
 
        image_auto_refresh_enable(vw->imd, TRUE);
        image_top_window_set_sync(vw->imd, TRUE);
 
-       gtk_container_add(GTK_CONTAINER(vw->window), vw->imd->widget);
+       gq_gtk_container_add(GTK_WIDGET(vw->window), vw->imd->widget);
        gtk_widget_show(vw->imd->widget);
 
        view_window_dnd_init(vw);
@@ -950,7 +956,7 @@ static ViewWindow *real_view_window_new(FileData *fd, GList *list, CollectionDat
 
        if (cd && info)
                {
-               image_change_from_collection(vw->imd, cd, info, image_zoom_get_default(NULL));
+               image_change_from_collection(vw->imd, cd, info, image_zoom_get_default(nullptr));
                /* Grab the fd so we can correctly size the window in
                   the call to image_load_dimensions() below. */
                fd = info->fd;
@@ -965,7 +971,7 @@ static ViewWindow *real_view_window_new(FileData *fd, GList *list, CollectionDat
                {
                view_window_set_list(vw, list);
                vw->list_pointer = vw->list;
-               image_change_fd(vw->imd, static_cast<FileData *>(vw->list->data), image_zoom_get_default(NULL));
+               image_change_fd(vw->imd, static_cast<FileData *>(vw->list->data), image_zoom_get_default(nullptr));
                /* Set fd to first in list */
                fd = static_cast<FileData *>(vw->list->data);
 
@@ -977,7 +983,7 @@ static ViewWindow *real_view_window_new(FileData *fd, GList *list, CollectionDat
                }
        else
                {
-               image_change_fd(vw->imd, fd, image_zoom_get_default(NULL));
+               image_change_fd(vw->imd, fd, image_zoom_get_default(nullptr));
                }
 
        /* Wait until image is loaded otherwise size is not defined */
@@ -1017,7 +1023,7 @@ static ViewWindow *real_view_window_new(FileData *fd, GList *list, CollectionDat
        return vw;
 }
 
-static void view_window_collection_unref_cb(GtkWidget *UNUSED(widget), gpointer data)
+static void view_window_collection_unref_cb(GtkWidget *, gpointer data)
 {
        auto cd = static_cast<CollectionData *>(data);
 
@@ -1044,38 +1050,38 @@ void view_window_new(FileData *fd)
                        else
                                {
                                collection_unref(cd);
-                               cd = NULL;
-                               info = NULL;
+                               cd = nullptr;
+                               info = nullptr;
                                }
-                       vw = real_view_window_new(NULL, NULL, cd, info);
+                       vw = real_view_window_new(nullptr, nullptr, cd, info);
                        if (vw && cd)
                                {
                                g_signal_connect(G_OBJECT(vw->window), "destroy",
                                                 G_CALLBACK(view_window_collection_unref_cb), cd);
                                }
                        }
-               else if (isdir(fd->path) && filelist_read(fd, &list, NULL))
+               else if (isdir(fd->path) && filelist_read(fd, &list, nullptr))
                        {
                        list = filelist_sort_path(list);
                        list = filelist_filter(list, FALSE);
-                       real_view_window_new(NULL, list, NULL, NULL);
+                       real_view_window_new(nullptr, list, nullptr, nullptr);
                        filelist_free(list);
                        }
                else
                        {
-                       real_view_window_new(fd, NULL, NULL, NULL);
+                       real_view_window_new(fd, nullptr, nullptr, nullptr);
                        }
                }
 }
 
 void view_window_new_from_list(GList *list)
 {
-       real_view_window_new(NULL, list, NULL, NULL);
+       real_view_window_new(nullptr, list, nullptr, nullptr);
 }
 
 void view_window_new_from_collection(CollectionData *cd, CollectInfo *info)
 {
-       real_view_window_new(NULL, NULL, cd, info);
+       real_view_window_new(nullptr, nullptr, cd, info);
 }
 
 /*
@@ -1084,7 +1090,7 @@ void view_window_new_from_collection(CollectionData *cd, CollectInfo *info)
  *-----------------------------------------------------------------------------
  */
 
-void view_window_colors_update(void)
+void view_window_colors_update()
 {
        GList *work;
 
@@ -1140,7 +1146,7 @@ gboolean view_window_find_image(ImageWindow *imd, gint *index, gint *total)
  *-----------------------------------------------------------------------------
  */
 
-static void view_new_window_cb(GtkWidget *UNUSED(widget), gpointer data)
+static void view_new_window_cb(GtkWidget *, gpointer data)
 {
        auto vw = static_cast<ViewWindow *>(data);
        CollectionData *cd;
@@ -1188,82 +1194,82 @@ static void view_alter_cb(GtkWidget *widget, gpointer data)
        image_alter_orientation(vw->imd, vw->imd->image_fd, type);
 }
 
-static void view_zoom_in_cb(GtkWidget *UNUSED(widget), gpointer data)
+static void view_zoom_in_cb(GtkWidget *, gpointer data)
 {
        auto vw = static_cast<ViewWindow *>(data);
 
        image_zoom_adjust(view_window_active_image(vw), get_zoom_increment());
 }
 
-static void view_zoom_out_cb(GtkWidget *UNUSED(widget), gpointer data)
+static void view_zoom_out_cb(GtkWidget *, gpointer data)
 {
        auto vw = static_cast<ViewWindow *>(data);
 
        image_zoom_adjust(view_window_active_image(vw), -get_zoom_increment());
 }
 
-static void view_zoom_1_1_cb(GtkWidget *UNUSED(widget), gpointer data)
+static void view_zoom_1_1_cb(GtkWidget *, gpointer data)
 {
        auto vw = static_cast<ViewWindow *>(data);
 
        image_zoom_set(view_window_active_image(vw), 1.0);
 }
 
-static void view_zoom_fit_cb(GtkWidget *UNUSED(widget), gpointer data)
+static void view_zoom_fit_cb(GtkWidget *, gpointer data)
 {
        auto vw = static_cast<ViewWindow *>(data);
 
        image_zoom_set(view_window_active_image(vw), 0.0);
 }
 
-static void view_copy_cb(GtkWidget *UNUSED(widget), gpointer data)
+static void view_copy_cb(GtkWidget *, gpointer data)
 {
        auto vw = static_cast<ViewWindow *>(data);
        ImageWindow *imd;
 
        imd = view_window_active_image(vw);
-       file_util_copy(image_get_fd(imd), NULL, NULL, imd->widget);
+       file_util_copy(image_get_fd(imd), nullptr, nullptr, imd->widget);
 }
 
-static void view_move_cb(GtkWidget *UNUSED(widget), gpointer data)
+static void view_move_cb(GtkWidget *, gpointer data)
 {
        auto vw = static_cast<ViewWindow *>(data);
        ImageWindow *imd;
 
        imd = view_window_active_image(vw);
-       file_util_move(image_get_fd(imd), NULL, NULL, imd->widget);
+       file_util_move(image_get_fd(imd), nullptr, nullptr, imd->widget);
 }
 
-static void view_rename_cb(GtkWidget *UNUSED(widget), gpointer data)
+static void view_rename_cb(GtkWidget *, gpointer data)
 {
        auto vw = static_cast<ViewWindow *>(data);
        ImageWindow *imd;
 
        imd = view_window_active_image(vw);
-       file_util_rename(image_get_fd(imd), NULL, imd->widget);
+       file_util_rename(image_get_fd(imd), nullptr, imd->widget);
 }
 
-static void view_delete_cb(GtkWidget *UNUSED(widget), gpointer data)
+static void view_delete_cb(GtkWidget *, gpointer data)
 {
        auto vw = static_cast<ViewWindow *>(data);
        ImageWindow *imd;
 
        imd = view_window_active_image(vw);
        options->file_ops.safe_delete_enable = FALSE;
-       file_util_delete(image_get_fd(imd), NULL, imd->widget);
+       file_util_delete(image_get_fd(imd), nullptr, imd->widget);
 }
 
-static void view_move_to_trash_cb(GtkWidget *UNUSED(widget), gpointer data)
+static void view_move_to_trash_cb(GtkWidget *, gpointer data)
 {
        auto vw = static_cast<ViewWindow *>(data);
        ImageWindow *imd;
 
        imd = view_window_active_image(vw);
        options->file_ops.safe_delete_enable = TRUE;
-       file_util_delete(image_get_fd(imd), NULL, imd->widget);
+       file_util_delete(image_get_fd(imd), nullptr, imd->widget);
 }
 
-static void view_copy_path_cb(GtkWidget *UNUSED(widget), gpointer data)
+static void view_copy_path_cb(GtkWidget *, gpointer data)
 {
        auto vw = static_cast<ViewWindow *>(data);
        ImageWindow *imd;
@@ -1272,7 +1278,7 @@ static void view_copy_path_cb(GtkWidget *UNUSED(widget), gpointer data)
        file_util_copy_path_to_clipboard(image_get_fd(imd), TRUE);
 }
 
-static void view_copy_path_unquoted_cb(GtkWidget *UNUSED(widget), gpointer data)
+static void view_copy_path_unquoted_cb(GtkWidget *, gpointer data)
 {
        auto vw = static_cast<ViewWindow *>(data);
        ImageWindow *imd;
@@ -1281,35 +1287,35 @@ static void view_copy_path_unquoted_cb(GtkWidget *UNUSED(widget), gpointer data)
        file_util_copy_path_to_clipboard(image_get_fd(imd), FALSE);
 }
 
-static void view_fullscreen_cb(GtkWidget *UNUSED(widget), gpointer data)
+static void view_fullscreen_cb(GtkWidget *, gpointer data)
 {
        auto vw = static_cast<ViewWindow *>(data);
 
        view_fullscreen_toggle(vw, FALSE);
 }
 
-static void view_slideshow_start_cb(GtkWidget *UNUSED(widget), gpointer data)
+static void view_slideshow_start_cb(GtkWidget *, gpointer data)
 {
        auto vw = static_cast<ViewWindow *>(data);
 
        view_slideshow_start(vw);
 }
 
-static void view_slideshow_stop_cb(GtkWidget *UNUSED(widget), gpointer data)
+static void view_slideshow_stop_cb(GtkWidget *, gpointer data)
 {
        auto vw = static_cast<ViewWindow *>(data);
 
        view_slideshow_stop(vw);
 }
 
-static void view_slideshow_pause_cb(GtkWidget *UNUSED(widget), gpointer data)
+static void view_slideshow_pause_cb(GtkWidget *, gpointer data)
 {
        auto vw = static_cast<ViewWindow *>(data);
 
        slideshow_pause_toggle(vw->ss);
 }
 
-static void view_close_cb(GtkWidget *UNUSED(widget), gpointer data)
+static void view_close_cb(GtkWidget *, gpointer data)
 {
        auto vw = static_cast<ViewWindow *>(data);
 
@@ -1320,14 +1326,14 @@ static LayoutWindow *view_new_layout_with_fd(FileData *fd)
 {
        LayoutWindow *nw;
 
-       nw = layout_new(NULL, NULL);
-       layout_sort_set(nw, options->file_sort.method, options->file_sort.ascending);
+       nw = layout_new(nullptr, nullptr);
+       layout_sort_set_files(nw, nw->options.file_view_list_sort.method, nw->options.file_view_list_sort.ascend, nw->options.file_view_list_sort.case_sensitive);
        layout_set_fd(nw, fd);
        return nw;
 }
 
 
-static void view_set_layout_path_cb(GtkWidget *UNUSED(widget), gpointer data)
+static void view_set_layout_path_cb(GtkWidget *, gpointer data)
 {
        auto vw = static_cast<ViewWindow *>(data);
        LayoutWindow *lw;
@@ -1345,7 +1351,7 @@ static void view_set_layout_path_cb(GtkWidget *UNUSED(widget), gpointer data)
        view_window_close(vw);
 }
 
-static void view_popup_menu_destroy_cb(GtkWidget *UNUSED(widget), gpointer data)
+static void view_popup_menu_destroy_cb(GtkWidget *, gpointer data)
 {
        auto editmenu_fd_list = static_cast<GList *>(data);
 
@@ -1354,13 +1360,13 @@ static void view_popup_menu_destroy_cb(GtkWidget *UNUSED(widget), gpointer data)
 
 static GList *view_window_get_fd_list(ViewWindow *vw)
 {
-       GList *list = NULL;
+       GList *list = nullptr;
        ImageWindow *imd = view_window_active_image(vw);
 
        if (imd)
                {
                FileData *fd = image_get_fd(imd);
-               if (fd) list = g_list_append(NULL, file_data_ref(fd));
+               if (fd) list = g_list_append(nullptr, file_data_ref(fd));
                }
 
        return list;
@@ -1378,7 +1384,7 @@ static void image_pop_menu_collections_cb(GtkWidget *widget, gpointer data)
        ViewWindow *vw;
        ImageWindow *imd;
        FileData *fd;
-       GList *selection_list = NULL;
+       GList *selection_list = nullptr;
 
        vw = static_cast<ViewWindow *>(submenu_item_get_data(widget));
        imd = view_window_active_image(vw);
@@ -1404,38 +1410,38 @@ static GtkWidget *view_popup_menu(ViewWindow *vw)
        g_object_set_data(G_OBJECT(menu), "window_keys", image_window_keys);
        g_object_set_data(G_OBJECT(menu), "accel_group", accel_group);
 
-       menu_item_add_stock(menu, _("Zoom _in"), GTK_STOCK_ZOOM_IN, G_CALLBACK(view_zoom_in_cb), vw);
-       menu_item_add_stock(menu, _("Zoom _out"), GTK_STOCK_ZOOM_OUT, G_CALLBACK(view_zoom_out_cb), vw);
-       menu_item_add_stock(menu, _("Zoom _1:1"), GTK_STOCK_ZOOM_100, G_CALLBACK(view_zoom_1_1_cb), vw);
-       menu_item_add_stock(menu, _("Zoom to fit"), GTK_STOCK_ZOOM_FIT, G_CALLBACK(view_zoom_fit_cb), vw);
+       menu_item_add_icon(menu, _("Zoom _in"), GQ_ICON_ZOOM_IN, G_CALLBACK(view_zoom_in_cb), vw);
+       menu_item_add_icon(menu, _("Zoom _out"), GQ_ICON_ZOOM_OUT, G_CALLBACK(view_zoom_out_cb), vw);
+       menu_item_add_icon(menu, _("Zoom _1:1"), GQ_ICON_ZOOM_100, G_CALLBACK(view_zoom_1_1_cb), vw);
+       menu_item_add_icon(menu, _("Zoom to fit"), GQ_ICON_ZOOM_FIT, G_CALLBACK(view_zoom_fit_cb), vw);
        menu_item_add_divider(menu);
 
        editmenu_fd_list = view_window_get_fd_list(vw);
        g_signal_connect(G_OBJECT(menu), "destroy",
                         G_CALLBACK(view_popup_menu_destroy_cb), editmenu_fd_list);
-       item = submenu_add_edit(menu, NULL, G_CALLBACK(view_edit_cb), vw, editmenu_fd_list);
+       item = submenu_add_edit(menu, nullptr, G_CALLBACK(view_edit_cb), vw, editmenu_fd_list);
        menu_item_add_divider(item);
 
        submenu_add_alter(menu, G_CALLBACK(view_alter_cb), vw);
 
-       menu_item_add_stock(menu, _("View in _new window"), GTK_STOCK_NEW, G_CALLBACK(view_new_window_cb), vw);
+       menu_item_add_icon(menu, _("View in _new window"), GQ_ICON_NEW, G_CALLBACK(view_new_window_cb), vw);
        item = menu_item_add(menu, _("_Go to directory view"), G_CALLBACK(view_set_layout_path_cb), vw);
 
        menu_item_add_divider(menu);
-       menu_item_add_stock(menu, _("_Copy..."), GTK_STOCK_COPY, G_CALLBACK(view_copy_cb), vw);
+       menu_item_add_icon(menu, _("_Copy..."), GQ_ICON_COPY, G_CALLBACK(view_copy_cb), vw);
        menu_item_add(menu, _("_Move..."), G_CALLBACK(view_move_cb), vw);
        menu_item_add(menu, _("_Rename..."), G_CALLBACK(view_rename_cb), vw);
        menu_item_add(menu, _("_Copy path"), G_CALLBACK(view_copy_path_cb), vw);
        menu_item_add(menu, _("_Copy path unquoted"), G_CALLBACK(view_copy_path_unquoted_cb), vw);
 
        menu_item_add_divider(menu);
-       menu_item_add_stock(menu,
+       menu_item_add_icon(menu,
                                options->file_ops.confirm_move_to_trash ? _("Move to Trash...") :
-                                       _("Move to Trash"), PIXBUF_INLINE_ICON_TRASH,
+                                       _("Move to Trash"), GQ_ICON_DELETE,
                                G_CALLBACK(view_move_to_trash_cb), vw);
-       menu_item_add_stock(menu,
+       menu_item_add_icon(menu,
                                options->file_ops.confirm_delete ? _("_Delete...") :
-                                       _("_Delete"), GTK_STOCK_DELETE,
+                                       _("_Delete"), GQ_ICON_DELETE_SHRED,
                                G_CALLBACK(view_delete_cb), vw);
 
        menu_item_add_divider(menu);
@@ -1462,22 +1468,22 @@ static GtkWidget *view_popup_menu(ViewWindow *vw)
        else
                {
                item = menu_item_add(menu, _("Toggle _slideshow"), G_CALLBACK(view_slideshow_start_cb), vw);
-               gtk_widget_set_sensitive(item, (vw->list != NULL) || view_window_contains_collection(vw));
+               gtk_widget_set_sensitive(item, (vw->list != nullptr) || view_window_contains_collection(vw));
                item = menu_item_add(menu, _("Pause slides_how"), G_CALLBACK(view_slideshow_pause_cb), vw);
                gtk_widget_set_sensitive(item, FALSE);
                }
 
        if (vw->fs)
                {
-               menu_item_add(menu, _("Exit _full screen"), G_CALLBACK(view_fullscreen_cb), vw);
+               menu_item_add_icon(menu, _("Exit _full screen"), GQ_ICON_LEAVE_FULLSCREEN, G_CALLBACK(view_fullscreen_cb), vw);
                }
        else
                {
-               menu_item_add(menu, _("_Full screen"), G_CALLBACK(view_fullscreen_cb), vw);
+               menu_item_add_icon(menu, _("_Full screen"), GQ_ICON_FULLSCREEN, G_CALLBACK(view_fullscreen_cb), vw);
                }
 
        menu_item_add_divider(menu);
-       menu_item_add_stock(menu, _("C_lose window"), GTK_STOCK_CLOSE, G_CALLBACK(view_close_cb), vw);
+       menu_item_add_icon(menu, _("C_lose window"), GQ_ICON_CLOSE, G_CALLBACK(view_close_cb), vw);
 
        return menu;
 }
@@ -1488,12 +1494,12 @@ static GtkWidget *view_popup_menu(ViewWindow *vw)
  *-------------------------------------------------------------------
  */
 
-typedef struct {
+struct CViewConfirmD {
        ViewWindow *vw;
        GList *list;
-} CViewConfirmD;
+};
 
-static void view_dir_list_cancel(GtkWidget *UNUSED(widget), gpointer UNUSED(data))
+static void view_dir_list_cancel(GtkWidget *, gpointer)
 {
        /* do nothing */
 }
@@ -1502,7 +1508,7 @@ static void view_dir_list_do(ViewWindow *vw, GList *list, gboolean skip, gboolea
 {
        GList *work;
 
-       view_window_set_list(vw, NULL);
+       view_window_set_list(vw, nullptr);
 
        work = list;
        while (work)
@@ -1514,7 +1520,7 @@ static void view_dir_list_do(ViewWindow *vw, GList *list, gboolean skip, gboolea
                        {
                        if (!skip)
                                {
-                               GList *list = NULL;
+                               GList *list = nullptr;
 
                                if (recurse)
                                        {
@@ -1522,7 +1528,7 @@ static void view_dir_list_do(ViewWindow *vw, GList *list, gboolean skip, gboolea
                                        }
                                else
                                        { /** @FIXME ?? */
-                                       filelist_read(fd, &list, NULL);
+                                       filelist_read(fd, &list, nullptr);
                                        list = filelist_sort_path(list);
                                        list = filelist_filter(list, FALSE);
                                        }
@@ -1553,29 +1559,29 @@ static void view_dir_list_do(ViewWindow *vw, GList *list, gboolean skip, gboolea
                }
        else
                {
-               image_change_fd(vw->imd, NULL, image_zoom_get_default(vw->imd));
+               image_change_fd(vw->imd, nullptr, image_zoom_get_default(vw->imd));
                }
 }
 
-static void view_dir_list_add(GtkWidget *UNUSED(widget), gpointer data)
+static void view_dir_list_add(GtkWidget *, gpointer data)
 {
        auto d = static_cast<CViewConfirmD *>(data);
        view_dir_list_do(d->vw, d->list, FALSE, FALSE);
 }
 
-static void view_dir_list_recurse(GtkWidget *UNUSED(widget), gpointer data)
+static void view_dir_list_recurse(GtkWidget *, gpointer data)
 {
        auto d = static_cast<CViewConfirmD *>(data);
        view_dir_list_do(d->vw, d->list, FALSE, TRUE);
 }
 
-static void view_dir_list_skip(GtkWidget *UNUSED(widget), gpointer data)
+static void view_dir_list_skip(GtkWidget *, gpointer data)
 {
        auto d = static_cast<CViewConfirmD *>(data);
        view_dir_list_do(d->vw, d->list, TRUE, FALSE);
 }
 
-static void view_dir_list_destroy(GtkWidget *UNUSED(widget), gpointer data)
+static void view_dir_list_destroy(GtkWidget *, gpointer data)
 {
        auto d = static_cast<CViewConfirmD *>(data);
        filelist_free(d->list);
@@ -1595,13 +1601,13 @@ static GtkWidget *view_confirm_dir_list(ViewWindow *vw, GList *list)
        g_signal_connect(G_OBJECT(menu), "destroy",
                         G_CALLBACK(view_dir_list_destroy), d);
 
-       menu_item_add_stock(menu, _("Dropped list includes folders."), GTK_STOCK_DND_MULTIPLE, NULL, NULL);
+       menu_item_add_stock(menu, _("Dropped list includes folders."), GQ_ICON_DND, nullptr, nullptr);
        menu_item_add_divider(menu);
-       menu_item_add_stock(menu, _("_Add contents"), GTK_STOCK_OK, G_CALLBACK(view_dir_list_add), d);
-       menu_item_add_stock(menu, _("Add contents _recursive"), GTK_STOCK_ADD, G_CALLBACK(view_dir_list_recurse), d);
-       menu_item_add_stock(menu, _("_Skip folders"), GTK_STOCK_REMOVE, G_CALLBACK(view_dir_list_skip), d);
+       menu_item_add_icon(menu, _("_Add contents"), GQ_ICON_OK, G_CALLBACK(view_dir_list_add), d);
+       menu_item_add_icon(menu, _("Add contents _recursive"), GQ_ICON_ADD, G_CALLBACK(view_dir_list_recurse), d);
+       menu_item_add_icon(menu, _("_Skip folders"), GQ_ICON_REMOVE, G_CALLBACK(view_dir_list_skip), d);
        menu_item_add_divider(menu);
-       menu_item_add_stock(menu, _("Cancel"), GTK_STOCK_CANCEL, G_CALLBACK(view_dir_list_cancel), d);
+       menu_item_add_icon(menu, _("Cancel"), GQ_ICON_CANCEL, G_CALLBACK(view_dir_list_cancel), d);
 
        return menu;
 }
@@ -1612,10 +1618,10 @@ static GtkWidget *view_confirm_dir_list(ViewWindow *vw, GList *list)
  *-----------------------------------------------------------------------------
  */
 
-static void view_window_get_dnd_data(GtkWidget *UNUSED(widget), GdkDragContext *context,
-                                    gint UNUSED(x), gint UNUSED(y),
+static void view_window_get_dnd_data(GtkWidget *, GdkDragContext *context,
+                                    gint, gint,
                                     GtkSelectionData *selection_data, guint info,
-                                    guint UNUSED(time), gpointer data)
+                                    guint, gpointer data)
 {
        auto vw = static_cast<ViewWindow *>(data);
        ImageWindow *imd;
@@ -1644,7 +1650,7 @@ static void view_window_get_dnd_data(GtkWidget *UNUSED(widget), GdkDragContext *
                                        {
                                        GtkWidget *menu;
                                        menu = view_confirm_dir_list(vw, list);
-                                       gtk_menu_popup_at_pointer(GTK_MENU(menu), NULL);
+                                       gtk_menu_popup_at_pointer(GTK_MENU(menu), nullptr);
                                        return;
                                        }
                                work = work->next;
@@ -1652,8 +1658,8 @@ static void view_window_get_dnd_data(GtkWidget *UNUSED(widget), GdkDragContext *
 
                        list = filelist_filter(list, FALSE);
 
-                       source = NULL;
-                       info_list = NULL;
+                       source = nullptr;
+                       info_list = nullptr;
                        }
                else
                        {
@@ -1668,7 +1674,7 @@ static void view_window_get_dnd_data(GtkWidget *UNUSED(widget), GdkDragContext *
                        if (isfile(fd->path))
                                {
                                view_slideshow_stop(vw);
-                               view_window_set_list(vw, NULL);
+                               view_window_set_list(vw, nullptr);
 
                                if (source && info_list)
                                        {
@@ -1679,7 +1685,7 @@ static void view_window_get_dnd_data(GtkWidget *UNUSED(widget), GdkDragContext *
                                        if (list->next)
                                                {
                                                vw->list = list;
-                                               list = NULL;
+                                               list = nullptr;
 
                                                vw->list_pointer = vw->list;
                                                }
@@ -1692,9 +1698,9 @@ static void view_window_get_dnd_data(GtkWidget *UNUSED(widget), GdkDragContext *
                }
 }
 
-static void view_window_set_dnd_data(GtkWidget *UNUSED(widget), GdkDragContext *UNUSED(context),
-                                    GtkSelectionData *selection_data, guint UNUSED(info),
-                                    guint UNUSED(time), gpointer data)
+static void view_window_set_dnd_data(GtkWidget *, GdkDragContext *,
+                                    GtkSelectionData *selection_data, guint,
+                                    guint, gpointer data)
 {
        auto vw = static_cast<ViewWindow *>(data);
        FileData *fd;
@@ -1705,14 +1711,14 @@ static void view_window_set_dnd_data(GtkWidget *UNUSED(widget), GdkDragContext *
                {
                GList *list;
 
-               list = g_list_append(NULL, fd);
+               list = g_list_append(nullptr, fd);
                uri_selection_data_set_uris_from_filelist(selection_data, list);
                g_list_free(list);
                }
        else
                {
                gtk_selection_data_set(selection_data, gtk_selection_data_get_target(selection_data),
-                                      8, NULL, 0);
+                                      8, nullptr, 0);
                }
 }
 
@@ -1770,7 +1776,7 @@ static void view_real_removed(ViewWindow *vw, FileData *fd)
                        }
                if (image_get_fd(imd) == image_fd)
                        {
-                       image_change_fd(imd, NULL, image_zoom_get_default(imd));
+                       image_change_fd(imd, nullptr, image_zoom_get_default(imd));
                        }
                }
 
@@ -1813,7 +1819,7 @@ static void view_real_removed(ViewWindow *vw, FileData *fd)
                                }
                        else
                                {
-                               fd = NULL;
+                               fd = nullptr;
                                }
 
                        image_change_fd(imd, fd, image_zoom_get_default(imd));