1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-01-18 17:19:50 +00:00
Commit graph

2943 commits

Author SHA1 Message Date
Emmanouil Papadeas 647ec29ab0 The crop tool can now be applied by pressing enter 2024-02-03 15:16:21 +02:00
Emmanouil Papadeas 85f2f22be7 [DockableContainer change] Don't set layout's resource_name if it already has a value
Another change that might be worth adding to upstream.
2024-02-03 13:58:16 +02:00
Emmanouil Papadeas 978ddf3b45 Fix 3DShapeEdit import object not using native dialog 2024-02-03 13:57:05 +02:00
Emmanouil Papadeas 4c39e29b67 Fix UI not staying dimmed after opening a native file dialog 2024-02-03 13:55:17 +02:00
Emmanouil Papadeas 9a842ad33e Sort layouts alphabetically when adding a new one so that Pixelorama will remember the correct last used layout when opening again 2024-02-02 03:50:28 +02:00
Emmanouil Papadeas 5824d2a0eb Choose which layout to copy from when adding a new layout 2024-02-02 02:59:07 +02:00
Emmanouil Papadeas 534a7fd356 Change the selected UI layout every time it changes
This way, Pixelorama remembers the changes users make to the UI, without them having to go to Window, Manage Layouts and clicking on Edit, which was an unintuitive and slow way. Needs testing because bugs may linger.

This commit also adds a new `save_on_change` variable and a `save` method on layout.gd of the dockable_container plugin. Perhaps I should also add this upstream as well.

