diff --git a/CMakeLists.txt b/CMakeLists.txt index 5e6abd6c3..fa3159344 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -118,7 +118,7 @@ endif (WITH_RAWZOR) find_package(OpenMP) if (OPENMP_FOUND) - set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") endif (OPENMP_FOUND) add_subdirectory (rtexif) diff --git a/COMPILE.txt b/COMPILE.txt index 2de32e52c..3eabff19a 100644 --- a/COMPILE.txt +++ b/COMPILE.txt @@ -47,11 +47,11 @@ Requirements: - MacPorts - Set /opt/local/etc/macports/variants.conf to include "+universal +no_x11 +quartz" (NOTE: as of this writing the Pango and Pango-devel ports are broken and will not build as Universal variants. Until this is fixed, leave the universal flag off.) - Set /opt/local/etc/macports/macports.conf key 'universal_archs' to "i386 x86_64" - - Run "sudo port install cairomm pango-devel gtk2 cmake glibmm gtkmm lcms libiptcdata mercurial" to install all needed libraries and tools + - Run "sudo port install cairomm pango-devel gtk2 cmake glibmm gtkmm lcms libiptcdata gcc45 mercurial" to install all needed libraries and tools Compile: - Enter root directory of RawTherapee source tree -- Type: cmake . +- Type: cmake -D CMAKE_C_COMPILER=gcc-mp-4.5 -D CMAKE_CXX_COMPILER=g++-mp-4.5 . - Type: make install - Type: ./tools/osx/make-app-bundle - You will find a RawTherapee.dmg file in release/ folder; this is the distribution release and can be run on any 10.5 or 10.6 Intel machine. diff --git a/rtdata/languages/Nederlands b/rtdata/languages/Nederlands index 17d023074..72285642e 100644 --- a/rtdata/languages/Nederlands +++ b/rtdata/languages/Nederlands @@ -20,6 +20,8 @@ # 26.12.2007: door Rens Duijsens en Brent Huisman # 14.03.2008: updated by reggybe # 01.02.2009: updated to RT2.4-RC by paul.matthijsse +# 02-05-2010: updated to rt3a1 by paul.matthijsse + ADJUSTER_RESET_TO_DEFAULT;Terug naar beginwaarde CURVEEDITOR_FILEDLGFILTERANY;Alle bestanden CURVEEDITOR_FILEDLGFILTERCURVE;Curvebestanden @@ -94,9 +96,9 @@ FILEBROWSER_SHOWRANK4HINT;Toon foto's met 4 sterren waardering FILEBROWSER_SHOWRANK5HINT;Toon foto's met 5 sterren waardering FILEBROWSER_SHOWTRASHHINT;Toon inhoud prullenbak FILEBROWSER_SHOWUNRANKHINT;Toon foto's zonder sterwaardering -FILEBROWSER_STARTPROCESSINGHINT;Start verwerking/bewaren van bestanden in verwerkingsrij +FILEBROWSER_STARTPROCESSINGHINT;Start verwerking van bestanden in verwerkingsrij FILEBROWSER_STARTPROCESSING;Start verwerking -FILEBROWSER_STOPPROCESSINGHINT;Stop verwerking van foto's in verwerkingsrij +FILEBROWSER_STOPPROCESSINGHINT;Stop verwerking van bestanden in verwerkingsrij FILEBROWSER_STOPPROCESSING;Stop verwerking FILEBROWSER_THUMBSIZE;Miniaturen FILEBROWSER_ZOOMINHINT;Groter @@ -199,11 +201,11 @@ HISTORY_MSG_74;Schalingsinstelling HISTORY_MSG_75;Schalingsmethode HISTORY_MSG_76;Exif-metadata HISTORY_MSG_77;IPTC-metadata -HISTORY_MSG_78;Data specified for resize -HISTORY_MSG_79;Resize width +HISTORY_MSG_78;Schalen +HISTORY_MSG_79;Schalen: breedte HISTORY_MSG_7;Schaduwen versterken -HISTORY_MSG_80;Resize height -HISTORY_MSG_81;Resize enabled +HISTORY_MSG_80;Schalen: hoogte +HISTORY_MSG_81;Schalen geactiveerd HISTORY_MSG_8;Belichtingscompensatie HISTORY_MSG_9;Compressie hoge lichten HISTORY_NEWSNAPSHOTAS;Als... @@ -269,38 +271,38 @@ IPTCPANEL_TITLEHINT;Een korte referentienaam voor de foto (Objectnaam) IPTCPANEL_TITLE;Titel IPTCPANEL_TRANSREFERENCEHINT;Een code die de locatie van de oorspronkelijke transmissie representeert (Original Transmission Reference) IPTCPANEL_TRANSREFERENCE;Trans. Reference -MAIN_BUTTON_EXIT;Exit +MAIN_BUTTON_EXIT;Afsluiten MAIN_BUTTON_PREFERENCES;Voorkeuren -MAIN_BUTTON_QUEUE;Put to queue +MAIN_BUTTON_QUEUE;Plaats in verwerkingsrij MAIN_BUTTON_SAVEAS;Als... MAIN_BUTTON_SAVE;Bewaar foto MAIN_BUTTON_SENDTOEDITOR;Stuur naar fotoprogramma -MAIN_FRAME_BATCHQUEUE;Batch Queue -MAIN_FRAME_FILEBROWSER;File Browser -MAIN_FRAME_PLACES_ADD;Add -MAIN_FRAME_PLACES_DEL;Del -MAIN_FRAME_PLACES;Places -MAIN_FRAME_RECENT;Recent Folders +MAIN_FRAME_BATCHQUEUE;Verwerkingsrij +MAIN_FRAME_FILEBROWSER;Bestandsnavigator +MAIN_FRAME_PLACES_ADD;Nieuw +MAIN_FRAME_PLACES_DEL;Wis +MAIN_FRAME_PLACES;Locaties +MAIN_FRAME_RECENT;Recente mappen MAIN_MSG_ALREADYEXISTS;Bestand bestaat reeds. MAIN_MSG_CANNOTLOAD;Fout bij laden MAIN_MSG_CANNOTSAVE;Fout bij opslaan van de afbeelding MAIN_MSG_CANNOTSTARTEDITOR;Kan fotoprogramma niet starten. MAIN_MSG_CANNOTSTARTEDITOR_SECONDARY;Geef juiste pad op in 'Voorkeuren'. MAIN_MSG_EXITJOBSINQUEUEINFO;Foto's in de verwerkingsrij zullen niet verwerkt worden bij afsluiten. -MAIN_MSG_EXITJOBSINQUEUEQUEST;Weet u zeker dat u wilt stoppen? De verwerkingsrij bevat onverwerkte foto's. +MAIN_MSG_EXITJOBSINQUEUEQUEST;Weet u zeker dat u wilt stoppen? De verwerkingsrij bevat nog foto's. MAIN_MSG_JOBSINQUEUE;Bewerking(en) in de wachtrij MAIN_MSG_QOVERWRITE;Wilt u het bestand overschrijven? MAIN_TAB_BASIC;Grondwaarde MAIN_TAB_COLOR;Kleur MAIN_TAB_DETAIL;Detail -MAIN_TAB_DEVELOP;Develop +MAIN_TAB_DEVELOP;Ontwikkel MAIN_TAB_EXIF;Exif MAIN_TAB_EXPOSURE;Belichting MAIN_TAB_FILTER;Filter MAIN_TAB_ICM;ICM MAIN_TAB_IPTC;IPTC MAIN_TAB_METADATA;Metadata -MAIN_TAB_TAGGING;Tagging +MAIN_TAB_TAGGING;Tags MAIN_TAB_TRANSFORM;Transformeer MAIN_TOOLTIP_HIDEFP;Toon/verberg onderpaneel (bestandsnavigator, sneltoets F) MAIN_TOOLTIP_HIDEHP;Toon/verberg linkerpaneel (geschiedenis, sneltoets H) @@ -482,7 +484,7 @@ TP_COLORBOOST_ACHANNEL;Kanaal A TP_COLORBOOST_AMOUNT;Hoeveelheid TP_COLORBOOST_AVOIDCOLORCLIP;Vermijd kleuroversturing TP_COLORBOOST_BCHANNEL;Kanaal B -TP_COLORBOOST_CHAB;a & b +TP_COLORBOOST_CHAB;A & B TP_COLORBOOST_CHANNEL;Kanaal TP_COLORBOOST_CHSEPARATE;Scheiden TP_COLORBOOST_ENABLESATLIMITER;Activeer verzadigingsbegrenzer @@ -610,81 +612,70 @@ ZOOMBAR_PREVIEW;Afbeelding ZOOMBAR_SCALE;Schaal ZOOMBAR_SMALL;Klein -GENERAL_HIGH_QUALITY;High Quality -GENERAL_UNCHANGED;(Unchanged) -MAIN_MSG_PLACES;Places -GENERAL_BEFORE;Before -GENERAL_AFTER;After -MAIN_TOOLTIP_TOGGLE;Toggle before/after view -MAIN_BUTTON_PUTTOQUEUE;Put to queue +GENERAL_HIGH_QUALITY;Hoge kwaliteit +GENERAL_UNCHANGED;(Onveranderd) +MAIN_MSG_PLACES;Locaties +GENERAL_BEFORE;Voor +GENERAL_AFTER;Na +MAIN_TOOLTIP_TOGGLE;Vergelijk origineel en bewerking +MAIN_BUTTON_PUTTOQUEUE;Plaats in verwerkingsrij MAIN_MSG_NAVIGATOR;Navigator -FILEBROWSER_TOOLTIP_STOPPROCESSING;Start processing automatically when a new job arrives -BATCHQUEUE_AUTOSTART;Auto start -TP_DETAIL_AMOUNT;Amount -TP_RESIZE_SPECIFY;Specify: -TP_RESIZE_SCALE;Scale -TP_RESIZE_WIDTH;Width -TP_RESIZE_HEIGHT;Height -MAIN_TOGGLE_BEFORE_AFTER;B|A +FILEBROWSER_TOOLTIP_STOPPROCESSING;Start verwerking automatisch wanneer nieuwe foto arriveert +BATCHQUEUE_AUTOSTART;Autostart +TP_DETAIL_AMOUNT;Hoeveelheid +TP_RESIZE_SPECIFY;Specificeer: +TP_RESIZE_SCALE;Schaal +TP_RESIZE_WIDTH;Breedte +TP_RESIZE_HEIGHT;Hoogte +MAIN_TOGGLE_BEFORE_AFTER;V-N - -### - -### - -EXIFFILTER_METADATAFILTER;Enable Metadata Filters -CURVEEDITOR_PARAMETRIC;Parametric -CURVEEDITOR_CUSTOM;Custom +EXIFFILTER_METADATAFILTER;Activeer metadatafilters +CURVEEDITOR_PARAMETRIC;Parametrisch +CURVEEDITOR_CUSTOM;Handmatig CURVEEDITOR_TYPE;Type: -CURVEEDITOR_HIGHLIGHTS;Highlights -CURVEEDITOR_LIGHTS;Lights -CURVEEDITOR_DARKS;Darks -CURVEEDITOR_SHADOWS;Shadows -BATCH_PROCESSING;batch processing -PREFERENCES_BATCH_PROCESSING;batch processing -PREFERENCES_BEHAVIOR;Behavior -PREFERENCES_PROPERTY;Property -PREFERENCES_ADD;ADD -PREFERENCES_SET;SET -PROGRESSDLG_PROFILECHANGEDINBROWSER;Profile changed in browser -MAIN_MSG_ERRORDURINGIMAGESAVING;Error during image saving -FILEBROWSER_CURRENT_NAME;Current name: -FILEBROWSER_NEW_NAME;New name: -FILEBROWSER_USETEMPLATE;Use template: -FILEBROWSER_ADDDELTEMPLATE;Add/Del templates... -ZOOMPANEL_ZOOMIN;Zoom In -ZOOMPANEL_ZOOMOUT;Zoom Out -ZOOMPANEL_ZOOM100;Zoom to 100% -ZOOMPANEL_ZOOMFITSCREEN;Fit to screen -ZOOMPANEL_NEWCROPWINDOW;Open (new) detail window -ZOOMPANEL_100;(100%) +CURVEEDITOR_HIGHLIGHTS;Hoge lichten +CURVEEDITOR_LIGHTS;Lichten +CURVEEDITOR_DARKS;Schaduwen +CURVEEDITOR_SHADOWS;Diepe schaduwen +BATCH_PROCESSING;Batch-verwerking +PREFERENCES_BATCH_PROCESSING;Batch-verwerking +PREFERENCES_BEHAVIOR;Gedrag +PREFERENCES_PROPERTY;Eigenschap +PREFERENCES_ADD;Voeg toe +PREFERENCES_SET;Activeer +PROGRESSDLG_PROFILECHANGEDINBROWSER;Profiel veranderd in bestandsnavigator +MAIN_MSG_ERRORDURINGIMAGESAVING;Fout tijdens opslaan foto +FILEBROWSER_CURRENT_NAME;Huidige naam: +FILEBROWSER_NEW_NAME;Nieuwe naam: +FILEBROWSER_USETEMPLATE;Gebruik sjabloon: +FILEBROWSER_ADDDELTEMPLATE;Voeg sjablonen toe of verwijder... +ZOOMPANEL_ZOOMIN;Zoom in +ZOOMPANEL_ZOOMOUT;Zoom uit +ZOOMPANEL_ZOOM100;Zoom naar 100% +ZOOMPANEL_ZOOMFITSCREEN;Passend in venster +ZOOMPANEL_NEWCROPWINDOW;Open (nieuw) detailvenster +ZOOMPANEL_100;(100%) -### +MAIN_BUTTON_FULLSCREEN;Volledig scherm +MAIN_BUTTON_UNFULLSCREEN;Verlaat volledig scherm +PREFERENCES_OVERLAY_FILENAMES;Toon bestandsnamen over miniaturen -MAIN_BUTTON_FULLSCREEN;Fullscreen -MAIN_BUTTON_UNFULLSCREEN;Exit fullscreen -PREFERENCES_OVERLAY_FILENAMES;Overlay filenames on thumbnails - -NAVIGATOR_R_NA;R = n/a -NAVIGATOR_G_NA;G = n/a -NAVIGATOR_B_NA;B = n/a -NAVIGATOR_H_NA;H = n/a -NAVIGATOR_S_NA;S = n/a -NAVIGATOR_V_NA;V = n/a +NAVIGATOR_R_NA;R = n/b +NAVIGATOR_G_NA;G = n/b +NAVIGATOR_B_NA;B = n/b +NAVIGATOR_H_NA;H = n/b +NAVIGATOR_S_NA;S = n/b +NAVIGATOR_V_NA;V = n/b NAVIGATOR_R_VALUE;R = %1 NAVIGATOR_G_VALUE;G = %1 NAVIGATOR_B_VALUE;B = %1 NAVIGATOR_H_VALUE;H = %1 NAVIGATOR_S_VALUE;S = %1 NAVIGATOR_V_VALUE;V = %1 -NAVIGATOR_XY_NA;x = n/a, y = n/a -FILEBROWSER_SHOWEXIFINFO;Show EXIF info -TP_RESIZE_DOWNSCALEB;Downscale (Better) -TP_RESIZE_DOWNSCALEF;Downscale (Faster) -SAVEDLG_TIFFUNCOMPRESSED;Uncompressed TIFF -HISTOGRAM_BUTTON_R;R -HISTOGRAM_BUTTON_G;G -HISTOGRAM_BUTTON_B;B -HISTOGRAM_BUTTON_L;L -PREFERENCES_DCBENHANCE;Apply DCB enhancement step -PREFERENCES_DCBITERATIONS;Number of DCB iterations +NAVIGATOR_XY_NA;x = n/b, y = n/b +FILEBROWSER_SHOWEXIFINFO;Toon EXIF-info +TP_RESIZE_DOWNSCALEB;Neerschalen (beter) +TP_RESIZE_DOWNSCALEF;Neerschalen (sneller) +SAVEDLG_TIFFUNCOMPRESSED;Geen compressie +PREFERENCES_DCBENHANCE;Pas DCB-verbetering toe +PREFERENCES_DCBITERATIONS;Aantal DCB-herhalingen diff --git a/rtgui/filebrowser.cc b/rtgui/filebrowser.cc index c43e70d2d..dcd8823b5 100644 --- a/rtgui/filebrowser.cc +++ b/rtgui/filebrowser.cc @@ -470,6 +470,7 @@ void FileBrowser::rankingRequested (std::vector tbe, int rank for (int i=0; ithumbnail->setRank (rank); + tbe[i]->thumbnail->updateCache(); // needed to save the rank to disk if (tbe[i]->getThumbButtonSet()) tbe[i]->getThumbButtonSet()->setRank (tbe[i]->thumbnail->getRank()); } diff --git a/rtgui/filecatalog.cc b/rtgui/filecatalog.cc index c29f0c436..b59b195c4 100644 --- a/rtgui/filecatalog.cc +++ b/rtgui/filecatalog.cc @@ -97,6 +97,7 @@ FileCatalog::FileCatalog (CoarsePanel* cp, ToolBar* tb) : listener(NULL), fslist bRank[i]->set_relief (Gtk::RELIEF_NONE); buttonBar->pack_start (*bRank[i], Gtk::PACK_SHRINK); bCateg[i+2] = bRank[i]->signal_toggled().connect (sigc::bind(sigc::mem_fun(*this, &FileCatalog::categoryButtonToggled), bRank[i])); + bRank[i]->signal_button_press_event().connect (sigc::mem_fun(*this, &FileCatalog::capture_event),false); } bRank[0]->set_tooltip_text (M("FILEBROWSER_SHOWRANK1HINT")); bRank[1]->set_tooltip_text (M("FILEBROWSER_SHOWRANK2HINT")); @@ -182,6 +183,12 @@ FileCatalog::FileCatalog (CoarsePanel* cp, ToolBar* tb) : listener(NULL), fslist #endif } +bool FileCatalog::capture_event(GdkEventButton* event){ + // need to record modifiers on the button press, because signal_toggled does not pass the event. + modifierKey = event->state; + return false; +} + void FileCatalog::exifInfoButtonToggled() { options.showFileNames = exifInfo->get_active(); @@ -584,27 +591,74 @@ void FileCatalog::renameRequested (std::vector tbe) { } void FileCatalog::categoryButtonToggled (Gtk::ToggleButton* b) { - + for (int i=0; i<8; i++) bCateg[i].block (true); fileBrowser->getScrollPosition (hScrollPos[lastScrollPos], vScrollPos[lastScrollPos]); - - // seek the one pressed - for (int i=0; i<8; i++) { - categoryButtons[i]->set_active (categoryButtons[i]==b); - if (categoryButtons[i]==b) - lastScrollPos = i; + + //find the number of the button + int toggled_button = 0; + for (int i=0; i<8; i++){ + if(categoryButtons[i]==b){ + toggled_button = i; + } } - - // change the images of the buttons to reflect current ranking - for (int i=0; i<5; i++) - bRank[i]->set_image (*igranked[i]); - for (int i=0; i<5; i++) - if (b==bRank[i]) - for (int j=0; j<=i; j++) - bRank[j]->set_image (*iranked[j]); - + + //was control key pressed + bool control_down = modifierKey & GDK_CONTROL_MASK; + + // for a normal switch, untoggle the other buttons + if (!control_down || toggled_button==0 || toggled_button==7){ + for (int i=0; i<8; i++) { + categoryButtons[i]->set_active (i==toggled_button); + } + }else{ + // but if we have control clicked a star we need to untoggle non-stars + categoryButtons[0]->set_active(false); + categoryButtons[1]->set_active(false); + categoryButtons[7]->set_active(false); + } + + // how we color the buttons depends on how many are selected + int toggled_count = 0; + for (int i=0; i<8; i++) { + if (categoryButtons[i]->get_active()) + toggled_count ++; + } + + // if we have untoggled all the buttons, set to show all + if (toggled_count == 0){ + toggled_button = 0; + categoryButtons[0]->set_active(true); + } + + // so set the right images + if (toggled_count == 1){ + int n_stars = 0; + // only one button is active, find out which + // if its not a star button, then n_stars stays on zero + for (int i=0; i<5; i++){ + if (bRank[i]->get_active()) + n_stars = i+1; + } + // color up to the correct rank + for (int i=0; i<5; i++){ + if (iset_image (*iranked[i]); + else + bRank[i]->set_image (*igranked[i]); + } + }else{ + // if several stars are selected, color them + for (int i=0; i<5; i++){ + if (bRank[i]->get_active()) + bRank[i]->set_image (*iranked[i]); + else + bRank[i]->set_image (*igranked[i]); + } + } + fileBrowser->applyFilter (getFilter ()); // rearrange panels according to the selected filter diff --git a/rtgui/filecatalog.h b/rtgui/filecatalog.h index 73b5ff8e2..80f752203 100644 --- a/rtgui/filecatalog.h +++ b/rtgui/filecatalog.h @@ -132,6 +132,7 @@ class FileCatalog : public Gtk::VBox, #endif std::vector fileNameList; std::set editedFiles; + guint modifierKey; // any modifiers held when rank button was pressed void addAndOpenFile (const Glib::ustring& fname); void checkAndAddFile (Glib::RefPtr info); @@ -177,6 +178,7 @@ class FileCatalog : public Gtk::VBox, void setFilterPanel (FilterPanel* fpanel); void exifInfoButtonToggled(); void categoryButtonToggled (Gtk::ToggleButton* b); + bool capture_event(GdkEventButton* event); void filterChanged (); void runFilterDialog ();