Update of /cvsroot/ufraw/ufraw
In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv23417

Modified Files:
        ufraw_icons.c ufraw_preview.c 
Log Message:
Give different icons to the auto buttons two states.
Give different icons to the crop-lock button two states.


Index: ufraw_icons.c
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw_icons.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- ufraw_icons.c       23 Jan 2010 05:00:58 -0000      1.20
+++ ufraw_icons.c       11 Feb 2010 07:11:06 -0000      1.21
@@ -49,6 +49,9 @@
     load_icon(factory, rotate_90_24, "object-rotate-right");
     load_icon(factory, rotate_270_24, "object-rotate-left");
     load_icon(factory, lock_24, "object-lock");
+    load_icon(factory, unlock_24, "object-unlock");
+    load_icon(factory, automatic_24, "object-automatic");
+    load_icon(factory, manual_24, "object-manual");
     load_icon(factory, exif_24, "exif");
     load_icon(factory, crop_24, "crop");
     load_icon(factory, rectify_24, "rectify");

Index: ufraw_preview.c
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw_preview.c,v
retrieving revision 1.335
retrieving revision 1.336
diff -u -d -r1.335 -r1.336
--- ufraw_preview.c     10 Feb 2010 00:27:37 -0000      1.335
+++ ufraw_preview.c     11 Feb 2010 07:11:06 -0000      1.336
@@ -883,6 +883,7 @@
     data->RenderSubArea = 0;
 
     if (CFG->autoExposure == apply_state) {
+       ufraw_invalidate_layer(data->UF, ufraw_develop_phase);
        ufraw_auto_expose(data->UF);
        gdouble lower, upper;
        g_object_get(data->ExposureAdjustment, "lower", &lower,
@@ -893,8 +894,11 @@
        gtk_adjustment_set_value(data->ExposureAdjustment, CFG->exposure);
        gtk_widget_set_sensitive(data->ResetExposureButton,
                fabs( conf_default.exposure - CFG->exposure) > 0.001);
+       if (CFG->autoBlack == enabled_state)
+           CFG->autoBlack = apply_state;
     }
     if (CFG->autoBlack == apply_state) {
+       ufraw_invalidate_layer(data->UF, ufraw_develop_phase);
        ufraw_auto_black(data->UF);
        curveeditor_widget_set_curve(data->CurveWidget,
                &CFG->curve[CFG->curveIndex]);
@@ -912,6 +916,8 @@
                &data->UF->displayProfileSize);
     }
     if (CFG->autoCrop == apply_state) {
+       ufraw_invalidate_layer(data->UF, ufraw_transform_phase);
+       ufraw_get_image_dimensions(data->UF);
        CFG->CropX1 = (data->UF->rotatedWidth - data->UF->autoCropWidth)/2;
        CFG->CropX2 = (data->UF->rotatedWidth + data->UF->autoCropWidth)/2;
        CFG->CropY1 = (data->UF->rotatedHeight - data->UF->autoCropHeight)/2;
@@ -1469,8 +1475,6 @@
 
     uf_combo_box_set_data(data->BitDepthCombo,
        &CFG->profile[out_profile][CFG->profileIndex[out_profile]].BitDepth);
-    gtk_toggle_button_set_active(data->AutoExposureButton, CFG->autoExposure);
-    gtk_toggle_button_set_active(data->AutoBlackButton, CFG->autoBlack);
     curveeditor_widget_set_curve(data->CurveWidget,
            &CFG->curve[CFG->curveIndex]);
 
@@ -1542,6 +1546,18 @@
     render_preview(data);
 }
 
+static void auto_button_toggle(GtkToggleButton *button, gboolean *valuep)
+{
+    if (gtk_toggle_button_get_active(button)) {
+       *valuep = !*valuep;
+       gtk_toggle_button_set_active(button, FALSE);
+    }
+    if (*valuep)
+       uf_button_set_stock_image(GTK_BUTTON(button), "object-automatic");
+    else
+       uf_button_set_stock_image(GTK_BUTTON(button), "object-manual");
+}
+
 static void curve_update(GtkWidget *widget, long curveType)
 {
     preview_data *data = get_preview_data(widget);
@@ -1556,6 +1572,7 @@
        CFG->curve[CFG->curveIndex] =
            *curveeditor_widget_get_curve(data->CurveWidget);
        CFG->autoBlack = FALSE;
+       auto_button_toggle(data->AutoBlackButton, &CFG->autoBlack);
     }
     ufraw_invalidate_layer(data->UF, ufraw_develop_phase);
     update_scales(data);
