Merge pull request #13134 from chennes/qtQuickTechDemo

Start: Recreate start as a QtWidgets-based app
This commit is contained in:
sliptonic
2024-04-22 11:49:02 -05:00
committed by GitHub
246 changed files with 2502 additions and 51072 deletions

View File

@@ -133,14 +133,9 @@ jobs:
python3-pyside2.qtgui \
python3-pyside2.qtnetwork \
python3-pyside2.qtsvg \
python3-pyside2.qtwebchannel \
python3-pyside2.qtwebengine \
python3-pyside2.qtwebenginecore \
python3-pyside2.qtwebenginewidgets \
python3-pyside2.qtwidgets \
qtbase5-dev \
qttools5-dev \
qtwebengine5-dev \
shiboken2 \
swig \
xvfb

View File

@@ -466,14 +466,9 @@ jobs:
python3-pyside2.qtgui \
python3-pyside2.qtnetwork \
python3-pyside2.qtsvg \
python3-pyside2.qtwebengine \
python3-pyside2.qtwebenginecore \
python3-pyside2.qtwebenginewidgets \
python3-pyside2.qtwebchannel \
python3-pyside2.qtwidgets \
qtbase5-dev \
qttools5-dev \
qtwebengine5-dev \
shiboken2 \
swig \
ccache \

3
.gitmodules vendored
View File

@@ -4,3 +4,6 @@
[submodule "tests/lib"]
path = tests/lib
url = https://github.com/google/googletest
[submodule "src/3rdParty/GSL"]
path = src/3rdParty/GSL
url = https://github.com/microsoft/GSL

View File

@@ -36,6 +36,5 @@ macro(CheckInterModuleDependencies)
REQUIRES_MODS(BUILD_SANDBOX BUILD_PART BUILD_MESH)
REQUIRES_MODS(BUILD_SKETCHER BUILD_PART)
REQUIRES_MODS(BUILD_SPREADSHEET BUILD_DRAFT)
REQUIRES_MODS(BUILD_START BUILD_WEB)
REQUIRES_MODS(BUILD_TECHDRAW BUILD_PART BUILD_SPREADSHEET)
endmacro(CheckInterModuleDependencies)

View File

@@ -4,8 +4,6 @@ macro(CopyLibpackDirectories)
message(STATUS "=======================================\n"
"Copying libpack dependency directories to build directory for Windows MSVC build.\n")
file(COPY ${FREECAD_LIBPACK_DIR}/bin/assistant.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/QtWebEngineProcess.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/QtWebEngineProcessd.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/qt.conf DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/platforms DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/imageformats DESTINATION ${CMAKE_BINARY_DIR}/bin)
@@ -14,7 +12,6 @@ macro(CopyLibpackDirectories)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/styles DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/printsupport DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/resources DESTINATION ${CMAKE_BINARY_DIR})
file(COPY ${FREECAD_LIBPACK_DIR}/translations/qtwebengine_locales DESTINATION ${CMAKE_BINARY_DIR}/translations)
message(STATUS "... end copying.\n=======================================\n")
endif()
@@ -31,9 +28,6 @@ macro(CopyLibpackDirectories)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/imageformats DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/platforms DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/plugins/styles DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/QtWebEngineProcess.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/bin/QtWebEngineProcessd.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
file(COPY ${FREECAD_LIBPACK_DIR}/translations/qtwebengine_locales DESTINATION ${CMAKE_BINARY_DIR}/translations)
file(COPY ${FREECAD_LIBPACK_DIR}/resources DESTINATION ${CMAKE_BINARY_DIR})
file(WRITE ${CMAKE_BINARY_DIR}/bin/qt.conf "[Paths]\nPrefix=..\n")
endif()
@@ -48,7 +42,6 @@ macro(CopyLibpackDirectories)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/sqldrivers DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/styles DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/printsupport DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/translations/qtwebengine_locales DESTINATION ${CMAKE_INSTALL_PREFIX}/translations)
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/resources DESTINATION ${CMAKE_INSTALL_PREFIX})
install(DIRECTORY ${FREECAD_LIBPACK_DIR}/bin DESTINATION ${CMAKE_INSTALL_PREFIX})
message(STATUS "Created install commands for INSTALL target.\n")

View File

@@ -132,7 +132,7 @@ macro(InitializeFreeCADBuildOptions)
option(BUILD_TEST "Build the FreeCAD test module" ON)
option(BUILD_TECHDRAW "Build the FreeCAD Technical Drawing module" ON)
option(BUILD_TUX "Build the FreeCAD Tux module" ON)
option(BUILD_WEB "Build the FreeCAD web module" ON)
option(BUILD_WEB "Build the FreeCAD Web module" ON)
option(BUILD_SURFACE "Build the FreeCAD surface module" ON)
option(BUILD_VR "Build the FreeCAD Oculus Rift support (need Oculus SDK 4.x or higher)" OFF)
option(BUILD_CLOUD "Build the FreeCAD cloud module" OFF)

View File

@@ -88,11 +88,40 @@ macro(PrintFinalReport)
value(FREECAD_CREATE_MAC_APP)
value(FREECAD_USE_PYBIND11)
value(FREECAD_USE_EXTERNAL_KDL)
value(BUILD_ADDONMGR)
value(BUILD_ARCH)
value(BUILD_ASSEMBLY)
value(BUILD_CLOUD)
value(BUILD_DRAFT)
value(BUILD_DRAWING)
value(BUILD_FEM)
value(BUILD_WEB)
value(BUILD_GUI)
value(BUILD_HELP)
value(BUILD_IDF)
value(BUILD_IMPORT)
value(BUILD_INSPECTION)
value(BUILD_JTREADER)
value(BUILD_MATERIAL)
value(BUILD_MESH)
value(BUILD_MESH_PART)
value(BUILD_OPENSCAD)
value(BUILD_PART)
value(BUILD_PART_DESIGN)
value(BUILD_PATH)
value(BUILD_PLOT)
value(BUILD_POINTS)
value(BUILD_REVERSEENGINEERING)
value(BUILD_ROBOT)
value(BUILD_SANDBOX)
value(BUILD_SHOW)
value(BUILD_SKETCHER)
value(BUILD_SPREADSHEET)
value(BUILD_START)
value(BUILD_SURFACE)
value(BUILD_TECHDRAW)
value(BUILD_TEST)
value(BUILD_TUX)
value(BUILD_WEB)
value(CMAKE_INSTALL_PREFIX)
value(USE_CUDA)
value(USE_OPENCV)
@@ -141,13 +170,10 @@ macro(PrintFinalReport)
simple(QtXml ${QtXml_VERSION})
conditional(QtTest ENABLE_DEVELOPER_TESTS "not needed" ${QtTest_VERSION})
if (BUILD_GUI)
conditional(QtWebEngineWidgets BUILD_WEB "not needed (BUILD_WEB is OFF)" ${QtWebEngineWidgets_VERSION})
conditional(DesignerPlugin BUILD_DESIGNER_PLUGIN
"not built (BUILD_DESIGNER_PLUGIN is OFF)"
"[${DESIGNER_PLUGIN_LOCATION}/${libFreeCAD_widgets}]"
)
else()
simple(QtWebKitWidgets "not needed")
endif()
conditional(Shiboken Shiboken${SHIBOKEN_MAJOR_VERSION}_FOUND "not found" "${Shiboken_VERSION} [${SHIBOKEN_INCLUDE_DIR}]")
conditional(PySide PySide${PYSIDE_MAJOR_VERSION}_FOUND "not found" "${PySide_VERSION} [${PYSIDE_INCLUDE_DIR}]")

View File

@@ -20,10 +20,6 @@ if(BUILD_GUI)
list (APPEND FREECAD_QT_COMPONENTS OpenGL PrintSupport Svg UiTools Widgets LinguistTools)
if (BUILD_WEB)
list (APPEND FREECAD_QT_COMPONENTS WebEngineWidgets)
endif()
if(BUILD_DESIGNER_PLUGIN)
list (APPEND FREECAD_QT_COMPONENTS Designer)
endif()

View File

@@ -89,12 +89,6 @@ macro(SetupShibokenAndPyside)
file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtSvg.py "from PySide${PYSIDE_MAJOR_VERSION}.QtSvg import *\n")
file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtUiTools.py "from PySide${PYSIDE_MAJOR_VERSION}.QtUiTools import *\n")
file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtWidgets import *\n")
if(PYSIDE_MAJOR_VERSION LESS 6)
file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtWebEngineWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtWebEngineWidgets import *\n")
else()
file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtWebEngineWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtWebEngineWidgets import *\n"
"from PySide${PYSIDE_MAJOR_VERSION}.QtWebEngineCore import QWebEnginePage\n")
endif()
endif()
if(APPLE AND NOT BUILD_WITH_CONDA)

View File

@@ -66,9 +66,7 @@ BuildRequires: boost-devel
BuildRequires: boost-python3-devel
BuildRequires: eigen3-devel
# Qt5 dependencies
BuildRequires: qt5-qtwebengine-devel
#BuildRequires: qt5-qtwebkit-devel
BuildRequires: qt5-qtsvg-devel
\BuildRequires: qt5-qtsvg-devel
BuildRequires: qt5-qttools-static
BuildRequires: fmt-devel

1
src/3rdParty/GSL vendored Submodule

Submodule src/3rdParty/GSL added at b39e7e4b09

View File

