|
 |
f325b2 |
From 0fdc6de8c969eb185d1057fdb64a3be88b3dd770 Mon Sep 17 00:00:00 2001
|
|
 |
f325b2 |
From: Miklos Vajna <vmiklos@collabora.co.uk>
|
|
 |
f325b2 |
Date: Thu, 22 Oct 2015 13:32:31 +0200
|
|
 |
f325b2 |
Subject: [PATCH 226/398] gtktiledviewer: initial paste support
|
|
 |
f325b2 |
|
|
 |
f325b2 |
Change-Id: I50b4dfa456d3518f5ef7faf5f634642973441a3e
|
|
 |
f325b2 |
(cherry picked from commit 173fc95b3551c1e69c49626211be8422cb29fb3e)
|
|
 |
f325b2 |
---
|
|
 |
f325b2 |
libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx | 18 ++++++++++++++++++
|
|
 |
f325b2 |
1 file changed, 18 insertions(+)
|
|
 |
f325b2 |
|
|
 |
f325b2 |
diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
|
|
 |
f325b2 |
index e7e276dfce17..b0ea03ee6796 100644
|
|
 |
f325b2 |
--- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
|
|
 |
f325b2 |
+++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
|
|
 |
f325b2 |
@@ -12,6 +12,7 @@
|
|
 |
f325b2 |
#include <string.h>
|
|
 |
f325b2 |
#include <string>
|
|
 |
f325b2 |
#include <map>
|
|
 |
f325b2 |
+#include <iostream>
|
|
 |
f325b2 |
|
|
 |
f325b2 |
#include <boost/property_tree/json_parser.hpp>
|
|
 |
f325b2 |
#include <gdk/gdkkeysyms.h>
|
|
 |
f325b2 |
@@ -279,6 +280,17 @@ static void doCopy(GtkWidget* pButton, gpointer /*pItem*/)
|
|
 |
f325b2 |
free(pSelection);
|
|
 |
f325b2 |
}
|
|
 |
f325b2 |
|
|
 |
f325b2 |
+static void doPaste(GtkWidget* pButton, gpointer /*pItem*/)
|
|
 |
f325b2 |
+{
|
|
 |
f325b2 |
+ TiledWindow& rWindow = lcl_getTiledWindow(pButton);
|
|
 |
f325b2 |
+ LOKDocView* pLOKDocView = LOK_DOC_VIEW(rWindow.m_pDocView);
|
|
 |
f325b2 |
+ LibreOfficeKitDocument* pDocument = lok_doc_view_get_document(pLOKDocView);
|
|
 |
f325b2 |
+
|
|
 |
f325b2 |
+ GtkClipboard* pClipboard = gtk_clipboard_get_for_display(gtk_widget_get_display(rWindow.m_pDocView), GDK_SELECTION_CLIPBOARD);
|
|
 |
f325b2 |
+ gchar* pText = gtk_clipboard_wait_for_text(pClipboard);
|
|
 |
f325b2 |
+ if (pText)
|
|
 |
f325b2 |
+ pDocument->pClass->paste(pDocument, "text/plain;charset=utf-8", pText, strlen(pText));
|
|
 |
f325b2 |
+}
|
|
 |
f325b2 |
|
|
 |
f325b2 |
/// Searches for the next or previous text of TiledWindow::m_pFindbarEntry.
|
|
 |
f325b2 |
static void doSearch(GtkWidget* pButton, bool bBackwards)
|
|
 |
f325b2 |
@@ -661,6 +673,12 @@ static GtkWidget* createWindow(TiledWindow& rWindow)
|
|
 |
f325b2 |
gtk_tool_item_set_tooltip_text(pCopyButton, "Copy");
|
|
 |
f325b2 |
gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), pCopyButton, -1);
|
|
 |
f325b2 |
g_signal_connect(G_OBJECT(pCopyButton), "clicked", G_CALLBACK(doCopy), NULL);
|
|
 |
f325b2 |
+
|
|
 |
f325b2 |
+ GtkToolItem* pPasteButton = gtk_tool_button_new( NULL, NULL);
|
|
 |
f325b2 |
+ gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(pPasteButton), "edit-paste-symbolic");
|
|
 |
f325b2 |
+ gtk_tool_item_set_tooltip_text(pPasteButton, "Paste");
|
|
 |
f325b2 |
+ gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), pPasteButton, -1);
|
|
 |
f325b2 |
+ g_signal_connect(G_OBJECT(pPasteButton), "clicked", G_CALLBACK(doPaste), NULL);
|
|
 |
f325b2 |
gtk_toolbar_insert( GTK_TOOLBAR(pToolbar), gtk_separator_tool_item_new(), -1);
|
|
 |
f325b2 |
|
|
 |
f325b2 |
GtkToolItem* pEnableEditing = gtk_toggle_tool_button_new();
|
|
 |
f325b2 |
--
|
|
 |
f325b2 |
2.12.0
|
|
 |
f325b2 |
|