mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-22 06:53:01 +00:00
[Backport release-24.11] freecad: 1.0rc2 -> 1.0rc4 (#357966)
This commit is contained in:
commit
a54d9dc08e
@ -1,61 +0,0 @@
|
||||
diff --git a/src/Gui/PreferencePages/DlgSettingsEditor.cpp b/src/Gui/PreferencePages/DlgSettingsEditor.cpp
|
||||
index 5f92058c18..b00104497b 100644
|
||||
--- a/src/Gui/PreferencePages/DlgSettingsEditor.cpp
|
||||
+++ b/src/Gui/PreferencePages/DlgSettingsEditor.cpp
|
||||
@@ -56,27 +56,34 @@ namespace
|
||||
*
|
||||
* Based on
|
||||
* https://stackoverflow.com/questions/18896933/qt-qfont-selection-of-a-monospace-font-doesnt-work
|
||||
+ * Local fix to based on comment in
|
||||
+ * https://github.com/FreeCAD/FreeCAD/issues/10514#issuecomment-1849176386
|
||||
*/
|
||||
+bool hasFixedPitch(const QFont& font)
|
||||
+{
|
||||
+ return QFontInfo(font).fixedPitch();
|
||||
+}
|
||||
+
|
||||
QFont getMonospaceFont()
|
||||
{
|
||||
- QFont font(QString::fromLatin1("monospace"));
|
||||
- if (font.fixedPitch()) {
|
||||
- return font;
|
||||
- }
|
||||
- font.setStyleHint(QFont::Monospace);
|
||||
- if (font.fixedPitch()) {
|
||||
- return font;
|
||||
+ if (QFont font = QFontDatabase::systemFont(QFontDatabase::FixedFont); hasFixedPitch(font)) {
|
||||
+ return font; // should typically work.
|
||||
}
|
||||
- font.setStyleHint(QFont::TypeWriter);
|
||||
- if (font.fixedPitch()) {
|
||||
+
|
||||
+ QFont font; // default QApplication font
|
||||
+ font.setStyleHint(QFont::Courier); // may not work
|
||||
+ if (hasFixedPitch(font)) {
|
||||
return font;
|
||||
}
|
||||
- font.setFamily(QString::fromLatin1("courier"));
|
||||
- if (font.fixedPitch()) {
|
||||
- return font;
|
||||
+ for (const char* family : {"Monospace", "Courier"}) {
|
||||
+ font.setFamily(QString::fromLatin1(family));
|
||||
+ if (hasFixedPitch(font)) {
|
||||
+ return font;
|
||||
+ }
|
||||
}
|
||||
- return font; // We failed, but return whatever we have anyway
|
||||
+ return font;
|
||||
}
|
||||
+
|
||||
} // namespace
|
||||
|
||||
/* TRANSLATOR Gui::Dialog::DlgSettingsEditor */
|
||||
@@ -302,7 +309,7 @@ void DlgSettingsEditor::loadSettings()
|
||||
ui->fontSize->setValue(10);
|
||||
ui->fontSize->setValue(hGrp->GetInt("FontSize", ui->fontSize->value()));
|
||||
|
||||
- QByteArray defaultMonospaceFont = getMonospaceFont().family().toLatin1();
|
||||
+ QByteArray defaultMonospaceFont = QFontInfo(getMonospaceFont()).family().toLatin1();
|
||||
|
||||
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
|
||||
QStringList familyNames = QFontDatabase().families(QFontDatabase::Any);
|
@ -63,13 +63,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "freecad";
|
||||
version = "1.0rc2";
|
||||
version = "1.0rc4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FreeCAD";
|
||||
repo = "FreeCAD";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-kPmfx/C1fCYwBqh6ZOKZAVNVR9m3VryPmBKu3ksDD5E=";
|
||||
hash = "sha256-b7aeVQkgdsDRdnVIr+5ZNuWAm6GLH7sepa8kFp2Zm2U=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
@ -131,7 +131,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
patches = [
|
||||
./0001-NIXOS-don-t-ignore-PYTHONPATH.patch
|
||||
./0002-FreeCad-OndselSolver-pkgconfig.patch
|
||||
./0003-freecad-font-issue-10514.patch
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
|
Loading…
Reference in New Issue
Block a user