Changeset View
Changeset View
Standalone View
Standalone View
libs/ui/kis_layer_manager.cc
Show First 20 Lines • Show All 628 Lines • ▼ Show 20 Line(s) | |||||
629 | { | 629 | { | ||
630 | KisImageSP image = m_view->image(); | 630 | KisImageSP image = m_view->image(); | ||
631 | if (!image) return; | 631 | if (!image) return; | ||
632 | 632 | | |||
633 | KisLayerSP layer = activeLayer(); | 633 | KisLayerSP layer = activeLayer(); | ||
634 | if (!layer) return; | 634 | if (!layer) return; | ||
635 | 635 | | |||
636 | if (!m_view->blockUntilOperationsFinished(image)) return; | 636 | if (!m_view->blockUntilOperationsFinished(image)) return; | ||
637 | 637 | | |||
dkazakovUnsubmitted Not Done
dkazakov: * We should use "self-descriptive names" for variables :)
* in C++ bools are either 'true' or… | |||||
638 | QList<KisNodeSP> selectedNodes = m_view->nodeManager()->selectedNodes(); | 638 | QList<KisNodeSP> selectedNodes = m_view->nodeManager()->selectedNodes(); | ||
639 | if (selectedNodes.size() > 1) { | 639 | if (selectedNodes.size() > 1) { | ||
640 | image->mergeMultipleLayers(selectedNodes, m_view->activeNode()); | 640 | image->mergeMultipleLayers(selectedNodes, m_view->activeNode()); | ||
641 | } | ||||
Even though you added a check above guaranteeing that the size of selected nodes is not null, I would still recommend using more common and safe construction like for (it = selectedNodes.begin(); it != selectedNodes.end(); ++it). It is not guaranteed that one day someone comes and changes the 'if' above without noticing the problem in this loop. dkazakov: Even though you added a check above guaranteeing that the size of selected nodes is not null, I… | |||||
641 | 642 | | |||
Why checking for m_view->activeNode() != node? It doesn't look too useful in the user's point of view... Or you there is some usecase I don't know about? dkazakov: Why checking for `m_view->activeNode() != node`? It doesn't look too useful in the user's point… | |||||
642 | } else if (tryMergeSelectionMasks(m_view->activeNode(), image)) { | 643 | else if (tryMergeSelectionMasks(m_view->activeNode(), image)) { | ||
As far as I can tell, there should have been break statement somewhere there. Probably, we could still allow merging down multiple layer, but just don't delete them? dkazakov: As far as I can tell, there should have been `break` statement somewhere there.
Probably, we… | |||||
643 | // already done! | 644 | // already done! | ||
644 | } else if (tryFlattenGroupLayer(m_view->activeNode(), image)) { | 645 | } else if (tryFlattenGroupLayer(m_view->activeNode(), image)) { | ||
645 | // already done! | 646 | // already done! | ||
646 | } else { | 647 | } else { | ||
647 | 648 | | |||
648 | if (!layer->prevSibling()) return; | 649 | if (!layer->prevSibling()) return; | ||
649 | KisLayer *prevLayer = qobject_cast<KisLayer*>(layer->prevSibling().data()); | 650 | KisLayer *prevLayer = qobject_cast<KisLayer*>(layer->prevSibling().data()); | ||
650 | if (!prevLayer) return; | 651 | if (!prevLayer) return; | ||
652 | if (prevLayer->userLocked()) { | ||||
653 | m_view->showFloatingMessage( | ||||
654 | i18nc("floating message in layer manager", | ||||
655 | "Layer is locked "), | ||||
656 | QIcon(), 2000, KisFloatingMessage::Low); | ||||
657 | } | ||||
651 | 658 | | |||
652 | if (layer->metaData()->isEmpty() && prevLayer->metaData()->isEmpty()) { | 659 | else if (layer->metaData()->isEmpty() && prevLayer->metaData()->isEmpty()) { | ||
653 | image->mergeDown(layer, KisMetaData::MergeStrategyRegistry::instance()->get("Drop")); | 660 | image->mergeDown(layer, KisMetaData::MergeStrategyRegistry::instance()->get("Drop")); | ||
654 | } | 661 | } | ||
655 | else { | 662 | else { | ||
656 | const KisMetaData::MergeStrategy* strategy = KisMetaDataMergeStrategyChooserWidget::showDialog(m_view->mainWindow()); | 663 | const KisMetaData::MergeStrategy* strategy = KisMetaDataMergeStrategyChooserWidget::showDialog(m_view->mainWindow()); | ||
657 | if (!strategy) return; | 664 | if (!strategy) return; | ||
658 | image->mergeDown(layer, strategy); | 665 | image->mergeDown(layer, strategy); | ||
659 | } | 666 | } | ||
660 | } | 667 | } | ||
▲ Show 20 Lines • Show All 176 Lines • Show Last 20 Lines |