@@ -86,10 +86,6 @@ else(MSVC)
)
endif(MSVC)
if (QtWebEngineWidgets_FOUND AND BUILD_WITH_CONDA)
add_definitions(-DQTWEBENGINE)
endif()
include_directories(
${QtCore_INCLUDE_DIRS}
${QtWidgets_INCLUDE_DIRS}

View File

@@ -12,6 +12,7 @@
<file>list-add.svg</file>
<file>freecad.svg</file>
<file>freecad-doc.png</file>
<file>freecad-doc.svg</file>
<file>bulb.svg</file>
<file>TextDocument.svg</file>
<file>button_down.svg</file>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -64,13 +64,5 @@
<file>qtmultimedia_uk.qm</file>
<file>qtmultimedia_zh_CN.qm</file>
<file>qtmultimedia_zh_TW.qm</file>
<file>qtwebengine_ca.qm</file>
<file>qtwebengine_de.qm</file>
<file>qtwebengine_es.qm</file>
<file>qtwebengine_ko.qm</file>
<file>qtwebengine_pl.qm</file>
<file>qtwebengine_ru.qm</file>
<file>qtwebengine_uk.qm</file>
<file>qtwebengine_zh_CN.qm</file>
</qresource>
</RCC>

View File

@@ -10,7 +10,6 @@ SET(PreferencePackTemplates_Files
Path_Colors.cfg
Shortcuts.cfg
Sketcher_Colors.cfg
Start_Colors.cfg
TechDraw_Colors.cfg
View.cfg
Window_Colors.cfg

View File

@@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<FCParameters>
<FCParamGroup Name="Root">
<FCParamGroup Name="BaseApp">
<FCParamGroup Name="Preferences">
<FCParamGroup Name="Mod">
<FCParamGroup Name="Start">
<FCUInt Name="BackgroundColor1" Value="1414812927"/>
<FCUInt Name="BackgroundTextColor" Value="4294967295"/>
<FCUInt Name="PageColor" Value="690563583"/>
<FCUInt Name="PageTextColor" Value="3789677055"/>
<FCUInt Name="BoxColor" Value="1296911871"/>
<FCUInt Name="LinkColor" Value="3099197439"/>
<FCUInt Name="BackgroundColor2" Value="2141107711"/>
</FCParamGroup>
</FCParamGroup>
</FCParamGroup>
</FCParamGroup>
</FCParamGroup>
</FCParameters>

View File

@@ -35,15 +35,6 @@
<FCUInt Name="DefaultBBoxSelectionColor" Value="3372220415"/>
<FCUInt Name="DefaultBBoxNormalColor" Value="4294967295"/>
</FCParamGroup>
<FCParamGroup Name="Start">
<FCUInt Name="BackgroundColor1" Value="1331197183"/>
<FCUInt Name="BackgroundTextColor" Value="1600086015"/>
<FCUInt Name="PageColor" Value="4294967295"/>
<FCUInt Name="PageTextColor" Value="255"/>
<FCUInt Name="BoxColor" Value="3722305023"/>
<FCUInt Name="LinkColor" Value="65535"/>
<FCUInt Name="BackgroundColor2" Value="2141107711"/>
</FCParamGroup>
<FCParamGroup Name="Spreadsheet">
<FCText Name="AliasedCellBackgroundColor">#feff9e</FCText>
<FCText Name="TextColor">#000000</FCText>

View File

@@ -23,15 +23,6 @@
<FCParamGroup Name="Spreadsheet">
<FCText Name="AliasedCellBackgroundColor">#9b4de6</FCText>
</FCParamGroup>
<FCParamGroup Name="Start">
<FCUInt Name="BackgroundColor1" Value="1010580735"/>
<FCUInt Name="BackgroundTextColor" Value="4294703103"/>
<FCUInt Name="PageColor" Value="858993663"/>
<FCUInt Name="PageTextColor" Value="3570717951"/>
<FCUInt Name="BoxColor" Value="1583243007"/>
<FCUInt Name="LinkColor" Value="1437270015"/>
<FCUInt Name="BackgroundColor2" Value="2141107711"/>
</FCParamGroup>
</FCParamGroup>
<FCParamGroup Name="OutputWindow">
<FCUInt Name="colorText" Value="3570717951"/>

View File

@@ -23,15 +23,6 @@
<FCParamGroup Name="Spreadsheet">
<FCText Name="AliasedCellBackgroundColor">#9b4de6</FCText>
</FCParamGroup>
<FCParamGroup Name="Start">
<FCUInt Name="BackgroundColor1" Value="1010580735"/>
<FCUInt Name="BackgroundTextColor" Value="4294703103"/>
<FCUInt Name="PageColor" Value="858993663"/>
<FCUInt Name="PageTextColor" Value="3570717951"/>
<FCUInt Name="BoxColor" Value="1583243007"/>
<FCUInt Name="LinkColor" Value="1437270015"/>
<FCUInt Name="BackgroundColor2" Value="2141107711"/>
</FCParamGroup>
</FCParamGroup>
<FCParamGroup Name="OutputWindow">
<FCUInt Name="colorText" Value="3570717951"/>

View File

@@ -23,15 +23,6 @@
<FCParamGroup Name="Spreadsheet">
<FCText Name="AliasedCellBackgroundColor">#9b4de6</FCText>
</FCParamGroup>
<FCParamGroup Name="Start">
<FCUInt Name="BackgroundColor1" Value="1010580735"/>
<FCUInt Name="BackgroundTextColor" Value="4294703103"/>
<FCUInt Name="PageColor" Value="858993663"/>
<FCUInt Name="PageTextColor" Value="3570717951"/>
<FCUInt Name="BoxColor" Value="1583243007"/>
<FCUInt Name="LinkColor" Value="1437270015"/>
<FCUInt Name="BackgroundColor2" Value="2141107711"/>
</FCParamGroup>
</FCParamGroup>
<FCParamGroup Name="OutputWindow">
<FCUInt Name="colorText" Value="3570717951"/>

View File

@@ -23,15 +23,6 @@
<FCParamGroup Name="Spreadsheet">
<FCText Name="AliasedCellBackgroundColor">#9b4de6</FCText>
</FCParamGroup>
<FCParamGroup Name="Start">
<FCUInt Name="BackgroundColor1" Value="1010580735"/>
<FCUInt Name="BackgroundTextColor" Value="4294703103"/>
<FCUInt Name="PageColor" Value="858993663"/>
<FCUInt Name="PageTextColor" Value="3570717951"/>
<FCUInt Name="BoxColor" Value="1583243007"/>
<FCUInt Name="LinkColor" Value="1437270015"/>
<FCUInt Name="BackgroundColor2" Value="2141107711"/>
</FCParamGroup>
</FCParamGroup>
<FCParamGroup Name="OutputWindow">
<FCUInt Name="colorText" Value="3570717951"/>

View File

@@ -23,15 +23,6 @@
<FCParamGroup Name="Spreadsheet">
<FCText Name="AliasedCellBackgroundColor">#9b4de6</FCText>
</FCParamGroup>
<FCParamGroup Name="Start">
<FCUInt Name="BackgroundColor1" Value="1010580735"/>
<FCUInt Name="BackgroundTextColor" Value="4294703103"/>
<FCUInt Name="PageColor" Value="858993663"/>
<FCUInt Name="PageTextColor" Value="3570717951"/>
<FCUInt Name="BoxColor" Value="1583243007"/>
<FCUInt Name="LinkColor" Value="1437270015"/>
<FCUInt Name="BackgroundColor2" Value="2141107711"/>
</FCParamGroup>
</FCParamGroup>
<FCParamGroup Name="OutputWindow">
<FCUInt Name="colorText" Value="3570717951"/>

View File

@@ -4,15 +4,6 @@
<FCParamGroup Name="BaseApp">
<FCParamGroup Name="Preferences">
<FCParamGroup Name="Mod">
<FCParamGroup Name="Start">
<FCUInt Name="BackgroundColor1" Value="4143380223"/>
<FCUInt Name="BackgroundTextColor" Value="4294703103"/>
<FCUInt Name="PageColor" Value="4294967295"/>
<FCUInt Name="PageTextColor" Value="255"/>
<FCUInt Name="BoxColor" Value="3974950143"/>
<FCUInt Name="LinkColor" Value="1437270015"/>
<FCUInt Name="BackgroundColor2" Value="2141107711"/>
</FCParamGroup>
<FCParamGroup Name="Spreadsheet">
<FCText Name="AliasedCellBackgroundColor">#feff9e</FCText>
</FCParamGroup>

View File

@@ -4,15 +4,6 @@
<FCParamGroup Name="BaseApp">
<FCParamGroup Name="Preferences">
<FCParamGroup Name="Mod">
<FCParamGroup Name="Start">
<FCUInt Name="BackgroundColor1" Value="4143380223"/>
<FCUInt Name="BackgroundTextColor" Value="4294703103"/>
<FCUInt Name="PageColor" Value="4294967295"/>
<FCUInt Name="PageTextColor" Value="255"/>
<FCUInt Name="BoxColor" Value="3974950143"/>
<FCUInt Name="LinkColor" Value="1437270015"/>
<FCUInt Name="BackgroundColor2" Value="2141107711"/>
</FCParamGroup>
<FCParamGroup Name="Spreadsheet">
<FCText Name="AliasedCellBackgroundColor">#feff9e</FCText>
</FCParamGroup>

View File

@@ -23,15 +23,6 @@
<FCParamGroup Name="Spreadsheet">
<FCText Name="AliasedCellBackgroundColor">#9b4de6</FCText>
</FCParamGroup>
<FCParamGroup Name="Start">
<FCUInt Name="BackgroundColor1" Value="1010580735"/>
<FCUInt Name="BackgroundTextColor" Value="4294703103"/>
<FCUInt Name="PageColor" Value="858993663"/>
<FCUInt Name="PageTextColor" Value="3570717951"/>
<FCUInt Name="BoxColor" Value="1583243007"/>
<FCUInt Name="LinkColor" Value="1437270015"/>
<FCUInt Name="BackgroundColor2" Value="2141107711"/>
</FCParamGroup>
</FCParamGroup>
<FCParamGroup Name="OutputWindow">
<FCUInt Name="colorText" Value="3570717951"/>

View File

@@ -33,15 +33,6 @@ else()
set(PYTHON_DIR ${PYTHON_DIR}/${PYTHON_DIR_BASENAME})
endif()
set(WEBKIT_FRAMEWORK_DIR "")
if (Qt5WebKitWidgets_FOUND)
#qtwebkitwidgets references qtwebkit with a relative path,
#so we need to add its location to the search paths
get_filename_component(WEBKIT_LIB_DIR ${Qt5WebKitWidgets_DIR} PATH)
get_filename_component(WEBKIT_LIB_DIR ${WEBKIT_LIB_DIR} PATH)
set(WEBKIT_FRAMEWORK_DIR "${WEBKIT_LIB_DIR}/QtWebKit.framework/Versions/5")
endif()
install(CODE "execute_process(COMMAND
${CMAKE_COMMAND} -E copy_directory ${PYTHON_DIR} ${CMAKE_INSTALL_LIBDIR}/${PYTHON_DIR_BASENAME}
)")
@@ -88,32 +79,6 @@ set(XCTEST_PATH "${XCODE_PATH}/Platforms/MacOSX.platform/Developer/Library/Frame
# add qt assistant to bundle
install(PROGRAMS "${Qt5Core_DIR}/../../../libexec/Assistant.app/Contents/MacOS/Assistant" DESTINATION ${CMAKE_INSTALL_PREFIX}/MacOS)
# add QtWebEngineProcess to bundle
if(BUILD_WEB)
install(PROGRAMS "${Qt5Core_DIR}/../../../lib/QtWebEngineCore.framework/Versions/5/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess" DESTINATION ${CMAKE_INSTALL_PREFIX}/MacOS)
# add locales to bundle
file(GLOB _locales_files RELATIVE "${Qt5Core_DIR}/../../../lib/QtWebEngineCore.framework/Versions/5/Resources/qtwebengine_locales" "${Qt5Core_DIR}/../../../lib/QtWebEngineCore.framework/Versions/5/Resources/qtwebengine_locales/*")
foreach(_locales_file ${_locales_files})
get_filename_component(_resolved_file "${Qt5Core_DIR}/../../../lib/QtWebEngineCore.framework/Versions/5/Resources/qtwebengine_locales/${_locales_file}" REALPATH)
list(APPEND _locales_resolved_files ${_resolved_file})
endforeach()
install(FILES ${_locales_resolved_files} DESTINATION "${CMAKE_INSTALL_PREFIX}/MacOS/qtwebengine_locales")
# add pak
file(GLOB _pak_files RELATIVE "${Qt5Core_DIR}/../../../lib/QtWebEngineCore.framework/Versions/5/Resources/" "${Qt5Core_DIR}/../../../lib/QtWebEngineCore.framework/Versions/5/Resources/*.pak")
foreach(_pak_file ${_pak_files})
get_filename_component(_pak_resolved_file "${Qt5Core_DIR}/../../../lib/QtWebEngineCore.framework/Versions/5/Resources/${_pak_file}" REALPATH)
list(APPEND _pak_resolved_files ${_pak_resolved_file})
endforeach()
install(FILES ${_pak_resolved_files} DESTINATION "${CMAKE_INSTALL_PREFIX}/")
# add icudtl.dat
install(PROGRAMS "${Qt5Core_DIR}/../../../lib/QtWebEngineCore.framework/Versions/5/Resources/icudtl.dat" DESTINATION ${CMAKE_INSTALL_PREFIX}/)
install(PROGRAMS "${Qt5Core_DIR}/../../../lib/QtWebEngineCore.framework/Versions/5/Resources/QtWebEngineCore.prl" DESTINATION ${CMAKE_INSTALL_PREFIX}/)
endif(BUILD_WEB)
# Ensure the actual plugin files are installed instead of symlinks.
file(GLOB _subdirs RELATIVE "${QT_PLUGINS_DIR}" "${QT_PLUGINS_DIR}/*")
@@ -154,7 +119,7 @@ install(CODE
execute_process(
COMMAND python3
${CMAKE_SOURCE_DIR}/src/Tools/MakeMacBundleRelocatable.py
${APP_PATH} ${HOMEBREW_PREFIX}${MACPORTS_PREFIX}/lib ${CONFIG_ICU} ${CONFIG_LLVM} ${CONFIG_GCC} /usr/local/opt ${CONFIG_NGLIB} ${Qt5Core_DIR}/../../.. ${XCTEST_PATH} ${WEBKIT_FRAMEWORK_DIR}
${APP_PATH} ${HOMEBREW_PREFIX}${MACPORTS_PREFIX}/lib ${CONFIG_ICU} ${CONFIG_LLVM} ${CONFIG_GCC} /usr/local/opt ${CONFIG_NGLIB} ${Qt5Core_DIR}/../../.. ${XCTEST_PATH}
)"
)

View File

@@ -164,7 +164,7 @@ int main( int argc, char ** argv )
App::Application::Config()["AppIcon"] = "freecad";
App::Application::Config()["SplashScreen"] = "freecadsplash";
App::Application::Config()["AboutImage"] = "freecadabout";
App::Application::Config()["StartWorkbench"] = "StartWorkbench";
App::Application::Config()["StartWorkbench"] = "PartDesignWorkbench";
//App::Application::Config()["HiddenDockWindow"] = "Property editor";
App::Application::Config()["SplashAlignment" ] = "Bottom|Left";
App::Application::Config()["SplashTextColor" ] = "#8aadf4"; // light blue

View File

@@ -16,5 +16,6 @@
<file>panels/TaskAssemblyInsertLink.ui</file>
<file>preferences/Assembly.ui</file>
<file>icons/Assembly_CreateJointDistance.svg</file>
<file>icons/AssemblyWorkbench.svg</file>
</qresource>
</RCC>

View File

@@ -115,7 +115,7 @@ if(BUILD_SPREADSHEET)
endif(BUILD_SPREADSHEET)
if(BUILD_START)
add_subdirectory(Start)
add_subdirectory(Start)
endif(BUILD_START)
if(BUILD_SURFACE)
@@ -138,5 +138,5 @@ if(BUILD_TUX)
endif(BUILD_TUX)
if(BUILD_WEB)
add_subdirectory(Web)
add_subdirectory(Web)
endif(BUILD_WEB)

View File

@@ -73,7 +73,7 @@ LOCTXT = translate(
)
LOGTXT = translate(
"Help",
"PySide QtWebEngineWidgets module is not available. Help rendering is done with the Web module",
"PySide QtWebEngineWidgets module is not available. Help rendering is done with the system browser",
)
CONVERTTXT = translate(
"Help",
@@ -244,14 +244,13 @@ def show_tab(html, baseurl, title, view=None):
def get_qtwebwidgets(html, baseurl, title):
"""opens a web module view if qtwebwidgets module is not available, and returns False"""
from PySide import QtGui
try:
from PySide import QtGui, QtWebEngineWidgets
from PySide import QtWebEngineWidgets
except:
FreeCAD.Console.PrintLog(LOGTXT + "\n")
import WebGui
WebGui.openBrowserHTML(html, baseurl, title, ICON)
QtGui.QDesktopServices.openUrl(baseurl)
return False
else:
return True

View File

@@ -1,31 +1,35 @@
/***************************************************************************
* Copyright (c) 2010 Jürgen Riegel <juergen.riegel@web.de> *
* *
* This file is part of the FreeCAD CAx development system. *
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Library General Public *
* License as published by the Free Software Foundation; either *
* version 2 of the License, or (at your option) any later version. *
* *
* This library 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 Library General Public License for more details. *
* *
* You should have received a copy of the GNU Library General Public *
* License along with this library; see the file COPYING.LIB. If not, *
* write to the Free Software Foundation, Inc., 59 Temple Place, *
* Suite 330, Boston, MA 02111-1307, USA *
* *
// SPDX-License-Identifier: LGPL-2.1-or-later
/****************************************************************************
* *
* Copyright (c) 2024 The FreeCAD Project Association AISBL *
* *
* This file is part of FreeCAD. *
* *
* FreeCAD is free software: you can redistribute it and/or modify it *
* under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation, either version 2.1 of the *
* License, or (at your option) any later version. *
* *
* FreeCAD 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 *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with FreeCAD. If not, see *
* <https://www.gnu.org/licenses/>. *
* *
***************************************************************************/
#include "PreCompiled.h"
#include <Base/Console.h>
#include <Base/Interpreter.h>
#include <Base/Tools.h>
#include <Base/Console.h>
#include <Base/PyObjectBase.h>
#include <3rdParty/GSL/include/gsl/pointers>
namespace Start
{
@@ -37,13 +41,12 @@ public:
{
initialize("This module is the Start module."); // register with Python
}
private:
};
PyObject* initModule()
{
return Base::Interpreter().addModule(new Module);
auto newModule = gsl::owner<Module*>(new Module);
return Base::Interpreter().addModule(newModule); // Transfer ownership
}
} // namespace Start

View File

@@ -1,20 +1,45 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# /****************************************************************************
# * *
# * Copyright (c) 2024 The FreeCAD Project Association AISBL *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD 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 *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************/
include_directories(
${Boost_INCLUDE_DIRS}
${OCC_INCLUDE_DIR}
${ZLIB_INCLUDE_DIR}
${PYTHON_INCLUDE_DIRS}
${PYTHON_INCLUDE_DIRS}
${QtCore_INCLUDE_DIRS}
)
set(Start_LIBS
FreeCADApp
)
FreeCADApp
)
SET(Start_SRCS
AppStart.cpp
PreCompiled.cpp
PreCompiled.h
StartConfiguration.h
)
AppStart.cpp
DisplayedFilesModel.cpp
DisplayedFilesModel.h
ExamplesModel.cpp
ExamplesModel.h
PreCompiled.cpp
PreCompiled.h
RecentFilesModel.cpp
RecentFilesModel.h)
add_library(Start SHARED ${Start_SRCS})
target_link_libraries(Start ${Start_LIBS})

View File

@@ -0,0 +1,223 @@
// SPDX-License-Identifier: LGPL-2.1-or-later
/****************************************************************************
* *
* Copyright (c) 2024 The FreeCAD Project Association AISBL *
* *
* This file is part of FreeCAD. *
* *
* FreeCAD is free software: you can redistribute it and/or modify it *
* under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation, either version 2.1 of the *
* License, or (at your option) any later version. *
* *
* FreeCAD 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 *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with FreeCAD. If not, see *
* <https://www.gnu.org/licenses/>. *
* *
***************************************************************************/
#include "PreCompiled.h"
#ifndef _PreComp_
#include <QByteArray>
#include <QFile>
#include <QFileInfo>
#endif
#include "DisplayedFilesModel.h"
#include <App/Application.h>
#include <App/ProjectFile.h>
using namespace Start;
namespace
{
std::string humanReadableSize(unsigned int bytes)
{
static const std::vector<std::string> siPrefix {
"b",
"kb",
"Mb",
"Gb",
"Tb",
"Pb",
"Eb" // I think it's safe to stop here (for the time being)...
};
size_t base = 0;
double inUnits = bytes;
constexpr double siFactor {1000.0};
while (inUnits > siFactor && base < siPrefix.size() - 1) {
++base;
inUnits /= siFactor;
}
if (base == 0) {
// Don't include a decimal point for bytes
return fmt::format("{:.0f} {}", inUnits, siPrefix[base]);
}
// For all others, include one digit after the decimal place
return fmt::format("{:.1f} {}", inUnits, siPrefix[base]);
}
FileStats fileInfoFromFreeCADFile(const std::string& path)
{
App::ProjectFile proj(path);
proj.loadDocument();
auto metadata = proj.getMetadata();
FileStats result;
result.insert(std::make_pair(DisplayedFilesModelRoles::author, metadata.createdBy));
result.insert(
std::make_pair(DisplayedFilesModelRoles::modifiedTime, metadata.lastModifiedDate));
result.insert(std::make_pair(DisplayedFilesModelRoles::creationTime, metadata.creationDate));
result.insert(std::make_pair(DisplayedFilesModelRoles::company, metadata.company));
result.insert(std::make_pair(DisplayedFilesModelRoles::license, metadata.license));
result.insert(std::make_pair(DisplayedFilesModelRoles::description, metadata.comment));
return result;
}
/// Load the thumbnail image data (if any) that is stored in an FCStd file.
/// \returns The image bytes, or an empty QByteArray (if no thumbnail was stored)
QByteArray loadFCStdThumbnail(const std::string& pathToFCStdFile)
{
App::ProjectFile proj(pathToFCStdFile);
if (proj.loadDocument()) {
try {
std::string thumbnailFile = proj.extractInputFile("thumbnails/Thumbnail.png");
auto inputFile = QFile(QString::fromStdString(thumbnailFile));
inputFile.open(QIODevice::OpenModeFlag::ReadOnly);
return inputFile.readAll();
}
catch (...) {
}
}
return {};
}
FileStats getFileInfo(const std::string& path)
{
FileStats result;
Base::FileInfo file(path);
if (file.hasExtension("FCStd")) {
result = fileInfoFromFreeCADFile(path);
}
else {
file.lastModified();
}
result.insert(std::make_pair(DisplayedFilesModelRoles::path, path));
result.insert(std::make_pair(DisplayedFilesModelRoles::size, humanReadableSize(file.size())));
result.insert(std::make_pair(DisplayedFilesModelRoles::baseName, file.fileName()));
return result;
}
} // namespace
DisplayedFilesModel::DisplayedFilesModel(QObject* parent)
: QAbstractListModel(parent)
{}
int DisplayedFilesModel::rowCount(const QModelIndex& parent) const
{
Q_UNUSED(parent);
return static_cast<int>(_fileInfoCache.size());
}
QVariant DisplayedFilesModel::data(const QModelIndex& index, int roleAsInt) const
{
int row = index.row();
if (row < 0 || row >= static_cast<int>(_fileInfoCache.size())) {
return {};
}
auto mapEntry = _fileInfoCache.at(row);
auto role = static_cast<DisplayedFilesModelRoles>(roleAsInt);
switch (role) {
case DisplayedFilesModelRoles::author: // NOLINT(bugprone-branch-clone)
[[fallthrough]];
case DisplayedFilesModelRoles::baseName:
[[fallthrough]];
case DisplayedFilesModelRoles::company:
[[fallthrough]];
case DisplayedFilesModelRoles::creationTime:
[[fallthrough]];
case DisplayedFilesModelRoles::description:
[[fallthrough]];
case DisplayedFilesModelRoles::license:
[[fallthrough]];
case DisplayedFilesModelRoles::modifiedTime:
[[fallthrough]];
case DisplayedFilesModelRoles::path:
[[fallthrough]];
case DisplayedFilesModelRoles::size:
if (mapEntry.find(role) != mapEntry.end()) {
return QString::fromStdString(mapEntry.at(role));
}
else {
return {};
}
case DisplayedFilesModelRoles::image: {
auto path = QString::fromStdString(mapEntry.at(DisplayedFilesModelRoles::path));
if (_imageCache.contains(path)) {
return _imageCache[path];
}
break;
}
default:
break;
}
switch (roleAsInt) {
case Qt::ItemDataRole::ToolTipRole:
return QString::fromStdString(mapEntry.at(DisplayedFilesModelRoles::path));
}
return {};
}
bool freecadCanOpen(const QString& extension)
{
auto importTypes = App::GetApplication().getImportTypes();
return std::find(importTypes.begin(), importTypes.end(), extension.toStdString())
!= importTypes.end();
}
void DisplayedFilesModel::addFile(const QString& filePath)
{
QFileInfo qfi(filePath);
if (!qfi.isReadable()) {
return;
}
if (!freecadCanOpen(qfi.suffix())) {
return;
}
_fileInfoCache.emplace_back(getFileInfo(filePath.toStdString()));
if (qfi.completeSuffix() == QLatin1String("FCStd")) {
auto thumbnail = loadFCStdThumbnail(filePath.toStdString());
if (!thumbnail.isEmpty()) {
_imageCache.insert(filePath, thumbnail);
}
}
}
void DisplayedFilesModel::clear()
{
_fileInfoCache.clear();
}
QHash<int, QByteArray> DisplayedFilesModel::roleNames() const
{
static QHash<int, QByteArray> nameMap {
std::make_pair(int(DisplayedFilesModelRoles::author), "author"),
std::make_pair(int(DisplayedFilesModelRoles::baseName), "baseName"),
std::make_pair(int(DisplayedFilesModelRoles::company), "company"),
std::make_pair(int(DisplayedFilesModelRoles::creationTime), "creationTime"),
std::make_pair(int(DisplayedFilesModelRoles::description), "description"),
std::make_pair(int(DisplayedFilesModelRoles::image), "image"),
std::make_pair(int(DisplayedFilesModelRoles::license), "license"),
std::make_pair(int(DisplayedFilesModelRoles::modifiedTime), "modifiedTime"),
std::make_pair(int(DisplayedFilesModelRoles::path), "path"),
std::make_pair(int(DisplayedFilesModelRoles::size), "size"),
};
return nameMap;
}

View File

@@ -0,0 +1,84 @@
// SPDX-License-Identifier: LGPL-2.1-or-later
/****************************************************************************
* *
* Copyright (c) 2024 The FreeCAD Project Association AISBL *
* *
* This file is part of FreeCAD. *
* *
* FreeCAD is free software: you can redistribute it and/or modify it *
* under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation, either version 2.1 of the *
* License, or (at your option) any later version. *
* *
* FreeCAD 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 *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with FreeCAD. If not, see *
* <https://www.gnu.org/licenses/>. *
* *
***************************************************************************/
#ifndef FREECAD_START_DISPLAYEDFILESMODEL_H
#define FREECAD_START_DISPLAYEDFILESMODEL_H
#include <QAbstractListModel>
#include <Base/Parameter.h>
#include "../StartGlobal.h"
namespace Start
{
enum class DisplayedFilesModelRoles
{
baseName = Qt::UserRole + 1,
image,
size,
author,
creationTime,
modifiedTime,
description,
company,
license,
path
};
using FileStats = std::map<DisplayedFilesModelRoles, std::string>;
/// A model for displaying a list of files including a thumbnail or icon, plus various file
/// statistics.
class StartExport DisplayedFilesModel: public QAbstractListModel
{
Q_OBJECT
public:
explicit DisplayedFilesModel(QObject* parent = nullptr);
int rowCount(const QModelIndex& parent = QModelIndex()) const override;
QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
void addFile(const QString& filePath);
void clear();
protected:
/// For communication with QML, define the text version of each role name defined in the
/// DisplayedFilesModelRoles enumeration
QHash<int, QByteArray> roleNames() const override;
/// Destroy and recreate the cache of info about the files. Should be connected to a signal
/// indicating when some piece of information about the files has changed. Does NOT generate
/// a new list of files, only re-caches the existing ones.
void reCacheFileInfo();
private:
std::vector<FileStats> _fileInfoCache;
QMap<QString, QByteArray> _imageCache;
};
} // namespace Start
#endif // FREECAD_START_DISPLAYEDFILESMODEL_H

View File

@@ -0,0 +1,57 @@
// SPDX-License-Identifier: LGPL-2.1-or-later
/****************************************************************************
* *
* Copyright (c) 2024 The FreeCAD Project Association AISBL *
* *
* This file is part of FreeCAD. *
* *
* FreeCAD is free software: you can redistribute it and/or modify it *
* under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation, either version 2.1 of the *
* License, or (at your option) any later version. *
* *
* FreeCAD 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 *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with FreeCAD. If not, see *
* <https://www.gnu.org/licenses/>. *
* *
***************************************************************************/
#include "PreCompiled.h"
#ifndef _PreComp_
#include <QDir>
#endif
#include "ExamplesModel.h"
#include <App/Application.h>
using namespace Start;
FC_LOG_LEVEL_INIT(ExamplesModel)
ExamplesModel::ExamplesModel(QObject* parent)
: DisplayedFilesModel(parent)
{
auto examplesPath = QDir(QString::fromStdString(App::Application::getResourceDir()));
_examplesDirectory.setPath(examplesPath.filePath(QLatin1String("examples")));
}
void ExamplesModel::loadExamples()
{
beginResetModel();
clear();
if (!_examplesDirectory.isReadable()) {
Base::Console().Warning("Cannot read %s",
_examplesDirectory.absolutePath().toStdString().c_str());
}
auto entries = _examplesDirectory.entryList(QDir::Filter::Files | QDir::Filter::Readable,
QDir::SortFlag::Name);
for (const auto& entry : entries) {
addFile(_examplesDirectory.filePath(entry));
}
endResetModel();
}

View File

@@ -0,0 +1,53 @@
// SPDX-License-Identifier: LGPL-2.1-or-later
/****************************************************************************
* *
* Copyright (c) 2024 The FreeCAD Project Association AISBL *
* *
* This file is part of FreeCAD. *
* *
* FreeCAD is free software: you can redistribute it and/or modify it *
* under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation, either version 2.1 of the *
* License, or (at your option) any later version. *
* *
* FreeCAD 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 *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with FreeCAD. If not, see *
* <https://www.gnu.org/licenses/>. *
* *
***************************************************************************/
#ifndef FREECAD_START_EXAMPLESMODEL_H
#define FREECAD_START_EXAMPLESMODEL_H
#include <QAbstractListModel>
#include <QDir>
#include <Base/Parameter.h>
#include "DisplayedFilesModel.h"
#include "../StartGlobal.h"
namespace Start
{
/// A model for displaying a list of files including a thumbnail or icon, plus various file
/// statistics.
class StartExport ExamplesModel: public DisplayedFilesModel
{
Q_OBJECT
public:
explicit ExamplesModel(QObject* parent = nullptr);
void loadExamples();
private:
QDir _examplesDirectory;
};
} // namespace Start
#endif // FREECAD_START_EXAMPLESMODEL_H

View File

@@ -1,23 +1,25 @@
/***************************************************************************
* Copyright (c) 2010 Jürgen Riegel <juergen.riegel@web.de> *
* *
* This file is part of the FreeCAD CAx development system. *
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Library General Public *
* License as published by the Free Software Foundation; either *
* version 2 of the License, or (at your option) any later version. *
* *
* This library 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 Library General Public License for more details. *
* *
* You should have received a copy of the GNU Library General Public *
* License along with this library; see the file COPYING.LIB. If not, *
* write to the Free Software Foundation, Inc., 59 Temple Place, *
* Suite 330, Boston, MA 02111-1307, USA *
* *
***************************************************************************/
#include "PreCompiled.h"
// SPDX-License-Identifier: LGPL-2.1-or-later
/****************************************************************************
* *
# Copyright (c) 2024 The FreeCAD Project Association AISBL *
* *
* This file is part of FreeCAD. *
* *
* FreeCAD is free software: you can redistribute it and/or modify it *
* under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation, either version 2.1 of the *
* License, or (at your option) any later version. *
* *
* FreeCAD 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 *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with FreeCAD. If not, see *
* <https://www.gnu.org/licenses/>. *
* *
***************************************************************************/
#include "PreCompiled.h"

View File

@@ -1,23 +1,24 @@
/***************************************************************************
* Copyright (c) 2008 Jürgen Riegel <juergen.riegel@web.de> *
* *
* This file is part of the FreeCAD CAx development system. *
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Library General Public *
* License as published by the Free Software Foundation; either *
* version 2 of the License, or (at your option) any later version. *
* *
* This library 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 Library General Public License for more details. *
* *
* You should have received a copy of the GNU Library General Public *
* License along with this library; see the file COPYING.LIB. If not, *
* write to the Free Software Foundation, Inc., 59 Temple Place, *
* Suite 330, Boston, MA 02111-1307, USA *
* *
// SPDX-License-Identifier: LGPL-2.1-or-later
/****************************************************************************
* *
# Copyright (c) 2024 The FreeCAD Project Association AISBL *
* *
* This file is part of FreeCAD. *
* *
* FreeCAD is free software: you can redistribute it and/or modify it *
* under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation, either version 2.1 of the *
* License, or (at your option) any later version. *
* *
* FreeCAD 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 *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with FreeCAD. If not, see *
* <https://www.gnu.org/licenses/>. *
* *
***************************************************************************/
#ifndef START_PRECOMPILED_H
@@ -25,4 +26,26 @@
#include <FCConfig.h>
#ifdef _MSC_VER
#pragma warning(disable : 5208)
#endif
#ifdef _PreComp_
// standard
#include <cinttypes>
#include <cmath>
#include <iomanip>
#include <map>
#include <sstream>
#include <string>
#include <vector>
#include <unordered_map>
// Qt (should never include GUI files, only QtCore)
#include <QDir>
#include <QFile>
#include <QFileInfo>
#endif // _PreComp_
#endif // START_PRECOMPILED_H

View File

@@ -0,0 +1,52 @@
// SPDX-License-Identifier: LGPL-2.1-or-later
/****************************************************************************
* *
* Copyright (c) 2024 The FreeCAD Project Association AISBL *
* *
* This file is part of FreeCAD. *
* *
* FreeCAD is free software: you can redistribute it and/or modify it *
* under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation, either version 2.1 of the *
* License, or (at your option) any later version. *
* *
* FreeCAD 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 *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with FreeCAD. If not, see *
* <https://www.gnu.org/licenses/>. *
* *
***************************************************************************/
#include "PreCompiled.h"
#ifndef _PreComp_
#endif
#include "RecentFilesModel.h"
#include <App/Application.h>
#include <App/ProjectFile.h>
using namespace Start;
RecentFilesModel::RecentFilesModel(QObject* parent)
: DisplayedFilesModel(parent)
{
_parameterGroup = App::GetApplication().GetParameterGroupByPath(
"User parameter:BaseApp/Preferences/RecentFiles");
}
void RecentFilesModel::loadRecentFiles()
{
beginResetModel();
clear();
auto numRows {_parameterGroup->GetInt("RecentFiles", 0)};
for (int i = 0; i < numRows; ++i) {
auto entry = fmt::format("MRU{}", i);
auto path = _parameterGroup->GetASCII(entry.c_str(), "");
addFile(QString::fromStdString(path));
}
endResetModel();
}

View File

@@ -0,0 +1,52 @@
// SPDX-License-Identifier: LGPL-2.1-or-later
/****************************************************************************
* *
* Copyright (c) 2024 The FreeCAD Project Association AISBL *
* *
* This file is part of FreeCAD. *
* *
* FreeCAD is free software: you can redistribute it and/or modify it *
* under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation, either version 2.1 of the *
* License, or (at your option) any later version. *
* *
* FreeCAD 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 *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with FreeCAD. If not, see *
* <https://www.gnu.org/licenses/>. *
* *
***************************************************************************/
#ifndef FREECAD_START_RECENTFILESMODEL_H
#define FREECAD_START_RECENTFILESMODEL_H
#include <QAbstractListModel>
#include <Base/Parameter.h>
#include "DisplayedFilesModel.h"
#include "../StartGlobal.h"
namespace Start
{
/// A model for displaying a list of files including a thumbnail or icon, plus various file
/// statistics.
class StartExport RecentFilesModel: public DisplayedFilesModel
{
Q_OBJECT
public:
explicit RecentFilesModel(QObject* parent = nullptr);
void loadRecentFiles();
private:
Base::Reference<ParameterGrp> _parameterGroup;
};
} // namespace Start
#endif // FREECAD_START_RECENTFILESMODEL_H

View File

@@ -1,38 +0,0 @@
/***************************************************************************
* Copyright (c) 2008 Jürgen Riegel <juergen.riegel@web.de> *
* *
* This file is part of the FreeCAD CAx development system. *
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Library General Public *
* License as published by the Free Software Foundation; either *
* version 2 of the License, or (at your option) any later version. *
* *
* This library 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 Library General Public License for more details. *
* *
* You should have received a copy of the GNU Library General Public *
* License along with this library; see the file COPYING.LIB. If not, *
* write to the Free Software Foundation, Inc., 59 Temple Place, *
* Suite 330, Boston, MA 02111-1307, USA *
* *
***************************************************************************/
#ifndef START_CONFIGURATION_H
#define START_CONFIGURATION_H
#include <FCConfig.h>
// Exporting of App classes
#ifdef FC_OS_WIN32
#define START_SHOW_SKETCHER
#define START_USE_DRAFTING
#else // for Linux
#define START_USE_DRAFTING
#endif
#endif

View File

@@ -1,51 +1,53 @@
add_subdirectory(App)
set(Start_Scripts
Init.py
TestStartGui.py
)
if(BUILD_GUI)
list(APPEND Start_Scripts InitGui.py)
add_subdirectory(Gui)
add_subdirectory(StartPage)
endif(BUILD_GUI)
set(Start_Tests
TestStart/__init__.py
TestStart/TestStartPage.py)
set(Start_Test_Files
${Start_Tests}
${Start_Scripts})
add_custom_target(StartScripts ALL
SOURCES ${Start_Scripts}
)
add_custom_target(StartTests ALL
SOURCES ${Start_Test_Files}
)
fc_target_copy_resource(StartScripts
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_BINARY_DIR}/Mod/Start
${Start_Scripts})
fc_copy_sources(StartTests "${CMAKE_BINARY_DIR}/Mod/Start" ${Start_Test_Files})
INSTALL(
FILES
${Start_Scripts}
DESTINATION
Mod/Start
)
INSTALL(
FILES
${Start_Tests}
DESTINATION
Mod/Start/TestStart
)
# SPDX-License-Identifier: LGPL-2.1-or-later
# /****************************************************************************
# * *
# * Copyright (c) 2024 The FreeCAD Project Association AISBL *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD 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 *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************/
if( NOT EXISTS "${CMAKE_SOURCE_DIR}/src/3rdParty/GSL" )
message( SEND_ERROR "The C++ Guidelines Support Library (GSL) submodule is not available. Please run git submodule update --init" )
endif()
add_subdirectory(App)
set(Start_Scripts
Init.py
)
if (BUILD_GUI)
add_subdirectory(Gui)
list(APPEND Start_Scripts InitGui.py StartMigrator.py)
endif (BUILD_GUI)
add_custom_target(StartScripts ALL
SOURCES ${Start_Scripts}
)
fc_target_copy_resource(StartScripts
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_BINARY_DIR}/Mod/Start
${Start_Scripts})
INSTALL(
FILES
${Start_Scripts}
DESTINATION
Mod/Start
)

