|
 |
f325b2 |
From 061935437f10f6e35d0b0561a5465f4872a8c909 Mon Sep 17 00:00:00 2001
|
|
 |
f325b2 |
From: Pranav Kant <pranavk@gnome.org>
|
|
 |
f325b2 |
Date: Tue, 23 Jun 2015 02:58:38 +0530
|
|
 |
f325b2 |
Subject: [PATCH 060/398] lokdocview: Remove superfluous *_post_key()
|
|
 |
f325b2 |
|
|
 |
f325b2 |
Instead directly let LOKDocView handle the input.
|
|
 |
f325b2 |
|
|
 |
f325b2 |
Change-Id: I260a460df23c3e2e5c78d8b363bb864ae5c63dab
|
|
 |
f325b2 |
(cherry picked from commit da49b8339828c0ee27d999ac4201e0eb12a1a47f)
|
|
 |
f325b2 |
---
|
|
 |
f325b2 |
include/LibreOfficeKit/LibreOfficeKitGtk.h | 4 ---
|
|
 |
f325b2 |
.../qa/gtktiledviewer/gtktiledviewer.cxx | 22 +++---------
|
|
 |
f325b2 |
libreofficekit/source/gtk/lokdocview.cxx | 40 ++++++++--------------
|
|
 |
f325b2 |
3 files changed, 20 insertions(+), 46 deletions(-)
|
|
 |
f325b2 |
|
|
 |
f325b2 |
diff --git a/include/LibreOfficeKit/LibreOfficeKitGtk.h b/include/LibreOfficeKit/LibreOfficeKitGtk.h
|
|
 |
f325b2 |
index 3a1628b60e86..962f9d9265bb 100644
|
|
 |
f325b2 |
--- a/include/LibreOfficeKit/LibreOfficeKitGtk.h
|
|
 |
f325b2 |
+++ b/include/LibreOfficeKit/LibreOfficeKitGtk.h
|
|
 |
f325b2 |
@@ -74,10 +74,6 @@ void lok_doc_view_post_command (LOKDocView*
|
|
 |
f325b2 |
const char* pCommand,
|
|
 |
f325b2 |
const char* pArguments);
|
|
 |
f325b2 |
|
|
 |
f325b2 |
-/// Posts a keyboard event to LibreOfficeKit.
|
|
 |
f325b2 |
-void lok_doc_view_post_key (LOKDocView* pDocView,
|
|
 |
f325b2 |
- GdkEvent* pEvent);
|
|
 |
f325b2 |
-
|
|
 |
f325b2 |
float lok_doc_view_pixel_to_twip (LOKDocView* pDocView,
|
|
 |
f325b2 |
float fInput);
|
|
 |
f325b2 |
|
|
 |
f325b2 |
diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
|
|
 |
f325b2 |
index 61f016dffab8..7510ca53a928 100644
|
|
 |
f325b2 |
--- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
|
|
 |
f325b2 |
+++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
|
|
 |
f325b2 |
@@ -190,19 +190,6 @@ static void getVisibleAreaTwips(GdkRectangle* pArea)
|
|
 |
f325b2 |
#endif
|
|
 |
f325b2 |
}
|
|
 |
f325b2 |
|
|
 |
f325b2 |
-
|
|
 |
f325b2 |
-/// Handles the key-press-event of the window.
|
|
 |
f325b2 |
-static gboolean signalKey(GtkWidget* /*pWidget*/, GdkEvent* pEvent, gpointer/* pData*/)
|
|
 |
f325b2 |
-{
|
|
 |
f325b2 |
- LOKDocView* pLOKDocView = LOK_DOC_VIEW(pDocView);
|
|
 |
f325b2 |
- if (!gtk_widget_get_visible(pFindbar) && bool(lok_doc_view_get_edit(pLOKDocView)))
|
|
 |
f325b2 |
- {
|
|
 |
f325b2 |
- lok_doc_view_post_key(pLOKDocView, pEvent);
|
|
 |
f325b2 |
- return TRUE;
|
|
 |
f325b2 |
- }
|
|
 |
f325b2 |
- return FALSE;
|
|
 |
f325b2 |
-}
|
|
 |
f325b2 |
-
|
|
 |
f325b2 |
/// Searches for the next or previous text of pFindbarEntry.
|
|
 |
f325b2 |
static void doSearch(bool bBackwards)
|
|
 |
