3D printer / slicing GUI built on top of the Uranium framework
Find a file
Ghostkeeper 3f9c7c55dc
Fix search field losing focus when scrolling the setting list
When scrolling the setting list, it was clearing the focus in order to close the pop-ups in the setting list. If pop-ups like for the infill pattern or extruder selection settings are not closed, the pop-up part is still rendered even if the user scrolls those settings out of view, causing the pop-up to appear somewhere on top of completely unrelated interface elements. It scrolls all the way to the top of the screen, effectively.

I couldn't find a way to cause pop-ups to be clipped with the rest of the contents of the ListView. They are always rendered on top due to the nature of the pop-up. I could find a way to trigger pop-ups to close upon changing the scrolled position without changing the focus, but that method was fairly complex with a bunch of `Connection`s and an extra signal. This is by far the simplest solution.

Contributes to issue CURA-9070.
2022-04-21 11:17:13 +02:00
.github Fix typo 2021-10-07 13:19:34 +02:00
cmake Use modern >=3.12 cmake find_package Python logic 2022-03-24 14:44:07 +01:00
cura Upgrade SDK version to 8.0.0 for Cura 5.0 2022-04-20 10:57:38 +02:00
docker Add LD_LIBRARY_PATH 2022-01-20 12:08:13 +01:00
docs Add drawing of how per object stacks work 2022-02-14 09:30:27 +01:00
icons Embed more sizes in the ico file so that it looks better 2022-02-14 11:15:19 +02:00
plugins Upgrade SDK version to 8.0.0 for Cura 5.0 2022-04-20 10:57:38 +02:00
resources Fix search field losing focus when scrolling the setting list 2022-04-21 11:17:13 +02:00
scripts Merge branch 'marketplace_redesign' 2022-02-02 15:39:21 +01:00
tests Merge branch 'master' into CURA-8640_PyQt6 2022-03-28 15:02:18 +02:00
.dockerignore Emit backend errors so we can process them differently than through a qml notification 2018-03-05 14:33:13 +01:00
.gitignore Add cura-camera-position plug-in to commonly installed plug-ins 2022-01-19 16:36:33 +01:00
.pylintrc Fix regex for private & long functions 2020-01-10 17:43:40 +01:00
build.sh Add the scripts used to build the release package (still needs some more work, but works on my desktop) 2015-05-04 13:35:53 +02:00
CITATION.cff Change version in citation file to 4.12 2021-11-01 11:50:24 +01:00
CMakeLists.txt fixed install dir 2022-03-24 16:24:41 +01:00
com.ultimaker.cura.appdata.xml Fix unescaped & 2021-08-09 12:48:07 +02:00
com.ultimaker.cura.desktop.in Rename metadata files to conform with appstream spec 2021-02-03 00:27:16 +01:00
contributing.md Add contribution guidelines 2019-03-05 14:24:31 +01:00
cura-logo.PNG Update readme 2021-11-04 14:49:06 +01:00
cura.sharedmimeinfo Update desktop and mimeinfo to add gcode mime type 2018-11-22 15:47:12 +01:00
cura_app.py Merge branch 'master' into PyQt6_upgrade 2022-02-21 11:52:28 +01:00
Dockerfile Emit backend errors so we can process them differently than through a qml notification 2018-03-05 14:33:13 +01:00
Jenkinsfile Use generated Makefiles to run tests 2018-11-20 09:53:17 +01:00
LICENSE Changing AGPLv3 to LGPLv3 2017-09-28 13:00:43 +02:00
pytest.ini Added unit test stub 2016-04-29 11:32:33 +02:00
README.md Fix cura-build-environment link in README.md 2022-02-18 00:09:04 +05:30
requirements.txt Update requirements from cura-build-environment 2022-01-20 13:12:25 +01:00
run_coverage.py Add convenience script for running complete coverage 2019-08-30 16:32:11 +02:00
run_in_docker.sh Cleanup 2018-03-01 11:00:49 +01:00
run_mypy.py Show error code if MyPy failed 2021-02-09 13:48:57 +01:00
SECURITY.md Add security policy 2022-03-23 09:51:36 +01:00
test-in-docker.sh Add a script to execute the CI scripts on a local Docker instance 2020-01-13 14:43:11 +01:00

Cura

Ultimaker Cura is a state-of-the-art slicer application to prepare your 3D models for printing with a 3D printer. With hundreds of settings and hundreds of community-managed print profiles, Ultimaker Cura is sure to lead your next project to a success.

Screenshot

Logging Issues

For crashes and similar issues, please attach the following information:

  • (On Windows) The log as produced by dxdiag (start -> run -> dxdiag -> save output)
  • The Cura GUI log file, located at
    • %APPDATA%\cura\<Cura version>\cura.log (Windows), or usually C:\Users\<your username>\AppData\Roaming\cura\<Cura version>\cura.log
    • $HOME/Library/Application Support/cura/<Cura version>/cura.log (OSX)
    • $HOME/.local/share/cura/<Cura version>/cura.log (Ubuntu/Linux)

If the Cura user interface still starts, you can also reach this directory from the application menu in Help -> Show settings folder

For additional support, you could also ask in the #cura channel on libera.chat. For help with development, there is also the #cura-dev channel.

Dependencies

  • Uranium Cura is built on top of the Uranium framework.
  • CuraEngine This will be needed at runtime to perform the actual slicing.
  • fdm_materials Required to load a printer that has swappable material profiles.
  • PySerial Only required for USB printing support.
  • python-zeroconf Only required to detect mDNS-enabled printers.

For a list of required Python packages, with their recommended version, see requirements.txt.

This list is not exhaustive at the moment, please check the links in the next section for more details.

Build scripts

Please check out cura-build for detailed building instructions.

If you want to build the entire environment from scratch before building Cura as well, cura-build-environment might be a starting point before cura-build. (Again, see cura-build for more details.)

Running from Source

Please check our Wiki page for details about running Cura from source.

Plugins

Please check our Wiki page for details about creating and using plugins.

Supported printers

Please check our Wiki page for guidelines about adding support for new machines.

Configuring Cura

Please check out Wiki page about configuration options for developers.

Translating Cura

Please check out Wiki page about how to translate Cura into other languages.

License

Cura is released under the terms of the LGPLv3 or higher. A copy of this license should be included with the software.