digiKam
Loading...
Searching...
No Matches
altlangstredit.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2009-06-15
7 * Description : multi-languages string editor
8 *
9 * SPDX-FileCopyrightText: 2009-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// Qt includes
18
19#include <QWidget>
20#include <QString>
21#include <QStringList>
22#include <QMap>
23
24// Local includes
25
26#include "digikam_export.h"
27#include "dmetadata.h"
28#include "dtextedit.h"
29
30namespace Digikam
31{
32
33class DIGIKAM_EXPORT AltLangStrEdit : public QWidget
34{
35 Q_OBJECT
36
37public:
38
42 explicit AltLangStrEdit(QWidget* const parent, unsigned int lines = 3);
43 ~AltLangStrEdit() override;
44
49 void setTitle(const QString& title);
50
55 void setTitleWidget(QWidget* const twdg);
56
61 QWidget* titleWidget() const;
62
63 void setPlaceholderText(const QString& msg);
64
65 void setCurrentLanguageCode(const QString& lang);
66 QString currentLanguageCode() const;
67
68 QString languageCode(int index) const;
69
73 void setLinesVisible(uint lines);
74 uint linesVisible() const;
75
76 QString defaultAltLang() const;
77 bool asDefaultAltLang() const;
78
82 void reset();
83
89 void addCurrent();
90
91 DTextEdit* textEdit() const;
92
93 MetaEngine::AltLangMap& values() const;
94
95 virtual void setValues(const MetaEngine::AltLangMap& values);
96
100 static QString languageNameRFC3066(const QString& code);
101
105 static QStringList allLanguagesRFC3066();
106
107Q_SIGNALS:
108
112 void signalModified(const QString& lang, const QString& text);
113
117 void signalSelectionChanged(const QString& lang);
118
122 void signalValueAdded(const QString& lang, const QString& text);
123
127 void signalValueDeleted(const QString& lang);
128
129public Q_SLOTS:
130
135 void slotEnabledInternalWidgets(bool);
136
137protected Q_SLOTS:
138
139 void slotTextChanged();
140 void slotSelectionChanged();
141 void slotDeleteValue();
142
143private Q_SLOTS:
144
148 void slotTranslate(const QString& lang);
149
150 void slotTranslationFinished();
151
152protected:
153
154 void populateLangAltListEntries();
155
156 void changeEvent(QEvent* e) override;
157
158private:
159
160 class Private;
161 Private* const d = nullptr;
162
163 friend class Private;
164};
165
166} // namespace Digikam
Definition altlangstredit_p.h:63
Definition altlangstredit.h:34
void signalSelectionChanged(const QString &lang)
void signalValueAdded(const QString &lang, const QString &text)
void signalModified(const QString &lang, const QString &text)
void signalValueDeleted(const QString &lang)
Definition dtextedit.h:41
QMap< QString, QString > AltLangMap
Definition metaengine.h:135
Definition datefolderview.cpp:34