Compare commits

...
1328 Commits
Author SHA1 Message Date
Chris Bessent 6c6734fcf4 Set version for new instances 2020-01-12 14:35:40 -07:00
Chris Bessent 9fc7a1bf85 Fix downloading files that have no file name
Somehow some mods on the Nexus have no file name in certain API
responses.  Previously, MO assumed the last part of the URL is
the file name.  This worked until the Nexus started adding URL
query stuff to the URL (?md5=xxx).

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

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

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

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

Additionally, a progress bar was added as hashing large files would
lock up the GUI.
2019-09-28 08:11:29 -05:00
isanae ec48a6d796 a few comments for ColorTable 2019-09-27 15:26:00 -04:00
isanae 51d664d76c moved color stuff to ColorTable, now shows sample text and icons 2019-09-27 15:20:02 -04:00
isanae 5d74bd3789 refactored addLanguages() a bit
changed some of the tooltips
2019-09-25 19:32:53 -04:00
isanae 8237a1c47f use QStyleFactory to get default styles instead of hardcoding them
don't display extensions in style combobox
2019-09-25 18:39:37 -04:00
isanae 01b2a8201d replaced color buttons by a QTableWidget 2019-09-25 18:24:08 -04:00
isanae 088f27fe48 changed the layout of the general settings tab
added option to disable checking for updates
removed online check, just try it and see
2019-09-23 19:10:19 -04:00
isanae 200b5283eb added center dialogs option
moved download list options to their own group box
renamed confusing "Download Meta Information" to "Show Meta Information"
2019-09-23 18:21:39 -04:00
isanae 829124d8b8 ensure windows are on screen 2019-09-23 17:52:46 -04:00
Al d0099f577e Changed label of executable dialog to be more clear about application icons. 2019-09-23 17:40:09 +02:00
isanae 5044a6cd2c Merge pull request #839 from isanae/even-more-logging
Even more logging
2019-09-22 15:14:53 -04:00
isanae c1a5f2ef73 refactored getSecurityProductsFromWMI() to stop using a lambda
security products now only need a guid, handles failures better
2019-09-21 21:27:45 -04:00
isanae 2feaed68b4 missing period 2019-09-20 01:19:01 -04:00
isanae b455659114 registry details when steam fails to start
typos
2019-09-20 00:45:22 -04:00
isanae 54871e7b56 added details to blacklist dialog 2019-09-19 17:14:09 -04:00
isanae 94b0c46342 TaskDialog for blacklisted, with button to change the blacklist 2019-09-19 17:10:30 -04:00
isanae cbfd3692ce TaskDialog for event log not running 2019-09-19 16:41:36 -04:00
isanae f92e2c376d TaskDialog for restarting as admin for steam
added a parent widget parameter to a bunch of places
fixed paths still getting changed even if folders can't be created
made private the member variables that were temporarily public during rework
2019-09-19 16:27:41 -04:00
isanae 9bac57e3e8 steam confirmation now using TaskDialog
fixed dialog choices not remembering files
2019-09-19 15:03:03 -04:00
isanae a5db7ed864 added Settings::isExecutableBlacklisted()
moved blacklisted confirmation to dialogs
2019-09-19 11:23:21 -04:00
isanae 8bc67a86d6 moved event log warning to dialogs 2019-09-19 11:17:52 -04:00
isanae c1ab18b614 moved the content of checkService() to env::getService(), refactored it 2019-09-19 11:14:14 -04:00
isanae c50722100c removed helper.h and helper.cpp, merged into spawn 2019-09-19 10:11:56 -04:00
isanae c603681115 moved helper stuff to spawn so it can reuse error handling
removed unused helper::init()
removed logging when deleting a credential that doesn't exist, happens all the time
2019-09-19 10:07:52 -04:00
LostDragonist f69559fe0b Update version to 2.2.2alpha1 2019-09-18 15:31:43 -05:00
LostDragonist 7f857711ce Merge pull request #837 from LostDragonist/Develop
Add translation to "New Executable"
2019-09-17 00:21:48 -05:00
LostDragonist ea20335240 Add translation to "New Executable" 2019-09-17 00:19:12 -05:00
LostDragonist 795d47e6ab Merge pull request #836 from LostDragonist/Develop
Automatically fill in the name of new executables
2019-09-17 00:08:58 -05:00
LostDragonist 1fec9da2d3 Automatically fill in the name of new executables
When the binary browse button is used to select a binary, this
will use the binary name to fill in the executable name if the
previous executable name stated with "New Executable".
2019-09-17 00:08:11 -05:00
LostDragonist 11bf4499c0 Merge pull request #835 from LostDragonist/Develop
Add placeholder text to notification dialog
2019-09-16 18:12:50 -05:00
LostDragonist 0ecac8f4c4 Add placeholder text to notification dialog
A lot of new users miss the fact you can click on a notification
to get more details about that notification.  This directs them
to click on stuff.
2019-09-16 16:45:11 -05:00
LostDragonist 0d6eb8bd4c Merge pull request #831 from LostDragonist/portable_lock
Add portable lock feature
2019-09-16 16:32:37 -05:00
isanae 09b95e3943 moved all spawn dialogs into a namespace
starting steam with spawn() instead of QProcess
dialogs for bad steam registry key and failure
refactored credentials code, added logging
add environment variables to env
2019-09-13 15:15:18 -04:00
isanae b867b0bccd refactored steam handling 2019-09-12 03:49:17 -04:00
isanae ac6bc5fd01 testForSteam() now uses env to get processes
moved processes from env.cpp to envmodule.cpp, merged what crash dumps did with what was in testForSteam()
2019-09-12 02:45:03 -04:00
isanae bf3d752780 made SpawnParameters public, changed to Qt types
removed 'suspended', not used
2019-09-12 01:48:48 -04:00
isanae 971cecf343 split spawnBinaryProcess() into spawn, no changes 2019-09-12 01:09:40 -04:00
isanae 0015a12cf8 rewritten spawn() to use std::wstring instead of manual buffers
error dialogs now use TaskDialog with more user-friendly text
2019-09-11 23:36:13 -04:00
isanae 06218502ed fixes for ExpanderWidget
removed dead code in MainWindow
2019-09-11 23:34:54 -04:00
isanae 09f98576e8 added env::getFileSecurity()
Environment gets stuff on demand
2019-09-11 23:33:23 -04:00
isanae 9c59c739d4 moved ExpanderWidget to uibase 2019-09-11 23:32:32 -04:00
LostDragonist 4d9c1db885 Add portable lock feature
If the file "portable.txt" is present in the application directory,
MO will force itself to be launched as a portable instance.  The
change game button and menu item are hidden to prevent the user
from changing out of the portable instance.
2019-09-11 11:45:32 -05:00
isanae 61956802b1 now logs in utc, added year to avoid confusion 2019-09-09 04:24:12 -04:00
isanae 635c0b7a06 log line and line number when there's an error with the locked order file 2019-09-09 03:24:09 -04:00
isanae 12e1a91e4f log desktop geometry
log more info on game plugin
2019-09-09 01:32:12 -04:00
isanae e08e605c85 added missing include guards
log free space on drives involved in paths
2019-09-09 01:32:12 -04:00
isanae 99fdbb2539 Merge pull request #830 from isanae/settings-interface
Settings interface
2019-09-09 01:25:01 -04:00
isanae d863e62c6e really remove ask_for_nexuspw, the 2.2.0 update code was using the wrong section 2019-09-08 08:09:38 -04:00
isanae da212968ca change the old servers map while processing updates instead of on-demand
statusbar_visible is not used anymore
2019-09-08 03:10:43 -04:00
isanae 4df40baea6 clean up old settings when updating 2019-09-08 01:23:17 -04:00
isanae c9397c3909 more documentation for settings
removed unused automaticLoginEnabled()
2019-09-08 00:53:10 -04:00
isanae 2a2af36a38 documentation for settings
renamed some PluginSettings members and moved them around
2019-09-08 00:27:45 -04:00
isanae 7f0fa1069f don't log widget and geometry setting changes
fixed mod info dialog tab order using different settings for read and write
mod info dialog now doesn't complain when no tab order exists in the settings
only remove section when the array is larger, prevents logging changes when nothing actually changed
2019-09-02 16:09:31 -04:00
isanae 209c27c7a2 only remove section when the array is larger, prevents logging changes when nothing actually changed
changed back section names that were originally lowercase, arrays end up in two different sections
2019-09-02 15:47:21 -04:00
isanae 3757aa3f53 split into settingsutilities 2019-09-02 15:07:35 -04:00
isanae e9dba260cb split settings into a bunch of classes
removed "get" from the getters that had it
2019-09-02 14:52:02 -04:00
isanae ec3fb7b350 removed duplicate useProxy()
use dedicated functions to set, get or remove settings, allows for logging
2019-09-02 12:56:50 -04:00
isanae 57bef2ab8d removed directinterface 2019-09-02 09:38:21 -04:00
isanae ca2a7da3f6 moved workarounds to settings 2019-09-02 09:35:11 -04:00
isanae a174d4a2aa moved plugins to settings 2019-09-02 09:22:45 -04:00
isanae 8708265f69 moved setting paths to Settings 2019-08-26 04:52:15 -04:00
isanae 2eee72da68 moved code for byte sizes and speed to uibase
added scoped classes for QSettings groups and arrays
servers logged on startup
2019-08-26 04:21:06 -04:00
isanae c42e5fb2fe changed total speed and count to a list of the last 5 downloads
existing servers now merged when retrieving the download links
download manager doesn't store the servers any more, queries the settings every time
2019-08-26 03:01:55 -04:00
isanae 896d80d02c server settings converted to array instead of byte array map
moved cleanup to ServerList
2019-08-26 01:31:56 -04:00
isanae aff3ee8fcf moved preferred servers into ServerList 2019-08-26 01:07:03 -04:00
isanae 36dbb4bad7 ServerList instead of a QList of ServerInfo
changed preferred to an int
moved all server settings to Settings
2019-08-26 00:48:25 -04:00
isanae 7395fbb754 made ServerInfo a class
moved server functions together in Settings
2019-08-26 00:21:41 -04:00
isanae b1687380c5 moved more nexus stuff to settings
settings tab remembered
2019-08-26 00:01:07 -04:00
isanae 4f1b15f0a1 changed crash dump type to use enum instead of int
added ColorSettings
settings dialog general and diag tabs don't use qsettings anymore
removed logging of setting changes, will be added back to Settings class
2019-08-24 16:07:07 -04:00
isanae baa32b99f5 finished moving mod info dialog directinterface to settings 2019-08-24 13:10:50 -04:00
isanae 0f712305c8 added settings for QTabWidget, checkable QAbstractButton and ExpanderWidget
removed directInterface() from mod info conflicts
2019-08-24 13:04:10 -04:00
isanae 2ffad7edf2 made member variables in SettingsTab private, added accessors
SettingsDialog now uses GeometrySaver
2019-08-17 13:20:53 -04:00
isanae dfa15218f3 passes callbacks to QuestionBoxMemory so it doesn't access the ini directly
fixed selected executable being empty after closing the edit dialog
put backup_install inside Settings
2019-08-17 12:42:27 -04:00
isanae 7cc5f22052 put tutorials in the settings
finished moving endorsement to settings
2019-08-17 08:27:13 -04:00
isanae d9cb15f1d1 put endorsement state and first start in settings 2019-08-17 07:42:37 -04:00
isanae 965eccb328 merged DockFixer into GeometrySettings
added combobox index to settings
2019-08-16 10:29:42 -04:00
isanae 0374291a34 StatusBar now inherits from QStatusBar to handle hide/show events
merged settings into saveVisibility() and restoreVisibility()
call MainWindow::storeSettings() earlier so widget visibility is still valid
2019-08-16 09:00:31 -04:00
isanae a5cb39aaf4 moved all geometry save, restore and reset to GeometrySettings
changed reset button in settings to restart immediately
2019-08-16 08:02:14 -04:00
isanae 3f487a5a6c merged toolbars into restoreToolbars() and saveToolbars()
added centerOnMainWindowMonitor(), now also used by validation dialog
added overloads for splitter, used by main splitter
fixed saveState() for QMainWindow calling the wrong function
2019-08-16 07:03:52 -04:00
isanae 799ddb1b24 added GeometrySaver
removed widget-specific functions in GeometrySettings, now using generic functions in Settings
removed some unused member variables in MainWindow
2019-08-16 06:03:05 -04:00
isanae 73626b2979 Merge pull request #817 from erri120/patch-1
Updated string of the hideAPICounterBox
2019-08-15 03:52:37 -04:00
erri120 3ca0a9fe1e Updated string of the hideAPICounterBox
The api counter box is in the bottom right corner since the last update. This change reflects that.
2019-08-14 15:38:31 +00:00
isanae 4d4f25d177 moved getting and setting executables to Settings 2019-08-05 13:10:21 -04:00
isanae ab14a8bac3 moved recent directories to Settings
use global cache variable instead of an instance inside a function
2019-08-04 07:51:12 -04:00
isanae 89415ca5c3 moved geometry handling to PreviewDialog
fixed dialogs not having a parent
2019-08-04 07:32:12 -04:00
isanae 4c6ccb3845 geo already saved by ListDialog 2019-08-04 07:20:30 -04:00
isanae ea3840a39d removed registerWidgetState(), was used just for header list headers, now saved and restored directly 2019-08-04 07:14:06 -04:00
isanae f387a670d1 moved mod list stuff to setupModList(), no changes 2019-08-04 06:58:15 -04:00
isanae 3d86f150ca moved geometry handling to ProblemsDialog and CategoriesDialog 2019-08-04 06:30:37 -04:00
isanae 61ad96cb54 moved geometry handling to ListDialog 2019-08-04 06:09:48 -04:00
isanae 37502f3884 removed convertVariant(), turns out value() does it
separator colors to settings
2019-08-04 06:09:48 -04:00
isanae cc3a16c6e9 moved geometry handling to mod info and overwrite dialogs 2019-08-04 06:09:48 -04:00
isanae 7eed0450e8 moved geometry handling to ProfilesDialog 2019-08-04 06:09:48 -04:00
isanae e40245abf4 moved geometry handling to EditExecutablesDialog itself 2019-08-04 06:09:48 -04:00
isanae e4418b95fa moved settings updates to Settings::processUpdates() 2019-08-04 06:09:48 -04:00
isanae 07f1ac7a96 split into GeometrySettings
removed most of storeSettings() from OrganizerCore: QSettings handles saving by itself, no need for that
removed topLevelSplitter from ui, unused since the log widget is in a dock
removed QSettings from MainWindow::readSettings()
replaced return values for some of the new getters in Settings to std::optional
2019-08-04 06:09:48 -04:00
isanae b6b01a52db removed mentions of QSettings from main.cpp
added necessary member functions in Settings
2019-08-04 06:09:47 -04:00
isanae a7df11a31d Merge pull request #808 from isanae/settings-rework
Settings rework
2019-08-03 09:31:19 -04:00
Jeremy Rimpo 80dd9222f3 Merge pull request #809 from isanae/logging-fixes
Logging fixes
2019-08-02 13:36:32 -05:00
isanae 5e98855847 create log directory sooner to handle creating new instances
reset the log file in case MO is restarted and the previously selected instance is deleted
switched back to single `mo_interface.log` file
2019-08-02 07:01:06 -04:00
isanae 712c8687c2 changed old whatsthis for prerelease
apparently, QFontMetrics::width() is deprecated
2019-08-02 05:33:57 -04:00
isanae 4099efcb5b rebased to new logging 2019-08-02 03:06:59 -04:00
isanae ee43c40598 removed obsolete load mechanisms 2019-08-02 03:06:59 -04:00
isanae a05862aaa1 cleaned up includes
removed commented out code
reordered member functions in Settings
2019-08-02 03:06:59 -04:00
isanae 107b396902 moved tabs to SettingsDialog
removed Settings::query(), main window now deals with SettingsDialog directly
2019-08-02 03:06:59 -04:00
isanae e8d7930eda split diagnostics tab
fixed log and crash dump directory links in label not working
2019-08-02 03:06:59 -04:00
isanae e4dcdb01ac split workarounds tab 2019-08-02 03:06:59 -04:00
isanae 55eafd62dd split plugins tab 2019-08-02 03:06:58 -04:00
isanae d91d0caba5 removed incorrect warning that steam password is unencrypted
split steam tab
2019-08-02 03:06:58 -04:00
isanae af95b3b863 renamed tab classes, clashing with mod info dialog
split nexus tab
2019-08-02 03:06:58 -04:00
isanae 0a5ce34b1a split paths tab 2019-08-02 03:06:58 -04:00
isanae 6b5c9675ae moved SettingsTab out of Settings
split general tab
2019-08-02 03:06:58 -04:00
Jeremy Rimpo cff526415d Merge pull request #807 from isanae/logging-rework
Logging rework
2019-08-02 01:49:33 -05:00
Jeremy Rimpo bdf45aea69 Merge pull request #806 from ModOrganizer2/qt-5.13
Qt 5.13
2019-08-02 00:33:02 -05:00
isanae e4cf2c314d missing bracket 2019-08-01 22:50:42 -04:00
isanae 9aa7a5a366 renamed log actions 2019-07-22 07:39:53 -04:00
isanae 6f1a8f5b7a added clear option to log list 2019-07-22 07:39:53 -04:00
isanae 3c7712a32d moved setLogLevel() to OrganizerCore
moved context menu to LogList
2019-07-22 07:39:53 -04:00
isanae 5304d52f93 removed some useless logging
initializing usvfs logging now logs strings for log level and crash dump type
2019-07-22 07:39:53 -04:00
isanae f49efd6d44 replaced formatSystemMessageQ() with formatSystemMessage()
replaced windowsErrorString() with formatSystemMessage()
2019-07-22 07:39:52 -04:00
isanae b3d0ddb0b7 changed qDebug() to log::debug()
removed some commented out logging
2019-07-22 07:39:52 -04:00
isanae e071dfdfaa changed qCritical() to log::error()
removed now unused vlog()
2019-07-22 07:36:38 -04:00
isanae aae6d6a5aa replaced qWarning() 2019-07-22 07:34:53 -04:00
isanae f13f5e21c4 replaced qInfo() with log::info() 2019-07-22 07:33:38 -04:00
isanae d8760ed8ad refactored Metrics and Display, no change in functionality 2019-07-22 07:33:38 -04:00
isanae b2a1e1391f split env 2019-07-22 07:33:38 -04:00
isanae f95479b981 log guid for security products 2019-07-22 07:33:38 -04:00
isanae c84240b759 only display "inactive" for security products 2019-07-22 07:33:38 -04:00
isanae 20ac714bf8 fixed bad compare for nahimic
log displays on startup
2019-07-22 07:33:38 -04:00
isanae 2ef32d1230 moved environment dump to member function
added check for nahimic
2019-07-22 07:33:38 -04:00
isanae 35ae099d3f check for files likely to be eaten by an AV on startup 2019-07-22 07:33:38 -04:00
isanae eb190380e3 dump executables on startup 2019-07-22 07:33:38 -04:00
isanae 28c46eed91 reversed log level menu actions to fit settings combobox
replaced qWarnings() and qCritical()
2019-07-22 07:33:38 -04:00
isanae 3bf7717c0a moved Settings out of OrganizerCore so it can be created by itself to access settings early
set log level on startup
replaced more qDebug()
2019-07-22 07:33:38 -04:00
isanae 4dfaa363c0 logging initialized early, log file set later
replaced a few qDebug()
2019-07-22 07:33:38 -04:00
isanae ad77e315f5 moved Console to util 2019-07-22 07:33:38 -04:00
isanae bca6283311 use log::Levels instead of ints
create log level combobox in code, set selected index based on value instead
added log level to context menu in log list
2019-07-22 07:33:37 -04:00
isanae d1b4dec8ad moved setup to new LogList class 2019-07-22 07:33:37 -04:00
isanae 6217f910f0 renamed logbuffer files to loglist 2019-07-22 07:33:37 -04:00
isanae 54d98e2917 removed unused or redundant stuff in error_report.h
renamed log() to vlog() for now
extracted console creation to Console class
rewrote LogBuffer to work with logging from uibase, renamed to LogModel
added fmt dependency
2019-07-22 07:33:37 -04:00
isanae bc9f286bce moved the log to a dock widget
added a menu item in the view menu for it
2019-07-22 07:32:56 -04:00
Jeremy Rimpo 1f1b838c2b Merge pull request #796 from isanae/login-progress-dialog
Nexus login progress dialog and Nexus settings
2019-07-22 01:02:21 -05:00
Jeremy Rimpo e69078e239 Merge pull request #793 from ModOrganizer2/Develop
Stage for release 2.2.1
2019-07-22 01:01:40 -05:00
Silarn dcd6d62467 Merge branch 'Develop' 2019-07-22 01:00:42 -05:00
Jeremy Rimpo 613aa037cf Merge pull request #798 from Al12rs/Develop-2
Improved Nexus Description display and BBCode support.
2019-07-22 00:57:17 -05:00
isanae 2d78957c3d changed message when opening browser 2019-07-14 17:20:53 -04:00
Al 21b9d90d00 Changed youtube links in nexus description to use full version instead of shortened one. 2019-07-14 17:15:43 +02:00
Al b997e97472 Fixed Youtube links in Nexus Description view. 2019-07-14 02:46:57 +02:00
Al a2aa4270e9 Added full Spoiler support to the nexus Description viewer. 2019-07-14 01:55:08 +02:00
Al 23b71ca21f Add full support for quotes in nexus descriptions and avoid url horizontal overflow by forcing world break word wrap. 2019-07-14 01:09:36 +02:00
isanae b69b3e5e47 removed already commented out code:
don't resend the guid and token, nexus never answers with the api key, just create a new request every time
2019-07-12 03:24:05 -04:00
isanae 45daaec7aa removed useless flags, they were only used by settings 2019-07-12 03:09:03 -04:00
isanae 45f0a9e78a nexus info and stats in settings
cleaned up double logging for github
reset validation progress dialog parent just before the main window dies
removed unused APIStats from APIUserAccount, added isValid()
2019-07-12 02:46:31 -04:00
isanae be1ee2a97c refactored state messages 2019-07-11 05:49:12 -04:00
isanae 226372dba2 api key validator in settings 2019-07-11 05:33:35 -04:00
isanae c0a52bc1ca extracted api key validator from NXMAccessManager
api key now part of ApiUserAccount
2019-07-11 05:06:42 -04:00
isanae ad29525e98 moved NexusSSOLogin to nxmaccessmanager
added logs for manual key validation, will need to rewrite a few things
2019-07-11 02:31:59 -04:00
isanae 5e5681709a reworked the nexus connection panel
moved most of the stuff into a new NexusSSOLogin class
2019-07-11 01:55:31 -04:00
isanae f44663d795 handle context menu on pending downloads 2019-07-10 21:43:31 -04:00
isanae fa66028161 dialog should be on the heap, gets deleted by the main window 2019-07-10 20:45:37 -04:00
isanae d9003f9e54 made ValidationProgressDialog a QDialog to handle close events
allow hiding dialog and make it appear again if needed
don't use an event loop in validated(), it causes all sorts of problems because it can be reentrant if another logged in action is done while the dialog is visible
2019-07-10 20:45:37 -04:00
isanae 89d0528a00 progress dialog now shows elapsed time in progress bar 2019-07-10 20:45:37 -04:00
isanae ea7ad772bb moved progress dialog to its own class 2019-07-10 20:45:37 -04:00
isanae c38e864c92 set the progress dialog's parent to main window as soon as it's available 2019-07-10 20:45:37 -04:00
isanae 724945ab33 removed useless validationFailed() callback in MainWindow
moved the log that was in it to organizer core
2019-07-10 20:45:37 -04:00
Al c486a88348 Show timestamp seconds of log entries in logList view. 2019-07-10 21:41:15 +02:00
Al a833bc5a3e Improved Nexus description css to be easier on the eyes and handle images better. 2019-07-10 20:52:43 +02:00
Silarn e73c309f08 Update description for month instead of 30 days 2019-07-09 22:31:34 -05:00
Al f7a4ff9f5a Avoid refreshing Data tab each time directoryStructure is refreshed if the tab is not active. 2019-07-10 02:36:30 +02:00
Silarn 63f835628b 2.2.1 RC Version 2019-07-09 11:34:32 -05:00
Silarn df6cb649bd 2.2.1 RC Translation Updates 2019-07-09 11:33:13 -05:00
Jeremy Rimpo 0b2f12f90e Merge pull request #792 from isanae/small-fixes
Small fixes
2019-07-09 00:05:53 -05:00
Silarn 2b213fe7ce Merge branch 'Develop' into qt-5.13 2019-07-08 13:22:25 -05:00
Silarn 4bfb1a0d76 Fix missing spaces in tutorial message 2019-07-08 13:20:41 -05:00
Silarn 37aa5e07f4 Add some basic checks for symlinks 2019-07-08 13:19:52 -05:00
Jeremy Rimpo e4bacba282 Merge pull request #791 from isanae/shortcut-refactor
New Shortcut class to manage desktop/start menu shortcuts
2019-07-07 18:16:03 -05:00
isanae f0c5f6f672 fixed "not logged in" in the statusbar not respecting theme 2019-07-06 20:15:04 -04:00
isanae 9c00d7b7f6 fixed context menu being offset vertically in the overwrite dialog 2019-07-06 20:05:27 -04:00
isanae 6378a80ad0 fixed duplicate mnemonic for status bar 2019-07-06 20:03:01 -04:00
isanae b5019f586e FileDialogMemory didn't actually use the cached directory 2019-07-06 20:02:16 -04:00
isanae f7c844fcf7 put the error message in the ShellLinkException instead
added more debug logging when creating and deleting shortcuts
2019-07-06 19:23:52 -04:00
isanae 9166bd9c5b added new Shortcut class, moved stuff that was in MainWindow into it
added more error handling and logging, some was missing
removed some redundancy of setting the menu icons for add/remove, they're all set when clicking the button anyway
2019-07-06 18:50:28 -04:00
Silarn d2a8890e74 Merge branch 'Develop' into qt-5.13 2019-07-05 18:40:03 -05:00
Silarn e8d14d1ea5 Fix the help button tutorial step and a typo 2019-07-05 18:39:42 -05:00
Silarn 5feff2f997 Merge remote-tracking branch 'origin/Develop' into qt-5.13 2019-07-05 16:28:33 -05:00
Silarn 7e760c700a Update translations 2019-07-05 16:28:01 -05:00
Silarn 9f4a9c913f Rework methods to detect the current tab to use the object name 2019-07-05 16:26:20 -05:00
Al 6b81058831 Added "Downloads" since ex NMM users though it mean the installed Mods.
It also gives more difference with "Hide" so that it's less likely to use one instead of the other.
2019-07-05 16:28:59 +02:00
Silarn 1a280f37a7 Various translation updates and additions 2019-07-04 23:25:14 -05:00
Silarn 9a795c3ce9 Merge remote-tracking branch 'origin/Develop' into qt-5.13 2019-07-04 23:14:39 -05:00
Silarn 0596a71990 Various fixes and updates to the tutorial system
* Fix problem with main tutorial advancing past mod activation
* Add various missing overlays for new and updated features
* Restore BSA tab
* Fix problem with positioning action button overlays (requires uibase)
2019-07-04 23:14:15 -05:00
Silarn 7879ea2c62 Fix issue if widget isn't on a window 2019-07-04 15:09:49 -05:00
Silarn ccc0653ca1 Merge branch 'Develop' into qt-5.13 2019-07-03 21:29:22 -05:00
Silarn dfd34bf9c0 Update openssl library names 2019-07-03 19:12:54 -05:00
isanae 0e617f5a3a Merge pull request #788 from isanae/Develop
fixed tab order not being saved
2019-07-03 19:09:54 -04:00
isanae 5a0b6a7cf6 fixed tab order not being saved 2019-07-03 19:08:57 -04:00
isanae 431b35dcf8 Merge pull request #787 from isanae/fix-preloading
fix openssl preloading
2019-07-03 17:30:09 -04:00
isanae 41c9dd9b72 preloadDll() would always think dlls were already loaded 2019-07-03 17:26:08 -04:00
Silarn 7926205ff2 About dialog updates 2019-07-03 15:00:06 -05:00
Silarn fe67855907 Month update check should calculate by day of month instead of 30 days 2019-07-03 14:21:31 -05:00
Silarn 474e3d1e15 Force instance selection window on top 2019-07-03 14:15:27 -05:00
Silarn aeca2a7782 Restore UI files to VS project and remove unused files 2019-07-03 14:14:10 -05:00
Silarn 3a2f056e8a More refactoring 2019-07-03 14:12:38 -05:00
Silarn aa9a1fc07f Refactor obsolete methods 2019-07-03 13:04:27 -05:00
Jeremy Rimpo efec72a85a Merge pull request #782 from isanae/modinfodialog-rework
Mod info dialog rework
2019-07-03 10:24:14 -05:00
isanae 7fe637ce44 display error when loading an image fails 2019-07-02 14:57:33 -04:00
isanae 971f890826 some refactoring
updateTabs() creates a list of tabs to update instead of checking for each file
comments
2019-07-02 14:36:59 -04:00
isanae d9a7ef636b reordering tabs, then switching to a mod with a different tab set would discard the changes
comments, moving some stuff around
2019-07-02 13:21:48 -04:00
isanae 4aa59cdc7d added modinfodialogfwd.h, mostly for the enum that's used in various places
renamed ETabs to ModInfoTabIDs and changed all ints to use the enum instead
added ModInfoPtr to avoid having to include modinfo.h just to get ModInfo::Ptr
2019-07-02 12:35:33 -04:00
isanae 82d985064e added a ModInfoDialogTabContext to avoid passing too many things to tab constructors
mod is passed to ctors to make sure they can never be empty
only call deleteRequest() to selected mod
comments
2019-07-02 12:02:07 -04:00
isanae c6e80f1a5e focus tabs when they need a confirmation to close
dialog did not handle closeEvent() at all, it only checked the close button
bunch of comments
2019-07-02 11:05:31 -04:00
isanae 16b6e772a7 fixed conflict lists not expanding vertically properly 2019-07-02 10:10:20 -04:00
isanae ee71f40ce9 convert fs::path to utf-16 instead of ansi 2019-07-02 10:10:20 -04:00
isanae 41292e02bd changed how the mod url works:
- it is now independent from the nexus mod url
 - it can be set in addition to having a valid mod id
 - both urls can be displayed in the context menu
