|
 |
135360 |
From 2ce0084db53e9e029ed6a276823ece21297a3050 Mon Sep 17 00:00:00 2001
|
|
 |
135360 |
From: Pranav Kant <pranavk@gnome.org>
|
|
 |
135360 |
Date: Tue, 7 Jul 2015 21:16:45 +0530
|
|
 |
135360 |
Subject: [PATCH 073/398] lokdocview: Emit load-changed signal showing load
|
|
 |
135360 |
progress
|
|
 |
135360 |
|
|
 |
135360 |
Change-Id: I69b4c05d12c0c0b2ca6b7d1ad76ed74cc1f4346a
|
|
 |
135360 |
(cherry picked from commit da129b682f81a8fdbc6be95142456f204b2b7951)
|
|
 |
135360 |
---
|
|
 |
135360 |
.../qa/gtktiledviewer/gtktiledviewer.cxx | 17 ++++++++
|
|
 |
135360 |
libreofficekit/source/gtk/lokdocview.cxx | 45 +++++++++++++++-------
|
|
 |
135360 |
2 files changed, 49 insertions(+), 13 deletions(-)
|
|
 |
135360 |
|
|
 |
135360 |
diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
|
|
 |
135360 |
index c9fd3f2e5ca4..5ff357d4a089 100644
|
|
 |
135360 |
--- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
|
|
 |
135360 |
+++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx
|
|
 |
135360 |
@@ -30,6 +30,7 @@ static int help()
|
|
 |
135360 |
}
|
|
 |
135360 |
|
|
 |
135360 |
static GtkWidget* pDocView;
|
|
 |
135360 |
+static GtkWidget* pStatusBar;
|
|
 |
135360 |
static GtkToolItem* pEnableEditing;
|
|
 |
135360 |
static GtkToolItem* pBold;
|
|
 |
135360 |
static GtkToolItem* pItalic;
|
|
 |
135360 |
@@ -285,6 +286,12 @@ static void signalCommand(LOKDocView* /*pLOKDocView*/, char* pPayload, gpointer
|
|
 |
135360 |
}
|
|
 |
135360 |
}
|
|
 |
135360 |
|
|
 |
135360 |
+static void loadChanged(LOKDocView* /*pLOKDocView*/, gdouble fValue, gpointer pData)
|
|
 |
135360 |
+{
|
|
 |
135360 |
+ GtkWidget* pProgressBar = GTK_WIDGET (pData);
|
|
 |
135360 |
+ gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR(pProgressBar), fValue);
|
|
 |
135360 |
+}
|
|
 |
135360 |
+
|
|
 |
135360 |
/// LOKDocView found no search matches -> set the search label accordingly.
|
|
 |
135360 |
static void signalSearch(LOKDocView* /*pLOKDocView*/, char* /*pPayload*/, gpointer /*pData*/)
|
|
 |
