File indexing completed on 2024-04-28 16:30:28

0001 /***************************************************************************
0002  * SPDX-FileCopyrightText: 2022 S. MANKOWSKI stephane@mankowski.fr
0003  * SPDX-FileCopyrightText: 2022 G. DE BURE support@mankowski.fr
0004  * SPDX-License-Identifier: GPL-3.0-or-later
0005  ***************************************************************************/
0006 /** @file
0007 * This file implements classes SKGAdvice.
0008 *
0009 * @author Stephane MANKOWSKI / Guillaume DE BURE
0010 */
0011 #include "skgadvice.h"
0012 #include "skgdefine.h"
0013 
0014 SKGAdvice::SKGAdvice() :  QObject()
0015 {}
0016 
0017 SKGAdvice::SKGAdvice(const SKGAdvice& iAdvice)
0018     :  QObject(), m_uuid(iAdvice.m_uuid), m_priority(iAdvice.m_priority),
0019        m_shortMessage(iAdvice.m_shortMessage), m_longMessage(iAdvice.m_longMessage),
0020        m_autoCorrections(iAdvice.m_autoCorrections)
0021 
0022 {}
0023 
0024 SKGAdvice::~SKGAdvice()
0025     = default;
0026 
0027 SKGAdvice& SKGAdvice::operator= (const SKGAdvice& iAdvice)
0028 {
0029     if (&iAdvice != this) {
0030         m_priority = iAdvice.m_priority;
0031         m_shortMessage = iAdvice.m_shortMessage;
0032         m_longMessage = iAdvice.m_longMessage;
0033         m_autoCorrections = iAdvice.m_autoCorrections;
0034         m_uuid = iAdvice.m_uuid;
0035         Q_EMIT modified();
0036     }
0037     return *this;
0038 }
0039 
0040 void SKGAdvice::setUUID(const QString& iUUID)
0041 {
0042     if (m_uuid != iUUID) {
0043         m_uuid = iUUID;
0044         Q_EMIT modified();
0045     }
0046 }
0047 
0048 QString SKGAdvice::getUUID() const
0049 {
0050     return m_uuid;
0051 }
0052 
0053 void SKGAdvice::setPriority(int iPriority)
0054 {
0055     if (m_priority != iPriority) {
0056         m_priority = iPriority;
0057         Q_EMIT modified();
0058     }
0059 }
0060 
0061 int SKGAdvice::getPriority() const
0062 {
0063     return m_priority;
0064 }
0065 
0066 void SKGAdvice::setShortMessage(const QString& iMessage)
0067 {
0068     if (m_shortMessage != iMessage) {
0069         m_shortMessage = iMessage;
0070         Q_EMIT modified();
0071     }
0072 }
0073 
0074 QString SKGAdvice::getShortMessage() const
0075 {
0076     return m_shortMessage;
0077 }
0078 
0079 void SKGAdvice::setLongMessage(const QString& iMessage)
0080 {
0081     if (m_longMessage != iMessage) {
0082         m_longMessage = iMessage;
0083         Q_EMIT modified();
0084     }
0085 }
0086 
0087 QString SKGAdvice::getLongMessage() const
0088 {
0089     return m_longMessage;
0090 }
0091 
0092 void SKGAdvice::setAutoCorrections(const QStringList& iCorrections)
0093 {
0094     SKGAdvice::SKGAdviceActionList tmp;
0095     tmp.reserve(iCorrections.count());
0096     for (const auto& c : qAsConst(iCorrections)) {
0097         SKGAdviceAction a;
0098         a.Title = c;
0099         a.IsRecommended = false;
0100         tmp.push_back(a);
0101     }
0102 
0103     setAutoCorrections(tmp);
0104 }
0105 
0106 void SKGAdvice::setAutoCorrections(const SKGAdvice::SKGAdviceActionList& iCorrections)
0107 {
0108     m_autoCorrections = iCorrections;
0109     Q_EMIT modified();
0110 }
0111 
0112 SKGAdvice::SKGAdviceActionList SKGAdvice::getAutoCorrections() const
0113 {
0114     return m_autoCorrections;
0115 }