KiCad PCB EDA Suite
Loading...
Searching...
No Matches
kicad_settings.h
Go to the documentation of this file.
1/*
2 * This program source code file is part of KiCad, a free EDA CAD application.
3 *
4 * Copyright (C) 2020 Jon Evans <[email protected]>
5 * Copyright The KiCad Developers, see AUTHORS.txt for contributors.
6 *
7 * This program is free software: you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License as published by the
9 * Free Software Foundation, either version 3 of the License, or (at your
10 * option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <https://www.gnu.org/licenses/>.
19 */
20
21#ifndef _KICAD_SETTINGS_H
22#define _KICAD_SETTINGS_H
23
24#include <map>
25#include <set>
27#define PCM_DEFAULT_REPOSITORY_URL "https://repository.kicad.org/repository.json"
28
29
36{
37 bool disabled = false;
38 bool hidden = false;
39};
40
41
43{
44public:
46
47 virtual ~KICAD_SETTINGS() {}
48
49 virtual bool MigrateFromLegacy( wxConfigBase* aLegacyConfig ) override;
50
54
55
56 std::vector<wxString> m_OpenProjects;
57
59
60 std::vector<std::pair<wxString, wxString>> m_PcmRepositories;
62
63 // This controls background update check for PCM.
64 // It is set according to m_updateCheck on first start.
66 // Auto add libs to global table
68 // Auto remove libs
70 // Generated library nickname prefix
72 // Last used repository (for pre-selection in dialog)
74
78
79 // Last position of the template window
81 // Last size of the template window
83 // Last used project template path (for pre-selection in dialog)
85
86 std::vector<wxString> m_RecentTemplates;
88 // Most recently browsed external template directory (restored in the template selector
89 // so users can keep using templates from arbitrary locations across sessions).
91
94 std::map<wxString, std::map<wxString, LIB_OVERRIDE>> m_LibOverrides;
95
96protected:
97 virtual std::string getLegacyFrameName() const override { return "KicadFrame"; }
98};
99
100#endif
APP_SETTINGS_BASE(const std::string &aFilename, int aSchemaVersion)
virtual bool MigrateFromLegacy(wxConfigBase *aCfg) override
Migrates from wxConfig to JSON-based configuration.
wxString m_PcmLastSelectedRepoId
wxString m_lastDesignBlockLibDir
virtual std::string getLegacyFrameName() const override
std::vector< wxString > m_RecentTemplates
wxSize m_TemplateWindowSize
virtual ~KICAD_SETTINGS()
wxString m_PcmLibPrefix
wxString m_BrowsedTemplatesPath
std::map< wxString, std::map< wxString, LIB_OVERRIDE > > m_LibOverrides
Overrides for libraries in read-only nested tables.
wxPoint m_TemplateWindowPos
wxString m_lastUpdateCheckTime
wxString m_PcmLastDownloadDir
std::vector< wxString > m_OpenProjects
std::vector< std::pair< wxString, wxString > > m_PcmRepositories
wxString m_lastReceivedUpdate
wxString m_LastUsedTemplate
#define KICOMMON_API
Definition kicommon.h:27
Per-library override flags for libraries in read-only nested tables.