Compare commits

...
135 Commits
Author SHA1 Message Date
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
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 99156abc6e First attempt to update to QT5.7 2017-01-04 14:23:53 +02:00
84 changed files with 2451 additions and 12238 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!
+5
View File
@@ -2,6 +2,7 @@
Thumbs.db
src/moc_*.cpp
src/ui_*.h
src/organizer_en.ts
src/*.qrc.depends
src/Modorganizer.*
src/*.bak
@@ -9,5 +10,9 @@ CMakeLists.txt.user
edit
stderr.log
stdout.log
vs_stderr.log
vs_stdout.log
build
/vsbuild
/CMakeFiles
.idea
+1 -1
View File
@@ -5,7 +5,7 @@ PROJECT(organizer)
SET(DEPENDENCIES_DIR CACHE PATH "")
# hint to find qt in dependencies path
LIST(APPEND CMAKE_PREFIX_PATH ${DEPENDENCIES_DIR}/qt5/lib/cmake)
LIST(APPEND CMAKE_PREFIX_PATH ${QT_ROOT}/lib/cmake)
FILE(GLOB_RECURSE BOOST_ROOT ${DEPENDENCIES_DIR}/boost*/project-config.jam)
GET_FILENAME_COMPONENT(BOOST_ROOT ${BOOST_ROOT} DIRECTORY)
+29 -10
View File
@@ -23,6 +23,7 @@ SET(organizer_SRCS
profile.cpp
pluginlistsortproxy.cpp
pluginlist.cpp
pluginlistview.cpp
overwriteinfodialog.cpp
nxmaccessmanager.cpp
nexusinterface.cpp
@@ -41,7 +42,9 @@ SET(organizer_SRCS
main.cpp
loghighlighter.cpp
logbuffer.cpp
lockeddialogbase.cpp
lockeddialog.cpp
waitingonclosedialog.cpp
loadmechanism.cpp
installationmanager.cpp
helper.cpp
@@ -85,6 +88,7 @@ SET(organizer_SRCS
instancemanager.cpp
usvfsconnector.cpp
eventfilter.cpp
moshortcut.cpp
shared/windows_error.cpp
shared/error_report.cpp
@@ -109,6 +113,7 @@ SET(organizer_HDRS
profile.h
pluginlistsortproxy.h
pluginlist.h
pluginlistview.h
overwriteinfodialog.h
nxmaccessmanager.h
nexusinterface.h
@@ -126,7 +131,9 @@ SET(organizer_HDRS
mainwindow.h
loghighlighter.h
logbuffer.h
lockeddialogbase.h
lockeddialog.h
waitingonclosedialog.h
loadmechanism.h
installationmanager.h
helper.h
@@ -167,10 +174,13 @@ SET(organizer_HDRS
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
@@ -196,6 +206,7 @@ SET(organizer_UIS
messagedialog.ui
mainwindow.ui
lockeddialog.ui
waitingonclosedialog.ui
installdialog.ui
finddialog.ui
editexecutablesdialog.ui
@@ -233,10 +244,11 @@ SET(CMAKE_INCLUDE_CURRENT_DIR ON)
SET(CMAKE_AUTOMOC ON)
SET(CMAKE_AUTOUIC ON)
FIND_PACKAGE(Qt5Widgets REQUIRED)
FIND_PACKAGE(Qt5Declarative REQUIRED)
FIND_PACKAGE(Qt5QuickWidgets REQUIRED)
FIND_PACKAGE(Qt5Quick REQUIRED)
FIND_PACKAGE(Qt5Network REQUIRED)
FIND_PACKAGE(Qt5WinExtras REQUIRED)
FIND_PACKAGE(Qt5WebKitWidgets REQUIRED)
FIND_PACKAGE(Qt5WebEngineWidgets REQUIRED)
FIND_PACKAGE(Qt5LinguistTools)
QT5_WRAP_UI(organizer_UIHDRS ${organizer_UIS})
QT5_ADD_RESOURCES(organizer_RCCPPS ${organizer_QRCS})
@@ -272,7 +284,7 @@ INCLUDE_DIRECTORIES(${project_path}/uibase/src
${project_path}/bsatk/src
${project_path}/esptk/src
${project_path}/archive/src
${project_path}/../usvfs/usvfs
${project_path}/../usvfs/include
${project_path}/game_gamebryo/src
${project_path}/game_features/src
${project_path}/githubpp/src)
@@ -289,7 +301,7 @@ EXECUTE_PROCESS(
OUTPUT_STRIP_TRAILING_WHITESPACE
)
ADD_DEFINITIONS(-D_UNICODE -DUNICODE -DNOMINMAX -D_CRT_SECURE_NO_WARNINGS -DGITID="${GIT_COMMIT_HASH}")
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)
@@ -299,7 +311,7 @@ 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::WebKitWidgets
Qt5::Widgets Qt5::WinExtras Qt5::WebEngineWidgets Qt5::Quick
${Boost_LIBRARIES}
zlibstatic
uibase esptk bsatk githubpp
@@ -313,7 +325,7 @@ SET_TARGET_PROPERTIES(ModOrganizer PROPERTIES LINK_FLAGS_RELWITHDEBINFO
"/LARGEADDRESSAWARE ${OPTIMIZE_LINK_FLAGS}")
QT5_USE_MODULES(ModOrganizer Widgets Declarative Network WebKitWidgets)
QT5_USE_MODULES(ModOrganizer Widgets Script Qml QuickWidgets Quick Network WebEngineWidgets)
###############
@@ -325,23 +337,30 @@ FIND_PROGRAM(WINDEPLOYQT_COMMAND windeployqt PATHS ${qt5bin} NO_DEFAULT_PATH)
INSTALL(TARGETS ModOrganizer
RUNTIME DESTINATION bin)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/ModOrganizer.pdb
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 --no-plugins --libdir dlls --release-with-debug-info --no-compiler-runtime)
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 ${windeploy_parameters}
${qt5bin}/windeployqt.exe ModOrganizer.exe --webenginewidgets ${windeploy_parameters}
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)"
)
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/stylesheets
+2 -2
View File
@@ -17,14 +17,14 @@
<item>
<widget class="QTableWidget" name="modsTable">
<property name="toolTip">
<string>This is a list of esps and esms that were active when the save game was created.</string>
<string>This is a list of esps, esms, and esls that were active when the save game was created.</string>
</property>
<property name="whatsThis">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;This is a list of esps and esms that were active when the save game was created.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;This is a list of esps, esms, and esls that were active when the save game was created.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;For each esp, the right column contains the mod (or mods) that can be enabled to make the missing esps/esms available.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;If you hit Ok, all the mods selected in the right columns and all missing esps that have become available will be activated.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+16 -16
View File
@@ -28,13 +28,13 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
#include <utility.h>
#include "settings.h"
#include <QWebEngineSettings>
#include <QNetworkCookieJar>
#include <QNetworkCookie>
#include <QMenu>
#include <QInputDialog>
#include <QWebHistory>
#include <QWebEngineHistory>
#include <QDir>
#include <QWebFrame>
#include <QDesktopWidget>
#include <QKeyEvent>
@@ -77,8 +77,8 @@ void BrowserDialog::closeEvent(QCloseEvent *event)
void BrowserDialog::initTab(BrowserView *newView)
{
newView->page()->setNetworkAccessManager(m_AccessManager);
newView->page()->setForwardUnsupportedContent(true);
//newView->page()->setNetworkAccessManager(m_AccessManager);
//newView->page()->setForwardUnsupportedContent(true);
connect(newView, SIGNAL(loadProgress(int)), this, SLOT(progress(int)));
connect(newView, SIGNAL(titleChanged(QString)), this, SLOT(titleChanged(QString)));
@@ -86,14 +86,14 @@ void BrowserDialog::initTab(BrowserView *newView)
connect(newView, SIGNAL(startFind()), this, SLOT(startSearch()));
connect(newView, SIGNAL(urlChanged(QUrl)), this, SLOT(urlChanged(QUrl)));
connect(newView, SIGNAL(openUrlInNewTab(QUrl)), this, SLOT(openInNewTab(QUrl)));
connect(newView->page(), SIGNAL(downloadRequested(QNetworkRequest)), this, SLOT(downloadRequested(QNetworkRequest)));
connect(newView->page(), SIGNAL(unsupportedContent(QNetworkReply*)), this, SLOT(unsupportedContent(QNetworkReply*)));
connect(newView, SIGNAL(downloadRequested(QNetworkRequest)), this, SLOT(downloadRequested(QNetworkRequest)));
connect(newView, SIGNAL(unsupportedContent(QNetworkReply*)), this, SLOT(unsupportedContent(QNetworkReply*)));
ui->backBtn->setEnabled(false);
ui->fwdBtn->setEnabled(false);
m_Tabs->addTab(newView, tr("new"));
newView->settings()->setAttribute(QWebSettings::PluginsEnabled, true);
newView->settings()->setAttribute(QWebSettings::AutoLoadImages, true);
newView->settings()->setAttribute(QWebEngineSettings::PluginsEnabled, true);
newView->settings()->setAttribute(QWebEngineSettings::AutoLoadImages, true);
}
@@ -133,10 +133,10 @@ void BrowserDialog::openUrl(const QUrl &url)
void BrowserDialog::maximizeWidth()
{
int viewportWidth = getCurrentView()->page()->viewportSize().width();
int viewportWidth = getCurrentView()->page()->contentsSize ().width();
int frameWidth = width() - viewportWidth;
int contentWidth = getCurrentView()->page()->mainFrame()->contentsSize().width();
int contentWidth = getCurrentView()->page()->contentsSize().width();
QDesktopWidget screen;
int currentScreen = screen.screenNumber(this);
@@ -190,7 +190,7 @@ QString BrowserDialog::guessFileName(const QString &url)
void BrowserDialog::unsupportedContent(QNetworkReply *reply)
{
try {
QWebPage *page = qobject_cast<QWebPage*>(sender());
QWebEnginePage *page = qobject_cast<QWebEnginePage*>(sender());
if (page == nullptr) {
qCritical("sender not a page");
return;
@@ -252,10 +252,10 @@ void BrowserDialog::startSearch()
void BrowserDialog::on_searchEdit_returnPressed()
{
BrowserView *currentView = getCurrentView();
if (currentView != nullptr) {
currentView->findText(ui->searchEdit->text(), QWebPage::FindWrapsAroundDocument);
}
// BrowserView *currentView = getCurrentView();
// if (currentView != nullptr) {
// currentView->findText(ui->searchEdit->text(), QWebEnginePage::FindWrapsAroundDocument);
// }
}
void BrowserDialog::on_refreshBtn_clicked()
@@ -274,7 +274,7 @@ void BrowserDialog::on_browserTabWidget_currentChanged(int index)
void BrowserDialog::on_urlEdit_returnPressed()
{
QWebView *currentView = getCurrentView();
QWebEngineView *currentView = getCurrentView();
if (currentView != nullptr) {
currentView->setUrl(QUrl(ui->urlEdit->text()));
}
+1 -1
View File
@@ -24,7 +24,7 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QTimer>
#include <QWebView>
#include <QWebEngineView>
#include <QQueue>
#include <QTabWidget>
#include <QAtomicInt>
+18 -17
View File
@@ -21,23 +21,23 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
#include <QEvent>
#include <QKeyEvent>
#include <QWebFrame>
#include <QWebElement>
#include <QNetworkDiskCache>
#include <QWebEngineContextMenuData>
#include <QWebEngineSettings>
#include <QMenu>
#include <Shlwapi.h>
#include "utility.h"
BrowserView::BrowserView(QWidget *parent)
: QWebView(parent)
: QWebEngineView(parent)
{
installEventFilter(this);
page()->settings()->setMaximumPagesInCache(10);
//page()->settings()->setMaximumPagesInCache(10);
}
QWebView *BrowserView::createWindow(QWebPage::WebWindowType)
QWebEngineView *BrowserView::createWindow(QWebEnginePage::WebWindowType)
{
BrowserView *newView = new BrowserView(parentWidget());
emit initTab(newView);
@@ -59,17 +59,18 @@ bool BrowserView::eventFilter(QObject *obj, QEvent *event)
mouseEvent->ignore();
return true;
}
} else if (event->type() == QEvent::MouseButtonRelease) {
QMouseEvent *mouseEvent = static_cast<QMouseEvent*>(event);
if (mouseEvent->button() == Qt::MidButton) {
QWebHitTestResult hitTest = page()->frameAt(mouseEvent->pos())->hitTestContent(mouseEvent->pos());
if (hitTest.linkUrl().isValid()) {
emit openUrlInNewTab(hitTest.linkUrl());
}
mouseEvent->ignore();
return true;
}
// TODO This is due to that QTWebEnginePage doesn't support QWebFrame anymore
// } else if (event->type() == QEvent::MouseButtonRelease) {
// QMouseEvent *mouseEvent = static_cast<QMouseEvent*>(event);
// if (mouseEvent->button() == Qt::MidButton) {
// QWebEngineContextMenuData hitTest = page()->hitTestContent(mouseEvent->pos());
// if (hitTest.linkUrl().isValid()) {
// emit openUrlInNewTab(hitTest.linkUrl());
// }
// mouseEvent->ignore();
//
// return true;
// }
}
return QWebView::eventFilter(obj, event);
return QWebEngineView::eventFilter(obj, event);
}
+4 -4
View File
@@ -24,13 +24,13 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
class QEvent;
class QUrl;
class QWidget;
#include <QWebView>
#include <QWebPage>
#include <QWebEngineView>
#include <QWebEnginePage>
/**
* @brief web view used to display a nexus page
**/
class BrowserView : public QWebView
class BrowserView : public QWebEngineView
{
Q_OBJECT
@@ -66,7 +66,7 @@ signals:
protected:
virtual QWebView *createWindow(QWebPage::WebWindowType type);
virtual QWebEngineView *createWindow(QWebEnginePage::WebWindowType type);
virtual bool eventFilter(QObject *obj, QEvent *event);
+52 -31
View File
@@ -205,42 +205,63 @@ void CategoryFactory::loadDefaultCategories()
{
// the order here is relevant as it defines the order in which the
// mods appear in the combo box
addCategory(1, "Animations", MakeVector<int>(1, 51), 0);
addCategory(2, "Armour", MakeVector<int>(1, 54), 0);
addCategory(3, "Sound & Music", MakeVector<int>(1, 61), 0);
addCategory(5, "Clothing", MakeVector<int>(1, 60), 0);
addCategory(6, "Collectables", MakeVector<int>(1, 92), 0);
addCategory(28, "Companions", MakeVector<int>(2, 66, 96), 0);
addCategory(7, "Creatures & Mounts", MakeVector<int>(2, 83, 65), 0);
addCategory(8, "Factions", MakeVector<int>(1, 25), 0);
addCategory(9, "Gameplay", MakeVector<int>(1, 24), 0);
addCategory(10, "Hair", MakeVector<int>(1, 26), 0);
addCategory(1, "Animations", MakeVector<int>(2, 4, 51), 0);
addCategory(52, "Poses", MakeVector<int>(1, 29), 1);
addCategory(2, "Armour", MakeVector<int>(2, 5, 54), 0);
addCategory(53, "Power Armor", MakeVector<int>(1, 53), 2);
addCategory(3, "Audio", MakeVector<int>(3, 33, 35, 106), 0);
addCategory(38, "Music", MakeVector<int>(2, 34, 61), 0);
addCategory(39, "Voice", MakeVector<int>(2, 36, 107), 0);
addCategory(5, "Clothing", MakeVector<int>(2, 9, 60), 0);
addCategory(41, "Jewelry", MakeVector<int>(1, 102), 5);
addCategory(42, "Backpacks", MakeVector<int>(1, 49), 5);
addCategory(6, "Collectables", MakeVector<int>(2, 10, 92), 0);
addCategory(28, "Companions", MakeVector<int>(3, 11, 66, 96), 0);
addCategory(7, "Creatures, Mounts, & Vehicles", MakeVector<int>(4, 12, 65, 83, 101), 0);
addCategory(8, "Factions", MakeVector<int>(2, 16, 25), 0);
addCategory(9, "Gameplay", MakeVector<int>(2, 15, 24), 0);
addCategory(27, "Combat", MakeVector<int>(1, 77), 9);
addCategory(43, "Crafting", MakeVector<int>(2, 50, 100), 9);
addCategory(48, "Overhauls", MakeVector<int>(2, 24, 79), 9);
addCategory(49, "Perks", MakeVector<int>(1, 27), 9);
addCategory(54, "Radio", MakeVector<int>(1, 31), 9);
addCategory(55, "Shouts", MakeVector<int>(1, 104), 9);
addCategory(22, "Skills & Levelling", MakeVector<int>(2, 46, 73), 9);
addCategory(58, "Weather & Lighting", MakeVector<int>(1, 56), 9);
addCategory(44, "Equipment", MakeVector<int>(1, 44), 43);
addCategory(45, "Home/Settlement", MakeVector<int>(1, 45), 43);
addCategory(10, "Body, Face, & Hair", MakeVector<int>(2, 17, 26), 0);
addCategory(39, "Tattoos", MakeVector<int>(1, 57), 10);
addCategory(40, "Character Presets", MakeVector<int>(1, 58), 0);
addCategory(11, "Items", MakeVector<int>(2, 27, 85), 0);
addCategory(32, "Mercantile", MakeVector<int>(1, 69), 0);
addCategory(19, "Weapons", MakeVector<int>(1, 55), 11);
addCategory(36, "Weapon & Armour Sets", MakeVector<int>(1, 39), 11);
addCategory(12, "Locations", MakeVector<int>(7, 22, 30, 70, 88, 89, 90, 91), 0);
addCategory(31, "Landscape Changes", MakeVector<int>(1, 58), 0);
addCategory(4, "Cities", MakeVector<int>(1, 53), 12);
addCategory(29, "Environment", MakeVector<int>(1, 74), 0);
addCategory(30, "Immersion", MakeVector<int>(1, 78), 0);
addCategory(32, "Mercantile", MakeVector<int>(2, 23, 69), 0);
addCategory(37, "Ammo", MakeVector<int>(1, 3), 11);
addCategory(19, "Weapons", MakeVector<int>(2, 41, 55), 11);
addCategory(36, "Weapon & Armour Sets", MakeVector<int>(1, 42), 11);
addCategory(23, "Player Homes", MakeVector<int>(2, 28, 67), 0);
addCategory(25, "Castles & Mansions", MakeVector<int>(1, 68), 23);
addCategory(51, "Settlements", MakeVector<int>(1, 48), 23);
addCategory(12, "Locations", MakeVector<int>(10, 20, 21, 22, 30, 47, 70, 88, 89, 90, 91), 0);
addCategory(4, "Cities", MakeVector<int>(1, 53), 12);
addCategory(31, "Landscape Changes", MakeVector<int>(1, 58), 0);
addCategory(29, "Environment", MakeVector<int>(2, 14, 74), 0);
addCategory(30, "Immersion", MakeVector<int>(2, 51, 78), 0);
addCategory(20, "Magic", MakeVector<int>(3, 75, 93, 94), 0);
addCategory(21, "Models & Textures", MakeVector<int>(1, 29), 0);
addCategory(33, "Modders resources", MakeVector<int>(1, 82), 0);
addCategory(13, "NPCs", MakeVector<int>(1, 33), 0);
addCategory(14, "Patches", MakeVector<int>(2, 79, 84), 0);
addCategory(24, "Bugfixes", MakeVector<int>(1, 95), 0);
addCategory(35, "Utilities", MakeVector<int>(1, 39), 0);
addCategory(26, "Cheats", MakeVector<int>(1, 40), 0);
addCategory(23, "Player Homes", MakeVector<int>(1, 67), 0);
addCategory(15, "Quests", MakeVector<int>(1, 35), 0);
addCategory(21, "Models & Textures", MakeVector<int>(2, 19, 29), 0);
addCategory(33, "Modders resources", MakeVector<int>(2, 18, 82), 0);
addCategory(13, "NPCs", MakeVector<int>(3, 22, 33, 99), 0);
addCategory(24, "Bugfixes", MakeVector<int>(2, 6, 95), 0);
addCategory(14, "Patches", MakeVector<int>(2, 25, 84), 24);
addCategory(35, "Utilities", MakeVector<int>(2, 38, 39), 0);
addCategory(26, "Cheats", MakeVector<int>(1, 8), 0);
addCategory(15, "Quests", MakeVector<int>(2, 30, 35), 0);
addCategory(16, "Races & Classes", MakeVector<int>(1, 34), 0);
addCategory(27, "Combat", MakeVector<int>(1, 77), 0);
addCategory(22, "Skills", MakeVector<int>(1, 73), 0);
addCategory(34, "Stealth", MakeVector<int>(1, 76), 0);
addCategory(17, "UI", MakeVector<int>(1, 42), 0);
addCategory(18, "Visuals", MakeVector<int>(1, 62), 0);
addCategory(17, "UI", MakeVector<int>(2, 37, 42), 0);
addCategory(18, "Visuals", MakeVector<int>(2, 40, 62), 0);
addCategory(50, "Pip-Boy", MakeVector<int>(1, 52), 18);
addCategory(46, "Shader Presets", MakeVector<int>(3, 13, 97, 105), 0);
addCategory(47, "Miscellaneous", MakeVector<int>(2, 2, 28), 0);
}
+28
View File
@@ -0,0 +1,28 @@
#include <QWebEnginePage>
#ifndef DESCRIPTIONPAGE_H
#define DESCRIPTIONPAGE_H
class DescriptionPage : public QWebEnginePage
{
Q_OBJECT
public:
DescriptionPage(QObject* parent = 0) : QWebEnginePage(parent){}
bool acceptNavigationRequest(const QUrl & url, QWebEnginePage::NavigationType type, bool isMainFrame)
{
if (type == QWebEnginePage::NavigationTypeLinkClicked)
{
emit linkClicked(url);
return false;
}
return true;
}
signals:
void linkClicked(const QUrl&);
};
#endif //DESCRIPTIONPAGE_H
+14 -17
View File
@@ -1,31 +1,28 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity type="win32" name="dlls" version="1.0.0.0" processorArchitecture="x86"/>
<file name="icuin54.dll"/>
<file name="icuuc54.dll"/>
<file name="icudt54.dll"/>
<file name="7z.dll"/>
<file name="archive.dll"/>
<file name="d3dcompiler_47.dll"/>
<file name="libeay32.dll"/>
<file name="ssleay32.dll"/>
<file name="libEGL.dll"/>
<file name="libGLESV2.dll"/>
<file name="liblz4.dll"/>
<file name="opengl32sw.dll"/>
<file name="Qt5Core.dll"/>
<file name="Qt5Declarative.dll"/>
<file name="Qt5Gui.dll"/>
<file name="Qt5Multimedia.dll"/>
<file name="Qt5MultimediaWidgets.dll"/>
<file name="Qt5Network.dll"/>
<file name="Qt5OpenGL.dll"/>
<file name="Qt5Positioning.dll"/>
<file name="Qt5PrintSupport.dll"/>
<file name="Qt5Qml.dll"/>
<file name="Qt5Quick.dll"/>
<file name="Qt5Sensors.dll"/>
<file name="Qt5Script.dll"/>
<file name="Qt5Sql.dll"/>
<file name="Qt5QuickWidgets.dll"/>
<file name="Qt5WebChannel.dll"/>
<file name="Qt5SerialPort.dll"/>
<file name="Qt5Svg.dll"/>
<file name="Qt5WebChannel.dll"/>
<file name="Qt5WebKit.dll"/>
<file name="Qt5WebKitWidgets.dll"/>
<file name="Qt5WebEngineCore.dll"/>
<file name="Qt5WebEngineWidgets.dll"/>
<file name="Qt5Widgets.dll"/>
<file name="Qt5WinExtras.dll"/>
<file name="Qt5Xml.dll"/>
<file name="Qt5XmlPatterns.dll"/>
<file name="Qt5WinExtras.dll"/>
<file name="ssleay32.dll"/>
</assembly>
+2 -1
View File
@@ -228,7 +228,8 @@ bool EditExecutablesDialog::executableChanged()
QString storedCustomOverwrite = m_Profile->setting("custom_overwrites", selectedExecutable.m_Title).toString();
return selectedExecutable.m_Arguments != ui->argumentsEdit->text()
return selectedExecutable.m_Title != ui->titleEdit->text()
|| selectedExecutable.m_Arguments != ui->argumentsEdit->text()
|| selectedExecutable.m_SteamAppID != ui->appIDOverwriteEdit->text()
|| !storedCustomOverwrite.isEmpty() != ui->newFilesModCheckBox->isChecked()
|| !storedCustomOverwrite.isEmpty() && (storedCustomOverwrite != ui->newFilesModBox->currentText())
+6
View File
@@ -10,6 +10,12 @@
<height>460</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>200</width>
<height>200</height>
</size>
</property>
<property name="windowTitle">
<string>Modify Executables</string>
</property>
+2 -2
View File
@@ -86,7 +86,7 @@ Executable &ExecutablesList::find(const QString &title)
return exe;
}
}
throw std::runtime_error(QString("invalid name %1").arg(title).toLocal8Bit().constData());
throw std::runtime_error(QString("invalid executable name %1").arg(title).toLocal8Bit().constData());
}
@@ -192,7 +192,7 @@ void ExecutablesList::addExecutableInternal(const QString &title, const QString
newExe.m_Arguments = arguments;
newExe.m_WorkingDirectory = workingDirectory;
newExe.m_SteamAppID = steamAppID;
newExe.m_Flags = 0;
newExe.m_Flags = Executable::UseApplicationIcon;
m_Executables.push_back(newExe);
}
}
+13
View File
@@ -0,0 +1,13 @@
#ifndef ILOCKEDWAITINGFORPROCESS_H
#define ILOCKEDWAITINGFORPROCESS_H
class QString;
class ILockedWaitingForProcess
{
public:
virtual bool unlockForced() const = 0;
virtual void setProcessName(QString const &) = 0;
};
#endif // ILOCKEDWAITINGFORPROCESS_H
+7 -3
View File
@@ -187,6 +187,7 @@ bool InstallationManager::unpackSingleFile(const QString &fileName)
m_InstallationProgress->setWindowTitle(tr("Extracting files"));
m_InstallationProgress->setWindowModality(Qt::WindowModal);
m_InstallationProgress->setFixedSize(600, 100);
m_InstallationProgress->show();
bool res = m_ArchiveHandler->extract(QDir::tempPath(),
@@ -274,6 +275,7 @@ QStringList InstallationManager::extractFiles(const QStringList &filesOrig, bool
m_InstallationProgress->windowFlags() & (~Qt::WindowContextHelpButtonHint));
m_InstallationProgress->setWindowTitle(tr("Extracting files"));
m_InstallationProgress->setWindowModality(Qt::WindowModal);
m_InstallationProgress->setFixedSize(600, 100);
m_InstallationProgress->show();
// unpack only the files we need for the installer
@@ -419,9 +421,10 @@ void InstallationManager::updateProgress(float percentage)
void InstallationManager::updateProgressFile(QString const &fileName)
{
if (m_InstallationProgress != nullptr) {
m_InstallationProgress->setLabelText(fileName);
}
if (m_InstallationProgress != nullptr) {
m_InstallationProgress->setLabelText(fileName);
QCoreApplication::processEvents();
}
}
@@ -563,6 +566,7 @@ bool InstallationManager::doInstall(GuessedValue<QString> &modName, int modID,
m_InstallationProgress->setWindowFlags(
m_InstallationProgress->windowFlags() & (~Qt::WindowContextHelpButtonHint));
m_InstallationProgress->setWindowModality(Qt::WindowModal);
m_InstallationProgress->setFixedSize(600, 100);
m_InstallationProgress->show();
if (!m_ArchiveHandler->extract(targetDirectory,
new MethodCallback<InstallationManager, void, float>(this, &InstallationManager::updateProgress),
+15 -5
View File
@@ -47,9 +47,19 @@ InstanceManager &InstanceManager::instance()
return s_Instance;
}
void InstanceManager::overrideInstance(const QString& instanceName)
{
m_overrideInstanceName = instanceName;
m_overrideInstance = true;
}
QString InstanceManager::currentInstance() const
{
return m_AppSettings.value(INSTANCE_KEY, "").toString();
if (m_overrideInstance)
return m_overrideInstanceName;
else
return m_AppSettings.value(INSTANCE_KEY, "").toString();
}
void InstanceManager::clearCurrentInstance()
@@ -177,7 +187,8 @@ void InstanceManager::createDataPath(const QString &dataPath) const
QString InstanceManager::determineDataPath()
{
QString instanceId = currentInstance();
if (instanceId.isEmpty() && portableInstall() && !m_Reset) {
if (instanceId.isEmpty() && !m_Reset && (m_overrideInstance || portableInstall()))
{
// startup, apparently using portable mode before
return qApp->applicationDirPath();
}
@@ -187,8 +198,9 @@ QString InstanceManager::determineDataPath()
+ "/" + instanceId);
if (instanceId.isEmpty() || !QFileInfo::exists(dataPath)) {
if (!m_overrideInstance && (instanceId.isEmpty() || !QFileInfo::exists(dataPath))) {
instanceId = chooseInstance(instances());
setCurrentInstance(instanceId);
if (!instanceId.isEmpty()) {
dataPath = QDir::fromNativeSeparators(
QStandardPaths::writableLocation(QStandardPaths::DataLocation)
@@ -199,8 +211,6 @@ QString InstanceManager::determineDataPath()
if (instanceId.isEmpty()) {
return qApp->applicationDirPath();
} else {
setCurrentInstance(instanceId);
createDataPath(dataPath);
return dataPath;
+6 -2
View File
@@ -34,11 +34,14 @@ public:
QString determineDataPath();
void clearCurrentInstance();
void overrideInstance(const QString& instanceName);
QString currentInstance() const;
private:
InstanceManager();
QString currentInstance() const;
QString instancePath() const;
QStringList instances() const;
@@ -55,5 +58,6 @@ private:
QSettings m_AppSettings;
bool m_Reset {false};
bool m_overrideInstance{false};
QString m_overrideInstanceName;
};
+6 -5
View File
@@ -3,6 +3,7 @@
#include "modinfo.h"
#include "ilockedwaitingforprocess.h"
#include <iplugintool.h>
#include <ipluginmodpage.h>
#include <delayedfilewriter.h>
@@ -27,12 +28,12 @@ public:
virtual void displayModInformation(ModInfo::Ptr modInfo, unsigned int index, int tab) = 0;
virtual void lock() = 0;
virtual void updateBSAList(const QStringList &defaultArchives, const QStringList &activeArchives) = 0;
virtual MOBase::DelayedFileWriterBase &archivesWriter() = 0;
virtual ILockedWaitingForProcess* lock() = 0;
virtual void unlock() = 0;
virtual bool unlockClicked() = 0;
virtual void setProcessName(QString const &) = 0;
};
#endif // IUSERINTERFACE_H

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