Add file class Archive to the Search page
[geeqie.git] / src / ui-help.cc
index 86ba50a..89cdef0 100644 (file)
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
-#include <stdio.h>
-#include <string.h>
-
-#include "main.h"
 #include "ui-help.h"
 
+#include <cstdio>
+#include <cstring>
+
+#include <gdk/gdk.h>
+#include <glib-object.h>
+
+#include "compat.h"
+#include "debug.h"
+#include "intl.h"
+#include "main-defines.h"
 #include "ui-fileops.h"
 #include "ui-misc.h"
 #include "window.h"
 
 
-#define HELP_WINDOW_WIDTH 650
-#define HELP_WINDOW_HEIGHT 350
+enum {
+       HELP_WINDOW_WIDTH = 650,
+       HELP_WINDOW_HEIGHT = 350
+};
 
 
 /*
@@ -47,7 +55,8 @@ static void help_window_scroll(GtkWidget *text, const gchar *key)
        gchar *needle;
        GtkTextBuffer *buffer;
        GtkTextIter iter;
-       GtkTextIter start, end;
+       GtkTextIter start;
+       GtkTextIter end;
 
        if (!text || !key) return;
 
@@ -57,7 +66,7 @@ static void help_window_scroll(GtkWidget *text, const gchar *key)
        gtk_text_buffer_get_iter_at_offset(buffer, &iter, 0);
 
        if (gtk_text_iter_forward_search(&iter, needle, GTK_TEXT_SEARCH_TEXT_ONLY,
-                                        &start, &end, NULL))
+                                        &start, &end, nullptr))
                {
                gint line;
                GtkTextMark *mark;
@@ -91,7 +100,8 @@ static void help_window_load_text(GtkWidget *text, const gchar *path)
        gchar s_buf[1024];
        GtkTextBuffer *buffer;
        GtkTextIter iter;
-       GtkTextIter start, end;
+       GtkTextIter start;
+       GtkTextIter end;
 
        if (!text || !path) return;
 
@@ -121,14 +131,14 @@ static void help_window_load_text(GtkWidget *text, const gchar *path)
 
                        l = strlen(s_buf);
 
-                       if (!g_utf8_validate(s_buf, l, NULL))
+                       if (!g_utf8_validate(s_buf, l, nullptr))
                                {
-                               buf = g_locale_to_utf8(s_buf, l, NULL, NULL, NULL);
+                               buf = g_locale_to_utf8(s_buf, l, nullptr, nullptr, nullptr);
                                if (!buf) buf = g_strdup("\n");
                                }
                        else
                                {
-                               buf = NULL;
+                               buf = nullptr;
                                }
                        gtk_text_buffer_insert_with_tags_by_name(buffer, &iter,
                                                                 (buf) ? buf : s_buf, -1,
@@ -143,16 +153,16 @@ static void help_window_load_text(GtkWidget *text, const gchar *path)
        gtk_text_view_scroll_to_iter(GTK_TEXT_VIEW(text), &iter, 0.0, TRUE, 0, 0);
 }
 
-static gboolean help_window_delete_cb(GtkWidget *widget, GdkEventAny *UNUSED(event), gpointer UNUSED(data))
+static gboolean help_window_delete_cb(GtkWidget *widget, GdkEventAny *, gpointer)
 {
-       gtk_widget_destroy(widget);
+       gq_gtk_widget_destroy(widget);
        return TRUE;
 }
 
-static void help_window_close(GtkWidget *UNUSED(widget), gpointer data)
+static void help_window_close(GtkWidget *, gpointer data)
 {
-       GtkWidget *window = static_cast<GtkWidget *>(data);
-       gtk_widget_destroy(window);
+       auto window = static_cast<GtkWidget *>(data);
+       gq_gtk_widget_destroy(window);
 }
 
 void help_window_set_key(GtkWidget *window, const gchar *key)
@@ -161,7 +171,7 @@ void help_window_set_key(GtkWidget *window, const gchar *key)
 
        if (!window) return;
 
-       text = g_object_get_data(G_OBJECT(window), "text_widget");
+       text = static_cast<GtkWidget *>(g_object_get_data(G_OBJECT(window), "text_widget"));
        if (!text) return;
 
        gdk_window_raise(gtk_widget_get_window(window));
@@ -169,20 +179,23 @@ void help_window_set_key(GtkWidget *window, const gchar *key)
        if (key) help_window_scroll(text, key);
 }
 
-//void help_window_set_file(GtkWidget *window, const gchar *path, const gchar *key)
-//{
-       //GtkWidget *text;
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wunused-function"
+void help_window_set_file_unused(GtkWidget *window, const gchar *path, const gchar *key)
+{
+       GtkWidget *text;
 
-       //if (!window || !path) return;
+       if (!window || !path) return;
 
-       //text = g_object_get_data(G_OBJECT(window), "text_widget");
-       //if (!text) return;
+       text = static_cast<GtkWidget *>(g_object_get_data(G_OBJECT(window), "text_widget"));
+       if (!text) return;
 
-       //gdk_window_raise(gtk_widget_get_window(window));
+       gdk_window_raise(gtk_widget_get_window(window));
 
-       //help_window_load_text(text, path);
-       //help_window_scroll(text, key);
-//}
+       help_window_load_text(text, path);
+       help_window_scroll(text, key);
+}
+#pragma GCC diagnostic pop
 
 GtkWidget *help_window_new(const gchar *title,
                           const gchar *subclass,
@@ -198,7 +211,7 @@ GtkWidget *help_window_new(const gchar *title,
 
        /* window */
 
