summaryrefslogtreecommitdiffstats
path: root/libreofficekit/qa/gtktiledviewer/gtv-lok-dialog.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'libreofficekit/qa/gtktiledviewer/gtv-lok-dialog.cxx')
-rw-r--r--libreofficekit/qa/gtktiledviewer/gtv-lok-dialog.cxx17
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)
{