diff options
Diffstat (limited to 'libreofficekit/qa/gtktiledviewer/gtv-lok-dialog.cxx')
-rw-r--r-- | libreofficekit/qa/gtktiledviewer/gtv-lok-dialog.cxx | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/libreofficekit/qa/gtktiledviewer/gtv-lok-dialog.cxx b/libreofficekit/qa/gtktiledviewer/gtv-lok-dialog.cxx index 5b48bd1b9ed7..a073198e5db3 100644 --- a/libreofficekit/qa/gtktiledviewer/gtv-lok-dialog.cxx +++ b/libreofficekit/qa/gtktiledviewer/gtv-lok-dialog.cxx @@ -23,6 +23,7 @@ struct GtvLokDialogPrivate { LOKDocView* lokdocview; + GtkWidget* pDialogDrawingArea; gchar* dialogid; }; @@ -68,11 +69,13 @@ gtv_lok_dialog_draw(GtkWidget* pDialogDrawingArea, cairo_t* pCairo, gpointer) static void gtv_lok_dialog_init(GtvLokDialog* dialog) { + GtvLokDialogPrivate* priv = getPrivate(dialog); + GtkWidget* pContentArea = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); - GtkWidget* pDialogDrawingArea = gtk_drawing_area_new(); + priv->pDialogDrawingArea = gtk_drawing_area_new(); - g_signal_connect(G_OBJECT(pDialogDrawingArea), "draw", G_CALLBACK(gtv_lok_dialog_draw), nullptr); - gtk_container_add(GTK_CONTAINER(pContentArea), pDialogDrawingArea); + g_signal_connect(G_OBJECT(priv->pDialogDrawingArea), "draw", G_CALLBACK(gtv_lok_dialog_draw), nullptr); + gtk_container_add(GTK_CONTAINER(pContentArea), priv->pDialogDrawingArea); } static void @@ -150,6 +153,14 @@ gtv_lok_dialog_class_init(GtvLokDialogClass* klass) g_object_class_install_properties (G_OBJECT_CLASS(klass), PROP_LAST, properties); } +void +gtv_lok_dialog_invalidate(GtvLokDialog* dialog) +{ + // trigger a draw on the drawing area + GtvLokDialogPrivate* priv = getPrivate(dialog); + gtk_widget_queue_draw(priv->pDialogDrawingArea); +} + GtkWidget* gtv_lok_dialog_new(LOKDocView* pDocView, const gchar* dialogId) { |