View File

@@ -1,40 +1,44 @@
/***************************************************************************
* Copyright (c) 2008 Jürgen Riegel <juergen.riegel@web.de> *
* *
* This file is part of the FreeCAD CAx development system. *
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Library General Public *
* License as published by the Free Software Foundation; either *
* version 2 of the License, or (at your option) any later version. *
* *
* This library 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 Library General Public License for more details. *
* *
* You should have received a copy of the GNU Library General Public *
* License along with this library; see the file COPYING.LIB. If not, *
* write to the Free Software Foundation, Inc., 59 Temple Place, *
* Suite 330, Boston, MA 02111-1307, USA *
* *
// SPDX-License-Identifier: LGPL-2.1-or-later
/****************************************************************************
* *
* Copyright (c) 2024 The FreeCAD Project Association AISBL *
* *
* This file is part of FreeCAD. *
* *
* FreeCAD is free software: you can redistribute it and/or modify it *
* under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation, either version 2.1 of the *
* License, or (at your option) any later version. *
* *
* FreeCAD 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 *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with FreeCAD. If not, see *
* <https://www.gnu.org/licenses/>. *
* *
***************************************************************************/
#include "PreCompiled.h"
#ifndef _PreComp_
#include <QString>
#include <QTimer>
#endif
#include <Base/Console.h>
#include <Base/Interpreter.h>
#include <Base/PyObjectBase.h>
#include <Gui/Application.h>
#include <Gui/Language/Translator.h>
#include <Gui/WidgetFactory.h>
#include "DlgStartPreferencesImp.h"
#include "Workbench.h"
#include <Gui/Command.h>
#include <Gui/MainWindow.h>
// use a different name to CreateCommand()
void CreateStartCommands();
#include <3rdParty/GSL/include/gsl/pointers>
#include "Manipulator.h"
#include "StartView.h"
void loadStartResource()
{
@@ -44,6 +48,12 @@ void loadStartResource()
Gui::Translator::instance()->refresh();
}
namespace StartGui
{
extern PyObject* initModule();
}
namespace StartGui
{
class Module: public Py::ExtensionModule<Module>
@@ -54,62 +64,64 @@ public:
{
initialize("This module is the StartGui module."); // register with Python
}
};
private:
class StartLauncher
{
public:
StartLauncher()
{
// QTimers don't fire until the event loop starts, which is our signal that the GUI is up
QTimer::singleShot(100, [this] {
Launch();
});
}
void Launch()
{
auto hGrp = App::GetApplication().GetParameterGroupByPath(
"User parameter:BaseApp/Preferences/Mod/Start");
bool showOnStartup = hGrp->GetBool("ShowOnStartup", true);
if (showOnStartup) {
Gui::Application::Instance->commandManager().runCommandByName("Start_Start");
QTimer::singleShot(100, [this] {
EnsureLaunched();
});
}
}
void EnsureLaunched()
{
// It's possible that "Start_Start" didn't result in the creation of an MDI window, if it
// was called to early. This polls the views to make sure the view was created, and if it
// was not, re-calls the command.
auto mw = Gui::getMainWindow();
auto existingView = mw->findChild<StartGui::StartView*>(QLatin1String("StartView"));
if (!existingView) {
Launch();
}
}
};
PyObject* initModule()
{
return Base::Interpreter().addModule(new Module);
auto newModule = gsl::owner<Module*>(new Module);
return Base::Interpreter().addModule(newModule); // Transfer ownership
}
} // namespace StartGui
/* Python entry */
PyMOD_INIT_FUNC(StartGui)
{
if (!Gui::Application::Instance) {
PyErr_SetString(PyExc_ImportError, "Cannot load Gui module in console application.");
PyMOD_Return(nullptr);
}
// load dependent module
try {
Base::Interpreter().runString("import WebGui");
}
catch (const Base::Exception& e) {
PyErr_SetString(PyExc_ImportError, e.what());
PyMOD_Return(nullptr);
}
catch (Py::Exception& e) {
Py::Object o = Py::type(e);
if (o.isString()) {
Py::String s(o);
Base::Console().Error("%s\n", s.as_std_string("utf-8").c_str());
}
else {
Py::String s(o.repr());
Base::Console().Error("%s\n", s.as_std_string("utf-8").c_str());
}
// Prints message to console window if we are in interactive mode
PyErr_Print();
}
static StartGui::StartLauncher* launcher = new StartGui::StartLauncher();
Base::Console().Log("Loading GUI of Start module... ");
PyObject* mod = StartGui::initModule();
Base::Console().Log("Loading GUI of Start module... done\n");
// clang-format off
// register preferences pages
new Gui::PrefPageProducer<StartGui::DlgStartPreferencesImp> (QT_TRANSLATE_NOOP("QObject", "Start"));
new Gui::PrefPageProducer<StartGui::DlgStartPreferencesAdvancedImp> (QT_TRANSLATE_NOOP("QObject", "Start"));
// clang-format on
// instantiating the commands
CreateStartCommands();
StartGui::Workbench::init();
// add resources and reloads the translators
auto manipulator = std::make_shared<StartGui::Manipulator>();
Gui::WorkbenchManipulator::installManipulator(manipulator);
loadStartResource();
Base::Console().Log("done\n");
PyMOD_Return(mod);
}

View File

@@ -1,60 +1,86 @@
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${Boost_INCLUDE_DIRS}
${COIN3D_INCLUDE_DIRS}
${ZLIB_INCLUDE_DIR}
${PYTHON_INCLUDE_DIRS}
${XercesC_INCLUDE_DIRS}
)
set(StartGui_LIBS
Start
FreeCADGui
)
set(StartGui_UIC_SRCS
DlgStartPreferences.ui
DlgStartPreferencesAdvanced.ui
)
set (Start_TR_QRC ${CMAKE_CURRENT_BINARY_DIR}/Resources/Start_translation.qrc)
qt_find_and_add_translation(QM_SRCS "Resources/translations/*_*.ts"
${CMAKE_CURRENT_BINARY_DIR}/Resources/translations)
qt_create_resource_file(${Start_TR_QRC} ${QM_SRCS})
qt_add_resources(Start_QRC_SRCS Resources/Start.qrc ${Start_TR_QRC})
SET(StartGui_SRCS
${Start_QRC_SRCS}
${StartGui_UIC_SRCS}
DlgStartPreferences.ui
DlgStartPreferencesAdvanced.ui
DlgStartPreferencesImp.cpp
DlgStartPreferencesImp.h
AppStartGui.cpp
Command.cpp
PreCompiled.cpp
PreCompiled.h
Workbench.cpp
Workbench.h
)
SET(StartGuiIcon_SVG
Resources/icons/StartWorkbench.svg
)
if(FREECAD_USE_PCH)
add_definitions(-D_PreComp_)
GET_MSVC_PRECOMPILED_SOURCE("PreCompiled.cpp" PCH_SRCS ${StartGui_SRCS})
ADD_MSVC_PRECOMPILED_HEADER(StartGui PreCompiled.h PreCompiled.cpp PCH_SRCS)
endif(FREECAD_USE_PCH)
add_library(StartGui SHARED ${StartGui_SRCS} ${StartGuiIcon_SVG})
target_link_libraries(StartGui ${StartGui_LIBS})
SET_BIN_DIR(StartGui StartGui /Mod/Start)
SET_PYTHON_PREFIX_SUFFIX(StartGui)
fc_copy_sources(StartGui "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_DATADIR}/Mod/Start" ${StartGuiIcon_SVG})
INSTALL(TARGETS StartGui DESTINATION ${CMAKE_INSTALL_LIBDIR})
INSTALL(FILES ${StartGuiIcon_SVG} DESTINATION "${CMAKE_INSTALL_DATADIR}/Mod/Start/Resources/icons")
# SPDX-License-Identifier: LGPL-2.1-or-later
# /****************************************************************************
# * *
# * Copyright (c) 2024 The FreeCAD Project Association AISBL *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD 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 *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************/
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${Boost_INCLUDE_DIRS}
${PYTHON_INCLUDE_DIRS}
${QtCore_INCLUDE_DIRS}
${QtSvg_INCLUDE_DIRS}
${QtUiTools_INCLUDE_DIRS}
${QtWidgets_INCLUDE_DIRS}
${XercesC_INCLUDE_DIRS}
${ZLIB_INCLUDE_DIR}
)
set(StartGui_LIBS
Start
FreeCADGui
)
set(Start_TR_QRC ${CMAKE_CURRENT_BINARY_DIR}/Resources/Start_translation.qrc)
qt_find_and_add_translation(QM_SRCS "Resources/translations/*_*.ts"
${CMAKE_CURRENT_BINARY_DIR}/Resources/translations)
qt_create_resource_file(${Start_TR_QRC} ${QM_SRCS})
qt_add_resources(Start_QRC_SRCS Resources/Start.qrc ${Start_TR_QRC})
# qtquick_compiler_add_resources(Start_QRC_SRCS Resources/Start.qrc ${Start_TR_QRC} qml.qrc)
SET(StartGui_SRCS
${Start_QRC_SRCS}
${StartGui_UIC_SRCS}
AppStartGui.cpp
FileCardDelegate.cpp
FileCardDelegate.h
FileCardView.cpp
FileCardView.h
Manipulator.cpp
Manipulator.h
PreCompiled.cpp
PreCompiled.h
StartView.cpp
StartView.h
)
SET(StartGuiIcon_SVG
Resources/icons/StartCommandIcon.svg
Resources/icons/PartDesignWorkbench.svg
)
# TODO: Evaluate PCH use with Qt6/QtQuick/Qml
if (FREECAD_USE_PCH)
add_definitions(-D_PreComp_)
GET_MSVC_PRECOMPILED_SOURCE("PreCompiled.cpp" PCH_SRCS ${StartGui_SRCS})
ADD_MSVC_PRECOMPILED_HEADER(StartGui PreCompiled.h PreCompiled.cpp PCH_SRCS)
endif (FREECAD_USE_PCH)
add_library(StartGui SHARED ${StartGui_SRCS} ${StartGuiIcon_SVG})
# target_link_libraries(StartGui ${StartGui_LIBS} Qt::Quick Qt::Qml Qt::QuickWidgets)
target_link_libraries(StartGui ${StartGui_LIBS})
SET_BIN_DIR(StartGui StartGui /Mod/Start)
SET_PYTHON_PREFIX_SUFFIX(StartGui)
fc_copy_sources(StartGui "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_DATADIR}/Mod/Start" ${StartGuiIcon_SVG})
INSTALL(TARGETS StartGui DESTINATION ${CMAKE_INSTALL_LIBDIR})
INSTALL(FILES ${StartGuiIcon_SVG} DESTINATION "${CMAKE_INSTALL_DATADIR}/Mod/Start/Resources/icons")

View File

@@ -1,59 +0,0 @@
/***************************************************************************
* Copyright (c) 2010 Jürgen Riegel <juergen.riegel@web.de> *
* *
* This file is part of the FreeCAD CAx development system. *
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Library General Public *
* License as published by the Free Software Foundation; either *
* version 2 of the License, or (at your option) any later version. *
* *
* This library 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 Library General Public License for more details. *
* *
* You should have received a copy of the GNU Library General Public *
* License along with this library; see the file COPYING.LIB. If not, *
* write to the Free Software Foundation, Inc., 59 Temple Place, *
* Suite 330, Boston, MA 02111-1307, USA *
* *
***************************************************************************/
#include "PreCompiled.h"
#include <Gui/Application.h>
#include <Gui/Command.h>
#include "Workbench.h"
using namespace std;
DEF_STD_CMD(CmdStartPage)
CmdStartPage::CmdStartPage()
: Command("Start_StartPage")
{
sAppModule = "Start";
sGroup = QT_TR_NOOP("Start");
sMenuText = QT_TR_NOOP("Start Page");
sToolTipText = QT_TR_NOOP("Displays the start page in a browser view");
sWhatsThis = "Start_StartPage";
sStatusTip = sToolTipText;
sPixmap = "StartWorkbench";
}
void CmdStartPage::activated(int iMsg)
{
Q_UNUSED(iMsg);
StartGui::Workbench::loadStartPage();
}
void CreateStartCommands()
{
Gui::CommandManager& rcCmdMgr = Gui::Application::Instance->commandManager();
rcCmdMgr.addCommand(new CmdStartPage());
}

View File

@@ -1,777 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>DlgStartPreferences</class>
<widget class="QWidget" name="DlgStartPreferences">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>548</width>
<height>894</height>
</rect>
</property>
<property name="windowTitle">
<string>General</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QGroupBox" name="groupBox_4">
<property name="title">
<string>Options</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0">
<widget class="QLabel" name="autoModuleLabel">
<property name="text">
<string>Switch workbench after loading</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="AutoloadModuleCombo">
<property name="toolTip">
<string>Workbench to switch to after loading a file from the Start page, only used if Start is the start up workbench</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_11">
<property name="text">
<string>Close start page after loading</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="Gui::PrefCheckBox" name="closeStartCheckBox">
<property name="toolTip">
<string>If checked, will automatically close the Start page when FreeCAD launches</string>
</property>
<property name="layoutDirection">
<enum>Qt::RightToLeft</enum>
</property>
<property name="text">
<string/>
</property>
<property name="prefEntry" stdset="0">
<cstring>closeStart</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/Start</cstring>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_13">
<property name="text">
<string>Close and switch on opening file</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="Gui::PrefCheckBox" name="closeAndSwitchCheckBox">
<property name="toolTip">
<string>If application is started by opening a file, apply the two settings above</string>
</property>
<property name="layoutDirection">
<enum>Qt::RightToLeft</enum>
</property>
<property name="text">
<string/>
</property>
<property name="prefEntry" stdset="0">
<cstring>DoNotShowOnOpen</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/Start</cstring>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>Contents</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="8" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="Gui::PrefSpinBox" name="fileThumbnailIconSizeSpinBox">
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip">
<string>The size of file thumbnail icons in recent files and examples sections</string>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="suffix">
<string>px</string>
</property>
<property name="minimum">
<number>32</number>
</property>
<property name="maximum">
<number>128</number>
</property>
<property name="value">
<number>128</number>
</property>
<property name="prefEntry" stdset="0">
<cstring>FileThumbnailIconsSize</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/Start</cstring>
</property>
</widget>
</item>
</layout>
</item>
<item row="6" column="1">
<widget class="Gui::PrefCheckBox" name="showFileThumbnailIconsCheckBox">
<property name="layoutDirection">
<enum>Qt::RightToLeft</enum>
</property>
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
<property name="prefEntry" stdset="0">
<cstring>ShowFileThumbnailIcons</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/Start</cstring>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="Gui::PrefCheckBox" name="showExamplesCheckBox">
<property name="toolTip">
<string>If you want the examples to show on the first page</string>
</property>
<property name="layoutDirection">
<enum>Qt::RightToLeft</enum>
</property>
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
<property name="prefEntry" stdset="0">
<cstring>ShowExamples</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/Start</cstring>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="Gui::PrefCheckBox" name="showTipsCheckBox">
<property name="toolTip">
<string>Displays help tips in the Start workbench Documents tab</string>
</property>
<property name="layoutDirection">
<enum>Qt::RightToLeft</enum>
</property>
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
<property name="prefEntry" stdset="0">
<cstring>ShowTips</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/Start</cstring>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_19">
<property name="text">
<string>Show tips</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_14">
<property name="text">
<string>Show forum</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_17">
<property name="text">
<string>Show notepad</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="Gui::PrefCheckBox" name="showForumCheckBox">
<property name="toolTip">
<string>If this is checked, the latest posts from the FreeCAD forum will be displayed on the Activity tab</string>
</property>
<property name="layoutDirection">
<enum>Qt::RightToLeft</enum>
</property>
<property name="text">
<string/>
</property>
<property name="prefEntry" stdset="0">
<cstring>ShowForum</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/Start</cstring>
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QLabel" name="label_21">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>File thumbnail size</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_9">
<property name="text">
<string>Show examples folder contents</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="Gui::PrefCheckBox" name="showNotepadCheckBox">
<property name="toolTip">
<string>Shows a notepad next to the file thumbnails, where you can keep notes across sessions</string>
</property>
<property name="layoutDirection">
<enum>Qt::RightToLeft</enum>
</property>
<property name="text">
<string/>
</property>
<property name="prefEntry" stdset="0">
<cstring>ShowNotes</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/Start</cstring>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_18">
<property name="text">
<string>Show file thumbnails</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="Gui::PrefFileChooser" name="showAdditionalFolderFileChooser" native="true">
<property name="mode">
<enum>Gui::FileChooser::Directory</enum>
</property>
<property name="toolTip">
<string>An optional custom folder to be displayed at the bottom of the first page.
By using &quot;;;&quot; to separate paths, you can add several folders here</string>
</property>
<property name="prefEntry" stdset="0">
<cstring>ShowCustomFolder</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/Start</cstring>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_10">
<property name="text">
<string>Show additional folder</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Fonts and colors</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="9" column="1" alignment="Qt::AlignRight">
<widget class="Gui::PrefColorButton" name="boxBackgroundColorButton">
<property name="maximumSize">
<size>
<width>60</width>
<height>60</height>
</size>
</property>
<property name="toolTip">
<string>The background color of the boxes inside the pages</string>
</property>
<property name="color" stdset="0">
<color>
<red>221</red>
<green>221</green>
<blue>221</blue>
</color>
</property>
<property name="prefEntry" stdset="0">
<cstring>BoxColor</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/Start</cstring>
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Page text color</string>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Page background color</string>
</property>
</widget>
</item>
<item row="7" column="1" alignment="Qt::AlignRight">
<widget class="Gui::PrefColorButton" name="pageBackgroundColorButton">
<property name="maximumSize">
<size>
<width>60</width>
<height>60</height>
</size>
</property>
<property name="toolTip">
<string>The background of the main start page area</string>
</property>
<property name="color" stdset="0">
<color>
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</property>
<property name="prefEntry" stdset="0">
<cstring>PageColor</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/Start</cstring>
</property>
</widget>
</item>
<item row="12" column="1">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="Gui::PrefRadioButton" name="radioButton_2">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>in FreeCAD</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
<property name="prefEntry" stdset="0">
<cstring>InBrowser</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/Start</cstring>
</property>
</widget>
</item>
<item>
<widget class="Gui::PrefRadioButton" name="radioButton_1">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>In external browser</string>
</property>
<property name="prefEntry" stdset="0">
<cstring>InWeb</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/Start</cstring>
</property>
</widget>
</item>
</layout>
</item>
<item row="11" column="0">
<widget class="QLabel" name="label_16">
<property name="text">
<string>Font family</string>
</property>
</widget>
</item>
<item row="12" column="0">
<widget class="QLabel" name="label_7">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Open links</string>
</property>
</widget>
</item>
<item row="2" column="1" alignment="Qt::AlignRight">
<widget class="Gui::PrefColorButton" name="backgroundColorButton">
<property name="maximumSize">
<size>
<width>60</width>
<height>60</height>
</size>
</property>
<property name="toolTip">
<string>The background color behind the panels</string>
</property>
<property name="color" stdset="0">
<color>
<red>79</red>
<green>88</green>
<blue>116</blue>
</color>
</property>
<property name="prefEntry" stdset="0">
<cstring>BackgroundColor1</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/Start</cstring>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_15">
<property name="text">
<string>Use FreeCAD style sheet</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_12">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Background color down gradient</string>
</property>
</widget>
</item>
<item row="3" column="1" alignment="Qt::AlignRight">
<widget class="Gui::PrefColorButton" name="colorButton_7">
<property name="enabled">
<bool>false</bool>
</property>
<property name="maximumSize">
<size>
<width>60</width>
<height>60</height>
</size>
</property>
<property name="toolTip">
<string>The down gradient for the background color (currently unsupported)</string>
</property>
<property name="color" stdset="0">
<color>
<red>127</red>
<green>158</green>
<blue>181</blue>
</color>
</property>
<property name="prefEntry" stdset="0">
<cstring>BackgroundColor2</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/Start</cstring>
</property>
</widget>
</item>
<item row="9" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Box background color</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Background color</string>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Background text color</string>
</property>
</widget>
</item>
<item row="11" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="Gui::PrefLineEdit" name="fontLineEdit">
<property name="toolTip">
<string>The font family to use on the start page. Can be a font name or a comma-separated series of fallback fonts</string>
</property>
<property name="text">
<string/>
</property>
<property name="placeholderText">
<string>Arial,Helvetica,sans</string>
</property>
<property name="prefEntry" stdset="0">
<cstring>FontFamily</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/Start</cstring>
</property>
</widget>
</item>
<item>
<widget class="Gui::PrefSpinBox" name="fontSizeSpinBox">
<property name="toolTip">
<string>The base font size to use for all texts of the Start page</string>
</property>
<property name="suffix">
<string>px</string>
</property>
<property name="value">
<number>13</number>
</property>
<property name="prefEntry" stdset="0">
<cstring>FontSize</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/Start</cstring>
</property>
</widget>
</item>
</layout>
</item>
<item row="10" column="1" alignment="Qt::AlignRight">
<widget class="Gui::PrefColorButton" name="linkColorButton">
<property name="maximumSize">
<size>
<width>60</width>
<height>60</height>
</size>
</property>
<property name="toolTip">
<string>The color of the links</string>
</property>
<property name="color" stdset="0">
<color>
<red>0</red>
<green>0</green>
<blue>255</blue>
</color>
</property>
<property name="prefEntry" stdset="0">
<cstring>LinkColor</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/Start</cstring>
</property>
</widget>
</item>
<item row="10" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>Link color</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="Gui::PrefCheckBox" name="useStyleSheetCheckBox">
<property name="toolTip">
<string>If this is checked and a style sheet is specified in General preferences, it will be used and override the colors below</string>
</property>
<property name="layoutDirection">
<enum>Qt::RightToLeft</enum>
</property>
<property name="text">
<string/>
</property>
<property name="prefEntry" stdset="0">
<cstring>UseStyleSheet</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/Start</cstring>
</property>
</widget>
</item>
<item row="6" column="1" alignment="Qt::AlignRight">
<widget class="Gui::PrefColorButton" name="backgroundTextColorButton">
<property name="maximumSize">
<size>
<width>60</width>
<height>60</height>
</size>
</property>
<property name="toolTip">
<string>The color of the version text</string>
</property>
<property name="color" stdset="0">
<color>
<red>95</red>
<green>95</green>
<blue>95</blue>
</color>
</property>
<property name="prefEntry" stdset="0">
<cstring>BackgroundTextColor</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/Start</cstring>
</property>
</widget>
</item>
<item row="8" column="1" alignment="Qt::AlignRight">
<widget class="Gui::PrefColorButton" name="pageTextColorButton">
<property name="maximumSize">
<size>
<width>60</width>
<height>60</height>
</size>
</property>
<property name="toolTip">
<string>The color of the text on the main pages</string>
</property>
<property name="color" stdset="0">
<color>
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</property>
<property name="prefEntry" stdset="0">
<cstring>PageTextColor</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/Start</cstring>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="Gui::PrefFileChooser" name="backgroundImageFileChooser" native="true">
<property name="toolTip">
<string>An optional image to display as background</string>
</property>
<property name="prefEntry" stdset="0">
<cstring>BackgroundImage</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/Start</cstring>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Background image</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>Gui::FileChooser</class>
<extends>QWidget</extends>
<header>Gui/FileDialog.h</header>
</customwidget>
<customwidget>
<class>Gui::ColorButton</class>
<extends>QPushButton</extends>
<header>Gui/Widgets.h</header>
</customwidget>
<customwidget>
<class>Gui::PrefFileChooser</class>
<extends>Gui::FileChooser</extends>
<header>Gui/PrefWidgets.h</header>
</customwidget>
<customwidget>
<class>Gui::PrefSpinBox</class>
<extends>QSpinBox</extends>
<header>Gui/PrefWidgets.h</header>
</customwidget>
<customwidget>
<class>Gui::PrefColorButton</class>
<extends>Gui::ColorButton</extends>
<header>Gui/PrefWidgets.h</header>
</customwidget>
<customwidget>
<class>Gui::PrefRadioButton</class>
<extends>QRadioButton</extends>
<header>Gui/PrefWidgets.h</header>
</customwidget>
<customwidget>
<class>Gui::PrefCheckBox</class>
<extends>QCheckBox</extends>
<header>Gui/PrefWidgets.h</header>
</customwidget>
<customwidget>
<class>Gui::PrefLineEdit</class>
<extends>QLineEdit</extends>
<header>Gui/PrefWidgets.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>

