From 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 14 Jul 2018 21:03:06 +0100 Subject: gentoo resync : 14.07.2018 --- .../files/sgt-puzzles-20161207-builtin-help.patch | 107 +++++++++++++++++++++ .../sgt-puzzles/files/sgt-puzzles.directory | 4 + games-puzzle/sgt-puzzles/files/sgt-puzzles.menu | 21 ++++ 3 files changed, 132 insertions(+) create mode 100644 games-puzzle/sgt-puzzles/files/sgt-puzzles-20161207-builtin-help.patch create mode 100644 games-puzzle/sgt-puzzles/files/sgt-puzzles.directory create mode 100644 games-puzzle/sgt-puzzles/files/sgt-puzzles.menu (limited to 'games-puzzle/sgt-puzzles/files') diff --git a/games-puzzle/sgt-puzzles/files/sgt-puzzles-20161207-builtin-help.patch b/games-puzzle/sgt-puzzles/files/sgt-puzzles-20161207-builtin-help.patch new file mode 100644 index 000000000000..a5c3a3695bd1 --- /dev/null +++ b/games-puzzle/sgt-puzzles/files/sgt-puzzles-20161207-builtin-help.patch @@ -0,0 +1,107 @@ +Based on http://sources.debian.net/patches/sgt-puzzles/20160429.b31155b-1/202_online-help.diff/ +Simply opens HTML help files with xdg-open + +Author: Ben Hutchings +Description: Add HTML-based online help + +This works along the same lines as the Windows implementation, +though we have to try a bit harder to find a help browser. + +--- a/gtk.c 2016-12-08 07:53:06.812409184 -0500 ++++ b/gtk.c 2016-12-08 07:58:06.426415886 -0500 +@@ -2,6 +2,10 @@ + * gtk.c: GTK front end for my puzzle collection. + */ + ++#ifndef _POSIX_C_SOURCE ++#define _POSIX_C_SOURCE 1 /* for PATH_MAX */ ++#endif ++ + #include + #include + #include +@@ -10,6 +14,9 @@ + #include + #include + #include ++#include ++#include ++#include + + #include + #include +@@ -2270,6 +2277,37 @@ + resize_fe(fe); + } + ++static void show_help(frontend *fe, const char *topic) ++{ ++ char path[PATH_MAX + 1]; ++ ++ sprintf(path, "%s/%s.html", HTMLDIR, topic); ++ if (access(path, R_OK) != 0) { ++ error_box(fe->window, "Help file could not be found"); ++ return; ++ } ++ ++ const char *argv[3]; ++ ++ argv[0] = "xdg-open"; ++ argv[1] = path; ++ argv[2] = NULL; ++ if (! g_spawn_async(NULL, (char **)argv, NULL, ++ G_SPAWN_SEARCH_PATH, ++ NULL, NULL, NULL, NULL)) ++ error_box(fe->window, "Failed to open help file"); ++} ++ ++static void menu_help_contents_event(GtkMenuItem *menuitem, gpointer data) ++{ ++ show_help((frontend *)data, "index"); ++} ++ ++static void menu_help_specific_event(GtkMenuItem *menuitem, gpointer data) ++{ ++ show_help((frontend *)data, thegame.htmlhelp_topic); ++} ++ + static void menu_about_event(GtkMenuItem *menuitem, gpointer data) + { + frontend *fe = (frontend *)data; +@@ -2590,6 +2628,25 @@ + menu = gtk_menu_new(); + gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), menu); + ++ menuitem = gtk_menu_item_new_with_label("Contents"); ++ gtk_container_add(GTK_CONTAINER(menu), menuitem); ++ g_signal_connect(G_OBJECT(menuitem), "activate", ++ G_CALLBACK(menu_help_contents_event), fe); ++ gtk_widget_show(menuitem); ++ ++ if (thegame.htmlhelp_topic) { ++ char *item; ++ assert(thegame.name); ++ item = snewn(9+strlen(thegame.name), char); /*ick*/ ++ sprintf(item, "Help on %s", thegame.name); ++ menuitem = gtk_menu_item_new_with_label(item); ++ sfree(item); ++ gtk_container_add(GTK_CONTAINER(menu), menuitem); ++ g_signal_connect(G_OBJECT(menuitem), "activate", ++ G_CALLBACK(menu_help_specific_event), fe); ++ gtk_widget_show(menuitem); ++ } ++ + menuitem = gtk_menu_item_new_with_label("About"); + gtk_container_add(GTK_CONTAINER(menu), menuitem); + g_signal_connect(G_OBJECT(menuitem), "activate", +--- a/Recipe ++++ b/Recipe +@@ -95,6 +95,7 @@ Puzzles.dmg: Puzzles + + !begin am + bin_PROGRAMS = $(GAMES) ++GTK_CFLAGS += -DHTMLDIR="\"$(htmldir)\"" + !end + !begin am_begin + GAMES = + diff --git a/games-puzzle/sgt-puzzles/files/sgt-puzzles.directory b/games-puzzle/sgt-puzzles/files/sgt-puzzles.directory new file mode 100644 index 000000000000..25aa1aefbf5b --- /dev/null +++ b/games-puzzle/sgt-puzzles/files/sgt-puzzles.directory @@ -0,0 +1,4 @@ +[Desktop Entry] +Type=Directory +Name=Puzzles +Icon=sgt-puzzles_map diff --git a/games-puzzle/sgt-puzzles/files/sgt-puzzles.menu b/games-puzzle/sgt-puzzles/files/sgt-puzzles.menu new file mode 100644 index 000000000000..e3f3264cff97 --- /dev/null +++ b/games-puzzle/sgt-puzzles/files/sgt-puzzles.menu @@ -0,0 +1,21 @@ + + + Applications + + Games + + X-sgt-puzzles + + + Puzzles + sgt-puzzles.directory + + + + X-sgt-puzzles + + + + + -- cgit v1.2.3