summaryrefslogtreecommitdiff
path: root/libreofficekit
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@collabora.com>2015-03-12 14:59:59 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2015-03-16 09:38:09 +0100
commit00b758b40a23d715e4eb1cf8f62c901cd8c41249 (patch)
tree038f9eee73eed2b353f119030cba293800a1b016 /libreofficekit
parenta250e9d3ecf899796e7cfbdd2266e494353580c0 (diff)
LOK: Implement posting of .uno: commands.
Implements also Bold button as an example in the gtktiledviewer. Change-Id: I3b07d51165f28534aadbb4673f964ec10d5fc6ef
Diffstat (limited to 'libreofficekit')
-rw-r--r--libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx15
-rw-r--r--libreofficekit/source/gtk/lokdocview.cxx5
2 files changed, 20 insertions, 0 deletions
diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
index 32a107ee9fca..92ffdd489ea0 100644
--- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
+++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
@@ -35,6 +35,7 @@ static int help()
static GtkWidget* pDocView;
static GtkToolItem* pEnableEditing;
+static GtkToolItem* pBold;
static GtkWidget* pDocViewQuad;
static GtkWidget* pVBox;
// GtkComboBox requires gtk 2.24 or later
@@ -124,6 +125,14 @@ static void signalEdit(LOKDocView* pLOKDocView, gboolean bWasEdit, gpointer /*pD
gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(pEnableEditing), bEdit);
}
+/// User clicked on the 'Bold' button -> inform LOKDocView.
+void toggleBold(GtkWidget* /*pButton*/, gpointer /*pItem*/)
+{
+ LOKDocView* pLOKDocView = LOK_DOCVIEW(pDocView);
+
+ lok_docview_post_command(pLOKDocView, ".uno:Bold");
+}
+
void changeQuadView( GtkWidget* /*pButton*/, gpointer /* pItem */ )
{
if ( pDocView )
@@ -364,6 +373,12 @@ int main( int argc, char* argv[] )
gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), pEnableEditing, -1);
g_signal_connect(G_OBJECT(pEnableEditing), "toggled", G_CALLBACK(toggleEditing), NULL);
+ gtk_toolbar_insert( GTK_TOOLBAR(pToolbar), gtk_separator_tool_item_new(), -1);
+ pBold = gtk_toggle_tool_button_new();
+ gtk_tool_button_set_label(GTK_TOOL_BUTTON(pBold), "Bold");
+ gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), pBold, -1);
+ g_signal_connect(G_OBJECT(pBold), "toggled", G_CALLBACK(toggleBold), NULL);
+
gtk_box_pack_start( GTK_BOX(pVBox), pToolbar, FALSE, FALSE, 0 ); // Adds to top.
// Docview
diff --git a/libreofficekit/source/gtk/lokdocview.cxx b/libreofficekit/source/gtk/lokdocview.cxx
index 8349256256a9..e3fd1cba34d0 100644
--- a/libreofficekit/source/gtk/lokdocview.cxx
+++ b/libreofficekit/source/gtk/lokdocview.cxx
@@ -971,4 +971,9 @@ SAL_DLLPUBLIC_EXPORT gboolean lok_docview_get_edit(LOKDocView* pDocView)
return pDocView->m_bEdit;
}
+SAL_DLLPUBLIC_EXPORT void lok_docview_post_command(LOKDocView* pDocView, const char* pCommand)
+{
+ pDocView->pDocument->pClass->postUnoCommand(pDocView->pDocument, pCommand);
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */