Blob Blame History Raw
From 9c22806888e899bd9ab7166bad8e0d78a35c1de4 Mon Sep 17 00:00:00 2001
From: Miklos Vajna <vmiklos@collabora.co.uk>
Date: Mon, 2 Nov 2015 09:13:28 +0100
Subject: [PATCH 253/398] gtktiledviewer: add a few more trivial buttons and
 break the toolbar into two

Change-Id: Iea8f32fb8c388b49dad8119f816502f593ebadeb
(cherry picked from commit 96f2e0730bbfd1cdc0bae131cd35b63f97f5268a)
---
 .../qa/gtktiledviewer/gtktiledviewer.cxx           | 168 +++++++++++++++------
 1 file changed, 120 insertions(+), 48 deletions(-)

diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
index 1049c288a14b..822a6cb3c4bd 100644
--- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
+++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
@@ -88,6 +88,12 @@ public:
     GtkToolItem* m_pItalic;
     GtkToolItem* m_pUnderline;
     GtkToolItem* m_pStrikethrough;
+    GtkToolItem* m_pSuperscript;
+    GtkToolItem* m_pSubscript;
+    GtkToolItem* m_pLeftpara;
+    GtkToolItem* m_pCenterpara;
+    GtkToolItem* m_pRightpara;
+    GtkToolItem* m_pJustifypara;
     GtkWidget* m_pScrolledWindow;
     std::map<GtkToolItem*, std::string> m_aToolItemCommandNames;
     std::map<std::string, GtkToolItem*> m_aCommandNameToolItems;
@@ -113,6 +119,12 @@ public:
         m_pItalic(0),
         m_pUnderline(0),
         m_pStrikethrough(0),
+        m_pSuperscript(0),
+        m_pSubscript(0),
+        m_pLeftpara(0),
+        m_pCenterpara(0),
+        m_pRightpara(0),
+        m_pJustifypara(0),
         m_pScrolledWindow(0),
         m_bToolItemBroadcast(true),
         m_pVBox(0),
@@ -845,112 +857,172 @@ static GtkWidget* createWindow(TiledWindow& rWindow)
     rWindow.m_pVBox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
     gtk_container_add(GTK_CONTAINER(pWindow), rWindow.m_pVBox);
 
-    // Toolbar
-    GtkWidget* pToolbar = gtk_toolbar_new();
-    gtk_toolbar_set_style(GTK_TOOLBAR(pToolbar), GTK_TOOLBAR_ICONS);
+    // Upper toolbar.
+    GtkWidget* pUpperToolbar = gtk_toolbar_new();
+    gtk_toolbar_set_style(GTK_TOOLBAR(pUpperToolbar), GTK_TOOLBAR_ICONS);
 
+    // Save.
+    GtkToolItem* pSave = gtk_tool_button_new(NULL, NULL);
+    gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(pSave), "document-save-symbolic");
+    gtk_tool_item_set_tooltip_text(pSave, "Save");
+    gtk_toolbar_insert(GTK_TOOLBAR(pUpperToolbar), pSave, -1);
+    gtk_toolbar_insert(GTK_TOOLBAR(pUpperToolbar), gtk_separator_tool_item_new(), -1);
+    g_signal_connect(G_OBJECT(pSave), "clicked", G_CALLBACK(toggleToolItem), NULL);
+    lcl_registerToolItem(rWindow, pSave, ".uno:Save");
+
+    // Copy and paste.
+    GtkToolItem* pCopyButton = gtk_tool_button_new( NULL, NULL);
+    gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(pCopyButton), "edit-copy-symbolic");
+    gtk_tool_item_set_tooltip_text(pCopyButton, "Copy");
+    gtk_toolbar_insert(GTK_TOOLBAR(pUpperToolbar), pCopyButton, -1);
+    g_signal_connect(G_OBJECT(pCopyButton), "clicked", G_CALLBACK(doCopy), NULL);
+    GtkToolItem* pPasteButton = gtk_tool_button_new( NULL, NULL);
+    gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(pPasteButton), "edit-paste-symbolic");
+    gtk_tool_item_set_tooltip_text(pPasteButton, "Paste");
+    gtk_toolbar_insert(GTK_TOOLBAR(pUpperToolbar), pPasteButton, -1);
+    g_signal_connect(G_OBJECT(pPasteButton), "clicked", G_CALLBACK(doPaste), NULL);
+    gtk_toolbar_insert( GTK_TOOLBAR(pUpperToolbar), gtk_separator_tool_item_new(), -1);
+
+    // Undo and redo.
+    GtkToolItem* pUndo = gtk_tool_button_new(NULL, NULL);
+    gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(pUndo), "edit-undo-symbolic");
+    gtk_tool_item_set_tooltip_text(pUndo, "Undo");
+    gtk_toolbar_insert(GTK_TOOLBAR(pUpperToolbar), pUndo, -1);
+    g_signal_connect(G_OBJECT(pUndo), "clicked", G_CALLBACK(toggleToolItem), NULL);
+    lcl_registerToolItem(rWindow, pUndo, ".uno:Undo");
+    GtkToolItem* pRedo = gtk_tool_button_new(NULL, NULL);
+    gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(pRedo), "edit-redo-symbolic");
+    gtk_tool_item_set_tooltip_text(pRedo, "Redo");
+    gtk_toolbar_insert(GTK_TOOLBAR(pUpperToolbar), pRedo, -1);
+    g_signal_connect(G_OBJECT(pRedo), "clicked", G_CALLBACK(toggleToolItem), NULL);
+    lcl_registerToolItem(rWindow, pRedo, ".uno:Redo");
+    gtk_toolbar_insert(GTK_TOOLBAR(pUpperToolbar), gtk_separator_tool_item_new(), -1);
+
+    // Find.
+    GtkToolItem* pFindButton = gtk_tool_button_new( NULL, NULL);
+    gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON (pFindButton), "edit-find-symbolic");
+    gtk_tool_item_set_tooltip_text(pFindButton, "Find");
+    gtk_toolbar_insert(GTK_TOOLBAR(pUpperToolbar), pFindButton, -1);
+    g_signal_connect(G_OBJECT(pFindButton), "clicked", G_CALLBACK(toggleFindbar), NULL);
+    gtk_toolbar_insert(GTK_TOOLBAR(pUpperToolbar), gtk_separator_tool_item_new(), -1);
+
+    // Misc upper toolbar.
     GtkToolItem* pZoomIn = gtk_tool_button_new(NULL, NULL);
     gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON (pZoomIn), "zoom-in-symbolic");
     gtk_tool_item_set_tooltip_text(pZoomIn, "Zoom In");
-    gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), pZoomIn, 0);
+    gtk_toolbar_insert(GTK_TOOLBAR(pUpperToolbar), pZoomIn, -1);
     g_signal_connect(G_OBJECT(pZoomIn), "clicked", G_CALLBACK(changeZoom), NULL);
 
     GtkToolItem* pZoom1 = gtk_tool_button_new(NULL, NULL);
     gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(pZoom1), "zoom-original-symbolic");
     gtk_tool_item_set_tooltip_text(pZoom1, "Normal Size");
-    gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), pZoom1, -1);
+    gtk_toolbar_insert(GTK_TOOLBAR(pUpperToolbar), pZoom1, -1);
     g_signal_connect(G_OBJECT(pZoom1), "clicked", G_CALLBACK(changeZoom), NULL);
 
     GtkToolItem* pZoomOut = gtk_tool_button_new(NULL, NULL);
     gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON (pZoomOut), "zoom-out-symbolic");
     gtk_tool_item_set_tooltip_text(pZoomOut, "Zoom Out");
-    gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), pZoomOut, -1);
+    gtk_toolbar_insert(GTK_TOOLBAR(pUpperToolbar), pZoomOut, -1);
     g_signal_connect(G_OBJECT(pZoomOut), "clicked", G_CALLBACK(changeZoom), NULL);
 
-    GtkToolItem* pSeparator1 = gtk_separator_tool_item_new();
-    gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), pSeparator1, -1);
-
     GtkToolItem* pPartSelectorToolItem = gtk_tool_item_new();
     GtkWidget* pComboBox = gtk_combo_box_text_new();
     gtk_container_add(GTK_CONTAINER(pPartSelectorToolItem), pComboBox);
-    gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), pPartSelectorToolItem, -1);
+    gtk_toolbar_insert(GTK_TOOLBAR(pUpperToolbar), pPartSelectorToolItem, -1);
 
     rWindow.m_pPartSelector = GTK_COMBO_BOX_TEXT(pComboBox);
 
-    GtkToolItem* pSeparator2 = gtk_separator_tool_item_new();
-    gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), pSeparator2, -1);
-
     GtkToolItem* pPartModeSelectorToolItem = gtk_tool_item_new();
     rWindow.m_pPartModeComboBox = gtk_combo_box_text_new();
     gtk_container_add(GTK_CONTAINER(pPartModeSelectorToolItem), rWindow.m_pPartModeComboBox);
-    gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), pPartModeSelectorToolItem, -1);
-
-    gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), gtk_separator_tool_item_new(), -1);
-
-    // Cut, copy & paste.
-    GtkToolItem* pCopyButton = gtk_tool_button_new( NULL, NULL);
-    gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(pCopyButton), "edit-copy-symbolic");
-    gtk_tool_item_set_tooltip_text(pCopyButton, "Copy");
-    gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), pCopyButton, -1);
-    g_signal_connect(G_OBJECT(pCopyButton), "clicked", G_CALLBACK(doCopy), NULL);
-
-    GtkToolItem* pPasteButton = gtk_tool_button_new( NULL, NULL);
-    gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(pPasteButton), "edit-paste-symbolic");
-    gtk_tool_item_set_tooltip_text(pPasteButton, "Paste");
-    gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), pPasteButton, -1);
-    g_signal_connect(G_OBJECT(pPasteButton), "clicked", G_CALLBACK(doPaste), NULL);
-    gtk_toolbar_insert( GTK_TOOLBAR(pToolbar), gtk_separator_tool_item_new(), -1);
+    gtk_toolbar_insert(GTK_TOOLBAR(pUpperToolbar), pPartModeSelectorToolItem, -1);
 
     GtkToolItem* pEnableEditing = gtk_toggle_tool_button_new();
     rWindow.m_pEnableEditing = pEnableEditing;
     gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON (pEnableEditing), "insert-text-symbolic");
     gtk_tool_item_set_tooltip_text(pEnableEditing, "Edit");
-    gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), pEnableEditing, -1);
+    gtk_toolbar_insert(GTK_TOOLBAR(pUpperToolbar), pEnableEditing, -1);
     g_signal_connect(G_OBJECT(pEnableEditing), "toggled", G_CALLBACK(toggleEditing), NULL);
 
-    GtkToolItem* pFindButton = gtk_tool_button_new( NULL, NULL);
-    gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON (pFindButton), "edit-find-symbolic");
-    gtk_tool_item_set_tooltip_text(pFindButton, "Find");
-    gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), pFindButton, -1);
-    g_signal_connect(G_OBJECT(pFindButton), "clicked", G_CALLBACK(toggleFindbar), NULL);
-
     GtkToolItem* pNewViewButton = gtk_tool_button_new( NULL, NULL);
     gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON (pNewViewButton), "view-continuous-symbolic");
     gtk_tool_item_set_tooltip_text(pNewViewButton, "New View");
-    gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), pNewViewButton, -1);
+    gtk_toolbar_insert(GTK_TOOLBAR(pUpperToolbar), pNewViewButton, -1);
     g_signal_connect(G_OBJECT(pNewViewButton), "clicked", G_CALLBACK(createView), NULL);
