Commit Graph

164 Commits

Author SHA1 Message Date
Marcel Admiraal 8509c8c8fc Rename AcceptDialog get_ok() to get_ok_button()
Also renames:
- AcceptDialog add_cancel() to add_cancel_button()
- ConfirmationDiaglog get_cancel() to get_cancel_button()
2020-12-14 18:43:52 +00:00
Aaron Franke 1b348b3c17
Remove connect *_compat methods 2020-12-05 17:56:47 -05:00
Tomasz Chabora 08a292fec3 Allow folder checking in export preset file list 2020-11-14 16:37:25 +01:00
reduz 127458ed17 Reorganized core/ directory, it was too fatty already
-Removed FuncRef, since Callable makes it obsolete
-Removed int_types.h as its obsolete in c++11+
-Changed color names code
2020-11-07 20:17:12 -03:00
Ev1lbl0w 395cb57256
Disable code to add patches menu 2020-10-19 16:31:42 +01:00
bruvzg f043eabdd8
Adds PCK encryption support (using script encryption key for export).
Change default encryption mode from ECB to CFB.
2020-09-05 14:53:39 +03:00
Rémi Verschelde 6497a3fb50
Merge pull request #40291 from hinlopen/dialog-size
Resize various dialogs
2020-07-15 12:13:33 +02:00
Stijn Hinlopen 526e060b73 Resize dialogs (FileDialog, EditorFileDialog, Reparent, SceneTreeDialog and resource depency dialogs). 2020-07-14 14:35:22 +02:00
Daniel Ting 9605fc54c7 Fix cancel/OK button order on macOS
The macOS platform convention regarding button order is cancel on left,
OK on right.
2020-07-10 15:10:11 -05:00
Hugo Locurcio 31b7f02a29
Remove ToolButton in favor of Button
ToolButton has no redeeming differences with Button;
it's just a Button with the Flat property enabled by default.
Removing it avoids some confusion when creating GUIs.

Existing ToolButtons will be converted to Buttons, but the Flat
property won't be enabled automatically.

This closes https://github.com/godotengine/godot-proposals/issues/1081.
2020-06-19 20:49:49 +02:00
Maganty Rushyendra 44094b082d Account for file deletion and renaming in Export Presets
Ensure that presets are updated with the latest files when
starting up or opening the Project Export dialog. Fixes the
error where Godot would attempt to export deleted files that
were previously selected.
2020-06-11 08:25:24 +08:00
Fredia Huya-Kouadio 14e6696c8e Implementation of the Godot Android Plugin configuration file 2020-05-17 11:11:26 -07:00
Rémi Verschelde 0ee0fa42e6 Style: Enforce braces around if blocks and loops
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14 21:57:34 +02:00
Rémi Verschelde 07bc4e2f96 Style: Enforce separation line between function definitions
I couldn't find a tool that enforces it, so I went the manual route:
```
find -name "thirdparty" -prune \
  -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \
  -o -name "*.glsl" > files
perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files)
misc/scripts/fix_style.sh -c
```

This adds a newline after all `}` on the first column, unless they
are followed by `#` (typically `#endif`). This leads to having lots
of places with two lines between function/class definitions, but
clang-format then fixes it as we enforce max one line of separation.

This doesn't fix potential occurrences of function definitions which
are indented (e.g. for a helper class defined in a .cpp), but it's
better than nothing. Also can't be made to run easily on CI/hooks so
we'll have to be careful with new code.

Part of #33027.
2020-05-14 16:54:55 +02:00
Rémi Verschelde 0be6d925dc Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
Which means that reduz' beloved style which we all became used to
will now be changed automatically to remove the first empty line.

This makes us lean closer to 1TBS (the one true brace style) instead
of hybridating it with some Allman-inspired spacing.

There's still the case of braces around single-statement blocks that
needs to be addressed (but clang-format can't help with that, but
clang-tidy may if we agree about it).

