summaryrefslogtreecommitdiff
path: root/libreofficekit
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@collabora.com>2017-12-21 13:00:31 +0100
committerMichael Meeks <michael.meeks@collabora.com>2017-12-21 20:41:13 +0100
commit9364ae836e6975da64abf87eb7c2b02e601e69db (patch)
treecb5391eeb1aedfe3818749e83a7070bd3ad398e6 /libreofficekit
parent236d245428ec290f9b5efe4cd68996a7d4e6509e (diff)
Revert the incomplete dialog tunneling, the API has changed completely.
Change-Id: I50fb8c83365cefb8c8e76096fe257d31970a68b4 Reviewed-on: https://gerrit.libreoffice.org/46927 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Diffstat (limited to 'libreofficekit')
-rw-r--r--libreofficekit/Executable_gtktiledviewer.mk5
-rw-r--r--libreofficekit/qa/gtktiledviewer/gtv-application-window.cxx60
-rw-r--r--libreofficekit/qa/gtktiledviewer/gtv-application-window.hxx8
-rw-r--r--libreofficekit/qa/gtktiledviewer/gtv-helpers.cxx19
-rw-r--r--libreofficekit/qa/gtktiledviewer/gtv-helpers.hxx2
-rw-r--r--libreofficekit/qa/gtktiledviewer/gtv-lokdocview-signal-handlers.cxx87
-rw-r--r--libreofficekit/qa/gtktiledviewer/gtv-lokdocview-signal-handlers.hxx2
-rw-r--r--libreofficekit/qa/gtktiledviewer/gtv-main-toolbar.cxx26
-rw-r--r--libreofficekit/qa/gtktiledviewer/gtv-signal-handlers.cxx35
-rw-r--r--libreofficekit/qa/gtktiledviewer/gtv-signal-handlers.hxx2
-rw-r--r--libreofficekit/qa/gtktiledviewer/gtv.ui17
-rw-r--r--libreofficekit/source/gtk/lokdocview.cxx99
12 files changed, 31 insertions, 331 deletions
diff --git a/libreofficekit/Executable_gtktiledviewer.mk b/libreofficekit/Executable_gtktiledviewer.mk
index 5dd89e6065f6..f0667e247680 100644
--- a/libreofficekit/Executable_gtktiledviewer.mk
+++ b/libreofficekit/Executable_gtktiledviewer.mk
@@ -9,14 +9,10 @@
$(eval $(call gb_Executable_Executable,gtktiledviewer))
-$(eval $(call gb_Library_use_sdk_api,gtktiledviewer))
-
$(eval $(call gb_Executable_set_include,gtktiledviewer,\
$$(INCLUDE) \
-I$(SRCDIR)/desktop/inc \
-I$(SRCDIR)/libreofficekit/qa/gtktiledviewer/ \
- -I$(WORKDIR)/UnoApiHeadersTarget/offapi/normal/ \
- -I$(WORKDIR)/UnoApiHeadersTarget/udkapi/normal/ \
))
$(eval $(call gb_Executable_use_externals,gtktiledviewer,\
@@ -57,7 +53,6 @@ $(eval $(call gb_Executable_add_exception_objects,gtktiledviewer,\
libreofficekit/qa/gtktiledviewer/gtv-lokdocview-signal-handlers \
libreofficekit/qa/gtktiledviewer/gtv-calc-header-bar \
libreofficekit/qa/gtktiledviewer/gtv-comments-sidebar \
- libreofficekit/qa/gtktiledviewer/gtv-lok-dialog \
))
# vim: set noet sw=4 ts=4:
diff --git a/libreofficekit/qa/gtktiledviewer/gtv-application-window.cxx b/libreofficekit/qa/gtktiledviewer/gtv-application-window.cxx
index 118be6c0100d..0b403514e631 100644
--- a/libreofficekit/qa/gtktiledviewer/gtv-application-window.cxx
+++ b/libreofficekit/qa/gtktiledviewer/gtv-application-window.cxx
@@ -31,13 +31,10 @@ struct GtvApplicationWindowPrivate
GtkWidget* gridcontainer;
GtkWidget* toolbarcontainer;
GtkWidget* scrolledwindowcontainer;
- GtkWidget* lokDialog;
gboolean toolbarBroadcast;
gboolean partSelectorBroadcast;
- GList* m_pChildWindows;
-
// Rendering args; options with which lokdocview was rendered in this window
GtvRenderingArgs* m_pRenderingArgs;
};
@@ -107,7 +104,6 @@ gtv_application_window_init(GtvApplicationWindow* win)
gtk_container_add(GTK_CONTAINER(win), priv->container);
- priv->m_pChildWindows = nullptr;
priv->m_pRenderingArgs = new GtvRenderingArgs();
}
@@ -314,8 +310,6 @@ static void setupDocView(GtvApplicationWindow* window)
g_signal_connect(window->lokdocview, "formula-changed", G_CALLBACK(LOKDocViewSigHandlers::formulaChanged), nullptr);
g_signal_connect(window->lokdocview, "password-required", G_CALLBACK(LOKDocViewSigHandlers::passwordRequired), nullptr);
g_signal_connect(window->lokdocview, "comment", G_CALLBACK(LOKDocViewSigHandlers::comment), nullptr);
- g_signal_connect(window->lokdocview, "dialog", G_CALLBACK(LOKDocViewSigHandlers::dialog), nullptr);
- g_signal_connect(window->lokdocview, "dialog-child", G_CALLBACK(LOKDocViewSigHandlers::dialogChild), nullptr);
g_signal_connect(window->lokdocview, "configure-event", G_CALLBACK(LOKDocViewSigHandlers::configureEvent), nullptr);
}
@@ -399,60 +393,6 @@ gtv_application_window_get_part_broadcast(GtvApplicationWindow* window)
return priv->partSelectorBroadcast;
}
-void
-gtv_application_window_register_child_window(GtvApplicationWindow* window, GtkWindow* pChildWin)
-{
- GtvApplicationWindowPrivate* priv = getPrivate(window);
- if (pChildWin)
- priv->m_pChildWindows = g_list_append(priv->m_pChildWindows, pChildWin);
-}
-
-void
-gtv_application_window_unregister_child_window(GtvApplicationWindow* window, GtkWindow* pChildWin)
-{
- GtvApplicationWindowPrivate* priv = getPrivate(window);
- if (pChildWin)
- priv->m_pChildWindows = g_list_remove(priv->m_pChildWindows, pChildWin);
-}
-
-GtkWindow*
-gtv_application_window_get_child_window_by_id(GtvApplicationWindow* window, const gchar* pWinId)
-{
- GtvApplicationWindowPrivate* priv = getPrivate(window);
- GList* pIt = nullptr;
- GtkWindow* ret = nullptr;
- // For now, only dialogs are registered as child window
- for (pIt = priv->m_pChildWindows; pIt != nullptr; pIt = pIt->next)
- {
- gchar* dialogId = nullptr;
- g_object_get(G_OBJECT(pIt->data), "dialogid", &dialogId, nullptr);
-
- // prepend .uno:
- gchar* completeWinId = nullptr;
- if (pWinId != nullptr)
- {
- completeWinId = g_strconcat(".uno:", pWinId, nullptr);
- }
-
- if (dialogId != nullptr && g_str_equal(dialogId, completeWinId))
- {
- ret = GTK_WINDOW(pIt->data);
- break;
- }
- }
- return ret;
-}
-
-// temporary function to invalidate all opened dialogs
-// because currently the dialog id returned in dialog invalidation payload
-// doesn't match our hard-coded list of dialog ids (uno commands) for some dialogs
-GList*
-gtv_application_window_get_all_child_windows(GtvApplicationWindow* window)
-{
- GtvApplicationWindowPrivate* priv = getPrivate(window);
- return priv->m_pChildWindows;
-}
-
GtvApplicationWindow*
gtv_application_window_new(GtkApplication* app)
{
diff --git a/libreofficekit/qa/gtktiledviewer/gtv-application-window.hxx b/libreofficekit/qa/gtktiledviewer/gtv-application-window.hxx
index f0d5afc0513c..8451da564c09 100644
--- a/libreofficekit/qa/gtktiledviewer/gtv-application-window.hxx
+++ b/libreofficekit/qa/gtktiledviewer/gtv-application-window.hxx
@@ -99,14 +99,6 @@ void gtv_application_window_set_part_broadcast(GtvApplicationWindow* window, boo
gboolean gtv_application_window_get_part_broadcast(GtvApplicationWindow* window);
-void gtv_application_window_register_child_window(GtvApplicationWindow* window, GtkWindow* pChildWin);
-
-void gtv_application_window_unregister_child_window(GtvApplicationWindow* window, GtkWindow* pChildWin);
-
-GtkWindow* gtv_application_window_get_child_window_by_id(GtvApplicationWindow* window, const gchar* pWinId);
-
-GList* gtv_application_window_get_all_child_windows(GtvApplicationWindow* window);
-
G_END_DECLS
#endif /* GTV_APPLICATION_WINDOW_H */
diff --git a/libreofficekit/qa/gtktiledviewer/gtv-helpers.cxx b/libreofficekit/qa/gtktiledviewer/gtv-helpers.cxx
index 9dee02a0ac45..5dca746d5f25 100644
--- a/libreofficekit/qa/gtktiledviewer/gtv-helpers.cxx
+++ b/libreofficekit/qa/gtktiledviewer/gtv-helpers.cxx
@@ -148,23 +148,4 @@ const std::string GtvHelpers::getDirPath(const std::string& filePath)
return dirPath;
}
-const std::vector<int> GtvHelpers::splitIntoIntegers(const std::string& aPayload, const std::string& aDelim, const int nItems)
-{
- std::vector<int> aRet;
-
- if (!aPayload.empty())
- {
- gchar** ppCoordinates = g_strsplit(aPayload.c_str(), aDelim.c_str(), nItems);
- gchar** ppCoordinate = ppCoordinates;
- while (*ppCoordinate)
- {
- aRet.push_back(atoi(*ppCoordinate));
- ++ppCoordinate;
- }
- g_strfreev(ppCoordinates);
- }
-
- return aRet;
-}
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/libreofficekit/qa/gtktiledviewer/gtv-helpers.hxx b/libreofficekit/qa/gtktiledviewer/gtv-helpers.hxx
index 9e984846f0ab..e0a2defa72d9 100644
--- a/libreofficekit/qa/gtktiledviewer/gtv-helpers.hxx
+++ b/libreofficekit/qa/gtktiledviewer/gtv-helpers.hxx
@@ -38,8 +38,6 @@ namespace GtvHelpers
GtkWidget* createCommentBox(const boost::property_tree::ptree& aComment);
const std::string getDirPath(const std::string& filePath);
-
- const std::vector<int> splitIntoIntegers(const std::string& aPayload, const std::string& aDelim, const int nItems);
}
#endif
diff --git a/libreofficekit/qa/gtktiledviewer/gtv-lokdocview-signal-handlers.cxx b/libreofficekit/qa/gtktiledviewer/gtv-lokdocview-signal-handlers.cxx
index dfdbc3bc6ca6..f0d926425a5f 100644
--- a/libreofficekit/qa/gtktiledviewer/gtv-lokdocview-signal-handlers.cxx
+++ b/libreofficekit/qa/gtktiledviewer/gtv-lokdocview-signal-handlers.cxx
@@ -15,13 +15,10 @@
#include "gtv-calc-header-bar.hxx"
#include "gtv-comments-sidebar.hxx"
#include "gtv-lokdocview-signal-handlers.hxx"
-#include "gtv-lok-dialog.hxx"
#include <boost/property_tree/json_parser.hpp>
#include <boost/optional.hpp>
-#include <iostream>
-
void LOKDocViewSigHandlers::editChanged(LOKDocView* pDocView, gboolean bWasEdit, gpointer)
{
GtvApplicationWindow* window = GTV_APPLICATION_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(pDocView)));
@@ -283,90 +280,6 @@ void LOKDocViewSigHandlers::comment(LOKDocView* pDocView, gchar* pComment, gpoin
}
}
-void LOKDocViewSigHandlers::dialog(LOKDocView* pDocView, gchar* pPayload, gpointer)
-{
- GtvApplicationWindow* window = GTV_APPLICATION_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(pDocView)));
-
- std::stringstream aStream(pPayload);
- boost::property_tree::ptree aRoot;
- boost::property_tree::read_json(aStream, aRoot);
- const std::string aDialogId = aRoot.get<std::string>("dialogId");
- const std::string aAction = aRoot.get<std::string>("action");
-
- // we only understand 'invalidate' and 'close' as of now
- if (aAction != "invalidate" && aAction != "close")
- return;
-
- GList* pChildWins = gtv_application_window_get_all_child_windows(window);
- GList* pIt = nullptr;
- for (pIt = pChildWins; pIt != nullptr; pIt = pIt->next)
- {
- gchar* pChildDialogId = nullptr;
- g_object_get(pIt->data, "dialogid", &pChildDialogId, nullptr);
- if (g_strcmp0(pChildDialogId, aDialogId.c_str()) == 0)
- {
- if (aAction == "close")
- gtk_widget_destroy(GTK_WIDGET(pIt->data));
- else if (aAction == "invalidate")
- {
- GdkRectangle aGdkRectangle = {0, 0, 0, 0};
- try
- {
- const std::string aRectangle = aRoot.get<std::string>("rectangle");
- std::vector<int> aRectPoints = GtvHelpers::splitIntoIntegers(aRectangle, ", ", 4);
- if (aRectPoints.size() == 4)
- aGdkRectangle = {aRectPoints[0], aRectPoints[1], aRectPoints[2], aRectPoints[3]};
- }
- catch(const std::exception& e)
- {}
-
- gtv_lok_dialog_invalidate(GTV_LOK_DIALOG(pIt->data), aGdkRectangle);
- }
- }
- g_free(pChildDialogId);
- }
-}
-
-void LOKDocViewSigHandlers::dialogChild(LOKDocView* pDocView, gchar* pPayload, gpointer)
-{
- GtvApplicationWindow* window = GTV_APPLICATION_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(pDocView)));
-
- std::stringstream aStream(pPayload);
- boost::property_tree::ptree aRoot;
- boost::property_tree::read_json(aStream, aRoot);
- std::string aDialogId = aRoot.get<std::string>("dialogId");
- std::string aAction = aRoot.get<std::string>("action");
- std::string aPos = aRoot.get<std::string>("position");
- gchar** ppCoordinates = g_strsplit(aPos.c_str(), ", ", 2);
- gchar** ppCoordinate = ppCoordinates;
- int nX = 0;
- int nY = 0;
-
- if (*ppCoordinate)
- nX = atoi(*ppCoordinate);
- ++ppCoordinate;
- if (*ppCoordinate)
- nY = atoi(*ppCoordinate);
-
- g_strfreev(ppCoordinates);
-
- GList* pChildWins = gtv_application_window_get_all_child_windows(window);
- GList* pIt = nullptr;
- for (pIt = pChildWins; pIt != nullptr; pIt = pIt->next)
- {
- gchar* pChildDialogId = nullptr;
- g_object_get(pIt->data, "dialogid", &pChildDialogId, nullptr);
- if (g_strcmp0(pChildDialogId, aDialogId.c_str()) == 0)
- {
- if (aAction == "invalidate")
- gtv_lok_dialog_child_invalidate(GTV_LOK_DIALOG(pIt->data), nX, nY);
- else if (aAction == "close")
- gtv_lok_dialog_child_close(GTV_LOK_DIALOG(pIt->data));
- }
- g_free(pChildDialogId);
- }
-}
-
gboolean LOKDocViewSigHandlers::configureEvent(GtkWidget* pWidget, GdkEventConfigure* /*pEvent*/, gpointer /*pData*/)
{
GtvApplicationWindow* window = GTV_APPLICATION_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(pWidget)));
diff --git a/libreofficekit/qa/gtktiledviewer/gtv-lokdocview-signal-handlers.hxx b/libreofficekit/qa/gtktiledviewer/gtv-lokdocview-signal-handlers.hxx
index 54f54b396bf3..724f2031d4f5 100644
--- a/libreofficekit/qa/gtktiledviewer/gtv-lokdocview-signal-handlers.hxx
+++ b/libreofficekit/qa/gtktiledviewer/gtv-lokdocview-signal-handlers.hxx
@@ -25,8 +25,6 @@ namespace LOKDocViewSigHandlers {
void formulaChanged(LOKDocView* pDocView, char* pPayload, gpointer);
void passwordRequired(LOKDocView* pDocView, char* pUrl, gboolean bModify, gpointer);
void comment(LOKDocView* pDocView, gchar* pComment, gpointer);
- void dialog(LOKDocView* pDocView, gchar* pDialogId, gpointer);
- void dialogChild(LOKDocView* pDocView, gchar* pPayload, gpointer);
gboolean configureEvent(GtkWidget* pWidget, GdkEventConfigure* pEvent, gpointer pData);
}
diff --git a/libreofficekit/qa/gtktiledviewer/gtv-main-toolbar.cxx b/libreofficekit/qa/gtktiledviewer/gtv-main-toolbar.cxx
index d18482447a7e..9e280c9d0f1c 100644
--- a/libreofficekit/qa/gtktiledviewer/gtv-main-toolbar.cxx
+++ b/libreofficekit/qa/gtktiledviewer/gtv-main-toolbar.cxx
@@ -14,7 +14,6 @@
#include "gtv-signal-handlers.hxx"
#include "gtv-helpers.hxx"
#include "gtv-calc-header-bar.hxx"
-#include "gtv-lok-dialog.hxx"
#include <map>
#include <memory>
@@ -35,7 +34,6 @@ struct GtvMainToolbarPrivateImpl
GtkWidget* m_pDeleteComment;
GtkWidget* m_pPartSelector;
GtkWidget* m_pPartModeSelector;
- GtkWidget* m_pDialogSelector;
/// Sensitivity (enabled or disabled) for each tool item, ignoring edit state
std::map<GtkToolItem*, bool> m_aToolItemSensitivities;
@@ -50,8 +48,7 @@ struct GtvMainToolbarPrivateImpl
m_pJustifypara(nullptr),
m_pDeleteComment(nullptr),
m_pPartSelector(nullptr),
- m_pPartModeSelector(nullptr),
- m_pDialogSelector(nullptr)
+ m_pPartModeSelector(nullptr)
{ }
};
@@ -98,8 +95,6 @@ gtv_main_toolbar_init(GtvMainToolbar* toolbar)
priv->m_pDeleteComment = GTK_WIDGET(gtk_builder_get_object(builder.get(), "btn_removeannotation"));
priv->m_pPartSelector = GTK_WIDGET(gtk_builder_get_object(builder.get(), "combo_partselector"));
priv->m_pPartModeSelector = GTK_WIDGET(gtk_builder_get_object(builder.get(), "combo_partsmodeselector"));
- priv->m_pDialogSelector = GTK_WIDGET(gtk_builder_get_object(builder.get(), "combo_dialogselector"));
-
toolbar->m_pAddressbar = GTK_WIDGET(gtk_builder_get_object(builder.get(), "addressbar_entry"));
toolbar->m_pFormulabar = GTK_WIDGET(gtk_builder_get_object(builder.get(), "formulabar_entry"));
@@ -119,7 +114,6 @@ gtv_main_toolbar_init(GtvMainToolbar* toolbar)
gtk_builder_add_callback_symbol(builder.get(), "documentRepair", G_CALLBACK(documentRepair));
gtk_builder_add_callback_symbol(builder.get(), "signalAddressbar", G_CALLBACK(signalAddressbar));
gtk_builder_add_callback_symbol(builder.get(), "signalFormulabar", G_CALLBACK(signalFormulabar));
- gtk_builder_add_callback_symbol(builder.get(), "openLokDialog", G_CALLBACK(openLokDialog));
// find toolbar
// Note: These buttons are not the part of GtvMainToolbar
@@ -182,22 +176,6 @@ static void populatePartSelector(GtvMainToolbar* toolbar)
gtv_application_window_set_part_broadcast(window, true);
}
-static void populateDialogSelector(GtvMainToolbar* toolbar)
-{
- GtvMainToolbarPrivate& priv = getPrivate(toolbar);
-
- GtkComboBoxText* pSelector = GTK_COMBO_BOX_TEXT(priv->m_pDialogSelector);
- gtk_combo_box_text_append_text( pSelector, ".uno:SearchDialog" );
- gtk_combo_box_text_append_text( pSelector, ".uno:AcceptTrackedChanges" );
- gtk_combo_box_text_append_text( pSelector, ".uno:SpellingAndGrammarDialog" );
- gtk_combo_box_text_append_text( pSelector, ".uno:InsertField" );
- gtk_combo_box_text_append_text( pSelector, ".uno:ImageMapDialog" );
- gtk_combo_box_text_append_text( pSelector, ".uno:WordCountDialog" );
- gtk_combo_box_text_append_text( pSelector, ".uno:HyperlinkDialog" );
- gtk_combo_box_text_append_text( pSelector, ".uno:InsertIndexesEntry" );
- gtk_combo_box_text_append_text( pSelector, ".uno:InsertAuthoritiesEntry");
-}
-
void
gtv_main_toolbar_doc_loaded(GtvMainToolbar* toolbar, LibreOfficeKitDocumentType eDocType, bool bEditMode)
{
@@ -224,8 +202,6 @@ gtv_main_toolbar_doc_loaded(GtvMainToolbar* toolbar, LibreOfficeKitDocumentType
// populate combo boxes
populatePartSelector(toolbar);
- // populate dialogs
- populateDialogSelector(toolbar);
}
GtkContainer*
diff --git a/libreofficekit/qa/gtktiledviewer/gtv-signal-handlers.cxx b/libreofficekit/qa/gtktiledviewer/gtv-signal-handlers.cxx
index fee24c6a0f25..60068a8f89d7 100644
--- a/libreofficekit/qa/gtktiledviewer/gtv-signal-handlers.cxx
+++ b/libreofficekit/qa/gtktiledviewer/gtv-signal-handlers.cxx
@@ -12,7 +12,6 @@
#include "gtv-application-window.hxx"
#include "gtv-helpers.hxx"
#include "gtv-lokdocview-signal-handlers.hxx"
-#include "gtv-lok-dialog.hxx"
#include <sal/types.h>
@@ -290,40 +289,6 @@ void changePartMode( GtkWidget* pSelector, gpointer /* pItem */ )
}
}
-static gboolean deleteLokDialog(GtkWidget* pWidget, GdkEvent* /*event*/, gpointer userdata)
-{
- GtvApplicationWindow* window = GTV_APPLICATION_WINDOW(userdata);
- g_info("deleteLokDialog");
- gtv_application_window_unregister_child_window(window, GTK_WINDOW(pWidget));
-
- return FALSE;
-}
-
-static gboolean destroyLokDialog(GtkWidget* pWidget, gpointer userdata)
-{
- GtvApplicationWindow* window = GTV_APPLICATION_WINDOW(userdata);
- g_info("destroyLokDialog");
- gtv_application_window_unregister_child_window(window, GTK_WINDOW(pWidget));
-
- return FALSE;
-}
-
-void openLokDialog( GtkWidget* pSelector, gpointer /*pItem*/ )
-{
- GtvApplicationWindow* window = GTV_APPLICATION_WINDOW(gtk_widget_get_toplevel(pSelector));
- gchar* pDialogId = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(pSelector));
- GtkWidget* pDialog = gtv_lok_dialog_new(LOK_DOC_VIEW(window->lokdocview), pDialogId);
- gtv_application_window_register_child_window(window, GTK_WINDOW(pDialog));
- g_signal_connect(pDialog, "destroy", G_CALLBACK(destroyLokDialog), window);
- g_signal_connect(pDialog, "delete-event", G_CALLBACK(deleteLokDialog), window);
- g_free(pDialogId);
-
- g_info("openLokDialog");
- gtk_window_set_resizable(GTK_WINDOW(pDialog), false);
- gtk_widget_show_all(GTK_WIDGET(pDialog));
- gtk_window_present(GTK_WINDOW(pDialog));
-}
-
void changeZoom( GtkWidget* pButton, gpointer /* pItem */ )
{
static const float fZooms[] = { 0.25, 0.5, 0.75, 1.0, 1.5, 2.0, 3.0, 5.0 };
diff --git a/libreofficekit/qa/gtktiledviewer/gtv-signal-handlers.hxx b/libreofficekit/qa/gtktiledviewer/gtv-signal-handlers.hxx
index 80c5c6061f9a..2f9948fe61d7 100644
--- a/libreofficekit/qa/gtktiledviewer/gtv-signal-handlers.hxx
+++ b/libreofficekit/qa/gtktiledviewer/gtv-signal-handlers.hxx
@@ -30,8 +30,6 @@ void changePartMode( GtkWidget* pSelector, gpointer /* pItem */ );
void changePart( GtkWidget* pSelector, gpointer /*pItem*/ );
-void openLokDialog( GtkWidget* pSelector, gpointer /*pItem*/ );
-
void changeZoom( GtkWidget* pButton, gpointer /* pItem */ );
void toggleFindbar(GtkWidget* pButton, gpointer /*pItem*/);
diff --git a/libreofficekit/qa/gtktiledviewer/gtv.ui b/libreofficekit/qa/gtktiledviewer/gtv.ui
index 7030ecaead5b..966c97e46967 100644
--- a/libreofficekit/qa/gtktiledviewer/gtv.ui
+++ b/libreofficekit/qa/gtktiledviewer/gtv.ui
@@ -445,23 +445,6 @@
</packing>
</child>
<child>
- <object class="GtkToolItem" id="dialogselectortoolitem">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <object class="GtkComboBoxText" id="combo_dialogselector">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <signal name="changed" handler="openLokDialog" swapped="no"/>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
- <child>
<object class="GtkToggleToolButton" id="btn_editmode">
<property name="visible">True</property>
<property name="can_focus">False</property>
diff --git a/libreofficekit/source/gtk/lokdocview.cxx b/libreofficekit/source/gtk/lokdocview.cxx
index 607a8624ecc3..3abc2949cae4 100644
--- a/libreofficekit/source/gtk/lokdocview.cxx
+++ b/libreofficekit/source/gtk/lokdocview.cxx
@@ -277,8 +277,6 @@ enum
PASSWORD_REQUIRED,
COMMENT,
RULER,
- DIALOG,
- DIALOG_CHILD,
LAST_SIGNAL
};
@@ -436,10 +434,6 @@ callbackTypeToString (int nType)
return "LOK_CALLBACK_COMMENT";
case LOK_CALLBACK_RULER_UPDATE:
return "LOK_CALLBACK_RULER_UPDATE";
- case LOK_CALLBACK_DIALOG:
- return "LOK_CALLBACK_DIALOG";
- case LOK_CALLBACK_DIALOG_CHILD:
- return "LOK_CALLBACK_DIALOG_CHILD";
}
g_assert(false);
return nullptr;
@@ -816,19 +810,38 @@ signalKey (GtkWidget* pWidget, GdkEventKey* pEvent)
}
}
- GTask* task = g_task_new(pDocView, nullptr, nullptr, nullptr);
- LOEvent* pLOEvent = new LOEvent(LOK_POST_KEY);
- pLOEvent->m_nKeyEvent = pEvent->type == GDK_KEY_RELEASE ? LOK_KEYEVENT_KEYUP : LOK_KEYEVENT_KEYINPUT;
- pLOEvent->m_nCharCode = nCharCode;
- pLOEvent->m_nKeyCode = nKeyCode;
- g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
- g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
- if (error != nullptr)
+ if (pEvent->type == GDK_KEY_RELEASE)
{
- g_warning("Unable to call LOK_POST_KEY: %s", error->message);
- g_clear_error(&error);
+ GTask* task = g_task_new(pDocView, nullptr, nullptr, nullptr);
+ LOEvent* pLOEvent = new LOEvent(LOK_POST_KEY);
+ pLOEvent->m_nKeyEvent = LOK_KEYEVENT_KEYUP;
+ pLOEvent->m_nCharCode = nCharCode;
+ pLOEvent->m_nKeyCode = nKeyCode;
+ g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
+ g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
+ if (error != nullptr)
+ {
+ g_warning("Unable to call LOK_POST_KEY: %s", error->message);
+ g_clear_error(&error);
+ }
+ g_object_unref(task);
+ }
+ else
+ {
+ GTask* task = g_task_new(pDocView, nullptr, nullptr, nullptr);
+ LOEvent* pLOEvent = new LOEvent(LOK_POST_KEY);
+ pLOEvent->m_nKeyEvent = LOK_KEYEVENT_KEYINPUT;
+ pLOEvent->m_nCharCode = nCharCode;
+ pLOEvent->m_nKeyCode = nKeyCode;
+ g_task_set_task_data(task, pLOEvent, LOEvent::destroy);
+ g_thread_pool_push(priv->lokThreadPool, g_object_ref(task), &error);
+ if (error != nullptr)
+ {
+ g_warning("Unable to call LOK_POST_KEY: %s", error->message);
+ g_clear_error(&error);
+ }
+ g_object_unref(task);
}
- g_object_unref(task);
return FALSE;
}
@@ -1413,12 +1426,6 @@ callback (gpointer pData)
case LOK_CALLBACK_RULER_UPDATE:
g_signal_emit(pCallback->m_pDocView, doc_view_signals[RULER], 0, pCallback->m_aPayload.c_str());
break;
- case LOK_CALLBACK_DIALOG:
- g_signal_emit(pCallback->m_pDocView, doc_view_signals[DIALOG], 0, pCallback->m_aPayload.c_str());
- break;
- case LOK_CALLBACK_DIALOG_CHILD:
- g_signal_emit(pCallback->m_pDocView, doc_view_signals[DIALOG_CHILD], 0, pCallback->m_aPayload.c_str());
- break;
default:
g_assert(false);
break;
@@ -3215,52 +3222,6 @@ static void lok_doc_view_class_init (LOKDocViewClass* pClass)
g_cclosure_marshal_generic,
G_TYPE_NONE, 1,
G_TYPE_STRING);
-
- /**
- * LOKDocView::dialog-invalidate:
- * @pDocView: the #LOKDocView on which the signal is emitted
- * @pDialogId: The uno command for the dialog (dialog ID)
- */
- doc_view_signals[DIALOG] =
- g_signal_new("dialog",
- G_TYPE_FROM_CLASS(pGObjectClass),
- G_SIGNAL_RUN_FIRST,
- 0,
- nullptr, nullptr,
- g_cclosure_marshal_generic,
- G_TYPE_NONE, 1,
- G_TYPE_STRING);
-
- /**
- * LOKDocView::dialog-child:
- * @pDocView: the #LOKDocView on which the signal is emitted
- * @pPayload: JSON described below:
- *
- * Invalidation corresponding to dialog's children.
- * Eg: Floating window etc.
- *
- * Payload example:
- * {
- * "dialogID": "SpellDialog",
- * "action": "close"
- * }
- *
- * - dialogID is the UNO command of the dialog
- * - action can be
- * - close, means dialog child window is closed now
- * - invalidate, means dialog child window is invalidated
- * It also means that dialog child window is created if it's the first
- * invalidate
- */
- doc_view_signals[DIALOG_CHILD] =
- g_signal_new("dialog-child",
- G_TYPE_FROM_CLASS(pGObjectClass),
- G_SIGNAL_RUN_FIRST,
- 0,
- nullptr, nullptr,
- g_cclosure_marshal_generic,
- G_TYPE_NONE, 1,
- G_TYPE_STRING);
}
SAL_DLLPUBLIC_EXPORT GtkWidget*