Compare commits

...
552 Commits
Author SHA1 Message Date
Brian Munro bc75009169 Merge pull request #294 from Modorganizer2/Develop
Release 2.1.2
2018-04-13 11:56:36 +02:00
Jeremy Rimpo 8be73d2e3b Remove extraneous search code 2018-04-13 00:38:23 -05:00
Silarn 358e2c4e74 Merge branch 'Develop' of https://github.com/Modorganizer2/modorganizer into Develop 2018-04-11 15:13:33 -05:00
Silarn be2d39b035 Add flag and description text to ESL-flagged ESPs 2018-04-11 15:12:31 -05:00
Jeremy Rimpo 8f0b42d466 Merge branch 'master' into Develop 2018-04-11 13:14:41 -05:00
Silarn 37b1bdd9e6 Bump version to 2.1.2 and update meta info 2018-04-11 12:58:46 -05:00
Silarn e037caf58e Fix both remove and reinstall updating hidden downloads 2018-04-11 10:58:22 -05:00
Silarn e33da8402c Allow multi-extract via archive origin entry in the BSA tab 2018-04-11 00:55:52 -05:00
Silarn c4bfee0089 Prep for Qt 5.11 (backward-compatible) 2018-04-10 23:28:33 -05:00
Silarn 5a24d2b60c Minor improvements to download hiding 2018-04-10 01:53:59 -05:00
Silarn 9465966b2c Created threaded process for writing mod meta files to prevent hangs 2018-04-09 12:18:22 -05:00
Silarn 47dc5cded7 Add DXTex header licenses for new BSATK handling of FO4 texture BA2s 2018-04-09 12:17:15 -05:00
Silarn bf9d187036 Merge branch 'Develop' of https://github.com/Modorganizer2/modorganizer into Develop 2018-04-08 14:58:23 -05:00
Silarn 208eaccbf7 Updates to allow a full plugin data refresh in certain circumstances 2018-04-08 14:56:46 -05:00
Al12rs fb1c376533 Added "Open/Execute" context menu entry to the conflicts tab in the modinfodialog. 2018-04-08 14:41:03 +02:00
Silarn 0f8852f487 Also mark hidden downloads as uninstalled; refresh plugins after files 2018-04-08 03:58:08 -05:00
Silarn 7eba6837dd Prevent redownloading a mod if the download is still in progress 2018-04-07 23:54:22 -05:00
Silarn cc2bd15256 Fix for re-downloading a mod already downloading 2018-04-07 22:18:45 -05:00
Silarn b409a0bef9 Install the translation file (we need at least one) 2018-04-07 20:09:41 -05:00
Silarn d62669e1b4 Fix overwritten file preview 2018-04-07 18:58:12 -05:00
Silarn a1d92fb673 Fix up CMAKE to use /MP and allow building through umbrella 2018-04-07 17:12:22 -05:00
Al12rs fd9eb032b6 Added file preview in conflicts tab in the mod information dialog. The preview is not working for the lower file list for some reason but I left the setup of the context menu and all in case somebody else can figure out what I'm missing. 2018-04-07 19:53:41 +02:00
Al12rs 5c39a762e6 Allow MO2 shortcuts that open the indicated MO2 instance in the argument if the executable name is omitted.
This should be added after the MO2 exe path: '  "moshortcut://myInstanceName:" '. If there are caracters after the ":" then MO2 will assume that is an execuatble and will try to run it.
2018-04-07 14:10:16 +02:00
Silarn a905ce130d Update About dialog with new contributors (and don't translate names) 2018-04-06 18:25:11 -05:00
Silarn fed89352d1 Changes to allow plugin loading in the mod info dialog (and rename SE) 2018-04-06 00:56:58 -05:00
Silarn 74dd2bb914 Return extraction context menu to archive list 2018-04-05 23:57:24 -05:00
Silarn dcbcb29ec7 Update to allow linking to updated bsatk 2018-04-03 14:59:04 -05:00
Jeremy Rimpo 92e3fa2fdd Merge branch 'Develop' of https://github.com/Modorganizer2/modorganizer into Develop 2018-03-23 11:56:23 -05:00
Jeremy Rimpo 5a98d69dcd Fix tab index now that the archive tab is back 2018-03-23 11:35:27 -05:00
Al 5dd0e3b77e Merge pull request #287 from SuperSandro2000/imgbot
[ImgBot] optimizes images
2018-03-23 15:30:39 +01:00
Al 4baba035dd Merge pull request #286 from SuperSandro2000/fix-ocd
Proper variable naming
2018-03-23 15:12:49 +01:00
ImgBotApp 5eb03a687c [ImgBot] optimizes images
*Total -- 173.23kb -> 19.45kb (88.77%)

/src/resources/multiply-red.png -- 15.64kb -> 0.65kb (95.84%)
/src/resources/archive-conflict-neutral.png -- 17.63kb -> 0.83kb (95.31%)
/src/resources/archive-conflict-loser.png -- 17.63kb -> 0.87kb (95.09%)
/src/resources/archive-conflict-winner.png -- 17.63kb -> 0.92kb (94.8%)
/src/resources/archive-conflict-mixed.png -- 17.63kb -> 0.95kb (94.63%)
/src/resources/switch-instance-icon.png -- 56.17kb -> 4.23kb (92.47%)
/src/resources/open-Folder-Icon.png -- 16.53kb -> 1.40kb (91.53%)
/src/resources/contents/conversation.png -- 1.47kb -> 0.81kb (44.75%)
/src/resources/contents/breastplate.png -- 1.39kb -> 0.77kb (44.47%)
/src/resources/contents/locked-chest.png -- 1.41kb -> 0.78kb (44.38%)
/src/resources/contents/lyre.png -- 1.36kb -> 0.76kb (43.59%)
/src/resources/contents/usable.png -- 1.31kb -> 0.81kb (37.99%)
/src/resources/contents/hand-of-god.png -- 1.08kb -> 0.67kb (37.6%)
/src/resources/contents/double-quaver.png -- 0.99kb -> 0.63kb (36.57%)
/src/resources/contents/jigsaw-piece.png -- 0.93kb -> 0.66kb (28.78%)
/src/resources/contents/tinker.png -- 1.01kb -> 0.72kb (28.52%)
/src/resources/contents/empty-chessboard.png -- 0.69kb -> 0.52kb (23.94%)
/src/resources/contents/checkbox-tree.png -- 0.64kb -> 0.52kb (19.15%)
/src/resources/check.png -- 0.44kb -> 0.39kb (13.19%)
/src/resources/contents/config.png -- 0.54kb -> 0.47kb (13.04%)
/src/resources/document-save.png -- 1.12kb -> 1.09kb (2.87%)
2018-03-23 14:09:58 +00:00
Brian Munro dd288fe152 Merge pull request #284 from LePresidente/Develop
Updater and Issue reports now point to Modorganizer2/modorganizer
2018-03-22 09:46:09 +02:00
LePresidente ba0a1bd501 Updater and Issue reports now point to Modorganizer2/modorganizer 2018-03-22 09:41:35 +02:00
Jeremy Rimpo 2d2a2b8b74 Merge pull request #281 from SuperSandro2000/patch-1
Added new repos
2018-03-21 10:17:54 -05:00
Sandro Jäckel 0e0c72422c Added new repos 2018-03-21 10:05:37 +01:00
Sandro Jäckel 82d4742e28 Proper variable naming
and fixed Sandros OCD
2018-03-21 08:23:03 +01:00
Jeremy Rimpo 3cceb6502c Merge pull request #280 from Al12rs/Develop
Fixed preview "file not found" error if the mod folder containing the…
2018-03-20 21:41:37 -05:00
Al12rs 92a8a3dce8 Fixed preview "file not found" error if the mod folder containing the file was on a different drive. 2018-03-21 00:12:39 +01:00
Jeremy Rimpo bcc4c8d6aa Update BY SA v3 license file to match others 2018-03-20 17:18:57 -05:00
Jeremy Rimpo 149ce846b5 Installer license not needed for application 2018-03-20 17:12:25 -05:00
Jeremy Rimpo 192b0bafa5 Update about dialogue and licenses 2018-03-20 17:11:00 -05:00
Jeremy Rimpo 0c792d548f Fix lootcli destroying loadorder on newer games 2018-03-20 17:10:35 -05:00
Jeremy Rimpo 336216ba9a Various save game improvements related to script extender files
* Improve handling of SE save transfers and deletes with main save
* Add indicator in save popup dialog if SE save file is present
2018-03-20 01:29:31 -05:00
Al b71d472e08 Merge pull request #276 from Al12rs/Develop
Disabled iniTweaks, added resources, a few ui fixes and text changes.
2018-03-18 10:06:04 +01:00
Al12rs bbce6506cd Fixed another typo in the same resource 2018-03-17 14:41:43 +01:00
Al12rs 2def87a143 Fixed a typo of the added resource. 2018-03-17 12:42:15 +01:00
Al12rs 90165b02ab Disabled iniTweaks part of modinfodialog until it is not fixed. 2018-03-17 01:08:02 +01:00
Al12rs 8095be550f Added archive-conflict icons to resources. 2018-03-17 00:58:55 +01:00
Al12rs 2fa1b04cd4 Various text and ui changes:
Added description to CSV export.
Added line to delete instance error message.
Changed delete instance icon for the list of instances.
Added red X in the resources, thanks to twizz0r.
2018-03-16 18:02:57 +01:00
Al a4b0524c70 Merge pull request #274 from Al12rs/Develop
Fixed default size and positioning of some ui elements to accomodate …
2018-03-15 19:28:27 +01:00
Al12rs 8dee1d108b Fixed default size and positioning of some ui elements to accomodate the new ones.
Fixed incorrect settings for the layout stretching.
2018-03-15 15:21:37 +01:00
Jeremy Rimpo e0f003a9a6 Merge pull request #273 from Al12rs/Develop
Fixed file preview bug, wrong nexus urls in csv export and reverted some ui changes from Creator
2018-03-12 17:36:01 -05:00
Al12rs ccb5ad53e2 Fixed wrong Nexus page url in CSV export. 2018-03-12 23:18:03 +01:00
Jeremy Rimpo 9c596ceb79 Merge pull request #271 from AnyOldName3/qtdds-dll-deployment
Deploy the qtdds.dll as part of the MO install
2018-03-12 14:58:04 -05:00
Al12rs 8305d92157 Reverted some changes added by Qt configurator that caused some wird stretching of the mainwindow. I suspect this is caused by the fact that the archive tab was not disabled in a way that Configurator liked and it is messing with it. 2018-03-12 20:54:30 +01:00
Al12rs 9f61ef5c9e Added a check to the preview function to handle tha case of the file beeing from the actual data folder instead of a mod. 2018-03-12 20:53:33 +01:00
Brian Munro 887d464f2c Merge pull request #272 from SuperSandro2000/patch-1
Updated Repository links
2018-03-12 18:28:45 +02:00
Sandro Jäckel 0d4a59fd91 Missed one 2018-03-12 17:10:49 +01:00
Sandro Jäckel 8f8beea427 Updated Repository links 2018-03-12 16:30:45 +01:00
AnyOldName3 0983c88c17 Deploy the qtdds.dll as part of the MO install 2018-03-11 23:15:07 +00:00
LePresidente 9ee2831c59 Fix library include for zlibstatic 2018-03-11 16:24:12 +02:00
LePresidente d6aab781ee Fix library include for zlibstatic 2018-03-11 16:21:06 +02:00
Sandro Jäckel a7f17c6429 Don't set zlib_root 2018-03-11 14:23:52 +02:00
Jeremy Rimpo 12161d68fb Merge pull request #270 from Modorganizer2/master
Pull master changes into develop
2018-03-10 18:35:05 -06:00
Jeremy Rimpo 090d660831 Merge pull request #268 from AnyOldName3/qt-deploy-fix
Improve Qt deployment so all DLLs are staged properly
2018-03-10 17:50:24 -06:00
AnyOldName3 b7b12bb789 Separate windeployqt calls into their own EXECUTE_PROCESS calls so that they run sequentially 2018-03-10 15:35:22 +00:00
Jeremy Rimpo 30a9f61d6d Merge pull request #266 from SuperSandro2000/Develop
Don't set zlib_root
2018-03-09 18:12:58 -06:00
Sandro Jäckel f7ab05767c Update readme.md 2018-03-09 18:32:07 +01:00
Sandro Jäckel d7e6adb3de Don't set zlib_root 2018-03-09 18:25:48 +01:00
Jeremy Rimpo 00d8c517ec Merge pull request #263 from SuperSandro2000/master
Added qdds.dll as Qt no longer contains it
2018-03-08 16:46:38 -06:00
Jeremy Rimpo c7f660e061 Remove outdated namespacing and correct the PATH setting to appends dlls 2018-03-08 15:55:24 -06:00
Sandro Jäckel d59b28847c Added qdds.dll as Qt no longer contains it 2018-03-08 22:33:23 +01:00
Al 5b565b5634 Merge pull request #259 from Al12rs/Dev
Added check for mod rename and a number of small ui changes.
2018-03-08 22:27:20 +01:00
Al12rs 673a5034f0 Added check for mod rename to ensure the new name is not already used by another mod. 2018-03-07 14:41:48 +01:00
Al12rs 7c87e9a645 Edited "Add/Remove category" menu entry text to "Change Category". 2018-03-07 14:41:26 +01:00
Al12rs 52501e73c9 Updated Open Folder icon as it was not very distinguishable. 2018-03-07 14:40:53 +01:00
Al12rs 513c062932 Inverted position of reinstall and remove mod, as per user request. 2018-03-07 14:39:25 +01:00
Al12rs 7cf0c1a29b Changed tooltip of Open Folder menu. 2018-03-07 14:38:59 +01:00
Al12rs a873f7cfe2 Removed "Repace category" menu option from the modlist as it was redundant and cluttering the menu. 2018-03-07 14:38:30 +01:00
Al12rs 1b85cda626 Added open logs folder to open folder toolbar dropdown. 2018-03-07 14:37:12 +01:00
Brian Munro c7e1d9738f Merge pull request #252 from LePresidente/new_vfs_library
Update master to latest stable code.
2018-03-05 11:35:58 +02:00
Brian Munro a540a542a4 Merge branch 'master' into new_vfs_library 2018-03-05 11:35:47 +02:00
Jeremy Rimpo 3eee61c67b Merge branch 'new_vfs_library' of github.com:LePresidente/modorganizer into new_vfs_library 2018-03-05 00:14:16 -06:00
Jeremy Rimpo 3556d4f58f Light flagged master support and other minor changes 2018-03-05 00:13:09 -06:00
Al 8e97f3f84c Merge pull request #251 from SuperSandro2000/readme
Added GPLv3 license to repo
2018-03-03 21:30:16 +01:00
Sandro Jäckel e6f999ffbb Added license 2018-03-03 14:23:12 +01:00
Al 5fcd51aad8 Merge pull request #247 from Al12rs/new_vfs_library
- Added "Open Folders" drop-down menu over modlist.
2018-02-28 21:00:11 +01:00
Al12rs c1421d0734 - Added Open Folders drop-down menu over the modlist (using new custom icon) and moved there all previuolsy added "open <> folder" menu options.
- Added "Open MO install folder" option.
2018-02-28 20:57:08 +01:00
Al 4a45e1a2a7 Merge pull request #239 from SuperSandro2000/readme
Update readme.md
2018-02-26 21:45:38 +01:00
Al 50c244d7e1 Merge pull request #244 from Al12rs/new_vfs_library
Added new stylesheets and changed border of clear filter button.
2018-02-26 21:44:09 +01:00
Al12rs b82f9f1006 Added two custom stylesheets created by AlcoholSwabs on nexus that he very kindly gave permissions to include in MO2 releases. 2018-02-26 21:35:37 +01:00
Al12rs 8ebd79ee71 Reduced Clear filter red border to one pixel instead of two. 2018-02-26 21:34:14 +01:00
Sandro Jäckel e70ee1e895 Update readme.md 2018-02-23 12:40:49 +01:00
Brian Munro 0a4fa10ca4 Merge pull request #237 from SuperSandro2000/new_vfs_library
Revert "Applied clang-format on source"
2018-02-23 06:38:12 +02:00
Sandro Jäckel ea6292168a Revert "Applied clang-format on source"
This reverts commit 5e5c9c0729.
2018-02-23 01:45:58 +01:00
Brian Munro 28714f0eb8 Merge pull request #236 from SuperSandro2000/new_vfs_library
Update reame.md
2018-02-22 18:02:02 +02:00
Sandro Jäckel 5e5c9c0729 Applied clang-format on source 2018-02-22 16:54:34 +01:00
Sandro 5ad912e193 Update CMakeLists.txt
project name was different than I thought
2018-02-22 16:46:43 +01:00
Sandro Jäckel 0fa6f7feff Merge remote-tracking branch 'upstream/new_vfs_library' into new_vfs_library 2018-02-22 16:38:30 +01:00
Sandro Jäckel (SuperSandro2000) ee7d801b86 Added truly all Repos to readme.md and changed a few bits 2018-02-22 16:31:11 +01:00
Sandro 1cdfb7105d Update CMakeLists.txt
project name was different than I thought
2018-02-22 16:27:53 +01:00
Brian Munro 0bcd752b27 Merge pull request #235 from SuperSandro2000/patch-2
Make sure that we get all files for sure
2018-02-22 15:05:49 +02:00
Sandro 1f34f7d8c1 Make sure that we get all files for sure 2018-02-22 13:28:02 +01:00
Brian Munro c2cc2a82c8 Merge pull request #234 from SuperSandro2000/patch-2
Update CMakeLists.txt
2018-02-22 12:32:56 +02:00
Sandro 7e2b83c922 Update CMakeLists.txt
project name was different than I thought
2018-02-22 11:32:15 +01:00
Brian Munro 9624d86b46 Merge pull request #233 from SuperSandro2000/patch-1
set MO as StartUp Project
2018-02-21 10:58:06 +02:00
Sandro 9fd3f6c4e4 set MO as StartUp Project
Sets MordOrganizer as StartUp Project in VisualStudio.
Reference: https://stackoverflow.com/a/37994396/4446318
2018-02-20 12:14:24 +01:00
Al 4804903f3a Merge pull request #231 from Al12rs/new_vfs_library
Changed switch instance icon and tooltip
2018-02-18 18:47:51 +01:00
Al12rs 61898074fe Changed switch instance icon and tooltip 2018-02-18 16:43:16 +01:00
Al ea7c391c33 Updated description and links 2018-02-16 10:29:20 +01:00
Al 7dfe0c9a8f Merge pull request #229 from SuperSandro2000/patch-1
Updated repo links in Readme to LePresidente ones
2018-02-16 10:10:53 +01:00
Sandro 0241d71da3 Updated repo links in Readme to LePresidente ones
Info: https://github.com/TanninOne/modorganizer-tool_nmmimport has not been forked by LePresidente
2018-02-16 09:11:00 +01:00
Al 5be7c9a0b5 Merge pull request #228 from Al12rs/new_vfs_library
Export to csv feature changes and added clear filter button.
2018-02-15 12:23:33 +01:00
Al12rs f7374a8525 - Added "Clear all Filters" button with red outline that only shows up if one or more filters are selected.
- Fixed a bug that would not allow the already present "Clear" button under the filters tab to clear "contains" type of filters.
- Fixed a bug that enabled the "Clear" button at the start even if there were no filters selected.
2018-02-15 01:56:40 +01:00
Al12rs dd8f73178c Small changes to make the modlist context menu more organized. 2018-02-14 20:08:31 +01:00
Al12rs 3f5f56397b - Complete overhaul of export to csv feature with custom column selection and added entries.
Basically I added a new dialog to ask the user if he wants all/enabled/visible mods and what columns to include via checkboxes.
Also added Mod_Status column.
2018-02-14 20:07:53 +01:00
Al12rs e85285934e - Added mod priority, primary category, install date and nexus url columns to Export to csv feature.
- Changed priority and install date format to be sortable in csv columns.
2018-02-13 23:49:18 +01:00
Al12rs e1fc0d22b6 - Fixed a bug that would keep re-activating the "Create files in mod instead of Overwrite" setting in the executable dialog after the user activated it for the first time.
Basically it looked in the stored settings to see if there was an entry for that executable to decide if the checkbox was to be enebled but never deleted that entry if the checkbox was then deselected.
2018-02-13 21:02:56 +01:00
Al12rs 9ddbf25809 Added support for High DPI Scaling for higher resolution monitors. 2018-02-12 17:19:07 +01:00
Al12rs ed08faa4a8 - Changed "Remove Installed" and "Delete Installed" Downloads menu options to not consider the Downloads of Mods that were uninstalled.
- Changed Downloads menu options to say "Hide all..." instead of "Remove all...".
2018-02-12 17:18:18 +01:00
Al12rs 0c4cdb89ad Changed the data tab to remember the current expanded folders when hiding or un-hiding a file. Using the refresh button will close alll the expanded nodes an return to the initial state as it did before. 2018-02-08 22:59:35 +01:00
Jeremy Rimpo 28b0411cca Merge pull request #219 from Al12rs/new_vfs_library
Fixed customOverwrite, reverted nxm handler commit, added a few menu options.
2018-02-07 14:08:17 -06:00
Al12rs d6b645413c Revert "Fixed nexus link handling to use gameNexusName() instead of gameShortName()."
This reverts commit ca54760c13.
2018-01-27 12:28:56 +01:00
Al12rs 3a17614bed Added "open downloads folder", "open profile folder", "open game fodler" and "open MyGames fodler" to the menu entries options of the mainwindow.
Changed the menu entry "open in explorer" of overwrite to show even if overwrite is empty.
2018-01-26 18:24:36 +01:00
Al12rs ba0cd0e10d Fixed customOverwrite setting for executables.
The setting was not being passed to spawnBinary() and was left empty. Just added a couple lines to pass that too. If the setting is disabled cutomOverwrite should be empty and the normal overwrite folder will be used instead.
2018-01-24 13:43:53 +01:00
Jeremy Rimpo 8c34131bb8 Merge pull request #209 from Al12rs/new_vfs_library
Added a delete Instances dialog and various other things.
2018-01-22 14:06:36 -06:00
Al12rs 3fdb00e0c9 Added "Open instance folder" entry to the small options list menĂą. 2018-01-19 12:46:07 +01:00
Al12rs 95b258c0df Updated InstanceSelection dialog to be slighly more clear. 2018-01-19 11:53:47 +01:00
Al12rs 45b3614fbc fixed a typo in the label text 2018-01-19 01:13:45 +01:00
Al12rs 7dbb4cedda Added message when creating a new instance with an already existing name,
Aldded manageInstances dialog to allow users to delete local instances,
Added a number of confirmation messageboxes.
2018-01-18 19:57:52 +01:00
Brian Munro 5d5a7b8511 Merge pull request #203 from erasmux/dev
Add warning when MO1 hook.dll is left in game folder
2018-01-13 11:27:09 +02:00
Brian Munro 0413bf27a5 Merge pull request #199 from matzman666/new_vfs_library
Fixed handling of nexus links for FO4VR.
2018-01-13 11:27:01 +02:00
Eran Mizrahi d267b8aaf3 Add warning when MO1 hook.dll is left in game folder 2018-01-13 00:34:07 +02:00
matzman666 ca54760c13 Fixed nexus link handling to use gameNexusName() instead of gameShortName(). 2018-01-06 21:36:21 +01:00
Jeremy Rimpo d2c5ed352d Merge pull request #195 from erasmux/dev
Cleaner openssl deployment and add diagnostics for openssl loading
2018-01-05 23:15:07 -06:00
Eran Mizrahi 71995f0343 preload openssl dlls (probably unnecessary but can help troubleshooting openssl issues) 2018-01-06 06:43:00 +02:00
Eran Mizrahi 5579db7f90 remove opensll dll from manifest 2018-01-06 06:43:00 +02:00
Jeremy Rimpo d2f90e6a76 Merge pull request #193 from erasmux/dev
Log MO version + remove downloads auto scrolling
2018-01-05 10:16:34 -06:00
Eran Mizrahi 785852cf21 Don't auto scroll down the downloads list (even when a file was downloaded) 2018-01-04 23:41:44 +02:00
Eran Mizrahi 14b06dd2e8 Don't auto scroll down the downloads list 2018-01-04 21:01:30 +02:00
Eran Mizrahi 58ec83f8c8 Log the MO version for diagnostic purposes 2018-01-04 21:01:30 +02:00
Jeremy Rimpo d06972729d Merge pull request #180 from erasmux/dev
Prefer hiding the MO proxy when waiting for spawned processes
2018-01-01 21:16:06 -06:00
Eran Mizrahi 39efb9a7c2 Prefer hiding the MO proxy when waiting for spawned processes 2017-12-29 15:32:25 +02:00
LePresidente c1a56f77ea Version bump to 2.1.1 2017-12-27 17:48:02 +02:00
Brian Munro 91bd9b1eb6 Merge pull request #168 from erasmux/dev
Various fixes
2017-12-27 10:40:59 +02:00
Eran Mizrahi 548744d746 Don't log username and password 2017-12-27 04:18:46 +02:00
Eran Mizrahi 57e65abf75 Clean up proxy spawning a process (cleaner args forwarding and QProcess had some problems even without arguments) 2017-12-27 02:43:33 +02:00
Eran Mizrahi d41cd8d877 Virtualize spawning of executable also if working directory is under mods folder 2017-12-27 02:41:43 +02:00
Eran Mizrahi 9c82a1102e Enable open in explorer option also for overwrite 2017-12-27 02:41:42 +02:00
Eran Mizrahi e623c13400 Add clear overwrite option 2017-12-27 02:41:42 +02:00
Eran Mizrahi 9c9a43ec8d print settings loading and changes to log for diagnostic purposes 2017-12-27 02:41:42 +02:00
Eran Mizrahi eb3cfe2594 Default to sorting newest download first 2017-12-26 21:01:57 +02:00
Eran Mizrahi 482f3d1f6d Show the newly added mod when creating an empty mod 2017-12-26 19:38:37 +02:00
Eran Mizrahi fed4ea257a Fix mods priorities getting messed up when renaming a mod 2017-12-26 19:07:55 +02:00
LePresidente 35e0bc2285 Disable BSA Conflict Checking.
Version Bump to 2.1.0.1 (Once off using the 4th point do to change being so minor) Next version will be 2.1.1
2017-12-26 11:53:29 +02:00
LePresidente 2ea23c4129 Disable the bsa tab for release
Version bump to 2.1.0
Updated about window
2017-12-25 07:04:55 +02:00
Brian Munro 100f57dea1 Merge pull request #161 from erasmux/deactivate_bug_fix
Fix rare crash when deactiving mods
2017-12-24 17:37:54 +02:00
Eran Mizrahi 708928e643 Fix rare crash when deactiving mods 2017-12-24 17:24:46 +02:00
Brian Munro db1e63dc72 Merge pull request #160 from erasmux/dev
Deploy also styles/qwindowsvistastyle.dll
2017-12-24 09:06:54 +02:00
Eran Mizrahi 74e88b00c8 Deploy also styles/qwindowsvistastyle.dll 2017-12-22 11:37:06 +02:00
Brian Munro 28a68cf51b Merge pull request #156 from erasmux/vs_usvfs_plus_various_fixes
Vs usvfs plus various fixes
2017-12-21 08:31:25 +02:00
Eran Mizrahi a24a1cbf25 Hide boost compiler version warnings 2017-12-20 02:14:14 +02:00
Eran Mizrahi 0c75ff1836 Fix modorganizer staging 2017-12-20 02:00:56 +02:00
Eran Mizrahi 5c192fb8c5 Use Qt deploy also for Qt plugins (cherry picking only the ones we need) 2017-12-19 15:44:28 +02:00
Eran Mizrahi 80fc713273 fix usvfs includes (following usvfs VS project) 2017-12-19 15:44:28 +02:00
Eran Mizrahi cb1c9f5e83 Tie moshortcuts to a specific instance 2017-12-19 15:44:27 +02:00
Eran Mizrahi 7dad8bcb28 avoid splash screen when running a shortcut 2017-12-18 20:04:45 +02:00
Eran Mizrahi 302a9b744d Ensure clearing currentInstance reg key when selecting portable install 2017-12-18 20:04:45 +02:00
Eran Mizrahi ff31ce636b Fix mod rename with custom profiles path 2017-12-18 20:04:44 +02:00
Eran Mizrahi 90421277e7 Ensure all mostlist writing is done through the DelayedFileWriter 2017-12-18 20:04:44 +02:00
Eran Mizrahi 4656ba9447 Increase mo_interface log to help diagnose problems 2017-12-18 20:03:05 +02:00
Jeremy Rimpo b157ebb28c Merge pull request #154 from Silarn/mainline_dev
Implementing archive parsing some prioritization
2017-12-17 21:36:57 -06:00
Jeremy Rimpo 385a888c0b Implement file priority for loose files > archives 2017-12-17 21:33:04 -06:00
Jeremy Rimpo 7b45d807d6 Restore archive tab and partial functionality 2017-12-15 15:01:39 -06:00
Jeremy Rimpo f0597eb243 Merge remote-tracking branch 'up/new_vfs_library' into mainline_dev 2017-12-15 14:39:29 -06:00
Eran Mizrahi 8839e11636 Improve responsiveness of unlock button 2017-12-13 16:53:20 -06:00
Eran Mizrahi 240cbd6a27 Wait for injected processes on MO close 2017-12-13 16:53:20 -06:00
Eran Mizrahi 81344771dd Locked dialog fixes (fix mainwindow modalness; use normal window to fix parentless scenario) 2017-12-13 16:53:20 -06:00
Eran Mizrahi 2c28107ae8 fix waitForProcessCompletion bug 2017-12-13 16:53:20 -06:00
Eran Mizrahi da35cd3ea0 Allow silent closing during instance selection 2017-12-13 16:53:20 -06:00
Eran Mizrahi bd48d2f8bc Remove auto-generated files from source control 2017-12-13 16:53:20 -06:00
Jeremy Rimpo 554b468475 Merge pull request #148 from erasmux/lockeddialog_fixes
Lockeddialog fixes
2017-12-13 15:58:43 -06:00
Eran Mizrahi 604d86ed07 Improve responsiveness of unlock button 2017-12-13 22:27:11 +02:00
Eran Mizrahi a5bb70f53b Wait for injected processes on MO close 2017-12-13 22:27:11 +02:00
Eran Mizrahi 0586b2856b Locked dialog fixes (fix mainwindow modalness; use normal window to fix parentless scenario) 2017-12-13 22:27:11 +02:00
Eran Mizrahi 184b6d3907 fix waitForProcessCompletion bug 2017-12-13 22:27:11 +02:00
Eran Mizrahi 4d54b962aa Allow silent closing during instance selection 2017-12-13 22:27:11 +02:00
Eran Mizrahi 6773e14fc5 Remove auto-generated files from source control 2017-12-13 22:27:11 +02:00
Jeremy Rimpo e4b952278d Merge pull request #147 from Silarn/mainline_dev
Insert the game rather than replacing the current entry
2017-12-13 13:39:24 -06:00
Jeremy Rimpo dda5272dc9 Insert the game rather than replacing the current entry 2017-12-13 13:38:33 -06:00
Jeremy Rimpo 062e0cce2d Merge pull request #145 from Silarn/mainline_dev
A number of fixes and improvements
2017-12-13 13:10:09 -06:00
Jeremy Rimpo 027f941bb1 Properly shut down QtWebEngine 2017-12-13 12:29:23 -06:00
Jeremy Rimpo 083d107875 A number of improvements and fixes
* Move diagnostics tab to un-break tutorials targeting tab 3
* Restrict order locking for force-enabled plugins
* Cascade locked positions in the case of a conflict
* Should remove existing invalid locks
* Add some info to primary plugins in plugin list
* Differentiate plugin names for DLC and CC content
2017-12-13 03:11:03 -06:00
Jeremy Rimpo 2226a483d1 Merge pull request #144 from erasmux/crash_fixes
Crash dumps fixes
2017-12-12 15:43:21 -06:00
Eran Mizrahi 240900de39 Move crash dumps to instance-dependant data folder 2017-12-12 23:22:04 +02:00
Eran Mizrahi 2c69f9c407 call previous unhandled exception filter 2017-12-11 20:23:42 +02:00
Eran Mizrahi ebb30e0c37 Revert "Collect crash dumps also for vectored exceptions"
This reverts commit b75e3c1231.
2017-12-11 20:13:35 +02:00
Jeremy Rimpo 361e59e40d Merge pull request #140 from erasmux/shortcut_fixes
Shortcut fixes
2017-12-11 09:53:28 -06:00
Eran Mizrahi ad702537bd Use single instance also for MO shortcuts 2017-12-11 00:11:17 +02:00
Eran Mizrahi ebf378cda0 Turn on application icon for executables by default 2017-12-10 23:45:20 +02:00
Eran Mizrahi d43f35f56b Run shortcuts using moshortcut:// to avoid command line problems 2017-12-10 23:33:01 +02:00
Eran Mizrahi db973f7422 Allow copying an executable without changing details 2017-12-10 23:32:29 +02:00
Eran Mizrahi 7ab98cb451 move crash dumps to their own folder 2017-12-10 21:34:19 +02:00
Brian Munro a4e43b68cd Create ISSUE_TEMPLATE.md
Added issue template for future issues to stick to a standard
2017-12-10 15:52:59 +02:00
LePresidente bf02d13ed4 Added issue template for future issues to stick to a standard 2017-12-10 15:50:15 +02:00
Jeremy Rimpo b2d7181ca7 Merge pull request #139 from erasmux/better_diagnostics_and_shortcuts_fix
Better diagnostics and shortcuts fix
2017-12-09 23:44:21 -06:00
Eran Mizrahi 689248619a rewrite waitForProcessCompletion more robustly 2017-12-10 02:53:20 +02:00
Eran Mizrahi 66b17eea8a Wait for processes run using command line shortcuts 2017-12-10 02:53:19 +02:00
Eran Mizrahi 89b1f1d48d add logging of process spawn 2017-12-10 02:53:19 +02:00
Eran Mizrahi b75e3c1231 Collect crash dumps also for vectored exceptions 2017-12-10 02:53:19 +02:00
Eran Mizrahi 1b4b6dbeb4 cycle crash dumps 2017-12-10 02:53:19 +02:00
Eran Mizrahi 4adb13c943 generate dumps using new diagnostics settings 2017-12-10 02:53:09 +02:00
Eran Mizrahi 54fd26fee1 new diagnostics settings dialog tab 2017-12-10 02:53:08 +02:00
Brian Munro 0aaece55d8 Merge pull request #138 from Silarn/mainline_dev
Fixes for local saves and configuration handling
2017-12-08 19:41:04 +02:00
Jeremy Rimpo ef21bd6193 Scan for and include script extender save files when transferring saves 2017-12-08 02:42:34 -06:00
Jeremy Rimpo b45b6f3342 Don't set save path or mygamesdirectory in initweaks 2017-12-07 21:53:31 -06:00
Jeremy Rimpo d7a1955f18 Use settings to get correct overwrite path for relative location calc.
(Fixes drag & drop from overwrite to mods.)
2017-12-07 14:04:45 -06:00
Jeremy Rimpo 7c80181e01 Merge pull request #137 from Silarn/mainline_dev
Minor correction of HTML structure
2017-12-07 10:58:40 -06:00
Eran Mizrahi 88e218d83e Fix lootcli sorting when temp dir contains a space (i.e. user name has a space) 2017-12-07 10:56:41 -06:00
Eran Mizrahi 720e4dd516 update gitignore 2017-12-07 10:56:41 -06:00
Jeremy Rimpo 2497d4e151 Merge pull request #136 from erasmux/dev
Small fix when running lootcli and temp dir contains a space (i.e. user name has a space)
2017-12-07 10:50:05 -06:00
Eran Mizrahi 9a2a1a4301 Fix lootcli sorting when temp dir contains a space (i.e. user name has a space) 2017-12-07 18:22:37 +02:00
Eran Mizrahi b3898c5d66 update gitignore 2017-12-07 18:20:51 +02:00
Jeremy Rimpo 6794713165 Minor change to correct broken HTML tags 2017-12-06 20:41:03 -06:00
Brian Munro fa598e86db Merge pull request #135 from LePresidente/QT5.7
All changes done for 2.1.0
2017-12-05 06:34:47 +02:00
Jeremy Rimpo ffdc5ca7cc Merge pull request #133 from Silarn/mainline_dev
Final highlighting changes
2017-12-02 13:38:26 -06:00
Jeremy Rimpo e19597ee4e Final highlighting changes 2017-12-02 13:36:33 -06:00
Jeremy Rimpo c55a923bb8 Merge pull request #132 from Silarn/mainline_dev
Numerous updates
2017-11-30 20:55:00 -06:00
Jeremy Rimpo 797a007eab Add unmanaged mods and fix plugin identification 2017-11-30 17:34:28 -06:00
Jeremy Rimpo d7bc542b3d Implement mod/plugin highlighting when pair is selected 2017-11-30 16:37:14 -06:00
Jeremy Rimpo 977d562976 Set the default WebEngineProfile settings to webcache 2017-11-30 00:36:10 -06:00
Jeremy Rimpo af16521a2d Merge remote-tracking branch 'up/QT5.7' into mainline_dev 2017-11-15 18:34:00 -06:00
Jeremy Rimpo 581a8871c6 Category fixes 2017-11-15 18:33:54 -06:00
Jeremy Rimpo 53a54230eb Add resource image for MCM detection 2017-11-13 08:47:44 -06:00
Brian Munro 7ec0b79eb4 Merge pull request #126 from Al12rs/QT5.7
Fix for MO finding the wrong game to manage.
2017-11-11 21:00:28 +02:00
Al12rs 3974ddced4 Fix for MO finding the wrong game to manage.
Commented out code that tried to deduce game and found wrong one. Now, if not already set in INI, file MO will ask the user which one to manage.
2017-11-10 21:00:24 +01:00
Jeremy Rimpo d0099a9dbb Merge remote-tracking branch 'up/QT5.7' into mainline_dev 2017-11-10 14:00:11 -06:00
Jeremy Rimpo 3cf3de700e Add MCM detection (but doesn't fix loading issues :() 2017-11-08 19:30:20 -06:00
Jeremy Rimpo 9ec913945a Add missing Nexus categories 2017-11-08 19:29:10 -06:00
Jeremy Rimpo 092596f57a Don't truncate, bypass the issue by fixing the progress window size 2017-11-07 23:31:07 -06:00
Jeremy Rimpo 8d5c67296f Forcing the progress window to resize seems to hang the extraction process 2017-11-07 22:18:55 -06:00
Jeremy Rimpo 58e17777de Merge pull request #125 from Helidoc65/QT5.7
Fixed to get rid of WindowsWindow::setGeometry: Unable to set geometry bug.
2017-11-07 11:49:06 -06:00
Helidoc65 836e550dd0 Add files via upload
Fixed to get rid of WindowsWindow::setGeometry: Unable to set geometry bug.
2017-11-07 10:42:43 -07:00
Jeremy Rimpo 4cd09a2f3b Wait for mousebutton to reduce MO cpu use while waiting 2017-11-05 14:03:02 -06:00
Jeremy Rimpo a92fc98246 Remove cruft and reapply input event listening on subprocess delay 2017-11-05 13:47:00 -06:00
Jeremy Rimpo 9a3cf3bc1c Merge pull request #121 from Silarn/mainline_dev
Rework waitForProcessCompletion - reduce handle use and add delay
2017-11-05 03:52:22 -06:00
Jeremy Rimpo 853c42081d Rework waitForProcessCompletion - reduce handle use and add delay 2017-11-05 01:45:57 -06:00
LePresidente 901bf0059d processes should be deleted at end of waitForProcessCompletion 2017-11-04 09:54:47 +02:00
Jeremy Rimpo b2d0abe0e4 Merge pull request #120 from Silarn/mainline_dev
Fix remaining handle leaks
2017-11-02 16:05:09 -05:00
Jeremy Rimpo 00af56f7c7 Fix remaining handle leaks 2017-11-02 16:01:55 -05:00
Jeremy Rimpo 55a65b16cc Merge pull request #119 from Silarn/mainline_dev
Process completion fixes
2017-11-02 01:55:13 -05:00
Jeremy Rimpo 51ad72c74d Process completion fixes
* Closes all old handles
* Hides 'unknown' processes
* Correctly detects process chains
2017-11-02 01:41:11 -05:00
Brian Munro 080cfeea41 Merge pull request #117 from Al12rs/QT5.7
Added !found condition to for loop to avoid possible leak.
2017-11-01 06:38:14 +02:00
Jeremy Rimpo ef699514c9 Merge pull request #118 from Silarn/mainline_dev
Do not attempt to add or delete if arch not found
2017-10-31 21:32:19 -05:00
Jeremy Rimpo 087f3841f3 If architecture is not detected, skip handling 2017-10-31 21:29:12 -05:00
Jeremy Rimpo 627660ebb7 Merge remote-tracking branch 'up/QT5.7' into mainline_dev 2017-10-31 17:20:18 -05:00
Al12rs 0825cd0f20 Added !found condition to for loop to ensure that a valid processHandle can't be overwritten to avoid handle leaks. 2017-10-31 23:20:06 +01:00
LePresidente 66e04f636e Merge branch 'QT5.7' of https://github.com/LePresidente/modorganizer into QT5.7 2017-10-31 16:06:38 +02:00
LePresidente 6c54ef5ec2 More fixes to waitForProcessCompletion 2017-10-31 16:00:58 +02:00
Brian Munro 9cc196ae3a Merge pull request #114 from Al12rs/QT5.7
Changed segment of while condition in waitForProcessCompletion()
2017-10-31 15:24:40 +02:00
Al12rs c8118ea0fa Merge pull request #1 from LePresidente/QT5.7
merge pull request: multiple fixes to waitForProcessCompletion.
2017-10-31 12:05:57 +01:00
LePresidente 2f1d270c08 multiple fixes to waitForProcessCompletion. 2017-10-31 12:13:25 +02:00
Jeremy Rimpo 5cb0d1cb3d Merge pull request #2 from Al12rs/QT5.7
Merge upstream + potential while fix
2017-10-30 17:45:03 -05:00
Al12rs d53591c6c9 Changed segment of while condition in waitForProcessCompletion() from OR to AND as it alwais evaluated true. 2017-10-30 19:56:23 +01:00
LePresidente 701e6e4927 Close the handle that is created by FindFirstFileW correctly. 2017-10-30 15:30:28 +02:00
Brian Munro d15262b903 Merge pull request #113 from Silarn/mainline_dev
Updates for script extender usvfs loading
2017-10-30 12:41:05 +02:00
Jeremy Rimpo 88452e5d76 Reimplement ScriptExtender handling by detecting USVFS arch 2017-10-29 19:34:35 -05:00
LePresidente cabffa23a9 Use ScriptExtender PluginPath instead of appending "/plugin" to the old script extender name variable. 2017-10-29 11:38:06 +02:00
Jeremy Rimpo 7e2811cb46 Merge remote-tracking branch 'up/QT5.7' into mainline_dev 2017-10-28 21:58:41 -05:00
LePresidente ebe6011174 Fixes the handle leak in the OrganizerCore::waitForProcessCompletion 2017-10-28 08:30:23 +02:00
Jeremy Rimpo d659ad7294 Update master parsing and detect ESLs by extension 2017-10-26 16:28:15 -05:00
LePresidente 139ee36a3f Fixes
https://github.com/LePresidente/modorganizer/issues/108
2017-10-26 15:50:35 +02:00
LePresidente 4124bc3976 Merge branch 'QT5.7' of https://github.com/LePresidente/modorganizer into QT5.7 2017-10-24 13:56:45 +02:00
LePresidente 643477de2f Updated dll manifest. 2017-10-24 13:56:06 +02:00
Brian Munro bf505d2d5f Merge pull request #107 from Silarn/mainline_dev
Hopefully final ESL corrections
2017-10-24 08:48:11 +02:00
Jeremy Rimpo 2866a494d4 Merge remote-tracking branch 'upstream/QT5.7' into mainline_dev 2017-10-24 01:45:59 -05:00
Jeremy Rimpo 56a3dd4624 Fix minor ESL issues and set a useful URL for issue reporting 2017-10-24 01:45:29 -05:00
Brian Munro 126f8deb55 Merge pull request #106 from Silarn/mainline_dev
Updates for tutorials and nexus description links
2017-10-24 06:18:00 +02:00
Jeremy Rimpo f0f2112c15 Merge remote-tracking branch 'upstream/QT5.7' into mainline_dev 2017-10-23 16:12:15 -05:00
Jeremy Rimpo 0c6f983148 Fix up tutorial scripts
* Patches for QtQuick 2.x
* Fix up tab refs, names, and other out-of-date info
2017-10-23 16:11:38 -05:00
Jeremy Rimpo ac3953030d Fix the nexus description link handler 2017-10-23 16:10:11 -05:00
LePresidente 03608230ac added a catch all for the remote version check when checking for updates. Should stop a hard crash but should probably be reviewed at a date. 2017-10-23 18:33:42 +02:00
Jeremy Rimpo fe44deb765 Update QtQuick import to 2.7 (for Qt 5.7) - works with 5.9
Requires update to uibase
2017-10-23 02:31:22 -05:00
LePresidente b09f8ce7b4 Updated version to 2.1.0beta
Added QtQuick to cmake to try address tutorial issue [Untested]
2017-10-22 21:05:06 +02:00
Brian Munro 2d4b463338 Merge pull request #104 from Silarn/mainline_dev
Updates for ESL support
2017-10-22 08:00:13 +02:00
Jeremy Rimpo e4d431fe21 Display the index of the ESL in the mod index space to differentiate ESLs 2017-10-21 23:00:32 -05:00
Jeremy Rimpo eaeb48d745 Correctly render the modindex for ESLs 2017-10-21 22:43:45 -05:00
Jeremy Rimpo b16a0ab3d9 Add ESL flag type detection
* ESL files can be sorted like ESMs
* ESL files are displayed italicized but not bold
2017-10-20 23:16:04 -05:00
Jeremy Rimpo a611c355ce Basic ESL updates 2017-10-20 20:27:06 -05:00
LePresidente 4689db7624 Fixed cmake to use the QTROOT Parameter instead of hard coding the directory, 2017-10-19 11:24:20 +02:00
LePresidente 8bea685640 windeployqt doesn't automatically detect the requirement for qtwebenginewidgets, so we force it. 2017-05-05 08:39:51 +02:00
LePresidente 91eaba8b44 Updated manifest to use new dll's. 2017-05-01 20:23:53 +02:00
Brian Munro 822534e16a Merge pull request #69 from LePresidente/new_vfs_library
Bring in line with main branch
2017-03-29 02:44:31 -07:00
LePresidente c64e12a289 Version Bump. 2.0.8.3b 2017-02-06 22:21:31 -08:00
Brian Munro 9438098cf1 Merge pull request #51 from ZachHaber/new_vfs_library
Fixed an issue with sort button
2017-01-25 23:53:10 -08:00
ZachHaber 4269e82c80 Fixed an issue with sort button
Sort button will now correctly create the new loadorder.txt.
2017-01-25 20:51:23 -06:00
Brian Munro d63c164a74 Merge pull request #49 from ZachHaber/new_vfs_library
Loot Button & Overwrite
2017-01-17 20:21:58 -08:00
ZachHaber 45cc67da05 Re-enabled the boss button
Properly this time =P
2017-01-17 17:14:38 -06:00
ZachHaber 0da2060da4 Revert "Loot Button"
This reverts commit f2b33d75cb.
2017-01-17 17:11:06 -06:00
ZachHaber 4149ce4cdb Fixing overwrite problems
Changes the organizerproxy to pull from the settings rather than try and
figure it out on its own.
2017-01-17 16:30:42 -06:00
ZachHaber f2b33d75cb Loot Button
Re-enabled the button
2017-01-16 19:34:02 -06:00
Brian Munro d869d99785 Version bump. 2017-01-13 09:15:43 +02:00
Brian Munro bfeda873c4 Merge remote-tracking branch 'ZackHaber-upstream/new_vfs_library' into new_vfs_library 2017-01-13 08:16:23 +02:00
Brian Munro c9766b6e1a Fixes the error code 5/6 issues 2017-01-11 15:47:09 +02:00
LePresidente 99156abc6e First attempt to update to QT5.7 2017-01-04 14:23:53 +02:00
Brian Munro 03328e9f55 Update selfupdater.cpp
Reverted Tabs to spaces
2017-01-03 19:36:15 +02:00
Brian Munro c48d1c36b7 Update mainwindow.ui
Reverted Tabs to spaces
2017-01-03 19:34:56 +02:00
ZachHaber 866a004438 Fixed pluginListPath to allow spaces
lootcli was failing on FO4 b/c it was passing in a space.
2016-12-28 03:37:14 -06:00
Zanoth 8b8ddc8163 Got rid of some unnecesarry code
Removed some parameters that were being sent to lootcli.exe that aren't
relevant anymore, commented out the report viewing, and set the
masterlist update boolean to switch only when there was no error.
2016-12-27 22:18:49 -06:00
ZachHaber 5dc1ee3da6 Adding *.bak to .gitignore
*.bak is winmerge's backup files, no point in adding that to git by
accident again.
2016-12-27 22:14:06 -06:00
ZachHaber dd653c3752 Remove excess file
Shouldn't have been committed.
2016-12-27 16:55:55 -06:00
ZachHaber a8556eacb6 Added preliminary support for changes to lootcli project
Hopefully re-enabled lootcli report. Added new argument for lootcli.exe:
pluginListPath, so it can determine what to read and thus change.
Need to figure out how to determine the current language in a format
that's easily understood.
2016-12-27 16:41:12 -06:00
ZachHaber f0810bfa43 Merge pull request #1 from LePresidente/new_vfs_library
Updating from LePresidente's changes
2016-12-27 14:53:03 -06:00
Brian Munro 7432f7870b Reverted Change
Reverted silly edit.
2016-12-21 13:11:23 +02:00
Brian Munro 71f9c4f69d Update organizercore.cpp
Shoud be an "or" query instead of "and",
2016-12-21 11:46:10 +02:00
LePresidente 71b4911c8c Build Number Version Bump. 2016-12-21 00:55:51 -08:00
LePresidente d1ed7ae5d7 Migrate to version numbers with buildnumber.
Added Comment for removal of ModBase::isOneof
2016-12-21 00:54:41 -08:00
LePresidente 1cf368c126 Reverted use of MOBase::isOneOf was causing the lock to fail. 2016-12-20 03:18:43 -08:00
Brian Munro cdf588e7c4 Added download location for furture releases,
Added download location for furture releases,
2016-12-13 07:26:25 +02:00
TanninOne a3671a5557 Merge pull request #1031 from LePresidente/new_vfs_library
New vfs library
2016-12-12 19:58:29 +01:00
LePresidente afa0cb9446 Version Bump,
Basic SkyrimSE changes
2016-12-12 05:12:20 -08:00
lepresidente 0657774e2e Use my repo for the updates for now. 2016-12-12 08:26:19 +02:00
lepresidente 695593968b updated email for dump reports. 2016-12-04 18:15:59 +02:00
lepresidente 61edeb12f1 gameShortName has been replaced by gameNexusName due to syrimse on nexus using skyrimspecialediton. 2016-12-04 17:56:07 +02:00
TanninOne 5ae681e6d5 Merge pull request #1023 from LePresidente/new_vfs_library
Updated icu libs to 54 in release build.
2016-11-30 20:53:52 +01:00
lepresidente db6b536fb1 Updated icu libs to 54 in release build. 2016-11-30 20:38:24 +02:00
Tannin 64590a10d7 Merge branch 'master' into new_vfs_library 2016-06-30 22:15:50 +02:00
TanninOne 4a582e524d Merge pull request #837 from ThosRTanner/issue/309
Changes for TanninOne/modorganizer#309 (3 of 3)
2016-06-30 19:03:45 +02:00
Tannin a00cda607c updated to changed usvfs api 2016-06-30 18:56:41 +02:00
Thomas Tanner 42407866e9 Some include-what-you-use suggested changes 2016-06-27 21:21:54 +01:00
Thomas Tanner c3a8a0b9eb Moved QuestionBoxMemory clearance from settings into QuestionBoxMemory 2016-06-26 20:27:50 +01:00
Thomas Tanner 607b2a10aa Restore commented out code 2016-06-26 20:27:13 +01:00
Thomas Tanner 6b60d54853 Extra question box functionality 2016-06-25 14:03:37 +01:00
Thomas Tanner c7101be7d8 Some refactoring of the spawn code and to make waitForApplication get the right error code (usually)
A note: It is possible for the executed program to completely exit before MO attempts to get hold of the pid from the job handle,
in which case strangeness will happen (this has always been an issue)
2016-06-25 11:47:15 +01:00
Thomas Tanner d80a77a4cb Fix a small bug in listing forward references 2016-06-25 09:47:28 +01:00
Tannin 33b544112c fixed categories list didn't get updated on switching instance 2016-06-23 21:38:54 +02:00
Tannin 8a3af93b39 fixed creation of data paths after changing paths in settings and update of profile list after change 2016-06-23 21:00:46 +02:00
Tannin 352975e757 updated to use the unmanaged-mod game plugin feature 2016-06-19 16:01:51 +02:00
Tannin cd83f4e732 reduced number of mod content icons a bit because they take too much space 2016-06-19 16:01:15 +02:00
Tannin 4f25a0689f updated translation 2016-06-19 16:00:13 +02:00
Tannin 3d642563cb usvfs log level can now be changed without a restart 2016-06-19 15:59:50 +02:00
Tannin 0100c86887 download list and data tree now also maintain their layout between sessions 2016-06-19 15:58:37 +02:00
Tannin 8d04c77c29 updated version number and translation file 2016-06-05 14:23:27 +02:00
Tannin b935ce3862 bugfix: unnecessary repeat of delayed operations 2016-06-05 14:20:49 +02:00
Tannin fcebf21c44 fixed startup errors 2016-06-05 14:16:55 +02:00
Tannin 3d1dfadb40 automatic update of translation file during build 2016-06-04 15:29:52 +02:00
Tannin c2c48bd39a testing the hook for updating the translation-page 2016-06-04 14:33:24 +02:00
Tannin 9163a6dc34 added transifex configuration 2016-06-04 11:40:06 +02:00
Tannin 8bf3037d4b bugfix: changing from local language to english doesn't stick 2016-06-03 18:49:48 +02:00
Tannin 4f1bb36933 fixed some filename/modname handling for names received from nexus 2016-06-02 19:45:04 +02:00
Tannin cbdea13a9c minor cleanup 2016-06-01 19:34:01 +02:00
Tannin b36c666899 fixed: mandatory esms could get disabled without a way in the ui to re-enable them 2016-06-01 19:33:37 +02:00
Tannin bbab59f681 fixed handling of base dir in settings dialog (and fixed the tab order in the settings dialog) 2016-05-27 15:51:01 +02:00
Tannin bfbb190998 moved button to switch instance (and to portable mode) to the main window 2016-05-27 14:04:00 +02:00
Tannin c3b7737ae4 bugfix: incorrect url-encoding for passwords prevented login with some special characters 2016-05-19 19:18:46 +02:00
Tannin 30878ae394 added button to clear webcaches and cookies 2016-05-19 19:17:15 +02:00
Tannin 45a182a381 bugfix: initial setup didn't offer a portable install even if the global install dir is gone 2016-05-19 19:15:19 +02:00
Tannin 0b07cfa3f0 cleanup 2016-05-19 19:10:33 +02:00
Tannin 986330a3bd removed obsolete stuff 2016-05-16 16:03:36 +02:00
Tannin 81c5ca5308 Merge branch 'master' into new_vfs_library 2016-05-16 15:48:38 +02:00
Tannin 3a8da159da removed obsolete inject code 2016-05-16 14:46:54 +02:00
Tannin f6c3b516fd changes to primary category are now saved immediately instead of after the menu is closed 2016-05-15 15:09:14 +02:00
Tannin 5665be7fd1 fixed calls to helper.exe using wrong path 2016-05-15 14:58:54 +02:00
Thomas Tanner a625acd17b Merge remote-tracking branch 'refs/remotes/TanninOne/master' 2016-05-15 12:23:55 +01:00
Tannin e522afa63b removed highlighting of dummy plugins 2016-05-15 13:07:46 +02:00
Tannin e3c3c2dcc4 fixed: after running an external application the plugin list was potentially not updated correctly 2016-05-15 13:06:31 +02:00
Tannin 519f215fd7 fixed saves list wasn't updated after removing a save game 2016-05-15 12:59:50 +02:00
TanninOne 89221af929 Merge pull request #677 from writemorecode/master
FIXED #302 Edited tooltip in Executables menu
2016-05-15 12:50:41 +02:00
Thomas Tanner f5a815185f Updates for QT5.5 2016-05-15 11:03:43 +01:00
Tannin 59a36107a1 fixed crash when disabling mods 2016-05-11 20:12:14 +02:00
Tannin bc5d5d8bfa ssl libraries can now be placed in dlls directory 2016-05-11 20:10:18 +02:00
Gustav Karlsson a294f8410f Edited tooltip in Executables menu
Edited a tooltip in the Executables menu.
2016-05-09 20:47:25 +02:00
Tannin 256cdb8df7 fixed priority ordering after enabling/disabling mod 2016-05-09 20:36:13 +02:00
Tannin 32480f7a81 minor fixes 2016-05-07 00:23:13 +02:00
Tannin e43762e7db profiles can now be configured to use the global game settings instead of profile-local 2016-05-07 00:22:23 +02:00
Tannin afe0d749c4 added option to use a mod as the target to create now files instead of "overwrite" 2016-05-07 00:18:23 +02:00
Tannin eb97c46ed6 cleanup 2016-05-07 00:03:38 +02:00
Tannin d958e11e2b now using github for self updater 2016-05-06 23:47:51 +02:00
Tannin b0e3e86a61 moved plugins.txt reading/writing to game plugin 2016-05-06 23:39:08 +02:00
Tannin 9df612c7ca more configuration options
- overwrite path configurable
- one can now set a base directory for all configurable paths
- user can now opt in/out of receiving pre-release updates (not functional yet)
2016-03-02 21:28:17 +01:00
Tannin 0899724d90 profile- and group-dropdown no longer switch by mouse-wheel. Plus fixed refreshing of right-hand side tabs 2016-03-02 21:22:26 +01:00
Tannin 53d9789740 updated icon and splash screen. MO can now use custom instance specific splash screens and splashes stored in game plugins 2016-03-02 21:20:38 +01:00
Tannin 4f8c71d626 merged master into new_vfs_library 2016-02-12 19:08:25 +01:00
TanninOne ba8464f01f Merge pull request #456 from ThosRTanner/issue/418
Refactor save game code into plugins
2016-02-10 18:37:28 +01:00
Tannin fd68248698 fixed browse-button for mod directory (in settings) 2016-02-09 20:57:20 +01:00
Tannin 1ad2115e01 fixed cleanup of file handles 2016-02-09 20:55:39 +01:00
Tannin 8d1dd6238f fixed display of process name in unlock-widget 2016-02-09 20:54:54 +01:00
Tannin aaa1f52bdd fixed cleanup on restart 2016-02-09 20:53:09 +01:00
Tannin b085aeea0e changed focus policy on grouping selection to prevent accidentally changing the grouping mode 2016-02-09 20:51:56 +01:00
Tannin ea621ef859 fixed update of window title 2016-02-09 20:50:07 +01:00
Tannin 3202713cff updated to match current usvfs api 2016-02-09 20:46:46 +01:00
Tannin ad9d50e5f0 replaced boost&qt foreach-implementations by the c++11 variant 2016-02-09 20:32:26 +01:00
Tannin 63eaf453e0 portable setup is no longer offered if the directory isn't writable 2016-02-09 20:05:41 +01:00
Tannin 8a9a1680b0 code formatting (clang_format) 2016-02-09 20:02:58 +01:00
Tannin 1439347def updated version number 2016-02-08 20:33:53 +01:00
Thomas Tanner 0e9a86ebfc Merge branch 'master' into issue/418
# Conflicts:
#	SConstruct
#	src/organizerproxy.cpp
2016-01-24 18:10:25 +00:00
Thomas Tanner 8da9ba5404 Removing the 'get' in all function names and making FO4 plugin build
Merge branch 'master' of https://github.com/TanninOne/modorganizer
2016-01-24 15:25:38 +00:00
Thomas Tanner 387326f2d6 thoughts 2016-01-24 10:22:27 +00:00
Tannin a9a51f5085 fixed a potential crash-cause when querying download info and slight improvement (?) to the regex that extracts the modid 2016-01-10 20:22:50 +01:00
Tannin 2aae65d6f6 made instance-switching usable
this includes tons and tons of changes to how paths are determined.
the profiles-dir can now also be configured
2016-01-10 20:19:56 +01:00
Thomas Tanner d07b4f7ff0 Fixes an issue with doing connect for download cancel at the wrong time
Also cleaned up header usage per include-what-you-use
2015-12-31 23:08:24 +00:00
Thomas Tanner 197c49e996 Fixes for building with qt5.5 2015-12-31 23:06:52 +00:00
Thomas Tanner 0d50427b83 Patch to build with QT5.5 2015-12-30 16:38:47 +00:00
Thomas Tanner e90fbb1df2 Patch to build with QT5.5 2015-12-30 16:24:47 +00:00
Tannin ddf841400e Merge branch 'new_vfs_library' of https://github.com/TanninOne/modorganizer into new_vfs_library 2015-12-28 14:34:44 +01:00
Tannin 1bfc91046b removed get-prefix from many getters. removed const from managed_game variable.
other fixes
2015-12-28 14:33:30 +01:00
TanninOne d417229e6b executables installed as mods are now run through a proxy (not working yet) 2015-12-28 13:54:16 +01:00
TanninOne 1d1cd36957 slight fixes to transfer saves functionality 2015-12-28 13:50:20 +01:00
Thomas Tanner a4dbe82be7 Removes the gameinfo + related files from shared to hookdll 2015-12-27 13:50:46 +00:00
Thomas Tanner 42417b6a01 Fix missing functions and also a bit of const correctness 2015-12-26 15:49:19 +00:00
Thomas Tanner f2b2ee1a11 Merge remote-tracking branch 'TanninOne/master' into issue/418 2015-12-26 15:27:34 +00:00
Thomas Tanner ae6bb99c52 Remove savegameinfowidget from organizer core 2015-12-26 08:23:43 +00:00
Thomas Tanner 3869eaaf2b Transferring the savegame widget into gamebryo + some cleanup 2015-12-25 21:57:23 +00:00
TanninOne c037b74b00 Merge branch 'master' into new_vfs_library 2015-12-23 11:38:34 +01:00
TanninOne 5adb3b377e Merge pull request #450 from ThosRTanner/master
Restore start download file method (2 of 3)
2015-12-21 15:12:22 +01:00
TanninOne d4326250fb Update readme.md 2015-12-21 15:11:55 +01:00
Thomas Tanner 2d43645b64 Restore start download file method (2 of 3) 2015-12-20 22:25:11 +00:00
Thomas Tanner 6edf12f2f7 Rename the save game identifier method to make it clearer what it's for. 2015-12-20 21:22:38 +00:00
Thomas Tanner f55a5f2b21 Managed to remove SaveGame and SaveGameGamebryo classes from organizer 2015-12-20 21:08:14 +00:00
Thomas Tanner 5f5184ebfe Changes to support getting list of mods / esps to activate from game plugin 2015-12-19 20:49:54 +00:00
TanninOne 9d260a43f6 Merge pull request #422 from ThosRTanner/master
remove last vestiges of GameInfo
2015-12-19 10:33:36 +01:00
TanninOne 9effaec234 Merge pull request #423 from ThosRTanner/patch-1
Adding fallout4 to the list of repositories
2015-12-19 10:31:59 +01:00
Tannin 502e950cde support for adding directories to the vfs that will act as create target for new files 2015-12-18 20:32:29 +01:00
Tannin 4908affbfc fixed display of savegame widget in case parsing fails 2015-12-18 20:28:03 +01:00
Tannin 8dc51895e3 improved file overwriting in transfersaves dialog 2015-12-18 20:20:06 +01:00
Tannin 568b2abc12 removed close-mo feature 2015-12-18 20:16:28 +01:00
Thomas Tanner 30b29635f6 unsaved edits... 2015-12-15 16:00:15 +00:00
Thomas Tanner 0c536a4c12 Makes iSaveGame responsible for returning all files involved in savegame.
Cleans up save deletion and save transfer dialogue somewhat
2015-12-15 15:58:01 +00:00
Thomas Tanner 967c2ae653 Removes the SaveGame class from mainwindow. Using include what you use to add/remove #includes 2015-12-14 22:25:57 +00:00
Thomas Tanner ba176e5e9b Remove dependency of TransferSave on SaveGameBryo, part of fix for #418
Added a method to Profile class to get location of save games for the profile. I haven't added this to IProfile as am in two minds.

Aside from this have done cleanups of issues suggested by include-what-you-use, and some OCD sorting of #includes
2015-12-13 18:30:40 +00:00
Thomas Tanner c344714661 And found it was unreadable so ordered things a bit and replaced 2 line 'could use forward reference' with 1 2015-12-12 12:35:14 +00:00
Thomas Tanner a3a4d5441d Full details from include what you use for qt creator 'issue' box 2015-12-12 11:51:05 +00:00
Tannin e60e2858d8 Merge branch 'master' into new_vfs_library
Conflicts:
	src/gameinfoimpl.cpp
	src/installationmanager.cpp
	src/mainwindow.cpp
	src/organizercore.cpp
	src/organizercore.h
	src/organizerproxy.cpp
	src/organizerproxy.h
	src/savegamegamebryo.cpp
	src/savegamegamebyro.h
	src/selfupdater.h
	src/shared/fallout3info.cpp
	src/shared/fallout3info.h
	src/shared/falloutnvinfo.cpp
	src/shared/falloutnvinfo.h
	src/shared/gameinfo.cpp
	src/shared/gameinfo.h
	src/shared/oblivioninfo.cpp
	src/shared/oblivioninfo.h
	src/shared/skyriminfo.cpp
	src/shared/skyriminfo.h
	src/spawn.cpp
	src/transfersavesdialog.cpp
2015-12-07 21:00:22 +01:00
Tannin 495846534d - no longer displaying "not logged in". This was too confusing for some
- fixed files missing from vfs if parent directory exists in real destination dir
- implemented plugin api to access current profile
- steam game detection now also works for 64-bit games
- removed reference to archive tab from tutorial
- usvfs log level is now taken from config
- some cleanup
2015-12-07 20:09:34 +01:00
ThosRTanner 4a8c7306be Adding fallout4 to the list 2015-12-06 22:12:39 +00:00
Thomas Tanner 7b087f8f9d Facepalm moments - realised gameinfo init call is no longer needed. Removed all references 2015-12-06 21:10:37 +00:00
Thomas Tanner eff0f46872 Merge remote-tracking branch 'refs/remotes/TanninOne/master' 2015-12-06 17:44:17 +00:00
TanninOne 752bed064c Merge pull request #349 from ThosRTanner/issue/344
Fix for Issue 344 (1 of 4) - add code to get script extender and game versions
2015-12-06 17:32:18 +01:00
Thomas Tanner 750239bebb Merge branch 'master' into issue/344
# Conflicts:
#	src/gameinfoimpl.cpp
#	src/gameinfoimpl.h
#	src/shared/fallout3info.h
#	src/shared/falloutnvinfo.h
#	src/shared/gameinfo.h
#	src/shared/oblivioninfo.h
#	src/shared/skyriminfo.h
2015-12-06 15:49:56 +00:00
TanninOne 865c75a499 Merge branch 'ThosRTanner-master' 2015-12-06 15:10:45 +01:00
TanninOne eca56079d5 Merge branch 'master' of https://github.com/ThosRTanner/modorganizer into ThosRTanner-master 2015-12-06 15:03:38 +01:00
TanninOne e31cf3f2fd Merge pull request #372 from ThosRTanner/issue/356
Refactor gameinfo & 'shared' library to use game plugins (9 of 17)
2015-12-06 13:24:19 +01:00
Thomas Tanner 3670ab2528 Remove debugging code quick! 2015-12-06 12:07:25 +00:00
Thomas Tanner 235d893eb8 Gets rid of last vestiges of GameInfo apart from startup and hookdll
Working on sorting out savegame stuff
2015-12-05 19:13:05 +00:00
Thomas Tanner c2ed844eeb Merge remote-tracking branch 'remotes/TanninOne/master' into issue/356
Conflicts:
	src/downloadmanager.cpp
	src/mainwindow.cpp
	src/modinfo.cpp
	src/modinfo.h
	src/selfupdater.cpp
	src/shared/fallout3info.cpp
	src/shared/fallout3info.h
	src/shared/falloutnvinfo.cpp
	src/shared/falloutnvinfo.h
	src/shared/gameinfo.h
	src/shared/oblivioninfo.cpp
	src/shared/oblivioninfo.h
	src/shared/skyriminfo.cpp
	src/shared/skyriminfo.h
2015-12-05 12:49:12 +00:00
Thomas Tanner cb09ace972 Hoist self with own petard - add const 2015-12-05 10:43:19 +00:00
Thomas Tanner 0dedf5a875 Merge remote-tracking branch 'remotes/TanninOne/master' into issue/344
# Conflicts:
#	src/shared/fallout3info.h
#	src/shared/falloutnvinfo.h
#	src/shared/gameinfo.h
#	src/shared/oblivioninfo.h
#	src/shared/skyriminfo.h
2015-12-05 10:32:07 +00:00
Thomas Tanner ec9c78f8fa Merge remote-tracking branch 'TanninOne/master'
# Conflicts:
#	SConstruct
#	src/modinfo.cpp
#	src/modinfo.h
2015-12-05 10:21:44 +00:00
Thomas Tanner c07e48075e Most of work for savegame 2015-12-05 06:51:57 +00:00
TanninOne 688e149c96 Merge pull request #334 from ThosRTanner/issue/308
Allow right click on module to see web link if supplied in fomod
2015-12-04 22:30:35 +01:00
TanninOne 87d5fe28f6 Merge pull request #328 from ThosRTanner/issue/324
Cope with quotes in file- and module- names
2015-12-04 21:55:11 +01:00
TanninOne ce38a3bd33 Merge pull request #3 from ThosRTanner/archive_cleanup
Refactoring archive library (Part 3)
2015-12-04 17:51:45 +01:00
TanninOne 71b8c00592 Merge pull request #402 from ReadmeCritic/master
Update README URLs based on HTTP redirects
2015-12-04 17:49:46 +01:00
ReadmeCritic 20442cd4de Update README URLs based on HTTP redirects 2015-11-29 19:55:03 -08:00
Thomas Tanner c236078aa1 Fix up so that hookdll continues to work properly 2015-11-29 14:44:12 +00:00
Thomas Tanner 9a88a190eb Another cleanup and make the program not crash when looking at saves for the nonce 2015-11-29 12:55:49 +00:00
Thomas Tanner d03e4f45ef Abstract away the xxse_loader manipulation and make use of the 'ScriptExtender' feature instead
A note: This makes loadmechanism.cpp require xxse_loader.exe to exist, not the dll as other places get the version number from the exe.
2015-11-28 23:12:29 +00:00
Thomas Tanner 9e2bcffc32 Reworked startup considerably so now no longer dependant on GameInfo
Did some const correctness to the "managed_game" property as you shouldn't really be altering the plugin details whilst MO is running
2015-11-28 14:53:32 +00:00
Thomas Tanner 2e78a381ea Fix sconstruct issue from main line 2015-11-27 08:13:21 +00:00
Thomas Tanner bb56696f7e Merge remote-tracking branch 'TanninOne/master' into issue/324 2015-11-27 07:58:22 +00:00
Thomas Tanner ca54ee2e9a Renamed getNexusName to getGameShortName as previously because it hopefully isn't too nexus related. 2015-11-26 21:22:47 +00:00
Thomas Tanner 2025145ff6 Replaced the IPluginGame getNexusDisplayURL with some APIs in NexusInterface
It makes more sense to have them here as they have very little to do with the game, more to do with the origin of the mod.
2015-11-26 21:02:45 +00:00
Thomas Tanner 1b1fc247df Remove remaining gameInfo 2015-11-26 17:54:25 +00:00
Thomas Tanner dd37152eae This removes getNexusPage from GameInfo and is currently in the game plugin.
I'm looking to move it to the nexus interface though as it doesn't really relate to the game plugin.

I've also removed the MananagementURL as
- you can log into nexus without needing to specify the game
- See above - it doesn't belong with the game plugin

This gets rid of all dependencies bar game saving and logging in
2015-11-26 17:48:50 +00:00
Thomas Tanner 82e6c98043 Replace last occurrence of GameInfo::getNexusGameID and remove a whole load of gameinfo.h includes 2015-11-26 07:39:35 +00:00
Thomas Tanner 29dadf52f1 Forgot to remove the redundant member 2015-11-25 20:40:34 +00:00
Thomas Tanner 38c5899fef Replace GameInfo::getNexusInfoUrl with IPluginGame::getNexusManagementUrl
also added getNexusDisplayUrl for the other variant of getNexusPage

Removed skyrim static versions

note that Nexusinterface is now passed a game plugin rather than a URL and a game ID if you want to override the current game
2015-11-25 19:31:05 +00:00
Thomas Tanner b9b12ca765 Bunch of const correctness changes. There shouldn't be any update of plugin games once MO has started 2015-11-25 14:23:58 +00:00
Thomas Tanner 78b686b2bc Removes all references to GameInfo::getGameDirectory apart from one during startup
Did some const correctness improvements

Also may have fixed a potential crash as the Profile copy constructor didn't copy the m_GamePlugin membber
2015-11-25 08:22:40 +00:00
Thomas Tanner 42a68689fe Replace GameInfo::getNexusModID with IPluginGame::getNexusModOrganizerID()
Also implement IPluginGame::getNexusGameID() but not hooked it in yet.
2015-11-24 16:16:57 +00:00
Thomas Tanner c7d583bcf1 Replace GameInfo::getLoadorderMechanism with IPluginGame::getLoadOrderMechanism 2015-11-24 14:21:19 +00:00
Thomas Tanner d6da51536f Merge branch 'issue/356' of https://github.com/ThosRTanner/modorganizer into issue/356 2015-11-24 09:52:54 +00:00
Thomas Tanner d4a287a4cc Updated comments so I can see where I'm going 2015-11-24 09:51:46 +00:00
Thomas Tanner 91576257bc Updated comments so I can see where I'm going 2015-11-24 09:50:02 +00:00
Thomas Tanner a7ef089650 Use IPluginGame::getIniFiles throughout.
Also removed the default constructor from Profile class and stopped registering it as a QMetaObject (which it is the only reason it is there).
2015-11-24 09:45:45 +00:00
Thomas Tanner 37c3bea7dd Removes all uses of GameInfo::getShortName, replaced by IPluginGame::getNexustName 2015-11-24 06:58:29 +00:00
Tannin fe8c3aaea5 some fixes and removed obsolete code 2015-11-23 21:44:47 +01:00
Tannin dda9e11976 added interface for file mapping plugins 2015-11-23 21:43:37 +01:00
Tannin 9945b5e926 added support for fallout 4 savegames 2015-11-23 21:41:25 +01:00
Thomas Tanner 3659284ab6 Remove most instances of GameInfo::getname, and transfer getDLCPlugins to the plugingame interface
Also commented out startDownloadNexusFile as it doesn't appear to be used anywhere
2015-11-23 18:32:30 +00:00
Thomas Tanner 2a50683133 Removed 'requiresSteam' which is only used in one place and might or might not be game related 2015-11-23 13:35:48 +00:00
Thomas Tanner efaba90706 Final eradication of igameinfo and adding python wrappers for IPluginGame 2015-11-22 21:18:56 +00:00
Thomas Tanner 159501d076 Removes igameinfo.h from everywhere apart from (sort of) the pythonrunner plugin.
Also comment out the filemapping function because it's large and doesn't appear to be used anywhere
2015-11-22 08:46:46 +00:00
Thomas Tanner 4dbb3b148d Replace some instances of qApp->property("managed_game") with the saved pointer.
Pedantic note: This doesn't help the possibility of supporting multiple executables greatly, we'd have to have a lot of register-for-change events.
2015-11-21 17:26:34 +00:00
Thomas Tanner 408b7933d2 Replace GameInfo::path with iPluginGame::gameDirectory (or dataDirectory where applicable) 2015-11-21 16:32:48 +00:00
Thomas Tanner efb54100dc Removal of (get)BinaryName 2015-11-21 12:30:33 +00:00
Thomas Tanner f339cc8431 Member variable unused so removed it.
Leaves one asking *why* the datapath can be inside the game directory.
2015-11-20 19:34:09 +00:00
Thomas Tanner 49de6e8d25 Get rid of GameIfo::getOrganizerDirectory and associated member variable
qApp->getProperty("dataPath") can be used instead (and is pretty much everywhere else) so it's unnecessary
2015-11-20 18:07:06 +00:00
Tannin dbbd0c4eec usvfs log is now written to a persistent file (no log rotation yet though) 2015-11-19 19:10:18 +01:00
Tannin 4ff751fb7e some fixes/disabled code required since hook.dll is gone 2015-11-19 19:09:34 +01:00
Tannin d8d81ee06f fix/workaround for a problem where Qt thinks it's not connected to the net 2015-11-19 19:07:23 +01:00
Tannin a4b69c9ed8 added fallout 4 support 2015-11-19 19:05:50 +01:00
Thomas Tanner 7f9af7f93e Merge remote-tracking branch 'refs/remotes/TanninOne/master' 2015-11-18 20:51:52 +00:00
Thomas Tanner 9ac845779a Fixup 2015-11-18 20:51:27 +00:00
Tannin 053ebc898f build system fix 2015-11-17 20:01:44 +01:00
Tannin 0bd38e3f67 Merge branch 'master' into new_vfs_library
Conflicts:
	src/CMakeLists.txt
2015-11-17 19:12:53 +01:00
Tannin 7f4f4cafea first work on interfacing with usvfs 2015-11-17 18:58:00 +01:00
Tannin 56ba058cd5 updated build scripts 2015-11-16 21:39:52 +01:00
Thomas Tanner d1932bfc8e Better header matching 2015-11-12 21:48:40 +00:00
Thomas Tanner a284cbf232 Yet more changes for include what you use, including a moderate hack for compiling stackdata with clang 2015-11-09 18:16:58 +00:00
Thomas Tanner fe54b6c46a More cleanups 2015-11-08 23:18:16 +00:00
Thomas Tanner d82ca00733 Separated out the include what you use mappings into separate files, more improvements 2015-11-08 09:46:30 +00:00
Thomas Tanner 1a12b1f1f6 Decided it shouldn't be an error if i can't get information about the file. 2015-11-04 21:39:14 +00:00
Thomas Tanner 184cff8a77 Add support for version dependency checks 2015-11-01 18:27:34 +00:00
Thomas Tanner f1aaf92afb Improve diagnostics if IWYU is enabled
Few small cleanups from clang
2015-10-31 19:40:33 +00:00
Thomas Tanner 8f64a1d136 Proper integraton of IWYU into the build (including massaging clang errors into the issues tab).
Note: There is at least one ug in QT that stops thing s copiling because it doesn't undertand clangs version
2015-10-25 21:07:02 +00:00
Thomas Tanner b1cfc45853 Make the IWYU generation generic 2015-10-25 08:36:30 +00:00
Thomas Tanner 76bee42dd1 umm. windows hardlinks weren't quite working as expected 2015-10-18 19:00:14 +01:00
Thomas Tanner 0f8ae51459 Added support for include-what-you-use in a very simplistic fashion to the Scons build. This isn't exactly production ready because the qt headers are a nightmarish web of interdependencies but it's useful for checking.
I've also removed a few unused include files it detected and corrected some things that upset clang in a big way.
2015-10-17 19:05:00 +01:00
Thomas Tanner dfdf80417e Merge remote-tracking branch 'refs/remotes/TanninOne/master' 2015-10-15 19:09:08 +01:00
Thomas Tanner d4754f4d3c Fix for some nexus fomods having the old version of the mod link and not the new version.
Also fixed a lot of const correctness things
2015-10-15 18:44:39 +01:00
Thomas Tanner 1cb0a49dfc Merge remote-tracking branch 'TanninOne/master' into issue/308 2015-10-15 13:34:32 +01:00
Thomas Tanner 9d88ca13b9 Added functionality to use the web page link in a fomod to supply an optional web page.
Also refactored modinfo into multiple files (as the actual types are opaque anyway) and cleaned up the headers a bit

I also changed 'visit on nexus' from the menu not to open the downloads tab because it was a little confusing
2015-10-15 13:34:01 +01:00
TanninOne f25a51446c Merge pull request #329 from ThosRTanner/master
Update to scons build
2015-10-14 19:52:44 +02:00
Thomas Tanner ec07d3d4d9 Updated scons build a bit to produce helpful-ish git tag for organizer.
Use r"..." strings in template file to make it easier to copy/paste paths from windows clipboard.

Changed organizer.pro to not produce strange messages if you opened it because it couldn't find a .hg directory
2015-10-13 15:24:41 +01:00
Thomas Tanner ca6d7c7d11 Merge branch 'master' into archive_cleanup 2015-10-12 12:54:49 +01:00
Thomas Tanner 077a58f410 Merge branch 'master' of https://github.com/TanninOne/modorganizer into archive_cleanup
# Conflicts:
#	src/installationmanager.cpp
2015-10-12 12:54:19 +01:00
Thomas Tanner 939993aefe Bring scons build up to date with cmake build 2015-10-11 21:28:38 +01:00
Thomas Tanner af9a128b4f Merge branch 'TanninOne/master' 2015-10-11 21:26:21 +01:00
Thomas Tanner 9d4b7a1df0 Merge remote-tracking branch 'TanninOne/master' into issue/324 2015-10-11 21:12:59 +01:00
Thomas Tanner 9a7b0ee2c7 Fixes for quotes in module names:
Treat the module name from Nexus as HTML and convert into plain text.
Allow ' in a module name
Also removed the ::tr1:: namespace in the regexs
2015-10-11 21:12:37 +01:00
Tannin 7d93a9a200 updated about dialog. Now contains a link to the source code 2015-10-10 19:36:12 +02:00
Tannin 90d87a0cf7 fixed progress dialogs appearing on startup
Appears to be a new bug in qt or maybe incompatibility with Windows 10: All Progress dialogs were made visibly automatically a few seconds after application startup. This was "fixed" by creating the dialog dynamically on demand
2015-10-10 19:35:18 +02:00
Tannin 115315df28 build fixes 2015-10-10 19:29:45 +02:00
Thomas Tanner c5876cb6a1 Merge remote-tracking branch 'TanninOne/master' 2015-10-10 13:50:22 +01:00
Thomas Tanner e7b61cb485 Remove the exec of hg which does funny things in your QT project window if you aren't using mercurial 2015-10-10 13:43:01 +01:00
Tannin a0eb00b6b6 more work on build system 2015-10-08 23:56:07 +02:00
TanninOne f2484c3b0e Update readme.md 2015-10-06 20:08:57 +02:00
TanninOne 107adbfffc Update readme.md 2015-10-06 20:03:49 +02:00
Thomas Tanner f5c86bc22c Merge branch 'master' of https://github.com/TanninOne/modorganizer into archive_cleanup 2015-10-02 23:01:34 +01:00
Thomas Tanner 2fb4917111 Changes to go with cleaned up archive library 2015-09-27 13:29:04 +01:00
TanninOne de98fe64a3 Merge pull request #1 from ThosRTanner/master
Small cleanups
2015-09-26 19:54:31 +02:00
Thomas Tanner 364c385f1a Merge branch 'master' of https://github.com/TanninOne/modorganizer.git
# Conflicts:
#	.gitignore
2015-09-26 12:21:43 +01:00
Thomas Tanner 3c1c50fefc Create an ignore file 2015-09-26 12:12:31 +01:00
Tom Tanner 095967451e Remove some unused files and build esptk as a library 2015-09-26 11:55:17 +01:00
Tom Tanner eb901e0dfc This fixes some resource leaks with archive handling 2015-09-26 11:54:27 +01:00
Tannin 462c549f77 added cmake build system 2015-09-26 11:39:30 +02:00
Tannin 1f8c24ee7a updated readme 2015-09-23 21:57:03 +02:00
Tannin 8865f9d7bc added cmake build script and a few fixes for 64-bit compatibility 2015-09-23 21:47:56 +02:00
Tannin ae82ab7dca Merge 2015-09-06 09:50:35 +02:00
Tannin 999810e1d5 incremented version number 2015-09-06 09:49:01 +02:00
Tom Tanner 4dbf01cd56 Merge 2015-09-05 17:18:58 +01:00
Tom Tanner cd7b409c10 Weren't getting warned if you changed an executable then selected another
This fixes that and also redisplays the newly selected item properly
2015-09-05 17:18:37 +01:00
Tannin ff8377a8ff Added tag release v1.3.11 for changeset c14a9865ea2e 2015-09-05 17:24:47 +02:00
Tannin 4573d111a2 better sorting on the flag-column 2015-09-03 21:35:48 +02:00
Tannin 84ec954073 more intuitive sorting with grouping active 2015-09-03 21:35:04 +02:00
Tannin 63188eb6f3 Merge 2015-09-03 19:34:53 +02:00
Tannin 0a51fdf08e DLC bsas are now auto-enabled for pre-skyrim games 2015-09-03 19:33:33 +02:00
Tannin cb315b4179 bugfix: "add" button in editexecutables dialog didn't work 2015-09-03 19:32:40 +02:00
Tom Tanner d96d904765 Fix not recognising 'add' (1308) 2015-09-02 22:13:24 +01:00
Tannin 9588667404 Added tag release v1.3.10 for changeset 8638428b1ebc 2015-09-01 20:31:32 +02:00
210 changed files with 15607 additions and 14439 deletions
+25
View File
@@ -0,0 +1,25 @@
# The problem
Briefly describe the issue you are experiencing (or the feature you want to see added to Mod Organizer). 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
# Environment
* Mod Organizer Version that exhibits the issue:
* Last Mod Organizer Verison that did not exhibit the issue (if applicable):
* Desktop OS/version used to run Mod Organizer:
# Details
If necessary, describe the problem you have been experiencing in more detail.
# Link to Mod Organizer logs
## USVFS
Create a [GIST](https://gist.github.com) which is a paste of your USVFS logs, 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!
## MO Interface
Create a [GIST](https://gist.github.com) which is a paste of your mo_interface logs, and link them here.
Do _NOT_ paste your full mo_interface logs here, as it will make this issue very long and hard to read!
If you are reporting a bug, _always_ include the mo_interface logs!
+18
View File
@@ -0,0 +1,18 @@
*.user
Thumbs.db
src/moc_*.cpp
src/ui_*.h
src/organizer_en.ts
src/*.qrc.depends
src/Modorganizer.*
src/*.bak
CMakeLists.txt.user
edit
stderr.log
stdout.log
vs_stderr.log
vs_stdout.log
build
/vsbuild
/CMakeFiles
.idea
+82
View File
@@ -0,0 +1,82 @@
[main]
host = https://www.transifex.com
[mod-organizer.organizer]
file_filter = organizer/organizer_<lang>.ts
source_file = organizer/organizer_en.ts
source_lang = en
[mod-organizer.diagnosebasic]
file_filter = plugins/diagnoseBasic/diagnoseBasic_<lang>.ts
source_file = plugins/diagnoseBasic/diagnoseBasic_en.ts
source_lang = en
[mod-organizer.bsaextractor]
file_filter = plugins/bsaExtractor/bsaExtractor_<lang>.ts
source_file = plugins/bsaExtractor/bsaExtractor_en.ts
source_lang = en
[mod-organizer.checkfnis]
file_filter = plugins/checkFNIS/checkFNIS_<lang>.ts
source_file = plugins/checkFNIS/checkFNIS_en.ts
source_lang = en
[mod-organizer.inieditor]
file_filter = plugins/iniEditor/iniEditor_<lang>.ts
source_file = plugins/iniEditor/iniEditor_en.ts
source_lang = en
[mod-organizer.installerbain]
file_filter = plugins/installerBAIN/installerBAIN_<lang>.ts
source_file = plugins/installerBAIN/installerBAIN_en.ts
source_lang = en
[mod-organizer.installerbundle]
file_filter = plugins/installerBundle/installerBundle_<lang>.ts
source_file = plugins/installerBundle/installerBundle_en.ts
source_lang = en
[mod-organizer.installerfomod]
file_filter = plugins/installerFomod/installerFomod_<lang>.ts
source_file = plugins/installerFomod/installerFomod_en.ts
source_lang = en
[mod-organizer.installermanual]
file_filter = plugins/installerManual/installerManual_<lang>.ts
source_file = plugins/installerManual/installerManual_en.ts
source_lang = en
[mod-organizer.installerncc]
file_filter = plugins/installerNCC/installerNCC_<lang>.ts
source_file = plugins/installerNCC/installerNCC_en.ts
source_lang = en
[mod-organizer.installerquick]
file_filter = plugins/installerQuick/installerQuick_<lang>.ts
source_file = plugins/installerQuick/installerQuick_en.ts
source_lang = en
[mod-organizer.nmmimport]
file_filter = plugins/NMMImport/NMMImport_<lang>.ts
source_file = plugins/NMMImport/NMMImport_en.ts
source_lang = en
[mod-organizer.previewbase]
file_filter = plugins/previewBase/previewBase_<lang>.ts
source_file = plugins/previewBase/previewBase_en.ts
source_lang = en
[mod-organizer.previewdds]
file_filter = plugins/previewDDS/previewDDS_<lang>.ts
source_file = plugins/previewDDS/previewDDS_en.ts
source_lang = en
[mod-organizer.proxypython]
file_filter = plugins/proxyPython/proxyPython_<lang>.ts
source_file = plugins/proxyPython/proxyPython_en.ts
source_lang = en
[mod-organizer.configurator]
file_filter = plugins/pyniEdit/pyniEdit_<lang>.ts
source_file = plugins/pyniEdit/pyniEdit_en.ts
source_lang = en
+15
View File
@@ -0,0 +1,15 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12)
ADD_COMPILE_OPTIONS($<$<CXX_COMPILER_ID:MSVC>:/MP>)
PROJECT(organizer)
# sets ModOrganizer as StartUp Project in Visual Studio
set_property(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" PROPERTY VS_STARTUP_PROJECT "ModOrganizer")
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)
+674
View File
File diff suppressed because it is too large Load Diff
-273
View File
@@ -1,273 +0,0 @@
HOW TO BUILD
============
Intro:
------
Building Mod Organizer can be a rather daunting task especially if you're not very comfortable with C++ development under windows.
Please note that if you only want to work on and build a plugin you can save yourself a lot of trouble
Overview:
---------
As of July 2014 MO consists of the following subprojects:
- organizer: The main userinterface. heavy usage of various libraries
- hookdll: core library of the virtual file system
- uibase: interop between plugins and the main application as well as some reusable functionality
- shared: functionality shared between organizer and hookdll. I'm attempting to get rid of this library over time
- nxmhandler: tool to pass handling of nxm links to MO or other applications
- helper: tool for doing operations requiring elevated priviledges if MO doesn't have them
- proxydll: dll used in the "proxy dll" load mechanism
- esptk: small library containing functionality to work with esps/esms
- bsatk: small library containing functionality to work with bsas. Requires zlib to extract files. Requires boost_thread to provide multi-threaded extraction
- archive: small wrapper library around 7zip for dealing with mod archives. Requires 7zip
- NCC: extension to NMM to provide a binary with command line interface for fomod installation. This is c# code and does not build with the rest of the project. Requires the rest of NMM
- bossdummy: dummy dll that looks like the boss.dll. This is used instead of the real boss dlls in NCC to save some disk space
- pythonrunner: library for embedding python code. Requires boost_python, python 2.7 and pyqt5
- loot_cli: this is a command line client of loot. This can be better integrated with MO than the official loot client.
And various plugins:
- bsaExtractor: offers to extract bsas after a mod has been installed
- checkFNIS: Activates each time an application is started from MO and runs fnis if necessary
- diagnoseBasic: Various diagnostic checks on the game
- inieditor: minimalistic file editor for ini files
- installerBain: handles non-scripted bain installers
- installerBundle: handles installation of archives wrapped in archives
- installerFomod: handles installation of xml fomods
- installerManual: handles installations of archives that aren't supported by any other plugin (or if the user chooses to do the installation manually)
- installerNCC: handles installation of any fomod (requires NCC)
- installerQuick: handles very simple one-click installations
- NMMImport: importer from existing nmm installation
- proxyPython: integrates pythonrunner as a plugin into MO
- pyniEdit: more user-friendly ini editor. python code
- previewBase: used for file previews. this plugin covers image formats supported by the qt installation (usually at least jpg, gif, png) and text files
- previewDDS: used to preview dds textures. uses code from the nif file format library
There are a few more plugins that are either broken or samples
- installerBCF: this was intended to use .bcf (bain conversion file) files as installation instructions but currently it is completely function-less
- helloWorldCpp: sample for cpp plugins. This should compile even without fulfilling most dependencies below
- pageTESAlliance: integrates the tes alliance page into MO. This integration is not nearly as tight as that of nexus.
Requirements:
-------------
Visual C++ compiler 2013 (VC 12.0) or up
- Included in visual c++ express 2013
- Do install windows sdk too if only for the cdb debugger which is included in that package
Note: If you're having trouble installing the windows sdk, you may be affected by this bug: http://support.microsoft.com/kb/2717426
Qt Libraries 5.4.x (http://www.qt.io/download-open-source/#section-2)
- i.e. "Qt libraries 5.4.0 for Windows (VS 2013, 722 MB)"
- tested: 5.4.0 for Windows 32-bit (VS 2013, OpenGL, 695 MB)
- Install according to instruction
boost libraries (http://www.boost.org/)
- tested: 1.56
- Build according to their instructions (using vc++): http://www.boost.org/doc/libs/1_57_0/more/getting_started/windows.html
- A few of the boost libraries need to be built (the rest is header-only). The only compiled libs MO needs (at the time of writing) are
boost_thread (for everything that links agains bsatk) and boost_python (for pythonrunner). You can disable the others to save yourself compile time (even on a modern system compiling boost can easily take an hour)
zlib (http://www.zlib.net/)
- Compile static library according to their instructions
- Depending on the version of zlib and how you built you should have a file called zlibstatic.lib or zlibstat.lib in "build" or "x86\ZLibStatRelease".
- Please copy that lib file to "build\zlibstatic.lib" (if it doesn't exist) so MO finds it.
7z sourcecode (http://www.7-zip.org/download.html)
- only for "archive" subproject
- no need to compile, will be linked into project
Python 2.7 (32-bit)
- only for pythonrunner
PyQt5 for Python 2.7 (http://www.riverbankcomputing.co.uk/software/pyqt/download)
- tested: PyQt-gpl-5.4.zip
- only for pythonrunner
SIP (http://www.riverbankcomputing.com/software/sip/download)
- presumably only for pythonrunner as it's needed for PyQT5
Recommended:
------------
Qt Creator
- included in Qt SDK
- With Qt Creator usually the rule is "the newer the better"
- Start Qt Creator and check if things are set up correctly:
1) Go to Tools > Options > Build & Run > Qt Versions
2.1) If the QtSDK 5.4.x you installed earlier is not auto-detected, click "Add" to add it manually
2.2) Navigate to your <your qt5 installation>\bin\qmake.exe
2.3) Restart qt creator
3) Go to Tools > Options > Build & Run > Kits
3.1) If no Kit is auto-detected (or the auto-detected ones have picked up the wrong qt or vc++ installation) click "Add"
3.2) Enter a Name (i.e. "Qt 5.4 MSVC2013 32bit")
3.3) In Compiler select the visual studio compiler installed earlier (may show up as "Microsoft Windows SDK for Windows x). Make sure you select the x86 variant
3.4) CDB should be auto-detected
3.5) Select the qt version set up earlier
4) Apply and close the options
Set up (using Qt Creator):
--------------------------
1. Create a file called "LocalPaths.pri" in your ModOrganizer\source directory
2. Open that file with any text editor and enter (one entry per line)
2a. BOOSTPATH=<path to your boost installation> (i.e. C:\code\boost_1_56_0)
2b. LOOTPATH=C:/Users/Tannin/Documents/Projects/loot_api
2c. PYTHONPATH=D:/Python278
2d. SEVENZIPPATH=D:/Documents/Projects/7zip
2e. ZLIBPATH=D:/Documents/Projects/zlib-1.2.7
3. Using Qt Creator open source/ModOrganizer.pro from your working copy
4. Compile the configuration(s) you want to use (debug and/or release) (Build All). This should compile correctly (though right now it produces a lot of warnings in boost headers).
5. <reserved for future use. Maybe grab a coffee?>
6. return to the "projects" tab and switch to "Run Settings"
7. Determine the folder of the qt binaries in the package you downloaded. This could be "QtSDK\Desktop\Qt\5.4.0\msvc2013\bin" or "Qt5.4.0\bin"
For Release build:
8r. Add a "Run configuration" that points to <your working copy>\output\ModOrganizer.exe
9r. Copy "7z.dll" to <your working copy>\output\dlls
10r. From the qt binaries directory, copy the following files to <your working copy>\output\dlls: Qt5Core.dll, Qt5Declarative.dll, Qt5Gui.dll, Qt5Network.dll, Qt5Script.dll, Qt5Sql.dll, Qt5Webkit.dll, Qt5Xml.dll, Qt5XmlPatterns.dll
For Debug build:
8d. Add a "Run configuration" that points to <your working copy>\outputd\ModOrganizer.exe
9d. Copy "7z.dll" to <your working copy>\outputd\dlls
10d. From the qt binaries copy the following files to <your working copy>\outputd\dlls: Qt5Cored.dll, Qt5Declaratived.dll, Qt5Guid.dll, Qt5Networkd.dll, Qt5Scriptd.dll, Qt5Sqld.dll, Qt5Webkitd.dll, Qt5Xmld.dll, Qt5XmlPatternsd.dll
Now you should be able to compile and run Mod Organizer.
Please note that when you change anything apart from the "organizer" subproject, qt creator may not pick up on the changes
and not recompile the modified subproject. the "organizer" project on the other hand is always re-linked. If anyone knowledgeable enough with qmake
can fix that that would be awesome.
Set up (without Qt Creator):
----------------------------
1. open a command line shell and navigate to <your working copy>\source
2. run "qmake -tp vc" to create a visual c++ solution
3. Open that solution
4. - 98. A miracle happens
99. You can now compile MO using VC
I'm not using this workflow so I can't give more detailed instructions.
Please note that the primary project format of MO remains qmake, if you work with visual studio and make changes to the project (like adding
source files) you have to manually transfer those changes to the .pro file.
-----------------
Troubleshooting (thanks to Ross):
-----------------
1) When I try to build, I am seeing the error "error: LNK1104: cannot open file 'zlibstatic.lib'"
a) Make sure you have the following files
{ZLIBPATH}\build\zconf.h
{ZLIBPATH}\build\zlib.h
{ZLIBPATH}\build\zlibstatic.lib
b) make sure "zlibstat.lib" was renamed to "zlibstatic.lib"
c) currently, there are references to zlibstatic in the following 2 project files:
./bsatk/bsatk.pro
./hookdll/hookdll.pro
Please note if building this, you need to switch OFF -DZLIB_WINAPI ...
2) After building, I try to open {MOPROJECTPATH}\outputd\ModOragnizer.exe and get this error
"The program can't start because QtDeclaratived4.dll is missing from your computer. Try reinstalling the program to fix this problem."
-> When setting up Qt4.8.x, make sure you copied the "d" (debug) versions of the dll files to {MOPROJECTPATH}\outputd\dlls
If you copied the release version or did not copy the dlls at all, you may see this error.
The *.dll files can be found in {QT48xPATH}\bin
Similiar:
http://stackoverflow.com/questions/11196416/cant-start-qt-exe-file-on-windows-7
3) I am getting one or more of the the following compiler warnings...
"{MOPROJECTPATH}\source\bsatk\bsaexception.cpp:32: warning: C4996: 'vsnprintf': This function or variable may be unsafe.
Consider using vsnprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details."
-> Ignore/suppress warning like this and make be ultra-careful using printf-style functions. vsnprintf_s is a visual-c++ only function so using those would make porting (i.e. to mingw) harder
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\stdio.h:354: see declaration of 'vsnprintf'"
-> see previous
"debug\bsaarchive.obj:-1: warning: LNK4042: object specified more than once; extras ignored"
-> This appears to be an issue when using VC++ 2010 as the compiler. There are some posts on StackOverflow
which suggest fixes when using VC++ as the IDE, but not sure how to apply them to Qt Creator.
http://stackoverflow.com/questions/3729515
http://stackoverflow.com/questions/3695174
-> Also, not sure if this affects VC++ 2012 / VC++ 2013 / GCC via cygwin/mingw.
Not even sure if the project would successfully compile on these.
"{MOPROJECTPATH}\source\organizer\mainwindow.cpp:3995: warning: C4428: universal-character-name encountered in source"
-> very pointless warning.
http://stackoverflow.com/questions/11589571
http://stackoverflow.com/questions/7078013
the best solution I saw was to just disable the warning altogether...
#pragma warning( disable : 4428 )
"warning: LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library"
-> You can always add a #pragma to ignore them :P
http://msdn.microsoft.com/en-us/library/2c8f766e%28v=vs.80%29.aspx
4) I got the following error while building...
"error: LNK1201: error writing to program database
'{MOPROJECTPATH}\{whatever-your-build-directory-name-is}\organizer\debug\ModOrganizer.pdb';
check for insufficient disk space, invalid path, or insufficient privilege"
-> I had this happen after trying to look at something in memory via Process Explorer.
To resolve, I killed and restarted PE. Alternatively, you could probably use the
Unlocker utility. After unlocking, I manually deleted everything in the directory.
Unlocker: http://www.filehippo.com/download_unlocker/ or http://www.emptyloop.com/unlocker/
Warning: With Unlocker v1.9.2, you must select "Advanced" then uncheck everything to
avoid having some Delta toolbar garbage installed...
5) Problem TT has seen:
Complains about 'qtwebkit4' missing. For some reason this seems to insist on
living with modorganiser.exe
6) Debugging the python proxy: I (TT) don't think this is possible unless you have a debug
build of PyQt. However, a debug build of PyQt requires a debug build of python. There doesn't
appear to be a half way house which is build wiht normal python but debug versions of QT libraries.
You can confuse pyqt by copying the debug QT DLLs to appropriate named files in the DLLs
directory, and removing QT from your project run path, which results in the python proxy
initialising succesfully, but causes mod organiser to crash in strange places.
-------------------
Building with scons
-------------------
1) Download scons from www.scons.org and install
2) Download QT4 (and/or QT5) from https://bitbucket.org/dirkbaechle/scons_qt4 and
https://bitbucket.org/dirkbaechle/scons_qt5. Install as per instructions
3) Copy scons_configure_template.py to scons_configure.py. Edit to point to your
boost/python/zlib/7zip/loot directories as appropriate.
4) Create build kits as follows:
Custom Process step:
Command: <python path>\Scripts\scons.bat
Arguments: -u .
Working directory: %{sourcedir}
Clean Custom Process step:
Command: <python path>\Scripts\scons.bat
Arguments: -c -u .
Working directory: %{sourcedir}
For the release build, add 'CONFIG=release' to the arguments.
If you want to do parallel builds, add -j and a number to the arguments.
However you may need to install pywin32 (but it seems to work OK for me).
-j 4 did the entire build in 2m 15s. scons uses -Z7 to store debugging
information in the .obj files which removes the issues with multiple
processes attempting to access one datafile.
Note. If you want to build a sub project separately, it seems to be better
to open the subproject, set that up with the scons kit and build that as a
project.
Please note: the generated (runnable) output files end up in the build directory,
in the '_ModOrganizer' subdirectory (not at the top level). Named like that
so you can see it! The scons build will also populate the directory with
all the necessary DLLs (but see note 6 above about your build tool path if
trying to debug).
+713
View File
File diff suppressed because it is too large Load Diff
+30
View File
@@ -0,0 +1,30 @@
[
# for boost???
# These are probably correct but might need a revisit as if you look at the boost documentation pages, it
# can give you huge lists of alternate includes...
{ symbol: [ "BOOST_FOREACH", "private", "<boost/foreach.hpp>", "public" ] },
{ include: [ "@\"boost/bind/.*\"", "private", "<boost/bind.hpp>", "public" ] },
{ include: [ "@\"boost/algorithm/string/.*\"", "private", "<boost/algorithm/string.hpp>", "public" ] },
{ include: [ "@\"boost/assign/.*\"", "private", "<boost/assign.hpp>", "public" ] },
{ include: [ "@\"boost/filesystem/.*\"", "private", "<boost/filesystem.hpp>", "public" ] },
{ include: [ "@\"boost/format/.*\"", "private", "<boost/format.hpp>", "public" ] },
{ include: [ "@\"boost/function/.*\"", "private", "<boost/function.hpp>", "public" ] },
{ include: [ "@\"boost/local/.*\"", "private", "<boost/locale.hpp>", "public" ] },
{ include: [ "@\"boost/python/.*\"", "private", "<boost/python.hpp>", "public" ] },
{ include: [ "@\"boost/signals2/.*\"", "private", "<boost/signals2.hpp>", "public" ] },
{ include: [ "\"boost/smart_ptr/scoped_array.hpp\"", "private", "<boost/scoped_array.hpp>", "public" ] },
{ include: [ "\"boost/smart_ptr/shared_ptr.hpp\"", "private", "<boost/shared_ptr.hpp>", "public" ] },
# this appears to be excessive
#{ include: [ "@\"boost/thread/.*\"", "private", "<boost/thread.hpp>", "public" ] },
# And this is specific to us
{ include: [ "\"appconfig.inc\"", "private", "\"appconfig.h\"", "public" ] },
]
# Ones I don't yet know how to deal with
#include "boost/fusion/container/vector/vector10_fwd.hpp" // for fusion
#include "boost/iterator/iterator_facade.hpp" // for operator!=
#include "boost/iterator/iterator_facade.hpp"
+160
View File
@@ -0,0 +1,160 @@
from collections import defaultdict
import fileinput
import re
import subprocess
import sys
"""
source/organizer/aboutdialog.h should add these lines:
#include <QObject> // for Q_OBJECT, slots
#include <QString> // for QString
class QListWidgetItem;
class QWidget;
source/organizer/aboutdialog.h should remove these lines:
- #include <QListWidgetItem> // lines 25-25
- #include <utility> // lines 28-28
- #include <vector> // lines 27-27
- class DownloadManager; // lines 47-47
The full include-list for source/organizer/aboutdialog.h:
#include <QDialog> // for QDialog
#include <QObject> // for Q_OBJECT, slots
#include <QString> // for QString
#include <map> // for map
class QListWidgetItem;
class QWidget;
namespace Ui { class AboutDialog; } // lines 31-31
---
"""
removing = None
includes = dict()
adding = None
added = defaultdict(list)
lcadded = dict()
foundline = None
errors = False
messages = defaultdict(list)
def process_next_line(line, outfile):
""" Read a line of output/error from include-what-you use
Turn clang errors into a form QT creator recognises
Raise warnings for unneeded includes
"""
global removing
global includes
global foundline
global errors
global added
global adding
line = line.rstrip()
print >> outfile, line
if line.endswith(' should remove these lines:'):
adding = None
removing = (line.split(' '))[0]
elif line.endswith(' should add these lines:'):
removing = None
adding = (line.split(' '))[0]
elif line == '' or line.startswith(' the full include-list'):
adding = None
removing = None
elif adding:
m = re.match(r'.*class (.*);', line)
if m:
added[m.group(1)].append((adding, line))
lcadded[m.group(1).lower() + '.h'] = m.group(1)
else:
added[line].append((adding, line))
elif removing:
# Really we should stash these so that if we get a 'class xxx' in
# the add lines we can print it here. also we could do the case
# fixing.
m = re.match(r'- #include [<"](.*)[">] +// lines (.*)-', line)
if m:
foundline = m.group(2)
# Note: In this project at least we have a naming convention of
# lower case filename and upper case classname.
clname = m.group(1)
if clname not in added:
if clname in lcadded:
clname = lcadded[clname]
if clname in added:
for item in added[clname]:
if removing == item[0]:
messages[removing].append(
'%s(%s) : warning I0004: Replace include of %s'
' with forward reference %s' % (
removing, m.group(2), m.group(1), item[1]))
del added[clname]
else:
messages[removing].append(
'%s(%s) : warning I0001: Unnecessary include of %s' % (
removing, m.group(2), m.group(1)))
else:
m = re.match(r'- (.*) +// lines (.*)-', line)
if m:
messages[removing].append(
'%s(%s) : warning I0002: Unnecessary forward ref of %s' % (
removing, m.group(2), m.group(1)))
else:
print '********* I got confused **********'
elif line.startswith('In file included from'):
line = re.sub(r'^(In file included from)(.*):(\d+):',
r' \2(\3) : \1 here',
line)
# Note; QT Creator seems to be unwilling to let you double click the
# line to select the code in question if you get a string of these, not
# sure why.
elif ': note:' in line:
line = ' ' + re.sub(r':(\d+):\d+: note:', r'(\1) : note:', line)
else:
# Replace clang :line:column: type: with ms (line) : type nnnn:
line = re.sub(r':(\d+):\d+: ([^:]*):', r'(\1) : \2 I1234:', line)
if ' : error I1234:' in line:
errors = True
print line
outfile = open(sys.argv[1], 'w')
process = subprocess.Popen(sys.argv[2:],
stdout = subprocess.PIPE, stderr = subprocess.STDOUT)
while True:
output = process.stdout.readline()
if output == '' and process.poll() is not None:
break
if output:
process_next_line(output, outfile)
# A note: We should probably do some work as we use the source code line for
# messages in include files...
if foundline is None:
foundline = '1'
for add in added:
for item in added[add]:
messages[item[0]].append(
'%s(%s) : warning I0003: Need to include %s' % (
item[0], foundline, item[1]))
for file in sorted(messages.keys(), reverse = True):
for line in messages[file]:
print line
rc = process.poll()
# The return code you get appears to be more to do with the amount of output
# generated than any real error, so instead we should error if any ': error:'
# lines are detected
if errors:
sys.exit(1)
BIN
View File
Binary file not shown.
+2478
View File
File diff suppressed because it is too large Load Diff
+83
View File
@@ -0,0 +1,83 @@
# Mod Organizer
Mod Organizer (MO) is a tool for managing mod collections of arbitrary size. It is specifically designed for people who like to experiment with mods and thus need an easy and reliable way to install and uninstall them.
Mod Organizer 2 is a mod manager created by Tannin to support 64-bit games like Skyrim Special Edition and Fallout 4 in addition to all the 32-bit games MO1 already supported.
Tannin discontinued the project when he was hired by the Nexus team to develop their new Vortex mod manager.
MO2 was not completed and was left with many issues. LePresidente managed to fix it to a usable state by himself after SkyrimSE came out, adding support for it, and releasing v2.0.8.
The project took up speed again after a few more coders showed up in late 2017, and a lot of progress has been made.
## 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)
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.
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.
Credits to Tannin, LePresidente, Silarn, erasmux, AL12 and many others for the development.
## Download Location
* on [GitHub.com](https://github.com/Modorganizer2/modorganizer/releases)
* on [NexusMods.com](https://www.nexusmods.com/skyrimspecialedition/mods/6194)
## Old Download Location
* [TanninOne/modorganizer/releases](https://github.com/TanninOne/modorganizer/releases)
## Building
Please refer to [Modorganizer2/modorganizer-umbrella](https://github.com/Modorganizer2/modorganizer-umbrella) 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.
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/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-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
### Unused Repositories
* https://github.com/Modorganizer2/modorganizer-hookdll
* https://github.com/TanninOne/modorganizer-tool_nmmimport
+10 -5
View File
@@ -4,7 +4,7 @@
# Path to your boost install - it should have a boost/ subdirectory and a stage/
# subdirectory. The scons script will use stage/lib if there, or the appropriate
# version for your compiler, if you installed the multiple-build version
BOOSTPATH = 'C:\\Apps\\boost_1_55_0'
BOOSTPATH = r"C:\Apps\boost_1_55_0"
# Version of Visual Studio to use, if you wish to use a specific version. If you
# don't specify a version, the latest will be picked.. See the scons manual for
@@ -14,15 +14,20 @@ BOOSTPATH = 'C:\\Apps\\boost_1_55_0'
# Path to your python install
# You don't really need to set this up but you might if (say) you have a 32- and
# 64-bit python install and scons has been installed for the 64 bit version
#PYTHONPATH=C:\Apps\Python
#PYTHONPATH=r"C:\Apps\Python"
# Path to your QT install. This might constrain the version of MSVC you can use.
# This seems to be set by QTCreator
#QTDIR = 'C:\\Apps\\Qt\\4.8.6'
#QTDIR = r"C:\Apps\Qt\4.8.6"
# Path to 7-zip sources
SEVENZIPPATH = 'C:\\Apps\\7-Zip\\7z920'
SEVENZIPPATH = r"C:\Apps\7-Zip\7z920"
# Path to zlib. Please read the README file for more information about how this
# needs to be set up
ZLIBPATH = 'C:\\Apps\\zlib-1.2.8'
ZLIBPATH = r"C:\Apps\zlib-1.2.8"
# Source control programs. Sadly I can't get this information from qt, even
# though you have to set it up in the configuration
GIT = r"C:\Program Files\git\bin\git.exe"
MERCURIAL = r"C:\Program Files\TortoiseHg\hg.exe"
+381
View File
@@ -0,0 +1,381 @@
CMAKE_MINIMUM_REQUIRED (VERSION 2.8.11)
CMAKE_POLICY(SET CMP0020 NEW)
#CMAKE_POLICY(SET CMP0043 NEW)
SET(PROJ_AUTHOR Tannin)
SET(PROJ_ARCH x86)
IF(CMAKE_SIZEOF_VOID_P EQUAL 8)
SET(PROJ_ARCH x64)
ENDIF()
SET(organizer_SRCS
transfersavesdialog.cpp
syncoverwritedialog.cpp
spawn.cpp
singleinstance.cpp
settingsdialog.cpp
settings.cpp
selfupdater.cpp
selectiondialog.cpp
queryoverwritedialog.cpp
profilesdialog.cpp
profile.cpp
pluginlistsortproxy.cpp
pluginlist.cpp
pluginlistview.cpp
overwriteinfodialog.cpp
nxmaccessmanager.cpp
nexusinterface.cpp
motddialog.cpp
modlistsortproxy.cpp
modlist.cpp
modinfodialog.cpp
modinfo.cpp
modinfobackup.cpp
modinfoforeign.cpp
modinfooverwrite.cpp
modinforegular.cpp
modinfowithconflictinfo.cpp
messagedialog.cpp
mainwindow.cpp
main.cpp
loghighlighter.cpp
logbuffer.cpp
lockeddialogbase.cpp
lockeddialog.cpp
waitingonclosedialog.cpp
loadmechanism.cpp
installationmanager.cpp
helper.cpp
filedialogmemory.cpp
executableslist.cpp
editexecutablesdialog.cpp
downloadmanager.cpp
downloadlistwidgetcompact.cpp
downloadlistwidget.cpp
downloadlistsortproxy.cpp
downloadlist.cpp
directoryrefresher.cpp
credentialsdialog.cpp
categoriesdialog.cpp
categories.cpp
bbcode.cpp
activatemodsdialog.cpp
moapplication.cpp
profileinputdialog.cpp
icondelegate.cpp
csvbuilder.cpp
savetextasdialog.cpp
qtgroupingproxy.cpp
modlistview.cpp
problemsdialog.cpp
serverinfo.cpp
browserview.cpp
browserdialog.cpp
persistentcookiejar.cpp
noeditdelegate.cpp
previewgenerator.cpp
previewdialog.cpp
aboutdialog.cpp
json.cpp
modflagicondelegate.cpp
genericicondelegate.cpp
organizerproxy.cpp
viewmarkingscrollbar.cpp
plugincontainer.cpp
organizercore.cpp
instancemanager.cpp
usvfsconnector.cpp
eventfilter.cpp
moshortcut.cpp
shared/windows_error.cpp
shared/error_report.cpp
shared/directoryentry.cpp
shared/util.cpp
shared/appconfig.cpp
shared/leaktrace.cpp
shared/stackdata.cpp
)
SET(organizer_HDRS
transfersavesdialog.h
syncoverwritedialog.h
spawn.h
singleinstance.h
settingsdialog.h
settings.h
selfupdater.h
selectiondialog.h
queryoverwritedialog.h
profilesdialog.h
profile.h
pluginlistsortproxy.h
pluginlist.h
pluginlistview.h
overwriteinfodialog.h
nxmaccessmanager.h
nexusinterface.h
motddialog.h
modlistsortproxy.h
modlist.h
modinfodialog.h
modinfo.h
modinfobackup.h
modinfoforeign.h
modinfooverwrite.h
modinforegular.h
modinfowithconflictinfo.h
messagedialog.h
mainwindow.h
loghighlighter.h
logbuffer.h
lockeddialogbase.h
lockeddialog.h
waitingonclosedialog.h
loadmechanism.h
installationmanager.h
helper.h
filedialogmemory.h
executableslist.h
editexecutablesdialog.h
downloadmanager.h
downloadlistwidgetcompact.h
downloadlistwidget.h
downloadlistsortproxy.h
downloadlist.h
directoryrefresher.h
credentialsdialog.h
categoriesdialog.h
categories.h
bbcode.h
activatemodsdialog.h
moapplication.h
profileinputdialog.h
icondelegate.h
csvbuilder.h
savetextasdialog.h
qtgroupingproxy.h
modlistview.h
problemsdialog.h
serverinfo.h
browserview.h
browserdialog.h
persistentcookiejar.h
noeditdelegate.h
previewgenerator.h
previewdialog.h
aboutdialog.h
json.h
modflagicondelegate.h
genericicondelegate.h
organizerproxy.h
viewmarkingscrollbar.h
plugincontainer.h
organizercore.h
ilockedwaitingforprocess.h
iuserinterface.h
instancemanager.h
usvfsconnector.h
eventfilter.h
descriptionpage.h
moshortcut.h
shared/windows_error.h
shared/error_report.h
shared/directoryentry.h
shared/util.h
shared/appconfig.h
shared/appconfig.inc
shared/leaktrace.h
shared/stackdata.h
)
SET(organizer_UIS
transfersavesdialog.ui
syncoverwritedialog.ui
simpleinstalldialog.ui
settingsdialog.ui
selectiondialog.ui
queryoverwritedialog.ui
profilesdialog.ui
overwriteinfodialog.ui
motddialog.ui
modinfodialog.ui
messagedialog.ui
mainwindow.ui
lockeddialog.ui
waitingonclosedialog.ui
installdialog.ui
finddialog.ui
editexecutablesdialog.ui
downloadlistwidgetcompact.ui
downloadlistwidget.ui
credentialsdialog.ui
categoriesdialog.ui
activatemodsdialog.ui
profileinputdialog.ui
savetextasdialog.ui
problemsdialog.ui
previewdialog.ui
browserdialog.ui
aboutdialog.ui
)
SET(organizer_QRCS
resources.qrc
stylesheet_resource.qrc
)
SET(organizer_RCS
app_icon.rc
version.rc
)
SOURCE_GROUP(Source FILES ${organizer_SRCS})
SOURCE_GROUP(Headers FILES ${organizer_HDRS})
SOURCE_GROUP(UI FILES ${organizer_UIS})
# Qt5
SET(CMAKE_INCLUDE_CURRENT_DIR ON)
SET(CMAKE_AUTOMOC ON)
SET(CMAKE_AUTOUIC ON)
FIND_PACKAGE(Qt5Widgets REQUIRED)
FIND_PACKAGE(Qt5QuickWidgets REQUIRED)
FIND_PACKAGE(Qt5Quick REQUIRED)
FIND_PACKAGE(Qt5Network REQUIRED)
FIND_PACKAGE(Qt5WinExtras REQUIRED)
FIND_PACKAGE(Qt5WebEngineWidgets REQUIRED)
FIND_PACKAGE(Qt5Script REQUIRED)
FIND_PACKAGE(Qt5Qml REQUIRED)
FIND_PACKAGE(Qt5LinguistTools)
QT5_WRAP_UI(organizer_UIHDRS ${organizer_UIS})
QT5_ADD_RESOURCES(organizer_RCCPPS ${organizer_QRCS})
QT5_CREATE_TRANSLATION(organizer_translations_qm ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/src/organizer_en.ts)
ADD_CUSTOM_TARGET(translations DEPENDS ${organizer_translations_qm})
INCLUDE_DIRECTORIES(${Qt5Declarative_INCLUDES})
ADD_DEFINITIONS(-DQT_MESSAGELOGCONTEXT)
# Boost
SET(Boost_USE_STATIC_LIBS OFF)
SET(Boost_USE_MULTITHREADED ON)
SET(Boost_USE_STATIC_RUNTIME OFF)
FIND_PACKAGE(Boost REQUIRED)
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
FIND_PACKAGE(zlib REQUIRED)
# TODO FindZlib doesn't find the static zlib library
# MO projects
SET(default_project_path "${CMAKE_SOURCE_DIR}/..")
GET_FILENAME_COMPONENT(${default_project_path} ${default_project_path} REALPATH)
SET(project_path "${default_project_path}" CACHE PATH "path to the other mo projects")
#TODO this should not be a hardcoded path
SET(lib_path "${project_path}/../../install/libs")
INCLUDE_DIRECTORIES(${project_path}/uibase/src
${project_path}/bsatk/src
${project_path}/esptk/src
${project_path}/archive/src
${project_path}/../usvfs/include
${project_path}/game_gamebryo/src
${project_path}/game_features/src
${project_path}/githubpp/src
${LZ4_ROOT}/include)
INCLUDE_DIRECTORIES(shared ${ZLIB_INCLUDE_DIRS})
LINK_DIRECTORIES(${lib_path}
${ZLIB_ROOT}/lib
${LZ4_ROOT}/dll)
EXECUTE_PROCESS(
COMMAND git log -1 --format=%h
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE GIT_COMMIT_HASH
OUTPUT_STRIP_TRAILING_WHITESPACE
)
ADD_DEFINITIONS(-D_UNICODE -DUNICODE -DNOMINMAX -D_CRT_SECURE_NO_WARNINGS -DBOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE -DGITID="${GIT_COMMIT_HASH}")
IF("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
SET(usvfs_name usvfs_x64)
ELSE()
SET(usvfs_name usvfs_x86)
ENDIF()
ADD_EXECUTABLE(ModOrganizer WIN32 ${organizer_HDRS} ${organizer_SRCS} ${organizer_UIHDRS} ${organizer_RCS} ${organizer_RCCPPS} ${organizer_translations_qm})
TARGET_LINK_LIBRARIES(ModOrganizer
Qt5::Widgets Qt5::WinExtras Qt5::WebEngineWidgets Qt5::Quick
Qt5::Script Qt5::Qml Qt5::QuickWidgets Qt5::Network
${Boost_LIBRARIES}
zlibstatic
uibase esptk bsatk githubpp
${usvfs_name}
Dbghelp advapi32 Version Shlwapi liblz4)
IF (NOT "${OPTIMIZE_COMPILE_FLAGS}" STREQUAL "")
SET_TARGET_PROPERTIES(ModOrganizer PROPERTIES COMPILE_FLAGS_RELWITHDEBINFO
${OPTIMIZE_COMPILE_FLAGS})
ENDIF()
SET_TARGET_PROPERTIES(ModOrganizer PROPERTIES LINK_FLAGS_RELWITHDEBINFO
"/LARGEADDRESSAWARE ${OPTIMIZE_LINK_FLAGS}")
###############
## Installation
SET(qt5bin ${Qt5Core_DIR}/../../../bin)
FIND_PROGRAM(WINDEPLOYQT_COMMAND windeployqt PATHS ${qt5bin} NO_DEFAULT_PATH)
INSTALL(TARGETS ModOrganizer
RUNTIME DESTINATION bin)
INSTALL(FILES $<TARGET_PDB_FILE:ModOrganizer>
DESTINATION pdb)
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/dlls.manifest.qt5
DESTINATION bin/dlls
RENAME dlls.manifest)
# use windeployqt.exe to install all required libraries
SET(windeploy_parameters "--no-translations --plugindir qtplugins --libdir dlls --release-with-debug-info --no-compiler-runtime")
INSTALL(
CODE
"EXECUTE_PROCESS(COMMAND
${qt5bin}/windeployqt.exe ModOrganizer.exe --webenginewidgets ${windeploy_parameters}
WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX}/bin
)
# run it a second time because on the first run it misses some files
EXECUTE_PROCESS(COMMAND
${qt5bin}/windeployqt.exe ModOrganizer.exe --webenginewidgets ${windeploy_parameters}
WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX}/bin
)
EXECUTE_PROCESS(COMMAND
${qt5bin}/windeployqt.exe uibase.dll ${windeploy_parameters}
WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX}/bin
)
file(REMOVE_RECURSE ${CMAKE_INSTALL_PREFIX}/bin/platforms)
file(REMOVE_RECURSE ${CMAKE_INSTALL_PREFIX}/bin/styles)
file(REMOVE_RECURSE ${CMAKE_INSTALL_PREFIX}/bin/dlls/imageformats)
file(RENAME ${CMAKE_INSTALL_PREFIX}/bin/qtplugins/platforms ${CMAKE_INSTALL_PREFIX}/bin/platforms)
file(RENAME ${CMAKE_INSTALL_PREFIX}/bin/qtplugins/styles ${CMAKE_INSTALL_PREFIX}/bin/styles)
file(RENAME ${CMAKE_INSTALL_PREFIX}/bin/qtplugins/imageformats ${CMAKE_INSTALL_PREFIX}/bin/dlls/imageformats)
file(REMOVE_RECURSE ${CMAKE_INSTALL_PREFIX}/bin/qtplugins)"
)
# qdds.dll needs installing manually as Qt no longer ships with it by default.
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../qdds.dll DESTINATION bin/dlls/imageformats)
install(FILES ${organizer_translations_qm} DESTINATION bin/translations)
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/stylesheets
${CMAKE_CURRENT_SOURCE_DIR}/tutorials
DESTINATION bin)
+2 -2
View File
@@ -3,6 +3,7 @@ TEMPLATE = subdirs
SUBDIRS = bsatk \
shared \
uibase \
esptk \
organizer \
hookdll \
archive \
@@ -11,8 +12,7 @@ SUBDIRS = bsatk \
nxmhandler \
BossDummy \
pythonRunner \
loot_cli \
esptk
loot_cli
pythonRunner.depends = uibase
plugins.depends = pythonRunner uibase
+62 -10
View File
@@ -1,6 +1,43 @@
import ctypes
import os
import subprocess
def resolve_name(source):
# Get the actual name of the file, after reparse points and symlinks are
# taken into account.
GENERIC_READ = 0x80000000
FILE_SHARE_READ = 0x1
OPEN_EXISTING = 0x3
FILE_FLAG_BACKUP_SEMANTICS = 0x02000000
handle = ctypes.windll.kernel32.CreateFileA(source,
GENERIC_READ,
FILE_SHARE_READ,
None,
OPEN_EXISTING,
FILE_FLAG_BACKUP_SEMANTICS,
None)
# get the target
FILE_NAME_NORMALIZED = 0x0
FILE_NAME_OPENED = 0x8
buff = ctypes.create_string_buffer(1024)
res = ctypes.windll.kernel32.GetFinalPathNameByHandleA(handle,
buff,
ctypes.sizeof(buff),
FILE_NAME_NORMALIZED)
target = buff.value
ctypes.windll.kernel32.CloseHandle(handle)
return target
def search_up(path, target):
while True:
if os.path.exists(os.path.join(path, target)):
return True
npath = os.path.dirname(path)
if npath == path:
break
path = npath
return False
Import('qt_env')
env = qt_env.Clone()
@@ -30,7 +67,6 @@ env.Uic(env.Glob('*.ui'))
env.RequireLibraries('uibase', 'shared', 'bsatk', 'esptk')
env.AppendUnique(LIBS = [
'shell32',
'user32',
@@ -47,22 +83,24 @@ env.AppendUnique(LIBS = [
other_sources = env.AddExtraMoc(env.Glob('*.h'))
for file in env.Glob('*.rc'):
# version.rc is included in app_icon.rc. Not sure why it's a separate file.
if file.name == 'version.rc':
continue
other_sources.append(env.RES(file))
# Note the order of this is important, or you can pick up the wrong report.h...
# Doing appendunique seems to throw the moc code into a tizzy
env['CPPPATH'] += [
'../archive',
# '../boss_modified/boss-api',
'../plugins/gamefeatures',
'.', # Why is this necessary?
'${LOOTPATH}',
'${BOOSTPATH}',
]
#########################FUDGE###############################
env['CPPPATH'] += [
'../plugins/gameGamebryo',
]
#############################################################
env.AppendUnique(CPPDEFINES = [
'_UNICODE',
'_CRT_SECURE_NO_WARNINGS',
@@ -72,7 +110,11 @@ env.AppendUnique(CPPDEFINES = [
'QT_MESSAGELOGCONTEXT'
])
env.AppendUnique(CPPFLAGS = [ '-wd4100', '-wd4127', '-wd4512', '-wd4189' ])
# Boost produces very long names with msvc truncates. Doesn't seem to cause
# problems.
# Also note to remove the -wd4100 I hacked the boost headers (tagged_argument.hpp)
# appropriately.
env.AppendUnique(CPPFLAGS = [ '-wd4503' ])
env.AppendUnique(LINKFLAGS = [
'/SUBSYSTEM:WINDOWS',
@@ -81,15 +123,25 @@ env.AppendUnique(LINKFLAGS = [
# modeltest is optional and it doesn't compile anyway...
cpp_files = [
x for x in Glob('*.cpp')
if x.name != 'modeltest.cpp' and x.name != 'aboutdialog.cpp'
x for x in env.Glob('*.cpp', source = True)
if x.name != 'modeltest.cpp' and x.name != 'aboutdialog.cpp' and \
not x.name.startswith('moc_') # I think this is a strange bug
]
about_env = env.Clone()
# This is somewhat of a hack until I can work out a way of setting up a build
# with all the repos without using millions of junction points
try:
hgid = subprocess.check_output(['hg', 'id', '-i']).rstrip()
target = resolve_name(Dir('.').srcnode().abspath)
if search_up(target, '.hg'):
hgid = subprocess.check_output([env['MERCURIAL'], 'id', '-i']).rstrip()
elif search_up(target, '.git'):
hgid = subprocess.check_output([env['GIT'], '-C', target, 'describe',
'--tag']).rstrip()
else:
hgid = "Unknown"
except:
hgid = 'Unknown version'
hgid = "Problem determining version"
# FIXME: It'd be much easier to stringify this in the source code
about_env.AppendUnique(CPPDEFINES = [ 'HGID=\\"%s\\"' % hgid ])
+44 -11
View File
@@ -22,6 +22,14 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
#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)
@@ -29,30 +37,55 @@ AboutDialog::AboutDialog(const QString &version, QWidget *parent)
{
ui->setupUi(this);
m_LicenseFiles[LICENSE_LGPL3] = "lgpl-3.0.txt";
m_LicenseFiles[LICENSE_GPL3] = "gpl-3.0.txt";
m_LicenseFiles[LICENSE_BSD3] = "bsd3.txt";
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_CCBY3] = "by-sa3.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_APACHE2] = "apache-license-2.0.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 5.4", LICENSE_LGPL3);
addLicense("Qt", LICENSE_LGPL3);
addLicense("Qt Json", LICENSE_GPL3);
addLicense("Boost Library", LICENSE_BOOST);
addLicense("7-zip", LICENSE_LGPL3);
addLicense("ZLib", LICENSE_ZLIB);
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_APACHE2);
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));
#ifdef HGID
#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));
}
@@ -74,7 +107,7 @@ void AboutDialog::on_creditsList_currentItemChanged(QListWidgetItem *current, QL
{
auto iter = m_LicenseFiles.find(current->data(Qt::UserRole).toInt());
if (iter != m_LicenseFiles.end()) {
QString filePath = qApp->applicationDirPath() + "/license/" + iter->second;
QString filePath = qApp->applicationDirPath() + "/licenses/" + iter->second;
QString text = MOBase::readFileText(filePath);
ui->licenseText->setText(text);
} else {
+17 -5
View File
@@ -22,10 +22,11 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
#define ABOUTDIALOG_H
#include <QDialog>
#include <QListWidgetItem>
class QListWidgetItem;
#include <QObject>
#include <QString>
#include <map>
#include <vector>
#include <utility>
namespace Ui {
class AboutDialog;
@@ -44,12 +45,23 @@ private:
enum Licenses {
LICENSE_NONE,
LICENSE_LGPL3,
LICENSE_LGPL21,
LICENSE_GPL3,
LICENSE_BSD3,
LICENSE_GPL2,
LICENSE_BOOST,
LICENSE_CCBY3,
LICENSE_PYTHON,
LICENSE_SSL,
LICENSE_CPPTOML,
LICENSE_7ZIP,
LICENSE_ZLIB,
LICENSE_APACHE2
LICENSE_UDIS,
LICENSE_SPDLOG,
LICENSE_FMT,
LICENSE_SIP,
LICENSE_CASTLE,
LICENSE_ANTLR,
LICENSE_DXTEX
};
private:
+164 -21
View File
@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>508</width>
<height>335</height>
<width>1010</width>
<height>477</height>
</rect>
</property>
<property name="windowTitle">
@@ -18,13 +18,50 @@
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="iconLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>250</width>
<height>250</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>250</width>
<height>250</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="resources.qrc">:/MO/gui/mo_icon.ico</pixmap>
<pixmap resource="resources.qrc">:/MO/gui/splash</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
</widget>
</item>
@@ -83,14 +120,14 @@
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string notr="true">Copyright 2011-2015 Sebastian Herbord</string>
<string notr="true">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Copyright 2011-2016 Sebastian Herbord&lt;/p&gt;&lt;p&gt;Copyright 2016-2018 Mod Organizer 2 contributors&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string notr="true">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;This program 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.&lt;/p&gt;&lt;p&gt;See the GNU General Public License for more details.&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;This program 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.&lt;/p&gt;&lt;p&gt;See the GNU General Public License for more details.&lt;/p&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>
</property>
<property name="wordWrap">
<bool>true</bool>
@@ -114,13 +151,13 @@
</widget>
<widget class="QWidget" name="credits">
<attribute name="title">
<string>Credits</string>
<string>Thanks</string>
</attribute>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Translators</string>
<string>Current Maintainers</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
@@ -130,34 +167,45 @@
</property>
<item>
<property name="text">
<string notr="true">pndrev (German)</string>
<string notr="true">LePresidente (Project Lead)</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">DaWul (Spanish)</string>
<string>AL12</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Fiama (Spanish)</string>
<string notr="true">Diana</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Alyndiar (French)</string>
<string notr="true">erasmux</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Jlkawaii (French)</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Rigoletto (French)</string>
<string notr="true">Silarn</string>
</property>
</item>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>Translators</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<widget class="QListWidget" name="listWidget_2">
<property name="selectionMode">
<enum>QAbstractItemView::NoSelection</enum>
</property>
<item>
<property name="text">
<string notr="true">Scythe1912 (Chinese)</string>
@@ -175,7 +223,47 @@
</item>
<item>
<property name="text">
<string notr="true">tokcdk (Russian)</string>
<string>Cyb3r (Dutch)</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Alyndiar (French)</string>
</property>
</item>
<item>
<property name="text">
<string>fruttyx (French)</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Jlkawaii (French)</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Rigoletto (French)</string>
</property>
</item>
<item>
<property name="text">
<string>Yoplala (French)</string>
</property>
</item>
<item>
<property name="text">
<string>Faron (German)</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">pndrev (German)</string>
</property>
</item>
<item>
<property name="text">
<string>Mordan (Greek)</string>
</property>
</item>
<item>
@@ -188,7 +276,37 @@
</item>
<item>
<property name="text">
<string>... more (Can't track)</string>
<string>Yoosk (Polish)</string>
</property>
</item>
<item>
<property name="text">
<string>Brgodfx (Portuguese)</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">tokcdk (Russian)</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">DaWul (Spanish)</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Fiama (Spanish)</string>
</property>
</item>
<item>
<property name="text">
<string>Jax (Swedish)</string>
</property>
</item>
<item>
<property name="text">
<string>...and all other Transifex contributors!</string>
</property>
<property name="toolTip">
<string/>
@@ -200,9 +318,9 @@
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_2">
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>Others</string>
<string>Other Supporters &amp;&amp; Contributors</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_7">
<item>
@@ -210,6 +328,11 @@
<property name="selectionMode">
<enum>QAbstractItemView::NoSelection</enum>
</property>
<item>
<property name="text">
<string notr="true">AnyOldName3</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">blacksol</string>
@@ -230,6 +353,11 @@
<string notr="true">Bridger</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Brixified</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">GamerPoet</string>
@@ -245,6 +373,21 @@
<string notr="true">GSDFan</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">ogrotten</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Schilduin</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">SuperSandro2000</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Uhuru</string>
+13 -14
View File
@@ -21,37 +21,36 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
#include "ui_activatemodsdialog.h"
#include <QComboBox>
#include <QHeaderView>
#include <QLabel>
#include <QString>
#include <QTableWidget>
ActivateModsDialog::ActivateModsDialog(const std::map<QString, std::vector<QString> > &missingPlugins, QWidget *parent)
#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();
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
headerView->setSectionResizeMode(0, QHeaderView::Stretch);
headerView->setSectionResizeMode(1, QHeaderView::Interactive);
#else
headerView->setResizeMode(0, QHeaderView::Stretch);
headerView->setResizeMode(1, QHeaderView::Interactive);
#endif
int row = 0;
modsTable->setRowCount(missingPlugins.size());
modsTable->setRowCount(missingAssets.size());
for (std::map<QString, std::vector<QString> >::const_iterator espIter = missingPlugins.begin();
espIter != missingPlugins.end(); ++espIter, ++row) {
modsTable->setCellWidget(row, 0, new QLabel(espIter->first));
if (espIter->second.size() == 0) {
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 (std::vector<QString>::const_iterator modIter = espIter->second.begin();
modIter != espIter->second.end(); ++modIter) {
combo->addItem(*modIter);
for (QString const &mod : espIter.value()) {
combo->addItem(mod);
}
modsTable->setCellWidget(row, 1, combo);
}

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