+    gtk_box_pack_start(GTK_BOX(rWindow.m_pVBox), pUpperToolbar, FALSE, FALSE, 0 ); // Adds to top.
 
-    gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), gtk_separator_tool_item_new(), -1);
+    // Lower toolbar.
+    GtkWidget* pLowerToolbar = gtk_toolbar_new();
+    gtk_toolbar_set_style(GTK_TOOLBAR(pLowerToolbar), GTK_TOOLBAR_ICONS);
 
+    // Bold, italic, underline and strikethrough.
     rWindow.m_pBold = gtk_toggle_tool_button_new();
     gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(rWindow.m_pBold), "format-text-bold-symbolic");
     gtk_tool_item_set_tooltip_text(rWindow.m_pBold, "Bold");
-    gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), rWindow.m_pBold, -1);
+    gtk_toolbar_insert(GTK_TOOLBAR(pLowerToolbar), rWindow.m_pBold, -1);
     g_signal_connect(G_OBJECT(rWindow.m_pBold), "toggled", G_CALLBACK(toggleToolItem), NULL);
     lcl_registerToolItem(rWindow, rWindow.m_pBold, ".uno:Bold");
-
     rWindow.m_pItalic = gtk_toggle_tool_button_new();
     gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON (rWindow.m_pItalic), "format-text-italic-symbolic");
     gtk_tool_item_set_tooltip_text(rWindow.m_pItalic, "Italic");
-    gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), rWindow.m_pItalic, -1);
+    gtk_toolbar_insert(GTK_TOOLBAR(pLowerToolbar), rWindow.m_pItalic, -1);
     g_signal_connect(G_OBJECT(rWindow.m_pItalic), "toggled", G_CALLBACK(toggleToolItem), NULL);
     lcl_registerToolItem(rWindow, rWindow.m_pItalic, ".uno:Italic");
-
     rWindow.m_pUnderline = gtk_toggle_tool_button_new();
     gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON (rWindow.m_pUnderline), "format-text-underline-symbolic");
     gtk_tool_item_set_tooltip_text(rWindow.m_pUnderline, "Underline");
-    gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), rWindow.m_pUnderline, -1);
+    gtk_toolbar_insert(GTK_TOOLBAR(pLowerToolbar), rWindow.m_pUnderline, -1);
     g_signal_connect(G_OBJECT(rWindow.m_pUnderline), "toggled", G_CALLBACK(toggleToolItem), NULL);
     lcl_registerToolItem(rWindow, rWindow.m_pUnderline, ".uno:Underline");
-
     rWindow.m_pStrikethrough = gtk_toggle_tool_button_new ();
     gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(rWindow.m_pStrikethrough), "format-text-strikethrough-symbolic");
     gtk_tool_item_set_tooltip_text(rWindow.m_pStrikethrough, "Strikethrough");
-    gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), rWindow.m_pStrikethrough, -1);
+    gtk_toolbar_insert(GTK_TOOLBAR(pLowerToolbar), rWindow.m_pStrikethrough, -1);
     g_signal_connect(G_OBJECT(rWindow.m_pStrikethrough), "toggled", G_CALLBACK(toggleToolItem), NULL);
     lcl_registerToolItem(rWindow, rWindow.m_pStrikethrough, ".uno:Strikeout");
