Preference Packs/pl

Wprowadzenie
Pakiet Preferencji jest dystrybuowalnym zbiorem preferencji użytkownika, który może być zainstalowany jako dodatek i zastosowany jako pojedynczy zestaw. Każdy parametr użytkownika, który może być ustawiony w pliku user.cfg może być zawarty w pakiecie preferencji. Zastosowanie pakietu preferencji ustawia wszystkie zmienne w dostarczonym pliku CFG, nie modyfikując żadnych innych ustawień użytkownika. Na przykład, te pakiety mogą być użyte do stworzenia "Motywów" poprzez połączenie niestandardowego arkusza stylów wraz z zestawem preferencji użytkownika, które ustawiają różne kolory i style elementów w programie FreeCAD, które nie są kontrolowane przez arkusz stylów.

Pakiet Preferencji głównego interfejsu użytkownika
Większość interakcji użytkownika z zainstalowanymi Pakietami Preferencji odbywa się poprzez zakładkę Ogólne w sekcji Ustawienia ogólne Edytora Preferencji.



Użycie zainstalowanego pakietu
Aby zastosować pakiet preferencji, kliknij przycisk obok jego nazwy w zakładce Ogólne w edytorze Edytor Preferencji. Głównym elementem pakietu preferencji jest zestaw preferencji użytkownika. Podczas stosowania pakietu każda z tych preferencji jest zmieniana na wartość zdefiniowaną w pakiecie. Opcjonalnie, autor pakietu może dołączyć makro przed i/lub po zastosowaniu, które również może zostać uruchomione. Ponieważ pakiety mogą potencjalnie dokonać dużych (i potencjalnie niepożądanych) zmian w preferencjach użytkownika, wykonywana jest kopia zapasowa oryginalnych preferencji ze znacznikiem czasu i przechowywana w folderze. Te kopie zapasowe są przechowywane przez jeden tydzień.

Tworzenie nowego pakietu
Pakiety mogą być tworzone ręcznie lub inicjowane za pomocą przycisku w zakładce Ogólne w Edytorze Preferencji. Kliknięcie tego przycisku powoduje wyświetlenie okna dialogowego z prośbą o podanie nazwy nowego pakietu i wyświetla zestaw pól wyboru pozwalających na zapisanie tylko podzbioru preferencji.



Ze względu na sposób, w jaki FreeCAD wewnętrznie używa preferencji, tylko elementy zawarte w tych plikach szablonów mogą być zapisane automatycznie przy użyciu tej procedury. Elementy nie zawarte w plikach szablonów muszą być ręcznie dołączone do pliku *.cfg pakietu. Nie ma wbudowanego ograniczenia co do tego, jakie elementy preferencji mogą być zawarte w pakiecie preferencji, ale autorom zdecydowanie odradza się zmienianie ustawionego języka użytkownika, modyfikowanie listy ostatnich plików lub zmienianie czegokolwiek związanego z tymczasowym stanem UI (np. zapisany rozmiar okna z możliwością zmiany rozmiaru itp.).

Szczegóły szablonu
Te sekcje zawierają listę wszystkich preferencji zawartych we wbudowanych szablonach. W tej chwili skupiają się one na elementach związanych z wyglądem, ale mile widziane są prośby i sugestie z forum dotyczące dodatkowych elementów. Zainstalowane dodatki mogą również dostarczać własne szablony (nie są one tutaj udokumentowane). Kliknij "Rozwiń" po prawej stronie każdego wpisu, aby zobaczyć listę.

Kolory dla środowiska Architektura


 * Preferences/Mod/Arch/WallColor
 * Preferences/Mod/Arch/StructureColor
 * Preferences/Mod/Arch/RebarColor
 * Preferences/Mod/Arch/WindowColor
 * Preferences/Mod/Arch/WindowGlassColor
 * Preferences/Mod/Arch/PanelColor
 * Preferences/Mod/Arch/ColorHelpers
 * Preferences/Mod/Arch/defaultSpaceColor

Kolory dla Konsoli


 * Preferences/OutputWindow/colorText
 * Preferences/OutputWindow/colorLogging
 * Preferences/OutputWindow/colorWarning
 * Preferences/OutputWindow/colorError

Kolory dla środowiska Rysunek Roboczy


 * Preferences/Mod/Draft/constructioncolor
 * Preferences/Mod/Draft/gridTransparency
 * Preferences/Mod/Draft/gridColor
 * Preferences/Mod/Draft/snapcolor