Part of #33027.
2020-05-14 16:54:55 +02:00
Michael Alexsander a1a096eb09 Remove unnecessary Panel in "Features" section in the Export dialog 2020-04-05 00:08:53 -03:00
lupoDharkael 95a1400a2a Replace NULL with nullptr 2020-04-02 13:38:00 +02:00
Juan Linietsky 441f1a5fe9 Popups are now windows also (broken!) 2020-03-26 15:49:42 +01:00
Juan Linietsky 4758057f20 Working multiple window support, including editor 2020-03-26 15:49:40 +01:00
Juan Linietsky f8a79a97c7 Effective DisplayServer separation, rename X11 -> LinuxBSD 2020-03-26 15:49:34 +01:00
Rémi Verschelde 09a6a2d8f8 Signals: Port more uses of connect_compat
Those were problematic as they call a method of their parent class,
but callable_mp does not allow that unless it's public.

To solve it, we declare a local class that calls the parent class'
method, which now needs to be protected to be accessible in the
derived class.
2020-02-28 14:24:09 +01:00
Rémi Verschelde 01afc442c7 Signals: Port connect calls to use callable_mp
Remove now unnecessary bindings of signal callbacks in the public API.
There might be some false positives that need rebinding if they were
meant to be public.

No regular expressions were harmed in the making of this commit.
(Nah, just kidding.)
2020-02-28 14:24:09 +01:00
Juan Linietsky 69c95f4b4c Reworked signal connection system, added support for Callable and Signal objects and made them default. 2020-02-20 08:24:50 +01:00
Marcel Admiraal 5af3b4ca27 Remove duplicate ERR_PRINT macro. 2020-02-05 11:13:24 +01:00
Rémi Verschelde 656cc83aa0 Export: Fix leak or orphaned Controls after #34911
They need to be hidden but still in tree.
2020-01-08 17:45:10 +01:00
Rémi Verschelde ac7dc03ae4 Export: Hide Patches tab until actually implemented
This seems to have been left dangling during 3.0 development and was
never finished.

Hiding for now until it can be completed, otherwise we'll have to drop
it.

See #22394.
2020-01-08 13:29:51 +01:00
Rémi Verschelde a7f49ac9a1 Update copyright statements to 2020
Happy new year to the wonderful Godot community!

We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.

Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
Haoyu Qiu 078c0d75f2 Cleans up headers included in editor_node.h 2019-12-24 21:46:05 +08:00
Haoyu Qiu 7a9c337dfe Makes more strings in editor translatable
* File type names in file dialogs
* Layout option names
* Visual shader editor UI
2019-12-16 16:41:07 +08:00
Haoyu Qiu d151e1eaf9 Make more editor strings translatable 2019-12-13 16:09:29 +08:00
Hugo Locurcio bc8236bd39
Add a tooltip to explain what marking a preset as "runnable" does 2019-11-14 15:11:31 +01:00
Tomasz Chabora 6f7ba78c53 Don't allow to export pck without preset 2019-10-16 11:58:49 +02:00
Hugo Locurcio 1739ef5fd7
Document the ability to include/exclude non-resource export folders
This closes #3646.
2019-10-05 16:54:13 +02:00
Rémi Verschelde ca652bbc47
Merge pull request #25353 from azagaya/master
Use also invisible tabs to calculate minimum size of tab container
2019-08-30 13:58:37 +02:00
azagaya fa6f86b886 Make tab containers in editor, project settings, and export dialog, to use hidden tabs for min size computation. 2019-08-30 08:33:32 -03:00
SonerSound 326f856006 Export path is the only path to be saved as a relative path
Also reverts 90b2415343
2019-08-22 22:20:15 +01:00
SonerSound 90b2415343 Export path may now be written as a relative path
If the target directory does not exist, it will be recursively created.

Export paths are now saved as a relative to the projects base directory

Renamed relative_to function to final_path_from_relative which takes a relative path and outputs the final path from a string that represents a directory.
Added relative_path_from_final which takes in a final path and outputs a relative path if possible. If not possible it outputs the relative path that represents the current directory.
If the target directory does not exist when exporting the project, then it is recursively created.

Removed final_path_from_relative function

