Local adjustments tools used globally - Laspotmain (#6928)
* First step LA globally * fixed several GUI bad behavior * better behavior shows additional settings * Improve transition in main * First step hide-show invers and scope * Hide show invers and scope step2 * hide show others inverse and scope * Try to improve * Change windows.yml and appimage.yml * In Preference set choice for default Spot Method * Optimization call idle_register * forgotten delete mainfp * Re-enable sliders scope in colorlight - shadows - vibrance - move setting checkbox others settings * Fixed bad behavior hide - show * Optimize behavior * Bad behavior scope when changing method * Clean and comment code * disable preview mask and modif for cbdl and retinex * Fixed preview deltaE mask and modif log encode - exposure - new button preview color and light * Button preview deltaE - exposure * Button preview SH * Button preview Vibrance * Improce code using mask * Fixed several bad behavior - preview TM and Contrast * Preview log button * Preview Ciecam button * Preview common mask button * Disable Preview button in settings when not used in tools * Change call to controspotpanel in improcoordinator * Change Local adjustments title to Selective Editing * Change default value spotmethod in option * Missing cddl in preview settings * Change parameter setting spot type * put selective editing tab just after exposure tab * Disable preview ΔE button when another is enabled Only one button should be active at any given time. * Deactivate preview ΔE buttons when switching spots * Change tooltip Spot method * Change selective editing position * Remove duplicate line in language default * Remove appimage.yml windows.yml --------- Co-authored-by: Lawrence Lee <45837045+Lawrence37@users.noreply.github.com>
This commit is contained in:
@@ -756,6 +756,30 @@ class SpotPicker : public Gtk::Grid
|
||||
void spotSizeChanged();
|
||||
};
|
||||
|
||||
/**
|
||||
* Enforces the rule that zero or one registered toggle button is enabled at any
|
||||
* given time.
|
||||
*/
|
||||
class OptionalRadioButtonGroup
|
||||
{
|
||||
Gtk::ToggleButton *active_button{nullptr};
|
||||
|
||||
void onButtonToggled(Gtk::ToggleButton *button);
|
||||
|
||||
public:
|
||||
/**
|
||||
* Returns the toggle button that is active, or null if none are active.
|
||||
*/
|
||||
Gtk::ToggleButton *getActiveButton() const;
|
||||
/**
|
||||
* Adds a toggle button to this group.
|
||||
*
|
||||
* If the provided button is active, any existing active button in this
|
||||
* group will be deactivated.
|
||||
*/
|
||||
void register_button(Gtk::ToggleButton &button);
|
||||
};
|
||||
|
||||
inline void setActiveTextOrIndex(Gtk::ComboBoxText &comboBox, const Glib::ustring &text, int index)
|
||||
{
|
||||
bool valueSet = false;
|
||||
|
Reference in New Issue
Block a user