Version: 9.15.0
LightApp_Msg.h
Go to the documentation of this file.
1 #include <QTextStream>
2 #include <QBuffer>
3 #include <QString>
4 #include <QXmlStreamReader>
5 #include <QDebug>
6 #include <QTranslator>
7 #include <QFile>
8 #include <QCoreApplication>
9 #include <QProcess>
10 #include <QDir>
11 #include <memory>
12 
13 namespace LightApp_Msg
14 {
15 
16 class Message
17 {
18  public:
19  Message(const QString& src, const QString& trl):source(src),translation(trl){};
20  QString GetSource() const { return source ;}
21  QString GetTranslation() const { return translation ;}
22  void Set_Source(const QString& str) { source = str; }
23  void Set_Translation(const QString& str) { translation = str; }
24  private:
25  QString source;
26  QString translation;
27 };
28 
29 class Context
30 {
31  public:
32  Context(const QString& name):Context_name(name){};
33  QString GetContext_name(){return Context_name;}
34  void AddMsg(Message& msg) {Message_list.append(msg);}
35  void AddMsg(const QString& src, const QString& trl) {Message_list.append(Message(src,trl));}
36  Message* GetMessagebySrc(const QString&);
38  QString ExportContext();
39  private:
40  QString Context_name;
42 };
43 
45 {
46 public:
48  Context_list(std::move(Context_list)){};
49  void read(QIODevice *device);
50  QString write();
51  Context* GetContextbyName(const QString &name);
52  bool HaveContext(const QString &name);
53 private:
54  QXmlStreamReader xmlReader;
55  std::unique_ptr<QList<Context>> Context_list;
56  QString header;
57 
58  void readContext();
59  void readMessage();
60  void readSrc(Message& msg);
61  void readTranslation(Message& msg);
62 };
63 
64 }
Definition: LightApp_Msg.h:30
void AddMsg(Message &msg)
Definition: LightApp_Msg.h:34
QList< Message > & GetMessageList()
Definition: LightApp_Msg.h:37
Context(const QString &name)
Definition: LightApp_Msg.h:32
QString Context_name
Definition: LightApp_Msg.h:40
void AddMsg(const QString &src, const QString &trl)
Definition: LightApp_Msg.h:35
Message * GetMessagebySrc(const QString &)
Definition: LightApp_Msg.cxx:19
QString ExportContext()
Definition: LightApp_Msg.cxx:5
QString GetContext_name()
Definition: LightApp_Msg.h:33
QList< Message > Message_list
Definition: LightApp_Msg.h:41
Definition: LightApp_Msg.h:45
void readContext()
Definition: LightApp_Msg.cxx:89
void readMessage()
Definition: LightApp_Msg.cxx:112
void readSrc(Message &msg)
Definition: LightApp_Msg.cxx:131
QXmlStreamReader xmlReader
Definition: LightApp_Msg.h:54
Context * GetContextbyName(const QString &name)
Definition: LightApp_Msg.cxx:30
bool HaveContext(const QString &name)
Definition: LightApp_Msg.cxx:44
void readTranslation(Message &msg)
Definition: LightApp_Msg.cxx:140
std::unique_ptr< QList< Context > > Context_list
Definition: LightApp_Msg.h:55
void read(QIODevice *device)
Definition: LightApp_Msg.cxx:66
QString write()
Definition: LightApp_Msg.cxx:55
LightApp_Msg_handling(std::unique_ptr< QList< Context >> Context_list)
Definition: LightApp_Msg.h:47
QString header
Definition: LightApp_Msg.h:56
Definition: LightApp_Msg.h:17
QString GetSource() const
Definition: LightApp_Msg.h:20
Message(const QString &src, const QString &trl)
Definition: LightApp_Msg.h:19
QString source
Definition: LightApp_Msg.h:25
QString GetTranslation() const
Definition: LightApp_Msg.h:21
void Set_Source(const QString &str)
Definition: LightApp_Msg.h:22
void Set_Translation(const QString &str)
Definition: LightApp_Msg.h:23
QString translation
Definition: LightApp_Msg.h:26
Definition: LightApp_Msg.h:14