Commit Graph
245 Commits
Author SHA1 Message Date
Bertrand Songis 75a5dfef24 Warnings removed 2019-08-12 14:54:16 +02:00
Andre BernetandBertrand Songis 90f933aab1 Inform on channel / radio not available (#6574)
Inform on channel / radio not available
2019-07-22 15:00:17 +02:00
Bertrand Songis c6aba06a85 Compilation fix 2019-05-17 22:02:51 +02:00
Bertrand Songis 11cb2ea29b Compilation fix 2019-05-17 20:27:16 +02:00
Bertrand Songis e036e3afa1 Companion new error detected on flash (when no device found) 2019-05-17 19:47:35 +02:00
Bertrand Songis d3be834567 Typo 2019-03-27 16:42:12 +01:00
Bertrand Songis 844b270779 Dates updated to 2019 2019-03-27 16:41:15 +01:00
Kilrah 3407f91aa0 Use website for release notes 2019-01-06 10:29:55 +01:00
Max Paperno 13b156402f [Companion] Verify that radio type in chosen profile actually exists, and add warning to the contrary (at startup and also on profile switch); Add/move some functionality to AppMessages and make it classy (todo: rename file). 2018-09-19 06:47:35 -04:00
Max Paperno b6a97318ec [Companion][FirmwarePreferencesDialog] Update the displayed latest firmware version number after a download completes. 2018-07-16 18:38:36 -04:00
Max Paperno 8d00e1dc8c [Companion][MainWindow] Allow aborting version update check network request. 2018-07-16 17:48:19 -04:00
Max Paperno df5722717a [Companion] Centralize download URLs; URLs now based on build major.minor version macros; Remove AVR fw download URL; Make some QStrings cheaper. 2018-07-16 17:36:33 -04:00
Max Paperno 71c5132c57 [Companion][MainWindow] Fix update check progress bar dialog remaining open when unnecessary; Also check for firmware updates even if CPN check fails with error. 2018-07-16 16:54:36 -04:00
3djc 5dd365238e Merge branch '2.2' into 2.3 2018-07-06 07:16:27 +02:00
Bertrand SongisandGitHub e6aea64689 Merge pull request #6006 from opentx/mpaperno/cpn_settings_refact
Refactor Companion settings system
2018-07-05 19:09:47 +02:00
Max PapernoandBertrand Songis d253c3163b [Companion] Delete QNetworkReply after update checks and release notes d-load (prevents leftover open handles, see QNetworkAccessManager docs); Use only one QNetworkAccessManager in MainWindow and properly dispose of it. (#6010) 2018-07-05 19:01:55 +02:00
Max Paperno 66ffa18dce [Companion] Rework SD Sync implementation:
~ Move UI to new FileSyncDialog class;
  ~ Improve UI responsiveness during operation (closes #5005);
  + Add log verbosity option (also helps with UI response);
  + Add several filtering settings in new "extra options" panel (include/exlude patterns, symlinks, recursive, empty folders);
  ~ Exclude patterns ".*" and "System Volume*" by default (addresses #5213, #5106);
  + Sanity check file timestamps when using date comparison, future dates are invalid (addresses #5735);
  ~ Folders are no longer included in file counts (total/created/etc);
  ~ Ignore unreadable files/dirs (also enables NTFS permissions check);
  ~ Switch from QMutex to QReadWriteLock.
2018-06-30 12:03:49 -04:00
Max Paperno 63476c03f3 [Companion] Implement application settings import and export via GUI and CLI. 2018-06-29 20:18:35 -04:00
Max Paperno 988c837011 [Companion] Refactor settings system (CompStoreObj/AppData/etc):
~ All stored properties are fully dynamic, using an extended version of the Qt Property System;
 ~ CompStoreObj is now QObject subclass;
 + All properties now have change notifier signals;
 ~ Do not store default values in settings;
 + Add _reset() and _default() functions for each property;
 + Settings import now ignores all non-existent properties automatically;
 + Add settings export functions;
 + Add more version macros;
 ~ Remove template functions;
 ~ Move DownloadBranchType and create NewModelAction enums and register with Qt meta system;
 ~ Multiple efficiency and optimization changes (const functions, literals, etc).
2018-06-29 20:00:10 -04:00
3djcandBertrand Songis a9e88c272a Remove misleading RC99 (#5982)
Replace 'release' by 'version' in a few places
2018-06-23 09:07:13 +02:00
Max PapernoandBertrand Songis f018425e12 [Companion] Qualify all translation strings (#5557)
* [Companion] Qualify all remaining QObject translations with proper class/object names; Centralize some common strings into constants.h.

* [Companion] Replace all instances of some common strings with macros from constants.h.

* [Companion] Fix translation warnings from lupdate.
2017-12-25 13:36:34 +01:00
Max Paperno a16e64420e [Companion] Recent files menu: show full path of each file in status bar and tooltips. 2017-12-19 21:21:20 -05:00
3djcandBertrand Songis 04547a9206 Merge companion and firmware notes, and get them from the server (#5530) 2017-12-18 23:02:40 +01:00
Max PapernoandBertrand Songis 0dbad182e8 [Companion] Radio conversion improvements (#5534)
* Move MultiposPots & MultiposPotsPositions capability lookups and getAnalogInputName() to Boards class.

* Add RawSource::isAvailable() and RawSwitch::isAvailable(); Add board type param to various RawSource lookup functions.

* Add CustomFunctionData::toString(), FlightModeData::toString(), FactoryInstalledPots board capability, MAX_SWITCH_TYPE, & break out GeneralSettings source/switch defaults to own function.

* Add RadioDataConversionState class for tracking conversion actions.

* Implement RadioDataConversionState handler, add conversion process report, and improve/fix conversion issues:
    * Make sure all switches/pots/knobs have default configs for destination board type;
    * Try to move more custom control names, intelligently;
    * Convert model timers and throttle source;
    * Adjust for Horus 6P switch in place of Taranis S2 knob;
    * Adjust for extra sliders on X12 and X9E to move LS and RS to proper slots as needed;
    * Make sure ALL controls are validated, eg. to always account for extra trims/analogs/switches/etc which don't exist on destination;
    * Properly indicate invalid RawSource::toString() items with "???".

* Allow user to cancel out of file conversions & provide ample warnings if switching radio type/profile with unsaved file(s) still open;
Also: Fix bug with some orphaned MdiChild windows never being deleted; Create static bool Storage::isBoardCompatible(b1, b2).

* Add maxLibQt "stub" (will not compile).

* Add ExportableTableView for better presentation of conversion results table.

* Move getFourCC() and isBoardCompatible() to Boards class.
2017-12-18 22:56:39 +01:00
3djcandBertrand Songis d90ac05d6e One settings to rule them all ! (#5449) 2017-12-01 11:54:30 +01:00
Bertrand SongisandGitHub 0faee13bc3 A 3rd branch for RC compilation (#5441)
A 3rd branch for RC compilation
2017-11-30 11:51:22 +01:00
Max Paperno 0f34bf3850 [Companion] Fix crash when closing main window while model/radio editor is open and cursor is in a field which has editingFinished() event handler. 2017-11-27 07:05:18 -05:00
Arne Schwabe 710e6ddc4c Also use https for nightlies 2017-09-28 15:05:57 +02:00
3djcandAndre Bernet f4ea92d1fc move to https (#5247) 2017-09-28 11:25:09 +02:00
Max PapernoandBertrand Songis 0fc1681d5c [Companion] Improve first use of Companion & upgrade notice (#4940)
* [Companion] On first use of Companion show preferences dialog and new welcome message (closes #4731); Improve detection of new version upgrade & reformat message; Add download link URL to Linux update notice (closes #4774); Fix issue with leftover top-level settings categories when checking for older versions which don't exist; Introduce basic structure for warnings/messages to be suppressed by user preferences (eg. "don't show this message again" option).

* Welcome msg typo fix.
2017-05-23 09:44:47 +02:00
Arne Schwabe 5825a2ec2c remove dubious GNUC and rename 9x refrences 2017-05-13 13:05:47 +02:00
Arne SchwabeandBertrand Songis 355f4b5f92 Also download and open new updates on OS X (#4926)
* Also download and open new updates on OS X

* Cosmetics
2017-05-13 13:03:39 +02:00
3djc 79d9359e56 More release prep 2017-05-13 11:46:13 +02:00
Max PapernoandBertrand Songis c1586b72bb [Companion] SD Sync reworked: (#4906)
* Complete re-write of SyncProcess, now more robust, UI-independent, runs in own thread, large speed boost;
    * Use file hash comparisons instead of byte-level compare with string methods (probable fixes for #4837 and #4848);
    * New pre-sync options dialog with selectable folders and other settings (settings are remembered until app exit);
    * Option to choose sync direction(s) (up/down/bi) and the order in which bi-directional sync runs;
    * Option to choose file comparison mode (timestamp/hash/both) or force overwrite (for one-way sync);
    * Option to set a maximum file size to copy;
    * Option to do a test run w/out actually copying any files;
    * Better reporting of progress, total counts (copied/updated/skipped), and errors, with color coding;
    * Much more reliable to cancel long-running/hung copy process;
    * ProgressWidget can now display rich-text in the text browser, added some new functions for usage;
    * Misc. small layout tweaks to ProgressDialog and ProgressWidget to make them behave/look better;
2017-05-08 20:51:26 +02:00
Max PapernoandBertrand Songis 96ccb4cb3f [Companion] Fix a few translations. (#4890)
* [Simulator] Fix keymap translations.

* [Companion] Fix translations in file type selector dialogs.

* [Simulator] Fix inadvertent help text delimiter change.
2017-05-06 18:04:51 +02:00
Bertrand Songis 3f06037e1b [Companion] Credits dialog refactoring 2017-05-06 17:55:03 +02:00
Bertrand Songis b790a844f1 Fixes #4806 2017-04-24 19:33:06 +02:00
Max Paperno 111bcad9a7 [Companion] Do not create a category in new file when loading data from radio; Fix crashes when editing category name. 2017-04-12 07:18:01 -04:00
Max PapernoandBertrand Songis d864a67c3b [Companion] Restore model drag/drop/compare, many UI improvements to main and sub-windows. (#4769)
* [Companion] Refactor MdiChild & TreeModel, restore drag/drop, and more:
    * Add full drag-and-drop functions to the models list, including model copy, move, and insert actions (also between windows);
    * Add general radio settings copy/paste across file windows;
    * Full MIME support with distinct types for various data (eg. models vs. general settings), also add new type for metadata (header);
    * Copied/cut models can now be inserted in any spot (similar to drop-insert);
    * Deleted/cut models can now be removed entirely (including the empty slot) for all radio types (any models after the removed one move up, like for Horus) (may need to make this an option);
    * Empty model slots can now also be removed (any models after the removed slot move up)  (but total # of slots is still maintained);
    * Default model can be deleted (new default is picked);
    * Completely revamp the actions system (copy/paste/edit/etc) to make it fully functional:
      * Actions exist in the window, not just context menu, therefore all keyboard shortcuts actually work, w/out any duplicated code;
      * Provides access from MainWindow in a comprehensive manner: all actions are available and properly updated based on selections in current editor window, w/out awkward event monitoring;
      * More actions available from context menu, and somewhat reorganized;
      * Also show all actions on mini toolbars right in the MDI window (possibly make optional later);
      * Updated English localization file to account for plurals usage in new action item names (other languages need to be updated);
    * Keyboard navigation in the model list now works/practical;
    * MDI window uses all available height by default;
    * Newly added models/categories are selected and highlighted; Category names are immediately editable; Model editor is/can be launched if wizard is not (need to make option);
    * MainWindow updates:
      * Edit toolbar and menu now showing all available edit actions, with proper context;
      * File menu properly updates with all "general" radio actions: edit/copy/paste settings and simulate radio;
      * Added Windows menu showing list of open windows (eg. to switch when full screen) and tabbed window option (need to make persistent setting);
      * Immediate update of icon size preference;
      * Do not delete toolbars when re-translating UI (they don't lose assigned position);

* [Companion] Restore model compare functionality by using new MIME data exchange system; Add ability to compare any number of models at a time; Multi-model printer now shows custom hardware settings for each dropped model (even from different radios).

* [Companion] Add missing monoblue & monowhite theme sdsync icons.

* [Companion] Model wizard starts with default model name populated.

* [Companion] Properly re-translate UI instead of recreating all the actions/etc.; Tell Mac specifically where to put our actions (seems to make it happier too).

* [Companion] Further improve handling of Window menu items/detection of sub-window changes.

* [Companion] Add file-close action.

* [Companion] Add user options and save preferences:
    * Option to use wizard, open editor, or do nothing on new model creation;
    * Option to remove empty model slots when deleting/moving models (in non-Horus radios);
    * Options to hide toolbars in document windows (r-click on TBs);
    * Save/restore size of document windows, and maximized/tabbed state;
    * Save/restore size/position of model compare window;
    * Add shortcuts for model compare, FW download, log viewer;

* [Companion] Disable being able to "delete" empty model slots (more awkward than helpful).
2017-04-10 19:29:41 +02:00
Max PapernoandBertrand Songis 36bb951314 [Companion] Radio profile/current firmware handling: (#4737)
* Fix possible confusion/data corruption when deleting radio profile (closes #4734, ref: #4686);
    * Add Delete Profile action to Radio Profiles menu (closes #4736) (but remove from from app prefs. panel);
    * Add confirmation prompt before deleting profile;
    * Open profile settings dialog when creating/copying a profile (closes #4735);
    * Make sure current (global) firmware flavor is properly updated when changing fw type/options in profile;
    * Append "-Copy" to name of copied profile;
    * Factor out Firmware global vars/functions in favor of static members.
2017-04-02 12:17:06 +02:00
3djcandBertrand Songis e2722509f7 Instead of copying current profile, start from a blank one (#4714)
* Instead of copying current profile, start from a blank one

* Handle both add profile (which add a new (ie blank) one) and copy current profile which behaves like before (but says it)

* Avoid duplicate code
2017-03-31 16:14:00 +02:00
Max Paperno c8be6d406d [Companion] Replace erroneously removed File menu items (closes #4708). 2017-03-27 23:03:12 -04:00
Max PapernoandBertrand Songis dcdbff74b0 [Companion] Translation system improvements. (#4676)
* [Companion] I18N:
    * Introduce new Translations class to centralize all related functionality;
    * Add ability to search multiple locations for .qm translation binaries (local folders, resources, system paths);
    * Add ability to reload translations dynamically w/out application restart;
    * Improve support for loading Qt translations (if available);

* [build][i18n] Look for and include pre-built Qt translations with other translation resources; Generate translations.qrc dynamically with rest of build files;  Add EN "translation" file (simpler UI string edits and possible abstractions); Rename ZH translation file to be country-specific.

* [build] Centralize finding all the Qt bits into root CMakeLists; Make sure QT_QMAKE_EXECUTABLE is defined; Disable dysfunctional simulator installer script generation.

* Cosmetics (unused includes).

* [Companion] Make language options menu dynamic based on available translations, and always show native language name; Allow changing language of some elements w/out restarting (esp. menus/toolbar buttons); Simplify menus/actions/handlers for themes and icon sizes.

* [build] Better way to generate translations.qrc using input file again (previous method was generating new qrc for each reconfig);  Make sure common library is linked to other modules which may need it; Remove unused script.
2017-03-25 13:06:36 +01:00
Andre Bernet b01de7797c Remove dangling empty file after download error 2017-03-19 17:22:15 +01:00
Andre Bernet 7628866def Register .otx files on Win 2017-03-18 23:59:57 +01:00
Andre Bernet c3febf3560 [companion] Default category on new file was added at the wrong place and also created when reading form radio 2017-03-05 10:37:18 +01:00
Max PapernoandBertrand Songis 00b2799427 [Companion][Simulator] Add custom qDebug message handler/formatter (#4475)
* [Companion][Simulator] Add custom qDebug message handler/formatter as an option. Keeps support for QT_MESSAGE_PATTERN env. var.

* [Simulator] Show system messages of level qInfo and above in debug console.

* [Simulator] Still capture screenshot to clipboard if path is not accessible (and screenshot results now print to simulator debug console).

* Fix for older CMake.

* [Companion] Do not start debug message handler if app is shutting down, and add null checks before using it; Increase backtrace report depth; Add OTx headers; Add Companion exit status debug; Clean up unused code.

* [Simulator] Add asynchronous FIFO buffer for handling debug output/display more efficiently. (#4488)
(cherry-picked from b12bd7d7be)
2017-03-02 18:35:00 +01:00
3djcandBertrand Songis b5798e219d Menu updates handling cat/models for Horus (#4452)
* Alt+S is properly set

* Copy menu fixed

* Cosmetics

* Better handling of model and categories signaling

* Cosmetics

* Cosmetics and handling of special case after model or cat creation

* Remove unused viableModelSelected

* Take 2

* Start work on connect to new standards
2017-02-15 16:28:39 +01:00
Bertrand SongisandGitHub 70cfbbd646 Bsongis/issue 4400 (#4425)
* Cosmetics before fixing #4400

* Cosmetics before fixing #4400

* Now one more conversion issue (SF => SH sources conversion from X9D to X7)

I don't know what is exactly the conversion issue as I don't have the original EEPROM, but I used this one for my tests, so I fix it

* Now we display correctly the corrupted mixers list so that copy/paste will work correctly (it was not consistent)

+ some cosmetics

* Test removed too quickly

* One global removed ;)
2017-02-10 17:17:52 +01:00
Andre Bernet 00adc318ce The "Downloads" dialog (previously firmware preferences) doesn't actually change anything anymore, so shouldn't update anything and thus run a storage conversion 2017-01-30 10:54:26 +01:00