[gnome-applets/wip-geiger-warnings: 4/4] sticky-notes: replace deprecated gtk_menu_popup
- From: Sebastian Geiger <segeiger src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-applets/wip-geiger-warnings: 4/4] sticky-notes: replace deprecated gtk_menu_popup
- Date: Sun, 5 Apr 2020 18:24:21 +0000 (UTC)
commit fa0bb6671a24ba8b30b7c8fb6fd72f124efeb2ea
Author: Sebastian Geiger <sbastig gmx net>
Date: Sun Apr 5 20:26:33 2020 +0200
sticky-notes: replace deprecated gtk_menu_popup
.../sticky-notes/sticky-notes-applet-callbacks.c | 2 +-
gnome-applets/sticky-notes/sticky-notes-applet.c | 2 +-
.../sticky-notes/sticky-notes-callbacks.c | 18 ++++++------
.../sticky-notes/sticky-notes-callbacks.h | 2 +-
gnome-applets/sticky-notes/sticky-notes.c | 32 ++++++++++++----------
gnome-applets/sticky-notes/sticky-notes.h | 8 ++++--
6 files changed, 33 insertions(+), 31 deletions(-)
---
diff --git a/gnome-applets/sticky-notes/sticky-notes-applet-callbacks.c
b/gnome-applets/sticky-notes/sticky-notes-applet-callbacks.c
index 516ce72bd..5b6b6ad40 100644
--- a/gnome-applets/sticky-notes/sticky-notes-applet-callbacks.c
+++ b/gnome-applets/sticky-notes/sticky-notes-applet-callbacks.c
@@ -61,7 +61,7 @@ static gboolean get_desktop_window (Window *window)
static void
popup_add_note (StickyNotesApplet *applet)
{
- stickynotes_add (gtk_widget_get_screen (GTK_WIDGET (applet)));
+ stickynotes_add (applet);
}
static void
diff --git a/gnome-applets/sticky-notes/sticky-notes-applet.c
b/gnome-applets/sticky-notes/sticky-notes-applet.c
index df97593fd..5d4a7743e 100644
--- a/gnome-applets/sticky-notes/sticky-notes-applet.c
+++ b/gnome-applets/sticky-notes/sticky-notes-applet.c
@@ -177,7 +177,7 @@ sticky_notes_init (GpApplet *applet)
stickynotes->max_height = 0.8*gdk_screen_get_height( gdk_screen_get_default() );
/* Load sticky notes */
- stickynotes_load (gtk_widget_get_screen (GTK_WIDGET (applet)));
+ stickynotes_load (STICKY_NOTES_APPLET (applet));
install_check_click_on_desktop ();
}
diff --git a/gnome-applets/sticky-notes/sticky-notes-callbacks.c
b/gnome-applets/sticky-notes/sticky-notes-callbacks.c
index 0c9d3143e..696647703 100644
--- a/gnome-applets/sticky-notes/sticky-notes-callbacks.c
+++ b/gnome-applets/sticky-notes/sticky-notes-callbacks.c
@@ -108,17 +108,15 @@ stickynote_delete_cb (GtkWidget *widget,
gboolean
stickynote_show_popup_menu (GtkWidget *widget,
GdkEventButton *event,
- GtkWidget *popup_menu)
+ StickyNote *note)
{
- if (event->type == GDK_BUTTON_PRESS && event->button == 3)
- {
- gtk_menu_popup (GTK_MENU (popup_menu),
- NULL, NULL,
- NULL, NULL,
- event->button, event->time);
- }
+ if (event->type != GDK_BUTTON_PRESS || event->button != 3)
+ return GDK_EVENT_PROPAGATE;
- return FALSE;
+ gtk_menu_popup_at_pointer (GTK_MENU (note->w_menu),
+ (GdkEvent *) event);
+
+ return GDK_EVENT_PROPAGATE;
}
/* Popup Menu Callback : Create a new sticky note */
@@ -128,7 +126,7 @@ popup_create_cb (GSimpleAction *action,
gpointer user_data)
{
StickyNote *note = (StickyNote *) user_data;
- stickynotes_add (gtk_widget_get_screen (note->w_window));
+ stickynotes_add (note->applet);
}
/* Popup Menu Callback : Destroy selected sticky note */
diff --git a/gnome-applets/sticky-notes/sticky-notes-callbacks.h
b/gnome-applets/sticky-notes/sticky-notes-callbacks.h
index 5ebb02361..928258c23 100644
--- a/gnome-applets/sticky-notes/sticky-notes-callbacks.h
+++ b/gnome-applets/sticky-notes/sticky-notes-callbacks.h
@@ -27,7 +27,7 @@ gboolean stickynote_resize_cb(GtkWidget *widget, GdkEventButton *event, StickyNo
gboolean stickynote_move_cb(GtkWidget *widget, GdkEventButton *event, StickyNote *note);
gboolean stickynote_configure_cb(GtkWidget *widget, GdkEventConfigure *event, StickyNote *note);
gboolean stickynote_delete_cb(GtkWidget *widget, GdkEvent *event, StickyNote *note);
-gboolean stickynote_show_popup_menu(GtkWidget *widget, GdkEventButton *event, GtkWidget *popup_menu);
+gboolean stickynote_show_popup_menu(GtkWidget *widget, GdkEventButton *event, StickyNote *note);
/* Callbacks for the sticky notes popup menu */
void popup_create_cb (GSimpleAction *action,
diff --git a/gnome-applets/sticky-notes/sticky-notes.c b/gnome-applets/sticky-notes/sticky-notes.c
index 288b4f174..16d751151 100644
--- a/gnome-applets/sticky-notes/sticky-notes.c
+++ b/gnome-applets/sticky-notes/sticky-notes.c
@@ -153,7 +153,7 @@ buffer_changed (GtkTextBuffer *buffer, StickyNote *note)
/* Create a new (empty) Sticky Note at a specific position
and with specific size */
static StickyNote *
-stickynote_new_aux (GdkScreen *screen, gint x, gint y, gint w, gint h)
+stickynote_new_aux (StickyNotesApplet *applet, gint x, gint y, gint w, gint h)
{
StickyNote *note;
GtkBuilder *builder;
@@ -161,6 +161,8 @@ stickynote_new_aux (GdkScreen *screen, gint x, gint y, gint w, gint h)
note = g_new (StickyNote, 1);
+ note->applet = applet;
+
builder = gtk_builder_new ();
gtk_builder_add_from_resource (builder,
GRESOURCE_PREFIX "/ui/sticky-notes-note.ui",
@@ -170,7 +172,7 @@ stickynote_new_aux (GdkScreen *screen, gint x, gint y, gint w, gint h)
NULL);
note->w_window = GTK_WIDGET (gtk_builder_get_object (builder, "stickynote_window"));
- gtk_window_set_screen(GTK_WINDOW(note->w_window),screen);
+ gtk_window_set_screen(GTK_WINDOW(note->w_window), gdk_screen_get_default ());
gtk_window_set_decorated (GTK_WINDOW (note->w_window), FALSE);
gtk_window_set_skip_taskbar_hint (GTK_WINDOW (note->w_window), TRUE);
gtk_window_set_skip_pager_hint (GTK_WINDOW (note->w_window), TRUE);
@@ -206,7 +208,7 @@ stickynote_new_aux (GdkScreen *screen, gint x, gint y, gint w, gint h)
note->w_properties = GTK_WIDGET (gtk_builder_get_object (builder,
"stickynote_properties"));
- gtk_window_set_screen (GTK_WINDOW (note->w_properties), screen);
+ gtk_window_set_screen (GTK_WINDOW (note->w_properties), gdk_screen_get_default ());
note->w_entry = GTK_WIDGET (gtk_builder_get_object (builder, "title_entry"));
note->w_color = GTK_WIDGET (gtk_builder_get_object (builder, "note_color"));
@@ -263,7 +265,7 @@ stickynote_new_aux (GdkScreen *screen, gint x, gint y, gint w, gint h)
gtk_widget_set_name (note->w_window, note->name);
note->css = gtk_css_provider_new ();
- gtk_style_context_add_provider_for_screen (screen,
+ gtk_style_context_add_provider_for_screen (gdk_screen_get_default (),
GTK_STYLE_PROVIDER (note->css),
GTK_STYLE_PROVIDER_PRIORITY_USER + 100);
@@ -276,19 +278,19 @@ stickynote_new_aux (GdkScreen *screen, gint x, gint y, gint w, gint h)
gtk_widget_realize (note->w_window);
g_signal_connect (G_OBJECT (note->w_window), "button-press-event",
- G_CALLBACK (stickynote_show_popup_menu), note->w_menu);
+ G_CALLBACK (stickynote_show_popup_menu), note);
g_signal_connect (G_OBJECT (note->w_lock), "button-press-event",
- G_CALLBACK (stickynote_show_popup_menu), note->w_menu);
+ G_CALLBACK (stickynote_show_popup_menu), note);
g_signal_connect (G_OBJECT (note->w_close), "button-press-event",
- G_CALLBACK (stickynote_show_popup_menu), note->w_menu);
+ G_CALLBACK (stickynote_show_popup_menu), note);
g_signal_connect (G_OBJECT (note->w_resize_se), "button-press-event",
- G_CALLBACK (stickynote_show_popup_menu), note->w_menu);
+ G_CALLBACK (stickynote_show_popup_menu), note);
g_signal_connect (G_OBJECT (note->w_resize_sw), "button-press-event",
- G_CALLBACK (stickynote_show_popup_menu), note->w_menu);
+ G_CALLBACK (stickynote_show_popup_menu), note);
/* Connect a properties dialog to the note */
gtk_window_set_transient_for (GTK_WINDOW(note->w_properties),
@@ -346,9 +348,9 @@ stickynote_new_aux (GdkScreen *screen, gint x, gint y, gint w, gint h)
/* Create a new (empty) Sticky Note */
StickyNote *
-stickynote_new (GdkScreen *screen)
+stickynote_new (StickyNotesApplet *applet)
{
- return stickynote_new_aux (screen, -1, -1, 0, 0);
+ return stickynote_new_aux (applet, -1, -1, 0, 0);
}
/* Destroy a Sticky Note */
@@ -845,11 +847,11 @@ stickynote_set_visible (StickyNote *note, gboolean visible)
}
/* Add a sticky note */
-void stickynotes_add (GdkScreen *screen)
+void stickynotes_add (StickyNotesApplet *applet)
{
StickyNote *note;
- note = stickynote_new (screen);
+ note = stickynote_new (applet);
stickynotes->notes = g_list_append(stickynotes->notes, note);
stickynotes_applet_update_tooltips();
@@ -1028,7 +1030,7 @@ stickynotes_save (void)
/* Load all sticky notes from an XML configuration file */
void
-stickynotes_load (GdkScreen *screen)
+stickynotes_load (StickyNotesApplet *applet)
{
xmlDocPtr doc;
xmlNodePtr root;
@@ -1123,7 +1125,7 @@ stickynotes_load (GdkScreen *screen)
}
/* Create a new note */
- note = stickynote_new_aux (screen, x, y, w, h);
+ note = stickynote_new_aux (applet, x, y, w, h);
stickynotes->notes = g_list_append (stickynotes->notes,
note);
new_notes = g_list_append (new_notes, note);
diff --git a/gnome-applets/sticky-notes/sticky-notes.h b/gnome-applets/sticky-notes/sticky-notes.h
index c2322dd75..5fa1da04f 100644
--- a/gnome-applets/sticky-notes/sticky-notes.h
+++ b/gnome-applets/sticky-notes/sticky-notes.h
@@ -24,6 +24,8 @@
typedef struct
{
+ StickyNotesApplet *applet;
+
GtkWidget *w_window; /* Sticky Note window */
GtkWidget *w_menu; /* Sticky Note menu */
GtkWidget *w_properties; /* Sticky Note properties dialog */
@@ -69,7 +71,7 @@ typedef struct
} StickyNote;
-StickyNote * stickynote_new(GdkScreen *screen);
+StickyNote * stickynote_new(StickyNotesApplet *applet);
void stickynote_free(StickyNote *note);
gboolean stickynote_get_empty(const StickyNote *note);
@@ -85,10 +87,10 @@ void stickynote_set_visible(StickyNote *note, gboolean visible);
void stickynote_change_properties(StickyNote *note);
-void stickynotes_add(GdkScreen *screen);
+void stickynotes_add(StickyNotesApplet *applet);
void stickynotes_remove(StickyNote *note);
void stickynotes_save(void);
void stickynotes_save_now (void);
-void stickynotes_load(GdkScreen *screen);
+void stickynotes_load(StickyNotesApplet *applet);
#endif /* __STICKYNOTES_H__ */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]