File indexing completed on 2024-05-12 15:58:52

0001 /*
0002  *  SPDX-FileCopyrightText: 2020 Boudewijn Rempt <boud@valdyas.org>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #include "KisTranslateLayerNamesVisitor.h"
0008 
0009 #include "kis_node.h"
0010 #include "kis_paint_layer.h"
0011 #include "kis_group_layer.h"
0012 #include "kis_adjustment_layer.h"
0013 #include "kis_external_layer_iface.h"
0014 #include "kis_clone_layer.h"
0015 #include "kis_filter_mask.h"
0016 #include "kis_transform_mask.h"
0017 #include "kis_transparency_mask.h"
0018 #include "kis_selection_mask.h"
0019 #include "lazybrush/kis_colorize_mask.h"
0020 #include "generator/kis_generator_layer.h"
0021 
0022 #include <klocalizedstring.h>
0023 
0024 KisTranslateLayerNamesVisitor::KisTranslateLayerNamesVisitor(QMap<QString, QString> dictionary)
0025     : m_dictionary(dictionary)
0026 {
0027     QMap<QString, QString> d = defaultDictionary();
0028     QMap<QString, QString>::const_iterator i = d.constBegin();
0029     while (i != d.constEnd()) {
0030         if (!dictionary.contains(i.key())) {
0031             dictionary[i.key()] = i.value();
0032         }
0033         ++i;
0034     }
0035     m_dictionary = dictionary;
0036 }
0037 
0038 bool KisTranslateLayerNamesVisitor::translate(KisNode *node)
0039 {
0040     if (m_dictionary.contains(node->name())) {
0041         node->setName(m_dictionary[node->name()]);
0042     }
0043     node->setName(node->name().replace("Layer", i18n("Layer")));
0044     node->setName(node->name().replace("layer", i18n("layer")));
0045     return true;
0046 }
0047 
0048 bool KisTranslateLayerNamesVisitor::visit(KisNode* node) {
0049     return translate(node);
0050 }
0051 
0052 QMap<QString, QString> KisTranslateLayerNamesVisitor::defaultDictionary()
0053 {
0054     QMap<QString, QString> dictionary;
0055 
0056     dictionary["Background"] = i18nc("Layer name for translation of template", "Background");
0057     dictionary["Group"] = i18nc("Layer name for translation of template", "Group");
0058     dictionary["Margins"] = i18nc("Layer name for translation of template", "Margins");
0059     dictionary["Bleed"] = i18nc("Layer name for translation of template", "Bleed");
0060     dictionary["Lines"] = i18nc("Layer name for translation of template", "Lines");
0061     dictionary["Colors"] = i18nc("Layer name for translation of template", "Colors");
0062     dictionary["Sketch"] = i18nc("Layer name for translation of template", "Sketch");
0063     dictionary["Shade"] = i18nc("Layer name for translation of template", "Shade");
0064     dictionary["Filter"] = i18nc("Layer name for translation of template", "Filter");
0065     dictionary["Mask"] = i18nc("Layer name for translation of template", "Mask");
0066     dictionary["Layer"] = i18nc("Layer name for translation of template", "Layer");
0067     dictionary["Indirect light"] = i18nc("Layer name for translation of template", "Indirect light");
0068     dictionary["Highlight"] = i18nc("Layer name for translation of template", "Highlight");
0069     dictionary["Flat"] = i18nc("Layer name for translation of template", "Flat");
0070     dictionary["Panel"] = i18nc("Layer name for translation of template", "Panel");
0071     dictionary["Text"] = i18nc("Layer name for translation of template", "Text");
0072     dictionary["Effect"] = i18nc("Layer name for translation of template", "Effect");
0073     dictionary["Tones"] = i18nc("Layer name for translation of template", "Tones");
0074     dictionary["Textures"] = i18nc("Layer name for translation of template", "Textures");
0075     dictionary["Guides"] = i18nc("Layer name for translation of template", "Guides");
0076     dictionary["Balloons"] = i18nc("Layer name for translation of template", "Balloons");
0077     dictionary["Clone"] = i18nc("Layer name for translation of template", "Clone");
0078     dictionary["In Betweening"] = i18nc("Layer name for translation of template", "In Betweening");
0079     dictionary["Layout"] = i18nc("Layer name for translation of template", "Layout");
0080 
0081     return dictionary;
0082 }
0083 
0084 bool KisTranslateLayerNamesVisitor::visit(KisPaintLayer *layer) {
0085     return translate(layer);
0086 }
0087 
0088 bool KisTranslateLayerNamesVisitor::visit(KisGroupLayer *layer) {
0089     return translate(layer);
0090 }
0091 
0092 
0093 bool KisTranslateLayerNamesVisitor::visit(KisAdjustmentLayer *layer) {
0094     return translate(layer);
0095 }
0096 
0097 
0098 bool KisTranslateLayerNamesVisitor::visit(KisExternalLayer *layer) {
0099     return translate(layer);
0100 }
0101 
0102 
0103 bool KisTranslateLayerNamesVisitor::visit(KisCloneLayer *layer) {
0104     return translate(layer);
0105 }
0106 
0107 
0108 bool KisTranslateLayerNamesVisitor::visit(KisFilterMask *mask) {
0109     return translate(mask);
0110 }
0111 
0112 bool KisTranslateLayerNamesVisitor::visit(KisTransformMask *mask) {
0113     return translate(mask);
0114 }
0115 
0116 bool KisTranslateLayerNamesVisitor::visit(KisTransparencyMask *mask) {
0117     return translate(mask);
0118 }
0119 
0120 
0121 bool KisTranslateLayerNamesVisitor::visit(KisGeneratorLayer * layer) {
0122     return translate(layer);
0123 }
0124 
0125 bool KisTranslateLayerNamesVisitor::visit(KisSelectionMask* mask) {
0126     return translate(mask);
0127 }
0128 
0129 bool KisTranslateLayerNamesVisitor::visit(KisColorizeMask* mask) {
0130     return translate(mask);
0131 }
0132