File diff suppressed because one or more lines are too long

View File

@@ -1,204 +0,0 @@
/***************************************************************************
* Copyright (c) 2018 Yorik van Havre <yorik@uncreated.net> *
* *
* This file is part of the FreeCAD CAx development system. *
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Library General Public *
* License as published by the Free Software Foundation; either *
* version 2 of the License, or (at your option) any later version. *
* *
* This library 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 Library General Public License for more details. *
* *
* You should have received a copy of the GNU Library General Public *
* License along with this library; see the file COPYING.LIB. If not, *
* write to the Free Software Foundation, Inc., 59 Temple Place, *
* Suite 330, Boston, MA 02111-1307, USA *
* *
***************************************************************************/
#include "PreCompiled.h"
#include <Gui/Application.h>
#include "DlgStartPreferencesImp.h"
#include "ui_DlgStartPreferences.h"
#include "ui_DlgStartPreferencesAdvanced.h"
using namespace StartGui;
/**
* Constructs a DlgStartPreferencesImp which is a child of 'parent'
*/
DlgStartPreferencesImp::DlgStartPreferencesImp(QWidget* parent)
: PreferencePage(parent)
, ui(new Ui_DlgStartPreferences)
{
ui->setupUi(this);
// Hide currently unused controls
ui->label_12->hide();
ui->label_7->hide();
ui->colorButton_7->hide();
ui->radioButton_1->hide();
ui->radioButton_2->hide();
// fills the combo box with all available workbenches
// sorted by their menu text
QStringList work = Gui::Application::Instance->workbenches();
QMap<QString, QString> menuText;
for (const auto& it : work) {
QString text = Gui::Application::Instance->workbenchMenuText(it);
menuText[text] = it;
}
// add special workbench to selection
QPixmap px = Gui::Application::Instance->workbenchIcon(QString::fromLatin1("NoneWorkbench"));
QString key = QString::fromLatin1("<last>");
QString value = QString::fromLatin1("$LastModule");
if (px.isNull()) {
ui->AutoloadModuleCombo->addItem(key, QVariant(value));
}
else {
ui->AutoloadModuleCombo->addItem(px, key, QVariant(value));
}
for (QMap<QString, QString>::Iterator it = menuText.begin(); it != menuText.end(); ++it) {
QPixmap px = Gui::Application::Instance->workbenchIcon(it.value());
if (px.isNull()) {
ui->AutoloadModuleCombo->addItem(it.key(), QVariant(it.value()));
}
else {
ui->AutoloadModuleCombo->addItem(px, it.key(), QVariant(it.value()));
}
}
}
/**
* Destroys the object and frees any allocated resources
*/
DlgStartPreferencesImp::~DlgStartPreferencesImp() = default;
void DlgStartPreferencesImp::saveSettings()
{
int index = ui->AutoloadModuleCombo->currentIndex();
QVariant data = ui->AutoloadModuleCombo->itemData(index);
QString startWbName = data.toString();
App::GetApplication()
.GetParameterGroupByPath("User parameter:BaseApp/Preferences/Mod/Start")
->SetASCII("AutoloadModule", startWbName.toLatin1());
ui->backgroundColorButton->onSave();
ui->backgroundTextColorButton->onSave();
ui->pageBackgroundColorButton->onSave();
ui->pageTextColorButton->onSave();
ui->boxBackgroundColorButton->onSave();
ui->linkColorButton->onSave();
ui->colorButton_7->onSave();
ui->backgroundImageFileChooser->onSave();
ui->showAdditionalFolderFileChooser->onSave();
ui->radioButton_1->onSave();
ui->radioButton_2->onSave();
ui->showNotepadCheckBox->onSave();
ui->showExamplesCheckBox->onSave();
ui->closeStartCheckBox->onSave();
ui->closeAndSwitchCheckBox->onSave();
ui->showForumCheckBox->onSave();
ui->useStyleSheetCheckBox->onSave();
ui->showTipsCheckBox->onSave();
ui->fontLineEdit->onSave();
ui->fontSizeSpinBox->onSave();
ui->showFileThumbnailIconsCheckBox->onSave();
ui->fileThumbnailIconSizeSpinBox->onSave();
}
void DlgStartPreferencesImp::loadSettings()
{
std::string start = App::Application::Config()["StartWorkbench"];
start = App::GetApplication()
.GetParameterGroupByPath("User parameter:BaseApp/Preferences/Mod/Start")
->GetASCII("AutoloadModule", start.c_str());
QString startWbName = QLatin1String(start.c_str());
ui->AutoloadModuleCombo->setCurrentIndex(ui->AutoloadModuleCombo->findData(startWbName));
ui->backgroundColorButton->onRestore();
ui->backgroundTextColorButton->onRestore();
ui->pageBackgroundColorButton->onRestore();
ui->pageTextColorButton->onRestore();
ui->boxBackgroundColorButton->onRestore();
ui->linkColorButton->onRestore();
ui->colorButton_7->onRestore();
ui->backgroundImageFileChooser->onRestore();
ui->showAdditionalFolderFileChooser->onRestore();
ui->radioButton_1->onRestore();
ui->radioButton_2->onRestore();
ui->showNotepadCheckBox->onRestore();
ui->showExamplesCheckBox->onRestore();
ui->closeStartCheckBox->onRestore();
ui->closeAndSwitchCheckBox->onRestore();
ui->showForumCheckBox->onRestore();
ui->useStyleSheetCheckBox->onRestore();
ui->showTipsCheckBox->onRestore();
ui->fontLineEdit->onRestore();
ui->fontSizeSpinBox->onRestore();
ui->showFileThumbnailIconsCheckBox->onRestore();
ui->fileThumbnailIconSizeSpinBox->onRestore();
}
/**
* Sets the strings of the subwidgets using the current language.
*/
void DlgStartPreferencesImp::changeEvent(QEvent* ev)
{
if (ev->type() == QEvent::LanguageChange) {
ui->retranslateUi(this);
}
else {
Gui::Dialog::PreferencePage::changeEvent(ev);
}
}
/**
* Constructs a DlgStartPreferencesAdvancedImp which is a child of 'parent'
*/
DlgStartPreferencesAdvancedImp::DlgStartPreferencesAdvancedImp(QWidget* parent)
: PreferencePage(parent)
, ui(new Ui_DlgStartPreferencesAdvanced)
{
ui->setupUi(this);
}
/**
* Destroys the object and frees any allocated resources
*/
DlgStartPreferencesAdvancedImp::~DlgStartPreferencesAdvancedImp() = default;
void DlgStartPreferencesAdvancedImp::saveSettings()
{
ui->templateFileChooser->onSave();
ui->customCSSTextEdit->onSave();
}
void DlgStartPreferencesAdvancedImp::loadSettings()
{
ui->templateFileChooser->onRestore();
ui->customCSSTextEdit->onRestore();
}
/**
* Sets the strings of the subwidgets using the current language.
*/
void DlgStartPreferencesAdvancedImp::changeEvent(QEvent* ev)
{
if (ev->type() == QEvent::LanguageChange) {
ui->retranslateUi(this);
}
else {
Gui::Dialog::PreferencePage::changeEvent(ev);
}
}
#include "moc_DlgStartPreferencesImp.cpp"

View File

@@ -1,70 +0,0 @@
/***************************************************************************
* Copyright (c) 2018 Yorik van Havre <yorik@uncreated.net> *
* *
* This file is part of the FreeCAD CAx development system. *
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Library General Public *
* License as published by the Free Software Foundation; either *
* version 2 of the License, or (at your option) any later version. *
* *
* This library 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 Library General Public License for more details. *
* *
* You should have received a copy of the GNU Library General Public *
* License along with this library; see the file COPYING.LIB. If not, *
* write to the Free Software Foundation, Inc., 59 Temple Place, *
* Suite 330, Boston, MA 02111-1307, USA *
* *
***************************************************************************/
#ifndef STARTGUI_DLGSTARTPREFERENCESIMP_H
#define STARTGUI_DLGSTARTPREFERENCESIMP_H
#include <Gui/PropertyPage.h>
#include <memory>
class Ui_DlgStartPreferences;
class Ui_DlgStartPreferencesAdvanced;
namespace StartGui
{
class DlgStartPreferencesImp: public Gui::Dialog::PreferencePage
{
Q_OBJECT
public:
explicit DlgStartPreferencesImp(QWidget* parent = nullptr);
~DlgStartPreferencesImp() override;
protected:
void saveSettings() override;
void loadSettings() override;
void changeEvent(QEvent* e) override;
private:
std::unique_ptr<Ui_DlgStartPreferences> ui;
};
class DlgStartPreferencesAdvancedImp: public Gui::Dialog::PreferencePage
{
Q_OBJECT
public:
explicit DlgStartPreferencesAdvancedImp(QWidget* parent = nullptr);
~DlgStartPreferencesAdvancedImp() override;
protected:
void saveSettings() override;
void loadSettings() override;
void changeEvent(QEvent* e) override;
private:
std::unique_ptr<Ui_DlgStartPreferencesAdvanced> ui;
};
} // namespace StartGui
#endif // STARTGUI_DLGSTARTPREFERENCESIMP_H

View File

@@ -0,0 +1,160 @@
// SPDX-License-Identifier: LGPL-2.1-or-later
/****************************************************************************
* *
* Copyright (c) 2024 The FreeCAD Project Association AISBL *
* *
* This file is part of FreeCAD. *
* *
* FreeCAD is free software: you can redistribute it and/or modify it *
* under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation, either version 2.1 of the *
* License, or (at your option) any later version. *
* *
* FreeCAD 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 *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with FreeCAD. If not, see *
* <https://www.gnu.org/licenses/>. *
* *
***************************************************************************/
#include "PreCompiled.h"
#ifndef _PreComp_
#include <QFile>
#include <QFileIconProvider>
#include <QImageReader>
#include <QPainter>
#include <QStyleOptionViewItem>
#include <QLabel>
#include <QModelIndex>
#include <QVBoxLayout>
#include <QGuiApplication>
#endif
#include "FileCardDelegate.h"
#include "../App/DisplayedFilesModel.h"
#include "App/Application.h"
#include <3rdParty/GSL/include/gsl/pointers>
using namespace Start;
FileCardDelegate::FileCardDelegate(QObject* parent)
: QAbstractItemDelegate(parent)
{
_parameterGroup = App::GetApplication().GetParameterGroupByPath(
"User parameter:BaseApp/Preferences/Mod/Start");
}
void FileCardDelegate::paint(QPainter* painter,
const QStyleOptionViewItem& option,
const QModelIndex& index) const
{
auto thumbnailSize =
static_cast<int>(_parameterGroup->GetInt("FileThumbnailIconsSize", 128)); // NOLINT
auto cardWidth = thumbnailSize;
auto baseName = index.data(static_cast<int>(DisplayedFilesModelRoles::baseName)).toString();
auto size = index.data(static_cast<int>(DisplayedFilesModelRoles::size)).toString();
auto image = index.data(static_cast<int>(DisplayedFilesModelRoles::image)).toByteArray();
auto path = index.data(static_cast<int>(DisplayedFilesModelRoles::path)).toString();
painter->save();
auto widget = gsl::owner<QWidget*>(new QWidget());
auto layout = gsl::owner<QVBoxLayout*>(new QVBoxLayout());
widget->setLayout(layout);
auto thumbnail = gsl::owner<QLabel*>(new QLabel());
auto pixmap = gsl::owner<QPixmap*>(new QPixmap());
if (!image.isEmpty()) {
pixmap->loadFromData(image);
if (!pixmap->isNull()) {
auto scaled = pixmap->scaled(QSize(thumbnailSize, thumbnailSize),
Qt::AspectRatioMode::KeepAspectRatio,
Qt::TransformationMode::SmoothTransformation);
thumbnail->setPixmap(scaled);
}
}
else {
thumbnail->setPixmap(generateThumbnail(path));
}
thumbnail->setFixedSize(thumbnailSize, thumbnailSize);
thumbnail->setSizePolicy(QSizePolicy::Policy::Fixed, QSizePolicy::Policy::Fixed);
auto elided =
painter->fontMetrics().elidedText(baseName, Qt::TextElideMode::ElideRight, cardWidth);
auto name = gsl::owner<QLabel*>(new QLabel(elided));
layout->addWidget(thumbnail);
layout->addWidget(name);
auto sizeLabel = gsl::owner<QLabel*>(new QLabel(size));
layout->addWidget(sizeLabel);
layout->addStretch();
layout->setSpacing(0);
widget->resize(option.rect.size());
painter->translate(option.rect.topLeft());
widget->render(painter, QPoint(), QRegion(), QWidget::DrawChildren);
painter->restore();
delete pixmap;
}
QSize FileCardDelegate::sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const
{
Q_UNUSED(option)
Q_UNUSED(index)
auto thumbnailSize = _parameterGroup->GetInt("FileThumbnailIconsSize", 128); // NOLINT
auto cardSpacing = _parameterGroup->GetInt("FileCardSpacing", 20); // NOLINT
auto cardWidth = thumbnailSize + cardSpacing;
auto font = QGuiApplication::font();
auto qfm = QFontMetrics(font);
auto textHeight = 2 * qfm.lineSpacing();
auto cardHeight = thumbnailSize + textHeight + cardSpacing;
return {static_cast<int>(cardWidth), static_cast<int>(cardHeight)};
}
namespace
{
QPixmap pixmapToSizedQImage(const QImage& pixmap, int size)
{
return QPixmap::fromImage(pixmap).scaled(size,
size,
Qt::AspectRatioMode::KeepAspectRatio,
Qt::TransformationMode::SmoothTransformation);
}
} // namespace
QPixmap FileCardDelegate::generateThumbnail(const QString& path) const
{
auto thumbnailSize =
static_cast<int>(_parameterGroup->GetInt("FileThumbnailIconsSize", 128)); // NOLINT
if (path.endsWith(QLatin1String(".fcstd"), Qt::CaseSensitivity::CaseInsensitive)) {
QImageReader reader(QLatin1String(":/icons/freecad-doc.svg"));
reader.setScaledSize({thumbnailSize, thumbnailSize});
return QPixmap::fromImage(reader.read());
}
if (path.endsWith(QLatin1String(".fcmacro"), Qt::CaseSensitivity::CaseInsensitive)) {
QImageReader reader(QLatin1String(":/icons/MacroEditor.svg"));
reader.setScaledSize({thumbnailSize, thumbnailSize});
return QPixmap::fromImage(reader.read());
}
if (!QImageReader::imageFormat(path).isEmpty()) {
// It is an image: it can be its own thumbnail
QImageReader reader(path);
auto image = reader.read();
if (!image.isNull()) {
return pixmapToSizedQImage(image, thumbnailSize);
}
}
QIcon icon = QFileIconProvider().icon(QFileInfo(path));
if (!icon.isNull()) {
QPixmap pixmap = icon.pixmap(thumbnailSize);
if (!pixmap.isNull()) {
return pixmap;
}
}
QPixmap pixmap = QPixmap(thumbnailSize, thumbnailSize);
pixmap.fill();
return pixmap;
}

View File

@@ -0,0 +1,52 @@
// SPDX-License-Identifier: LGPL-2.1-or-later
/****************************************************************************
* *
* Copyright (c) 2024 The FreeCAD Project Association AISBL *
* *
* This file is part of FreeCAD. *
* *
* FreeCAD is free software: you can redistribute it and/or modify it *
* under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation, either version 2.1 of the *
* License, or (at your option) any later version. *
* *
* FreeCAD 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 *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with FreeCAD. If not, see *
* <https://www.gnu.org/licenses/>. *
* *
***************************************************************************/
#ifndef FREECAD_START_FILECARDDELEGATE_H
#define FREECAD_START_FILECARDDELEGATE_H
#include <Base/Parameter.h>
#include <QImage>
#include <QAbstractItemDelegate>
class FileCardDelegate: public QAbstractItemDelegate
{
public:
explicit FileCardDelegate(QObject* parent = nullptr);
void paint(QPainter* painter,
const QStyleOptionViewItem& option,
const QModelIndex& index) const override;
QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const override;
protected:
QPixmap generateThumbnail(const QString& path) const;
private:
Base::Reference<ParameterGrp> _parameterGroup;
};
#endif // FREECAD_START_FILECARDDELEGATE_H

View File

@@ -0,0 +1,87 @@
// SPDX-License-Identifier: LGPL-2.1-or-later
/****************************************************************************
* *
* Copyright (c) 2024 The FreeCAD Project Association AISBL *
* *
* This file is part of FreeCAD. *
* *
* FreeCAD is free software: you can redistribute it and/or modify it *
* under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation, either version 2.1 of the *
* License, or (at your option) any later version. *
* *
* FreeCAD 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 *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with FreeCAD. If not, see *
* <https://www.gnu.org/licenses/>. *
* *
***************************************************************************/
#include "PreCompiled.h"
#include "FileCardView.h"
#include <App/Application.h>
#include "../App/DisplayedFilesModel.h"
namespace StartGui
{
FileCardView::FileCardView(QWidget* parent)
: QListView(parent)
{
QSizePolicy sizePolicy(QSizePolicy::Policy::MinimumExpanding,
QSizePolicy::Policy::MinimumExpanding);
sizePolicy.setHeightForWidth(true);
setSizePolicy(sizePolicy);
setHorizontalScrollBarPolicy(Qt::ScrollBarPolicy::ScrollBarAlwaysOff);
setVerticalScrollBarPolicy(Qt::ScrollBarPolicy::ScrollBarAlwaysOff);
setViewMode(QListView::ViewMode::IconMode);
setFlow(QListView::Flow::LeftToRight);
setResizeMode(QListView::ResizeMode::Adjust);
setUniformItemSizes(true);
}
int FileCardView::heightForWidth(int width) const
{
auto model = this->model();
auto delegate = this->itemDelegate();
if (!model || !delegate) {
return 0;
}
int numCards = model->rowCount();
auto cardSize = delegate->sizeHint(QStyleOptionViewItem(), model->index(0, 0));
int cardsPerRow = static_cast<int>(width / cardSize.width());
int numRows =
static_cast<int>(ceil(static_cast<double>(numCards) / static_cast<double>(cardsPerRow)));
int neededHeight = numRows * cardSize.height();
auto hGrp = App::GetApplication().GetParameterGroupByPath(
"User parameter:BaseApp/Preferences/Mod/Start");
int cardSpacing = static_cast<int>(hGrp->GetInt("FileCardSpacing", 20)); // NOLINT
return neededHeight + cardSpacing * (numRows - 1) + 2 * cardSpacing;
}
QSize FileCardView::sizeHint() const
{
auto hGrp = App::GetApplication().GetParameterGroupByPath(
"User parameter:BaseApp/Preferences/Mod/Start");
int cardSpacing = static_cast<int>(hGrp->GetInt("FileCardSpacing", 20)); // NOLINT
auto model = this->model();
auto delegate = this->itemDelegate();
if (!model || !delegate) {
// The model and/or delegate have not been set yet, this was an early startup call
return {cardSpacing, cardSpacing};
}
int numCards = model->rowCount();
auto cardSize = delegate->sizeHint(QStyleOptionViewItem(), model->index(0, 0));
return {(cardSize.width() + cardSpacing) * numCards + cardSpacing,
cardSize.height() + 2 * cardSpacing};
}
} // namespace StartGui

View File

@@ -0,0 +1,46 @@
// SPDX-License-Identifier: LGPL-2.1-or-later
/****************************************************************************
* *
* Copyright (c) 2024 The FreeCAD Project Association AISBL *
* *
* This file is part of FreeCAD. *
* *
* FreeCAD is free software: you can redistribute it and/or modify it *
* under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation, either version 2.1 of the *
* License, or (at your option) any later version. *
* *
* FreeCAD 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 *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with FreeCAD. If not, see *
* <https://www.gnu.org/licenses/>. *
* *
***************************************************************************/
#ifndef FREECAD_START_FILECARDVIEW_H
#define FREECAD_START_FILECARDVIEW_H
#include <QListView>
namespace StartGui
{
class FileCardView: public QListView
{
Q_OBJECT
public:
explicit FileCardView(QWidget* parent = nullptr);
int heightForWidth(int width) const override;
QSize sizeHint() const override;
};
} // namespace StartGui
#endif // FREECAD_START_FILECARDVIEW_H

View File

@@ -0,0 +1,78 @@
// SPDX-License-Identifier: LGPL-2.1-or-later
/****************************************************************************
* *
* Copyright (c) 2024 The FreeCAD Project Association AISBL *
* *
* This file is part of FreeCAD. *
* *
* FreeCAD is free software: you can redistribute it and/or modify it *
* under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation, either version 2.1 of the *
* License, or (at your option) any later version. *
* *
* FreeCAD 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 *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with FreeCAD. If not, see *
* <https://www.gnu.org/licenses/>. *
* *
***************************************************************************/
#include "PreCompiled.h"
#ifndef _PreComp_
#include <QCoreApplication>
#include <QCoreApplication>
#include <QLayout>
#endif
#include "Manipulator.h"
#include "StartView.h"
#include <Gui/Application.h>
#include <Gui/Command.h>
#include <Gui/MainWindow.h>
#include <Gui/MenuManager.h>
#include <3rdParty/GSL/include/gsl/pointers>
DEF_STD_CMD(CmdStart)
CmdStart::CmdStart()
: Command("Start_Start")
{
sAppModule = "Start";
sGroup = QT_TR_NOOP("Start");
sMenuText = QT_TR_NOOP("Start");
sToolTipText = QT_TR_NOOP("Displays the Start in an MDI view");
sWhatsThis = "Start_Start";
sStatusTip = sToolTipText;
sPixmap = "StartCommandIcon";
}
void CmdStart::activated(int iMsg)
{
Q_UNUSED(iMsg);
auto mw = Gui::getMainWindow();
auto doc = Gui::Application::Instance->activeDocument();
auto existingView = mw->findChild<StartGui::StartView*>(QLatin1String("StartView"));
if (!existingView) {
existingView = gsl::owner<StartGui::StartView*>(new StartGui::StartView(doc, mw));
mw->addWindow(existingView); // Transfers ownership
}
Gui::getMainWindow()->setActiveWindow(existingView);
existingView->show();
}
void StartGui::Manipulator::modifyMenuBar(Gui::MenuItem* menuBar)
{
Gui::CommandManager& rcCmdMgr = Gui::Application::Instance->commandManager();
auto newCommand = gsl::owner<CmdStart*>(new CmdStart);
rcCmdMgr.addCommand(newCommand); // Transfer ownership
Gui::MenuItem* helpMenu = menuBar->findItem("&Help");
Gui::MenuItem* loadStart = new Gui::MenuItem();
loadStart->setCommand("Start_Start");
helpMenu->appendItem(loadStart);
}