-
-    gtk_box_pack_start(GTK_BOX(rWindow.m_pVBox), pToolbar, FALSE, FALSE, 0 ); // Adds to top.
+    gtk_toolbar_insert(GTK_TOOLBAR(pLowerToolbar), gtk_separator_tool_item_new(), -1);
+
+    // Superscript and subscript.
+    rWindow.m_pSuperscript = gtk_toggle_tool_button_new();
+    gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(rWindow.m_pSuperscript), "go-up-symbolic");
+    gtk_tool_item_set_tooltip_text(rWindow.m_pSuperscript, "Superscript");
+    gtk_toolbar_insert(GTK_TOOLBAR(pLowerToolbar), rWindow.m_pSuperscript, -1);
+    g_signal_connect(G_OBJECT(rWindow.m_pSuperscript), "toggled", G_CALLBACK(toggleToolItem), NULL);
+    lcl_registerToolItem(rWindow, rWindow.m_pSuperscript, ".uno:SuperScript");
+    rWindow.m_pSubscript = gtk_toggle_tool_button_new();
+    gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(rWindow.m_pSubscript), "go-down-symbolic");
+    gtk_tool_item_set_tooltip_text(rWindow.m_pSubscript, "Subscript");
+    gtk_toolbar_insert(GTK_TOOLBAR(pLowerToolbar), rWindow.m_pSubscript, -1);
+    g_signal_connect(G_OBJECT(rWindow.m_pSubscript), "toggled", G_CALLBACK(toggleToolItem), NULL);
+    lcl_registerToolItem(rWindow, rWindow.m_pSubscript, ".uno:SubScript");
+    gtk_toolbar_insert(GTK_TOOLBAR(pLowerToolbar), gtk_separator_tool_item_new(), -1);
+
+    // Align left, center horizontally, align right and justified.
+    rWindow.m_pLeftpara = gtk_toggle_tool_button_new();
+    gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(rWindow.m_pLeftpara), "format-justify-left-symbolic");
+    gtk_tool_item_set_tooltip_text(rWindow.m_pLeftpara, "Align Left");
+    gtk_toolbar_insert(GTK_TOOLBAR(pLowerToolbar), rWindow.m_pLeftpara, -1);
+    g_signal_connect(G_OBJECT(rWindow.m_pLeftpara), "toggled", G_CALLBACK(toggleToolItem), NULL);
+    lcl_registerToolItem(rWindow, rWindow.m_pLeftpara, ".uno:LeftPara");
+    rWindow.m_pCenterpara = gtk_toggle_tool_button_new();
+    gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(rWindow.m_pCenterpara), "format-justify-center-symbolic");
+    gtk_tool_item_set_tooltip_text(rWindow.m_pCenterpara, "Center Horizontally");
+    gtk_toolbar_insert(GTK_TOOLBAR(pLowerToolbar), rWindow.m_pCenterpara, -1);
+    g_signal_connect(G_OBJECT(rWindow.m_pCenterpara), "toggled", G_CALLBACK(toggleToolItem), NULL);
+    lcl_registerToolItem(rWindow, rWindow.m_pCenterpara, ".uno:CenterPara");
+    rWindow.m_pRightpara = gtk_toggle_tool_button_new();
+    gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(rWindow.m_pRightpara), "format-justify-right-symbolic");
+    gtk_tool_item_set_tooltip_text(rWindow.m_pRightpara, "Align Right");
+    gtk_toolbar_insert(GTK_TOOLBAR(pLowerToolbar), rWindow.m_pRightpara, -1);
+    g_signal_connect(G_OBJECT(rWindow.m_pRightpara), "toggled", G_CALLBACK(toggleToolItem), NULL);
+    lcl_registerToolItem(rWindow, rWindow.m_pRightpara, ".uno:RightPara");
+    rWindow.m_pJustifypara = gtk_toggle_tool_button_new();
+    gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(rWindow.m_pJustifypara), "format-justify-fill-symbolic");
+    gtk_tool_item_set_tooltip_text(rWindow.m_pJustifypara, "Justified");
+    gtk_toolbar_insert(GTK_TOOLBAR(pLowerToolbar), rWindow.m_pJustifypara, -1);
+    g_signal_connect(G_OBJECT(rWindow.m_pJustifypara), "toggled", G_CALLBACK(toggleToolItem), NULL);
+    lcl_registerToolItem(rWindow, rWindow.m_pJustifypara, ".uno:JustifyPara");
+    gtk_box_pack_start(GTK_BOX(rWindow.m_pVBox), pLowerToolbar, FALSE, FALSE, 0 ); // Adds to top.
 
     // Findbar
     rWindow.m_pFindbar = gtk_toolbar_new();
-- 
2.12.0