-       window = window_new(GTK_WINDOW_TOPLEVEL, subclass, NULL, NULL, title);
+       window = window_new(subclass, nullptr, nullptr, title);
        DEBUG_NAME(window);
        gtk_window_set_resizable(GTK_WINDOW(window), TRUE);
        gtk_window_set_default_size(GTK_WINDOW(window), HELP_WINDOW_WIDTH, HELP_WINDOW_HEIGHT);
@@ -207,7 +220,7 @@ GtkWidget *help_window_new(const gchar *title,
                         G_CALLBACK(help_window_delete_cb), NULL);
 
        vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
-       gtk_container_add(GTK_CONTAINER(window), vbox);
+       gq_gtk_container_add(GTK_WIDGET(window), vbox);
        gtk_widget_show(vbox);
 
        g_object_set_data(G_OBJECT(window), "text_vbox", vbox);
@@ -215,35 +228,35 @@ GtkWidget *help_window_new(const gchar *title,
        /* text window */
 
        hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
-       gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0);
+       gq_gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0);
        gtk_widget_show(hbox);
 
-       scrolled = gtk_scrolled_window_new(NULL, NULL);
-       gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), GTK_SHADOW_IN);
+       scrolled = gq_gtk_scrolled_window_new(nullptr, nullptr);
+       gq_gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), GTK_SHADOW_IN);
        gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled),
                                       GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
-       gtk_box_pack_start(GTK_BOX(hbox), scrolled, TRUE, TRUE, 0);
+       gq_gtk_box_pack_start(GTK_BOX(hbox), scrolled, TRUE, TRUE, 0);
        gtk_widget_show(scrolled);
 
        text = gtk_text_view_new();
        gtk_text_view_set_editable(GTK_TEXT_VIEW(text), FALSE);
-       gtk_container_add(GTK_CONTAINER(scrolled), text);
+       gq_gtk_container_add(GTK_WIDGET(scrolled), text);
        gtk_widget_show(text);
 
        buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text));
        gtk_text_buffer_create_tag(buffer, "monospace",
                                   "family", "monospace", NULL);
 
-       hbox = gtk_hbutton_box_new();
+       hbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL);
        gtk_container_set_border_width(GTK_CONTAINER(hbox), PREF_PAD_BORDER);
        gtk_button_box_set_layout(GTK_BUTTON_BOX(hbox), GTK_BUTTONBOX_END);
-       gtk_box_pack_end(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
+       gq_gtk_box_pack_end(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
        gtk_widget_show(hbox);
 
-       button = gtk_button_new_from_stock(GTK_STOCK_CLOSE);
+       button = gtk_button_new_from_icon_name(GQ_ICON_CLOSE, GTK_ICON_SIZE_BUTTON);
        g_signal_connect(G_OBJECT(button), "clicked",
                         G_CALLBACK(help_window_close), window);
-       gtk_container_add(GTK_CONTAINER(hbox), button);
+       gq_gtk_container_add(GTK_WIDGET(hbox), button);
        gtk_widget_set_can_default(button, TRUE);
        gtk_widget_grab_default(button);
        gtk_widget_show(button);
@@ -259,8 +272,12 @@ GtkWidget *help_window_new(const gchar *title,
        return window;
 }
 
-//GtkWidget *help_window_get_box(GtkWidget *window)
-//{
-       //return g_object_get_data(G_OBJECT(window), "text_vbox");
-//}
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wunused-function"
+GtkWidget *help_window_get_box_unused(GtkWidget *window)
+{
+       return static_cast<GtkWidget *>(g_object_get_data(G_OBJECT(window), "text_vbox"));
+}
+#pragma GCC diagnostic pop
+
 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */