mirror of
https://github.com/Stichting-MINIX-Research-Foundation/pkgsrc-ng.git
synced 2025-09-12 14:00:19 -04:00
230 lines
8.1 KiB
Plaintext
230 lines
8.1 KiB
Plaintext
$NetBSD: patch-aa,v 1.1 2010/05/14 11:02:20 obache Exp $
|
|
|
|
support gucharmap-2 (taken from upstream revision 1627).
|
|
|
|
--- src/tomoe-gucharmap.c.orig 2007-04-27 05:41:40.000000000 +0000
|
|
+++ src/tomoe-gucharmap.c
|
|
@@ -24,6 +24,10 @@
|
|
#include <glib/gi18n-lib.h>
|
|
#include "tomoe-gucharmap.h"
|
|
|
|
+#ifdef GUCHARMAP_TYPE_CHAPTERS
|
|
+# define GUCHARMAP_CHAPTERS_MODEL_COLUMN_LABEL CHAPTERS_LABEL_COL
|
|
+#endif
|
|
+
|
|
enum {
|
|
SELECTED_SIGNAL,
|
|
LAST_SIGNAL
|
|
@@ -34,7 +38,11 @@ struct _TomoeGucharmapPrivate
|
|
{
|
|
GtkWidget *chapters_type_combobox;
|
|
GtkWidget *chapters_combobox;
|
|
+#ifdef GUCHARMAP_TYPE_CHAPTERS
|
|
GucharmapChapters *chapters;
|
|
+#else
|
|
+ GucharmapChaptersModel *chapters_model;
|
|
+#endif
|
|
GucharmapCharmap *charmap;
|
|
gchar *selected;
|
|
};
|
|
@@ -50,7 +58,9 @@ static void on_chapters_type_combo_chang
|
|
static void on_chapters_combo_changed (GtkComboBox *combobox,
|
|
gpointer data);
|
|
static void on_gucharmap_activate (GucharmapCharmap *charmap,
|
|
+#ifdef GUCHARMAP_TABLE
|
|
gunichar ch,
|
|
+#endif
|
|
gpointer data);
|
|
static void on_gucharmap_button_release (GtkWidget *widget,
|
|
GdkEventButton *event,
|
|
@@ -90,6 +100,7 @@ tomoe_gucharmap_init (TomoeGucharmap *pa
|
|
{
|
|
TomoeGucharmapPrivate *priv = TOMOE_GUCHARMAP_GET_PRIVATE (page);
|
|
GtkWidget *vbox, *hbox, *combobox, *widget;
|
|
+ GtkCellRenderer *cell;
|
|
|
|
priv->selected = NULL;
|
|
|
|
@@ -114,20 +125,35 @@ tomoe_gucharmap_init (TomoeGucharmap *pa
|
|
gtk_box_pack_start (GTK_BOX (hbox), combobox, FALSE, FALSE, 2);
|
|
gtk_widget_show (combobox);
|
|
|
|
- combobox = gtk_combo_box_new_text ();
|
|
+ combobox = gtk_combo_box_new ();
|
|
+ cell = gtk_cell_renderer_text_new ();
|
|
+ gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combobox), cell, TRUE);
|
|
+ gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combobox), cell,
|
|
+ "text", GUCHARMAP_CHAPTERS_MODEL_COLUMN_LABEL,
|
|
+ NULL);
|
|
priv->chapters_combobox = combobox;
|
|
gtk_box_pack_start (GTK_BOX (hbox), combobox, FALSE, FALSE, 2);
|
|
gtk_widget_show (combobox);
|
|
|
|
/* gucharmap */
|
|
+#ifdef GUCHARMAP_TYPE_CHAPTERS
|
|
priv->chapters = GUCHARMAP_CHAPTERS (gucharmap_block_chapters_new ());
|
|
priv->charmap = GUCHARMAP_CHARMAP (gucharmap_charmap_new (priv->chapters));
|
|
+#else
|
|
+ priv->chapters_model = gucharmap_block_chapters_model_new ();
|
|
+ priv->charmap = GUCHARMAP_CHARMAP (gucharmap_charmap_new ());
|
|
+ gucharmap_charmap_set_chapters_model (priv->charmap, priv->chapters_model);
|
|
+#endif
|
|
widget = GTK_WIDGET (priv->charmap);
|
|
gtk_box_pack_start (GTK_BOX (vbox), widget, TRUE, TRUE, 2);
|
|
gtk_widget_show (widget);
|
|
|
|
/* Hide chapters page by default. Usually use combo box instead. */
|
|
+#ifdef GUCHARMAP_TYPE_CHAPTERS
|
|
gtk_widget_hide (GTK_WIDGET (priv->chapters));
|
|
+#else
|
|
+ gtk_widget_hide (gtk_paned_get_child1 (GTK_PANED (priv->charmap)));
|
|
+#endif
|
|
|
|
#if 0
|
|
/* CharDetails view will be here */
|
|
@@ -139,20 +165,21 @@ tomoe_gucharmap_init (TomoeGucharmap *pa
|
|
#endif
|
|
|
|
/* setup */
|
|
- setup_chapters_combo_box (page);
|
|
g_signal_connect (G_OBJECT (priv->chapters_type_combobox), "changed",
|
|
G_CALLBACK (on_chapters_type_combo_changed),
|
|
(gpointer) page);
|
|
g_signal_connect (G_OBJECT (priv->chapters_combobox), "changed",
|
|
G_CALLBACK (on_chapters_combo_changed),
|
|
(gpointer) page);
|
|
- g_signal_connect (G_OBJECT (priv->charmap->chartable), "activate",
|
|
+ g_signal_connect (G_OBJECT (gucharmap_charmap_get_chartable (priv->charmap)),
|
|
+ "activate",
|
|
G_CALLBACK (on_gucharmap_activate),
|
|
(gpointer) page);
|
|
- g_signal_connect (G_OBJECT (priv->charmap->chartable),
|
|
+ g_signal_connect (G_OBJECT (gucharmap_charmap_get_chartable (priv->charmap)),
|
|
"button-release-event",
|
|
G_CALLBACK (on_gucharmap_button_release),
|
|
(gpointer) page);
|
|
+ setup_chapters_combo_box (page);
|
|
}
|
|
|
|
static void
|
|
@@ -162,7 +189,11 @@ dispose (GObject *object)
|
|
|
|
priv->chapters_type_combobox = NULL;
|
|
priv->chapters_combobox = NULL;
|
|
+#ifdef GUCHARMAP_TYPE_CHAPTERS
|
|
priv->chapters = NULL;
|
|
+#else
|
|
+ priv->chapters_model = NULL;
|
|
+#endif
|
|
priv->charmap = NULL;
|
|
if (priv->selected) {
|
|
g_free (priv->selected);
|
|
@@ -188,7 +219,11 @@ const gchar *
|
|
tomoe_gucharmap_get_selected_char (TomoeGucharmap *page)
|
|
{
|
|
TomoeGucharmapPrivate *priv;
|
|
+#ifdef GUCHARMAP_TABLE
|
|
GucharmapTable *table;
|
|
+#else
|
|
+ GucharmapChartable *table;
|
|
+#endif
|
|
gunichar c;
|
|
gchar buf[7];
|
|
gint bytes;
|
|
@@ -196,10 +231,18 @@ tomoe_gucharmap_get_selected_char (Tomoe
|
|
g_return_val_if_fail (TOMOE_IS_GUCHARMAP (page), NULL);
|
|
|
|
priv = TOMOE_GUCHARMAP_GET_PRIVATE (page);
|
|
+#ifdef GUCHARMAP_TABLE
|
|
table = GUCHARMAP_TABLE (priv->charmap->chartable);
|
|
+#else
|
|
+ table = gucharmap_charmap_get_chartable (priv->charmap);
|
|
+#endif
|
|
|
|
+#ifdef GUCHARMAP_TABLE
|
|
c = gucharmap_table_get_active_character (table);
|
|
- bytes = g_unichar_to_utf8(c, buf);
|
|
+#else
|
|
+ c = gucharmap_chartable_get_active_character (table);
|
|
+#endif
|
|
+ bytes = g_unichar_to_utf8 (c, buf);
|
|
|
|
if (bytes > 0 && bytes < 7) {
|
|
buf[bytes] = '\0';
|
|
@@ -222,7 +265,13 @@ static void
|
|
setup_chapters_combo_box (TomoeGucharmap *page)
|
|
{
|
|
TomoeGucharmapPrivate *priv = TOMOE_GUCHARMAP_GET_PRIVATE (page);
|
|
- GtkTreeModel *model = priv->chapters->tree_model;
|
|
+ GtkTreeModel *model;
|
|
+
|
|
+#ifdef GUCHARMAP_TYPE_CHAPTERS
|
|
+ model = priv->chapters->tree_model;
|
|
+#else
|
|
+ model = GTK_TREE_MODEL (priv->chapters_model);
|
|
+#endif
|
|
|
|
gtk_combo_box_set_model (GTK_COMBO_BOX (priv->chapters_combobox), model);
|
|
gtk_combo_box_set_active (GTK_COMBO_BOX (priv->chapters_combobox), 0);
|
|
@@ -235,12 +284,25 @@ on_chapters_type_combo_changed (GtkCombo
|
|
TomoeGucharmapPrivate *priv = TOMOE_GUCHARMAP_GET_PRIVATE (page);
|
|
gint idx = gtk_combo_box_get_active (combobox);
|
|
|
|
- if (idx == 1)
|
|
+ if (idx == 1) {
|
|
+#ifdef GUCHARMAP_TYPE_CHAPTERS
|
|
priv->chapters = GUCHARMAP_CHAPTERS (gucharmap_script_chapters_new ());
|
|
- else
|
|
+#else
|
|
+ priv->chapters_model = gucharmap_script_chapters_model_new ();
|
|
+#endif
|
|
+ } else {
|
|
+#ifdef GUCHARMAP_TYPE_CHAPTERS
|
|
priv->chapters = GUCHARMAP_CHAPTERS (gucharmap_block_chapters_new ());
|
|
+#else
|
|
+ priv->chapters_model = gucharmap_block_chapters_model_new ();
|
|
+#endif
|
|
+ }
|
|
+#ifdef GUCHARMAP_TYPE_CHAPTERS
|
|
gucharmap_charmap_set_chapters (priv->charmap, priv->chapters);
|
|
gtk_widget_hide (GTK_WIDGET (priv->chapters));
|
|
+#else
|
|
+ gucharmap_charmap_set_chapters_model (priv->charmap, priv->chapters_model);
|
|
+#endif
|
|
setup_chapters_combo_box (page);
|
|
}
|
|
|
|
@@ -249,6 +311,7 @@ on_chapters_combo_changed (GtkComboBox *
|
|
{
|
|
TomoeGucharmap *page = data;
|
|
TomoeGucharmapPrivate *priv = TOMOE_GUCHARMAP_GET_PRIVATE (page);
|
|
+ GtkTreeView *tree_view;
|
|
GtkTreePath *path;
|
|
gchar buf[8];
|
|
gint idx;
|
|
@@ -256,13 +319,21 @@ on_chapters_combo_changed (GtkComboBox *
|
|
idx = gtk_combo_box_get_active (combobox);
|
|
g_snprintf (buf, 8 , "%d", idx);
|
|
path = gtk_tree_path_new_from_string (buf);
|
|
- gtk_tree_view_set_cursor (GTK_TREE_VIEW (priv->chapters->tree_view),
|
|
- path, NULL, FALSE);
|
|
+#ifdef GUCHARMAP_TYPE_CHAPTERS
|
|
+ tree_view = GTK_TREE_VIEW (priv->chapters->tree_view);
|
|
+#else
|
|
+ tree_view =
|
|
+ GTK_TREE_VIEW (gucharmap_charmap_get_chapters_view (priv->charmap));
|
|
+#endif
|
|
+ gtk_tree_view_set_cursor (tree_view, path, NULL, FALSE);
|
|
gtk_tree_path_free (path);
|
|
}
|
|
|
|
static void
|
|
-on_gucharmap_activate (GucharmapCharmap *charmap, gunichar ch,
|
|
+on_gucharmap_activate (GucharmapCharmap *charmap,
|
|
+#ifdef GUCHARMAP_TABLE
|
|
+ gunichar ch,
|
|
+#endif
|
|
gpointer data)
|
|
{
|
|
TomoeGucharmap *gucharmap = TOMOE_GUCHARMAP (data);
|