Commit Graph

350 Commits

Author SHA1 Message Date
Phillip Stephens 9cc47aa803
Merge pull request #21 from lioncash/flags
Editor/CMakeLists: Add a few Qt compilation definitions to enforce correctness
2019-08-25 20:25:15 -07: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
Phillip Stephens ea84a7e35b
Merge pull request #20 from lioncash/cmake
Editor/CMakeLists: Enable AUTOMOC, AUTORCC, and AUTOUI
2019-08-25 18:24:33 -07: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 8da26720d1
Merge pull request #18 from lioncash/fwd
General: Clean up inclusions
2019-08-25 09:00:23 -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
Phillip Stephens 3310bf5b6e
Merge pull request #15 from lioncash/cmake
CMakeLists: Migrate Qt checking over to using components
2019-08-25 08:59:50 -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 d7aaff25d0 General: Clean up inclusions
Ensures that each header includes all of its dependencies that can't be
forward declared.
2019-08-25 07:34:27 -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 bc8218e183
Merge pull request #14 from lioncash/cmake
CMakeLists: Add source files directly to amuse target
2019-08-25 01:39:02 -07: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 ddc5661a38 CMakeLists: Migrate off directly modifying CMAKE_CXX_FLAGS
We can just use add_compile_options to append the compilation flag to
the directory property.
2019-08-25 04:28:27 -04:00
Lioncash 6d7665ecd6 CMakeLists: Add source files directly to amuse target
Same thing, less to read.
2019-08-25 04:26:04 -04: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
Phillip Stephens cbf331823f
Merge pull request #12 from lioncash/override
General: Make use of override where applicable
2019-08-24 23:47:53 -07:00
Lioncash 67c64a2d4e General: Make use of override where applicable
Continues the use of override.
2019-08-25 01:28:36 -04:00
Phillip Stephens 82d1a8d214
Merge pull request #11 from lioncash/shadow
General: Eliminate instances of shadowing
2019-08-24 21:38:45 -07:00
Lioncash 051e4b1704 General: Eliminate instances of shadowing
Avoids instances of local variable shadowing (which also silences some
-Wshadow warnings).
2019-08-25 00:33:58 -04:00
Phillip Stephens 520061a3bb
Merge pull request #10 from lioncash/noexcept
Common: Make interfaces constexpr and noexcept where applicable
2019-08-24 21:16:04 -07:00
Lioncash a8f4c1d34a Common: Less strict memory ordering requirements for IObj
Applies the same relaxed restrictions as applied to boo in
4d91a1b3c3
and
84f62a0f2c
2019-08-25 00:09:48 -04:00
Lioncash c46bb3f72b Common: Make interfaces constexpr and noexcept where applicable
Many of these types are trivial helper types. These can be made
constexpr and noexcept to allow using them with other interfaces in a
more flexible manner.
2019-08-25 00:04:01 -04:00
Phillip Stephens 529efa72b4 Fixes for `override` 2019-08-10 17:48:04 -07:00
Jack Andersen 1e35db90aa Windows build fixes 2019-07-27 15:18:09 -10:00
Jack Andersen b0e4973c64 Massive fmtlib refactor 2019-07-19 18:23:25 -10:00
Jack Andersen a74caa5fb0 New lzokay API 2019-06-14 14:36:28 -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 aeaba9366d Support for compiling against libc++ 2019-04-06 18:55:39 -10:00
Jack Andersen e04603bb7d Fix SoundMacro generation for SampleView 2019-03-09 23:13:17 -10:00
Jack Andersen aa5abd5ff5 Multiple StartSample bug fix 2019-03-08 22:58:02 -10:00
Jack Andersen a4b8946ee2 Ensure all ObjectIDs are unique project-wide 2019-02-28 10:34:26 -10:00
Jack Andersen 9f2bb1b371 Implicit switch fallthrough refactor 2019-02-17 19:45:24 -10:00
Jack Andersen 54ef2dd73b Correct SCALEVOLUME behavior 2019-02-07 15:07:46 -10:00
Jack Andersen fc2f8542c1 Windows compile fix 2019-01-28 22:26:40 -10:00