From f7fd36c820e0ba49786e4c1879063b6d1ade8c71 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Sun, 15 Dec 2013 21:24:33 +0000 Subject: [PATCH] Keep the progress/cancel toolbar permanently visible The preview API for Canon cameras triggers progress bar updates. Since previews are taken many times a second this causes the progress bar to show/hide very frequently which is unusable. Instead of showing/hiding toolbar controls just keep them visible all the time and tweak sensitivity when required Fixes bug: #21246 Signed-off-by: Daniel P. Berrange --- src/frontend/entangle-camera-manager.c | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/src/frontend/entangle-camera-manager.c b/src/frontend/entangle-camera-manager.c index 80402e8..23fe26d 100644 --- a/src/frontend/entangle-camera-manager.c +++ b/src/frontend/entangle-camera-manager.c @@ -576,10 +576,10 @@ static void do_capture_widget_sensitivity(EntangleCameraManager *manager) #endif if (priv->taskCapture) { - gtk_widget_show(toolCancel); + gtk_widget_set_sensitive(toolCancel, True); gtk_widget_set_sensitive(menuCancel, True); } else { - gtk_widget_hide(toolCancel); + gtk_widget_set_sensitive(toolCancel, False); gtk_widget_set_sensitive(menuCancel, False); } @@ -1199,17 +1199,13 @@ static void do_entangle_camera_progress_start(EntangleProgress *iface, float tar EntangleCameraManager *manager = ENTANGLE_CAMERA_MANAGER(iface); EntangleCameraManagerPrivate *priv = manager->priv; GtkWidget *mtr; - GtkWidget *operation; priv->taskTarget = target; mtr = GTK_WIDGET(gtk_builder_get_object(priv->builder, "toolbar-progress")); - operation = GTK_WIDGET(gtk_builder_get_object(priv->builder, "toolbar-operation")); gtk_widget_set_tooltip_text(mtr, msg); gtk_progress_bar_set_text(GTK_PROGRESS_BAR(mtr), msg); gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(mtr), 0); - - gtk_widget_show(operation); } @@ -1234,16 +1230,12 @@ static void do_entangle_camera_progress_stop(EntangleProgress *iface) EntangleCameraManager *manager = ENTANGLE_CAMERA_MANAGER(iface); EntangleCameraManagerPrivate *priv = manager->priv; GtkWidget *mtr; - GtkWidget *operation; mtr = GTK_WIDGET(gtk_builder_get_object(priv->builder, "toolbar-progress")); - operation = GTK_WIDGET(gtk_builder_get_object(priv->builder, "toolbar-operation")); gtk_widget_set_tooltip_text(mtr, ""); gtk_progress_bar_set_text(GTK_PROGRESS_BAR(mtr), ""); gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(mtr), 0); - - gtk_widget_hide(operation); } @@ -1273,7 +1265,6 @@ static void do_remove_camera(EntangleCameraManager *manager) EntangleCameraManagerPrivate *priv = manager->priv; GtkWidget *mtr; - GtkWidget *operation; g_cancellable_cancel(priv->monitorCancel); g_cancellable_cancel(priv->taskCancel); @@ -1294,12 +1285,9 @@ static void do_remove_camera(EntangleCameraManager *manager) } mtr = GTK_WIDGET(gtk_builder_get_object(priv->builder, "toolbar-progress")); - operation = GTK_WIDGET(gtk_builder_get_object(priv->builder, "toolbar-operation")); gtk_widget_set_tooltip_text(mtr, ""); gtk_progress_bar_set_text(GTK_PROGRESS_BAR(mtr), ""); gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(mtr), 0); - - gtk_widget_hide(operation); } @@ -3067,7 +3055,6 @@ static void do_entangle_camera_manager_set_builder(EntangleWindow *window, GtkWidget *settingsViewport; GtkWidget *menu; GtkWidget *monitorMenu; - GtkWidget *operation; GtkWidget *imageViewport; priv->builder = g_object_ref(builder); @@ -3163,9 +3150,6 @@ static void do_entangle_camera_manager_set_builder(EntangleWindow *window, priv->taskCancel = g_cancellable_new(); priv->taskConfirm = g_cancellable_new(); - operation = GTK_WIDGET(gtk_builder_get_object(priv->builder, "toolbar-operation")); - gtk_widget_hide(operation); - do_zoom_widget_sensitivity(manager); do_capture_widget_sensitivity(manager); -- 2.1.4