@@ -1847,7 +1864,7 @@
        if ( data->CropMotionType!=crop_cursor ) {
            fix_crop_aspect(data, data->CropMotionType, TRUE);
            CFG->autoCrop = disabled_state;
-           gtk_toggle_button_set_active(data->AutoCropButton, CFG->autoCrop);
+           auto_button_toggle(data->AutoCropButton, &CFG->autoCrop);
        }
     }
 
@@ -2029,7 +2046,7 @@
     refresh_aspect(data);
     set_new_aspect(data);
     CFG->autoCrop = disabled_state;
-    gtk_toggle_button_set_active(data->AutoCropButton, CFG->autoCrop);
+    auto_button_toggle(data->AutoCropButton, &CFG->autoCrop);
 }
 
 static void zoom_update(GtkAdjustment *adj, gpointer user_data)
@@ -2380,25 +2397,20 @@
     update_crop_ranges(data, TRUE);
 }
 
-static void lock_aspect(GtkWidget *widget)
-{
-    preview_data *data = get_preview_data(widget);
-    CFG->LockAspect = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
-    uf_widget_set_tooltip(widget, CFG->LockAspect ?
-           _("Aspect ratio locked, click to unlock") :
-           _("Aspect ratio unlocked, click to lock"));
-}
-
-static void auto_crop_clicked(GtkToggleButton *button, gpointer user_data)
+static void lock_aspect(GtkToggleButton *button, gboolean *valuep)
 {
-    preview_data *data = get_preview_data(button);
-    (void)user_data;
-    CFG->autoCrop = gtk_toggle_button_get_active(button);
-    if (CFG->autoCrop == enabled_state) {
-       CFG->autoCrop = apply_state;
-       ufraw_invalidate_layer(data->UF, ufraw_transform_phase);
-       ufraw_get_image_dimensions(data->UF);
-       render_preview(data);
+    if (gtk_toggle_button_get_active(button)) {
+       *valuep = !*valuep;
+       gtk_toggle_button_set_active(button, FALSE);
+    }
+    if (*valuep) {
+       uf_button_set_stock_image(GTK_BUTTON(button), "object-lock");
+       uf_widget_set_tooltip(GTK_WIDGET(button),
+               _("Aspect ratio locked, click to unlock"));
+    } else {
+       uf_button_set_stock_image(GTK_BUTTON(button), "object-unlock");
+       uf_widget_set_tooltip(GTK_WIDGET(button),
+               _("Aspect ratio unlocked, click to lock"));
     }
 }
 
@@ -2421,9 +2433,11 @@
     }
     set_new_aspect(data);
     CFG->LockAspect = TRUE;
-    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->LockAspectButton),
-           TRUE);
-    auto_crop_clicked(data->AutoCropButton, NULL);
+    lock_aspect(data->LockAspectButton, &CFG->LockAspect);
+    if (CFG->autoCrop == enabled_state) {
+       CFG->autoCrop = apply_state;
+       render_preview(data);
+    }
 }
 
 static void set_darkframe_label(preview_data *data)
@@ -2566,13 +2580,10 @@
        CFG->profile[0][CFG->profileIndex[0]].linear =
                profile_default_linear(&CFG->profile[0][CFG->profileIndex[0]]);
     }
