Avoids Locallab spot to disapear when mouse right-clicking
This commit also avoids Locallab spot to disapear when adding lockable color picker, pressing toolbar "hand" button, pressing h/H key. However, if another tool button (ex: resizing tool) is pressed, this action is considered
This commit is contained in:
parent
0225a7f109
commit
690df79ef2
@ -107,7 +107,7 @@ void ToolBar::setTool (ToolMode tool)
|
||||
ConnectionBlocker cropBlocker(cropConn);
|
||||
ConnectionBlocker wbWasBlocked(wbTool, wbConn), cpWasBlocked(colPickerTool, cpConn);
|
||||
|
||||
stopEdit = tool == TMHand && handTool->get_active() && editingMode;
|
||||
stopEdit = tool == TMHand && handTool->get_active() && editingMode && !blockEdit;
|
||||
|
||||
handTool->set_active (false);
|
||||
|
||||
@ -204,7 +204,7 @@ void ToolBar::hand_pressed ()
|
||||
ConnectionBlocker cropBlocker(cropConn);
|
||||
ConnectionBlocker wbWasBlocked(wbTool, wbConn), cpWasBlocked(colPickerTool, cpConn);
|
||||
|
||||
if (editingMode) {
|
||||
if (editingMode && !blockEdit) {
|
||||
stopEditMode();
|
||||
if (listener) {
|
||||
listener->editModeSwitchedOff ();
|
||||
@ -289,7 +289,7 @@ void ToolBar::colPicker_pressed (GdkEventButton* event)
|
||||
|
||||
if (current != TMColorPicker) {
|
||||
// Disabling all other tools, enabling the Picker tool and entering the "visible pickers" mode
|
||||
if (editingMode) {
|
||||
if (editingMode && !blockEdit) {
|
||||
stopEditMode();
|
||||
if (listener) {
|
||||
listener->editModeSwitchedOff ();
|
||||
|
@ -64,6 +64,7 @@ protected:
|
||||
ToolMode current;
|
||||
bool allowNoTool;
|
||||
bool editingMode; // true if the cursor is being used to remotely edit tool's values
|
||||
bool blockEdit; // true if edit tool shoudn't be disabled when pressing hand button or h/H key
|
||||
sigc::connection handConn;
|
||||
sigc::connection wbConn;
|
||||
sigc::connection cpConn;
|
||||
@ -98,6 +99,11 @@ public:
|
||||
|
||||
bool handleShortcutKey (GdkEventKey* event);
|
||||
void setBatchMode();
|
||||
|
||||
void blockEditDeactivation(bool cond = true)
|
||||
{
|
||||
blockEdit = cond;
|
||||
}
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -281,8 +281,10 @@ void ToolPanelCoordinator::notebookPageChanged(Gtk::Widget* page, guint page_num
|
||||
// segfault) and locallab panel is active
|
||||
if (photoLoadedOnce) {
|
||||
if (page == locallabPanelSW) {
|
||||
toolBar->blockEditDeactivation(); // Avoid edit tool deactivation when Locallab page is active (except if pressing other tools button)
|
||||
locallab->subscribe();
|
||||
} else {
|
||||
toolBar->blockEditDeactivation(false);
|
||||
locallab->unsubscribe();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user