File indexing completed on 2024-05-12 04:47:03

0001 #include "commandsmodel.h"
0002 #include <QDebug>
0003 #include <QSettings>
0004 
0005 CommandsModel::CommandsModel(QObject *parent)
0006 {
0007 
0008 }
0009 
0010 void CommandsModel::componentComplete()
0011 {
0012     this->setList();
0013 }
0014 
0015 const FMH::MODEL_LIST &CommandsModel::items() const
0016 {
0017     return m_list;
0018 }
0019 
0020 void CommandsModel::setList()
0021 {
0022     Q_EMIT this->preListChanged();
0023     this->m_list.clear();
0024     this->m_commands.clear();
0025 
0026     QSettings settings;
0027     settings.beginGroup("shortcuts");
0028 
0029     m_commands = settings.value("commands",QStringList()).toStringList();
0030 
0031     settings.endGroup();
0032 
0033     for(const auto &command : m_commands)
0034     {
0035         m_list << FMH::MODEL {{FMH::MODEL_KEY::VALUE, command}};
0036     }
0037 
0038     qDebug()<< "Getting commands" << m_commands;
0039     Q_EMIT this->postListChanged();
0040 }
0041 
0042 void CommandsModel::saveCommands()
0043 {
0044     QSettings settings;
0045     settings.beginGroup("shorcuts");
0046     settings.setValue("commands", m_commands);
0047     settings.endGroup();
0048 }
0049 
0050 bool CommandsModel::insert(const QString &command)
0051 {
0052     if(m_commands.contains(command))
0053     {
0054         return false;
0055     }
0056 
0057     qDebug() << "try to insert command" << command;
0058 
0059     Q_EMIT preItemAppended();
0060     m_commands << command;
0061     m_list << FMH::MODEL {{FMH::MODEL_KEY::VALUE, command}};
0062     Q_EMIT postItemAppended();
0063 
0064     this->saveCommands();
0065 
0066     return true;
0067 }
0068 
0069 void CommandsModel::remove(const int &index)
0070 {
0071 
0072 }