Commit Graph

93 Commits

Author SHA1 Message Date
Lioncash e6af69f882 Editor/KeyboardWidget: Make use of std::array where applicable
Makes the types of the lookup tables and widget arrays strongly typed.
This also makes it a little more straightforward to dehardcode some
magic values related to the array sizes.
2019-08-28 00:06:57 -04:00
Phillip Stephens 1604cbeb70
Linux compile fixes 2019-08-27 18:02:30 -07:00
Lioncash ef86e69421 Editor: Include headers where necessary
Avoids propagating dependencies through indirect inclusions, and also
gets rid of some header dependencies entirely.
2019-08-27 20:57:02 -04:00
Lioncash bf872e9037 Editor/LayersEditor: Use regular iterators instead of move iterators
Same behavior, but compatible with GCC
2019-08-26 22:41:40 -04:00
Lioncash a178d55007 Revert "Revert "Editor/LayersEditor: Simplify moveRows implementation""
This reverts commit 4fdb2bde8c.
2019-08-26 22:40:14 -04:00
Phillip Stephens 4fdb2bde8c
Revert "Editor/LayersEditor: Simplify moveRows implementation" 2019-08-26 18:31:18 -07:00
Phillip Stephens 8f810e571c
Merge pull request #24 from lioncash/emplace
General: Use emplace_back where applicable
2019-08-26 15:53:55 -07:00
Phillip Stephens 8f8add1eb1
Merge pull request #23 from lioncash/rotate
Editor/LayersEditor: Simplify moveRows implementation
2019-08-26 15:53:46 -07:00
Lioncash eaf62288a2 Common: Replace amuse::clamp with std::clamp
We can use the standardized facility for this now with C++17
2019-08-26 05:14:21 -04:00
Lioncash 176493c539 General: Use emplace_back where applicable
Same thing, less reading.
2019-08-26 03:41:29 -04:00
Lioncash 7ef7562b06 Editor/LayersEditor: Simplify moveRows implementation
We can leverage std::rotate to make shuffling around the mappings less
complex by defining a begin, end, and a pivot point and using them with
it.
2019-08-26 02:35:28 -04:00
Lioncash a380d4da21 Editor/ProjectModel: Use std::move where applicable
Amends the node interfaces to utilize std::move where applicable. This
allows avoiding some string copies altogether, as well as some IObj
atomic reference count increments and decrements.
2019-08-26 00:51:09 -04:00
Lioncash 8b4a096b50 Editor/CMakeLists: Add QT_NO_CAST_FROM_BYTEARRAY
Disables implicit conversions from QByteArray, instead requiring such
conversions to be explicit.
2019-08-25 23:06:55 -04:00
Lioncash f269b66f85 Editor/CMakeLists: Add QT_NO_PROCESS_COMBINED_ARGUMENT_START
Disables an error-prone start() overload for QProcess. This prevents
cases where arguments to a process may be split unintentionally.
2019-08-25 22:59:47 -04:00
Lioncash 694ecdd9c3 Editor/CMakeLists: Add QT_NO_URL_CAST_FROM_STRING
Prevents implicit conversion from QString to QUrl in order to avoid
potentially incorrect conversions from being performed. This makes all
such conversions explicit.
2019-08-25 22:56:50 -04:00
Lioncash e3dc475d7d Editor/CMakeLists: Add QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
Requires narrowing conversions to be made explicitly.
2019-08-25 22:54:20 -04:00
Lioncash da54ade80b Editor/CMakeLists: Add QT_NO_CAST_FROM/TO_ASCII
Prevents implicit conversions to QString, requiring the conversions to
be made explicitly. Prevents potentially incompatible encodings from
being intermixed with one another.
2019-08-25 22:53:16 -04:00
Lioncash 658c33eb0d Editor/CMakeLists: Add QT_USE_QSTRINGBUILDER definition 2019-08-25 21:37:48 -04:00
Lioncash 56a7d842b5 CMakeLists: Set CMAKE_AUTORCC
Allows the build system to automatically handle qrc resource files
automatically without having to do all the manual book keeping.
2019-08-25 18:55:00 -04:00
Lioncash f452516f12 CMakeLists: Set CMAKE_AUTOUIC
Allows the build system to automatically handle invoking uic for UI
files. This is beneficial since CMake will cache runs of uic, avoiding
running it again if its not necessary (no modifications were made to the
file, etc). This also means we don't need to keep track of all the UI
files explicitly in the CMake file.
2019-08-25 18:33:41 -04:00
Lioncash f140972920 CMakeLists: Set CMAKE_AUTOMOC
This allows the build system to automatically invoke moc for us when
building the GUI. Now we don't need to manually keep track of which
files need to be wrapped, simplifying the CMake file a little bit more.
2019-08-25 18:33:41 -04:00
Lioncash 07b4f02d1d CMakeLists: Migrate off separate variables for source files where applicable
We can append the sources to the target with target_sources() instead.
2019-08-25 18:33:41 -04:00
Lioncash 771abb3390 CMakeLists: Organize GUI source listings
Alphabetizes and sorts the entries for linear readability.
2019-08-25 18:33:37 -04:00
Phillip Stephens 6850f0b2c9
Add missing include 2019-08-25 09:25:27 -07:00
Phillip Stephens c08dd97cbf
Merge pull request #19 from lioncash/key-array
Editor/KeymapEditor: Use std::array where applicable
2019-08-25 09:00:31 -07:00
Phillip Stephens db9e911a23
Merge pull request #17 from lioncash/curve
CurveEditor: Use std::array where applicable
2019-08-25 09:00:15 -07:00
Phillip Stephens 2b09d86df4
Merge pull request #16 from lioncash/const
ADSREditor: Make colors const
2019-08-25 09:00:07 -07:00
Lioncash db805075d9 Editor/KeymapEditor: Use std::array where applicable
Strongly enforces the type of the array and allows removing quite a few
hardcoded size values.
2019-08-25 08:23:23 -04:00
Lioncash b1ab67f8c2 CurveEditor: Use std::array where applicable
Allows simplifying how redo/undo data gets moved around and also
eliminates a few hardcoded magic values for sizes.
2019-08-25 06:08:15 -04:00
Lioncash 532f3a5265 ADSREditor: Use const where applicable
Enforces immutability and makes for less mental book-keeping in drawing
code.
2019-08-25 05:30:37 -04:00
Lioncash c736fdd00d ADSREditor: Make colors const
These aren't intended to be modified by anything, so these can be made
const.
2019-08-25 05:11:55 -04:00
Lioncash a016b72ea6 CMakeLists: Migrate Qt checking over to using components
Qt has since made their library usable with the components system within
CMake, so we can just use that to simplify the library finding and linking.
2019-08-25 05:02:32 -04:00
Phillip Stephens cec062797e
Merge pull request #13 from lioncash/qt
Editor: Use Qt-5 signal/slot connections where applicable
2019-08-25 01:38:49 -07:00
Lioncash 43eff31412 Editor: Use Qt 5 signal/slot connections where applicable
Migrates the UI signals and slots over to the new Qt 5 syntax. This
syntax is nicer, as the compiler can report errors at compile-time, as
opposed to the other method which would require a runtime error to
indicate any issues with the signals and slots.
2019-08-25 04:13:36 -04:00
Lioncash 67c64a2d4e General: Make use of override where applicable
Continues the use of override.
2019-08-25 01:28:36 -04:00
Jack Andersen b0e4973c64 Massive fmtlib refactor 2019-07-19 18:23:25 -10:00
Jack Andersen 2a3444400e Better CMake dependency handling 2019-06-11 16:02:52 -10:00
Jack Andersen 1b10016369 Fix some compilation warnings 2019-04-06 18:59:49 -10:00
Jack Andersen e04603bb7d Fix SoundMacro generation for SampleView 2019-03-09 23:13:17 -10:00
Jack Andersen a4b8946ee2 Ensure all ObjectIDs are unique project-wide 2019-02-28 10:34:26 -10:00
Jack Andersen 7719459ac7 Switch to lzokay library 2018-12-19 17:45:26 -10:00
Jack Andersen c1c47c51eb Update translation file 2018-12-07 20:45:52 -10:00
Jack Andersen a7a408cc66 New code style refactor 2018-12-07 19:20:09 -10:00
Jack Andersen 885a2d2154 Windows build fixes 2018-10-14 10:10:33 -10:00
Jack Andersen dbd48a39cc Convert to pragma once 2018-10-06 17:40:25 -10:00
Jack Andersen 81f0a91569 Looping SNG support; bug fixes 2018-09-08 11:34:01 -10:00
Jack Andersen 6a7f32a29d Bug fixes for MP2 extraction 2018-09-02 14:43:05 -10:00
Jack Andersen 9cc4bdefd0 Various model editing bug fixes 2018-08-30 10:34:10 -10:00
Jack Andersen 2d4fd3493e Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/amuse 2018-08-29 22:23:00 -10:00
Jack Andersen 59f99d0b99 Better unsaved project warning 2018-08-29 22:19:53 -10:00