Compare commits

...

3 Commits

Author SHA1 Message Date
forbes
7168c402b8 fix(build): fix DlgSettingsGeneral::applyMenuIconSize visibility and namespace
- Move applyMenuIconSize to public access so StartupProcess can call it
- Add Dialog:: namespace qualifier in StartupProcess.cpp
2026-02-08 17:01:41 -06:00
forbes
af3137dc6c chore: update silo submodule to latest main
New features:
- SSE reconnect with exponential backoff and terminal state handling
- Silo_Diag connection diagnostics command
- Server mode UI reflection in client
- Silo-aware start panel
- Database Activity pane with comments, interaction, and badges
2026-02-08 16:25:18 -06:00
forbes
173046846f fix(theme): Report View defaults, Help rebranding, hyperlink color, checkbox consistency
Report View (fixes #41):
- Enable error and log message recording by default
- Auto-show report view on errors and warnings

Help page rebranding (fixes #42):
- Remove disabled GitHub (online) option
- Remove PySide Web components disclaimer
- Rebrand 'In a FreeCAD tab' to 'In an application tab'
- Clean up FreeCAD-specific references in tooltips

Hyperlink color (fixes #43):
- Add QLabel[haslink] rule to set QPalette::Link to Catppuccin Lavender (#b4befe)
- Applied across all three stylesheet copies

Checkbox/indicator consistency (fixes #44):
- Add QGroupBox::indicator styling to match QCheckBox::indicator
- Fills checkable group boxes (e.g. Notification Area) with the same
  themed filled-square style instead of OS default checkmark
2026-02-08 15:42:16 -06:00
8 changed files with 119 additions and 49 deletions

View File

@@ -25,6 +25,10 @@
<FCUInt Name="colorLogging" Value="2497893887"/>
<FCUInt Name="colorWarning" Value="4192382975"/>
<FCUInt Name="colorError" Value="4086016255"/>
<FCBool Name="checkError" Value="1"/>
<FCBool Name="checkLogging" Value="1"/>
<FCBool Name="checkShowReportViewOnError" Value="1"/>
<FCBool Name="checkShowReportViewOnWarning" Value="1"/>
</FCParamGroup>
<FCParamGroup Name="View">
<FCUInt Name="BackgroundColor" Value="505294591"/>

View File

@@ -744,6 +744,33 @@ QGroupBox::title {
background-color: #1e1e2e;
}
QGroupBox::indicator {
width: 18px;
height: 18px;
border: 2px solid #585b70;
border-radius: 4px;
background-color: #313244;
}
QGroupBox::indicator:hover {
border-color: #cba6f7;
}
QGroupBox::indicator:checked {
background-color: #cba6f7;
border-color: #cba6f7;
}
QGroupBox::indicator:checked:disabled {
background-color: #6c7086;
border-color: #6c7086;
}
QGroupBox::indicator:disabled {
background-color: #181825;
border-color: #45475a;
}
/* =============================================================================
Tree View
============================================================================= */
@@ -961,6 +988,11 @@ QLabel:disabled {
color: #6c7086;
}
/* Link color — picked up by FreeCAD to set QPalette::Link */
QLabel[haslink="true"] {
color: #b4befe; /* Catppuccin Lavender */
}
/* =============================================================================
Frames
============================================================================= */

View File

@@ -744,6 +744,33 @@ QGroupBox::title {
background-color: #1e1e2e;
}
QGroupBox::indicator {
width: 18px;
height: 18px;
border: 2px solid #585b70;
border-radius: 4px;
background-color: #313244;
}
QGroupBox::indicator:hover {
border-color: #cba6f7;
}
QGroupBox::indicator:checked {
background-color: #cba6f7;
border-color: #cba6f7;
}
QGroupBox::indicator:checked:disabled {
background-color: #6c7086;
border-color: #6c7086;
}
QGroupBox::indicator:disabled {
background-color: #181825;
border-color: #45475a;
}
/* =============================================================================
Tree View
============================================================================= */
@@ -964,6 +991,11 @@ QLabel:disabled {
color: #6c7086;
}
/* Link color — picked up by FreeCAD to set QPalette::Link */
QLabel[haslink="true"] {
color: #b4befe; /* Catppuccin Lavender */
}
/* =============================================================================
Frames
============================================================================= */

View File

@@ -93,6 +93,8 @@ private:
int getCurrentMenuIconSize() const;
void addMenuIconSizes(int current);
void translateMenuIconSizes();
public:
static void applyMenuIconSize(int pixel);
private:

View File

@@ -288,7 +288,7 @@ void StartupPostProcess::setMenuIconSize()
ParameterGrp::handle hGrp = WindowParameter::getDefaultParameter()->GetGroup("General");
int size = int(hGrp->GetInt("MenuIconSize", 0));
if (size >= 16) {
DlgSettingsGeneral::applyMenuIconSize(size);
Dialog::DlgSettingsGeneral::applyMenuIconSize(size);
}
}

View File

@@ -744,6 +744,33 @@ QGroupBox::title {
background-color: #1e1e2e;
}
QGroupBox::indicator {
width: 18px;
height: 18px;
border: 2px solid #585b70;
border-radius: 4px;
background-color: #313244;
}
QGroupBox::indicator:hover {
border-color: #cba6f7;
}
QGroupBox::indicator:checked {
background-color: #cba6f7;
border-color: #cba6f7;
}
QGroupBox::indicator:checked:disabled {
background-color: #6c7086;
border-color: #6c7086;
}
QGroupBox::indicator:disabled {
background-color: #181825;
border-color: #45475a;
}
/* =============================================================================
Tree View
============================================================================= */
@@ -985,6 +1012,11 @@ QLabel:disabled {
color: #6c7086;
}
/* Link color — picked up by FreeCAD to set QPalette::Link */
QLabel[haslink="true"] {
color: #b4befe; /* Catppuccin Lavender */
}
/* =============================================================================
Frames
============================================================================= */

View File

@@ -20,34 +20,13 @@
<string>Source</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="2" column="0">
<widget class="Gui::PrefRadioButton" name="radioButton_2">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>Fetches the documentation from pages rendered on GitHub.
This is currently not available.</string>
</property>
<property name="text">
<string>GitHub (online)</string>
</property>
<property name="prefEntry" stdset="0">
<cstring>optionGithub</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/Help</cstring>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="Gui::PrefRadioButton" name="radioOffline">
<property name="toolTip">
<string>Set this to a custom URL or the folder where the help files are located.
You can easily download the documentation for offline use by using the Addon
Manager and installing the &quot;offline-documentation&quot; addon. If this
field is left blank, FreeCAD will automatically search for the help files at
the default location ($USERAPPDATADIR/Mod/offline-documentation).</string>
If this field is left blank, the application will automatically search for
the help files at the default location ($USERAPPDATADIR/Mod/offline-documentation).</string>
</property>
<property name="text">
<string>Custom location</string>
@@ -84,10 +63,8 @@ to get French translation of the documentation.</string>
<widget class="Gui::PrefFileChooser" name="fileChooser">
<property name="toolTip">
<string>Set this to a custom URL or the folder where the help files are located.
Documentation can be downloaded for offline use via the Addon Manager and installing the
&quot;offline-documentation&quot; addon. If this field is left blank, FreeCAD will
automatically search for the help files at the default location
($USERAPPDATADIR/Mod/offline-documentation).</string>
If this field is left blank, the application will automatically search for
the help files at the default location ($USERAPPDATADIR/Mod/offline-documentation).</string>
</property>
<property name="mode">
<enum>Gui::FileChooser::Directory</enum>
@@ -116,8 +93,8 @@ automatically search for the help files at the default location
<item row="0" column="0">
<widget class="Gui::PrefRadioButton" name="radioButton">
<property name="toolTip">
<string>The documentation pages will be fetched from the official
FreeCADwiki at https://wiki.freecad.org</string>
<string>The documentation pages will be fetched from the
FreeCAD wiki at https://wiki.freecad.org</string>
</property>
<property name="text">
<string>FreeCAD Wiki (online)</string>
@@ -137,9 +114,9 @@ FreeCADwiki at https://wiki.freecad.org</string>
<widget class="Gui::PrefRadioButton" name="radioOnline">
<property name="toolTip">
<string>The documentation pages will be fetched from an automatic Markdown conversion
of the FreeCAD wiki,hosted on FreeCAD's GitHub account. This can be styled with a
custom stylesheet below and can look nicer than the wiki option. The 'Markdown' or
'Pandoc' Python module should be installed for optimal results.</string>
of the FreeCAD wiki. This can be styled with a custom stylesheet below and can
look nicer than the wiki option. The 'Markdown' or 'Pandoc' Python module should
be installed for optimal results.</string>
</property>
<property name="text">
<string>Markdown version (online)</string>
@@ -164,16 +141,7 @@ custom stylesheet below and can look nicer than the wiki option. The 'Markdown'
<string>Display</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Note: if PySide Web components are not found on the system, help pages will open in the default web browser regardless of the options below.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="Gui::PrefRadioButton" name="radioBrowser">
<property name="toolTip">
@@ -196,10 +164,10 @@ custom stylesheet below and can look nicer than the wiki option. The 'Markdown'
<item>
<widget class="Gui::PrefRadioButton" name="radioTab">
<property name="toolTip">
<string>The documentation will open in a new tab inside the FreeCAD interface. This requires the PySide QtWebengineWidgets component.</string>
<string>The documentation will open in a new tab inside the application. This requires the PySide QtWebEngineWidgets component.</string>
</property>
<property name="text">
<string>In a FreeCAD tab</string>
<string>In an application tab</string>
</property>
<property name="checked">
<bool>false</bool>
@@ -218,8 +186,8 @@ custom stylesheet below and can look nicer than the wiki option. The 'Markdown'
<bool>true</bool>
</property>
<property name="toolTip">
<string>Documentation opens in a dockable dialog within FreeCAD, allowing simultaneous work in the 3D view.
Requires the PySide QtWebengineWidgets component.</string>
<string>Documentation opens in a dockable dialog, allowing simultaneous work in the 3D view.
Requires the PySide QtWebEngineWidgets component.</string>
</property>
<property name="text">
<string>In a separate, embeddable dialog</string>