static void button_clicked (GtkWidget *button, NautilusProgressInfoWidget *self) { if (!nautilus_progress_info_get_is_finished (self->priv->info)) { nautilus_progress_info_cancel (self->priv->info); } }
GtkWidget * nautilus_progress_info_widget_new (NautilusProgressInfo *info) { NautilusProgressInfoWidget *self; self = g_object_new (NAUTILUS_TYPE_PROGRESS_INFO_WIDGET, "info", info, NULL); if (nautilus_progress_info_get_is_finished (self->priv->info)) { gtk_button_set_image (GTK_BUTTON (self->priv->button), self->priv->done_image); } gtk_widget_set_sensitive (self->priv->button, !nautilus_progress_info_get_is_finished (self->priv->info) && !nautilus_progress_info_get_is_cancelled (self->priv->info)); return GTK_WIDGET (self); }
static gboolean new_op_started_timeout (NautilusProgressInfo *info) { if (nautilus_progress_info_get_is_paused (info)) { return TRUE; } if (!nautilus_progress_info_get_is_finished (info)) { handle_new_progress_info (info); } g_object_unref (info); return FALSE; }
GtkWidget * nautilus_progress_info_widget_new (NautilusProgressInfo *info) { NautilusProgressInfoWidget *self; self = g_object_new (NAUTILUS_TYPE_PROGRESS_INFO_WIDGET, "info", info, NULL); gtk_widget_set_sensitive (self->priv->cancel, !nautilus_progress_info_get_is_finished (self->priv->info) && !nautilus_progress_info_get_is_cancelled (self->priv->info)); return GTK_WIDGET (self); }
gboolean nautilus_progress_manager_are_all_infos_finished_or_cancelled (NautilusProgressInfoManager *self) { GList *l; for (l = self->progress_infos; l != NULL; l = l->next) { if (!(nautilus_progress_info_get_is_finished (l->data) || nautilus_progress_info_get_is_cancelled (l->data))) { return FALSE; } } return TRUE; }
static gboolean new_op_started_timeout (TimeoutData *data) { NautilusProgressInfo *info = data->info; NautilusProgressUIHandler *self = data->self; if (nautilus_progress_info_get_is_paused (info)) { return TRUE; } if (!nautilus_progress_info_get_is_finished (info)) { handle_new_progress_info (self, info); } timeout_data_free (data); return FALSE; }
void nautilus_progress_info_manager_remove_finished_or_cancelled_infos (NautilusProgressInfoManager *self) { GList *l; GList *next; l = self->progress_infos; while (l != NULL) { next = l->next; if (nautilus_progress_info_get_is_finished (l->data) || nautilus_progress_info_get_is_cancelled (l->data)) { self->progress_infos = g_list_remove (self->progress_infos, l->data); } l = next; } }
static gboolean should_hide_operations_button (NautilusToolbar *self) { GList *progress_infos; GList *l; progress_infos = nautilus_progress_info_manager_get_all_infos (self->priv->progress_manager); for (l = progress_infos; l != NULL; l = l->next) { if (nautilus_progress_info_get_elapsed_time (l->data) + nautilus_progress_info_get_remaining_time (l->data) > OPERATION_MINIMUM_TIME && !nautilus_progress_info_get_is_cancelled (l->data) && !nautilus_progress_info_get_is_finished (l->data)) { return FALSE; } } return TRUE; }
static gboolean should_hide_operations_button (NautilusToolbar *self) { GList *progress_infos; GList *l; progress_infos = get_filtered_progress_infos (self); for (l = progress_infos; l != NULL; l = l->next) { if (nautilus_progress_info_get_total_elapsed_time (l->data) + nautilus_progress_info_get_remaining_time (l->data) > OPERATION_MINIMUM_TIME && !nautilus_progress_info_get_is_cancelled (l->data) && !nautilus_progress_info_get_is_finished (l->data)) { return FALSE; } } g_list_free (progress_infos); return TRUE; }