File indexing completed on 2025-04-27 03:58:36
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2009-06-15 0007 * Description : multi-languages string editor 0008 * 0009 * SPDX-FileCopyrightText: 2009-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0010 * 0011 * SPDX-License-Identifier: GPL-2.0-or-later 0012 * 0013 * ============================================================ */ 0014 0015 #ifndef DIGIKAM_ALT_LANG_STR_EDIT_P_H 0016 #define DIGIKAM_ALT_LANG_STR_EDIT_P_H 0017 0018 #include "altlangstredit.h" 0019 0020 // Qt includes 0021 0022 #include <QEvent> 0023 #include <QIcon> 0024 #include <QLineEdit> 0025 #include <QFontMetrics> 0026 #include <QRect> 0027 #include <QMenu> 0028 #include <QListWidget> 0029 #include <QWidgetAction> 0030 #include <QStyle> 0031 #include <QLabel> 0032 #include <QToolButton> 0033 #include <QGridLayout> 0034 #include <QApplication> 0035 #include <QComboBox> 0036 #include <QScrollBar> 0037 #include <QListWidgetItem> 0038 #include <QMessageBox> 0039 0040 // KDE includes 0041 0042 #include <klazylocalizedstring.h> 0043 #include <klocalizedstring.h> 0044 0045 // Local includes 0046 0047 #include "digikam_debug.h" 0048 #include "donlinetranslator.h" 0049 #include "localizesettings.h" 0050 #include "localizeselector.h" 0051 #include "dexpanderbox.h" 0052 0053 namespace Digikam 0054 { 0055 0056 typedef QMap<QString, KLazyLocalizedString> LanguageCodeMap; 0057 0058 extern const LanguageCodeMap s_rfc3066ForXMP; 0059 0060 // ---------------------------------------------------------------------- 0061 0062 class Q_DECL_HIDDEN AltLangStrEdit::Private 0063 { 0064 public: 0065 0066 explicit Private() 0067 : currentLanguage (QLatin1String("x-default")), 0068 linesVisible (0), 0069 grid (nullptr), 0070 titleWidget (nullptr), 0071 delValueButton (nullptr), 0072 localizeSelector(nullptr), 0073 valueEdit (nullptr), 0074 languageCB (nullptr), 0075 trengine (nullptr) 0076 { 0077 } 0078 0079 ~Private() 0080 { 0081 } 0082 0083 public: 0084 0085 QString currentLanguage; 0086 0087 uint linesVisible; 0088 0089 QGridLayout* grid; 0090 0091 QWidget* titleWidget; 0092 0093 QToolButton* delValueButton; 0094 LocalizeSelector* localizeSelector; 0095 0096 DTextEdit* valueEdit; 0097 0098 QComboBox* languageCB; 0099 DOnlineTranslator* trengine; 0100 QString trCode; 0101 0102 MetaEngine::AltLangMap values; 0103 }; 0104 0105 } // namespace Digikam 0106 0107 #endif // DIGIKAM_ALT_LANG_STR_EDIT_P_H