1 /***************************************************************************
2  * SPDX-FileCopyrightText: 2021 S. MANKOWSKI stephane@mankowski.fr
3  * SPDX-FileCopyrightText: 2021 G. DE BURE support@mankowski.fr
4  * SPDX-License-Identifier: GPL-3.0-or-later
5  ***************************************************************************/
6 /** @file
7 * This file implements classes SKGAdvice.
8 *
9 * @author Stephane MANKOWSKI / Guillaume DE BURE
10 */
11 #include "skgadvice.h"
12 #include "skgdefine.h"
13 
SKGAdvice()14 SKGAdvice::SKGAdvice() :  QObject()
15 {}
16 
SKGAdvice(const SKGAdvice & iAdvice)17 SKGAdvice::SKGAdvice(const SKGAdvice& iAdvice)
18     :  QObject(), m_uuid(iAdvice.m_uuid), m_priority(iAdvice.m_priority),
19        m_shortMessage(iAdvice.m_shortMessage), m_longMessage(iAdvice.m_longMessage),
20        m_autoCorrections(iAdvice.m_autoCorrections)
21 
22 {}
23 
24 SKGAdvice::~SKGAdvice()
25     = default;
26 
operator =(const SKGAdvice & iAdvice)27 SKGAdvice& SKGAdvice::operator= (const SKGAdvice& iAdvice)
28 {
29     if (&iAdvice != this) {
30         m_priority = iAdvice.m_priority;
31         m_shortMessage = iAdvice.m_shortMessage;
32         m_longMessage = iAdvice.m_longMessage;
33         m_autoCorrections = iAdvice.m_autoCorrections;
34         m_uuid = iAdvice.m_uuid;
35         Q_EMIT modified();
36     }
37     return *this;
38 }
39 
setUUID(const QString & iUUID)40 void SKGAdvice::setUUID(const QString& iUUID)
41 {
42     if (m_uuid != iUUID) {
43         m_uuid = iUUID;
44         Q_EMIT modified();
45     }
46 }
47 
getUUID() const48 QString SKGAdvice::getUUID() const
49 {
50     return m_uuid;
51 }
52 
setPriority(int iPriority)53 void SKGAdvice::setPriority(int iPriority)
54 {
55     if (m_priority != iPriority) {
56         m_priority = iPriority;
57         Q_EMIT modified();
58     }
59 }
60 
getPriority() const61 int SKGAdvice::getPriority() const
62 {
63     return m_priority;
64 }
65 
setShortMessage(const QString & iMessage)66 void SKGAdvice::setShortMessage(const QString& iMessage)
67 {
68     if (m_shortMessage != iMessage) {
69         m_shortMessage = iMessage;
70         Q_EMIT modified();
71     }
72 }
73 
getShortMessage() const74 QString SKGAdvice::getShortMessage() const
75 {
76     return m_shortMessage;
77 }
78 
setLongMessage(const QString & iMessage)79 void SKGAdvice::setLongMessage(const QString& iMessage)
80 {
81     if (m_longMessage != iMessage) {
82         m_longMessage = iMessage;
83         Q_EMIT modified();
84     }
85 }
86 
getLongMessage() const87 QString SKGAdvice::getLongMessage() const
88 {
89     return m_longMessage;
90 }
91 
setAutoCorrections(const QStringList & iCorrections)92 void SKGAdvice::setAutoCorrections(const QStringList& iCorrections)
93 {
94     SKGAdvice::SKGAdviceActionList tmp;
95     tmp.reserve(iCorrections.count());
96     for (const auto& c : qAsConst(iCorrections)) {
97         SKGAdviceAction a;
98         a.Title = c;
99         a.IsRecommended = false;
100         tmp.push_back(a);
101     }
102 
103     setAutoCorrections(tmp);
104 }
105 
setAutoCorrections(const SKGAdvice::SKGAdviceActionList & iCorrections)106 void SKGAdvice::setAutoCorrections(const SKGAdvice::SKGAdviceActionList& iCorrections)
107 {
108     m_autoCorrections = iCorrections;
109     Q_EMIT modified();
110 }
111 
getAutoCorrections() const112 SKGAdvice::SKGAdviceActionList SKGAdvice::getAutoCorrections() const
113 {
114     return m_autoCorrections;
115 }
116