re-arranged some of the widgets on the nexus tab
added a track button
added a custom url checkbox and open in browser button
added a max-width to the browser
2019-07-02 10:10:20 -04:00
isanae b4c26c5164 fix inactive esps being marked as active because path separators changed from / to \ since the change to std::filesystem 2019-07-02 10:10:20 -04:00
isanae 093eb5650b fixed problems with re-ordering tabs, realPos was never updated properly and it wasn't actually used everywhere 2019-07-02 10:10:20 -04:00
isanae 9ec0feba43 fixed crash when opening separators 2019-07-02 10:10:19 -04:00
isanae 6547197e5f remember state of various widgets
remove obsolete settings
2019-07-02 10:10:19 -04:00
isanae e1990df0a2 fixed tab re-ordering not being used if the old setting was present 2019-07-02 10:10:19 -04:00
isanae a818954ee5 added explore menu item to conflict lists and filetree
changed filetree context menu to always show all items
added mnemonics to conflicts context menu
2019-07-02 10:10:19 -04:00
isanae 4b958d9efe added visibility flags
reduced paging size by one, feels much more natural
2019-07-02 10:10:19 -04:00
isanae c90a822444 added path to editor toolbar
moved url to top in nexus tab and made it readonly
2019-07-02 10:10:19 -04:00
isanae 162fa30c3e add image dimension to toolbar and tooltip
don't scroll when selecting an image with the mouse
2019-07-02 10:10:19 -04:00
isanae 1c0024b2fe moved all images classes into a namespace with shorter names
split theme and metrics into their own class
added filename to thumbs
2019-07-02 10:10:19 -04:00
isanae 933a2c7d10 added keyboard navigation for page down/up, end/home
changed to draw the full image background only behind the image
2019-07-02 10:10:19 -04:00
isanae c2df11298b refactored stuff into PaintContext and Files
keep selection when switching back to no filtering
up/down keyboard navigation
2019-07-02 10:10:19 -04:00
isanae 48607afc65 changed thumbnails to use margin around border
selected thumbnail now has a background color
2019-07-02 10:10:19 -04:00
isanae 0fc928fd81 rework of the images tab:
- uses a custom widget with a scrollbar instead of a QScrollArea
- scrolling by image instead of pixel
- refactored all the geometry stuff in ImagesGeometry
2019-07-02 10:10:19 -04:00
isanae 9cce32f19f dds toggle for images 2019-07-02 10:10:19 -04:00
isanae cac0fb710c added explore button to editors
fixed save button on editor being enabled with empty documents
added ctrl+s
always show vertical scrollbar in thumbnails, fixes nonstop relayouts when the height is just right and the scrollbar flickers on and off
2019-07-02 10:10:19 -04:00
isanae cb56bf76fd fixed text editors not clearing when switching mods
ported typo fixes that applied to the mod info dialog
2019-07-02 10:10:19 -04:00
isanae fc3ed80d0d tooltip on images 2019-07-02 10:10:19 -04:00
isanae fa20f81b46 replaced reportError() calls by qCritical() because they can come from a thread, which hangs the ui
categories and notes will update the tab color when changing
fixed rare crash when reordering tabs while loading a mod
2019-07-02 10:10:19 -04:00
isanae 65b3eb24fc filterable images 2019-07-02 10:10:19 -04:00
isanae 19a19ead40 filterwidget now support automatically installing a proxy on lists
filters on txt and ini tabs
2019-07-02 10:10:19 -04:00
isanae 00d4921e47 only load nexus website on activation
fixed refresh not working, will now always clear the browser so the refresh is obvious
2019-07-02 10:10:19 -04:00
isanae fb93d9ff2d nexus tab: fixed to only make one request, changed css to match nexus more closely
bbcode now supports [img width=x,height=x]
images tab: don't reload the original image
2019-07-02 10:10:19 -04:00
isanae 2b57172eb8 added path and explore button to images tab 2019-07-02 10:10:19 -04:00
isanae 139c33ccc4 various optimizations and caching
fixed conflict list not sorting when changing parameters
switched from QDirIterator to std::filesystem, much faster
FilterWidget precompiles the list
2019-07-02 10:10:18 -04:00
isanae 86e4f65eb6 changed vsdark styles to remove left and right padding from list items 2019-07-02 10:10:18 -04:00
isanae b6d8f4e479 custom models for esp lists 2019-07-02 10:10:18 -04:00
isanae 9e3214a73a refactored calculations 2019-07-02 10:10:18 -04:00
isanae 24b9f050c1 check supported extensions instead of using QImageReader, less accurate but much faster 2019-07-02 10:10:18 -04:00
isanae 1ef0620f6e rework of the images tab to avoid using widgets at all, painting is done manually 2019-07-02 10:10:18 -04:00
isanae 1e54b4b576 switched all conflict lists to QTreeView with custom model 2019-07-02 10:10:18 -04:00
isanae 4ee9f29cdc performance optimizations: text/ini tabs and advanced conflict list use views and custom models
call update() after feedFiles() to allow some tabs to have post-processing after feedFiles()
2019-07-02 10:10:18 -04:00
isanae f14f2bad3b don't update invisible tabs
update tabs when origin changes
change setting name because 2.2.0 can't handle the text list
2019-07-02 10:10:18 -04:00
isanae 581cfacbbd changed "tab index" to "tab id", this was confusing the order in the widget and the id from the enum
fixed reordering
2019-07-02 10:10:18 -04:00
isanae ad4a90692b fixed crash in conflict tabs 2019-07-02 10:10:18 -04:00
isanae eb8140afad grey out tab names when they have no data
remove tabs if they're can't handle the selected mod
next/previous now load mods in place without reopening the dialog
tab reordering is broken
2019-07-02 10:10:18 -04:00
isanae 949e451379 added missing icons
now passing tab index to allow enabling/disabling depending on mod type
modinfodialog cleanup
2019-07-02 10:10:18 -04:00
isanae 3edad12463 finished splitting filetree tab
forward delete shortcut to tabs
2019-07-02 10:10:18 -04:00
isanae 895883571b splitting filetree tab
moved mod info dialog classes to a sub filter
2019-07-02 10:10:18 -04:00
isanae cbdc4cc328 split notes tab
added new HTMLEditor that triggers an editingFinished() on focus our, used by notes tab
2019-07-02 10:10:18 -04:00
isanae 8d1c121f64 split nexus tab
added OrganizerCore::loggedInAction() to execute a function only when logged in, replaces a bunch of copy/pasted stuff in mainwindow
moved common variables in ModInfoDialogTab
moved DescriptionPage to modinfodialognexus.h, renamed to NexusTabWebpage, deleted now empty descriptionpage.h
2019-07-02 10:10:18 -04:00
isanae a72573b385 split categories tab 2019-07-02 10:10:17 -04:00
isanae a2e5f7d382 split ModInfoDialogTab 2019-07-02 10:10:17 -04:00
isanae 90280399aa renamed widgets to their proper name 2019-07-02 10:10:17 -04:00
isanae b5c47eb161 pass parent widget to tabs for dialogs
finished moving over conflict tab to its own set of files
2019-07-02 10:10:17 -04:00
isanae c98115e2f6 in the process of moving stuff to modinfodialogconflicts.h/cpp 2019-07-02 10:10:17 -04:00
isanae f8a037a409 changed layout of esps tab, moved to modinfodialogesps.cpp/h
slightly offset next/previous images so they look better when shown next to each other vertically
2019-07-02 10:10:17 -04:00
isanae a130676025 images list now vertical on the left
reworked scaling to respect aspect ratio and not exceed original size
2019-07-02 10:10:17 -04:00
isanae 9f1520c69e split images tab stuff in ImagesTab
text editor: fixed modified flag not being set to false when loading an empty file
2019-07-02 10:10:17 -04:00
isanae 81815d202b split ini tab stuff to IniFilesTab
refactored TextFilesTab into GenericFiles so it can be used by IniFilesTab
2019-07-02 10:10:17 -04:00
isanae b96f154625 removed unused ini tweaks widgets
splitter in ini tab
2019-07-02 10:10:17 -04:00
isanae 10f9fd041c disable editor without selection 2019-07-02 10:10:17 -04:00
isanae 6e2ae2444c split text file tab into its own class 2019-07-02 10:10:17 -04:00
isanae ab7f42dd97 split ExpanderWidget into its own set of files 2019-07-02 10:10:17 -04:00
isanae 491b96c052 made TextEditorToolbar a widget
added save and word wrap icons
2019-07-02 10:10:17 -04:00
isanae 0084ca6c4c text editor default style
changed colour properties to use an actual QColor
stylable highlight background color
padding for line numbers
2019-07-02 10:10:17 -04:00
isanae a2b68c3a2e text and background color, simple syntax highlighter that doesn't do anything
highlight current line
2019-07-02 10:10:17 -04:00
isanae c79cf72d22 line numbers, which required inheriting from QPlainTextEdit instead 2019-07-02 10:10:17 -04:00
isanae fc8d5c1708 checkable wordwrap on toolbar 2019-07-02 10:10:17 -04:00
isanae 9f509f9aa2 TextEditor now has a dynamic toolbar 2019-07-02 10:10:17 -04:00
isanae 6bd5bed29f added initial toolbar, splitter
moved most of the text editor stuff to a new TextEditor class
2019-07-02 10:10:16 -04:00
isanae 59e0c4aa34 moved filerenamer to its own .cpp/.h pair 2019-07-02 10:10:16 -04:00
isanae 67bc0d8327 clean up the list widgets and thumnails as well as recheck the tabs when refreshing after a change 2019-07-02 10:10:16 -04:00
Jeremy Rimpo 1822c1dc65 Merge pull request #781 from isanae/more-logging
More logging
2019-07-01 18:26:11 -05:00
isanae ffebd4c101 a few more comments 2019-07-01 14:51:08 -04:00
isanae 7c1ce768ef now handles windows firewall, which apparently doens't report itself to wmi
some more error checking
2019-07-01 12:38:35 -04:00
isanae 553a4d12a7 show supported games in error dialog when browsing for a binary 2019-07-01 09:55:42 -04:00
isanae 5e27a96a27 a few comments 2019-07-01 08:55:24 -04:00
isanae dfe8093c1a added --crashdump to generate dumps of a running MO process
added dump_running_process.bat to start another instance of MO with that flag
2019-07-01 08:42:58 -04:00
isanae 5a74b02442 security products 2019-07-01 03:41:32 -04:00
isanae 1aa174f143 comments, some refactoring
switched to qDebug()
2019-06-29 20:02:10 -04:00
isanae 813ab32a2d added a warning when running in compatibility mode 2019-06-29 18:58:15 -04:00
isanae fb6512b72e log windows version 2019-06-29 18:16:00 -04:00
isanae 7152b8e97b lower case paths, sorted list, md5 for some files 2019-06-29 16:13:55 -04:00
isanae eab0ec298b refactored preloadSsl() into preloadDll()
removed old HGID check
moved formatSystemMessage() to uibase
added Environment class, lists loaded modules, logged at startup
2019-06-29 15:26:04 -04:00
isanae 38b9c7c060 Merge branch 'Develop' of https://github.com/ModOrganizer2/modorganizer into Develop 2019-06-27 12:07:54 -04:00
isanae 27cffcb3aa Merge branch 'Develop' of github_isa:isanae/modorganizer into Develop 2019-06-27 12:07:43 -04:00
Al a82b5de34a Merge pull request #772 from Nubbie/Develop
Correcting minor spelling mistakes in the UI + add contributor
2019-06-25 22:52:22 +02:00
Al d683ee652c Merge pull request #773 from isanae/formatmessage-logging
Refactored FormatMessage() calls into formatSystemMessage()
2019-06-25 22:50:57 +02:00
Al 56839c9659 Modified Menu Bar:
* Removed Edit and Copy Log as it was useless.
* Moved Visit Nexus to Files.
* Moved Profiles to Tools.
* Renamed Tools submenu to "Tool Plugins".
2019-06-23 04:38:34 -04:00
Al ee89a8e23b * Changed export to CSV to sort by priority.
* Made status a default choice.
* Changed status column to +/- instead of Enabled/Disabled.
2019-06-23 04:38:33 -04:00
isanae c3b57c90d1 refactored FormatMessage() into formatSystemMessage()
fixes trying to load a wchar_t* with qCritical(), which merely prints the address
2019-06-23 04:35:00 -04:00
Matte A 724fad7cb6 Correcting minor spelling mistakes in the UI + add contributor 2019-06-23 04:38:36 +02:00
Al c216442eb4 Modified Menu Bar:
* Removed Edit and Copy Log as it was useless.
* Moved Visit Nexus to Files.
* Moved Profiles to Tools.
* Renamed Tools submenu to "Tool Plugins".
2019-06-20 00:44:19 +02:00
Al 5276c3c244 * Changed export to CSV to sort by priority.
* Made status a default choice.
* Changed status column to +/- instead of Enabled/Disabled.
2019-06-20 00:40:01 +02:00
Al 45ddf061c4 Disabled toolbar executable shortcut action after click to avoid starting it twice with a doubleclick. 2019-06-19 16:43:31 +02:00
Al 6cef9e5a7e Removed old debugline. 2019-06-19 16:16:10 +02:00
Al f74c341954 * Made the loadingbar a little bigger and more centered in the statusbar.
* Changed themes to remove the ugly separator line between widgets on the statusbar.
2019-06-19 15:31:52 +02:00
Al f883a14823 Improved downloads tab deletion and hiding warnings. 2019-06-19 01:57:16 +02:00
Jeremy Rimpo 27815282f7 Merge pull request #764 from isanae/executables-dialog-rework
Executables dialog rework
2019-06-16 16:13:56 -05:00
isanae bae2ee7a29 Merge pull request #765 from isanae/Develop 2019-06-15 15:10:09 -04:00
isanae 58fbdc1c22 removed 'L' from the language code:
- it's incorrect, since language codes are unsigned shorts, and
 - it actually breaks the translation section and makes retrieving it through standard Windows API fail
