Line data Source code
1 : /**
2 : * @file
3 : *
4 : * @brief
5 : *
6 : * @copyright BSD License (see LICENSE.md or https://www.libelektra.org)
7 : */
8 :
9 : #ifndef IMPORTCONFIGURATIONCOMMAND_H
10 : #define IMPORTCONFIGURATIONCOMMAND_H
11 :
12 : #include "datacontainer.hpp"
13 : #include "treeviewmodel.hpp"
14 : #include <QUndoCommand>
15 : #include <kdb.hpp>
16 :
17 : /**
18 : * @brief The ImportConfigurationCommand class
19 : */
20 :
21 0 : class ImportConfigurationCommand : public QUndoCommand
22 : {
23 :
24 : public:
25 : /**
26 : * @brief The command to import a configuration from a file.
27 : *
28 : * @param model The TreeViewModel the configuration is imported to.
29 : * @param index The index of the ConfigNode that is the root ConfigNode for the configuration to import.
30 : * @param data The data needed to undo/redo this command.
31 : * @param parent An optional parent command.
32 : */
33 : explicit ImportConfigurationCommand (TreeViewModel * model, int index, DataContainer * data, QUndoCommand * parent = nullptr);
34 :
35 : virtual void undo () override;
36 : virtual void redo () override;
37 :
38 : private:
39 : TreeViewModel * m_model;
40 : int m_index;
41 : ConfigNodePtr m_before;
42 : ConfigNodePtr m_after;
43 : QString m_name;
44 : QString m_format;
45 : QString m_file;
46 : QVariantList m_mergeStrategies;
47 : };
48 :
49 : #endif // IMPORTCONFIGURATIONCOMMAND_H
|