135360 |
{
|
|
 |
135360 |
@@ -402,6 +409,8 @@ static void openDocumentCallback (GObject* source_object, GAsyncResult* res, gpo
|
|
 |
135360 |
|
|
 |
135360 |
focusChain = g_list_append( focusChain, pDocView1 );
|
|
 |
135360 |
gtk_container_set_focus_chain ( GTK_CONTAINER (pVBox), focusChain );
|
|
 |
135360 |
+
|
|
 |
135360 |
+ gtk_widget_hide (pStatusBar);
|
|
 |
135360 |
}
|
|
 |
135360 |
|
|
 |
135360 |
int main( int argc, char* argv[] )
|
|
 |
135360 |
@@ -554,6 +563,7 @@ int main( int argc, char* argv[] )
|
|
 |
135360 |
g_signal_connect(pDocView, "part-changed", G_CALLBACK(signalPart), NULL);
|
|
 |
135360 |
g_signal_connect(pDocView, "hyperlink-clicked", G_CALLBACK(signalHyperlink), NULL);
|
|
 |
135360 |
|
|
 |
135360 |
+
|
|
 |
135360 |
// Scrolled window for DocView
|
|
 |
135360 |
pScrolledWindow = gtk_scrolled_window_new(0, 0);
|
|
 |
135360 |
gtk_widget_set_hexpand (pScrolledWindow, TRUE);
|
|
 |
135360 |
@@ -562,6 +572,13 @@ int main( int argc, char* argv[] )
|
|
 |
135360 |
|
|
 |
135360 |
gtk_container_add(GTK_CONTAINER(pScrolledWindow), pDocView);
|
|
 |
135360 |
|
|
 |
135360 |
+ GtkWidget* pProgressBar = gtk_progress_bar_new ();
|
|
 |
135360 |
+ g_signal_connect(pDocView, "load-changed", G_CALLBACK(loadChanged), pProgressBar);
|
|
 |
135360 |
+
|
|
 |
135360 |
+ pStatusBar = gtk_statusbar_new ();
|
|
 |
135360 |
+ gtk_container_add (GTK_CONTAINER(pVBox), pStatusBar);
|
|
 |
135360 |
+ gtk_container_add (GTK_CONTAINER(pStatusBar), pProgressBar);
|
|
 |
135360 |
+
|
|
 |
135360 |
gtk_widget_show_all( pWindow );
|
|
 |
135360 |
// Hide the findbar by default.
|
|
 |
135360 |
gtk_widget_hide(pFindbar);
|
|
 |
135360 |
diff --git a/libreofficekit/source/gtk/lokdocview.cxx b/libreofficekit/source/gtk/lokdocview.cxx
|
|
 |
135360 |
index 40c0860973ad..bc9b27ac6302 100644
|
|
 |
135360 |
--- a/libreofficekit/source/gtk/lokdocview.cxx
|
|
 |
135360 |
+++ b/libreofficekit/source/gtk/lokdocview.cxx
|
|
 |
135360 |
@@ -40,7 +40,7 @@ struct _LOKDocViewPrivate
|
|
 |
135360 |
{
|
|
 |
135360 |
gchar* m_aLOPath;
|
|
 |
135360 |
gchar* m_aDocPath;
|
|
 |
135360 |
- guint m_nLoadProgress;
|
|
 |
135360 |
+ gdouble m_nLoadProgress;
|
|
 |
135360 |
gboolean m_bIsLoading;
|
|
 |
135360 |
gboolean m_bCanZoomIn;
|
|
 |
135360 |
gboolean m_bCanZoomOut;
|
|
 |
135360 |
@@ -108,6 +108,7 @@ struct _LOKDocViewPrivate
|
|
 |
135360 |
|
|
 |
135360 |
enum
|
|
 |
135360 |
{
|
|
 |
135360 |
+ LOAD_CHANGED,
|
|
 |
135360 |
EDIT_CHANGED,
|
|
 |
135360 |
COMMAND_CHANGED,
|
|
 |
135360 |
SEARCH_NOT_FOUND,
|
|
 |
135360 |
@@ -341,17 +342,20 @@ globalCallback (gpointer pData)
|
|
 |
135360 |
{
|
|
 |
135360 |
case LOK_CALLBACK_STATUS_INDICATOR_START:
|
|
 |
135360 |
{
|
|
 |
135360 |
- priv->m_nLoadProgress = 0;
|
|
 |
135360 |
+ priv->m_nLoadProgress = 0.0;
|
|
 |
135360 |
+ g_signal_emit (pCallback->m_pDocView, doc_view_signals[LOAD_CHANGED], 0, 0.0);
|
|
 |
135360 |
}
|
|
 |
135360 |
break;
|
|
 |
135360 |
case LOK_CALLBACK_STATUS_INDICATOR_SET_VALUE:
|
|
 |
135360 |
{
|
|
 |
135360 |
- priv->m_nLoadProgress = std::stoi(pCallback->m_aPayload);
|
|
 |
135360 |
+ priv->m_nLoadProgress = static_cast<gdouble>(std::stoi(pCallback->m_aPayload)/100.0);
|
|
 |
135360 |
+ g_signal_emit (pCallback->m_pDocView, doc_view_signals[LOAD_CHANGED], 0, priv->m_nLoadProgress);
|
|
 |
135360 |
}
|
|
 |
135360 |
break;
|
|
 |
135360 |
case LOK_CALLBACK_STATUS_INDICATOR_FINISH:
|
|
 |
135360 |
{
|
|
 |
135360 |
- priv->m_nLoadProgress = 100;
|
|
 |
135360 |
+ priv->m_nLoadProgress = 1.0;
|
|
 |
135360 |
+ g_signal_emit (pCallback->m_pDocView, doc_view_signals[LOAD_CHANGED], 0, 1.0);
|
|
 |
135360 |
}
|
|
 |
135360 |
break;
|
|
 |
135360 |
default:
|
|
 |
135360 |
@@ -1069,7 +1073,7 @@ static void lok_doc_view_get_property (GObject* object, guint propId, GValue *va
|
|
 |
135360 |
g_value_set_boolean (value, priv->m_bEdit);
|
|
 |
135360 |
break;
|
|
 |
135360 |
case PROP_LOAD_PROGRESS:
|
|
 |
135360 |
- g_value_set_uint (value, priv->m_nLoadProgress);
|
|
 |
135360 |
+ g_value_set_double (value, priv->m_nLoadProgress);
|
|
 |
135360 |
break;
|
|
 |
135360 |
case PROP_ZOOM:
|
|
 |
135360 |
g_value_set_float (value, priv->m_fZoom);
|
|
 |
135360 |
@@ -1210,11 +1214,11 @@ static void lok_doc_view_class_init (LOKDocViewClass* pClass)
|
|
 |
135360 |
*/
|
|
 |
135360 |
g_object_class_install_property (pGObjectClass,
|
|
 |
135360 |
PROP_LOAD_PROGRESS,
|
|
 |
135360 |
- g_param_spec_int("load-progress",
|
|
 |
135360 |
- "Estimated Load Progress",
|
|
 |
135360 |
- "Whether the content is in edit mode or not",
|
|
 |
135360 |
- 0, 100, 0,
|
|
 |
135360 |
- G_PARAM_READABLE));
|
|
 |
135360 |
+ g_param_spec_double("load-progress",
|
|
 |
135360 |
+ "Estimated Load Progress",
|
|
 |
135360 |
+ "Shows the progress of the document load operation",
|
|
 |
135360 |
+ 0.0, 1.0, 0.0,
|
|
 |
135360 |
+ G_PARAM_READABLE));
|
|
 |
135360 |
|
|
 |
135360 |
/**
|
|
 |
135360 |
* LOKDocView:zoom-level:
|
|
 |
135360 |
@@ -1300,6 +1304,21 @@ static void lok_doc_view_class_init (LOKDocViewClass* pClass)
|
|
 |
135360 |
| G_PARAM_STATIC_STRINGS)));
|
|
 |
135360 |
|
|
 |
135360 |
/**
|
|
 |
135360 |
+ * LOKDocView::load-changed:
|
|
 |
135360 |
+ * @pDocView: the #LOKDocView on which the signal is emitted
|
|
 |
135360 |
+ * @fLoadProgress: the new progress value
|
|
 |
135360 |
+ */
|
|
 |
135360 |
+ doc_view_signals[LOAD_CHANGED] =
|
|
 |
135360 |
+ g_signal_new("load-changed",
|
|
 |
135360 |
+ G_TYPE_FROM_CLASS (pGObjectClass),
|
|
 |
135360 |
+ G_SIGNAL_RUN_FIRST,
|
|
 |
135360 |
+ 0,
|
|
 |
135360 |
+ NULL, NULL,
|
|
 |
135360 |
+ g_cclosure_marshal_VOID__DOUBLE,
|
|
 |
135360 |
+ G_TYPE_NONE, 1,
|
|
 |
135360 |
+ G_TYPE_DOUBLE);
|
|
 |
135360 |
+
|
|
 |
135360 |
+ /**
|
|
 |
135360 |
* LOKDocView::edit-changed:
|
|
 |
135360 |
* @pDocView: the #LOKDocView on which the signal is emitted
|
|
 |
135360 |
* @bEdit: the new edit value of the view
|
|
 |
135360 |
@@ -1403,16 +1422,16 @@ lok_doc_view_open_document_finish (LOKDocView* pDocView, GAsyncResult* res, GErr
|
|
 |
135360 |
{
|
|
 |
135360 |
GTask* task = G_TASK(res);
|
|
 |
135360 |
|
|
 |
135360 |
- g_return_val_if_fail(g_task_is_valid(res, pDocView), NULL);
|
|
 |
135360 |
+ g_return_val_if_fail(g_task_is_valid(res, pDocView), false);
|
|
 |
135360 |
//FIXME: make source_tag workx
|
|
 |
135360 |
//g_return_val_if_fail(g_task_get_source_tag(task) == lok_doc_view_open_document, NULL);
|
|
 |
135360 |
- g_return_val_if_fail(error == NULL || *error == NULL, NULL);
|
|
 |
135360 |
+ g_return_val_if_fail(error == NULL || *error == NULL, false);
|
|
 |
135360 |
|
|
 |
135360 |
return g_task_propagate_boolean(task, error);
|
|
 |
135360 |
}
|
|
 |
135360 |
|
|
 |
135360 |
static void
|
|
 |
135360 |
-lok_doc_view_open_document_func (GTask* task, gpointer source_object, gpointer task_data, GCancellable* cancellable)
|
|
 |
135360 |
+lok_doc_view_open_document_func (GTask* task, gpointer source_object, gpointer /*task_data*/, GCancellable* /*cancellable*/)
|
|
 |
135360 |
{
|
|
 |
135360 |
LOKDocView* pDocView = LOK_DOC_VIEW(source_object);
|
|
 |
135360 |
LOKDocViewPrivate *priv = static_cast<LOKDocViewPrivate*>(lok_doc_view_get_instance_private (pDocView));
|
|
 |
135360 |
--
|
|
 |
135360 |
2.12.0
|
|
 |
135360 |
|