2019-06-15 15:08:45 -04:00
isanae 30ce0ba5ef rebase to statusbar 2019-06-15 14:48:59 -04:00
isanae d7dc13e3b9 fixes plugin executables having empty fields when upgrading from 2.2.0 2019-06-15 14:40:40 -04:00
isanae 5ca4ea5004 merged CustomOverwrites and ForcedLibraries, they were mostly identical
some comments
2019-06-15 14:40:40 -04:00
isanae 7671725436 removed concept of custom executables, everything is modifiable
added apply button to dialog
added reset button that re-adds plugin executables and renames existing ones if needed
moved executables files to their filter in visual studio
2019-06-15 14:40:40 -04:00
isanae 82975a6a38 reduced spacing between buttons, removed chatty logging 2019-06-15 14:40:40 -04:00
isanae b04782877e reduced margins around edit widgets, increased splitter handle width to separate the top buttons from the edit widgets a bit more 2019-06-15 14:40:40 -04:00
isanae c8e1b4ab3a changed the down/up pngs to be slightly offset vertically from what they were, they did not look aligned when next to each other
added status/tooltip/whatsthis strings to new buttons
change enabled status of up/down dynamically
simplified move() to just move by one
2019-06-15 14:40:40 -04:00
isanae 5fa7fd7fb9 moved add/remove to the top, changed them to tool buttons with icons, added up/down buttons 2019-06-15 14:40:40 -04:00
isanae cbe6dd93b1 made the default size of the dialog a bit larger 2019-06-15 14:40:40 -04:00
isanae 98d5602c99 adjusted the position of the "(*) Profile Specific" label
comments
2019-06-15 14:40:40 -04:00
isanae 5e65325772 fixed plugin executables not overriding if the custom attribute was inadvertently set 2019-06-15 14:40:40 -04:00
isanae e86224ee7f moved commiting changes to EditExecutablesDialog itself instead of doing it from the main window
use a separate enabled state for custom overwrites and forced libraries, this remembers the values even when unchecking the checkbox, as long as the dialog stays opened
pass the whole OrganizerCore to EditExecutablesDialog, simplifies a bunch of things
2019-06-15 14:40:40 -04:00
isanae d6d05dcae8 handles changing the title to one that already exists by just ignoring it 2019-06-15 14:40:40 -04:00
isanae 6260455111 removed old, unused stuff
have mainwindow save all the new settings once the dialog closes
2019-06-15 14:40:40 -04:00
isanae 57c7b15685 moved functionality to CustomOverwrites and ForcedLibraries helper classes 2019-06-15 14:40:40 -04:00
isanae f60431f92f remove executable 2019-06-15 14:40:40 -04:00
isanae 6e937f7d09 add executable 2019-06-15 14:40:40 -04:00
isanae 1897d60134 pulled java installation detection out of getFileExecutionContext() and into findJavaInstallation() because it was copy/pasted into EditExecutablesDialog
fixed FileDialogMemory::getOpenFileName() to also use the given directory correctly
handle browse binary button
2019-06-15 14:40:40 -04:00
isanae 7026aeaec8 fixed FileDialogMemory::getOpenFileName() not using given directory
disable all widgets when there's no selection
now saves application icon
browse working directory uses current value in file dialog
2019-06-15 14:40:40 -04:00
isanae f22b64bff7 save forced libraries internally 2019-06-15 14:40:40 -04:00
isanae cd2fefca19 save steam app id, custom overwrite and application icon
custom overwrite directories now set locally, will be written to profile when closing the dialog
2019-06-15 14:40:40 -04:00
isanae b8199f0c47 renamed most of the widgets to shorter or more descriptive names (newFilesModCheckBox?)
modifying widgets calls save()
2019-06-15 14:40:40 -04:00
isanae d125036903 stop changing add button to modify, disable remove for plugin executables
general clean up of member variable names, whitespace
2019-06-15 14:40:40 -04:00
isanae 39d953c838 load plugin executables after settings, allows for changing the order
added warning that an executable is provided by a plugin, disable widgets that can't be changed
refactoring EditExecutablesDialog
2019-06-15 14:40:40 -04:00
isanae 5556e2b152 replaced close with ok/cancel
moved add/remove below the list
2019-06-15 14:40:40 -04:00
isanae 840dba26ba rework of the executables dialog to have a horizontal splitter and use a standard QDialogButtonBox 2019-06-15 14:40:40 -04:00
isanae fafdb14600 fixed EditExecutablesDialog being opened without a parent
removed Executable's constructor with values, replaced with default ctor + setters, all these strings were much too error-prone
added Executable ctor overload to convert from ExecutableInfo
plugin executables now override most of the custom changes
renamed browseButton to browseBinaryButton to avoid confusion with the other browseDirButton
fixed both browse dialogs not handling cancel
EditExecutablesDialog's list used to change the text color for custom executables, replaced with italics
2019-06-15 14:40:39 -04:00
isanae 65ad374d97 removed temporary setters in Executable, unnecessary now that it has mergeFrom() 2019-06-15 14:40:39 -04:00
isanae 617a600545 ExecutablesList:
- merged addExecutable(), updateExecutable() and addExecutableInternal() into a new setExecutable()
 - setExecutable() adds the executable to the list if not found, or forwards to Executable::mergeFrom()
 - mergeFrom() handles merging from/to plugin executables
2019-06-15 14:40:39 -04:00
isanae 26786da96d moved store/load to ExecutablesList 2019-06-15 14:40:39 -04:00
isanae 4f01b94f01 replaced ExecutablesList::getExecutables() by a standard container interface
renamed ExecutablesList::init() to addFromPlugin()
renamed ExecutablesList::find() to get() and added a find() that returns an iterator
changed some calls from get() to find() so they can handle failure because they didn't seem to handle std::runtime_error at all
2019-06-15 14:40:39 -04:00
isanae 5fb26b2dcb made Executable members private, added member function to get and set them 2019-06-15 14:40:27 -04:00
isanae 14c9da1939 Merge pull request #762 from isanae/statusbar 2019-06-15 13:56:34 -04:00
Al 52aa6ff681 Merge pull request #763 from Nubbie/patch-1
Correcting minor spelling mistakes in the UI + add contributor
2019-06-15 16:23:06 +02:00
Matte A 2a2b7c0f10 Correcting minor spelling mistakes in the UI + add contributor
When translating, I found some minor mistakes. Therefor I ran through the file in a proofreader and corrected some mistakes. There is also some mistakes corrected for consistency e.g. spaces and dashes
2019-06-15 16:09:13 +02:00
isanae eed0f1503d re-added the api label tooltip
comments
2019-06-14 02:05:06 -04:00
isanae d527d62b2b changed the notifications action back to being disabled when there aren't any, having a coloured and clickable icon was confusing 2019-06-14 01:53:31 -04:00
isanae a75f54e522 show executable path in status bar 2019-06-14 01:44:53 -04:00
isanae a7c48a05f8 fixed text color of api label when not logged in 2019-06-14 01:41:17 -04:00
isanae 616925ebbb moved api user account classes to their own files
api label in status bar:
 - now shows when not logged in
 - changed some of the colour thresholds to correspond to real throttling numbers
make sure the api key is also cleared from the access manager when clearing from the settings
removed unused bool m_ValidateAttempted in NXMAccessManager
update the window title and status bar api label with correct values on startup, which fixes incorrect values when "restarting" MO after changing nexus settings
2019-06-14 01:38:07 -04:00
isanae a7757e8ba6 added option to hide the status bar
centralized menu visibility into a showMenuBar() function
2019-06-13 23:43:51 -04:00
isanae ba0b2c2a29 switched to stylesheet for api colors, palette doesn't seem to survive hiding/unhiding very well 2019-06-13 23:26:46 -04:00
isanae 4a7a77480b changed StatusBarNotifications to a generic StatusBarAction
added update notification to statusbar
2019-06-12 19:12:34 -04:00
isanae 16d6a4c528 added a StatusBarNotifications class to handle icon, text and double click 2019-06-12 18:04:42 -04:00
isanae dc08c12fe8 fixed progress bar not updating 2019-06-12 17:08:09 -04:00
isanae a418d028b2 max width for progress bar
notification icon in status bar
2019-06-12 16:16:17 -04:00
isanae dc8256bae1 added notifications label, unused 2019-06-12 15:47:36 -04:00
isanae ebbc900755 added a few helper classes for user accounts and stats
moved the api label to the status bar
refactored a bunch of copy/pasted code in NexusInterface to use shouldThrottle() and throttledWarning()
2019-06-12 15:47:36 -04:00
isanae 853c95b921 added new statusbar class, moved refresh progress bar to it 2019-06-12 15:47:36 -04:00
Al 54f3188a06 Merge pull request #759 from isanae/unstyled-icons-fix
Fixing the icons on the toolbar and menus
2019-06-11 23:54:18 +02:00
isanae 89aa616a61 clarified some comments 2019-06-09 09:59:16 -04:00
isanae c31f8b7e31 fixed notification icon not respecting the stylesheet on startup 2019-06-09 09:42:22 -04:00
isanae 4f240ddb7f fixes toolbar and menu icons not respecting the stylesheet 2019-06-09 09:14:35 -04:00
Al a9ad126566 Merge pull request #754 from isanae/conflict-lists-sort
Natural sort for conflict lists
2019-06-05 08:09:55 +02:00
Al f4b33ac478 Merge pull request #753 from isanae/explore-data-file
Added "Open Origin in Explorer" to the data tab
2019-06-05 08:04:17 +02:00
Al 37c4dc5848 Merge pull request #752 from isanae/toolbar-revert
Reverted changes to the toolbar
2019-06-05 07:58:34 +02:00
isanae 75f59b68a5 natural sort for conflict items 2019-06-04 23:42:20 -04:00
isanae aedddb10f8 refactored conflict list items:
- use new ConflictItem class derived from QTreeWidgetItem
 - that class has all the various conflict*() member functions that were previously in the dialog
 - moved some of the can*() member functions out to namespace level so they can be used by ConflictItem, no real need to have them as members anyway
2019-06-04 23:31:29 -04:00
isanae 63d62a40c2 added "Open Origin in Explorer" to the data tab
renamed openOriginExplorer_clicked() to openPluginOriginExplorer_clicked() to make it clearer
exec() for context menu in lists should be relative to the viewport to account for the header size
2019-06-04 22:44:46 -04:00
LostDragonist e6f5e471a7 Merge pull request #749 from isanae/manual-nexus-api-key
New dialog to manually enter Nexus API key
2019-06-04 20:25:13 -05:00
isanae c31303c6af fixed title on the manual key dialog
disabled disconnect and manual key buttons while fetching the api key
2019-06-04 21:15:54 -04:00
isanae 2db29cffda renamed "revoke nexus authorization" to "disconnect from nexus" because "revoking" is ambiguous
reworked manual key dialog to look more like MO1
moved all the UI stuff from callbacks in Settings back to SettingsDialog in a central updateNexusButtons(), which also enables/disables buttons as needed
2019-06-04 20:58:30 -04:00
isanae 479150a619 show the main menu when releasing alt instead of pressing, less annoying to take screenshots with alt+printscreen without having the menu pop up 2019-06-04 18:33:23 -04:00
isanae 369408eed0 reverted changes to the toolbar:
- swapped back "add profile" and "install mod" icons
 - removed links toolbar, icons are added to the main one
 - locked the toolbar because there's only one now
 - right align everything after the last separator and executable shortcuts
2019-06-04 18:25:31 -04:00
Al 2fb33d891f Merge pull request #750 from isanae/more-menu-toolbar
Menu bar can be hidden, also shows executable shortcuts
2019-06-04 23:49:13 +02:00
Al c41cda79b8 Merge pull request #751 from isanae/close-flag-on-cancel-redux
Reset m_closing to false when the user cancels closing
2019-06-04 08:41:23 +02:00
isanae f9906825e7 fixed exit menu item not working 2019-06-03 19:26:03 -04:00
isanae ae021586a5 reset m_closing to false when the user cancels closing 2019-06-03 19:18:09 -04:00
isanae ea3f8826f1 more comments 2019-06-03 19:09:10 -04:00
isanae 254304217d renamed some of the menus to remove underscores
added Run menu with shortcuts, only visible when there are shortcuts to show
fixed menubar visibility not being remembered
2019-06-03 19:00:44 -04:00
isanae 97026b4da0 added menubar toggle in the context menu
removed two unused actions: actionToolbar_Size and actionToolbar_style
added ways to make the menu reappear if you hide everything:
 - show the toolbar popup when right-clicking around the border of the main window
 - intercept the Alt key and make the main menu visible
2019-06-03 18:30:23 -04:00
isanae 933f460ee6 added new dialog to enter api key manually
added button in nexus settings to open the dialog
added a force flag to apiCheck() to do a check with the new key even if the login was successful before
2019-06-03 17:20:31 -04:00
Al 355a2fbbee Merge pull request #747 from isanae/splash-monitor
Display the splash screen on the same monitor as the main window
2019-06-03 22:27:22 +02:00
Al 0ecd812035 Merge pull request #744 from isanae/standard-menu-and-toolbar
Standard menu and toolbars
2019-06-03 22:26:55 +02:00
isanae 24aee49792 remember the monitor number
use it to display the splash screen on the same monitor as the main window instead of where the mouse cursor is
2019-06-03 14:51:12 -04:00
isanae 1fcd8f0e09 missed some mnemonics in the main menu 2019-06-02 22:37:36 -04:00
isanae 471d76832a reduced the padding of toolbar icons in the vs15 themes 2019-06-02 22:01:40 -04:00
isanae 3c69f1e54a update styles to handle the new menu bar
also formatted the Transparent styles, all the css was on one line
added a separator before the settings menu item
fixed medium icon item not being checkable
2019-06-02 21:50:52 -04:00
isanae 71a9f08513 added medium toolbar icon size 2019-06-02 16:45:58 -04:00
isanae e6706c7a5b the toolbar menu is now in the ui file instead of being created by hand
it's also shared between the main menu and the context menu
2019-06-02 16:28:09 -04:00
isanae fab357ef4d toolbar size and button style are now configurable and remembered 2019-06-02 15:57:52 -04:00
isanae 41ef9813dd moved links to a new dedicated toolbar 2019-06-02 15:22:11 -04:00
isanae 746e9c08e6 moved notification menu item to tools, was the only thing in view
fixed endorse action to also work with the menu
fixed changing endorsement integration setting not changing visibility of actions
2019-06-02 14:22:24 -04:00
isanae 860eb49b45 removed actionToToolButton(), which was replacing QAction's in the toolbar with QToolButton's, making it very difficult to have an equivalent in the main menu. QAction's can have a menu, so use that instead.
the only place this doesn't work is with the nexus button, which can be replaced by a menu if there are IPluginModPage plugins adding items to it; registerModPage() works fine with the toolbar, but doesn't handle the main menu yet
2019-06-02 13:14:21 -04:00
isanae 3c7b232361 - always show statusbar, used by the menu and toolbar to display status tips
- reduced margins around central widgets to align it with status bar text, removed bottom margins completely because the statusbar is enough
- notifications: now always enabled, dialog shows a special item when empty, just change the tooltip and leave the text alone
- added all toolbar actions to menu
- non functional in menu for now: tools, help and endorse because they're menus
- changed some of the action strings to be the same on both toolbar and menu, added missing status tips
2019-06-02 11:55:13 -04:00
Al f00314442b Merge pull request #740 from isanae/new-conflict-list
New conflict list, new "go to" conflict menu item
2019-06-01 09:54:09 +02:00
isanae d2eb890f2b refresh files in the constructor because the ui is used to determine the tab states 2019-05-31 17:28:59 -04:00
isanae fa7e34e84a conflict lists:
- the file index is now stored in the row data
 - the alternate origins are now added to the context menu in a "go to" submenu
 - context menu items are now visually disabled instead of omitted from the menu
2019-05-31 15:15:47 -04:00
isanae a6dbb1d766 advanced conflict list tooltips 2019-05-31 14:09:36 -04:00
isanae 7421aaa33b conflict lists
- sorting on advanced list
 - save state of all four lists
 - call refreshLists() just before showing because the state has to be loaded first, which happens after the ctor
2019-05-31 13:59:08 -04:00
isanae 0da1c2591f don't show open menu item if the files are from an archive 2019-05-31 13:09:17 -04:00
isanae 0f6f0c2394 replaced all the manual UserRole stuff with a few constants and helper functions
setConflictItem() is now used by all conflict lists to setup the data (filename, archive, etc.) and visuals (italic for archives)
merged openDataFile() and previewDataFile() into their caller as they weren't used anywhere else
previewDataFile() used to do a fromNativeSeparators() before previewing, moved that to previewFileWithAlternatives() instead
brought overwrittenTree double click in line with overwriteTree, there's no difference between apply() and close() because there's only a close button
2019-05-31 12:49:25 -04:00
isanae 65428e89ad put back changes from another PR lost because of a bad rebase 2019-05-31 11:59:19 -04:00
isanae b7580c5ad7 restore conflicts selected tab and checkboxes 2019-05-31 11:54:32 -04:00
isanae 8efab8bf12 FilterWidget takes a predicate to match strings
copied the logic from modlistsortproxy so the basic boolean syntax in filters works
2019-05-31 11:54:31 -04:00
isanae 98b3be3e9b removed buddy from FilterWidget, the intention was to hook a ctrl+f shortcut to it, but that won't work as a general solution, it would need to be on tabs for the modinfo dialog
added a simple matches() that just searches for the string
FilterWidget can cleanly unhook itself
2019-05-31 11:54:31 -04:00
isanae 4d90e50226 added new filterwidget, will eventually get the operators functionality from the mod/pluging lists 2019-05-31 11:54:31 -04:00
isanae 64604c966a elide first two columns of the advanced list 2019-05-31 11:54:31 -04:00
isanae a202170aab comments, switched some of the ifs for clarity 2019-05-31 11:54:31 -04:00
isanae 260462fe6d added show all/nearest mods radio buttons 2019-05-31 11:54:30 -04:00
isanae ab385347af allow for refreshing individual conflict tabs
advanced conflict list now has items
2019-05-31 11:54:30 -04:00
isanae d168b5db08 added AlternativesVector typedef to FileEntry
split item creation from refreshConflictLists()
2019-05-31 11:54:30 -04:00
isanae 3666995ce1 changed iterator loops to ranged for
added some autos here and there
added some whitespace
2019-05-31 11:54:30 -04:00
isanae 157168e73a split refreshLists() in two 2019-05-31 11:54:30 -04:00
isanae 2687fa8231 added new tabs in the conflict tab 2019-05-31 11:54:30 -04:00
isanae f9e9d79a7d moved all widgets in the conflict tab into a parent widget instead of directly being in the tab, allows for future additions to the tab 2019-05-31 11:54:29 -04:00
Al 41f8da011d Merge pull request #739 from isanae/hide-conflict-items
Share context menu between conflict lists
2019-05-29 14:34:24 +02:00
isanae ee92fa9fc8 reverted change that showed the conflicted file first in the preview dialog
I'm not sure how I got to the conclusion that this was a better idea: preview was always an option for those files, and it has always shown the winning file, so I changed some long-standing behaviour for no reason. I reverted that change, although I'm leaving the functionality in previewFileWithAlternatives() to specify the selected origin because it works and could be useful in the future
2019-05-28 10:53:55 -04:00
isanae d3c244c834 also reversed 'hide' parameter to 'visible' for changeFiletreeVisibility() 2019-05-28 10:30:26 -04:00
isanae 1ec2260db5 reversed 'hide' parameter to 'visible' for changeConflictItemsVisibility()
when I pass true to it, I expect it to be visible, not "yes, this should be hidden"
I had actually started this earlier and ended up in a broken, in-between state, which should be fixed now
2019-05-28 10:26:42 -04:00
isanae adb5ace799 added selectedOrigin to previewFileWithAlternatives()
this is so that an origin other than the primary can be shown first and is used from previewDataFile() in ModInfoDialog since showing a preview for a conflicting file could initially show the file from the wrong mod
removed unused, uninitialized and dangerous ModInfoDialog::m_OriginID
2019-05-28 10:14:15 -04:00
Al 1e3a10c8b2 Merge pull request #732 from isanae/cmake-changes
Adds filters, precompiled headers and quietness to the Visual Studio projects
2019-05-28 09:44:17 +02:00
Al 6db22ef388 Merge pull request #734 from isanae/permissive-flag
Permissive flag
2019-05-28 09:42:06 +02:00
Al 28b117b1a6 Merge pull request #738 from isanae/crash-plugin-highlight
fixes a crash when highlighting plugins
2019-05-28 09:41:20 +02:00
isanae 3732d24e0d findFile() seems to return null in some cases and crash on the line below
this is a quick fix for this particular crash, there's probably something deeper to fix
2019-05-27 20:03:40 -04:00
isanae 2d52299743 multiple selection for noconflict and overwritten lists
set uniformRowHeights for all three lists for faster rendering, all items are text only
all three lists use the same code for the context menu:
 - createConflictMenuActions() returns a struct with the QActions that are valid for the selection
 - showConflictMenu() plugs in the handlers and shows the menu