-    if (button==GTK_WIDGET(data->AutoExposureButton)) {
-       CFG->autoExposure =
-           gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button));
-    }
     if (button==data->ResetExposureButton) {
        CFG->exposure = conf_default.exposure;
        CFG->autoExposure = FALSE;
+       auto_button_toggle(data->AutoExposureButton, &CFG->autoExposure);
     }
     if (button==data->ResetThresholdButton) {
        CFG->threshold = conf_default.threshold;
@@ -2588,18 +2599,17 @@
     if (button==data->ResetSaturationButton) {
        CFG->saturation = conf_default.saturation;
     }
-    if (button==GTK_WIDGET(data->AutoBlackButton)) {
-       CFG->autoBlack =
-           gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button));
-    }
     if (button==data->ResetBlackButton) {
        CurveDataSetPoint(&CFG->curve[CFG->curveIndex], 0,
                conf_default.black, 0);
        CFG->autoBlack = FALSE;
+       auto_button_toggle(data->AutoBlackButton, &CFG->autoBlack);
     }
     if (button==data->AutoCurveButton) {
        CFG->curveIndex = manual_curve;
        ufraw_auto_curve(data->UF);
+       CFG->autoBlack = enabled_state;
+       auto_button_toggle(data->AutoBlackButton, &CFG->autoBlack);
     }
     if (button==data->ResetBaseCurveButton) {
        if (CFG->BaseCurveIndex==manual_curve) {
@@ -2712,6 +2722,16 @@
     gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE);
 }
 
+static void auto_button_toggled(GtkToggleButton *button, gboolean *valuep)
+{
+    preview_data *data = get_preview_data(button);
+    auto_button_toggle(button, valuep);
+    if (*valuep == enabled_state) {
+       *valuep = apply_state;
+       render_preview(data);
+    }
+}
+
 static void toggle_button_update(GtkToggleButton *button, gboolean *valuep)
 {
     preview_data *data = get_preview_data(button);
@@ -2917,7 +2937,7 @@
        fix_crop_aspect(data, cursor, TRUE);
        if (!data->FreezeDialog) {
            CFG->autoCrop = disabled_state;
-           gtk_toggle_button_set_active(data->AutoCropButton, CFG->autoCrop);
+           auto_button_toggle(data->AutoCropButton, &CFG->autoCrop);
        }
        return;
     }
@@ -2933,6 +2953,7 @@
 
     if (valuep==&CFG->exposure) {
         CFG->autoExposure = FALSE;
+       auto_button_toggle(data->AutoExposureButton, &CFG->autoExposure);
         if (CFG->autoBlack==enabled_state) CFG->autoBlack = apply_state;
     } else if (valuep==&CFG->threshold) {
        ufraw_invalidate_denoise_layer(data->UF);
@@ -4820,7 +4841,7 @@
     gtk_table_attach(subTable, data->CurveWidget, 1, 8, 1, 8,
            GTK_EXPAND|GTK_FILL, 0, 0, 0);
 
-    data->AutoCurveButton = stock_icon_button(GTK_STOCK_EXECUTE,
+    data->AutoCurveButton = stock_icon_button("object-manual",
            _("Auto adjust curve\n(Flatten histogram)"),
            G_CALLBACK(button_update), NULL);
     gtk_table_attach(subTable, data->AutoCurveButton, 8, 9, 6, 7, 0, 0, 0, 0);
@@ -4848,15 +4869,13 @@
            0, 0, 0, 0);
 
     data->AutoBlackButton = GTK_TOGGLE_BUTTON(gtk_toggle_button_new());
-    gtk_container_add(GTK_CONTAINER(data->AutoBlackButton),
-           gtk_image_new_from_stock(GTK_STOCK_EXECUTE, GTK_ICON_SIZE_BUTTON));
     gtk_table_attach(subTable, GTK_WIDGET(data->AutoBlackButton), 0, 1, 6, 7,
            0, GTK_SHRINK, 0, 0);
     uf_widget_set_tooltip(GTK_WIDGET(data->AutoBlackButton),
            _("Auto adjust black-point"));
-    gtk_toggle_button_set_active(data->AutoBlackButton, CFG->autoBlack);
-    g_signal_connect(G_OBJECT(data->AutoBlackButton), "clicked",
-           G_CALLBACK(button_update), NULL);
+    auto_button_toggle(data->AutoBlackButton, &CFG->autoBlack);
+    g_signal_connect(G_OBJECT(data->AutoBlackButton), "toggled",
+           G_CALLBACK(auto_button_toggled), &CFG->autoBlack);
     /* End of Corrections page */
 }
 