Changed DirAccess into DirAccessRef for automatic object destruction
2019-06-30 19:13:49 +01:00
qarmin 4e5310cc60 Some code changed with Clang-Tidy 2019-06-26 15:08:25 +02:00
Rémi Verschelde 47f00925dc
Merge pull request #28454 from homer666/popup-centered-maxsize
Add `popup_centered_clamped()` method to Popup
2019-05-28 11:36:41 +02:00
AMS21 fe62b69419 Fixed naming issue when duplicating an export 2019-05-23 14:45:17 +02:00
George Marques c121d8871d
Allow project export to be canceled 2019-05-18 15:33:57 -03:00
homer666 80e9e93e27 Add Popup::popup_centered_clamped method
- Also replace redundant duplicate code in editor dialogs with calls to popup_centered_clamped()
2019-04-30 05:35:43 +10:00
Rémi Verschelde bfd2ad0059
Merge pull request #28338 from qarmin/disable_project_export_button
Disable Project Export button after deleting preset
2019-04-25 13:30:15 +02:00
Juan Linietsky faaecd6987 Fixes to make exporting more responsive.
-Process and drop input in step functions.
-Hide editor file dialog right after pressing ok
-Use actual editor file dialogs for project export.
2019-04-24 15:52:15 -03:00
qarmin 2fc2d82465 Disable Project Export button after deleting preset 2019-04-23 17:49:15 +02:00
Ricardo Lüders 3fdbdd8380 Fixes misleading error message when trying to export
This patch fixes the misleading error message when users
try to "export all" into an invalid destination path.

Closes #26539
2019-03-05 21:32:52 +01:00
Rémi Verschelde 793ffd942e Improve error message on project export failure
It's still not enough and we need better validation/error checking,
but it should help with people assume corrupted templates when it's
their config which is invalid.
2019-02-22 11:18:22 +01:00
Rémi Verschelde 26cf4fed6e
Merge pull request #25163 from ankitpriyarup/master
Disable autowrap for export dialog errors
2019-01-21 18:07:35 +01:00
Ankit Priyarup 7e6edee193 Disable autowrap for export dialog errors
Fixes #25065
2019-01-21 18:01:40 +05:30
Hugo Locurcio f9d0bc1858
Make "Export with Debug" more visible in the Export dialog
This swaps out the CheckButton with a CheckBox, which has two benefits:

- The checkbox icon appears to the left of the text, which moves it
  closer from the text. This makes it more easily noticeable, as
  it also appears below the "File:" text now.
- It follows the UI convention of using checkboxes for options that
  do not bear an immediate effect, unlike CheckButtons which are
  expected to have an immediate effect when toggled.

This closes #25170.
2019-01-20 23:53:42 +01:00
Juan Linietsky 541422a4a2 Clean up and fix issues after merging #21701 , closes #21104 2019-01-18 13:01:24 -03:00
volzhs 87305a0f54 Use HSplit to resize presets and options panel on Export window 2019-01-12 01:54:00 +09:00
Rémi Verschelde 5809be9641
Merge pull request #24582 from Xrayez/script-encrypt
Bring back script encryption in export preset
2019-01-04 16:34:38 +01:00
Rémi Verschelde b16c309f82 Update copyright statements to 2019
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
Andrii Doroshenko (Xrayez) ba13a2bc05 Bring back script encryption in export preset
Retrieved working implementation from 2.1 branch and adapted to
existing export preset system.

Added Script tab in export preset to export script as raw text,
compiled, or encrypted (same as in 2.1). The script encryption key is
visually validated. The script export mode and the key is saved per
per preset in `export_presets.cfg`, so it makes sense to ignore this
file in version control system.

