talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit 59b75ea19ca65bb8ab0565d5dac33d4e6ccdac1d
parent de2f37d8c715883af74983489f63bfceeab507eb
Author: Andrej Kacian <ticho@claws-mail.org>
Date:   Fri,  5 Oct 2018 20:35:40 +0200

Removed a few deprecated GTK API calls in mimeview.c.

Diffstat:
Msrc/mimeview.c | 81++++++++++++++++++++++++++++++++++++++++---------------------------------------
Msrc/mimeview.h | 2+-
Msrc/stock_pixmap.c | 3++-
3 files changed, 44 insertions(+), 42 deletions(-)

diff --git a/src/mimeview.c b/src/mimeview.c @@ -249,12 +249,11 @@ MimeView *mimeview_create(MainWindow *mainwin) GtkWidget *mime_toggle; GtkWidget *icon_mainbox; GtkWidget *icon_scroll; - GtkWidget *icon_vbox; + GtkWidget *icon_grid; GtkWidget *arrow; GtkWidget *scrollbutton; GtkWidget *hbox; NoticeView *siginfoview; - GtkRequisition r; GtkTreeStore *model; GtkCellRenderer *renderer; GtkTreeViewColumn *column; @@ -333,17 +332,20 @@ MimeView *mimeview_create(MainWindow *mainwin) G_CALLBACK(mimeview_drag_data_get), mimeview); mime_notebook = gtk_notebook_new(); - gtk_widget_show(mime_notebook); - gtk_widget_set_can_focus(mime_notebook, FALSE); - gtk_notebook_set_show_tabs(GTK_NOTEBOOK(mime_notebook), FALSE); - gtk_notebook_set_show_border(GTK_NOTEBOOK(mime_notebook), FALSE); - - icon_vbox = gtk_vbox_new(FALSE, 2); - gtk_widget_show(icon_vbox); + gtk_widget_show(mime_notebook); + gtk_widget_set_can_focus(mime_notebook, FALSE); + gtk_notebook_set_show_tabs(GTK_NOTEBOOK(mime_notebook), FALSE); + gtk_notebook_set_show_border(GTK_NOTEBOOK(mime_notebook), FALSE); + + icon_grid = gtk_grid_new(); + gtk_orientable_set_orientation(GTK_ORIENTABLE(icon_grid), + GTK_ORIENTATION_VERTICAL); + gtk_grid_set_row_spacing(GTK_GRID(icon_grid), 0); + gtk_widget_show(icon_grid); icon_scroll = gtk_layout_new(NULL, NULL); gtk_widget_show(icon_scroll); - gtk_layout_put(GTK_LAYOUT(icon_scroll), icon_vbox, 0, 0); - scrollbutton = gtk_vscrollbutton_new(gtk_layout_get_vadjustment(GTK_LAYOUT(icon_scroll))); + gtk_layout_put(GTK_LAYOUT(icon_scroll), icon_grid, 0, 0); + scrollbutton = gtk_vscrollbutton_new(gtk_scrollable_get_vadjustment(GTK_SCROLLABLE(icon_scroll))); gtk_widget_show(scrollbutton); g_signal_connect(G_OBJECT(icon_scroll), "scroll_event", @@ -364,7 +366,6 @@ MimeView *mimeview_create(MainWindow *mainwin) mimeview->ctree_mode = FALSE; arrow = gtk_arrow_new(GTK_ARROW_LEFT, GTK_SHADOW_NONE); gtk_widget_show(arrow); - gtk_widget_size_request(arrow, &r); gtk_container_add(GTK_CONTAINER(mime_toggle), arrow); g_signal_connect(G_OBJECT(mime_toggle), "button_release_event", G_CALLBACK(mime_toggle_button_cb), mimeview); @@ -453,7 +454,7 @@ MimeView *mimeview_create(MainWindow *mainwin) mimeview->type = -1; mimeview->ctree_mainbox = ctree_mainbox; mimeview->icon_scroll = icon_scroll; - mimeview->icon_vbox = icon_vbox; + mimeview->icon_grid = icon_grid; mimeview->icon_mainbox = icon_mainbox; mimeview->icon_count = 0; mimeview->mainwin = mainwin; @@ -1401,6 +1402,9 @@ static void mimeview_selected(GtkTreeSelection *selection, MimeView *mimeview) GtkTreePath *path; MimeInfo *partinfo; MainWindow *mainwin; + GdkDisplay *display; + GdkSeat *seat; + GdkDevice *device; selection = gtk_tree_view_get_selection(ctree); if (!gtk_tree_selection_get_selected(selection, &model, &iter)) @@ -1424,8 +1428,11 @@ static void mimeview_selected(GtkTreeSelection *selection, MimeView *mimeview) /* ungrab the mouse event */ if (gtk_widget_has_grab(GTK_WIDGET(ctree))) { gtk_grab_remove(GTK_WIDGET(ctree)); - if (gdk_pointer_is_grabbed()) - gdk_pointer_ungrab(GDK_CURRENT_TIME); + display = gdk_window_get_display(gtk_widget_get_window(GTK_WIDGET(ctree))); + seat = gdk_display_get_default_seat(display); + device = gdk_seat_get_pointer(seat); + if (gdk_display_device_is_grabbed(display, device)) + gdk_seat_ungrab(seat); } mimeview->textview->default_text = FALSE; @@ -1526,10 +1533,9 @@ static gboolean part_button_pressed(MimeView *mimeview, GdkEventButton *event, main_window_set_menu_sensitive(mainwin); g_object_set_data(G_OBJECT(mimeview->popupmenu), "pop_partinfo", partinfo); - - gtk_menu_popup(GTK_MENU(mimeview->popupmenu), - NULL, NULL, NULL, NULL, - event->button, event->time); + + gtk_menu_popup_at_pointer(GTK_MENU(mimeview->popupmenu), + (GdkEvent *)event); return TRUE; } @@ -2457,16 +2463,14 @@ static gboolean icon_popup_menu(GtkWidget *widget, gpointer data) g_object_set_data(G_OBJECT(mimeview->popupmenu), "pop_partinfo", partinfo); - gtk_menu_popup(GTK_MENU(mimeview->popupmenu), - NULL, NULL, NULL, NULL, - 0, gtk_get_current_event_time()); + gtk_menu_popup_at_pointer(GTK_MENU(mimeview->popupmenu), NULL); return TRUE; } static void icon_list_append_icon (MimeView *mimeview, MimeInfo *mimeinfo) { GtkWidget *pixmap = NULL; - GtkWidget *vbox; + GtkWidget *grid; GtkWidget *button; gchar *tip; gchar *tiptmp; @@ -2484,7 +2488,7 @@ static void icon_list_append_icon (MimeView *mimeview, MimeInfo *mimeinfo) if (!prefs_common.show_inline_attachments && mimeinfo->id) return; - vbox = mimeview->icon_vbox; + grid = mimeview->icon_grid; mimeview->icon_count++; button = gtk_event_box_new(); @@ -2639,7 +2643,7 @@ static void icon_list_append_icon (MimeView *mimeview, MimeInfo *mimeinfo) G_CALLBACK(icon_key_pressed), mimeview); g_signal_connect(G_OBJECT(button), "drag_data_get", G_CALLBACK(mimeview_drag_data_get), mimeview); - gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, FALSE, 0); + gtk_container_add(GTK_CONTAINER(grid), button); #ifdef GENERIC_UMPC gtk_widget_size_request(pixmap, &r); gtk_widget_set_size_request(button, -1, r.height + 4); @@ -2652,16 +2656,15 @@ static void icon_list_clear (MimeView *mimeview) GList *child, *orig; GtkAdjustment *adj; - orig = gtk_container_get_children(GTK_CONTAINER(mimeview->icon_vbox)); + orig = gtk_container_get_children(GTK_CONTAINER(mimeview->icon_grid)); for (child = orig; child != NULL; child = g_list_next(child)) { - gtkut_container_remove(GTK_CONTAINER(mimeview->icon_vbox), + gtkut_container_remove(GTK_CONTAINER(mimeview->icon_grid), GTK_WIDGET(child->data)); } g_list_free(orig); mimeview->icon_count = 0; - adj = gtk_layout_get_vadjustment(GTK_LAYOUT(mimeview->icon_scroll)); + adj = gtk_scrollable_get_vadjustment(GTK_SCROLLABLE(mimeview->icon_scroll)); gtk_adjustment_set_value(adj, gtk_adjustment_get_lower(adj)); - gtk_adjustment_changed(adj); } /*! @@ -2672,28 +2675,27 @@ static void icon_list_clear (MimeView *mimeview) static void icon_scroll_size_allocate_cb(GtkWidget *widget, GtkAllocation *size, MimeView *mimeview) { - GtkAllocation vbox_size; + GtkAllocation grid_size; GtkAllocation layout_size; GtkAdjustment *adj; guint width; guint height; - adj = gtk_layout_get_vadjustment(GTK_LAYOUT(mimeview->icon_scroll)); + adj = gtk_scrollable_get_vadjustment(GTK_SCROLLABLE(mimeview->icon_scroll)); - gtk_widget_get_allocation(mimeview->icon_vbox, &vbox_size); + gtk_widget_get_allocation(mimeview->icon_grid, &grid_size); gtk_widget_get_allocation(mimeview->icon_scroll, &layout_size); gtk_layout_get_size(GTK_LAYOUT(mimeview->icon_scroll), &width, &height); gtk_layout_set_size(GTK_LAYOUT(mimeview->icon_scroll), width, - MAX(vbox_size.height, layout_size.height)); + MAX(grid_size.height, layout_size.height)); gtk_adjustment_set_step_increment(adj, 10); } static void icon_list_create(MimeView *mimeview, MimeInfo *mimeinfo) { - GtkRequisition size; - GtkRequisition requisition; + gint min_width, width; cm_return_if_fail(mimeinfo != NULL); @@ -2707,11 +2709,10 @@ static void icon_list_create(MimeView *mimeview, MimeInfo *mimeinfo) ? (MimeInfo *) mimeinfo->node->next->data : NULL; } - gtk_widget_size_request(mimeview->icon_vbox, &size); - gtk_widget_get_requisition(mimeview->icon_mainbox, &requisition); - if (size.width > requisition.width) { + gtk_widget_get_preferred_width(mimeview->icon_mainbox, &min_width, &width); + if (min_width < width) { gtk_widget_set_size_request(mimeview->icon_mainbox, - size.width, -1); + min_width, -1); } if (mimeview->opened) icon_list_toggle_by_mime_info(mimeview, @@ -2723,7 +2724,7 @@ static void icon_list_toggle_by_mime_info (MimeView *mimeview, { GList *children, *child; - children = gtk_container_get_children(GTK_CONTAINER(mimeview->icon_vbox)); + children = gtk_container_get_children(GTK_CONTAINER(mimeview->icon_grid)); for (child = children; child != NULL; child = g_list_next(child)) { gboolean *highlight = NULL; GtkWidget *icon = gtk_bin_get_child(GTK_BIN(child->data)); diff --git a/src/mimeview.h b/src/mimeview.h @@ -66,7 +66,7 @@ struct _MimeView GtkWidget *mime_notebook; GtkWidget *ctree_mainbox; GtkWidget *icon_scroll; - GtkWidget *icon_vbox; + GtkWidget *icon_grid; GtkWidget *icon_mainbox; GtkWidget *mime_toggle; GtkWidget *scrollbutton; diff --git a/src/stock_pixmap.c b/src/stock_pixmap.c @@ -1065,7 +1065,8 @@ GtkWidget *stock_pixmap_widget_with_overlay(StockPixmap icon, stock_wid = stock_pixmap_widget(icon); g_object_ref_sink(stock_wid); - gtk_widget_get_requisition(stock_wid, &requisition); + gtk_widget_get_preferred_height(stock_wid, NULL, &requisition.height); + gtk_widget_get_preferred_width(stock_wid, NULL, &requisition.width); #if !GTK_CHECK_VERSION(3, 0, 0) if (gtk_image_get_storage_type(GTK_IMAGE(stock_wid)) == GTK_IMAGE_PIXMAP)