@@ -4928,15 +4947,14 @@
        G_CALLBACK(adjustment_update), &CFG->CropY2);
 
     data->AutoCropButton = GTK_TOGGLE_BUTTON(gtk_toggle_button_new());
-    gtk_container_add(GTK_CONTAINER(data->AutoCropButton),
-           gtk_image_new_from_stock(GTK_STOCK_EXECUTE, GTK_ICON_SIZE_BUTTON));
     gtk_table_attach(table, GTK_WIDGET(data->AutoCropButton), 4, 5, 1, 2,
            0, 0, 0, 0);
     uf_widget_set_tooltip(GTK_WIDGET(data->AutoCropButton),
            _("Auto fit crop area"));
+    auto_button_toggle(data->AutoCropButton, &CFG->autoCrop);
     gtk_toggle_button_set_active(data->AutoCropButton, CFG->autoCrop);
-    g_signal_connect(G_OBJECT(data->AutoCropButton), "clicked",
-           G_CALLBACK(auto_crop_clicked), NULL);
+    g_signal_connect(G_OBJECT(data->AutoCropButton), "toggled",
+           G_CALLBACK(auto_button_toggled), &CFG->autoCrop);
 
     // Crop reset button:
     button = reset_button(
@@ -4968,17 +4986,13 @@
     g_signal_connect(G_OBJECT(entry), "changed",
            G_CALLBACK(aspect_changed), NULL);
 
-    button = gtk_toggle_button_new();
-    gtk_container_add(GTK_CONTAINER(button), gtk_image_new_from_stock(
-           "object-lock", GTK_ICON_SIZE_BUTTON));
-    //gtk_box_pack_start(hbox, button, FALSE, FALSE, 0);
-    gtk_table_attach(table, button, 2, 3, 0, 1, 0, 0, 0, 0);
-    g_signal_connect(G_OBJECT(button), "clicked",
-           G_CALLBACK(lock_aspect), 0);
-    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), CFG->LockAspect);
-    // Update the tooltip.
-    lock_aspect(button);
-    data->LockAspectButton = GTK_TOGGLE_BUTTON(button);
+    data->LockAspectButton = GTK_TOGGLE_BUTTON(gtk_toggle_button_new());
+    gtk_table_attach(table, GTK_WIDGET(data->LockAspectButton),
+           2, 3, 0, 1, 0, 0, 0, 0);
+    g_signal_connect(G_OBJECT(data->LockAspectButton), "clicked",
+           G_CALLBACK(lock_aspect), &CFG->LockAspect);
+    // Update the icon and tooltip.
+    lock_aspect(data->LockAspectButton, &CFG->LockAspect);
 
     /* Get initial aspect ratio */
     refresh_aspect(data);
@@ -5460,15 +5474,13 @@
            G_CALLBACK(toggle_button_update), &CFG->clipHighlights);
 
     data->AutoExposureButton = GTK_TOGGLE_BUTTON(gtk_toggle_button_new());
-    gtk_container_add(GTK_CONTAINER(data->AutoExposureButton),
-           gtk_image_new_from_stock(GTK_STOCK_EXECUTE, GTK_ICON_SIZE_BUTTON));
     gtk_table_attach(table, GTK_WIDGET(data->AutoExposureButton), 9, 10, 0, 1,
            0, 0, 0, 0);
     uf_widget_set_tooltip(GTK_WIDGET(data->AutoExposureButton),
            _("Auto adjust exposure"));
-    gtk_toggle_button_set_active(data->AutoExposureButton, CFG->autoExposure);
-    g_signal_connect(G_OBJECT(data->AutoExposureButton), "clicked",
-           G_CALLBACK(button_update), NULL);
+    auto_button_toggle(data->AutoExposureButton, &CFG->autoExposure);
+    g_signal_connect(G_OBJECT(data->AutoExposureButton), "toggled",
+           G_CALLBACK(auto_button_toggled), &CFG->autoExposure);
 
     data->ResetExposureButton = reset_button(_("Reset exposure to default"),
            G_CALLBACK(button_update), NULL);


------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
_______________________________________________
ufraw-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ufraw-cvs

Reply via email to