From d0d96dbf5e2c812c88b6469ba0258af6dfd19b48 Mon Sep 17 00:00:00 2001 From: Benitoite Date: Mon, 23 Oct 2017 11:36:02 -0700 Subject: [PATCH 01/19] License file for libiomp5.dylib To prevent a crash during quit on mac, Intel's OSS libiomp5 is used in place of the older libomp provided by clang. This is the license file provided by Intel to cover the binary's redistribution. For even more info, see: https://github.com/Beep6581/RawTherapee/issues/3971 --- licenses/osx_libiomp5_LICENSE.txt | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 licenses/osx_libiomp5_LICENSE.txt diff --git a/licenses/osx_libiomp5_LICENSE.txt b/licenses/osx_libiomp5_LICENSE.txt new file mode 100644 index 000000000..18fca0d43 --- /dev/null +++ b/licenses/osx_libiomp5_LICENSE.txt @@ -0,0 +1,27 @@ +Copyright (c) 2013-2016, Intel Corporation +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. From 0719b5f27a8d63a99b21cb6ba2e6d6de2e577b46 Mon Sep 17 00:00:00 2001 From: Benitoite Date: Mon, 23 Oct 2017 11:43:12 -0700 Subject: [PATCH 02/19] Copy libiomp5 license file into the app bundle. --- tools/osx/macosx_bundle.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/osx/macosx_bundle.sh b/tools/osx/macosx_bundle.sh index 250bc23e2..7828363cb 100644 --- a/tools/osx/macosx_bundle.sh +++ b/tools/osx/macosx_bundle.sh @@ -158,6 +158,9 @@ ditto {"${GTK_PREFIX}","${RESOURCES}"}/share/icons/Adwaita/index.theme mkdir -p "${RESOURCES}/share/lensfun" cp /opt/local/share/lensfun/version_1/* "${RESOURCES}/share/lensfun" +# Copy the libiomp5 license into the app bundle +cp "${PROJECT_SOURCE_DATA_DIR}/licenses/osx_libiomp5_LICENSE.txt" "${RESOURCES}" + # Install names find -E "${CONTENTS}" -type f -regex '.*/(rawtherapee-cli|rawtherapee|.*\.(dylib|so))' | while read -r x; do msg "Modifying install names: ${x}" From df8b52f978b2f0bfa76963b250ae49dec0be1af6 Mon Sep 17 00:00:00 2001 From: Alberto Griggio Date: Tue, 24 Oct 2017 00:27:55 +0200 Subject: [PATCH 03/19] implement our own custom FileChooserButton, with the aim of speeding up startup time See #4140 Compiles fine, but needs testing... --- rtgui/darkframe.cc | 2 +- rtgui/flatfield.cc | 2 +- rtgui/guiutils.cc | 198 +++++++++++++++++++++++++++++++++++++++---- rtgui/guiutils.h | 56 +++++++++++- rtgui/lensprofile.cc | 2 +- rtgui/preferences.cc | 18 ++-- rtgui/preferences.h | 12 +-- 7 files changed, 252 insertions(+), 38 deletions(-) diff --git a/rtgui/darkframe.cc b/rtgui/darkframe.cc index 83bad565a..ab9156d7d 100644 --- a/rtgui/darkframe.cc +++ b/rtgui/darkframe.cc @@ -46,7 +46,7 @@ DarkFrame::DarkFrame () : FoldableToolPanel(this, "darkframe", M("TP_DARKFRAME_L pack_start( *dfInfo, Gtk::PACK_SHRINK, 0); dfautoconn = dfAuto->signal_toggled().connect ( sigc::mem_fun(*this, &DarkFrame::dfAutoChanged), true); - dfFile = darkFrameFile->signal_file_set().connect ( sigc::mem_fun(*this, &DarkFrame::darkFrameChanged), true); + dfFile = darkFrameFile->signal_file_set().connect ( sigc::mem_fun(*this, &DarkFrame::darkFrameChanged)); //, true); btnReset->signal_clicked().connect( sigc::mem_fun(*this, &DarkFrame::darkFrameReset), true ); // Set filename filters diff --git a/rtgui/flatfield.cc b/rtgui/flatfield.cc index aec6820a5..5b52ce9d2 100644 --- a/rtgui/flatfield.cc +++ b/rtgui/flatfield.cc @@ -78,7 +78,7 @@ FlatField::FlatField () : FoldableToolPanel(this, "flatfield", M("TP_FLATFIELD_L pack_start( *flatFieldBlurRadius, Gtk::PACK_SHRINK, 0); pack_start( *flatFieldClipControl, Gtk::PACK_SHRINK, 0); - flatFieldFileconn = flatFieldFile->signal_file_set().connect ( sigc::mem_fun(*this, &FlatField::flatFieldFileChanged), true); + flatFieldFileconn = flatFieldFile->signal_file_set().connect ( sigc::mem_fun(*this, &FlatField::flatFieldFileChanged)); //, true); flatFieldFileReset->signal_clicked().connect( sigc::mem_fun(*this, &FlatField::flatFieldFile_Reset), true ); flatFieldAutoSelectconn = flatFieldAutoSelect->signal_toggled().connect ( sigc::mem_fun(*this, &FlatField::flatFieldAutoSelectChanged), true); flatFieldBlurTypeconn = flatFieldBlurType->signal_changed().connect( sigc::mem_fun(*this, &FlatField::flatFieldBlurTypeChanged) ); diff --git a/rtgui/guiutils.cc b/rtgui/guiutils.cc index a72889404..c0f02aa60 100644 --- a/rtgui/guiutils.cc +++ b/rtgui/guiutils.cc @@ -1168,9 +1168,188 @@ bool MyHScale::on_key_press_event (GdkEventKey* event) } } -MyFileChooserButton::MyFileChooserButton (const Glib::ustring& title, Gtk::FileChooserAction action) : Gtk::FileChooserButton(title, action) +MyFileChooserButton::MyFileChooserButton(const Glib::ustring &title, Gtk::FileChooserAction action): + title_(title), + action_(action), + lbl_(""), + filename_("") { - //set_size_request(35, -1); + lbl_.set_ellipsize(Pango::ELLIPSIZE_MIDDLE); + lbl_.set_justify(Gtk::JUSTIFY_LEFT); + set_none(); + box_.pack_start(lbl_, true, false); + Gtk::Image *img = Gtk::manage(new Gtk::Image()); + img->set_from_icon_name("document-open", Gtk::ICON_SIZE_BUTTON); + box_.pack_start(*Gtk::manage(new Gtk::VSeparator()), false, false, 5); + box_.pack_start(*img, false, false); + box_.show_all_children(); + add(box_); + signal_clicked().connect(sigc::mem_fun(*this, &MyFileChooserButton::show_chooser)); +} + + +void MyFileChooserButton::show_chooser() +{ +#if 1 + Gtk::FileChooserDialog dlg(*static_cast(get_toplevel()), title_, action_); + dlg.add_button("Cancel", Gtk::RESPONSE_CANCEL); + dlg.add_button("Ok", Gtk::RESPONSE_OK); + dlg.set_filename(filename_); + for (auto &f : file_filters_) { + dlg.add_filter(f); + } + if (cur_filter_) { + dlg.set_filter(cur_filter_); + } + for (auto &f : shortcut_folders_) { + dlg.add_shortcut_folder(f); + } + if (!current_folder_.empty()) { + dlg.set_current_folder(current_folder_); + } + int res = dlg.run(); + if (res == Gtk::RESPONSE_OK) { + filename_ = dlg.get_filename(); + current_folder_ = dlg.get_current_folder(); + lbl_.set_label(Glib::path_get_basename(filename_)); + selection_changed_.emit(); + } +#else + // TO BE COMPLETED! + GtkWindow *parent_window = static_cast(get_toplevel())->gobj(); + GtkFileChooserNative *native; + GtkFileChooserAction action = action_; + gint res; + + native = gtk_file_chooser_native_new (title_.c_str(), + parent_window, + action, + "_Ok", + "_Cancel"); + + res = gtk_native_dialog_run (GTK_NATIVE_DIALOG (native)); + if (res == GTK_RESPONSE_ACCEPT) + { + char *filename; + GtkFileChooser *chooser = GTK_FILE_CHOOSER (native); + filename = gtk_file_chooser_get_filename (chooser); + filename_ = filename; + g_free (filename); + lbl_.set_label(Glib::path_get_basename(filename_)); + selection_changed_.emit(); + } + + g_object_unref (native); +#endif +} + + +sigc::signal &MyFileChooserButton::signal_selection_changed() +{ + return selection_changed_; +} + + +sigc::signal &MyFileChooserButton::signal_file_set() +{ + return selection_changed_; +} + + +std::string MyFileChooserButton::get_filename() const +{ + return filename_; +} + + +bool MyFileChooserButton::set_filename(const std::string &filename) +{ + filename_ = filename; + if (Glib::file_test(filename_, Glib::FILE_TEST_EXISTS)) { + lbl_.set_label(Glib::path_get_basename(filename_)); + } else { + set_none(); + } + return true; +} + +void MyFileChooserButton::add_filter(const Glib::RefPtr &filter) +{ + file_filters_.push_back(filter); +} + + +void MyFileChooserButton::remove_filter(const Glib::RefPtr &filter) +{ + auto it = std::find(file_filters_.begin(), file_filters_.end(), filter); + if (it != file_filters_.end()) { + file_filters_.erase(it); + } +} + + +void MyFileChooserButton::set_filter(const Glib::RefPtr &filter) +{ + cur_filter_ = filter; +} + + +std::vector> MyFileChooserButton::list_filters() +{ + return file_filters_; +} + + +bool MyFileChooserButton::set_current_folder(const std::string &filename) +{ + current_folder_ = filename; + if (action_ == Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER) { + set_filename(filename); + } + return true; +} + +std::string MyFileChooserButton::get_current_folder() const +{ + return current_folder_; +} + + +bool MyFileChooserButton::add_shortcut_folder(const std::string &folder) +{ + shortcut_folders_.push_back(folder); + return true; +} + + +bool MyFileChooserButton::remove_shortcut_folder(const std::string &folder) +{ + auto it = std::find(shortcut_folders_.begin(), shortcut_folders_.end(), folder); + if (it != shortcut_folders_.end()) { + shortcut_folders_.erase(it); + } + return true; +} + + +void MyFileChooserButton::unselect_all() +{ + filename_ = ""; + set_none(); +} + + +void MyFileChooserButton::unselect_filename(const std::string &filename) +{ + if (filename_ == filename) { + unselect_all(); + } +} + + +void MyFileChooserButton::set_none() +{ + lbl_.set_label(Glib::ustring("(") + M("GENERAL_NONE") + ")"); } // For an unknown reason (a bug ?), it doesn't work when action = FILE_CHOOSER_ACTION_SELECT_FOLDER ! @@ -1179,7 +1358,7 @@ bool MyFileChooserButton::on_scroll_event (GdkEventScroll* event) // If Shift is pressed, the widget is modified if (event->state & GDK_SHIFT_MASK) { - Gtk::FileChooserButton::on_scroll_event(event); + Gtk::Button::on_scroll_event(event); return true; } @@ -1197,19 +1376,6 @@ void MyFileChooserButton::get_preferred_width_for_height_vfunc (int height, int } -void bindCurrentFolder (Gtk::FileChooser& chooser, Glib::ustring& variable) -{ - chooser.signal_selection_changed ().connect ([&]() - { - const auto current_folder = chooser.get_current_folder (); - - if (!current_folder.empty ()) - variable = current_folder; - }); - - if (!variable.empty ()) - chooser.set_current_folder (variable); -} TextOrIcon::TextOrIcon (Glib::ustring fname, Glib::ustring labelTx, Glib::ustring tooltipTx, TOITypes type) { diff --git a/rtgui/guiutils.h b/rtgui/guiutils.h index 7a71fc399..c1e607bff 100644 --- a/rtgui/guiutils.h +++ b/rtgui/guiutils.h @@ -33,6 +33,7 @@ // for convenience... #include "pathutils.h" +#include "multilangmgr.h" Glib::ustring escapeHtmlChars(const Glib::ustring &src); @@ -358,22 +359,69 @@ class MyHScale : public Gtk::HScale /** * @brief subclass of Gtk::FileChooserButton in order to handle the scrollwheel */ -class MyFileChooserButton : public Gtk::FileChooserButton -{ +class MyFileChooserButton: public Gtk::Button { +private: + void show_chooser(); + + Glib::ustring title_; + Gtk::FileChooserAction action_; + Gtk::HBox box_; + Gtk::Label lbl_; + std::string filename_; + std::string current_folder_; + std::vector> file_filters_; + Glib::RefPtr cur_filter_; + std::vector shortcut_folders_; + sigc::signal selection_changed_; protected: bool on_scroll_event (GdkEventScroll* event); void get_preferred_width_vfunc (int &minimum_width, int &natural_width) const; void get_preferred_width_for_height_vfunc (int height, int &minimum_width, int &natural_width) const; + void set_none(); + public: - MyFileChooserButton (const Glib::ustring& title, Gtk::FileChooserAction action = Gtk::FILE_CHOOSER_ACTION_OPEN); + MyFileChooserButton(const Glib::ustring &title, Gtk::FileChooserAction action=Gtk::FILE_CHOOSER_ACTION_OPEN); + + sigc::signal &signal_selection_changed(); + sigc::signal &signal_file_set(); + + std::string get_filename() const; + bool set_filename(const std::string &filename); + + void add_filter(const Glib::RefPtr &filter); + void remove_filter(const Glib::RefPtr &filter); + void set_filter(const Glib::RefPtr &filter); + std::vector> list_filters(); + + bool set_current_folder(const std::string &filename); + std::string get_current_folder() const; + + bool add_shortcut_folder(const std::string &folder); + bool remove_shortcut_folder(const std::string &folder); + + void unselect_all(); + void unselect_filename(const std::string &filename); }; /** * @brief A helper method to connect the current folder property of a file chooser to an arbitrary variable. */ -void bindCurrentFolder (Gtk::FileChooser& chooser, Glib::ustring& variable); +template +void bindCurrentFolder (FileChooser& chooser, Glib::ustring& variable) +{ + chooser.signal_selection_changed ().connect ([&]() + { + const auto current_folder = chooser.get_current_folder (); + + if (!current_folder.empty ()) + variable = current_folder; + }); + + if (!variable.empty ()) + chooser.set_current_folder (variable); +} typedef enum RTUpdatePolicy { RTUP_STATIC, diff --git a/rtgui/lensprofile.cc b/rtgui/lensprofile.cc index 6415c1fce..310c48d41 100644 --- a/rtgui/lensprofile.cc +++ b/rtgui/lensprofile.cc @@ -132,7 +132,7 @@ LensProfilePanel::LensProfilePanel () : ckbUseCA = Gtk::manage (new Gtk::CheckButton (M("TP_LENSPROFILE_USECA"))); pack_start (*ckbUseCA, Gtk::PACK_SHRINK, 4); - conLCPFile = fcbLCPFile->signal_file_set().connect( sigc::mem_fun(*this, &LensProfilePanel::onLCPFileChanged), true); + conLCPFile = fcbLCPFile->signal_file_set().connect( sigc::mem_fun(*this, &LensProfilePanel::onLCPFileChanged)); //, true); conUseDist = ckbUseDist->signal_toggled().connect( sigc::mem_fun(*this, &LensProfilePanel::onUseDistChanged) ); ckbUseVign->signal_toggled().connect( sigc::mem_fun(*this, &LensProfilePanel::onUseVignChanged) ); ckbUseCA->signal_toggled().connect( sigc::mem_fun(*this, &LensProfilePanel::onUseCAChanged) ); diff --git a/rtgui/preferences.cc b/rtgui/preferences.cc index 974ba5450..e03542b3e 100644 --- a/rtgui/preferences.cc +++ b/rtgui/preferences.cc @@ -520,7 +520,7 @@ Gtk::Widget* Preferences::getProcParamsPanel () Gtk::Label *dfLab = Gtk::manage (new Gtk::Label (M ("PREFERENCES_DIRDARKFRAMES") + ":")); setExpandAlignProperties(dfLab, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); - darkFrameDir = Gtk::manage (new Gtk::FileChooserButton (M ("PREFERENCES_DIRDARKFRAMES"), Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER)); + darkFrameDir = Gtk::manage (new MyFileChooserButton (M ("PREFERENCES_DIRDARKFRAMES"), Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER)); setExpandAlignProperties(darkFrameDir, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); dfLabel = Gtk::manage (new Gtk::Label ("Found:")); setExpandAlignProperties(dfLabel, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); @@ -530,12 +530,12 @@ Gtk::Widget* Preferences::getProcParamsPanel () dirgrid->attach_next_to(*dfLabel, *darkFrameDir, Gtk::POS_RIGHT, 1, 1); //dfconn = darkFrameDir->signal_file_set().connect ( sigc::mem_fun(*this, &Preferences::darkFrameChanged), true); - dfconn = darkFrameDir->signal_selection_changed().connect ( sigc::mem_fun (*this, &Preferences::darkFrameChanged), true); + dfconn = darkFrameDir->signal_selection_changed().connect ( sigc::mem_fun (*this, &Preferences::darkFrameChanged)); //, true); // FLATFIELD Gtk::Label *ffLab = Gtk::manage (new Gtk::Label (M ("PREFERENCES_FLATFIELDSDIR") + ":")); setExpandAlignProperties(ffLab, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); - flatFieldDir = Gtk::manage (new Gtk::FileChooserButton (M ("PREFERENCES_FLATFIELDSDIR"), Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER)); + flatFieldDir = Gtk::manage (new MyFileChooserButton (M ("PREFERENCES_FLATFIELDSDIR"), Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER)); setExpandAlignProperties(flatFieldDir, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); ffLabel = Gtk::manage (new Gtk::Label ("Found:")); setExpandAlignProperties(ffLabel, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); @@ -545,12 +545,12 @@ Gtk::Widget* Preferences::getProcParamsPanel () dirgrid->attach_next_to(*ffLabel, *flatFieldDir, Gtk::POS_RIGHT, 1, 1); //ffconn = flatFieldDir->signal_file_set().connect ( sigc::mem_fun(*this, &Preferences::flatFieldChanged), true); - ffconn = flatFieldDir->signal_selection_changed().connect ( sigc::mem_fun (*this, &Preferences::flatFieldChanged), true); + ffconn = flatFieldDir->signal_selection_changed().connect ( sigc::mem_fun (*this, &Preferences::flatFieldChanged)); //, true); //Cluts Dir Gtk::Label *clutsDirLabel = Gtk::manage (new Gtk::Label (M ("PREFERENCES_CLUTSDIR") + ":")); setExpandAlignProperties(clutsDirLabel, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); - clutsDir = Gtk::manage (new Gtk::FileChooserButton (M ("PREFERENCES_CLUTSDIR"), Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER)); + clutsDir = Gtk::manage (new MyFileChooserButton (M ("PREFERENCES_CLUTSDIR"), Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER)); setExpandAlignProperties(clutsDir, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); Gtk::Label* clutsRestartNeeded = Gtk::manage ( new Gtk::Label (Glib::ustring (" (") + M ("PREFERENCES_APPLNEXTSTARTUP") + ")") ); setExpandAlignProperties(clutsRestartNeeded, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); @@ -720,7 +720,7 @@ Gtk::Widget* Preferences::getColorManagementPanel () Gtk::VBox* mvbcm = Gtk::manage (new Gtk::VBox ()); mvbcm->set_spacing (4); - iccDir = Gtk::manage (new Gtk::FileChooserButton (M ("PREFERENCES_ICCDIR"), Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER)); + iccDir = Gtk::manage (new MyFileChooserButton (M ("PREFERENCES_ICCDIR"), Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER)); setExpandAlignProperties (iccDir, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); Gtk::Label* pdlabel = Gtk::manage (new Gtk::Label (M ("PREFERENCES_ICCDIR") + ":", Gtk::ALIGN_START)); setExpandAlignProperties (pdlabel, false, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); @@ -1207,7 +1207,7 @@ Gtk::Widget* Preferences::getGeneralPanel () edPS = Gtk::manage ( new Gtk::RadioButton (M ("PREFERENCES_PSPATH") + ":")); setExpandAlignProperties (edPS, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); - psDir = Gtk::manage ( new Gtk::FileChooserButton (M ("PREFERENCES_PSPATH"), Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER) ); + psDir = Gtk::manage ( new MyFileChooserButton (M ("PREFERENCES_PSPATH"), Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER) ); setExpandAlignProperties (psDir, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); externaleditorGrid->attach_next_to (*edPS, *edGimp, Gtk::POS_BOTTOM, 1, 1); externaleditorGrid->attach_next_to (*psDir, *edPS, Gtk::POS_RIGHT, 1, 1); @@ -1218,7 +1218,7 @@ Gtk::Widget* Preferences::getGeneralPanel () #elif defined WIN32 edGimp = Gtk::manage ( new Gtk::RadioButton (M ("PREFERENCES_GIMPPATH") + ":") ); setExpandAlignProperties (edGimp, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); - gimpDir = Gtk::manage ( new Gtk::FileChooserButton (M ("PREFERENCES_GIMPPATH"), Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER) ); + gimpDir = Gtk::manage ( new MyFileChooserButton (M ("PREFERENCES_GIMPPATH"), Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER) ); setExpandAlignProperties (gimpDir, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); externaleditorGrid->attach_next_to (*edGimp, Gtk::POS_TOP, 1, 1); externaleditorGrid->attach_next_to (*gimpDir, *edGimp, Gtk::POS_RIGHT, 1, 1); @@ -1226,7 +1226,7 @@ Gtk::Widget* Preferences::getGeneralPanel () edPS = Gtk::manage ( new Gtk::RadioButton (M ("PREFERENCES_PSPATH") + ":") ); setExpandAlignProperties (edPS, false, false, Gtk::ALIGN_START, Gtk::ALIGN_CENTER); - psDir = Gtk::manage ( new Gtk::FileChooserButton (M ("PREFERENCES_PSPATH"), Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER) ); + psDir = Gtk::manage ( new MyFileChooserButton (M ("PREFERENCES_PSPATH"), Gtk::FILE_CHOOSER_ACTION_SELECT_FOLDER) ); setExpandAlignProperties (psDir, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER); externaleditorGrid->attach_next_to (*edPS, *edGimp, Gtk::POS_BOTTOM, 1, 1); externaleditorGrid->attach_next_to (*psDir, *edPS, Gtk::POS_RIGHT, 1, 1); diff --git a/rtgui/preferences.h b/rtgui/preferences.h index 3849a175e..b3efd8b6a 100644 --- a/rtgui/preferences.h +++ b/rtgui/preferences.h @@ -89,15 +89,15 @@ class Preferences : public Gtk::Dialog, public ProfileStoreListener Gtk::RadioButton* sdlast; Gtk::RadioButton* sdhome; Gtk::RadioButton* sdother; - Gtk::FileChooserButton* gimpDir; - Gtk::FileChooserButton* psDir; + MyFileChooserButton* gimpDir; + MyFileChooserButton* psDir; Gtk::Entry* editorToSendTo; Gtk::RadioButton* edGimp; Gtk::RadioButton* edPS; Gtk::RadioButton* edOther; - Gtk::FileChooserButton* darkFrameDir; - Gtk::FileChooserButton* flatFieldDir; - Gtk::FileChooserButton* clutsDir; + MyFileChooserButton* darkFrameDir; + MyFileChooserButton* flatFieldDir; + MyFileChooserButton* clutsDir; Gtk::Label *dfLabel; Gtk::Label *ffLabel; @@ -105,7 +105,7 @@ class Preferences : public Gtk::Dialog, public ProfileStoreListener Gtk::CheckButton* showBasicExif; Gtk::CheckButton* showExpComp; - Gtk::FileChooserButton* iccDir; + MyFileChooserButton* iccDir; Gtk::ComboBoxText* prtProfile; Gtk::ComboBoxText* prtIntent; Gtk::CheckButton* prtBPC; From cf75429648dd4260f82112e1132178d57328fdac Mon Sep 17 00:00:00 2001 From: Alberto Griggio Date: Tue, 24 Oct 2017 11:48:07 +0200 Subject: [PATCH 04/19] added set_show_hidden() method to MyFileChooserButton --- rtgui/guiutils.cc | 10 +++++++++- rtgui/guiutils.h | 3 +++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/rtgui/guiutils.cc b/rtgui/guiutils.cc index c0f02aa60..99817204d 100644 --- a/rtgui/guiutils.cc +++ b/rtgui/guiutils.cc @@ -1172,7 +1172,7 @@ MyFileChooserButton::MyFileChooserButton(const Glib::ustring &title, Gtk::FileCh title_(title), action_(action), lbl_(""), - filename_("") + show_hidden_(false) { lbl_.set_ellipsize(Pango::ELLIPSIZE_MIDDLE); lbl_.set_justify(Gtk::JUSTIFY_LEFT); @@ -1207,6 +1207,7 @@ void MyFileChooserButton::show_chooser() if (!current_folder_.empty()) { dlg.set_current_folder(current_folder_); } + dlg.set_show_hidden(show_hidden_); int res = dlg.run(); if (res == Gtk::RESPONSE_OK) { filename_ = dlg.get_filename(); @@ -1273,6 +1274,7 @@ bool MyFileChooserButton::set_filename(const std::string &filename) return true; } + void MyFileChooserButton::add_filter(const Glib::RefPtr &filter) { file_filters_.push_back(filter); @@ -1347,6 +1349,12 @@ void MyFileChooserButton::unselect_filename(const std::string &filename) } +void MyFileChooserButton::set_show_hidden(bool yes) +{ + show_hidden_ = yes; +} + + void MyFileChooserButton::set_none() { lbl_.set_label(Glib::ustring("(") + M("GENERAL_NONE") + ")"); diff --git a/rtgui/guiutils.h b/rtgui/guiutils.h index c1e607bff..186d21527 100644 --- a/rtgui/guiutils.h +++ b/rtgui/guiutils.h @@ -372,6 +372,7 @@ private: std::vector> file_filters_; Glib::RefPtr cur_filter_; std::vector shortcut_folders_; + bool show_hidden_; sigc::signal selection_changed_; protected: @@ -403,6 +404,8 @@ public: void unselect_all(); void unselect_filename(const std::string &filename); + + void set_show_hidden(bool yes); }; /** From 5be042bcd42669c302a93597ffb52e8cb72a5b37 Mon Sep 17 00:00:00 2001 From: Alberto Griggio Date: Tue, 24 Oct 2017 12:00:38 +0200 Subject: [PATCH 05/19] use ALIGN_START for the label of MyFileChooserButton --- rtgui/guiutils.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rtgui/guiutils.cc b/rtgui/guiutils.cc index 99817204d..c62c94f1a 100644 --- a/rtgui/guiutils.cc +++ b/rtgui/guiutils.cc @@ -1171,13 +1171,13 @@ bool MyHScale::on_key_press_event (GdkEventKey* event) MyFileChooserButton::MyFileChooserButton(const Glib::ustring &title, Gtk::FileChooserAction action): title_(title), action_(action), - lbl_(""), + lbl_("", Gtk::ALIGN_START), show_hidden_(false) { lbl_.set_ellipsize(Pango::ELLIPSIZE_MIDDLE); lbl_.set_justify(Gtk::JUSTIFY_LEFT); set_none(); - box_.pack_start(lbl_, true, false); + box_.pack_start(lbl_, true, true); Gtk::Image *img = Gtk::manage(new Gtk::Image()); img->set_from_icon_name("document-open", Gtk::ICON_SIZE_BUTTON); box_.pack_start(*Gtk::manage(new Gtk::VSeparator()), false, false, 5); From a0a7b717c168e84c17abdeb400945ae231512c48 Mon Sep 17 00:00:00 2001 From: Alberto Griggio Date: Tue, 24 Oct 2017 14:03:02 +0200 Subject: [PATCH 06/19] simplify the implementation of MyFileChooserButton::show_chooser Do not try to show a native file dialog. I think this would be useless, since RT already uses non-native dialogs in other places, and I'm not sure it would be possible to replace all of them (e.g. in icmpanel.cc the dialog is customized by adding a checkbox for WB, and this is not possible with a native dialog). --- rtgui/guiutils.cc | 76 +++++++++++++++-------------------------------- 1 file changed, 24 insertions(+), 52 deletions(-) diff --git a/rtgui/guiutils.cc b/rtgui/guiutils.cc index c62c94f1a..1512b3537 100644 --- a/rtgui/guiutils.cc +++ b/rtgui/guiutils.cc @@ -1190,58 +1190,30 @@ MyFileChooserButton::MyFileChooserButton(const Glib::ustring &title, Gtk::FileCh void MyFileChooserButton::show_chooser() { -#if 1 - Gtk::FileChooserDialog dlg(*static_cast(get_toplevel()), title_, action_); - dlg.add_button("Cancel", Gtk::RESPONSE_CANCEL); - dlg.add_button("Ok", Gtk::RESPONSE_OK); - dlg.set_filename(filename_); - for (auto &f : file_filters_) { - dlg.add_filter(f); - } - if (cur_filter_) { - dlg.set_filter(cur_filter_); - } - for (auto &f : shortcut_folders_) { - dlg.add_shortcut_folder(f); - } - if (!current_folder_.empty()) { - dlg.set_current_folder(current_folder_); - } - dlg.set_show_hidden(show_hidden_); - int res = dlg.run(); - if (res == Gtk::RESPONSE_OK) { - filename_ = dlg.get_filename(); - current_folder_ = dlg.get_current_folder(); - lbl_.set_label(Glib::path_get_basename(filename_)); - selection_changed_.emit(); - } -#else - // TO BE COMPLETED! - GtkWindow *parent_window = static_cast(get_toplevel())->gobj(); - GtkFileChooserNative *native; - GtkFileChooserAction action = action_; - gint res; - - native = gtk_file_chooser_native_new (title_.c_str(), - parent_window, - action, - "_Ok", - "_Cancel"); - - res = gtk_native_dialog_run (GTK_NATIVE_DIALOG (native)); - if (res == GTK_RESPONSE_ACCEPT) - { - char *filename; - GtkFileChooser *chooser = GTK_FILE_CHOOSER (native); - filename = gtk_file_chooser_get_filename (chooser); - filename_ = filename; - g_free (filename); - lbl_.set_label(Glib::path_get_basename(filename_)); - selection_changed_.emit(); - } - - g_object_unref (native); -#endif + Gtk::FileChooserDialog dlg(*static_cast(get_toplevel()), title_, action_); + dlg.add_button("Cancel", Gtk::RESPONSE_CANCEL); + dlg.add_button("Ok", Gtk::RESPONSE_OK); + dlg.set_filename(filename_); + for (auto &f : file_filters_) { + dlg.add_filter(f); + } + if (cur_filter_) { + dlg.set_filter(cur_filter_); + } + for (auto &f : shortcut_folders_) { + dlg.add_shortcut_folder(f); + } + if (!current_folder_.empty()) { + dlg.set_current_folder(current_folder_); + } + dlg.set_show_hidden(show_hidden_); + int res = dlg.run(); + if (res == Gtk::RESPONSE_OK) { + filename_ = dlg.get_filename(); + current_folder_ = dlg.get_current_folder(); + lbl_.set_label(Glib::path_get_basename(filename_)); + selection_changed_.emit(); + } } From 46e3471d0fbe729e9fdd20752ce6268716aacd61 Mon Sep 17 00:00:00 2001 From: Alberto Griggio Date: Tue, 24 Oct 2017 15:09:40 +0200 Subject: [PATCH 07/19] minor tweak to the ok/cancel button labels of MyFileChooserButton --- rtgui/guiutils.cc | 6 +++--- rtgui/guiutils.h | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/rtgui/guiutils.cc b/rtgui/guiutils.cc index 1512b3537..430e03968 100644 --- a/rtgui/guiutils.cc +++ b/rtgui/guiutils.cc @@ -1190,9 +1190,9 @@ MyFileChooserButton::MyFileChooserButton(const Glib::ustring &title, Gtk::FileCh void MyFileChooserButton::show_chooser() { - Gtk::FileChooserDialog dlg(*static_cast(get_toplevel()), title_, action_); - dlg.add_button("Cancel", Gtk::RESPONSE_CANCEL); - dlg.add_button("Ok", Gtk::RESPONSE_OK); + Gtk::FileChooserDialog dlg(getToplevelWindow(this), title_, action_); + dlg.add_button(M("GENERAL_CANCEL"), Gtk::RESPONSE_CANCEL); + dlg.add_button(M(action_ == Gtk::FILE_CHOOSER_ACTION_SAVE ? "GENERAL_SAVE" : "GENERAL_OPEN"), Gtk::RESPONSE_OK); dlg.set_filename(filename_); for (auto &f : file_filters_) { dlg.add_filter(f); diff --git a/rtgui/guiutils.h b/rtgui/guiutils.h index 186d21527..2861b4913 100644 --- a/rtgui/guiutils.h +++ b/rtgui/guiutils.h @@ -33,7 +33,6 @@ // for convenience... #include "pathutils.h" -#include "multilangmgr.h" Glib::ustring escapeHtmlChars(const Glib::ustring &src); From 08b1b41770ef5e2382f6d4fab9bec6de0d80e8c6 Mon Sep 17 00:00:00 2001 From: Benitoite Date: Wed, 25 Oct 2017 01:07:06 -0700 Subject: [PATCH 08/19] Update macosx_bundle.sh --- tools/osx/macosx_bundle.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/osx/macosx_bundle.sh b/tools/osx/macosx_bundle.sh index 7828363cb..8b9cbccb6 100644 --- a/tools/osx/macosx_bundle.sh +++ b/tools/osx/macosx_bundle.sh @@ -159,7 +159,7 @@ mkdir -p "${RESOURCES}/share/lensfun" cp /opt/local/share/lensfun/version_1/* "${RESOURCES}/share/lensfun" # Copy the libiomp5 license into the app bundle -cp "${PROJECT_SOURCE_DATA_DIR}/licenses/osx_libiomp5_LICENSE.txt" "${RESOURCES}" +cp "${PROJECT_SOURCE_DIR}/licenses/osx_libiomp5_LICENSE.txt" "${RESOURCES}" # Install names find -E "${CONTENTS}" -type f -regex '.*/(rawtherapee-cli|rawtherapee|.*\.(dylib|so))' | while read -r x; do From 8322f03e3dd374558bec929c8363454d7a4bf92f Mon Sep 17 00:00:00 2001 From: Alberto Griggio Date: Wed, 25 Oct 2017 10:30:19 +0200 Subject: [PATCH 09/19] added a default border to MyFileChooserButton, and set the widget name to "MyFileChooserButton" (to allow for CSS customization) --- rtgui/guiutils.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/rtgui/guiutils.cc b/rtgui/guiutils.cc index 430e03968..91e223a53 100644 --- a/rtgui/guiutils.cc +++ b/rtgui/guiutils.cc @@ -1177,14 +1177,20 @@ MyFileChooserButton::MyFileChooserButton(const Glib::ustring &title, Gtk::FileCh lbl_.set_ellipsize(Pango::ELLIPSIZE_MIDDLE); lbl_.set_justify(Gtk::JUSTIFY_LEFT); set_none(); - box_.pack_start(lbl_, true, true); + box_.pack_start(lbl_, true, true, 3); Gtk::Image *img = Gtk::manage(new Gtk::Image()); img->set_from_icon_name("document-open", Gtk::ICON_SIZE_BUTTON); box_.pack_start(*Gtk::manage(new Gtk::VSeparator()), false, false, 5); - box_.pack_start(*img, false, false); + box_.pack_start(*img, false, false, 3); box_.show_all_children(); add(box_); signal_clicked().connect(sigc::mem_fun(*this, &MyFileChooserButton::show_chooser)); + + set_border_width(2); + set_name("MyFileChooserButton"); + lbl_.set_name("MyFileChooserButton"); + box_.set_name("MyFileChooserButton"); + img->set_name("MyFileChooserButton"); } From c3bdd47a6232a5f34bb7f1246601e624fa85560a Mon Sep 17 00:00:00 2001 From: Alberto Griggio Date: Wed, 25 Oct 2017 22:35:26 +0200 Subject: [PATCH 10/19] make MyFileChooserButton behave nicely with CSS themes Note: I still had to hardcode a set_border_width(2) for GTK+ < 3.20, because nothing I tried on the CSS worked... --- rtdata/themes/RawTherapee-GTK3-_19.css | 6 ++++++ rtgui/guiutils.cc | 12 ++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/rtdata/themes/RawTherapee-GTK3-_19.css b/rtdata/themes/RawTherapee-GTK3-_19.css index 8263dd857..8443768c3 100644 --- a/rtdata/themes/RawTherapee-GTK3-_19.css +++ b/rtdata/themes/RawTherapee-GTK3-_19.css @@ -500,3 +500,9 @@ GtkNotebook { #PartialPasteHeaderSep { color: #D8D8D8; } + + +#MyFileChooserButton { + padding-left: 3px; + padding-right: 3px; +} diff --git a/rtgui/guiutils.cc b/rtgui/guiutils.cc index 91e223a53..42696abb4 100644 --- a/rtgui/guiutils.cc +++ b/rtgui/guiutils.cc @@ -1177,20 +1177,20 @@ MyFileChooserButton::MyFileChooserButton(const Glib::ustring &title, Gtk::FileCh lbl_.set_ellipsize(Pango::ELLIPSIZE_MIDDLE); lbl_.set_justify(Gtk::JUSTIFY_LEFT); set_none(); - box_.pack_start(lbl_, true, true, 3); + box_.pack_start(lbl_, true, true); Gtk::Image *img = Gtk::manage(new Gtk::Image()); img->set_from_icon_name("document-open", Gtk::ICON_SIZE_BUTTON); box_.pack_start(*Gtk::manage(new Gtk::VSeparator()), false, false, 5); - box_.pack_start(*img, false, false, 3); + box_.pack_start(*img, false, false); box_.show_all_children(); add(box_); signal_clicked().connect(sigc::mem_fun(*this, &MyFileChooserButton::show_chooser)); - set_border_width(2); + if (GTK_MINOR_VERSION < 20) { + set_border_width(2); // agriggio: margin doesn't seem to work for me on GTK 3.18 + } + set_name("MyFileChooserButton"); - lbl_.set_name("MyFileChooserButton"); - box_.set_name("MyFileChooserButton"); - img->set_name("MyFileChooserButton"); } From e44662a8992d62b01c64a3b69b4db7bfa22dc026 Mon Sep 17 00:00:00 2001 From: Alberto Griggio Date: Thu, 26 Oct 2017 09:08:44 +0200 Subject: [PATCH 11/19] updated comment about margin and GTK < 3.20 --- rtgui/guiutils.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rtgui/guiutils.cc b/rtgui/guiutils.cc index 42696abb4..49ce25b60 100644 --- a/rtgui/guiutils.cc +++ b/rtgui/guiutils.cc @@ -1187,7 +1187,7 @@ MyFileChooserButton::MyFileChooserButton(const Glib::ustring &title, Gtk::FileCh signal_clicked().connect(sigc::mem_fun(*this, &MyFileChooserButton::show_chooser)); if (GTK_MINOR_VERSION < 20) { - set_border_width(2); // agriggio: margin doesn't seem to work for me on GTK 3.18 + set_border_width(2); // margin doesn't work on GTK < 3.20 } set_name("MyFileChooserButton"); From 3809d7795d250bb6d6a31ba2968b11d2e2c270f0 Mon Sep 17 00:00:00 2001 From: Alberto Griggio Date: Thu, 26 Oct 2017 15:01:18 +0200 Subject: [PATCH 12/19] added CSS style for MyFileChooserButton for GTK+ >= 3.20 --- rtdata/themes/RawTherapee-GTK3-20_.css | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/rtdata/themes/RawTherapee-GTK3-20_.css b/rtdata/themes/RawTherapee-GTK3-20_.css index 94886d6fb..b0a7ac071 100644 --- a/rtdata/themes/RawTherapee-GTK3-20_.css +++ b/rtdata/themes/RawTherapee-GTK3-20_.css @@ -903,3 +903,13 @@ paned > separator { #PartialPasteHeaderSep { background-color: #D8D8D8; } + +/* All MyFileChooserButtons */ +button#MyFileChooserButton { + padding: 2px; + margin: 2px; +} + +#ToolPanelNotebook button { + margin: 0px; +} From 1c86c3c44d73c838e554ec648afb71dc2a3d312c Mon Sep 17 00:00:00 2001 From: Alberto Griggio Date: Thu, 26 Oct 2017 15:02:55 +0200 Subject: [PATCH 13/19] Disable LCP CA correction if LCP distortion is enabled This was the old behaviour before lensfun integration. In order to enable both CA and distortion correction from the LCP, more work is needed. (temporary) fix for #4159 --- rtengine/iptransform.cc | 7 ++++--- rtengine/simpleprocess.cc | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/rtengine/iptransform.cc b/rtengine/iptransform.cc index f227af2ed..d06872a64 100644 --- a/rtengine/iptransform.cc +++ b/rtengine/iptransform.cc @@ -796,9 +796,6 @@ void ImProcFunctions::transformGeneral(ImProcFunctions::TransformMode mode, Imag case ImProcFunctions::TRANSFORM_HIGH_QUALITY: { enableLCPDist = pLCPMap && params->lensProf.useDist; - if (enableLCPCA) { - enableLCPDist = false; - } enableCA = enableLCPCA || needsCA(); } //no break on purpose @@ -810,6 +807,10 @@ void ImProcFunctions::transformGeneral(ImProcFunctions::TransformMode mode, Imag } } + if (enableLCPCA) { + enableLCPDist = false; + } + if (!enableCA) { chDist[0] = 0.0; } diff --git a/rtengine/simpleprocess.cc b/rtengine/simpleprocess.cc index cc199389a..93d2a3149 100644 --- a/rtengine/simpleprocess.cc +++ b/rtengine/simpleprocess.cc @@ -817,7 +817,8 @@ private: trImg = baseImg; } else { trImg = new Imagefloat (fw, fh); - } ipf.transform (baseImg, trImg, 0, 0, 0, 0, fw, fh, fw, fh, + } + ipf.transform (baseImg, trImg, 0, 0, 0, 0, fw, fh, fw, fh, imgsrc->getMetaData(), imgsrc->getRotateDegree(), true); if(trImg != baseImg) { delete baseImg; From 075960683c11129060f76d5e020782c3eb8eae0f Mon Sep 17 00:00:00 2001 From: TooWaBoo Date: Thu, 26 Oct 2017 19:50:01 +0200 Subject: [PATCH 14/19] Update TooWaBoo to version 2.59 Please merge together with https://github.com/Beep6581/RawTherapee/pull/4158 --- rtdata/themes/TooWaBlue-GTK3-20_.css | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/rtdata/themes/TooWaBlue-GTK3-20_.css b/rtdata/themes/TooWaBlue-GTK3-20_.css index 569d151a1..a22314c2e 100644 --- a/rtdata/themes/TooWaBlue-GTK3-20_.css +++ b/rtdata/themes/TooWaBlue-GTK3-20_.css @@ -2,7 +2,7 @@ This file is part of RawTherapee. Copyright (c) 2016-2017 TooWaBoo - Version 2.58 + Version 2.59 RawTherapee is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -425,7 +425,7 @@ paned.horizontal > separator { } paned.vertical > separator { - background-image: image(@bg-dark-grey); + background-image: image(@bg-dark-grey); background-color: @bg-light-grey; min-height: 0.5em; border-top: 1px solid @bg-light-grey; @@ -1197,7 +1197,7 @@ popover.background { border-radius: 0; padding: 0; margin: 0; - box-shadow: 0 1px 6px 1px rgba(0, 0, 0, 0.5), 0 0 0 1px @bg-dark-grey; + box-shadow: 0 1px 6px 1px rgba(0, 0, 0, 0.5), 0 0 0 1px @bg-dark-grey; } popover.background > box { padding: 0; @@ -1239,6 +1239,21 @@ button.text-button label { margin: 0 0.5em;/* x */ } +#PrefNotebook > stack > :nth-child(5) combobox { + /* margin: 0.16667em 0; */ + margin: 2px 0; +} +#PrefNotebook > stack > :nth-child(2) #MyFileChooserButton { + /* margin: 0.25em 0.33334em; */ + margin: 3px 5px; +} + +filechooser button image, +#MyFileChooserButton image { + opacity: .8; + -gtk-icon-style: symbolic; +} + #MainNotebook > header > grid > button, button.flat { border: 0.08334em solid transparent; @@ -1343,6 +1358,10 @@ dialog button, padding: 0 0.375em; margin: 0.08334em 0; } +#MyExpander #MyFileChooserButton + button.image-button{ + min-width: 1.66667em; + padding: 0; +} combobox .combo, dialog combobox .combo, #ToolPanelNotebook combobox .combo, @@ -1362,7 +1381,6 @@ dialog combobox .combo, #MyExpander combobox + label */ { margin-left: 0.16667em; } -#MyExpander label + filechooserbutton, #MyExpander label + * > button:not(.flat).Left, #MyExpander label + combobox:not(:first-child):not(:only-child), #MyExpander label + button:not(.flat):not(spinbutton) { @@ -1630,7 +1648,7 @@ radio { box-shadow: none; background-repeat: no-repeat; -gtk-icon-shadow: none; - color: @text-color; + color: @text-color; } radiobutton label, checkbutton label { From c39a054eab4a90c3a5aa0cd24b2cfe3c4bfb2273 Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Sun, 29 Oct 2017 18:31:18 +0100 Subject: [PATCH 15/19] Added keyboard shortcuts for "Copy to" and "Move to", closes #3271 --- rtgui/filebrowser.cc | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/rtgui/filebrowser.cc b/rtgui/filebrowser.cc index 0a4bec4ab..cda737285 100644 --- a/rtgui/filebrowser.cc +++ b/rtgui/filebrowser.cc @@ -401,6 +401,8 @@ FileBrowser::FileBrowser () : copyprof->add_accelerator ("activate", pmenu->get_accel_group(), GDK_KEY_C, Gdk::CONTROL_MASK, Gtk::ACCEL_VISIBLE); pasteprof->add_accelerator ("activate", pmenu->get_accel_group(), GDK_KEY_V, Gdk::CONTROL_MASK, Gtk::ACCEL_VISIBLE); partpasteprof->add_accelerator ("activate", pmenu->get_accel_group(), GDK_KEY_V, Gdk::CONTROL_MASK | Gdk::SHIFT_MASK, Gtk::ACCEL_VISIBLE); + copyTo->add_accelerator ("activate", pmenu->get_accel_group(), GDK_KEY_C, Gdk::CONTROL_MASK | Gdk::SHIFT_MASK, Gtk::ACCEL_VISIBLE); + moveTo->add_accelerator ("activate", pmenu->get_accel_group(), GDK_KEY_M, Gdk::CONTROL_MASK | Gdk::SHIFT_MASK, Gtk::ACCEL_VISIBLE); // Bind to event handlers open->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::menuItemActivated), open)); @@ -440,8 +442,6 @@ FileBrowser::FileBrowser () : clearprof->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::menuItemActivated), clearprof)); cachemenu->signal_activate().connect (sigc::bind(sigc::mem_fun(*this, &FileBrowser::menuItemActivated), cachemenu)); - - // A separate pop-up menu for Color Labels int c = 0; pmenuColorLabels = new Gtk::Menu (); @@ -497,6 +497,8 @@ void FileBrowser::rightClicked (ThumbBrowserEntryBase* entry) partpasteprof->set_sensitive (clipboard.hasProcParams()); copyprof->set_sensitive (selected.size() == 1); clearprof->set_sensitive (!selected.empty()); + copyTo->set_sensitive (!selected.empty()); + moveTo->set_sensitive (!selected.empty()); } // submenuDF @@ -1115,7 +1117,14 @@ bool FileBrowser::keyPressed (GdkEventKey* event) #ifdef __WIN32__ bool altgr = event->state & GDK_MOD2_MASK; #endif - if ((event->keyval == GDK_KEY_C || event->keyval == GDK_KEY_c || event->keyval == GDK_KEY_Insert) && ctrl) { + + if ((event->keyval == GDK_KEY_C || event->keyval == GDK_KEY_c) && ctrl && shift) { + menuItemActivated (copyTo); + return true; + } else if ((event->keyval == GDK_KEY_M || event->keyval == GDK_KEY_m) && ctrl && shift) { + menuItemActivated (moveTo); + return true; + } else if ((event->keyval == GDK_KEY_C || event->keyval == GDK_KEY_c || event->keyval == GDK_KEY_Insert) && ctrl) { copyProfile (); return true; } else if ((event->keyval == GDK_KEY_V || event->keyval == GDK_KEY_v) && ctrl && !shift) { From 157fc26a606bcac1a46376ce860e9e3b7996c39b Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Sun, 29 Oct 2017 21:57:54 +0100 Subject: [PATCH 16/19] generateTranslationDiffs --- rtdata/languages/Catala | 4 +--- rtdata/languages/Chinese (Simplified) | 4 +--- rtdata/languages/Chinese (Traditional) | 4 +--- rtdata/languages/Czech | 4 +--- rtdata/languages/Dansk | 4 +--- rtdata/languages/Deutsch | 4 +--- rtdata/languages/English (UK) | 4 +--- rtdata/languages/English (US) | 4 +--- rtdata/languages/Espanol | 4 +--- rtdata/languages/Euskara | 4 +--- rtdata/languages/Greek | 4 +--- rtdata/languages/Hebrew | 4 +--- rtdata/languages/Italiano | 4 +--- rtdata/languages/Japanese | 4 +--- rtdata/languages/Latvian | 4 +--- rtdata/languages/Magyar | 4 +--- rtdata/languages/Nederlands | 4 +--- rtdata/languages/Norsk BM | 4 +--- rtdata/languages/Polish | 4 +--- rtdata/languages/Polish (Latin Characters) | 4 +--- rtdata/languages/Portugues (Brasil) | 4 +--- rtdata/languages/Russian | 4 +--- rtdata/languages/Serbian (Cyrilic Characters) | 4 +--- rtdata/languages/Serbian (Latin Characters) | 4 +--- rtdata/languages/Slovak | 4 +--- rtdata/languages/Suomi | 4 +--- rtdata/languages/Swedish | 4 +--- rtdata/languages/Turkish | 4 +--- 28 files changed, 28 insertions(+), 84 deletions(-) diff --git a/rtdata/languages/Catala b/rtdata/languages/Catala index de98ba38f..b58aa7004 100644 --- a/rtdata/languages/Catala +++ b/rtdata/languages/Catala @@ -512,7 +512,6 @@ PREFERENCES_CUSTPROFBUILD;Constructor de perfils de procés particulars PREFERENCES_CUSTPROFBUILDHINT;Nom del fitxer executable (o script) per a usar un nou perfil de procés en una imatge.\nRep paràmetres en línia d'ordres per a la generació de perfils basats en regles:\n[raw/JPG path] [path per omissió del perfil de procés] [número f] [expos. en segons] [long. focal en mm] [ISO] [objectiu] [càmera] PREFERENCES_CUSTPROFBUILDPATH;Executable path PREFERENCES_CUTOVERLAYBRUSH;Cropa màscara color/transparència -PREFERENCES_DARKFRAME;Marc fosc PREFERENCES_DARKFRAMEFOUND;Trobat PREFERENCES_DARKFRAMESHOTS;trets PREFERENCES_DARKFRAMETEMPLATES;plantilles @@ -530,7 +529,6 @@ PREFERENCES_EXTERNALEDITOR;Editor extern PREFERENCES_FBROWSEROPTS;Opcions de navegador i minifotos PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Barra de gestor de fitxers d'una línia (inapropiat en monitors de baixa resolució) PREFERENCES_FILEFORMAT;Format de fitxer -PREFERENCES_FLATFIELD;Camp pla PREFERENCES_FLATFIELDFOUND;Trobat PREFERENCES_FLATFIELDSDIR;Carpeta de camps plans PREFERENCES_FLATFIELDSHOTS;trets @@ -1424,8 +1422,8 @@ ZOOMPANEL_ZOOMOUT;Allunya\nDrecera: - !PREFERENCES_D65;6500K !PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4 !PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two. +!PREFERENCES_DIRECTORIES;Directories !PREFERENCES_EXPAUT;Expert -!PREFERENCES_FILMSIMULATION;Film Simulation !PREFERENCES_FLUOF2;Fluorescent F2 !PREFERENCES_FLUOF7;Fluorescent F7 !PREFERENCES_FLUOF11;Fluorescent F11 diff --git a/rtdata/languages/Chinese (Simplified) b/rtdata/languages/Chinese (Simplified) index 581b70204..655125be1 100644 --- a/rtdata/languages/Chinese (Simplified) +++ b/rtdata/languages/Chinese (Simplified) @@ -537,7 +537,6 @@ PREFERENCES_D50_OLD;5000K PREFERENCES_D55;5500K PREFERENCES_D60;6000K PREFERENCES_D65;6500K -PREFERENCES_DARKFRAME;暗场 PREFERENCES_DARKFRAMEFOUND;找到 PREFERENCES_DARKFRAMESHOTS;张 PREFERENCES_DARKFRAMETEMPLATES;模板 @@ -558,8 +557,6 @@ PREFERENCES_EXTERNALEDITOR;外部编辑器 PREFERENCES_FBROWSEROPTS;文件浏览选项 PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Single row file browser toolbar\n(de-select for low resolution display) PREFERENCES_FILEFORMAT;文件格式 -PREFERENCES_FILMSIMULATION;胶片模拟 -PREFERENCES_FLATFIELD;平场 PREFERENCES_FLATFIELDFOUND;找到 PREFERENCES_FLATFIELDSDIR;平场图像路径 PREFERENCES_FLATFIELDSHOTS;张 @@ -1480,6 +1477,7 @@ ZOOMPANEL_ZOOMOUT;缩放拉远\n快捷键: - !PREFERENCES_BEHADDALLHINT;Set all parameters to the Add mode.\nAdjustments of parameters in the batch tool panel will be deltas to the stored values. !PREFERENCES_BEHSETALLHINT;Set all parameters to the Set mode.\nAdjustments of parameters in the batch tool panel will be absolute, the actual values will be displayed. !PREFERENCES_CUSTPROFBUILDHINT;Executable (or script) file called when a new initial processing profile should be generated for an image.\n\nThe path of the communication file (*.ini style, a.k.a. "Keyfile") is added as a command line parameter. It contains various parameters required for the scripts and image Exif to allow a rules-based processing profile generation.\n\nWARNING: You are responsible for using double quotes where necessary if you're using paths containing spaces. +!PREFERENCES_DIRECTORIES;Directories !PREFERENCES_SAVE_TP_OPEN_NOW;Save tools collapsed/expanded state now !PROFILEPANEL_COPYPPASTE;Parameters to copy !PROFILEPANEL_GLOBALPROFILES;Bundled profiles diff --git a/rtdata/languages/Chinese (Traditional) b/rtdata/languages/Chinese (Traditional) index 17a59937d..f29361e6a 100644 --- a/rtdata/languages/Chinese (Traditional) +++ b/rtdata/languages/Chinese (Traditional) @@ -1158,18 +1158,16 @@ TP_WBALANCE_TEMPERATURE;色溫 !PREFERENCES_D55;5500K !PREFERENCES_D60;6000K !PREFERENCES_D65;6500K -!PREFERENCES_DARKFRAME;Dark-Frame !PREFERENCES_DARKFRAMEFOUND;Found !PREFERENCES_DARKFRAMESHOTS;shots !PREFERENCES_DARKFRAMETEMPLATES;templates !PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4 !PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two. !PREFERENCES_DIRDARKFRAMES;Dark-frames directory +!PREFERENCES_DIRECTORIES;Directories !PREFERENCES_EDITORLAYOUT;Editor Layout !PREFERENCES_EXPAUT;Expert !PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Single row file browser toolbar\n(de-select for low resolution display) -!PREFERENCES_FILMSIMULATION;Film Simulation -!PREFERENCES_FLATFIELD;Flat-Field !PREFERENCES_FLATFIELDFOUND;Found !PREFERENCES_FLATFIELDSDIR;Flat-fields directory !PREFERENCES_FLATFIELDSHOTS;shots diff --git a/rtdata/languages/Czech b/rtdata/languages/Czech index 7f3a68d00..b8cdab54c 100644 --- a/rtdata/languages/Czech +++ b/rtdata/languages/Czech @@ -993,7 +993,6 @@ PREFERENCES_D50;5000K PREFERENCES_D55;5500K PREFERENCES_D60;6000K PREFERENCES_D65;6500K -PREFERENCES_DARKFRAME;Tmavý snímek PREFERENCES_DARKFRAMEFOUND;Nalezeno PREFERENCES_DARKFRAMESHOTS;snímků PREFERENCES_DARKFRAMETEMPLATES;šablon @@ -1014,8 +1013,6 @@ PREFERENCES_EXTERNALEDITOR;Externí editor PREFERENCES_FBROWSEROPTS;Volby prohlížeče souborů / náhledů PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Jednořádková lišta nástrojů v prohlížeči souborů\n(vypněte na nízkých rozlišeních) PREFERENCES_FILEFORMAT;Formát souboru -PREFERENCES_FILMSIMULATION;Simulace filmu -PREFERENCES_FLATFIELD;Flat Field PREFERENCES_FLATFIELDFOUND;Nalezeno PREFERENCES_FLATFIELDSDIR;Složka Flat Field souborů PREFERENCES_FLATFIELDSHOTS;snímků @@ -2191,6 +2188,7 @@ ZOOMPANEL_ZOOMOUT;Oddálit\nZkratka: - !MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: Middle grey\nShortcut: 9 !PREFERENCES_AUTOSAVE_TP_OPEN;Automatically save tools collapsed/expanded\nstate before exiting !PREFERENCES_D50_OLD;5000K +!PREFERENCES_DIRECTORIES;Directories !PREFERENCES_GREY18_OLD;Yb=18 CIE L#50 !PREFERENCES_LANG;Language !PREFERENCES_SAVE_TP_OPEN_NOW;Save tools collapsed/expanded state now diff --git a/rtdata/languages/Dansk b/rtdata/languages/Dansk index 99e2e212e..868dcc418 100644 --- a/rtdata/languages/Dansk +++ b/rtdata/languages/Dansk @@ -1156,18 +1156,16 @@ TP_WBALANCE_TEMPERATURE;Temperatur !PREFERENCES_D55;5500K !PREFERENCES_D60;6000K !PREFERENCES_D65;6500K -!PREFERENCES_DARKFRAME;Dark-Frame !PREFERENCES_DARKFRAMEFOUND;Found !PREFERENCES_DARKFRAMESHOTS;shots !PREFERENCES_DARKFRAMETEMPLATES;templates !PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4 !PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two. !PREFERENCES_DIRDARKFRAMES;Dark-frames directory +!PREFERENCES_DIRECTORIES;Directories !PREFERENCES_EDITORLAYOUT;Editor Layout !PREFERENCES_EXPAUT;Expert !PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Single row file browser toolbar\n(de-select for low resolution display) -!PREFERENCES_FILMSIMULATION;Film Simulation -!PREFERENCES_FLATFIELD;Flat-Field !PREFERENCES_FLATFIELDFOUND;Found !PREFERENCES_FLATFIELDSDIR;Flat-fields directory !PREFERENCES_FLATFIELDSHOTS;shots diff --git a/rtdata/languages/Deutsch b/rtdata/languages/Deutsch index 76dfb0a41..698f7a365 100644 --- a/rtdata/languages/Deutsch +++ b/rtdata/languages/Deutsch @@ -1038,7 +1038,6 @@ PREFERENCES_D50_OLD;5000K PREFERENCES_D55;5500K PREFERENCES_D60;6000K PREFERENCES_D65;6500K -PREFERENCES_DARKFRAME;Dunkelbild PREFERENCES_DARKFRAMEFOUND;Gefunden PREFERENCES_DARKFRAMESHOTS;Aufnahmen PREFERENCES_DARKFRAMETEMPLATES;Vorlagen @@ -1060,8 +1059,6 @@ PREFERENCES_EXTERNALEDITOR;Externer Editor PREFERENCES_FBROWSEROPTS;Bildinformationen und Miniaturbilder PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Einzeilige Toolbar\n(Bei geringer Bildschirmauflösung deaktivieren) PREFERENCES_FILEFORMAT;Dateiformat -PREFERENCES_FILMSIMULATION;Filmsimulation -PREFERENCES_FLATFIELD;Weißbild PREFERENCES_FLATFIELDFOUND;Gefunden PREFERENCES_FLATFIELDSDIR;Weißbild-Verzeichnis PREFERENCES_FLATFIELDSHOTS;Aufnahmen @@ -2230,3 +2227,4 @@ ZOOMPANEL_ZOOMFITCROPSCREEN;Ausschnitt an Bildschirm anpassen\nTaste: Alt ZOOMPANEL_ZOOMFITSCREEN;An Bildschirm anpassen\nTaste: f ZOOMPANEL_ZOOMIN;Hineinzoomen\nTaste: + ZOOMPANEL_ZOOMOUT;Herauszoomen\nTaste: - + diff --git a/rtdata/languages/English (UK) b/rtdata/languages/English (UK) index 4dba02c5a..018ae675a 100644 --- a/rtdata/languages/English (UK) +++ b/rtdata/languages/English (UK) @@ -1049,7 +1049,6 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !PREFERENCES_D55;5500K !PREFERENCES_D60;6000K !PREFERENCES_D65;6500K -!PREFERENCES_DARKFRAME;Dark-Frame !PREFERENCES_DARKFRAMEFOUND;Found !PREFERENCES_DARKFRAMESHOTS;shots !PREFERENCES_DARKFRAMETEMPLATES;templates @@ -1058,6 +1057,7 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4 !PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two. !PREFERENCES_DIRDARKFRAMES;Dark-frames directory +!PREFERENCES_DIRECTORIES;Directories !PREFERENCES_DIRHOME;Home directory !PREFERENCES_DIRLAST;Last visited directory !PREFERENCES_DIROTHER;Other @@ -1070,8 +1070,6 @@ TP_WBALANCE_EQBLUERED_TOOLTIP;Allows to deviate from the normal behaviour of "wh !PREFERENCES_FBROWSEROPTS;File Browser / Thumbnail Options !PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Single row file browser toolbar\n(de-select for low resolution display) !PREFERENCES_FILEFORMAT;File format -!PREFERENCES_FILMSIMULATION;Film Simulation -!PREFERENCES_FLATFIELD;Flat-Field !PREFERENCES_FLATFIELDFOUND;Found !PREFERENCES_FLATFIELDSDIR;Flat-fields directory !PREFERENCES_FLATFIELDSHOTS;shots diff --git a/rtdata/languages/English (US) b/rtdata/languages/English (US) index 34e5cc42e..00e8e48b7 100644 --- a/rtdata/languages/English (US) +++ b/rtdata/languages/English (US) @@ -979,7 +979,6 @@ !PREFERENCES_D55;5500K !PREFERENCES_D60;6000K !PREFERENCES_D65;6500K -!PREFERENCES_DARKFRAME;Dark-Frame !PREFERENCES_DARKFRAMEFOUND;Found !PREFERENCES_DARKFRAMESHOTS;shots !PREFERENCES_DARKFRAMETEMPLATES;templates @@ -988,6 +987,7 @@ !PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4 !PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two. !PREFERENCES_DIRDARKFRAMES;Dark-frames directory +!PREFERENCES_DIRECTORIES;Directories !PREFERENCES_DIRHOME;Home directory !PREFERENCES_DIRLAST;Last visited directory !PREFERENCES_DIROTHER;Other @@ -1000,8 +1000,6 @@ !PREFERENCES_FBROWSEROPTS;File Browser / Thumbnail Options !PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Single row file browser toolbar\n(de-select for low resolution display) !PREFERENCES_FILEFORMAT;File format -!PREFERENCES_FILMSIMULATION;Film Simulation -!PREFERENCES_FLATFIELD;Flat-Field !PREFERENCES_FLATFIELDFOUND;Found !PREFERENCES_FLATFIELDSDIR;Flat-fields directory !PREFERENCES_FLATFIELDSHOTS;shots diff --git a/rtdata/languages/Espanol b/rtdata/languages/Espanol index 8dc5164bc..ec9b8bddb 100644 --- a/rtdata/languages/Espanol +++ b/rtdata/languages/Espanol @@ -759,7 +759,6 @@ PREFERENCES_D50;5000ºK PREFERENCES_D55;5500ºK PREFERENCES_D60;6000ºK PREFERENCES_D65;6500ºK -PREFERENCES_DARKFRAME;Toma Negra PREFERENCES_DARKFRAMEFOUND;Encontrado PREFERENCES_DARKFRAMESHOTS;disparos PREFERENCES_DARKFRAMETEMPLATES;plantillas @@ -777,8 +776,6 @@ PREFERENCES_EXTERNALEDITOR;Editor externo PREFERENCES_FBROWSEROPTS;Opciones del explorador de archivos/Miniaturas PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Barra de herramientas del explorador en una sola fila (deseleccionar para pantallas de baja resolución) PREFERENCES_FILEFORMAT;Formato de archivo -PREFERENCES_FILMSIMULATION;Simulación de Fílmico -PREFERENCES_FLATFIELD;Campo plano PREFERENCES_FLATFIELDFOUND;Encontrado PREFERENCES_FLATFIELDSDIR;Carpeta de archivos de campo plano PREFERENCES_FLATFIELDSHOTS;disparos @@ -1782,6 +1779,7 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom\nAtajo: - !PREFERENCES_D50_OLD;5000K !PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4 !PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two. +!PREFERENCES_DIRECTORIES;Directories !PREFERENCES_EXPAUT;Expert !PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT;Same thumbnail height between the Filmstrip and the File Browser !PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT_HINT;Having separate thumbnail size will require more processing time each time you'll switch between the single Editor tab and the File Browser. diff --git a/rtdata/languages/Euskara b/rtdata/languages/Euskara index d0e6465a8..aa94b6258 100644 --- a/rtdata/languages/Euskara +++ b/rtdata/languages/Euskara @@ -1156,18 +1156,16 @@ TP_WBALANCE_TEMPERATURE;Tenperatura !PREFERENCES_D55;5500K !PREFERENCES_D60;6000K !PREFERENCES_D65;6500K -!PREFERENCES_DARKFRAME;Dark-Frame !PREFERENCES_DARKFRAMEFOUND;Found !PREFERENCES_DARKFRAMESHOTS;shots !PREFERENCES_DARKFRAMETEMPLATES;templates !PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4 !PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two. !PREFERENCES_DIRDARKFRAMES;Dark-frames directory +!PREFERENCES_DIRECTORIES;Directories !PREFERENCES_EDITORLAYOUT;Editor Layout !PREFERENCES_EXPAUT;Expert !PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Single row file browser toolbar\n(de-select for low resolution display) -!PREFERENCES_FILMSIMULATION;Film Simulation -!PREFERENCES_FLATFIELD;Flat-Field !PREFERENCES_FLATFIELDFOUND;Found !PREFERENCES_FLATFIELDSDIR;Flat-fields directory !PREFERENCES_FLATFIELDSHOTS;shots diff --git a/rtdata/languages/Greek b/rtdata/languages/Greek index b6fbebcd8..e6b376c29 100644 --- a/rtdata/languages/Greek +++ b/rtdata/languages/Greek @@ -1155,18 +1155,16 @@ TP_WBALANCE_TEMPERATURE;Θερμοκρασία !PREFERENCES_D55;5500K !PREFERENCES_D60;6000K !PREFERENCES_D65;6500K -!PREFERENCES_DARKFRAME;Dark-Frame !PREFERENCES_DARKFRAMEFOUND;Found !PREFERENCES_DARKFRAMESHOTS;shots !PREFERENCES_DARKFRAMETEMPLATES;templates !PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4 !PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two. !PREFERENCES_DIRDARKFRAMES;Dark-frames directory +!PREFERENCES_DIRECTORIES;Directories !PREFERENCES_EDITORLAYOUT;Editor Layout !PREFERENCES_EXPAUT;Expert !PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Single row file browser toolbar\n(de-select for low resolution display) -!PREFERENCES_FILMSIMULATION;Film Simulation -!PREFERENCES_FLATFIELD;Flat-Field !PREFERENCES_FLATFIELDFOUND;Found !PREFERENCES_FLATFIELDSDIR;Flat-fields directory !PREFERENCES_FLATFIELDSHOTS;shots diff --git a/rtdata/languages/Hebrew b/rtdata/languages/Hebrew index f41258e06..3bb2528fb 100644 --- a/rtdata/languages/Hebrew +++ b/rtdata/languages/Hebrew @@ -1156,18 +1156,16 @@ TP_WBALANCE_TEMPERATURE;מידת חום !PREFERENCES_D55;5500K !PREFERENCES_D60;6000K !PREFERENCES_D65;6500K -!PREFERENCES_DARKFRAME;Dark-Frame !PREFERENCES_DARKFRAMEFOUND;Found !PREFERENCES_DARKFRAMESHOTS;shots !PREFERENCES_DARKFRAMETEMPLATES;templates !PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4 !PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two. !PREFERENCES_DIRDARKFRAMES;Dark-frames directory +!PREFERENCES_DIRECTORIES;Directories !PREFERENCES_EDITORLAYOUT;Editor Layout !PREFERENCES_EXPAUT;Expert !PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Single row file browser toolbar\n(de-select for low resolution display) -!PREFERENCES_FILMSIMULATION;Film Simulation -!PREFERENCES_FLATFIELD;Flat-Field !PREFERENCES_FLATFIELDFOUND;Found !PREFERENCES_FLATFIELDSDIR;Flat-fields directory !PREFERENCES_FLATFIELDSHOTS;shots diff --git a/rtdata/languages/Italiano b/rtdata/languages/Italiano index 90cc5e2c2..4e4f59480 100644 --- a/rtdata/languages/Italiano +++ b/rtdata/languages/Italiano @@ -661,7 +661,6 @@ PREFERENCES_D50;5000K PREFERENCES_D55;5500K PREFERENCES_D60;6000K PREFERENCES_D65;6500K -PREFERENCES_DARKFRAME;Dark Frame PREFERENCES_DARKFRAMEFOUND;Trovati PREFERENCES_DARKFRAMESHOTS;fotogrammi PREFERENCES_DARKFRAMETEMPLATES;modelli @@ -679,7 +678,6 @@ PREFERENCES_EXTERNALEDITOR;Programma di ritocco esterni PREFERENCES_FBROWSEROPTS;Opzioni del Navigatore e delle miniature PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Barra di navigazione a singola riga (deseleziona nel caso di schermo a bassa risoluzione) PREFERENCES_FILEFORMAT;Formato file -PREFERENCES_FLATFIELD;Flat Field PREFERENCES_FLATFIELDFOUND;Trovati PREFERENCES_FLATFIELDSDIR;Cartella dei fotogrammi di campo (Flat Field) PREFERENCES_FLATFIELDSHOTS;fotogrammi @@ -1652,8 +1650,8 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci.\nScorciatoia: - !PREFERENCES_D50_OLD;5000K !PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4 !PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two. +!PREFERENCES_DIRECTORIES;Directories !PREFERENCES_EXPAUT;Expert -!PREFERENCES_FILMSIMULATION;Film Simulation !PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT;Same thumbnail height between the Filmstrip and the File Browser !PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT_HINT;Having separate thumbnail size will require more processing time each time you'll switch between the single Editor tab and the File Browser. !PREFERENCES_GREY18_OLD;Yb=18 CIE L#50 diff --git a/rtdata/languages/Japanese b/rtdata/languages/Japanese index 5f9f026f7..494aa13c2 100644 --- a/rtdata/languages/Japanese +++ b/rtdata/languages/Japanese @@ -881,7 +881,6 @@ PREFERENCES_D50;5000K PREFERENCES_D55;5500K PREFERENCES_D60;6000K PREFERENCES_D65;6500K -PREFERENCES_DARKFRAME;ダークフレーム PREFERENCES_DARKFRAMEFOUND;検出 PREFERENCES_DARKFRAMESHOTS;ショット PREFERENCES_DARKFRAMETEMPLATES;テンプレート @@ -902,8 +901,6 @@ PREFERENCES_EXTERNALEDITOR;外部エディタ PREFERENCES_FBROWSEROPTS;ファイルブラウザ/サムネイルのオプション PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;ファイルブラウザでの一行のツールバー (低解像度表示用に選択解除) PREFERENCES_FILEFORMAT;ファイル形式 -PREFERENCES_FILMSIMULATION;フィルムシミュレーション -PREFERENCES_FLATFIELD;フラットフィールド PREFERENCES_FLATFIELDFOUND;検出 PREFERENCES_FLATFIELDSDIR;フラットフィールド・ディレクトリ PREFERENCES_FLATFIELDSHOTS;ショット @@ -2003,6 +2000,7 @@ ZOOMPANEL_ZOOMOUT;ズームアウト\nショートカット: - !PREFERENCES_AUTOSAVE_TP_OPEN;Automatically save tools collapsed/expanded\nstate before exiting !PREFERENCES_CMMBPC;Black point compensation !PREFERENCES_D50_OLD;5000K +!PREFERENCES_DIRECTORIES;Directories !PREFERENCES_GREY18_OLD;Yb=18 CIE L#50 !PREFERENCES_LANG;Language !PREFERENCES_MONINTENT;Default rendering intent diff --git a/rtdata/languages/Latvian b/rtdata/languages/Latvian index 34200732f..353ae8924 100644 --- a/rtdata/languages/Latvian +++ b/rtdata/languages/Latvian @@ -1156,18 +1156,16 @@ TP_WBALANCE_TEMPERATURE;Temperatūra !PREFERENCES_D55;5500K !PREFERENCES_D60;6000K !PREFERENCES_D65;6500K -!PREFERENCES_DARKFRAME;Dark-Frame !PREFERENCES_DARKFRAMEFOUND;Found !PREFERENCES_DARKFRAMESHOTS;shots !PREFERENCES_DARKFRAMETEMPLATES;templates !PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4 !PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two. !PREFERENCES_DIRDARKFRAMES;Dark-frames directory +!PREFERENCES_DIRECTORIES;Directories !PREFERENCES_EDITORLAYOUT;Editor Layout !PREFERENCES_EXPAUT;Expert !PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Single row file browser toolbar\n(de-select for low resolution display) -!PREFERENCES_FILMSIMULATION;Film Simulation -!PREFERENCES_FLATFIELD;Flat-Field !PREFERENCES_FLATFIELDFOUND;Found !PREFERENCES_FLATFIELDSDIR;Flat-fields directory !PREFERENCES_FLATFIELDSHOTS;shots diff --git a/rtdata/languages/Magyar b/rtdata/languages/Magyar index e53dcdb6f..8f7d7fac8 100644 --- a/rtdata/languages/Magyar +++ b/rtdata/languages/Magyar @@ -493,7 +493,6 @@ PREFERENCES_CUSTPROFBUILD;Egyedi profil készítő PREFERENCES_CUSTPROFBUILDHINT;Executable (or script) file called when a new initial profile should be generated for an image.\nReceives command line params to allow a rules based .pp3 generation:\n[Path raw/JPG] [Path default profile] [f-no] [exposure in secs] [focal length in mm] [ISO] [Lens] [Camera] PREFERENCES_CUSTPROFBUILDPATH;Indítóállomány útvonala PREFERENCES_CUTOVERLAYBRUSH;Vágás maszkjának színe/áttetszősége -PREFERENCES_DARKFRAME;Fekete referenciakép (dark frame) PREFERENCES_DARKFRAMEFOUND;Találat PREFERENCES_DARKFRAMESHOTS;kép PREFERENCES_DARKFRAMETEMPLATES;sablonok @@ -511,7 +510,6 @@ PREFERENCES_EXTERNALEDITOR;Külső képszerkesztő program PREFERENCES_FBROWSEROPTS;Állományböngésző beállításai PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Egysoros állományböngésző eszköztár (alacsony felbontás esetén hagyd üresen) PREFERENCES_FILEFORMAT;Állományformátum -PREFERENCES_FLATFIELD;Flat Field PREFERENCES_FLATFIELDFOUND;Találat PREFERENCES_FLATFIELDSDIR;Flat Fields könyvtár PREFERENCES_FLATFIELDSHOTS;kép @@ -1360,8 +1358,8 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés - !PREFERENCES_D65;6500K !PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4 !PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two. +!PREFERENCES_DIRECTORIES;Directories !PREFERENCES_EXPAUT;Expert -!PREFERENCES_FILMSIMULATION;Film Simulation !PREFERENCES_FLUOF2;Fluorescent F2 !PREFERENCES_FLUOF7;Fluorescent F7 !PREFERENCES_FLUOF11;Fluorescent F11 diff --git a/rtdata/languages/Nederlands b/rtdata/languages/Nederlands index 3ae4a958a..c1c0dbc02 100644 --- a/rtdata/languages/Nederlands +++ b/rtdata/languages/Nederlands @@ -966,7 +966,6 @@ PREFERENCES_D50;5000K PREFERENCES_D55;5500K PREFERENCES_D60;6000K PREFERENCES_D65;6500K -PREFERENCES_DARKFRAME;Donkerframe PREFERENCES_DARKFRAMEFOUND;Gevonden PREFERENCES_DARKFRAMESHOTS;foto's PREFERENCES_DARKFRAMETEMPLATES;sjablonen @@ -987,8 +986,6 @@ PREFERENCES_EXTERNALEDITOR;Externe editor PREFERENCES_FBROWSEROPTS;Opties bestandsnavigator PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Enkele rij navigator werkbalk (de-activeer voor lage resolutie) PREFERENCES_FILEFORMAT;Bestandstype -PREFERENCES_FILMSIMULATION;Film Simuleren -PREFERENCES_FLATFIELD;Vlakveldopname (tbv. vignetteringscorrectie) PREFERENCES_FLATFIELDFOUND;Gevonden PREFERENCES_FLATFIELDSDIR;Vlakveldmap PREFERENCES_FLATFIELDSHOTS;foto's @@ -2164,6 +2161,7 @@ ZOOMPANEL_ZOOMOUT;Zoom uit\nSneltoets: - !MAIN_TOOLTIP_BACKCOLOR3;Background color of the preview: Middle grey\nShortcut: 9 !PREFERENCES_AUTOSAVE_TP_OPEN;Automatically save tools collapsed/expanded\nstate before exiting !PREFERENCES_D50_OLD;5000K +!PREFERENCES_DIRECTORIES;Directories !PREFERENCES_GREY18_OLD;Yb=18 CIE L#50 !PREFERENCES_LANG;Language !PREFERENCES_PROFILESAVEBOTH;Save processing profile both to the cache and next to the input file diff --git a/rtdata/languages/Norsk BM b/rtdata/languages/Norsk BM index 3f44a7372..b0fe3aa6e 100644 --- a/rtdata/languages/Norsk BM +++ b/rtdata/languages/Norsk BM @@ -1155,18 +1155,16 @@ TP_WBALANCE_TEMPERATURE;Temperatur !PREFERENCES_D55;5500K !PREFERENCES_D60;6000K !PREFERENCES_D65;6500K -!PREFERENCES_DARKFRAME;Dark-Frame !PREFERENCES_DARKFRAMEFOUND;Found !PREFERENCES_DARKFRAMESHOTS;shots !PREFERENCES_DARKFRAMETEMPLATES;templates !PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4 !PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two. !PREFERENCES_DIRDARKFRAMES;Dark-frames directory +!PREFERENCES_DIRECTORIES;Directories !PREFERENCES_EDITORLAYOUT;Editor Layout !PREFERENCES_EXPAUT;Expert !PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Single row file browser toolbar\n(de-select for low resolution display) -!PREFERENCES_FILMSIMULATION;Film Simulation -!PREFERENCES_FLATFIELD;Flat-Field !PREFERENCES_FLATFIELDFOUND;Found !PREFERENCES_FLATFIELDSDIR;Flat-fields directory !PREFERENCES_FLATFIELDSHOTS;shots diff --git a/rtdata/languages/Polish b/rtdata/languages/Polish index ad7809224..6f0f6a3b2 100644 --- a/rtdata/languages/Polish +++ b/rtdata/languages/Polish @@ -714,7 +714,6 @@ PREFERENCES_D50;5000K PREFERENCES_D55;5500K PREFERENCES_D60;6000K PREFERENCES_D65;6500K -PREFERENCES_DARKFRAME;Czarna klatka PREFERENCES_DARKFRAMEFOUND;Znaleziono PREFERENCES_DARKFRAMESHOTS;zdjęć(ia) PREFERENCES_DARKFRAMETEMPLATES;szablonów(ny) @@ -732,8 +731,6 @@ PREFERENCES_EXTERNALEDITOR;Zewnętrzny edytor PREFERENCES_FBROWSEROPTS;Opcje przeglądarki plików PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Pojedynczy wiersz paska narzędzi (odznaczyć dla niskich rozdzielczości) PREFERENCES_FILEFORMAT;Format pliku -PREFERENCES_FILMSIMULATION;Symulacja kliszy -PREFERENCES_FLATFIELD;Puste pole PREFERENCES_FLATFIELDFOUND;Znaleziono PREFERENCES_FLATFIELDSDIR;Katalog z pustymi polami PREFERENCES_FLATFIELDSHOTS;kadry @@ -1730,6 +1727,7 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrót: - !PREFERENCES_D50_OLD;5000K !PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4 !PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two. +!PREFERENCES_DIRECTORIES;Directories !PREFERENCES_EXPAUT;Expert !PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT;Same thumbnail height between the Filmstrip and the File Browser !PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT_HINT;Having separate thumbnail size will require more processing time each time you'll switch between the single Editor tab and the File Browser. diff --git a/rtdata/languages/Polish (Latin Characters) b/rtdata/languages/Polish (Latin Characters) index 8dca28f01..10c001a06 100644 --- a/rtdata/languages/Polish (Latin Characters) +++ b/rtdata/languages/Polish (Latin Characters) @@ -714,7 +714,6 @@ PREFERENCES_D50;5000K PREFERENCES_D55;5500K PREFERENCES_D60;6000K PREFERENCES_D65;6500K -PREFERENCES_DARKFRAME;Czarna klatka PREFERENCES_DARKFRAMEFOUND;Znaleziono PREFERENCES_DARKFRAMESHOTS;zdjec(ia) PREFERENCES_DARKFRAMETEMPLATES;szablonow(ny) @@ -732,8 +731,6 @@ PREFERENCES_EXTERNALEDITOR;Zewnetrzny edytor PREFERENCES_FBROWSEROPTS;Opcje przegladarki plikow PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Pojedynczy wiersz paska narzedzi (odznaczyc dla niskich rozdzielczosci) PREFERENCES_FILEFORMAT;Format pliku -PREFERENCES_FILMSIMULATION;Symulacja kliszy -PREFERENCES_FLATFIELD;Puste pole PREFERENCES_FLATFIELDFOUND;Znaleziono PREFERENCES_FLATFIELDSDIR;Katalog z pustymi polami PREFERENCES_FLATFIELDSHOTS;kadry @@ -1730,6 +1727,7 @@ ZOOMPANEL_ZOOMOUT;Oddal\nSkrot: - !PREFERENCES_D50_OLD;5000K !PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4 !PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two. +!PREFERENCES_DIRECTORIES;Directories !PREFERENCES_EXPAUT;Expert !PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT;Same thumbnail height between the Filmstrip and the File Browser !PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT_HINT;Having separate thumbnail size will require more processing time each time you'll switch between the single Editor tab and the File Browser. diff --git a/rtdata/languages/Portugues (Brasil) b/rtdata/languages/Portugues (Brasil) index 71c424e7a..419e40312 100644 --- a/rtdata/languages/Portugues (Brasil) +++ b/rtdata/languages/Portugues (Brasil) @@ -1156,18 +1156,16 @@ TP_WBALANCE_TEMPERATURE;Temperatura !PREFERENCES_D55;5500K !PREFERENCES_D60;6000K !PREFERENCES_D65;6500K -!PREFERENCES_DARKFRAME;Dark-Frame !PREFERENCES_DARKFRAMEFOUND;Found !PREFERENCES_DARKFRAMESHOTS;shots !PREFERENCES_DARKFRAMETEMPLATES;templates !PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4 !PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two. !PREFERENCES_DIRDARKFRAMES;Dark-frames directory +!PREFERENCES_DIRECTORIES;Directories !PREFERENCES_EDITORLAYOUT;Editor Layout !PREFERENCES_EXPAUT;Expert !PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Single row file browser toolbar\n(de-select for low resolution display) -!PREFERENCES_FILMSIMULATION;Film Simulation -!PREFERENCES_FLATFIELD;Flat-Field !PREFERENCES_FLATFIELDFOUND;Found !PREFERENCES_FLATFIELDSDIR;Flat-fields directory !PREFERENCES_FLATFIELDSHOTS;shots diff --git a/rtdata/languages/Russian b/rtdata/languages/Russian index 900f640ce..4573fc5f0 100644 --- a/rtdata/languages/Russian +++ b/rtdata/languages/Russian @@ -645,7 +645,6 @@ PREFERENCES_D50;5000K PREFERENCES_D55;5500K PREFERENCES_D60;6000K PREFERENCES_D65;6500K -PREFERENCES_DARKFRAME;Темновой кадр PREFERENCES_DARKFRAMEFOUND;Найдено PREFERENCES_DARKFRAMESHOTS;снимков PREFERENCES_DARKFRAMETEMPLATES;шаблонов @@ -663,7 +662,6 @@ PREFERENCES_EXTERNALEDITOR;Внешний редактор PREFERENCES_FBROWSEROPTS;Настройки PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Однорядная панель обозревателя файлов (отключите для экранов с низким разрешением) PREFERENCES_FILEFORMAT;Формат файлов -PREFERENCES_FLATFIELD;Плоское поле PREFERENCES_FLATFIELDFOUND;Найдено PREFERENCES_FLATFIELDSDIR;Папка с файлами плоских полей PREFERENCES_FLATFIELDSHOTS;снимков @@ -1606,8 +1604,8 @@ ZOOMPANEL_ZOOMOUT;Удалить - !PREFERENCES_D50_OLD;5000K !PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4 !PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two. +!PREFERENCES_DIRECTORIES;Directories !PREFERENCES_EXPAUT;Expert -!PREFERENCES_FILMSIMULATION;Film Simulation !PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT;Same thumbnail height between the Filmstrip and the File Browser !PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT_HINT;Having separate thumbnail size will require more processing time each time you'll switch between the single Editor tab and the File Browser. !PREFERENCES_GREY18_OLD;Yb=18 CIE L#50 diff --git a/rtdata/languages/Serbian (Cyrilic Characters) b/rtdata/languages/Serbian (Cyrilic Characters) index 844e6852b..2d231e4c4 100644 --- a/rtdata/languages/Serbian (Cyrilic Characters) +++ b/rtdata/languages/Serbian (Cyrilic Characters) @@ -631,7 +631,6 @@ PREFERENCES_D50;5000K PREFERENCES_D55;5500K PREFERENCES_D60;6000K PREFERENCES_D65;6500K -PREFERENCES_DARKFRAME;Тамни кадар PREFERENCES_DARKFRAMEFOUND;Нађен PREFERENCES_DARKFRAMESHOTS;снимака PREFERENCES_DARKFRAMETEMPLATES;шаблони @@ -649,7 +648,6 @@ PREFERENCES_EXTERNALEDITOR;Спољни уређивач PREFERENCES_FBROWSEROPTS;Опције разгледача датотеке PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Прикажи алатке у једном реду PREFERENCES_FILEFORMAT;Формат датотеке -PREFERENCES_FLATFIELD;Равно поље PREFERENCES_FLATFIELDFOUND;Нађено PREFERENCES_FLATFIELDSDIR;Директоријум за равна поља PREFERENCES_FLATFIELDSHOTS;снимака @@ -1638,8 +1636,8 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике - !PREFERENCES_D50_OLD;5000K !PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4 !PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two. +!PREFERENCES_DIRECTORIES;Directories !PREFERENCES_EXPAUT;Expert -!PREFERENCES_FILMSIMULATION;Film Simulation !PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT;Same thumbnail height between the Filmstrip and the File Browser !PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT_HINT;Having separate thumbnail size will require more processing time each time you'll switch between the single Editor tab and the File Browser. !PREFERENCES_GREY18_OLD;Yb=18 CIE L#50 diff --git a/rtdata/languages/Serbian (Latin Characters) b/rtdata/languages/Serbian (Latin Characters) index 744b1d318..eb1f4c5ab 100644 --- a/rtdata/languages/Serbian (Latin Characters) +++ b/rtdata/languages/Serbian (Latin Characters) @@ -631,7 +631,6 @@ PREFERENCES_D50;5000K PREFERENCES_D55;5500K PREFERENCES_D60;6000K PREFERENCES_D65;6500K -PREFERENCES_DARKFRAME;Tamni kadar PREFERENCES_DARKFRAMEFOUND;Nađen PREFERENCES_DARKFRAMESHOTS;snimaka PREFERENCES_DARKFRAMETEMPLATES;šabloni @@ -649,7 +648,6 @@ PREFERENCES_EXTERNALEDITOR;Spoljni uređivač PREFERENCES_FBROWSEROPTS;Opcije razgledača datoteke PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Prikaži alatke u jednom redu PREFERENCES_FILEFORMAT;Format datoteke -PREFERENCES_FLATFIELD;Ravno polje PREFERENCES_FLATFIELDFOUND;Nađeno PREFERENCES_FLATFIELDSDIR;Direktorijum za ravna polja PREFERENCES_FLATFIELDSHOTS;snimaka @@ -1638,8 +1636,8 @@ ZOOMPANEL_ZOOMOUT;Umanjuje prikaz slike - !PREFERENCES_D50_OLD;5000K !PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4 !PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two. +!PREFERENCES_DIRECTORIES;Directories !PREFERENCES_EXPAUT;Expert -!PREFERENCES_FILMSIMULATION;Film Simulation !PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT;Same thumbnail height between the Filmstrip and the File Browser !PREFERENCES_FSTRIP_SAME_THUMB_HEIGHT_HINT;Having separate thumbnail size will require more processing time each time you'll switch between the single Editor tab and the File Browser. !PREFERENCES_GREY18_OLD;Yb=18 CIE L#50 diff --git a/rtdata/languages/Slovak b/rtdata/languages/Slovak index 9c107a499..16ac150da 100644 --- a/rtdata/languages/Slovak +++ b/rtdata/languages/Slovak @@ -1206,17 +1206,15 @@ ZOOMPANEL_ZOOMOUT;Oddialiť - !PREFERENCES_D55;5500K !PREFERENCES_D60;6000K !PREFERENCES_D65;6500K -!PREFERENCES_DARKFRAME;Dark-Frame !PREFERENCES_DARKFRAMEFOUND;Found !PREFERENCES_DARKFRAMESHOTS;shots !PREFERENCES_DARKFRAMETEMPLATES;templates !PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4 !PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two. !PREFERENCES_DIRDARKFRAMES;Dark-frames directory +!PREFERENCES_DIRECTORIES;Directories !PREFERENCES_EXPAUT;Expert !PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Single row file browser toolbar\n(de-select for low resolution display) -!PREFERENCES_FILMSIMULATION;Film Simulation -!PREFERENCES_FLATFIELD;Flat-Field !PREFERENCES_FLATFIELDFOUND;Found !PREFERENCES_FLATFIELDSDIR;Flat-fields directory !PREFERENCES_FLATFIELDSHOTS;shots diff --git a/rtdata/languages/Suomi b/rtdata/languages/Suomi index 76d1531e2..72fe637d3 100644 --- a/rtdata/languages/Suomi +++ b/rtdata/languages/Suomi @@ -1157,18 +1157,16 @@ TP_WBALANCE_TEMPERATURE;Lämpötila [K] !PREFERENCES_D55;5500K !PREFERENCES_D60;6000K !PREFERENCES_D65;6500K -!PREFERENCES_DARKFRAME;Dark-Frame !PREFERENCES_DARKFRAMEFOUND;Found !PREFERENCES_DARKFRAMESHOTS;shots !PREFERENCES_DARKFRAMETEMPLATES;templates !PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4 !PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two. !PREFERENCES_DIRDARKFRAMES;Dark-frames directory +!PREFERENCES_DIRECTORIES;Directories !PREFERENCES_EDITORLAYOUT;Editor Layout !PREFERENCES_EXPAUT;Expert !PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Single row file browser toolbar\n(de-select for low resolution display) -!PREFERENCES_FILMSIMULATION;Film Simulation -!PREFERENCES_FLATFIELD;Flat-Field !PREFERENCES_FLATFIELDFOUND;Found !PREFERENCES_FLATFIELDSDIR;Flat-fields directory !PREFERENCES_FLATFIELDSHOTS;shots diff --git a/rtdata/languages/Swedish b/rtdata/languages/Swedish index b5ec9dc65..53bdbc3dc 100644 --- a/rtdata/languages/Swedish +++ b/rtdata/languages/Swedish @@ -870,7 +870,6 @@ PREFERENCES_D50;5000K PREFERENCES_D55;5500K PREFERENCES_D60;6000K PREFERENCES_D65;6500K -PREFERENCES_DARKFRAME;Svartbild PREFERENCES_DARKFRAMEFOUND;Hittade PREFERENCES_DARKFRAMESHOTS;bilder PREFERENCES_DARKFRAMETEMPLATES;mallar @@ -891,8 +890,6 @@ PREFERENCES_EXTERNALEDITOR;Externt bildredigeringsprogram PREFERENCES_FBROWSEROPTS;Inställningar för filvyn/miniatyrbilderna PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Filvyns verktygsrad som en rad (avmarkera för lågupplösta skärmar) PREFERENCES_FILEFORMAT;Filformat -PREFERENCES_FILMSIMULATION;Filmsimulering -PREFERENCES_FLATFIELD;Plattfält PREFERENCES_FLATFIELDFOUND;Hittade PREFERENCES_FLATFIELDSDIR;Plattfältskatalog PREFERENCES_FLATFIELDSHOTS;bilder @@ -1994,6 +1991,7 @@ ZOOMPANEL_ZOOMOUT;Förminska.\nKortkommando: - !PREFERENCES_AUTOSAVE_TP_OPEN;Automatically save tools collapsed/expanded\nstate before exiting !PREFERENCES_CMMBPC;Black point compensation !PREFERENCES_D50_OLD;5000K +!PREFERENCES_DIRECTORIES;Directories !PREFERENCES_GREY18_OLD;Yb=18 CIE L#50 !PREFERENCES_INSPECT_MAXBUFFERS_TOOLTIP;Set the maximum number of images stored in cache when hovering over them in the File Browser; systems with little RAM (2GB) should keep this value set to 1 or 2. !PREFERENCES_LANG;Language diff --git a/rtdata/languages/Turkish b/rtdata/languages/Turkish index 590f65161..a05b499db 100644 --- a/rtdata/languages/Turkish +++ b/rtdata/languages/Turkish @@ -1156,18 +1156,16 @@ TP_WBALANCE_TEMPERATURE;Isı !PREFERENCES_D55;5500K !PREFERENCES_D60;6000K !PREFERENCES_D65;6500K -!PREFERENCES_DARKFRAME;Dark-Frame !PREFERENCES_DARKFRAMEFOUND;Found !PREFERENCES_DARKFRAMESHOTS;shots !PREFERENCES_DARKFRAMETEMPLATES;templates !PREFERENCES_DAUB_LABEL;Use Daubechies D6 wavelets instead of D4 !PREFERENCES_DAUB_TOOLTIP;The Noise Reduction and Wavelet Levels tools use a Debauchies mother wavelet. If you choose D6 instead of D4 you increase the number of orthogonal Daubechies coefficients and probably increase quality of small-scale levels. There is no memory or processing time difference between the two. !PREFERENCES_DIRDARKFRAMES;Dark-frames directory +!PREFERENCES_DIRECTORIES;Directories !PREFERENCES_EDITORLAYOUT;Editor Layout !PREFERENCES_EXPAUT;Expert !PREFERENCES_FILEBROWSERTOOLBARSINGLEROW;Single row file browser toolbar\n(de-select for low resolution display) -!PREFERENCES_FILMSIMULATION;Film Simulation -!PREFERENCES_FLATFIELD;Flat-Field !PREFERENCES_FLATFIELDFOUND;Found !PREFERENCES_FLATFIELDSDIR;Flat-fields directory !PREFERENCES_FLATFIELDSHOTS;shots From 8aa3b75c4643340c5d1acf250d896d12ea59e250 Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Sun, 29 Oct 2017 22:02:03 +0100 Subject: [PATCH 17/19] Deleted unused translation strings --- rtdata/languages/Deutsch | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/rtdata/languages/Deutsch b/rtdata/languages/Deutsch index 698f7a365..ea41ee0c3 100644 --- a/rtdata/languages/Deutsch +++ b/rtdata/languages/Deutsch @@ -737,31 +737,15 @@ HISTORY_MSG_442;(Retinex) - Einstellungen\nTransmission - Skalierung HISTORY_MSG_443;(Farbmanagement)\nAusgabeprofil\nSchwarzpunkt-Kompensation HISTORY_MSG_444;(Weißabgleich)\nAWB-Temperatur-Korrektur HISTORY_MSG_445;(Sensor-Matrix)\nFarbinterpolation\nUnterbild -HISTORY_MSG_446;EvPixelShiftMotion -HISTORY_MSG_447;EvPixelShiftMotionCorrection -HISTORY_MSG_448;EvPixelShiftStddevFactorGreen HISTORY_MSG_449;(Sensor-Matrix)\nFarbinterpolation\nISO-Anpassung -HISTORY_MSG_450;EvPixelShiftNreadIso -HISTORY_MSG_451;EvPixelShiftPrnu HISTORY_MSG_452;(Sensor-Matrix)\nFarbinterpolation\nBewegungsmaske\nanzeigen HISTORY_MSG_453;(Sensor-Matrix)\nFarbinterpolation\nNur Maske anzeigen -HISTORY_MSG_454;EvPixelShiftAutomatic -HISTORY_MSG_455;EvPixelShiftNonGreenHorizontal -HISTORY_MSG_456;EvPixelShiftNonGreenVertical HISTORY_MSG_457;(Sensor-Matrix)\nFarbinterpolation\nBewegung im Rot/Blau-\nKanal erkennen -HISTORY_MSG_458;EvPixelShiftStddevFactorRed -HISTORY_MSG_459;EvPixelShiftStddevFactorBlue -HISTORY_MSG_460;EvPixelShiftGreenAmaze -HISTORY_MSG_461;EvPixelShiftNonGreenAmaze HISTORY_MSG_462;(Sensor-Matrix)\nFarbinterpolation\nBewegung im Grün-\nKanal erkennen -HISTORY_MSG_463;EvPixelShiftRedBlueWeight HISTORY_MSG_464;(Sensor-Matrix)\nFarbinterpolation\nUnschärfebewegungsmaske HISTORY_MSG_465;(Sensor-Matrix)\nFarbinterpolation\nUnschärferadius -HISTORY_MSG_466;EvPixelShiftSum -HISTORY_MSG_467;EvPixelShiftExp0 HISTORY_MSG_468;(Sensor-Matrix)\nFarbinterpolation\nLücken in der Bewegungs-\nmaske erkennen HISTORY_MSG_469;(Sensor-Matrix)\nFarbinterpolation\nMedian -HISTORY_MSG_470;EvPixelShiftMedian3 HISTORY_MSG_471;(Sensor-Matrix)\nFarbinterpolation\nBewegungskorrektur HISTORY_MSG_472;(Sensor-Matrix)\nFarbinterpolation\nWeicher Übergang HISTORY_MSG_473;(Sensor-Matrix)\nFarbinterpolation\nLMMSE für Bewegungs-\nteile verwenden From a2a70bffdfeb28970f5e43c40f1b35af667b5901 Mon Sep 17 00:00:00 2001 From: Morgan Hardwood Date: Mon, 30 Oct 2017 13:12:26 +0100 Subject: [PATCH 18/19] Added alternative camera make name XIAOYI == YI TECHNOLOGY to fix magenta highlights, closes #4164 --- rtengine/camconst.json | 2 +- rtengine/dcraw.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/rtengine/camconst.json b/rtengine/camconst.json index b13dd00f9..5a3a18fd1 100644 --- a/rtengine/camconst.json +++ b/rtengine/camconst.json @@ -2286,7 +2286,7 @@ Camera constants: }, { // Quality C, No proper color data, beta samples, frame set to official jpeg, - "make_model": "XIAOYI M1", + "make_model": [ "XIAOYI M1", "YI TECHNOLOGY M1" ], "dcraw_matrix": [ 7158,-1911,-606,-3603,10669,2530,-659,1236,5530 ], // XIAO YI DNG D65 "raw_crop": [ 4, 3, 5192, 3896 ], // full raw 5200x3902, official jpeg 5184X3888 "ranges": { diff --git a/rtengine/dcraw.cc b/rtengine/dcraw.cc index f59f5b2fe..8e0278423 100644 --- a/rtengine/dcraw.cc +++ b/rtengine/dcraw.cc @@ -9566,7 +9566,7 @@ dng_skip: adobe_coeff (make, model); if(!strncmp(make, "Leica", 5) && !strncmp(model, "SL",2)) adobe_coeff (make, model); - if(!strncmp(make, "XIAOYI", 6) && !strncmp(model, "M1",2)) + if((!strncmp(make, "XIAOYI", 6) || !strncmp(make, "YI", 2)) && !strncmp(model, "M1",2)) adobe_coeff (make, model); if (raw_color) adobe_coeff (make, model); if (load_raw == &CLASS kodak_radc_load_raw) From dd6e411c13f1f947f770fd1cbe4686b5de77e70e Mon Sep 17 00:00:00 2001 From: Alberto Griggio Date: Tue, 31 Oct 2017 09:02:37 +0100 Subject: [PATCH 19/19] lensfun: improved logic for handling fixed-lens cameras Fixes #4161 --- rtengine/rtlensfun.cc | 19 +++++++++++++------ rtengine/rtlensfun.h | 1 + 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/rtengine/rtlensfun.cc b/rtengine/rtlensfun.cc index ed19f44f0..c73458824 100644 --- a/rtengine/rtlensfun.cc +++ b/rtengine/rtlensfun.cc @@ -172,6 +172,15 @@ float LFCamera::getCropFactor() const } +bool LFCamera::isFixedLens() const +{ + // per lensfun's main developer Torsten Bronger: + // "Compact camera mounts can be identified by the fact that the mount + // starts with a lowercase letter" + return data_ && data_->Mount && std::islower(data_->Mount[0]); +} + + Glib::ustring LFCamera::getDisplayString() const { if (data_) { @@ -387,12 +396,7 @@ LFLens LFDatabase::findLens(const LFCamera &camera, const Glib::ustring &name) c { LFLens ret; if (data_) { - Glib::ustring lname = name; - bool stdlens = camera && (name.empty() || name.find("Unknown") == 0); - if (stdlens) { - lname = camera.getModel(); // "Standard" - } - auto found = data_->FindLenses(camera.data_, nullptr, lname.c_str()); + auto found = data_->FindLenses(camera.data_, nullptr, name.c_str()); for (size_t pos = 0; !found && pos < name.size(); ) { // try to split the maker from the model of the lens -- we have to // guess a bit here, since there are makers with a multi-word name @@ -411,6 +415,9 @@ LFLens LFDatabase::findLens(const LFCamera &camera, const Glib::ustring &name) c break; } } + if (!found && camera && camera.isFixedLens()) { + found = data_->FindLenses(camera.data_, nullptr, ""); + } if (found) { ret.data_ = found[0]; lf_free(found); diff --git a/rtengine/rtlensfun.h b/rtengine/rtlensfun.h index 207e4e86e..686b8b9c4 100644 --- a/rtengine/rtlensfun.h +++ b/rtengine/rtlensfun.h @@ -69,6 +69,7 @@ public: Glib::ustring getMake() const; Glib::ustring getModel() const; float getCropFactor() const; + bool isFixedLens() const; Glib::ustring getDisplayString() const;