[gthumb/ext: 40/79] Added a text an pulse arguments to the gth-task progress signal
- From: Paolo Bacchilega <paobac src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gthumb/ext: 40/79] Added a text an pulse arguments to the gth-task progress signal
- Date: Sun, 2 Aug 2009 20:28:27 +0000 (UTC)
commit 85256610d6cea5ab004d9acad9b88b3ee19245c2
Author: Paolo Bacchilega <paobac src gnome org>
Date: Sat Jul 11 21:18:45 2009 +0200
Added a text an pulse arguments to the gth-task progress signal
Show the text and the progress in the browser statusbar.
extensions/file_manager/gth-duplicate-task.c | 2 +-
extensions/file_tools/gth-file-tool-desaturate.c | 3 +-
extensions/list_tools/callbacks.c | 65 +++++++++++++++++---
extensions/list_tools/gth-script-editor-dialog.c | 2 +-
extensions/list_tools/gth-script-task.c | 13 ++++-
extensions/list_tools/gth-script.c | 1 +
gthumb/gth-browser-ui.h | 1 +
gthumb/gth-browser.c | 18 ++++++
gthumb/gth-marshal.list | 1 +
gthumb/gth-pixbuf-task.c | 6 +-
gthumb/gth-pixbuf-task.h | 5 +-
gthumb/gth-statusbar.c | 71 ++++++++++++++++++++++
gthumb/gth-statusbar.h | 4 +
gthumb/gth-task.c | 17 ++++--
gthumb/gth-task.h | 30 +++++----
15 files changed, 205 insertions(+), 34 deletions(-)
---
diff --git a/extensions/file_manager/gth-duplicate-task.c b/extensions/file_manager/gth-duplicate-task.c
index 2a5546b..4bfc6d8 100644
--- a/extensions/file_manager/gth-duplicate-task.c
+++ b/extensions/file_manager/gth-duplicate-task.c
@@ -87,7 +87,7 @@ copy_progress_cb (goffset current_file,
{
GthDuplicateTask *self = user_data;
- gth_task_progress (GTH_TASK (self), (float) current_num_bytes / total_num_bytes);
+ gth_task_progress (GTH_TASK (self), _("Duplicating files"), FALSE, (double) current_num_bytes / total_num_bytes);
}
diff --git a/extensions/file_tools/gth-file-tool-desaturate.c b/extensions/file_tools/gth-file-tool-desaturate.c
index 520c24b..d72acf8 100644
--- a/extensions/file_tools/gth-file-tool-desaturate.c
+++ b/extensions/file_tools/gth-file-tool-desaturate.c
@@ -91,7 +91,8 @@ gth_file_tool_desaturate_activate (GthFileTool *base)
return;
dest_pixbuf = gdk_pixbuf_copy (src_pixbuf);
- task = gth_pixbuf_task_new (src_pixbuf,
+ task = gth_pixbuf_task_new (_("Desaturating image"),
+ src_pixbuf,
dest_pixbuf,
NULL,
desaturate_step,
diff --git a/extensions/list_tools/callbacks.c b/extensions/list_tools/callbacks.c
index 69811e1..3c7b6de 100644
--- a/extensions/list_tools/callbacks.c
+++ b/extensions/list_tools/callbacks.c
@@ -36,6 +36,18 @@
static const char *fixed_ui_info =
"<ui>"
+/*
+" <popup name='FileListPopup'>"
+" <placeholder name='Open_Actions'>"
+" <menu name='ExecWith' action='ExecWithMenu'>"
+" <placeholder name='Tools'/>"
+" <placeholder name='Scripts'/>"
+" <separator name='ScriptsListSeparator'/>"
+" <menuitem name='EditScripts' action='ListTools_EditScripts'/>"
+" </menu>"
+" </placeholder>"
+" </popup>"
+*/
" <popup name='ListToolsPopup'>"
" <placeholder name='Tools'/>"
" <placeholder name='Scripts'/>"
@@ -46,6 +58,8 @@ static const char *fixed_ui_info =
static GtkActionEntry action_entries[] = {
+ /*{ "ExecWithMenu", GTK_STOCK_EXECUTE, N_("_Tools") },*/
+
{ "ListTools_EditScripts", GTK_STOCK_EDIT,
N_("Personalize..."), NULL,
NULL,
@@ -98,8 +112,26 @@ activate_script_menu_item (GtkMenuItem *menuitem,
}
+static GtkWidget *
+get_widget_with_prefix (BrowserData *data,
+ const char *prefix,
+ const char *path)
+{
+ char *full_path;
+ GtkWidget *widget;
+
+ full_path = g_strconcat (prefix, path, NULL);
+ widget = gtk_ui_manager_get_widget (gth_browser_get_ui_manager (data->browser), full_path);
+
+ g_free (full_path);
+
+ return widget;
+}
+
+
static void
-update_scripts_menu (BrowserData *data)
+_update_scripts_menu (BrowserData *data,
+ const char *prefix)
{
GtkWidget *separator1;
GtkWidget *separator2;
@@ -109,8 +141,8 @@ update_scripts_menu (BrowserData *data)
int pos;
gboolean script_present = FALSE;
- separator1 = gtk_ui_manager_get_widget (gth_browser_get_ui_manager (data->browser), "/ListToolsPopup/Tools");
- separator2 = gtk_ui_manager_get_widget (gth_browser_get_ui_manager (data->browser), "/ListToolsPopup/Scripts");
+ separator1 = get_widget_with_prefix (data, prefix, "/Tools");
+ separator2 = get_widget_with_prefix (data, prefix, "/Scripts");
menu = gtk_widget_get_parent (separator1);
_gtk_container_remove_children (GTK_CONTAINER (menu), separator1, separator2);
@@ -140,7 +172,7 @@ update_scripts_menu (BrowserData *data)
script_present = TRUE;
}
- separator1 = gtk_ui_manager_get_widget (gth_browser_get_ui_manager (data->browser), "/ListToolsPopup/ScriptsListSeparator");
+ separator1 = get_widget_with_prefix (data, prefix, "/ScriptsListSeparator");
if (script_present)
gtk_widget_show (separator1);
else
@@ -153,6 +185,14 @@ update_scripts_menu (BrowserData *data)
static void
+update_scripts_menu (BrowserData *data)
+{
+ _update_scripts_menu (data, "/ListToolsPopup");
+ /*_update_scripts_menu (data, "/FileListPopup/Open_Actions/ExecWith");*/
+}
+
+
+static void
scripts_changed_cb (GthScriptFile *script_file,
BrowserData *data)
{
@@ -202,8 +242,9 @@ list_tools__gth_browser_construct_cb (GthBrowser *browser)
}
-void
-list_tools__gth_browser_update_sensitivity_cb (GthBrowser *browser)
+static void
+_update_sensitivity (GthBrowser *browser,
+ const char *prefix)
{
BrowserData *data;
int n_selected;
@@ -218,8 +259,8 @@ list_tools__gth_browser_update_sensitivity_cb (GthBrowser *browser)
n_selected = gth_file_selection_get_n_selected (GTH_FILE_SELECTION (gth_browser_get_file_list_view (browser)));
sensitive = (n_selected > 0);
- separator1 = gtk_ui_manager_get_widget (gth_browser_get_ui_manager (browser), "/ListToolsPopup/Tools");
- separator2 = gtk_ui_manager_get_widget (gth_browser_get_ui_manager (browser), "/ListToolsPopup/Scripts");
+ separator1 = get_widget_with_prefix (data, prefix, "/Tools");
+ separator2 = get_widget_with_prefix (data, prefix, "/Scripts");
menu = gtk_widget_get_parent (separator1);
{
GList *children;
@@ -241,3 +282,11 @@ list_tools__gth_browser_update_sensitivity_cb (GthBrowser *browser)
gtk_widget_set_sensitive (scan->data, sensitive);
}
}
+
+
+void
+list_tools__gth_browser_update_sensitivity_cb (GthBrowser *browser)
+{
+ _update_sensitivity (browser, "/ListToolsPopup");
+ /*_update_sensitivity (browser, "/FileListPopup/Open_Actions/ExecWith");*/
+}
diff --git a/extensions/list_tools/gth-script-editor-dialog.c b/extensions/list_tools/gth-script-editor-dialog.c
index 361739c..ca80738 100644
--- a/extensions/list_tools/gth-script-editor-dialog.c
+++ b/extensions/list_tools/gth-script-editor-dialog.c
@@ -143,7 +143,7 @@ gth_script_editor_dialog_construct (GthScriptEditorDialog *self,
gtk_window_set_title (GTK_WINDOW (self), title);
if (parent != NULL)
gtk_window_set_transient_for (GTK_WINDOW (self), parent);
- gtk_window_set_resizable (GTK_WINDOW (self), TRUE);
+ gtk_window_set_resizable (GTK_WINDOW (self), FALSE);
gtk_dialog_set_has_separator (GTK_DIALOG (self), FALSE);
gtk_box_set_spacing (GTK_BOX (GTK_DIALOG (self)->vbox), 5);
gtk_container_set_border_width (GTK_CONTAINER (self), 5);
diff --git a/extensions/list_tools/gth-script-task.c b/extensions/list_tools/gth-script-task.c
index 39caf90..fb64db9 100644
--- a/extensions/list_tools/gth-script-task.c
+++ b/extensions/list_tools/gth-script-task.c
@@ -29,6 +29,8 @@ struct _GthScriptTaskPrivate {
GtkWindow *parent;
GList *file_list;
GList *current;
+ int n_files;
+ int n_current;
GPid pid;
guint script_watch;
GCancellable *cancellable;
@@ -60,6 +62,8 @@ static void
_gth_script_task_exec_next_file (GthScriptTask *self)
{
self->priv->current = self->priv->current->next;
+ self->priv->n_current++;
+
if (self->priv->current == NULL)
gth_task_completed (GTH_TASK (self), NULL);
else
@@ -102,6 +106,8 @@ _gth_script_task_exec (GthScriptTask *self)
if (gth_script_for_each_file (self->priv->script)) {
GList *list;
+ gth_task_progress (GTH_TASK (self), gth_script_get_display_name (self->priv->script), FALSE, (double) self->priv->n_current / (self->priv->n_files + 1));
+
list = g_list_prepend (NULL, self->priv->current->data);
command_line = gth_script_get_command_line (self->priv->script,
self->priv->parent,
@@ -110,11 +116,14 @@ _gth_script_task_exec (GthScriptTask *self)
g_list_free (list);
}
- else
+ else {
+ gth_task_progress (GTH_TASK (self), gth_script_get_display_name (self->priv->script), TRUE, 0.0);
+
command_line = gth_script_get_command_line (self->priv->script,
self->priv->parent,
self->priv->file_list,
&error);
+ }
if (error == NULL) {
char **argv;
@@ -291,6 +300,8 @@ gth_script_task_new (GtkWindow *parent,
self->priv->script = g_object_ref (script);
self->priv->file_list = _g_object_list_ref (file_list);
self->priv->current = self->priv->file_list;
+ self->priv->n_files = g_list_length (file_list);
+ self->priv->n_current = 1;
return (GthTask *) self;
}
diff --git a/extensions/list_tools/gth-script.c b/extensions/list_tools/gth-script.c
index 7a213e6..2ee38c6 100644
--- a/extensions/list_tools/gth-script.c
+++ b/extensions/list_tools/gth-script.c
@@ -586,6 +586,7 @@ ask_value (ReplaceData *replace_data,
dialog = _gtk_builder_get_widget (builder, "ask_value_dialog");
gtk_label_set_text (GTK_LABEL (_gtk_builder_get_widget (builder, "request_label")), prompt);
gtk_entry_set_text (GTK_ENTRY (_gtk_builder_get_widget (builder, "request_entry")), default_value);
+ gtk_window_set_title (GTK_WINDOW (dialog), "");
gtk_window_set_transient_for (GTK_WINDOW (dialog), replace_data->parent);
gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
diff --git a/gthumb/gth-browser-ui.h b/gthumb/gth-browser-ui.h
index 06a095d..336440b 100644
--- a/gthumb/gth-browser-ui.h
+++ b/gthumb/gth-browser-ui.h
@@ -152,6 +152,7 @@ static const char *fixed_ui_info =
" <menuitem name='Open' action='File_Open'/>"
" <menu name='OpenWith' action='OpenWithMenu'>"
" </menu>"
+" <placeholder name='Open_Actions'/>"
" <separator/>"
" <placeholder name='File_Actions'/>"
" <separator/>"
diff --git a/gthumb/gth-browser.c b/gthumb/gth-browser.c
index 8156b38..10a75b5 100644
--- a/gthumb/gth-browser.c
+++ b/gthumb/gth-browser.c
@@ -138,6 +138,7 @@ struct _GthBrowserPrivateData {
gboolean closing;
GthTask *task;
gulong task_completed;
+ gulong task_progress;
GList *load_data_queue;
guint load_file_timeout;
@@ -3272,8 +3273,10 @@ task_completed_cb (GthTask *task,
browser->priv->activity_ref--;
g_signal_handler_disconnect (browser->priv->task, browser->priv->task_completed);
+ g_signal_handler_disconnect (browser->priv->task, browser->priv->task_progress);
if (! browser->priv->closing) {
+ gth_statusbar_set_progress (GTH_STATUSBAR (browser->priv->statusbar), NULL, FALSE, 0.0);
gth_browser_update_sensitivity (browser);
if (error != NULL) {
if (! g_error_matches (error, GTH_TASK_ERROR, GTH_TASK_ERROR_CANCELLED))
@@ -3291,6 +3294,17 @@ task_completed_cb (GthTask *task,
}
+static void
+task_progress_cb (GthTask *task,
+ const char *text,
+ gboolean pulse,
+ double fraction,
+ GthBrowser *browser)
+{
+ gth_statusbar_set_progress (GTH_STATUSBAR (browser->priv->statusbar), text, pulse, fraction);
+}
+
+
void
gth_browser_exec_task (GthBrowser *browser,
GthTask *task)
@@ -3305,6 +3319,10 @@ gth_browser_exec_task (GthBrowser *browser,
"completed",
G_CALLBACK (task_completed_cb),
browser);
+ browser->priv->task_progress = g_signal_connect (task,
+ "progress",
+ G_CALLBACK (task_progress_cb),
+ browser);
browser->priv->activity_ref++;
gth_browser_update_sensitivity (browser);
gth_task_exec (browser->priv->task);
diff --git a/gthumb/gth-marshal.list b/gthumb/gth-marshal.list
index f05703d..45ba709 100644
--- a/gthumb/gth-marshal.list
+++ b/gthumb/gth-marshal.list
@@ -6,3 +6,4 @@ VOID:OBJECT, BOOLEAN
VOID:OBJECT, UINT
VOID:OBJECT, STRING
VOID:POINTER, POINTER
+VOID:STRING, BOOLEAN, DOUBLE
diff --git a/gthumb/gth-pixbuf-task.c b/gthumb/gth-pixbuf-task.c
index 8c01dea..f00e88a 100644
--- a/gthumb/gth-pixbuf-task.c
+++ b/gthumb/gth-pixbuf-task.c
@@ -99,7 +99,7 @@ one_step (gpointer data)
pixbuf_task->dest_line += pixbuf_task->rowstride;
if (pixbuf_task->line % PROGRESS_STEP == 0)
- gth_task_progress (GTH_TASK (pixbuf_task), (float) pixbuf_task->line / pixbuf_task->height);
+ gth_task_progress (GTH_TASK (pixbuf_task), pixbuf_task->description, FALSE, (double) pixbuf_task->line / pixbuf_task->height);
if (! pixbuf_task->ltr) { /* right to left */
int ofs = (pixbuf_task->width - 1) * pixbuf_task->bytes_per_pixel;
@@ -249,7 +249,8 @@ gth_pixbuf_task_get_type (void)
GthTask *
-gth_pixbuf_task_new (GdkPixbuf *src,
+gth_pixbuf_task_new (const char *description,
+ GdkPixbuf *src,
GdkPixbuf *dest,
PixbufOpFunc init_func,
PixbufOpFunc step_func,
@@ -260,6 +261,7 @@ gth_pixbuf_task_new (GdkPixbuf *src,
pixbuf_task = GTH_PIXBUF_TASK (g_object_new (GTH_TYPE_PIXBUF_TASK, NULL));
+ pixbuf_task->description = description;
pixbuf_task->init_func = init_func;
pixbuf_task->step_func = step_func;
pixbuf_task->release_func = release_func;
diff --git a/gthumb/gth-pixbuf-task.h b/gthumb/gth-pixbuf-task.h
index 532cb82..8070599 100644
--- a/gthumb/gth-pixbuf-task.h
+++ b/gthumb/gth-pixbuf-task.h
@@ -75,6 +75,8 @@ struct _GthPixbufTask {
int line_step;
int column;
gboolean interrupt;
+
+ const char *description;
};
struct _GthPixbufTaskClass {
@@ -82,7 +84,8 @@ struct _GthPixbufTaskClass {
};
GType gth_pixbuf_task_get_type (void);
-GthTask * gth_pixbuf_task_new (GdkPixbuf *src,
+GthTask * gth_pixbuf_task_new (const char *description,
+ GdkPixbuf *src,
GdkPixbuf *dest,
PixbufOpFunc init_func,
PixbufOpFunc step_func,
diff --git a/gthumb/gth-statusbar.c b/gthumb/gth-statusbar.c
index f6fc1f0..082f231 100644
--- a/gthumb/gth-statusbar.c
+++ b/gthumb/gth-statusbar.c
@@ -37,6 +37,10 @@ struct _GthStatusbarPrivate {
GtkWidget *primary_text_frame;
GtkWidget *secondary_text;
GtkWidget *secondary_text_frame;
+ GtkWidget *progress_box;
+ GtkWidget *progress_bar;
+ GtkWidget *progress_label;
+ /*GtkWidget *stop_button;*/
};
@@ -51,9 +55,56 @@ gth_statusbar_class_init (GthStatusbarClass *klass)
static void
gth_statusbar_init (GthStatusbar *statusbar)
{
+ GtkWidget *separator;
+ GtkWidget *hbox;
+ GtkWidget *vbox;
+ /*GtkWidget *image;*/
+
+ gtk_box_set_spacing (GTK_BOX (statusbar), 0);
+
statusbar->priv = GTH_STATUSBAR_GET_PRIVATE (statusbar);
statusbar->priv->list_info_cid = gtk_statusbar_get_context_id (GTK_STATUSBAR (statusbar), "gth_list_info");
+ /* Progress info */
+
+ statusbar->priv->progress_box = gtk_vbox_new (FALSE, 0);
+ gtk_widget_hide (statusbar->priv->progress_box);
+ gtk_box_pack_start (GTK_BOX (statusbar), statusbar->priv->progress_box, FALSE, FALSE, 0);
+
+ separator = gtk_hseparator_new ();
+ gtk_widget_show (separator);
+ gtk_box_pack_start (GTK_BOX (statusbar->priv->progress_box), separator, FALSE, FALSE, 0);
+
+ hbox = gtk_hbox_new (FALSE, 6);
+ gtk_widget_show (hbox);
+ gtk_box_pack_start (GTK_BOX (statusbar->priv->progress_box), hbox, FALSE, FALSE, 0);
+
+ statusbar->priv->progress_label = gtk_label_new (NULL);
+ gtk_widget_show (statusbar->priv->progress_label);
+ gtk_box_pack_start (GTK_BOX (hbox), statusbar->priv->progress_label, TRUE, TRUE, 0);
+
+ vbox = gtk_vbox_new (FALSE, 0);
+ gtk_box_set_homogeneous (GTK_BOX (vbox), TRUE);
+ gtk_widget_show (vbox);
+ gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0);
+
+ statusbar->priv->progress_bar = gtk_progress_bar_new ();
+ gtk_widget_set_size_request (statusbar->priv->progress_bar, 60, 12);
+ gtk_widget_show (statusbar->priv->progress_bar);
+ gtk_box_pack_start (GTK_BOX (vbox), statusbar->priv->progress_bar, FALSE, FALSE, 0);
+
+ /*
+ statusbar->priv->stop_button = gtk_button_new ();
+ gtk_widget_set_size_request (statusbar->priv->stop_button, 26, 26);
+ gtk_button_set_relief (GTK_BUTTON (statusbar->priv->stop_button), GTK_RELIEF_NONE);
+ gtk_widget_show (statusbar->priv->stop_button);
+ gtk_box_pack_start (GTK_BOX (hbox), statusbar->priv->stop_button, FALSE, FALSE, 0);
+
+ image = gtk_image_new_from_stock (GTK_STOCK_STOP, GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image);
+ gtk_container_add (GTK_CONTAINER (statusbar->priv->stop_button), image);
+ */
+
/* Secondary text */
statusbar->priv->secondary_text = gtk_label_new (NULL);
@@ -147,3 +198,23 @@ gth_statusbar_set_secondary_text (GthStatusbar *statusbar,
else
gtk_widget_hide (statusbar->priv->secondary_text_frame);
}
+
+
+void
+gth_statusbar_set_progress (GthStatusbar *statusbar,
+ const char *text,
+ gboolean pulse,
+ double fraction)
+{
+ if (text == NULL) {
+ gtk_widget_hide (statusbar->priv->progress_box);
+ return;
+ }
+
+ gtk_widget_show (statusbar->priv->progress_box);
+ gtk_label_set_text (GTK_LABEL (statusbar->priv->progress_label), text);
+ if (pulse)
+ gtk_progress_bar_pulse (GTK_PROGRESS_BAR (statusbar->priv->progress_bar));
+ else
+ gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (statusbar->priv->progress_bar), fraction);
+}
diff --git a/gthumb/gth-statusbar.h b/gthumb/gth-statusbar.h
index 1c69fe2..ed40859 100644
--- a/gthumb/gth-statusbar.h
+++ b/gthumb/gth-statusbar.h
@@ -55,6 +55,10 @@ void gth_statusbar_set_primary_text (GthStatusbar *statusbar,
const char *text);
void gth_statusbar_set_secondary_text (GthStatusbar *statusbar,
const char *text);
+void gth_statusbar_set_progress (GthStatusbar *statusbar,
+ const char *text,
+ gboolean pulse,
+ double fraction);
G_END_DECLS
diff --git a/gthumb/gth-task.c b/gthumb/gth-task.c
index cfa105c..93e82da 100644
--- a/gthumb/gth-task.c
+++ b/gthumb/gth-task.c
@@ -22,6 +22,7 @@
#include <config.h>
#include <glib.h>
+#include "gth-marshal.h"
#include "gth-task.h"
@@ -111,10 +112,12 @@ gth_task_class_init (GthTaskClass *class)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GthTaskClass, progress),
NULL, NULL,
- g_cclosure_marshal_VOID__FLOAT,
+ gth_marshal_VOID__STRING_BOOLEAN_DOUBLE,
G_TYPE_NONE,
- 1,
- G_TYPE_FLOAT);
+ 3,
+ G_TYPE_STRING,
+ G_TYPE_BOOLEAN,
+ G_TYPE_DOUBLE);
}
@@ -194,8 +197,10 @@ gth_task_completed (GthTask *task,
void
-gth_task_progress (GthTask *task,
- float value)
+gth_task_progress (GthTask *task,
+ const char *text,
+ gboolean pulse,
+ double fraction)
{
- g_signal_emit (task, gth_task_signals[PROGRESS], 0, value);
+ g_signal_emit (task, gth_task_signals[PROGRESS], 0, text, pulse, fraction);
}
diff --git a/gthumb/gth-task.h b/gthumb/gth-task.h
index 0343018..a8499f0 100644
--- a/gthumb/gth-task.h
+++ b/gthumb/gth-task.h
@@ -57,28 +57,32 @@ struct _GthTaskClass
/*< signals >*/
- void (*completed) (GthTask *task,
- GError *error);
- void (*progress) (GthTask *task,
- float value);
+ void (*completed) (GthTask *task,
+ GError *error);
+ void (*progress) (GthTask *task,
+ const char *text,
+ gboolean pulse,
+ double fraction);
/*< virtual functions >*/
- void (*exec) (GthTask *task);
- void (*cancel) (GthTask *task);
+ void (*exec) (GthTask *task);
+ void (*cancel) (GthTask *task);
};
GQuark gth_task_error_quark (void);
GType gth_task_get_type (void) G_GNUC_CONST;
GthTask * gth_task_new (void);
-void gth_task_exec (GthTask *task);
-gboolean gth_task_is_running (GthTask *task);
-void gth_task_cancel (GthTask *task);
-void gth_task_completed (GthTask *task,
- GError *error);
-void gth_task_progress (GthTask *task,
- float value);
+void gth_task_exec (GthTask *task);
+gboolean gth_task_is_running (GthTask *task);
+void gth_task_cancel (GthTask *task);
+void gth_task_completed (GthTask *task,
+ GError *error);
+void gth_task_progress (GthTask *task,
+ const char *text,
+ gboolean pulse,
+ double fraction);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]