diff options
author | Jan Holesovsky <kendy@collabora.com> | 2015-08-01 02:13:47 +0200 |
---|---|---|
committer | Jan Holesovsky <kendy@collabora.com> | 2015-08-03 11:29:19 +0200 |
commit | 1823208dbd13ec7d4118045084036a59a70c7125 (patch) | |
tree | 14782e5b3dc9e9602dff79ca7a5d73dc378be711 /libreofficekit | |
parent | ef6d95bc75b06573bf5342933b1ac35aada5dbc8 (diff) |
LOK: Implement parts for Writer too.
In Writer, the meaning of 'parts' is a bit different than in Calc or Impress.
In Writer, the parts mean pages, and the document does not give a completely
different view, the cursor just jumps to the given page.
It is up to the client to follow the cursor appropriately to have the desired
effect.
Conflicts:
libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
libreofficekit/source/gtk/lokdocview.cxx
Change-Id: I56b3264e0340cd639bdabfa92b74b52bd1f391a5
Diffstat (limited to 'libreofficekit')
-rw-r--r-- | libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx | 8 | ||||
-rw-r--r-- | libreofficekit/source/gtk/lokdocview.cxx | 11 |
2 files changed, 19 insertions, 0 deletions
diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx index 83ec9d23c113..144f807207aa 100644 --- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx +++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx @@ -300,6 +300,13 @@ static void populatePartSelector() lok_docview_get_part( LOK_DOCVIEW(pDocView) ) ); } +static void signalSize(LOKDocView* /*pLOKDocView*/, gpointer /*pData*/) +{ + g_bPartSelectorBroadcast = false; + populatePartSelector(); + g_bPartSelectorBroadcast = true; +} + static void changePart( GtkWidget* pSelector, gpointer /* pItem */ ) { int nPart = gtk_combo_box_get_active( GTK_COMBO_BOX(pSelector) ); @@ -463,6 +470,7 @@ int main( int argc, char* argv[] ) g_signal_connect(pDocView, "command-changed", G_CALLBACK(signalCommand), NULL); g_signal_connect(pDocView, "search-not-found", G_CALLBACK(signalSearch), NULL); g_signal_connect(pDocView, "part-changed", G_CALLBACK(signalPart), NULL); + g_signal_connect(pDocView, "size-changed", G_CALLBACK(signalSize), NULL); // Input handling. g_signal_connect(pWindow, "key-press-event", G_CALLBACK(signalKey), pDocView); diff --git a/libreofficekit/source/gtk/lokdocview.cxx b/libreofficekit/source/gtk/lokdocview.cxx index 7ab7f099c8bf..2adc23ed5f8b 100644 --- a/libreofficekit/source/gtk/lokdocview.cxx +++ b/libreofficekit/source/gtk/lokdocview.cxx @@ -1086,6 +1086,7 @@ enum COMMAND_CHANGED, SEARCH_NOT_FOUND, PART_CHANGED, + SIZE_CHANGED, LAST_SIGNAL }; @@ -1151,6 +1152,16 @@ static void lok_docview_class_init( gpointer ptr ) g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT); + pClass->size_changed = 0; + docview_signals[SIZE_CHANGED] = + g_signal_new("size-changed", + G_TYPE_FROM_CLASS(gobject_class), + G_SIGNAL_RUN_FIRST, + G_STRUCT_OFFSET(LOKDocViewClass, size_changed), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 1, + G_TYPE_INT); } static void lok_docview_init( GTypeInstance* pInstance, gpointer ) |