f325b2 |
{
|
|
 |
f325b2 |
@@ -540,10 +527,6 @@ int main( int argc, char* argv[] )
|
|
 |
f325b2 |
g_signal_connect(pDocView, "part-changed", G_CALLBACK(signalPart), NULL);
|
|
 |
f325b2 |
g_signal_connect(pDocView, "hyperlink-clicked", G_CALLBACK(signalHyperlink), NULL);
|
|
 |
f325b2 |
|
|
 |
f325b2 |
- // Input handling.
|
|
 |
f325b2 |
- g_signal_connect(pWindow, "key-press-event", G_CALLBACK(signalKey), pDocView);
|
|
 |
f325b2 |
- g_signal_connect(pWindow, "key-release-event", G_CALLBACK(signalKey), pDocView);
|
|
 |
f325b2 |
-
|
|
 |
f325b2 |
// Scrolled window for DocView
|
|
 |
f325b2 |
pScrolledWindow = gtk_scrolled_window_new(0, 0);
|
|
 |
f325b2 |
gtk_widget_set_hexpand (pScrolledWindow, TRUE);
|
|
 |
f325b2 |
@@ -567,6 +550,11 @@ int main( int argc, char* argv[] )
|
|
 |
f325b2 |
g_signal_connect(G_OBJECT(pPartModeComboBox), "changed", G_CALLBACK(changePartMode), 0);
|
|
 |
f325b2 |
g_signal_connect(G_OBJECT(pPartSelector), "changed", G_CALLBACK(changePart), 0);
|
|
 |
f325b2 |
|
|
 |
f325b2 |
+ // Make only LOKDocView widget as focussable
|
|
 |
f325b2 |
+ GList *focusChain = NULL;
|
|
 |
f325b2 |
+ focusChain = g_list_append( focusChain, pDocView );
|
|
 |
f325b2 |
+ gtk_container_set_focus_chain ( GTK_CONTAINER (pVBox), focusChain );
|
|
 |
f325b2 |
+
|
|
 |
f325b2 |
gtk_main();
|
|
 |
f325b2 |
|
|
 |
f325b2 |
return 0;
|
|
 |
f325b2 |
diff --git a/libreofficekit/source/gtk/lokdocview.cxx b/libreofficekit/source/gtk/lokdocview.cxx
|
|
 |
f325b2 |
index 19da4b2da691..368a8d536887 100644
|
|
 |
f325b2 |
--- a/libreofficekit/source/gtk/lokdocview.cxx
|
|
 |
f325b2 |
+++ b/libreofficekit/source/gtk/lokdocview.cxx
|
|
 |
f325b2 |
@@ -226,24 +226,21 @@ isEmptyRectangle(const GdkRectangle& rRectangle)
|
|
 |
f325b2 |
return rRectangle.x == 0 && rRectangle.y == 0 && rRectangle.width == 0 && rRectangle.height == 0;
|
|
 |
f325b2 |
}
|
|
 |
f325b2 |
|
|
 |
f325b2 |
-static void
|
|
 |
f325b2 |
-signalKey (LOKDocView* pDocView, const GdkEvent* pEvent)
|
|
 |
f325b2 |
+static gboolean
|
|
 |
f325b2 |
+signalKey (GtkWidget* pWidget, GdkEventKey* pEvent)
|
|
 |
f325b2 |
{
|
|
 |
f325b2 |
+ LOKDocView* pDocView = LOK_DOC_VIEW(pWidget);
|
|
 |
f325b2 |
LOKDocViewPrivate* priv = static_cast<LOKDocViewPrivate*>(lok_doc_view_get_instance_private (pDocView));
|
|
 |
f325b2 |
int nCharCode = 0;
|
|
 |
f325b2 |
int nKeyCode = 0;
|
|
 |
f325b2 |
- guint keyval;
|
|
 |
f325b2 |
- GdkModifierType state;
|
|
 |
f325b2 |
- gdk_event_get_keyval (pEvent, &keyval);
|
|
 |
f325b2 |
- gdk_event_get_state (pEvent, &state);
|
|
 |
f325b2 |
|
|
 |
f325b2 |
if (!priv->m_bEdit)
|
|
 |
f325b2 |
{
|
|
 |
f325b2 |
g_info("signalKey: not in edit mode, ignore");
|
|
 |
f325b2 |
- return;
|
|
 |
f325b2 |
+ return FALSE;
|
|
 |
f325b2 |
}
|
|
 |
f325b2 |
|
|
 |
f325b2 |
- switch (keyval)
|
|
 |
f325b2 |
+ switch (pEvent->keyval)
|
|
 |
f325b2 |
{
|
|
 |
f325b2 |
case GDK_KEY_BackSpace:
|
|
 |
f325b2 |
nKeyCode = com::sun::star::awt::Key::BACKSPACE;
|
|
 |
f325b2 |
@@ -270,22 +267,24 @@ signalKey (LOKDocView* pDocView, const GdkEvent* pEvent)
|
|
 |
f325b2 |
nKeyCode = com::sun::star::awt::Key::RIGHT;
|
|
 |
f325b2 |
break;
|
|
 |
f325b2 |
default:
|
|
 |
f325b2 |
- if (keyval >= GDK_KEY_F1 && keyval <= GDK_KEY_F26)
|
|
 |
f325b2 |
- nKeyCode = com::sun::star::awt::Key::F1 + (keyval - GDK_KEY_F1);
|
|
 |
f325b2 |
+ if (pEvent->keyval >= GDK_KEY_F1 && pEvent->keyval <= GDK_KEY_F26)
|
|
 |
f325b2 |
+ nKeyCode = com::sun::star::awt::Key::F1 + (pEvent->keyval - GDK_KEY_F1);
|
|
 |
f325b2 |
else
|
|
 |
f325b2 |
- nCharCode = gdk_keyval_to_unicode(keyval);
|
|
 |
f325b2 |
+ nCharCode = gdk_keyval_to_unicode(pEvent->keyval);
|
|
 |
f325b2 |
}
|
|
 |
f325b2 |
|
|
 |
f325b2 |
// rsc is not public API, but should be good enough for debugging purposes.
|
|
 |
f325b2 |
// If this is needed for real, then probably a new param of type
|
|
 |
f325b2 |
// css::awt::KeyModifier is needed in postKeyEvent().
|
|
 |
f325b2 |
- if (state & GDK_SHIFT_MASK)
|
|
 |
f325b2 |
+ if (pEvent->state & GDK_SHIFT_MASK)
|
|
 |
f325b2 |
nKeyCode |= KEY_SHIFT;
|
|
 |
f325b2 |
|
|
 |
f325b2 |
if (pEvent->type == GDK_KEY_RELEASE)
|
|
 |
f325b2 |
priv->m_pDocument->pClass->postKeyEvent(priv->m_pDocument, LOK_KEYEVENT_KEYUP, nCharCode, nKeyCode);
|
|
 |
f325b2 |
else
|
|
 |
f325b2 |
priv->m_pDocument->pClass->postKeyEvent(priv->m_pDocument, LOK_KEYEVENT_KEYINPUT, nCharCode, nKeyCode);
|
|
 |
f325b2 |
+
|
|
 |
f325b2 |
+ return FALSE;
|
|
 |
f325b2 |
}
|
|
 |