Each custom exporting procedure can retrieve an export preset set
during project exporting. Refactored project export dialog a bit to
allow easier code comprehension.
2018-12-24 17:16:14 +02:00
qichunren 99f9af868a Fix ExportDialog layout out of boundary when select a template. 2018-12-11 16:13:14 +08:00
Rémi Verschelde a0a9553cbe
Merge pull request #23673 from marcelofg55/export_path_3
Export Path now has a folder icon to select the path
2018-12-06 15:33:04 +01:00
Michael Alexsander Silva Dias 63dc20a827 Move "Dialog Bounds" from the Editor Settings to project's metadata 2018-12-04 13:55:24 -02:00
Marcelo Fernandez e49a090919 Export Path now has a folder icon to select the path 2018-11-12 16:04:58 -03:00
Marcelo Fernandez aaa650e14a Fix missing bind for _export_path_changed 2018-11-12 11:38:26 -03:00
Rémi Verschelde a16d9c6ab6
Merge pull request #23476 from marcelofg55/export_all
Add an Export All button to the Export dialog
2018-11-09 16:55:04 +01:00
Marcelo Fernandez 4755a3beed Preset saved export path is now shown on the Export window 2018-11-05 22:01:34 -03:00
Marcelo Fernandez c0766e9503 Add an Export All button to the Export dialog 2018-11-03 21:19:12 -03:00
Marcelo Fernandez d51999f11d Export for OS X on OS X now lets you select .dmg or .zip 2018-11-01 10:08:26 -03:00
Rémi Verschelde 69ccccaf71
Merge pull request #23322 from marcelofg55/export_path
Save last export path when exporting
2018-10-29 12:08:50 +01:00
Marcelo Fernandez 5bdb9cf208 Add a duplicate button to duplicate presets 2018-10-28 15:13:38 -03:00
Marcelo Fernandez 9814446ea0 Save last export path when exporting 2018-10-27 10:53:05 -03:00
Aaron Franke 4f7b33cdcf Remove redundant "== false" code
Some of this code has been re-organized.
f
2018-10-06 16:20:41 -04:00
willnationsdev 5436abefe4 Refactor editor icon retrieval 2018-09-14 09:27:56 -05:00
Rémi Verschelde 277b24dfb7 Make core/ includes absolute, remove subfolders from include path
This allows more consistency in the manner we include core headers,
where previously there would be a mix of absolute, relative and
include path-dependent includes.
2018-09-12 09:52:22 +02:00
Rémi Verschelde 51dfdf549e ExportDialog: Validate path before allowing export
Otherwise one could quite easily end up with the exported game
being hidden files named ".x86_64" and ".pck" for example.

Also improved the default filename logic a bit to also include
extension, and never fallback to an empty string.

Also fixed being able to click "Export project" without selecting
a preset.
2018-08-31 11:19:13 +02:00
Rémi Verschelde e7c5aca040 Port ImportDock and ProjectExport to new property editor (2nd try)
Thanks to @ibrahn for helping debug the crashes caused in ProjectExportDialog
by the stray `update_tree()` call, no longer needed in the new inspector.
2018-08-20 10:07:06 +02:00
Rémi Verschelde b3246f13d1
Revert "Port ImportDock and ProjectExport to new property editor" 2018-08-18 15:24:31 +02:00
Rémi Verschelde 0a3d874efd Port ImportDock and ProjectExport to new property editor 2018-08-18 15:07:23 +02:00
Rémi Verschelde 5542d4a830 Export dialog: Fix error color and link alignment
Also fix extraneous "- " line when there are more than 2 messages.
2018-08-17 11:35:05 +02:00
Rémi Verschelde 13239cd4cc Export: Properly reload preset when opening dialog
Fixes #20119 where newly installed templates were not detected.

