[evince/wip/gpoo/gtk4-rebase-port: 56/72] ev-view: implement and enable ev_remove_all




commit c39776c49e4641fc655d42deaa8f1c2a54c2c9cd
Author: Qiu Wenbo <qiuwenbo kylinos com cn>
Date:   Fri Aug 27 14:52:35 2021 +0800

    ev-view: implement and enable ev_remove_all
    
    Signed-off-by: Qiu Wenbo <qiuwenbo kylinos com cn>

 libview/ev-view.c | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)
---
diff --git a/libview/ev-view.c b/libview/ev-view.c
index 03db4d7e2..cec6e16c9 100644
--- a/libview/ev-view.c
+++ b/libview/ev-view.c
@@ -5781,6 +5781,20 @@ ev_view_remove_all_form_fields (EvView *view)
        gtk_widget_queue_draw (GTK_WIDGET (view));
 }
 
+static void
+ev_view_remove_all (EvView *view)
+{
+       GtkWidget *child = gtk_widget_get_first_child (GTK_WIDGET (view));
+
+       while (child != NULL) {
+               GtkWidget *next = gtk_widget_get_next_sibling (child);
+
+               gtk_widget_unparent (child);
+
+               child = next;
+       }
+}
+
 /*** Drag and Drop ***/
 static GdkContentProvider *
 on_drag_prepare (GtkDragSource *self,
@@ -8508,7 +8522,7 @@ ev_view_document_changed_cb (EvDocumentModel *model,
        if (document != view->document) {
                gint current_page;
 
-               // ev_view_remove_all (view);
+               ev_view_remove_all (view);
                clear_caches (view);
 
                if (view->document) {
@@ -8559,7 +8573,7 @@ ev_view_rotation_changed_cb (EvDocumentModel *model,
                gtk_widget_queue_resize (GTK_WIDGET (view));
        }
 
-       // ev_view_remove_all (view);
+       ev_view_remove_all (view);
        view_update_scale_limits (view);
 
        if (rotation != 0)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]