I also need to add a way to create new layouts based off the default ones (which are permanently stored within Pixelorama's pck file and cannot be modified), so users will always have the option to resort to the default layouts.
2024-02-02 02:31:29 +02:00
Emmanouil Papadeas da0066259e [WIP] Copy default layouts to the layout directory so they can be modified
Moved some logic away from TopMenuContainer to Main.gd and the layout array to Global.gd.
2024-02-02 01:42:29 +02:00
Emmanouil Papadeas ffd729486f Expose window transparency as an option in the preferences, keep it disabled by default
I had to disable it, because for some reason having it be enabled by default does not seem to be working. This may be a good idea anyway, as many people will not need this feature, and having this enabled affects performance.

This commit also allows for changing project setting related options in the preferences to also work when running Pixelorama inside Godot.
2024-02-02 00:19:53 +02:00
Emmanouil Papadeas ed072de84e Change the layouts array in TopMenuContainer to only contain DockableLayouts instead of being an array of arrays 2024-02-01 22:10:18 +02:00
Emmanouil Papadeas 606ce965f6 Remove unneeded layout code from TopMenuContainer 2024-02-01 21:41:32 +02:00
Emmanouil Papadeas 276a872f73 Rename "ui" variable to "main_ui" in Main.gd and TopMenuContainer.gd 2024-02-01 20:53:52 +02:00
Emmanouil Papadeas 2e8cf6a30a Minor code improvements in WindowOpacityDialog.gd 2024-02-01 20:51:26 +02:00
Emmanouil Papadeas ac950dafae [skip ci] Update CHANGELOG.md 2024-01-31 02:53:16 +02:00
Emmanouil Papadeas e648d0d612 Some code improvements in DrawingAlgos
Should also result in minor optimizations
2024-01-31 02:26:49 +02:00
Emmanouil Papadeas 399fc8dfbd Make similar_colors() in DrawingAlgos faster
We finally found some use for Godot 4's new Vector4, let Godot's built-in functions handle the math, since they run in native C++.
2024-01-31 01:41:58 +02:00
Emmanouil Papadeas 63691cacaf Load pxo files from the Web version - Fixes #820 2024-01-30 21:17:31 +02:00
Emmanouil Papadeas 1dce3ebe22 Change get_tree().get_root() to get_window() in TransparentChecker.gd 2024-01-29 16:37:56 +02:00
Emmanouil Papadeas 5bd3cab196 Add override.cfg to .gitignore 2024-01-29 16:36:05 +02:00
Emmanouil Papadeas 6345c52b5f Fix override.cfg being created in the wrong location if Pixelorama is launched through a launcher or a shortcut 2024-01-29 16:35:23 +02:00
OverloadedOrama a7cf93d1e5 Fix not being able to draw when closing the splash screen
Regression from b08420d0
2024-01-26 04:05:37 +02:00
Emmanouil Papadeas 508f8f0d15 Minor simplifications of some parts in Selection.gd 2024-01-26 02:31:38 +02:00
Emmanouil Papadeas b126e95b64 Almost made selection rotation with gizmos functional
Not exposed yet
2024-01-25 02:33:41 +02:00
Emmanouil Papadeas 3d04a8d276 Selection rotation with gizmos works on selections without content now
Still not ready and thus not exposed
2024-01-25 01:35:42 +02:00
Emmanouil Papadeas 964e9fbd26 Don't set the selection_map of the project to the original_bitmap, if the latter is empty
Shouldn't happen, but best to check in case it does. Setting empty data to the selection_map breaks selections.
2024-01-25 01:06:30 +02:00
Emmanouil Papadeas de5db85345 When resizing a selection with gizmos or from the tool options, only set the original_bitmap when we're not already transforming content 2024-01-25 00:59:53 +02:00
Emmanouil Papadeas f8b32762a1 Fix canceling selection content resizing breaking the selection 2024-01-25 00:45:49 +02:00
Emmanouil Papadeas 56fe1840e0 Make selections scale properly even if they don't transform any image content
Fixes #774.
2024-01-25 00:40:53 +02:00
Emmanouil Papadeas 3a0977ce21 Some code cleanup in Selection.gd 2024-01-25 00:11:19 +02:00
Emmanouil Papadeas ce7a5e77ba Add a single window mode setting in the preferences
True by default, when set to false the UI uses multiple windows
2024-01-24 18:31:22 +02:00
Emmanouil Papadeas f0a5637d8a Some recorder UI improvements
Removed the fps option completely as it doesn't have any effects to exported static images. Should be re-introduced once we add video exporting with ffmpeg though.
2024-01-24 14:41:15 +02:00
Emmanouil Papadeas 5297fe6a80 Forgot to format the previous commit :( 2024-01-24 04:22:45 +02:00
Emmanouil Papadeas d640b6a979 Add a setting to allow usage of native file dialogs in the preferences
Closes #274 and implements #568, at long last! Some issues remain:
- The native save pxo dialog doesn't have an "Include blended images" option. This will be fixed once https://github.com/godotengine/godot/pull/83480 is merged.
- When a native file dialog closes, the interface still remains dimmed.
- In the export dialog, the "Browse" file dialog will also close the export dialog itself when it closes, when it's native.
2024-01-24 04:20:46 +02:00
Emmanouil Papadeas 4bc0fba941 Add a variable in Global for setting file dialogs as native, and add a "FileDialogs" node group
This settings is not exposed in the preferences in this commit
2024-01-24 03:57:40 +02:00
Emmanouil Papadeas b08420d09d Don't change the value of can_draw in Global.dialog_open()
In Godot 4 dialogs seem to be blocking the input to the rest of the UI, so this may not be needed
2024-01-24 03:19:57 +02:00
Emmanouil Papadeas 4e9b657077 Remove Global.has_focus completely
Might be a risky change, but I haven't noticed any bugs so far
2024-01-24 03:14:11 +02:00
Emmanouil Papadeas 42de5ccb29 Remove unneeded has_focus checks 2024-01-24 03:06:09 +02:00
Emmanouil Papadeas d9c0cd7546 Remove Global.can_draw conditions from TopMenuContainer
These were needed with Godot 3 to ensure that you couldn't open any other dialog when a dialog is already open, by using keyboard shortcuts. This no longer seems to be required in Godot 4.
2024-01-24 02:37:28 +02:00
Emmanouil Papadeas 3a852e44ff Add a popup_error() method in Global
Just to reduce code duplication and make error appearing easier
2024-01-24 02:27:57 +02:00
Emmanouil Papadeas 43d241a5c2
Video exporting by calling FFMPEG externally (#980)
* Basic mp4 exporting, needs ffmpeg

* Add avi, ogv and mkv file exporting

* Add webm exporting

* Set ffmpeg path in the preferences

* Show an error message if the video fails to export

* Make sure to delete the temp files even if video exporting fails
2024-01-24 02:00:17 +02:00
Emmanouil Papadeas 204eff8184 Fix selection being incorrect when the image is being scaled (mostly when being made smaller). 2024-01-23 19:38:21 +02:00
Emmanouil Papadeas e7a469fa4d Refactor scale methods of DrawingAlgos 2024-01-23 19:25:32 +02:00
Emmanouil Papadeas 6448b7ee7c Remove unnecessary Array casting in DrawingAlgos 2024-01-23 19:07:35 +02:00
Emmanouil Papadeas 519fa77791 Add a recent colors section to the color picker
Sort-of implements #859
2024-01-23 03:57:31 +02:00
Variable f43f80cee0
Integrate Extension Explorer (#910)
* Integration of ExtensionExplorer

---------

Co-authored-by: Emmanouil Papadeas <35376950+OverloadedOrama@users.noreply.github.com>
Co-authored-by: Emmanouil Papadeas <manoschool@yahoo.gr>
2024-01-23 03:25:37 +02:00
Variable ddce0393dd
Fixed some issues with perspective lines and removed unneeded code from the rotate image dialog (#979)
* fix drag gizmo of perspectice lines

* fix more stuff
2024-01-22 00:09:57 +02:00
Emmanouil Papadeas bec7ceb974 Fix Global.can_draw being set to true all the time
Note for the future, perhaps using _unhandled_input() might remove the need of this variable.
2024-01-21 19:46:01 +02:00
Variable 561a374cc0
Fixed rotation gixmo (#976) 2024-01-20 02:06:44 +02:00
Emmanouil Papadeas bc8fadb67c Fix cel button image texture breaking when the image gets resized 2024-01-19 18:25:50 +02:00
Emmanouil Papadeas 73e40ed127 Add a ShaderInclude file for common shader rotation code 2024-01-18 00:19:30 +02:00