20#ifndef LIBREPCB_CORE_WORKSPACESETTINGS_H
21#define LIBREPCB_CORE_WORKSPACESETTINGS_H
26#include "../exceptions.h"
27#include "../types/lengthunit.h"
The LengthUnit class represents a length unit (millimeters, inches,...) and provides some useful meth...
Definition lengthunit.h:62
The SExpression class.
Definition sexpression.h:69
The Version class represents a version number in the format "1.42.7".
Definition version.h:58
Container for all workspace related settings.
Definition workspacesettings.h:60
std::optional< ApiEndpoint > getApiEndpointForPartsInfo() const noexcept
Get the API endpoint which is configured for parts information.
Definition workspacesettings.cpp:172
~WorkspaceSettings() noexcept
Definition workspacesettings.cpp:113
std::unique_ptr< SExpression > serialize()
Serialize settings to librepcb::SExpression.
Definition workspacesettings.cpp:148
WorkspaceSettingsItem_GenericValue< bool > useOpenGl
Use OpenGL hardware acceleration.
Definition workspacesettings.h:201
WorkspaceSettingsItem_GenericValueList< QStringList > libraryLocaleOrder
Preferred library locales (like "de_CH") in the right order.
Definition workspacesettings.h:214
WorkspaceSettingsItem_GenericValue< bool > autofetchLivePartInformation
Enable auto-fetch of live parts information (through apiEndpoints)
Definition workspacesettings.h:240
WorkspaceSettingsItem_GenericValueList< QList< ApiEndpoint >, true > apiEndpoints
The list of API endpoint URLs in the right order.
Definition workspacesettings.h:233
WorkspaceSettingsItem_GenericValue< uint > projectAutosaveIntervalSeconds
Project autosave interval [seconds] (0 = autosave disabled)
Definition workspacesettings.h:194
WorkspaceSettingsItem_GenericValueList< QStringList > libraryNormOrder
Preferred library norms (like "DIN EN 81346") in the right order.
Definition workspacesettings.h:223
WorkspaceSettingsItem_GenericValueList< QSet< QString > > dismissedMessages
Dismissed messages.
Definition workspacesettings.h:312
WorkspaceSettingsItem_GenericValue< LengthUnit > defaultLengthUnit
The application's default length unit.
Definition workspacesettings.h:187
QList< WorkspaceSettingsItem * > getAllItems() const noexcept
Get all librepcb::WorkspaceSettingsItem objects.
Definition workspacesettings.cpp:195
WorkspaceSettingsItem_GenericValue< QString > applicationLocale
The application's locale (e.g. "en_US")
Definition workspacesettings.h:180
WorkspaceSettings(const WorkspaceSettings &other)=delete
void load(const SExpression &node, const Version &fileFormat)
Load settings from file.
Definition workspacesettings.cpp:120
WorkspaceSettingsItem_KeyboardShortcuts keyboardShortcuts
Keyboard shortcuts.
Definition workspacesettings.h:293
QMap< QString, SExpression > mFileContent
Settings nodes loaded by load()
Definition workspacesettings.h:148
WorkspaceSettingsItem_Themes themes
Themes.
Definition workspacesettings.h:300
WorkspaceSettingsItem_GenericValueList< QStringList > externalPdfReaderCommands
Custom command(s) to be used for opening PDF files.
Definition workspacesettings.h:281
WorkspaceSettingsItem_GenericValueList< QStringList > externalWebBrowserCommands
Custom command(s) to be used for opening web URLs.
Definition workspacesettings.h:254
bool mUpgradeRequired
Whether mFileContent needs to be upgraded or not.
Definition workspacesettings.h:153
WorkspaceSettingsItem_GenericValue< QString > userName
User name.
Definition workspacesettings.h:171
void restoreDefaults() noexcept
Reset all settings to their default value.
Definition workspacesettings.cpp:141
std::optional< ApiEndpoint > getApiEndpointForOrder() const noexcept
Get the API endpoint which is configured for ordering projects.
Definition workspacesettings.cpp:182
WorkspaceSettingsItem_GenericValueList< QStringList > externalFileManagerCommands
Custom command(s) to be used for opening directories.
Definition workspacesettings.h:268
Generic implementation of librepcb::WorkspaceSettingsItem for simple, value-type settings.
Definition workspacesettingsitem_genericvalue.h:44
Generic implementation of librepcb::WorkspaceSettingsItem for simple, value-in-list-type settings.
Definition workspacesettingsitem_genericvaluelist.h:47
Implementation of librepcb::WorkspaceSettingsItem to store keyboard shortcuts settings.
Definition workspacesettingsitem_keyboardshortcuts.h:44
Implementation of librepcb::WorkspaceSettingsItem to store theme configurations.
Definition workspacesettingsitem_themes.h:44
Base class for all workspace settings items.
Definition workspacesettingsitem.h:49
Definition occmodel.cpp:77
Definition workspacesettings.h:65
QUrl url
Definition workspacesettings.h:66
bool operator==(const ApiEndpoint &rhs) const noexcept=default
bool useForOrder
Can be set on 0..1 endpoints.
Definition workspacesettings.h:69
bool useForPartsInfo
Can be set on 0..1 endpoints.
Definition workspacesettings.h:68
bool useForLibraries
Can be set on 0..n endpoints.
Definition workspacesettings.h:67