f325b2 |
|
|
 |
f325b2 |
static gboolean
|
|
 |
f325b2 |
@@ -1151,6 +1150,8 @@ static void lok_doc_view_class_init (LOKDocViewClass* pClass)
|
|
 |
f325b2 |
pWidgetClass->draw = lok_doc_view_draw;
|
|
 |
f325b2 |
pWidgetClass->button_press_event = lok_doc_view_signal_button;
|
|
 |
f325b2 |
pWidgetClass->button_release_event = lok_doc_view_signal_button;
|
|
 |
f325b2 |
+ pWidgetClass->key_press_event = signalKey;
|
|
 |
f325b2 |
+ pWidgetClass->key_release_event = signalKey;
|
|
 |
f325b2 |
pWidgetClass->motion_notify_event = lok_doc_view_signal_motion;
|
|
 |
f325b2 |
|
|
 |
f325b2 |
/**
|
|
 |
f325b2 |
@@ -1431,6 +1432,8 @@ lok_doc_view_open_document (LOKDocView* pDocView, const gchar* pPath)
|
|
 |
f325b2 |
gtk_widget_set_size_request(GTK_WIDGET(pDocView),
|
|
 |
f325b2 |
nDocumentWidthPixels,
|
|
 |
f325b2 |
nDocumentHeightPixels);
|
|
 |
f325b2 |
+ gtk_widget_set_can_focus(GTK_WIDGET(pDocView), TRUE);
|
|
 |
f325b2 |
+ gtk_widget_grab_focus(GTK_WIDGET(pDocView));
|
|
 |
f325b2 |
}
|
|
 |
f325b2 |
return TRUE;
|
|
 |
f325b2 |
}
|
|
 |
f325b2 |
@@ -1579,19 +1582,6 @@ lok_doc_view_post_command (LOKDocView* pDocView,
|
|
 |
f325b2 |
}
|
|
 |
f325b2 |
|
|
 |
f325b2 |
/**
|
|
 |
f325b2 |
- * lok_doc_view_post_key:
|
|
 |
f325b2 |
- * @pDocView: the #LOKDocView instance
|
|
 |
f325b2 |
- * @pEvent: the #GdkEventKey containing information about the event
|
|
 |
f325b2 |
- *
|
|
 |
f325b2 |
- * This methods forwards your key events to the LO core.
|
|
 |
f325b2 |
-*/
|
|
 |
f325b2 |
-SAL_DLLPUBLIC_EXPORT void
|
|
 |
f325b2 |
-lok_doc_view_post_key (LOKDocView* pDocView, GdkEvent* pEvent)
|
|
 |
f325b2 |
-{
|
|
 |
f325b2 |
- signalKey(pDocView, pEvent);
|
|
 |
f325b2 |
-}
|
|
 |
f325b2 |
-
|
|
 |
f325b2 |
-/**
|
|
 |
f325b2 |
* lok_doc_view_pixel_to_twip:
|
|
 |
f325b2 |
* @pDocView: The #LOKDocView instance
|
|
 |
f325b2 |
* @fInput: The value in pixels to convert to twips
|
|
 |
f325b2 |
--
|
|
 |
f325b2 |
2.12.0
|
|
 |
f325b2 |
|