View File

@@ -0,0 +1,43 @@
// SPDX-License-Identifier: LGPL-2.1-or-later
/****************************************************************************
* *
* Copyright (c) 2024 The FreeCAD Project Association AISBL *
* *
* This file is part of FreeCAD. *
* *
* FreeCAD is free software: you can redistribute it and/or modify it *
* under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation, either version 2.1 of the *
* License, or (at your option) any later version. *
* *
* FreeCAD 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 *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with FreeCAD. If not, see *
* <https://www.gnu.org/licenses/>. *
* *
***************************************************************************/
#ifndef FREECAD_MANIPULATOR_H
#define FREECAD_MANIPULATOR_H
#include <Gui/WorkbenchManipulator.h>
namespace StartGui
{
class Manipulator: public Gui::WorkbenchManipulator
{
protected:
/*!
* This manipulator injects the command to load the start page into the Help menu.
*/
void modifyMenuBar(Gui::MenuItem* menuBar) override;
};
} // namespace StartGui
#endif // FREECAD_MANIPULATOR_H

View File

@@ -1,23 +1,25 @@
/***************************************************************************
* Copyright (c) 2008 Jürgen Riegel <juergen.riegel@web.de> *
* *
* This file is part of the FreeCAD CAx development system. *
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Library General Public *
* License as published by the Free Software Foundation; either *
* version 2 of the License, or (at your option) any later version. *
* *
* This library 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 Library General Public License for more details. *
* *
* You should have received a copy of the GNU Library General Public *
* License along with this library; see the file COPYING.LIB. If not, *
* write to the Free Software Foundation, Inc., 59 Temple Place, *
* Suite 330, Boston, MA 02111-1307, USA *
* *
***************************************************************************/
#include "PreCompiled.h"
// SPDX-License-Identifier: LGPL-2.1-or-later
/****************************************************************************
* *
# Copyright (c) 2024 The FreeCAD Project Association AISBL *
* *
* This file is part of FreeCAD. *
* *
* FreeCAD is free software: you can redistribute it and/or modify it *
* under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation, either version 2.1 of the *
* License, or (at your option) any later version. *
* *
* FreeCAD 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 *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with FreeCAD. If not, see *
* <https://www.gnu.org/licenses/>. *
* *
***************************************************************************/
#include "PreCompiled.h"

View File

@@ -1,23 +1,24 @@
/***************************************************************************
* Copyright (c) 2008 Jürgen Riegel <juergen.riegel@web.de> *
* *
* This file is part of the FreeCAD CAx development system. *
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Library General Public *
* License as published by the Free Software Foundation; either *
* version 2 of the License, or (at your option) any later version. *
* *
* This library 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 Library General Public License for more details. *
* *
* You should have received a copy of the GNU Library General Public *
* License along with this library; see the file COPYING.LIB. If not, *
* write to the Free Software Foundation, Inc., 59 Temple Place, *
* Suite 330, Boston, MA 02111-1307, USA *
* *
// SPDX-License-Identifier: LGPL-2.1-or-later
/****************************************************************************
* *
# Copyright (c) 2024 The FreeCAD Project Association AISBL *
* *
* This file is part of FreeCAD. *
* *
* FreeCAD is free software: you can redistribute it and/or modify it *
* under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation, either version 2.1 of the *
* License, or (at your option) any later version. *
* *
* FreeCAD 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 *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with FreeCAD. If not, see *
* <https://www.gnu.org/licenses/>. *
* *
***************************************************************************/
#ifndef STARTGUI_PRECOMPILED_H
@@ -25,11 +26,43 @@
#include <FCConfig.h>
#ifdef _MSC_VER
#pragma warning(disable : 5208)
#endif
#ifdef _PreComp_
// Qt Toolkit
// standard
#include <cinttypes>
#include <cmath>
#include <iomanip>
#include <map>
#include <sstream>
#include <string>
#include <vector>
#include <unordered_map>
// Qt
#include <QCheckBox>
#include <QCoreApplication>
#include <QFile>
#include <QFileIconProvider>
#include <QGridLayout>
#include <QGuiApplication>
#include <QImageReader>
#include <QLabel>
#include <QListView>
#include <QModelIndex>
#include <QPainter>
#include <QPushButton>
#include <QScrollArea>
#include <QSpacerItem>
#include <QString>
#include <QStyleOptionViewItem>
#include <QTimer>
#include <QUrl>
#include <QVBoxLayout>
#include <QWidget>
#endif //_PreComp_
#endif // _PreComp_
#endif // STARTGUI_PRECOMPILED_H

View File

@@ -1,6 +1,6 @@
<!DOCTYPE RCC><RCC version="1.0">
<qresource>
<file>icons/StartWorkbench.svg</file>
<file>icons/preferences-start.svg</file>
</qresource>
</RCC>
<RCC>
<qresource prefix="/">
<file>icons/StartCommandIcon.svg</file>
<file>icons/PartDesignWorkbench.svg</file>
</qresource>
</RCC>

View File

@@ -1,2 +0,0 @@
python ..\..\..\..\Tools\dir2qrc.py -v -o Start.qrc
@pause

View File

@@ -0,0 +1,322 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64"
height="64"
id="svg3559"
version="1.1"
inkscape:version="0.91+devel+osxmenu r12922"
sodipodi:docname="PartDesign_Body.svg"
viewBox="0 0 64 64">
<defs
id="defs3561">
<linearGradient
inkscape:collect="always"
id="linearGradient4393">
<stop
style="stop-color:#204a87;stop-opacity:1"
offset="0"
id="stop4395" />
<stop
style="stop-color:#3465a4;stop-opacity:1"
offset="1"
id="stop4397" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient4383">
<stop
style="stop-color:#3465a4;stop-opacity:1"
offset="0"
id="stop4385" />
<stop
style="stop-color:#729fcf;stop-opacity:1"
offset="1"
id="stop4387" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4383"
id="linearGradient4389"
x1="20.243532"
y1="37.588112"
x2="17.243532"
y2="27.588112"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-1.243533,-2.588112)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4393"
id="linearGradient4399"
x1="48.714352"
y1="45.585785"
x2="44.714352"
y2="34.585785"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(1.2856487,1.4142136)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4383-3"
id="linearGradient4389-0"
x1="27.243532"
y1="54.588112"
x2="21.243532"
y2="30.588112"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-1.243533,-2.588112)" />
<linearGradient
inkscape:collect="always"
id="linearGradient4383-3">
<stop
style="stop-color:#3465a4;stop-opacity:1"
offset="0"
id="stop4385-1" />
<stop
style="stop-color:#729fcf;stop-opacity:1"
offset="1"
id="stop4387-2" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4393-9"
id="linearGradient4399-7"
x1="48.714352"
y1="45.585785"
x2="40.714352"
y2="24.585787"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(1.2856487,1.4142136)" />
<linearGradient
inkscape:collect="always"
id="linearGradient4393-9">
<stop
style="stop-color:#204a87;stop-opacity:1"
offset="0"
id="stop4395-8" />
<stop
style="stop-color:#3465a4;stop-opacity:1"
offset="1"
id="stop4397-1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4393"
id="linearGradient69042"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-12.714351,-17.585786)"
x1="48.714352"
y1="45.585785"
x2="44.714352"
y2="34.585785" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4383"
id="linearGradient69056"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-1.243533,-2.588112)"
x1="27.243532"
y1="54.588112"
x2="17.243532"
y2="27.588112" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="10.941048"
inkscape:cx="31.005637"
inkscape:cy="29.259294"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:document-units="px"
inkscape:grid-bbox="true"
inkscape:window-width="1680"
inkscape:window-height="939"
inkscape:window-x="0"
inkscape:window-y="23"
inkscape:window-maximized="0"
inkscape:snap-global="true">
<inkscape:grid
type="xygrid"
id="grid3007"
empspacing="2"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata3564">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
<dc:title>Path-Stock</dc:title>
<dc:date>2015-07-04</dc:date>
<dc:relation>https://www.freecad.org/wiki/index.php?title=Artwork</dc:relation>
<dc:publisher>
<cc:Agent>
<dc:title>FreeCAD</dc:title>
</cc:Agent>
</dc:publisher>
<dc:identifier>FreeCAD/src/Mod/Path/Gui/Resources/icons/Path-Stock.svg</dc:identifier>
<dc:rights>
<cc:Agent>
<dc:title>FreeCAD LGPL2+</dc:title>
</cc:Agent>
</dc:rights>
<cc:license>https://www.gnu.org/copyleft/lesser.html</cc:license>
<dc:contributor>
<cc:Agent>
<dc:title>[agryson] Alexander Gryson</dc:title>
</cc:Agent>
</dc:contributor>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<path
style="fill:url(#linearGradient69056);fill-opacity:1;fill-rule:nonzero;stroke:#0b1521;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
d="m 9,49 0,-28 14,5 0,14 14,5 0,14 z"
id="path4381"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccc" />
<path
style="fill:url(#linearGradient4399);fill-opacity:1;fill-rule:nonzero;stroke:#0b1521;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
d="M 37,59 37,45 55,28 55,41 Z"
id="path4391"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
style="fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#0b1521;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
d="M 9,21 29,5 42,10 23,26 Z"
id="path4403"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
style="fill:none;stroke:#729fcf;stroke-width:2;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none"
d="M 11.008035,47.60627 11,24 l 10,4 0,13 14,5 0.0081,10.184812 z"
id="path4381-7"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccc" />
<path
style="fill:none;stroke:#3465a4;stroke-width:2;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none"
d="M 39.005041,54.16825 39,46 53,33 l 0.0021,7.176847 z"
id="path4391-0"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path69038"
d="M 23,40 42,23 55,28 37,45 Z"
style="fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#0b1521;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path69040"
d="M 23,40 23,26 42,10 42,23 Z"
style="fill:url(#linearGradient69042);fill-opacity:1;fill-rule:nonzero;stroke:#0b1521;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path69044"
d="m 25,36 0,-9 15,-13 0,8 z"
style="fill:none;stroke:#3465a4;stroke-width:2;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="temporal"
style="display:none;opacity:0.58800001"
sodipodi:insensitive="true">
<path
inkscape:connector-curvature="0"
id="path68967"
d="M 9,35 9,49"
style="fill:#ef2929;fill-rule:evenodd;stroke:#ef2929;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
inkscape:connector-curvature="0"
id="path68971"
d="M 9,35 37,45"
style="fill:#ef2929;fill-rule:evenodd;stroke:#ef2929;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
sodipodi:nodetypes="cc"
style="fill:#ef2929;fill-rule:evenodd;stroke:#ef2929;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 55,28 0,13"
id="path68973"
inkscape:connector-curvature="0" />
<path
style="fill:#ef2929;fill-rule:evenodd;stroke:#ef2929;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 37,45 55,28"
id="path68977"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path68983"
d="M 23,40 23,26"
style="fill:#ef2929;fill-rule:evenodd;stroke:#ef2929;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path68985"
d="m 29,5 13,5"
style="fill:#ef2929;fill-rule:evenodd;stroke:#ef2929;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
style="fill:#ef2929;fill-rule:evenodd;stroke:#ef2929;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 23,26 42,10"
id="path68989"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:#ef2929;fill-rule:evenodd;stroke:#ef2929;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 19,13 29,5"
id="path68993"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:#ef2929;fill-rule:evenodd;stroke:#ef2929;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 55,15 -9,8"
id="path68997"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path69030"
d="M 42,23 42,10"
style="fill:#ef2929;fill-rule:evenodd;stroke:#ef2929;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
style="fill:#ef2929;fill-rule:evenodd;stroke:#ef2929;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 42,23 14,5"
id="path69034"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path69036"
d="M 23,40 42,23"
style="fill:#ef2929;fill-rule:evenodd;stroke:#ef2929;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@@ -1,182 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64px"
height="64px"
id="svg3037"
sodipodi:version="0.32"
inkscape:version="0.48.5 r10040"
sodipodi:docname="StartWorkbench.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
version="1.1">
<defs
id="defs3039">
<linearGradient
id="linearGradient3794">
<stop
id="stop3796"
offset="0"
style="stop-color:#729fcf;stop-opacity:1" />
<stop
id="stop3798"
offset="1"
style="stop-color:#204a87;stop-opacity:1" />
</linearGradient>
<linearGradient
id="linearGradient3841">
<stop
style="stop-color:#0619c0;stop-opacity:1;"
offset="0"
id="stop3843" />
<stop
style="stop-color:#379cfb;stop-opacity:1;"
offset="1"
id="stop3845" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3841"
id="linearGradient3847"
x1="3709.3296"
y1="1286.7291"
x2="3935.5251"
y2="1076.6174"
gradientUnits="userSpaceOnUse" />
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 32 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="64 : 32 : 1"
inkscape:persp3d-origin="32 : 21.333333 : 1"
id="perspective3045" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3794"
id="linearGradient2991"
gradientUnits="userSpaceOnUse"
x1="3718.145"
y1="1190.5608"
x2="3940.3335"
y2="1143.1339"
gradientTransform="matrix(0,0.1731146,-0.1731146,0,232.90021,-635.22046)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3841-6"
id="linearGradient2991-3"
gradientUnits="userSpaceOnUse"
x1="3709.3296"
y1="1286.7291"
x2="3935.5251"
y2="1076.6174"
gradientTransform="matrix(0,0.1731146,-0.1731146,0,232.90021,-635.22046)" />
<linearGradient
id="linearGradient3841-6">
<stop
style="stop-color:#0619c0;stop-opacity:1;"
offset="0"
id="stop3843-7" />
<stop
style="stop-color:#379cfb;stop-opacity:1;"
offset="1"
id="stop3845-5" />
</linearGradient>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.598799"
inkscape:cx="-13.439241"
inkscape:cy="44.491229"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:document-units="px"
inkscape:grid-bbox="true"
inkscape:window-width="800"
inkscape:window-height="836"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="0"
inkscape:snap-global="false">
<inkscape:grid
type="xygrid"
id="grid2990"
empspacing="2"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata3042">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
<dc:creator>
<cc:Agent>
<dc:title>[triplus]</dc:title>
</cc:Agent>
</dc:creator>
<dc:title>StartWorkbench</dc:title>
<dc:date>2016-02-26</dc:date>
<dc:relation>https://www.freecad.org/wiki/index.php?title=Artwork</dc:relation>
<dc:publisher>
<cc:Agent>
<dc:title>FreeCAD</dc:title>
</cc:Agent>
</dc:publisher>
<dc:identifier>FreeCAD/src/Mod/Start/Gui/Resources/icons/StartWorkbench.svg</dc:identifier>
<dc:rights>
<cc:Agent>
<dc:title>FreeCAD LGPL2+</dc:title>
</cc:Agent>
</dc:rights>
<cc:license>https://www.gnu.org/copyleft/lesser.html</cc:license>
<dc:contributor>
<cc:Agent>
<dc:title>[agryson] Alexander Gryson</dc:title>
</cc:Agent>
</dc:contributor>
<dc:subject>
<rdf:Bag>
<rdf:li>arrow</rdf:li>
<rdf:li>right</rdf:li>
</rdf:Bag>
</dc:subject>
<dc:description>Arrow pointing towards the right</dc:description>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<path
inkscape:connector-curvature="0"
style="fill:url(#linearGradient2991);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 61,31 31,5 l 0,14 -24,0 0,24 24,0 0,14 z"
id="rect3066"
sodipodi:nodetypes="cccccccc" />
<path
inkscape:connector-curvature="0"
style="fill:none;stroke:#729fcf;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 58,31 33.012263,9.3801382 33,21 9,21 l 0,20 24,0 0,11.600864 z"
id="rect3066-3"
sodipodi:nodetypes="cccccccc" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 6.0 KiB

File diff suppressed because one or more lines are too long

View File

