Update of /cvsroot/ufraw/ufraw In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv28055
Modified Files: configure.ac dcraw.h dcraw_api.h dcraw_indi.c uf_glib.h uf_gtk.cc uf_gtk.h ufobject.h ufraw-gimp.c ufraw.c ufraw_chooser.c ufraw_exiv2.cc ufraw_lens_ui.c ufraw_lensfun.cc ufraw_preview.c ufraw_ufraw.c Log Message: Update version to 0.18. Update version requirements of various libraries. Clean up code. Index: dcraw_api.h =================================================================== RCS file: /cvsroot/ufraw/ufraw/dcraw_api.h,v retrieving revision 1.41 retrieving revision 1.42 diff -u -d -r1.41 -r1.42 --- dcraw_api.h 23 Feb 2010 19:36:43 -0000 1.41 +++ dcraw_api.h 5 Apr 2010 14:30:18 -0000 1.42 @@ -16,7 +16,7 @@ #ifndef _DCRAW_API_H #define _DCRAW_API_H -#ifdef __cplusplus +#ifdef __cplusplus extern "C" { #endif @@ -82,7 +82,7 @@ void dcraw_message(void *dcraw, int code, char *format, ...); -#ifdef __cplusplus +#ifdef __cplusplus } #endif Index: ufraw_chooser.c =================================================================== RCS file: /cvsroot/ufraw/ufraw/ufraw_chooser.c,v retrieving revision 1.31 retrieving revision 1.32 diff -u -d -r1.31 -r1.32 --- ufraw_chooser.c 23 Jan 2010 05:00:58 -0000 1.31 +++ ufraw_chooser.c 5 Apr 2010 14:30:18 -0000 1.32 @@ -15,13 +15,11 @@ #include <string.h> #include <glib/gi18n.h> -#if GTK_CHECK_VERSION(2,6,0) void ufraw_chooser_toggle(GtkToggleButton *button, GtkFileChooser *fileChooser) { gtk_file_chooser_set_show_hidden(fileChooser, gtk_toggle_button_get_active(button)); } -#endif /* Create a GtkFileChooser dialog for selecting raw files */ GtkFileChooser *ufraw_raw_chooser(conf_data *conf, @@ -45,7 +43,7 @@ GDK_WINDOW_TYPE_HINT_NORMAL); else ufraw_focus(fileChooser, TRUE); - uf_window_set_icon_name(GTK_WINDOW(fileChooser), "ufraw"); + gtk_window_set_icon_name(GTK_WINDOW(fileChooser), "ufraw"); ufraw_message(UFRAW_SET_PARENT, (char *)fileChooser); if (defPath!=NULL) { @@ -113,14 +111,12 @@ gtk_file_filter_add_pattern(filter, "*"); gtk_file_chooser_add_filter(fileChooser, filter); -#if GTK_CHECK_VERSION(2,6,0) gtk_file_chooser_set_show_hidden(fileChooser, FALSE); GtkWidget *button = gtk_check_button_new_with_label(_("Show hidden files")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE); g_signal_connect(G_OBJECT(button), "toggled", G_CALLBACK(ufraw_chooser_toggle), fileChooser); gtk_file_chooser_set_extra_widget(fileChooser, button); -#endif if (multiple) gtk_file_chooser_set_select_multiple(fileChooser, TRUE); /* Add shortcut to folder of last opened file */ Index: ufraw_exiv2.cc =================================================================== RCS file: /cvsroot/ufraw/ufraw/ufraw_exiv2.cc,v retrieving revision 1.56 retrieving revision 1.57 diff -u -d -r1.56 -r1.57 --- ufraw_exiv2.cc 26 Feb 2010 03:30:10 -0000 1.56 +++ ufraw_exiv2.cc 5 Apr 2010 14:30:18 -0000 1.57 @@ -16,9 +16,7 @@ #ifdef HAVE_EXIV2 #include <exiv2/image.hpp> -#if EXIV2_TEST_VERSION(0,18,1) #include <exiv2/easyaccess.hpp> -#endif #include <exiv2/exif.hpp> #include <sstream> #include <cassert> @@ -30,14 +28,7 @@ static void uf_strlcpy_to_utf8(char *dest, size_t dest_max, Exiv2::ExifData::const_iterator pos, Exiv2::ExifData& exifData) { -#if EXIV2_TEST_VERSION(0,18,0) std::string str = pos->print(&exifData); -#else - (void)exifData; - std::stringstream strm; - strm << *pos; - std::string str = strm.str(); -#endif char *s = g_locale_to_utf8(str.c_str(), str.length(), NULL, NULL, NULL); @@ -104,55 +95,18 @@ uf->conf->aperture = pos->toFloat (); } /* Read ISO speed */ -#if EXIV2_TEST_VERSION(0,18,1) if ( (pos=Exiv2::isoSpeed(exifData)) != exifData.end() ) { uf_strlcpy_to_utf8(uf->conf->isoText, max_name, pos, exifData); } -#else - if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.Photo.ISOSpeedRatings"))) - != exifData.end() ) { - uf_strlcpy_to_utf8(uf->conf->isoText, max_name, pos, exifData); - } else if ( (pos=exifData.findKey(Exiv2::ExifKey( - "Exif.CanonSi.ISOSpeed"))) != exifData.end() ) { - uf_strlcpy_to_utf8(uf->conf->isoText, max_name, pos, exifData); - } else if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.Nikon1.ISOSpeed"))) - != exifData.end() ) { - uf_strlcpy_to_utf8(uf->conf->isoText, max_name, pos, exifData); - } else if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.Nikon2.ISOSpeed"))) - != exifData.end() ) { - uf_strlcpy_to_utf8(uf->conf->isoText, max_name, pos, exifData); - } else if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.Nikon3.ISOSpeed"))) - != exifData.end() ) { - uf_strlcpy_to_utf8(uf->conf->isoText, max_name, pos, exifData); - } else if ( (pos=exifData.findKey( - Exiv2::ExifKey("Exif.MinoltaCsNew.ISOSpeed"))) - != exifData.end() ) { - uf_strlcpy_to_utf8(uf->conf->isoText, max_name, pos, exifData); - } else if ( (pos=exifData.findKey( - Exiv2::ExifKey("Exif.MinoltaCsOld.ISOSpeed"))) - != exifData.end() ) { - uf_strlcpy_to_utf8(uf->conf->isoText, max_name, pos, exifData); - } else if ( (pos=exifData.findKey( - Exiv2::ExifKey("Exif.MinoltaCs5D.ISOSpeed"))) - != exifData.end() ) { - uf_strlcpy_to_utf8(uf->conf->isoText, max_name, pos, exifData); - } else if ( (pos=exifData.findKey(Exiv2::ExifKey( - "Exif.MinoltaCs7D.ISOSpeed"))) - != exifData.end() ) { - uf_strlcpy_to_utf8(uf->conf->isoText, max_name, pos, exifData); - } -#endif /* Read focal length */ if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.Photo.FocalLength"))) != exifData.end() ) { uf_strlcpy_to_utf8(uf->conf->focalLenText, max_name, pos, exifData); uf->conf->focal_len = pos->toFloat (); -#if EXIV2_TEST_VERSION(0,18,1) } else if ( (pos=exifData.findKey(Exiv2::ExifKey( "Exif.Canon.FocalLength"))) != exifData.end() ) { uf_strlcpy_to_utf8(uf->conf->focalLenText, max_name, pos, exifData); uf->conf->focal_len = pos->toFloat (); -#endif } /* Read focal length in 35mm equivalent */ if ( (pos=exifData.findKey(Exiv2::ExifKey( @@ -161,40 +115,9 @@ uf_strlcpy_to_utf8(uf->conf->focalLen35Text, max_name, pos, exifData); } /* Read full lens name */ -#if EXIV2_TEST_VERSION(0,18,1) if ( (pos=Exiv2::lensName(exifData)) != exifData.end() ) { uf_strlcpy_to_utf8(uf->conf->lensText, max_name, pos, exifData); } -#else - if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.Nikon3.LensData"))) - != exifData.end() ) { - uf_strlcpy_to_utf8(uf->conf->lensText, max_name, pos, exifData); - /* Read short lens name if full lens name if not defined */ - if ( isdigit(uf->conf->lensText[0]) ) { - ufraw_message(UFRAW_SET_LOG, - "Value of EXIF tag 'Exif.Nikon3.LensData' is not defined. " - "Reading 'Exif.Nikon3.Lens'.\n"); - if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.Nikon3.Lens"))) - != exifData.end() ) { - uf_strlcpy_to_utf8(uf->conf->lensText, max_name, pos, exifData); - } - } -#if EXIV2_TEST_VERSION(0,18,0) - } else if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.CanonCs.LensType"))) - != exifData.end() ) { - uf_strlcpy_to_utf8(uf->conf->lensText, max_name, pos, exifData); -#endif - } else if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.Canon.0x0095"))) - != exifData.end() ) { - uf_strlcpy_to_utf8(uf->conf->lensText, max_name, pos, exifData); - } else if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.Minolta.LensID"))) - != exifData.end() ) { - uf_strlcpy_to_utf8(uf->conf->lensText, max_name, pos, exifData); - } else if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.Pentax.LensType"))) - != exifData.end() ) { - uf_strlcpy_to_utf8(uf->conf->lensText, max_name, pos, exifData); - } -#endif /* Read flash mode */ if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.Photo.Flash"))) != exifData.end() ) { @@ -216,18 +139,11 @@ } /* Store all EXIF data read in. */ -#if EXIV2_TEST_VERSION(0,18,0) Exiv2::Blob blob; Exiv2::ExifParser::encode(blob, Exiv2::bigEndian, exifData); uf->inputExifBufLen = blob.size(); uf->inputExifBuf = g_new(unsigned char, uf->inputExifBufLen); memcpy(uf->inputExifBuf, &blob[0], blob.size()); -#else - Exiv2::DataBuf buf(exifData.copy()); - uf->inputExifBufLen = buf.size_; - uf->inputExifBuf = g_new(unsigned char, uf->inputExifBufLen); - memcpy(uf->inputExifBuf, buf.pData_, buf.size_); -#endif ufraw_message(UFRAW_SET_LOG, "EXIF data read using exiv2, buflen %d\n", uf->inputExifBufLen); g_strlcpy(uf->conf->exifSource, EXV_PACKAGE_STRING, max_name); @@ -251,11 +167,7 @@ Exiv2::ExifData exifData = Exiv2::ExifData(); /* Start from the input EXIF data */ -#if EXIV2_TEST_VERSION(0,18,0) Exiv2::ExifParser::decode(exifData, uf->inputExifBuf, uf->inputExifBufLen); -#else - exifData.load(uf->inputExifBuf, uf->inputExifBufLen); -#endif Exiv2::ExifData::iterator pos; if ( uf->conf->rotate ) { /* Reset orientation tag since UFRaw already rotates the image */ @@ -317,7 +229,6 @@ if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.Nikon3.Preview"))) != exifData.end() ) exifData.erase(pos); -#if EXIV2_TEST_VERSION(0,18,0) if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.NikonPreview.JPEGInterchangeFormat"))) != exifData.end() ) exifData.erase(pos); @@ -326,7 +237,6 @@ if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.Image.DNGPrivateData"))) != exifData.end() ) exifData.erase(pos); -#endif // Pentax thumbnail data if ( (pos=exifData.findKey(Exiv2::ExifKey("Exif.Pentax.PreviewResolution"))) @@ -384,14 +294,9 @@ Exiv2::ExifData exifData = ufraw_prepare_exifdata(uf); int size; -#if EXIV2_TEST_VERSION(0,18,0) Exiv2::Blob blob; Exiv2::ExifParser::encode(blob, Exiv2::bigEndian, exifData); size = blob.size(); -#else - Exiv2::DataBuf buf(exifData.copy()); - size = buf.size_; -#endif const unsigned char ExifHeader[] = {0x45, 0x78, 0x69, 0x66, 0x00, 0x00}; /* If buffer too big for JPEG, try deleting some stuff. */ if ( size+sizeof(ExifHeader)>65533 ) { @@ -402,41 +307,23 @@ ufraw_message(UFRAW_SET_LOG, "buflen %d too big, erasing Exif.Photo.MakerNote\n", size+sizeof(ExifHeader)); -#if EXIV2_TEST_VERSION(0,18,0) Exiv2::ExifParser::encode(blob, Exiv2::bigEndian, exifData); size = blob.size(); -#else - buf = exifData.copy(); - size = buf.size_; -#endif } } if ( size+sizeof(ExifHeader)>65533 ) { -#if EXIV2_TEST_VERSION(0,18,0) Exiv2::ExifThumb thumb(exifData); thumb.erase(); -#else - exifData.eraseThumbnail(); -#endif ufraw_message(UFRAW_SET_LOG, "buflen %d too big, erasing Thumbnail\n", size+sizeof(ExifHeader)); -#if EXIV2_TEST_VERSION(0,18,0) Exiv2::ExifParser::encode(blob, Exiv2::bigEndian, exifData); size = blob.size(); -#else - buf = exifData.copy(); - size = buf.size_; -#endif } uf->outputExifBufLen = size + sizeof(ExifHeader); uf->outputExifBuf = g_new(unsigned char, uf->outputExifBufLen); memcpy(uf->outputExifBuf, ExifHeader, sizeof(ExifHeader)); -#if EXIV2_TEST_VERSION(0,18,0) memcpy(uf->outputExifBuf+sizeof(ExifHeader), &blob[0], blob.size()); -#else - memcpy(uf->outputExifBuf+sizeof(ExifHeader), buf.pData_, buf.size_); -#endif std::cerr.rdbuf(savecerr); ufraw_message(UFRAW_SET_LOG, "%s\n", stderror.str().c_str()); @@ -453,7 +340,6 @@ extern "C" int ufraw_exif_write(ufraw_data *uf) { -#if EXIV2_TEST_VERSION(0,18,0) /* Redirect exiv2 errors to a string buffer */ std::ostringstream stderror; std::streambuf *savecerr = std::cerr.rdbuf(); @@ -489,10 +375,6 @@ ufraw_message(UFRAW_SET_WARNING, "%s\n", s.c_str()); return UFRAW_ERROR; } -#else - (void)uf; - return UFRAW_SUCCESS; -#endif } #else Index: dcraw_indi.c =================================================================== RCS file: /cvsroot/ufraw/ufraw/dcraw_indi.c,v retrieving revision 1.81 retrieving revision 1.82 diff -u -d -r1.81 -r1.82 --- dcraw_indi.c 23 Feb 2010 19:36:43 -0000 1.81 +++ dcraw_indi.c 5 Apr 2010 14:30:18 -0000 1.82 @@ -127,18 +127,8 @@ // dcraw_message (dcraw, DCRAW_VERBOSE,_("Wavelet denoising...\n")); /*UF*/ /* Scaling is done somewhere else - NKBJ*/ -#if 0 - while (maximum << scale < 0x10000) scale++; - maximum <<= --scale; - black <<= scale; - if ((size = iheight*iwidth) < 0x15550000) - fimg = (float *) malloc ((size*3 + iheight + iwidth) * sizeof *fimg); - merror (fimg, "wavelet_denoise()"); - temp = fimg + size*3; -#else size = iheight*iwidth; float temp[iheight + iwidth]; -#endif if ((nc = colors) == 3 && filters) nc++; progress(PROGRESS_WAVELET_DENOISE, -nc*5); #ifdef _OPENMP @@ -205,9 +195,6 @@ } } } -#if 0 - free (fimg); -#endif } void CLASS scale_colors_INDI(int maximum, const int black, @@ -219,38 +206,7 @@ int val, dark, sat; double /*dsum[8],*/ dmin, dmax; float scale_mul[4]/*, fr, fc*/; -#if 0 - ushort *img=0, *pix; - if (user_mul[0]) - memcpy (pre_mul, user_mul, sizeof pre_mul); - if (use_auto_wb || (use_camera_wb && cam_mul[0] == -1)) { - memset (dsum, 0, sizeof dsum); - bottom = MIN (greybox[1]+greybox[3], height); - right = MIN (greybox[0]+greybox[2], width); - for (row=greybox[1]; row < bottom; row += 8) - for (col=greybox[0]; col < right; col += 8) { - memset (sum, 0, sizeof sum); - for (y=row; y < row+8 /*&& y < bottom*/; y++) - for (x=col; x < col+8 /*&& x < right*/; x++) - FORC4 { - if (filters) { - c = FC(y,x); - val = BAYER(y,x); - } else - val = image[y*iwidth+x][c]; - if (val > maximum-25) goto skip_block; - if ((val -= black) < 0) val = 0; - sum[c] += val; - sum[c+4]++; - if (filters) break; - } - FORC(8) dsum[c] += sum[c]; -skip_block: ; - } - FORC4 if (dsum[c]) pre_mul[c] = dsum[c+4] / dsum[c]; - } -#endif if (use_camera_wb && cam_mul[0] != -1) { memset (sum, 0, sizeof sum); for (row=0; row < 8; row++) @@ -275,9 +231,6 @@ if (pre_mul[3] == 0) pre_mul[3] = colors < 4 ? pre_mul[1] : 1; dark = black; sat = maximum; -#if 0 - if (threshold) wavelet_denoise(); -#endif maximum -= black; for (dmin=DBL_MAX, dmax=c=0; c < 4; c++) { if (dmin > pre_mul[c]) @@ -285,9 +238,6 @@ if (dmax < pre_mul[c]) dmax = pre_mul[c]; } -#if 0 - if (!highlight) dmax = dmin; -#endif FORC4 scale_mul[c] = (pre_mul[c] /= dmax) * 65535.0 / maximum; dcraw_message(dcraw, DCRAW_VERBOSE, _("Scaling with darkness %d, saturation %d, and\nmultipliers"), @@ -296,41 +246,6 @@ dcraw_message(dcraw, DCRAW_VERBOSE, "\n"); /* The rest of the scaling is done somewhere else UF*/ -#if 0 - size = iheight*iwidth; - for (i=0; i < size*4; i++) { - val = image[0][i]; - if (!val) continue; - val -= black; - val = (int)(val*scale_mul[i & 3]); - image[0][i] = CLIP(val); - } - if ((aber[0] != 1 || aber[2] != 1) && colors == 3) { - dcraw_message (DCRAW_VERBOSE,_("Correcting chromatic aberration...\n")); - for (c=0; c < 4; c+=2) { - if (aber[c] == 1) continue; - img = (ushort *) malloc (size * sizeof *img); - merror (img, "scale_colors()"); - for (i=0; i < size; i++) - img[i] = image[i][c]; - for (row=0; row < iheight; row++) { - ur = fr = (row - iheight*0.5) * aber[c] + iheight*0.5; - if (ur > (unsigned)(iheight-2)) continue; - fr -= ur; - for (col=0; col < iwidth; col++) { - uc = fc = (col - iwidth*0.5) * aber[c] + iwidth*0.5; - if (uc > (unsigned)(iwidth-2)) continue; - fc -= uc; - pix = img + ur*iwidth + uc; - image[row*iwidth+col][c] = - (pix[ 0]*(1-fc) + pix[ 1]*fc) * (1-fr) + - (pix[iwidth]*(1-fc) + pix[iwidth+1]*fc) * fr; - } - } - free(img); - } - } -#endif } void CLASS border_interpolate_INDI (const int height, const int width, Index: ufraw_lens_ui.c =================================================================== RCS file: /cvsroot/ufraw/ufraw/ufraw_lens_ui.c,v retrieving revision 1.40 retrieving revision 1.41 diff -u -d -r1.40 -r1.41 --- ufraw_lens_ui.c 1 Apr 2010 05:00:31 -0000 1.40 +++ ufraw_lens_ui.c 5 Apr 2010 14:30:18 -0000 1.41 @@ -46,7 +46,7 @@ "Crop factor:\t%.1f"), maker, model, _variant, camera->Mount, camera->CropFactor); - uf_widget_set_tooltip(data->CameraModel, fm); + gtk_widget_set_tooltip_text(data->CameraModel, fm); g_free(fm); } @@ -174,7 +174,7 @@ gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 2); GtkWidget *combo = ufarray_combo_box_entry_new(object); gtk_box_pack_start(GTK_BOX(box), combo, TRUE, TRUE, 2); - uf_widget_set_tooltip(label, tooltip); + gtk_widget_set_tooltip_text(label, tooltip); } static void lens_set(GtkWidget *lensModel, preview_data *data) @@ -218,7 +218,7 @@ maker ? maker : "?", model ? model : "?", focal, aperture, lens->CropFactor, lf_get_lens_type_desc(lens->Type, NULL), mounts); - uf_widget_set_tooltip(lensModel, fm); + gtk_widget_set_tooltip_text(lensModel, fm); g_free(fm); /* Create the focal/aperture/distance combo boxes */ @@ -347,9 +347,11 @@ return; GtkButton *button = ufobject_user_data(object); if (ufstring_is_equal(object, "yes")) - uf_button_set_stock_image(button, "object-automatic"); + gtk_button_set_image(button, gtk_image_new_from_stock( + "object-automatic", GTK_ICON_SIZE_BUTTON)); else - uf_button_set_stock_image(button, "object-manual"); + gtk_button_set_image(button, gtk_image_new_from_stock( + "object-manual", GTK_ICON_SIZE_BUTTON)); } /* --- TCA correction page --- */ @@ -397,7 +399,8 @@ UFObject *tca = ufgroup_element(lensfun, ufTCA); GtkWidget *combo = ufarray_combo_box_new(tca); gtk_box_pack_start(GTK_BOX(hbox), combo, TRUE, TRUE, 0); - uf_widget_set_tooltip(combo, _("Chromatic Aberrations mathematical model")); + gtk_widget_set_tooltip_text(combo, + _("Chromatic Aberrations mathematical model")); g_signal_connect_after(G_OBJECT(combo), "changed", G_CALLBACK(tca_model_changed), data); ufobject_reset_button_add(reset, tca); @@ -462,7 +465,8 @@ UFObject *vignetting = ufgroup_element(lensfun, ufVignetting); GtkWidget *combo = ufarray_combo_box_new(vignetting); gtk_box_pack_start(GTK_BOX(hbox), combo, TRUE, TRUE, 0); - uf_widget_set_tooltip(combo, _("Optical vignetting mathematical model")); + gtk_widget_set_tooltip_text(combo, + _("Optical vignetting mathematical model")); g_signal_connect_after(G_OBJECT(combo), "changed", G_CALLBACK(vignetting_model_changed), data); ufobject_reset_button_add(reset, vignetting); @@ -529,7 +533,7 @@ UFObject *distortion = ufgroup_element(lensfun, ufDistortion); GtkWidget *combo = ufarray_combo_box_new(distortion); gtk_box_pack_start(GTK_BOX(hbox), combo, TRUE, TRUE, 0); - uf_widget_set_tooltip(combo, _("Lens distortion mathematical model")); + gtk_widget_set_tooltip_text(combo, _("Lens distortion mathematical model")); g_signal_connect_after(G_OBJECT(combo), "changed", G_CALLBACK(distortion_model_changed), data); ufobject_reset_button_add(reset, distortion); @@ -572,7 +576,7 @@ gtk_table_attach(geometryTable, label, 0, 1, 0, 1, GTK_FILL, 0, 5, 0); UFObject *lensGeometry = ufgroup_element(lensfun, ufLensGeometry); GtkWidget *combo = ufarray_combo_box_new(lensGeometry); - uf_widget_set_tooltip(combo, + gtk_widget_set_tooltip_text(combo, _("The geometry of the lens used to make the shot")); gtk_table_attach(geometryTable, combo, 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, 0, 0, 0); @@ -595,7 +599,8 @@ UFObject *targetLensGeometry = ufgroup_element(lensfun, ufTargetLensGeometry); combo = ufarray_combo_box_new(targetLensGeometry); - uf_widget_set_tooltip(combo, _("The target geometry for output image")); + gtk_widget_set_tooltip_text(combo, + _("The target geometry for output image")); gtk_table_attach(geometryTable, combo, 1, 2, 2, 3, GTK_EXPAND | GTK_FILL, 0, 0, 0); ufobject_reset_button_add(reset, targetLensGeometry); @@ -676,7 +681,7 @@ GtkWidget *autoLens = gtk_toggle_button_new(); gtk_table_attach(table, autoLens, 4, 5, 1, 2, 0, 0, 0, 0); - uf_widget_set_tooltip(autoLens, + gtk_widget_set_tooltip_text(autoLens, _("Automatically find lens and set lens corrections")); UFObject *lensfunAuto = ufgroup_element(CFG->ufobject, ufLensfunAuto); g_signal_connect(G_OBJECT(autoLens), "toggled", Index: ufraw_preview.c =================================================================== RCS file: /cvsroot/ufraw/ufraw/ufraw_preview.c,v retrieving revision 1.350 retrieving revision 1.351 diff -u -d -r1.350 -r1.351 --- ufraw_preview.c 30 Mar 2010 04:49:08 -0000 1.350 +++ ufraw_preview.c 5 Apr 2010 14:30:18 -0000 1.351 @@ -37,9 +37,7 @@ #define uf_omp_get_max_threads() 1 #endif -#if GTK_CHECK_VERSION(2,6,0) void ufraw_chooser_toggle(GtkToggleButton *button, GtkFileChooser *filechooser); -#endif static void update_crop_ranges(preview_data *data, gboolean render); static void adjustment_update(GtkAdjustment *adj, double *valuep); @@ -148,14 +146,12 @@ GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL)); ufraw_focus(fileChooser, TRUE); gtk_file_chooser_set_select_multiple(fileChooser, TRUE); -#if GTK_CHECK_VERSION(2,6,0) gtk_file_chooser_set_show_hidden(fileChooser, FALSE); GtkWidget *button = gtk_check_button_new_with_label(_("Show hidden files")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE); g_signal_connect(G_OBJECT(button), "toggled", G_CALLBACK(ufraw_chooser_toggle), fileChooser); gtk_file_chooser_set_extra_widget(fileChooser, button); -#endif filter = GTK_FILE_FILTER(gtk_file_filter_new()); gtk_file_filter_set_name(filter, _("All curve formats")); gtk_file_filter_add_pattern(filter, "*.ntc"); @@ -250,14 +246,12 @@ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL)); ufraw_focus(fileChooser, TRUE); -#if GTK_CHECK_VERSION(2,6,0) gtk_file_chooser_set_show_hidden(fileChooser, FALSE); GtkWidget *button = gtk_check_button_new_with_label(_("Show hidden files")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE); g_signal_connect(G_OBJECT(button), "toggled", G_CALLBACK(ufraw_chooser_toggle), fileChooser); gtk_file_chooser_set_extra_widget(fileChooser, button); -#endif filter = GTK_FILE_FILTER(gtk_file_filter_new()); gtk_file_filter_set_name(filter, _("All curve formats")); gtk_file_filter_add_pattern(filter, "*.ntc"); @@ -333,14 +327,12 @@ GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL)); ufraw_focus(fileChooser, TRUE); gtk_file_chooser_set_select_multiple(fileChooser, TRUE); -#if GTK_CHECK_VERSION(2,6,0) gtk_file_chooser_set_show_hidden(fileChooser, FALSE); GtkWidget *button = gtk_check_button_new_with_label(_("Show hidden files")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE); g_signal_connect(G_OBJECT(button), "toggled", G_CALLBACK(ufraw_chooser_toggle), fileChooser); gtk_file_chooser_set_extra_widget(fileChooser, button); -#endif if (strlen(CFG->profilePath)>0) gtk_file_chooser_set_current_folder(fileChooser, CFG->profilePath); filter = GTK_FILE_FILTER(gtk_file_filter_new()); @@ -431,15 +423,15 @@ switch (c) { case 0: case 1: case 2: - uf_label_set_width_chars(l->labels[c], 3); + gtk_label_set_width_chars(l->labels[c], 3); break; case 3: - uf_label_set_width_chars(l->labels[c], 5); - uf_widget_set_tooltip(event_box, _("Luminosity (Y value)")); + gtk_label_set_width_chars(l->labels[c], 5); + gtk_widget_set_tooltip_text(event_box, _("Luminosity (Y value)")); break; case 4: - uf_label_set_width_chars(l->labels[c], 4); - uf_widget_set_tooltip(event_box, _("Adams' zone")); + gtk_label_set_width_chars(l->labels[c], 4); + gtk_widget_set_tooltip_text(event_box, _("Adams' zone")); } } return l; @@ -1554,7 +1546,7 @@ gtk_widget_set_sensitive(data->ResetLightnessAdjustmentButton[i], fabs(CFG->lightnessAdjustment[i].adjustment - 1.0) >= 0.01); } - gtk_widget_set_sensitive(GTK_WIDGET(data->ResetGrayscaleChannelMixerButton), + gtk_widget_set_sensitive(data->ResetGrayscaleChannelMixerButton, (CFG->grayscaleMixer[0] != conf_default.grayscaleMixer[0]) || (CFG->grayscaleMixer[1] != conf_default.grayscaleMixer[1]) || (CFG->grayscaleMixer[2] != conf_default.grayscaleMixer[2])); @@ -1583,9 +1575,11 @@ gtk_toggle_button_set_active(button, FALSE); } if (*valuep) - uf_button_set_stock_image(GTK_BUTTON(button), "object-automatic"); + gtk_button_set_image(GTK_BUTTON(button), gtk_image_new_from_stock( + "object-automatic", GTK_ICON_SIZE_BUTTON)); else - uf_button_set_stock_image(GTK_BUTTON(button), "object-manual"); + gtk_button_set_image(GTK_BUTTON(button), gtk_image_new_from_stock( + "object-manual", GTK_ICON_SIZE_BUTTON)); } static void curve_update(GtkWidget *widget, long curveType) @@ -2434,12 +2428,14 @@ 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), + gtk_button_set_image(GTK_BUTTON(button), gtk_image_new_from_stock( + "object-lock", GTK_ICON_SIZE_BUTTON)); + gtk_widget_set_tooltip_text(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), + gtk_button_set_image(GTK_BUTTON(button), gtk_image_new_from_stock( + "object-unlock", GTK_ICON_SIZE_BUTTON)); + gtk_widget_set_tooltip_text(GTK_WIDGET(button), _("Aspect ratio unlocked, click to lock")); } } @@ -2546,7 +2542,7 @@ gtk_container_add(GTK_CONTAINER(event_box), image); gtk_widget_show_all(event_box); gtk_notebook_append_page(notebook, GTK_WIDGET(page), event_box); - uf_widget_set_tooltip(event_box, text); + gtk_widget_set_tooltip_text(event_box, text); } return page; } @@ -2711,15 +2707,18 @@ const char *state; switch (CFG->restoreDetails) { case clip_details: - uf_button_set_stock_image(button, GTK_STOCK_CUT); + gtk_button_set_image(button, gtk_image_new_from_stock( + GTK_STOCK_CUT, GTK_ICON_SIZE_BUTTON)); state = _("clip"); break; case restore_lch_details: - uf_button_set_stock_image(button, "restore-highlights-lch"); + gtk_button_set_image(button, gtk_image_new_from_stock( + "restore-highlights-lch", GTK_ICON_SIZE_BUTTON)); state = _("restore in LCH space for soft details"); break; case restore_hsv_details: - uf_button_set_stock_image(button, "restore-highlights-hsv"); + gtk_button_set_image(button, gtk_image_new_from_stock( + "restore-highlights-hsv", GTK_ICON_SIZE_BUTTON)); state = _("restore in HSV space for sharp details"); break; default: @@ -2727,7 +2726,7 @@ } char *text = g_strdup_printf(_("Restore details for negative EV\n" "Current state: %s"), state); - uf_widget_set_tooltip(GTK_WIDGET(button), text); + gtk_widget_set_tooltip_text(GTK_WIDGET(button), text); g_free(text); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE); } @@ -2737,11 +2736,13 @@ const char *state; switch (CFG->clipHighlights) { case digital_highlights: - uf_button_set_stock_image(button, "clip-highlights-digital"); + gtk_button_set_image(button, gtk_image_new_from_stock( + "clip-highlights-digital", GTK_ICON_SIZE_BUTTON)); state = _("digital linear"); break; case film_highlights: - uf_button_set_stock_image(button, "clip-highlights-film"); + gtk_button_set_image(button, gtk_image_new_from_stock( + "clip-highlights-film", GTK_ICON_SIZE_BUTTON)); state = _("soft film like"); break; default: @@ -2749,7 +2750,7 @@ } char *text = g_strdup_printf(_("Clip highlights for positive EV\n" "Current state: %s"), state); - uf_widget_set_tooltip(GTK_WIDGET(button), text); + gtk_widget_set_tooltip_text(GTK_WIDGET(button), text); g_free(text); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE); } @@ -2869,7 +2870,7 @@ b |= fabs(c->despeckleDecay[i] - conf_default.despeckleDecay[i]) > 0.001; b |= fabs(c->despecklePasses[i] - conf_default.despecklePasses[i]) > 0.1; } - gtk_widget_set_sensitive(GTK_WIDGET(data->ResetDespeckleButton), b); + gtk_widget_set_sensitive(data->ResetDespeckleButton, b); b = FALSE; for (i = 1; i < data->UF->colors; ++i) { b |= c->despeckleWindow[0] != c->despeckleWindow[i]; @@ -3025,7 +3026,7 @@ gtk_container_add(GTK_CONTAINER(button), gtk_image_new_from_stock(stock_id, size)); if (tip != NULL) - uf_widget_set_tooltip(button, tip); + gtk_widget_set_tooltip_text(button, tip); g_signal_connect(G_OBJECT(button), "clicked", callback, data); return button; } @@ -3189,15 +3190,15 @@ } gtk_table_attach(table, w, x, x+1, y, y+1, GTK_SHRINK|GTK_FILL, 0, 0, 0); - uf_widget_set_tooltip(w, tip); + gtk_widget_set_tooltip_text(w, tip); } w = ufnumber_hscale_new(obj); gtk_table_attach(table, w, x+1, x+5, y, y+1, GTK_EXPAND|GTK_FILL, 0, 0, 0); - uf_widget_set_tooltip(w, tip); + gtk_widget_set_tooltip_text(w, tip); w = ufnumber_spin_button_new(obj); gtk_table_attach(table, w, x+5, x+7, y, y+1, GTK_SHRINK|GTK_FILL, 0, 0, 0); - uf_widget_set_tooltip(w, tip); + gtk_widget_set_tooltip_text(w, tip); } @@ -3223,7 +3224,7 @@ } gtk_table_attach(table, w, x, x+1, y, y+1, GTK_SHRINK|GTK_FILL, 0, 0, 0); - uf_widget_set_tooltip(w, tip); + gtk_widget_set_tooltip_text(w, tip); } adj = GTK_ADJUSTMENT(gtk_adjustment_new(value, min, max, step, jump, 0)); g_object_set_data(G_OBJECT(adj), "Adjustment-Accuracy", (gpointer)accuracy); @@ -3232,7 +3233,7 @@ g_object_set_data(G_OBJECT(adj), "Parent-Widget", w); gtk_scale_set_draw_value(GTK_SCALE(w), FALSE); gtk_table_attach(table, w, x+1, x+5, y, y+1, GTK_EXPAND|GTK_FILL, 0, 0, 0); - uf_widget_set_tooltip(w, tip); + gtk_widget_set_tooltip_text(w, tip); g_signal_connect(G_OBJECT(adj), "value-changed", callback, valuep); w = gtk_spin_button_new(adj, step, accuracy); @@ -3240,7 +3241,7 @@ gtk_spin_button_set_update_policy(GTK_SPIN_BUTTON(w), GTK_UPDATE_IF_VALID); gtk_spin_button_set_wrap(GTK_SPIN_BUTTON(w), wrap_spinner); gtk_table_attach(table, w, x+5, x+7, y, y+1, GTK_SHRINK|GTK_FILL, 0, 0, 0); - uf_widget_set_tooltip(w, tip); + gtk_widget_set_tooltip_text(w, tip); if (resetButton != NULL) { *resetButton = reset_button(resetTip, resetCallback, NULL); @@ -3259,7 +3260,7 @@ CFG->createID==only_id ? _("\nCreate only ID file") : ""); g_free(utf8); g_free(absFilename); - uf_widget_set_tooltip(data->SaveButton, text); + gtk_widget_set_tooltip_text(data->SaveButton, text); g_free(text); } @@ -3563,7 +3564,7 @@ gtk_box_pack_start(GTK_BOX(box), hBox, FALSE, FALSE, 0); button = gtk_button_new_with_label(_("Save configuration")); gtk_box_pack_start(GTK_BOX(hBox), button, FALSE, FALSE, 0); - uf_widget_set_tooltip(button, + gtk_widget_set_tooltip_text(button, _("Save configuration to resource file ($HOME/.ufrawrc)")); g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(configuration_save), NULL); @@ -3997,13 +3998,14 @@ ControlButtons buttonEnum, preview_data *data) { GtkWidget *button = gtk_button_new(); - uf_button_set_stock_image(GTK_BUTTON(button), stockImage); + gtk_button_set_image(GTK_BUTTON(button), gtk_image_new_from_stock( + stockImage, GTK_ICON_SIZE_BUTTON)); g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(control_button_event), (gpointer)buttonEnum); char **tipParts = g_strsplit(tip, "_", 2); if ( tipParts[0]==NULL || tipParts[1]==NULL ) { // No mnemonic - uf_widget_set_tooltip(button, tip); + gtk_widget_set_tooltip_text(button, tip); return button; } @@ -4014,7 +4016,7 @@ char *tooltip = g_strdup_printf(_("%s%s (Alt-%s)"), tipParts[0], tipParts[1], hot_char); - uf_widget_set_tooltip(button, tooltip); + gtk_widget_set_tooltip_text(button, tooltip); g_free(tooltip); data->ButtonMnemonic[buttonEnum] = gdk_keyval_to_lower( gdk_unicode_to_keyval(g_utf8_get_char(tipParts[1]))); @@ -4148,7 +4150,7 @@ "Parent-Widget", button); g_signal_connect(G_OBJECT(data->HotpixelAdjustment), "value-changed", G_CALLBACK(adjustment_update), &CFG->hotpixel); - uf_widget_set_tooltip(button, _("Hot pixel sensitivity")); + gtk_widget_set_tooltip_text(button, _("Hot pixel sensitivity")); gtk_box_pack_start(box, button, FALSE, FALSE, 0); button = reset_button( @@ -4317,7 +4319,7 @@ UFObject *wb = ufgroup_element(image, ufWB); combo = GTK_COMBO_BOX(ufarray_combo_box_new(wb)); gtk_box_pack_start(box, GTK_WIDGET(combo), TRUE, TRUE, 0); - uf_widget_set_tooltip(GTK_WIDGET(combo), _("White Balance")); + gtk_widget_set_tooltip_text(GTK_WIDGET(combo), _("White Balance")); button = ufnumber_spin_button_new( ufgroup_element(image, ufWBFineTuning)); @@ -4328,14 +4330,15 @@ GTK_ICON_SIZE_BUTTON); gtk_container_add(GTK_CONTAINER(event_box), label); gtk_box_pack_start(box, event_box, FALSE, FALSE, 0); - uf_widget_set_tooltip(event_box, _("Cannot use camera white balance.")); + gtk_widget_set_tooltip_text(event_box, + _("Cannot use camera white balance.")); } else if (!uf->wb_presets_make_model_match) { event_box = gtk_event_box_new(); label = gtk_image_new_from_stock(GTK_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_BUTTON); gtk_container_add(GTK_CONTAINER(event_box), label); gtk_box_pack_start(box, event_box, FALSE, FALSE, 0); - uf_widget_set_tooltip(event_box, + gtk_widget_set_tooltip_text(event_box, _("There are no white balance presets for your camera model.\n" "Check UFRaw's webpage for information on how to get your\n" "camera supported.")); @@ -4384,7 +4387,7 @@ GTK_ICON_SIZE_LARGE_TOOLBAR); gtk_container_add(GTK_CONTAINER(event_box), icon); gtk_table_attach(table, event_box, 0, 1, 0, 1, 0, 0, 0, 0); - uf_widget_set_tooltip(event_box, _("Bayer pattern interpolation")); + gtk_widget_set_tooltip_text(event_box, _("Bayer pattern interpolation")); combo = GTK_COMBO_BOX(uf_combo_box_new_text()); if ( data->UF->HaveFilters ) { if ( data->UF->colors==4 ) { @@ -4423,7 +4426,7 @@ gtk_container_add(GTK_CONTAINER(button), gtk_image_new_from_stock(GTK_STOCK_CLEAR, GTK_ICON_SIZE_BUTTON)); gtk_table_attach(table, button, 2, 3, 0, 1, 0, 0, 0, 0); - uf_widget_set_tooltip(button, _("Apply color smoothing")); + gtk_widget_set_tooltip_text(button, _("Apply color smoothing")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), CFG->smoothing); g_signal_connect(G_OBJECT(button), "toggled", @@ -4578,7 +4581,7 @@ int right = 6 + data->UF->colors; // Right column location icon = gtk_image_new_from_stock("gtk-help", GTK_ICON_SIZE_BUTTON); gtk_table_attach(table, icon, right, right+1, 0, 1, 0, 0, 0, 0); - uf_widget_set_tooltip(icon, _( + gtk_widget_set_tooltip_text(icon, _( "Despeckling is mainly useful when combining a high ISO number " "with a high channel multiplier: when one channel has a very bad " "signal to noise ratio. Try setting window size, color decay and " @@ -4596,7 +4599,8 @@ gtk_box_pack_start(box, button, FALSE, FALSE, 0); gtk_table_attach(table, GTK_WIDGET(box), right, right+1, 1, 4, GTK_FILL, 0, 0, 0); - uf_widget_set_tooltip(button, _("Update channel parameters together")); + gtk_widget_set_tooltip_text(button, + _("Update channel parameters together")); data->ResetDespeckleButton = reset_button(_("Reset despeckle parameters"), G_CALLBACK(button_update), NULL); gtk_box_pack_start(box, data->ResetDespeckleButton, FALSE, FALSE, 0); @@ -4755,7 +4759,7 @@ GTK_ICON_SIZE_LARGE_TOOLBAR); gtk_container_add(GTK_CONTAINER(event_box), icon); gtk_table_attach(table, event_box, 0, 1, 4*j+1, 4*j+2, 0, 0, 0, 0); - uf_widget_set_tooltip(event_box, + gtk_widget_set_tooltip_text(event_box, j==in_profile ? _("Input ICC profile") : j==out_profile ? _("Output ICC profile") : j==display_profile ? _("Display ICC profile") : "Error"); @@ -4905,18 +4909,10 @@ gtk_table_attach(subTable, data->ResetCurveButton, 8, 9, 7, 8, 0, 0, 0, 0); data->BlackLabel = gtk_label_new(NULL); -#if GTK_CHECK_VERSION(2,6,0) gtk_misc_set_alignment(GTK_MISC(data->BlackLabel), 0.5, 1.0); gtk_label_set_angle(GTK_LABEL(data->BlackLabel), 90); gtk_table_attach(subTable, data->BlackLabel, 0, 1, 5, 6, 0, GTK_FILL|GTK_EXPAND, 0, 0); -#else - button = gtk_alignment_new(0, 0, 0, 0); - gtk_table_attach(subTable, button, 0, 1, 5, 6, - 0, GTK_FILL|GTK_EXPAND, 0, 0); - gtk_misc_set_alignment(GTK_MISC(data->BlackLabel), 0.0, 0.5); - gtk_table_attach(subTable, data->BlackLabel, 1, 8, 8, 9, GTK_FILL, 0, 0, 0); -#endif data->ResetBlackButton = reset_button( _("Reset black-point to default"), G_CALLBACK(button_update), NULL); gtk_table_attach(subTable, GTK_WIDGET(data->ResetBlackButton), 0, 1, 7, 8, @@ -4925,7 +4921,7 @@ data->AutoBlackButton = GTK_TOGGLE_BUTTON(gtk_toggle_button_new()); 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), + gtk_widget_set_tooltip_text(GTK_WIDGET(data->AutoBlackButton), _("Auto adjust black-point")); auto_button_toggle(data->AutoBlackButton, &CFG->autoBlack); g_signal_connect(G_OBJECT(data->AutoBlackButton), "toggled", @@ -5003,7 +4999,7 @@ data->AutoCropButton = GTK_TOGGLE_BUTTON(gtk_toggle_button_new()); gtk_table_attach(table, GTK_WIDGET(data->AutoCropButton), 4, 5, 1, 2, 0, 0, 0, 0); - uf_widget_set_tooltip(GTK_WIDGET(data->AutoCropButton), + gtk_widget_set_tooltip_text(GTK_WIDGET(data->AutoCropButton), _("Auto fit crop area")); auto_button_toggle(data->AutoCropButton, &CFG->autoCrop); gtk_toggle_button_set_active(data->AutoCropButton, CFG->autoCrop); @@ -5026,7 +5022,7 @@ gtk_entry_set_width_chars(data->AspectEntry, 6); gtk_entry_set_alignment(data->AspectEntry, 0.5); gtk_table_attach(table, GTK_WIDGET(entry), 1, 2, 0, 1, 0, 0, 5, 0); - uf_widget_set_tooltip(GTK_WIDGET(data->AspectEntry), + gtk_widget_set_tooltip_text(GTK_WIDGET(data->AspectEntry), _("Crop area aspect ratio.\n" "Can be entered in decimal notation (1.273)\n" "or as a ratio of two numbers (14:11)")); @@ -5311,7 +5307,7 @@ gtk_box_pack_start(GTK_BOX(hBox), event_box, FALSE, FALSE, 0); label = gtk_label_new(_("Save image defaults ")); gtk_container_add(GTK_CONTAINER(event_box), label); - uf_widget_set_tooltip(event_box, + gtk_widget_set_tooltip_text(event_box, _("Save current image manipulation parameters as defaults.\n" "The output parameters in this window are always saved.")); GtkComboBox *confCombo = GTK_COMBO_BOX(gtk_combo_box_new_text()); @@ -5453,7 +5449,7 @@ g_free(utf8_filename); ufraw_icons_init(); - uf_window_set_icon_name(GTK_WINDOW(previewWindow), "ufraw"); + gtk_window_set_icon_name(GTK_WINDOW(previewWindow), "ufraw"); g_signal_connect(G_OBJECT(previewWindow), "delete-event", G_CALLBACK(window_delete_event), NULL); g_signal_connect(G_OBJECT(previewWindow), "map-event", @@ -5530,7 +5526,7 @@ data->AutoExposureButton = GTK_TOGGLE_BUTTON(gtk_toggle_button_new()); gtk_table_attach(table, GTK_WIDGET(data->AutoExposureButton), 9, 10, 0, 1, 0, 0, 0, 0); - uf_widget_set_tooltip(GTK_WIDGET(data->AutoExposureButton), + gtk_widget_set_tooltip_text(GTK_WIDGET(data->AutoExposureButton), _("Auto adjust exposure")); auto_button_toggle(data->AutoExposureButton, &CFG->autoExposure); g_signal_connect(G_OBJECT(data->AutoExposureButton), "toggled", @@ -5677,7 +5673,7 @@ g_signal_connect(G_OBJECT(data->ZoomAdjustment), "value-changed", G_CALLBACK(zoom_update), NULL); gtk_box_pack_start(ZoomBox, button, FALSE, FALSE, 0); - uf_widget_set_tooltip(button, _("Zoom percentage")); + gtk_widget_set_tooltip_text(button, _("Zoom percentage")); // Zoom in button: button = stock_icon_button(GTK_STOCK_ZOOM_IN, NULL, @@ -5758,12 +5754,6 @@ gtk_widget_hide(GTK_WIDGET(data->LightnessAdjustmentTable[i])); gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), data->PageNumSpot); -#if !GTK_CHECK_VERSION(2,8,0) - /* There is a bug that causes the mouse location to be misplaced - * in the event-box. The following voodoo seems to fix the mapping. */ - gtk_widget_set_size_request(scroll, preview_width+1, preview_height+1); - while (gtk_events_pending()) gtk_main_iteration(); -#endif if ( CFG->WindowMaximized ) { gtk_widget_set_size_request(scroll, -1, -1); preview_progress_disable(data); Index: configure.ac =================================================================== RCS file: /cvsroot/ufraw/ufraw/configure.ac,v retrieving revision 1.156 retrieving revision 1.157 diff -u -d -r1.156 -r1.157 --- configure.ac 30 Mar 2010 04:49:08 -0000 1.156 +++ configure.ac 5 Apr 2010 14:30:18 -0000 1.157 @@ -1,5 +1,5 @@ dnl $Id$ -AC_INIT(UFRaw, 0.17) +AC_INIT(UFRaw, 0.18) AC_PREREQ(2.57) # Create host_os, host_cpu variables @@ -105,7 +105,7 @@ [ with_dosprefix=$withval], [ with_dosprefix=NONE ] ) -PKG_CHECK_MODULES(GLIB, glib-2.0 gthread-2.0) +PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.12 gthread-2.0) PKG_CHECK_MODULES(LCMS, lcms >= 1.14) AC_ARG_WITH([gtk], @@ -116,7 +116,7 @@ have_gtk=no AS_IF([test "x$with_gtk" != xno], - [PKG_CHECK_MODULES(GTKBASE, gtk+-2.0 >= 2.6, + [PKG_CHECK_MODULES(GTKBASE, gtk+-2.0 >= 2.12, [ have_gtk=yes ], [ have_gtk=no if test "x$with_gtk" != xcheck; then @@ -146,7 +146,7 @@ [with_gimp=check]) AS_IF([test "x$with_gimp" != xno], - [PKG_CHECK_MODULES(GIMP, gimpui-2.0, + [PKG_CHECK_MODULES(GIMP, gimpui-2.0 >= 2.2.0, [ have_gimp=yes GIMP_LIBDIR=`$pkg_prefix --variable=gimplibdir gimp-2.0` ], [ have_gimp=no @@ -252,7 +252,7 @@ [ have_cfitsio=no AC_MSG_RESULT($CFITSIO_PKG_ERRORS) ] ) -PKG_CHECK_MODULES(EXIV2, exiv2 >= 0.16, +PKG_CHECK_MODULES(EXIV2, exiv2 >= 0.18.1, [ have_exiv2=yes AC_DEFINE(HAVE_EXIV2, 1, have the exiv2 library) ], [ have_exiv2=no @@ -346,6 +346,13 @@ enable_interp_none=no) AC_MSG_RESULT($enable_interp_none) +AC_MSG_CHECKING(whether to enable debugging with valgrind) +AC_ARG_ENABLE(valgrind, + [ --enable-valgrind enable debugging with valgrind], + AC_DEFINE(UFRAW_VALGRIND, 1, Debugging with valgrind enabled), + enable_valgrind=no) +AC_MSG_RESULT($enable_valgrind) + AC_CONFIG_FILES(Makefile) AC_CONFIG_FILES(icons/Makefile) AC_CONFIG_FILES(po/Makefile.in) Index: uf_glib.h =================================================================== RCS file: /cvsroot/ufraw/ufraw/uf_glib.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- uf_glib.h 23 Jan 2010 05:00:58 -0000 1.6 +++ uf_glib.h 5 Apr 2010 14:30:18 -0000 1.7 @@ -13,50 +13,23 @@ #ifndef _UF_GLIB_H #define _UF_GLIB_H -#ifdef __cplusplus +#ifdef __cplusplus extern "C" { #endif -// glib is required for the GLIB_CHECK_VERSION macro -#include <glib.h> - -// gstdio exists only since glib-2.6 -#if GLIB_CHECK_VERSION(2,6,0) #include <glib/gstdio.h> -#else -// Otherwise we define the gstdio functions as macros -#include <stdio.h> -#define g_fopen fopen -#define g_unlink unlink -#define g_rename rename -#endif - -// Before glib-2.10 g_unlink was a macro, requiring some more headers -#if !GLIB_CHECK_VERSION(2,10,0) -#include <unistd.h> // for unlink -#endif // g_win32_locale_filename_from_utf8 is needed only on win32 -#if GLIB_CHECK_VERSION(2,8,0) && defined(WIN32) +#ifdef WIN32 #define uf_win32_locale_filename_from_utf8(__some_string__) \ g_win32_locale_filename_from_utf8(__some_string__) #define uf_win32_locale_filename_free(__some_string__) g_free(__some_string__) - -// g_win32_locale_filename_from_utf8 exists since glib-2.8 -// with glib-2.6, g_locale_from_utf8 is the cheap replacement -#elif GLIB_CHECK_VERSION(2,6,0) && defined(WIN32) -#define uf_win32_locale_filename_from_utf8(__some_string__) \ - g_locale_from_utf8(__some_string__, -1, NULL, NULL, NULL) -#define uf_win32_locale_filename_free(__some_string__) g_free(__some_string__) - -// On other platforms nothing is needed #else #define uf_win32_locale_filename_from_utf8(__some_string__) (__some_string__) #define uf_win32_locale_filename_free(__some_string__) (void)(__some_string__) - #endif -// One win32 command-line arguments need to be translated to UTF-8 +// On win32 command-line arguments need to be translated to UTF-8 #ifdef WIN32 #define uf_win32_locale_to_utf8(__some_string__) \ g_locale_to_utf8(__some_string__, -1, NULL, NULL, NULL) @@ -66,7 +39,7 @@ #define uf_win32_locale_free(__some_string__) (void)(__some_string__) #endif -#ifdef __cplusplus +#ifdef __cplusplus } #endif Index: ufraw-gimp.c =================================================================== RCS file: /cvsroot/ufraw/ufraw/ufraw-gimp.c,v retrieving revision 1.63 retrieving revision 1.64 diff -u -d -r1.63 -r1.64 --- ufraw-gimp.c 24 Feb 2010 17:44:27 -0000 1.63 +++ ufraw-gimp.c 5 Apr 2010 14:30:18 -0000 1.64 @@ -23,7 +23,6 @@ #include <plugin_main.h> #define GIMP_CONST /* Fix some compatibility issues between CinePaint and GIMP */ -#define GIMP_CHECK_VERSION(a,b,c) 0 typedef GimpRunModeType GimpRunMode; #define PLUGIN_MODE 2 #else @@ -66,7 +65,7 @@ static GIMP_CONST GimpParamDef load_return_vals[] = { { GIMP_PDB_IMAGE, "image", "Output image" }, }; -#if GIMP_CHECK_VERSION(2,2,0) +#ifndef UFRAW_CINEPAINT static GIMP_CONST GimpParamDef thumb_args[] = { { GIMP_PDB_STRING, "filename", "The name of the file to load" }, { GIMP_PDB_INT32, "thumb_size", "Preferred thumbnail size" } @@ -85,7 +84,7 @@ "Copyright 2004 by Pawel Jochym\n" "Copyright 2004-2010 by Udi Fuchs", "ufraw-" VERSION, -#if GIMP_CHECK_VERSION(2,2,0) +#ifndef UFRAW_CINEPAINT "raw image", #else "<Load>/UFRaw", @@ -99,7 +98,7 @@ gimp_register_load_handler("file_ufraw_load", (char *)raw_ext, ""); -#if GIMP_CHECK_VERSION(2,2,0) +#ifndef UFRAW_CINEPAINT gimp_install_procedure ("file_ufraw_load_thumb", "Loads thumbnails from digital camera raw files.", "Loads thumbnails from digital camera raw files.", @@ -219,7 +218,7 @@ } ufraw_icons_init(); GtkWidget *dummyWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL); - uf_window_set_icon_name(GTK_WINDOW(dummyWindow), "ufraw"); + gtk_window_set_icon_name(GTK_WINDOW(dummyWindow), "ufraw"); ufraw_message(UFRAW_SET_PARENT, (char *)dummyWindow); ufraw_message(UFRAW_REPORT, NULL); @@ -237,7 +236,7 @@ ufraw_config(uf, &rc, NULL, NULL); sendToGimpMode = (uf->conf->createID==send_id); -#if GIMP_CHECK_VERSION(2,2,0) +#ifndef UFRAW_CINEPAINT if ( loadThumbnail ) { uf->conf->size = size; uf->conf->embeddedImage = TRUE; Index: ufraw_ufraw.c =================================================================== RCS file: /cvsroot/ufraw/ufraw/ufraw_ufraw.c,v retrieving revision 1.252 retrieving revision 1.253 diff -u -d -r1.252 -r1.253 --- ufraw_ufraw.c 30 Mar 2010 22:51:02 -0000 1.252 +++ ufraw_ufraw.c 5 Apr 2010 14:30:18 -0000 1.253 @@ -855,22 +855,12 @@ } ufraw_image_type *src = (ufraw_image_type *)(img->buffer + yy * img->rowstride + xx * img->depth); -#if 1 - /* Do it in integer arithmetic, it's a bit faster */ guint64 dx = (gint32)(srcX * 4096.0) - (xx << 12); guint64 dy = (gint32)(srcY * 4096.0) - (yy << 12); for (c = 0; c < uf->colors; c++) cur[c] = ( (4096-dy)*((4096-dx)*src[0][c] + dx*src[1][c]) + dy*((4096-dx)*src[img->width][c] + (dx)*src[img->width+1][c]) ) >> 24; -#else - float dx = srcX - xx; - float dy = srcY - yy; - for (c = 0; c < uf->colors; c++) - cur[c] = (1-dy)*((1-dx)*src[0][c] + dx*src[1][c]) - + dy*((1-dx)*src[img->width][c] - + (dx)*src[img->width+1][c]); -#endif } } } Index: uf_gtk.h =================================================================== RCS file: /cvsroot/ufraw/ufraw/uf_gtk.h,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- uf_gtk.h 4 Mar 2010 04:52:32 -0000 1.12 +++ uf_gtk.h 5 Apr 2010 14:30:18 -0000 1.13 @@ -16,23 +16,11 @@ #include <gtk/gtk.h> #include <ufobject.h> -#ifdef __cplusplus +#ifdef __cplusplus extern "C" { #endif -// Interface to gtk_widget_set_tooltip_text() introduced in 2.12 -// Should be called after widget has a toplevel to minimize number -// of calls to gtk_tooltips_new() -void uf_widget_set_tooltip(GtkWidget *widget, const gchar *text); - -void uf_button_set_stock_image(GtkButton *button, const gchar *stock_image); - -void uf_label_set_width_chars(GtkLabel *label, gint n_chars); - -// Interface to gtk_window_set_icon_name() introduced in 2.6 -void uf_window_set_icon_name(GtkWindow *window, const gchar *name); - -// Create a GtkCheckButton with a label an a value that gets updated +// Create a GtkCheckButton with a label and a value that gets updated GtkWidget *uf_check_button_new(const char *label, gboolean *valuep); // Create a new ComboBox text with small width. @@ -70,7 +58,7 @@ GtkWidget *ufarray_combo_box_new(UFObject *object); GtkWidget *ufarray_combo_box_entry_new(UFObject *object); -#ifdef __cplusplus +#ifdef __cplusplus } #endif Index: ufobject.h =================================================================== RCS file: /cvsroot/ufraw/ufraw/ufobject.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- ufobject.h 4 Mar 2010 04:52:32 -0000 1.6 +++ ufobject.h 5 Apr 2010 14:30:18 -0000 1.7 @@ -396,7 +396,7 @@ explicit UFException(std::string &Message); }; -#endif /*__cplusplus*/ +#endif // __cplusplus /*************************\ * UFObject C interface * Index: ufraw_lensfun.cc =================================================================== RCS file: /cvsroot/ufraw/ufraw/ufraw_lensfun.cc,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- ufraw_lensfun.cc 31 Mar 2010 17:15:09 -0000 1.16 +++ ufraw_lensfun.cc 5 Apr 2010 14:30:18 -0000 1.17 @@ -39,7 +39,7 @@ double ApertureValue; double DistanceValue; Lensfun(); -#if 0 // Can be useful for valgrind --leak-check=full +#ifdef UFRAW_VALGRIND // Can be useful for valgrind --leak-check=full ~Lensfun() { if (_LensDB != NULL) lf_db_destroy(_LensDB); Index: dcraw.h =================================================================== RCS file: /cvsroot/ufraw/ufraw/dcraw.h,v retrieving revision 1.61 retrieving revision 1.62 diff -u -d -r1.61 -r1.62 --- dcraw.h 28 Mar 2010 17:45:14 -0000 1.61 +++ dcraw.h 5 Apr 2010 14:30:18 -0000 1.62 @@ -26,13 +26,11 @@ */ #if !defined(DCRAW_NOMAIN) && defined(WIN32) #include <glib.h> -#if GLIB_CHECK_VERSION(2,6,0) extern "C" { #include <glib/gstdio.h> } #define fopen g_fopen #endif -#endif class DCRaw { public: /* All dcraw's global variables are members of this class. */ Index: ufraw.c =================================================================== RCS file: /cvsroot/ufraw/ufraw/ufraw.c,v retrieving revision 1.58 retrieving revision 1.59 diff -u -d -r1.58 -r1.59 --- ufraw.c 24 Feb 2010 17:44:27 -0000 1.58 +++ ufraw.c 5 Apr 2010 14:30:18 -0000 1.59 @@ -43,7 +43,7 @@ ufraw_icons_init(); #ifdef WIN32 dummyWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL); - uf_window_set_icon_name(GTK_WINDOW(dummyWindow), "ufraw"); + gtk_window_set_icon_name(GTK_WINDOW(dummyWindow), "ufraw"); ufraw_message(UFRAW_SET_PARENT, (char *)dummyWindow); #endif /* Load $HOME/.ufrawrc */ @@ -84,7 +84,7 @@ /* Create a dummyWindow for the GUI error messenger */ if (dummyWindow==NULL) { dummyWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL); - uf_window_set_icon_name(GTK_WINDOW(dummyWindow), "ufraw"); + gtk_window_set_icon_name(GTK_WINDOW(dummyWindow), "ufraw"); ufraw_message(UFRAW_SET_PARENT, (char *)dummyWindow); } conf_file_load(&conf, cmd.inputFilename); Index: uf_gtk.cc =================================================================== RCS file: /cvsroot/ufraw/ufraw/uf_gtk.cc,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- uf_gtk.cc 4 Mar 2010 04:52:32 -0000 1.21 +++ uf_gtk.cc 5 Apr 2010 14:30:18 -0000 1.22 @@ -28,86 +28,6 @@ extern "C" { -#if !GTK_CHECK_VERSION(2,12,0) -static void _uf_widget_set_tooltip_destroy_event(GObject *object, - gpointer user_data) -{ - (void)user_data; - GObject *Tooltips = static_cast<GObject *>( - g_object_get_data(object, "UF-Tooltips")); - if ( Tooltips!=NULL ) - g_object_unref(Tooltips); -} -#endif - -// Interface to gtk_widget_set_tooltip_text() introduced in 2.12 -// Should be called after widget has a toplevel to minimize number -// of calls to gtk_tooltips_new() -void uf_widget_set_tooltip(GtkWidget *widget, const gchar *text) -{ -#if GTK_CHECK_VERSION(2,12,0) - gtk_widget_set_tooltip_text(widget, text); -#else - GObject *parentWindow = G_OBJECT(gtk_widget_get_toplevel(widget)); - GtkTooltips *Tooltips = static_cast<GtkTooltips *>( - g_object_get_data(parentWindow, "UF-Tooltips")); - if ( Tooltips==NULL ) { - // On first call create the tooltips - Tooltips = gtk_tooltips_new(); -#if GTK_CHECK_VERSION(2,10,0) - g_object_ref_sink(Tooltips); -#else - g_object_ref(Tooltips); - gtk_object_sink(GTK_OBJECT(Tooltips)); -#endif - g_object_set_data(parentWindow, "UF-Tooltips", Tooltips); - g_signal_connect(parentWindow, "destroy", - G_CALLBACK(_uf_widget_set_tooltip_destroy_event), NULL); - } - gtk_tooltips_set_tip(Tooltips, widget, text, NULL); -#endif -} - -void uf_button_set_stock_image(GtkButton *button, const gchar *stock_image) -{ -#if GTK_CHECK_VERSION(2,8,0) - gtk_button_set_image(button, gtk_image_new_from_stock( - stock_image, GTK_ICON_SIZE_BUTTON)); -#else - GtkWidget *lastImage = gtk_bin_get_child(GTK_BIN(button)); - if ( lastImage!=NULL ) - gtk_container_remove(GTK_CONTAINER(button), lastImage); - - GtkWidget *image = gtk_image_new_from_stock(stock_image, - GTK_ICON_SIZE_BUTTON); - gtk_container_add(GTK_CONTAINER(button), image); - gtk_widget_show(image); -#endif -} - -// Interface to gtk_window_set_icon_name() introduced in 2.6 -// but was buggy until 2.8 -void uf_window_set_icon_name(GtkWindow *window, const gchar *name) -{ -#if GTK_CHECK_VERSION(2,8,0) - gtk_window_set_icon_name(window, name); -#else - gtk_window_set_icon(window, - gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), - name, 48, GTK_ICON_LOOKUP_USE_BUILTIN, NULL)); -#endif -} - -void uf_label_set_width_chars(GtkLabel *label, gint n_chars) -{ -#if GTK_CHECK_VERSION(2,6,0) - gtk_label_set_width_chars(label, n_chars); -#else - (void)label; - (void)n_chars; -#endif -} - static void _uf_toggle_button_toggled(GtkToggleButton *button, gboolean *valuep) { *valuep = gtk_toggle_button_get_active(button); @@ -569,7 +489,7 @@ gtk_container_add(GTK_CONTAINER(button), gtk_image_new_from_stock(GTK_STOCK_REFRESH, GTK_ICON_SIZE_BUTTON)); if (tip != NULL) - uf_widget_set_tooltip(button, tip); + gtk_widget_set_tooltip_text(button, tip); _UFObjectList *objectList = new _UFObjectList; g_object_set_data(G_OBJECT(button), "UFObjectList", objectList); ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ ufraw-cvs mailing list ufraw-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ufraw-cvs