summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2018-08-16 07:55:49 +0200
committerMatthias Clasen <mclasen@redhat.com>2020-03-18 23:00:51 -0400
commit20cfa2e2809df7f26bb47148ee3b5cd552f45460 (patch)
tree5afe350d47ad2164e1041e7d144677f9b5154ef1
parenta977094e181c9e79325e65d419783fd154ccb28e (diff)
downloadgtk+-20cfa2e2809df7f26bb47148ee3b5cd552f45460.tar.gz
Remove GtkMnemonicHash
It's not used anymore.
-rw-r--r--gtk/gtkmnemonichash.c201
-rw-r--r--gtk/gtkmnemonichash.h52
-rw-r--r--gtk/gtkpopover.c1
-rw-r--r--gtk/meson.build1
4 files changed, 0 insertions, 255 deletions
diff --git a/gtk/gtkmnemonichash.c b/gtk/gtkmnemonichash.c
deleted file mode 100644
index e6504842e1..0000000000
--- a/gtk/gtkmnemonichash.c
+++ /dev/null
@@ -1,201 +0,0 @@
-/* gtkmnemonichash.c: Sets of mnemonics with cycling
- *
- * GTK - The GIMP Toolkit
- * Copyright (C) 2002, Red Hat Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "config.h"
-
-#include "gtkmnemonichash.h"
-#include "gtknative.h"
-
-struct _GtkMnemnonicHash
-{
- GHashTable *hash;
-};
-
-
-GtkMnemonicHash *
-_gtk_mnemonic_hash_new (void)
-{
- GtkMnemonicHash *mnemonic_hash = g_new (GtkMnemonicHash, 1);
-
- mnemonic_hash->hash = g_hash_table_new (g_direct_hash, NULL);
-
- return mnemonic_hash;
-}
-
-static void
-mnemonic_hash_free_foreach (gpointer key,
- gpointer value,
- gpointer user)
-{
- guint keyval = GPOINTER_TO_UINT (key);
- GSList *targets = value;
-
- gchar *name = gtk_accelerator_name (keyval, 0);
-
- g_warning ("mnemonic \"%s\" wasn't removed for widget (%p)",
- name, targets->data);
- g_free (name);
-
- g_slist_free (targets);
-}
-
-void
-_gtk_mnemonic_hash_free (GtkMnemonicHash *mnemonic_hash)
-{
- g_hash_table_foreach (mnemonic_hash->hash,
- mnemonic_hash_free_foreach,
- NULL);
-
- g_hash_table_destroy (mnemonic_hash->hash);
- g_free (mnemonic_hash);
-}
-
-void
-_gtk_mnemonic_hash_add (GtkMnemonicHash *mnemonic_hash,
- guint keyval,
- GtkWidget *target)
-{
- gpointer key = GUINT_TO_POINTER (keyval);
- GSList *targets, *new_targets;
-
- g_return_if_fail (GTK_IS_WIDGET (target));
-
- targets = g_hash_table_lookup (mnemonic_hash->hash, key);
- g_return_if_fail (g_slist_find (targets, target) == NULL);
-
- new_targets = g_slist_append (targets, target);
- if (new_targets != targets)
- g_hash_table_insert (mnemonic_hash->hash, key, new_targets);
-}
-
-void
-_gtk_mnemonic_hash_remove (GtkMnemonicHash *mnemonic_hash,
- guint keyval,
- GtkWidget *target)
-{
- gpointer key = GUINT_TO_POINTER (keyval);
- GSList *targets, *new_targets;
-
- g_return_if_fail (GTK_IS_WIDGET (target));
-
- targets = g_hash_table_lookup (mnemonic_hash->hash, key);
-
- g_return_if_fail (targets && g_slist_find (targets, target) != NULL);
-
- new_targets = g_slist_remove (targets, target);
- if (new_targets != targets)
- {
- if (new_targets == NULL)
- g_hash_table_remove (mnemonic_hash->hash, key);
- else
- g_hash_table_insert (mnemonic_hash->hash, key, new_targets);
- }
-}
-
-gboolean
-_gtk_mnemonic_hash_activate (GtkMnemonicHash *mnemonic_hash,
- guint keyval)
-{
- GSList *list, *targets;
- GtkWidget *widget, *chosen_widget;
- GdkSurface *surface;
- gboolean overloaded;
-
- targets = g_hash_table_lookup (mnemonic_hash->hash,
- GUINT_TO_POINTER (keyval));
- if (!targets)
- return FALSE;
-
- overloaded = FALSE;
- chosen_widget = NULL;
- for (list = targets; list; list = list->next)
- {
- widget = GTK_WIDGET (list->data);
- surface = gtk_native_get_surface (gtk_widget_get_native (widget));
-
- if (gtk_widget_is_sensitive (widget) &&
- gtk_widget_get_mapped (widget) &&
- surface && gdk_surface_is_viewable (surface))
- {
- if (chosen_widget)
- {
- overloaded = TRUE;
- break;
- }
- else
- chosen_widget = widget;
- }
- }
-
- if (chosen_widget)
- {
- /* For round robin we put the activated entry on
- * the end of the list after activation
- */
- targets = g_slist_remove (targets, chosen_widget);
- targets = g_slist_append (targets, chosen_widget);
- g_hash_table_insert (mnemonic_hash->hash,
- GUINT_TO_POINTER (keyval),
- targets);
-
- return gtk_widget_mnemonic_activate (chosen_widget, overloaded);
- }
- return FALSE;
-}
-
-GSList *
-_gtk_mnemonic_hash_lookup (GtkMnemonicHash *mnemonic_hash,
- guint keyval)
-{
- return g_hash_table_lookup (mnemonic_hash->hash, GUINT_TO_POINTER (keyval));
-}
-
-static void
-mnemonic_hash_foreach_func (gpointer key,
- gpointer value,
- gpointer data)
-{
- struct {
- GtkMnemonicHashForeach func;
- gpointer func_data;
- } *info = data;
-
- guint keyval = GPOINTER_TO_UINT (key);
- GSList *targets = value;
-
- (*info->func) (keyval, targets, info->func_data);
-}
-
-void
-_gtk_mnemonic_hash_foreach (GtkMnemonicHash *mnemonic_hash,
- GtkMnemonicHashForeach func,
- gpointer func_data)
-{
- struct {
- GtkMnemonicHashForeach func;
- gpointer func_data;
- } info;
-
- info.func = func;
- info.func_data = func_data;
-
- g_hash_table_foreach (mnemonic_hash->hash,
- mnemonic_hash_foreach_func,
- &info);
-}
diff --git a/gtk/gtkmnemonichash.h b/gtk/gtkmnemonichash.h
deleted file mode 100644
index 832b2eee39..0000000000
--- a/gtk/gtkmnemonichash.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* gtkmnemonichash.h: Sets of mnemonics with cycling
- *
- * GTK - The GIMP Toolkit
- * Copyright (C) 2002, Red Hat Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef __GTK_MNEMONIC_HASH_H__
-#define __GTK_MNEMONIC_HASH_H__
-
-#include <gdk/gdk.h>
-#include <gtk/gtkwidget.h>
-
-G_BEGIN_DECLS
-
-typedef struct _GtkMnemnonicHash GtkMnemonicHash;
-
-typedef void (*GtkMnemonicHashForeach) (guint keyval,
- GSList *targets,
- gpointer data);
-
-GtkMnemonicHash *_gtk_mnemonic_hash_new (void);
-void _gtk_mnemonic_hash_free (GtkMnemonicHash *mnemonic_hash);
-void _gtk_mnemonic_hash_add (GtkMnemonicHash *mnemonic_hash,
- guint keyval,
- GtkWidget *target);
-void _gtk_mnemonic_hash_remove (GtkMnemonicHash *mnemonic_hash,
- guint keyval,
- GtkWidget *target);
-gboolean _gtk_mnemonic_hash_activate (GtkMnemonicHash *mnemonic_hash,
- guint keyval);
-GSList * _gtk_mnemonic_hash_lookup (GtkMnemonicHash *mnemonic_hash,
- guint keyval);
-void _gtk_mnemonic_hash_foreach (GtkMnemonicHash *mnemonic_hash,
- GtkMnemonicHashForeach func,
- gpointer func_data);
-
-G_END_DECLS
-
-#endif /* __GTK_MNEMONIC_HASH_H__ */
diff --git a/gtk/gtkpopover.c b/gtk/gtkpopover.c
index 0aa66a8944..5644413929 100644
--- a/gtk/gtkpopover.c
+++ b/gtk/gtkpopover.c
@@ -106,7 +106,6 @@
#include "gtkbinlayout.h"
#include "gtkenums.h"
#include "gtktypebuiltins.h"
-#include "gtkmnemonichash.h"
#include "gtkgizmoprivate.h"
#include "gtkintl.h"
#include "gtkprivate.h"
diff --git a/gtk/meson.build b/gtk/meson.build
index 7e9e211527..843b75f5ce 100644
--- a/gtk/meson.build
+++ b/gtk/meson.build
@@ -119,7 +119,6 @@ gtk_private_sources = files([
'gtkmenusectionbox.c',
'gtkmenutracker.c',
'gtkmenutrackeritem.c',
- 'gtkmnemonichash.c',
'gtkpango.c',
'gskpango.c',
'gtkpathbar.c',