summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/LibreOfficeKit/LibreOfficeKitGtk.h2
-rw-r--r--libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx13
-rw-r--r--libreofficekit/source/gtk/lokdocview.c5
3 files changed, 20 insertions, 0 deletions
diff --git a/include/LibreOfficeKit/LibreOfficeKitGtk.h b/include/LibreOfficeKit/LibreOfficeKitGtk.h
index a67c841fd340..d6f6c3dcb592 100644
--- a/include/LibreOfficeKit/LibreOfficeKitGtk.h
+++ b/include/LibreOfficeKit/LibreOfficeKitGtk.h
@@ -118,6 +118,8 @@ void lok_docview_set_partmode (LOKDocView* pDocView,
/// Sets if the viewer is actually an editor or not.
void lok_docview_set_edit (LOKDocView* pDocView,
gboolean bEdit);
+/// Gets if the viewer is actually an editor or not.
+gboolean lok_docview_get_edit (LOKDocView* pDocView);
#ifdef __cplusplus
}
#endif
diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
index cfa108ec1192..360d9f49712c 100644
--- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
+++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
@@ -105,6 +105,13 @@ void changeZoom( GtkWidget* pButton, gpointer /* pItem */ )
}
}
+void toggleEditing(GtkWidget* /*pButton*/, gpointer /*pItem*/)
+{
+ LOKDocView* pLOKDocView = LOK_DOCVIEW(pDocView);
+ bool bEdit = lok_docview_get_edit(pLOKDocView);
+ lok_docview_set_edit(pLOKDocView, !bEdit);
+}
+
void changeQuadView( GtkWidget* /*pButton*/, gpointer /* pItem */ )
{
if ( pDocView )
@@ -339,6 +346,12 @@ int main( int argc, char* argv[] )
gtk_toolbar_insert( GTK_TOOLBAR(pToolbar), pEnableQuadView, -1 );
g_signal_connect( G_OBJECT(pEnableQuadView), "toggled", G_CALLBACK(changeQuadView), NULL );
+ gtk_toolbar_insert( GTK_TOOLBAR(pToolbar), gtk_separator_tool_item_new(), -1);
+ GtkToolItem* pEnableEditing = gtk_toggle_tool_button_new();
+ gtk_tool_button_set_label(GTK_TOOL_BUTTON(pEnableEditing), "Editing");
+ gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), pEnableEditing, -1);
+ g_signal_connect(G_OBJECT(pEnableEditing), "toggled", G_CALLBACK(toggleEditing), NULL);
+
gtk_box_pack_start( GTK_BOX(pVBox), pToolbar, FALSE, FALSE, 0 ); // Adds to top.
// Docview
diff --git a/libreofficekit/source/gtk/lokdocview.c b/libreofficekit/source/gtk/lokdocview.c
index ebebbbf034e6..61ab95715899 100644
--- a/libreofficekit/source/gtk/lokdocview.c
+++ b/libreofficekit/source/gtk/lokdocview.c
@@ -957,4 +957,9 @@ SAL_DLLPUBLIC_EXPORT void lok_docview_set_edit( LOKDocView* pDocView,
pDocView->m_bEdit = bEdit;
}
+SAL_DLLPUBLIC_EXPORT gboolean lok_docview_get_edit(LOKDocView* pDocView)
+{
+ return pDocView->m_bEdit;
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */