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




commit f78ab0b550d2478c9dc72e053b305e1172ed5d47
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 78ca3b920..c4cf11513 100644
--- a/libview/ev-view.c
+++ b/libview/ev-view.c
@@ -5747,6 +5747,20 @@ ev_view_remove_all_form_fields (EvView *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,
@@ -8439,7 +8453,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) {
@@ -8490,7 +8504,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]