Kolory dla Edytora


 * Preferences/Editor/Text
 * Preferences/Editor/Bookmark
 * Preferences/Editor/Breakpoint
 * Preferences/Editor/Keyword
 * Preferences/Editor/Comment
 * Preferences/Editor/Block comment
 * Preferences/Editor/Number
 * Preferences/Editor/String
 * Preferences/Editor/Character
 * Preferences/Editor/Class name
 * Preferences/Editor/Define name
 * Preferences/Editor/Operator
 * Preferences/Editor/Python output
 * Preferences/Editor/Python error
 * Preferences/Editor/Current line highlight

Kolory dla czcionki edytora


 * Preferences/Editor/FontSize
 * Preferences/Editor/Font

Kolory dla okna głównego


 * Preferences/MainWindow/DockWindows/Std_SelectionView
 * Preferences/MainWindow/DockWindows/Std_ComboView
 * Preferences/MainWindow/DockWindows/Std_ReportView
 * Preferences/MainWindow/DockWindows/Std_PythonView
 * Preferences/MainWindow/DockWindows/Std_TreeView
 * Preferences/MainWindow/DockWindows/Std_PropertyView
 * Preferences/MainWindow/DockWindows/Std_DAGView
 * Preferences/MainWindow/Toolbars/File
 * Preferences/MainWindow/Toolbars/Workbench
 * Preferences/MainWindow/Toolbars/Macro
 * Preferences/MainWindow/Toolbars/View
 * Preferences/MainWindow/Toolbars/Structure
 * Preferences/MainWindow/Toolbars/Navigation

Kolory dla środowiska Path


 * Preferences/Mod/Path/DefaultNormalPathColor
 * Preferences/Mod/Path/DefaultRapidPathColor
 * Preferences/Mod/Path/DefaultPathMarkerColor
 * Preferences/Mod/Path/DefaultExtentsColor
 * Preferences/Mod/Path/DefaultProbePathColor
 * Preferences/Mod/Path/DefaultHighlightPathColor
 * Preferences/Mod/Path/DefaultBBoxSelectionColor
 * Preferences/Mod/Path/DefaultBBoxNormalColor

Kolory dla środowiska Szkicownik


 * Preferences/View/SketchEdgeColor
 * Preferences/View/SketchVertexColor
 * Preferences/View/EditedEdgeColor
 * Preferences/View/EditedVertexColor
 * Preferences/View/ConstructionColor
 * Preferences/View/ExternalColor
 * Preferences/View/InvalidSketchColor
 * Preferences/View/FullyConstrainedColor
 * Preferences/View/InternalAlignedGeoColor
 * Preferences/View/FullyConstraintElementColor
 * Preferences/View/FullyConstraintConstructionElementColor
 * Preferences/View/FullyConstraintInternalAlignmentColor
 * Preferences/View/FullyConstraintConstructionPointColor
 * Preferences/View/ConstrainedIcoColor
 * Preferences/View/NonDrivingConstrDimColor
 * Preferences/View/ConstrainedDimColor
 * Preferences/View/ExprBasedConstrDimColor
 * Preferences/View/DeactivatedConstrDimColor
 * Preferences/View/CursorTextColor
 * Preferences/View/CursorCrosshairColor
 * Preferences/View/CreateLineColor

Kolory dla środowiska Start


 * Preferences/Mod/Start/BackgroundColor1
 * Preferences/Mod/Start/BackgroundTextColor
 * Preferences/Mod/Start/PageColor
 * Preferences/Mod/Start/PageTextColor
 * Preferences/Mod/Start/BoxColor
 * Preferences/Mod/Start/LinkColor
 * Preferences/Mod/Start/BackgroundColor2

Kolory dla środowiska Rysunek Techniczny


 * Preferences/Mod/TechDraw/Decorations/SectionColor
 * Preferences/Mod/TechDraw/Decorations/CenterColor
 * Preferences/Mod/TechDraw/Decorations/VertexColor
 * Preferences/Mod/TechDraw/Decorations/HighlightColor
 * Preferences/Mod/TechDraw/Colors/Hatch
 * Preferences/Mod/TechDraw/Colors/Background
 * Preferences/Mod/TechDraw/Colors/PreSelectColor
 * Preferences/Mod/TechDraw/Colors/HiddenColor
 * Preferences/Mod/TechDraw/Colors/SelectColor
 * Preferences/Mod/TechDraw/Colors/NormalColor
 * Preferences/Mod/TechDraw/Colors/CutSurfaceColor
 * Preferences/Mod/TechDraw/Colors/GeomHatch
 * Preferences/Mod/TechDraw/Colors/FaceColor
 * Preferences/Mod/TechDraw/Colors/ClearFace

