Bugfixes for Locallab GUI
- Fixes segfault when modifying "Advice tooltips" option in Preferences panel in "Multiple editor" mode - Removes dedicated Locallab help button (will be managed directly in RawPedia website) - Fixes issue when switching to "Normal" mode with Retinex Locallab tool.
This commit is contained in:
@@ -1338,7 +1338,6 @@ IPTCPANEL_TITLE;Title
|
|||||||
IPTCPANEL_TITLEHINT;Enter a short verbal and human readable name for the image, this may be the file name.
|
IPTCPANEL_TITLEHINT;Enter a short verbal and human readable name for the image, this may be the file name.
|
||||||
IPTCPANEL_TRANSREFERENCE;Job ID
|
IPTCPANEL_TRANSREFERENCE;Job ID
|
||||||
IPTCPANEL_TRANSREFERENCEHINT;Enter a number or identifier needed for workflow control or tracking.
|
IPTCPANEL_TRANSREFERENCEHINT;Enter a number or identifier needed for workflow control or tracking.
|
||||||
LOCAL_HELP;Help Local Adjustments
|
|
||||||
MAIN_BUTTON_FULLSCREEN;Fullscreen
|
MAIN_BUTTON_FULLSCREEN;Fullscreen
|
||||||
MAIN_BUTTON_ICCPROFCREATOR;ICC Profile Creator
|
MAIN_BUTTON_ICCPROFCREATOR;ICC Profile Creator
|
||||||
MAIN_BUTTON_NAVNEXT_TOOLTIP;Navigate to the next image relative to image opened in the Editor.\nShortcut: <b>Shift-F4</b>\n\nTo navigate to the next image relative to the currently selected thumbnail in the File Browser or Filmstrip:\nShortcut: <b>F4</b>
|
MAIN_BUTTON_NAVNEXT_TOOLTIP;Navigate to the next image relative to image opened in the Editor.\nShortcut: <b>Shift-F4</b>\n\nTo navigate to the next image relative to the currently selected thumbnail in the File Browser or Filmstrip:\nShortcut: <b>F4</b>
|
||||||
|
@@ -1471,10 +1471,50 @@ void LocallabRetinex::convertParamToNormal()
|
|||||||
str->setValue(defSpot.str);
|
str->setValue(defSpot.str);
|
||||||
loglin->set_active(defSpot.loglin);
|
loglin->set_active(defSpot.loglin);
|
||||||
|
|
||||||
|
if (defSpot.retinexMethod == "low") {
|
||||||
|
retinexMethod->set_active(0);
|
||||||
|
} else if (defSpot.retinexMethod == "uni") {
|
||||||
|
retinexMethod->set_active(1);
|
||||||
|
} else {
|
||||||
|
retinexMethod->set_active(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
fftwreti->set_active(defSpot.fftwreti);
|
||||||
|
equilret->set_active(defSpot.equilret);
|
||||||
|
neigh->setValue(defSpot.neigh);
|
||||||
|
vart->setValue(defSpot.vart);
|
||||||
|
scalereti->setValue(defSpot.scalereti);
|
||||||
|
limd->setValue(defSpot.limd);
|
||||||
|
offs->setValue(defSpot.offs);
|
||||||
|
chrrt->setValue(defSpot.chrrt);
|
||||||
|
darkness->setValue(defSpot.darkness);
|
||||||
|
lightnessreti->setValue(defSpot.lightnessreti);
|
||||||
|
cliptm->setValue(defSpot.cliptm);
|
||||||
|
softradiusret->setValue(defSpot.softradiusret);
|
||||||
|
cTtransshape->setCurve(defSpot.localTtranscurve);
|
||||||
|
cTgainshape->setCurve(defSpot.localTgaincurve);
|
||||||
|
enaretiMask->set_active(defSpot.enaretiMask);
|
||||||
|
enaretiMasktmap->set_active(defSpot.enaretiMasktmap);
|
||||||
|
CCmaskretishape->setCurve(defSpot.CCmaskreticurve);
|
||||||
|
LLmaskretishape->setCurve(defSpot.LLmaskreticurve);
|
||||||
|
HHmaskretishape->setCurve(defSpot.HHmaskreticurve);
|
||||||
|
blendmaskreti->setValue((double)defSpot.blendmaskreti);
|
||||||
|
radmaskreti->setValue(defSpot.radmaskreti);
|
||||||
|
lapmaskreti->setValue(defSpot.lapmaskreti);
|
||||||
|
chromaskreti->setValue(defSpot.chromaskreti);
|
||||||
|
gammaskreti->setValue(defSpot.gammaskreti);
|
||||||
|
slomaskreti->setValue(defSpot.slomaskreti);
|
||||||
|
Lmaskretishape->setCurve(defSpot.Lmaskreticurve);
|
||||||
|
inversret->set_active(defSpot.inversret);
|
||||||
|
|
||||||
// Enable all listeners
|
// Enable all listeners
|
||||||
enableListener();
|
enableListener();
|
||||||
|
|
||||||
// Update GUI based on converted widget parameters:
|
// Update GUI based on converted widget parameters:
|
||||||
|
// - Update Retinex GUI according to scalereti adjuster value
|
||||||
|
updateRetinexGUI1();
|
||||||
|
// - Update Retinex GUI according to inversret button state
|
||||||
|
updateRetinexGUI2();
|
||||||
// - Update Retinex GUI according to str adjuster value
|
// - Update Retinex GUI according to str adjuster value
|
||||||
updateRetinexGUI3();
|
updateRetinexGUI3();
|
||||||
}
|
}
|
||||||
@@ -1485,12 +1525,10 @@ void LocallabRetinex::updateGUIToMode(const modeType new_type)
|
|||||||
// Advanced widgets are hidden in Normal mode
|
// Advanced widgets are hidden in Normal mode
|
||||||
retiFrame->hide();
|
retiFrame->hide();
|
||||||
retitoolFrame->hide();
|
retitoolFrame->hide();
|
||||||
expretitools->hide();
|
|
||||||
} else {
|
} else {
|
||||||
// Advanced widgets are shown in Expert mode
|
// Advanced widgets are shown in Expert mode
|
||||||
retiFrame->show();
|
retiFrame->show();
|
||||||
retitoolFrame->show();
|
retitoolFrame->show();
|
||||||
expretitools->show();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -385,13 +385,6 @@ RTWindow::RTWindow ()
|
|||||||
iccProfileCreator->set_tooltip_markup (M ("MAIN_BUTTON_ICCPROFCREATOR"));
|
iccProfileCreator->set_tooltip_markup (M ("MAIN_BUTTON_ICCPROFCREATOR"));
|
||||||
iccProfileCreator->signal_clicked().connect ( sigc::mem_fun (*this, &RTWindow::showICCProfileCreator) );
|
iccProfileCreator->signal_clicked().connect ( sigc::mem_fun (*this, &RTWindow::showICCProfileCreator) );
|
||||||
|
|
||||||
Gtk::Button* helpBtnloc = Gtk::manage (new Gtk::Button ());
|
|
||||||
setExpandAlignProperties (helpBtnloc, false, false, Gtk::ALIGN_CENTER, Gtk::ALIGN_CENTER);
|
|
||||||
helpBtnloc->set_relief(Gtk::RELIEF_NONE);
|
|
||||||
helpBtnloc->set_image (*Gtk::manage (new RTImage ("questionmark.png")));
|
|
||||||
helpBtnloc->set_tooltip_markup (M ("LOCAL_HELP"));
|
|
||||||
helpBtnloc->signal_clicked().connect (sigc::mem_fun (*this, &RTWindow::showRawPedialoc));
|
|
||||||
|
|
||||||
Gtk::Button* helpBtn = Gtk::manage (new Gtk::Button ());
|
Gtk::Button* helpBtn = Gtk::manage (new Gtk::Button ());
|
||||||
setExpandAlignProperties (helpBtn, false, false, Gtk::ALIGN_CENTER, Gtk::ALIGN_CENTER);
|
setExpandAlignProperties (helpBtn, false, false, Gtk::ALIGN_CENTER, Gtk::ALIGN_CENTER);
|
||||||
helpBtn->set_relief(Gtk::RELIEF_NONE);
|
helpBtn->set_relief(Gtk::RELIEF_NONE);
|
||||||
@@ -427,7 +420,6 @@ RTWindow::RTWindow ()
|
|||||||
actionGrid->set_orientation (Gtk::ORIENTATION_VERTICAL);
|
actionGrid->set_orientation (Gtk::ORIENTATION_VERTICAL);
|
||||||
actionGrid->attach_next_to (prProgBar, Gtk::POS_BOTTOM, 1, 1);
|
actionGrid->attach_next_to (prProgBar, Gtk::POS_BOTTOM, 1, 1);
|
||||||
actionGrid->attach_next_to (*iccProfileCreator, Gtk::POS_BOTTOM, 1, 1);
|
actionGrid->attach_next_to (*iccProfileCreator, Gtk::POS_BOTTOM, 1, 1);
|
||||||
actionGrid->attach_next_to (*helpBtnloc, Gtk::POS_BOTTOM, 1, 1);
|
|
||||||
actionGrid->attach_next_to (*helpBtn, Gtk::POS_BOTTOM, 1, 1);
|
actionGrid->attach_next_to (*helpBtn, Gtk::POS_BOTTOM, 1, 1);
|
||||||
actionGrid->attach_next_to (*preferences, Gtk::POS_BOTTOM, 1, 1);
|
actionGrid->attach_next_to (*preferences, Gtk::POS_BOTTOM, 1, 1);
|
||||||
actionGrid->attach_next_to (*btn_fullscreen, Gtk::POS_BOTTOM, 1, 1);
|
actionGrid->attach_next_to (*btn_fullscreen, Gtk::POS_BOTTOM, 1, 1);
|
||||||
@@ -437,7 +429,6 @@ RTWindow::RTWindow ()
|
|||||||
actionGrid->set_orientation (Gtk::ORIENTATION_HORIZONTAL);
|
actionGrid->set_orientation (Gtk::ORIENTATION_HORIZONTAL);
|
||||||
actionGrid->attach_next_to (prProgBar, Gtk::POS_RIGHT, 1, 1);
|
actionGrid->attach_next_to (prProgBar, Gtk::POS_RIGHT, 1, 1);
|
||||||
actionGrid->attach_next_to (*iccProfileCreator, Gtk::POS_RIGHT, 1, 1);
|
actionGrid->attach_next_to (*iccProfileCreator, Gtk::POS_RIGHT, 1, 1);
|
||||||
actionGrid->attach_next_to (*helpBtnloc, Gtk::POS_RIGHT, 1, 1);
|
|
||||||
actionGrid->attach_next_to (*helpBtn, Gtk::POS_RIGHT, 1, 1);
|
actionGrid->attach_next_to (*helpBtn, Gtk::POS_RIGHT, 1, 1);
|
||||||
actionGrid->attach_next_to (*preferences, Gtk::POS_RIGHT, 1, 1);
|
actionGrid->attach_next_to (*preferences, Gtk::POS_RIGHT, 1, 1);
|
||||||
actionGrid->attach_next_to (*btn_fullscreen, Gtk::POS_RIGHT, 1, 1);
|
actionGrid->attach_next_to (*btn_fullscreen, Gtk::POS_RIGHT, 1, 1);
|
||||||
@@ -936,12 +927,6 @@ void RTWindow::showRawPedia()
|
|||||||
gtk_show_uri(nullptr, "https://rawpedia.rawtherapee.com/", GDK_CURRENT_TIME, &gerror);
|
gtk_show_uri(nullptr, "https://rawpedia.rawtherapee.com/", GDK_CURRENT_TIME, &gerror);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RTWindow::showRawPedialoc()
|
|
||||||
{
|
|
||||||
GError* gerror = nullptr;
|
|
||||||
gtk_show_uri(nullptr, "https://rawpedia.rawtherapee.com/Local_Adjustments/fr", GDK_CURRENT_TIME, &gerror);
|
|
||||||
}
|
|
||||||
|
|
||||||
void RTWindow::showICCProfileCreator ()
|
void RTWindow::showICCProfileCreator ()
|
||||||
{
|
{
|
||||||
ICCProfileCreator *iccpc = new ICCProfileCreator (this);
|
ICCProfileCreator *iccpc = new ICCProfileCreator (this);
|
||||||
@@ -1098,7 +1083,13 @@ void RTWindow::updateFBToolBarVisibility (bool showFilmStripToolBar)
|
|||||||
|
|
||||||
void RTWindow::updateShowtooltipVisibility (bool showtooltip)
|
void RTWindow::updateShowtooltipVisibility (bool showtooltip)
|
||||||
{
|
{
|
||||||
epanel->updateShowtooltipVisibility (showtooltip);
|
if (epanel) {
|
||||||
|
epanel->updateShowtooltipVisibility (showtooltip);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (auto panel : epanels) {
|
||||||
|
panel.second->updateShowtooltipVisibility (showtooltip);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void RTWindow::updateHistogramPosition (int oldPosition, int newPosition)
|
void RTWindow::updateHistogramPosition (int oldPosition, int newPosition)
|
||||||
|
@@ -91,7 +91,6 @@ public:
|
|||||||
void on_mainNB_switch_page (Gtk::Widget* widget, guint page_num);
|
void on_mainNB_switch_page (Gtk::Widget* widget, guint page_num);
|
||||||
|
|
||||||
void showRawPedia();
|
void showRawPedia();
|
||||||
void showRawPedialoc();
|
|
||||||
void showICCProfileCreator ();
|
void showICCProfileCreator ();
|
||||||
void showPreferences ();
|
void showPreferences ();
|
||||||
void on_realize () override;
|
void on_realize () override;
|
||||||
|
Reference in New Issue
Block a user