[gtk/kill-tree-menu: 11/52] appchooserwidget: Remove ::populate-popup
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/kill-tree-menu: 11/52] appchooserwidget: Remove ::populate-popup
- Date: Sun, 29 Dec 2019 03:03:45 +0000 (UTC)
commit f3f28dadadda6c38383036e5442946794054284d
Author: Matthias Clasen <mclasen redhat com>
Date: Thu Dec 26 10:06:08 2019 -0500
appchooserwidget: Remove ::populate-popup
We are no longer doing menus this way; if a menu turns out to be
needed at all here, we can add a menu model later.
gtk/gtkappchooserdialog.c | 52 --------------------
gtk/gtkappchooserwidget.c | 120 ----------------------------------------------
2 files changed, 172 deletions(-)
---
diff --git a/gtk/gtkappchooserdialog.c b/gtk/gtkappchooserdialog.c
index f723399388..cc512bdbeb 100644
--- a/gtk/gtkappchooserdialog.c
+++ b/gtk/gtkappchooserdialog.c
@@ -52,7 +52,6 @@
#include "gtkentry.h"
#include "gtktogglebutton.h"
#include "gtkstylecontext.h"
-#include "gtkmenuitem.h"
#include "gtkheaderbar.h"
#include "gtkdialogprivate.h"
#include "gtksearchbar.h"
@@ -296,55 +295,6 @@ widget_notify_for_button_cb (GObject *source,
gtk_widget_hide (priv->show_more_button);
}
-static void
-forget_menu_item_activate_cb (GtkMenuItem *item,
- gpointer user_data)
-{
- GtkAppChooserDialog *self = user_data;
- GtkAppChooserDialogPrivate *priv = gtk_app_chooser_dialog_get_instance_private (self);
- GAppInfo *info;
-
- info = gtk_app_chooser_get_app_info (GTK_APP_CHOOSER (self));
-
- if (info != NULL)
- {
- g_app_info_remove_supports_type (info, priv->content_type, NULL);
-
- gtk_app_chooser_refresh (GTK_APP_CHOOSER (self));
-
- g_object_unref (info);
- }
-}
-
-static GtkWidget *
-build_forget_menu_item (GtkAppChooserDialog *self)
-{
- GtkWidget *retval;
-
- retval = gtk_menu_item_new_with_label (_("Forget association"));
-
- g_signal_connect (retval, "activate",
- G_CALLBACK (forget_menu_item_activate_cb), self);
-
- return retval;
-}
-
-static void
-widget_populate_popup_cb (GtkAppChooserWidget *widget,
- GtkMenu *menu,
- GAppInfo *info,
- gpointer user_data)
-{
- GtkAppChooserDialog *self = user_data;
- GtkWidget *menu_item;
-
- if (g_app_info_can_remove_supports_type (info))
- {
- menu_item = build_forget_menu_item (self);
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
- }
-}
-
static void
construct_appchooser_widget (GtkAppChooserDialog *self)
{
@@ -362,8 +312,6 @@ construct_appchooser_widget (GtkAppChooserDialog *self)
G_CALLBACK (widget_application_activated_cb), self);
g_signal_connect (priv->app_chooser_widget, "notify::show-other",
G_CALLBACK (widget_notify_for_button_cb), self);
- g_signal_connect (priv->app_chooser_widget, "populate-popup",
- G_CALLBACK (widget_populate_popup_cb), self);
/* Add the custom button to the new appchooser */
gtk_container_add (GTK_CONTAINER (priv->inner_box),
diff --git a/gtk/gtkappchooserwidget.c b/gtk/gtkappchooserwidget.c
index 1fc75e7f1f..bc1c0ffe17 100644
--- a/gtk/gtkappchooserwidget.c
+++ b/gtk/gtkappchooserwidget.c
@@ -86,10 +86,6 @@ struct _GtkAppChooserWidgetClass {
void (* application_activated) (GtkAppChooserWidget *self,
GAppInfo *app_info);
-
- void (* populate_popup) (GtkAppChooserWidget *self,
- GtkMenu *menu,
- GAppInfo *app_info);
};
struct _GtkAppChooserWidgetPrivate {
@@ -150,7 +146,6 @@ enum {
enum {
SIGNAL_APPLICATION_SELECTED,
SIGNAL_APPLICATION_ACTIVATED,
- SIGNAL_POPULATE_POPUP,
N_SIGNALS
};
@@ -200,93 +195,6 @@ refresh_and_emit_app_selected (GtkAppChooserWidget *self,
priv->selected_app_info);
}
-static GAppInfo *
-get_app_info_for_coords (GtkAppChooserWidget *self,
- double x,
- double y)
-{
- GtkAppChooserWidgetPrivate *priv = gtk_app_chooser_widget_get_instance_private (self);
- GtkTreePath *path = NULL;
- GtkTreeIter iter;
- GtkTreeModel *model;
- GAppInfo *info;
- gboolean recommended;
-
- if (!gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (priv->program_list),
- x, y,
- &path,
- NULL, NULL, NULL))
- return NULL;
-
- model = gtk_tree_view_get_model (GTK_TREE_VIEW (priv->program_list));
-
- if (!gtk_tree_model_get_iter (model, &iter, path))
- {
- gtk_tree_path_free (path);
- return NULL;
- }
-
- /* we only allow interaction with recommended applications */
- gtk_tree_model_get (model, &iter,
- COLUMN_APP_INFO, &info,
- COLUMN_RECOMMENDED, &recommended,
- -1);
-
- if (!recommended)
- g_clear_object (&info);
-
- return info;
-}
-
-static void
-popup_menu_detach (GtkWidget *attach_widget,
- GtkMenu *menu)
-{
- GtkAppChooserWidget *self = GTK_APP_CHOOSER_WIDGET (attach_widget);
- GtkAppChooserWidgetPrivate *priv = gtk_app_chooser_widget_get_instance_private (self);
-
- priv->popup_menu = NULL;
-}
-
-static void
-gtk_app_chooser_row_pressed_cb (GtkGesture *gesture,
- int n_press,
- double x,
- double y,
- gpointer user_data)
-{
- GtkAppChooserWidget *self = user_data;
- GtkAppChooserWidgetPrivate *priv = gtk_app_chooser_widget_get_instance_private (self);
- GAppInfo *info;
- GtkWidget *menu;
- GList *children;
- gint n_children;
-
- info = get_app_info_for_coords (self, x, y);
-
- if (info == NULL)
- return;
-
- if (priv->popup_menu)
- gtk_widget_destroy (priv->popup_menu);
-
- priv->popup_menu = menu = gtk_menu_new ();
- gtk_menu_attach_to_widget (GTK_MENU (menu), GTK_WIDGET (self), popup_menu_detach);
-
- g_signal_emit (self, signals[SIGNAL_POPULATE_POPUP], 0, menu, info);
-
- g_object_unref (info);
-
- /* see if clients added menu items to this container */
- children = gtk_container_get_children (GTK_CONTAINER (menu));
- n_children = g_list_length (children);
-
- if (n_children > 0) /* actually popup the menu */
- gtk_menu_popup_at_pointer (GTK_MENU (menu), NULL);
-
- g_list_free (children);
-}
-
static gboolean
path_is_heading (GtkTreeView *view,
GtkTreePath *path)
@@ -1134,27 +1042,6 @@ gtk_app_chooser_widget_class_init (GtkAppChooserWidgetClass *klass)
G_TYPE_NONE,
1, G_TYPE_APP_INFO);
- /**
- * GtkAppChooserWidget::populate-popup:
- * @self: the object which received the signal
- * @menu: the #GtkMenu to populate
- * @application: the current #GAppInfo
- *
- * Emitted when a context menu is about to popup over an application item.
- * Clients can insert menu items into the provided #GtkMenu object in the
- * callback of this signal; the context menu will be shown over the item
- * if at least one item has been added to the menu.
- */
- signals[SIGNAL_POPULATE_POPUP] =
- g_signal_new (I_("populate-popup"),
- GTK_TYPE_APP_CHOOSER_WIDGET,
- G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (GtkAppChooserWidgetClass, populate_popup),
- NULL, NULL,
- _gtk_marshal_VOID__OBJECT_OBJECT,
- G_TYPE_NONE,
- 2, GTK_TYPE_MENU, G_TYPE_APP_INFO);
-
/* Bind class to template
*/
gtk_widget_class_set_template_from_resource (widget_class,
@@ -1179,7 +1066,6 @@ gtk_app_chooser_widget_init (GtkAppChooserWidget *self)
GtkAppChooserWidgetPrivate *priv = gtk_app_chooser_widget_get_instance_private (self);
GtkTreeSelection *selection;
GtkTreeModel *sort;
- GtkGesture *gesture;
gtk_widget_init_template (GTK_WIDGET (self));
@@ -1212,12 +1098,6 @@ gtk_app_chooser_widget_init (GtkAppChooserWidget *self)
priv->monitor = g_app_info_monitor_get ();
g_signal_connect (priv->monitor, "changed",
G_CALLBACK (app_info_changed), self);
-
- gesture = gtk_gesture_click_new ();
- gtk_gesture_single_set_button (GTK_GESTURE_SINGLE (gesture), GDK_BUTTON_SECONDARY);
- g_signal_connect (gesture, "pressed",
- G_CALLBACK (gtk_app_chooser_row_pressed_cb), self);
- gtk_widget_add_controller (priv->program_list, GTK_EVENT_CONTROLLER (gesture));
}
static GAppInfo *
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]