Kolory dla okien


 * Preferences/View/BacklightColor
 * Preferences/View/BackgroundColor
 * Preferences/View/BackgroundColor2
 * Preferences/View/BackgroundColor3
 * Preferences/View/BackgroundColor4
 * Preferences/View/Simple
 * Preferences/View/Gradient
 * Preferences/View/UseBackgroundColorMid
 * Preferences/View/HighlightColor
 * Preferences/View/SelectionColor
 * Preferences/View/DefaultShapeColor
 * Preferences/View/RandomColor
 * Preferences/TreeView/TreeEditColor
 * Preferences/TreeView/TreeActiveColor
 * Preferences/MainWindow/TiledBackground
 * Preferences/MainWindow/StyleSheet

Struktura pakietu preferencji
Podczas gdy rdzeniem większości Pakietów Preferencji jest pojedynczy plik konfiguracyjny, z powodu ich przeznaczenia do dystrybucji, wymagana jest również pewna pomocnicza struktura. Cztery podstawowe pliki definiują pakiet, ułożone w następującej strukturze katalogów (dla pakietu preferencji o nazwie "SamplePreferencePack"):


 * package.xml
 * SamplePreferencePack/
 * SamplePreferencePack.cfg
 * pre.FCMacro
 * post.FCMacro

Plik Metadane pakietu, package.xml, definiuje nazwę pakietu preferencji i umożliwia przypisanie innych elementów metadanych, takich jak numer wersji, informacje o autorze i znaczniki (które są wyświetlane w głównym interfejsie użytkownika jako lista oddzielona przecinkami). W przypadku pakietu preferencji zapisanego za pomocą interfejsu graficznego w sposób opisany powyżej tworzony jest jeden plik package.xml w katalogu. Plik ten jest używany do opisywania szczegółów, takich jak nazwa i znaczniki wszystkich zapisanych przez użytkownika pakietów preferencji. Aby zmienić nazwę lub znaczniki pakietu, należy ręcznie edytować ten plik za pomocą edytora tekstu. Może on także stanowić szablon dla pakietów dystrybuowanych: autor pakietu dystrybuowanego może zacząć od zapisania pakietu lokalnie, a następnie skopiowania podkatalogu pakietu i globalnego pliku package.xml jako punktu wyjścia, modyfikując skopiowany plik package.xml tak, aby zawierał tylko odniesienie do pakietu pakowanego do dystrybucji.

Do dystrybucji mogą być dołączone także inne pliki, w zależności od tego, co jest wymagane w danym pakiecie. Dobrze wyprodukowany pakiet preferencji przeznaczony do dystrybucji motywu wizualnego o nazwie "DarkSide" dla programu FreeCAD może wyglądać następująco:


 * package.xml
 * resources/
 * icons/
 * DarkSide.svg
 * DarkSide/
 * DarkSide.cfg
 * DarkSide.qss

Note the omission of the pre.FCMacro and post.FCMacro files, which are often unnecessary, as well as the inclusion of an icon (for display by the Addon Manager), and the inclusion of a qss file (which will then be referenced in the DarkSide.cfg configuration data file).

The pre- and post- macro files are standard FreeCAD Python macros, and may contain any commands valid in such a macro. If the pre.FCMacro raises an exception (of any type), the application of the preference pack is cancelled. If the post.FCMacro raises an exception (of any type), the application of the pack is rolled back using the backup taken prior to its application. For example, these macros may be used to query the user for license acceptance, or to verify they are happy with the final state of their system after application.

The package.xml file for this example pack might be:

  DarkSide Theme Package A preference pack including a stylesheet and other GUI color information for a Dark mode. 1.0.0  Chris Hennes GPLv3 https://github.com/chennes/DarkSideThemePackage resources/icons/DarkSide.svg

DarkSide Dark mode color scheme color stylesheet dark DarkSide.qss

Including templates in your add-on
Many add-ons have user-specifiable preference information that is added to the user.cfg file. An add-on author may also choose to provide a Preference Pack Template file that lists the user configuration variables that can be automatically saved using the "Save new pack" method described above. To include these template files, add-on authors should create a subdirectory in their package called either "PreferencePackTemplates" or "preference_pack_templates". Within that folder should be one or more *.cfg files: each must be a valid, well-formed user.cfg XML file containing one or more configuration variables set to their default values. The name of the file should reflect its purpose, e.g. "colors.cfg", "active_tabs.cfg", etc. This set of files will be presented to the user when they save a new preference pack, with each file receiving a checkable entry in the list of items to save. The filename is used to generate the UI entry, with underscores replaced by spaces (and the extension omitted).

Distributing a pack
Preference Packs are distributed identically to External Workbenches through the  Addon Manager. To install a pack manually, use git to clone the package repository into your FreeCAD data directory (the directory where your user.cfg file is located), in a subdirectory called "Preference Packs".