2019-05-27 12:07:10 -04:00
Al 622908ee20 Merge pull request #735 from isanae/hover-activate-700
don't activate the window when hovering save files
2019-05-26 15:03:53 +02:00
isanae d0f087be8f don't activate the window when hovering save files
don't popup the widget if the window doesn't have focus
2019-05-26 08:50:13 -04:00
isanae 5716676e08 fixes for /permissive-:
- no implicit conversions for enum classes
- can't bind rvalue to non-const ref
- string literals are const
2019-05-26 08:14:21 -04:00
isanae e821768f79 added /permissive- 2019-05-26 08:07:10 -04:00
Al 1c87bdab35 Merge pull request #733 from isanae/shell-functions-to-uibase
moved shell functions to uibase
2019-05-26 13:24:36 +02:00
isanae fce3c9f8c3 moved shell functions to uibase 2019-05-26 06:52:45 -04:00
Al 2caa688e55 Merge pull request #731 from isanae/filetree-dds-preview-630
Add preview to filetree, some refactoring
2019-05-26 12:24:02 +02:00
isanae 21185182c6 moved getFileExecutionContext() and its enum into OrganizerCore 2019-05-26 06:18:11 -04:00
isanae 0439e18fe4 changed enum case to follow convention 2019-05-26 05:31:02 -04:00
isanae 42159d28ec Merge branch 'cmake-changes' of github_isa:isanae/modorganizer into cmake-changes 2019-05-26 04:27:52 -04:00
isanae 4183e5837f set use_folders, puts all cmake generated projects into a folder 2019-05-26 04:27:16 -04:00
isanae c82c7af678 changed rest of ShellExecuteW() calls to use shell::Execute(), shell::OpenLink() or shell::OpenFile() 2019-05-26 04:00:54 -04:00
isanae 76708b9694 put explore and open functions in namespace shell
previewDataFile() was duplicated in both MainWindow and ModInfoDialog, moved to OrganizerCore
added preview menu item to filetree
better logging when shell operations fail
2019-05-25 08:34:52 -04:00
isanae 54a743faea reordered action variables to match the order in the context menu, added a few missing initializations 2019-05-25 03:23:08 -04:00
isanae ebb855dc14 ExploreFile() will select the file in explorer when the path is a file
replaced more ShellExecute() calls with ExploreFile()
2019-05-25 03:10:37 -04:00
isanae 9a014db4b3 moved GetFileExecutionContext() out of OrganizerCore, no reason for it to be there
added ExploreFile(), changed all mentions of ShellExecute() in MainWindow to use it
2019-05-25 02:12:11 -04:00
isanae f5330efd0d a copy of getBinaryExecuteInfo() and openDataFile() was in both mainwindow and modinfodialog, it's now moved to organizercore and renamed getFileExecutionContext() and executefile()
getFileExecutionContext() is also changed to return an enum instead of a 0-1-2 int
2019-05-25 01:05:15 -04:00
isanae f4b85d0264 Update pch.h
removed headers that were redundant or actually from MO
2019-05-24 06:33:50 -04:00
isanae f8d319cfba added precompiled headers 2019-05-24 06:25:58 -04:00
isanae 350e4fa97f using builtin properties for autogen source groups, everything is now in the autogen filter 2019-05-24 04:37:43 -04:00
isanae 953ab4e6f6 turned autorcc on so no need for qt5_add_resources() anymore
qt5_wrap_ui() is redundant since autouic is already on
generate INSTALL.vcxproj.user to have the proper debugging settings so ModOrganizer.exe is started from install/bin
2019-05-24 04:37:43 -04:00
isanae dfdea05029 greatly decreased the verbosity of builds
always include the INSTALL project in the solution build
2019-05-24 04:37:42 -04:00
isanae e349af70b7 put source files in specific groups so they're organized in the visual studio project 2019-05-24 04:37:42 -04:00
Silarn 2d58ad346c Add support for new Nexus API game codes to NXM link handling 2019-05-23 22:24:57 -05:00
Al a0500fef6c Merge pull request #728 from isanae/Develop
Adds three columns in download list: mod name, version and nexus id
2019-05-23 15:39:21 +02:00
isanae d9cdc24461 Merge remote-tracking branch 'remotes/upstream/Develop' into Develop 2019-05-22 23:18:25 -04:00
isanae 3ef7c401d5 download list: made all column left-aligned except for size 2019-05-22 23:08:07 -04:00
isanae 77678b3765 download list: added columns for mod name, version and nexus id 2019-05-22 22:43:23 -04:00
Jeremy Rimpo 2f0cfa2930 CI: Update to provisioned final VS 2019 image 2019-05-22 13:20:04 -05:00
Silarn 1abecdd517 Set optimization for release builds 2019-05-22 02:04:32 -05:00
Silarn 1d09e85c08 Add logs to build artifacts on CI fail, commit translation changes 2019-05-21 23:46:12 -05:00
Jeremy Rimpo 2a09e17cf4 CI: FileName is for the target not the source 2019-05-21 17:54:43 -05:00
Jeremy Rimpo 86ed2c7c4e CI: Push log files from the main build folder 2019-05-21 17:16:06 -05:00
Jeremy Rimpo 494951210d Add logs to build artifacts on failure 2019-05-21 16:37:20 -05:00
Al 0e5adf171f Merge pull request #727 from isanae/Develop
fix crash when changing file visibility from the filetree
2019-05-21 22:43:11 +02:00
isanae 056ecb4677 fix crash when changing file visibility from the filetree of an installed but inactive mode 2019-05-21 16:09:41 -04:00
Al 0078fd12d0 Merge pull request #726 from isanae/Develop
adds a no-conflict list in the conflicts tab, makes all three lists collapsible
2019-05-21 11:23:08 +02:00
Silarn f966e7db93 Switch to local build files as appveyor can't use installed files 2019-05-21 02:28:05 -05:00
Silarn c2ed511ff0 With old mods, only queue the old ones in case of API overflow 2019-05-21 01:41:12 -05:00
Silarn 44f6d833a9 Unify artifacts source path to install path 2019-05-21 01:37:26 -05:00
isanae 0088ee963b documented ExpanderWidget, removed checkable stuff because the state is kept internally 2019-05-20 18:44:41 -04:00
isanae 513eaaa355 added const version of Settings::directInterface() for restoring states
added top-level saveState() and restoreState() to ModInfoDialog that are called from MainWindow, because it now also has to handle expander states in the conflict tab
added internal opened state to expander widget instead of using widget visibility so it can be saved even after the dialog is closed
2019-05-20 18:33:50 -04:00
isanae c5f6173385 made expander use the full width
context menu for noconflict tree
2019-05-20 17:58:00 -04:00
isanae 00f8cbff05 expandable sections in the conflict tab 2019-05-20 17:38:17 -04:00
isanae a2b1f6a360 added third tree with non-conflicting files 2019-05-20 16:11:10 -04:00
LostDragonist e10fa6e1f3 Fix horizontal scrollbar width for dracula theme 2019-05-19 11:02:35 -05:00
Al b22ee0dc56 Merge pull request #717 from isanae/Develop
enable multiple selection in the conflict tree and file tree
2019-05-19 16:58:08 +02:00
isanae eb203e4c2a if the number of selected items is low, check them to accurately show the hide/unhide items 2019-05-19 09:06:09 -04:00
isanae a1f1656c36 re-enabled unhide menu item in the conflict tree since hidden items can actually appear 2019-05-19 08:53:59 -04:00
isanae 2c30d2d0e9 fixed filetree context menu for multiple selection 2019-05-19 08:38:05 -04:00
isanae 2920a707c7 added filename to file replace confirmation dialog text
hooked up filetree to FileRenamer
fixed filetree context menu positioning being offset vertically
2019-05-19 08:19:57 -04:00
isanae b0c5cf146c added new FileRenamer class to handle user confirmations when hiding/unhiding files
conflict tree hooked up
filetree shows the new dialogs, but doesn't handle buttons correctly yet
2019-05-19 07:21:41 -04:00
isanae 0232435e0a disabled unhide menu item in the conflict tree because hidden items are never shown 2019-05-18 06:26:13 -04:00
isanae 6c470aff82 changed the top conflict treeview to support multiple selection
this required making some changes to both trees because they were sharing m_ConflictsContextItem that was set on right clicks; both trees are now independent
hide/unhide is always shown on multiple selection to avoid scanning all the selected items
2019-05-18 03:53:20 -04:00
Al c1db638d92 Merge pull request #715 from isanae/Develop
limit the number of items in the remove mods dialog
2019-05-17 09:18:46 +02:00
isanae 47cca19109 when removing mods, limit the number of items in the list so the dialog stays at a sane height 2019-05-16 23:47:02 -04:00
Silarn 50fc72ca8d Fix missing translations 2019-05-09 12:23:33 -05:00
Silarn ed4eb2aae8 Update NXM link handling to support premium link and validate user info 2019-05-09 12:04:03 -05:00
Silarn 3d2616ea98 Enable parallel building 2019-05-09 02:10:43 -05:00
Silarn ed31aeb97e Set appveyor image to VS 2019 Preview 2019-05-08 23:10:39 -05:00
Silarn c7ca9653e9 Modify LZ4 paths to support building from source 2019-05-08 23:02:51 -05:00
LostDragonist 179a738571 Merge pull request #695 from ModOrganizer2/Develop
Stage for Release 2.2.0
2019-05-03 21:32:33 -05:00
LostDragonist 907c546842 Update version to 2.2.0 2019-05-03 21:08:20 -05:00
LostDragonist 7fbdbd8950 Update version to 2.2.0rc3 2019-05-02 06:01:11 -05:00
LostDragonist 5f0dc90ceb Fix installing qdds.dll 2019-05-02 05:57:34 -05:00
LostDragonist 65c137bf59 Update translation file 2019-04-30 05:24:46 -05:00
LostDragonist e9b5f78883 Update version to 2.2.0rc2 2019-04-30 04:51:59 -05:00
LostDragonist 3061a15822 Restart MO if the API key is changed or the reset geometries button was clicked 2019-04-30 04:51:32 -05:00
LostDragonist 8c47ba2252 Update translation file 2019-04-29 14:29:00 -05:00
LostDragonist 2d75be6ad7 Update version to 2.2.0-rc1 2019-04-29 13:28:30 -05:00
LePresidente c3d633ab7e dp windeployqt.exe last since we require everything to be installed before running. 2019-04-20 16:39:13 +02:00
LostDragonist 149c38d54d Add protection against non-existent working directory for executables 2019-04-15 05:25:22 -05:00
Jeremy Rimpo 0f13d9a4c0 Merge pull request #691 from jakemaguy/Develop
Added Missing URL for Nexus Info Tab in ModInfoDialog Window
2019-04-14 01:37:17 -05:00
Jake 94cd6f5349 Added the missing URL to setURL function to support the call to getURL() 2019-04-14 02:08:36 -04:00
LostDragonist b932416249 Update translation file 2019-04-13 22:16:08 -05:00
LostDragonist 509def79c6 Improve ignoring of missing English translations
Why does the language code keep changing?!
2019-04-13 21:17:27 -05:00
LostDragonist 379c60375c Update version to 2.2.0beta9 2019-04-13 20:21:47 -05:00
LostDragonist 405dfebe4d Don't log warnings when files can't be found (moves responsibility to caller) 2019-04-13 20:21:47 -05:00
LostDragonist 3c488a69ed Fix typo in missing INI dialog 2019-04-13 20:21:46 -05:00
Silarn 5ea25f03ce Rework logic - we want updates that are newer than the last update - 1hr 2019-04-12 21:28:47 -05:00
LostDragonist 81b9784615 Update tooltip on Nexus settings 2019-04-01 11:57:51 -05:00
LostDragonist c362199ac0 Fix performance when selecting many mods 2019-03-30 22:27:26 -05:00
LostDragonist 22d3f0cd3c Fix getFileOrigins 2019-03-26 14:32:20 -05:00
LostDragonist eb9ac6ca24 Add more protection against missing game plugins 2019-03-25 04:42:02 -05:00
LostDragonist 043a5fa941 Update version to 2.2.0beta8 2019-03-24 21:34:51 -05:00
LostDragonist b1af3eed10 Add parameters to startApplication to allow control of custom overwrite 2019-03-24 21:30:58 -05:00
LostDragonist a4679b6fac Don't query for the file description if it's present but blank 2019-03-24 18:12:23 -05:00
LostDragonist d541f982a5 Add another query to get the missing file description 2019-03-24 17:41:58 -05:00
LostDragonist 93028df242 Handle multiple replies to MD5 search 2019-03-24 17:12:19 -05:00
LostDragonist e69c84d40e Expand mo_interface.log from 1K lines to 1M lines 2019-03-24 10:50:41 -05:00
LostDragonist 3d56e17dd8 Make sure the configured temp folder exists 2019-03-23 23:02:12 -05:00
LostDragonist 1f3133059e Prevent diagnose plugins that return false for isActive from reporting notifications 2019-03-23 21:21:51 -05:00
LostDragonist ff7fd68c0b Connect diagnosisUpdate and updateProblemsButton so the notification button is updated properly 2019-03-23 19:26:16 -05:00
LostDragonist 5f8c95e78e Allow the user to go back to the instance manager if using an instance and the instance's game plugin disappears or stops functioning 2019-03-23 18:09:27 -05:00
LostDragonist 6a19ac3de5 Only let the user select game installations that match what the instance is configured for 2019-03-23 17:47:55 -05:00
LostDragonist bca9f0ec56 Do not change the game type of an instance without getting explicit instructions from the user 2019-03-23 17:10:28 -05:00
LostDragonist a337972ffb Revert "Use MD5 info search for new downloads"
This reverts commit 5ba369680d.
2019-03-23 15:03:44 -05:00
LostDragonist 6dd246363e Fix origin determination for the case of a lower priority, loose files mod being added after a higher priority, archived files mod. 2019-03-22 21:26:50 -05:00
LostDragonist 1f50d61ecb Fix update filter check 2019-03-22 18:00:13 -05:00
LostDragonist c3ff652ff8 Only change to the update filter if mods are being checked for update or mods have updates available 2019-03-22 17:33:10 -05:00
LostDragonist d141258357 Add support for info log messages 2019-03-22 17:16:08 -05:00
LostDragonist 5ba369680d Use MD5 info search for new downloads 2019-03-22 17:03:58 -05:00
LostDragonist b6be2863f2 Set the remaining API requests on a 429 reply 2019-03-22 01:10:01 -05:00
LostDragonist 5b6f16f06a Fix reported number of mods checking for update when multiple mods are selected 2019-03-22 00:52:14 -05:00
LostDragonist 4144684d8d Don't display Nexus ID of zero 2019-03-22 00:44:16 -05:00
LostDragonist 84be4c5440 Don't delete the Nexus ID on invalid update requests 2019-03-22 00:43:49 -05:00
LostDragonist 968cc4b495 Allow moving overwrite files to mods to replace files 2019-03-18 13:53:30 -05:00
LostDragonist be93ce0690 Update translation file 2019-03-18 06:10:06 -05:00
LostDragonist 7819a1aa27 Update version to 2.2.0beta7 2019-03-18 05:16:27 -05:00
Al 105a112f3c Add "Explore Virtual Folder" (name subject to change) as a default executable. 2019-03-10 17:46:36 +01:00
LostDragonist df142f8310 Refresh mod list after clearing overwrite folder 2019-03-09 22:12:10 -06:00
LostDragonist c49fce871a Allow selecting overwrite to trigger selected plugin highlight 2019-03-09 21:41:38 -06:00
LostDragonist e8e7f70ded Allow selecting overwrite to trigger mod conflict highlights 2019-03-09 21:41:20 -06:00
LostDragonist abfbf68469 Improve updating mod highlights when no mod is selected 2019-03-09 21:40:10 -06:00
LostDragonist d26c4e8ea2 Fix conflict detection concerning overwrite 2019-03-09 20:47:10 -06:00
LostDragonist c1210714f8 Update tutorials and stylesheets for problems->notifications change 2019-03-09 01:43:02 -06:00
LostDragonist 57c14681f2 Disable the login timeout timer when something happens 2019-03-09 00:46:45 -06:00
LostDragonist c28750d0fb Improve timeout behavior when logging in to Nexus 2019-03-08 23:14:52 -06:00
LostDragonist 035cf9e767 Update what's this description of profiles 2019-03-08 21:34:43 -06:00
LostDragonist 78954b0b9f Improve function and error reporting of dropping files on mod list 2019-03-08 21:26:47 -06:00
LostDragonist a6c32d0c3d Update translation file 2019-03-07 18:21:33 -06:00
LostDragonist aaeb0e8570 Convert file description from BBCode 2019-03-07 17:52:17 -06:00
LostDragonist 77bcfdfdb3 Update version to 2.2.0beta6 2019-03-07 17:32:27 -06:00
LostDragonist d5ba880283 Suppress expected network errors during MD5 searches 2019-03-07 16:55:42 -06:00
LostDragonist 70bcd97bd2 Use MD5 when querying info before bothering the user 2019-03-07 16:32:17 -06:00
LostDragonist 2eecead236 Rework tracking pin to be green 2019-03-07 11:59:07 -06:00
LostDragonist 6c0f5202ce Support log messages with newlines 2019-03-07 11:21:47 -06:00
LostDragonist d5332c5080 Add support for displaying tracked mods and setting tracked status 2019-03-07 11:21:47 -06:00
LostDragonist 09a68079bb Assume an empty release list from GitHub means some kind of error occurred 2019-03-06 18:46:15 -06:00
LostDragonist 0174423841 Improve failed login checks on start up 2019-03-06 18:02:03 -06:00
LostDragonist dfc992f467 Add setting to hide the API counter 2019-03-06 17:20:53 -06:00
LostDragonist fa44740193 Clear palette of mod list and plugin list to better support themes 2019-03-05 01:58:25 -06:00
LostDragonist 249745c6b1 Don't show unrelated paths when browsing for game 2019-02-25 08:54:51 -06:00
LostDragonist 667ef70cc8 Do not add inactive tool plugins to the tools menu 2019-02-24 21:18:52 -06:00
LostDragonist 899fa6e78d Call toggleMO2EndorseState for consistency 2019-02-24 02:31:15 -06:00
LostDragonist bcca611176 Store endorsement state of MO when a reply is received 2019-02-23 21:25:32 -06:00
LostDragonist ceb0ea65ed Update version to 2.2.0beta5 2019-02-23 18:19:01 -06:00
LostDragonist ba8ce395cf Add function to get configured mods directory 2019-02-23 07:11:57 -06:00
LostDragonist 208f389300 Change setGameName parameters to match MOBase changes 2019-02-22 22:18:05 -06:00
LostDragonist 77d6b71395 Fix call to requestModInfo 2019-02-22 22:17:45 -06:00
LostDragonist 570dc369b7 Fix call to requestDownloadURL 2019-02-22 19:53:10 -06:00
LostDragonist ef80a8baca Remove the spoofed NMM version
The new API does not require this and it serves no purpose to keep it.
2019-02-22 04:33:21 -06:00
LostDragonist 0798e102ba Force an update check after installing a mod 2019-02-22 03:45:54 -06:00
LostDragonist 01203bb467 Allow force-check updates to bypass update timeouts 2019-02-21 21:56:09 -06:00
LostDragonist 5812ad3d46 Don't count updates as ignored when the ignored version is invalid 2019-02-21 21:38:52 -06:00
LostDragonist 8f0f41f08c Invalidate mod list sort proxy when mods find updates 2019-02-21 21:36:09 -06:00
LostDragonist 6984711a01 Don't populate newestVersion from mod description
This leaves the newestVersion unpopulated until the user checks the mod for an update.
2019-02-21 20:50:17 -06:00
LostDragonist 3a290b8a5a Fix warning about multiple consts 2019-02-21 19:36:00 -06:00
LostDragonist 8027fea667 Grab the description for downloads instead of the change log 2019-02-21 19:35:15 -06:00
LostDragonist 9dbac137ef Limit the download file description to 4096 characters
The description is limited to 255 characters on the Nexus so this is mostly protecting against invalid data.
2019-02-21 19:32:32 -06:00
LostDragonist 277e0ffded Update translation file 2019-02-21 04:12:51 -06:00
LostDragonist 78be0744f9 Merge pull request #661 from przester/double-install-fix
Fix state breakage when terminating installation via exceptions
2019-02-21 03:30:24 -06:00
LostDragonist 330ff910d1 Add space 2019-02-21 03:16:52 -06:00
Krzysztof Starecki 067d605a58 Fix state breakage when terminating installation via exceptions 2019-02-20 15:20:20 +01:00
LePresidente 51c02718b1 Merge branch 'Develop' of https://github.com/ModOrganizer2/modorganizer into Develop 2019-02-20 09:25:15 +02:00
LePresidente b62dff5fd6 [Appveyor] make sure we are in the appveyor build folder before sending the discord notification, to avoid errors 2019-02-20 09:24:50 +02:00
LostDragonist 8d5cfc2470 Remove more old Nexus settings 2019-02-19 09:01:04 -06:00
LePresidente 1a123d2dfa Updated AppVeyor build to include artifacts, to allow testers to grab new exe's as they are built 2019-02-19 16:21:17 +02:00
LostDragonist 9ec158dcee Fix for Steam being run as administrator
Previously, when Steam was run as administrator, MO couldn't
access the process therefore couldn't detect it.  Now, an
alternative method for listing processes is now being used
in order to determine if Steam is running.

Additionally, MO will detect if Steam is admin and MO is not
and prompt the user if they want to restart MO as admin.
2019-02-19 03:26:08 -06:00
Brian Munro 046a72346c Merge pull request #656 from ModOrganizer2/Appveyor
Appveyor test build process, current project only
2019-02-19 06:30:30 +02:00
Silarn f9ac64c65d Cleanup and version bump 2019-02-18 21:37:34 -06:00
LostDragonist 9634549f92 Rework messages about downloads already queued or started 2019-02-18 21:33:48 -06:00
Silarn d2120a9c55 Extend the update date back one hour to help prevent time mismatches
- Server time and local time may not align perfectly for bulk API
2019-02-18 21:31:22 -06:00
Silarn 70a9cf9429 Coalesce code for identifying game short name from nexus name 2019-02-18 21:31:22 -06:00
LostDragonist 61842daf93 Fix up messages for already pending/started downloads 2019-02-18 21:31:21 -06:00
LostDragonist b43ab45493 Fix display of file names when querying info 2019-02-18 21:31:21 -06:00
Silarn ec0a0a2beb Fix seconds calculation 2019-02-18 21:31:21 -06:00
Silarn 42ae919c96 Fix issue with downloads not being remove on failure
Also adds helpful message when API key is not valid or present
2019-02-18 21:31:21 -06:00
Silarn f7d1ce1fae Small updates, cleanup, update code, cache settings, tooltips 2019-02-18 21:31:21 -06:00
Silarn 2b9d2f32fb Endorsement and efficiency updates
* Reduce update timeout to 5 minutes
* Introduce bulk endorsement check replacing global mod info check
* Fine tune performance of bulk update info query
* Thread the update processing to prevent lockups
2019-02-18 21:31:21 -06:00
Silarn 5a7d0243c6 Implement bulk update check layer 2019-02-18 21:31:20 -06:00
Silarn b59c44aaa1 Some fixes to parse the preferred server list and download speed feature 2019-02-18 21:31:20 -06:00
Silarn 3f86a94ff7 Freeing the credential object when there's no result causes overruns 2019-02-18 21:31:20 -06:00
Silarn 8bc9db23d9 Add settings option to switch between fixed and dynamic cache timeouts 2019-02-18 21:31:20 -06:00
Silarn eb575e2f92 Implement Windows Credential Manager 2019-02-18 21:31:20 -06:00
Silarn ae74c7ff2b Re-simplify ModInfo interface 2019-02-18 21:31:20 -06:00
Silarn d86d2f704a Implement staggered timeouts bases on age.
* < 1 mo = 2 hours
* < 3 mo = 4 hours
* < 6 mo = 6 hours
* < 1 yr = 12 hours
* > 1 yr = 24 hours
2019-02-18 21:31:19 -06:00
Silarn a873c7be23 Simple updates API headers requested by Nexus 2019-02-18 21:31:19 -06:00
Silarn 177f5c0446 Fix issues with duplicate requests, expand parallel requests to 6 2019-02-18 21:31:19 -06:00
Silarn 91e909bc45 Request pools are not combined, we need to use the max of both pools. 2019-02-18 21:31:19 -06:00
LostDragonist 17b36957ff Add Qt5WebSockets to DLL manifest 2019-02-18 21:31:19 -06:00
Silarn 34a374fce8 Several api improvements:
* Don't check time for force updates
* Implement API restrictions for <200 remaining requests
* Fix bug causing duplicate mod checks for differing short name capitalization
2019-02-18 21:31:19 -06:00
Silarn f7220cdd22 Prevent runaway requests and fix info dialog description update display 2019-02-18 21:31:19 -06:00
Silarn 2b5862ef01 Multiple updates:
* Remove periodic auto-update
* Add context menu force-update for mod list
* Fix some bugs with update parsing
  - Ignore update files that are deleted
  - Fix remaining issue with failing to get all mods due to capitalization
