Compare commits

..
1979 Commits
Author SHA1 Message Date
Jeremy Rimpo b3d27472cf Merge pull request #1949 from ModOrganizer2/251rc1
Update version to 2.5.1 RC 1
2023-12-16 16:47:18 -06:00
Jeremy Rimpo e1932b34ea Update version to 2.5.1 RC 1 2023-12-16 16:46:39 -06:00
Jeremy Rimpo 70a41a9b27 Merge pull request #1941 from ModOrganizer2/dummy-display-tweak
Change recordless plugin display to flag icon
2023-12-16 16:30:32 -06:00
Jeremy Rimpo 20aa98b511 Change recordless plugin display to flag icon 2023-12-05 19:23:09 -06:00
Mikaël Capelle 783c05478f Merge pull request #1937 from ModOrganizer2/null-category-fix
Null category fix
2023-12-03 09:04:41 +01:00
Jeremy Rimpo 0315a88bd8 Rename sort button to match UI 2023-12-02 15:53:29 -06:00
Jeremy Rimpo 026fec4468 Fix crash if no Nexus category is assigned 2023-12-02 15:52:25 -06:00
Jeremy Rimpo 04eff9750f Merge pull request #1926 from ModOrganizer2/2_5_x
Version 2.5.0
2023-11-29 00:05:32 -06:00
Jeremy Rimpo 22714e5cdc Version 2.5.0 2023-11-24 20:48:23 -06:00
Jeremy Rimpo 8dd1637d1d Merge pull request #1924 from ModOrganizer2/style_updates
Style updates
2023-11-20 12:07:21 -06:00
Jeremy Rimpo 2eade4c638 Style updates
- Remove Transparent Style directory (pulled in by MOB)
- Update Night Eyes to 1.2
2023-11-19 19:21:24 -06:00
Jeremy Rimpo 828c9c8157 Merge pull request #1921 from ModOrganizer2/rc_fixes
A few fixes for RC 1
2023-11-17 03:36:55 -06:00
Jeremy Rimpo 773e3acd58 A few fixes for RC 1
* Convert the priority index to a string as Windows appears to be converting these to localized numerals
* Skip separators when assigning categories
* Update the context menu requirements for displaying the auto-assign option
* Bump to RC 2
2023-11-16 23:57:16 -06:00
Mikaël Capelle 1b4ed39747 Merge pull request #1917 from ModOrganizer2/translation_bump
Bump version and update translations
2023-11-07 10:56:39 +01:00
Jeremy Rimpo efef62f49d Bump version and update translations 2023-11-07 03:58:07 -05:00
Jeremy Rimpo 8c562fe8a9 Merge pull request #1915 from ModOrganizer2/download_issues
Download issue fixes
2023-11-05 12:55:19 -06:00
Jeremy Rimpo 8f77fff215 Merge pull request #1911 from ModOrganizer2/plugin_display
Display changes for plugins
2023-11-05 12:49:39 -06:00
Jeremy Rimpo c48b7d8803 Download issue fixes
- Add scoped watcher disabler
- Disable during mod install
- Update interprocess message handler to fix 'unable to communicate' issues
2023-11-05 12:37:16 -06:00
Mikaël Capelle af5e04208a Merge pull request #1904 from Liderate/master
Replace spaces with ? wildcard when looking for game executable, fix #1605.
2023-11-05 09:17:23 +01:00
Jeremy Rimpo 037e17e816 Display changes for plugins
- Only bold master plugins
- Only italicize light plugins
2023-10-31 23:09:27 -05:00
Jeremy Rimpo 3c0cd1c888 Merge pull request #1907 from ModOrganizer2/plugin_updates
Plugins updates
2023-10-27 21:19:30 -05:00
Jeremy Rimpo f8954806c3 Explain overlay comments 2023-10-27 20:53:53 -05:00
Liderate f6af8ed275 Replace spaces with ? wildcard for #1605 2023-10-21 04:25:12 -04:00
Jeremy Rimpo 8f6ba13fbc Use hasNoRecords 2023-10-18 23:08:49 -05:00
Jeremy Rimpo 2f5cca5c60 Plugins updates
- Temporarily remove some overlay info
- Add isDummy and dummy info
- Display refinements for plugin info
2023-10-18 22:57:48 -05:00
Jeremy Rimpo d57d8bdd5a Merge pull request #1906 from ModOrganizer2/geometries_directory
Add new content images to resources
2023-10-17 14:17:46 -05:00
Jeremy Rimpo 1adb8b9ada Add new content images to resources 2023-10-17 00:56:04 -05:00
Mikaël Capelle cd4ba84219 Merge pull request #1903 from Liderate/master
Improve invalid name handling for profiles.
2023-10-13 18:58:17 +02:00
Liderate 067ae9c89d Improve invalid name handling for profiles 2023-10-13 01:08:20 -04:00
Jeremy Rimpo f8d02faf71 Merge pull request #1901 from ModOrganizer2/translation_bump
Update translations and version
2023-10-09 02:51:44 -05:00
Jeremy Rimpo c92285bb20 Update translations and version 2023-10-09 02:26:42 -05:00
Jeremy Rimpo 16977b5159 Merge pull request #1899 from ModOrganizer2/overlay_support
Additional overlay plugin support
2023-10-08 13:05:11 -05:00
Jeremy Rimpo 028c8eafa9 Additional overlay plugin support
* Add isOverlayFlagged to IPluginList
* Further notate plugin list
* Rename to match xEdit / Wrye / LOOT
* Update counter
2023-10-08 04:17:07 -05:00
Jeremy Rimpo 48e8fdff0d Merge pull request #1897 from ModOrganizer2/tutorial_translation_fixes
Tutorial translation updates
2023-10-05 09:17:40 -05:00
Jeremy Rimpo 09b8baac5a Tutorial translation updates 2023-10-04 13:57:44 -05:00
Jeremy Rimpo e9a5e5b274 Merge pull request #1895 from ModOrganizer2/discord_link
Discord link updates
2023-10-04 03:06:10 -05:00
Jeremy Rimpo 7e50a26c6a Merge pull request #1896 from ModOrganizer2/override_index_fix
Skip index for override plugins
2023-10-04 02:45:21 -05:00
Jeremy Rimpo 81082d70e2 Skip index for override plugins 2023-10-04 00:55:16 -05:00
Jeremy Rimpo 57e9b7e258 Discord link updates 2023-10-03 23:33:28 -05:00
Jeremy Rimpo f8a3d5b86e Merge pull request #1894 from ModOrganizer2/loot_0_22
WIP: Plugin sorting updates
2023-10-03 23:15:42 -05:00
Jeremy Rimpo b5ba8522d8 Merge pull request #1893 from ModOrganizer2/fix/directory-refreshed-qtimer
Fix QTimer being created on incorrect thread after refresh.
2023-10-02 20:21:11 -05:00
Jeremy Rimpo a705938ffd Allow moving force enabled plugins
- Mirrors LOOT functionality
- Rename 'forceEnabled' to 'forceLoaded' to better reflect the difference
2023-10-02 18:30:03 -05:00
Jeremy Rimpo 62e8ddc9ca Updates to refresh sort button after various events 2023-10-02 18:28:35 -05:00
Jeremy Rimpo c19fbb6818 Plugin sorting updates
- Add enabledPlugins for core plugins which are enabled but NOT auto-loaded (may need to be written to plugins.txt or have an ambiguous load order position)
- General Starfield updates
  - Add enabledPlugins for "BlueprintShips-Starfield.esm"
  - Disable plugin management if sTestFile is in use (also applies to FO4)
  - Write the enabledPlugins to plugins.txt to enforce base game load order
  - Allow for LOOT sorting (dynamic based on settings)
- Incorporate enabledPlugins into force enabled plugins in plugin list
- Update various interface layers

TODO: Fix sort button to dynamically update if status changes
TODO: Auto refresh lists if the INI Editor is closed
2023-10-02 15:27:14 -05:00
Mikaël Capelle 0d5f023f76 Fix QTimer being created on incorrect thread after refresh. 2023-10-02 22:23:37 +02:00
Jeremy Rimpo 34ad5d85ed Merge pull request #1892 from ModOrganizer2/settings_refresh
Refresh the esp/bsa lists after closing settings
2023-10-02 09:46:10 -05:00
Jeremy Rimpo ee8dbed66c Refresh the esp/bsa lists after closing settings
- Should resolve issues with certain settings not 'applying' immediately
- For example: Starfield 'enable plugin management' setting
2023-10-01 20:13:36 -05:00
Mikaël Capelle ff0eb2fb70 Refresh Callback (+ Extra for AboutToRun) (#1884)
* Add working directory and arguments to onAboutToRun (optional).

* Add onRefreshCallback functionality.
2023-09-29 08:23:52 +02:00
Jeremy Rimpo 63f663ac8a Translation updates 2023-09-28 22:15:36 -05:00
Jeremy Rimpo 11d106ec0b Merge pull request #1887 from ModOrganizer2/race_fix
Attempt to fix possible race condition
2023-09-28 13:27:15 -05:00
Jeremy Rimpo 590801329d Attempt to fix possible race condition 2023-09-28 03:32:36 -05:00
Jeremy Rimpo e7ee47b6e2 Merge pull request #1883 from ModOrganizer2/tutorial_updates
Tutorial updates
2023-09-27 15:28:04 -05:00
Jeremy Rimpo 79d457f598 Merge pull request #1880 from ModOrganizer2/qt6-category
WIP: Category Revamp
2023-09-25 17:39:41 -05:00
Jeremy Rimpo 523ea046a9 Tutorial updates
- Add ability to exit tutorial early
- Update and clarify many of the tutorials
2023-09-25 17:34:41 -05:00
Jeremy Rimpo 74668b9363 Fixes for table
* row increment needs to be before the logic but after the ID check/continue
* avoid running context menu logic on null rows
2023-09-24 19:03:08 -05:00
Jeremy Rimpo cdc16dfbb2 Use c++11 for loop 2023-09-24 14:36:52 -05:00
Jeremy Rimpo c30b5183ae Convert for loops, move nexusCats 2023-09-24 05:54:27 -05:00
Jeremy Rimpo 11522cf700 Remove unnecessary plugincontainer from settings 2023-09-23 22:24:09 -05:00
Jeremy Rimpo 4bd860a0d2 Remove download refresh scoped blocker
- Accidentally added to this branch
2023-09-23 21:51:41 -05:00
Jeremy Rimpo 5f14c57555 Unnecessary class definition 2023-09-23 21:35:29 -05:00
Jeremy Rimpo 5d67b8dd21 Remove extraneous function 2023-09-23 21:02:52 -05:00
Jeremy Rimpo efdff42d5f Make category struct attributes private 2023-09-23 20:59:40 -05:00
Jeremy Rimpo b7d4d20bf1 Revert TS 2023-09-23 19:04:01 -05:00
Jeremy Rimpo a67a919e54 Revert version.rc
I think VS did this when I tried to use the GUI
2023-09-23 19:03:07 -05:00
Jeremy Rimpo e22331fa03 Restructure category refresh action
- Remove plugins class
- Route signals to run Nexus API call from MainWindow
- Pass Dialog instance to route response data
- Revert CategoryFactory::instance to return reference
2023-09-23 19:00:41 -05:00
Jeremy Rimpo 31a85a3db5 Reassign filter group for category classes 2023-09-22 13:50:31 -05:00
Jeremy Rimpo aff3e09873 Add UI file 2023-09-22 02:41:32 -05:00
Jeremy Rimpo 7c900bb1c8 Add new dialog for category import
- Merge or replace strategies
- Nexus mappings are optional
- If mappings are applied, remapping is optional
2023-09-21 21:04:45 -05:00
Jeremy Rimpo d2e48ed72e Fix rebase issues 2023-09-21 17:43:29 -05:00
Jeremy Rimpo 133c072eb7 Rework download category parsing
- Bypasses issue where hidden downloads are not accessible
- getCategoryID no longer necessary
2023-09-21 17:35:08 -05:00
Jeremy Rimpo 639fc787bf Update new instance / migration dialogs 2023-09-21 17:35:08 -05:00
Jeremy Rimpo e18452ee76 Category dialog tweaks for clarity 2023-09-21 17:35:08 -05:00
Jeremy Rimpo 049a7e2efd Dialogs and bugfixes 2023-09-21 17:35:08 -05:00
Jeremy Rimpo f8b015220d Cleanup 2023-09-21 17:35:08 -05:00
Jeremy Rimpo 59bc9e3167 Make the category table sortable 2023-09-21 17:35:08 -05:00
Jeremy Rimpo c50ad58843 Add nexus category ID to mod info
- We will check the mod info first then fall back to the download file
- Add category field in the info dialog nexus tab
2023-09-21 17:35:08 -05:00
Jeremy Rimpo f6bb73deb2 Clang cleanup 2023-09-21 17:35:05 -05:00
Jeremy Rimpo 4342fe3ce1 Several updates
* No longer cause an error when deleting a category that's being used
* Add a dialog when installing a mod with no Nexus mapping (if not disabled)
* Allow disabling Nexus category mapping in Settings (Nexus tab)
* Add context option to remove nexus mappings in the category editor
* Some clang style fixes
2023-09-21 17:32:37 -05:00
Jeremy Rimpo 6dfe55f444 Fix archive parsing and BSA invalidation 2023-09-21 17:31:32 -05:00
Jeremy Rimpo 41c4d09229 Fix merge issues 2023-09-21 17:30:35 -05:00
Jeremy Rimpo fba3d52f56 Preserve old category if Nexus category can't be mapped 2023-09-21 17:29:40 -05:00
Jeremy Rimpo 05edcc8ab4 C++20 fixes 2023-09-21 17:29:38 -05:00
Jeremy Rimpo eeddc993a7 Add reminder dialog for old instances 2023-09-21 17:27:49 -05:00
Jeremy Rimpo 9a801f6501 Don't overwrite existing Nexus category mappings 2023-09-21 17:27:33 -05:00
Jeremy Rimpo 8f31a1ceec Category setup dialog for new instances 2023-09-21 17:27:17 -05:00
Jeremy Rimpo 3243101eed Fix issues with category reset and NX save 2023-09-21 17:25:46 -05:00
Jeremy Rimpo b9f05672b9 Allow remapping category from context menu 2023-09-21 17:24:57 -05:00
Jeremy Rimpo 535623693e Add menu item to auto-assign categories based on nexus assignments 2023-09-21 17:23:34 -05:00
Jeremy Rimpo 69f953a3fb Refactoring for upstream merge 2023-09-21 17:22:03 -05:00
Jeremy Rimpo 6016b04ef0 Fix rebase issue 2023-09-21 17:14:55 -05:00
Silarn 375b8e613e Implement drag & drop nexus cat assignment 2023-09-21 17:12:17 -05:00
Silarn 2f7478f8fc WIP: Fix data storage and fix loading 2023-09-21 17:11:59 -05:00
Silarn f764271b1f WIP: Refactor cat dialog and implement nex cat updates 2023-09-21 17:10:39 -05:00
Silarn 127db7799e WIP: Category QObj refactor 2023-09-21 17:03:43 -05:00
Silarn 4fd45b937c WIP: Initial changes to fetch nexus categories 2023-09-21 16:54:49 -05:00
Silarn 0b6afd6a9a Add new API connection to retrieve game info 2023-09-21 16:46:52 -05:00
Jeremy Rimpo 83f9af3d3e First pass for Qt6 compatibility 2023-09-21 16:30:41 -05:00
Jeremy Rimpo 7050927540 Default profile settings (#1869)
* Fix archive parsing and BSA invalidation
2023-09-19 18:19:39 +02:00
Eddoursul 59b5b1cfca Download files from direct URLs via a command line parameter (#1873)
* Download files via a command line parameter
* Use a GET parameter to predetermine Content-Disposition header in S3-compatible temporary URLs
2023-09-18 19:48:13 +02:00
Jeremy Rimpo a6879e2c63 Merge pull request #1863 from ModOrganizer2/starfield
Starfield Support
2023-09-17 16:13:26 -05:00
Jeremy Rimpo f2a784ed70 Allow unforced plugins to be checkable again 2023-09-16 03:21:18 -05:00
Jeremy Rimpo dff79a6cc0 Bumping version since betas are pulling ahead 2023-09-15 21:31:17 -05:00
Jeremy Rimpo 800c2ea084 Context menu fix
Prevent changing the status of force disabled or enabled plugins via the context menu
2023-09-15 21:30:07 -05:00
Mikaël Capelle 1387f6aefe Merge pull request #1870 from LePresidente/master
Update readme.md with new discord links
2023-09-15 14:38:09 +02:00
Brian Munro 6e9e4482c1 Update readme.md with new discord links 2023-09-13 10:46:21 +02:00
Jeremy Rimpo d15a87b0e6 Fix lint issues 2023-09-13 03:23:47 -05:00
Jeremy Rimpo b1f3c7ea51 Fix merge issues and small plugin display corrections 2023-09-12 16:53:45 -05:00
Jeremy Rimpo 3dc00922ed Changes for None-type plugin sorting
* Display checkboxes for all plugins
* Disable checkboxes for force enabled/disabled plugins
* Display tooltip data for all plugins regardless of force status
2023-09-12 15:08:21 -05:00
Jeremy Rimpo d586bb23e9 Code cleanup 2023-09-09 05:13:48 -05:00
Jeremy Rimpo 94455c2dab Add 'None' LoadOrderMechanism which disables managed plugins
- Primary plugins are still marked as loaded
2023-09-09 04:37:03 -05:00
Jeremy Rimpo 58cc25f322 Implement 'override' plugin support 2023-09-05 13:25:01 -05:00
Jeremy Rimpo e0d6bb12bf Update translation files 2023-09-05 00:09:41 -05:00
Jeremy Rimpo 6b0b7a1cec beta 2 2023-09-05 00:08:10 -05:00
Jeremy Rimpo 5bb4a2aae7 Merge remote-tracking branch 'origin/qt6' 2023-09-04 22:28:46 -05:00
Jeremy Rimpo fdc4ebd18c Map multiple data directories to USVFS 2023-09-04 22:20:25 -05:00
Jeremy Rimpo 3f33571a18 Add VDF reader to licenses and update openssl 2023-09-04 20:08:21 -05:00
Jeremy Rimpo 69e73933b9 Version bump 2023-09-04 19:43:07 -05:00
Jeremy Rimpo 978b4b234b Parse secondary data directories into the directory structure 2023-09-04 19:40:09 -05:00
Mikaël Capelle c8e247f900 Merge pull request #1842 from Holt59/dev/mob-github-action
Switch to generic mob Github action.
2023-07-10 19:49:58 +02:00
Mikaël Capelle 92689d124a Switch to generic mob action. 2023-07-10 19:04:09 +02:00
Mikaël Capelle 0dd04fbdb6 Merge pull request #1841 from ModOrganizer2/fix/fix-pch-include-order
Fix order of includes in pch.h.
2023-07-09 21:32:48 +02:00
Mikaël Capelle 9ddde468ea Fix order of includes in pch.h. 2023-07-09 21:32:30 +02:00
Mikaël Capelle 26d32db436 Merge pull request #1840 from ModOrganizer2/ci/fix-build-on-pr
Fix build on PR
2023-07-09 18:18:49 +02:00
Mikaël Capelle 6c0d1ccb5a Fix build CI. 2023-07-09 18:17:54 +02:00
Mikaël Capelle 27cf8372aa Merge branch 'master' of github.com:ModOrganizer2/modorganizer 2023-07-09 17:36:09 +02:00
Mikaël Capelle ef94aee284 Merge pull request #1839 from Holt59/ci/initial-gh-action-for-build
Clang-Format + Github Workflow
2023-07-09 17:36:03 +02:00
Mikaël Capelle 3de050e9c0 Create test action to build. 2023-07-09 17:25:28 +02:00
Mikaël Capelle fc8bdd073f Create test action to build. 2023-07-09 17:23:16 +02:00
Mikaël Capelle 78b0c89203 Add .git-blame-ignore-revs. 2023-07-09 17:22:39 +02:00
Mikaël Capelle d13f6bb870 Apply clang-format. 2023-07-09 17:20:40 +02:00
Mikaël Capelle 86bb01ba9e Convert everything to CRLF. 2023-07-09 17:17:53 +02:00
Mikaël Capelle 7d6cb8528d Merge pull request #1837 from Holt59/fix/install-notify-plugins-after-structure-ready
Notify mod installation to plugins after directory structure is ready.
2023-07-05 19:39:18 +02:00
Mikaël Capelle 05059793b8 Notify mod installation to plugins after directory structure is ready. 2023-07-03 20:32:58 +02:00
Mikaël Capelle a95d3fa248 Merge pull request #1703 from ModOrganizer2/fix-progressbar-style
Fix progressbar style
2022-05-14 20:45:16 +02:00
Mikaël Capelle 45b648ba21 Fix QProgressBar margin in style. 2022-05-14 20:44:54 +02:00
Mikaël Capelle e8c65d7779 Merge pull request #1701 from ModOrganizer2/rollback-stylesheets
Rollback stylesheets change for Qt6 to fix highlighting.
2022-05-10 21:13:48 +02:00
Mikaël Capelle 37c9e13c60 Rollback stylesheets change for Qt6 to fix highlighting. 2022-05-10 21:13:22 +02:00
Mikaël Capelle c5a203f448 Bump to 2.5.0-alpha3. 2022-05-08 14:24:43 +02:00
Jeremy Rimpo 21bca0ca8d Merge pull request #1698 from ModOrganizer2/download_speed_fix
Extend download speed datatypes to qint64/long long to avoid overflow
2022-05-04 10:56:33 -05:00
Jeremy Rimpo 25e2e59888 Extend download speed datatypes to qint64/long long to avoid overflow 2022-05-04 09:14:12 -05:00
Mikaël Capelle 318b8a5671 Merge pull request #1697 from ModOrganizer2/fix-vs15-dark
Fix V15 dark themes
2022-05-03 21:34:08 +02:00
Mikaël Capelle 65eaeb848f Fix and clean VS15 Dark themes. 2022-05-03 21:29:09 +02:00
Mikaël Capelle a55fcd64d3 Bump to 2.5.0-alpha2. 2022-05-02 22:37:09 +02:00
Mikaël Capelle 060ca725bf Merge pull request #1696 from ModOrganizer2/python-rework
Plugin updates (python rework)
2022-05-02 20:32:00 +02:00
Mikaël Capelle abe926dc15 Allow Qt plugins in subfolder. 2022-05-02 17:04:04 +02:00
Mikaël Capelle 14c6ee4d27 Ties plugin to the PluginContainer. 2022-05-02 17:04:04 +02:00
Mikaël Capelle 7a4cdc8f81 Merge pull request #1636 from LostDragonist/supporturl
Add wiki linkage for games
2022-05-02 17:02:48 +02:00
Mikaël Capelle 8e0970235b Set OUTPUT_NAME before configuring. 2022-04-28 19:24:07 +02:00
Mikaël Capelle d998f9f493 Minor fixes. Add gamebryo translations. 2022-04-20 00:33:39 +02:00
Mikaël Capelle 712fbb4aff Update following cmake_common changes.
# Conflicts:
#	CMakeLists.txt
#	src/CMakeLists.txt
#	src/organizer_en.ts
2022-04-19 15:24:09 +02:00
Jeremy Rimpo ab76e5212f C++20 fixes 2022-04-19 15:17:44 +02:00
Chris Bessent 5a41b73e41 Update version to 2.4.5alpha1 2022-04-19 15:17:44 +02:00
Jeremy Rimpo d51b5bf060 Update to alpha 1 2022-04-19 15:17:44 +02:00
Jeremy Rimpo 5897ce138b Decrease rolling window size for download speed 2022-04-19 15:17:44 +02:00
Jeremy Rimpo adee725bb3 Restore HTTP/2 and set configuration
> Window size values reflect those used in Firefox and Chrome
2022-04-19 15:17:44 +02:00
Jeremy Rimpo ec4a98c662 Add 'right' tag to bbcode parser 2022-04-19 15:17:44 +02:00
Jeremy Rimpo 2fabe99830 Patch for slow download speeds
- Disable HTTP/2 protocol
- Not ideal, might be able to adjust QHttp2Configuration settings
2022-04-19 15:17:44 +02:00
Jeremy Rimpo 05d01e39fa Download status improvements
- Better speed calculation
- Add download time estimate
2022-04-19 15:17:43 +02:00
Jeremy Rimpo 2017700eed Translation fixes 2022-04-19 15:17:43 +02:00
Jeremy Rimpo af0337d5b4 Better nexus network errors 2022-04-19 15:17:43 +02:00
Jeremy Rimpo 35ca9ce0ba Fix webkit obsolete tag error 2022-04-19 15:17:43 +02:00
Mikaël Capelle 034ef8dfa6 Update version RC
# Conflicts:
#	src/version.rc
2022-04-19 15:17:39 +02:00
Jeremy Rimpo 20b3f2d705 Fix tutorial error message 2022-04-19 15:17:23 +02:00
Jeremy Rimpo f6c690e31f Fix BBCode parsing 2022-04-19 15:17:23 +02:00
Jeremy Rimpo a99d0930c7 Remove incompatible QDDS plugin 2022-04-19 15:17:23 +02:00
Jeremy Rimpo 02667f8fde Fix BBCodes 2022-04-19 15:17:23 +02:00
Jeremy Rimpo abe3f6b191 TLS debugging 2022-04-19 15:17:23 +02:00
Jeremy Rimpo fb4cd4375c Remove dependency on Core5Compat 2022-04-19 15:17:23 +02:00
Jeremy Rimpo c4b2be45d2 First pass for Qt6 compatibility 2022-04-19 15:17:23 +02:00
Chris Bessent ec01532ecb Bump version to 2.4.5 alpha 3 2022-03-27 00:58:26 -07:00
Chris Bessent 3b5aeebb72 Merge pull request #1661 from LostDragonist/censor
Hopefully restrict username censoring to directories
2022-03-27 00:57:12 -07:00
Al 1929e5e57b Merge pull request #1676 from LostDragonist/master
Make fixes to ESM plugin priorities
2022-03-20 10:56:21 +01:00
Chris Bessent cfe03a8561 Make fixes to ESM plugin priorities
Before now, MO2 only looked at the ESM flag of a plugin and didn't
look for an .esm extension. This is incorrect and an .esm file
should be treated as implicitly having the ESM flag.

This also removes some apparently unused functions.
2022-03-19 22:21:54 -07:00
Chris Bessent 164c6af962 Merge pull request #1670 from Qudix/isX
Add/Change IPluginList `hasXExtension` and `isXFlagged` methods
2022-03-19 21:10:24 -07:00
Chris Bessent c6874c1771 Merge pull request #1671 from MarkKoz/bug/1589/category-id-conflict
Fix tattoo's category ID conflicting with voice's ID
2022-03-19 21:06:56 -07:00
Qudix 8fb36b0b28 Change isXFile to hasXExtension 2022-03-19 20:00:43 -05:00
MarkKoz 8159a476cf Fix tattoo's category ID conflicting with voice's ID
Fix #1589
2022-02-28 17:01:31 -08:00
Qudix 0b9c96e845 Rename isX to isXFile, and deprecate isMaster
Also made sure to not change existing behaviour
2022-02-24 19:54:31 -06:00
Qudix 6d73f9a18a Add isMasterFlagged to pluginCount 2022-02-24 18:36:02 -06:00
Qudix 5b855f2e19 Add isMasterFlagged isLight isLightFlagged
Note: The behavior of isMaster has been changed to match isLightFlagged
2022-02-24 18:34:10 -06:00
Chris Bessent 21487ad8ee Hopefully restrict username censoring to directories 2022-02-04 17:30:50 -07:00
Chris Bessent e78f46cc9e Update version to 2.4.5alpha2 2022-01-23 21:59:52 -07:00
Chris Bessent 25cdbe3918 Merge pull request #1654 from LostDragonist/loadorder
Loadorder
2022-01-23 11:33:01 -07:00
Chris Bessent da4a013590 Update version to 2.4.5alpha1 2022-01-23 11:29:53 -07:00
Chris Bessent 0b14cc4753 Enforce the priority rules on every refresh 2022-01-23 11:11:22 -07:00
Chris Bessent cee8d5ed72 Enforce relationships between plugins
Masters must be above their children and children must
be below their masters.  Currently only applies when trying
to move plugins.
2022-01-23 11:11:22 -07:00
Chris Bessent 0783eb373b Fix possible NPE when booting up 2022-01-23 11:11:22 -07:00
Chris Bessent feb411fb2a Force priority of primary plugins
This fixes a problem with new instances where the primary plugins
would be ordered alphabetically instead of in the correct order.
2022-01-23 08:25:58 -07:00
Chris Bessent 3b1ee9d43b Merge pull request #1652 from LostDragonist/trosski
Remove Trosski stylesheets (now pulled in by build system)
2022-01-15 12:13:24 -07:00
Chris Bessent 3f9020ea4b Remove Trosski stylesheets (now pulled in by build system) 2022-01-15 11:34:54 -07:00
Chris Bessent b4bbb09cb5 Merge pull request #1643 from ModOrganizer2/update_fix
Fix update checking for files not installed from the downloads
2022-01-05 12:12:03 -07:00
Chris Bessent 9fdf3b759d Fix update checking for files not installed from the downloads
This is the difference between "D:\Downloads\USSEP.7z" and
"USSEP.7z".
2022-01-02 04:54:22 -07:00
Chris Bessent 1df1ea5e11 Bump version to 2.4.4 2021-12-27 02:03:08 -07:00
Chris Bessent dfcbf45e1d Fix discord invite 2021-12-27 01:58:50 -07:00
Chris Bessent eb7f5bb5d1 Add first start dialog and help menu entry 2021-12-27 00:34:45 -07:00
Chris Bessent 656b4fae4d Fix discord invite 2021-12-26 23:59:31 -07:00
Chris Bessent 1e5c019767 Bump version to 2.4.3 2021-12-25 14:54:32 -07:00
Chris Bessent d41fbfd7e1 Bump version to 2.4.3rc3 2021-12-23 13:29:21 -07:00
Chris Bessent 2626649cc6 Bump version to 2.4.3 RC 2 2021-12-19 12:19:29 -07:00
Chris Bessent 8d08d7f6ba Update about dialog 2021-12-17 19:46:42 -07:00
Chris Bessent d30a095b3e Bump version to 2.4.3rc1 2021-12-17 05:57:40 -07:00
Chris Bessent b5efa60db9 Fix optional access on profiles dialog 2021-12-07 06:46:28 -07:00
Chris Bessent d82f196aa5 Bump version to 2.4.3alpha4 2021-11-26 13:39:28 -07:00
Chris Bessent 9f8827e3a5 Fix parsing plugins with dots in name 2021-11-26 13:37:28 -07:00
Chris Bessent d58f773c76 Don't blacklist empty usernames and passwords 2021-11-25 13:00:15 -07:00
Chris Bessent 01ad45c7aa Update translations 2021-11-23 20:58:03 -07:00
Chris Bessent 13bdf538a8 Bump version to 2.4.3alpha3 2021-11-23 20:12:03 -07:00
Chris Bessent fc40619fd9 Merge pull request #1621 from LostDragonist/misc_fixes
Misc fixes
2021-11-23 20:05:29 -07:00
Chris Bessent 565f2fddf4 Blacklist %USERNAME% from the log in case it contains PII 2021-11-23 17:48:40 -07:00
Chris Bessent 1d80c547d7 Blacklist Steam username and password from the log 2021-11-23 17:19:00 -07:00
Chris Bessent 1755f526c9 Fix extension parsing for the plugin list
The old code was just looking at the last three letters of the filename instead of looking for any kind of proper extension. This led to something like "alice.__esp" being considered a plugin which is just wrong.
2021-11-23 11:49:44 -07:00
Chris Bessent a1e953f409 Don't add invalid games to the "visit Nexus" list 2021-11-22 21:05:49 -07:00
Chris Bessent b1db3019f4 Fix selecting a new profile
This fixes clicking the "select" button in the profiles dialog when a newly created profile is selected. This was broken as the profile was being selected before the profile was added to the list of selections.

Fixes #1489
2021-11-22 17:12:51 -07:00
Chris Bessent cf137606fd Add Brave to the default blacklist
Fixes #1592
2021-11-22 17:12:51 -07:00
Chris Bessent 9644fef8bd Update Windows detection
Windows 11 reports itself as Windows 10 using the methods normally employed.  Microsoft seems to want people to use the BuildId to identify the version of Windows but I'm going to refuse to do that because it's stupid.

This change also prefers DisplayVersion over ReleaseId as somehow I have both and DisplayVersion is more correct (21H2 vs 2009).  /shrug.

Fixes #1607
2021-11-22 17:12:51 -07:00
Chris Bessent 1077a5bad0 Allow portable instances to set custom paths
Fixes #1610
2021-11-22 17:12:51 -07:00
Chris Bessent 57acd4949b Fix tab order of create instance dialog 2021-11-22 17:12:50 -07:00
Al 6ab88d5de1 Merge pull request #1616 from rux616/template-update
Update old Discord server link
2021-11-19 18:13:30 +01:00
Dan Cassidy 4a687cbfcc Update old Discord server link 2021-11-19 14:14:09 +13:00
Al 6df197579f Merge pull request #1599 from Qudix/disable_cache
Disable qml cache
2021-10-16 16:18:46 +02:00
Qudix 1d20b993d7 Remove from instance ignore list 2021-10-15 21:23:42 -05:00
Qudix 468a8b9383 Disable qml cache 2021-10-15 20:52:51 -05:00
Al 081fa3ec93 Merge pull request #1588 from Qudix/menubar_alt
Add a toggle for the Alt key showing the menubar
2021-10-13 13:12:21 +02:00
Qudix b261f3a1e5 Revert row changes 2021-09-16 15:49:28 -05:00
Qudix acf1730093 Add a toggle for the Alt key showing the menubar 2021-09-11 20:42:20 -05:00
Chris Bessent b5800435aa Bump to version 2.4.3alpha2 2021-08-27 16:53:32 -07:00
Chris Bessent 0e9da8d4f5 Fix checking for updates when no installedFile 2021-08-26 17:57:08 -07:00
Chris Bessent ee745353d9 Merge pull request #1578 from LostDragonist/forcedlib
Enable forced libraries by default
2021-08-23 10:13:23 -07:00
Chris Bessent ae311dd4dc Escape ampersands in game names in instance window
These are technically buttons so Qt tries to make shortcuts.
2021-08-22 13:10:47 -07:00
Chris Bessent 1b2f85a371 Enable forced libraries by default 2021-08-22 11:48:27 -07:00
Al a279745aa2 Merge pull request #1558 from ModOrganizer2/facegen
Added Facegen content icon
2021-07-16 14:40:28 +02:00
AL ac8b67dd63 Added Facegen content icon (found and edited by Atlntssplayer, original creator: Exuin) 2021-07-16 14:37:30 +02:00
Al 9256739e3a Merge pull request #1555 from ModOrganizer2/nexus-archived-support
Nexus archived support
2021-07-16 12:31:29 +02:00
AL d413f673e8 Added ARCHIVED support for nexus update check and download query.
Use FileStatus enum instead of scattered int literals.
Re-wrote the update check code
2021-07-12 02:33:05 +02:00
AL 4bdb4aff50 Added enum for nexus mod file status (main, update, etc). 2021-07-12 00:07:55 +02:00
Al 58e5058a2b Merge pull request #1553 from ModOrganizer2/download-sorting
Sort filetimes from newer to older while sorting by status in downloadlist
2021-07-10 20:59:47 +02:00
AL 197f619335 Sort filetimes from newer to older while sorting by status in downloadlist 2021-07-10 20:48:24 +02:00
Al 4e3d7d0180 Merge pull request #1552 from ModOrganizer2/fix-no-compile
Fix compiler error due to using same name for new dialog (VS v16.10.3)
2021-07-10 20:40:41 +02:00
AL b5cb1a2311 Fix compiler error due to using same name for new dialog (VS v16.10.3) 2021-07-10 20:36:36 +02:00
Al b5d04eff4f Update readme.md 2021-06-08 17:55:02 +02:00
Mikaël Capelle b2353278aa Merge pull request #1528 from Holt59/remove-boost-uibase
Update after removal of boost in uibase.
2021-05-27 15:43:26 +02:00
Mikaël Capelle 0bdfd4813f Update after removal of boost in uibase. 2021-05-26 20:03:08 +02:00
Mikaël Capelle e7f15ff4fd Merge pull request #1518 from LostDragonist/shortcut
Sanitize shortcut names as they result in files
2021-05-20 20:22:30 +02:00
Mikaël Capelle e8149a4b42 Merge pull request #1523 from Holt59/ignore-meta-filetree
Add option to ignore root meta.ini when creating IFileTree for QDir.
2021-05-20 20:21:17 +02:00
Mikaël Capelle d531245dea Merge pull request #1524 from Holt59/iorganizer-virtualfiletree
Add IOrganizer::virtualFileTree().
2021-05-20 20:20:45 +02:00
Mikaël Capelle ac38371648 Add IOrganizer::virtualFileTree(). 2021-05-14 14:40:15 +02:00
Mikaël Capelle c44b1cb3a3 Add option to ignore root meta.ini when creating IFileTree for QDir. 2021-05-12 20:41:41 +02:00
Chris Bessent 2a5dd6c7cf Bump to version 2.4.2 2021-05-11 06:25:20 -07:00
Chris Bessent ef5b9228da Sanitize shortcut names as they result in files 2021-05-06 03:44:40 -07:00
Chris Bessent ce2450885c Bump version to 2.4.2rc1.1 2021-05-01 19:38:14 -07:00
Chris Bessent d78cb58593 Update translation file 2021-05-01 17:53:37 -07:00
Chris Bessent 2c54d128b4 Add some more Microsoft Store errors 2021-05-01 17:10:27 -07:00
Chris Bessent f71288db16 Bump to 2.4.2 RC 1 2021-05-01 15:23:16 -07:00
Chris Bessent 8bac17c2c5 Merge pull request #1508 from LostDragonist/gamepass
Add log for Microsoft Store / Gamepass installs
2021-05-01 15:21:45 -07:00
Chris Bessent 4509911a8e Add log for Microsoft Store / Gamepass installs 2021-05-01 15:18:15 -07:00
Chris Bessent f098491306 Merge pull request #1503 from LostDragonist/filename
Sanitize download file names
2021-05-01 14:38:17 -07:00
Chris Bessent bcaceb9637 Merge pull request #1504 from LostDragonist/skipcwd
Ignore "." and ".." in archives
2021-05-01 14:38:10 -07:00
Chris Bessent b7e8e69f47 Merge pull request #1507 from LostDragonist/tutorials
Fix up tutorials
2021-05-01 14:37:59 -07:00
Chris Bessent a8bcbf6555 Fix up tutorials 2021-04-30 08:41:29 -07:00
Chris Bessent aafd523736 Merge pull request #1505 from LostDragonist/foresto
Add foresto as a contributor
2021-04-29 02:02:19 -07:00
Chris Bessent 4a9da205cd Merge pull request #1485 from foresto/patch-1
Reduce log level of harmless failures
2021-04-29 02:02:05 -07:00
Chris Bessent 68e7820154 Add foresto as a contributor 2021-04-29 02:01:38 -07:00
Chris Bessent 3c6190d713 Merge pull request #1470 from isanae/filtered-nav-crash
Crash for next/previous in mod info dialog
2021-04-29 01:59:05 -07:00
Chris Bessent 1197b562f6 Merge pull request #1496 from LostDragonist/nexus_links
Change the "Visit Nexus" button to support alternate sources
2021-04-29 01:57:13 -07:00
Chris Bessent 7df5329ea0 Merge pull request #1497 from LostDragonist/profile_fix
Fix selecting the profile in the dialog
2021-04-29 01:56:52 -07:00
Chris Bessent dc3dcd9500 Fix fixDirectoryName includes 2021-04-29 01:50:23 -07:00
Chris Bessent cc8fb9bd23 Ignore "." and ".." in archives 2021-04-29 01:29:38 -07:00
Chris Bessent 9638a797d1 Sanitize download file names
Also switch instance name sanitizer to MOBase version
2021-04-29 00:50:11 -07:00
Chris Bessent 8308dfcbff Fix selecting the profile in the dialog
Previously, when clicking the "select" button in the profiles
dialog (when the dialog was launched in the menu or toolbar),
everything would be refreshed without checking the selected
profile in the dialog.

Now, the selected profile is set with some signal blocking to
help prevent redundant refreshes from occurring.
2021-04-25 05:09:58 -07:00
Chris Bessent dfbaed0ade Add a separator after the primary game and sort the secondary games 2021-04-25 04:45:35 -07:00
Chris Bessent e475893ff4 Change the "Visit Nexus" button to support alternate sources
If a game plugin supports more than one Nexus site for downloads,
the "Visit Nexus" button will be turned into a drop-down that
lets you select each site.
2021-04-25 04:13:12 -07:00
Al 40a4bf1e3a Update issue templates 2021-04-08 16:51:11 +02:00
Forest 3ee2598533 Reduce log level of harmless failures
These two messages (along with their glaring red X icons) are cluttering up the log on linux/wine systems, misleading people who are trying to diagnose real problems. Let's reduce their log priority to make it clear that they're harmless.

As mentioned here:
https://github.com/ModOrganizer2/modorganizer/issues/372#issuecomment-575231673
2021-04-05 23:10:54 -07:00
isanae 234ee923fe model() can return null for invalid indexes
happens when looking at the mod info for a mod filtered out of the mod list
2021-03-20 14:51:44 -04:00
Mikaël Capelle 88ee41ae85 Bump to 2.4.1. 2021-03-20 17:03:36 +01:00
Mikaël Capelle 8a29bc5110 Bump to 2.4.1 RC2. 2021-03-14 20:08:58 +01:00
Mikaël Capelle 77dbd7ff31 Merge pull request #1465 from Holt59/fix-saves-tab-header
Stretch last section in the Saves tab.
2021-03-14 20:08:30 +01:00
Mikaël Capelle 7fab050adb Stretch last section in the Saves tab. 2021-03-14 20:07:09 +01:00
Mikaël Capelle b547045203 Bump to 2.4.1rc1.1. 2021-03-14 20:00:00 +01:00
Mikaël Capelle fcd2e1473f Merge pull request #1462 from Holt59/fix-stylesheets-qscrollarea
Remove border on QScrollArea from stylesheets.
2021-03-13 16:06:18 +01:00
Mikaël Capelle 287dd6d805 Remove border on QScrollArea from stylesheets. 2021-03-13 16:05:43 +01:00
Mikaël Capelle 717c2ca9cf Bump to 2.4.1rc1 and update translations. 2021-03-12 20:51:46 +01:00
Mikaël Capelle abd1a11768 Merge pull request #1449 from isanae/uilocker-disabled
Disabled uilocker for child dialogs
2021-03-03 18:52:55 +01:00
Mikaël Capelle 34636301ea Merge pull request #1447 from LostDragonist/settings_resize
Add scrollbars to some settings tabs to reduce minimum size
2021-03-03 18:52:46 +01:00
Mikaël Capelle f298ea0ae3 Merge pull request #1443 from Holt59/fix-savegame-name
Display savegame name and filepath in saves tab.
2021-03-03 18:52:28 +01:00
Chris Bessent eee1b4b3f1 Put stylesheet stuff into .ui file instead 2021-03-02 21:20:23 -07:00
isanae 00120605fb don't disable dialogs that are children of other dialogs 2021-03-02 14:41:23 -05:00
Mikaël Capelle 32088b47f1 Merge pull request #1446 from LostDragonist/disabled_plugins
Allow plugins to disable themselves by default
2021-03-02 19:27:24 +01:00
Chris Bessent 726b381ea7 Add scrollbars to some settings tabs to reduce minimum size
The previous minimum size was around 450 x 560px.  At a DPI scaling
of 200%, this means 900 x 1120px which extends off the typical 1080p
screen.  Why is someone using 200% scaling on a 1080p screen?  I have
no clue.

Now, the minimum size is around 450 x 410px for 900 x 820 px at 200%
scaling.  Which works for anything short of a 1376 x 768 screen at
200% scaling which I just don't really care about.
2021-03-02 04:07:46 -07:00
Chris Bessent 071550f7fb Allow plugins to disable themselves by default 2021-03-02 02:41:16 -07:00
Mikaël Capelle f8a50edd0f Merge pull request #1444 from LostDragonist/lockedorder
Fix load order when using locked plugins
2021-03-01 19:21:24 +01:00
Mikaël Capelle 08c7113ecb Merge pull request #1439 from Holt59/fix-downloadlist
Fix download list sorting.
2021-03-01 19:21:15 +01:00
Mikaël Capelle d436fe8cb3 Merge pull request #1442 from Holt59/fix-createempty-mod
Fix priority for 'Create Empty Mod'.
2021-03-01 19:21:06 +01:00
Chris Bessent d5183ebe6b Fix load order when using locked plugins 2021-02-27 18:50:45 -07:00
Mikaël Capelle c72326ee4b Display savegame name and filepath in saves tab. 2021-02-27 12:42:37 +01:00
Mikaël Capelle 75e90f2f3f Fix priority for 'Create Empty Mod'. 2021-02-27 10:36:17 +01:00
Mikaël Capelle be012715f3 Fix download list sorting. 2021-02-26 21:32:39 +01:00
Mikaël Capelle 2b86a14c86 Merge pull request #1437 from Holt59/fix-sendtoseparator
Fix 'Send to separator... ' in descending priority.
2021-02-26 21:12:04 +01:00
Mikaël Capelle c96c01f40e Fix 'Send to separator... ' in descending priority. 2021-02-24 20:07:55 +01:00
Mikaël Capelle d6edc5d6b7 Merge pull request #1433 from Holt59/fix-bycategory-sorting
Fix sorting by priority when grouping by priority.
2021-02-24 18:35:18 +01:00
isanae 4040dc12b7 Merge pull request #1436 from isanae/tutorial-fix
Fix tutorial stuck on mod info dialog
2021-02-24 05:46:48 -05:00
isanae d4fc7c3de1 emit modInfoDisplayed, it's required by the tutorial 2021-02-24 04:57:54 -05:00
Mikaël Capelle 27c4861907 Fix sorting by priority when grouping by priority. 2021-02-23 19:16:18 +01:00
Mikaël Capelle 8decb9df68 Merge pull request #1431 from Holt59/fix-update-filter
Switch back to invalidating filter when receiving mod updates.
2021-02-23 17:23:08 +01:00
Mikaël Capelle 8365f26d83 Merge pull request #1424 from isanae/dl-share
Network shares for envfs
2021-02-23 17:19:53 +01:00
Mikaël Capelle 0ca21d9a5e Merge pull request #1429 from Holt59/fix-stylesheets
Fix stylesheets for 2.4.
2021-02-23 17:19:43 +01:00
Mikaël Capelle f60d0e5ec6 Fix stylesheets for 2.4. 2021-02-23 09:38:52 +01:00
isanae d22d77d921 handle network shares for NtOpenFile()
changed error messages to use formatNtMessage(), which handles NTSTATUS errors
2021-02-22 18:28:07 -05:00
Mikaël Capelle 7084021067 Merge pull request #1418 from Holt59/master
Bump version to 2.4.0 and update translation.
2021-02-21 18:01:12 +01:00
Mikaël Capelle 1dd2acf07f Bump version to 2.4.0 and update translation. 2021-02-21 17:56:44 +01:00
isanae 3fad475013 Merge pull request #1416 from isanae/plugin-blacklist
Broken plugins blacklist
2021-02-21 11:50:32 -05:00
Mikaël Capelle 010a5d80d6 Switch back to invalidating filter when receiving mod updates. 2021-02-21 11:12:16 +01:00
isanae 2bd755743c clarified comment 2021-02-20 12:49:08 -05:00
isanae 9eb1dd0ec0 clearPlugins() must be called to load the blacklist or it will be empty when loadPlugins() runs 2021-02-20 05:03:17 -05:00
isanae e473caf14a Merge pull request #1415 from isanae/master
2.4rc3
2021-02-19 18:23:01 -05:00
isanae 1c87f1d8d4 rc3 2021-02-19 18:21:53 -05:00
Mikaël Capelle bb6cde175a Bump version to 2.4.0. 2021-02-19 20:08:47 +01:00
Mikaël Capelle bd93864ed2 Merge pull request #1409 from isanae/portable-loop
Portable instance loop.
2021-02-13 18:25:39 +01:00
isanae 406d6f28c0 force instance selection when the current instance cannot be used
the problem is that an empty instance name means the portable instance, but MO clears the name when it needs instance selection, which can create a loop if the portable instance can't be used
2021-02-13 07:54:05 -05:00
Mikaël Capelle ee4c364ccc Bump version to 2.4.0rc2 and update translations. 2021-02-12 18:18:19 +01:00
Mikaël Capelle 607fafa364 Merge pull request #1408 from isanae/portable-shortcuts
Fixes for portable shortcuts
2021-02-12 18:09:15 +01:00
Mikaël Capelle 7dc28b10d9 Merge pull request #1407 from isanae/processes-in-job
Fixes for processesInJob()
2021-02-12 18:09:05 +01:00
Mikaël Capelle 9f0c8c31a6 Merge pull request #1405 from LostDragonist/update_fixes
Fixes for the update dialog window
2021-02-12 18:08:54 +01:00
Mikaël Capelle 2fe627c261 Merge pull request #1404 from Al12rs/fix_update_filter
Hopefully fix update filter not showing new mod updates.
2021-02-12 18:08:41 +01:00
Mikaël Capelle 879c37984e Merge pull request #1403 from Holt59/fix-steamappid-env-error
Do not return previous value in env::set and env::setPath.
2021-02-12 18:08:25 +01:00
Mikaël Capelle 1cf8a2bfee Merge pull request #1401 from ModOrganizer2/Al12rs-appveyorFix
Appveyor: artifact only the exe
2021-02-12 18:08:07 +01:00
Mikaël Capelle 7531a860cf Merge pull request #1400 from Holt59/fix-markers-conflicts-refresh
Better refresh of override markers and conflicts.
2021-02-12 18:07:56 +01:00
Chris Bessent 31c8415e88 Use release name for changelogs 2021-02-12 01:31:41 -07:00
isanae 48274f3357 - renamed instance::name() to displayName() to reduce confusion with portable instances
- better errors when running incorrect shortcuts
- fixed shortcuts being created with moshortcut://Portable:exe instead of an empty instance name for portable instances
2021-02-12 03:22:52 -05:00
Chris Bessent f486e6fa4e Updates to text, title and buttons 2021-02-11 18:39:06 -07:00
Chris Bessent 9e5a64b545 Update CMakeLists.txt 2021-02-11 18:09:19 -07:00
Chris Bessent 3dd05ff869 Create a new dialog for the update window
The idea here is to be able to resize the window and better handle
markdown formatting.  Everything was stolen from the LOOT dialog.
2021-02-11 17:58:10 -07:00
AL eba98e8469 Remove unused variable 2021-02-11 16:34:43 +01:00
AL 73418ec616 Hopefully fix update filter not showing new mod updates.
Notify all the mods that have had their info checked, not just the ones that have been found with an update. This is because Mo2 also shows mods that have had their files deleted or moved to Old as updateAvailable, in which case there is no update but the filter still needs to be notified to include the mod.
2021-02-11 16:29:32 +01:00
Mikaël Capelle 7283e6c3ba Do not return previous value in env::set and env::setPath (avoid error log when not previously set). 2021-02-10 19:17:21 +01:00
isanae d179ad01c8 maxIds was local to the loop, not doubled
handle ERROR_MORE_DATA, it seems to sometimes happen, not sure why
added more logging, a user actually got that error
2021-02-10 10:01:39 -05:00
Al 04d80bb567 Appveyor: artifact only the exe
The entire build is too big and we get over the limit too fast
2021-02-09 22:01:24 +01:00
Mikaël Capelle 595f6eccf6 Better refresh of override markers and conflicts. 2021-02-09 20:23:42 +01:00
Chris Bessent f058125e66 Fix concatenating update logs 2021-02-08 06:09:06 -07:00
Mikaël Capelle 7d36bc20d0 Bump version to 2.4.0rc1.1. 2021-02-07 18:47:00 +01:00
Mikaël Capelle a9e3c4e2b5 Bump version to 2.4.0rc1. 2021-02-06 22:03:34 +01:00
Mikaël Capelle 86db5da217 Merge pull request #1395 from Holt59/remove-datatab-tree-updates
Remove update of data-tab tree and check for problems when modifying the mod list.
2021-02-06 17:25:29 +01:00
Mikaël Capelle a701d66cce Remove update of data-tab tree and check for problems when modifying the mod list. 2021-02-05 19:47:47 +01:00
Mikaël Capelle d5380ef6d3 Update translation file. 2021-02-02 20:39:14 +01:00
Mikaël Capelle 4256d8b40b Merge pull request #1392 from Holt59/fix-download-metainfo
Fix download of meta-information in download tab.
2021-01-31 19:00:33 +01:00
Mikaël Capelle ab0e050c46 Fix download of meta-information in download tab. 2021-01-31 18:59:52 +01:00
Mikaël Capelle 4ea7f7bf54 Merge pull request #1391 from Holt59/pluginlist-case-insensitive
Use case-insensitive data structure in plugin list.
2021-01-31 18:52:51 +01:00
Mikaël Capelle 36855f96f3 Use case-insensitive data structure in plugin list. 2021-01-31 18:47:08 +01:00
Mikaël Capelle e15cc6dd3a Merge pull request #1390 from Holt59/fix-datatab-refresh
Fix update of data tab after refresh.
2021-01-31 18:45:01 +01:00
Mikaël Capelle 4f71834250 Fix update of data tab after refresh. 2021-01-31 11:00:16 +01:00
Mikaël Capelle 881d67d318 Merge pull request #1388 from Holt59/default-collapsible-separators-desc
Enable collapsible separators in reverse order by default.
2021-01-30 18:52:57 +01:00
Mikaël Capelle ca4d56f789 Enable collapsible separators in reverse order by default. 2021-01-30 18:50:02 +01:00
Mikaël Capelle 4e8ff4f389 Merge pull request #1387 from Holt59/update-settings-dialog
Add migration code to remove old settings from ModOrganizer.ini.
2021-01-30 18:43:13 +01:00
Mikaël Capelle 029f1b1a62 Add migration code to remove old settings from ModOrganizer.ini. 2021-01-30 18:42:31 +01:00
Mikaël Capelle 792a71a3f5 Bump dev-build version. 2021-01-30 18:31:00 +01:00
Mikaël Capelle 3b360162e1 Merge pull request #1386 from Holt59/update-settings-dialog
Update settings dialog.
2021-01-30 18:21:56 +01:00
Mikaël Capelle 76989e2b8f Remove LoadMechanism completely. 2021-01-29 20:09:14 +01:00
Mikaël Capelle 7610e31394 Reorganize settingsdialog classes to match UI. 2021-01-29 20:03:47 +01:00
Mikaël Capelle d0796b4ab2 Move settings around. Remove unused settings. 2021-01-29 19:43:24 +01:00
Mikaël Capelle f53e5406d4 Merge pull request #1378 from Holt59/fix-priority-management
Increase robustness of mods priority in profile.
2021-01-29 19:29:21 +01:00
Mikaël Capelle 48fae18ac6 Fix refresh of data tab. 2021-01-29 19:27:10 +01:00
Mikaël Capelle 8606bf70c7 Merge pull request #1384 from Holt59/add-pick-argument
Implement --pick argument.
2021-01-29 08:48:01 +01:00
Mikaël Capelle 136dc17e01 Merge pull request #1385 from Holt59/fix-mo2-on-top
Do not bring MO2 to front when passing a Nexus link to the CL.
2021-01-29 08:47:46 +01:00
Mikaël Capelle 007824dde8 Do not bring MO2 to front when passing a Nexus link to the CL. 2021-01-28 19:32:07 +01:00
Mikaël Capelle a88d3436cc Implementation --pick argument. 2021-01-28 19:05:05 +01:00
Chris Bessent 41159e4eea Merge pull request #1382 from LostDragonist/fix_forced_load
Fix initial launch of forced load dialog
2021-01-24 04:44:04 -07:00
Mikaël Capelle ab820c1b0a Fix enable/disable all message. 2021-01-24 11:09:12 +01:00
Mikaël Capelle b9c8554ee3 Merge pull request #1380 from Holt59/fix-pluginlist-contextmenu
Fix error when right-clicking on an empty space in the pluginlist.
2021-01-24 10:40:40 +01:00
Chris Bessent 5c3d715cfd Fix forced load libraries
This fixes a couple issues.  First, the default libraries forced by
the game plugins were not being loaded.  Second, when the checkbox
was disabled, the forced load settings would be wiped out.

Both were fixed by always loading and saving the state of the
forced loads regardless of the global enabled state.
2021-01-23 13:26:14 -07:00
Mikaël Capelle 14536009c0 Merge pull request #1379 from Holt59/fix-loglist-startup
Fix empty loglist after startup.
2021-01-23 18:14:11 +01:00
Mikaël Capelle 54744c04b2 Use proper naming convention for constants. 2021-01-22 21:19:35 +01:00
Mikaël Capelle 7864fc0950 Use constant for minimum/maximum priorities. 2021-01-22 21:18:54 +01:00
Mikaël Capelle d94b7c444d Move update of directory structure after mod priority change to organizer core. 2021-01-21 21:56:26 +01:00
Mikaël Capelle b1795f83cd Refresh data tab when mods are enabled or moved. 2021-01-21 21:56:08 +01:00
Mikaël Capelle d81fb09f33 Replace isFixedPriority by hasAutomaticPriority. 2021-01-21 21:20:01 +01:00
Mikaël Capelle 34c87a0efa Prevent backups from being enabled. 2021-01-21 21:12:46 +01:00
Mikaël Capelle e1106ad42c Use priority from profile (+1) in directory structure to be consistent. 2021-01-21 21:02:25 +01:00
Mikaël Capelle 569ce21959 Remove unused mapping. 2021-01-21 21:02:10 +01:00
Mikaël Capelle 0a06970990 Expose proper priority in ModList and sort in the sort proxy. 2021-01-21 20:21:57 +01:00
Mikaël Capelle 51eeefa49d Fix error when right-clicking on an empty space in the pluginlist. 2021-01-21 20:10:30 +01:00
Mikaël Capelle 60085ae4b6 Use actual priority of overwrite instead of INT_MAX, and remove useless checks. 2021-01-21 20:01:43 +01:00
Mikaël Capelle 49461f0086 Remove unused variables. 2021-01-21 20:01:27 +01:00
Mikaël Capelle 1747dcf563 INT_MAX -> std::numeric_limits, plus minor clean. 2021-01-21 19:42:41 +01:00
Mikaël Capelle f8943ee477 Use range-loop instead of old-style iterators. 2021-01-21 19:38:53 +01:00
Mikaël Capelle 62a9d13948 Remove unused priority-related functions from Profile. 2021-01-21 19:31:05 +01:00
Mikaël Capelle 36489c7d8f Add const-qualifier to for loop variable. 2021-01-21 19:21:27 +01:00
Mikaël Capelle ffb820c701 Use isFixedPriority() when appropriate. 2021-01-21 19:21:07 +01:00
Mikaël Capelle 0803920486 Add method to retrieve priority of mods in ModList. 2021-01-21 19:20:45 +01:00
Mikaël Capelle 2ed3d4696b Add comment to explain the reset() on the log list. 2021-01-21 19:11:37 +01:00
Mikaël Capelle e28e316f6f Fix empty loglist after startup. 2021-01-20 22:11:40 +01:00
Mikaël Capelle 7c9d3777c2 Remove unused/undefined ModList functions. 2021-01-20 21:04:49 +01:00
Mikaël Capelle 0e7fed0e32 Move backup and overwrite priority to ModList. 2021-01-20 21:01:49 +01:00
Mikaël Capelle 946d7fc192 Add comment for m_NumRegularMods and remove unused methods. 2021-01-20 18:33:54 +01:00
Mikaël Capelle 58b6e0eb48 Increase robustness of mods priority in profile. 2021-01-20 18:16:20 +01:00
Mikaël Capelle 20a87c9cb9 Merge pull request #1376 from Holt59/fix-filter-modcount
Refresh mod counter when filtering.
2021-01-20 09:20:06 +01:00
Mikaël Capelle 7caa9806bc Merge pull request #1375 from Holt59/fix-collapsible-separators-reverse
Fix refresh on by-priority proxy when changing sort order.
2021-01-20 09:19:53 +01:00
Al 7b1f1f29da Merge pull request #1377 from ModOrganizer2/fix_install_after_query
Don't look for mods with -1 as mod ID when suggesting names
2021-01-19 22:04:05 +01:00
AL 4a6f8aa625 Don't look for mods with -1 as mod ID when suggesting names 2021-01-19 20:40:47 +01:00
Mikaël Capelle 907588b9c9 Refresh mod counter when filtering. 2021-01-19 20:29:12 +01:00
Mikaël Capelle 932a562d9d Fix refresh on by-priority proxy when changing sort order. 2021-01-19 18:08:05 +01:00
Chris Bessent 838415aa71 Merge pull request #1374 from LostDragonist/mod_casing
Improve error message about an extra overwrite mod
2021-01-19 08:41:57 -07:00
Chris Bessent aea96365c6 Improve error message about an extra overwrite mod 2021-01-19 04:15:55 -07:00
Mikaël Capelle 9997412a39 Merge pull request #1373 from Holt59/fix-change-priority
Fix change priority
2021-01-18 23:13:55 +01:00
Mikaël Capelle 8a49f2232e Clamp priority to the correct value, taking backups into account. 2021-01-18 23:02:15 +01:00
Mikaël Capelle 58e72e89c3 Fix editing priority. 2021-01-18 23:01:24 +01:00
AL 13bf05cfde Bump dev build version 2021-01-18 22:09:36 +01:00
Mikaël Capelle 0a683c0a5a Merge pull request #1372 from Holt59/install-mod-at
Modify 'Install mod... ' in context menu to install above current mod.
2021-01-18 21:17:46 +01:00
Mikaël Capelle 1f9a1da7f4 Merge pull request #1371 from Holt59/by-priority-proxy-improvements
Collapsible separators improvements
2021-01-18 21:17:35 +01:00
Mikaël Capelle 79b67559d8 Merge pull request #1370 from LostDragonist/preview_extensions
Remove case sensitivity regarding preview file extensions
2021-01-18 21:17:26 +01:00
Mikaël Capelle df9576a946 Merge pull request #1367 from LostDragonist/lockedorder
Add error checking to lockedorder.txt processing
2021-01-18 21:17:13 +01:00
Mikaël Capelle 339457f79d Merge pull request #1366 from LostDragonist/mod_casing
Make modlist.txt less case sensitive
2021-01-18 21:16:55 +01:00
Mikaël Capelle ee44a38c98 Merge pull request #1354 from isanae/startup-rework
Startup rework
2021-01-18 21:16:40 +01:00
Mikaël Capelle 3c0201a799 Update documentation for installMod / createEmptyMod. 2021-01-18 20:43:27 +01:00
Mikaël Capelle c3f73fe8ed Comment and remove extra blank lines. 2021-01-18 20:25:02 +01:00
Mikaël Capelle 5bc8256dc8 Make installMod behave similarly to createEmptyMod for the new mod priority. 2021-01-18 20:23:41 +01:00
Mikaël Capelle 792a402782 Modify 'Install mod... ' in context menu to install above current mod. 2021-01-18 20:05:13 +01:00
Mikaël Capelle 5679a12fd0 Remove log. 2021-01-18 19:53:08 +01:00
Mikaël Capelle 08110553d4 Fix scrolling when moving mods with keyboard. 2021-01-18 19:50:39 +01:00
Mikaël Capelle a19bfaa489 Better handling of layoutChanged in by-priority proxy to avoid resetting. 2021-01-18 19:44:29 +01:00
Chris Bessent 1428b350d1 Simplify getting extension 2021-01-18 08:55:59 -07:00
Chris Bessent c70e53897d Remove case sensitivity regarding preview file extensions
That means ".dds" and ".DDS" should be treated the same.
2021-01-18 08:49:23 -07:00
Chris Bessent 9d32731136 Remove TODO 2021-01-18 08:14:52 -07:00
Chris Bessent a307cc1c6a Get rid of static on lambdas 2021-01-18 07:56:54 -07:00
Chris Bessent 4c64448947 Add a warning about overwrite mods being disabled 2021-01-18 07:55:02 -07:00
Chris Bessent 527795243c Rewrite readLockedOrderFrom
This also removes the "The file containing locked plugin indices is broken" dialog.  The broken part of the lockedorder.txt will just spit out an error log now and be ignored.
2021-01-18 07:39:02 -07:00
Chris Bessent 9f96a88989 Use existing comparator from MOBase 2021-01-18 06:43:02 -07:00
isanae 6feab2ea8f moved criticalOnTop() to uibase
changed all calls to reportError(), which now uses the main window if it exists as a parent, or calls criticalOnTop()
added errors when running something from the command line for a different instance/profile
removed unused crap
2021-01-18 08:21:42 -05:00
isanae 0d641f3977 make plugins wait until after the refresh is completed when they request a refresh
this is a change in behaviour, but it makes sure plugins don't have a stale view of the mods after running something
2021-01-18 08:21:41 -05:00
isanae 181acfe832 renamed Refresh to TriggerRefresh, added WaitForRefresh
removed duplicate refreshDirectoryStructure() call that could never work
added --logs to output logs to stdout, added final "mod organizer done" log
added -i with no arguments to output the current instance name
`run -e` now does an additional, case insensitive check for names
fixed error being output along with --help
2021-01-18 08:21:41 -05:00
isanae 1c4d09d9e1 comments 2021-01-18 08:20:08 -05:00
isanae 16ba428e44 fixed runPostMultiProcess() not being called
comments
2021-01-18 08:20:08 -05:00
isanae 06109a568b put more stuff in Meta to simplify 2021-01-18 08:20:08 -05:00
isanae 65a9e51e0e added refresh command
added more help for run
2021-01-18 08:20:08 -05:00
isanae 09eb507dda moved externalMessage() to MOApplication
commands can forward to the primary instance
added reload-plugin command
MessageDialog now tries to find the main window when the reference is null, which actually used to happen often because activeWindow() is typically used, but that's null when the main window doesn't have focus (like when downloading from nexus, for example)
2021-01-18 08:20:08 -05:00
isanae 7e80184812 merged exe and run commands, added -e flag instead
added dialog when selected profile doesn't exist, this can happen with -p on the command line
2021-01-18 08:20:08 -05:00
isanae aa7a552654 implemented exe command
better error when cwd doesn't exist
2021-01-18 08:20:07 -05:00
isanae e4ae41e3a2 fixed all commands being legacy
split running command into pre and post organizer
2021-01-18 08:20:07 -05:00
isanae 3bca0e7615 split run() into setup() and run()
this is so command line processing can happen outside of MOApplication
many important objects were local to run(), so they're not members of MOApplication instead
2021-01-18 08:20:07 -05:00
Mikaël Capelle 59f055ba93 Merge pull request #1368 from Holt59/new-settings
Add settings to not check update on mod install and to auto-collapse on hover.
2021-01-18 08:21:41 +01:00
Mikaël Capelle 1644d30e59 Fix typo. 2021-01-18 08:16:38 +01:00
Mikaël Capelle 2b08f3f72c Add option to enable auto-collapse on hover after delay. 2021-01-17 13:09:10 +01:00
Mikaël Capelle 704490e315 Add setting to not check for updates after installing mods. 2021-01-17 13:00:01 +01:00
Chris Bessent e69cb90dbe Improve performance by changing the map to be case insensitive 2021-01-16 20:09:12 -07:00
Chris Bessent 1010b5958b Add error checking to lockedorder.txt processing
Errors now checked:
1. Plugin listed in lockedorder.txt does not exist
2. Priority in lockedorder.txt is negative
3. Priority in lockedorder.txt is greater than the total number of plugins

Note that lockedorder.txt is not rewritten after these errors occur as
that seems most likely to be the desired behavior...?  That is, preserving
the state of lockedorder.txt is more important than anything making sense.
Though negative priorities don't make sense and never will so just get rid
of that if the lockedorder.txt is written to at some point.
2021-01-16 19:20:51 -07:00
Chris Bessent 3dbee68726 Make modlist.txt less case sensitive
This should make it so case doesn't matter when it comes to the
folder names of mods and what's in modlist.txt.  If a mismatch
in case is detected, modlist.txt will be flagged dirty to fix
it at some point.

This handles the foillowing cases:
 * modlist.txt was modified outside MO
 * the mod folder was renamed outside MO
2021-01-16 18:02:16 -07:00
Al 2b1f01cba2 Merge pull request #1363 from Holt59/modlist-improvements
Send to last conflict
2021-01-16 23:06:04 +01:00
Al 19556bc968 Merge pull request #1362 from Holt59/downloadlistview-cleaning
DownloadListView improvements
2021-01-16 23:03:05 +01:00
Al c48791a8a1 Merge pull request #1361 from Holt59/ui-fixes-and-others
UI fixes and others.
2021-01-16 23:02:42 +01:00
isanae 8ee1f94b0f Merge pull request #1365 from isanae/master
Fix crash on bad bsa
2021-01-16 16:56:35 -05:00
isanae 9092c096d5 fix crash on bad bsa 2021-01-16 16:53:50 -05:00
Mikaël Capelle f46962686a Fix drag&drop in manual installer after drag&drop of download/external archive in mod list. 2021-01-16 22:06:20 +01:00
Mikaël Capelle e6d1f5500b Only maintain selection after drag&drop of mods. 2021-01-16 21:52:52 +01:00
Mikaël Capelle d73d930703 Maintain selection when changing priority manually. 2021-01-16 16:21:59 +01:00
Mikaël Capelle 54f7df9fbd Maintain selection after drag&drop. Fix update of conflicts (visual) after priority change. 2021-01-16 16:14:46 +01:00
Mikaël Capelle 89a735d6e1 Maintain selection after 'Send to... ' and add send to first conflict. 2021-01-16 15:55:56 +01:00
Mikaël Capelle 56d0392747 Only consider loose files vs. loose files conflicts for 'Send to last conflict' entry. 2021-01-16 15:01:33 +01:00
Mikaël Capelle a2ed9b9ba9 Fix archive overwritten marker. 2021-01-16 14:57:15 +01:00
Mikaël Capelle 253b5e9f3f Fix entry names. 2021-01-16 13:36:12 +01:00
Mikaël Capelle 65c9c69568 Fix priority foreground color on colored separators. 2021-01-16 13:29:55 +01:00
Mikaël Capelle 8fafcce33f Add send to last conflict action for modlist. 2021-01-16 13:29:36 +01:00
Mikaël Capelle f28b501b30 Handle enter and delete on download list. 2021-01-15 20:23:23 +01:00
Mikaël Capelle 417dbff2de New slot styles for context menus actions. 2021-01-15 20:14:45 +01:00
Mikaël Capelle ff3f24ff9e Rename DownloadListWidget -> DownloadListView. Clean context menu. 2021-01-15 20:12:19 +01:00
Mikaël Capelle 9f8ba0ea51 Add setting to automatically hide download after installation. 2021-01-14 22:08:58 +01:00
Mikaël Capelle 186e96c878 Fix disabling of collapsible separators settings. 2021-01-14 21:40:36 +01:00
Mikaël Capelle aa1ffe65a7 Update README. 2021-01-14 21:21:08 +01:00
Mikaël Capelle 03f7c0ef4f Move Holt59 to lead developers. Add Luca|EzioTheDeadPoet and Patchier to contributors. 2021-01-14 21:18:07 +01:00
Mikaël Capelle 7d027a446d Add settings to enable/disable icons on collapsed separators. 2021-01-14 21:16:56 +01:00
Mikaël Capelle 38129e6e77 Disable highlighting from/to separators separately. 2021-01-14 20:30:06 +01:00
Mikaël Capelle 662a1eb3d7 Contextual menu entry for enable/disable all visible. 2021-01-14 20:11:02 +01:00
Mikaël Capelle 2c9a3c7de8 Better context menu entries for mod/separator creation. 2021-01-14 19:54:13 +01:00
Mikaël Capelle 899308b31d Merge pull request #1360 from Holt59/organizercore-cleaning
OrganizerCore cleaning.
2021-01-14 09:11:52 +01:00
Mikaël Capelle 34f7ae2450 Merge pull request #1357 from Holt59/collapsible-separators
Collapsible separators in descending priority.
2021-01-14 09:11:37 +01:00
Mikaël Capelle c3334e7b4d Merge pull request #1351 from Holt59/fix-set-gamepath
Fix setting game path for games with executable in subfolder.
2021-01-13 23:04:20 +01:00
Mikaël Capelle bc9cb37942 Add comment for cdUp(). 2021-01-13 20:36:11 +01:00
Mikaël Capelle 853db4a60a Use isBackup() and isOverwrite() instead of testing flags. 2021-01-13 13:27:36 +01:00
Mikaël Capelle ce95d8b1bd Minor cleaning for boost signal declarations in OrganizerCore. 2021-01-13 13:01:11 +01:00
Mikaël Capelle c93cf33c83 Remove OrganizerCore::modsSortedByProfilePriority. 2021-01-13 13:00:54 +01:00
Mikaël Capelle 163b33f228 Remove unused close() signal from OrganizerCore. Remove declarations without definitions. 2021-01-13 13:00:34 +01:00
Mikaël Capelle 4a5ff2f232 Remove archive parsing attribute from core and use the one from settings directly. 2021-01-13 12:59:57 +01:00
Mikaël Capelle 242125fdef Merge pull request #1359 from Holt59/fix-pluginlist-edit
Write plugin list after edit.
2021-01-13 12:31:53 +01:00
Mikaël Capelle 8338ea6ff4 Merge pull request #1358 from Holt59/loglist-copy
Allow extended selection in log list and implement copy.
2021-01-13 12:10:53 +01:00
Mikaël Capelle 33a49ef51c Write plugin list after edit. 2021-01-13 11:58:18 +01:00
Mikaël Capelle f32e74c2a7 Allow extended selection in log list and implement copy. 2021-01-13 09:17:05 +01:00
Mikaël Capelle 18f70a2dff Add documentation for row computation. 2021-01-11 21:07:25 +01:00
Mikaël Capelle 748b7e6918 Combine nested if clauses. 2021-01-11 20:58:53 +01:00
Mikaël Capelle 16b825bc5d Fix drop in first item of separators. 2021-01-11 20:57:32 +01:00
Mikaël Capelle 49c2c8f333 Add setting to enable/disable collapsible priority depending on the sort order. 2021-01-11 19:44:43 +01:00
Mikaël Capelle 08520822eb Fix drop in separator and create mod in separator in descending priority. 2021-01-11 19:15:39 +01:00
Mikaël Capelle e53905329a Allow collapsible separator in descending priority. 2021-01-11 18:55:15 +01:00
Mikaël Capelle 9e663691b0 Merge pull request #1356 from Holt59/collapsible-separators
Remove dead code.
2021-01-11 18:54:31 +01:00
Mikaël Capelle a7e6f9a5a8 Remove dead code. 2021-01-11 18:15:38 +01:00
Mikaël Capelle 97ac1ce999 Warn users that game path is invalid after choosing it rather than when applying setting. 2021-01-11 13:14:24 +01:00
Mikaël Capelle 1dc2b22548 Merge pull request #1350 from Holt59/collapsible-separators
Collapsible separators - Fix & Improvements.
2021-01-11 12:49:42 +01:00
Mikaël Capelle 05efc74e40 Fix text for new option. 2021-01-11 12:43:28 +01:00
Mikaël Capelle 566441a706 Add comment to mousePressEvent(). 2021-01-11 09:36:35 +01:00
isanae a680dfa3e9 Merge pull request #1353 from isanae/master
Task dialog for deleting downloads
2021-01-11 02:09:09 -05:00
isanae 2f16f07f6e task dialog for deleting downloads
also shows filename
2021-01-10 20:41:59 -05:00
Mikaël Capelle a0cb500ff0 Fix setting game path for games with executable in subfolder. 2021-01-10 20:44:59 +01:00
Mikaël Capelle a5059cbe32 Select separator after creation. 2021-01-10 20:11:46 +01:00
Mikaël Capelle a952f51ef7 Change 'Create empty mod' depending on the currently selected mod. 2021-01-10 20:08:48 +01:00
Mikaël Capelle 8115335c55 Request window focus when dropping external archive. 2021-01-10 19:31:29 +01:00
Mikaël Capelle 32e441897f Request window focus when dropping external folder and scroll to new mod. 2021-01-10 19:29:41 +01:00
Mikaël Capelle 5bb48d5e52 Small clean. 2021-01-10 19:29:18 +01:00
Mikaël Capelle 5a7bd3db67 Re-add 'Create empty mod' and 'Create separator' to global mod list context menu. 2021-01-10 10:27:31 +01:00
Mikaël Capelle 342d529dd6 Do not notifyChange if the new name is identical to the old name. 2021-01-10 10:27:31 +01:00
Mikaël Capelle 883ca5d376 Left-align warning icon if there is no update icon in the column version. 2021-01-10 10:27:31 +01:00
Mikaël Capelle 2606b10c7e Display upgrade/warning for versions on collapsed separators. 2021-01-10 10:27:30 +01:00
Mikaël Capelle 3e5d71923f Rename ModListStyledItemDelegated -> ModListStyledItemDelegate. 2021-01-10 10:27:30 +01:00
Mikaël Capelle 5fb590efe3 Fix vertical alignment of icons. 2021-01-10 10:27:30 +01:00
Mikaël Capelle 7b684f4d15 Tentative fix for automatic text color when markers or separator colors are used. 2021-01-10 10:27:30 +01:00
Mikaël Capelle d923730452 Allow double-click to accept choice in ListDialog. 2021-01-10 10:27:30 +01:00
Mikaël Capelle 2d9fbc7421 Remove dropSeparators() method from proxy. 2021-01-10 10:27:30 +01:00
Mikaël Capelle abd82f88db Fix Alt+Click for selecting children of separators. 2021-01-10 10:27:30 +01:00
Mikaël Capelle c06d28e3a3 Tentative fix for drop indicator appearance at the top of the mod list. 2021-01-10 10:27:30 +01:00
Mikaël Capelle 7d9fa5e4f9 Fix drop below collapsed separator. 2021-01-10 10:27:30 +01:00
Mikaël Capelle fc60ea5b7a Add option to have different separator collapsed/expanded states between profiles. 2021-01-10 10:27:30 +01:00
Mikaël Capelle 80371ae2cc Update markers and plugins highligths when separator is expanded/collapsed. 2021-01-10 10:27:30 +01:00
Mikaël Capelle f919e09173 Show conflicts and highligth plugins from collapsed separators. 2021-01-10 10:27:30 +01:00
Mikaël Capelle 5765439c7c Alt+Click select/deselect the rows below from a separator. 2021-01-10 10:27:30 +01:00
Mikaël Capelle 183440d694 Display mod flags on collapsed separators. 2021-01-10 10:27:30 +01:00
Mikaël Capelle 1ac3f4d8e8 Display children contents in collapsed separator. 2021-01-10 10:27:22 +01:00
Mikaël Capelle 76796796be Re-organize settings. Add setting to remember filters when restarting MO. 2021-01-10 10:26:11 +01:00
Mikaël Capelle 80e44a9e3a Merge pull request #1338 from Holt59/collapsible-separators
Collapsible separators (and refactoring).
2021-01-10 10:25:37 +01:00
Mikaël Capelle 4a0ce804ea Menu separator before collapse entries in separator context menu. 2021-01-10 10:20:46 +01:00
Mikaël Capelle 1ed3fcaa9b NameRole -> GameNameRole. 2021-01-10 10:19:40 +01:00
isanae eaec140f7c Merge pull request #1349 from isanae/master
Handle category cycles by putting parent ids in a set
2021-01-09 15:12:56 -05:00
isanae 6781451ab2 handle cycles by putting parent ids in a set 2021-01-09 15:07:20 -05:00
isanae 135d23c20a Merge pull request #1347 from isanae/master
Fix game selection not appearing on startup
2021-01-09 14:01:25 -05:00
isanae ea76c33710 fix skipping pages in single page mode
in single page mode, ready() can return false for some pages like the instance type if the selected page is past it, so skip() has to be checked too
2021-01-09 13:56:21 -05:00
Mikaël Capelle bec0974c95 Prevent creating separator or empty mod 'on' backups. 2021-01-06 17:55:11 +01:00
Mikaël Capelle 9703c45741 Remove incorrect command and small clean for mainwindow.h. 2021-01-06 11:25:56 +01:00
Mikaël Capelle 4ac3ee4291 Do not return value from copySelection(). 2021-01-06 10:05:35 +01:00
Mikaël Capelle 86fb0dc9bd Merge remote-tracking branch 'origin/master' into collapsible-separators 2021-01-06 09:29:15 +01:00
Mikaël Capelle fc4b069a87 Remove manual setDrag/setDrop in download tab. 2021-01-06 09:27:20 +01:00
Mikaël Capelle bcdf38f5cf Avoid switching proxy model when not necessary. 2021-01-05 13:14:06 +01:00
isanae e3e54bc8d3 Merge pull request #1342 from isanae/shortcut-nolock
Fix running shortcuts with locking disabled
2021-01-05 07:06:50 -05:00
isanae 24a6749157 fix running shortcuts with locking disabled
when a ProcessRunner gets ForceWait|PreventExit and locking is disabled, wait for the process normally but without showing the ui
changed references to UILocker::Session to pointers because they can now be null
2021-01-04 20:49:05 -05:00
isanae 09f07ddae9 Merge pull request #1341 from isanae/profile-crash
Fixes for the profiles dialog
2021-01-04 20:46:43 -05:00
Mikaël Capelle 8685fcda31 Documentation + Refresh expanded state on model reset. 2021-01-04 19:46:29 +01:00
Mikaël Capelle faa4ae3426 Remove useless QObject:: accessor. 2021-01-04 19:41:47 +01:00
Mikaël Capelle b242394c0f Keep track of expanded items in the view instead of the models. 2021-01-04 19:37:20 +01:00
Mikaël Capelle 85cd337157 Disable proxies when they are not used. 2021-01-04 19:06:43 +01:00
isanae 7c0479b098 fixes for the profiles dialog:
- don't refresh before showing the dialog, this happened because setCurrentIndex() was called to reselect the old item after <manage> was selected
 - can't use previousIndex after the dialog has been shown, the ordering might have changed if profiles were created/removed
 - don't call activateSelectedProfile() manually when 'select' is clicked from the dialog, just call setCurrentText() and let it fire the event again, then return immediately so it's not done twice
2021-01-04 09:40:52 -05:00
Mikaël Capelle 7d53976ecc Reduce auto-expand delay to 750ms. 2021-01-03 16:58:26 +01:00
Mikaël Capelle fbd7e777d7 Add option to enable/disable displaying conflicts on collapsed separators. 2021-01-03 16:30:35 +01:00
Mikaël Capelle f7647b985b Fix ModListView::visualRect(). 2021-01-03 13:39:22 +01:00
Mikaël Capelle 3366d9f192 Create CopyEventFilter. Add Ctrl+C to the plugin list. 2021-01-03 12:51:54 +01:00
Mikaël Capelle c36d1126df Remove log. 2021-01-03 12:28:29 +01:00
Mikaël Capelle b708bcc097 Show conflict icons from children when separator is collapsed. 2021-01-03 12:24:27 +01:00
Mikaël Capelle 3d176cf01e Reorganizer ModList filters. 2021-01-03 11:59:27 +01:00
Mikaël Capelle 098ea31a1d Update documentation for drawBranches. 2021-01-03 01:50:45 +01:00
Mikaël Capelle e96a1f3ced Fix indentation of indicators branches when using collapsible separators. 2021-01-03 01:44:39 +01:00
Mikaël Capelle c8eb3f6e05 Fix empty separator name in copy/paste. 2021-01-03 00:03:33 +01:00
Mikaël Capelle e713e49934 Move plugin list index-view conversion to private. 2021-01-02 23:33:42 +01:00
Mikaël Capelle 94b3674d08 Move highlighting of mods containing selected plugins to mod view. 2021-01-02 20:35:39 +01:00
Mikaël Capelle 085ccd973d Remove log from filter list. 2021-01-02 20:34:30 +01:00
Mikaël Capelle 8de7b79a2b Move markers management for overwrite/overwritten to ModListView. 2021-01-02 20:26:39 +01:00
Mikaël Capelle d96dcf02b1 Refactoring of ModInfo to give access to the core. Remove ModInfo::remove() completely. 2021-01-02 19:07:50 +01:00
Mikaël Capelle c7abae79b3 Minor cleaning of PluginList. 2021-01-02 18:27:16 +01:00
Mikaël Capelle 45628951b6 Remove useless layoutChanged() in PluginList. 2021-01-02 18:24:53 +01:00
Mikaël Capelle 12148488a6 Remove unused signal. 2021-01-02 18:24:37 +01:00
Mikaël Capelle 071974c243 Save/restore filter list state between run. 2021-01-02 17:18:31 +01:00
Mikaël Capelle 22810ccbba Add Ctrl+C to copy the current selection of mod in the mod list. 2021-01-02 16:29:10 +01:00
Mikaël Capelle 740c383f63 Add index attribute to ModInfo. 2021-01-02 16:28:55 +01:00
Mikaël Capelle 9ac6e37575 Minor cleaning and fix in ModList.
- Proper display of separator name for removal.
- Replace usage of flags with isXXX.
2021-01-02 15:40:12 +01:00
Mikaël Capelle 253fbb6964 Move option to use collapsible separators. 2021-01-02 15:40:12 +01:00
Mikaël Capelle 42586639a8 Move connection from organizer to mainwindow. 2021-01-02 15:40:12 +01:00
Mikaël Capelle d86dec5382 Minor refactoring. 2021-01-02 15:40:12 +01:00
Mikaël Capelle 65577c71f3 Fix notification for removed mods. 2021-01-02 15:40:10 +01:00
Mikaël Capelle e6769bacdd Add Page Up/Down shortcut in ModInfoDialog. 2021-01-02 15:38:19 +01:00
Mikaël Capelle c0ac46d5c0 Fix create empty mod/separator position. 2021-01-02 15:38:19 +01:00
Mikaël Capelle bd76c67730 Disable 'filter separators' combo box when using collapsible separators. 2021-01-02 15:38:19 +01:00
Mikaël Capelle c135920b16 Fix highligth of collapsed separator. Move foreground color fix to delegate. 2021-01-02 15:38:19 +01:00
Mikaël Capelle 8a789d303b Remove duplicated code. 2021-01-02 15:38:19 +01:00
Mikaël Capelle 011e4d522e Fix setting the primary category of multiple mods at once. 2021-01-02 15:38:19 +01:00
Mikaël Capelle 21ab4ad78b Minor cleaning in ModList. 2021-01-02 15:38:19 +01:00
Mikaël Capelle d708287c9e Clean code and reorganize. 2021-01-02 15:38:19 +01:00
Mikaël Capelle 3bb189a427 Add method to retrieve the grouping mode. 2021-01-02 15:38:19 +01:00
Mikaël Capelle 3560093f1b Override separator color instead of mixing it. 2021-01-02 15:38:19 +01:00
Mikaël Capelle e5f43788e8 Visual fixes for the modlist.
- Fix invalid positions of markers in the scrollbar.
- Use color from children for collapsed elements (background and markers).
2021-01-02 15:38:19 +01:00
Mikaël Capelle f36c683320 Save the state of the mod list properly. 2021-01-02 15:38:19 +01:00
Mikaël Capelle 73490b3fdd Remove unused stuff from MainWindow. 2021-01-02 15:38:18 +01:00
Mikaël Capelle e02ba3b26d Some cleaning. Avoid using Qt::UserRole. 2021-01-02 15:38:18 +01:00
Mikaël Capelle 73b4a590ca Use topLevelWidget() instead of custom parent in mod list actions. 2021-01-02 15:38:18 +01:00
Mikaël Capelle 33860662c1 Move sort plugins handler to PluginListView. 2021-01-02 15:38:18 +01:00
Mikaël Capelle 87dac464d9 Fix position of markers in scrollbar for non-flat models. 2021-01-02 15:38:18 +01:00
Mikaël Capelle fff41be845 Remove selection-related stuff from plugin/mod lists. 2021-01-02 15:38:18 +01:00
Mikaël Capelle 399ff3fcf7 Minor clean for plugin list. 2021-01-02 15:38:18 +01:00
Mikaël Capelle 91081315cf Remove unused methods. 2021-01-02 15:38:18 +01:00
Mikaël Capelle 5d82e9cfec Add shift+enter shortcut to expand rows in mod list. 2021-01-02 15:38:18 +01:00
Mikaël Capelle b5ce6eb8e7 Move open-explorer key combination to views. 2021-01-02 15:38:18 +01:00
Mikaël Capelle bd34b53223 Move plugin list context menu to its own class and to PluginListView. 2021-01-02 15:38:18 +01:00
Mikaël Capelle 25a2123e5f Move keyboard event to PluginListView. 2021-01-02 15:38:18 +01:00
Mikaël Capelle f2d8469ed6 Start moving stuff from MainWindow to PluginListView. 2021-01-02 15:38:18 +01:00
Mikaël Capelle 8dffe65032 Documentation for ModListView. 2021-01-02 15:38:18 +01:00
Mikaël Capelle e420b8fc26 ProxyStyle documentation. 2021-01-02 15:38:18 +01:00
Mikaël Capelle cc4dcf617f Move modlistview proxy style to moapplication. 2021-01-02 15:38:18 +01:00
Mikaël Capelle ac6373edf6 Fix drop indicator style in mod list. 2021-01-02 15:38:18 +01:00
Mikaël Capelle ca5beac251 Remove cancelModListEditor (unused). 2021-01-02 15:38:18 +01:00
Mikaël Capelle 142ba74acf Use proper parent object in modlistviewactions. 2021-01-02 15:38:18 +01:00
Mikaël Capelle f4fff85d6d Fix parent of ModInfoDialog. 2021-01-02 15:38:18 +01:00
Mikaël Capelle 0abf0d8c8e Remove useless using declaration. 2021-01-02 15:38:18 +01:00
Mikaël Capelle ee7097b0a7 Make some methods protected in ModListView. 2021-01-02 15:38:18 +01:00
Mikaël Capelle 524145405b Minor refactoring. 2021-01-02 15:38:18 +01:00
Mikaël Capelle acdea88541 Maintain selection while filtering (again). 2021-01-02 15:38:17 +01:00
Mikaël Capelle a19ede5b6f Move filter list to ModListView. 2021-01-02 15:38:17 +01:00
Mikaël Capelle a105e4c8c8 Move more stuff from MainWindow. Minor improvements for prev/next button in ModInfoDialog. 2021-01-02 15:38:17 +01:00
Mikaël Capelle fcf0aff98b Replace hasFlag by isX. 2021-01-02 15:38:17 +01:00
Mikaël Capelle 48d92fbd9f Fix originModified signal handling. 2021-01-02 15:38:17 +01:00
Mikaël Capelle 2ed9db7aab Move creations of actions to ModListView. 2021-01-02 15:38:17 +01:00
Mikaël Capelle a27656dc7b Move click event to ModListView. Remove unused slots from MainWindow. 2021-01-02 15:38:17 +01:00
Mikaël Capelle 4f89665056 Move the regular context menu. 2021-01-02 15:38:17 +01:00
Mikaël Capelle 51281ac304 Clean visitOnX methods. 2021-01-02 15:38:17 +01:00
Mikaël Capelle 6e4b1790ae Move the separator context menu. 2021-01-02 15:38:17 +01:00
Mikaël Capelle 4ee929b68a Move the backup context menu. 2021-01-02 15:38:17 +01:00
Mikaël Capelle 7f0c9b8d82 Move the overwrite context menu. 2021-01-02 15:38:17 +01:00
Mikaël Capelle fb52a129b3 More stuff moved to mod list context. 2021-01-02 15:38:17 +01:00
Mikaël Capelle e8c2d9cd29 More context menu stuff moved. 2021-01-02 15:38:17 +01:00
Mikaël Capelle 8a88421fd9 Start moving modlist context menu actions to separate structures. 2021-01-02 15:38:17 +01:00
Mikaël Capelle 07c2badd17 Fix rebase from 54736a6. 2021-01-02 15:38:17 +01:00
Mikaël Capelle 89ff59da46 Add message for invalid drag. Split & clean code. 2021-01-02 15:38:17 +01:00
Mikaël Capelle 313589cf10 Fix canDrop in sort proxy. 2021-01-02 15:38:17 +01:00
Mikaël Capelle 6443fa4c0e Fix category management. 2021-01-02 15:38:17 +01:00
Mikaël Capelle eabf64fbc0 Clean drag&drop code and add drop of external folder/archives. 2021-01-02 15:38:17 +01:00
Mikaël Capelle 50a0c95a82 Remove unused method. 2021-01-02 15:38:17 +01:00
Mikaël Capelle 229033f2d6 Remove debug for not-checkable row in grouping proxy (happens with backups for instance). 2021-01-02 15:38:16 +01:00
Mikaël Capelle 8eb59316f9 Do not invalidate the sort proxy when not required (keep selection). 2021-01-02 15:38:16 +01:00
Mikaël Capelle 1efa793290 Expand separator after drop. 2021-01-02 15:38:16 +01:00
Mikaël Capelle 53d6460558 Attempt to fix the style of the drop indicator. 2021-01-02 15:38:16 +01:00
Mikaël Capelle f906229a91 Fix indent when grouping by category/nexus id. 2021-01-02 15:38:16 +01:00
Mikaël Capelle 41467d8e21 Conditional collapse/expand all item in 'all mods' menu. 2021-01-02 15:38:16 +01:00
Mikaël Capelle 373b659dcb Fix and move stuff around.
- Move selection-related code from ModList to ModListView.
- Fix move-selection for multi-selection.
- Fix refresh of mod list on toggle selection.
2021-01-02 15:38:16 +01:00
Mikaël Capelle 095348c16f Add option to disable collapsible separators. 2021-01-02 15:38:16 +01:00
Mikaël Capelle 44e846cf18 Remove context attribute from MainWindow. 2021-01-02 15:38:16 +01:00
Mikaël Capelle 6e803a3522 Fix prev/next button in mod info dialog. 2021-01-02 15:38:16 +01:00
Mikaël Capelle 7e2c521339 Refactoring and fixes.
- Move codes from MainWindow to ModListView.
- Fix enable/disable all visible.
- Fix changing style of the mod list.
2021-01-02 15:38:16 +01:00
Mikaël Capelle 68c9ae8592 Fix controls without indentation. 2021-01-02 15:38:16 +01:00
Mikaël Capelle a67fca4760 Tentative fix for the indentation. 2021-01-02 15:38:16 +01:00
Mikaël Capelle de87a105b0 Fix indentation and drop indicator. 2021-01-02 15:38:16 +01:00
Mikaël Capelle 4ee3d2848e Prevent dropping mods into their current separator. 2021-01-02 15:38:16 +01:00
Mikaël Capelle 7c073f74c2 Toggle expanded state on double-click. 2021-01-02 15:38:16 +01:00
Mikaël Capelle f923de39e0 Maintain selection while filtering. 2021-01-02 15:38:16 +01:00
Mikaël Capelle 25d852f075 Fix filtering for separators. 2021-01-02 15:38:16 +01:00
Mikaël Capelle 9ea4e6bb09 Increase auto-expand delay to 1s. 2021-01-02 15:38:16 +01:00
Mikaël Capelle 9b13b467cf Revert "Revert to Qt default behavior for auto-collapse on hovering."
This reverts commit b74f08a57ba659e2da232e253844aff8a169f9e0.
2021-01-02 15:38:16 +01:00
Mikaël Capelle e5744941ae Fix dropping below/above separators. 2021-01-02 15:38:16 +01:00
Mikaël Capelle 48fc724a0d Remove non-necessary refresh() of the proxy on mod installed. 2021-01-02 15:38:16 +01:00
Mikaël Capelle d979e60aed Fix automatic refresh of the collapsible separator proxy. 2021-01-02 15:38:15 +01:00
Mikaël Capelle 7a65cc6488 Disable drag&drop of mods in backups. 2021-01-02 15:38:15 +01:00
Mikaël Capelle 6e802d7327 Do not move installed mod after merge/replace. 2021-01-02 15:38:15 +01:00
Mikaël Capelle 54ea4445b0 Fix sorting of backups when using collapsible separators. 2021-01-02 15:38:15 +01:00
Mikaël Capelle 64f771bc1f Refresh by-priority proxy after install and focus on the newly installed mod. 2021-01-02 15:38:15 +01:00
Mikaël Capelle e1ef7132ad Revert to Qt default behavior for auto-collapse on hovering. 2021-01-02 15:38:15 +01:00
Mikaël Capelle a7131a761e Prevent dropping separators onto separators. 2021-01-02 15:38:15 +01:00
Mikaël Capelle 6d75ad0962 Allow drag&drop a separator to itself. 2021-01-02 15:38:15 +01:00
Mikaël Capelle 8b89f9f49d Better drag handling. 2021-01-02 15:38:15 +01:00
Mikaël Capelle b340c564cf Fix keyboard move selection. 2021-01-02 15:38:15 +01:00
Mikaël Capelle 9d8c64dccb Do not set Qt::ItemIsDropEnabled all the time. 2021-01-02 15:38:15 +01:00
Mikaël Capelle 9db6a9d793 Save collapse state of separator. 2021-01-02 15:38:15 +01:00
Mikaël Capelle 4636d7bd5d Small refactoring to avoid duplicated code. 2021-01-02 15:38:15 +01:00
Mikaël Capelle addb38645b Clean drag&drop of URLs and mods/archives. 2021-01-02 15:38:15 +01:00
Mikaël Capelle cc5f0c8555 Drag and drop from download view to install + Expand and scroll to mod on install. 2021-01-02 15:38:15 +01:00
Mikaël Capelle c46432cc2e Move common code to method. 2021-01-02 15:38:15 +01:00
Mikaël Capelle 14bdef9ea6 Add collapse/expand all actions. 2021-01-02 15:38:15 +01:00
Mikaël Capelle 1e2297604b Restrict collapsible separators to sort-by-priority in ascending order. 2021-01-02 15:38:15 +01:00
Mikaël Capelle e4473d8fd5 Restrict collapsible separators to sort-by-priority. 2021-01-02 15:38:15 +01:00
Mikaël Capelle 6444dd7f5c Fix drag-and-drop of separators. 2021-01-02 15:38:15 +01:00
Mikaël Capelle 6e34765866 Allow drop before first separator. 2021-01-02 15:38:15 +01:00
Mikaël Capelle c778f01c89 Only expand if model is correct. 2021-01-02 15:38:14 +01:00
Mikaël Capelle 604da06bd8 Fix expansion of items when building tree. 2021-01-02 15:38:14 +01:00
Mikaël Capelle d4e0589470 Fix drag and drop of regular mods. 2021-01-02 15:38:14 +01:00
Mikaël Capelle 44103ef737 Disable auto-collapsing after delay. 2021-01-02 15:38:14 +01:00
Mikaël Capelle 064caa6ef4 Add auto-expand. 2021-01-02 15:38:14 +01:00
Mikaël Capelle d0512da758 Use an intermediate structure to store the separator tree. 2021-01-02 15:38:14 +01:00
Mikaël Capelle be0d6aef00 Start working on collapsible separators. 2021-01-02 15:38:14 +01:00
Mikaël Capelle 71055e373d Merge pull request #1340 from Holt59/update-imodinterface
Remove setName and remove from mod interface.
2021-01-02 15:25:40 +01:00
Mikaël Capelle 3a92ff96ba Remove setName and remove from mod interface. 2021-01-02 15:08:29 +01:00
Al 386cfc511a Merge pull request #1336 from Holt59/fix-crash-during-extraction
Tentative fix for crash during large extraction.
2021-01-01 14:49:46 +01:00
Mikaël Capelle 469cfcef55 Tentative fix for crash during large extraction. 2020-12-31 11:52:16 +01:00
AL edee6af38e Bump version to alpha4 2020-12-30 22:17:46 +01:00
Mikaël Capelle 4fdb8ee8e6 Merge pull request #1334 from Holt59/dot-in-filefindinfos
Allow '.' for the path in findFileInfos.
2020-12-30 21:05:57 +01:00
Mikaël Capelle d7fce1a2d6 Allow '.' for the path in findFileInfos. 2020-12-30 20:46:22 +01:00
Al 54736a6e24 Merge pull request #1329 from Holt59/imodinterface-isX
Add method to get the type of IModInterface.
2020-12-30 15:25:26 +01:00
isanae 1b101bda36 Merge pull request #1333 from isanae/more-stuff-2
More stuff 2
2020-12-29 07:29:53 -05:00
isanae 33a177f1ed profiles dialog:
- added select button
  - select new profile in the list after creating
2020-12-29 02:42:07 -05:00
isanae cc997c3704 editable combobox for output mod name 2020-12-29 02:10:33 -05:00
isanae 91e1cc9cca update mod counts for creating/restoring backups 2020-12-28 06:59:39 -05:00
isanae f01fe9ce7c refresh action, added in toolbar and menu 2020-12-28 06:37:50 -05:00
isanae e43f6e6f37 disallow renaming the active profile 2020-12-28 06:24:26 -05:00
isanae 4b059fa71f Merge pull request #1332 from isanae/more-stuff
More stuff
2020-12-28 06:23:44 -05:00
isanae 9b3e91b53e renamed DownloadList::lessThan to lessThanPredicate and added a comment that it's used with the filter widget 2020-12-28 06:01:43 -05:00
isanae c2c0f7c98d added open in explorer in save game context menu 2020-12-28 05:44:51 -05:00
isanae f46a14f3bf delete shortcut for save games 2020-12-28 05:37:14 -05:00
isanae a8f6f0d7a0 split saves tab, no changes 2020-12-28 05:28:37 -05:00
isanae 462ea08c34 fixed warning about ini files with utf8 bom
fixed main thread name still getting clobbered by QWebEngine
2020-12-28 04:17:16 -05:00
isanae 3c62a048da fixed crash for ignore data/mark converted on multiple mods
also fixes only half the selected items being handled at a time
the selection must be copied first because it's live and will get invalidated when filters are being used
there was some weird connect() calls for every item, not sure why
2020-12-28 03:37:20 -05:00
isanae 1be2006359 offline mode:
- don't try to login on startup
- don't try to update loot when sorting and display a warning that the master list might be stale
2020-12-28 03:12:15 -05:00
isanae 51db1f99f0 custom browser command
changed some places that used QDesktopServices to use shell::Open() from uibase instead
2020-12-28 01:25:33 -05:00
isanae 106ed49bae removed setUpdateDelay(false) calls, it's the default
FilterWidget for downloads tab
2020-12-26 20:58:06 -05:00
isanae 3eb64c32e8 split downloads tab 2020-12-26 19:51:47 -05:00
isanae 2b2bb69351 don't update mods after installing in offline mode 2020-12-26 19:14:34 -05:00
isanae 2e86e36a8e allow selecting another instance when the game/variant isn't found 2020-12-26 19:09:59 -05:00
Mikaël Capelle f1156e169b Add method to get the type of IModInterface. 2020-12-26 16:53:07 +01:00
isanae 89bbdf22cd Merge pull request #1328 from isanae/stuff
Stuff
2020-12-24 23:06:53 -05:00
isanae 9441d49c6d added citrix to checks 2020-12-24 12:37:19 -05:00
isanae 1b700785bb don't log modules in winroot
dashes to dots
2020-12-24 11:22:24 -05:00
isanae da0771853a added BlueAmulet to contributors (conflict icons)
sorted names
2020-12-24 10:59:46 -05:00
isanae 5183b2f47a optimizations for download manager:
- use envfs for walking directory
 - minimize string copies, disk access
 - use set of filenames to check for duplicates
 - use file size from envfs
2020-12-24 10:55:55 -05:00
isanae c8cff6166d added version to dmp filename
replaced QApplication calls so createVersionInfo() can be called without one, happens with dump_running_process.bat
2020-12-24 10:02:56 -05:00
isanae 28d24b3caa don't count overwrite, m_Overwrite is dead code 2020-12-24 09:50:43 -05:00
isanae 444f12c7c4 replaced "validator" logs with "nexus", clearer for users 2020-12-24 09:45:26 -05:00
isanae b20b458299 also log primary handler 2020-12-24 09:42:23 -05:00
isanae b2af1e340f dump nxmhandler.ini 2020-12-24 09:36:04 -05:00
isanae c676247f99 ignore steam username when dumping settings 2020-12-24 09:13:11 -05:00
isanae 4bff983527 regex for osds
added gigabyte 3d osd, more nahimic
2020-12-24 09:12:16 -05:00
isanae 06ca11edfb Merge pull request #1327 from isanae/instance-icons
Fixed incorrect instance icons
2020-12-22 15:00:49 -05:00
isanae d08ed01438 fixed instanceIcon() so it works when game plugins fail auto detection but the instance has a custom path
had to change PluginContainer to non const in a few places
2020-12-22 14:40:51 -05:00
isanae b7486d9157 typo 2020-12-21 09:49:00 -05:00
isanae 5560931ad9 Merge pull request #1324 from isanae/master
Added 6788 and trosski to the about diaog
2020-12-20 23:13:40 -05:00
isanae f1ea330df0 added 6788 and trosski to the about diaog 2020-12-20 23:13:07 -05:00
isanae 97dab75c75 Merge pull request #1323 from isanae/master
Added timing for vfs mapping
2020-12-20 23:08:53 -05:00
isanae 598a99e420 added timing for vfs mapping 2020-12-20 23:08:14 -05:00
Mikaël Capelle 904264e231 Merge pull request #1313 from Holt59/load-plugin-without-restart
Implement loading/unloading of plugins without restarting
2020-12-07 08:40:23 +01:00
Mikaël Capelle 3264d7899e Remove unused member in proxy. 2020-12-04 19:58:47 +01:00
Mikaël Capelle d644eecbb7 Remove log for disconnectSignals(). 2020-12-04 19:56:26 +01:00
Mikaël Capelle 8b02a5a796 Fix crash when starting MO2 without instance. 2020-12-04 19:32:11 +01:00
Mikaël Capelle a1ab717e9e Minor cleaning (comments, names). 2020-12-04 13:41:06 +01:00
Mikaël Capelle 7a3bc0cd23 Throw exception when trying to unload the current game plugin. 2020-12-04 13:33:14 +01:00
Mikaël Capelle 4118aef2a2 Remove disconnectPlugins() from OrganizerCore. 2020-12-04 13:32:47 +01:00
isanae 0a6a5eb786 Merge pull request #1316 from isanae/master
Spaces in paths
2020-12-04 04:24:37 -05:00
isanae 50dde6c94e quotes for spaces in paths 2020-12-04 04:23:55 -05:00
Mikaël Capelle a30d49f4fc Avoid duplicating code to simulate startup. 2020-12-04 08:50:31 +01:00
Mikaël Capelle f229dbaaa7 Do not store the list of preview plugins in PreviewGenerator. 2020-12-04 08:03:40 +01:00
Mikaël Capelle a6654eaec8 Centralize loading Qt plugin in loadQtPlugin. 2020-12-04 07:58:58 +01:00
Mikaël Capelle 1a486a0942 Add MainWindow::onPluginRegistrationChanged. 2020-12-04 07:52:24 +01:00
Mikaël Capelle 47626d654f Clarify comment. 2020-12-04 07:45:56 +01:00
isanae b2ec5fa70a Merge pull request #1315 from isanae/download-crash
Handle null plugin when adding a download
2020-12-03 20:04:21 -05:00
isanae 43f20f511c handle null plugin when adding a download
happens when some plugins refer to other plugins that are missing
2020-12-03 20:03:35 -05:00
Al 258a9e0f5a Merge pull request #1312 from BlueAmulet/master
Better blue conflict icons
2020-12-02 13:19:41 -08:00
Mikaël Capelle 4240f10260 Fix callbacks for pluginlist, modlist and download manager. 2020-12-02 21:09:42 +01:00
Mikaël Capelle cb453a9ba7 Fix callbacks for IOrganizer when plugin are unloaded/loaded. 2020-12-02 21:08:22 +01:00
Mikaël Capelle 4f7f378d8d Add methods to load/reload/unload plugins. 2020-12-02 21:07:04 +01:00
Mikaël Capelle 89190af4b2 Add signals (not used yet) for registering/unregistering plugins. 2020-12-02 21:05:54 +01:00
Mikaël Capelle facb4e7fe4 Do not store installers in InstallationManager, use the ones from PluginContainer. 2020-12-02 21:04:18 +01:00
Mikaël Capelle 90154e621a Add Settings::unregisterPlugin(). 2020-12-02 21:03:10 +01:00
BlueAmulet 44eb0946a7 Better blue conflict icons 2020-12-02 11:15:00 -07:00
Mikaël Capelle c3a9571696 Merge pull request #1311 from Holt59/ipluginproxy-unload
Add IPluginProxy::unload() and rename instantiate() to load().
2020-12-02 16:26:59 +01:00
Mikaël Capelle b8bc0f7ab3 Merge pull request #1310 from Holt59/fix-mod-extensions-check-for-install
Compute supported extensions dynamically in installation and download managers.
2020-12-02 09:09:38 +01:00
Al 5ff024b77c Merge pull request #1300 from Qudix/ignore_alt
Ignore ALT-key event when ui is locked
2020-12-01 14:06:15 -08:00
Seth Riley ce7345bde2 The Golden Comment 2020-12-01 16:05:23 -06:00
Seth Riley 852d8745a1 Merge https://github.com/ModOrganizer2/modorganizer into ignore_alt 2020-12-01 15:55:50 -06:00
Mikaël Capelle 4818eb6cfe Add IPluginProxy::unload() and rename instantiate() to load(). 2020-12-01 21:21:26 +01:00
Mikaël Capelle ad17210d7a Compute supported extensions dynamically in installation and download manager. 2020-12-01 21:07:54 +01:00
Al 1ec3ab2b8a Merge pull request #1304 from ModOrganizer2/Al12rs-refresh-waitForApplication
Refresh after waiting for application (vfs)
2020-11-28 10:55:25 -08:00
AL 3db08caaf2 Allow optional refresh for waitForApplication() 2020-11-28 17:28:49 +01:00
AL d99e576db8 Merge branch 'master' into Al12rs-refresh-waitForApplication 2020-11-28 17:21:33 +01:00
Al 2c115e48cc Merge pull request #1301 from ModOrganizer2/iplugingame-saves
IPluginGame::listSaves
2020-11-28 06:32:09 -08:00
Mikaël Capelle ef11888116 Fix conflicts with master. 2020-11-27 19:20:41 +01:00
isanae dffec4fd9d Merge pull request #1305 from ModOrganizer2/revert-1277-master
Revert "Changing the location of several directories"
2020-11-27 07:47:19 -05:00
isanae 5dd9bbe33a Revert "Changing the location of several directories" 2020-11-27 07:34:00 -05:00
Al a0229380ce Refresh after waiting for application (vfs) 2020-11-26 15:33:49 +01:00
Mikaël Capelle d855daf103 Revert translation file. 2020-11-25 21:18:37 +01:00
Mikaël Capelle f3f0036a05 Fix PluginContainer::setUserInterface(). 2020-11-23 15:30:21 +01:00
Mikaël Capelle 0a912afe72 Add timer to the save list watcher to avoid error during refresh. 2020-11-21 12:13:20 +01:00
Mikaël Capelle 32072ca19e Return shared_ptr in IPlugin::requirements(). 2020-11-19 21:21:38 +01:00
Mikaël Capelle 951ccdc823 Update following removal of IPlugin::isActive(). 2020-11-18 19:26:59 +01:00
Mikaël Capelle e76e7e034d Move MemoizedLock to uibase. 2020-11-18 19:22:13 +01:00
Mikaël Capelle e39de4dd2a Update following addition of IPluginGame::listSaves(). 2020-11-18 19:22:05 +01:00
Mikaël Capelle ddba54382a Merge pull request #1292 from Holt59/iplugin-isactive-refactoring
IPlugin::isActive refactoring
2020-11-18 10:01:27 +01:00
Qudix 60688ecf5b Ignore ALT-key event when ui is locked 2020-11-18 02:13:25 -06:00
Mikaël Capelle 61554d3df7 Better vertical alignment for plugin descriptions. 2020-11-17 18:27:21 +01:00
Mikaël Capelle 1d6d01dec8 Disable checkbox when plugin cannot be enabled. 2020-11-17 18:24:10 +01:00
Mikaël Capelle 8886674379 Better dialog for warning when disabling proxy plugin. 2020-11-17 14:28:43 +01:00
Mikaël Capelle bed3475362 Fix crash for proxied plugins on first startup. 2020-11-17 14:28:00 +01:00
Mikaël Capelle e9a4f91fac Display inactive checkbox for core plugins (not for games). 2020-11-17 13:24:57 +01:00
Mikaël Capelle 1e67c3e68d Add core plugins and better messages. 2020-11-17 12:30:59 +01:00
Mikaël Capelle 9fd2a757fa Fix had -> add. 2020-11-17 10:50:36 +01:00
Mikaël Capelle c62da01478 Replace : by . in comments. 2020-11-17 10:49:29 +01:00
Mikaël Capelle e0b73a7d7d Fix selection in Plugins settings. 2020-11-17 10:45:29 +01:00
Mikaël Capelle 037ca381a4 Fix filter for child plugins. 2020-11-17 10:27:52 +01:00
Mikaël Capelle 0668640338 Merge pull request #1298 from Holt59/fix-findfiles
Allow '.' in findFiles and filter on file name, not full paths.
2020-11-17 09:17:21 +01:00
Mikaël Capelle 3de7e93a95 Merge pull request #1291 from Qudix/tracking_integration
Add a toggle for tracking
2020-11-16 12:43:47 +01:00
Mikaël Capelle 4c822e6563 Allow '.' in findFiles and filter on file name, not full paths. 2020-11-15 20:41:26 +01:00
isanae 5f7e2988cd Merge pull request #1297 from isanae/master
Fix crash when clicking ... in path page
2020-11-15 04:07:40 -05:00
isanae 18106aa945 fixed crash when clicking ...
lambda was taking a local variable by reference
2020-11-15 04:06:56 -05:00
Qudix 67188a39cb Merge branch 'master' of https://github.com/ModOrganizer2/modorganizer into tracking_integration 2020-11-14 19:45:23 -06:00
isanae 4833e494d5 Merge pull request #1277 from Qudix/master
Changing the location of several directories
2020-11-14 06:54:51 -05:00
Qudix 24991bf5fb Merge branch 'master' of https://github.com/ModOrganizer2/modorganizer into master 2020-11-14 00:36:57 -06:00
isanae 579f94b5b6 Merge pull request #1296 from isanae/master
Adding Qudix to contributors
2020-11-13 23:54:47 -05:00
isanae 6a6cf8b0e7 added Qudix to contributors 2020-11-13 23:54:08 -05:00
Mikaël Capelle 88d2d7b918 Merge pull request #1295 from Holt59/fix-order-of-saves
Fix order of saves.
2020-11-13 18:29:53 +01:00
Mikaël Capelle e99b05f20d Fix order of saves. 2020-11-13 18:27:33 +01:00
Mikaël Capelle 34e9fb0015 Check for disabled mod page plugins. 2020-11-13 18:26:49 +01:00
Mikaël Capelle 1facda1943 Merge branch 'master' of github.com:ModOrganizer2/modorganizer into iplugin-isactive-refactoring 2020-11-13 16:14:31 +01:00
Mikaël Capelle 4d94ba8dbb Proper handling of mod pages. 2020-11-13 13:18:05 +01:00
Mikaël Capelle fe6654f892 Better 'Browse Mod Page' menu. 2020-11-13 13:04:22 +01:00
Mikaël Capelle 5384fb1cf6 Feeling like Shakespeare. 2020-11-12 22:30:22 +01:00
Mikaël Capelle 0d6bdf5721 Do not initialize proxied plugins twice. 2020-11-12 22:08:55 +01:00
Mikaël Capelle a4acfc1f99 Add callbacks for plugin enabled/disabled. 2020-11-12 21:49:57 +01:00
Mikaël Capelle 56dcdd33a2 It's 2020. 2020-11-12 21:23:35 +01:00
Mikaël Capelle 15059907c9 Proper handling of proxied plugins that implement multiple interfaces. 2020-11-12 20:47:20 +01:00
isanae 85f515da2d Merge pull request #1294 from isanae/master
Bunch of instance and command line stuff
2020-11-12 03:16:44 -05:00
isanae 6ae27224b0 fixed a bunch of instance and command line stuff
- clear instance manager overrides when restarting, or switching instances after starting MO with moshortcut://instance: won't do anything
- clear overrides when the last selected instance can't be opened; MO would keep trying to open shortcuts even after selecting a different instance
- command line was cleared too early, before the first run, so shortcuts were broken
- the instance manager dialog can be opened without an instance loaded if the last selected instance doesn't exist, createNew() would throw because it tried to access the global Settings
- fixed some problems with parts of MO wanting to restart and others expecting flow to continue
- fixed create instance dialog using settings pointer to decide whether to restart; it restarts when it's the first created instance, which is not always the case even if the settings are null, so just check whether there are instances
2020-11-12 03:15:14 -05:00
Qudix 125fc7a82e Merge branch 'master' of https://github.com/ModOrganizer2/modorganizer 2020-11-11 23:30:03 -06:00
isanae f7de861812 Merge pull request #1293 from isanae/master
Crash when highlighting plugins from the Data directory
2020-11-12 00:18:41 -05:00
isanae a0c2651702 highlighting plugins from the data directory would crash
the mod name is "data" and getByName() crashes with a mod name that doesn't exist
2020-11-12 00:17:36 -05:00
Qudix f43b2284dd QtWebEngine does not respect built-in qt.conf 2020-11-11 20:58:38 -06:00
Mikaël Capelle 4fa44fe37e Remove duplicate dependencies. 2020-11-11 22:54:45 +01:00
Mikaël Capelle 90beed8c7b Handle proxy dependencies differently. 2020-11-11 22:45:33 +01:00
Mikaël Capelle 7ec0128eb5 Remove incorrect warning. 2020-11-11 21:42:05 +01:00
Mikaël Capelle c0ace25a87 Use IPlugin::master() when present. 2020-11-11 21:01:17 +01:00
Mikaël Capelle d3bd237c22 Fix rebase. 2020-11-11 20:34:28 +01:00
Mikaël Capelle a449098db9 Cleaner IPluginRequirement. 2020-11-11 20:30:34 +01:00
Mikaël Capelle e528d8b0ad Fix display of tools in the MainWindow menu. 2020-11-11 20:30:34 +01:00
Mikaël Capelle 0dddc5eb7b Fix handling of previous 'enabled' settings. 2020-11-11 20:30:34 +01:00
Mikaël Capelle f53d04a84d Hide Tool action instead of not adding them. 2020-11-11 20:30:34 +01:00
Mikaël Capelle 7a4f6d5344 Improve requirements handling. 2020-11-11 20:30:34 +01:00
Mikaël Capelle eb1d340f2d PluginRequirement -> IPluginRequirement and minor fixes. 2020-11-11 20:29:58 +01:00
Mikaël Capelle 6ee74831f7 Insert 'enabled' plugin if not present. 2020-11-11 20:29:58 +01:00
Mikaël Capelle 74ec078976 Replace usage of IPlugin::isActive(). 2020-11-11 20:29:58 +01:00
Qudix b9ec979b4c tabstop 2020-11-11 02:13:54 -06:00
Qudix 02c2329857 Add a toggle for tracking 2020-11-11 02:03:17 -06:00
Qudix b6f36b03a5 Merge branch 'master' of https://github.com/ModOrganizer2/modorganizer into master 2020-11-10 20:07:09 -06:00
isanae e1dceec67a Merge pull request #1290 from isanae/master
Local saves don't work
2020-11-10 21:01:57 -05:00
isanae ca54d5c55b Merge branch 'master' of https://github.com/ModOrganizer2/modorganizer 2020-11-10 21:00:54 -05:00
isanae be2456e815 detectGame() must be called before init() 2020-11-10 20:59:47 -05:00
Qudix 62caad3cdb Merge branch 'master' of https://github.com/ModOrganizer2/modorganizer into master 2020-11-10 12:11:20 -06:00
isanae 9c21d1e4f6 Merge pull request #1289 from isanae/master
Don't delete user directories by default
2020-11-10 12:53:02 -05:00
isanae 849a8bd6b9 uncheck directories changed by the user by default to match the old behaviour of deleting an instance 2020-11-10 12:45:16 -05:00
isanae 49f208c5a2 Merge pull request #1287 from isanae/master
Stuff doesn't run
2020-11-10 11:52:34 -05:00
isanae 5fa4df5525 whitespace 2020-11-10 10:20:10 -05:00
isanae 92773706b9 don't attempt to parse the command line for launch, it fails in all sorts of ways
don't try to time stuff before logging is initialized, an exception before initLogging() will crash because ~TimeThis() tries to log
2020-11-09 17:17:04 -05:00
Qudix b9bc1a2d56 Using AppConfig 2020-11-09 14:10:50 -06:00
Qudix 0a3bdad8af Merge branch 'master' of https://github.com/ModOrganizer2/modorganizer into master 2020-11-09 13:02:01 -06:00
isanae fef8543a58 Merge pull request #1286 from isanae/master
Nexus state not updated in settings
2020-11-09 08:55:50 -05:00
isanae 713e053d2c fixed nexus state not being updated 2020-11-09 08:55:09 -05:00
isanae 84e53f3ab3 Merge pull request #1284 from isanae/command-line-cleanup
Command line cleanup
2020-11-09 04:27:12 -05:00
isanae efdda8e738 removed excess padding in plugins tab
put blacklist into a group box
2020-11-09 00:01:07 -05:00
isanae 3cc568a852 keyboard nav for create instance dialog
change the skip intro setting on click instead of on completion
ctrl+f in game page
2020-11-08 23:55:17 -05:00
isanae d7ae42d377 renamed singleinstance.h/cpp to multiprocess.h/cpp 2020-11-08 22:09:42 -05:00
isanae a5469ae4e0 renamed SingleInstance to MOMultiProcess
rewrote some comments to avoid using "instance"
2020-11-08 22:07:15 -05:00
isanae 54bf7e1fa2 timings 2020-11-08 21:58:02 -05:00
Mikaël Capelle d23b38b4df Merge pull request #1285 from Holt59/remember-tabwidget-index
Remember currently open tab in right panel.
2020-11-08 13:39:24 +01:00
Mikaël Capelle 10634245ce Remember currently open tab in right panel. 2020-11-08 13:30:59 +01:00
isanae 346a6babdf renamed "change game" button to "manage instances" 2020-11-07 21:51:47 -05:00
isanae a104f5751d changed wiki link to Instances 2020-11-07 21:48:04 -05:00
isanae 2f817f36ef task dialog for plugin loadcheck
added option to skip plugin for this session only
2020-11-07 20:55:01 -05:00
isanae f9feb5fc5b show a confirmation before switching instances 2020-11-07 20:16:28 -05:00
isanae a28aeb2b18 implemented browse buttons 2020-11-07 20:16:28 -05:00
isanae 0b8fbfdc57 larger initial size for the instance dialog
save geometry if settings are available
2020-11-07 20:16:28 -05:00
isanae dd5367f488 fixed AppConfig::logFileName so it can be used
refactored MOApplication so everything is in doOneRun()
2020-11-07 20:16:28 -05:00
isanae 08c952e53a stopped using core dump stuff from usvfs, mo has its own
set exception handler at the start, it can handle not having qt or data paths
hopefully fixed infinite crash dumps
2020-11-07 20:16:27 -05:00
isanae b4f6275c3e split getCurrentInstance() 2020-11-07 20:16:27 -05:00
isanae 98b782caff reordered functions, removed unused headers 2020-11-07 20:16:27 -05:00
isanae 1b7384f7cb moved most of the stuff from main.cpp into MOApplication 2020-11-07 20:16:27 -05:00
isanae 079fd33cf1 added sanitychecks.h, moved to namespace sanity
added a set SetThisThreadName() after creating the main window, Qt resets it
2020-11-07 20:16:27 -05:00
isanae ba7d24faef moved handleCommandLine() to CommandLine::setupCore() 2020-11-07 20:16:27 -05:00
isanae 1bf24c7daa refactored setupInstance(), comments
ok -> okay
2020-11-07 20:16:27 -05:00
isanae d288587b00 moved instance setup/selection to instancemanager.cpp
comments
2020-11-07 20:16:26 -05:00
isanae a8187e7dc4 moved dlls stuff to MOApplication 2020-11-07 20:16:26 -05:00
isanae 90ea45328d moved splash stuff to MOSplash
comments
2020-11-07 20:16:26 -05:00
isanae 6ca1ebc349 comments
interpret a first argument starting with -- as an error instead of an exe name/binary
2020-11-07 20:16:26 -05:00
isanae 7614a14749 documentation 2020-11-07 20:16:26 -05:00
isanae baa5c3abee documentation
use an okay flag in PathsPage to avoid calling checkPaths() in ready() and make stuff mutable
moved a few things around
2020-11-07 20:16:26 -05:00
isanae b962d80816 moved DirectoryCreator up, moved fix functions as lambdas 2020-11-07 20:16:26 -05:00
isanae bc157095a5 moved getInstanceName() up
removed individual getters in CreateInstanceDialog, they were duplicating the work in creationInfo()
only VariantsPage needs access to the game plugin during creationInfo(), so pass it instead
selecting an undetected game, choosing a valid path and going back to the games page would not display the selected path in the list
2020-11-07 20:16:25 -05:00
isanae dc2ada2a42 added ... to the "Delete Instance" button to make it less scary
merged InstanceInfo into Instance, most of it was redundant
added logging before deleting instance
added Instance::readFromIni(), contains stuff that used to be in setup(), used by instance dialog
replaced QDir with QString in a few places, I hate QDir
2020-11-07 20:16:25 -05:00
isanae b7cb63ddb1 removed some redundant functions in InstanceManager, made them all non-static
documentation
2020-11-07 20:16:25 -05:00
Seth Riley b7b843d42b Merge branch 'master' of https://github.com/ModOrganizer2/modorganizer into master 2020-11-06 13:21:07 -06:00
Mikaël Capelle 93e8488a63 Merge pull request #1283 from Holt59/iplugingame-detectgame
Add IPluginGame::detectGame()
2020-11-06 20:17:48 +01:00
Mikaël Capelle ffeae1a632 Call detectGame() after checking for conversion. 2020-11-06 20:10:52 +01:00
Seth Riley 92f3694acd Fixed bad merge 2020-11-06 12:16:37 -06:00
Seth Riley ed1085d567 Merge branch 'master' of https://github.com/ModOrganizer2/modorganizer into master 2020-11-06 12:02:43 -06:00
Mikaël Capelle 1074825ca6 Replace IPlugin::registered() by IPluginGame::detectGame(). 2020-11-06 18:56:00 +01:00
isanae b909677c3f Merge pull request #1280 from isanae/command-line
Command line and instance dialogs
2020-11-06 10:51:03 -05:00
isanae ad8e9d99b3 renamed InstanceManager::instance() to singleton() to avoid confusion 2020-11-06 09:27:15 -05:00
isanae be9c39a3b4 pass null IOrganizer to proxy plugins instead of one with a null OrganizerCore
removed now useless null checks in OrganizerProxy
call setPluginDataPath() early so plugins can have it, since it's now a static function in IOrganizer
2020-11-06 09:05:45 -05:00
Mikaël Capelle a63a27840b Merge pull request #1281 from Holt59/imodinterface-filetree
Add IModInterface::fileTree().
2020-11-05 10:43:58 +01:00
isanae dc9de36965 call init() on proxy plugins
OrganizerProxy now handles a null OrganizerCore, used for proxy plugins
changed appVersion() and pluginDataPath() so they don't need OrganizerCore
2020-11-04 22:50:51 -05:00
isanae e6a87a1798 added IPlugin::registered()
removed useless dummy interfaces because init() isn't called anymore
python plugins currently broken because init() isn't called on them
fixed create instance dialog being shown on startup even if portable instance existed
display a message when the last instance can't be found
fixed instance manager dialog failing to open the portable instance
2020-11-04 20:57:50 -05:00
Mikaël Capelle 780cc2a352 Add IModInterface::fileTree(). 2020-11-04 21:46:39 +01:00
Seth Riley 34e1d05c28 Merge branch 'master' of https://github.com/ModOrganizer2/modorganizer into master 2020-11-03 18:38:45 -06:00
Seth Riley 68750575d2 Implement suggestions 2020-11-03 18:12:23 -06:00
isanae f7b097e6ba stop using deprecated map() 2020-11-03 13:38:08 -05:00
isanae 38d2f87b31 replaced #pragma once by ifdefs
changed pointer to ref to NexusInterface
on_actionChange_Game_triggered() now creates the dialog itself instead of calling test code
fixed broken command line options, they'd be reset before they were used
removed useless explicit
2020-11-03 13:35:02 -05:00
isanae a4747a1ecc show create instance dialog on startup if there are no instances 2020-11-03 12:10:41 -05:00
isanae 7b1e30b464 larged delete instance dialog 2020-11-03 11:41:54 -05:00
isanae fb2cddd92a replace "create instance" title by "setting up instance"
fixed bad game location for custom paths
2020-11-03 11:41:54 -05:00
isanae 1d97d914f1 InstanceManager now returns new Instance struct instead of instance name
moved most of the figuring out of instance parameters from InstanceManager to Instance, separated all the ui from it and put it in main.cpp
added ways to show single pages in the create instance dialog so they can be used when info is missing
2020-11-03 11:41:54 -05:00
isanae b10436d60f game icons in the instance list 2020-11-03 11:41:54 -05:00
isanae 356d17b2ea fixes after rebasing 2020-11-03 11:41:53 -05:00
isanae 4c5e3da233 moved nexus api stuff to GlobalSettings
pass a pointer to Settings around for things that can be called without settings, when creating the first instance
added dummy plugin list, mod list and iorganizer to initialize plugins without an instance
moved PluginContainer into the core filter, had nothing to do with the plugins list
NexusInterface is now created manually instead of being a static singleton because it needs to know if the settings are available
2020-11-03 11:39:08 -05:00
isanae ee53312652 moved naturalCompare() to uibase
don't try to delete paths that don't exist
natsort for instance names and games
2020-11-03 11:39:07 -05:00
isanae a9772873d6 open ini button
update when renaming instance
update and select when creating instance
2020-11-03 11:39:07 -05:00
isanae 14d15070c8 added checkboxes for deleting instances
disabled instance conversion buttons again, not implemented
2020-11-03 11:39:07 -05:00
isanae 003ef66d2f - changed PathSettings::base() to use the ini's parent directory instead of the global "dataPath" property; this is always the same thing, unless another Settings object is created for a different instance than the active one, which happens in the instance manager dialog
- instance manager dialog:
   - select the active instance when opening
   - instance deletion now handles custom paths from the ini
   - started on instance conversions, not functional
2020-11-03 11:39:07 -05:00
isanae f7e9724eb1 delete instance 2020-11-03 11:39:07 -05:00
isanae f67dc91aa1 fixed boost bind warnings 2020-11-03 11:39:07 -05:00
isanae 5fc6b0cd14 renamed cancel to close
add portable instance to the list, handle some of the buttons
2020-11-03 11:39:07 -05:00
isanae ea4485857c filter, explore buttons, instance rename 2020-11-03 11:39:07 -05:00
isanae 6f21f3a19f disable portable instance button if one exists 2020-11-03 11:39:06 -05:00
isanae 44d9ebaf07 implemented nexus page 2020-11-03 11:39:06 -05:00
isanae c4df6b8ec9 split nexus connection stuff into NexusConnectionUI so it can be reused in the instance creation dialog
removed the PluginContainer* parameter from NexusInterface::instance()
 - it's a singleton, so it only needs to be given once, not every time
 - it doesn't even matter because the first time instance() is called, it creates the singleton, but the plugin container is always null
 - and setPluginContainer() is called much later from OrganizerCore with the correct value
added non functional nexus page to instance creation dialog
2020-11-03 11:39:06 -05:00
isanae c699aeb6d8 moved list of supported games to details
having too many plugins made the dialog too tall
2020-11-03 11:39:06 -05:00
isanae 58479e4b00 filter for games
replaced the button box with a regular widget with vertical layout
it was doing weird things to buttons with focus when removing and adding buttons on the fly because of filtering
2020-11-03 11:39:06 -05:00
isanae a97638249d moved switch to instance to InstanceManager
double-click an instance to switch to it (disabled for now, not sure I want that)
2020-11-03 11:39:06 -05:00
isanae b1e681e129 hide tutorial question option 2020-11-03 11:39:05 -05:00
isanae 8987693dcf added hide option for intro page in create instance dialog 2020-11-03 11:39:05 -05:00
isanae 0f0313874a new GlobalSettings class to manage the registry
close the create instance dialog when launch is unchecked
2020-11-03 11:39:05 -05:00
isanae dfbcf8ec4c restart when finished, added launch instance checkbox 2020-11-03 11:39:05 -05:00
isanae 0389688f3b move to next page when clicking a game
add game name in the label in the paths page
can't use canonicalPath(), path might not exist
2020-11-03 11:39:05 -05:00
isanae cfdfa9d40e PathChecker is unnecessary, refactored its guts into NamePage and PathsPage
made existing paths just a warning, don't check for portable instances
2020-11-03 11:39:05 -05:00
isanae 048e3ac0d9 split create instance dialog pages 2020-11-03 11:39:05 -05:00
isanae 4ac8ab9856 don't skip paths for portable instance, what am I doing
implemented actual creation
removed mentions of %BASE_DIR% everywhere, use constant and functions from PathSettings
2020-11-03 11:39:05 -05:00
isanae 7b02c77a39 review page 2020-11-03 11:39:04 -05:00
isanae 2cb5c21b8e fixed settings doing weird stuff with multiple instances
sort games by name
added intro and confirmation pages
2020-11-03 11:39:04 -05:00
isanae ebbc8ed60c paths page 2020-11-03 11:39:04 -05:00
isanae 46d81056d1 editions page 2020-11-03 11:39:04 -05:00
isanae b10bcf4cb7 instance name page 2020-11-03 11:39:04 -05:00
isanae e0ed1c2153 select custom game directory 2020-11-03 11:39:04 -05:00
isanae 717be0c048 game page 2020-11-03 11:39:04 -05:00
isanae 60b59ddf09 started create instance dialog
allow for multiple instances of Settings
fill in information in instance manager
2020-11-03 11:39:04 -05:00
isanae 5513b273c6 added empty instance manager dialog 2020-11-03 11:39:03 -05:00
isanae e29f41565f fixed splash not trying the default one 2020-11-03 11:39:03 -05:00
isanae 555b2508a5 rewrote the delete instance dialog text 2020-11-03 11:39:03 -05:00
isanae 3761ac84b5 deleteLocalInstance() now uses TaskDialog 2020-11-03 11:39:03 -05:00
isanae 3c791b0920 moved registry key from "Tannin" to "Mod Organizer Team" 2020-11-03 11:39:03 -05:00
isanae 5b13704275 moved profile, current game and game edition checks to InstanceManager
trying to centralize all of this stuff
2020-11-03 11:39:03 -05:00
isanae 2c915429d8 refactored stuff into determineGameEdition() and handleCommandLine() 2020-11-03 11:39:03 -05:00
isanae ae118153fb more refactoring:
- moved splash stuff together
 - moved stuff in the main loop into doOneRun()
2020-11-03 11:39:02 -05:00
isanae 9435202034 removed flags from SingleInstance because there's only one left
refactoring in main.cpp:
 - moved stuff to loglist.cpp and moapplication.cpp
 - split main() into a few functions
2020-11-03 11:39:02 -05:00
isanae f97e40f127 moved initLogging() to loglist.cpp 2020-11-03 11:39:02 -05:00
isanae 3d1d9f1110 removed unused HaveWriteAccess()
stop useless preloading of ssl dlls
2020-11-03 11:39:02 -05:00
isanae 93d1c97fda cleaned up includes 2020-11-03 11:39:02 -05:00
isanae cf289d7f95 command usage lines, exe options 2020-11-03 11:39:02 -05:00
isanae a8b6f22730 formatting for command list
added empty exe and run commands
2020-11-03 11:39:02 -05:00
isanae f4ca82f798 fixed handling of profile names with different casing than on the filesystem
added --instance
2020-11-03 11:39:02 -05:00
isanae ccab9eae8d add warning when profile given with -p doesn't exist
implemented moshortcut, nxm links and executable names as command line options
2020-11-03 11:39:01 -05:00
isanae 75cc2ffead removed unused update parameter
moved --multiple to CommandLine
2020-11-03 11:39:01 -05:00
isanae f121d92602 implemented launch as a command 2020-11-03 11:39:01 -05:00
isanae 5e528fb4cf new CommandLine class
implemented crashdump as a command, fixed dump_running_process.bat to use it
attach to console if present instead of always create one
2020-11-03 11:39:01 -05:00
isanae b103f29775 added --multiple to allow launching multiple instances 2020-11-03 11:39:01 -05:00
Al a7d4f2a0c4 Merge pull request #1276 from ModOrganizer2/alternatives_vector_refactor
Refactor of alternatives vector to use classes for readability.
2020-11-03 05:48:51 -08:00
Seth Riley 7cc76f7cea Fix for deprecated implicit function definition 2020-11-02 19:40:13 -06:00
Seth Riley 5bad8f9032 Fixed tutorials 2020-11-02 19:13:04 -06:00
AL c5e3fb423f Change some for loops to use refs, prefer range loop where possible. 2020-11-02 23:20:43 +01:00
AL 4814ba626e Convert FileAlternative and DataArchiveOrigin to classes 2020-11-02 21:45:32 +01:00
AL b7935aedec Change Alternatives vector to use a struct 2020-11-02 20:35:05 +01:00
Seth Riley f7d7661d58 Changing the location of several directories 2020-11-02 13:20:05 -06:00
AL 88475677d2 Print the name, not the origin object 2020-10-31 20:58:07 +01:00
Al f507305ffb Merge pull request #1274 from ModOrganizer2/conflicts_conter_tooltip
Add advanced counters as tooltip to general conflicts tab.
2020-10-31 11:53:23 -07:00
AL 529dbb2cd5 handle case of find_if failing 2020-10-31 18:31:42 +01:00
AL b53a5b6a2a prefer if over ternary op 2020-10-31 18:08:53 +01:00
AL d330a9d74b Cleanup clear() 2020-10-31 17:54:56 +01:00
isanae a57cb6bb71 Merge pull request #1275 from isanae/conflicts-sort
Conflict lists sorting not using natsort
2020-10-31 12:37:25 -04:00
isanae 71fc5d0af5 stack overflow when searching text files/ini lists because they reported children to infinity and beyond
removed update delays for filters in mod info dialog
fixed conflict lists not using source sorting so they wouldn't use the case insensitive natsort
2020-10-31 12:27:44 -04:00
AL ad4e8897ff Remove random extra whitespace 2020-10-31 16:38:49 +01:00
Al 5ee734c189 Merge pull request #1272 from ModOrganizer2/advanced_conflict_tab_archives
Fix advanced conflicts tab archive support
2020-10-31 08:35:46 -07:00
AL 89d3311aca Prefer early return in case of error. 2020-10-31 16:24:43 +01:00
AL 6f77c47907 Fix typos in comments 2020-10-31 16:21:37 +01:00
AL db3f257d07 use alternatives.back() instead of iterator shenanigans. 2020-10-31 16:20:12 +01:00
AL 2833f8d61b Make advanced conflicts tab use italic if current mod file is from archive, instead of using the status of the winning version. 2020-10-30 02:15:34 +01:00
AL a6edf645eb Add advanced counters as tooltip to general conflicts tab.
Loose, archive, totals, percentages.
2020-10-30 01:52:27 +01:00
AL 0c485304c1 Fix advanced conflicts tab archive orders.
Use the the existing sorting of the alternatives vector instead of relying on priority (archives don't follow priority).
2020-10-28 20:18:47 +01:00
Al 9615767e17 Merge pull request #1271 from ModOrganizer2/update_archivelist_on_refresh
Write back the updated list of archives during bsaListRefresh.
2020-10-28 05:45:41 -07:00
AL 194b1c9053 Write back the updated list of archives during bsaListRefresh.
This will make it so that refreshing actually updates the list of internal enabled archives, but two refreshes are still needed to observe an actual change in archive conflicts.
2020-10-27 23:57:50 +01:00
Mikaël Capelle 57e67eeb39 Merge pull request #1269 from Holt59/imodlist-updates
IModList updates
2020-10-26 21:39:25 +01:00
Mikaël Capelle 61308ae2a6 Merge branch 'master' into imodlist-updates 2020-10-26 21:39:13 +01:00
Mikaël Capelle d42399e419 Merge pull request #1267 from Holt59/iorganizer-profile-callbacks
Add IOrganizer::onProfileXXX callbacks.
2020-10-26 21:36:55 +01:00
Mikaël Capelle 0ca5d2843e Use static_cast instead of dynamic_cast. 2020-10-25 19:29:08 +01:00
Mikaël Capelle 551e8353e0 Move IOrganizer::getMod() to IModList::getMod(). 2020-10-25 17:46:29 +01:00
Mikaël Capelle a216177b87 Move IOrganizer::removeMod() to IModList::removeMod(). 2020-10-25 17:16:17 +01:00
Mikaël Capelle 4b8c2b4a3b Add missing notifyModRemoved(). 2020-10-25 17:16:04 +01:00
Mikaël Capelle d804a5e186 Move IOrganizer::modsSortedByProfilePriority() to IModList::allModsByProfilePriority(). 2020-10-25 16:53:31 +01:00
Mikaël Capelle cca709baae Rename IOrganizer::refreshModList -> refresh. 2020-10-25 16:18:19 +01:00
Mikaël Capelle 4e11faf1c8 Move IOrganizer::onModInstalled() to IModList. Add IModList::onModRemoved(). 2020-10-25 15:52:53 +01:00
Mikaël Capelle 87a53eabd5 Wrap profile in Profile::Ptr when creating. 2020-10-24 21:03:35 +02:00
Mikaël Capelle 8e591143a5 Add IOrganizer::onProfileXXX callbacks. 2020-10-24 20:54:22 +02:00
Mikaël Capelle 52cfb8e8a7 Merge pull request #1260 from Holt59/iplugin-setactive-fix
Fix usage of isActive
2020-10-21 20:08:01 +02:00
Mikaël Capelle 3c1f206d7d Always call onPluginSettingChanged and onUserInterfaceInitialized callbacks. 2020-10-18 10:13:59 +02:00
Mikaël Capelle 7762c1f53a Check for problems when closing the settings dialog. 2020-10-14 19:38:10 +02:00
Mikaël Capelle ef82ddd36a Merge pull request #1259 from Holt59/imodinterface-seturl
Add IModInterface::setUrl and remove IInstallationManager::setURL.
2020-10-14 18:44:35 +02:00
Mikaël Capelle 6652e9c3be Do not use inactive preview plugin. 2020-10-11 22:04:40 +02:00
Mikaël Capelle b43fdc3b4c Add glob_matching.h to the utility group. 2020-10-11 21:24:09 +02:00
Mikaël Capelle 3932371cd1 Use proxy for ModList, PluginList and DownloadManager. Do not use registered callbacks when plugin is inactive. 2020-10-11 21:17:34 +02:00
Mikaël Capelle 0363b73adb Do not call installer callbacks for non-active plugins. 2020-10-11 21:16:29 +02:00
Mikaël Capelle 149328dcb2 Switch from Qt signals to boost::signals for DownloadManager. 2020-10-11 21:15:12 +02:00
Mikaël Capelle 9d7d55918c Add IModInterface::setUrl and remove IInstallationManager::setURL. 2020-10-09 20:32:26 +02:00
Al 35b4aa1024 Merge pull request #1254 from ModOrganizer2/Al12rs-2.4.0alpha2
Bump version to 2.4.0alpha2 for dev release
2020-10-05 08:49:35 -07:00
Al fac6f2c349 Bump version to 2.4.0alpha2 for dev release 2020-10-05 13:46:03 +02:00
Mikaël Capelle 4167e6768e Merge pull request #1248 from Holt59/iplugin-interface-improvements
Better display of MO2 plugins
2020-10-01 18:52:35 +02:00
Mikaël Capelle cd3f496a5b Merge pull request #1245 from Holt59/save-game-recursive
Allow MO2 to find game saves into subdirectories / Hide 'Enable Mods... ' when SaveGameInfo does not exist.
2020-10-01 18:52:24 +02:00
Mikaël Capelle 475fc0b813 Fix default tab index of settings dialog. 2020-10-01 18:42:17 +02:00
Mikaël Capelle fac9d4caf6 Merge pull request #1249 from Holt59/fix-create-separator-refresh
Fix refresh of modlist when creating mods.
2020-09-30 21:43:22 +02:00
Mikaël Capelle ebabd6fd4a Fix refresh of modlist when creating mods. 2020-09-30 21:41:32 +02:00
Mikaël Capelle fb3d22a04d Only hide QTreeWidgetItem in plugin list when filtering. 2020-09-30 20:10:34 +02:00
Mikaël Capelle 7786a75fee Make filter work and reorganize layout with QSplitters. 2020-09-30 19:57:54 +02:00
Mikaël Capelle 04c8409bf5 Add filter for plugin list. 2020-09-30 18:58:01 +02:00
Jeremy Rimpo 0de18a3410 Merge remote-tracking branch 'origin/qt-5_15-compat' 2020-09-29 18:32:14 -05:00
Mikaël Capelle 4b1a89648f Display plugins in a tree instead of a list in the settings dialog. 2020-09-29 22:47:38 +02:00
Mikaël Capelle e9be288f7c Add topImplementedInterface(). Minor cleaning. 2020-09-29 21:55:44 +02:00
Mikaël Capelle cf828cd77b Use bf::for_each instead of custom templates. 2020-09-29 21:20:10 +02:00
Mikaël Capelle 69625912b8 Add a method to retrieve the localized names of the implemented plugin interfaces. 2020-09-28 22:56:12 +02:00
Mikaël Capelle eb72caa7c1 Use localizedName() instead of name() for the list of plugins in the UI. 2020-09-28 22:55:55 +02:00
Mikaël Capelle 92585af197 Do not show 'Enable Mods... ' action for game without SaveGameInfo feature. 2020-09-28 21:51:59 +02:00
Mikaël Capelle e261fffa8d Fix transfer saves for recursive saves. 2020-09-28 20:30:19 +02:00
Mikaël Capelle 34ce22bfd3 Allow MO2 to find game saves into subdirectories. 2020-09-28 20:22:07 +02:00
Al 154d83e479 Merge pull request #1243 from Holt59/absolute-path-ini-files
Allow absolute path for ini files.
2020-09-27 17:05:13 -07:00
Mikaël Capelle 718e71854e Use IProfile::absoluteIniFilePath(). 2020-09-27 21:28:14 +02:00
Mikaël Capelle 37b42df112 Allow absolute path for ini files. 2020-09-27 21:24:00 +02:00
Mikaël Capelle 9dbf4d7820 Merge pull request #1244 from Holt59/add-iprofile-inifilepath
Add IProfile::iniFilePath().
2020-09-27 21:22:21 +02:00
Mikaël Capelle 39b7f4abe9 Fix gameDirectory() -> documentsDirectory(). Use QFileInfo more properly. 2020-09-27 20:59:54 +02:00
Mikaël Capelle 7c651f6d86 Rename iniFilePath() -> absoluteIniFilePath(). 2020-09-27 20:56:55 +02:00
Mikaël Capelle b53dc1e200 Add IProfile::iniFilePath(). 2020-09-27 20:31:51 +02:00
isanae 12524354a8 Merge pull request #1242 from ModOrganizer2/Al12rs-patch-1
Remove potential early return in forEachEntry()
2020-09-27 10:15:30 -04:00
Mikaël Capelle c67f37a41f Merge pull request #1226 from Holt59/fix-ipluginlist-callbacks
Change for onPluginStateChanged to take a list of plugins.
2020-09-27 14:55:50 +02:00
Al 789e12a9f8 Remove incorrect early break in forEachEntry
This caused mo2 to skip some mod files for a user, potentially others as well.
2020-09-27 13:28:20 +02:00
Al 7f4e83ea11 TEST rem potential early return in forEachEntry()
Test to see if this fixes a bug on discord.
2020-09-27 00:54:06 +02:00
Jeremy Rimpo 8e43dee79c [skip ci] Use PR branch for umbrella repo (if it exists) 2020-09-25 00:34:23 -05:00
Mikaël Capelle a1c2d78c94 Merge pull request #1240 from Holt59/no-localsaves-if-impossible
Disable profile-specific game saves if not available from game plugin.
2020-09-24 11:44:35 +02:00
Mikaël Capelle 05ea4f2e38 Disable profile-specific game saves if not available from game plugin. 2020-09-23 20:39:59 +02:00
Mikaël Capelle bf351ff80b Merge pull request #1238 from Holt59/plugin-installer-callbacks
Add IPluginInstaller onInstallationStart and onInstallationEnd callbacks
2020-09-23 18:40:20 +02:00
Mikaël Capelle 865ae1d802 Merge pull request #1236 from Holt59/expose-modinterface-meta
Add getters for most meta-information in mod.
2020-09-23 18:34:15 +02:00
Mikaël Capelle 8980153a2c Add 'reinstallation' parameter to onInstallationStart(). 2020-09-22 22:03:16 +02:00
Mikaël Capelle d9cc013813 Change modId() to nexusId(). 2020-09-22 21:21:45 +02:00
Al 77576f626d Merge pull request #1239 from Holt59/imodinterface-clearpluginsettings
Add IModInterface::clearPluginSettings().
2020-09-21 14:42:37 -07:00
Mikaël Capelle 92c5b933cc Add IModInterface::clearPluginSettings(). 2020-09-21 23:38:51 +02:00
Mikaël Capelle c18d8c5dff Clean modinfo.h. 2020-09-21 23:24:59 +02:00
Mikaël Capelle d9a8e67598 Add IPluginInstaller onInstallationStart and onInstallationEnd callbacks. 2020-09-21 21:36:09 +02:00
Jeremy Rimpo 7563e4a517 [skip ci] Force exit PS with last exit code after umbrella build error 2020-09-21 06:25:13 -05:00
Jeremy Rimpo fc80d2f913 Needs quotes 2020-09-21 05:39:40 -05:00
Jeremy Rimpo 87e1618f1f [skip ci] Pull data from all branches 2020-09-21 05:39:13 -05:00
Jeremy Rimpo 2ec3025374 Missed CMD variable changed to PS syntax 2020-09-21 01:48:20 -05:00
Jeremy Rimpo a8f61b39c2 Change REM to PS comment 2020-09-21 00:39:36 -05:00
Jeremy Rimpo c664f26e57 Finalize appveyor script update 2020-09-20 22:34:38 -05:00
Jeremy Rimpo 9d27fb3c21 Convert scripts to PowerShell 2020-09-20 20:00:43 -05:00
Jeremy Rimpo dbe27903f4 Merge remote-tracking branch 'origin/master' into master 2020-09-20 19:06:10 -05:00
Jeremy Rimpo 4d6f43926b Update to checkout current branch in umbrella if it exists 2020-09-20 19:02:39 -05:00
Al 35500736ab Merge pull request #1237 from Holt59/mod-specific-plugin-settings
Add pluginSetting[s]() and setPluginSetting() to IModInterface.
2020-09-20 12:53:00 -07:00
Al 80ea74c70c Merge pull request #1235 from Holt59/fix-current-saves-dir
Fix issue with global saves directory when setting files are availble for non-Bethesda games.
2020-09-20 06:55:24 -07:00
Mikaël Capelle 89c93c3d32 Add pluginSetting[s]() and setPluginSetting() to IModInterface. 2020-09-20 15:13:56 +02:00
Mikaël Capelle 3211f518ce Add validated() and converted(). 2020-09-20 13:32:45 +02:00
Mikaël Capelle dce1993aef Fix issue with global saves directory when setting files are availble for non-Bethesda games. 2020-09-20 12:30:41 +02:00
Mikaël Capelle 4ed297750f Add getters for most meta-information in mod. 2020-09-20 12:29:56 +02:00
Al 4d9456dcf9 Bump appveyor version to 2.4 2020-09-10 14:46:23 +02:00
Jeremy Rimpo 5f3d4770d8 Update script 2020-09-10 02:47:40 -05:00
Jeremy Rimpo f0b7546fa8 Failures should be failures 2020-09-10 02:03:59 -05:00
Jeremy Rimpo 7fff2d85c9 Add handling for nightly builds 2020-09-10 01:45:11 -05:00
Jeremy Rimpo a5c2e516ed Merge branch 'bulk-update-fix' into master 2020-09-09 14:16:23 -05:00
Jeremy Rimpo 95b1c13dc6 Don't always increment 2020-09-09 14:15:22 -05:00
Jeremy Rimpo 3711cc0144 Merge pull request #1230 from ModOrganizer2/bulk-update-fix
Fixes for bulk update check
2020-09-09 13:34:54 -05:00
Jeremy Rimpo d30d966500 Standardizing 2020-09-09 13:33:36 -05:00
Jeremy Rimpo 10234e436a Traslate lines, use QPair 2020-09-09 12:37:34 -05:00
Jeremy Rimpo 81036b0149 Fixes for bulk update check
* Check game source for validity
* Display name of source when no updates found
2020-09-09 11:25:19 -05:00
Jeremy Rimpo 9938ded589 Compatibility fix for Qt 5.15.x 2020-09-09 11:23:54 -05:00
Chris Bessent 504683776c Merge pull request #1227 from LostDragonist/master
Do not report a canceled install as failed
2020-09-07 17:56:37 -07:00
Chris Bessent 23eab916ae Do not report a canceled install as failed
When a mod install reached the point of checking for overwrites with
existing mods (i.e., new mod has the same name as an old mod), there
was no way to distinguish between a failure and a user cancellation.
Now, an explicit status is passed up the stack so the cancellation
can be safely ignored by error checking code.
2020-09-06 06:57:05 -07:00
Mikaël Capelle b95373cb12 Change for onPluginStateChanged to take a list of plugins. 2020-09-05 13:49:55 +02:00
AL 2ad41ee2cd Bump dev build number 2020-09-01 13:37:59 +02:00
Al 460a068b38 Merge pull request #1222 from Holt59/ipluginlist-setpriority
Add IPluginList::setPriority implementation.
2020-09-01 04:00:04 -07:00
Al fa6136c671 Merge pull request #1220 from Holt59/modlist-setactive-bulk
Add a bulk-version of ModList::setActive.
2020-09-01 03:59:22 -07:00
Mikaël Capelle 6c86a0321b Add IPluginList::setPriority implementation. 2020-08-30 14:03:49 +02:00
Mikaël Capelle 3729f18af1 Update for change to onModStateChanged. 2020-08-29 19:35:41 +02:00
Mikaël Capelle fd86000f1e Fix typo in notifyModStateChanged documentation. 2020-08-29 16:10:23 +02:00
Mikaël Capelle 97e9e7cf2b Refactor the way m_ModStateChanged works. 2020-08-29 15:20:46 +02:00
Mikaël Capelle e421837ba0 Remove check for alwaysEnabled() and log missing mods in ModList::setActive(). 2020-08-29 13:35:58 +02:00
Mikaël Capelle 600a4b3b14 Add a bulk-version of ModList::setActive. 2020-08-29 12:48:17 +02:00
Al f0e94c26ae Merge pull request #1212 from Al12rs/mod_reinstall_modinfo_fix
Fix missing installed file info after reinstalling a mod.
2020-08-26 11:23:42 -07:00
Al abc714c624 Merge pull request #1214 from Al12rs/mark_uninstalled_when_replacing
Mark downloads of replaced mods as uninstalled
2020-08-26 11:23:28 -07:00
Al df26f75880 Merge pull request #1218 from Al12rs/backup_remove_no_uninstall
Don't mark a file as uninstalled when removing a backup.
2020-08-26 11:23:03 -07:00
Al 6e0919ab2c Merge pull request #1217 from Al12rs/conflicts_tab_labels
Improve modinfodialog conflicts tab labels and tooltips.
2020-08-26 11:22:50 -07:00
Al ac0f5a286c Merge pull request #1216 from ModOrganizer2/Al12rs-patch-1
Bump version to prealpha 2.4.0alpha1
2020-08-26 11:22:34 -07:00
Al f4aa0d4132 Merge pull request #1213 from Al12rs/adjustForVirtualized_fix
Use trailing slashes to make accurate comparisons in adjustForVirtualized
2020-08-26 11:22:17 -07:00
AL 743b03ceba Don't mark a file as uninstalled when removing a backup. 2020-08-26 14:15:11 +02:00
AL 3c778ef7c0 Improve modinfodialog conflicts tab labels and tooltips. 2020-08-26 13:53:11 +02:00
Al 27f9849992 Bump version to prealpha 2.4.0alpha1 2020-08-26 12:58:07 +02:00
AL c23ee0b1dc Mark downloads of replaced mods as uninstalled 2020-08-26 02:15:37 +02:00
AL ba1ff53c1b Use trailing slashes to make accurate comparisons in adjustForVirtualized. 2020-08-26 01:09:26 +02:00
AL 93b32b3658 Add the installed file to the list even from InstallMod, not just InstallDownload.
InstallMod is used for Reinstalling.
2020-08-25 20:46:23 +02:00
isanae 6f232d566e Merge pull request #1210 from Holt59/improve-mo2-update-details
Show details for all releases from Github when updating.
2020-08-24 13:12:46 -04:00
Mikaël Capelle e9787953d9 Better separation of changelogs in details. 2020-08-23 19:52:10 +02:00
Mikaël Capelle 172dda1bce Show details for all releases from Github when updating. 2020-08-23 19:44:55 +02:00
isanae a4043bab8c Merge pull request #1201 from erri120/open-meta
Open Meta file from downloads list
2020-08-21 01:27:50 -04:00
erri120 321b1facdc Updating error logging 2020-08-20 19:37:45 +00:00
erri120 9a9a2c5c6e Removed error log localization 2020-08-20 21:19:59 +02:00
Al 9e3793c194 Merge pull request #1202 from AnyOldName3/patch-3
Add FOMOD C# installer link
2020-08-20 11:05:09 -07:00
Chris Djali 0361707358 Add FOMOD C# installer link
Maybe we should add a CI step to check we've got links to all the MO2 repos (except the few that are deliberately not there).
2020-08-20 19:01:13 +01:00
erri120 5a857be1e4 Create meta file if it does not exist when trying to open it 2020-08-20 17:56:57 +02:00
erri120 586b3cd04e Added Open Meta File context action to downloads 2020-08-20 17:40:46 +02:00
isanae 41249036e5 Merge pull request #1194 from isanae/die-after-dump
Die after dumping
2020-08-13 14:42:19 -04:00
isanae d69289e081 always call the previous terminate handler, which should abort
without it, execution just resumes and dumps are created endlessly
2020-08-13 14:40:35 -04:00
isanae 0adf8a9f1b Merge pull request #1182 from AnyOldName3/dont-speak-ill-of-the-dead
Don't use reference as class member
2020-08-07 22:45:51 -04:00
AnyOldName3 05d03eec68 Don't use reference as class member
This particular QString was only ever constructed from a temporary,
so it was literally never going to work. We only hadn't noticed this
earlier as no one had tried using the mod repository bridge from a
plugin before (which is fairly bad given that three people have
theoretically tested it while working on its Python bindings in the
past).
2020-08-08 00:17:14 +01:00
isanae 592fa73104 Merge pull request #1176 from isanae/2.3.1-fixes
2.3.1 fixes
2020-08-01 11:11:41 -04:00
isanae 64ba6cae1e revert font scaling:
- users report low quality splash screen
 - sticking with qt's default is better in the long run
 - can still use the environment variable

revert network timer:
 - users report error in log every second
 - was a blind fix anyway, can't reliably reproduce it
2020-08-01 11:03:09 -04:00
isanae f71accc1ad bump to 2.3.1 2020-07-31 11:09:20 -04:00
isanae 44332c778d possible fix for "Network access is disabled"
start a timer and change NotAccessible back to UnknownAccessibility
2020-07-31 11:08:32 -04:00
isanae 6a1d57fe0c fixed bad font scaling 2020-07-31 10:01:00 -04:00
isanae 777229f28f added startSafeThread() to get core dumps for threads other than the main thread
added terminate handler
2020-07-31 09:56:19 -04:00
isanae 2eeaa0e31a fixed warning when trying to get the file type of files without extensions 2020-07-31 09:17:22 -04:00
Al 9d3281fd58 Update game-support-request.md 2020-07-29 16:59:32 +02:00
Al 1a468d66db Update game-support-request.md 2020-07-29 16:58:18 +02:00
Al 19fe01b60d Update issue templates 2020-07-29 16:57:31 +02:00
Al b6fac68b32 Update game-support-request.md 2020-07-29 16:53:57 +02:00
Al 50d883079e Update game-support-request.md 2020-07-29 16:53:22 +02:00
Al e379610805 Update game-support-request.md 2020-07-29 16:52:27 +02:00
Al 6dc736ca37 Update game-support-request.md 2020-07-29 16:50:00 +02:00
Al 7791ea0bd5 Create game-support-request.md 2020-07-29 16:47:43 +02:00
isanae e34a9e7315 Merge pull request #1172 from isanae/remove-prerelease
Chang release type to 0
2020-07-28 20:15:42 -04:00
isanae 4d546ea262 changed release type to 0 2020-07-28 20:15:12 -04:00
isanae 2ca7c1c9ea Merge pull request #1171 from isanae/bump-2.3
Bump to 2.3
2020-07-28 18:35:38 -04:00
isanae 4b0ba5c579 bumped to 2.3 2020-07-28 18:33:55 -04:00
isanae 7a10a74766 Merge pull request #1162 from isanae/bump-2.3rc2
Bump to 2.3rc2
2020-07-21 19:08:56 -04:00
isanae 7db0841a22 bumped to 2.3rc2
updated translations
2020-07-21 19:07:26 -04:00
isanae 2c082d6a3b Merge pull request #1161 from isanae/2.3rc2-fixes
2.3rc2 fixes (wip)
2020-07-21 18:13:42 -04:00
isanae a965a9dc41 added confirmation for sorting, some users click it by mistake 2020-07-20 20:05:15 -04:00
isanae 82cc488a18 conflict model didn't change persistent indexes when sorting 2020-07-20 20:01:46 -04:00
isanae 4adfeac9b7 shift+ and ctrl+double-click in mod list will now only open one mod instead of the whole selection
since these modifiers are also used for selecting, this is too error prone and users have reported opening a crapload of tabs in their browser or explorer windows
2020-07-20 19:26:33 -04:00
isanae c7a90f9506 added turkish translator 2020-07-20 19:09:12 -04:00
isanae 80645bacc1 Merge pull request #1160 from isanae/filetree-bugs
Filetree bugs and improvements
2020-07-20 19:07:58 -04:00
isanae 0c7265be4f only sort once at the end when fully loading for search
temporarily disable filtering completely when fully loading instead of just disabling recursive filtering, this could close already expanded nodes if their parent directories didn't match
2020-07-20 19:02:14 -04:00
isanae 6c4e237d4b fixed crash because items were sorted while being expanded
when expanding all or updating the tree, only sort once at the end
cache file types
2020-07-19 16:48:31 -04:00
isanae d32250597a Merge pull request #1154 from isanae/bump-2.3rc1
Bump to 2.3 rc1
2020-07-14 14:52:29 -04:00
isanae bd113a9502 bumped to 2.3 rc1 2020-07-14 14:50:56 -04:00
isanae 4fc61c7cd4 Merge pull request #1152 from isanae/small-fixes
Small fixes
2020-07-10 15:55:13 -04:00
isanae 315776799f don't translate new names 2020-07-10 15:51:06 -04:00
isanae 287e285afa added a bunch more osd checks
added warnings for paths in documents and downloads
2020-07-10 15:47:44 -04:00
isanae 285d0bfc79 loot exit code in hex 2020-07-10 15:33:00 -04:00
isanae 55451956c4 added VT_UI1 for productState 2020-07-10 15:31:08 -04:00
isanae cf01fa955c resize data tab columns when migrating from < 2.3 so the new columns are visible 2020-07-10 15:20:01 -04:00
isanae e0db7177b4 added hidden validation_timeouts setting 2020-07-10 15:04:54 -04:00
isanae 97dd16a87a don't log old nexus username and password
they're not supposed to be in the INI anymore, but the migration code looks broken and some users still have them
2020-07-10 14:54:02 -04:00
isanae b0fb203742 typo 2020-07-10 14:50:56 -04:00
isanae a2c630af24 added names to the about dialog 2020-07-10 14:50:46 -04:00
isanae 69b86b206b Merge pull request #1151 from isanae/data-tab-filter-slow
Slow search in data tab
2020-07-10 14:03:37 -04:00
isanae 16c7cc5605 fixed ensureFullyLoaded() taking forever because it was queuing all the sorts unnecessarily 2020-07-10 13:58:58 -04:00
isanae c8e1d62af0 Merge pull request #1150 from isanae/ts
updated translations
2020-07-10 12:21:44 -04:00
isanae 4a18791c2e updated translations 2020-07-10 12:12:31 -04:00
AL 732be7d38d Show .toml files in the "Text Files" modInfoDialog tab. 2020-06-24 15:52:20 +02:00
AL e4372b4570 Add a dash between the managed game and "Mod Organizer" to distinguish app name. 2020-06-24 15:50:55 +02:00
isanae 4ae95e21ad Merge pull request #1135 from Holt59/new-iorganizer-callbacks
Update for new organizer callbacks.
2020-06-16 15:39:59 -04:00
Mikaël Capelle 8c410aff33 Clean notification of userInterfaceInitialized between MainWindow and OrganizerCore. 2020-06-16 21:30:24 +02:00
Al 7d553557a6 Update issue-report.md 2020-06-16 15:20:15 +02:00
Al 72a992da68 Update issue-report.md 2020-06-16 15:19:49 +02:00
Mikaël Capelle 331fcad9f3 Remove unecessary default constructor call. 2020-06-16 12:47:50 +02:00
Mikaël Capelle f8bb349b3e Move userInterfaceInitialized notification at the end of the first show event. 2020-06-16 12:47:36 +02:00
Mikaël Capelle f66cf4ad99 Update for new organizer callbacks. 2020-06-15 22:47:21 +02:00
Al 4b92ba40be Merge pull request #1132 from Holt59/fix-getloadorder
Update following change to getLoadOrder() in game_features.
2020-06-14 15:59:35 -07:00
Mikaël Capelle eb1ca18ed8 Update following change to getLoadOrder() in game_features. 2020-06-14 15:33:16 +02:00
Al 92639dae7a Merge pull request #1131 from Holt59/allow-plugins-to-fix-filetree
Update following ModDataChecker change.
2020-06-14 05:48:49 -07:00
Mikaël Capelle 0ad3bbbdfa Update following ModDataChecker change. 2020-06-13 23:48:52 +02:00
AL 517749901d Version bump 2020-06-13 21:37:35 +02:00
Al 4606162eb4 Merge pull request #1127 from Holt59/fix-crash-archive-extraction
Fix archive extraction due to infinite QProgressDialog::setValue recursion
2020-06-12 10:59:08 -07:00
Al 628b56144d Merge pull request #1124 from Holt59/fix-unloading-of-plugins
Manually unload plugins to avoid issue with automatic unloading.
2020-06-11 11:54:07 -07:00
Mikaël Capelle a64ff3c7bb Add Qt bug report in comment and use while() instead of do { } while();. 2020-06-11 20:25:22 +02:00
Mikaël Capelle a769bc0061 Add comment explaining the usage of the QEventLoop. 2020-06-11 20:12:39 +02:00
Mikaël Capelle 93b1cea0d3 Rollback to using QProcessEvents but use WaitForMoreEvents. 2020-06-11 20:09:00 +02:00
Mikaël Capelle 26c7cd4f22 Disconnect signal after extraction to avoid calling them on destroyed widgets. 2020-06-11 18:33:44 +02:00
Al 297cb8320f Merge pull request #1123 from Holt59/fix-right-tabs-refresh
Fix refresh events of tabs in the right panel when some tabs are hidden.
2020-06-11 04:29:23 -07:00
Mikaël Capelle 5d0b6b0eab Manually unload plugins to avoid issue with automatic unloading. 2020-06-11 13:23:03 +02:00
Mikaël Capelle bb2dc9bd01 Avoid using indexOf everywhere. 2020-06-11 12:55:59 +02:00
Mikaël Capelle d0d795d12d Fix refresh events of tabs in the right panel when some tabs are hidden. 2020-06-11 12:46:09 +02:00
AL 2285ed32af Version bump to 2.3.0alpha10 2020-06-10 15:41:23 +02:00
Al 054af144fc Merge pull request #1120 from Holt59/hide-unused-tabs
Hide plugins and archives tabs when features are missing.
2020-06-09 13:16:42 -07:00
Mikaël Capelle af723f4297 Hide plugins and archives tabs when features are missing. 2020-06-09 22:08:03 +02:00
Al da66cb4917 Merge pull request #1118 from Al12rs/nexus_requests_leak
Fix consecutive mod update checks checking some mods again
2020-06-09 07:34:45 -07:00
AL a565472b82 Mark mods with orphaned nexus ids as checked to avoid repeated requests. 2020-06-09 15:54:36 +02:00
AL d164c17958 Fix consecutive mod update checks checking some mods again..
by correctly setting the last nexus update timestamp on a missed case.
2020-06-09 15:53:26 +02:00
Al b548fd37e4 Merge pull request #1117 from Holt59/iinstallmanager-silent-extraction
Add silent parameter to extraction methods of IInstallationManager.
2020-06-09 05:52:48 -07:00
Mikaël Capelle dfdf396149 Add silent parameter to extraction methods of IInstallationManager. 2020-06-09 13:43:02 +02:00
Al e13ca4bead Merge pull request #1115 from Al12rs/fix_problems_button
Fix problems button not updating on startup in some cases.
2020-06-08 14:37:31 -07:00
AL 210cd42395 Fix problems button not updating on startup in some cases.
Mainwindow wasn't guaranteed to exist after first directory structure refresh was complete so there was no mainwindow slot triggered to check for problems.
Added a proper problems check in the mainwindow constructor.
2020-06-08 23:26:02 +02:00
Al 29893868dc Merge pull request #1114 from Holt59/iorganizer-findfiles-glob
Add findFiles overload with glob patterns.
2020-06-08 12:04:54 -07:00
Mikaël Capelle 1aedff5c60 Add documentation for the support globbing features. 2020-06-08 20:53:05 +02:00
Mikaël Capelle 0d873719eb Replace QString::fromStdWString by ToQString. 2020-06-08 20:51:11 +02:00
Mikaël Capelle 56f6e5504b Fix & placement. 2020-06-08 20:34:32 +02:00
Mikaël Capelle 13d79f3cbe Add findFiles overload with glob patterns. 2020-06-08 18:37:05 +02:00
Al 4e0d47868a Merge pull request #1113 from Al12rs/bettr_wait_on_events
Use QEventLoop instead of manually calling ProcessEvents
2020-06-08 06:58:16 -07:00
AL 67ae37d614 Use QEventLoop instead of manually spinning calling ProcessEvents in a while with a sleep. 2020-06-07 22:01:30 +02:00
Al ec5a78cefa Merge pull request #1112 from Al12rs/updateProblemsButton
Move Problems Checks on a thread and avoid redundant calls
2020-06-07 12:21:41 -07:00
AL 6d7c086685 Change time measurement to not include lock wait time. 2020-06-07 21:06:33 +02:00
AL d845fe9a74 Make checks that occur at the same time not return immediately to avoid issues with stuff that might need to rely on check completion. 2020-06-07 18:51:02 +02:00
AL d1c42e69c1 Make even the last direct call to checkForProblemsImpl use the async version. 2020-06-07 17:44:06 +02:00
AL 0dc66e7ff4 Avoid executing Problems checks concurrently.
Reduce timer to 500ms.
Make other calls also scheduled.
2020-06-07 16:42:18 +02:00
AL 2b4c0288b4 Make a couple more calls async since there is no good reason not to. 2020-06-07 14:32:54 +02:00
AL 66690bd176 Fix comment on checkForProblems() 2020-06-07 14:32:08 +02:00
AL 30605e8381 Make m_NumberOfProblems atomic 2020-06-07 14:31:32 +02:00
Al 8b667fe69a Merge pull request #1109 from Holt59/set-plugin-setting-signal
Add IOrganizer signal when a plugin setting is changed.
2020-06-07 03:45:42 -07:00
Al bf055e8048 Merge pull request #1101 from Holt59/archive-lib-modification
Archive lib refactoring
2020-06-07 03:44:05 -07:00
AL a30ec0018b * Change the diagnoseUpdate() signals to collapse into a single async call in case of multiple signals in short time span.
* Make mainwindow constructor and show() use updateProblemsButton() to just update the problems icon without performing checks.

* Make directory refreshed schedule a problems check since it can overlap with other invocations.

* Make changing translation not trigger checks at all.

* Make changing style only update the icon instead of also performing the check.

* Make MainWindow ctor, MainWindow::show()and MainWindow::resetActionIcons() just update the icon without actually performing a check.

* Make clearing overwrite checkForProblems synchronously. Same before opening the notifications window and after closing it.
2020-06-06 23:13:14 +02:00
AL 1497685ea5 Make checkForProblems update local variable with the problem count,
Make updateProblemsButton just update the ui using that variable (no heavy operation)
Add checkForProblemsAsync to perform the heavy checks in another thread.
2020-06-06 18:08:30 +02:00
Mikaël Capelle 0ad56591fd Fix order of operations to avoid deadlock with event loop. 2020-06-06 13:40:38 +02:00
Mikaël Capelle e49ce3ed21 Use QEventLoop to process events when extracting instead of manual loop with processEvents. 2020-06-05 20:36:35 +02:00
Mikaël Capelle 8fa905cde6 Update to follow changes in FileData from archive. 2020-06-05 17:50:26 +02:00
Mikaël Capelle 093fddda37 Add IOrganizer signal when a plugin setting is changed. 2020-06-05 16:47:49 +02:00
Mikaël Capelle b7a559c75c Update following archive callback changes. 2020-06-02 23:30:03 +02:00
Mikaël Capelle b8a1365dac Update after change to CreateArchive. Remove unused archive handler from self-updater. 2020-06-02 12:40:46 +02:00
Al 226b2b1843 Merge pull request #1098 from Holt59/install-manager-improvements
Installation manager improvements
2020-06-01 13:56:26 -07:00
Mikaël Capelle 30361186c1 Update installation manager after namespace changes in archive. 2020-06-01 21:48:52 +02:00
Mikaël Capelle 2c20a4115d Fix opening and extraction of archives with passwords and/or encrypted filenames. 2020-06-01 21:06:52 +02:00
Mikaël Capelle af0c0dc33e Correct handling of 7z errors. 2020-06-01 17:40:15 +02:00
Mikaël Capelle 046af63dd5 Remove non-used declarations. Move queryPassword to lambda. 2020-06-01 17:14:30 +02:00
Mikaël Capelle 4b1b897a14 Use a single extractFiles() method and avoir member variables when not needed. 2020-06-01 17:12:20 +02:00
Mikaël Capelle 70fe708474 Remove usage of QString in FileData following archive change. 2020-06-01 14:55:19 +02:00
Mikaël Capelle f442f5da51 Modification following 'archive' update. 2020-06-01 13:58:46 +02:00
Mikaël Capelle 926267faa0 Fix issue with progress dialog disapearing too soon during installation. 2020-05-31 00:31:29 +02:00
Mikaël Capelle 0b3e3ab590 Set the parent widget properly in installation manager. 2020-05-30 21:44:40 +02:00
Mikaël Capelle 1dc98e3af2 Small update to installation manager following uibase changes. 2020-05-30 21:32:04 +02:00
Mikaël Capelle e9595ec91a Fix comment in installation manager. 2020-05-30 17:49:46 +02:00
Mikaël Capelle 3f768ae53a Implement createFile() for the installation manager. 2020-05-30 15:00:10 +02:00
Mikaël Capelle 21296a6459 Allow creation of file using addFile() in ArchiveFileTree. 2020-05-30 14:59:38 +02:00
Chris Djali a92fdeb400 Add correct link to CMake Common to readme 2020-05-29 16:16:56 +01:00
Chris Djali 25b6f5dd8d Add CMake Common link to readme 2020-05-29 16:15:34 +01:00
isanae da35955d6c Merge pull request #1092 from Holt59/mod-data-content
Use ModDataContent feature from GamePlugin
2020-05-28 23:42:53 -04:00
Mikaël Capelle 0a5790b333 Add icon for FO4 material (courtesy of @twizz0r). 2020-05-28 21:58:59 +02:00
Mikaël Capelle 78143598db Remove space. 2020-05-28 19:51:20 +02:00
Mikaël Capelle 7f42698f4c Change auto& to const auto&. 2020-05-28 19:50:39 +02:00
Mikaël Capelle d2b7a1a321 Expose ModDataContentHolder from OrganizerCore instead of vector of Content. 2020-05-28 19:48:21 +02:00
Mikaël Capelle 4791569790 Ignore filter-only content when sorting. 2020-05-27 22:46:03 +02:00
Mikaël Capelle 700c5fb16c Store contents as a set instead of a vector. 2020-05-27 22:45:42 +02:00
Mikaël Capelle 6f22a77cda Do not show Content with isOnlyForFilter() in the column. 2020-05-27 22:01:36 +02:00
Mikaël Capelle 9c3ddb53c9 Fix sorting for the Content column. 2020-05-27 21:29:17 +02:00
Mikaël Capelle 70f1e8bdf6 Make ModInfo::getContents() pure virtual. 2020-05-27 14:58:32 +02:00
Mikaël Capelle c31c79c61d Add temporary icon for material content. 2020-05-27 14:56:49 +02:00
Mikaël Capelle 7c7631d409 Replace usage of MakeVector with initializer lists. 2020-05-26 20:20:47 +02:00
AL 652d3ab054 Fix modlist scrolling to wrong location after filter refresh in some cases.
If the currently selected column wasn't the Name column it would scroll to the first modnamee that matched the currently selected column contents (like scrolling to a mod called Audio overhaul after assigning Audio category to another mod).
2020-05-26 15:36:40 +02:00
Mikaël Capelle 36b81b4a7c Use ModDataContent to display the tooltip in the header. 2020-05-25 20:17:21 +02:00
Mikaël Capelle cf1bbdd13e Switch to using the ModDataContent feature from the game plugin. 2020-05-25 19:54:15 +02:00
isanae a721347fd1 Merge pull request #1079 from Holt59/moinfo-improvements
ModInfo improvements
2020-05-25 13:48:45 -04:00
Mikaël Capelle 9212a7d2e9 Use hasSuffix() where needed. 2020-05-25 18:27:49 +02:00
Mikaël Capelle 09e75d14e5 Fix comment for prefetch(). 2020-05-25 17:59:07 +02:00
Mikaël Capelle c5bbf7360c Fix suffix comparison for SKSE DLLs. 2020-05-25 17:58:58 +02:00
Mikaël Capelle 03fc2b0dc2 Update ModInfo classes following MemoizedLocked changes. 2020-05-25 17:57:07 +02:00
Mikaël Capelle 86f516953d Update MemoizedLock to allow more flexible callable. 2020-05-25 17:56:45 +02:00
Mikaël Capelle e7afedaebe Remove useless calls to diskContentModified(). 2020-05-25 17:50:49 +02:00
Mikaël Capelle 238e233c18 Use memoization for file tree, contents and validity of ModInfo. 2020-05-24 23:33:21 +02:00
Mikaël Capelle 0aac4f3291 Add MemoizedLocked. 2020-05-24 23:32:47 +02:00
Mikaël Capelle b352aa53e0 Add thread_utils to CMakeList.txt. 2020-05-24 23:31:34 +02:00
Mikaël Capelle 4d8b5aaae8 Remove old comment. 2020-05-24 15:35:35 +02:00
Mikaël Capelle a67a99acb7 Force lower case comparison for extensions in getContents(). 2020-05-24 15:35:09 +02:00
Mikaël Capelle a62bf7aa12 Fix typo in getContents(). 2020-05-24 15:21:08 +02:00
Mikaël Capelle 4bcb92fc47 Use a more generic 'prefetch' method instead of isValid(). 2020-05-24 14:49:51 +02:00
Mikaël Capelle 001e44fec4 Minor cleaning. 2020-05-24 14:40:44 +02:00
Mikaël Capelle ff4fbbdc5f Switch from ThreadPool to a simpler thread map for containers. 2020-05-24 14:39:39 +02:00
Mikaël Capelle 73248d9e40 Use the refresh_thread_count setting for ModInfo::updateFromDisc. 2020-05-24 13:36:16 +02:00
Mikaël Capelle a284c64dc1 Update file tree in parallel when loading from disk. 2020-05-24 13:28:00 +02:00
Mikaël Capelle 9fb639a00e Update ModInfo to use a single file tree for all content-related operations. 2020-05-24 13:27:40 +02:00
Al 08ae9db2fd Merge pull request #1076 from Holt59/moddatachecker
Use the ModDataChecker feature to check mod validity
2020-05-23 14:19:54 -07:00
Mikaël Capelle 6374845a28 Bump to 2.3.0a9 and update copyright to 2020. 2020-05-23 23:09:20 +02:00
isanae 20649ec027 Fix issues with very slow refresh time for large root data directories. 2020-05-23 23:08:33 +02:00
Mikaël Capelle fceca422db Add comment about lazy-populating the QDirFileTree. 2020-05-23 22:21:38 +02:00
Mikaël Capelle 5f794fec2c Remove time() method from FileTreeEntry. 2020-05-23 21:45:57 +02:00
Mikaël Capelle 2652ed1209 Update QDirFileTree to hide implementation and allow querying time through QFileInfo. 2020-05-23 18:40:21 +02:00
Mikaël Capelle 7b973d5f10 Remove header that has been removed from uibase. 2020-05-23 17:33:16 +02:00
Mikaël Capelle 064ef4cfeb Update IFileTree implementations following uibase changes. 2020-05-23 17:33:01 +02:00
Mikaël Capelle ee995b8df5 Remove include that has been removed from uibase. 2020-05-23 17:09:20 +02:00
Mikaël Capelle ee7438827e Switch to ModDataChecker for testing mod validity. 2020-05-22 15:50:50 +02:00
Mikaël Capelle 5fc66d8793 Move m_GamePlugin up into ModInfoWithConflictInfo. 2020-05-22 15:27:19 +02:00
Mikaël Capelle c0035ada02 Add QDirFileTree implementation. 2020-05-22 13:49:51 +02:00
Al e618afa5d1 Merge pull request #1075 from Holt59/bump-to-2.3.0a8
Bump version to 2.3.0 alpha 8.
2020-05-22 01:27:16 +02:00
Mikaël Capelle 736fc28b12 Bump version to 2.3.0 alpha 8. 2020-05-22 00:00:41 +02:00
Al 5f00213b8a Merge pull request #1074 from IsmayilMirzali/add_open_logs
Add option to open logs folder
2020-05-20 23:48:19 +02:00
IsmayilMirzali f31a74a6a8 Add option to open logs folder 2020-05-21 00:44:34 +03:00
Al b7110cba2d Merge pull request #1066 from Holt59/new-filetree
Update for the new file tree implementation and minor fixes
2020-05-20 13:05:02 +02:00
isanae c214b67ae7 Merge pull request #1073 from Holt59/fix-missing-junction-plugins
Fix issue with plugins in junction mods not being activated.
2020-05-20 06:55:01 -04:00
Mikaël Capelle 89db02eb94 Fix issue with plugins in junction mods not being activated. 2020-05-20 12:53:36 +02:00
Mikaël Capelle c391c2b584 Rollback to setGameName instead of setGamePlugin for mod interface. 2020-05-19 18:00:12 +02:00
Mikaël Capelle 04698417a9 Add implementation of clone() and doClone() for the archive filetree. 2020-05-16 14:00:24 +02:00
Mikaël Capelle 0a3dade905 Update after const_cast removal in uibase. 2020-05-12 19:32:31 +02:00
Mikaël Capelle 572fa7050f Minor comment updates. 2020-05-08 21:43:27 +02:00
Mikaël Capelle b2bd13e3db Fix another issue with some archives not being loading properly. 2020-05-07 22:09:40 +02:00
Mikaël Capelle 411b73e0aa Fix issue with some archives not being extracted correctly. 2020-05-07 19:18:58 +02:00
Mikaël Capelle f405a51bf6 Override astree() in ArchiveFileTreeImpl to avoid VS warnings. 2020-05-07 16:22:07 +02:00
Mikaël Capelle ff990c7743 Fix issue with getColor() not being overriden properly. 2020-05-07 12:17:27 +02:00
Mikaël Capelle 5a90eecc21 Fix issue with mods not being checked properly and overwrite not having the right priority. 2020-05-07 12:16:33 +02:00
Mikaël Capelle 068e12bbb2 Move to the new filetree for the installation manager. 2020-05-07 12:16:33 +02:00
Mikaël Capelle 40c433580f Update ModInfo classes to handle plugin game and clean some declarations. 2020-05-07 12:16:33 +02:00
Mikaël Capelle cd2b7683b7 Avoid using GamePlugins when not provided by the game plugin. 2020-05-07 12:16:32 +02:00
AL 14d1ea87f9 Fix separator colors not working right due to missing brackets. 2020-05-07 01:57:58 +02:00
isanae 2860447dce Merge pull request #1064 from isanae/cmakefile-appveyor-fix
Appveyor fix for new cmake files
2020-04-30 18:43:05 -04:00
isanae 8ef7db6a4c appveyor does not build modorganizer in its standard location, so use DEPENDENCIES_DIR to find cmake_common 2020-04-30 18:42:02 -04:00
Al 4b265a5cd3 Merge pull request #1063 from Al12rs/mod_colors
Mod colors
2020-04-30 15:57:42 +02:00
AL bdd1e97d4f Add modinfodialog Notes Tab color selector. 2020-04-29 22:13:09 +02:00
AL 4d67365600 Only show color context menu for mods when right clicking on Notes column. 2020-04-29 17:04:25 +02:00
AL 312af10f4f Allow coloring notes field. 2020-04-29 16:49:12 +02:00
isanae 9945beabf1 Merge pull request #1061 from isanae/new-cmakefiles
New cmakefiles
2020-04-26 02:54:00 -04:00
isanae ca9c953d6a moved a few projects to requires_project() 2020-04-25 00:19:25 -04:00
isanae bbfec30539 now using new common cmakefiles
fixed includes because shared/ isn't in the path anymore
removed unused modeltest files
2020-04-23 21:00:00 -04:00
AL 530bade5f7 Allow resizing and maximizing the Loot sort report dialog. 2020-04-18 21:25:00 +02:00
isanae a2f550ee33 Merge pull request #1057 from isanae/warning-fixes
Fixed warnings about Q_OBJECT and thousand separators
2020-04-18 04:54:10 -04:00
isanae b91dbba734 fixed warnings about Q_OBJECT and thousand separators
had to move some classes to header files
2020-04-18 04:53:14 -04:00
isanae c47ab23f95 Merge pull request #1055 from isanae/sysdir-opt
Fix for getOptionalKnownFolder()
2020-04-17 11:08:14 -04:00
isanae 2c1331e3e5 getOptionalKnownFolder() returns a string now 2020-04-17 11:06:08 -04:00
isanae 855650215f Merge pull request #1054 from isanae/bunch-of-fixes
Bunch of fixes
2020-04-17 10:31:47 -04:00
isanae 21166f820b bumped to alpha 7 2020-04-17 10:25:42 -04:00
isanae 47867d427f fixed crash when switching to an instance with a lower refresh thread count
fixed rare race condition when waking up handle closer threads
2020-04-17 10:23:10 -04:00
isanae f43c11497d added game, instance and profile to status bar 2020-04-17 10:01:33 -04:00
isanae 014df88aa8 typo 2020-04-17 09:44:28 -04:00
isanae 960afe9ea5 log command line 2020-04-17 09:43:58 -04:00
isanae e11ca50a57 update available log is now info instead of debug
added AV warning when a game plugin is no longer available
2020-04-17 09:31:59 -04:00
isanae d49f038d5d silenced a few annoying logs 2020-04-17 09:30:16 -04:00
isanae 77d292727b sanity checks: added nahimicmsiosd.dll, specialk64.dll and mactype64.dll 2020-04-17 09:27:17 -04:00
isanae 52c7a6a181 added directory checks for desktop and onedrive 2020-04-17 09:14:24 -04:00
isanae 3b0fbebc6a dump a bunch of counts for mods when selecting a profile 2020-04-17 09:06:41 -04:00
Al ff912b5f61 Merge pull request #1053 from Al12rs/fix_no_inis
Fix crash when game plugin does not provide any ini files.
2020-04-17 14:30:41 +02:00
isanae d7ceadeae1 hook ctrl+f and escape directly on widgets instead of on the main window to allow other widgets to use the same shortcuts, like the FilterWidget 2020-04-17 08:19:22 -04:00
AL 89ee58de38 Fix crash when game plugin does not provide any ini files. 2020-04-17 13:49:26 +02:00
isanae 15e04d4fe8 fixed typo 2020-04-17 07:24:12 -04:00
isanae 4275cadf13 changed first validation timeout back to 10s, a lot of people report that 5s is too short 2020-04-17 07:24:02 -04:00
isanae 333a0c3c16 removed some debug logging 2020-04-17 07:23:28 -04:00
isanae 4621c27164 Merge pull request #1052 from isanae/filetree-crash-fixes
File tree crashes
2020-04-17 07:06:38 -04:00
isanae 0faa5d6995 fixed crashes and empty items in the file tree
sorting and removing items have to be queued since they corrupt various internal structures in Qt when done during layout
2020-04-17 06:58:21 -04:00
AL 502e752b0a Fix inconsistent Explore menu option naming. Used Visual Studio standard. 2020-04-02 14:29:40 +02:00
AL a4ed20295f Fix "Failed to setup data paths" loop by showing the choose instance dialog for next startup.
This could sometimes happen if users changed a drive letter or removed a drive with one of the Mo2 paths on it making Mo2 error on startup. Only fix was to manually edit the modorganizer.ini file or manually deleting the instance. This allows users to create or use other instances even if that particular instance still needs manual fixing.
2020-03-30 22:10:15 +02:00
AL aab5a120ff Imrpoved mod already exist dialog when installing. 2020-03-19 20:43:53 +01:00
AL 57be0f0db6 Fix and improve NexusID detection during installation for Install Mod button. 2020-03-13 22:48:02 +01:00
Al 7683dc205d Fix timestamp formatting for appveyor 2020-03-01 13:53:53 +01:00
AL 979889edfe Made all lists uniform row heights for performance and alternate row color 2020-02-29 15:02:15 +01:00
AL 99ac2c0e9a Fixed comboboxes and tooltip lagginess due to bad animations. 2020-02-29 15:01:26 +01:00
AL 5e83ecf8c4 New appveyor complete build configuration. 2020-02-29 14:23:14 +01:00
Chris Bessent 6f11e3d741 Revert "Hacky fix to installation progress dialog flashing"
This reverts commit 42e5c33a32.
2020-02-28 12:12:54 -07:00
Al a44100ada1 Merge pull request #1021 from Al12rs/log_changes
Various UI changes:
2020-02-27 11:02:34 +01:00
AL c2e2be8ff7 Cleanup previous filterList code 2020-02-26 19:34:33 +01:00
AL c4b95bad65 Removed "State" header from filterlist.
Allow lower vertical sizes for loglist.
Fixed alignments and size of various elements.
2020-02-26 19:24:15 +01:00
AL c1554d1c3f Added checkbox icons for filterlist state 2020-02-26 19:22:15 +01:00
AL 60437644e4 Enabled icons for all log level line.
Added new icon for Debug level.
Moved icons after timestamp.
2020-02-26 19:20:56 +01:00
AL 0a6c7dce97 Allow log to be reduced in size to a greater extent. 2020-02-26 14:50:19 +01:00
Al 756056fcc3 Merge pull request #1019 from Al12rs/context_menu_delay_fix
Fix context menu rendering delay and and general crappiness.
2020-02-26 14:47:33 +01:00
AL 87fcb7cf9e Fix context menu rendering delay and and general crappiness.
This affected users that had the windows "Fade or slide menus into view" option enabled. Qt's implementation of these effects sucks
2020-02-25 17:13:03 +01:00
AL 8bf4cd3b27 Fix random <br> in Alternate Game icon tooltip 2020-02-25 17:07:14 +01:00
Al a6d3ab75c0 Merge pull request #1018 from Al12rs/remove_flashing_widgets
Fixed widgets flashing during Mo2 startup,
2020-02-25 17:05:33 +01:00
AL 85f4ca3870 Fixed widgets flashing during Mo2 startup,
they were caused by some code I can't even make sense of that I left over. My bad...
2020-02-25 14:06:53 +01:00
Al f02aa15fc5 Merge pull request #1017 from Al12rs/filterwidget_updates
Filterwidget updates
2020-02-25 14:02:49 +01:00
AL 22f8698e0b Moved filters back to the bottom 2020-02-23 22:11:18 +01:00
AL 5208bf5251 Set filterwidget delay for the data tab to avoid typing stutter 2020-02-23 14:22:46 +01:00
AL e6cd3d026d Add option to filterwidget to keep selection in view 2020-02-23 02:32:51 +01:00
AL e5688ecea3 Fix crashing on Nexus descriptions that are missing BBCode closing brackets. 2020-02-22 14:48:59 +01:00
Chris Bessent 6107883829 Merge pull request #1006 from LostDragonist/master
Hacky fix to installation progress dialog flashing
2020-02-21 02:13:06 -07:00
Chris Bessent 42e5c33a32 Hacky fix to installation progress dialog flashing 2020-02-21 01:59:49 -07:00
isanae 21904f6214 Merge pull request #1005 from isanae/missing-categories
Missing categories
2020-02-19 03:40:26 -05:00
isanae 13a622e6cd categories were loaded too late 2020-02-18 21:06:04 -05:00
isanae d41d57fe07 Merge pull request #1004 from isanae/timings
More timings
2020-02-18 18:15:35 -05:00
isanae f9ad6d9709 timing for refreshBSAList and updateProblemsButton 2020-02-18 18:13:23 -05:00
isanae 75cd8b3bab added more timings
missed fileregisterfwd.h in cmake list
2020-02-18 18:09:03 -05:00
isanae e749b20726 Merge pull request #1003 from isanae/file-list-improvements
Refresh optimizations
2020-02-18 17:32:11 -05:00
isanae a28bd45c0b changed FileRegister to a deque instead 2020-02-18 17:25:06 -05:00
isanae d7ad9dcc19 removed copy/pasted qt copyright 2020-02-18 17:25:06 -05:00
isanae f7d7c4465b bumped to alpha 6 2020-02-18 17:25:05 -05:00
isanae d3fe9ff1fa moved TimeThis to uibase
fixed progress bar
2020-02-18 17:25:05 -05:00
isanae 528fa988b5 error handling for last modified time 2020-02-18 17:25:05 -05:00
isanae 5e569d0107 re-enabled archive parsing 2020-02-18 17:25:05 -05:00
isanae dbb3f5117a removed directoryrefresher.h from organizercore.h 2020-02-18 17:25:05 -05:00
isanae 777d822f13 cleanup, typedefs 2020-02-18 17:25:05 -05:00
isanae bbd9bb1fd9 hide version.aps 2020-02-18 17:25:05 -05:00
isanae b1cf498924 split directoryentry
made classes noncopyable, fixed a few unintended copies
2020-02-18 17:25:04 -05:00
isanae 88ef053000 error checking in dump()
removed a bunch of "{} saved" in the logs
2020-02-18 17:25:04 -05:00
isanae 9eeaa88cf5 fixed sorting 2020-02-18 17:25:04 -05:00
isanae 82106134cb added natvis 2020-02-18 17:25:04 -05:00
isanae 4a74102736 moved dump() to DirectoryEntry
static functions instead of lambdas
2020-02-18 17:25:04 -05:00
isanae 75359bc9c2 fixed crash when disabling mod 2020-02-18 17:25:04 -05:00
isanae fb3fbd3421 removed lastAccessed from FileEntry, not used
FileRegister keeps a vector instead of a map
2020-02-18 17:25:03 -05:00
isanae 567fe019ac removed some unnecessary counters
delete old structure in thread
2020-02-18 17:25:03 -05:00
isanae c8fc7abade thread-safe OriginConnection
ThreadPool now keeps threads running
keep ModThreads around so avoid reallocating buffers
2020-02-18 17:25:03 -05:00
isanae 763a5d6c08 more instrumentation
tighter mutexes, required thread-safe FileEntry
2020-02-18 17:25:03 -05:00
isanae 29244f3328 thread-safe directory entry 2020-02-18 17:25:03 -05:00
isanae d082a91ad6 faster getSubDirectory() for env::Directory, added lcname
instrumentation
2020-02-18 17:25:03 -05:00
isanae 7860e927a7 removed dead insertFile()
avoided a few string copies
lowercase filename in thread
2020-02-18 17:25:03 -05:00
isanae 3423b0a593 threaded refresher 2020-02-18 17:25:02 -05:00
isanae 6ee4285588 close handles in thread 2020-02-18 17:23:48 -05:00
isanae c1cf760337 don't lowercase twice 2020-02-18 17:23:48 -05:00
isanae 3a65665d36 wstring_view when possible
first implementation of NtQueryDirectoryFile
2020-02-18 17:23:48 -05:00
isanae 3db95eb404 customizable columns for mod and plugin lists 2020-02-18 17:23:48 -05:00
isanae 0c62a26e09 customizable columns for file tree 2020-02-18 17:23:47 -05:00
isanae 177dc6b320 shift+right-click selects items 2020-02-18 17:23:47 -05:00
isanae 7eae9b5dd4 localized warning when file doesn't exist for shell menu 2020-02-18 17:23:47 -05:00
isanae 7c2952b83c fixed stylesheets for "valid-filter" property 2020-02-18 17:23:47 -05:00
isanae f9f31c57dc added support for FilterWidget regexes 2020-02-18 17:23:47 -05:00
isanae b5c0b2b0a2 updated stylesheets for new "filtered" property on lists with FilterWidget 2020-02-18 17:23:47 -05:00
isanae 8c2814c9dc Merge pull request #1000 from Al12rs/startup_performance
Startup performance
2020-02-18 17:22:29 -05:00
Al cfb05d72be Merge pull request #998 from Al12rs/warnings
Change Qtime to QElapsedtimer in some palaces to remove the warnings.
2020-02-17 13:22:13 +01:00
AL 8e3ab9fb66 Cleanup commented code 2020-02-17 11:00:27 +01:00
AL 5043a930ce Add setting to disable splash since it can cause load time increase
use_spash=true by default. It's not exposed to the ui for now.
2020-02-17 03:26:47 +01:00
AL 112f91357e Reduce overhead introduced by splashscreen
by not letting it wait on the mainwindow and instead immediately close
2020-02-17 02:34:56 +01:00
AL 29b331817c Remove duplicated updateFromDisc() call during refresh
comment mentioned that it was needed but it was very old and testing would suggest this is no longer the case.
2020-02-17 02:11:42 +01:00
AL edc7f3d5b2 Avoid refreshing when setting downloads supported extensions as it only happens during init. 2020-02-16 15:54:41 +01:00
AL c02fbe89c7 Allow not refreshing downloads when setting their folder, for example during init. 2020-02-16 15:54:40 +01:00
AL e33d0f9d35 Avoid updating the downloadView when it hasn't even been initialized. 2020-02-16 15:54:40 +01:00
AL c4059f0dfe Avoid refreshing the profile again when initializing the pforilebox 2020-02-16 15:54:40 +01:00
AL 60c86e7cee Move modInfo loadFromDisc to it's own function 2020-02-16 15:53:24 +01:00
AL 423db56781 Change Qtime to QElapsedtimer in some palaces to remove the warnings. 2020-02-15 23:02:49 +01:00
Al 86c5b64ab5 Merge pull request #997 from Al12rs/custom_url_overwrite_fix
Avoid overwriting existing URL values when replacing a mod if new val…
2020-02-14 14:01:58 +01:00
AL 460e015e96 Avoid overwriting existing URL values when replacing a mod if new value is empty. 2020-02-14 13:43:22 +01:00
Al 2af0698484 Merge pull request #991 from Al12rs/remember_last_modinfo_tab
Always remember last opened ModInfoDialog tab.
2020-02-14 13:35:20 +01:00
Al d2af089a14 Merge pull request #992 from Al12rs/version_check_for_optional_files
Avoid getting the general mod version for optional and miscellaneous …
2020-02-14 13:35:08 +01:00
isanae 1f1f99f253 Merge pull request #994 from isanae/generic-file-list
New file tree
2020-02-09 08:52:03 -05:00
isanae 3a80685189 don't sort items when they're not expanded 2020-02-08 21:38:01 -05:00
isanae d0c16e60d7 just disable recursive filtering when fully loading
switching models clears persistent indexes and collapses everything
2020-02-07 14:02:00 -05:00
isanae 2b0a720863 fixed sorting not emitting layout events and fixing persistent indexes 2020-02-07 13:39:35 -05:00
isanae 1c8c1bb89b fixed data tab not refreshing after "restarting" MO
larger default size for filename column
fixed sorting in descending order by default
2020-02-07 11:40:26 -05:00
isanae 9c2fc69405 sort on demand 2020-02-07 11:26:11 -05:00
isanae 41e6189be4 disconnect any proxies when fully loading
disable model when resetting, enable it back after the directory refresh so the tree doesn't appear in a weird state in between
2020-02-07 10:52:49 -05:00
isanae 49a1e234ef item activation
removed a bunch of unnecessary QObject qualifiers
2020-02-07 09:24:54 -05:00
isanae 6b97e2185f bump to alpha5 2020-02-07 08:28:59 -05:00
isanae fe76e6518b Merge branch 'master' of https://github.com/ModOrganizer2/modorganizer into generic-file-list 2020-02-07 08:06:08 -05:00
AL a120a36e11 Avoid getting the general mod version for optional and miscellaneous files,
as those usually have their own version unbound to the main one.
2020-02-06 16:24:47 +01:00
isanae e6fe832b4f don't refresh the data tab every time the index changes 2020-02-05 22:00:47 -05:00
isanae 593ed64f86 filter on filename column only because loading the meta for every file takes forever
some small optimizations when enabling mods
2020-02-05 21:55:52 -05:00
isanae b7e51b65e8 removed bad minimum column width in the data tab
fixed crash in log when restart MO
2020-02-05 20:37:18 -05:00
isanae 03ee407c34 fixed LogModel not being thread safe
optimizations:
- create BrowserDialog on demand
- scroll to bottom of log in a timer, coalesces fast logging
- disabled md5 of dlls
2020-02-05 20:23:53 -05:00
isanae ea0429342a harmonized widgets in the tabs, fixed styles 2020-02-05 19:11:49 -05:00
isanae 34b022a229 fixed warning when comparing empty strings
filter in data tab
fixed some bad iterators when removing rows
fixed empty directories not being marked as such when refreshing
always sort directories first even when reversing the sort order
fixed children not being sorted
fixed errors about file sizes for directories
remember state of checkboxes in data tab
2020-02-05 16:21:41 -05:00
Al 718c2a56f9 Merge pull request #990 from Al12rs/shift_visit_website
Allow Shift-double click on modlist to open Nexus or custom URL as fa…
2020-02-05 16:28:14 +01:00
Al 6ab940892f Merge pull request #989 from Al12rs/more_text_types
Add support for other text file types to Text Files modinfo tab
2020-02-05 16:28:01 +01:00
AL 3079f84954 Always remember last opened ModInfoDialog tab.
Don't reopen saved tab if mainwindow requested specific tab.
2020-02-05 16:26:44 +01:00
AL ebd71dd053 Remove .cfg from INI Files tab as it's in Text Files tab now. 2020-02-04 15:04:37 +01:00
isanae 6f10702349 case insensitive checks for mohidden extension (lost in rebase) 2020-02-04 03:36:34 -05:00
isanae 2f3b9f9a9e skip files from archives for the shell menu 2020-02-04 03:33:23 -05:00
isanae d14488d2f7 update tree items when origins change 2020-02-04 03:33:23 -05:00
isanae 47d1826f55 hidden unique_ptr into FileTreeItem
refactored pruning
don't show shell menu for directories
added collapse all in context menu
2020-02-04 03:33:23 -05:00
isanae 97b91b5fe5 prune empty directories 2020-02-04 03:33:23 -05:00
isanae 34bc2191e6 don't get meta for fields that are not used
show compressed file size if available
remember file sizes for files in archives
2020-02-04 03:33:22 -05:00
isanae 85a9f810a0 moved refresh and checkboxes to the top 2020-02-04 03:33:22 -05:00
isanae c6c01f86c6 sort 2020-02-04 03:33:22 -05:00
isanae 7c98635edc filetype and last modified columns 2020-02-04 03:33:22 -05:00
isanae a55a69e6ac file size column 2020-02-04 03:33:22 -05:00
isanae 412165fcfb show file counts when there are discrepancies 2020-02-04 03:33:22 -05:00
isanae 2a0e78e3cf fixed bad path for alternate origins
finished ShellMenuCollection, had to split a bunch of things
2020-02-04 03:33:22 -05:00
isanae 6005da6187 ShellMenuCollection, events not processed yet 2020-02-04 03:33:21 -05:00
isanae a7a406e553 preparing for multiple origins shell menus
split exec() from createMenu()
2020-02-04 03:33:21 -05:00
isanae 0f6205bea5 dummy menu for files in multiple directories 2020-02-04 03:33:21 -05:00
isanae d0be8a0d3b ShellMenu class 2020-02-04 03:33:21 -05:00
isanae e3211683fd shell menu for multiple files 2020-02-04 03:33:21 -05:00
isanae abdf98bbfe status bar messages 2020-02-04 03:33:21 -05:00
isanae dd4bd5b17d shift+right click for shell menu 2020-02-04 03:33:21 -05:00
isanae 2d4216a4f0 icons 2020-02-04 03:33:20 -05:00
isanae 0f3c01425d font, tooltip and foreground 2020-02-04 03:33:20 -05:00
isanae 3bc1a4a067 createDirectoryItem() and createFileItem() 2020-02-04 03:33:20 -05:00
isanae f49643075a moved a bunch of duplicate stuff in a new class Range 2020-02-04 03:33:20 -05:00
isanae 7c4d3c6fb9 refactored removeDisappearingFiles() to just check for directories in the main loop 2020-02-04 03:33:20 -05:00
isanae 9c9de680c6 faster parent() and indexFromItem() with index guess
implemented files
2020-02-04 03:33:20 -05:00
isanae 8e3a360cd4 implemented fetchMore() and update for subdirectories
don't refresh tree on active, it's taken care of by fetchMore()
2020-02-04 03:33:20 -05:00
isanae bb9a4600bb rewriting FileTreeModel, implemented add/remove folders in root 2020-02-04 03:33:19 -05:00
isanae 08188830a3 removed LEAK_TRACE stuff
refactored DirectoryEntry for lookup maps
filetreemodel: made ensureLoaded() a no-op while refreshing, faster processing for removing rows
2020-02-04 03:33:19 -05:00
isanae aa63bffd35 missing toStdString() from merge 2020-02-04 03:33:19 -05:00
isanae ee03c23290 refactoring: moved member functions in the same order as the header 2020-02-04 03:33:19 -05:00
isanae 1c07f8ddda refactoring: whitespace, newlines, auto, removed commented out code 2020-02-04 03:33:19 -05:00
isanae 6da813a633 refactoring: whitespace and newlines 2020-02-04 03:33:19 -05:00
isanae 2be531470d renamed ToLower() to avoid confusion with in-place vs copy
pre-hashed file lookup in DirectoryEntry
2020-02-04 03:33:19 -05:00
isanae 0a908c4962 added a map for directories in DirectoryEntry
more optimizations for filetree
2020-02-04 03:33:18 -05:00
isanae 72394faa75 some optimizations to avoid case conversions and memory allocations 2020-02-04 03:33:18 -05:00
isanae 2d276cad0b put expensive logging in an optional function 2020-02-04 03:33:18 -05:00
isanae a7051df5da split item and model 2020-02-04 03:33:18 -05:00
isanae e0c605be1d initial implementation for updating file tree, buggy 2020-02-04 03:33:18 -05:00
isanae 219bd59a21 removed dead stuff 2020-02-04 03:33:18 -05:00
isanae f27a73b123 implemented dump to file
fixed duplicate module notifications not being skipped
2020-02-04 03:33:18 -05:00
isanae 2f07eb51c1 implemented explore origin, open mod info, hide and unhide 2020-02-04 03:33:17 -05:00
isanae 8bcf8cde3c hide spacers on statusbar when the progress bar is not visible
always show menu items, added status tips
2020-02-04 03:33:17 -05:00
isanae 87868e1b22 added a few missing consts
removed incorrect assert about an empty game edition
added FileTree to wrap a QTreeView and a FileTreeModel, moved some context menu actions over
2020-02-04 03:33:17 -05:00
isanae b6e91484ba split IconFetcher 2020-02-04 03:33:17 -05:00
isanae c5f98f9756 now prunes empty directories
handles archives and conflicts checkboxes
2020-02-04 03:33:17 -05:00
isanae d3e9abddaf tooltips, archive names 2020-02-04 03:33:17 -05:00
isanae de29b6a5a8 IconFetcher 2020-02-04 03:33:17 -05:00
isanae efdc3eb14f load items on demand 2020-02-04 03:33:17 -05:00
isanae a4624f239f split FileTreeModel, initial implementation, some stuff is broken 2020-02-04 03:33:16 -05:00
isanae e8027bfeaa moved main window classes to their own filter 2020-02-04 03:33:16 -05:00
isanae 7e748d15c9 split data tab
removed a bunch of undefined functions in MainWindow
2020-02-04 03:33:16 -05:00
AL 46319decd1 Allow Shift-double click on modlist to open Nexus or custom URL as fall-back. 2020-02-04 03:36:51 +01:00
AL d6d613f071 Add support for other text file types to Text Files modinfo tab 2020-02-04 02:43:29 +01:00
AL e9da5b4fad Version bump and update translations 2020-02-02 01:55:52 +01:00
Al c058721056 Merge pull request #988 from Al12rs/move_filter_widget
Moved filterWidget and eventFilter to ui base
2020-02-01 23:33:52 +01:00
AL 17cfba60a7 Fix Mobase namespace for filterwidget 2020-02-01 22:36:33 +01:00
AL 326c9130c4 Moved filterWidget and eventFilter to ui base 2020-02-01 21:28:14 +01:00
AL 9c8412a051 Change tooltip of Category column to say "Primary" 2020-01-31 23:04:34 +01:00
Al 0bc2a50440 Merge pull request #987 from IsmayilMirzali/master
Add more context menu options for mod backups
2020-01-28 23:08:24 +01:00
IsmayilMirzali 11f3a8caf5 Add seperators for mod backup context menu 2020-01-28 22:20:23 +02:00
IsmayilMirzali 28d449c026 Add more context menu options for mod backups 2020-01-28 00:51:44 +02:00
Chris Bessent 4963c278fe Don't allow foreign mods or overwrite for overriding overwrite 2020-01-26 18:26:03 -07:00
AL 6214cf3923 Fix CSV exporting of primary category.
#450
2020-01-26 20:19:15 +01:00
AL 6019e12ea5 Fixed file structure not being kept when drag and dropping files.
Fix #981
2020-01-23 17:17:03 +01:00
AL ade9cfb603 Bump bersion for dev build 3 2020-01-22 23:45:57 +01:00
Al 6305f6e2e9 Merge pull request #980 from Al12rs/context-menu-fix
Fixed missing context menu on general conflicts tab.
2020-01-22 23:09:57 +01:00
Al eacbe101f1 Merge pull request #979 from Al12rs/hidden-files-flag
Add Restore hidden files option and clean up hidden files code
2020-01-22 23:09:45 +01:00
Al 5af018d18a Renamed underscores function name to pascal case 2020-01-21 01:54:44 +01:00
Al 2217d9c575 Removed missed line 2020-01-21 01:49:22 +01:00
Al 123f9f408b Fixed missing context menu on general conflicts tab.
Was due to the new FilterWidget adding a QSortProxy and the selection had to be translated to the underlying model.
Normalized use of FilderWidget on the Advanced Conflicts tab.
2020-01-21 01:24:29 +01:00
Al 7c55ae3a22 Add "Restore hidden files" context menu option to modlist.
Recursively restores all hidden files in the mod or mods if more than one is selected.
2020-01-20 19:46:03 +01:00
Al 61b64d9431 Make hidden files extension checks case insensitive 2020-01-20 19:41:09 +01:00
Al 3e98a6e5bf Use ModInfo::s_HideExt instead of ".mohidden" directly 2020-01-20 19:38:08 +01:00
Al 84678a3a28 Merge pull request #978 from Al12rs/hidden-files-flag
Also check for .mohidden directories for HiddenFiles flag.
2020-01-19 20:34:02 +01:00
Al 304ca8066f Also check for .mohidden directories for HiddenFiles flag. 2020-01-19 16:32:32 +01:00
Al 7d11492ac2 Revert "Fix "Explore virtual folder" not being translatable"
This reverts commit de1bae9d92.
2020-01-19 12:52:22 +01:00
Al de1bae9d92 Fix "Explore virtual folder" not being translatable 2020-01-19 12:33:00 +01:00
Al a41c74bc5c Merge pull request #973 from Al12rs/hidden-files-flag
Added text filters for general conflicts lists
2020-01-16 21:30:26 +01:00
Al 58f3596028 Added text filters for general conflicts lists 2020-01-15 20:01:23 +01:00
Al a12e56f977 Bump version for 2.3.0 alpha 2 2020-01-15 12:04:25 +01:00
Al 5aad5eb8a2 Merge pull request #970 from Al12rs/hidden-files-flag
Hidden files flag
2020-01-15 11:59:13 +01:00
Silarn 0c2289b6f9 modsSortedByProfilePriority should return the internal name of the mod 2020-01-14 20:19:42 -06:00
Al f65121b8bc Fix some more tabs 2020-01-14 22:18:03 +01:00
Al 7579e42577 Fix incorrect tabs 2020-01-14 22:02:52 +01:00
Al 6b75741139 Add has hidden files filter for modlist. 2020-01-14 21:12:21 +01:00
Al a5d0cb8b5d Add icon for hidden files flag 2020-01-14 20:56:15 +01:00
Al 39f36ca27a Added ModInfo::FLAG_HIDDEN_FILES and check in modinfowithconflictinfo 2020-01-14 20:55:34 +01:00
Chris Bessent 3fb21b74a9 Merge pull request #969 from ModOrganizer2/2_2_2
Pull in 2.2.2.1 changes
2020-01-13 22:41:40 -07:00
Chris Bessent 6c6734fcf4 Set version for new instances 2020-01-12 14:35:40 -07:00
Chris Bessent 9fc7a1bf85 Fix downloading files that have no file name
Somehow some mods on the Nexus have no file name in certain API
responses.  Previously, MO assumed the last part of the URL is
the file name.  This worked until the Nexus started adding URL
query stuff to the URL (?md5=xxx).

Now, strip out all the URL query stuff to get a valid file name.
2020-01-11 09:24:23 -07:00
Chris Bessent 3cfa7bbe74 Don't ask for the game when there's only one game 2020-01-10 17:18:45 -07:00
Chris Bessent 08410deece Use the old query info logic when MD5 query is ambiguous
An author accidentally uploaded a mod's files to a different mod.
This resulted in querying info finding the wrong mod/file.
2020-01-10 17:18:45 -07:00
Chris Bessent 07e5ce1e0e Merge pull request #967 from Al12rs/master
Fixed log timestamp size for bigger font.
2020-01-10 08:41:10 -07:00
AL c5b809b486 Fixed log timestamp size for bigger font. 2020-01-10 16:07:58 +01:00
Chris Bessent ae22b41f96 Update version to 2.2.2.1 2020-01-09 19:01:42 -07:00
AL 85bb3dfbde Updated translations
(cherry picked from commit 62a6b1ce5e)
2020-01-09 18:43:12 -07:00
AL da441e2b71 Add headers with tooltips to Filter view.
(cherry picked from commit 3c6804c502)
2020-01-09 18:43:11 -07:00
AL 340b2e766f List all categories flatly in filters view as nestled ones would otherwise not be accessible.
(cherry picked from commit 734bd0ed20)
2020-01-09 18:43:11 -07:00
Al b9ff5cc7dc Merge pull request #961 from Al12rs/filter-fix
Nestled categories in filters missing fix
2020-01-09 12:34:42 +01:00
AL 62a6b1ce5e Updated translations 2020-01-09 02:09:28 +01:00
AL 3c6804c502 Add headers with tooltips to Filter view. 2020-01-09 02:02:24 +01:00
AL 734bd0ed20 List all categories flatly in filters view as nestled ones would otherwise not be accessible. 2020-01-09 02:00:50 +01:00
Jeremy Rimpo f37ec77b26 Merge pull request #959 from ModOrganizer2/qt-5-14
Qt 5 14
2020-01-07 11:55:13 -06:00
Chris Bessent dfa600996c Merge pull request #954 from ModOrganizer2/Develop
Stage for release 2.2.2
2020-01-06 05:17:01 -07:00
Chris Bessent d1a788dfad Merge branch 'master' into Develop 2020-01-06 05:16:02 -07:00
isanae 076d11292f Merge pull request #958 from isanae/dracula-background-color
Dracula theme fix for redrawing the images tab
2020-01-06 04:37:37 -05:00
isanae 72e99f7c5c changed widget background color to opaque, fixes redrawing problems in the images tab 2020-01-06 04:34:43 -05:00
LostDragonist 19a20159a5 Fix the API counter not being translated 2020-01-01 21:38:18 -07:00
Chris Bessent 4d6cee82f4 Update version to 2.2.2rc7 2020-01-01 12:05:26 -07:00
Silarn 81abbacd67 Update manifest for 5.14 dlls 2019-12-31 02:53:58 -06:00
Silarn d259a0e1fa Migrate obsoleted qVariantFromValue 2019-12-31 02:49:15 -06:00
isanae 57b049b6d7 Merge pull request #953 from isanae/rc6-fixes
rc6 fixes
2019-12-29 07:30:07 -05:00
isanae 52cc3a41c7 refresh after manually unlocking the ui
fixed nexus connect button staying as "cancel" in case of errors
fixed logging of duplicate dll loading
bumped to rc6
2019-12-29 07:16:09 -05:00
Silarn dc6653e100 Fix conflict filter 2019-12-19 10:52:45 -06:00
isanae e797640a00 Merge pull request #945 from isanae/w7-wait-fix
Windows 7 wait fix
2019-12-18 17:25:05 -05:00
isanae 31cd5531d0 windows 7 doesn't play well with job objects, so just wait on individual handles
fixed getProcessTreeFromProcess() not behaving like getProcessTreeFromJob()
2019-12-18 17:21:52 -05:00
isanae c2d23bb34a Merge pull request #943 from isanae/bump-rc5
Bumped to rc5
2019-12-17 15:15:27 -05:00
isanae 932d321956 bumped to rc5
added reedts to contributors
2019-12-17 15:14:23 -05:00
isanae a4a0e59d8c Merge pull request #942 from isanae/lock-fixes
Lock fixes
2019-12-17 07:47:29 -05:00
isanae 2c7e0e7cb4 Merge pull request #941 from isanae/loot-errors
Loot errors
2019-12-17 06:35:10 -05:00
isanae ca6f9990c6 added text in when running loot
stop indeterminate progress bar on errors
add errors and warnings to report
2019-12-17 06:32:08 -05:00
isanae 05231eab45 temporary fix to keep MO locked for all processes when closing
save main window settings in closeEvent()
2019-12-15 22:35:02 -05:00
isanae f3c5cebb6e fixed exiting before QThread joins when pressing the X twice 2019-12-15 21:56:50 -05:00
isanae dcf88361d4 don't display the overlay on dialog boxes
handle non-modal windows too
fixed crash when closing an overlayed dialog
2019-12-15 21:54:27 -05:00
Silarn c9d33dad46 Allow content tooltip to translate 2019-12-14 19:05:42 -06:00
Chris Djali 9f54f554f5 Add Script Extender Plugin Checker to main readme 2019-12-15 00:52:36 +00:00
Silarn 51e3e078be Fix problem with translated unmanaged mods and origin names
- (Also adds translatable strings to directoryentry.cpp)
2019-12-14 18:11:57 -06:00
Silarn fde5fa2797 Streamline manual install fix, bump RC 2019-12-14 14:12:00 -06:00
isanae a912be4c6b Merge pull request #939 from isanae/data-root-activate
Double-click on root item in the Data tab
2019-12-14 13:52:08 -05:00
isanae 7af0e164f7 don't activate the root data item 2019-12-14 13:49:26 -05:00
LostDragonist 4c7b626e77 Fix requesting a manual install 2019-12-14 06:52:34 -07:00
Silarn db59ebdba0 Fix tutorial targets 2019-12-14 02:23:40 -06:00
Al 99fe545ff4 Merge pull request #937 from ModOrganizer2/filetree_doubleclick_fix
Filetree double-click fix
2019-12-13 13:43:37 +01:00
Al 909e8254f7 Avoid opening folders in explorer when double-clicking on them in the filetree.
As a side effect Enter and Return no longer do anything on folders either.
2019-12-13 13:36:12 +01:00
isanae 8cf24923bb Merge pull request #936 from isanae/rc3-fixes
rc3 fixes
2019-12-12 22:50:01 -05:00
isanae 0f67ee4fcd bumped to rc3 2019-12-12 15:07:02 -05:00
isanae 26158687a8 added SS3DevProps.dll to checks 2019-12-12 14:51:42 -05:00
isanae c3c1183308 fixed alt colors in saves list for dark.qss
translated some sanity checks warnings
fixed filter list not refreshing selection correctly
2019-12-12 14:47:35 -05:00
Silarn 1d0b202ee6 Check the enum 2019-12-11 14:28:42 -06:00
Silarn 19bb86a870 Update installer status handling 2019-12-11 14:02:33 -06:00
Silarn 5a266b8e26 When cancelling a fomod extraction, don't generate an error. 2019-12-11 12:06:36 -06:00
Silarn 2001f26757 Rework filter labels to separate bracket from translation 2019-12-10 15:25:31 -06:00
Silarn 923e514b0f Change the modinfo image preview button to a toolbutton 2019-12-10 14:56:56 -06:00
isanae 29d16f879d Merge pull request #935 from isanae/default-window-size
Set default window size to 1300x800
2019-12-09 13:28:38 -05:00
isanae 930087ea92 set default window size to 1300x800 2019-12-09 13:25:04 -05:00
isanae 1769d3c1a5 Merge pull request #934 from isanae/revert-conflicts-column
Revert conflicts column compatibility code
2019-12-09 13:13:16 -05:00
isanae 8d9a62a87d moved the conflicts column back to its proper position in the enum
removed unnecessary compat code
2019-12-09 13:08:58 -05:00
isanae b9fd1092c6 Merge pull request #933 from isanae/conflicts-position-on-reset
Move the conflicts column when resetting geometries
2019-12-09 12:53:29 -05:00
Al 292cee7f6a Update readme.md 2019-12-09 18:35:51 +01:00
isanae ea6c793ce6 move the conflicts column when resetting geometries 2019-12-09 12:32:17 -05:00
isanae 2cf33e59eb Merge pull request #932 from isanae/mod-list-columns-reset
Incorrect column sizes in mod list when resetting geometries
2019-12-09 11:47:40 -05:00
isanae e1d6f6380d use paintEvent() to allow interactive resize because showEvent() is too early
bumped to rc2
2019-12-09 11:40:54 -05:00
isanae 8cf3c4a367 Merge pull request #931 from isanae/double-click-unhooked
Double click unhooked
2019-12-09 10:12:12 -05:00
isanae 37891f29ca removed dead setDefaultActivationActionForFile() 2019-12-09 10:10:41 -05:00
isanae 2bc544509c disable run hooked in filetree when mod is disabled 2019-12-09 10:07:11 -05:00
isanae 5521b12fb3 data tab: run exes unhooked by default 2019-12-09 09:52:29 -05:00
isanae 852afd1263 filetree tab: run exes unhooked by default 2019-12-09 09:34:18 -05:00
Silarn 44084bfa41 Rework column insertion to move to the intended position post-facto 2019-12-08 20:48:14 -06:00
Al a4db0db94f Add alternatingRowColors to saves and data tab. 2019-12-09 01:17:27 +01:00
Al 27c05cebd5 Change compact size for the conflicts column to be shorter since there are less flags here. 2019-12-09 00:56:10 +01:00
Silarn df54f972ff Rework logic to parse by visual index 2019-12-08 16:16:10 -06:00
Al 8c3a3e8257 Changed default behavior for "Open Previews on double click" to true
since it's probably the most desirable option.
2019-12-08 21:05:58 +01:00
isanae c9049bb072 conflicts tab: run exes unhooked by default 2019-12-08 11:33:03 -05:00
Silarn 2c59d13be6 Update transifex location 2019-12-07 19:31:20 -06:00
LostDragonist f18e4db4fb Add Xahtax as a German translator 2019-12-07 14:30:35 -07:00
isanae 31fe42a1da Merge pull request #928 from isanae/bump-rc1
Bumped to RC1
2019-12-07 04:51:28 -05:00
isanae 9d8861d92b bumped to rc1 2019-12-07 04:47:28 -05:00
LostDragonist fbe0e8008a Do not translate isa's name 2019-12-07 02:12:39 -07:00
LostDragonist eb55bea357 Move isa to lead developers 2019-12-07 02:08:57 -07:00
isanae 931fd78284 Merge pull request #927 from isanae/clickBlank
Remove unused on_clickBlankButton_clicked()
2019-12-07 02:30:17 -05:00
isanae 267985a62d removed unused on_clickBlankButton_clicked() 2019-12-07 02:29:39 -05:00
Silarn d13ea08be8 Fix mistakenly added modinfo tab ID 2019-12-06 23:18:37 -06:00
Silarn b3331ef2c0 Separate conflict flags and render them in separate columns 2019-12-06 23:12:18 -06:00
LostDragonist d42bca5bc0 Merge pull request #925 from LostDragonist/Develop
Add source game column to the download list
2019-12-06 15:49:27 -07:00
LostDragonist 2c5603092a Add source game column to the download list 2019-12-06 12:40:41 -07:00
isanae 5327974825 Merge pull request #922 from isanae/open-folders-order
Move logs back to the bottom of the list
2019-12-04 21:54:48 -05:00
isanae 317730054d moved logs back to the bottom of the list, they're not game related 2019-12-04 21:53:41 -05:00
isanae d3be45e79e Merge pull request #921 from isanae/6788-stylesheets
Deleted 6788 stylesheets, they're now dependencies in umbrella
2019-12-04 16:32:28 -05:00
isanae dd28b85ad0 deleted 6788 stylesheets, they're now dependencies in umbrella 2019-12-04 15:42:13 -05:00
isanae 9b8488fad3 Merge pull request #920 from isanae/double-click-previews
Double click previews
2019-12-04 13:30:46 -05:00
isanae 91b95d00a6 implemented previews on double-click for the data and conflicts tabs 2019-12-04 13:24:31 -05:00
isanae a0fa896e68 added open previews on double-click option
implemented for filetree
2019-12-04 13:23:02 -05:00
isanae b209a8e47f Merge pull request #919 from isanae/explore-stylesheets
Explore stylesheets
2019-12-04 13:22:29 -05:00
isanae dd6f0fed10 added explore button in the settings to open stylesheets folder
added stylesheets folder to the open folders button
moved "Open MO2 Logs folder" up to be with instance folders, removed "MO2" in the name
2019-12-04 12:00:54 -05:00
isanae 00adf2b551 Merge pull request #918 from isanae/filters-keyboard-nav
Keyboard nav for filter list, alternating row colors
2019-12-04 11:46:13 -05:00
isanae e263d3049a keyboard nav for filter list, alternating row colors 2019-12-04 11:43:36 -05:00
isanae 472aa02068 Merge pull request #917 from isanae/download-crash
Crash when starting multiple downloads with dialog boxes opened
2019-12-02 17:11:23 -05:00
isanae 8fb970faa3 fixed crash when starting multiple downloads with dialog boxes opened
fixed download manager dialog boxes not having a parent
2019-12-02 16:59:30 -05:00
isanae 3d434856ae Merge pull request #916 from isanae/tracked-filter
added "tracked on nexus" filter
2019-12-02 15:35:01 -05:00
isanae 2de015815c added "tracked on nexus" filter 2019-12-02 15:34:29 -05:00
isanae d5a4077a43 Merge pull request #915 from isanae/lock-hook-shell
Lock, hook, shell
2019-12-02 15:29:23 -05:00
isanae 3b78e436db double-click now opens files for the data tab, filetree and conflict lists 2019-12-02 15:18:55 -05:00
isanae 48fd9fd080 added "open with vfs" to the data tab
uniform order for file context menus
2019-12-02 14:50:01 -05:00
isanae 47b767ef2f added "open with vfs" to filetree 2019-12-02 14:36:09 -05:00
isanae d4172dc5f8 added "open with vfs" option to conflicts tab 2019-12-02 13:51:46 -05:00
isanae 2b4d792976 don't show the lock overlay for processes that are not hooked
starting exe from filetree is now hooked
usvfs progress dialog now on top of dialogs
2019-12-02 11:06:10 -05:00
isanae eabca00c35 Merge pull request #913 from isanae/negative-filters
Negative filters
2019-12-02 10:43:52 -05:00
isanae 3c25117fe1 three modes for separators, save state
renamed enumerators
2019-12-02 10:41:52 -05:00
isanae d2073ef2bd made all categories positive
fixed context menu sometimes appearing
2019-11-30 05:37:34 -05:00
isanae 7f4fce35f9 fixed separators option being used even without filters
changed filter list to use tristate items without selection
2019-11-30 05:23:22 -05:00
isanae 38d56ef831 fixed setting selection when checking for updates 2019-11-30 04:04:40 -05:00
isanae f080e2e25d always enable clear filter button, made it so it also removes not flags
removed "deselect filters" context menu, redundant
disable not flag menu items without selection
2019-11-30 03:39:12 -05:00
isanae 507d29a0fc fixed bad label for content categories 2019-11-30 03:29:54 -05:00
isanae a38d1723bf removed redundant categories now that there's a not filter
disabled collapsing for filter, there's already a button to hide it
2019-11-30 03:21:23 -05:00
isanae f463c54943 added context menu items so set/unset inverted flag 2019-11-30 03:02:11 -05:00
isanae ed14d5510d implemented not flag
moved stuff to CriteriaItem
fixed jumbled names in getSpecialCategoryName()
2019-11-30 02:20:18 -05:00
isanae e99dfe153c renamed filters to criteria
merged categories and content, they can be distinguished using the type
added a not flag for criteria, not used yet
2019-11-30 01:53:09 -05:00
isanae 93318a1474 moved all remaining filter stuff to FilterList
renamed some widgets
2019-11-29 23:50:33 -05:00
isanae 4bbdbb000f split filter list 2019-11-27 19:14:37 -05:00
isanae 8ea346183f renamed "Categories" frame to "Filters" 2019-11-27 17:53:26 -05:00
isanae 06bb9870dd fixed tooltips 2019-11-27 17:45:52 -05:00
isanae 9134ae6111 implemented not filter 2019-11-27 17:41:04 -05:00
isanae 17452071c9 added separators filter
changed notendorsed filter to include anything else than true
2019-11-27 17:30:30 -05:00
isanae ecaf75c453 refactored matching into one function instead of repeating them for OR and AND 2019-11-27 17:14:44 -05:00
isanae d5e38fca6b added not filter, not functional yet
fixed no mods being displayed for OR with no conditions
2019-11-27 17:05:20 -05:00
isanae fb3c15094f Merge pull request #911 from isanae/relative-path-in-exe
Allow relative paths for binaries in the executables settings
2019-11-27 16:39:27 -05:00
isanae d47fc5c973 allow relative paths for binaries in the executables settings
added SSAudioOSD.dll to checks
2019-11-27 16:37:58 -05:00
isanae aab91226b8 Merge pull request #910 from isanae/system-dir-checks
Added checks on startup for directories in program files
2019-11-27 16:06:03 -05:00
isanae 05759c4abc added checks on startup for directories in program files 2019-11-27 16:03:42 -05:00
isanae 23bfe4e9ff Merge pull request #909 from isanae/change-category-crash
Fix crash when changing categories on mods while a filter is selected
2019-11-27 15:16:58 -05:00
isanae 7f2d0e6722 fix crash when changing categories on mods when the "no categories" filter is selected 2019-11-27 15:15:27 -05:00
isanae 454c550b15 Merge pull request #908 from isanae/translate-link
Added transifex link in the settings
2019-11-27 14:24:14 -05:00
isanae 376f835edd added transifex link in the settings 2019-11-27 14:23:11 -05:00
isanae e18afba893 Merge pull request #907 from isanae/link-colors
Link colors
2019-11-27 14:19:20 -05:00
isanae 70e66802a2 changed labels that have links to new LinkLabel, removed hardcoded colors
changed the link colors on dark themes to something saner
2019-11-27 14:10:50 -05:00
isanae 892a19bfc6 Merge pull request #906 from isanae/various-fixes
Collection of small fixes
2019-11-27 12:45:55 -05:00
isanae 21cddd0ad3 changed mod name of unmanaged files from "data" to "<Unmanaged>" in the data tab and for the root item in the archives tab
log error when trying to open mod info for a managed file but the mod isn't found
2019-11-27 12:05:11 -05:00
isanae a5bd29f111 only default sort file trees if no setting was saved 2019-11-27 11:25:53 -05:00
isanae 146360542d Merge pull request #905 from isanae/cwd-fix
Fix zedit not starting
2019-11-27 10:30:02 -05:00
isanae a87874497a cwd was MO instead of binary if non was specified in the exe settings 2019-11-26 16:04:21 -05:00
isanae 9519bd6219 added open mod info to data tab context menu 2019-11-26 10:31:26 -05:00
isanae b8e1a45840 sortable filetree, remember settings 2019-11-26 10:05:48 -05:00
isanae f85478a5b4 fix sort in overwrite, remember settings
remove useless header in archives list
2019-11-26 10:00:37 -05:00
isanae 4db719a3bb don't log EPT_S_NOT_REGISTERED errors, treat it as firewall disabled 2019-11-26 09:19:36 -05:00
isanae c65fbcdb37 ignore some instance folders like "cache" and "qtwebengine" 2019-11-26 09:07:43 -05:00
isanae cde6137ca5 added loot to missing files check 2019-11-26 08:59:15 -05:00
isanae 9194bfa16b added option to hide confirmation when switching instances 2019-11-26 08:59:04 -05:00
isanae c3068ce50a added rivatuner to sanity checks
now also checks modules loaded after startup
fixed crash on w7 when checking some modules
2019-11-26 08:39:22 -05:00
isanae 2c2c47c215 log new modules being loaded after startup 2019-11-26 07:06:20 -05:00
isanae 08bf03854d removed useless logging about servers 2019-11-26 06:27:56 -05:00
isanae 637188a58b don't log md5 for any system file 2019-11-26 06:21:16 -05:00
isanae 7e1403dd28 simplified security products: don't log guids, remove duplicate entries 2019-11-26 06:18:13 -05:00
isanae e67381b4b8 log timezone 2019-11-26 06:14:13 -05:00
isanae 255f96ce7e only log crash dumps message on startup 2019-11-26 05:47:11 -05:00
isanae e845126e09 Merge pull request #904 from isanae/lock-job
Use a Job to capture all child processes
2019-11-26 04:57:20 -05:00
isanae 5fb785acee bumped to 2.2.2-alpha8 2019-11-26 04:05:11 -05:00
isanae 42fb0c6bfc ignore loot reports about disabled plugins 2019-11-26 03:50:15 -05:00
isanae a99dd1d6eb fixed timing crash when trying to update the lock ui after it was closed 2019-11-26 03:36:24 -05:00
isanae 2527d6aa87 switched to using a job object to monitor for processes so child processes can also be captured 2019-11-26 03:30:44 -05:00
isanae 36c6dfd5b8 Merge pull request #903 from isanae/loot-w7-fix
Fixes for windows 7
2019-11-25 09:28:09 -05:00
isanae bec1120693 removed calls to GetOverlappedResultEx() and SetThreadDescription(), not available on windows 7
bumped to alpha7.1
2019-11-25 09:26:46 -05:00
isanae 7380747ca9 Merge pull request #902 from isanae/loot-broom
Use the broom icon for dirty plugins
2019-11-25 05:35:37 -05:00
isanae 78ee23220f bumped to 2.2.2alpha7
use the broom icon for dirty plugins
better handling of failing to spawn loot
2019-11-25 05:31:28 -05:00
isanae 765c9667de Merge pull request #901 from isanae/loot-rework
Loot rework
2019-11-25 04:01:32 -05:00
isanae f1b621d0ba save/restore state for loot dialog 2019-11-25 03:34:51 -05:00
isanae bd191f3a71 now passes --language to lootcli 2019-11-25 03:28:27 -05:00
isanae 23e917df45 switched to overlapped io so lootcli can still be terminated even if it's not writing anything to stdout 2019-11-25 03:08:27 -05:00
isanae 0c69619dbe switched to named pipes 2019-11-25 02:10:59 -05:00
isanae 0e45044dbd fixed cancel button
debug logs, some cleanup
2019-11-25 00:47:45 -05:00
isanae 48fcf9521f removed max-width, larger dialog
removed messages in output now that there's a full report
2019-11-24 23:47:59 -05:00
isanae 64304a6368 tweaked css, finished markdown report
copy markdown.html to resources/
2019-11-24 23:23:15 -05:00
isanae 70ee786102 changed loot report to webengine with markdown support 2019-11-24 22:19:23 -05:00
isanae cd876a0f9f split loot dialog, added ui file 2019-11-24 20:11:50 -05:00
isanae f5476531ae basic html loot report 2019-11-24 19:39:26 -05:00
isanae 54b18e8815 added loot info to tooltip 2019-11-23 23:54:19 -05:00
isanae 3728db1527 removed m_ prefix from struct members
some refactoring, whitespace
2019-11-23 22:56:17 -05:00
isanae 3a085212c9 added loot report to the plugin list, not used yet
split PluginList::data() into individual functions
disabled loot message processing, will use report instead
2019-11-23 22:35:08 -05:00
isanae 5c9de17b63 rewrite of json report parsing
added json.h with some utilities
2019-11-23 22:08:53 -05:00
LostDragonist 5f165b80e8 Merge pull request #897 from LostDragonist/Develop
Sort the files when presenting them during querying info
2019-11-23 17:56:15 -07:00
LostDragonist d649a86195 Sort the files when presenting them during querying info 2019-11-23 17:53:31 -07:00
isanae 237825f5b6 emit logs for general messages
handle new json output file
2019-11-22 09:14:02 -05:00
isanae 0faf628e92 open json report button 2019-11-22 08:26:29 -05:00
isanae d05df3bb7c cancel/close button 2019-11-22 08:01:07 -05:00
isanae 8fcaea9de3 added loot log level option 2019-11-22 07:44:09 -05:00
Silarn 981c1b7739 Move all Qt deployment to main MO project 2019-11-19 14:42:50 -06:00
isanae 2b5747c19d handles changes in lootcli for a more formal communication protocol 2019-11-18 17:04:01 -05:00
isanae 27dadd0164 <li> in tooltip for information messages
rewrote json output file handling to check for errors
2019-11-18 13:32:33 -05:00
isanae 1b6dc5e0a0 moved things around 2019-11-18 11:15:09 -05:00
isanae d686a61a7a removed unused job stuff
don't emit error when the process terminates because it's cancelled
2019-11-16 23:05:24 -05:00
isanae b8eab5d248 threaded loot 2019-11-16 22:25:55 -05:00
isanae 9688f37bbe added loot output 2019-11-16 20:47:30 -05:00
isanae 272cb51483 added LootDialog, more flexible than QProgressDialog 2019-11-16 20:34:55 -05:00
isanae 838446e262 split loot stuff to loot.h/cpp, no changes in functionality 2019-11-16 19:41:17 -05:00
isanae d6c3bad01a Merge pull request #887 from isanae/spawning-and-waiting
Spawning, waiting and locking
2019-11-11 14:14:01 -05:00
isanae decd5c1828 renamed lockwidget files to uilocker 2019-11-06 07:45:04 -05:00
isanae 4f84565085 renamed LockWidget to UILocker
lock interface up to two processes
2019-11-06 07:45:03 -05:00
isanae 8f40ec0bdc threaded wait for process 2019-11-06 07:45:03 -05:00
isanae 96cc662b18 lock widget now moves between dialogs and the main window when closing dialogs 2019-11-06 07:45:03 -05:00
isanae 642ddacab8 moved LockWidget back to OrganizerCore to support having multiple locks active
moved the ui out of LockWidget into LockInterface
added LockWidget::Session to manage multi locks
2019-11-06 07:45:02 -05:00
isanae 3d0197fa5e comments 2019-11-06 07:45:02 -05:00
isanae ada2ac0cb5 removed redundant checkBinary(), which used to check for non existing binaries, that's handled when spawning
removed useless checkEnvironment(), which checked for EventLog
removed CREATE_BREAKAWAY_FROM_JOB from CreateProcess() calls, didn't do anything
fixed setFromFileOrExecutable() when running just a filename that's not an executable name
split run()
fixed lock widget being disabled when running without a ui
2019-11-06 07:45:02 -05:00
isanae 72dd230cdc removed unused files
fixed handle leak when starting steam
2019-11-06 07:45:01 -05:00
isanae 719a2f20b4 refresh ui after running an exe from 1) an external message, and 2) the data tab 2019-11-06 07:45:01 -05:00
isanae 7db5f93884 removed unused SpawnedProcess
lock widget now interprets closing the dialog as a forced unlock
2019-11-06 07:45:00 -05:00
isanae 7ebd4debee added a ForceWait flag to bypass disabled locking
merged a bunch of unnecessary functions in ProcessRunner
2019-11-06 07:45:00 -05:00
isanae 9ff8a471aa added waitForAllUSVFSProcesses() wrapper in OrganizerCore, the fact that it's in ProcessRunner is a bit of a hack 2019-11-06 07:45:00 -05:00
isanae d72e94a92f added attachToProcess(), made waitForApplication() private
changed OrganizerProxy::startApplication() so it _doesn't_ wait for completion, which is its original behaviour
2019-11-06 07:44:59 -05:00
isanae a88f9dd9a7 removed runExecutableOrExecutableFile()
log the actual spawning and requests to start as well as wait from plugins
raise the lock widget when it's a dialog
2019-11-06 07:44:59 -05:00
isanae b855754c97 removed runShortcut()
changed lock widget text when running without a ui
2019-11-06 07:44:58 -05:00
isanae 2c3079c1dc removed runExecutable() 2019-11-06 07:44:58 -05:00
isanae c8e101e19e removed runExecutableFile()
turns out on_startButton_clicked() had redundant code
2019-11-06 07:44:58 -05:00
isanae 0cea4833eb explicit refresh parameter for setWaitForCompletion(), some parts of the ui will crash if things refresh unexpectedly
removed runFile()
fixed crash when unlocking if some widgets were destroyed in the meantime
lock widget will now pick the active window and disable all top levels
2019-11-06 07:44:57 -05:00
isanae db0b92776b added lockwidget to replace all the other dialogs
rewrote ProcessRunner to have a bunch of setters and then a run()
fixed bad exit code when waiting on a process that's already completed
removed lock()/unlock() from main window, ProcessRunner is in charge of that now
2019-11-06 07:44:57 -05:00
isanae 2aa70de49e return failure if the user has unlocked in waitForApplication() 2019-11-06 07:44:56 -05:00
isanae f2cc71779f always wait until completion in waitForApplication(), regardless of lock setting 2019-11-06 07:44:56 -05:00
isanae b5a5ea1b4d recheck the process tree if the current process is not that interesting 2019-11-06 07:44:56 -05:00
isanae b05cbeed90 refactored waiting into waitForProcesses() 2019-11-06 07:44:55 -05:00
isanae 4d269c2e1a split to processrunner
added IUserInterface::qtWidget()
put back IUserInterface in OrganizerCore now that there's a way to get the widget
2019-11-06 07:44:55 -05:00
isanae 8c72077feb replaced uilock by a progress callback in spawn
waiting for process now gets the whole process tree to find an interesting process
2019-11-06 07:44:54 -05:00
isanae 18b438cf27 split to getRunningUSVFSProcesses()
simplified waitForAllUSVFSProcesses() to always get the list of running processes after one process completes
2019-11-06 07:44:54 -05:00
isanae bff5a22f48 spawning an executable now only waits for that particular process
added waitForAllUSVFSProcesses() to OrganizerCore, used when closing MO
2019-11-06 07:44:54 -05:00
isanae 8f24f6298f wait for executable when opening files 2019-11-06 07:44:53 -05:00
isanae 4e8dcc5157 moved findJavaInstallation() and getFileExecutionContext() to spawn
fixed env::get() returning garbage after value
2019-11-06 07:44:53 -05:00
isanae b60f2aa786 renamed startApplication() to runExecutableOrExecutableFile() 2019-11-06 07:42:57 -05:00
isanae e43500eaf5 renamed runExecutable() to runExecutablefile()
added runExecutable() for Executable class, also used by runShortcut()
2019-11-06 07:42:57 -05:00
isanae 4fb79cae45 renamed executeFileVirtualized() to runFile()
renamed spawnBinary() to runExecutable()
renamed spawnBinaryDirect() to spawnAndWait()
2019-11-06 07:42:56 -05:00
isanae 74631ae88e merged spawnBinaryDirect() and spawnBinaryProcess() 2019-11-06 07:42:56 -05:00
isanae d91580cc26 initial Spawner and SpawnedProcess
added steam app id to spawn parameters
removed threadHandle, unused
moved most of the stuff from OrganizerCore::spawnBinaryProcess() to Spawner
replaced m_UserInterface by m_MainWindow
2019-11-06 07:42:56 -05:00
isanae 7b3c5dcbb3 Merge pull request #885 from isanae/usvfs-parameters-mutex
Crash dump path and toString()
2019-11-06 06:36:11 -05:00
isanae 33f5b59bee added crash dump path to parameters, if a mechanism to customize it is ever created
moved toString() for log level and dump type to usvfs, which needs them for logging
2019-11-01 10:14:17 -04:00
isanae aa582ab376 Merge pull request #884 from isanae/failed-to-receive-fix
Fix for "failed to receive data from secondary instance"
2019-10-31 09:09:00 -04:00
isanae a523a0b21b make sure all the data is sent before disconnecting
don't fail if waitForReadyRead() returns false but there's data available
2019-10-31 09:06:09 -04:00
LostDragonist 70b966dc0e Improve automatic naming of new executables
When using the "Add from file..." option, the extension will be removed.
E.g., "zEdit 1.2.3.exe" will be shortened to "zEdit 1.2.3".

When using the "Add empty" option and subsequently browsing for a binary,
the complete base name will be used instead of just the base name.  E.g.,
"zEdit 1.2.3.exe" will be shorted to "zEdit 1.2.3" instead of "zEdit 1".

When using the "Add as Executable" option of the data tab, the complete
base name will be used instead of just the base name.  E.g.,
"zEdit 1.2.3.exe" will be shorted to "zEdit 1.2.3" instead of "zEdit 1".
2019-10-22 23:32:28 -05:00
LostDragonist 741893c735 Update version to 2.2.2alpha5 2019-10-19 20:46:22 -05:00
Silarn 77a9c64fda Add button in modinfo image preview to use preview plugin dialog
- Disabled if no compatible preview is found
- Now renders an image for unsupported formats instructing the user
2019-10-19 02:35:33 -05:00
LostDragonist d255be54a0 Merge pull request #878 from LostDragonist/Develop
Remove mention of 32-bit Java
2019-10-18 19:07:06 -05:00
LostDragonist 09450f744b Remove mention of 32-bit Java
MO doesn't really care about which version of Java is installed.
Saying that 32-bit Java is required is misleading.
2019-10-18 19:06:11 -05:00
LostDragonist 133dc3b7a3 Merge pull request #876 from LostDragonist/Develop
Improve selection of mod ID when querying info
2019-10-18 19:00:48 -05:00
LostDragonist e3629c193a Improve selection of mod ID when querying info
The mod ID selection was fairly unreliable when the mod author decided
to use certain values in the mod name or filename.  A filename of
"K-9 - Armor-1-2-3" would automatically set the mod ID to 9 with no
chance for the user to correct it.  Other filenames would only present
2 choices of mod ID to the user, neither being correct.

The primary intent of this change is to present the user with all the
numbers found in the filename as options for the mod ID.  This should
allow the correct mod ID to be easily chosen in all cases.
2019-10-18 14:55:33 -05:00
LostDragonist a8d329a510 Merge pull request #872 from LostDragonist/Develop
Only flag plugins as light if the game supports light plugins
2019-10-15 16:26:53 -05:00
LostDragonist c0afb8c673 Only flag plugins as light if the game supports light plugins 2019-10-15 16:24:10 -05:00
isanae ca7aba129e Merge pull request #870 from isanae/clone-fix
Fixed exe cloning
2019-10-14 08:57:07 -04:00
isanae 20c7b2f498 title wasn't always trimmed, did all sorts of weird things 2019-10-14 04:45:46 -04:00
isanae 6c881c8502 Merge pull request #869 from isanae/loot-fix
Fixed loot not being hooked, bumped to alpha 4.1
2019-10-12 19:12:56 -04:00
isanae 0b480089c3 fixed loot not being hooked
bumped to alpha 4.1
2019-10-12 19:11:46 -04:00
isanae 56ae2bc24d Merge pull request #866 from isanae/new-usvfs-parameters
Uses new usvfsParameters, also updates spawn delay
2019-10-11 09:30:46 -04:00
isanae b7d83a30de Merge pull request #867 from isanae/missing-boss-button
Fixed missing sort button
2019-10-10 11:57:25 -04:00
isanae 1aa3e1f96c visible property was false 2019-10-10 11:48:41 -04:00
isanae 324fa12a2d uses new usvfsParameters, also updates spawn delay 2019-10-10 10:25:46 -04:00
isanae 168fc950f9 Merge pull request #863 from isanae/executables-fixes
Executables fixes
2019-10-10 06:12:07 -04:00
isanae 0f5ecb8b78 Merge pull request #864 from isanae/show-usvfs-version
Added usvfs version in log and about dialog
2019-10-10 06:10:19 -04:00
isanae dfb3020f89 added usvfs version in log and about dialog 2019-10-09 01:38:53 -04:00
isanae c01e80a651 Merge pull request #858 from isanae/proper-exit
Proper exit procedure
2019-10-08 23:24:53 -04:00
isanae 4d3495b3fb theme fixes for QToolButton with a menu 2019-10-08 23:17:48 -04:00
isanae 21f55da7d3 added hide flag to executables 2019-10-08 23:03:45 -04:00
isanae de48d430ec fixed tab order
fixed list items being selected, but not focused, which broke keyboard nav
2019-10-08 19:55:44 -04:00
isanae 0ea975248b remove separators and backups from mod list in the edit executables dialog 2019-10-08 19:38:56 -04:00
isanae 52db7e8c7d initial selection in the edit executables dialog from main window 2019-10-08 19:20:08 -04:00
isanae 8bc84a1513 remove whitespace from executable names
add from binary, clone
2019-10-08 19:08:55 -04:00
isanae b4f5c17898 disallow empty titles 2019-10-07 07:41:13 -04:00
isanae 94b40b328b Merge pull request #859 from isanae/usvfs-delay-parameter
Added spawn delay setting, not exposed
2019-10-07 07:13:27 -04:00
isanae a082c029b2 added spawn delay setting, not exposed 2019-10-07 07:04:56 -04:00
isanae 3d97b0efd0 added ExitModOrganizer(), used instead of qApp->exit()
reset geometry uses TaskDialog
moved restart code for the settings dialog to MainWindow
fixed settings sometimes not being saved when restarting
don't log "crash dumps present" every time the settings dialog is closed
2019-10-07 04:27:53 -04:00
isanae 4dbd541286 Merge pull request #857 from isanae/auth-warnings
Some warnings on authentication
2019-10-07 03:28:36 -04:00
isanae f10e91528b remaining requests can be 0 if not logged in, would show incorrect throttling message
validation dialog could pop even if logged in
typos in comments
2019-10-07 03:26:20 -04:00
isanae 96c3193256 Merge pull request #856 from isanae/profile-settings-fix
Removed some ambiguous overloads for settings
2019-10-07 02:32:56 -04:00
isanae 85f1635d2d Merge pull request #855 from isanae/context-menu-log-toggle
Log toggle in context menu
2019-10-07 02:31:42 -04:00
isanae 7fae2fb9f1 Merge pull request #854 from isanae/categories-collapse-fix
Categories panel collapsing
2019-10-07 02:31:07 -04:00
isanae 97d58a17bd Merge pull request #853 from isanae/validation-progress-dialog-fixes
Validation progress dialog fixes
2019-10-07 02:28:34 -04:00
isanae c9e8e71b93 removed some ambiguous overloads for settings 2019-10-07 02:23:28 -04:00
isanae ef993a693c stop reusing the view menu, just create a new context menu with the right stuff in it 2019-10-05 14:36:07 -04:00
isanae c28d435ed4 showEvent() is called for stuff like minimizing and restoring the window, don't re-read settings for that 2019-10-05 14:17:04 -04:00
isanae 925dbcba87 at least put one message in the list when opening the dialog to avoid having an empty widget 2019-10-05 13:52:04 -04:00
isanae e7cc4774e1 don't show the progress dialog on startup until after the first failure 2019-10-05 13:47:11 -04:00
isanae 8269ac1b48 rework of the nexus key validator to allow multiple attempts before failing 2019-10-05 13:36:27 -04:00
isanae fc909d4b2e implemented cancel button on progress dialog
fixed crash when exiting MO because the dialog is destroyed in atexit(), way after Qt is gone
2019-10-05 10:41:23 -04:00
isanae 3fe54c8431 now using ui file for validation progress dialog
moved elapsed timer to NexusKeyValidator, progress dialog now just shows what the validator is doing, which allows for hiding and showing it at any time
recreate the dialog when the parent changes, avoids theme errors
2019-10-05 10:11:55 -04:00
isanae 73556ad084 Merge pull request #852 from isanae/symlinks-log-only
Symlinks warning
2019-10-05 08:55:25 -04:00
isanae 76df854483 only log a warning for symlinks instead of exiting MO
added logs: when dmp files are present, for portable instances, and the ini path
clear the log widget when switching instances
2019-10-05 08:53:31 -04:00
isanae 605b669bed Merge pull request #851 from isanae/api-visible-at-startup
Check the api setting on startup to hide it if needed
2019-10-05 08:33:07 -04:00
isanae 4921d2a0dd Merge pull request #850 from isanae/blocked-files
Blocked files
2019-10-05 08:33:01 -04:00
isanae c4d96ed8cf check the api setting on startup to hide it if needed 2019-10-05 08:30:58 -04:00
isanae 93423f6351 don't log "(no guid"), happens all the time for the windows firewall 2019-10-05 08:21:59 -04:00
isanae 1467cb9955 sanity checks: comments, more debug logging 2019-10-05 08:11:12 -04:00
isanae 897d315359 fixes for VS preview: missing namespace, missing setting() with two parameters 2019-10-05 07:38:14 -04:00
isanae 1dc3962199 changed some of blocked files logging 2019-10-05 07:05:47 -04:00
isanae 633ef81972 moved checks to sanitychecks.cpp
added check for blocked files, only logs
2019-10-05 07:05:47 -04:00
Al 8aa298b606 Merge pull request #849 from Al12rs/more-filters
Added "No valid game data" and "No Nexus ID" filters as per #295
2019-10-04 22:17:01 +02:00
Al e427dbae55 Merge pull request #847 from isanae/file-renamer-errors
FileRenamer error messages
2019-10-04 22:16:39 +02:00
Al 73541c9bb4 Merge pull request #846 from isanae/tr-archive-errors
Made extraction errors translatable
2019-10-04 22:16:17 +02:00
Al 0ff1da60b1 Merge pull request #845 from isanae/plugin-tooltips
Tooltips in plugin list
2019-10-04 22:15:49 +02:00
Al 49e19c8185 Added "No valid game data" and "No Nexus ID" filters as per #295 2019-10-04 17:18:06 +02:00
isanae daa0b4b339 forgot one tr() 2019-10-04 10:47:42 -04:00
isanae c4dd23abb7 added error messages to FileRenamer and a few more
fixes for shell functions changing names
2019-10-04 09:40:37 -04:00
isanae 88ff7bb372 made extraction errors translatable 2019-10-04 07:45:59 -04:00
isanae c17b0829dc emblemes -> emblems 2019-10-04 07:14:30 -04:00
isanae 27aec50c25 added tooltip for flags, reworded those copy/pasted from the mod list 2019-10-04 07:11:50 -04:00
isanae 2fe50f2ff3 Merge pull request #842 from isanae/dialog-settings
Dialog settings
2019-10-04 06:30:15 -04:00
isanae 239cfbe685 explicit tab order, seems to fix hang when switching tabs 2019-10-04 06:29:23 -04:00
Al e6a47bf8b7 Preemptively bump version to alpha build 3 so I don't forget next time. 2019-10-03 01:20:38 +02:00
isanae 75941afd34 fixed checkboxes not being set when opening the settings dialog 2019-10-02 18:28:31 -04:00
Al 17ebbc30c5 Set Plugins tab as default tab again after last commit. 2019-10-02 23:35:51 +02:00
Al b389161077 Made categories section (filters) resizable via a splitter. Correctly handled hiding and unhiding as well as saving the state between sessions. 2019-10-02 23:06:35 +02:00
Jeremy Rimpo ae55d08041 Capitalize the org name 2019-10-01 14:32:46 -05:00
Chris Djali de8b2883ed Add link to new DDS preview plugin 2019-10-01 12:58:40 +01:00
LostDragonist 8e3af100f9 Fix help text for optional ESP deactivate button 2019-09-28 17:01:42 -05:00
LostDragonist a7afc1664c Merge pull request #844 from LostDragonist/Develop
Fix md5 hashing for large download files
2019-09-28 08:13:42 -05:00
LostDragonist 4fe267b6b4 Fix md5 hashing for large download files
Previously, the md5 hashing was broken for download files larger
than about 2GB.  This was due to the maximum size of a QByteArray.
The hashing was broken up into 10MB chunks to correct this issue.

Additionally, a progress bar was added as hashing large files would
lock up the GUI.
2019-09-28 08:11:29 -05:00
isanae ec48a6d796 a few comments for ColorTable 2019-09-27 15:26:00 -04:00
isanae 51d664d76c moved color stuff to ColorTable, now shows sample text and icons 2019-09-27 15:20:02 -04:00
isanae 5d74bd3789 refactored addLanguages() a bit
changed some of the tooltips
2019-09-25 19:32:53 -04:00
isanae 8237a1c47f use QStyleFactory to get default styles instead of hardcoding them
don't display extensions in style combobox
2019-09-25 18:39:37 -04:00
isanae 01b2a8201d replaced color buttons by a QTableWidget 2019-09-25 18:24:08 -04:00
isanae 088f27fe48 changed the layout of the general settings tab
added option to disable checking for updates
removed online check, just try it and see
2019-09-23 19:10:19 -04:00
isanae 200b5283eb added center dialogs option
moved download list options to their own group box
renamed confusing "Download Meta Information" to "Show Meta Information"
2019-09-23 18:21:39 -04:00
isanae 829124d8b8 ensure windows are on screen 2019-09-23 17:52:46 -04:00
Al d0099f577e Changed label of executable dialog to be more clear about application icons. 2019-09-23 17:40:09 +02:00
isanae 5044a6cd2c Merge pull request #839 from isanae/even-more-logging
Even more logging
2019-09-22 15:14:53 -04:00
isanae c1a5f2ef73 refactored getSecurityProductsFromWMI() to stop using a lambda
security products now only need a guid, handles failures better
2019-09-21 21:27:45 -04:00
isanae 2feaed68b4 missing period 2019-09-20 01:19:01 -04:00
isanae b455659114 registry details when steam fails to start
typos
2019-09-20 00:45:22 -04:00
isanae 54871e7b56 added details to blacklist dialog 2019-09-19 17:14:09 -04:00
isanae 94b0c46342 TaskDialog for blacklisted, with button to change the blacklist 2019-09-19 17:10:30 -04:00
isanae cbfd3692ce TaskDialog for event log not running 2019-09-19 16:41:36 -04:00
isanae f92e2c376d TaskDialog for restarting as admin for steam
added a parent widget parameter to a bunch of places
fixed paths still getting changed even if folders can't be created
made private the member variables that were temporarily public during rework
2019-09-19 16:27:41 -04:00
isanae 9bac57e3e8 steam confirmation now using TaskDialog
fixed dialog choices not remembering files
2019-09-19 15:03:03 -04:00
isanae a5db7ed864 added Settings::isExecutableBlacklisted()
moved blacklisted confirmation to dialogs
2019-09-19 11:23:21 -04:00
isanae 8bc67a86d6 moved event log warning to dialogs 2019-09-19 11:17:52 -04:00
isanae c1ab18b614 moved the content of checkService() to env::getService(), refactored it 2019-09-19 11:14:14 -04:00
isanae c50722100c removed helper.h and helper.cpp, merged into spawn 2019-09-19 10:11:56 -04:00
isanae c603681115 moved helper stuff to spawn so it can reuse error handling
removed unused helper::init()
removed logging when deleting a credential that doesn't exist, happens all the time
2019-09-19 10:07:52 -04:00
LostDragonist f69559fe0b Update version to 2.2.2alpha1 2019-09-18 15:31:43 -05:00
LostDragonist 7f857711ce Merge pull request #837 from LostDragonist/Develop
Add translation to "New Executable"
2019-09-17 00:21:48 -05:00
LostDragonist ea20335240 Add translation to "New Executable" 2019-09-17 00:19:12 -05:00
LostDragonist 795d47e6ab Merge pull request #836 from LostDragonist/Develop
Automatically fill in the name of new executables
2019-09-17 00:08:58 -05:00
LostDragonist 1fec9da2d3 Automatically fill in the name of new executables
When the binary browse button is used to select a binary, this
will use the binary name to fill in the executable name if the
previous executable name stated with "New Executable".
2019-09-17 00:08:11 -05:00
LostDragonist 11bf4499c0 Merge pull request #835 from LostDragonist/Develop
Add placeholder text to notification dialog
2019-09-16 18:12:50 -05:00
LostDragonist 0ecac8f4c4 Add placeholder text to notification dialog
A lot of new users miss the fact you can click on a notification
to get more details about that notification.  This directs them
to click on stuff.
2019-09-16 16:45:11 -05:00
LostDragonist 0d6eb8bd4c Merge pull request #831 from LostDragonist/portable_lock
Add portable lock feature
2019-09-16 16:32:37 -05:00
isanae 09b95e3943 moved all spawn dialogs into a namespace
starting steam with spawn() instead of QProcess
dialogs for bad steam registry key and failure
refactored credentials code, added logging
add environment variables to env
2019-09-13 15:15:18 -04:00
isanae b867b0bccd refactored steam handling 2019-09-12 03:49:17 -04:00
isanae ac6bc5fd01 testForSteam() now uses env to get processes
moved processes from env.cpp to envmodule.cpp, merged what crash dumps did with what was in testForSteam()
2019-09-12 02:45:03 -04:00
isanae bf3d752780 made SpawnParameters public, changed to Qt types
removed 'suspended', not used
2019-09-12 01:48:48 -04:00
isanae 971cecf343 split spawnBinaryProcess() into spawn, no changes 2019-09-12 01:09:40 -04:00
isanae 0015a12cf8 rewritten spawn() to use std::wstring instead of manual buffers
error dialogs now use TaskDialog with more user-friendly text
2019-09-11 23:36:13 -04:00
isanae 06218502ed fixes for ExpanderWidget
removed dead code in MainWindow
2019-09-11 23:34:54 -04:00
isanae 09f98576e8 added env::getFileSecurity()
Environment gets stuff on demand
2019-09-11 23:33:23 -04:00
isanae 9c59c739d4 moved ExpanderWidget to uibase 2019-09-11 23:32:32 -04:00
LostDragonist 4d9c1db885 Add portable lock feature
If the file "portable.txt" is present in the application directory,
MO will force itself to be launched as a portable instance.  The
change game button and menu item are hidden to prevent the user
from changing out of the portable instance.
2019-09-11 11:45:32 -05:00
isanae 61956802b1 now logs in utc, added year to avoid confusion 2019-09-09 04:24:12 -04:00
isanae 635c0b7a06 log line and line number when there's an error with the locked order file 2019-09-09 03:24:09 -04:00
isanae 12e1a91e4f log desktop geometry
log more info on game plugin
2019-09-09 01:32:12 -04:00
isanae e08e605c85 added missing include guards
log free space on drives involved in paths
2019-09-09 01:32:12 -04:00
isanae 99fdbb2539 Merge pull request #830 from isanae/settings-interface
Settings interface
2019-09-09 01:25:01 -04:00
isanae d863e62c6e really remove ask_for_nexuspw, the 2.2.0 update code was using the wrong section 2019-09-08 08:09:38 -04:00
isanae da212968ca change the old servers map while processing updates instead of on-demand
statusbar_visible is not used anymore
2019-09-08 03:10:43 -04:00
isanae 4df40baea6 clean up old settings when updating 2019-09-08 01:23:17 -04:00
isanae c9397c3909 more documentation for settings
removed unused automaticLoginEnabled()
2019-09-08 00:53:10 -04:00
isanae 2a2af36a38 documentation for settings
renamed some PluginSettings members and moved them around
2019-09-08 00:27:45 -04:00
isanae 7f0fa1069f don't log widget and geometry setting changes
fixed mod info dialog tab order using different settings for read and write
mod info dialog now doesn't complain when no tab order exists in the settings
only remove section when the array is larger, prevents logging changes when nothing actually changed
2019-09-02 16:09:31 -04:00
isanae 209c27c7a2 only remove section when the array is larger, prevents logging changes when nothing actually changed
changed back section names that were originally lowercase, arrays end up in two different sections
2019-09-02 15:47:21 -04:00
isanae 3757aa3f53 split into settingsutilities 2019-09-02 15:07:35 -04:00
isanae e9dba260cb split settings into a bunch of classes
removed "get" from the getters that had it
2019-09-02 14:52:02 -04:00
isanae ec3fb7b350 removed duplicate useProxy()
use dedicated functions to set, get or remove settings, allows for logging
2019-09-02 12:56:50 -04:00
isanae 57bef2ab8d removed directinterface 2019-09-02 09:38:21 -04:00
isanae ca2a7da3f6 moved workarounds to settings 2019-09-02 09:35:11 -04:00
isanae a174d4a2aa moved plugins to settings 2019-09-02 09:22:45 -04:00
isanae 8708265f69 moved setting paths to Settings 2019-08-26 04:52:15 -04:00
isanae 2eee72da68 moved code for byte sizes and speed to uibase
added scoped classes for QSettings groups and arrays
servers logged on startup
2019-08-26 04:21:06 -04:00
isanae c42e5fb2fe changed total speed and count to a list of the last 5 downloads
existing servers now merged when retrieving the download links
download manager doesn't store the servers any more, queries the settings every time
2019-08-26 03:01:55 -04:00
isanae 896d80d02c server settings converted to array instead of byte array map
moved cleanup to ServerList
2019-08-26 01:31:56 -04:00
isanae aff3ee8fcf moved preferred servers into ServerList 2019-08-26 01:07:03 -04:00
isanae 36dbb4bad7 ServerList instead of a QList of ServerInfo
changed preferred to an int
moved all server settings to Settings
2019-08-26 00:48:25 -04:00
isanae 7395fbb754 made ServerInfo a class
moved server functions together in Settings
2019-08-26 00:21:41 -04:00
isanae b1687380c5 moved more nexus stuff to settings
settings tab remembered
2019-08-26 00:01:07 -04:00
isanae 4f1b15f0a1 changed crash dump type to use enum instead of int
added ColorSettings
settings dialog general and diag tabs don't use qsettings anymore
removed logging of setting changes, will be added back to Settings class
2019-08-24 16:07:07 -04:00
isanae baa32b99f5 finished moving mod info dialog directinterface to settings 2019-08-24 13:10:50 -04:00
isanae 0f712305c8 added settings for QTabWidget, checkable QAbstractButton and ExpanderWidget
removed directInterface() from mod info conflicts
2019-08-24 13:04:10 -04:00
isanae 2ffad7edf2 made member variables in SettingsTab private, added accessors
SettingsDialog now uses GeometrySaver
2019-08-17 13:20:53 -04:00
isanae dfa15218f3 passes callbacks to QuestionBoxMemory so it doesn't access the ini directly
fixed selected executable being empty after closing the edit dialog
put backup_install inside Settings
2019-08-17 12:42:27 -04:00
isanae 7cc5f22052 put tutorials in the settings
finished moving endorsement to settings
2019-08-17 08:27:13 -04:00
isanae d9cb15f1d1 put endorsement state and first start in settings 2019-08-17 07:42:37 -04:00
isanae 965eccb328 merged DockFixer into GeometrySettings
added combobox index to settings
2019-08-16 10:29:42 -04:00
isanae 0374291a34 StatusBar now inherits from QStatusBar to handle hide/show events
merged settings into saveVisibility() and restoreVisibility()
call MainWindow::storeSettings() earlier so widget visibility is still valid
2019-08-16 09:00:31 -04:00
isanae a5cb39aaf4 moved all geometry save, restore and reset to GeometrySettings
changed reset button in settings to restart immediately
2019-08-16 08:02:14 -04:00
isanae 3f487a5a6c merged toolbars into restoreToolbars() and saveToolbars()
added centerOnMainWindowMonitor(), now also used by validation dialog
added overloads for splitter, used by main splitter
fixed saveState() for QMainWindow calling the wrong function
2019-08-16 07:03:52 -04:00
isanae 799ddb1b24 added GeometrySaver
removed widget-specific functions in GeometrySettings, now using generic functions in Settings
removed some unused member variables in MainWindow
2019-08-16 06:03:05 -04:00
isanae 73626b2979 Merge pull request #817 from erri120/patch-1
Updated string of the hideAPICounterBox
2019-08-15 03:52:37 -04:00
erri120 3ca0a9fe1e Updated string of the hideAPICounterBox
The api counter box is in the bottom right corner since the last update. This change reflects that.
2019-08-14 15:38:31 +00:00
isanae 4d4f25d177 moved getting and setting executables to Settings 2019-08-05 13:10:21 -04:00
isanae ab14a8bac3 moved recent directories to Settings
use global cache variable instead of an instance inside a function
2019-08-04 07:51:12 -04:00
isanae 89415ca5c3 moved geometry handling to PreviewDialog
fixed dialogs not having a parent
2019-08-04 07:32:12 -04:00
isanae 4c6ccb3845 geo already saved by ListDialog 2019-08-04 07:20:30 -04:00
isanae ea3840a39d removed registerWidgetState(), was used just for header list headers, now saved and restored directly 2019-08-04 07:14:06 -04:00
isanae f387a670d1 moved mod list stuff to setupModList(), no changes 2019-08-04 06:58:15 -04:00
isanae 3d86f150ca moved geometry handling to ProblemsDialog and CategoriesDialog 2019-08-04 06:30:37 -04:00
isanae 61ad96cb54 moved geometry handling to ListDialog 2019-08-04 06:09:48 -04:00
isanae 37502f3884 removed convertVariant(), turns out value() does it
separator colors to settings
2019-08-04 06:09:48 -04:00
isanae cc3a16c6e9 moved geometry handling to mod info and overwrite dialogs 2019-08-04 06:09:48 -04:00
isanae 7eed0450e8 moved geometry handling to ProfilesDialog 2019-08-04 06:09:48 -04:00
isanae e40245abf4 moved geometry handling to EditExecutablesDialog itself 2019-08-04 06:09:48 -04:00
isanae e4418b95fa moved settings updates to Settings::processUpdates() 2019-08-04 06:09:48 -04:00
isanae 07f1ac7a96 split into GeometrySettings
removed most of storeSettings() from OrganizerCore: QSettings handles saving by itself, no need for that
removed topLevelSplitter from ui, unused since the log widget is in a dock
removed QSettings from MainWindow::readSettings()
replaced return values for some of the new getters in Settings to std::optional
2019-08-04 06:09:48 -04:00
isanae b6b01a52db removed mentions of QSettings from main.cpp
added necessary member functions in Settings
2019-08-04 06:09:47 -04:00
isanae a7df11a31d Merge pull request #808 from isanae/settings-rework
Settings rework
2019-08-03 09:31:19 -04:00
Jeremy Rimpo 80dd9222f3 Merge pull request #809 from isanae/logging-fixes
Logging fixes
2019-08-02 13:36:32 -05:00
isanae 5e98855847 create log directory sooner to handle creating new instances
reset the log file in case MO is restarted and the previously selected instance is deleted
switched back to single `mo_interface.log` file
2019-08-02 07:01:06 -04:00
isanae 712c8687c2 changed old whatsthis for prerelease
apparently, QFontMetrics::width() is deprecated
2019-08-02 05:33:57 -04:00
isanae 4099efcb5b rebased to new logging 2019-08-02 03:06:59 -04:00
isanae ee43c40598 removed obsolete load mechanisms 2019-08-02 03:06:59 -04:00
isanae a05862aaa1 cleaned up includes
removed commented out code
reordered member functions in Settings
2019-08-02 03:06:59 -04:00
isanae 107b396902 moved tabs to SettingsDialog
removed Settings::query(), main window now deals with SettingsDialog directly
2019-08-02 03:06:59 -04:00
isanae e8d7930eda split diagnostics tab
fixed log and crash dump directory links in label not working
2019-08-02 03:06:59 -04:00
isanae e4dcdb01ac split workarounds tab 2019-08-02 03:06:59 -04:00
isanae 55eafd62dd split plugins tab 2019-08-02 03:06:58 -04:00
isanae d91d0caba5 removed incorrect warning that steam password is unencrypted
split steam tab
2019-08-02 03:06:58 -04:00
isanae af95b3b863 renamed tab classes, clashing with mod info dialog
split nexus tab
2019-08-02 03:06:58 -04:00
isanae 0a5ce34b1a split paths tab 2019-08-02 03:06:58 -04:00
isanae 6b5c9675ae moved SettingsTab out of Settings
split general tab
2019-08-02 03:06:58 -04:00
Jeremy Rimpo cff526415d Merge pull request #807 from isanae/logging-rework
Logging rework
2019-08-02 01:49:33 -05:00
Jeremy Rimpo bdf45aea69 Merge pull request #806 from ModOrganizer2/qt-5.13
Qt 5.13
2019-08-02 00:33:02 -05:00
isanae e4cf2c314d missing bracket 2019-08-01 22:50:42 -04:00
isanae 9aa7a5a366 renamed log actions 2019-07-22 07:39:53 -04:00
isanae 6f1a8f5b7a added clear option to log list 2019-07-22 07:39:53 -04:00
isanae 3c7712a32d moved setLogLevel() to OrganizerCore
moved context menu to LogList
2019-07-22 07:39:53 -04:00
isanae 5304d52f93 removed some useless logging
initializing usvfs logging now logs strings for log level and crash dump type
2019-07-22 07:39:53 -04:00
isanae f49efd6d44 replaced formatSystemMessageQ() with formatSystemMessage()
replaced windowsErrorString() with formatSystemMessage()
2019-07-22 07:39:52 -04:00
isanae b3d0ddb0b7 changed qDebug() to log::debug()
removed some commented out logging
2019-07-22 07:39:52 -04:00
isanae e071dfdfaa changed qCritical() to log::error()
removed now unused vlog()
2019-07-22 07:36:38 -04:00
isanae aae6d6a5aa replaced qWarning() 2019-07-22 07:34:53 -04:00
isanae f13f5e21c4 replaced qInfo() with log::info() 2019-07-22 07:33:38 -04:00
isanae d8760ed8ad refactored Metrics and Display, no change in functionality 2019-07-22 07:33:38 -04:00
isanae b2a1e1391f split env 2019-07-22 07:33:38 -04:00
isanae f95479b981 log guid for security products 2019-07-22 07:33:38 -04:00
isanae c84240b759 only display "inactive" for security products 2019-07-22 07:33:38 -04:00
isanae 20ac714bf8 fixed bad compare for nahimic
log displays on startup
2019-07-22 07:33:38 -04:00
isanae 2ef32d1230 moved environment dump to member function
added check for nahimic
2019-07-22 07:33:38 -04:00
isanae 35ae099d3f check for files likely to be eaten by an AV on startup 2019-07-22 07:33:38 -04:00
isanae eb190380e3 dump executables on startup 2019-07-22 07:33:38 -04:00
isanae 28c46eed91 reversed log level menu actions to fit settings combobox
replaced qWarnings() and qCritical()
2019-07-22 07:33:38 -04:00
isanae 3bf7717c0a moved Settings out of OrganizerCore so it can be created by itself to access settings early
set log level on startup
replaced more qDebug()
2019-07-22 07:33:38 -04:00
isanae 4dfaa363c0 logging initialized early, log file set later
replaced a few qDebug()
2019-07-22 07:33:38 -04:00
isanae ad77e315f5 moved Console to util 2019-07-22 07:33:38 -04:00
isanae bca6283311 use log::Levels instead of ints
create log level combobox in code, set selected index based on value instead
added log level to context menu in log list
2019-07-22 07:33:37 -04:00
isanae d1b4dec8ad moved setup to new LogList class 2019-07-22 07:33:37 -04:00
isanae 6217f910f0 renamed logbuffer files to loglist 2019-07-22 07:33:37 -04:00
isanae 54d98e2917 removed unused or redundant stuff in error_report.h
renamed log() to vlog() for now
extracted console creation to Console class
rewrote LogBuffer to work with logging from uibase, renamed to LogModel
added fmt dependency
2019-07-22 07:33:37 -04:00
isanae bc9f286bce moved the log to a dock widget
added a menu item in the view menu for it
2019-07-22 07:32:56 -04:00
Jeremy Rimpo 1f1b838c2b Merge pull request #796 from isanae/login-progress-dialog
Nexus login progress dialog and Nexus settings
2019-07-22 01:02:21 -05:00
isanae 2d78957c3d changed message when opening browser 2019-07-14 17:20:53 -04:00
isanae b69b3e5e47 removed already commented out code:
don't resend the guid and token, nexus never answers with the api key, just create a new request every time
2019-07-12 03:24:05 -04:00
isanae 45daaec7aa removed useless flags, they were only used by settings 2019-07-12 03:09:03 -04:00
isanae 45f0a9e78a nexus info and stats in settings
cleaned up double logging for github
reset validation progress dialog parent just before the main window dies
removed unused APIStats from APIUserAccount, added isValid()
2019-07-12 02:46:31 -04:00
isanae be1ee2a97c refactored state messages 2019-07-11 05:49:12 -04:00
isanae 226372dba2 api key validator in settings 2019-07-11 05:33:35 -04:00
isanae c0a52bc1ca extracted api key validator from NXMAccessManager
api key now part of ApiUserAccount
2019-07-11 05:06:42 -04:00
isanae ad29525e98 moved NexusSSOLogin to nxmaccessmanager
added logs for manual key validation, will need to rewrite a few things
2019-07-11 02:31:59 -04:00
isanae 5e5681709a reworked the nexus connection panel
moved most of the stuff into a new NexusSSOLogin class
2019-07-11 01:55:31 -04:00
isanae f44663d795 handle context menu on pending downloads 2019-07-10 21:43:31 -04:00
isanae fa66028161 dialog should be on the heap, gets deleted by the main window 2019-07-10 20:45:37 -04:00
isanae d9003f9e54 made ValidationProgressDialog a QDialog to handle close events
allow hiding dialog and make it appear again if needed
don't use an event loop in validated(), it causes all sorts of problems because it can be reentrant if another logged in action is done while the dialog is visible
2019-07-10 20:45:37 -04:00
isanae 89d0528a00 progress dialog now shows elapsed time in progress bar 2019-07-10 20:45:37 -04:00
isanae ea7ad772bb moved progress dialog to its own class 2019-07-10 20:45:37 -04:00
isanae c38e864c92 set the progress dialog's parent to main window as soon as it's available 2019-07-10 20:45:37 -04:00
isanae 724945ab33 removed useless validationFailed() callback in MainWindow
moved the log that was in it to organizer core
2019-07-10 20:45:37 -04:00
Silarn 2b213fe7ce Merge branch 'Develop' into qt-5.13 2019-07-08 13:22:25 -05:00
Silarn d2a8890e74 Merge branch 'Develop' into qt-5.13 2019-07-05 18:40:03 -05:00
Silarn 5feff2f997 Merge remote-tracking branch 'origin/Develop' into qt-5.13 2019-07-05 16:28:33 -05:00
Silarn 9a795c3ce9 Merge remote-tracking branch 'origin/Develop' into qt-5.13 2019-07-04 23:14:39 -05:00
Silarn 7879ea2c62 Fix issue if widget isn't on a window 2019-07-04 15:09:49 -05:00
Silarn ccc0653ca1 Merge branch 'Develop' into qt-5.13 2019-07-03 21:29:22 -05:00
Silarn 3a2f056e8a More refactoring 2019-07-03 14:12:38 -05:00
Silarn aa9a1fc07f Refactor obsolete methods 2019-07-03 13:04:27 -05:00
585 changed files with 89944 additions and 63668 deletions
+41
View File
@@ -0,0 +1,41 @@
---
# We'll use defaults from the LLVM style, but with 4 columns indentation.
BasedOnStyle: LLVM
IndentWidth: 2
---
Language: Cpp
DeriveLineEnding: false
UseCRLF: true
DerivePointerAlignment: false
PointerAlignment: Left
AlignConsecutiveAssignments: true
AllowShortFunctionsOnASingleLine: Inline
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: Empty
AlwaysBreakTemplateDeclarations: Yes
AccessModifierOffset: -2
AlignTrailingComments: true
SpacesBeforeTrailingComments: 2
NamespaceIndentation: Inner
MaxEmptyLinesToKeep: 1
BreakBeforeBraces: Custom
BraceWrapping:
AfterCaseLabel: false
AfterClass: true
AfterControlStatement: false
AfterEnum: true
AfterFunction: true
AfterNamespace: true
AfterStruct: true
AfterUnion: true
AfterExternBlock: true
BeforeCatch: false
BeforeElse: false
BeforeLambdaBody: false
BeforeWhile: false
IndentBraces: false
SplitEmptyFunction: false
SplitEmptyRecord: false
SplitEmptyNamespace: true
ColumnLimit: 88
ForEachMacros: ['Q_FOREACH', 'foreach']
+2
View File
@@ -0,0 +1,2 @@
d13f6bb870cdda71257f665367be8ef9fca86255
86bb01ba9eac879d3685c439ac9da0028bc4bc80
+7
View File
@@ -0,0 +1,7 @@
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto
# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
*.cpp text eol=crlf
*.h text eol=crlf
@@ -0,0 +1,27 @@
---
name: Game support Request
about: Request support for a new game
title: Add support for game [GAME NAME]
labels: 'Feature Request, additional games support, area: mo2 game plugins'
assignees: ''
---
**This template is useful to add basic support using https://github.com/ModOrganizer2/modorganizer-basic_games.**
**If you are vaguely familiar with programming you can try following the instructions on that link to get something working yourself. If you have trouble with that please fill in this template.**
**Please provide the following information for the game (remove the optional lines you do not use):**
- **Name:** Name of the game
- **Short name:** Name of the game in Nexus URL (e.g. skyrimse for Skyrim SE).
- **Nexus ID [optional]:** ID of the game on Nexus (you can usually find this in Nexus URL).
- **Executable:** Name of the main executable for the game (relative to the game folder).
- **Launcher [optional]:** Name of the game launcher (relative to the game folder).
- **Data path:** Path to the data folder of the game (relative to the game folder). Please note that the Virtual Files System often does not work for top level dlls or exe files.
- **Documents path:** Path to folder containing INI files, etc., for the game (usually under "My Games", or the game folder itself).
- **Saves directory [optional]:** Path to the folder containing save games (this default to the path above).
- **Save extension [optional]:** Extension of the saves
- **Steam ID [optional]:** ID of the game on Steam (if the game is on Steam).
**Provide additional details regarding the game that could be required for the plugin.**
+5 -4
View File
@@ -8,7 +8,7 @@ assignees: ''
---
## The problem:
Briefly describe the issue you are experiencing. Tell us what you were trying to do and what happened instead. Remember, this is _not_ a place to ask questions. For that, go to our [discord channel](https://discord.gg/5tCqt6V)
Briefly describe the issue you are experiencing. Tell us what you were trying to do and what happened instead. Remember, this is _not_ a place to ask questions. For that, go to our [Discord server](https://discord.gg/ewUVAqyrQX).
## To Reproduce:
@@ -20,7 +20,7 @@ Steps to reproduce the behavior:
## Environment:
* Mod Organizer Version that exhibits the issue:
* Last Mod Organizer Verison that did not exhibit the issue (if applicable):
* Last Mod Organizer Version that did not exhibit the issue (if applicable):
* Desktop OS/version used to run Mod Organizer:
## Details:
@@ -28,10 +28,11 @@ If necessary, describe the problem you have been experiencing with more details
## Link to Mod Organizer logs:
To access the log files you can press the Open folder icon over the modlist and select "Open MO2 Logs folder". You should close MO2 before sending or examining the logs as they are finished writing only after the program is closed.
Right click on the log window at the bottom of MO2, set log level to debug, restart Mo2 and reproduce the problem.
To access the log files you can press the Open folder icon over the modlist and select "Open MO2 Logs folder".
### USVFS:
Create a [GIST](https://gist.github.com) which is a paste of your USVFS logs, and link them here.
Create a [GIST](https://gist.github.com) which is a paste of your latest USVFS log, and link them here.
Do _NOT_ paste your full USVFS logs here, as it will make this issue very long and hard to read!
If you are reporting a bug, _always_ include the USVFS logs!
+20
View File
@@ -0,0 +1,20 @@
name: Build ModOrganizer 2
on:
push:
branches: master
pull_request:
types: [opened, synchronize, reopened]
jobs:
build:
runs-on: windows-2022
steps:
- name: Build ModOrganizer 2
uses: ModOrganizer2/build-with-mob-action@master
with:
qt-modules: qtpositioning qtwebchannel qtwebengine qtwebsockets
mo2-third-parties:
7z zlib fmt gtest libbsarch libloot openssl libffi bzip2 python lz4 spdlog
boost boost-di sip pyqt pybind11 ss licenses explorerpp usvfs
mo2-dependencies: cmake_common uibase githubpp bsatk esptk archive lootcli game_gamebryo
+17
View File
@@ -0,0 +1,17 @@
name: Lint ModOrganizer 2
on:
push:
pull_request:
types: [opened, synchronize, reopened]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run clang-format
uses: jidicula/clang-format-action@v4.11.0
with:
clang-format-version: "15"
check-path: "."
+1
View File
@@ -13,3 +13,4 @@ edit
/*std*.log
/*build
/src/version.aps
+12 -29
View File
@@ -1,33 +1,16 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12)
cmake_minimum_required(VERSION 3.16)
ADD_COMPILE_OPTIONS($<$<CXX_COMPILER_ID:MSVC>:/MP> $<$<CXX_COMPILER_ID:MSVC>:$<$<CONFIG:RELEASE>:/O2>> $<$<CXX_COMPILER_ID:MSVC>:$<$<CONFIG:RELWITHDEBINFO>:/O2>>)
# TODO: move these to cmake_common?
set(OPENSSL_USE_STATIC_LIBS FALSE CACHE STRING "" FORCE)
set(MySQL_INCLUDE_DIRS CACHE STRING "" FORCE)
PROJECT(organizer)
# sets ModOrganizer as StartUp Project in Visual Studio
set_property(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" PROPERTY VS_STARTUP_PROJECT "ModOrganizer")
set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1)
set(CMAKE_INSTALL_MESSAGE NEVER)
SET(DEPENDENCIES_DIR CACHE PATH "")
# hint to find qt in dependencies path
LIST(APPEND CMAKE_PREFIX_PATH ${QT_ROOT}/lib/cmake)
LIST(APPEND CMAKE_PREFIX_PATH ${LZ4_ROOT}/dll)
ADD_SUBDIRECTORY(src)
set(vcxproj_user_file "${CMAKE_CURRENT_BINARY_DIR}/INSTALL.vcxproj.user")
if(NOT EXISTS ${vcxproj_user_file})
FILE(WRITE ${vcxproj_user_file}
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
"<Project ToolsVersion=\"Current\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n"
"<PropertyGroup>\n"
"<LocalDebuggerWorkingDirectory>${CMAKE_INSTALL_PREFIX}/bin</LocalDebuggerWorkingDirectory>\n"
"<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>"
"<LocalDebuggerCommand>${CMAKE_INSTALL_PREFIX}/bin/ModOrganizer.exe</LocalDebuggerCommand>\n"
"</PropertyGroup>\n"
"</Project>\n")
if(DEFINED DEPENDENCIES_DIR)
include(${DEPENDENCIES_DIR}/modorganizer_super/cmake_common/mo2.cmake)
else()
include(${CMAKE_CURRENT_LIST_DIR}/../cmake_common/mo2.cmake)
endif()
INSTALL(FILES dump_running_process.bat DESTINATION bin)
project(organizer)
add_subdirectory(src)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/dump_running_process.bat DESTINATION bin)
+65 -20
View File
@@ -1,32 +1,77 @@
version: 1.0.{build}
version: dev-appveyor{build}
skip_branch_with_pr: true
image: Visual Studio 2019
init:
- ps: >-
# define build version depending on nightly or normal build
if($env:APPVEYOR_SCHEDULED_BUILD -eq 'True'){
$timestamp= Get-Date -Format "ddMMyyyy-HHmm"
Update-AppveyorBuild -Version "$($env:MO_VERSION)$($env:VER_STUB_NIGHTLY)$timestamp"
} else {
Update-AppveyorBuild -Version "$($env:MO_VERSION)$($env:VER_STUB_NORMAL)$($env:APPVEYOR_BUILD_NUMBER)"
}
Write-Host Build version set to: $env:APPVEYOR_BUILD_VERSION
environment:
WEBHOOK_URL:
secure: gOKbXaZM9ImtMD5XrYITvdyZUW/az082G9OIN1EC1VYoNNsKROB4s6VsQiL6qbLNLc4XQhc8Y9DhdU9Hfh49vhypcjUEQmMsENxnp+1hYMJctTqIYDunVSd767eez5wz6rKHqk+XOHmg5gyVNCV9u4DVcCZJSVe4UTKn1lc47H0=
build:
parallel: true
secure: gOKbXaZM9ImtMD5XrYITvdyZUW/az082G9OIN1EC1VaKiI9iefpxhBavJ6Al6CzIZvQ+3pxnLqjmNgA7cDc22wcj2kB4hSG5qhbTI8wGa8jLQ5L65nuRZ3vrIqghBz9G3GLglgZkg6eqH9r3Kqc6UzcpCGzxxPOqm550nRcIiUU=
MO_VERSION: 2.4.0
VER_STUB_NORMAL: dev-appveyor-
VER_STUB_NIGHTLY: dev-nightly-
build_script:
- cmd: >-
git clone --depth=1 --branch=%APPVEYOR_REPO_BRANCH% https://github.com/ModOrganizer2/modorganizer-umbrella.git c:\projects\modorganizer-umbrella 2> $null
- pwsh: >-
# Maintenance comments:
mkdir c:\projects\modorganizer-build -type directory
# APPVEYOR_BUILD_FOLDER= "c:\projects\modorganizer-slug"
# -Need to update py3 version used to invoke unimake.py once in a while.
# -Need update MO_VERSION env variable after each release.
# -Always clones umbrella master
# -Will checkout all the branches matching the one that triggered the build on the main repo.
# End comments.
$ErrorActionPreference = 'Stop'
git clone --depth=1 --no-single-branch https://github.com/ModOrganizer2/modorganizer-umbrella.git c:\projects\modorganizer-umbrella
New-Item -ItemType Directory -Path ${env:APPVEYOR_BUILD_FOLDER}\modorganizer-build
cd c:\projects\modorganizer-umbrella
($env:APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH -eq $null) ? ($branch = $env:APPVEYOR_REPO_BRANCH) : ($branch = $env:APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH)
C:\Python37-x64\python.exe unimake.py -d c:\projects\modorganizer-build -s Appveyor_Build=True %APPVEYOR_PROJECT_NAME%
git checkout $(git show-ref --verify --quiet refs/remotes/origin/${branch} || echo '-b') ${branch}
C:\Python38-x64\python.exe unimake.py -d ${env:APPVEYOR_BUILD_FOLDER}\modorganizer-build -s Appveyor_Build=True -s Feature_Branch=${env:APPVEYOR_REPO_BRANCH} -s override_build_version=${env:APPVEYOR_BUILD_VERSION}
if($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode ) }
test: off
artifacts:
- path: build\src\ModOrganizer.exe
name: modorganizer_exe
- path: build\src\ModOrganizer.pdb
name: modorganizer_pdb
- path: '\modorganizer-build\install\bin\ModOrganizer.exe'
name: Mod.Organizer-$(APPVEYOR_BUILD_VERSION)
- path: '\modorganizer-build\install\pdb\ModOrganizer.pdb'
name: PDB-Mod.Organizer-$(APPVEYOR_BUILD_VERSION)
deploy: off
on_success:
- ps: Set-Location -Path $env:APPVEYOR_BUILD_FOLDER
- ps: Invoke-RestMethod https://raw.githubusercontent.com/DiscordHooks/appveyor-discord-webhook/master/send.ps1 -o send.ps1
- ps: ./send.ps1 success $env:WEBHOOK_URL
- ps: >-
Set-Location -Path $env:APPVEYOR_BUILD_FOLDER
Invoke-RestMethod https://raw.githubusercontent.com/DiscordHooks/appveyor-discord-webhook/master/send.ps1 -o send.ps1
if($env:APPVEYOR_SCHEDULED_BUILD -ne 'True'){
./send.ps1 success $env:WEBHOOK_URL
}
on_failure:
- ps: Set-Location -Path $env:APPVEYOR_BUILD_FOLDER
- ps: Push-AppveyorArtifact ${env:APPVEYOR_BUILD_FOLDER}\stdout.log
- ps: Push-AppveyorArtifact ${env:APPVEYOR_BUILD_FOLDER}\stderr.log
- ps: Invoke-RestMethod https://raw.githubusercontent.com/DiscordHooks/appveyor-discord-webhook/master/send.ps1 -o send.ps1
- ps: ./send.ps1 failure $env:WEBHOOK_URL
- ps: >-
Set-Location -Path $env:APPVEYOR_BUILD_FOLDER
Invoke-RestMethod https://raw.githubusercontent.com/DiscordHooks/appveyor-discord-webhook/master/send.ps1 -o send.ps1
if($env:APPVEYOR_SCHEDULED_BUILD -ne 'True'){
./send.ps1 failure $env:WEBHOOK_URL
}
+1 -1
View File
@@ -1,2 +1,2 @@
pushd "%~dp0"
start ModOrganizer.exe --crashdump
start ModOrganizer.exe crashdump
+109
View File
@@ -0,0 +1,109 @@
<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<Type Name="FileTreeItem"><DisplayString>{{
file={m_wsFile}
dir={m_isDirectory}
origin={m_originID}
flags={m_flags.i}
loaded={m_loaded}
expanded={m_expanded}
}}</DisplayString></Type>
<Type Name="QFileInfoPrivate">
<DisplayString Condition="0 == this">&lt;null&gt;</DisplayString>
<DisplayString>{fileEntry}</DisplayString>
<StringView>fileEntry</StringView>
<Expand>
<Item Name="QSharedData">*((Qt5Core.dll!QSharedData *) this)</Item>
<Item Name="fileEntry">fileEntry</Item>
<!--
<Item Name="metaData">metaData</Item>
<Item Name="fileListsInitialized">fileListsInitialized</Item>
<Item Name="fileEngine">fileEngine</Item>
<Item Name="fileNames">fileNames</Item>
<Item Name="fileOwners">fileOwners</Item>
<Item Name="cachedFlags">cachedFlags</Item>
<Item Name="isDefaultConstructed">isDefaultConstructed</Item>
<Item Name="cache_enabled">cache_enabled</Item>
<Item Name="fileFlags">fileFlags</Item>
<Item Name="fileSize">fileSize</Item>
<Item Name="fileTimes">fileTimes</Item>
-->
</Expand>
</Type>
<Type Name="QFileInfo">
<DisplayString>{*((Qt5Core.dll!QFileInfoPrivate *) d_ptr.d)}</DisplayString>
<StringView>*((Qt5Core.dll!QFileInfoPrivate *) d_ptr.d)</StringView>
<Expand>
<Item Name="QFileInfoPrivate">*((Qt5Core.dll!QFileInfoPrivate *) d_ptr.d)</Item>
</Expand>
</Type>
<Type Name="QFileSystemEntry">
<DisplayString Condition="0 == this">&lt;null&gt;</DisplayString>
<DisplayString>{m_filePath}</DisplayString>
<StringView>m_filePath</StringView>
<!--
<Expand>
<Item Name="m_filePath">m_filePath</Item>
<Item Name="m_nativeFilePath">m_nativeFilePath</Item>
<Item Name="m_lastSeparator">m_lastSeparator</Item>
<Item Name="m_firstDotInFileName">m_firstDotInFileName</Item>
<Item Name="m_lastDotInFileName">m_lastDotInFileName</Item>
</Expand>
-->
</Type>
<Type Name="QDirPrivate">
<DisplayString Condition="0 == this">&lt;null&gt;</DisplayString>
<DisplayString>{dirEntry}</DisplayString>
<StringView>dirEntry</StringView>
<Expand>
<Item Name="QSharedData">*((Qt5Core.dll!QSharedData *) this)</Item>
<Item Name="dirEntry">dirEntry</Item>
<Item Name="nameFilters">nameFilters</Item>
<Item Name="absoluteDirEntry">absoluteDirEntry</Item>
<!--
<Item Name="metaData">metaData</Item>
<Item Name="fileListsInitialized">fileListsInitialized</Item>
<Item Name="fileEngine">fileEngine</Item>
<Item Name="files">files</Item>
<Item Name="fileInfos">fileInfos</Item>
<Item Name="sort">sort</Item>
<Item Name="filters">filters</Item>
-->
</Expand>
</Type>
<Type Name="QDir">
<DisplayString>{*((Qt5Core.dll!QDirPrivate *) d_ptr.d)}</DisplayString>
<StringView>*((Qt5Core.dll!QDirPrivate *) d_ptr.d)</StringView>
<Expand>
<Item Name="QDirPrivate">*((Qt5Core.dll!QDirPrivate *) d_ptr.d)</Item>
</Expand>
</Type>
<Type Name="QFilePrivate">
<DisplayString Condition="0 == this">&lt;null&gt;</DisplayString>
<DisplayString>{fileName}</DisplayString>
<StringView>fileName</StringView>
<Expand>
<Item Name="QFileDevice">*((Qt5Core.dll!QFileDevice *) this)</Item>
<Item Name="fileName">fileName</Item>
</Expand>
</Type>
<Type Name="QFile">
<DisplayString>{*((Qt5Core.dll!QFilePrivate *) d_ptr.d)}</DisplayString>
<StringView>*((Qt5Core.dll!QFilePrivate *) d_ptr.d)</StringView>
<Expand>
<Item Name="QFilePrivate">*((Qt5Core.dll!QFilePrivate *) d_ptr.d)</Item>
</Expand>
</Type>
</AutoVisualizer>
BIN
View File
Binary file not shown.
+53 -44
View File
@@ -1,4 +1,4 @@
[![Build status](https://ci.appveyor.com/api/projects/status/23qmd9rufv9vpmg7?svg=true)](https://ci.appveyor.com/project/Modorganizer2/modorganizer)
[![Build status](https://ci.appveyor.com/api/projects/status/hxenwxmpaob5xung?svg=true)](https://ci.appveyor.com/project/ModOrganizer2/modorganizer-736bd)
# Mod Organizer
@@ -12,17 +12,17 @@ The project took up speed again after a few more coders showed up in late 2017,
## Help Wanted!
Mod Organizer 2 is an open project in the hands of the community, there are problems that need to be solved and things that could be added. MO2 really needs developers and if you have the programming skills and some free time you can really improve the experience of the modding community.
To have more information, please join the open MO2 Development discord server :* [ModOrganizerDevs](https://discord.gg/vD2ZbfX)
To have more information, please join the open MO2 Development discord server: [Mod Organizer 2](https://discord.gg/ewUVAqyrQX)
If you want to help translate MO2 to your language you should join the discord server too and head to the #translation channel.
To setup a development environment on your machine, there is the [umbrella project](https://github.com/Modorganizer2/modorganizer-umbrella) that handles that.
If you want to submit your code changes, please use a good formating style like the default one in Visual Studio.
To setup a development environment on your machine, there is the [mob project](https://github.com/modorganizer2/mob) that handles that.
If you want to submit your code changes, please use a good formatting style like the default one in Visual Studio.
Through the work of a few people of the community MO2 has come quite far, now it needs some more of those people to go further.
## Reporting Issues:
Issues should be reported to the GitHub page or on the open discord server: [ModOrganizerDevs](https://discord.gg/vD2ZbfX). Here is also where dev builds are tested, bugs are reported and investigated, suggestions are discussed and a lot more.
Issues should be reported to the GitHub page or on the open discord server: [Mod Organizer 2](https://discord.gg/ewUVAqyrQX). Here is also where dev builds are tested, bugs are reported and investigated, suggestions are discussed and a lot more.
Credits to Tannin, LePresidente, Silarn, erasmux, AL12, LostDragonist, AnyOldName3 and many others for the development.
Credits to Tannin, LePresidente, Silarn, erasmux, AL12, LostDragonist, AnyOldName3, isa, Holt59 and many others for the development.
## Download Location
@@ -35,52 +35,61 @@ Credits to Tannin, LePresidente, Silarn, erasmux, AL12, LostDragonist, AnyOldNam
## Building
Please refer to [Modorganizer2/modorganizer-umbrella](https://github.com/Modorganizer2/modorganizer-umbrella) for build instructions.
Please refer to [Modorganizer2/mob](https://github.com/modorganizer2/mob) for build instructions.
## Other Repositories
MO2 consists of multiple repositories on github. The Umbrella project will download them automatically as required. They should however also be buildable individually.
MO2 consists of multiple repositories on github. The mob project will download them automatically as required. They should however also be buildable individually.
Here is a complete list:
* https://github.com/LePresidente/cpython-1
* https://github.com/Modorganizer2/githubpp
* https://github.com/Modorganizer2/modorganizer
* https://github.com/Modorganizer2/modorganizer-archive
* https://github.com/Modorganizer2/modorganizer-bsatk
* https://github.com/Modorganizer2/modorganizer-bsa_extractor
* https://github.com/Modorganizer2/modorganizer-check_fnis
* https://github.com/Modorganizer2/modorganizer-diagnose_basic
* https://github.com/Modorganizer2/modorganizer-esptk
* https://github.com/ModOrganizer2/cmake_common
* https://github.com/ModOrganizer2/githubpp
* https://github.com/ModOrganizer2/modorganizer
* https://github.com/ModOrganizer2/modorganizer-archive
* https://github.com/ModOrganizer2/modorganizer-basic_games
* https://github.com/ModOrganizer2/modorganizer-bsatk
* https://github.com/ModOrganizer2/modorganizer-bsa_extractor
* https://github.com/ModOrganizer2/modorganizer-check_fnis
* https://github.com/ModOrganizer2/modorganizer-diagnose_basic
* https://github.com/ModOrganizer2/modorganizer-esptk
* https://github.com/ModOrganizer2/modorganizer-fnistool
* https://github.com/Modorganizer2/modorganizer-helper
* https://github.com/Modorganizer2/modorganizer-game_fallout3
* https://github.com/Modorganizer2/modorganizer-game_fallout4
* https://github.com/Modorganizer2/modorganizer-game_fallout4vr
* https://github.com/Modorganizer2/modorganizer-game_falloutnv
* https://github.com/Modorganizer2/modorganizer-game_features
* https://github.com/Modorganizer2/modorganizer-game_gamebryo
* https://github.com/Modorganizer2/modorganizer-game_morrowind
* https://github.com/Modorganizer2/modorganizer-game_oblivion
* https://github.com/Modorganizer2/modorganizer-game_skyrim
* https://github.com/Modorganizer2/modorganizer-game_skyrimSE
* https://github.com/ModOrganizer2/modorganizer-helper
* https://github.com/ModOrganizer2/modorganizer-game_enderal
* https://github.com/ModOrganizer2/modorganizer-game_fallout3
* https://github.com/ModOrganizer2/modorganizer-game_fallout4
* https://github.com/ModOrganizer2/modorganizer-game_fallout4vr
* https://github.com/ModOrganizer2/modorganizer-game_falloutnv
* https://github.com/ModOrganizer2/modorganizer-game_features
* https://github.com/ModOrganizer2/modorganizer-game_gamebryo
* https://github.com/ModOrganizer2/modorganizer-game_morrowind
* https://github.com/ModOrganizer2/modorganizer-game_oblivion
* https://github.com/ModOrganizer2/modorganizer-game_skyrim
* https://github.com/ModOrganizer2/modorganizer-game_skyrimSE
* https://github.com/ModOrganizer2/modorganizer-game_skyrimVR
* https://github.com/Modorganizer2/modorganizer-game_ttw
* https://github.com/Modorganizer2/modorganizer-installer_bain
* https://github.com/Modorganizer2/modorganizer-installer_bundle
* https://github.com/Modorganizer2/modorganizer-installer_fomod
* https://github.com/Modorganizer2/modorganizer-installer_manual
* https://github.com/Modorganizer2/modorganizer-installer_ncc
* https://github.com/Modorganizer2/modorganizer-installer_quick
* https://github.com/Modorganizer2/modorganizer-lootcli
* https://github.com/Modorganizer2/modorganizer-NCC
* https://github.com/Modorganizer2/modorganizer-nxmhandler
* https://github.com/Modorganizer2/modorganizer-plugin_python
* https://github.com/Modorganizer2/modorganizer-preview_base
* https://github.com/Modorganizer2/modorganizer-tool_configurator
* https://github.com/Modorganizer2/modorganizer-tool_inibakery
* https://github.com/Modorganizer2/modorganizer-uibase
* https://github.com/Modorganizer2/usvfs
* https://github.com/ModOrganizer2/modorganizer-game_ttw
* https://github.com/ModOrganizer2/modorganizer-installer_bain
* https://github.com/ModOrganizer2/modorganizer-installer_wizard
* https://github.com/ModOrganizer2/modorganizer-installer_bundle
* https://github.com/ModOrganizer2/modorganizer-installer_fomod
* https://github.com/ModOrganizer2/modorganizer-installer_fomod_csharp
* https://github.com/ModOrganizer2/modorganizer-installer_manual
* https://github.com/ModOrganizer2/modorganizer-installer_ncc
* https://github.com/ModOrganizer2/modorganizer-installer_omod
* https://github.com/ModOrganizer2/modorganizer-installer_quick
* https://github.com/ModOrganizer2/modorganizer-lootcli
* https://github.com/ModOrganizer2/modorganizer-NCC
* https://github.com/ModOrganizer2/modorganizer-nxmhandler
* https://github.com/ModOrganizer2/modorganizer-plugin_python
* https://github.com/ModOrganizer2/modorganizer-preview_base
* https://github.com/ModOrganizer2/modorganizer-preview_dds
* https://github.com/ModOrganizer2/modorganizer-form43_checker
* https://github.com/ModOrganizer2/modorganizer-script_extender_plugin_checker
* https://github.com/ModOrganizer2/modorganizer-tool_configurator
* https://github.com/ModOrganizer2/modorganizer-tool_inibakery
* https://github.com/ModOrganizer2/modorganizer-uibase
* https://github.com/ModOrganizer2/usvfs
### Unused Repositories
* https://github.com/Modorganizer2/modorganizer-hookdll
* https://github.com/ModOrganizer2/modorganizer-hookdll
* https://github.com/TanninOne/modorganizer-tool_nmmimport
+150 -511
View File
File diff suppressed because it is too large Load Diff
+4
View File
@@ -40,6 +40,10 @@ greaterThan(QT_MAJOR_VERSION, 4) {
QTLIBNAMES += Core Declarative Gui Network OpenGL Script Sql Svg Webkit Xml XmlPatterns
}
greaterThan(QT_MAJOR_VERSION, 5) {
QTLIBNAMES += OpenGLWidgets
}
QTLIBSUFFIX = $${QT_MAJOR_VERSION}.dll
CONFIG(debug, debug|release): QTLIBSUFFIX = "d$${QTLIBSUFFIX}" # Can't use Debug: .. here, it ignores the line - no idea why, as it works in BossDummy.pro
+126 -121
View File
@@ -1,121 +1,126 @@
/*
Copyright (C) 2014 Sebastian Herbord. All rights reserved.
This file is part of Mod Organizer.
Mod Organizer is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Mod Organizer is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
*/
#include "aboutdialog.h"
#include "ui_aboutdialog.h"
#include <utility.h>
#include <QApplication>
#include <QLabel>
#include <QListWidget>
#include <QListWidgetItem>
#include <QTextBrowser>
#include <QVariant>
#include <Qt>
#include <QFontDatabase>
AboutDialog::AboutDialog(const QString &version, QWidget *parent)
: QDialog(parent)
, ui(new Ui::AboutDialog)
{
ui->setupUi(this);
m_LicenseFiles[LICENSE_LGPL3] = "LGPL-v3.0.txt";
m_LicenseFiles[LICENSE_LGPL21] = "GNU-LGPL-v2.1.txt";
m_LicenseFiles[LICENSE_GPL3] = "GPL-v3.0.txt";
m_LicenseFiles[LICENSE_GPL2] = "GPL-v2.0.txt";
m_LicenseFiles[LICENSE_BOOST] = "boost.txt";
m_LicenseFiles[LICENSE_7ZIP] = "7zip.txt";
m_LicenseFiles[LICENSE_CCBY3] = "BY-SA-v3.0.txt";
m_LicenseFiles[LICENSE_ZLIB] = "zlib.txt";
m_LicenseFiles[LICENSE_PYTHON] = "python.txt";
m_LicenseFiles[LICENSE_SSL] = "openssl.txt";
m_LicenseFiles[LICENSE_CPPTOML] = "cpptoml.txt";
m_LicenseFiles[LICENSE_UDIS] = "udis86.txt";
m_LicenseFiles[LICENSE_SPDLOG] = "spdlog.txt";
m_LicenseFiles[LICENSE_FMT] = "fmt.txt";
m_LicenseFiles[LICENSE_SIP] = "sip.txt";
m_LicenseFiles[LICENSE_CASTLE] = "Castle.txt";
m_LicenseFiles[LICENSE_ANTLR] = "AntlrBuildTask.txt";
m_LicenseFiles[LICENSE_DXTEX] = "DXTex.txt";
addLicense("Qt", LICENSE_LGPL3);
addLicense("Qt Json", LICENSE_GPL3);
addLicense("Boost Library", LICENSE_BOOST);
addLicense("7-zip", LICENSE_7ZIP);
addLicense("ZLib", LICENSE_NONE);
addLicense("Tango Icon Theme", LICENSE_NONE);
addLicense("RRZE Icon Set", LICENSE_CCBY3);
addLicense("Icons by Lorc, Delapouite and sbed available on http://game-icons.net", LICENSE_CCBY3);
addLicense("Castle Core", LICENSE_CASTLE);
addLicense("ANTLR", LICENSE_ANTLR);
addLicense("LOOT", LICENSE_GPL3);
addLicense("Python", LICENSE_PYTHON);
addLicense("OpenSSL", LICENSE_SSL);
addLicense("cpptoml", LICENSE_CPPTOML);
addLicense("Udis86", LICENSE_UDIS);
addLicense("spdlog", LICENSE_SPDLOG);
addLicense("{fmt}", LICENSE_FMT);
addLicense("SIP", LICENSE_SIP);
addLicense("DXTex Headers", LICENSE_DXTEX);
ui->nameLabel->setText(QString("<span style=\"font-size:12pt; font-weight:600;\">%1 %2</span>").arg(ui->nameLabel->text()).arg(version));
#if defined(HGID)
ui->revisionLabel->setText(ui->revisionLabel->text() + " " + HGID);
#elif defined(GITID)
ui->revisionLabel->setText(ui->revisionLabel->text() + " " + GITID);
#else
ui->revisionLabel->setText(ui->revisionLabel->text() + " unknown");
#endif
ui->licenseText->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont));
}
AboutDialog::~AboutDialog()
{
delete ui;
}
void AboutDialog::addLicense(const QString &name, Licenses license)
{
QListWidgetItem *item = new QListWidgetItem(name);
item->setData(Qt::UserRole, license);
ui->creditsList->addItem(item);
}
void AboutDialog::on_creditsList_currentItemChanged(QListWidgetItem *current, QListWidgetItem*)
{
auto iter = m_LicenseFiles.find(current->data(Qt::UserRole).toInt());
if (iter != m_LicenseFiles.end()) {
QString filePath = qApp->applicationDirPath() + "/licenses/" + iter->second;
QString text = MOBase::readFileText(filePath);
ui->licenseText->setText(text);
} else {
ui->licenseText->setText(tr("No license"));
}
}
void AboutDialog::on_sourceText_linkActivated(const QString &link)
{
emit linkClicked(link);
}
/*
Copyright (C) 2014 Sebastian Herbord. All rights reserved.
This file is part of Mod Organizer.
Mod Organizer is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Mod Organizer is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
*/
#include "aboutdialog.h"
#include "shared/util.h"
#include "ui_aboutdialog.h"
#include <utility.h>
#include <QApplication>
#include <QFontDatabase>
#include <QLabel>
#include <QListWidget>
#include <QListWidgetItem>
#include <QTextBrowser>
#include <QVariant>
#include <Qt>
AboutDialog::AboutDialog(const QString& version, QWidget* parent)
: QDialog(parent), ui(new Ui::AboutDialog)
{
ui->setupUi(this);
m_LicenseFiles[LICENSE_LGPL3] = "LGPL-v3.0.txt";
m_LicenseFiles[LICENSE_LGPL21] = "GNU-LGPL-v2.1.txt";
m_LicenseFiles[LICENSE_GPL3] = "GPL-v3.0.txt";
m_LicenseFiles[LICENSE_GPL2] = "GPL-v2.0.txt";
m_LicenseFiles[LICENSE_BOOST] = "boost.txt";
m_LicenseFiles[LICENSE_7ZIP] = "7zip.txt";
m_LicenseFiles[LICENSE_CCBY3] = "BY-SA-v3.0.txt";
m_LicenseFiles[LICENSE_ZLIB] = "zlib.txt";
m_LicenseFiles[LICENSE_PYTHON] = "python.txt";
m_LicenseFiles[LICENSE_SSL] = "openssl.txt";
m_LicenseFiles[LICENSE_CPPTOML] = "cpptoml.txt";
m_LicenseFiles[LICENSE_UDIS] = "udis86.txt";
m_LicenseFiles[LICENSE_SPDLOG] = "spdlog.txt";
m_LicenseFiles[LICENSE_FMT] = "fmt.txt";
m_LicenseFiles[LICENSE_SIP] = "sip.txt";
m_LicenseFiles[LICENSE_CASTLE] = "Castle.txt";
m_LicenseFiles[LICENSE_ANTLR] = "AntlrBuildTask.txt";
m_LicenseFiles[LICENSE_DXTEX] = "DXTex.txt";
m_LicenseFiles[LICENSE_VDF] = "ValveFileVDF.txt";
addLicense("Qt", LICENSE_LGPL3);
addLicense("Qt Json", LICENSE_GPL3);
addLicense("Boost Library", LICENSE_BOOST);
addLicense("7-zip", LICENSE_7ZIP);
addLicense("ZLib", LICENSE_NONE);
addLicense("Tango Icon Theme", LICENSE_NONE);
addLicense("RRZE Icon Set", LICENSE_CCBY3);
addLicense("Icons by Lorc, Delapouite and sbed available on http://game-icons.net",
LICENSE_CCBY3);
addLicense("Castle Core", LICENSE_CASTLE);
addLicense("ANTLR", LICENSE_ANTLR);
addLicense("LOOT", LICENSE_GPL3);
addLicense("Python", LICENSE_PYTHON);
addLicense("OpenSSL", LICENSE_SSL);
addLicense("cpptoml", LICENSE_CPPTOML);
addLicense("Udis86", LICENSE_UDIS);
addLicense("spdlog", LICENSE_SPDLOG);
addLicense("{fmt}", LICENSE_FMT);
addLicense("SIP", LICENSE_SIP);
addLicense("DXTex Headers", LICENSE_DXTEX);
addLicense("Valve File VDF Reader", LICENSE_VDF);
ui->nameLabel->setText(
QString("<span style=\"font-size:12pt; font-weight:600;\">%1 %2</span>")
.arg(ui->nameLabel->text())
.arg(version));
#if defined(HGID)
ui->revisionLabel->setText(ui->revisionLabel->text() + " " + HGID);
#elif defined(GITID)
ui->revisionLabel->setText(ui->revisionLabel->text() + " " + GITID);
#else
ui->revisionLabel->setText(ui->revisionLabel->text() + " unknown");
#endif
ui->usvfsLabel->setText(ui->usvfsLabel->text() + " " +
MOShared::getUsvfsVersionString());
ui->licenseText->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont));
}
AboutDialog::~AboutDialog()
{
delete ui;
}
void AboutDialog::addLicense(const QString& name, Licenses license)
{
QListWidgetItem* item = new QListWidgetItem(name);
item->setData(Qt::UserRole, license);
ui->creditsList->addItem(item);
}
void AboutDialog::on_creditsList_currentItemChanged(QListWidgetItem* current,
QListWidgetItem*)
{
auto iter = m_LicenseFiles.find(current->data(Qt::UserRole).toInt());
if (iter != m_LicenseFiles.end()) {
QString filePath = qApp->applicationDirPath() + "/licenses/" + iter->second;
QString text = MOBase::readFileText(filePath);
ui->licenseText->setText(text);
} else {
ui->licenseText->setText(tr("No license"));
}
}
void AboutDialog::on_sourceText_linkActivated(const QString& link)
{
MOBase::shell::Open(QUrl(link));
}
+82 -87
View File
@@ -1,87 +1,82 @@
#ifndef ABOUTDIALOG_H
/*
Copyright (C) 2014 Sebastian Herbord. All rights reserved.
This file is part of Mod Organizer.
Mod Organizer is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Mod Organizer is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
*/
#define ABOUTDIALOG_H
#include <QDialog>
class QListWidgetItem;
#include <QObject>
#include <QString>
#include <map>
namespace Ui {
class AboutDialog;
}
class AboutDialog : public QDialog
{
Q_OBJECT
public:
explicit AboutDialog(const QString &version, QWidget *parent = 0);
~AboutDialog();
signals:
void linkClicked(QString link);
private:
enum Licenses {
LICENSE_NONE,
LICENSE_LGPL3,
LICENSE_LGPL21,
LICENSE_GPL3,
LICENSE_GPL2,
LICENSE_BOOST,
LICENSE_CCBY3,
LICENSE_PYTHON,
LICENSE_SSL,
LICENSE_CPPTOML,
LICENSE_7ZIP,
LICENSE_ZLIB,
LICENSE_UDIS,
LICENSE_SPDLOG,
LICENSE_FMT,
LICENSE_SIP,
LICENSE_CASTLE,
LICENSE_ANTLR,
LICENSE_DXTEX
};
private:
void addLicense(const QString &name, Licenses license);
private slots:
void on_creditsList_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
void on_sourceText_linkActivated(const QString &link);
private:
Ui::AboutDialog *ui;
std::map<int, QString> m_LicenseFiles;
};
#endif // ABOUTDIALOG_H
#ifndef ABOUTDIALOG_H
/*
Copyright (C) 2014 Sebastian Herbord. All rights reserved.
This file is part of Mod Organizer.
Mod Organizer is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Mod Organizer is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
*/
#define ABOUTDIALOG_H
#include <QDialog>
class QListWidgetItem;
#include <QObject>
#include <QString>
#include <map>
namespace Ui
{
class AboutDialog;
}
class AboutDialog : public QDialog
{
Q_OBJECT
public:
explicit AboutDialog(const QString& version, QWidget* parent = 0);
~AboutDialog();
private:
enum Licenses
{
LICENSE_NONE,
LICENSE_LGPL3,
LICENSE_LGPL21,
LICENSE_GPL3,
LICENSE_GPL2,
LICENSE_BOOST,
LICENSE_CCBY3,
LICENSE_PYTHON,
LICENSE_SSL,
LICENSE_CPPTOML,
LICENSE_7ZIP,
LICENSE_ZLIB,
LICENSE_UDIS,
LICENSE_SPDLOG,
LICENSE_FMT,
LICENSE_SIP,
LICENSE_CASTLE,
LICENSE_ANTLR,
LICENSE_DXTEX,
LICENSE_VDF,
};
private:
void addLicense(const QString& name, Licenses license);
private slots:
void on_creditsList_currentItemChanged(QListWidgetItem* current,
QListWidgetItem* previous);
void on_sourceText_linkActivated(const QString& link);
private:
Ui::AboutDialog* ui;
std::map<int, QString> m_LicenseFiles;
};
#endif // ABOUTDIALOG_H
+166 -17
View File
@@ -104,6 +104,13 @@
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="usvfsLabel">
<property name="text">
<string>usvfs:</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
@@ -120,7 +127,7 @@
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string notr="true">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Copyright © 2011-2016 Sebastian Herbord&lt;br/&gt;Copyright © 2016-2019 Mod Organizer 2 Contributors&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
<string notr="true">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Copyright © 2011-2016 Sebastian Herbord&lt;br/&gt;Copyright © 2016-2023 Mod Organizer 2 Contributors&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
@@ -151,9 +158,9 @@
</spacer>
</item>
<item>
<widget class="QLabel" name="sourceText">
<widget class="LinkLabel" name="sourceText">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Source code can be found at &lt;a href=&quot;https://github.com/ModOrganizer2/modorganizer&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#007af4;&quot;&gt;GitHub&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Source code can be found at &lt;a href=&quot;https://github.com/ModOrganizer2/modorganizer&quot;&gt;GitHub&lt;/a&gt;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
@@ -208,6 +215,16 @@
<string notr="true">LostDragonist</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">isa</string>
</property>
</item>
<item>
<property name="text">
<string>Holt59</string>
</property>
</item>
</widget>
</item>
</layout>
@@ -234,11 +251,6 @@
<string notr="true">erasmux</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">isanae</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Project579</string>
@@ -249,6 +261,11 @@
<string notr="true">przester</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Qudix</string>
</property>
</item>
</widget>
</item>
</layout>
@@ -280,11 +297,31 @@
<string notr="true">miraclefreak (Czech)</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Meiton (Czech)</string>
</property>
</item>
<item>
<property name="text">
<string>Cyb3r (Dutch)</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">madmedic (Dutch)</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Ilja (Finnish)</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Mikmet (Finnish)</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Alyndiar (French)</string>
@@ -310,6 +347,11 @@
<string>Yoplala (French)</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">CircleOfDao (German)</string>
</property>
</item>
<item>
<property name="text">
<string>Faron (German)</string>
@@ -320,6 +362,16 @@
<string notr="true">pndrev (German)</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Xahtax (German)</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Ypselon (German)</string>
</property>
</item>
<item>
<property name="text">
<string>yohru (Japanese)</string>
@@ -378,6 +430,16 @@
<string>Nubbie (Swedish)</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Hakan &quot;Nyks45&quot; Albayrak (Turkish)</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Kato (Turkish)</string>
</property>
</item>
<item>
<property name="text">
<string>...and all other contributors!</string>
@@ -404,7 +466,12 @@
</property>
<item>
<property name="text">
<string>Tannin (Original Creator)</string>
<string notr="true">Tannin (Original Creator)</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">6788</string>
</property>
</item>
<item>
@@ -414,12 +481,7 @@
</item>
<item>
<property name="text">
<string notr="true">DoubleYou</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">deathneko11</string>
<string notr="true">BlueAmulet</string>
</property>
</item>
<item>
@@ -432,6 +494,51 @@
<string notr="true">Brixified</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">ddbb07</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">deathneko11</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">dekart811</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">DoubleYou</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Drew Warwick</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">erri120</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">ianpatt</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Falsellyu</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">foresto</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">GamerPoet</string>
@@ -452,6 +559,21 @@
<string notr="true">GSDFan</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">JayLCypher</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">jimfcarroll</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Luca|EzioTheDeadPoet</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">ogrotten</string>
@@ -462,6 +584,21 @@
<string notr="true">outdatedtv</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Patchier</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">PurpleFez</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">reedts</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Schilduin</string>
@@ -472,6 +609,11 @@
<string notr="true">SuperSandro2000</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Trosski</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Uhuru</string>
@@ -484,12 +626,12 @@
</item>
<item>
<property name="text">
<string notr="true">z929669</string>
<string notr="true">thosrtanner</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">thosrtanner</string>
<string notr="true">z929669</string>
</property>
</item>
</widget>
@@ -529,6 +671,13 @@
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>LinkLabel</class>
<extends>QLabel</extends>
<header location="global">linklabel.h</header>
</customwidget>
</customwidgets>
<resources>
<include location="resources.qrc"/>
</resources>
+94 -96
View File
@@ -1,96 +1,94 @@
/*
Copyright (C) 2012 Sebastian Herbord. All rights reserved.
This file is part of Mod Organizer.
Mod Organizer is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Mod Organizer is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
*/
#include "activatemodsdialog.h"
#include "ui_activatemodsdialog.h"
#include <QComboBox>
#include <QHeaderView>
#include <QLabel>
#include <QString>
#include <QTableWidget>
#include <QtGlobal>
ActivateModsDialog::ActivateModsDialog(SaveGameInfo::MissingAssets const &missingAssets, QWidget *parent)
: TutorableDialog("ActivateMods", parent), ui(new Ui::ActivateModsDialog)
{
ui->setupUi(this);
QTableWidget *modsTable = findChild<QTableWidget*>("modsTable");
QHeaderView *headerView = modsTable->horizontalHeader();
headerView->setSectionResizeMode(0, QHeaderView::Stretch);
headerView->setSectionResizeMode(1, QHeaderView::Interactive);
int row = 0;
modsTable->setRowCount(missingAssets.size());
for (SaveGameInfo::MissingAssets::const_iterator espIter = missingAssets.begin();
espIter != missingAssets.end(); ++espIter, ++row) {
modsTable->setCellWidget(row, 0, new QLabel(espIter.key()));
if (espIter->size() == 0) {
modsTable->setCellWidget(row, 1, new QLabel(tr("not found")));
} else {
QComboBox* combo = new QComboBox();
for (QString const &mod : espIter.value()) {
combo->addItem(mod);
}
modsTable->setCellWidget(row, 1, combo);
}
}
}
ActivateModsDialog::~ActivateModsDialog()
{
delete ui;
}
std::set<QString> ActivateModsDialog::getModsToActivate()
{
std::set<QString> result;
QTableWidget *modsTable = findChild<QTableWidget*>("modsTable");
for (int row = 0; row < modsTable->rowCount(); ++row) {
QComboBox *comboBox = dynamic_cast<QComboBox*>(modsTable->cellWidget(row, 1));
if (comboBox != nullptr) {
result.insert(comboBox->currentText());
}
}
return result;
}
std::set<QString> ActivateModsDialog::getESPsToActivate()
{
std::set<QString> result;
QTableWidget *modsTable = findChild<QTableWidget*>("modsTable");
for (int row = 0; row < modsTable->rowCount(); ++row) {
QComboBox *comboBox = dynamic_cast<QComboBox*>(modsTable->cellWidget(row, 1));
if (comboBox != nullptr) {
QLabel *espName = dynamic_cast<QLabel*>(modsTable->cellWidget(row, 0));
result.insert(espName->text());
}
}
return result;
}
/*
Copyright (C) 2012 Sebastian Herbord. All rights reserved.
This file is part of Mod Organizer.
Mod Organizer is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Mod Organizer is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
*/
#include "activatemodsdialog.h"
#include "ui_activatemodsdialog.h"
#include <QComboBox>
#include <QHeaderView>
#include <QLabel>
#include <QString>
#include <QTableWidget>
#include <QtGlobal>
ActivateModsDialog::ActivateModsDialog(SaveGameInfo::MissingAssets const& missingAssets,
QWidget* parent)
: TutorableDialog("ActivateMods", parent), ui(new Ui::ActivateModsDialog)
{
ui->setupUi(this);
QTableWidget* modsTable = findChild<QTableWidget*>("modsTable");
QHeaderView* headerView = modsTable->horizontalHeader();
headerView->setSectionResizeMode(0, QHeaderView::Stretch);
headerView->setSectionResizeMode(1, QHeaderView::Interactive);
int row = 0;
modsTable->setRowCount(missingAssets.size());
for (SaveGameInfo::MissingAssets::const_iterator espIter = missingAssets.begin();
espIter != missingAssets.end(); ++espIter, ++row) {
modsTable->setCellWidget(row, 0, new QLabel(espIter.key()));
if (espIter->size() == 0) {
modsTable->setCellWidget(row, 1, new QLabel(tr("not found")));
} else {
QComboBox* combo = new QComboBox();
for (QString const& mod : espIter.value()) {
combo->addItem(mod);
}
modsTable->setCellWidget(row, 1, combo);
}
}
}
ActivateModsDialog::~ActivateModsDialog()
{
delete ui;
}
std::set<QString> ActivateModsDialog::getModsToActivate()
{
std::set<QString> result;
QTableWidget* modsTable = findChild<QTableWidget*>("modsTable");
for (int row = 0; row < modsTable->rowCount(); ++row) {
QComboBox* comboBox = dynamic_cast<QComboBox*>(modsTable->cellWidget(row, 1));
if (comboBox != nullptr) {
result.insert(comboBox->currentText());
}
}
return result;
}
std::set<QString> ActivateModsDialog::getESPsToActivate()
{
std::set<QString> result;
QTableWidget* modsTable = findChild<QTableWidget*>("modsTable");
for (int row = 0; row < modsTable->rowCount(); ++row) {
QComboBox* comboBox = dynamic_cast<QComboBox*>(modsTable->cellWidget(row, 1));
if (comboBox != nullptr) {
QLabel* espName = dynamic_cast<QLabel*>(modsTable->cellWidget(row, 0));
result.insert(espName->text());
}
}
return result;
}

Some files were not shown because too many files have changed in this diff Show More