Also fix a bug with preset deletion where it would attempt to
edit an already removed preset. For this I made it so that
ItemList::deselect_all() also resets `current` to -1, as a manual
ItemList::deselect(idx) already does.
2018-07-18 13:49:34 +02:00
homer666 7ff3b52dea Adjust default editor popup sizes 2018-05-05 12:09:56 +10:00
Ignacio Etcheverry 68b35de2b6 Make 'Export PCK/ZIP' work well with EditorExportPlugin
Add debug flag to the 'Export PCK/ZIP' option
Make 'Export PCK/ZIP' notify when the export process begins. This is necessary to receive the 'EditorExportPlugin::_export_begin' callback
2018-04-26 23:21:05 +02:00
Hugo Locurcio 1c419531a0 Change ".." punctuation for "..." in editor strings (#16507) 2018-04-22 19:36:01 +02:00
Peter Folkins bff73bdbf1 Set default file name for exported projects 2018-04-18 08:58:13 -05:00
Poommetee Ketson 2de1dfa42f Update icons when theme changed 2018-02-25 23:04:16 +07:00
Rémi Verschelde e4213e66b2 Add missing copyright headers and fix formatting
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
2018-01-05 01:22:23 +01:00
Rémi Verschelde b50a9114b1 Update copyright statements to 2018
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
Nathan Warden f89d78a7a4 Updated Linux template extensions to match architecture. 2017-12-12 16:09:48 -05:00
Dmitry Koteroff ad351a29db Some improvements to file/dir open/save dialogs:
1. Removed "..", instead you now will see "Select Current Folder" and "Select this Folder" buttons.
2. Added "go to parent folder" (^) button to Save a File dialog.
3. Tree.cpp: "nothing_selected" signal has been re-made (previous implementation, merged in #13308, wasn't optimal in context of performance)
4. Fixed issue in Project Export dialog: MODE_SAVE_FILE wasn't set when you click "Export".
5. Now you can deselect items by clicking on empty space in Open a Directory dialog.
2017-11-27 22:39:36 +01:00
Robbie Cooper 24fe3bd605 Fix file extensions persisting in file dialog after export
This caused issues if one decided to export many formats in a row.
The new file extension would be appended to the previous one.

Now, the filename is retained without its extension for successive exports.

Fixes #7291
2017-11-20 23:20:56 +01:00
volzhs 2e7345c00f Better TTR format 2017-11-13 20:37:28 +09:00
Rémi Verschelde 35683b9f32 Merge pull request #12031 from NathanWarden/export_cancel_to_done
Changed the export and fix dependencies dialog cancel button names to "Close"

[ci skip]
2017-10-21 00:15:48 +02:00
Jakob Sinclair a5cabaeb8d Added error dialog when failing to export project
Fixes #11836

Signed-off-by: Jakob Sinclair <sinclair.jakob@mailbox.org>
2017-10-13 00:40:19 +02:00
Nathan Warden cedd95ba85 Changed the export/dependencies dialog button names from "Cancel" to "Close" 2017-10-11 13:21:05 -05:00
Juan Linietsky 3d87b70f7a Added the set/get_setting function in Editor/Project settings. Renamed has() to has_setting. Fixes #11844 2017-10-05 15:34:34 -03:00
Daniel J. Ramirez b622c92fad Removed most of the custom colors from the interface. 2017-09-25 21:43:20 -05:00
Gilles Roudiere 05bb8e0c10 Remove set_area_as_parent_rect and replace it by set_anchors_and_margins_preset(PRESET_WIDE) 2017-09-22 11:39:44 +02:00
letheed 5ad9be4c24 Rename pos to position in user facing methods and variables
Rename user facing methods and variables as well as the corresponding
C++ methods according to the folloming changes:

* pos -> position
* rot -> rotation
* loc -> location

C++ variables are left as is.
2017-09-20 13:11:10 +02:00
Daniel J. Ramirez 1e8048dd45 Improved theme generation, and other fixes 2017-09-12 13:16:38 -05:00
Rémi Verschelde 98a36c67f4 Merge pull request #11000 from Kibouo/iss10842
Fixes the deletion of an export preset's name when deleting the preset above it.
2017-09-12 13:10:00 +02:00
Mihaly Csonka 1a7c43e1a1 Fixed clearing of an export preset's name when deleting the one above it.
Deleting an export preset cleared the name of the item below it. This was
caused by ProjectExportDialog::_edit_preset(-1) which sets the deleted preset's
data to empty values. This on its turn called
ProjectExportDialog::_name_changed() which operates on the new current preset
(the one under the deleted item).

Fixes issue #10842
2017-09-12 04:30:47 +02:00
Hein-Pieter van Braam b2a38854fd Fix unused variable warnings
The forth in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-08 15:03:53 +02:00
Rémi Verschelde 7ad14e7a3e Dead code tells no tales 2017-08-27 22:13:45 +02:00
Rémi Verschelde bd282ff43f Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00