* Remove queue retry when out of requests
* Clear all requests when out of requests
* More potential improvements to login/validation process
2019-02-18 21:31:16 -06:00
Silarn 78ae7072c9 Write the file category ID to the mod data when installing/updating 2019-02-18 21:29:27 -06:00
Silarn 7f56407b91 Use NXM link key and expiration in file list API call when available 2019-02-18 21:29:27 -06:00
Silarn d08b836265 Fix various issues when not having a stored API key 2019-02-18 21:29:27 -06:00
Silarn b7d2a608d8 Fixe API Key storage and actually validate the response 2019-02-18 21:29:27 -06:00
Silarn f04c437960 Rework the data and cleanup a bit 2019-02-18 21:29:27 -06:00
Silarn 42d8bba5d4 Stop blindly following examples and use better code 2019-02-18 21:29:27 -06:00
Silarn b751b070e5 Implement using the DPAPI to encrypt credentials 2019-02-18 21:29:27 -06:00
Silarn 2454690813 Make mod search case insensitive, reintroduce timed update batches 2019-02-18 21:29:26 -06:00
Silarn bbed7c0a32 Rework SSO for new protocol and utilize MO2 application ID 2019-02-18 21:29:26 -06:00
Silarn 6b9e94473a Various fixes and updates
* Add second api type for mod info to segment updates from basic desc
* Add saved nexus file type and factor it into the update display
* Fix some issues with how we were checking for 'latest update' files
2019-02-18 21:29:26 -06:00
Silarn 5aed35d2b6 Ensure mainwindow slot doesn't override data we've just set 2019-02-18 21:29:26 -06:00
Silarn 04c6c6da5c Fix missing nexus update setters 2019-02-18 21:29:26 -06:00
Silarn c7c4a8b08e Update outdated UI descriptions for API monitor 2019-02-18 21:29:25 -06:00
Silarn 6030a1d1fc Sorting logic fix and show last updated date 2019-02-18 21:29:25 -06:00
Silarn f07f6b8904 Update Process Improvements
* 5 minute batch auto-update of up to 10 mods
  - Still able to force an update of all 'unchecked' mods
  - Prioritizes mods with oldest update 'age'
* Implemented 1-hour wait between update checks per mod
* Fixed issues with update progress display
* Only enable update filter automatically if 'force update'
* Improved display of version update status in mod list
  - Italic text when ready to perform update check
  - Tooltip indicates when next update is available