@@ -1,498 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="af" sourcelanguage="en">
<context>
<name>StartPage</name>
<message>
<location filename="TranslationTexts.py" line="42"/>
<source>Start</source>
<translation type="unfinished">Start</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="43"/>
<source>Documents</source>
<translation type="unfinished">Documents</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="44"/>
<source>Help</source>
<translation>Hulp</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="45"/>
<source>Activity</source>
<translation type="unfinished">Activity</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="46"/>
<source>Recent files</source>
<translation>Onlangse lêers</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="47"/>
<source>Tip</source>
<translation type="unfinished">Tip</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="48"/>
<source>Adjust the number of recent files to be shown here in menu Edit -&gt; Preferences -&gt; General -&gt; Size of recent file list</source>
<translation type="unfinished">Adjust the number of recent files to be shown here in menu Edit -&gt; Preferences -&gt; General -&gt; Size of recent file list</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="49"/>
<source>Examples</source>
<translation type="unfinished">Examples</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="50"/>
<source>General documentation</source>
<translation type="unfinished">General documentation</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="51"/>
<source>User hub</source>
<translation type="unfinished">User hub</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="52"/>
<source>This section contains documentation useful for FreeCAD users in general: a list of all the workbenches, detailed instructions on how to install and use the FreeCAD application, tutorials, and all you need to get started.</source>
<translation type="unfinished">This section contains documentation useful for FreeCAD users in general: a list of all the workbenches, detailed instructions on how to install and use the FreeCAD application, tutorials, and all you need to get started.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="53"/>
<source>Power users hub</source>
<translation type="unfinished">Power users hub</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="54"/>
<source>This section gathers documentation for advanced users and people interested in writing python scripts. You will also find there a repository of macros, instructions on how to install and use them, and more information about customizing FreeCAD to your specific needs.</source>
<translation type="unfinished">This section gathers documentation for advanced users and people interested in writing python scripts. You will also find there a repository of macros, instructions on how to install and use them, and more information about customizing FreeCAD to your specific needs.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="55"/>
<source>Developers hub</source>
<translation type="unfinished">Developers hub</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="56"/>
<source>This section contains material for developers: How to compile FreeCAD yourself, how the FreeCAD source code is structured + how to navigate in it, how to develop new workbenches and/or embed FreeCAD in your own application.</source>
<translation type="unfinished">This section contains material for developers: How to compile FreeCAD yourself, how the FreeCAD source code is structured + how to navigate in it, how to develop new workbenches and/or embed FreeCAD in your own application.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="57"/>
<source>Manual</source>
<translation type="unfinished">Manual</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="58"/>
<source>The FreeCAD manual is another, more linear way to present the information contained in this wiki. It is made to be read like a book, and will gently introduce you to many other pages from the hubs above. &lt;a href="https://www.gitbook.com/book/yorikvanhavre/a-freecad-manual/details"&gt;e-book versions&lt;/a&gt; are also available.</source>
<translation type="unfinished">The FreeCAD manual is another, more linear way to present the information contained in this wiki. It is made to be read like a book, and will gently introduce you to many other pages from the hubs above. &lt;a href="https://www.gitbook.com/book/yorikvanhavre/a-freecad-manual/details"&gt;e-book versions&lt;/a&gt; are also available.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="59"/>
<source>Workbenches documentation</source>
<translation type="unfinished">Workbenches documentation</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="60"/>
<source>These are the help pages of all the workbenches currently installed on this computer.</source>
<translation type="unfinished">These are the help pages of all the workbenches currently installed on this computer.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="61"/>
<source>Getting help from the community</source>
<translation type="unfinished">Getting help from the community</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="62"/>
<source>The &lt;a href="https://forum.freecadweb.org"&gt;FreeCAD forum&lt;/a&gt; is a great place to get help from other FreeCAD users and developers. The forum has many sections for different types of issues and discussion subjects. If in doubt, post in the more general &lt;a href="https://forum.freecadweb.org/viewforum.php?f=3"&gt;Help on using FreeCAD&lt;/a&gt; section.</source>
<translation type="unfinished">The &lt;a href="https://forum.freecadweb.org"&gt;FreeCAD forum&lt;/a&gt; is a great place to get help from other FreeCAD users and developers. The forum has many sections for different types of issues and discussion subjects. If in doubt, post in the more general &lt;a href="https://forum.freecadweb.org/viewforum.php?f=3"&gt;Help on using FreeCAD&lt;/a&gt; section.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="63"/>
<source>If it is the first time you are posting on the forum, be sure to &lt;a href="https://forum.freecadweb.org/viewtopic.php?f=3&amp;t=2264"&gt;read the guidelines&lt;/a&gt; first!</source>
<translation type="unfinished">If it is the first time you are posting on the forum, be sure to &lt;a href="https://forum.freecadweb.org/viewtopic.php?f=3&amp;t=2264"&gt;read the guidelines&lt;/a&gt; first!</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="64"/>
<source>FreeCAD also maintains a public &lt;a href="https://www.freecadweb.org/tracker"&gt;bug tracker&lt;/a&gt; where anybody can submit bugs and propose new features. To avoid causing extra work and give the best chances to see your bug solved, make sure you read the &lt;a href="https://forum.freecadweb.org/viewtopic.php?f=3&amp;t=5236"&gt;bug submission guide&lt;/a&gt; before posting.</source>
<translation type="unfinished">FreeCAD also maintains a public &lt;a href="https://www.freecadweb.org/tracker"&gt;bug tracker&lt;/a&gt; where anybody can submit bugs and propose new features. To avoid causing extra work and give the best chances to see your bug solved, make sure you read the &lt;a href="https://forum.freecadweb.org/viewtopic.php?f=3&amp;t=5236"&gt;bug submission guide&lt;/a&gt; before posting.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="65"/>
<source>Available addons</source>
<translation type="unfinished">Available addons</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="66"/>
<source>Below is a list of available extra workbenches that can be added to your FreeCAD installation. Browse and install them from menu Tools -&gt; Addons manager. You can learn more about any of them by clicking the links below.</source>
<translation type="unfinished">Below is a list of available extra workbenches that can be added to your FreeCAD installation. Browse and install them from menu Tools -&gt; Addons manager. You can learn more about any of them by clicking the links below.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="67"/>
<source>If not bundled with your FreeCAD version, install the FreeCAD documentation package to get documentation hubs, workbench help and individual command documentation without an internet connection.</source>
<translation type="unfinished">If not bundled with your FreeCAD version, install the FreeCAD documentation package to get documentation hubs, workbench help and individual command documentation without an internet connection.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="68"/>
<source>Cannot fetch information from GitHub. &lt;a href="EnableDownload.py"&gt;Authorize FreeCAD to access the internet&lt;/a&gt; and reload the Start page.</source>
<translation type="unfinished">Cannot fetch information from GitHub. &lt;a href="EnableDownload.py"&gt;Authorize FreeCAD to access the internet&lt;/a&gt; and reload the Start page.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="69"/>
<source>Recent commits</source>
<translation type="unfinished">Recent commits</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="70"/>
<source>Below are the latest changes added to the &lt;a href="http://github.com/FreeCAD/FreeCAD/"&gt;FreeCAD source code&lt;/a&gt;. These changes might not reflect yet in the FreeCAD version that you are currently running. Check the &lt;a href="https://www.freecadweb.org/wiki/Downloads"&gt;available options&lt;/a&gt; if you wish to obtain a development version.</source>
<translation type="unfinished">Below are the latest changes added to the &lt;a href="http://github.com/FreeCAD/FreeCAD/"&gt;FreeCAD source code&lt;/a&gt;. These changes might not reflect yet in the FreeCAD version that you are currently running. Check the &lt;a href="https://www.freecadweb.org/wiki/Downloads"&gt;available options&lt;/a&gt; if you wish to obtain a development version.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="71"/>
<source>See all commits on github</source>
<translation type="unfinished">See all commits on github</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="72"/>
<source>You can configure a custom folder to display here in menu Edit -&gt; Preferences -&gt; Start -&gt; Show additional folder</source>
<translation type="unfinished">You can configure a custom folder to display here in menu Edit -&gt; Preferences -&gt; Start -&gt; Show additional folder</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="73"/>
<source>version</source>
<translation type="unfinished">version</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="74"/>
<source>build</source>
<translation type="unfinished">build</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="75"/>
<source>Create new...</source>
<translation type="unfinished">Create new...</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="76"/>
<source>Unknown</source>
<translation type="unfinished">Unknown</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="77"/>
<source>Forum</source>
<translation>Forum</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="78"/>
<source>The latest posts on the &lt;a href="https://forum.freecadweb.org"&gt;FreeCAD forum&lt;/a&gt;:</source>
<translation type="unfinished">The latest posts on the &lt;a href="https://forum.freecadweb.org"&gt;FreeCAD forum&lt;/a&gt;:</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="79"/>
<source>To open any of the links above in your desktop browser, Right-click -&gt; Open in external browser</source>
<translation type="unfinished">To open any of the links above in your desktop browser, Right-click -&gt; Open in external browser</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="80"/>
<source>Creation date</source>
<translation type="unfinished">Creation date</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="81"/>
<source>Last modification</source>
<translation type="unfinished">Last modification</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="82"/>
<source>Notes</source>
<translation type="unfinished">Notes</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="83"/>
<source>Open start page preferences</source>
<translation type="unfinished">Open start page preferences</translation>
</message>
</context>
<context>
<name>Workbench</name>
<message>
<location filename="../../Workbench.cpp" line="75"/>
<source>Start page</source>
<translation type="unfinished">Start page</translation>
</message>
</context>
<context>
<name>CmdStartPage</name>
<message>
<location filename="../../Command.cpp" line="45"/>
<source>Start</source>
<translation type="unfinished">Start</translation>
</message>
<message>
<location filename="../../Command.cpp" line="46"/>
<source>Start Page</source>
<translation type="unfinished">Start Page</translation>
</message>
<message>
<location filename="../../Command.cpp" line="47"/>
<source>Displays the start page in a browser view</source>
<translation type="unfinished">Displays the start page in a browser view</translation>
</message>
</context>
<context>
<name>DlgStartPreferences</name>
<message>
<location filename="../../DlgStartPreferences.ui" line="14"/>
<source>Start page options</source>
<translation type="unfinished">Start page options</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="20"/>
<source>Start page template</source>
<translation type="unfinished">Start page template</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="26"/>
<source>An optional HTML template that will be used instead of the default start page.</source>
<translation type="unfinished">An optional HTML template that will be used instead of the default start page.</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="42"/>
<source>Contents</source>
<translation type="unfinished">Contents</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="48"/>
<source>Show forum</source>
<translation type="unfinished">Show forum</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="55"/>
<source>Show examples folder contents</source>
<translation type="unfinished">Show examples folder contents</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="62"/>
<source>Show additional folder</source>
<translation type="unfinished">Show additional folder</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="69"/>
<source>If you want the examples to show on the first page</source>
<translation type="unfinished">If you want the examples to show on the first page</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="91"/>
<source>If this is checked, the latest posts from the FreeCAD forum will be displayed on the Activity tab</source>
<translation type="unfinished">If this is checked, the latest posts from the FreeCAD forum will be displayed on the Activity tab</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="110"/>
<source>An optional custom folder to be displayed at the bottom of the first page.
By using ";;" to separate paths, you can add several folders here</source>
<translation type="unfinished">An optional custom folder to be displayed at the bottom of the first page.
By using ";;" to separate paths, you can add several folders here</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="127"/>
<source>Show notepad</source>
<translation type="unfinished">Show notepad</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="134"/>
<source>Shows a notepad next to the file thumbnails, where you can keep notes across sessions</source>
<translation type="unfinished">Shows a notepad next to the file thumbnails, where you can keep notes across sessions</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="153"/>
<source>Show tips</source>
<translation type="unfinished">Show tips</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="163"/>
<source>Displays help tips in the Start workbench Documents tab</source>
<translation type="unfinished">Displays help tips in the Start workbench Documents tab</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="185"/>
<source>Fonts and colors</source>
<translation type="unfinished">Fonts and colors</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="197"/>
<source>The background of the main start page area</source>
<translation type="unfinished">The background of the main start page area</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="217"/>
<source>Background color</source>
<translation>Agtergrond kleur</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="229"/>
<source>in FreeCAD</source>
<translation type="unfinished">in FreeCAD</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="248"/>
<source>In external browser</source>
<translation type="unfinished">In external browser</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="266"/>
<source>Background color down gradient</source>
<translation type="unfinished">Background color down gradient</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="279"/>
<source>The color of the version text</source>
<translation type="unfinished">The color of the version text</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="299"/>
<source>Link color</source>
<translation type="unfinished">Link color</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="306"/>
<source>An optional image to display as background</source>
<translation type="unfinished">An optional image to display as background</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="319"/>
<source>If this is checked and a style sheet is specified in General preferences, it will be used and override the colors below</source>
<translation type="unfinished">If this is checked and a style sheet is specified in General preferences, it will be used and override the colors below</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="338"/>
<source>Page background color</source>
<translation type="unfinished">Page background color</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="351"/>
<source>The color of the text on the main pages</source>
<translation type="unfinished">The color of the text on the main pages</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="371"/>
<source>Background image</source>
<translation type="unfinished">Background image</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="378"/>
<source>Page text color</source>
<translation type="unfinished">Page text color</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="391"/>
<source>The color of the links</source>
<translation type="unfinished">The color of the links</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="417"/>
<source>The background color of the boxes inside the pages</source>
<translation type="unfinished">The background color of the boxes inside the pages</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="437"/>
<source>Box background color</source>
<translation type="unfinished">Box background color</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="450"/>
<source>The background color behind the panels</source>
<translation type="unfinished">The background color behind the panels</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="479"/>
<source>The down gradient for the background color (currently unsupported)</source>
<translation type="unfinished">The down gradient for the background color (currently unsupported)</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="502"/>
<source>Open links</source>
<translation type="unfinished">Open links</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="509"/>
<source>Background text color</source>
<translation type="unfinished">Background text color</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="516"/>
<source>Use FreeCAD style sheet</source>
<translation type="unfinished">Use FreeCAD style sheet</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="523"/>
<source>Font family</source>
<translation type="unfinished">Font family</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="532"/>
<source>The font family to use on the start page. Can be a font name or a comma-separated series of fallback fonts</source>
<translation type="unfinished">The font family to use on the start page. Can be a font name or a comma-separated series of fallback fonts</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="538"/>
<source>Arial,Helvetica,sans</source>
<translation type="unfinished">Arial,Helvetica,sans</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="551"/>
<source>The base font size to use for all texts of the Start page</source>
<translation type="unfinished">The base font size to use for all texts of the Start page</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="554"/>
<source>px</source>
<translation type="unfinished">px</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="572"/>
<source>Use gradient for New File icon</source>
<translation type="unfinished">Use gradient for New File icon</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="579"/>
<source>If this is selected, the 'New File' icon shows a gradient icon instead of the normal icon</source>
<translation type="unfinished">If this is selected, the 'New File' icon shows a gradient icon instead of the normal icon</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="601"/>
<source>Options</source>
<translation>Opsies</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="607"/>
<source>Choose which workbench to switch to after the program launches</source>
<translation type="unfinished">Choose which workbench to switch to after the program launches</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="614"/>
<source>If checked, will automatically close the Start page when FreeCAD launches</source>
<translation type="unfinished">If checked, will automatically close the Start page when FreeCAD launches</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="633"/>
<source>Switch workbench after loading</source>
<translation type="unfinished">Switch workbench after loading</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="640"/>
<source>Close start page after loading</source>
<translation type="unfinished">Close start page after loading</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="647"/>
<source>Close and switch on opening file</source>
<translation type="unfinished">Close and switch on opening file</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="654"/>
<source>If application is started by opening a file, apply the two settings above</source>
<translation type="unfinished">If application is started by opening a file, apply the two settings above</translation>
</message>
</context>
</TS>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,498 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="bg" sourcelanguage="en">
<context>
<name>StartPage</name>
<message>
<location filename="TranslationTexts.py" line="42"/>
<source>Start</source>
<translation>Старт</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="43"/>
<source>Documents</source>
<translation>Документи</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="44"/>
<source>Help</source>
<translation>Помощ</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="45"/>
<source>Activity</source>
<translation>Дейност</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="46"/>
<source>Recent files</source>
<translation>Скорошни файлове</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="47"/>
<source>Tip</source>
<translation>Съвет</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="48"/>
<source>Adjust the number of recent files to be shown here in menu Edit -&gt; Preferences -&gt; General -&gt; Size of recent file list</source>
<translation type="unfinished">Adjust the number of recent files to be shown here in menu Edit -&gt; Preferences -&gt; General -&gt; Size of recent file list</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="49"/>
<source>Examples</source>
<translation>Примери</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="50"/>
<source>General documentation</source>
<translation>Обща документация</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="51"/>
<source>User hub</source>
<translation>Потребителски център</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="52"/>
<source>This section contains documentation useful for FreeCAD users in general: a list of all the workbenches, detailed instructions on how to install and use the FreeCAD application, tutorials, and all you need to get started.</source>
<translation type="unfinished">This section contains documentation useful for FreeCAD users in general: a list of all the workbenches, detailed instructions on how to install and use the FreeCAD application, tutorials, and all you need to get started.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="53"/>
<source>Power users hub</source>
<translation>Център за напреднали потребители</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="54"/>
<source>This section gathers documentation for advanced users and people interested in writing python scripts. You will also find there a repository of macros, instructions on how to install and use them, and more information about customizing FreeCAD to your specific needs.</source>
<translation type="unfinished">This section gathers documentation for advanced users and people interested in writing python scripts. You will also find there a repository of macros, instructions on how to install and use them, and more information about customizing FreeCAD to your specific needs.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="55"/>
<source>Developers hub</source>
<translation>Център за разработчици</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="56"/>
<source>This section contains material for developers: How to compile FreeCAD yourself, how the FreeCAD source code is structured + how to navigate in it, how to develop new workbenches and/or embed FreeCAD in your own application.</source>
<translation type="unfinished">This section contains material for developers: How to compile FreeCAD yourself, how the FreeCAD source code is structured + how to navigate in it, how to develop new workbenches and/or embed FreeCAD in your own application.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="57"/>
<source>Manual</source>
<translation>Наръчник</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="58"/>
<source>The FreeCAD manual is another, more linear way to present the information contained in this wiki. It is made to be read like a book, and will gently introduce you to many other pages from the hubs above. &lt;a href="https://www.gitbook.com/book/yorikvanhavre/a-freecad-manual/details"&gt;e-book versions&lt;/a&gt; are also available.</source>
<translation type="unfinished">The FreeCAD manual is another, more linear way to present the information contained in this wiki. It is made to be read like a book, and will gently introduce you to many other pages from the hubs above. &lt;a href="https://www.gitbook.com/book/yorikvanhavre/a-freecad-manual/details"&gt;e-book versions&lt;/a&gt; are also available.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="59"/>
<source>Workbenches documentation</source>
<translation>Документация на набора инструменти</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="60"/>
<source>These are the help pages of all the workbenches currently installed on this computer.</source>
<translation type="unfinished">These are the help pages of all the workbenches currently installed on this computer.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="61"/>
<source>Getting help from the community</source>
<translation>Получаване на помощ от обществото</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="62"/>
<source>The &lt;a href="https://forum.freecadweb.org"&gt;FreeCAD forum&lt;/a&gt; is a great place to get help from other FreeCAD users and developers. The forum has many sections for different types of issues and discussion subjects. If in doubt, post in the more general &lt;a href="https://forum.freecadweb.org/viewforum.php?f=3"&gt;Help on using FreeCAD&lt;/a&gt; section.</source>
<translation type="unfinished">The &lt;a href="https://forum.freecadweb.org"&gt;FreeCAD forum&lt;/a&gt; is a great place to get help from other FreeCAD users and developers. The forum has many sections for different types of issues and discussion subjects. If in doubt, post in the more general &lt;a href="https://forum.freecadweb.org/viewforum.php?f=3"&gt;Help on using FreeCAD&lt;/a&gt; section.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="63"/>
<source>If it is the first time you are posting on the forum, be sure to &lt;a href="https://forum.freecadweb.org/viewtopic.php?f=3&amp;t=2264"&gt;read the guidelines&lt;/a&gt; first!</source>
<translation type="unfinished">If it is the first time you are posting on the forum, be sure to &lt;a href="https://forum.freecadweb.org/viewtopic.php?f=3&amp;t=2264"&gt;read the guidelines&lt;/a&gt; first!</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="64"/>
<source>FreeCAD also maintains a public &lt;a href="https://www.freecadweb.org/tracker"&gt;bug tracker&lt;/a&gt; where anybody can submit bugs and propose new features. To avoid causing extra work and give the best chances to see your bug solved, make sure you read the &lt;a href="https://forum.freecadweb.org/viewtopic.php?f=3&amp;t=5236"&gt;bug submission guide&lt;/a&gt; before posting.</source>
<translation type="unfinished">FreeCAD also maintains a public &lt;a href="https://www.freecadweb.org/tracker"&gt;bug tracker&lt;/a&gt; where anybody can submit bugs and propose new features. To avoid causing extra work and give the best chances to see your bug solved, make sure you read the &lt;a href="https://forum.freecadweb.org/viewtopic.php?f=3&amp;t=5236"&gt;bug submission guide&lt;/a&gt; before posting.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="65"/>
<source>Available addons</source>
<translation>Налични добавки</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="66"/>
<source>Below is a list of available extra workbenches that can be added to your FreeCAD installation. Browse and install them from menu Tools -&gt; Addons manager. You can learn more about any of them by clicking the links below.</source>
<translation type="unfinished">Below is a list of available extra workbenches that can be added to your FreeCAD installation. Browse and install them from menu Tools -&gt; Addons manager. You can learn more about any of them by clicking the links below.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="67"/>
<source>If not bundled with your FreeCAD version, install the FreeCAD documentation package to get documentation hubs, workbench help and individual command documentation without an internet connection.</source>
<translation type="unfinished">If not bundled with your FreeCAD version, install the FreeCAD documentation package to get documentation hubs, workbench help and individual command documentation without an internet connection.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="68"/>
<source>Cannot fetch information from GitHub. &lt;a href="EnableDownload.py"&gt;Authorize FreeCAD to access the internet&lt;/a&gt; and reload the Start page.</source>
<translation type="unfinished">Cannot fetch information from GitHub. &lt;a href="EnableDownload.py"&gt;Authorize FreeCAD to access the internet&lt;/a&gt; and reload the Start page.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="69"/>
<source>Recent commits</source>
<translation type="unfinished">Recent commits</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="70"/>
<source>Below are the latest changes added to the &lt;a href="http://github.com/FreeCAD/FreeCAD/"&gt;FreeCAD source code&lt;/a&gt;. These changes might not reflect yet in the FreeCAD version that you are currently running. Check the &lt;a href="https://www.freecadweb.org/wiki/Downloads"&gt;available options&lt;/a&gt; if you wish to obtain a development version.</source>
<translation type="unfinished">Below are the latest changes added to the &lt;a href="http://github.com/FreeCAD/FreeCAD/"&gt;FreeCAD source code&lt;/a&gt;. These changes might not reflect yet in the FreeCAD version that you are currently running. Check the &lt;a href="https://www.freecadweb.org/wiki/Downloads"&gt;available options&lt;/a&gt; if you wish to obtain a development version.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="71"/>
<source>See all commits on github</source>
<translation type="unfinished">See all commits on github</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="72"/>
<source>You can configure a custom folder to display here in menu Edit -&gt; Preferences -&gt; Start -&gt; Show additional folder</source>
<translation type="unfinished">You can configure a custom folder to display here in menu Edit -&gt; Preferences -&gt; Start -&gt; Show additional folder</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="73"/>
<source>version</source>
<translation>версия</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="74"/>
<source>build</source>
<translation>изграждане</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="75"/>
<source>Create new...</source>
<translation>Създаване на ново...</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="76"/>
<source>Unknown</source>
<translation>Неизвестно</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="77"/>
<source>Forum</source>
<translation>Форум</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="78"/>
<source>The latest posts on the &lt;a href="https://forum.freecadweb.org"&gt;FreeCAD forum&lt;/a&gt;:</source>
<translation type="unfinished">The latest posts on the &lt;a href="https://forum.freecadweb.org"&gt;FreeCAD forum&lt;/a&gt;:</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="79"/>
<source>To open any of the links above in your desktop browser, Right-click -&gt; Open in external browser</source>
<translation type="unfinished">To open any of the links above in your desktop browser, Right-click -&gt; Open in external browser</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="80"/>
<source>Creation date</source>
<translation>Дата на създаване</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="81"/>
<source>Last modification</source>
<translation>Последна модификация</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="82"/>
<source>Notes</source>
<translation>Бележки</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="83"/>
<source>Open start page preferences</source>
<translation type="unfinished">Open start page preferences</translation>
</message>
</context>
<context>
<name>Workbench</name>
<message>
<location filename="../../Workbench.cpp" line="75"/>
<source>Start page</source>
<translation>Начална страница</translation>
</message>
</context>
<context>
<name>CmdStartPage</name>
<message>
<location filename="../../Command.cpp" line="45"/>
<source>Start</source>
<translation>Старт</translation>
</message>
<message>
<location filename="../../Command.cpp" line="46"/>
<source>Start Page</source>
<translation>Начална страница</translation>
</message>
<message>
<location filename="../../Command.cpp" line="47"/>
<source>Displays the start page in a browser view</source>
<translation>Показва началната страница в изглед на браузъра</translation>
</message>
</context>
<context>
<name>DlgStartPreferences</name>
<message>
<location filename="../../DlgStartPreferences.ui" line="14"/>
<source>Start page options</source>
<translation>Опции за началната страница</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="20"/>
<source>Start page template</source>
<translation>Шаблон за началната страница</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="26"/>
<source>An optional HTML template that will be used instead of the default start page.</source>
<translation type="unfinished">An optional HTML template that will be used instead of the default start page.</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="42"/>
<source>Contents</source>
<translation>Съдържание</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="48"/>
<source>Show forum</source>
<translation>Показване на форума</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="55"/>
<source>Show examples folder contents</source>
<translation type="unfinished">Show examples folder contents</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="62"/>
<source>Show additional folder</source>
<translation>Показване на допълнителна папка</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="69"/>
<source>If you want the examples to show on the first page</source>
<translation>Ако искате примери да се показват на първата страница</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="91"/>
<source>If this is checked, the latest posts from the FreeCAD forum will be displayed on the Activity tab</source>
<translation>Ако това е отбелязано, то последните публикации от форума на FreeCAD ще бъдат показвани в раздела дейност</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="110"/>
<source>An optional custom folder to be displayed at the bottom of the first page.
By using ";;" to separate paths, you can add several folders here</source>
<translation type="unfinished">An optional custom folder to be displayed at the bottom of the first page.
By using ";;" to separate paths, you can add several folders here</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="127"/>
<source>Show notepad</source>
<translation type="unfinished">Show notepad</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="134"/>
<source>Shows a notepad next to the file thumbnails, where you can keep notes across sessions</source>
<translation type="unfinished">Shows a notepad next to the file thumbnails, where you can keep notes across sessions</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="153"/>
<source>Show tips</source>
<translation type="unfinished">Show tips</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="163"/>
<source>Displays help tips in the Start workbench Documents tab</source>
<translation type="unfinished">Displays help tips in the Start workbench Documents tab</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="185"/>
<source>Fonts and colors</source>
<translation>Шрифтове и цветове</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="197"/>
<source>The background of the main start page area</source>
<translation type="unfinished">The background of the main start page area</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="217"/>
<source>Background color</source>
<translation>Цвят на фона </translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="229"/>
<source>in FreeCAD</source>
<translation>във FreeCAD</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="248"/>
<source>In external browser</source>
<translation>Във външен браузър</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="266"/>
<source>Background color down gradient</source>
<translation type="unfinished">Background color down gradient</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="279"/>
<source>The color of the version text</source>
<translation>Цветът на текста на версията</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="299"/>
<source>Link color</source>
<translation>Цвят на препратка</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="306"/>
<source>An optional image to display as background</source>
<translation type="unfinished">An optional image to display as background</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="319"/>
<source>If this is checked and a style sheet is specified in General preferences, it will be used and override the colors below</source>
<translation type="unfinished">If this is checked and a style sheet is specified in General preferences, it will be used and override the colors below</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="338"/>
<source>Page background color</source>
<translation>Цветът на фона на страницата</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="351"/>
<source>The color of the text on the main pages</source>
<translation>Цветът на текста в главните страници</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="371"/>
<source>Background image</source>
<translation>Фоново изображение</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="378"/>
<source>Page text color</source>
<translation>Цветът на текста в страницата</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="391"/>
<source>The color of the links</source>
<translation>Цветът на препратките</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="417"/>
<source>The background color of the boxes inside the pages</source>
<translation type="unfinished">The background color of the boxes inside the pages</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="437"/>
<source>Box background color</source>
<translation type="unfinished">Box background color</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="450"/>
<source>The background color behind the panels</source>
<translation type="unfinished">The background color behind the panels</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="479"/>
<source>The down gradient for the background color (currently unsupported)</source>
<translation type="unfinished">The down gradient for the background color (currently unsupported)</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="502"/>
<source>Open links</source>
<translation type="unfinished">Open links</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="509"/>
<source>Background text color</source>
<translation>Фонов цвят на текста</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="516"/>
<source>Use FreeCAD style sheet</source>
<translation>Употреба на стила на FreeCAD</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="523"/>
<source>Font family</source>
<translation>Семейство шрифтове</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="532"/>
<source>The font family to use on the start page. Can be a font name or a comma-separated series of fallback fonts</source>
<translation>Семейството шрифтове в употреба в началната страница. Може да бъде името на шрифта или поредица разделена със запетая от резервни шрифтове</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="538"/>
<source>Arial,Helvetica,sans</source>
<translation>Arial,Helvetica,sans</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="551"/>
<source>The base font size to use for all texts of the Start page</source>
<translation>Базова големина на шрифта за употреба за всички текстове на началната страница</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="554"/>
<source>px</source>
<translation>px</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="572"/>
<source>Use gradient for New File icon</source>
<translation type="unfinished">Use gradient for New File icon</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="579"/>
<source>If this is selected, the 'New File' icon shows a gradient icon instead of the normal icon</source>
<translation type="unfinished">If this is selected, the 'New File' icon shows a gradient icon instead of the normal icon</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="601"/>
<source>Options</source>
<translation>Опции</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="607"/>
<source>Choose which workbench to switch to after the program launches</source>
<translation type="unfinished">Choose which workbench to switch to after the program launches</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="614"/>
<source>If checked, will automatically close the Start page when FreeCAD launches</source>
<translation type="unfinished">If checked, will automatically close the Start page when FreeCAD launches</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="633"/>
<source>Switch workbench after loading</source>
<translation type="unfinished">Switch workbench after loading</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="640"/>
<source>Close start page after loading</source>
<translation>Затваряне на началната страница след зареждане</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="647"/>
<source>Close and switch on opening file</source>
<translation type="unfinished">Close and switch on opening file</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="654"/>
<source>If application is started by opening a file, apply the two settings above</source>
<translation type="unfinished">If application is started by opening a file, apply the two settings above</translation>
</message>
</context>
</TS>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,498 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="fil" sourcelanguage="en">
<context>
<name>StartPage</name>
<message>
<location filename="TranslationTexts.py" line="42"/>
<source>Start</source>
<translation>Simula</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="43"/>
<source>Documents</source>
<translation>Mga Dokumento</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="44"/>
<source>Help</source>
<translation>Tulong</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="45"/>
<source>Activity</source>
<translation>Aktibidad</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="46"/>
<source>Recent files</source>
<translation>Kamakailang mga file</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="47"/>
<source>Tip</source>
<translation>Tip</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="48"/>
<source>Adjust the number of recent files to be shown here in menu Edit -&gt; Preferences -&gt; General -&gt; Size of recent file list</source>
<translation>Ayusin ang bilang ng mga kamakailang mga file na maipakita dito sa menu Edit -&gt; Kagustuhan -&gt; Pangkalahatan -&gt; Sukat ng kamakailang listahan ng file</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="49"/>
<source>Examples</source>
<translation>Mga Halimbawa</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="50"/>
<source>General documentation</source>
<translation>Pangkalahatang dokumento</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="51"/>
<source>User hub</source>
<translation>User hub</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="52"/>
<source>This section contains documentation useful for FreeCAD users in general: a list of all the workbenches, detailed instructions on how to install and use the FreeCAD application, tutorials, and all you need to get started.</source>
<translation>Ang seksyon na ito ay naglalaman ng dokumentasyon na kapaki-pakinabang para sa mga gumagamit ng FreeCAD sa pangkalahatan: isang listahan ng lahat ng mga workbenches, detalyadong mga tagubilin sa kung paano i-install at gamitin ang application ng FreeCAD, mga tutorial, at lahat ng kailangan mo upang makapagsimula.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="53"/>
<source>Power users hub</source>
<translation>Power users hub</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="54"/>
<source>This section gathers documentation for advanced users and people interested in writing python scripts. You will also find there a repository of macros, instructions on how to install and use them, and more information about customizing FreeCAD to your specific needs.</source>
<translation type="unfinished">This section gathers documentation for advanced users and people interested in writing python scripts. You will also find there a repository of macros, instructions on how to install and use them, and more information about customizing FreeCAD to your specific needs.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="55"/>
<source>Developers hub</source>
<translation type="unfinished">Developers hub</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="56"/>
<source>This section contains material for developers: How to compile FreeCAD yourself, how the FreeCAD source code is structured + how to navigate in it, how to develop new workbenches and/or embed FreeCAD in your own application.</source>
<translation type="unfinished">This section contains material for developers: How to compile FreeCAD yourself, how the FreeCAD source code is structured + how to navigate in it, how to develop new workbenches and/or embed FreeCAD in your own application.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="57"/>
<source>Manual</source>
<translation type="unfinished">Manual</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="58"/>
<source>The FreeCAD manual is another, more linear way to present the information contained in this wiki. It is made to be read like a book, and will gently introduce you to many other pages from the hubs above. &lt;a href="https://www.gitbook.com/book/yorikvanhavre/a-freecad-manual/details"&gt;e-book versions&lt;/a&gt; are also available.</source>
<translation type="unfinished">The FreeCAD manual is another, more linear way to present the information contained in this wiki. It is made to be read like a book, and will gently introduce you to many other pages from the hubs above. &lt;a href="https://www.gitbook.com/book/yorikvanhavre/a-freecad-manual/details"&gt;e-book versions&lt;/a&gt; are also available.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="59"/>
<source>Workbenches documentation</source>
<translation type="unfinished">Workbenches documentation</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="60"/>
<source>These are the help pages of all the workbenches currently installed on this computer.</source>
<translation type="unfinished">These are the help pages of all the workbenches currently installed on this computer.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="61"/>
<source>Getting help from the community</source>
<translation type="unfinished">Getting help from the community</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="62"/>
<source>The &lt;a href="https://forum.freecadweb.org"&gt;FreeCAD forum&lt;/a&gt; is a great place to get help from other FreeCAD users and developers. The forum has many sections for different types of issues and discussion subjects. If in doubt, post in the more general &lt;a href="https://forum.freecadweb.org/viewforum.php?f=3"&gt;Help on using FreeCAD&lt;/a&gt; section.</source>
<translation type="unfinished">The &lt;a href="https://forum.freecadweb.org"&gt;FreeCAD forum&lt;/a&gt; is a great place to get help from other FreeCAD users and developers. The forum has many sections for different types of issues and discussion subjects. If in doubt, post in the more general &lt;a href="https://forum.freecadweb.org/viewforum.php?f=3"&gt;Help on using FreeCAD&lt;/a&gt; section.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="63"/>
<source>If it is the first time you are posting on the forum, be sure to &lt;a href="https://forum.freecadweb.org/viewtopic.php?f=3&amp;t=2264"&gt;read the guidelines&lt;/a&gt; first!</source>
<translation type="unfinished">If it is the first time you are posting on the forum, be sure to &lt;a href="https://forum.freecadweb.org/viewtopic.php?f=3&amp;t=2264"&gt;read the guidelines&lt;/a&gt; first!</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="64"/>
<source>FreeCAD also maintains a public &lt;a href="https://www.freecadweb.org/tracker"&gt;bug tracker&lt;/a&gt; where anybody can submit bugs and propose new features. To avoid causing extra work and give the best chances to see your bug solved, make sure you read the &lt;a href="https://forum.freecadweb.org/viewtopic.php?f=3&amp;t=5236"&gt;bug submission guide&lt;/a&gt; before posting.</source>
<translation type="unfinished">FreeCAD also maintains a public &lt;a href="https://www.freecadweb.org/tracker"&gt;bug tracker&lt;/a&gt; where anybody can submit bugs and propose new features. To avoid causing extra work and give the best chances to see your bug solved, make sure you read the &lt;a href="https://forum.freecadweb.org/viewtopic.php?f=3&amp;t=5236"&gt;bug submission guide&lt;/a&gt; before posting.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="65"/>
<source>Available addons</source>
<translation type="unfinished">Available addons</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="66"/>
<source>Below is a list of available extra workbenches that can be added to your FreeCAD installation. Browse and install them from menu Tools -&gt; Addons manager. You can learn more about any of them by clicking the links below.</source>
<translation type="unfinished">Below is a list of available extra workbenches that can be added to your FreeCAD installation. Browse and install them from menu Tools -&gt; Addons manager. You can learn more about any of them by clicking the links below.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="67"/>
<source>If not bundled with your FreeCAD version, install the FreeCAD documentation package to get documentation hubs, workbench help and individual command documentation without an internet connection.</source>
<translation type="unfinished">If not bundled with your FreeCAD version, install the FreeCAD documentation package to get documentation hubs, workbench help and individual command documentation without an internet connection.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="68"/>
<source>Cannot fetch information from GitHub. &lt;a href="EnableDownload.py"&gt;Authorize FreeCAD to access the internet&lt;/a&gt; and reload the Start page.</source>
<translation type="unfinished">Cannot fetch information from GitHub. &lt;a href="EnableDownload.py"&gt;Authorize FreeCAD to access the internet&lt;/a&gt; and reload the Start page.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="69"/>
<source>Recent commits</source>
<translation type="unfinished">Recent commits</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="70"/>
<source>Below are the latest changes added to the &lt;a href="http://github.com/FreeCAD/FreeCAD/"&gt;FreeCAD source code&lt;/a&gt;. These changes might not reflect yet in the FreeCAD version that you are currently running. Check the &lt;a href="https://www.freecadweb.org/wiki/Downloads"&gt;available options&lt;/a&gt; if you wish to obtain a development version.</source>
<translation type="unfinished">Below are the latest changes added to the &lt;a href="http://github.com/FreeCAD/FreeCAD/"&gt;FreeCAD source code&lt;/a&gt;. These changes might not reflect yet in the FreeCAD version that you are currently running. Check the &lt;a href="https://www.freecadweb.org/wiki/Downloads"&gt;available options&lt;/a&gt; if you wish to obtain a development version.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="71"/>
<source>See all commits on github</source>
<translation type="unfinished">See all commits on github</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="72"/>
<source>You can configure a custom folder to display here in menu Edit -&gt; Preferences -&gt; Start -&gt; Show additional folder</source>
<translation type="unfinished">You can configure a custom folder to display here in menu Edit -&gt; Preferences -&gt; Start -&gt; Show additional folder</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="73"/>
<source>version</source>
<translation type="unfinished">version</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="74"/>
<source>build</source>
<translation type="unfinished">build</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="75"/>
<source>Create new...</source>
<translation type="unfinished">Create new...</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="76"/>
<source>Unknown</source>
<translation type="unfinished">Unknown</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="77"/>
<source>Forum</source>
<translation>Forum</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="78"/>
<source>The latest posts on the &lt;a href="https://forum.freecadweb.org"&gt;FreeCAD forum&lt;/a&gt;:</source>
<translation type="unfinished">The latest posts on the &lt;a href="https://forum.freecadweb.org"&gt;FreeCAD forum&lt;/a&gt;:</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="79"/>
<source>To open any of the links above in your desktop browser, Right-click -&gt; Open in external browser</source>
<translation type="unfinished">To open any of the links above in your desktop browser, Right-click -&gt; Open in external browser</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="80"/>
<source>Creation date</source>
<translation type="unfinished">Creation date</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="81"/>
<source>Last modification</source>
<translation type="unfinished">Last modification</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="82"/>
<source>Notes</source>
<translation type="unfinished">Notes</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="83"/>
<source>Open start page preferences</source>
<translation type="unfinished">Open start page preferences</translation>
</message>
</context>
<context>
<name>Workbench</name>
<message>
<location filename="../../Workbench.cpp" line="75"/>
<source>Start page</source>
<translation type="unfinished">Start page</translation>
</message>
</context>
<context>
<name>CmdStartPage</name>
<message>
<location filename="../../Command.cpp" line="45"/>
<source>Start</source>
<translation>Simula</translation>
</message>
<message>
<location filename="../../Command.cpp" line="46"/>
<source>Start Page</source>
<translation type="unfinished">Start Page</translation>
</message>
<message>
<location filename="../../Command.cpp" line="47"/>
<source>Displays the start page in a browser view</source>
<translation type="unfinished">Displays the start page in a browser view</translation>
</message>
</context>
<context>
<name>DlgStartPreferences</name>
<message>
<location filename="../../DlgStartPreferences.ui" line="14"/>
<source>Start page options</source>
<translation type="unfinished">Start page options</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="20"/>
<source>Start page template</source>
<translation type="unfinished">Start page template</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="26"/>
<source>An optional HTML template that will be used instead of the default start page.</source>
<translation type="unfinished">An optional HTML template that will be used instead of the default start page.</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="42"/>
<source>Contents</source>
<translation type="unfinished">Contents</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="48"/>
<source>Show forum</source>
<translation type="unfinished">Show forum</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="55"/>
<source>Show examples folder contents</source>
<translation type="unfinished">Show examples folder contents</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="62"/>
<source>Show additional folder</source>
<translation type="unfinished">Show additional folder</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="69"/>
<source>If you want the examples to show on the first page</source>
<translation type="unfinished">If you want the examples to show on the first page</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="91"/>
<source>If this is checked, the latest posts from the FreeCAD forum will be displayed on the Activity tab</source>
<translation type="unfinished">If this is checked, the latest posts from the FreeCAD forum will be displayed on the Activity tab</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="110"/>
<source>An optional custom folder to be displayed at the bottom of the first page.
By using ";;" to separate paths, you can add several folders here</source>
<translation type="unfinished">An optional custom folder to be displayed at the bottom of the first page.
By using ";;" to separate paths, you can add several folders here</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="127"/>
<source>Show notepad</source>
<translation type="unfinished">Show notepad</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="134"/>
<source>Shows a notepad next to the file thumbnails, where you can keep notes across sessions</source>
<translation type="unfinished">Shows a notepad next to the file thumbnails, where you can keep notes across sessions</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="153"/>
<source>Show tips</source>
<translation type="unfinished">Show tips</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="163"/>
<source>Displays help tips in the Start workbench Documents tab</source>
<translation type="unfinished">Displays help tips in the Start workbench Documents tab</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="185"/>
<source>Fonts and colors</source>
<translation type="unfinished">Fonts and colors</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="197"/>
<source>The background of the main start page area</source>
<translation type="unfinished">The background of the main start page area</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="217"/>
<source>Background color</source>
<translation>Kulay ng Background</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="229"/>
<source>in FreeCAD</source>
<translation type="unfinished">in FreeCAD</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="248"/>
<source>In external browser</source>
<translation type="unfinished">In external browser</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="266"/>
<source>Background color down gradient</source>
<translation type="unfinished">Background color down gradient</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="279"/>
<source>The color of the version text</source>
<translation type="unfinished">The color of the version text</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="299"/>
<source>Link color</source>
<translation type="unfinished">Link color</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="306"/>
<source>An optional image to display as background</source>
<translation type="unfinished">An optional image to display as background</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="319"/>
<source>If this is checked and a style sheet is specified in General preferences, it will be used and override the colors below</source>
<translation type="unfinished">If this is checked and a style sheet is specified in General preferences, it will be used and override the colors below</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="338"/>
<source>Page background color</source>
<translation type="unfinished">Page background color</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="351"/>
<source>The color of the text on the main pages</source>
<translation type="unfinished">The color of the text on the main pages</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="371"/>
<source>Background image</source>
<translation type="unfinished">Background image</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="378"/>
<source>Page text color</source>
<translation type="unfinished">Page text color</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="391"/>
<source>The color of the links</source>
<translation type="unfinished">The color of the links</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="417"/>
<source>The background color of the boxes inside the pages</source>
<translation type="unfinished">The background color of the boxes inside the pages</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="437"/>
<source>Box background color</source>
<translation type="unfinished">Box background color</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="450"/>
<source>The background color behind the panels</source>
<translation type="unfinished">The background color behind the panels</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="479"/>
<source>The down gradient for the background color (currently unsupported)</source>
<translation type="unfinished">The down gradient for the background color (currently unsupported)</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="502"/>
<source>Open links</source>
<translation type="unfinished">Open links</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="509"/>
<source>Background text color</source>
<translation type="unfinished">Background text color</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="516"/>
<source>Use FreeCAD style sheet</source>
<translation type="unfinished">Use FreeCAD style sheet</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="523"/>
<source>Font family</source>
<translation>Harapan ng pamilya</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="532"/>
<source>The font family to use on the start page. Can be a font name or a comma-separated series of fallback fonts</source>
<translation type="unfinished">The font family to use on the start page. Can be a font name or a comma-separated series of fallback fonts</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="538"/>
<source>Arial,Helvetica,sans</source>
<translation type="unfinished">Arial,Helvetica,sans</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="551"/>
<source>The base font size to use for all texts of the Start page</source>
<translation type="unfinished">The base font size to use for all texts of the Start page</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="554"/>
<source>px</source>
<translation>px</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="572"/>
<source>Use gradient for New File icon</source>
<translation type="unfinished">Use gradient for New File icon</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="579"/>
<source>If this is selected, the 'New File' icon shows a gradient icon instead of the normal icon</source>
<translation type="unfinished">If this is selected, the 'New File' icon shows a gradient icon instead of the normal icon</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="601"/>
<source>Options</source>
<translation>Mga Pagpipilian</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="607"/>
<source>Choose which workbench to switch to after the program launches</source>
<translation type="unfinished">Choose which workbench to switch to after the program launches</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="614"/>
<source>If checked, will automatically close the Start page when FreeCAD launches</source>
<translation type="unfinished">If checked, will automatically close the Start page when FreeCAD launches</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="633"/>
<source>Switch workbench after loading</source>
<translation type="unfinished">Switch workbench after loading</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="640"/>
<source>Close start page after loading</source>
<translation type="unfinished">Close start page after loading</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="647"/>
<source>Close and switch on opening file</source>
<translation type="unfinished">Close and switch on opening file</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="654"/>
<source>If application is started by opening a file, apply the two settings above</source>
<translation type="unfinished">If application is started by opening a file, apply the two settings above</translation>
</message>
</context>
</TS>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,498 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="kab" sourcelanguage="en">
<context>
<name>StartPage</name>
<message>
<location filename="TranslationTexts.py" line="42"/>
<source>Start</source>
<translation type="unfinished">Start</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="43"/>
<source>Documents</source>
<translation type="unfinished">Documents</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="44"/>
<source>Help</source>
<translation type="unfinished">Help</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="45"/>
<source>Activity</source>
<translation type="unfinished">Activity</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="46"/>
<source>Recent files</source>
<translation>Fichiers récents</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="47"/>
<source>Tip</source>
<translation type="unfinished">Tip</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="48"/>
<source>Adjust the number of recent files to be shown here in menu Edit -&gt; Preferences -&gt; General -&gt; Size of recent file list</source>
<translation type="unfinished">Adjust the number of recent files to be shown here in menu Edit -&gt; Preferences -&gt; General -&gt; Size of recent file list</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="49"/>
<source>Examples</source>
<translation type="unfinished">Examples</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="50"/>
<source>General documentation</source>
<translation type="unfinished">General documentation</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="51"/>
<source>User hub</source>
<translation type="unfinished">User hub</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="52"/>
<source>This section contains documentation useful for FreeCAD users in general: a list of all the workbenches, detailed instructions on how to install and use the FreeCAD application, tutorials, and all you need to get started.</source>
<translation type="unfinished">This section contains documentation useful for FreeCAD users in general: a list of all the workbenches, detailed instructions on how to install and use the FreeCAD application, tutorials, and all you need to get started.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="53"/>
<source>Power users hub</source>
<translation type="unfinished">Power users hub</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="54"/>
<source>This section gathers documentation for advanced users and people interested in writing python scripts. You will also find there a repository of macros, instructions on how to install and use them, and more information about customizing FreeCAD to your specific needs.</source>
<translation type="unfinished">This section gathers documentation for advanced users and people interested in writing python scripts. You will also find there a repository of macros, instructions on how to install and use them, and more information about customizing FreeCAD to your specific needs.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="55"/>
<source>Developers hub</source>
<translation type="unfinished">Developers hub</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="56"/>
<source>This section contains material for developers: How to compile FreeCAD yourself, how the FreeCAD source code is structured + how to navigate in it, how to develop new workbenches and/or embed FreeCAD in your own application.</source>
<translation type="unfinished">This section contains material for developers: How to compile FreeCAD yourself, how the FreeCAD source code is structured + how to navigate in it, how to develop new workbenches and/or embed FreeCAD in your own application.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="57"/>
<source>Manual</source>
<translation type="unfinished">Manual</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="58"/>
<source>The FreeCAD manual is another, more linear way to present the information contained in this wiki. It is made to be read like a book, and will gently introduce you to many other pages from the hubs above. &lt;a href="https://www.gitbook.com/book/yorikvanhavre/a-freecad-manual/details"&gt;e-book versions&lt;/a&gt; are also available.</source>
<translation type="unfinished">The FreeCAD manual is another, more linear way to present the information contained in this wiki. It is made to be read like a book, and will gently introduce you to many other pages from the hubs above. &lt;a href="https://www.gitbook.com/book/yorikvanhavre/a-freecad-manual/details"&gt;e-book versions&lt;/a&gt; are also available.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="59"/>
<source>Workbenches documentation</source>
<translation type="unfinished">Workbenches documentation</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="60"/>
<source>These are the help pages of all the workbenches currently installed on this computer.</source>
<translation type="unfinished">These are the help pages of all the workbenches currently installed on this computer.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="61"/>
<source>Getting help from the community</source>
<translation type="unfinished">Getting help from the community</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="62"/>
<source>The &lt;a href="https://forum.freecadweb.org"&gt;FreeCAD forum&lt;/a&gt; is a great place to get help from other FreeCAD users and developers. The forum has many sections for different types of issues and discussion subjects. If in doubt, post in the more general &lt;a href="https://forum.freecadweb.org/viewforum.php?f=3"&gt;Help on using FreeCAD&lt;/a&gt; section.</source>
<translation type="unfinished">The &lt;a href="https://forum.freecadweb.org"&gt;FreeCAD forum&lt;/a&gt; is a great place to get help from other FreeCAD users and developers. The forum has many sections for different types of issues and discussion subjects. If in doubt, post in the more general &lt;a href="https://forum.freecadweb.org/viewforum.php?f=3"&gt;Help on using FreeCAD&lt;/a&gt; section.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="63"/>
<source>If it is the first time you are posting on the forum, be sure to &lt;a href="https://forum.freecadweb.org/viewtopic.php?f=3&amp;t=2264"&gt;read the guidelines&lt;/a&gt; first!</source>
<translation type="unfinished">If it is the first time you are posting on the forum, be sure to &lt;a href="https://forum.freecadweb.org/viewtopic.php?f=3&amp;t=2264"&gt;read the guidelines&lt;/a&gt; first!</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="64"/>
<source>FreeCAD also maintains a public &lt;a href="https://www.freecadweb.org/tracker"&gt;bug tracker&lt;/a&gt; where anybody can submit bugs and propose new features. To avoid causing extra work and give the best chances to see your bug solved, make sure you read the &lt;a href="https://forum.freecadweb.org/viewtopic.php?f=3&amp;t=5236"&gt;bug submission guide&lt;/a&gt; before posting.</source>
<translation type="unfinished">FreeCAD also maintains a public &lt;a href="https://www.freecadweb.org/tracker"&gt;bug tracker&lt;/a&gt; where anybody can submit bugs and propose new features. To avoid causing extra work and give the best chances to see your bug solved, make sure you read the &lt;a href="https://forum.freecadweb.org/viewtopic.php?f=3&amp;t=5236"&gt;bug submission guide&lt;/a&gt; before posting.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="65"/>
<source>Available addons</source>
<translation type="unfinished">Available addons</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="66"/>
<source>Below is a list of available extra workbenches that can be added to your FreeCAD installation. Browse and install them from menu Tools -&gt; Addons manager. You can learn more about any of them by clicking the links below.</source>
<translation type="unfinished">Below is a list of available extra workbenches that can be added to your FreeCAD installation. Browse and install them from menu Tools -&gt; Addons manager. You can learn more about any of them by clicking the links below.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="67"/>
<source>If not bundled with your FreeCAD version, install the FreeCAD documentation package to get documentation hubs, workbench help and individual command documentation without an internet connection.</source>
<translation type="unfinished">If not bundled with your FreeCAD version, install the FreeCAD documentation package to get documentation hubs, workbench help and individual command documentation without an internet connection.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="68"/>
<source>Cannot fetch information from GitHub. &lt;a href="EnableDownload.py"&gt;Authorize FreeCAD to access the internet&lt;/a&gt; and reload the Start page.</source>
<translation type="unfinished">Cannot fetch information from GitHub. &lt;a href="EnableDownload.py"&gt;Authorize FreeCAD to access the internet&lt;/a&gt; and reload the Start page.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="69"/>
<source>Recent commits</source>
<translation type="unfinished">Recent commits</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="70"/>
<source>Below are the latest changes added to the &lt;a href="http://github.com/FreeCAD/FreeCAD/"&gt;FreeCAD source code&lt;/a&gt;. These changes might not reflect yet in the FreeCAD version that you are currently running. Check the &lt;a href="https://www.freecadweb.org/wiki/Downloads"&gt;available options&lt;/a&gt; if you wish to obtain a development version.</source>
<translation type="unfinished">Below are the latest changes added to the &lt;a href="http://github.com/FreeCAD/FreeCAD/"&gt;FreeCAD source code&lt;/a&gt;. These changes might not reflect yet in the FreeCAD version that you are currently running. Check the &lt;a href="https://www.freecadweb.org/wiki/Downloads"&gt;available options&lt;/a&gt; if you wish to obtain a development version.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="71"/>
<source>See all commits on github</source>
<translation type="unfinished">See all commits on github</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="72"/>
<source>You can configure a custom folder to display here in menu Edit -&gt; Preferences -&gt; Start -&gt; Show additional folder</source>
<translation type="unfinished">You can configure a custom folder to display here in menu Edit -&gt; Preferences -&gt; Start -&gt; Show additional folder</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="73"/>
<source>version</source>
<translation type="unfinished">version</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="74"/>
<source>build</source>
<translation type="unfinished">build</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="75"/>
<source>Create new...</source>
<translation type="unfinished">Create new...</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="76"/>
<source>Unknown</source>
<translation type="unfinished">Unknown</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="77"/>
<source>Forum</source>
<translation>Anmager</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="78"/>
<source>The latest posts on the &lt;a href="https://forum.freecadweb.org"&gt;FreeCAD forum&lt;/a&gt;:</source>
<translation type="unfinished">The latest posts on the &lt;a href="https://forum.freecadweb.org"&gt;FreeCAD forum&lt;/a&gt;:</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="79"/>
<source>To open any of the links above in your desktop browser, Right-click -&gt; Open in external browser</source>
<translation type="unfinished">To open any of the links above in your desktop browser, Right-click -&gt; Open in external browser</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="80"/>
<source>Creation date</source>
<translation type="unfinished">Creation date</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="81"/>
<source>Last modification</source>
<translation type="unfinished">Last modification</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="82"/>
<source>Notes</source>
<translation type="unfinished">Notes</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="83"/>
<source>Open start page preferences</source>
<translation type="unfinished">Open start page preferences</translation>
</message>
</context>
<context>
<name>Workbench</name>
<message>
<location filename="../../Workbench.cpp" line="75"/>
<source>Start page</source>
<translation type="unfinished">Start page</translation>
</message>
</context>
<context>
<name>CmdStartPage</name>
<message>
<location filename="../../Command.cpp" line="45"/>
<source>Start</source>
<translation type="unfinished">Start</translation>
</message>
<message>
<location filename="../../Command.cpp" line="46"/>
<source>Start Page</source>
<translation type="unfinished">Start Page</translation>
</message>
<message>
<location filename="../../Command.cpp" line="47"/>
<source>Displays the start page in a browser view</source>
<translation type="unfinished">Displays the start page in a browser view</translation>
</message>
</context>
<context>
<name>DlgStartPreferences</name>
<message>
<location filename="../../DlgStartPreferences.ui" line="14"/>
<source>Start page options</source>
<translation type="unfinished">Start page options</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="20"/>
<source>Start page template</source>
<translation type="unfinished">Start page template</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="26"/>
<source>An optional HTML template that will be used instead of the default start page.</source>
<translation type="unfinished">An optional HTML template that will be used instead of the default start page.</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="42"/>
<source>Contents</source>
<translation type="unfinished">Contents</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="48"/>
<source>Show forum</source>
<translation type="unfinished">Show forum</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="55"/>
<source>Show examples folder contents</source>
<translation type="unfinished">Show examples folder contents</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="62"/>
<source>Show additional folder</source>
<translation type="unfinished">Show additional folder</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="69"/>
<source>If you want the examples to show on the first page</source>
<translation type="unfinished">If you want the examples to show on the first page</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="91"/>
<source>If this is checked, the latest posts from the FreeCAD forum will be displayed on the Activity tab</source>
<translation type="unfinished">If this is checked, the latest posts from the FreeCAD forum will be displayed on the Activity tab</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="110"/>
<source>An optional custom folder to be displayed at the bottom of the first page.
By using ";;" to separate paths, you can add several folders here</source>
<translation type="unfinished">An optional custom folder to be displayed at the bottom of the first page.
By using ";;" to separate paths, you can add several folders here</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="127"/>
<source>Show notepad</source>
<translation type="unfinished">Show notepad</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="134"/>
<source>Shows a notepad next to the file thumbnails, where you can keep notes across sessions</source>
<translation type="unfinished">Shows a notepad next to the file thumbnails, where you can keep notes across sessions</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="153"/>
<source>Show tips</source>
<translation type="unfinished">Show tips</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="163"/>
<source>Displays help tips in the Start workbench Documents tab</source>
<translation type="unfinished">Displays help tips in the Start workbench Documents tab</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="185"/>
<source>Fonts and colors</source>
<translation type="unfinished">Fonts and colors</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="197"/>
<source>The background of the main start page area</source>
<translation type="unfinished">The background of the main start page area</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="217"/>
<source>Background color</source>
<translation>Couleur d'arrière-plan</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="229"/>
<source>in FreeCAD</source>
<translation type="unfinished">in FreeCAD</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="248"/>
<source>In external browser</source>
<translation type="unfinished">In external browser</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="266"/>
<source>Background color down gradient</source>
<translation type="unfinished">Background color down gradient</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="279"/>
<source>The color of the version text</source>
<translation type="unfinished">The color of the version text</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="299"/>
<source>Link color</source>
<translation type="unfinished">Link color</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="306"/>
<source>An optional image to display as background</source>
<translation type="unfinished">An optional image to display as background</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="319"/>
<source>If this is checked and a style sheet is specified in General preferences, it will be used and override the colors below</source>
<translation type="unfinished">If this is checked and a style sheet is specified in General preferences, it will be used and override the colors below</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="338"/>
<source>Page background color</source>
<translation type="unfinished">Page background color</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="351"/>
<source>The color of the text on the main pages</source>
<translation type="unfinished">The color of the text on the main pages</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="371"/>
<source>Background image</source>
<translation type="unfinished">Background image</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="378"/>
<source>Page text color</source>
<translation type="unfinished">Page text color</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="391"/>
<source>The color of the links</source>
<translation type="unfinished">The color of the links</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="417"/>
<source>The background color of the boxes inside the pages</source>
<translation type="unfinished">The background color of the boxes inside the pages</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="437"/>
<source>Box background color</source>
<translation type="unfinished">Box background color</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="450"/>
<source>The background color behind the panels</source>
<translation type="unfinished">The background color behind the panels</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="479"/>
<source>The down gradient for the background color (currently unsupported)</source>
<translation type="unfinished">The down gradient for the background color (currently unsupported)</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="502"/>
<source>Open links</source>
<translation type="unfinished">Open links</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="509"/>
<source>Background text color</source>
<translation type="unfinished">Background text color</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="516"/>
<source>Use FreeCAD style sheet</source>
<translation type="unfinished">Use FreeCAD style sheet</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="523"/>
<source>Font family</source>
<translation>Famille de polices</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="532"/>
<source>The font family to use on the start page. Can be a font name or a comma-separated series of fallback fonts</source>
<translation type="unfinished">The font family to use on the start page. Can be a font name or a comma-separated series of fallback fonts</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="538"/>
<source>Arial,Helvetica,sans</source>
<translation type="unfinished">Arial,Helvetica,sans</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="551"/>
<source>The base font size to use for all texts of the Start page</source>
<translation type="unfinished">The base font size to use for all texts of the Start page</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="554"/>
<source>px</source>
<translation type="unfinished">px</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="572"/>
<source>Use gradient for New File icon</source>
<translation type="unfinished">Use gradient for New File icon</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="579"/>
<source>If this is selected, the 'New File' icon shows a gradient icon instead of the normal icon</source>
<translation type="unfinished">If this is selected, the 'New File' icon shows a gradient icon instead of the normal icon</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="601"/>
<source>Options</source>
<translation>Iɣewwaṛen</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="607"/>
<source>Choose which workbench to switch to after the program launches</source>
<translation type="unfinished">Choose which workbench to switch to after the program launches</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="614"/>
<source>If checked, will automatically close the Start page when FreeCAD launches</source>
<translation type="unfinished">If checked, will automatically close the Start page when FreeCAD launches</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="633"/>
<source>Switch workbench after loading</source>
<translation type="unfinished">Switch workbench after loading</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="640"/>
<source>Close start page after loading</source>
<translation type="unfinished">Close start page after loading</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="647"/>
<source>Close and switch on opening file</source>
<translation type="unfinished">Close and switch on opening file</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="654"/>
<source>If application is started by opening a file, apply the two settings above</source>
<translation type="unfinished">If application is started by opening a file, apply the two settings above</translation>
</message>
</context>
</TS>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,498 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="no" sourcelanguage="en">
<context>
<name>StartPage</name>
<message>
<location filename="TranslationTexts.py" line="42"/>
<source>Start</source>
<translation type="unfinished">Start</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="43"/>
<source>Documents</source>
<translation type="unfinished">Documents</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="44"/>
<source>Help</source>
<translation>Hjelp</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="45"/>
<source>Activity</source>
<translation type="unfinished">Activity</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="46"/>
<source>Recent files</source>
<translation>Nylig brukte filer</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="47"/>
<source>Tip</source>
<translation type="unfinished">Tip</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="48"/>
<source>Adjust the number of recent files to be shown here in menu Edit -&gt; Preferences -&gt; General -&gt; Size of recent file list</source>
<translation type="unfinished">Adjust the number of recent files to be shown here in menu Edit -&gt; Preferences -&gt; General -&gt; Size of recent file list</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="49"/>
<source>Examples</source>
<translation type="unfinished">Examples</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="50"/>
<source>General documentation</source>
<translation type="unfinished">General documentation</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="51"/>
<source>User hub</source>
<translation type="unfinished">User hub</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="52"/>
<source>This section contains documentation useful for FreeCAD users in general: a list of all the workbenches, detailed instructions on how to install and use the FreeCAD application, tutorials, and all you need to get started.</source>
<translation type="unfinished">This section contains documentation useful for FreeCAD users in general: a list of all the workbenches, detailed instructions on how to install and use the FreeCAD application, tutorials, and all you need to get started.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="53"/>
<source>Power users hub</source>
<translation type="unfinished">Power users hub</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="54"/>
<source>This section gathers documentation for advanced users and people interested in writing python scripts. You will also find there a repository of macros, instructions on how to install and use them, and more information about customizing FreeCAD to your specific needs.</source>
<translation type="unfinished">This section gathers documentation for advanced users and people interested in writing python scripts. You will also find there a repository of macros, instructions on how to install and use them, and more information about customizing FreeCAD to your specific needs.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="55"/>
<source>Developers hub</source>
<translation type="unfinished">Developers hub</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="56"/>
<source>This section contains material for developers: How to compile FreeCAD yourself, how the FreeCAD source code is structured + how to navigate in it, how to develop new workbenches and/or embed FreeCAD in your own application.</source>
<translation type="unfinished">This section contains material for developers: How to compile FreeCAD yourself, how the FreeCAD source code is structured + how to navigate in it, how to develop new workbenches and/or embed FreeCAD in your own application.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="57"/>
<source>Manual</source>
<translation type="unfinished">Manual</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="58"/>
<source>The FreeCAD manual is another, more linear way to present the information contained in this wiki. It is made to be read like a book, and will gently introduce you to many other pages from the hubs above. &lt;a href="https://www.gitbook.com/book/yorikvanhavre/a-freecad-manual/details"&gt;e-book versions&lt;/a&gt; are also available.</source>
<translation type="unfinished">The FreeCAD manual is another, more linear way to present the information contained in this wiki. It is made to be read like a book, and will gently introduce you to many other pages from the hubs above. &lt;a href="https://www.gitbook.com/book/yorikvanhavre/a-freecad-manual/details"&gt;e-book versions&lt;/a&gt; are also available.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="59"/>
<source>Workbenches documentation</source>
<translation type="unfinished">Workbenches documentation</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="60"/>
<source>These are the help pages of all the workbenches currently installed on this computer.</source>
<translation type="unfinished">These are the help pages of all the workbenches currently installed on this computer.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="61"/>
<source>Getting help from the community</source>
<translation type="unfinished">Getting help from the community</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="62"/>
<source>The &lt;a href="https://forum.freecadweb.org"&gt;FreeCAD forum&lt;/a&gt; is a great place to get help from other FreeCAD users and developers. The forum has many sections for different types of issues and discussion subjects. If in doubt, post in the more general &lt;a href="https://forum.freecadweb.org/viewforum.php?f=3"&gt;Help on using FreeCAD&lt;/a&gt; section.</source>
<translation type="unfinished">The &lt;a href="https://forum.freecadweb.org"&gt;FreeCAD forum&lt;/a&gt; is a great place to get help from other FreeCAD users and developers. The forum has many sections for different types of issues and discussion subjects. If in doubt, post in the more general &lt;a href="https://forum.freecadweb.org/viewforum.php?f=3"&gt;Help on using FreeCAD&lt;/a&gt; section.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="63"/>
<source>If it is the first time you are posting on the forum, be sure to &lt;a href="https://forum.freecadweb.org/viewtopic.php?f=3&amp;t=2264"&gt;read the guidelines&lt;/a&gt; first!</source>
<translation type="unfinished">If it is the first time you are posting on the forum, be sure to &lt;a href="https://forum.freecadweb.org/viewtopic.php?f=3&amp;t=2264"&gt;read the guidelines&lt;/a&gt; first!</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="64"/>
<source>FreeCAD also maintains a public &lt;a href="https://www.freecadweb.org/tracker"&gt;bug tracker&lt;/a&gt; where anybody can submit bugs and propose new features. To avoid causing extra work and give the best chances to see your bug solved, make sure you read the &lt;a href="https://forum.freecadweb.org/viewtopic.php?f=3&amp;t=5236"&gt;bug submission guide&lt;/a&gt; before posting.</source>
<translation type="unfinished">FreeCAD also maintains a public &lt;a href="https://www.freecadweb.org/tracker"&gt;bug tracker&lt;/a&gt; where anybody can submit bugs and propose new features. To avoid causing extra work and give the best chances to see your bug solved, make sure you read the &lt;a href="https://forum.freecadweb.org/viewtopic.php?f=3&amp;t=5236"&gt;bug submission guide&lt;/a&gt; before posting.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="65"/>
<source>Available addons</source>
<translation type="unfinished">Available addons</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="66"/>
<source>Below is a list of available extra workbenches that can be added to your FreeCAD installation. Browse and install them from menu Tools -&gt; Addons manager. You can learn more about any of them by clicking the links below.</source>
<translation type="unfinished">Below is a list of available extra workbenches that can be added to your FreeCAD installation. Browse and install them from menu Tools -&gt; Addons manager. You can learn more about any of them by clicking the links below.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="67"/>
<source>If not bundled with your FreeCAD version, install the FreeCAD documentation package to get documentation hubs, workbench help and individual command documentation without an internet connection.</source>
<translation type="unfinished">If not bundled with your FreeCAD version, install the FreeCAD documentation package to get documentation hubs, workbench help and individual command documentation without an internet connection.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="68"/>
<source>Cannot fetch information from GitHub. &lt;a href="EnableDownload.py"&gt;Authorize FreeCAD to access the internet&lt;/a&gt; and reload the Start page.</source>
<translation type="unfinished">Cannot fetch information from GitHub. &lt;a href="EnableDownload.py"&gt;Authorize FreeCAD to access the internet&lt;/a&gt; and reload the Start page.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="69"/>
<source>Recent commits</source>
<translation type="unfinished">Recent commits</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="70"/>
<source>Below are the latest changes added to the &lt;a href="http://github.com/FreeCAD/FreeCAD/"&gt;FreeCAD source code&lt;/a&gt;. These changes might not reflect yet in the FreeCAD version that you are currently running. Check the &lt;a href="https://www.freecadweb.org/wiki/Downloads"&gt;available options&lt;/a&gt; if you wish to obtain a development version.</source>
<translation type="unfinished">Below are the latest changes added to the &lt;a href="http://github.com/FreeCAD/FreeCAD/"&gt;FreeCAD source code&lt;/a&gt;. These changes might not reflect yet in the FreeCAD version that you are currently running. Check the &lt;a href="https://www.freecadweb.org/wiki/Downloads"&gt;available options&lt;/a&gt; if you wish to obtain a development version.</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="71"/>
<source>See all commits on github</source>
<translation type="unfinished">See all commits on github</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="72"/>
<source>You can configure a custom folder to display here in menu Edit -&gt; Preferences -&gt; Start -&gt; Show additional folder</source>
<translation type="unfinished">You can configure a custom folder to display here in menu Edit -&gt; Preferences -&gt; Start -&gt; Show additional folder</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="73"/>
<source>version</source>
<translation type="unfinished">version</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="74"/>
<source>build</source>
<translation type="unfinished">build</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="75"/>
<source>Create new...</source>
<translation type="unfinished">Create new...</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="76"/>
<source>Unknown</source>
<translation type="unfinished">Unknown</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="77"/>
<source>Forum</source>
<translation>Forum</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="78"/>
<source>The latest posts on the &lt;a href="https://forum.freecadweb.org"&gt;FreeCAD forum&lt;/a&gt;:</source>
<translation type="unfinished">The latest posts on the &lt;a href="https://forum.freecadweb.org"&gt;FreeCAD forum&lt;/a&gt;:</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="79"/>
<source>To open any of the links above in your desktop browser, Right-click -&gt; Open in external browser</source>
<translation type="unfinished">To open any of the links above in your desktop browser, Right-click -&gt; Open in external browser</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="80"/>
<source>Creation date</source>
<translation type="unfinished">Creation date</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="81"/>
<source>Last modification</source>
<translation type="unfinished">Last modification</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="82"/>
<source>Notes</source>
<translation type="unfinished">Notes</translation>
</message>
<message>
<location filename="TranslationTexts.py" line="83"/>
<source>Open start page preferences</source>
<translation type="unfinished">Open start page preferences</translation>
</message>
</context>
<context>
<name>Workbench</name>
<message>
<location filename="../../Workbench.cpp" line="75"/>
<source>Start page</source>
<translation type="unfinished">Start page</translation>
</message>
</context>
<context>
<name>CmdStartPage</name>
<message>
<location filename="../../Command.cpp" line="45"/>
<source>Start</source>
<translation type="unfinished">Start</translation>
</message>
<message>
<location filename="../../Command.cpp" line="46"/>
<source>Start Page</source>
<translation type="unfinished">Start Page</translation>
</message>
<message>
<location filename="../../Command.cpp" line="47"/>
<source>Displays the start page in a browser view</source>
<translation type="unfinished">Displays the start page in a browser view</translation>
</message>
</context>
<context>
<name>DlgStartPreferences</name>
<message>
<location filename="../../DlgStartPreferences.ui" line="14"/>
<source>Start page options</source>
<translation type="unfinished">Start page options</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="20"/>
<source>Start page template</source>
<translation type="unfinished">Start page template</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="26"/>
<source>An optional HTML template that will be used instead of the default start page.</source>
<translation type="unfinished">An optional HTML template that will be used instead of the default start page.</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="42"/>
<source>Contents</source>
<translation type="unfinished">Contents</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="48"/>
<source>Show forum</source>
<translation type="unfinished">Show forum</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="55"/>
<source>Show examples folder contents</source>
<translation type="unfinished">Show examples folder contents</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="62"/>
<source>Show additional folder</source>
<translation type="unfinished">Show additional folder</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="69"/>
<source>If you want the examples to show on the first page</source>
<translation type="unfinished">If you want the examples to show on the first page</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="91"/>
<source>If this is checked, the latest posts from the FreeCAD forum will be displayed on the Activity tab</source>
<translation type="unfinished">If this is checked, the latest posts from the FreeCAD forum will be displayed on the Activity tab</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="110"/>
<source>An optional custom folder to be displayed at the bottom of the first page.
By using ";;" to separate paths, you can add several folders here</source>
<translation type="unfinished">An optional custom folder to be displayed at the bottom of the first page.
By using ";;" to separate paths, you can add several folders here</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="127"/>
<source>Show notepad</source>
<translation type="unfinished">Show notepad</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="134"/>
<source>Shows a notepad next to the file thumbnails, where you can keep notes across sessions</source>
<translation type="unfinished">Shows a notepad next to the file thumbnails, where you can keep notes across sessions</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="153"/>
<source>Show tips</source>
<translation type="unfinished">Show tips</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="163"/>
<source>Displays help tips in the Start workbench Documents tab</source>
<translation type="unfinished">Displays help tips in the Start workbench Documents tab</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="185"/>
<source>Fonts and colors</source>
<translation type="unfinished">Fonts and colors</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="197"/>
<source>The background of the main start page area</source>
<translation type="unfinished">The background of the main start page area</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="217"/>
<source>Background color</source>
<translation>Bakgrunnsfarge</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="229"/>
<source>in FreeCAD</source>
<translation type="unfinished">in FreeCAD</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="248"/>
<source>In external browser</source>
<translation type="unfinished">In external browser</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="266"/>
<source>Background color down gradient</source>
<translation type="unfinished">Background color down gradient</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="279"/>
<source>The color of the version text</source>
<translation type="unfinished">The color of the version text</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="299"/>
<source>Link color</source>
<translation type="unfinished">Link color</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="306"/>
<source>An optional image to display as background</source>
<translation type="unfinished">An optional image to display as background</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="319"/>
<source>If this is checked and a style sheet is specified in General preferences, it will be used and override the colors below</source>
<translation type="unfinished">If this is checked and a style sheet is specified in General preferences, it will be used and override the colors below</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="338"/>
<source>Page background color</source>
<translation type="unfinished">Page background color</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="351"/>
<source>The color of the text on the main pages</source>
<translation type="unfinished">The color of the text on the main pages</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="371"/>
<source>Background image</source>
<translation type="unfinished">Background image</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="378"/>
<source>Page text color</source>
<translation type="unfinished">Page text color</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="391"/>
<source>The color of the links</source>
<translation type="unfinished">The color of the links</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="417"/>
<source>The background color of the boxes inside the pages</source>
<translation type="unfinished">The background color of the boxes inside the pages</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="437"/>
<source>Box background color</source>
<translation type="unfinished">Box background color</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="450"/>
<source>The background color behind the panels</source>
<translation type="unfinished">The background color behind the panels</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="479"/>
<source>The down gradient for the background color (currently unsupported)</source>
<translation type="unfinished">The down gradient for the background color (currently unsupported)</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="502"/>
<source>Open links</source>
<translation type="unfinished">Open links</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="509"/>
<source>Background text color</source>
<translation type="unfinished">Background text color</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="516"/>
<source>Use FreeCAD style sheet</source>
<translation type="unfinished">Use FreeCAD style sheet</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="523"/>
<source>Font family</source>
<translation>Skrift familie</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="532"/>
<source>The font family to use on the start page. Can be a font name or a comma-separated series of fallback fonts</source>
<translation type="unfinished">The font family to use on the start page. Can be a font name or a comma-separated series of fallback fonts</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="538"/>
<source>Arial,Helvetica,sans</source>
<translation type="unfinished">Arial,Helvetica,sans</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="551"/>
<source>The base font size to use for all texts of the Start page</source>
<translation type="unfinished">The base font size to use for all texts of the Start page</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="554"/>
<source>px</source>
<translation type="unfinished">px</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="572"/>
<source>Use gradient for New File icon</source>
<translation type="unfinished">Use gradient for New File icon</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="579"/>
<source>If this is selected, the 'New File' icon shows a gradient icon instead of the normal icon</source>
<translation type="unfinished">If this is selected, the 'New File' icon shows a gradient icon instead of the normal icon</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="601"/>
<source>Options</source>
<translation>Alternativer</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="607"/>
<source>Choose which workbench to switch to after the program launches</source>
<translation type="unfinished">Choose which workbench to switch to after the program launches</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="614"/>
<source>If checked, will automatically close the Start page when FreeCAD launches</source>
<translation type="unfinished">If checked, will automatically close the Start page when FreeCAD launches</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="633"/>
<source>Switch workbench after loading</source>
<translation type="unfinished">Switch workbench after loading</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="640"/>
<source>Close start page after loading</source>
<translation type="unfinished">Close start page after loading</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="647"/>
<source>Close and switch on opening file</source>
<translation type="unfinished">Close and switch on opening file</translation>
</message>
<message>
<location filename="../../DlgStartPreferences.ui" line="654"/>
<source>If application is started by opening a file, apply the two settings above</source>
<translation type="unfinished">If application is started by opening a file, apply the two settings above</translation>
</message>
</context>
</TS>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More