diff options
author | Benjamin Otte <otte@redhat.com> | 2018-08-16 07:55:49 +0200 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2020-03-18 23:00:51 -0400 |
commit | 20cfa2e2809df7f26bb47148ee3b5cd552f45460 (patch) | |
tree | 5afe350d47ad2164e1041e7d144677f9b5154ef1 | |
parent | a977094e181c9e79325e65d419783fd154ccb28e (diff) | |
download | gtk+-20cfa2e2809df7f26bb47148ee3b5cd552f45460.tar.gz |
Remove GtkMnemonicHash
It's not used anymore.
-rw-r--r-- | gtk/gtkmnemonichash.c | 201 | ||||
-rw-r--r-- | gtk/gtkmnemonichash.h | 52 | ||||
-rw-r--r-- | gtk/gtkpopover.c | 1 | ||||
-rw-r--r-- | gtk/meson.build | 1 |
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', |