* Fixed remaining issues with update fallback check
* Only trigger one update API request for duplicate sources
2019-02-18 21:29:23 -06:00
Silarn ef286a938d Multiple fixes:
* Uses current daily/hourly rate limits
* Fixed issue with translating API game string to mod game string
** Corrects issues with update checks and downloads
2019-02-18 21:28:27 -06:00
Silarn a305ea2270 Translate nexus game name to short name to fix fetching updates 2019-02-18 21:28:26 -06:00
Silarn 370e010a1a Fix a typo 2019-02-18 21:28:26 -06:00
Silarn 4932c52136 Add counter for API requests 2019-02-18 21:28:24 -06:00
Silarn 23ff0bea74 Always emit the failed signal so we trigger another request 2019-02-18 21:28:07 -06:00
Silarn 72de94ee89 Add a retry for rate limited requests and requeue requests with 429 err 2019-02-18 21:28:07 -06:00
Silarn 56f9ba159b Detect throttling with error code 429 2019-02-18 21:28:07 -06:00
Silarn f6dcc77158 Filter deleted downloads from the download query dialog 2019-02-18 21:28:07 -06:00
Silarn b4a9dd410c Fix issue with endorsement response parsing 2019-02-18 21:28:07 -06:00
Silarn b6805f2730 Add some comments and always use latest update file as the version 2019-02-18 21:28:06 -06:00
Silarn b6498abaf3 Implement an API rate limiter 2019-02-18 21:28:06 -06:00
Silarn fbbff08fb8 Fix up mismatched signals and slots 2019-02-18 21:28:06 -06:00
Silarn 4bea346b26 Reworking update checks to use the file update info with a fallback 2019-02-18 21:28:04 -06:00
Silarn 7de78b6697 Several Nexus API-related changes
* Added 30-second ping so Nexus doesn't close our connection
* Set an overall 5 minute timeout before we give up listening for auth
* Fixed some old signal and slot connections
* Added a button to revoke the current API authorization
* Updated bulk endorsement function with new API changes
2019-02-18 21:27:32 -06:00
Silarn 9fe2f6126d Initial Nexus API changes:
- Switch to SSO with WebSocket
- Update endpoints (all but version checking)
2019-02-18 21:26:44 -06:00
LostDragonist bd9cc6254c Update version to 2.2.0beta3 2019-02-18 18:00:11 -06:00
LePresidente f0f672f9b7 appveyor really wants those blank lines between commands. 2019-02-18 16:27:45 +02:00
LePresidente 63134bc94a Use same branch on umbrella as the project. 2019-02-18 16:24:03 +02:00
LePresidente 24ef8c56d2 Added blank lines between commands, due to appveyor sees it as a single command 2019-02-18 14:30:26 +02:00
LePresidente fa9427d22a Added appveyor build badge to readme.md
Added appveyor.yml which will control the appveyor build in the future (currently extremely basic)
2019-02-18 13:50:48 +02:00
LePresidente 3a1a381b9b Minor change to CMakeLists.txt to use the DEPENDENCY_DIR variable from umbrella, instead of relative paths, this is required to support appveyor. 2019-02-18 13:23:21 +02:00
LostDragonist 57fd35fc47 Visit Nexus page for first primary source if game does not have its own Nexus page 2019-02-17 23:16:49 -06:00
Al ee266e5220 Merge pull request #655 from przester/double-install-fix
Reject new mod installations if another one is already running
2019-02-16 20:41:27 +01:00
Krzysztof Starecki d0a6321a39 Update translation file 2019-02-16 13:37:46 +01:00
Krzysztof Starecki b1f91d28fb Merge branch 'Develop' into double-install-fix 2019-02-16 13:34:20 +01:00
Al c19ba15337 Merge pull request #653 from przester/instance-fix
Fix instance errors when downloading the same file multiple times
2019-02-16 13:02:52 +01:00
Al 4b98a3f5b6 Merge pull request #654 from przester/contextmenu-fix
Change mod list context menu to stack allocation
2019-02-15 23:00:07 +01:00
Krzysztof Starecki 55249ba3a6 Reject new mod installations if another one is already running 2019-02-15 22:01:36 +01:00
Krzysztof Starecki 600b0786eb Change mod list context menu to stack allocation 2019-02-15 17:34:44 +01:00
Krzysztof Starecki 02c5b083dc Fix instance errors when downloading the same file multiple times 2019-02-15 17:07:43 +01:00
Al 4d8920cec1 Fix openOriginInfo and openOriginFolder for base files like skyrim.esm 2019-02-15 15:59:33 +01:00
Al 2106f29224 Write currentProfile to Ini file on profile change. Exclusively for outside detection of profile change. 2019-02-15 15:06:44 +01:00
LostDragonist ad7d740a0b Update version to 2.2.0beta2 2019-02-15 06:01:40 -06:00
LostDragonist 1c02ae101b Improve game selection when multiple games are possible 2019-02-15 00:36:56 -06:00
Al 280a32597f Merge pull request #651 from przester/Develop
Fix mod context menu memleak (issue #379)
2019-02-14 16:39:05 +01:00
Al 749ceff04f Merge pull request #652 from przester/bugfix-446
Fix modId behavior on 'Query Info' cancel (issue #446)
2019-02-14 16:31:06 +01:00
Krzysztof Starecki 448a37e6bc Fix mod context menu rendering issue 2019-02-14 16:30:18 +01:00
Krzysztof Starecki d4a066dbd9 Fix modId behavior on 'Query Info' cancel (issue #446) 2019-02-14 15:55:53 +01:00
Krzysztof Starecki a803baa900 Fix mod context menu memleak (issue #379) 2019-02-14 15:24:02 +01:00
LostDragonist 777ebdd922 Update translation file 2019-02-13 21:16:30 -06:00
LostDragonist a7350a1940 Update version to 2.2.0beta1 2019-02-13 20:50:46 -06:00
Al 67cb214d47 Added enderal to instance selection name 2019-02-13 02:25:49 +01:00
Al dc1b1dd829 UpdateProblemsButton when it's pressed, should clear notifications if there was a lingering one.
Sadly does not work when it's disabled
2019-02-13 01:04:15 +01:00
Al b38a26c2bc Performance improvements:
* Avoid accessing disk for finding archives if archive parsing is disabled.
* Avoid very expensive createFile() call in removeOrigin(), after disabling a mod or closing modinfodialog.
2019-02-12 23:56:09 +01:00
Al 5eb686ac48 Use case insensitive check for flagging primary prugins.
Fixes some plugins not getting force enabled on TTW.
2019-02-12 18:54:56 +01:00
LostDragonist c98f00f77e Clear palette of message dialog to improve readability 2019-02-11 00:07:19 -06:00
LostDragonist de2274e175 Make notifications geometry implementation match other dialogs 2019-02-10 15:39:20 -06:00
Al 75d16660fd Made Archive Conflicts option less appealing to random users. 2019-02-10 18:13:10 +01:00
Al 1d55e1f6f9 Avoid calling addModBSAToStructure() altogether if archive conflicts is disasbled. 2019-02-10 18:08:09 +01:00
Al 5767e27925 Fixed crash when "Update" filter is selected and multiple mods are ignored for update. 2019-02-10 00:44:02 +01:00
LostDragonist 98683eca6f Enable compact mode for mod list flags when column is smaller than 6 icons 2019-02-07 21:42:14 -06:00
LostDragonist 10336caf9e Add Discord, GOG Galaxy, and Spotify to default blacklist 2019-02-05 19:39:10 -06:00
LostDragonist 3444b9a46e Fix some logs 2019-01-31 16:14:25 -06:00
LostDragonist 2201a5b0dd Make gameShortName comparisons case insensitive 2019-01-31 11:31:22 -06:00
Al 02433c486b Fixed a Failed to refresh list of esps: invalid vector<T> subscript error
caused when locking multiple mods where some of them where disabled. Skipped the disabled ones.
2019-01-31 17:57:18 +01:00
LostDragonist bd0efe4d60 Update translation file 2019-01-30 22:44:02 -06:00
LostDragonist 0cac03cdf6 Always display at least 3 segments of version info for MO itself 2019-01-30 22:16:38 -06:00
LostDragonist 46e2eac1ca Update version to 2.2.0alpha10 2019-01-30 21:55:37 -06:00
LostDragonist 1369c8d571 Make logs more consistent in format and content 2019-01-30 20:53:48 -06:00
LostDragonist 4b522f40e8 Make logs more consistent in format and content 2019-01-30 20:32:48 -06:00
LostDragonist 6d45350546 Remember geometry of problems dialog 2019-01-30 19:57:01 -06:00
LostDragonist cfc0b3c055 Rename problems to notifications 2019-01-30 19:34:36 -06:00
LostDragonist d3f1006a51 Don't report errors when "write to file..." in data tab is canceled 2019-01-30 12:55:26 -06:00
LostDragonist 583bc5b6c6 Auto-populate executable name when browsing for a file 2019-01-30 12:53:00 -06:00
LostDragonist 34640c4d08 Don't add empty icons for flags that don't have icons 2019-01-30 03:23:24 -06:00
LostDragonist 6e3d40a230 Change modsSortedByProfilePriority to not return overwrite or backup mods 2019-01-28 15:13:46 -06:00
Al 4b87be4d3d Update issue templates 2019-01-26 12:12:31 +01:00
Al 3f2a41979e Delete Issue template to use specific ones instead 2019-01-25 23:30:40 +01:00
Al 26d5313cba Added new Issue variegated templates 2019-01-25 23:28:00 +01:00
Al 0740b2b22f Update ISSUE_TEMPLATE.md 2019-01-25 23:11:30 +01:00
Al 2053efac29 Update ISSUE_TEMPLATE.md 2019-01-25 23:06:43 +01:00
LostDragonist a853b07953 Change archive parsing to experimental and default to disabled 2019-01-25 10:35:58 -06:00
LostDragonist 08c298c964 Update copyright to 2019 2019-01-25 10:22:56 -06:00
LostDragonist 3372230ca9 Update version to 2.2.0alpha9 2019-01-25 10:21:32 -06:00
LostDragonist a68a027feb Merge remote-tracking branch 'remotes/origin/archive_conflicts_2' into Develop 2019-01-25 10:19:44 -06:00
Al 63511cd390 Fixed ListDialog geometry not saving in Move to mod feature. 2019-01-24 19:24:28 +01:00
Al 75d29f7e03 Show windows overwrite dialog when moving and add result message. 2019-01-24 14:41:52 +01:00
Al ae794dba32 Merge pull request #631 from Thex-PiedDroit/OverwriteToMod
Added ability to move files from the overwrite folder to an existing mod
2019-01-24 08:14:51 -05:00
Al c0c754728c Fixed display of notes tool-tip and improved Alternative Game source tooltip. 2019-01-24 13:23:44 +01:00
LostDragonist 0ab87850c4 Merge remote-tracking branch 'remotes/origin/Develop' into archive_conflicts_2 2019-01-22 17:57:46 -06:00
LostDragonist 5800f2b7b3 Use the optimized function that was created 2019-01-22 15:26:51 -06:00
LostDragonist 7fd81029ce Reduce file I/O operations when enabling/disabling multiple mods 2019-01-22 14:59:07 -06:00
Thex a349ec24df Added ability to move files from the overwrite folder to an existing mod 2019-01-22 21:39:08 +01:00
Al a40613f885 Cache list of archives contained in a mod instead of accessing disk each time 2019-01-22 17:58:34 +01:00
Al 917c08cd5f Fixed a crash with "Disable Selected" while in "checked" filter and similar cases 2019-01-22 13:26:52 +01:00
Al 11b2e0fe34 Improved performance of pluginlist refresh by removing regex 2019-01-22 13:25:31 +01:00
Al fe04cb47e1 Improved Choose Instance name dialog to avoid confusion 2019-01-20 22:27:43 +01:00
Al 8719248fcf Add some horizontal padding to downloads tab for eyecare 2019-01-20 00:15:20 +01:00
Al 23e81f7109 Open conflicts tab when double clicking on flags
not perfect as flags could be for something else but will provide fast access to that tab.
2019-01-19 23:36:52 +01:00
LostDragonist 6d36f1d959 Fix forced libraries when using shortcuts 2019-01-19 15:15:48 -06:00
LostDragonist 952a9c2ded Fix forced libraries when using shortcuts 2019-01-19 15:15:31 -06:00
LostDragonist e6e8ce1d68 Cancel the installation progress bar when done to prevent it showing up again 2019-01-18 17:55:53 -06:00
LostDragonist a63d12bd0f Cancel the installation progress bar when done to prevent it showing up again 2019-01-18 17:46:56 -06:00
LostDragonist 5b8b2ddac7 Edit tooltip and what's this of archive parsing option 2019-01-18 15:47:14 -06:00
LostDragonist 2ee3aec6b5 Fix location of archive parsing setting 2019-01-18 15:34:08 -06:00
Silarn 077a050e59 Merge remote-tracking branch 'origin/Develop' into archive_conflicts_2 2019-01-18 01:56:16 -06:00
Al 0d04ba1873 Added OR and AND based search to modlist and pluginlist.
A space now means AND and "OR ; | ||" mean OR. OR always wins.
2019-01-18 01:34:18 +01:00
LostDragonist 9c364c0dff Redirect documentation link in help menu to github.io 2019-01-14 18:53:32 -06:00
LostDragonist 643d2a7725 Add link to discord server in help menu 2019-01-14 18:53:07 -06:00
Al 5efba39f86 Fixed invalid vector access on modInfoDialog closing. 2019-01-13 13:42:56 +01:00
Al 821ca74166 Avoid refreshes unless it's specifically the update filter. 2019-01-12 20:24:10 +01:00
Al 864cab8c8a Fixed "check all for updates" not updating for the newly added mods. 2019-01-12 19:58:56 +01:00
Al ea3df2e9bd Some more drag and drop related changes, still no fix though. 2019-01-12 14:35:09 +01:00
Al 37e1009d94 Added missing Parchment theme file 2019-01-12 12:12:04 +01:00
Al 029da32412 Added Parchment theme by TheBobAbides. 2019-01-12 11:48:36 +01:00
LostDragonist d24519501f Delete the settings array before writing a new one 2019-01-11 18:00:54 -06:00
LostDragonist 64a242d922 Remove profile-specific executable settings when removing the executable 2019-01-11 16:21:43 -06:00
LostDragonist b41c99b742 Remove window title of widget 2019-01-11 10:32:17 -06:00
LostDragonist e9c35cad2e Update translation file 2019-01-11 09:02:06 -06:00
LostDragonist 9c721c08eb Update Paper Dark and Paper Light themes to 5.0 2019-01-11 08:11:13 -06:00
LostDragonist aa934e5fb3 Update Paper Automata theme to A2-2.0 2019-01-11 08:10:53 -06:00
LostDragonist f1572a2fc4 Fix regex warning 2019-01-11 07:56:28 -06:00
Al 04a4346dc8 Save version even after downgrading.
Otherwise the downgrade warning will appear forever.
2019-01-11 14:02:19 +01:00
Al cc7c3adcad Fix or ignore a number of compiler warnings. 2019-01-11 13:56:58 +01:00
LostDragonist 2d78ac26c8 Change version to 2.1.7alpha6 2019-01-11 03:15:21 -06:00
LostDragonist 96b6677ed9 Fixes to library load widget 2019-01-11 03:14:41 -06:00
LostDragonist 347ac2b8b5 Support for force loading libraries 2019-01-11 01:51:11 -06:00
Al 183069a85d Make Visit on Nexus and Open web page do the other as well for multiple items. 2019-01-11 00:23:39 +01:00
Al ff49e2a43c Added Web Page URL field in modinfodialog.
It's used only if nexusID is invalid.
2019-01-11 00:04:09 +01:00
Al d0445685bf Fix #523 by resetting m_URL after install. 2019-01-10 23:51:53 +01:00
Al 14b117d74a Save rich text of notes tab across restart. 2019-01-10 21:16:01 +01:00
LostDragonist 301c1156f8 Don't try to resume downloads that aren't paused 2019-01-08 01:34:06 -06:00
Al fa8e40adcb Update valid mod status when moving files from overwrite. 2019-01-07 14:28:28 +01:00
Al d32695843d Fix drop to downloads tab.
Fix DownloadView to be QtreeView in QCreator.
2019-01-07 13:28:46 +01:00
Al f2ea231f92 Made Delete INIs and Saves dialogs remember selection. 2019-01-06 21:54:11 +01:00
Al 2a010e5cdb Fixed version notification messages. 2019-01-06 20:57:17 +01:00
LostDragonist eb6ee86da4 Change version to 2.1.7alpha5 2019-01-05 21:50:52 -06:00
Silarn e35cdd6c89 Merge remote-tracking branch 'origin/Develop' into archive_conflicts_2 2019-01-05 20:00:16 -06:00
LostDragonist f2c145b2fc Change qPrintable to qUtf8Printable to better support non-ASCII text 2019-01-05 19:11:22 -06:00
Al cc7d1ed721 Improve spacing for plugincounter. 2019-01-06 00:29:37 +01:00
Al 08477d6524 Fix compact/normal download sizes on all themes.
Fix hover/select padding changes.
Fix non uniform height due to warning icon.
2019-01-05 23:43:10 +01:00
Al 23426d920e Added Tannin to thanks 2019-01-05 23:39:50 +01:00
Al e97f073570 Improve ToLower() performance significally. 2019-01-05 20:59:00 +01:00
Al 299a769a83 Improve performance of refresh (regex and code distribution) 2019-01-05 18:44:15 +01:00
LostDragonist 14782a374c Improve performance by removing redundant actions when changing mod states 2019-01-05 02:57:01 -06:00
LostDragonist 070a9a4d47 Update mod and plugin counters when a mod is removed 2019-01-05 02:18:18 -06:00
LostDragonist 3d24650095 Fix counting light-flagged plugins 2019-01-05 02:17:37 -06:00
LostDragonist a6e526210f Remove redundant "active" labels on plugin counter 2019-01-05 01:33:46 -06:00
LostDragonist 3839de53f0 Don't call ASCII function with unicode 2019-01-03 04:39:34 -06:00
Al 474fdca394 Merge pull request #610 from przester/download-tab
Tweak download tab column resizing
2019-01-03 01:35:13 +01:00
Krzysztof Starecki c54bc7edfa Merge branch 'Develop' of https://github.com/Modorganizer2/modorganizer into download-tab 2019-01-03 01:20:15 +01:00
Krzysztof Starecki c57d7567c4 Tweak download tab column resizing 2019-01-03 01:09:08 +01:00
LostDragonist 683d17784b Improve missing INI dialog when switching profiles 2019-01-02 14:30:46 -06:00
Al 0d0e9ee175 Added Note columns to Export to CSV feature 2019-01-02 19:50:33 +01:00
LostDragonist 15e4711417 Merge remote-tracking branch 'remotes/origin/Develop' into archive_conflicts_2 2019-01-01 17:07:52 -06:00
Al 5ad411cd47 Updated version to 2.1.7alpha4 2019-01-01 23:31:16 +01:00
Al 9a2b9224ca Sort Separators by priority in Send To dialog. 2019-01-01 22:57:00 +01:00
Al 35995a4989 Merge pull request #607 from przester/download-tab
Fix download entry padding issue
2019-01-01 22:37:47 +01:00
Krzysztof Starecki 76fb954b3d Fix download entry padding issues (again) 2019-01-01 22:34:42 +01:00
Al 523cb203ce Merge pull request #606 from przester/download-tab
Revamp the downloads tab, fix some UI bugs
2019-01-01 22:10:56 +01:00
Krzysztof Starecki 6fa416fc52 Add default download row sizes for generic styles, sanitize mainwindow.ui 2019-01-01 21:52:10 +01:00
Al 619a0887d8 Fix About dialog open tab. 2019-01-01 19:39:57 +01:00
Al 9c1cbed8db Updated About dialog. 2019-01-01 19:33:44 +01:00
Krzysztof Starecki ad752182bc Fix download entry padding issues 2019-01-01 18:31:17 +01:00
Krzysztof Starecki 63b2189416 Remove unused import, fix accidental indent 2019-01-01 15:29:50 +01:00
Krzysztof Starecki 79ccbccb1b Fix toolbar buttons not setting their icons on startup 2019-01-01 14:27:51 +01:00
Al d8396bfa2c Fixed refresh not clearing overwrite highlighting. 2019-01-01 12:39:35 +01:00
LostDragonist 858930cb46 Change find_if to remove_if 2019-01-01 01:18:40 -06:00
Krzysztof Starecki 44d42cb26d Change redownload dialog to display the filename 2019-01-01 01:10:46 +01:00
Krzysztof Starecki 263a3f7d24 Make download tab columns hideable by user 2018-12-31 23:24:19 +01:00
Krzysztof Starecki 79a2f8477b Fix bug with hiding installed downloads 2018-12-31 22:45:04 +01:00
Krzysztof Starecki 954785f83e Fix some compiler warnings 2018-12-31 21:01:15 +01:00
Krzysztof Starecki 895556f257 Add filetime column to download tab 2018-12-31 20:53:35 +01:00
Krzysztof Starecki e7c59b26e1 Fix nullptr bug with download meta info 2018-12-31 20:45:12 +01:00
Krzysztof Starecki fd6345cd4e Add 'download meta information' support to download tab 2018-12-31 20:29:03 +01:00
Krzysztof Starecki f3ee7a0566 Port the 'Night Eyes' theme 2018-12-31 19:35:52 +01:00
Krzysztof Starecki 527b310ef3 Merge remote-tracking branch 'upstream/Develop' into download-tab 2018-12-31 18:58:11 +01:00
Krzysztof Starecki b8babae78a Fix download layout bug, port most of remaining themes 2018-12-31 18:48:53 +01:00
LostDragonist 776bc8efdf Update version to 2.1.7alpha3 2018-12-31 10:52:02 -06:00
Krzysztof Starecki 412a062082 Tweak styling options for downloads tab, port Paper Light theme for reference 2018-12-31 16:12:25 +01:00
LostDragonist ba57657b4f Correct logic of mod conflict color selection 2018-12-31 07:40:44 -06:00
LostDragonist 398cc0112e Merge branch 'Develop' into archive_conflicts_2 2018-12-30 20:34:29 -06:00
LostDragonist 4809c30132 Apply alpha color settings to the settings dialog 2018-12-30 20:19:23 -06:00
LostDragonist 7cdaecc5bd Merge pull request #604 from Project579/Develop
Added Alpha channel to color pickers
2018-12-30 19:20:52 -06:00
Krzysztof Starecki 03823a433a Add qss styling options for progress bar and compact mode widgets 2018-12-31 02:15:47 +01:00
LostDragonist 580f45429f Fix conflict colors and make archive conflict colors configurable 2018-12-30 18:52:15 -06:00
Project579 22643edb21 Added Alpha channel to color pickers 2018-12-31 01:18:01 +01:00
LostDragonist e9fe45eb89 Merge branch 'Develop' into archive_conflicts_2 2018-12-30 16:30:41 -06:00
LostDragonist b2ca83366a Merge pull request #601 from Project579/archive_conflicts_2
Archive conflicts Updating to Lastest Develop
2018-12-30 16:27:43 -06:00
Krzysztof Starecki c11ff7e2db Add icon for incomplete download info, add download progress delegate 2018-12-30 22:13:15 +01:00
Krzysztof Starecki cfb941082e Add downloadlist styling tweaks 2018-12-30 19:41:05 +01:00
Krzysztof Starecki 463abedee7 Remove old downloads tab code leftovers 2018-12-30 16:35:39 +01:00
Krzysztof Starecki 4d40e8d18c Fix adding new downloads, add missing download progress states 2018-12-30 16:22:35 +01:00
Krzysztof Starecki c3ad0349d4 Tweak downloadlist status sorting behavior 2018-12-30 15:27:25 +01:00
Krzysztof Starecki 7a71a9eb9e Fix a bug where downloadlist context actions run multiple times 2018-12-30 15:16:06 +01:00
Krzysztof Starecki ec8dbcbf28 Port context menus to new downloadlist 2018-12-30 14:57:05 +01:00
Krzysztof Starecki 5920dc2cd1 Disable downloadlist widget delegates, port partial functionality to QTreeView 2018-12-30 12:26:34 +01:00
Project579 71091f679d Updated translation 2018-12-30 11:22:08 +01:00
Project579 302f9b99d8 Updated version to reflect changes 2018-12-30 11:22:08 +01:00
Project579 b842eb1ca3 Fix for download list refreshing, courtesy of bshd 2018-12-30 11:22:08 +01:00
Project579 b525ee392f Updated translation file 2018-12-30 11:07:56 +01:00
Al 7f0844bdd4 Changed name limit to 60 instead of 100 since it was too long 2018-12-29 23:52:18 +01:00
LostDragonist 87c6b019bc Fix for download list refreshing, courtesy of bshd 2018-12-29 14:56:43 -06:00
LostDragonist 5fc107cdb2 Change version to 2.1.7alpha2 2018-12-29 14:23:36 -06:00
Project579 d6f9e6d900 Merge branch 'Develop' into archive_conflicts_2
Updating to 2.1.7alpha1
2018-12-29 11:56:42 +01:00
LostDragonist eb50d0b447 Update counters when changing profiles 2018-12-28 20:13:31 -06:00
LostDragonist f6884fe3d6 Allow some functions to pass in empty paths to check the root folder 2018-12-28 16:33:51 -06:00
Al 93a60177ee Changed "Loads BSA" flag to finds loaded archives in the entire virtual folder. 2018-12-28 21:26:59 +01:00
LostDragonist b82677fab1 Fix warning about missing signal 2018-12-28 01:10:16 -06:00
LostDragonist 66bf2ab537 Stop warning about missing English translations 2018-12-28 01:05:11 -06:00
LostDragonist 2d9cf25657 Fix typo 2018-12-27 18:49:19 -06:00
LostDragonist dea754ad91 Update translation file 2018-12-27 15:02:26 -06:00
LostDragonist b84e938726 Update version to 2.1.7alpha1 2018-12-27 14:29:25 -06:00
LostDragonist b397e0bc5d Simplify code for visible counter changes 2018-12-27 04:37:23 -06:00
LostDragonist 4cc371ab84 Modify active counters based on filters 2018-12-27 02:50:04 -06:00
Al bbed72c6a3 *Made clear Filters button clear also the nameEdit filter 2018-12-27 01:07:08 +01:00
LostDragonist a3110731ca Use WriteRegistryValue function to handle read-only files 2018-12-26 17:23:12 -06:00
LostDragonist 6a4e52f9dc Display counter tooltips when clicked 2018-12-26 10:59:18 -06:00
LostDragonist 66d0ae4317 Add a small gutter around the active mod/plugin counters 2018-12-26 09:19:44 -06:00
Al fecb66f66b Added "Visible" counters for modlist.
Improved counters tool tip view.
2018-12-26 15:49:00 +01:00
LostDragonist 85eb57eebb Relaunch MO as admin when elevation is required
Previously, a new process of MO would be created as administrator when elevation was required.  This had some unwanted side effects.  The GUI lock would not function.  The virtual file system would likely break as the non-admin process could not access data from the new admin instance.
2018-12-25 03:51:32 -06:00
LostDragonist 22f40072cf Allow user to "won't endorse" MO itself 2018-12-24 22:37:53 -06:00
LostDragonist 40a3e93c46 Add an option to disable endorsements 2018-12-24 22:37:53 -06:00
LostDragonist d021011cfa Allow "endorse", "unendorse", and "won't endorse" for multiple mods 2018-12-24 22:37:52 -06:00
LostDragonist 5f06da756e Allow "visit on Nexus" for multiple mods 2018-12-24 20:52:56 -06:00
LostDragonist 7fa230411e Improvements to the plugin and mod counters
* Fix style
* Add whatsThis
* Add tooltips with additional statistics
* Don't count mods like overwrite, unmanaged, DLC, etc.
2018-12-24 19:46:31 -06:00
Al 23cf8e60fd Changed ui of active mod counters 2018-12-24 21:22:48 +01:00
Al d28ddcfbb5 Added Active Plugins and Active Mods counters 2018-12-24 17:29:16 +01:00
Al 6211a23c5f Made compact download view show longer names 2018-12-24 13:26:51 +01:00
LostDragonist ce02da497a Prevent missing INI dialog from popping up when creating a new instance with archive invalidation 2018-12-24 00:59:54 -06:00
LostDragonist fcff329c1e Add sorting for the notes column 2018-12-23 00:57:28 -06:00
Al12rs 2d79e37e59 Fixed typo in previous commit. 2018-12-22 17:06:06 +01:00
Al12rs 77e4cb5c6e Improved tooltip for Alternate Game Source flag. 2018-12-22 17:02:55 +01:00
Al12rs 69ff53f443 Some logging for drop events on modlist. 2018-12-22 16:41:05 +01:00
Al12rs 127fbda849 Fixed unignreUpdate option from not showing up. 2018-12-22 14:54:45 +01:00
LePresidente d8e988d372 encase path in quotations to support spaces in Install Location. 2018-12-22 15:46:02 +02:00
Silarn da3a95ed66 Translation updates 2018-12-22 03:25:08 -06:00
Al12rs 101d656709 Removed pixel limit on downloads tab, inclreased character limit to 120. 2018-12-22 01:55:52 +01:00
LostDragonist 549db7d331 Escape quotes in arguments when elevating MO 2018-12-21 17:38:07 -06:00
LostDragonist 9bc15eb6f7 Add hotkeys for download filter and allow ESC to clear filter more often 2018-12-20 20:57:09 -06:00
LostDragonist 70ddfaadbf Expand mod list search edit to work on categories, nexus IDs, and notes 2018-12-20 20:57:09 -06:00
LostDragonist afdd21440a Catch and report exceptions in the MainWindow deconstructor 2018-12-20 20:56:31 -06:00
Al12rs a899823fff Fixed Description not loading when InfoDialog opens on Nexus tab. 2018-12-21 02:15:02 +01:00
Al12rs 3161bdb9a5 Made doubleclick open relevant info tab 2018-12-21 01:05:30 +01:00
LostDragonist e2b799bd6b Update translation file 2018-12-20 15:56:54 -06:00
LostDragonist 185eb8e5ef Merge branch 'Develop' 2018-12-20 15:34:11 -06:00
LostDragonist 63efd21a6a Fix version reporting to allow non-alpha builds 2018-12-20 15:33:01 -06:00
LostDragonist ed67ac2113 Merge pull request #586 from ModOrganizer2/Develop
Release 2.1.6
2018-12-20 14:33:08 -06:00
Al12rs 9a33dc1480 *Added "Open INIs Folder" option.
*Changed "Open Instance Folder" to open the Appdata or MO2 install instead of the baseDirectory.
2018-12-20 19:12:11 +01:00
LostDragonist 1b0c437788 Update translation file 2018-12-19 14:33:04 -06:00
LostDragonist 5e530becc2 Don't mention save games when dealing with INI files 2018-12-19 13:02:15 -06:00
LostDragonist d9835cc4ae Update translation file 2018-12-19 12:47:33 -06:00
LostDragonist 18ea79c2d0 Update translation file 2018-12-19 11:53:53 -06:00
LostDragonist 37a6989ba8 Make language about profile-specific settings and save games consistent 2018-12-19 11:53:29 -06:00
LostDragonist 830b63c4e2 Re-initialize the profile configuration if INI files are missing 2018-12-19 11:43:15 -06:00
LostDragonist 662772c2fc Optionally delete and restore profile-specific game INI files when changing the setting 2018-12-19 11:19:03 -06:00
LostDragonist 027edcf688 Enable per-profile game INI files by default again 2018-12-19 11:03:24 -06:00
Al12rs ff51aa10c2 Fixed performance issue of Data tab. 2018-12-18 00:12:28 +01:00
LostDragonist cbc9d00584 Update translation file 2018-12-15 16:23:20 -06:00
Al12rs e15f768a15 Fixed opening multiple modinfodialog from Open Origin info. 2018-12-13 21:18:35 +01:00
LostDragonist e63eba2ca1 Improve cleanup of temporary files when installing 2018-12-13 13:30:04 -06:00
LostDragonist 4436d376a8 Clean up and fix merge issues 2018-12-12 20:35:23 -06:00
Al12rs 40c82fc190 Fixed mainwindow.cpp so that Qt Creator does not break it anymore.
We should be able to normally use Creator now without having to worry about breaking the build.

Partial fix for conflict information getting messd up after opening infodialog or disabling a mod.
Icons still get messed up but conflict tab remains consistent at first inspection.

Reverted main tab to plugins

Changed version of Archive conflicts branch to 2.2.0 pre-alpha.
2018-12-12 20:17:07 -06:00
Project579 57178f8988 Added button to disable Archives in Data Tree and entirely. 2018-12-12 20:16:54 -06:00
Al12rs 49159de5d7 Improved refresh performance by replacing std::transform() with CharLowerBuffer().
Fixed padding to four spaces and removed references to FLAG_ARCHIVE_LOOSE_CONFLICTS_MIXED that isn't used.
2018-12-12 20:16:50 -06:00
Silarn 75a663941d Add flag padding for all conflict icons 2018-12-12 20:16:40 -06:00
Al12rs b05f56c808 Added red archive conflict icon and made the conflicts tab change font for files that come from an archive. 2018-12-12 20:16:39 -06:00
Silarn f9f70b224e Add loose file/archive conflict icons 2018-12-12 20:16:07 -06:00
Al12rs 01e1232cf8 Added new "loose files overwrite archive" icon and all the flags.
The logic to show it is still missing until the other issues are fixed.
2018-12-12 20:15:55 -06:00
Silarn 8d6c715672 Initial archive conflict parsing
Squashed commit:
  Basic archive conflict parsing - pass 1
  Merge fixes for archive parsing
  Basic archive conflict parsing - pass 1
  Merge fixes for archive parsing
  Should fix conflict detection for archive files
2018-12-12 20:15:55 -06:00
LostDragonist 20008e17b7 Fix highlighting plugins when selecting mods with no visible priority 2018-12-12 17:43:43 -06:00
LostDragonist c24200bc04 Remove a weird vertical spacer from the diagnostics settings tab 2018-12-12 13:22:17 -06:00
LostDragonist 25a9290cd5 Reset previousSeparatorColor when a separator color is reset 2018-12-12 09:40:25 -06:00
Al12rs efe657c23e Removed old styles 2018-12-12 16:30:04 +01:00
LePresidente 571347d2de Pass DIR parameter to install exe, so installation directory matches current directory. 2018-12-12 16:01:50 +02:00
Al12rs 346bc630f8 Create new Separators in last used color. 2018-12-12 10:37:10 +01:00
LostDragonist 013890f644 Remember the last separator color used 2018-12-12 03:04:23 -06:00
LostDragonist 3559364473 Update translation file 2018-12-12 02:46:51 -06:00
LostDragonist 92cdf41243 Update Skyrim theme by chintsu_kun to v2.1.0 2018-12-11 20:48:16 -06:00
LostDragonist 789e95ca58 Update VS2015 Themes by chintsu_kun to v2.0.2 2018-12-11 20:47:29 -06:00
LostDragonist 9b9a1f435e Add v1.1 Paper Automata theme by 6788 2018-12-11 20:37:59 -06:00
LostDragonist 7f82ffa664 Add v4.3 Paper Light and Paper Dark themes by 6788 2018-12-11 20:37:36 -06:00
LostDragonist 68a1afed49 Implement separator text color in a way that doesn't break everything else 2018-12-11 20:31:17 -06:00
LostDragonist 7b1ece5f28 Further extend the version field to 32 characters 2018-12-11 18:31:09 -06:00
LostDragonist 2306e006dc Remove the requirement for a game launcher to be present 2018-12-11 15:45:29 -06:00
LostDragonist f6cd53e932 Change color of separator text based on the configured color of the separator 2018-12-11 15:24:25 -06:00
LostDragonist 5335188e63 Add option to remove column colors for mod list separators 2018-12-11 14:47:50 -06:00
LostDragonist dac716bb86 Allow tool plugins to define a submenu with the display name
Setting the display name to "<submenu>/<displayname>" will group plugins under the submenu.
2018-12-11 14:15:37 -06:00
Al12rs c486220d20 Updated translations and removed an excessive separator from previous commit. 2018-12-11 16:33:39 +01:00
Al12rs 0af33ccddf Added "Open Origin in Explorer" and "Open Origin Info..." options to ESPList context menu. 2018-12-11 16:26:41 +01:00
Al12rs 413c045383 * Fixed order of data tab to be Folders first.
* Remember expanded folders across refreshes.
2018-12-11 14:57:03 +01:00
LostDragonist 1266e13921 Add the ability to change the managed game directory 2018-12-11 01:52:53 -06:00
LostDragonist f4af3264f0 Sort tools menu to provide consistent results 2018-12-11 00:25:18 -06:00
Al12rs f61236e4cf Added UI locking while loadbar is active (for refresh of modlist). 2018-12-10 20:53:45 +01:00
LostDragonist d7e6fd1dd6 Don't disable ESMs when disabling mods if alternatives are available 2018-12-08 20:23:45 -06:00
LostDragonist 9d9dbd9f7e Add shortcut to select name filters on mod list and plugin list 2018-12-08 14:46:42 -06:00
LostDragonist 93763a9364 Add workaround setting to prevent the GUI from locking when running an executable 2018-12-08 11:15:16 -06:00
LostDragonist a94977988b Move the mod info separator flag to the end as it's hidden 2018-12-08 10:44:46 -06:00
LostDragonist c501b5cca0 Add notes column to mod list 2018-12-08 10:44:46 -06:00
Al12rs c87d97de8c Added missing games to the suggested names list.
Imroved dialog description.
2018-12-08 15:01:01 +01:00
LostDragonist 4914fd172d Add workarounds button to reset window geometries 2018-12-08 01:19:37 -06:00
LostDragonist 02fe0d3384 Improve refresh of data when changing profile settings 2018-12-07 23:44:31 -06:00
LostDragonist e76891b926 Update translation file 2018-12-06 03:06:46 -06:00
LostDragonist b53be165fd Savagemes -> Savegames 2018-12-06 02:59:41 -06:00
LostDragonist 849d00521a Transition profile settings to settings.ini 2018-12-05 19:17:16 -06:00
Al12rs deb3c5ca21 Fixed tooltip and "What's this" to better explain INI options. 2018-12-05 22:57:52 +01:00
Al12rs 25448ef076 * Changed "Local game settings" to "Use profile-specific Game INI files".
* Added tooltip to the option explaining what it does since it was missing.
* Improved Local Savegames text and tooltip as well.
2018-12-05 22:50:03 +01:00
LostDragonist 40919c1520 Create empty mods above the selected mod 2018-12-04 18:08:39 -06:00
LostDragonist 79c451bb17 Improvements to "send to separator..." dialog
* Scale contents with dialog size
* Save and restore dialog geometry
* Add a better window title
2018-12-03 06:04:16 -06:00
LostDragonist 87292ca30f Add filter to "send to separator..." dialog 2018-12-02 22:07:58 -06:00
LostDragonist c0b55690bc Add "send to separator..." option for mods 2018-12-02 20:26:26 -06:00
Al12rs f1384cdfa7 Fixed context menu for Data tab showing the File version for empty folders. 2018-12-02 12:48:16 +01:00
Al12rs c9658e1a65 * Added Folders and Files icons to Data tab.
* Fixed empty folders not showing up in Data tab.
2018-12-01 23:23:28 +01:00
LostDragonist 9431597e66 Correct comparison logic for blacklist warning 2018-11-29 15:33:47 -06:00
LostDragonist 4566b51093 Set general settings tab as the default again 2018-11-29 15:23:25 -06:00
LostDragonist 2212ad6f1c Add executable blacklisting 2018-11-29 14:11:09 -06:00
LostDragonist 6142872620 Prevent the user from renaming unmanaged and DLC mods 2018-11-26 07:51:45 -06:00
LostDragonist 4cae1397e7 Prevent the user from setting a negative mod priority 2018-11-26 07:44:26 -06:00
LostDragonist 7fbfc12118 Sort the plugin list 2018-11-26 07:23:11 -06:00
LostDragonist 4eaa0d16bb Resize plugin settings to make keys visible 2018-11-26 07:23:03 -06:00
LostDragonist a219d03444 Add cancel button to "Start Steam?" dialog to not start binary 2018-11-26 03:13:33 -06:00
LostDragonist ad01e1d608 Less strict implementation of path normalization 2018-11-10 22:04:12 -06:00
LostDragonist aaa1523db9 Normalize path settings to prevent extra characters 2018-11-10 16:24:45 -06:00
LostDragonist effd05df06 Tweak text color selection to prevent white text on bright green background 2018-11-09 19:05:06 -06:00
LostDragonist 545b7b4eb7 Fix button colors in the settings dialog with the default theme 2018-11-09 18:14:01 -06:00
Al12rs 71830a65d4 Added three new Transparent Styles by Gernash:
Transparent Style 101 Green
Transparent Style BOS
Transparent Style Skyrim
2018-11-09 21:50:46 +01:00
Al12rs bde2e5fca1 Improved Skyrim.qss theme performance. 2018-11-09 17:15:04 +01:00
Al12rs 15bbfdfa6f Added Nigh Eyes theme by ciathyza. 2018-11-08 20:41:40 +01:00
LostDragonist a85a6e635e Update translation file 2018-11-06 19:00:06 -06:00
LostDragonist 9abb3ca162 Prevent user from clicking the run button more than once 2018-11-05 21:43:50 -06:00
LostDragonist 5588b8b756 Change "mods" to "plugins" in "send to priority..." option for plugins 2018-11-04 13:47:39 -06:00
LostDragonist d48392c89f Don't change priority of new separators when not sorting by priority 2018-11-04 13:45:42 -06:00
LostDragonist 21d61e617b Hide "send to" context menu options when not sorting by priority 2018-11-04 13:39:22 -06:00
LostDragonist a48a20f13f Add context menu option to send to a specific priority 2018-11-04 13:10:41 -06:00
LostDragonist 2e09e633bd Fix creating separators when right-clicking overwrite 2018-11-04 12:33:37 -06:00
Al12rs 1189b8cc33 Made the "checked" filter show separators. 2018-11-04 16:19:54 +01:00
LostDragonist 17f1cf0aab Allow switching instances when MO is launched with moshortcut://<instance>: 2018-11-02 21:02:30 -05:00
Al12rs 78cd0110d3 Updated Skyrim and VS15 theme to fix highlighting on ESPlist. 2018-11-02 19:29:50 +01:00
LostDragonist 2c57899cf6 Fix matching highlights for mod and plugin selections
The selectionChanged event used before requires subtractive/additive logic to work correctly.  A separate event is fired for each row and each column for each row that is selected or deselected.  The previous logic assumed all of the selection was passed in at once.

The logic has been changed to recalculate all highlights each time the event is fired.  This is poorly optimized in regards to performance but makes the function work.
2018-11-01 17:58:49 -05:00
LostDragonist 3dbfba91e1 Add separators according to context location of context menu 2018-11-01 16:55:58 -05:00
Al12rs 2c53f9d934 Cleaned up leftover from color customizzation. 2018-11-01 16:35:02 +01:00
Al12rs 6323a348da Fixed missing category selection for separators. 2018-11-01 16:29:38 +01:00
Al12rs 73842ee245 Added ability to change color of conflict and plugin highlighting from the settings. 2018-11-01 16:20:53 +01:00
LostDragonist 122744454c Improve changing mod and plugin priorities 2018-11-01 06:40:55 -05:00
LostDragonist 5de173ba1a Add send to top/bottom options for the plugin list 2018-10-31 17:05:05 -05:00
LostDragonist eb26120332 Add send to top/bottom options for the mod list 2018-10-31 14:53:24 -05:00
LostDragonist 6056202ead Fix crash when 7-zip fails to extract a file
A thread is spun off to handle the extraction while the main thread handles the progress bar updates.  Previously, a dialog was spawned in the thread when an error in 7-zip occurred.  Now, the thread will terminate and pass the error message back to the main thread who will spawn the dialog.
2018-10-31 00:52:32 -05:00
LostDragonist c1d90b131b Add modinfoseparator to CMakeLists.txt 2018-10-30 21:38:16 -05:00
Al12rs 63a66c8754 Added VS2015 and Skyrim Stylesheets, courtesy of chintsu! 2018-10-28 19:11:44 +01:00
Al12rs ab95f78689 Added Reset color option for separators and changed the bahavior of "cancel" of the color selector dialog to keep previous color. 2018-10-28 17:27:34 +01:00
Al12rs 9e66799abf Fixed Separators not getting deleted while deleting multiple selected items. 2018-10-28 16:15:27 +01:00
Al12rs dce6507dad Added Color costumization for Separators. 2018-10-28 15:04:50 +01:00
Al12rs 42d2344f0b Added modlist Separators feature:
*New modType separator.
*Bold, italic and centralized name without _separator at the end.
*Added "create separator" option to context menu.
*Added "rename separator" option.
*Fixed rename separator issue with priority resetting.
2018-10-28 02:16:20 +02:00
Al12rs 18e49b71b5 Added uniformRowHeight = true property to the modlist, data tab, filters view and Log area. It should make Qt perform better when showing a large number of items. 2018-10-27 18:37:51 +02:00
Al12rs fcb29afe83 Increase filterview size to not cut off filternames 2018-10-13 14:44:16 +02:00
Al12rs cf52aa335a Fix Creator setting Boss button to invisible each time 2018-10-13 11:47:10 +02:00
Al12rs 9c35443780 Fixed UI file to not break each time it's opened in creator. 2018-10-13 10:42:12 +02:00
Silarn 9c6c01df56 Update path to gamebryo/creation engine sources 2018-10-01 00:14:03 -05:00
LostDragonist b83807e4d5 Set the web viewer widget in the mod info dialog to expand vertically 2018-09-30 16:04:28 -05:00
LostDragonist 2d50b17243 Fix pointer truncation to remove warning 2018-09-30 16:03:28 -05:00
LostDragonist 5a1d4e8783 Rename spacer to get remove warning 2018-09-30 16:03:27 -05:00
Al 478aeeb28c Merge pull request #536 from AnyOldName3/patch-1
Add link to upcoming FNISTool repo
2018-09-30 12:27:27 +02:00
Al 07fc9d3546 Merge pull request #537 from AnyOldName3/patch-2
Add link to Skyrim VR repo
2018-09-30 12:27:14 +02:00
Al12rs 15ab8d5c5e Changed "ignore missing game data" to not create an empty Texture folder and instead save the choice in meta.ini 2018-09-29 15:07:24 +02:00
Al12rs 192f14b001 Updated translations file 2018-09-29 12:10:41 +02:00
Al12rs 3ccceb19e1 Added .editorconfig to main repo to help keep some consistency of whitespace. 2018-09-29 09:38:03 +02:00
AnyOldName3 2d9a2a0432 Add link to Skyrim VR repo 2018-09-26 16:40:57 +01:00
AnyOldName3 ac650ae078 Add link to upcoming FNISTool repo
DO NOT MERGE UNTIL https://github.com/ModOrganizer2/modorganizer-umbrella/pull/31 IS HANDLED
2018-09-26 16:16:43 +01:00
LostDragonist 1a91174757 Merge pull request #534 from Gaerzi/patch-1
Extend version field to 12 characters
2018-09-25 14:28:46 -05:00
Gaerzi e2ec6632ec Extend version field to 12 characters
This is needed because some mods out there have version strings longer than 10 characters. For example, the current version string of [SSE Engine Fixes (skse64 plugin)](https://www.nexusmods.com/skyrimspecialedition/mods/17230) is "2.12.1.5.50" -- 11 characters in total.

12 should hopefully be enough.
2018-09-25 17:37:24 +02:00
LostDragonist b1a3bdd6e8 Automatically set CDN as a preferred server
This also removes the (free) and (premium) labels from the servers as they aren't useful anymore.  Premium users get premium speeds on all servers.  Added (automatic) tag to the CDN server to indicate it will automatically pick servers based on geography.
2018-09-17 00:01:12 -05:00
Al12rs 22a004be2e Reverted default setting tab to General 2018-09-15 19:18:29 +02:00
Al12rs a3cb400152 Store and load major dialogs geometry information. 2018-09-15 14:12:24 +02:00
Silarn 3e29d31231 Allow installs to pass Mod ID through (fixes NCC installs losing ID) 2018-09-09 04:12:23 -05:00
Al edf48bca6f Update readme.md 2018-09-08 13:08:06 +02:00
Al12rs 33e11e2056 Added debug line to check actual processed parameters passed to CreateProcessHooked() to see if we can discover somethig more on Parameter is incorrect error. 2018-09-08 12:32:45 +02:00
Al12rs 67fb7e56d3 Add option to create a Mod backup from the modlist context menu. 2018-09-07 22:04:03 +02:00
Al12rs 979206228d Added Mod Backups filter for modlist. 2018-09-07 20:53:42 +02:00
Al12rs ba162804cd Added Contains Script Extender Files filter. 2018-09-07 20:19:20 +02:00
Al12rs c6751b690a Improved Skript Extender Plugin filter to actually look for plugins and not only the SKSE folder. 2018-09-07 18:56:28 +02:00
Al12rs 138154aca0 Added "Refresh" button to downloads tab. 2018-08-31 22:16:13 +02:00
LostDragonist c576f1ff40 Refresh save game list when local game settings may have changed 2018-08-26 18:39:30 -05:00
Al12rs c4636d891f Added ModGroups contents icon and flag. 2018-08-25 14:30:27 +02:00
LostDragonist 8ea8444dc8 Update the version to 2.1.6 2018-08-24 19:50:46 -05:00
Brian Munro 2232bdfc77 Merge pull request #497 from Modorganizer2/Develop
Fix possible crash during write to disk error
2018-08-22 06:38:34 +02:00
LostDragonist 258bddb6b7 Fix possible crash during write to disk error 2018-08-21 15:59:22 -05:00
Brian Munro 364289db72 Merge pull request #495 from Modorganizer2/Develop
Release 2.1.5
2018-08-21 12:23:47 +02:00
LostDragonist ef771fd8ca Fix disabled menu item styling in Paper Dark theme 2018-08-20 00:55:18 -05:00
LostDragonist 2060df1585 Detect errors when writing downloads to disk and cancel download 2018-08-19 16:33:34 -05:00
LostDragonist 9a973ccf5f Center profile deletion dialog on parent 2018-08-19 13:02:54 -05:00
LostDragonist a2eb3e0266 Prevent user from deleting currently active profile 2018-08-19 13:02:30 -05:00
LostDragonist d65031c814 Allow user to cancel VFS mapping 2018-08-16 22:40:17 -05:00
LostDragonist c27e718fbd Add "enable/disable selected" to mod list context menu 2018-08-16 14:32:28 -05:00
LostDragonist 43b2df9077 Add "enable/disable selected" to plugin list context menu 2018-08-16 13:58:44 -05:00
LostDragonist 79b2e52a58 Fix another instance of "Open in Explorer" 2018-08-16 08:35:19 -05:00
LostDragonist 16a7ef78d3 Change version to 2.1.5 2018-08-16 08:19:05 -05:00
LostDragonist 74202cc743 Dracula theme: Make disabled widgets darker than enabled widgets
Fix by Kob, author of the Paper themes.
2018-08-16 01:29:01 -05:00
LostDragonist 8f86130759 Correct file category when manually querying info
The Nexus API appears to have been changed back in July 2018 to match what MO was expecting without the conversion.
2018-08-15 11:53:33 -05:00
LostDragonist 17e4ec7b13 Fix selecting the active profile when opening the profiles dialog 2018-08-12 19:59:54 -05:00
LostDragonist 9a426a2474 Revert "Improve robustness of endorsement checks"
This reverts commit fc8a6b358f.
2018-08-12 12:33:22 -05:00
LostDragonist 80594d6e1a Set toolbar widget names later to catch the problems and update widgets 2018-08-12 12:13:47 -05:00
Al12rs 56473e0ec8 Updated "Thanks". 2018-08-07 19:57:23 +02:00
LostDragonist 71988e386c Modify dark and dracula stylesheets to allow text colors on download widgets 2018-08-06 21:40:59 -05:00
LostDragonist 5e7c0fddf0 Update Paper themes by 6788-00 to version 3.0.1 2018-08-06 21:37:05 -05:00
Al12rs b0c15c9cfb Added Open File option to downloads tab. 2018-08-06 20:17:57 +02:00
Al12rs f92027bea6 Merge PR 2018-08-06 19:54:45 +02:00
Al a31b5495b8 Merge pull request #469 from Freso/minor-fixups
A couple of minor fixes
2018-08-06 16:13:18 +02:00
Frederik “Freso” S. Olesen fc19486f53 Fix capitalisation of "Explorer"
1. Explorer is a specific program, so it should be treated as a proper
   noun, and thus capitalised.
2. Other menu items in the same menu are Title Cases, so it looks out of
   place that this item is not.
2018-08-06 15:17:23 +02:00
Frederik “Freso” S. Olesen 232bbfb23b Fix DownloadManager::openInDownloadsFolder error message 2018-08-06 13:23:28 +02:00
Frederik “Freso” S. Olesen 2af99f2170 Clean up DownloadManager::openFile 2018-08-06 13:21:08 +02:00
Frederik “Freso” S. Olesen 796224d733 Add new "Open File" right-click dialog for Downloads
This enables the user to directly open the downloaded archived/file
which can be useful for e.g., inspection of what's inside or if they
need to copy files from inside the archive to somewhere else. Saves a
step compared to "Show in Folder" and then opening the file.
2018-08-06 12:21:02 +02:00
LostDragonist 1e4b5d2436 Set the names of the toolbar widgets to allow styling
QToolButton#foo where foo is one of:
  actionChange_Game
  actionInstallMod
  actionNexus
  actionAdd_Profile
  actionModify_Executables
  actionTool
  actionSettings
  seperator
  actionEndorseMO
  actionProblems
  actionUpdate
  actionHelp
2018-08-05 15:56:39 -05:00
LostDragonist 94ef8dffbc List load order backups from most recent to oldest 2018-08-04 22:16:39 -05:00
LePresidente 7b1821a518 Reverted bad commit, should of removed VS_FF_PRERELEASE 2018-08-04 11:24:49 +02:00
LePresidente fb0d4d5e5a use VER_FILEVERSION_STR instead of VER_FILEVERSION so pre-alpha is not shown 2018-08-04 10:35:56 +02:00
422 changed files with 69480 additions and 32261 deletions
+16
View File
@@ -0,0 +1,16 @@
root = true
[*.cpp]
indent_style = space
indent_size = 2
insert_final_newline = true
[*.h]
indent_style = space
indent_size = 2
insert_final_newline = true
[*.ui]
indent_style = space
indent_size = 2
insert_final_newline = true
-25
View File
@@ -1,25 +0,0 @@
# 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!
+10
View File
@@ -0,0 +1,10 @@
---
name: Dev Ticket
about: Reserved for development tasks and management.
title: ''
labels: Dev Ticket
assignees: ''
---
Task:
+20
View File
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: Feature Request
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.
+41
View File
@@ -0,0 +1,41 @@
---
name: Issue Report
about: Create an issue report.
title: ''
labels: issue report
assignees: ''
---
## The problem:
Briefly describe the issue you are experiencing. Tell us what you were trying to do and what happened instead. Remember, this is _not_ a place to ask questions. For that, go to our [discord channel](https://discord.gg/5tCqt6V)
## To Reproduce:
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
## 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 with more details and pictures.
## Link to Mod Organizer logs:
To access the log files you can press the Open folder icon over the modlist and select "Open MO2 Logs folder". You should close MO2 before sending or examining the logs as they are finished writing only after the program is closed.
### 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!
+25 -1
View File
@@ -1,15 +1,39 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12)
ADD_COMPILE_OPTIONS($<$<CXX_COMPILER_ID:MSVC>:/MP>)
ADD_COMPILE_OPTIONS(
$<$<CXX_COMPILER_ID:MSVC>:/MP>
$<$<CXX_COMPILER_ID:MSVC>:/D_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING>
$<$<CXX_COMPILER_ID:MSVC>:$<$<CONFIG:RELEASE>:/O2>>
$<$<CXX_COMPILER_ID:MSVC>:$<$<CONFIG:RELWITHDEBINFO>:/O2>>)
PROJECT(organizer)
# sets ModOrganizer as StartUp Project in Visual Studio
set_property(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" PROPERTY VS_STARTUP_PROJECT "ModOrganizer")
set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1)
set(CMAKE_INSTALL_MESSAGE NEVER)
SET(DEPENDENCIES_DIR CACHE PATH "")
# hint to find qt in dependencies path
LIST(APPEND CMAKE_PREFIX_PATH ${QT_ROOT}/lib/cmake)
LIST(APPEND CMAKE_PREFIX_PATH ${LZ4_ROOT}/dll)
LIST(APPEND CMAKE_PREFIX_PATH ${FMT_ROOT}/build)
ADD_SUBDIRECTORY(src)
set(vcxproj_user_file "${CMAKE_CURRENT_BINARY_DIR}/INSTALL.vcxproj.user")
if(NOT EXISTS ${vcxproj_user_file})
FILE(WRITE ${vcxproj_user_file}
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
"<Project ToolsVersion=\"Current\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n"
"<PropertyGroup>\n"
"<LocalDebuggerWorkingDirectory>${CMAKE_INSTALL_PREFIX}/bin</LocalDebuggerWorkingDirectory>\n"
"<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>"
"<LocalDebuggerCommand>${CMAKE_INSTALL_PREFIX}/bin/ModOrganizer.exe</LocalDebuggerCommand>\n"
"</PropertyGroup>\n"
"</Project>\n")
endif()
INSTALL(FILES dump_running_process.bat DESTINATION bin)
+32
View File
@@ -0,0 +1,32 @@
version: 1.0.{build}
skip_branch_with_pr: true
image: Visual Studio 2019
environment:
WEBHOOK_URL:
secure: gOKbXaZM9ImtMD5XrYITvdyZUW/az082G9OIN1EC1VYoNNsKROB4s6VsQiL6qbLNLc4XQhc8Y9DhdU9Hfh49vhypcjUEQmMsENxnp+1hYMJctTqIYDunVSd767eez5wz6rKHqk+XOHmg5gyVNCV9u4DVcCZJSVe4UTKn1lc47H0=
build:
parallel: true
build_script:
- cmd: >-
git clone --depth=1 --branch=%APPVEYOR_REPO_BRANCH% https://github.com/ModOrganizer2/modorganizer-umbrella.git c:\projects\modorganizer-umbrella 2> $null
mkdir c:\projects\modorganizer-build -type directory
cd c:\projects\modorganizer-umbrella
C:\Python37-x64\python.exe unimake.py -d c:\projects\modorganizer-build -s Appveyor_Build=True %APPVEYOR_PROJECT_NAME%
artifacts:
- path: build\src\ModOrganizer.exe
name: modorganizer_exe
- path: build\src\ModOrganizer.pdb
name: modorganizer_pdb
on_success:
- ps: Set-Location -Path $env:APPVEYOR_BUILD_FOLDER
- ps: Invoke-RestMethod https://raw.githubusercontent.com/DiscordHooks/appveyor-discord-webhook/master/send.ps1 -o send.ps1
- ps: ./send.ps1 success $env:WEBHOOK_URL
on_failure:
- ps: Set-Location -Path $env:APPVEYOR_BUILD_FOLDER
- ps: Push-AppveyorArtifact ${env:APPVEYOR_BUILD_FOLDER}\stdout.log
- ps: Push-AppveyorArtifact ${env:APPVEYOR_BUILD_FOLDER}\stderr.log
- ps: Invoke-RestMethod https://raw.githubusercontent.com/DiscordHooks/appveyor-discord-webhook/master/send.ps1 -o send.ps1
- ps: ./send.ps1 failure $env:WEBHOOK_URL
+2
View File
@@ -0,0 +1,2 @@
pushd "%~dp0"
start ModOrganizer.exe --crashdump
+45 -38
View File
@@ -1,3 +1,5 @@
[![Build status](https://ci.appveyor.com/api/projects/status/23qmd9rufv9vpmg7?svg=true)](https://ci.appveyor.com/project/Modorganizer2/modorganizer)
# 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.
@@ -20,7 +22,7 @@ Through the work of a few people of the community MO2 has come quite far, now it
## 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.
Credits to Tannin, LePresidente, Silarn, erasmux, AL12, LostDragonist, AnyOldName3 and many others for the development.
## Download Location
@@ -41,43 +43,48 @@ MO2 consists of multiple repositories on github. The Umbrella project will downl
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
* 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-fnistool
* https://github.com/ModOrganizer2/modorganizer-helper
* https://github.com/ModOrganizer2/modorganizer-game_enderal
* https://github.com/ModOrganizer2/modorganizer-game_fallout3
* https://github.com/ModOrganizer2/modorganizer-game_fallout4
* https://github.com/ModOrganizer2/modorganizer-game_fallout4vr
* https://github.com/ModOrganizer2/modorganizer-game_falloutnv
* https://github.com/ModOrganizer2/modorganizer-game_features
* https://github.com/ModOrganizer2/modorganizer-game_gamebryo
* https://github.com/ModOrganizer2/modorganizer-game_morrowind
* https://github.com/ModOrganizer2/modorganizer-game_oblivion
* https://github.com/ModOrganizer2/modorganizer-game_skyrim
* https://github.com/ModOrganizer2/modorganizer-game_skyrimSE
* https://github.com/ModOrganizer2/modorganizer-game_skyrimVR
* https://github.com/ModOrganizer2/modorganizer-game_ttw
* https://github.com/ModOrganizer2/modorganizer-installer_bain
* https://github.com/ModOrganizer2/modorganizer-installer_bundle
* https://github.com/ModOrganizer2/modorganizer-installer_fomod
* https://github.com/ModOrganizer2/modorganizer-installer_manual
* https://github.com/ModOrganizer2/modorganizer-installer_ncc
* https://github.com/ModOrganizer2/modorganizer-installer_quick
* https://github.com/ModOrganizer2/modorganizer-lootcli
* https://github.com/ModOrganizer2/modorganizer-NCC
* https://github.com/ModOrganizer2/modorganizer-nxmhandler
* https://github.com/ModOrganizer2/modorganizer-plugin_python
* https://github.com/ModOrganizer2/modorganizer-preview_base
* https://github.com/ModOrganizer2/modorganizer-preview_dds
* https://github.com/ModOrganizer2/modorganizer-form43_checker
* https://github.com/ModOrganizer2/modorganizer-script_extender_plugin_checker
* https://github.com/ModOrganizer2/modorganizer-tool_configurator
* https://github.com/ModOrganizer2/modorganizer-tool_inibakery
* https://github.com/ModOrganizer2/modorganizer-uibase
* https://github.com/ModOrganizer2/usvfs
### Unused Repositories
* https://github.com/Modorganizer2/modorganizer-hookdll
* https://github.com/ModOrganizer2/modorganizer-hookdll
* https://github.com/TanninOne/modorganizer-tool_nmmimport
+354 -52
View File
File diff suppressed because it is too large Load Diff
+5 -2
View File
@@ -20,6 +20,7 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
#include "aboutdialog.h"
#include "ui_aboutdialog.h"
#include "util.h"
#include <utility.h>
#include <QApplication>
@@ -85,6 +86,8 @@ AboutDialog::AboutDialog(const QString &version, QWidget *parent)
ui->revisionLabel->setText(ui->revisionLabel->text() + " unknown");
#endif
ui->usvfsLabel->setText(ui->usvfsLabel->text() + " " + MOShared::getUsvfsVersionString());
ui->licenseText->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont));
}
@@ -115,7 +118,7 @@ void AboutDialog::on_creditsList_currentItemChanged(QListWidgetItem *current, QL
}
}
void AboutDialog::on_copyrightText_linkActivated(const QString &link)
void AboutDialog::on_sourceText_linkActivated(const QString &link)
{
emit linkClicked(link);
}
}
+1 -1
View File
@@ -74,7 +74,7 @@ private:
private slots:
void on_creditsList_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
void on_copyrightText_linkActivated(const QString &link);
void on_sourceText_linkActivated(const QString &link);
private:
+102 -20
View File
@@ -104,6 +104,13 @@
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="usvfsLabel">
<property name="text">
<string>usvfs:</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
@@ -120,20 +127,43 @@
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string notr="true">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Copyright 2011-2016 Sebastian Herbord&lt;/p&gt;&lt;p&gt;Copyright 2016-2018 Mod Organizer 2 contributors&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
<string notr="true">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Copyright © 2011-2016 Sebastian Herbord&lt;br/&gt;Copyright © 2016-2019 Mod Organizer 2 Contributors&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="copyrightText">
<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;p&gt;Source code can be found at &lt;a href=&quot;https://github.com/Modorganizer2/modorganizer&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#007af4;&quot;&gt;GitHub&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
<string 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>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_4">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Minimum</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="LinkLabel" name="sourceText">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Source code can be found at &lt;a href=&quot;https://github.com/ModOrganizer2/modorganizer&quot;&gt;GitHub&lt;/a&gt;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="software">
@@ -157,7 +187,7 @@
<item row="0" column="0">
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Current Maintainers</string>
<string>Lead Developers &amp;&amp; Maintainers</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
@@ -175,21 +205,21 @@
<string notr="true">AL12</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Diana</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">erasmux</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Silarn</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">LostDragonist</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">isanae</string>
</property>
</item>
</widget>
</item>
</layout>
@@ -198,17 +228,32 @@
<item row="1" column="0">
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>Major Contributors</string>
<string>MO2 Developers &amp;&amp; Contributors</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_7" stretch="0">
<item>
<widget class="QListWidget" name="listWidget_2">
<widget class="QListWidget" name="listWidget_3">
<property name="selectionMode">
<enum>QAbstractItemView::NoSelection</enum>
</property>
<item>
<property name="text">
<string notr="true">AnyOldName3 (Python Plugins)</string>
<string notr="true">AnyOldName3</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">erasmux</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Project579</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">przester</string>
</property>
</item>
</widget>
@@ -221,9 +266,9 @@
<property name="title">
<string>Translators</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_6">
<layout class="QVBoxLayout" name="verticalLayout_61">
<item>
<widget class="QListWidget" name="listWidget_2">
<widget class="QListWidget" name="listWidget_4">
<property name="selectionMode">
<enum>QAbstractItemView::NoSelection</enum>
</property>
@@ -282,6 +327,16 @@
<string notr="true">pndrev (German)</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Xahtax (German)</string>
</property>
</item>
<item>
<property name="text">
<string>yohru (Japanese)</string>
</property>
</item>
<item>
<property name="text">
<string>Mordan (Greek)</string>
@@ -305,6 +360,11 @@
<string>Brgodfx (Portuguese)</string>
</property>
</item>
<item>
<property name="text">
<string>zDas (Portuguese)</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">tokcdk (Russian)</string>
@@ -327,7 +387,12 @@
</item>
<item>
<property name="text">
<string>...and all other Transifex contributors!</string>
<string>Nubbie (Swedish)</string>
</property>
</item>
<item>
<property name="text">
<string>...and all other contributors!</string>
</property>
<property name="toolTip">
<string/>
@@ -343,12 +408,17 @@
<property name="title">
<string>Other Supporters &amp;&amp; Contributors</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_7">
<layout class="QVBoxLayout" name="verticalLayout_71">
<item>
<widget class="QListWidget" name="listWidget">
<property name="selectionMode">
<enum>QAbstractItemView::NoSelection</enum>
</property>
<item>
<property name="text">
<string>Tannin (Original Creator)</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">blacksol</string>
@@ -404,6 +474,11 @@
<string notr="true">outdatedtv</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">reedts</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">Schilduin</string>
@@ -471,6 +546,13 @@
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>LinkLabel</class>
<extends>QLabel</extends>
<header location="global">linklabel.h</header>
</customwidget>
</customwidgets>
<resources>
<include location="resources.qrc"/>
</resources>
+100
View File
@@ -0,0 +1,100 @@
#include "apiuseraccount.h"
QString localizedUserAccountType(APIUserAccountTypes t)
{
switch (t)
{
case APIUserAccountTypes::Regular:
return QObject::tr("Regular");
case APIUserAccountTypes::Premium:
return QObject::tr("Premium");
case APIUserAccountTypes::None: // fall-through
default:
return QObject::tr("None");
}
}
APIUserAccount::APIUserAccount()
: m_type(APIUserAccountTypes::None)
{
}
bool APIUserAccount::isValid() const
{
return !m_key.isEmpty();
}
const QString& APIUserAccount::apiKey() const
{
return m_key;
}
const QString& APIUserAccount::id() const
{
return m_id;
}
const QString& APIUserAccount::name() const
{
return m_name;
}
APIUserAccountTypes APIUserAccount::type() const
{
return m_type;
}
const APILimits& APIUserAccount::limits() const
{
return m_limits;
}
APIUserAccount& APIUserAccount::apiKey(const QString& key)
{
m_key = key;
return *this;
}
APIUserAccount& APIUserAccount::id(const QString& id)
{
m_id = id;
return *this;
}
APIUserAccount& APIUserAccount::name(const QString& name)
{
m_name = name;
return *this;
}
APIUserAccount& APIUserAccount::type(APIUserAccountTypes type)
{
m_type = type;
return *this;
}
APIUserAccount& APIUserAccount::limits(const APILimits& limits)
{
m_limits = limits;
return *this;
}
int APIUserAccount::remainingRequests() const
{
return std::max(
m_limits.remainingDailyRequests,
m_limits.remainingHourlyRequests);
}
bool APIUserAccount::shouldThrottle() const
{
return (remainingRequests() < ThrottleThreshold);
}
bool APIUserAccount::exhausted() const
{
return isValid() && (remainingRequests() <= 0);
}
+146
View File
@@ -0,0 +1,146 @@
#ifndef APIUSERACCOUNT_H
#define APIUSERACCOUNT_H
#include <QString>
/**
* represents user account types on a mod provider website such as nexus
*/
enum class APIUserAccountTypes
{
// not logged in
None = 0,
// regular account
Regular,
// premium account
Premium
};
QString localizedUserAccountType(APIUserAccountTypes t);
/**
* current limits imposed on the user account
**/
struct APILimits
{
// maximum number of requests per day
int maxDailyRequests = 0;
// remaining number of requests today
int remainingDailyRequests = 0;
// maximum number of requests per hour
int maxHourlyRequests = 0;
// remaining number of requests this hour
int remainingHourlyRequests = 0;
};
/**
* API statistics
*/
struct APIStats
{
// number of API requests currently queued
int requestsQueued = 0;
};
/**
* represents a user account on the mod provider website
*/
class APIUserAccount
{
public:
// when the number of remaining requests is under this number, further
// requests will be throttled by avoiding non-critical ones
static const int ThrottleThreshold = 200;
APIUserAccount();
/**
* whether the user is logged in
*/
bool isValid() const;
/**
* api key
*/
const QString& apiKey() const;
/**
* user id
*/
const QString& id() const;
/**
* user name
*/
const QString& name() const;
/**
* account type
*/
APIUserAccountTypes type() const;
/**
* current API limits
*/
const APILimits& limits() const;
/**
* sets the api key
*/
APIUserAccount& apiKey(const QString& key);
/**
* sets the user id
*/
APIUserAccount& id(const QString& id);
/**
* sets the user name
**/
APIUserAccount& name(const QString& name);
/**
* sets the account type
*/
APIUserAccount& type(APIUserAccountTypes type);
/**
* sets the current limits
*/
APIUserAccount& limits(const APILimits& limits);
/**
* returns the number of remaining requests
*/
int remainingRequests() const;
/**
* whether the number of remaining requests is low enough that further
* requests should be throttled
*/
bool shouldThrottle() const;
/**
* true if all the remaining requests have been used and the API will refuse
* further requests
*/
bool exhausted() const;
private:
QString m_key, m_id, m_name;
APIUserAccountTypes m_type;
APILimits m_limits;
};
#endif // APIUSERACCOUNT_H
+11 -10
View File
@@ -18,13 +18,13 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
*/
#include "bbcode.h"
#include <log.h>
#include <QRegExp>
#include <map>
namespace BBCode {
namespace log = MOBase::log;
class BBCodeMap {
@@ -88,7 +88,7 @@ public:
return temp.replace(tagIter->second.first, QString("<font style=\"color: #%1;\">%2</font>").arg(color, content));
}
} else {
qWarning("don't know how to deal with tag %s", qPrintable(tagName));
log::warn("don't know how to deal with tag {}", tagName);
}
} else {
if (tagName == "*") {
@@ -99,8 +99,7 @@ public:
} else {
// expression doesn't match. either the input string is invalid
// or the expression is
qWarning("%s doesn't match the expression for %s",
temp.toUtf8().constData(), tagName.toUtf8().constData());
log::warn("{} doesn't match the expression for {}", temp, tagName);
length = 0;
return QString();
}
@@ -137,11 +136,13 @@ private:
m_TagMap["center"] = std::make_pair(QRegExp("\\[center\\](.*)\\[/center\\]"),
"<div align=\"center\">\\1</div>");
m_TagMap["quote"] = std::make_pair(QRegExp("\\[quote\\](.*)\\[/quote\\]"),
"<blockquote>\"\\1\"</blockquote>");
"<figure class=\"quote\"><blockquote>\\1</blockquote></figure>");
m_TagMap["quote="] = std::make_pair(QRegExp("\\[quote=([^\\]]*)\\](.*)\\[/quote\\]"),
"<blockquote>\"\\2\"<br/><span>--\\1</span></blockquote></p>");
"<figure class=\"quote\"><blockquote>\\2</blockquote></figure>");
m_TagMap["spoiler"] = std::make_pair(QRegExp("\\[spoiler\\](.*)\\[/spoiler\\]"),
"<details><summary>Spoiler: <div class=\"bbc_spoiler_show\">Show</div></summary><div class=\"spoiler_content\">\\1</div></details>");
m_TagMap["code"] = std::make_pair(QRegExp("\\[code\\](.*)\\[/code\\]"),
"<pre>\\1</pre>");
"<code>\\1</code>");
m_TagMap["heading"]= std::make_pair(QRegExp("\\[heading\\](.*)\\[/heading\\]"),
"<h2><strong>\\1</strong></h2>");
m_TagMap["line"] = std::make_pair(QRegExp("\\[line\\]"),
@@ -174,14 +175,14 @@ private:
"<a href=\"\\1\">\\1</a>");
m_TagMap["url="] = std::make_pair(QRegExp("\\[url=([^\\]]*)\\](.*)\\[/url\\]"),
"<a href=\"\\1\">\\2</a>");
m_TagMap["img"] = std::make_pair(QRegExp("\\[img\\](.*)\\[/img\\]"),
m_TagMap["img"] = std::make_pair(QRegExp("\\[img(?:\\s*width=\\d+\\s*,?\\s*height=\\d+)?\\](.*)\\[/img\\]"),
"<img src=\"\\1\">");
m_TagMap["img="] = std::make_pair(QRegExp("\\[img=([^\\]]*)\\](.*)\\[/img\\]"),
"<img src=\"\\2\" alt=\"\\1\">");
m_TagMap["email="] = std::make_pair(QRegExp("\\[email=\"?([^\\]]*)\"?\\](.*)\\[/email\\]"),
"<a href=\"mailto:\\1\">\\2</a>");
m_TagMap["youtube"] = std::make_pair(QRegExp("\\[youtube\\](.*)\\[/youtube\\]"),
"<a href=\"http://www.youtube.com/v/\\1\">http://www.youtube.com/v/\\1</a>");
"<a href=\"https://www.youtube.com/watch?v=\\1\">https://www.youtube.com/watch?v=\\1</a>");
// make all patterns non-greedy and case-insensitive
+12 -11
View File
@@ -24,9 +24,10 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
#include "messagedialog.h"
#include "report.h"
#include "persistentcookiejar.h"
#include "settings.h"
#include <utility.h>
#include "settings.h"
#include <log.h>
#include <QWebEngineSettings>
#include <QNetworkCookieJar>
@@ -35,9 +36,9 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
#include <QInputDialog>
#include <QWebEngineHistory>
#include <QDir>
#include <QDesktopWidget>
#include <QKeyEvent>
using namespace MOBase;
BrowserDialog::BrowserDialog(QWidget *parent)
@@ -48,7 +49,7 @@ BrowserDialog::BrowserDialog(QWidget *parent)
ui->setupUi(this);
m_AccessManager->setCookieJar(new PersistentCookieJar(
QDir::fromNativeSeparators(Settings::instance().getCacheDirectory() + "/cookies.dat")));
QDir::fromNativeSeparators(Settings::instance().paths().cache() + "/cookies.dat")));
Qt::WindowFlags flags = windowFlags() | Qt::WindowMaximizeButtonHint | Qt::WindowMinimizeButtonHint;
Qt::WindowFlags helpFlag = Qt::WindowContextHelpButtonHint;
@@ -71,7 +72,7 @@ BrowserDialog::~BrowserDialog()
void BrowserDialog::closeEvent(QCloseEvent *event)
{
// m_AccessManager->showCookies();
Settings::instance().geometry().saveGeometry(this);
QDialog::closeEvent(event);
}
@@ -125,6 +126,7 @@ void BrowserDialog::urlChanged(const QUrl &url)
void BrowserDialog::openUrl(const QUrl &url)
{
if (isHidden()) {
Settings::instance().geometry().restoreGeometry(this);
show();
}
openInNewTab(url);
@@ -138,9 +140,8 @@ void BrowserDialog::maximizeWidth()
int contentWidth = getCurrentView()->page()->contentsSize().width();
QDesktopWidget screen;
int currentScreen = screen.screenNumber(this);
int screenWidth = screen.screenGeometry(currentScreen).size().width();
QScreen* screen = this->window()->windowHandle()->screen();
int screenWidth = screen->geometry().size().width();
int targetWidth = std::min<int>(std::max<int>(viewportWidth, contentWidth) + frameWidth, screenWidth);
this->resize(targetWidth, height());
@@ -192,12 +193,12 @@ void BrowserDialog::unsupportedContent(QNetworkReply *reply)
try {
QWebEnginePage *page = qobject_cast<QWebEnginePage*>(sender());
if (page == nullptr) {
qCritical("sender not a page");
log::error("sender not a page");
return;
}
BrowserView *view = qobject_cast<BrowserView*>(page->view());
if (view == nullptr) {
qCritical("no view?");
log::error("no view?");
return;
}
@@ -206,14 +207,14 @@ void BrowserDialog::unsupportedContent(QNetworkReply *reply)
if (isVisible()) {
MessageDialog::showMessage(tr("failed to start download"), this);
}
qCritical("exception downloading unsupported content: %s", e.what());
log::error("exception downloading unsupported content: {}", e.what());
}
}
void BrowserDialog::downloadRequested(const QNetworkRequest &request)
{
qCritical("download request %s ignored", request.url().toString().toUtf8().constData());
log::error("download request {} ignored", request.url().toString());
}
+49 -13
View File
@@ -21,6 +21,7 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
#include <utility.h>
#include <report.h>
#include <log.h>
#include <QObject>
#include <QFile>
@@ -61,8 +62,9 @@ void CategoryFactory::loadCategories()
++lineNum;
QList<QByteArray> cells = line.split('|');
if (cells.count() != 4) {
qCritical("invalid category line %d: %s (%d cells)",
lineNum, line.constData(), cells.count());
log::error(
"invalid category line {}: {} ({} cells)",
lineNum, line.constData(), cells.count());
} else {
std::vector<int> nexusIDs;
if (cells[2].length() > 0) {
@@ -72,7 +74,7 @@ void CategoryFactory::loadCategories()
bool ok = false;
int temp = iter->toInt(&ok);
if (!ok) {
qCritical("invalid id %s", iter->constData());
log::error("invalid category id {}", iter->constData());
}
nexusIDs.push_back(temp);
}
@@ -82,8 +84,7 @@ void CategoryFactory::loadCategories()
int id = cells[0].toInt(&cell0Ok);
int parentID = cells[3].trimmed().toInt(&cell3Ok);
if (!cell0Ok || !cell3Ok) {
qCritical("invalid category line %d: %s",
lineNum, line.constData());
log::error("invalid category line {}: {}", lineNum, line.constData());
}
addCategory(id, QString::fromUtf8(cells[1].constData()), nexusIDs, parentID);
}
@@ -268,7 +269,7 @@ void CategoryFactory::loadDefaultCategories()
int CategoryFactory::getParentID(unsigned int index) const
{
if (index >= m_Categories.size()) {
throw MyException(QObject::tr("invalid index %1").arg(index));
throw MyException(QObject::tr("invalid category index: %1").arg(index));
}
return m_Categories[index].m_ParentID;
@@ -294,7 +295,7 @@ bool CategoryFactory::isDecendantOf(int id, int parentID) const
return isDecendantOf(m_Categories[index].m_ParentID, parentID);
}
} else {
qWarning("%d is no valid category id", id);
log::warn("{} is no valid category id", id);
return false;
}
}
@@ -303,7 +304,7 @@ bool CategoryFactory::isDecendantOf(int id, int parentID) const
bool CategoryFactory::hasChildren(unsigned int index) const
{
if (index >= m_Categories.size()) {
throw MyException(QObject::tr("invalid index %1").arg(index));
throw MyException(QObject::tr("invalid category index: %1").arg(index));
}
return m_Categories[index].m_HasChildren;
@@ -313,17 +314,52 @@ bool CategoryFactory::hasChildren(unsigned int index) const
QString CategoryFactory::getCategoryName(unsigned int index) const
{
if (index >= m_Categories.size()) {
throw MyException(QObject::tr("invalid index %1").arg(index));
throw MyException(QObject::tr("invalid category index: %1").arg(index));
}
return m_Categories[index].m_Name;
}
QString CategoryFactory::getSpecialCategoryName(SpecialCategories type) const
{
QString label;
switch (type)
{
case Checked: label = QObject::tr("Active"); break;
case UpdateAvailable: label = QObject::tr("Update available"); break;
case HasCategory: label = QObject::tr("Has category"); break;
case Conflict: label = QObject::tr("Conflicted"); break;
case Endorsed: label = QObject::tr("Endorsed"); break;
case Backup: label = QObject::tr("Has backup"); break;
case Managed: label = QObject::tr("Managed"); break;
case HasGameData: label = QObject::tr("Has valid game data"); break;
case HasNexusID: label = QObject::tr("Has Nexus ID"); break;
case Tracked: label = QObject::tr("Tracked on Nexus"); break;
default: return {};
}
return QString("<%1>").arg(label);
}
QString CategoryFactory::getCategoryNameByID(int id) const
{
auto itor = m_IDMap.find(id);
if (itor == m_IDMap.end()) {
return getSpecialCategoryName(static_cast<SpecialCategories>(id));
} else {
const auto index = itor->second;
if (index >= m_Categories.size()) {
return {};
}
return m_Categories[index].m_Name;
}
}
int CategoryFactory::getCategoryID(unsigned int index) const
{
if (index >= m_Categories.size()) {
throw MyException(QObject::tr("invalid index %1").arg(index));
throw MyException(QObject::tr("invalid category index: %1").arg(index));
}
return m_Categories[index].m_ID;
@@ -334,7 +370,7 @@ int CategoryFactory::getCategoryIndex(int ID) const
{
std::map<int, unsigned int>::const_iterator iter = m_IDMap.find(ID);
if (iter == m_IDMap.end()) {
throw MyException(QObject::tr("invalid category id %1").arg(ID));
throw MyException(QObject::tr("invalid category id: %1").arg(ID));
}
return iter->second;
}
@@ -359,10 +395,10 @@ unsigned int CategoryFactory::resolveNexusID(int nexusID) const
{
std::map<int, unsigned int>::const_iterator iter = m_NexusMap.find(nexusID);
if (iter != m_NexusMap.end()) {
qDebug("nexus category id %d maps to internal %d", nexusID, iter->second);
log::debug("nexus category id {} maps to internal {}", nexusID, iter->second);
return iter->second;
} else {
qDebug("nexus category id %d not mapped", nexusID);
log::debug("nexus category id {} not mapped", nexusID);
return 0U;
}
}
+15 -13
View File
@@ -37,21 +37,21 @@ class CategoryFactory {
friend class CategoriesDialog;
public:
static const int CATEGORY_NONE = 0;
static const int CATEGORY_SPECIAL_FIRST = 10000;
static const int CATEGORY_SPECIAL_CHECKED = CATEGORY_SPECIAL_FIRST;
static const int CATEGORY_SPECIAL_UNCHECKED = 10001;
static const int CATEGORY_SPECIAL_UPDATEAVAILABLE = 10002;
static const int CATEGORY_SPECIAL_NOCATEGORY = 10003;
static const int CATEGORY_SPECIAL_CONFLICT = 10004;
static const int CATEGORY_SPECIAL_NOTENDORSED = 10005;
static const int CATEGORY_SPECIAL_MANAGED = 10006;
static const int CATEGORY_SPECIAL_UNMANAGED = 10007;
enum SpecialCategories
{
Checked = 10000,
UpdateAvailable,
HasCategory,
Conflict,
Endorsed,
Backup,
Managed,
HasGameData,
HasNexusID,
Tracked
};
public:
struct Category {
Category(int sortValue, int id, const QString &name, const std::vector<int> &nexusIDs, int parentID)
: m_SortValue(sortValue), m_ID(id), m_Name(name), m_HasChildren(false),
@@ -140,6 +140,8 @@ public:
* @return QString name of the category
**/
QString getCategoryName(unsigned int index) const;
QString getSpecialCategoryName(SpecialCategories type) const;
QString getCategoryNameByID(int id) const;
/**
* @brief look up the id of a category by its index
+7
View File
@@ -21,6 +21,7 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
#include "ui_categoriesdialog.h"
#include "categories.h"
#include "utility.h"
#include "settings.h"
#include <QItemDelegate>
#include <QRegExpValidator>
#include <QLineEdit>
@@ -109,6 +110,12 @@ CategoriesDialog::~CategoriesDialog()
delete ui;
}
int CategoriesDialog::exec()
{
GeometrySaver gs(Settings::instance(), this);
return QDialog::exec();
}
void CategoriesDialog::cellChanged(int row, int)
{

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