macOS system.log was reporting "Unknown key for integer: RunAtLoad" and
not loading qTox at start despite
~/Library/LaunchAgents/chat.tox.qtox.autorun.plist being present.
Changing the type from an int to a bool causes it to load successfully
on boot.
Fix#2814
Autotools version failed to configure on macOS, and QrEncode's README says "If
the configure script does not work well, try to use CMake." Cmake works for
both macOS and Windows.
Allows future macOS configuration in each individual build script to not all be
duplicated. Also deduplicates current Windows arg checking and config setting.
* Referring to groups generically as contacts is confusing.
* Friends are referred to as contacts in many places either as more
neutral wording, or to avoid using the keyword friend as a variable
name. Calling Contact Chat allows contact to be used for Friends.
* Make main.cpp's toxSave free functions into a ToxSave class so that it can be
given Settings on construction.
* Add void* to IPC callbacks so that classes can get back to themselves.
Grossly expose it publicly from Nexus for the time being since Profile is
sometimes constructed from main, while Nexus is also a singleton. So
CameraSource can't be constructed in main and be passed in to Nexus on
construction. This should be temporary, until Nexus's singleton is
removed as well.
foo=dirname "$0" only works if the script is called with an absolute path and
that path contains no spaces. Add quotes everywhere to contain spaces in
directory names or file names, and add realpath to get the absolute path
regardless of call path.
Not necessarily needed, but like in e405868037
it can avoid some annoying issues when e.g. that script was called with a
relative path in CI.
This reverts commit fd2997c2db.
Core tests are no longer online, so no longer are flaky nor tie up many
minutes of test runner time. So re-enable for all jobs.
Re-use tox instances between tests to avoid re-bootstrapping or re-requesting
friendship, saving time. Test case order within core_test is now important.
Taken directly from 9777aa619d/warnings
* Remove Wuseless-cast, because Qt's MOC-generated code hits it.
* Remove Wduplicated-branches, Wduplicated-branches, Wformat-truncation
because they aren't supported on our oldest CI job.
* Move free functions to the anonymous namespace
* Additionally move static free functions to the anonymous namespace
* Move functions that must be accessed externally to static class functions