kicad-source/common/dialogs/dialog_migrate_settings.h
Jon Evans e59a3d981e Implement a new settings framework across all of KiCad
CHANGED: Settings are now stored in versioned sub-directories
ADDED: First-run dialog for migrating settings from a previous version
CHANGED: Settings are now stored as JSON files instead of wxConfig-style INI files
CHANGED: Color settings are now all stored in a separate settings file
CHANGED: The symbol editor and footprint editor now have their own settings files
CHANGED: Color settings are no longer exposed through BOARD object
CHANGED: Page layout editor now uses Eeschema's color scheme

Settings are now managed through a central SETTINGS_MANAGER held by PGM_BASE.
Existing settings will be migrated from the wxConfig format on first run of each application.
Per-application settings are now stored in one class for each application.
2020-02-19 23:44:56 -05:00

63 lines
1.7 KiB
C++

/*
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2020 Jon Evans <jon@craftyjon.com>
* Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation, either version 3 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _DIALOG_MIGRATE_SETTINGS_H
#define _DIALOG_MIGRATE_SETTINGS_H
#include "dialog_migrate_settings_base.h"
class SETTINGS_MANAGER;
class DIALOG_MIGRATE_SETTINGS : public DIALOG_MIGRATE_SETTINGS_BASE
{
public:
DIALOG_MIGRATE_SETTINGS( SETTINGS_MANAGER* aManager );
~DIALOG_MIGRATE_SETTINGS() override;
bool TransferDataToWindow() override;
bool TransferDataFromWindow() override;
protected:
void OnPrevVerSelected( wxCommandEvent& event ) override;
void OnPathChanged( wxCommandEvent& event ) override;
void OnPathDefocused( wxFocusEvent& event ) override;
void OnChoosePath( wxCommandEvent& event ) override;
void OnDefaultSelected( wxCommandEvent& event ) override;
private:
bool validatePath();
void showPathError( bool aShow = true );
SETTINGS_MANAGER* m_manager;
};
#endif