Compare commits

...
1616 Commits
Author SHA1 Message Date
pre-commit-ci[bot] efe2a02d5d [pre-commit.ci] Pre-commit autoupdate. (#2421)
updates:
- [github.com/pre-commit/mirrors-clang-format: v22.1.2 → v22.1.5](https://github.com/pre-commit/mirrors-clang-format/compare/v22.1.2...v22.1.5)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-07-08 15:58:05 +02:00
Mikaël Capelle a931277b2b Update VCPKG registries to use 7z 26.01. (#2413) 2026-06-22 20:20:18 +02:00
Mikaël Capelle 4907704797 Send local saves to recycle bin when switching from global to local saves instead of deleting them directly. (#2401) 2026-06-06 09:28:12 +02:00
Jonathan Feenstra c097670b09 Update about dialog (#2400) 2026-05-23 10:28:27 -05:00
Jeremy Rimpo a329ce59ac Translation file updates 2026-05-21 23:53:44 -05:00
Jeremy Rimpo 7a4bb3652e Restore tutorials 2026-05-17 02:29:21 -05:00
Jonathan Feenstra ab38cf0e05 Improve code for reading text files line-by-line 2026-05-17 02:28:30 -05:00
Jeremy Rimpo 0c95bf22e6 Add app.manifest to set longPathAware 2026-05-17 02:25:59 -05:00
Jonathan Feenstra 55de581ee9 Add setting to show notifications when downloads complete or fail (#2338) 2026-05-15 02:23:09 -05:00
Jeremy Rimpo 6748953d35 Use new Nexus Tools location for MO2 2026-05-15 02:00:05 -05:00
Jonathan Feenstra 22b1695701 Install manager metadata updates
* Fix missing author and uploader when installing mods
* Refactor doInstall parameters into a struct
2026-05-14 01:43:46 -05:00
3efaf7c946 Migrating to OAuth Authentication (#2374)
Co-authored-by: aglowinthefield <146008217+aglowinthefield@users.noreply.github.com>
Co-authored-by: Jonathan Feenstra <26406078+JonathanFeenstra@users.noreply.github.com>
2026-05-12 13:50:45 -05:00
Jeremy Rimpo 41ffb25c03 Use filesystem paths with BSATK input / output (#2391) 2026-05-07 15:46:47 -05:00
9c6f48a440 Stable DownloadId refactor (#2375)
* Encapsulate the downloads directory watcher in DirWatcherManager

QFileSystemWatcher suppression currently relies on public static start/end
methods and a static counter. Seven call sites pair them raw, one of them
outside the class. Any exception between a pair permanently disables the
watcher, and the static counter implies a singleton DownloadManager.

A new DirWatcherManager owns the watcher, the counter (now an instance
member), and the filtering. The only way to suspend is an RAII Guard
obtained via a scopedGuard() factory. All raw pairs migrate to guards. A
TODO flags the existing processEvents() in the dtor as a known reentrancy
hazard worth replacing later.

* Replace aboutToUpdate/update(int) with ModelResetGuard

Replace the fragile two-signal protocol with a refcounted RAII
ModelResetGuard. Split update(int) into aboutToResetModel/modelReset
(guard only) and rowChanged(int); notifyRowChanged() is suppressed while
a reset is active.

Fixes "beginResetModel without endResetModel" warnings from three sites
in downloadFinished/removeDownload that were pairing reset with a row
update. removePending only opens a guard when an actual match is removed.

* Centralize row notifications in setState and fix missed emits

setState emits notifyRowChanged itself, uses indexByInfo (-1 when
untracked), and re-looks up the row at each use so reply->abort() and
plugin callbacks that re-enter and erase info don't produce stale
signals.

Remove the trailing emit loop from createMetaFile and the now-redundant
notifyRowChanged calls scattered after setState. Add the two missing
emits in restoreDownload (after m_Hidden) and metaDataChanged (after
rename). Guard downloadFinished with a top-level DirWatcherGuard to
prevent filesystem events from its writes racing with model updates.

* Fix comma operator in addNXMDownload pending-dedup check

The game-name comparison result was discarded by the comma operator,
so the dedup only matched modId/fileId across all games.

* Fix lost finished() signal on fast downloads

Hoist the file-exists prompt out of startDownload so setup is straight-line.
Connect finished() last and dispatch manually if the reply already finished.

* Fix memory leak in DownloadInfo::createFromMeta

Move the allocation past the early-return checks so path-mismatch and
hidden-skip paths no longer leak a fresh DownloadInfo.

* Sanitize suffix path in getDownloadFileName

The collision-avoidance branch was using the raw baseName, so invalid
characters sanitized out of the initial path leaked into the suffixed one.

* [pre-commit.ci] Auto fixes from pre-commit.com hooks.

* Remove unused alphabetical translation vector

m_AlphabeticalTranslation was written but never read; drop it along with
refreshAlphabeticalTranslation, ByName, and the LessThanWrapper helper.

* Address PR feedback: fix redundant check and move refresh outside try catch.

* Coalesce the removeDownload reset with the following refreshList

Moves the ModelResetGuard out of the try-catch so it also wraps the
refreshList() call below. Without this, one reset fires when the guard
destructs at the end of the try block and another fires from
refreshList's own guard, producing two resets where one is sufficient.

* Guard the .meta creation in openMetaFile against the directory watcher

openMetaFile creates the .meta file via QSettings when one does not
exist; the disk write fires directoryChanged and triggers a spurious
refreshList. Wrap it in a DirWatcherManager::Guard like the other
meta-file editing paths.

* Extract getValidGameShortName method in download manager (#2380)

* Add stable download id index and PendingDownload struct

Replace the (game, mod, file) tuple backing m_PendingDownloads with a
named struct, and add m_ByID as an O(1) m_DownloadID-to-info index kept
in sync with every m_ActiveDownloads mutation. Encapsulate the id
counter behind DownloadInfo::newDownloadID(), the only supported way to
consume from s_NextDownloadID.

Infrastructure only; external behaviour is unchanged.

* Return stable ids from the plugin-facing download API

startDownloadURLs / startDownloadNexusFile / addNXMDownload now reserve
and return m_DownloadID instead of a stale index. Plugin callbacks fire
with m_DownloadID; downloadPath looks up via m_ByID. nxmDownloadURLsAvailable
threads the reserved id into the materializing DownloadInfo, and Nexus
API failures wake waiting plugins via notifyPendingDownloadFailed.

Incidental: startDownload now returns bool and frees newDownload on
output-open failure; createMetaFile is deferred past that check so
failed starts no longer leave an orphan .meta.

* Split downloadFinished into onReplyFinished slot and finishDownload

The old dual-use downloadFinished(int = 0) took either an explicit index
or relied on sender() when called as a slot. Split into a sender-resolved
slot and an id-based direct call, removing the ambiguous index-zero path.

* Introduce DownloadID alias and row/id accessors

Add a DownloadID type alias for the stable per-download handle and two
public accessors (downloadIDAtRow, rowForDownloadID) so callers can
translate between the view's row vocabulary and the model's id
vocabulary without reaching into the manager's internals. DownloadList
now embeds the DownloadID in QModelIndex::internalId() so any code
holding an index can identify the download directly.

* Convert cancel/pause/resume action methods to take DownloadID

The four methods (cancel, pause, resume, resumeDownloadInt) now accept
a DownloadID, resolve through m_ByID, and no longer care about row
positions. Internal callers iterate DownloadInfo* or look up via id;
DownloadsTab translates row -> id at the connect boundary so the
view's int-shaped signals keep working unchanged.

Also switches the remaining unsigned int signatures that refer to the
download id (finishDownload, downloadInfoByID, PendingDownload::reservedID,
m_ByID, newDownloadID, s_NextDownloadID) to the DownloadID alias.

Drive-by fix: finishDownload's retry branch could read info->m_Tries
after info had been deleted in the CANCELED/retries-exhausted branch
above; now re-resolves via m_ByID.value(id) before touching any fields.

* [pre-commit.ci] Auto fixes from pre-commit.com hooks.

* fix warnings about unused variables and size_t types

* cleanup dead code

* avoid calling processEvents when releasing the DirWatcherGuard

* [pre-commit.ci] Auto fixes from pre-commit.com hooks.

* use QEventLoop instead of manual ProcessEvents

* don't call processEvents in download started and defer handling finish state in event loop

* Cleanup pending download in case of failure.

* Add missing notifyPendingDownloadFailed if user cancels

* [pre-commit.ci] Auto fixes from pre-commit.com hooks.

* Refactor pending download failure handling and cover rename failures

* fix rebase bug, addNXMDownload not returning the correct type

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Feenstra <26406078+JonathanFeenstra@users.noreply.github.com>
2026-05-07 17:38:51 +02:00
Jonathan Feenstra 3070a60ab7 Don't apply LOOT-sorted load order until user clicks "Apply" (#2382)
* Add sorted plugin list to LOOT dialog (markdown and button)
* Prefix plugins with checkboxes to show whether they're enabled
2026-05-06 12:51:17 -05:00
Jeremy Rimpo 6d02ef2b75 Defer second nxmhandler call (#2390)
- Calls run in parallel leading to extraneous setup dialogs
- This only calls the nxm schema registration after modl is done
2026-05-06 11:08:57 -05:00
Jeremy Rimpo f5d89ad625 Download command: Add game instance check (#2388)
* Add game instance check
- Should be ignored if not passed to command
- Functions much like NXM game check
2026-05-04 16:40:32 -05:00
Al ca7a149874 Improve mod update check accuracy (#2385)
* Index API response into lookup maps

* extract new findLatestActiveSuccessor method from update check function

* extract method to check if a file is active

* use new isActiveFileStatus in modInfoRegular

* fix bug when merging during mod install

* remember ordering of installed nexus file ids

* refactor update check logic to prioritize Nexus file IDs over filenames

* refactor nxmUpdatesAvailable to simplify update checking logic

* refactor update check logic to find Nexus file IDs by filename and streamline successor retrieval

* refactor update checking to streamline version resolution and improve successor retrieval
2026-05-03 21:47:20 -05:00
Jeremy Rimpo ef7499aade Extended MODL / direct download handling (#2384)
* Extended MODL / direct download handling
- name, modname, version, and source options added to download command
- nxmhandler init adds schemas and MODL entry with default launch args
- Add MODL register button to general tab
- On window display, call meta function to trigger both registrations
2026-05-03 03:04:49 -05:00
Jeremy Rimpo 2e393aa3cc Handle Nexus collections links (#2383)
- Pops up dialog when the NXM link is a collection
- Collection link data available, though still unsupported
2026-05-02 10:45:09 -05:00
Mick dc420a258a Change IconDelegate::paintIcons to only execute when iconWidth > 0 (#2362) 2026-04-27 08:58:17 +02:00
Jonathan Feenstra 49da80c2a4 Make command-line arguments -i "" launch the portable instance (#2341) 2026-04-27 08:57:00 +02:00
Al f80ad0435c fix crash when CWD is not set to app directory (#2379) 2026-04-26 21:43:16 -05:00
Jeremy Rimpo 925bade315 Disabling tutorials (#2366) 2026-04-17 10:17:59 +02:00
Jonathan Feenstra 9deaf71362 Add more contributors to the about dialog (#2369) 2026-04-17 10:17:11 +02:00
Jeremy Rimpo 3a5140bb8f Starfield: Updated blueprint / blueprint prefix support (#2368)
* Add blueprint handling with blueprintships

* Blueprint changes
- Add tooltips
- Add warnings
- Handle blueprint prefixes properly

* Make sure we're assigning the property
2026-04-16 10:20:50 -05:00
Jeremy Rimpo 05593c0347 Update libloot dll name in sanity check (#2370) 2026-04-16 10:17:13 -05:00
Jeremy Rimpo ca4e81ca86 Removing references to openssl (#2367) 2026-04-16 14:09:53 +02:00
Jeremy Rimpo 6bd8bcc239 Update vcpkg targets (#2365) 2026-04-15 09:59:11 +02:00
Mick 7528d023c4 fix header guard typos (#2364) 2026-04-15 09:27:38 +02:00
pre-commit-ci[bot] 662f033295 [pre-commit.ci] Pre-commit autoupdate. (#2357)
* [pre-commit.ci] Pre-commit autoupdate.

updates:
- [github.com/pre-commit/mirrors-clang-format: v21.1.8 → v22.1.2](https://github.com/pre-commit/mirrors-clang-format/compare/v21.1.8...v22.1.2)

* [pre-commit.ci] Auto fixes from pre-commit.com hooks.

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-04-09 13:16:16 +02:00
Jonathan Feenstra 2043d9931c Remove "Categories: " tooltips when there are no categories (#2339) 2026-02-18 19:48:12 +01:00
Jonathan Feenstra 4da0bffeee Add instance manager to plugin API (#2335) 2026-02-08 10:08:10 +01:00
Jonathan Feenstra a394f02e97 Add executables list to plugin API (#2327) 2026-01-31 16:49:46 +01:00
Jonathan Feenstra aa44561e86 Change IOrganizer::profile return type to a shared_ptr (#2322) 2026-01-11 17:31:26 +01:00
Jonathan Feenstra 717b5ac389 Add instanceName and profiles methods to plugin API (#2321) 2026-01-11 12:36:07 +01:00
pre-commit-ci[bot] 1505519ecd [pre-commit.ci] Pre-commit autoupdate. (#2320)
updates:
- [github.com/pre-commit/mirrors-clang-format: v21.1.2 → v21.1.8](https://github.com/pre-commit/mirrors-clang-format/compare/v21.1.2...v21.1.8)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-01-05 19:38:47 +01:00
Jonathan Feenstra e5ac1cc82d Add executable setting to minimize MO2 to the system tray while running (#2313) 2026-01-03 15:48:06 +01:00
Mikaël Capelle d5bd9603c6 Add missing Qt dependencies in CI. (#2317) 2026-01-03 14:49:24 +01:00
pre-commit-ci[bot] cc78137eb5 [pre-commit.ci] Pre-commit autoupdate. (#2295)
updates:
- [github.com/pre-commit/pre-commit-hooks: v5.0.0 → v6.0.0](https://github.com/pre-commit/pre-commit-hooks/compare/v5.0.0...v6.0.0)
- [github.com/pre-commit/mirrors-clang-format: v20.1.7 → v21.1.2](https://github.com/pre-commit/mirrors-clang-format/compare/v20.1.7...v21.1.2)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-10-07 15:01:47 +02:00
itch 8016e77723 fix(qt): remove obsolete call to AA_EnableHighDpiScaling (#2283) 2025-09-15 09:40:50 +02:00
Mikaël Capelle b77b2722b7 Fix an issue with implementation of CombinedModDataContent. (#2278) 2025-09-03 10:13:06 +02:00
Jonathan Feenstra d52fcccb83 Add author and uploader columns to mod list (#2269) 2025-08-18 07:55:52 +02:00
Mikaël Capelle 6c64236e2e Allow non-cache build in CI when Azure variables are not available. (#2270) 2025-08-17 12:32:23 +02:00
pre-commit-ci[bot] 95b9ab2e45 [pre-commit.ci] Pre-commit autoupdate. (#2258)
updates:
- [github.com/pre-commit/mirrors-clang-format: v19.1.5 → v20.1.7](https://github.com/pre-commit/mirrors-clang-format/compare/v19.1.5...v20.1.7)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-07-08 07:50:31 +02:00
Mikaël Capelle 28e712c8a3 Add version of MO2 plugin loaded in logs. (#2252) 2025-06-06 15:06:11 +02:00
Mikaël Capelle 87d0f2eeb6 Fix registry for 2.5.3-beta.2. (#2250) 2025-05-29 14:24:52 +02:00
Mikaël Capelle 455b5075f1 Update registry for 2.5.3-beta.2. (#2249) 2025-05-29 13:06:12 +02:00
Mikaël Capelle 39210af3e5 Move to VCPKG (#2068)
* Remove SConscript related files.
* Force-load translations from uibase and gamebryo/creation.
* Bring githubpp here and add a standalone preset.
* Switch VersionInfo -> Version for ModOrganizer2. (#2063)
* Add pre-commit hook.
* Use 7zip build from VCPKG registry.
* Use archive.dll from the bin folder instead of dlls.
2025-05-29 11:04:36 +02:00
Jeremy RimpoandMikaël Capelle 3a8ea3ccce Oblivion Remastered Meta PR (#2241)
* Allow for mod directory maps
- Set main data files based on game
- Mapped mod directories to VFS
- Update overwrite setup

* Skip if mod contains no 'data' dir

* More mod directory compatibility fixes

* Workaround for Obl:Rem save location
- SLocalSavePath does nothing yet MO2 wants to use it to override the default save location
- This only applies to BGS games anyway, we should move this logic

* First pass for overwrite mod directory support

* More overwrite move / delete restrictions

* Fix issue with moving directories that are not required

* Formatting pass

* More modDataDirectory updates

* Formatting

---------

Co-authored-by: Mikaël Capelle <capelle.mikael@gmail.com>
2025-05-23 14:08:01 -05:00
5d766e94a7 Mass Metadata Parsing: Prevent re-querying and manual prompts to enter missing data (#2135)
* Add a button to "Query Info" of every download in the list

---------

Co-authored-by: Deewens <dudonadrien@gmail.com>
Co-authored-by: KenJyn76 <liambonilla@gmail.com>
Co-authored-by: Al <26797547+Al12rs@users.noreply.github.com>
2025-05-23 09:24:23 +02:00
Jonathan Feenstra a823d2aa88 Ignore conflicts between hidden files (#2148)
* Ignore conflicts between hidden files
* Optimize checks for .mohidden extension
2025-05-23 09:23:36 +02:00
RJandRJ b531bbff39 Update following SafeWriteFile changes (#2218)
Co-authored-by: RJ <Liderate@users.noreply.github.com>
2025-05-23 09:18:03 +02:00
RJandRJ 3ef0db4cca Speedup refresh when archive parsing is enabled and updateBSAList (#2239)
* Precompute load order for ModThreads
* Precompute file infos for plugin association check

---------

Co-authored-by: RJ <Liderate@users.noreply.github.com>
2025-05-23 09:15:43 +02:00
Jeremy Rimpo 15f3d2ba05 Fix an error when filters hide highlighted rows (#2245)
- Crash caused by dataChanged triggering selectionChanged in loop
- Repaint accomplishes what we need
2025-05-22 14:35:48 -05:00
Jeremy Rimpo 48f1f600de Update copyrights (#2246) 2025-05-22 20:51:49 +02:00
Mikaël Capelle a41028fafc Update following USVFS move to VCPKG. (#2244) 2025-05-22 19:35:44 +02:00
Jeremy Rimpo eddc30a47f Dependency Updates Meta PR (#2242)
* Update dll manifests
* Fixes for emit / model refresh issues
2025-05-22 10:38:39 +02:00
RJandRJ 52b37a760c Store integer instead of QString in categories table ID columns (#2230)
Co-authored-by: RJ <Liderate@users.noreply.github.com>
2025-04-12 14:46:03 +02:00
RJandRJ bff386d277 Do not sort categories table while adding rows (#2229)
Co-authored-by: RJ <Liderate@users.noreply.github.com>
2025-04-01 13:33:52 +02:00
Jonathan Feenstra d2832ec9c3 Add new contributors to the about dialog (#2175) 2025-03-01 11:49:18 +01:00
Chris Djali 62ccbb1d02 Write BOM if original file used one (#2213)
Important for UTF-16 as lots of things can't detect or read UTF-16 without a BOM
2025-02-28 19:52:49 +01:00
Jonathan Feenstra 6299be28e1 Add form and header versions to plugin list tool tips and plugin API and add more columns (#2200) 2025-01-31 20:07:41 +01:00
Jonathan Feenstra 9049e65c5e Add startDownloadNexusFileForGame (#2181) 2025-01-02 14:10:53 +01:00
Jonathan Feenstra f8340e1620 Highlight mods that contain selected files in data tab (#2179) 2025-01-02 08:52:38 +01:00
Jonathan Feenstra 110014bf5e Update readme (#2180) 2024-12-25 11:22:19 +01:00
Jonathan Feenstra 91912f5fef (Un-)endorse & (un-)track mods from the same source (#2141) 2024-10-30 16:20:39 +01:00
Jonathan Feenstra f42a9f1cef Fix error message showing even though instance is already selected (#2154) 2024-10-30 15:20:04 +01:00
Jonathan Feenstra 61ef16d08d Hide hidden folders if "show hidden files" is unchecked in data tab (#2146) 2024-10-16 08:36:12 +02:00
Jonathan Feenstra c44ee31e9f Prevent crash when opening NXM link before selecting instance (#2144) 2024-10-15 11:02:56 +02:00
Jonathan Feenstra 08fc25d641 Show blueprint master count in plugin counter tooltip and hide unsupported plugin types (#2143) 2024-10-13 13:24:43 +02:00
Jonathan Feenstra f305502c5d Match capitilization of "Hidden files" in data tab with downloads tab (#2142) 2024-10-13 12:42:01 +02:00
Jonathan Feenstra b6de58f2d3 Highlight masters of selected plugins (#2140) 2024-10-12 13:37:58 +02:00
Jonathan Feenstra 75e24cd926 Rename Optional ESPs tab to Optional Plugins and improve wording (#2134) 2024-10-10 13:50:24 +02:00
Jonathan Feenstra bafc058b7f Add filter checkbox to data tab to show/hide hidden files (#2136) 2024-10-10 13:49:31 +02:00
Jonathan Feenstra 71434efaa9 Include notes in search when filtering mods if the column is enabled (#2139) 2024-10-10 13:45:40 +02:00
Jonathan Feenstra 8f1dbe9f35 Resize columns to contents in notifications window (#2128) 2024-10-03 09:48:50 +02:00
Jeremy RimpoandJonathan Feenstra 19fae10b2b Starfield Updates: Shattered Space & Blueprint Support (#2131)
---------

Co-authored-by: Jonathan Feenstra <26406078+JonathanFeenstra@users.noreply.github.com>
2024-10-03 09:46:53 +02:00
Jonathan Feenstra 7ed06a77c1 Add author and description methods to IPluginList (#2118) 2024-09-28 19:58:29 +02:00
Mikaël Capelle 9c130cbf2f Bump version to 2.5.2. (#2090) 2024-08-04 09:58:53 +02:00
Mikaël Capelle ea38fdc6ce Replace chopped by mid in download list. (#2089) 2024-08-03 13:37:39 +02:00
Mikaël Capelle 89f39ef200 Bump version to 2.5.2rc2. (#2084) 2024-08-01 10:58:31 +02:00
Mikaël Capelle acd201157d Move slot connections to avoid issue when starting MO2 to download a NXM link. (#2082)
* Move slot connections to avoid issue when starting MO2 to download a NXM link.
2024-08-01 10:40:44 +02:00
Mikaël Capelle f11925ab88 Fix FIXABLE status for ModDataChecker. (#2080)
* Fix FIXABLE status for ModDataChecker.
* Fix issue with registerFeature() without games.
2024-07-28 14:39:20 +02:00
Mikaël Capelle 2395c13c25 Bump version to 2.5.2rc1. (#2078) 2024-07-21 16:49:38 +02:00
Mikaël Capelle cc92f6cf88 Set default style to 'windowsvista' and allow stylesheet to modify base style (#2072)
* Set 'windowsvista' as the default style.
* Allow stylesheet to modify base style.
2024-07-19 09:49:53 +02:00
Jeremy Rimpo 193442e773 Archive preview support (#2056)
* Support for archive file previews
- Should account for alternates
- Extracts files and requests preview from plugins that claim support
2024-07-11 16:46:29 +02:00
Jeremy Rimpo a4f6298111 Parse unmanaged file location when creating ModInfoForeign (#2053)
* Parse unmanaged file location when creating ModInfoForeign
- Fixes issues with secondaryDataDirectories
* Revert SF memory address changes
- CCC implementation prevents the need to determine core plugin LO by dependency chains
* The light flag wins over the medium flag
- I had expected the opposite, but apparently the light flag still wins if both are set. This shouldn't really happen but it's possible, even with the CK
* Update display to account for multi-flagged plugins
- Show both icons, warn if both set
2024-06-22 08:31:26 +02:00
Twinki d3b647ab2b Use new Skip File & Skip Directory in usvfs (#2033)
* Use new Skip File & Skip Directory in usvfs.

# Motivations
https://github.com/ModOrganizer2/usvfs/pull/61 Highlights some reasons why the ability to skip files & directories would be beneficial

# Modifications
- Add two new settings, `skip_file_suffixes` and `skip_directories`
- Wire the two new settings up to usvfs
- Add two new buttons to the `Workarounds` dialog, one to adjust Skip File Suffixes and another for Skip Directories, both buttons act nearly identical to the Executable Blacklist button
- Add a new grouping in the `Workarounds` dialog box that contains the usvfs buttons to keep the dialog a tad organized
2024-06-15 18:51:47 +02:00
Jeremy Rimpo 6d08d434a8 Add medium plugin support (Starfield) (#2048)
* Add medium plugin support (Starfield)
- Coopt the overlay support for the new 'medium' / ESH plugin flag
- Update various displays to include ESH info
* Rework address display for SF weirdness
* Fix core ESH display
2024-06-13 17:51:09 +02:00
Mikaël Capelle 3d8bfdd1d4 Fix manifest for debug mode. (#2047) 2024-06-10 20:46:00 +02:00
RJ fff03d34e2 PluginList::refresh speedup (#2046)
* Move loadOrderMechanism out of loop
* PluginList::refresh reduce number of loops
2024-06-10 15:55:32 +02:00
Mikaël Capelle 88c386d74d Refactoring of game features for better management. (#2043) 2024-06-09 12:18:17 +02:00
Mikaël Capelle c43535f5bc Update for new USVFS function scheme. (#2044)
* Update for new USVFS function scheme.
* Fix call to usvfsVersionString().
* Move USVFS to mo2 dependencies instead of third party in CI.
2024-06-09 11:00:13 +02:00
Jeroen Ruigrok van der Werven 3d18f0cd38 Only list instance directory with a MO INI file (#1965) 2024-06-08 07:56:25 +02:00
Mikaël Capelle a11617ff65 Use MO2 formatting action. (#2032) 2024-05-26 12:20:02 +02:00
Mikaël CapelleandTwinki 1871f32a8d Use lootGameName() and displayGameName() in initial places. (#2030)
* Use `displayGameName()` in create instance dialogs & the main window, this doesn't cover all places `gameName()` was being used for purely display reasons, but it covers the bulk.
* Use `lootGameName()` instead of `gameShortName()` for LOOT cli initiation.
* Use game display name in status bar.

---------

Co-authored-by: Twinki <Twinki@users.noreply.github.com>
2024-05-26 11:12:08 +02:00
Mikaël Capelle fa82d1cca1 Switch from fmtlib to std::format. (#2031)
* Switch from fmtlib to std::format.
* Remove libffi from dependencies in Github action.
2024-05-25 13:14:46 +02:00
Jeremy Rimpo 9ee4c5afe1 Disable ESLs when no ESL support (#2026)
* Show ESL plugins but disable and warn if unsupported
2024-05-19 09:40:47 +02:00
RJandLiderate a1d199134d Fixes for stylesheets that use transparent backgrounds (#2029)
* Remove uneeded "Fix" text

* Don't set Qt::WA_OpaquePaintEvent when imagesThumbnails has transparent base

---------

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* Make changing translation not trigger checks at all.

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

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

* Make clearing overwrite checkForProblems synchronously. Same before opening the notifications window and after closing it.
2020-06-06 23:13:14 +02:00
AL 1497685ea5 Make checkForProblems update local variable with the problem count,
Make updateProblemsButton just update the ui using that variable (no heavy operation)
Add checkForProblemsAsync to perform the heavy checks in another thread.
2020-06-06 18:08:30 +02:00
Mikaël Capelle 0ad56591fd Fix order of operations to avoid deadlock with event loop. 2020-06-06 13:40:38 +02:00
Mikaël Capelle e49ce3ed21 Use QEventLoop to process events when extracting instead of manual loop with processEvents. 2020-06-05 20:36:35 +02:00
Mikaël Capelle 8fa905cde6 Update to follow changes in FileData from archive. 2020-06-05 17:50:26 +02:00
Mikaël Capelle 093fddda37 Add IOrganizer signal when a plugin setting is changed. 2020-06-05 16:47:49 +02:00
Mikaël Capelle b7a559c75c Update following archive callback changes. 2020-06-02 23:30:03 +02:00
Mikaël Capelle b8a1365dac Update after change to CreateArchive. Remove unused archive handler from self-updater. 2020-06-02 12:40:46 +02:00
Al 226b2b1843 Merge pull request #1098 from Holt59/install-manager-improvements
Installation manager improvements
2020-06-01 13:56:26 -07:00
Mikaël Capelle 30361186c1 Update installation manager after namespace changes in archive. 2020-06-01 21:48:52 +02:00
Mikaël Capelle 2c20a4115d Fix opening and extraction of archives with passwords and/or encrypted filenames. 2020-06-01 21:06:52 +02:00
Mikaël Capelle af0c0dc33e Correct handling of 7z errors. 2020-06-01 17:40:15 +02:00
Mikaël Capelle 046af63dd5 Remove non-used declarations. Move queryPassword to lambda. 2020-06-01 17:14:30 +02:00
Mikaël Capelle 4b1b897a14 Use a single extractFiles() method and avoir member variables when not needed. 2020-06-01 17:12:20 +02:00
Mikaël Capelle 70fe708474 Remove usage of QString in FileData following archive change. 2020-06-01 14:55:19 +02:00
Mikaël Capelle f442f5da51 Modification following 'archive' update. 2020-06-01 13:58:46 +02:00
Mikaël Capelle 926267faa0 Fix issue with progress dialog disapearing too soon during installation. 2020-05-31 00:31:29 +02:00
Mikaël Capelle 0b3e3ab590 Set the parent widget properly in installation manager. 2020-05-30 21:44:40 +02:00
Mikaël Capelle 1dc98e3af2 Small update to installation manager following uibase changes. 2020-05-30 21:32:04 +02:00
Mikaël Capelle e9595ec91a Fix comment in installation manager. 2020-05-30 17:49:46 +02:00
Mikaël Capelle 3f768ae53a Implement createFile() for the installation manager. 2020-05-30 15:00:10 +02:00
Mikaël Capelle 21296a6459 Allow creation of file using addFile() in ArchiveFileTree. 2020-05-30 14:59:38 +02:00
Chris Djali a92fdeb400 Add correct link to CMake Common to readme 2020-05-29 16:16:56 +01:00
Chris Djali 25b6f5dd8d Add CMake Common link to readme 2020-05-29 16:15:34 +01:00
isanae da35955d6c Merge pull request #1092 from Holt59/mod-data-content
Use ModDataContent feature from GamePlugin
2020-05-28 23:42:53 -04:00
Mikaël Capelle 0a5790b333 Add icon for FO4 material (courtesy of @twizz0r). 2020-05-28 21:58:59 +02:00
Mikaël Capelle 78143598db Remove space. 2020-05-28 19:51:20 +02:00
Mikaël Capelle 7f42698f4c Change auto& to const auto&. 2020-05-28 19:50:39 +02:00
Mikaël Capelle d2b7a1a321 Expose ModDataContentHolder from OrganizerCore instead of vector of Content. 2020-05-28 19:48:21 +02:00
Mikaël Capelle 4791569790 Ignore filter-only content when sorting. 2020-05-27 22:46:03 +02:00
Mikaël Capelle 700c5fb16c Store contents as a set instead of a vector. 2020-05-27 22:45:42 +02:00
Mikaël Capelle 6f22a77cda Do not show Content with isOnlyForFilter() in the column. 2020-05-27 22:01:36 +02:00
Mikaël Capelle 9c3ddb53c9 Fix sorting for the Content column. 2020-05-27 21:29:17 +02:00
Mikaël Capelle 70f1e8bdf6 Make ModInfo::getContents() pure virtual. 2020-05-27 14:58:32 +02:00
Mikaël Capelle c31c79c61d Add temporary icon for material content. 2020-05-27 14:56:49 +02:00
Mikaël Capelle 7c7631d409 Replace usage of MakeVector with initializer lists. 2020-05-26 20:20:47 +02:00
AL 652d3ab054 Fix modlist scrolling to wrong location after filter refresh in some cases.
If the currently selected column wasn't the Name column it would scroll to the first modnamee that matched the currently selected column contents (like scrolling to a mod called Audio overhaul after assigning Audio category to another mod).
2020-05-26 15:36:40 +02:00
Mikaël Capelle 36b81b4a7c Use ModDataContent to display the tooltip in the header. 2020-05-25 20:17:21 +02:00
Mikaël Capelle cf1bbdd13e Switch to using the ModDataContent feature from the game plugin. 2020-05-25 19:54:15 +02:00
isanae a721347fd1 Merge pull request #1079 from Holt59/moinfo-improvements
ModInfo improvements
2020-05-25 13:48:45 -04:00
Mikaël Capelle 9212a7d2e9 Use hasSuffix() where needed. 2020-05-25 18:27:49 +02:00
Mikaël Capelle 09e75d14e5 Fix comment for prefetch(). 2020-05-25 17:59:07 +02:00
Mikaël Capelle c5bbf7360c Fix suffix comparison for SKSE DLLs. 2020-05-25 17:58:58 +02:00
Mikaël Capelle 03fc2b0dc2 Update ModInfo classes following MemoizedLocked changes. 2020-05-25 17:57:07 +02:00
Mikaël Capelle 86f516953d Update MemoizedLock to allow more flexible callable. 2020-05-25 17:56:45 +02:00
Mikaël Capelle e7afedaebe Remove useless calls to diskContentModified(). 2020-05-25 17:50:49 +02:00
Mikaël Capelle 238e233c18 Use memoization for file tree, contents and validity of ModInfo. 2020-05-24 23:33:21 +02:00
Mikaël Capelle 0aac4f3291 Add MemoizedLocked. 2020-05-24 23:32:47 +02:00
Mikaël Capelle b352aa53e0 Add thread_utils to CMakeList.txt. 2020-05-24 23:31:34 +02:00
Mikaël Capelle 4d8b5aaae8 Remove old comment. 2020-05-24 15:35:35 +02:00
Mikaël Capelle a67a99acb7 Force lower case comparison for extensions in getContents(). 2020-05-24 15:35:09 +02:00
Mikaël Capelle a62bf7aa12 Fix typo in getContents(). 2020-05-24 15:21:08 +02:00
Mikaël Capelle 4bcb92fc47 Use a more generic 'prefetch' method instead of isValid(). 2020-05-24 14:49:51 +02:00
Mikaël Capelle 001e44fec4 Minor cleaning. 2020-05-24 14:40:44 +02:00
Mikaël Capelle ff4fbbdc5f Switch from ThreadPool to a simpler thread map for containers. 2020-05-24 14:39:39 +02:00
Mikaël Capelle 73248d9e40 Use the refresh_thread_count setting for ModInfo::updateFromDisc. 2020-05-24 13:36:16 +02:00
Mikaël Capelle a284c64dc1 Update file tree in parallel when loading from disk. 2020-05-24 13:28:00 +02:00
Mikaël Capelle 9fb639a00e Update ModInfo to use a single file tree for all content-related operations. 2020-05-24 13:27:40 +02:00
Al 08ae9db2fd Merge pull request #1076 from Holt59/moddatachecker
Use the ModDataChecker feature to check mod validity
2020-05-23 14:19:54 -07:00
Mikaël Capelle 6374845a28 Bump to 2.3.0a9 and update copyright to 2020. 2020-05-23 23:09:20 +02:00
isanae 20649ec027 Fix issues with very slow refresh time for large root data directories. 2020-05-23 23:08:33 +02:00
Mikaël Capelle fceca422db Add comment about lazy-populating the QDirFileTree. 2020-05-23 22:21:38 +02:00
Mikaël Capelle 5f794fec2c Remove time() method from FileTreeEntry. 2020-05-23 21:45:57 +02:00
Mikaël Capelle 2652ed1209 Update QDirFileTree to hide implementation and allow querying time through QFileInfo. 2020-05-23 18:40:21 +02:00
Mikaël Capelle 7b973d5f10 Remove header that has been removed from uibase. 2020-05-23 17:33:16 +02:00
Mikaël Capelle 064ef4cfeb Update IFileTree implementations following uibase changes. 2020-05-23 17:33:01 +02:00
Mikaël Capelle ee995b8df5 Remove include that has been removed from uibase. 2020-05-23 17:09:20 +02:00
Mikaël Capelle ee7438827e Switch to ModDataChecker for testing mod validity. 2020-05-22 15:50:50 +02:00
Mikaël Capelle 5fc66d8793 Move m_GamePlugin up into ModInfoWithConflictInfo. 2020-05-22 15:27:19 +02:00
Mikaël Capelle c0035ada02 Add QDirFileTree implementation. 2020-05-22 13:49:51 +02:00
Al e618afa5d1 Merge pull request #1075 from Holt59/bump-to-2.3.0a8
Bump version to 2.3.0 alpha 8.
2020-05-22 01:27:16 +02:00
Mikaël Capelle 736fc28b12 Bump version to 2.3.0 alpha 8. 2020-05-22 00:00:41 +02:00
Al 5f00213b8a Merge pull request #1074 from IsmayilMirzali/add_open_logs
Add option to open logs folder
2020-05-20 23:48:19 +02:00
IsmayilMirzali f31a74a6a8 Add option to open logs folder 2020-05-21 00:44:34 +03:00
Al b7110cba2d Merge pull request #1066 from Holt59/new-filetree
Update for the new file tree implementation and minor fixes
2020-05-20 13:05:02 +02:00
isanae c214b67ae7 Merge pull request #1073 from Holt59/fix-missing-junction-plugins
Fix issue with plugins in junction mods not being activated.
2020-05-20 06:55:01 -04:00
Mikaël Capelle 89db02eb94 Fix issue with plugins in junction mods not being activated. 2020-05-20 12:53:36 +02:00
Mikaël Capelle c391c2b584 Rollback to setGameName instead of setGamePlugin for mod interface. 2020-05-19 18:00:12 +02:00
Mikaël Capelle 04698417a9 Add implementation of clone() and doClone() for the archive filetree. 2020-05-16 14:00:24 +02:00
Mikaël Capelle 0a3dade905 Update after const_cast removal in uibase. 2020-05-12 19:32:31 +02:00
Mikaël Capelle 572fa7050f Minor comment updates. 2020-05-08 21:43:27 +02:00
Mikaël Capelle b2bd13e3db Fix another issue with some archives not being loading properly. 2020-05-07 22:09:40 +02:00
Mikaël Capelle 411b73e0aa Fix issue with some archives not being extracted correctly. 2020-05-07 19:18:58 +02:00
Mikaël Capelle f405a51bf6 Override astree() in ArchiveFileTreeImpl to avoid VS warnings. 2020-05-07 16:22:07 +02:00
Mikaël Capelle ff990c7743 Fix issue with getColor() not being overriden properly. 2020-05-07 12:17:27 +02:00
Mikaël Capelle 5a90eecc21 Fix issue with mods not being checked properly and overwrite not having the right priority. 2020-05-07 12:16:33 +02:00
Mikaël Capelle 068e12bbb2 Move to the new filetree for the installation manager. 2020-05-07 12:16:33 +02:00
Mikaël Capelle 40c433580f Update ModInfo classes to handle plugin game and clean some declarations. 2020-05-07 12:16:33 +02:00
Mikaël Capelle cd2b7683b7 Avoid using GamePlugins when not provided by the game plugin. 2020-05-07 12:16:32 +02:00
AL 14d1ea87f9 Fix separator colors not working right due to missing brackets. 2020-05-07 01:57:58 +02:00
isanae 2860447dce Merge pull request #1064 from isanae/cmakefile-appveyor-fix
Appveyor fix for new cmake files
2020-04-30 18:43:05 -04:00
isanae 8ef7db6a4c appveyor does not build modorganizer in its standard location, so use DEPENDENCIES_DIR to find cmake_common 2020-04-30 18:42:02 -04:00
Al 4b265a5cd3 Merge pull request #1063 from Al12rs/mod_colors
Mod colors
2020-04-30 15:57:42 +02:00
AL bdd1e97d4f Add modinfodialog Notes Tab color selector. 2020-04-29 22:13:09 +02:00
AL 4d67365600 Only show color context menu for mods when right clicking on Notes column. 2020-04-29 17:04:25 +02:00
AL 312af10f4f Allow coloring notes field. 2020-04-29 16:49:12 +02:00
isanae 9945beabf1 Merge pull request #1061 from isanae/new-cmakefiles
New cmakefiles
2020-04-26 02:54:00 -04:00
isanae ca9c953d6a moved a few projects to requires_project() 2020-04-25 00:19:25 -04:00
isanae bbfec30539 now using new common cmakefiles
fixed includes because shared/ isn't in the path anymore
removed unused modeltest files
2020-04-23 21:00:00 -04:00
AL 530bade5f7 Allow resizing and maximizing the Loot sort report dialog. 2020-04-18 21:25:00 +02:00
isanae a2f550ee33 Merge pull request #1057 from isanae/warning-fixes
Fixed warnings about Q_OBJECT and thousand separators
2020-04-18 04:54:10 -04:00
isanae b91dbba734 fixed warnings about Q_OBJECT and thousand separators
had to move some classes to header files
2020-04-18 04:53:14 -04:00
isanae c47ab23f95 Merge pull request #1055 from isanae/sysdir-opt
Fix for getOptionalKnownFolder()
2020-04-17 11:08:14 -04:00
isanae 2c1331e3e5 getOptionalKnownFolder() returns a string now 2020-04-17 11:06:08 -04:00
isanae 855650215f Merge pull request #1054 from isanae/bunch-of-fixes
Bunch of fixes
2020-04-17 10:31:47 -04:00
isanae 21166f820b bumped to alpha 7 2020-04-17 10:25:42 -04:00
isanae 47867d427f fixed crash when switching to an instance with a lower refresh thread count
fixed rare race condition when waking up handle closer threads
2020-04-17 10:23:10 -04:00
isanae f43c11497d added game, instance and profile to status bar 2020-04-17 10:01:33 -04:00
isanae 014df88aa8 typo 2020-04-17 09:44:28 -04:00
isanae 960afe9ea5 log command line 2020-04-17 09:43:58 -04:00
isanae e11ca50a57 update available log is now info instead of debug
added AV warning when a game plugin is no longer available
2020-04-17 09:31:59 -04:00
isanae d49f038d5d silenced a few annoying logs 2020-04-17 09:30:16 -04:00
isanae 77d292727b sanity checks: added nahimicmsiosd.dll, specialk64.dll and mactype64.dll 2020-04-17 09:27:17 -04:00
isanae 52c7a6a181 added directory checks for desktop and onedrive 2020-04-17 09:14:24 -04:00
isanae 3b0fbebc6a dump a bunch of counts for mods when selecting a profile 2020-04-17 09:06:41 -04:00
Al ff912b5f61 Merge pull request #1053 from Al12rs/fix_no_inis
Fix crash when game plugin does not provide any ini files.
2020-04-17 14:30:41 +02:00
isanae d7ceadeae1 hook ctrl+f and escape directly on widgets instead of on the main window to allow other widgets to use the same shortcuts, like the FilterWidget 2020-04-17 08:19:22 -04:00
AL 89ee58de38 Fix crash when game plugin does not provide any ini files. 2020-04-17 13:49:26 +02:00
isanae 15e04d4fe8 fixed typo 2020-04-17 07:24:12 -04:00
isanae 4275cadf13 changed first validation timeout back to 10s, a lot of people report that 5s is too short 2020-04-17 07:24:02 -04:00
isanae 333a0c3c16 removed some debug logging 2020-04-17 07:23:28 -04:00
isanae 4621c27164 Merge pull request #1052 from isanae/filetree-crash-fixes
File tree crashes
2020-04-17 07:06:38 -04:00
isanae 0faa5d6995 fixed crashes and empty items in the file tree
sorting and removing items have to be queued since they corrupt various internal structures in Qt when done during layout
2020-04-17 06:58:21 -04:00
AL 502e752b0a Fix inconsistent Explore menu option naming. Used Visual Studio standard. 2020-04-02 14:29:40 +02:00
AL a4ed20295f Fix "Failed to setup data paths" loop by showing the choose instance dialog for next startup.
This could sometimes happen if users changed a drive letter or removed a drive with one of the Mo2 paths on it making Mo2 error on startup. Only fix was to manually edit the modorganizer.ini file or manually deleting the instance. This allows users to create or use other instances even if that particular instance still needs manual fixing.
2020-03-30 22:10:15 +02:00
AL aab5a120ff Imrpoved mod already exist dialog when installing. 2020-03-19 20:43:53 +01:00
AL 57be0f0db6 Fix and improve NexusID detection during installation for Install Mod button. 2020-03-13 22:48:02 +01:00
Al 7683dc205d Fix timestamp formatting for appveyor 2020-03-01 13:53:53 +01:00
AL 979889edfe Made all lists uniform row heights for performance and alternate row color 2020-02-29 15:02:15 +01:00
AL 99ac2c0e9a Fixed comboboxes and tooltip lagginess due to bad animations. 2020-02-29 15:01:26 +01:00
AL 5e83ecf8c4 New appveyor complete build configuration. 2020-02-29 14:23:14 +01:00
Chris Bessent 6f11e3d741 Revert "Hacky fix to installation progress dialog flashing"
This reverts commit 42e5c33a32.
2020-02-28 12:12:54 -07:00
Al a44100ada1 Merge pull request #1021 from Al12rs/log_changes
Various UI changes:
2020-02-27 11:02:34 +01:00
AL c2e2be8ff7 Cleanup previous filterList code 2020-02-26 19:34:33 +01:00
AL c4b95bad65 Removed "State" header from filterlist.
Allow lower vertical sizes for loglist.
Fixed alignments and size of various elements.
2020-02-26 19:24:15 +01:00
AL c1554d1c3f Added checkbox icons for filterlist state 2020-02-26 19:22:15 +01:00
AL 60437644e4 Enabled icons for all log level line.
Added new icon for Debug level.
Moved icons after timestamp.
2020-02-26 19:20:56 +01:00
AL 0a6c7dce97 Allow log to be reduced in size to a greater extent. 2020-02-26 14:50:19 +01:00
Al 756056fcc3 Merge pull request #1019 from Al12rs/context_menu_delay_fix
Fix context menu rendering delay and and general crappiness.
2020-02-26 14:47:33 +01:00
AL 87fcb7cf9e Fix context menu rendering delay and and general crappiness.
This affected users that had the windows "Fade or slide menus into view" option enabled. Qt's implementation of these effects sucks
2020-02-25 17:13:03 +01:00
AL 8bf4cd3b27 Fix random <br> in Alternate Game icon tooltip 2020-02-25 17:07:14 +01:00
Al a6d3ab75c0 Merge pull request #1018 from Al12rs/remove_flashing_widgets
Fixed widgets flashing during Mo2 startup,
2020-02-25 17:05:33 +01:00
AL 85f4ca3870 Fixed widgets flashing during Mo2 startup,
they were caused by some code I can't even make sense of that I left over. My bad...
2020-02-25 14:06:53 +01:00
Al f02aa15fc5 Merge pull request #1017 from Al12rs/filterwidget_updates
Filterwidget updates
2020-02-25 14:02:49 +01:00
AL 22f8698e0b Moved filters back to the bottom 2020-02-23 22:11:18 +01:00
AL 5208bf5251 Set filterwidget delay for the data tab to avoid typing stutter 2020-02-23 14:22:46 +01:00
AL e6cd3d026d Add option to filterwidget to keep selection in view 2020-02-23 02:32:51 +01:00
AL e5688ecea3 Fix crashing on Nexus descriptions that are missing BBCode closing brackets. 2020-02-22 14:48:59 +01:00
Chris Bessent 6107883829 Merge pull request #1006 from LostDragonist/master
Hacky fix to installation progress dialog flashing
2020-02-21 02:13:06 -07:00
Chris Bessent 42e5c33a32 Hacky fix to installation progress dialog flashing 2020-02-21 01:59:49 -07:00
isanae 21904f6214 Merge pull request #1005 from isanae/missing-categories
Missing categories
2020-02-19 03:40:26 -05:00
isanae 13a622e6cd categories were loaded too late 2020-02-18 21:06:04 -05:00
isanae d41d57fe07 Merge pull request #1004 from isanae/timings
More timings
2020-02-18 18:15:35 -05:00
isanae f9ad6d9709 timing for refreshBSAList and updateProblemsButton 2020-02-18 18:13:23 -05:00
isanae 75cd8b3bab added more timings
missed fileregisterfwd.h in cmake list
2020-02-18 18:09:03 -05:00
isanae e749b20726 Merge pull request #1003 from isanae/file-list-improvements
Refresh optimizations
2020-02-18 17:32:11 -05:00
isanae a28bd45c0b changed FileRegister to a deque instead 2020-02-18 17:25:06 -05:00
isanae d7ad9dcc19 removed copy/pasted qt copyright 2020-02-18 17:25:06 -05:00
isanae f7d7c4465b bumped to alpha 6 2020-02-18 17:25:05 -05:00
isanae d3fe9ff1fa moved TimeThis to uibase
fixed progress bar
2020-02-18 17:25:05 -05:00
isanae 528fa988b5 error handling for last modified time 2020-02-18 17:25:05 -05:00
isanae 5e569d0107 re-enabled archive parsing 2020-02-18 17:25:05 -05:00
isanae dbb3f5117a removed directoryrefresher.h from organizercore.h 2020-02-18 17:25:05 -05:00
isanae 777d822f13 cleanup, typedefs 2020-02-18 17:25:05 -05:00
isanae bbd9bb1fd9 hide version.aps 2020-02-18 17:25:05 -05:00
isanae b1cf498924 split directoryentry
made classes noncopyable, fixed a few unintended copies
2020-02-18 17:25:04 -05:00
isanae 88ef053000 error checking in dump()
removed a bunch of "{} saved" in the logs
2020-02-18 17:25:04 -05:00
isanae 9eeaa88cf5 fixed sorting 2020-02-18 17:25:04 -05:00
isanae 82106134cb added natvis 2020-02-18 17:25:04 -05:00
isanae 4a74102736 moved dump() to DirectoryEntry
static functions instead of lambdas
2020-02-18 17:25:04 -05:00
isanae 75359bc9c2 fixed crash when disabling mod 2020-02-18 17:25:04 -05:00
isanae fb3fbd3421 removed lastAccessed from FileEntry, not used
FileRegister keeps a vector instead of a map
2020-02-18 17:25:03 -05:00
isanae 567fe019ac removed some unnecessary counters
delete old structure in thread
2020-02-18 17:25:03 -05:00
isanae c8fc7abade thread-safe OriginConnection
ThreadPool now keeps threads running
keep ModThreads around so avoid reallocating buffers
2020-02-18 17:25:03 -05:00
isanae 763a5d6c08 more instrumentation
tighter mutexes, required thread-safe FileEntry
2020-02-18 17:25:03 -05:00
isanae 29244f3328 thread-safe directory entry 2020-02-18 17:25:03 -05:00
isanae d082a91ad6 faster getSubDirectory() for env::Directory, added lcname
instrumentation
2020-02-18 17:25:03 -05:00
isanae 7860e927a7 removed dead insertFile()
avoided a few string copies
lowercase filename in thread
2020-02-18 17:25:03 -05:00
isanae 3423b0a593 threaded refresher 2020-02-18 17:25:02 -05:00
isanae 6ee4285588 close handles in thread 2020-02-18 17:23:48 -05:00
isanae c1cf760337 don't lowercase twice 2020-02-18 17:23:48 -05:00
isanae 3a65665d36 wstring_view when possible
first implementation of NtQueryDirectoryFile
2020-02-18 17:23:48 -05:00
isanae 3db95eb404 customizable columns for mod and plugin lists 2020-02-18 17:23:48 -05:00
isanae 0c62a26e09 customizable columns for file tree 2020-02-18 17:23:47 -05:00
isanae 177dc6b320 shift+right-click selects items 2020-02-18 17:23:47 -05:00
isanae 7eae9b5dd4 localized warning when file doesn't exist for shell menu 2020-02-18 17:23:47 -05:00
isanae 7c2952b83c fixed stylesheets for "valid-filter" property 2020-02-18 17:23:47 -05:00
isanae f9f31c57dc added support for FilterWidget regexes 2020-02-18 17:23:47 -05:00
isanae b5c0b2b0a2 updated stylesheets for new "filtered" property on lists with FilterWidget 2020-02-18 17:23:47 -05:00
isanae 8c2814c9dc Merge pull request #1000 from Al12rs/startup_performance
Startup performance
2020-02-18 17:22:29 -05:00
Al cfb05d72be Merge pull request #998 from Al12rs/warnings
Change Qtime to QElapsedtimer in some palaces to remove the warnings.
2020-02-17 13:22:13 +01:00
AL 8e3ab9fb66 Cleanup commented code 2020-02-17 11:00:27 +01:00
AL 5043a930ce Add setting to disable splash since it can cause load time increase
use_spash=true by default. It's not exposed to the ui for now.
2020-02-17 03:26:47 +01:00
AL 112f91357e Reduce overhead introduced by splashscreen
by not letting it wait on the mainwindow and instead immediately close
2020-02-17 02:34:56 +01:00
AL 29b331817c Remove duplicated updateFromDisc() call during refresh
comment mentioned that it was needed but it was very old and testing would suggest this is no longer the case.
2020-02-17 02:11:42 +01:00
AL edc7f3d5b2 Avoid refreshing when setting downloads supported extensions as it only happens during init. 2020-02-16 15:54:41 +01:00
AL c02fbe89c7 Allow not refreshing downloads when setting their folder, for example during init. 2020-02-16 15:54:40 +01:00
AL e33d0f9d35 Avoid updating the downloadView when it hasn't even been initialized. 2020-02-16 15:54:40 +01:00
AL c4059f0dfe Avoid refreshing the profile again when initializing the pforilebox 2020-02-16 15:54:40 +01:00
AL 60c86e7cee Move modInfo loadFromDisc to it's own function 2020-02-16 15:53:24 +01:00
AL 423db56781 Change Qtime to QElapsedtimer in some palaces to remove the warnings. 2020-02-15 23:02:49 +01:00
Al 86c5b64ab5 Merge pull request #997 from Al12rs/custom_url_overwrite_fix
Avoid overwriting existing URL values when replacing a mod if new val…
2020-02-14 14:01:58 +01:00
AL 460e015e96 Avoid overwriting existing URL values when replacing a mod if new value is empty. 2020-02-14 13:43:22 +01:00
Al 2af0698484 Merge pull request #991 from Al12rs/remember_last_modinfo_tab
Always remember last opened ModInfoDialog tab.
2020-02-14 13:35:20 +01:00
Al d2af089a14 Merge pull request #992 from Al12rs/version_check_for_optional_files
Avoid getting the general mod version for optional and miscellaneous …
2020-02-14 13:35:08 +01:00
isanae 1f1f99f253 Merge pull request #994 from isanae/generic-file-list
New file tree
2020-02-09 08:52:03 -05:00
isanae 3a80685189 don't sort items when they're not expanded 2020-02-08 21:38:01 -05:00
isanae d0c16e60d7 just disable recursive filtering when fully loading
switching models clears persistent indexes and collapses everything
2020-02-07 14:02:00 -05:00
isanae 2b0a720863 fixed sorting not emitting layout events and fixing persistent indexes 2020-02-07 13:39:35 -05:00
isanae 1c8c1bb89b fixed data tab not refreshing after "restarting" MO
larger default size for filename column
fixed sorting in descending order by default
2020-02-07 11:40:26 -05:00
isanae 9c2fc69405 sort on demand 2020-02-07 11:26:11 -05:00
isanae 41e6189be4 disconnect any proxies when fully loading
disable model when resetting, enable it back after the directory refresh so the tree doesn't appear in a weird state in between
2020-02-07 10:52:49 -05:00
isanae 49a1e234ef item activation
removed a bunch of unnecessary QObject qualifiers
2020-02-07 09:24:54 -05:00
isanae 6b97e2185f bump to alpha5 2020-02-07 08:28:59 -05:00
isanae fe76e6518b Merge branch 'master' of https://github.com/ModOrganizer2/modorganizer into generic-file-list 2020-02-07 08:06:08 -05:00
AL a120a36e11 Avoid getting the general mod version for optional and miscellaneous files,
as those usually have their own version unbound to the main one.
2020-02-06 16:24:47 +01:00
isanae e6fe832b4f don't refresh the data tab every time the index changes 2020-02-05 22:00:47 -05:00
isanae 593ed64f86 filter on filename column only because loading the meta for every file takes forever
some small optimizations when enabling mods
2020-02-05 21:55:52 -05:00
isanae b7e51b65e8 removed bad minimum column width in the data tab
fixed crash in log when restart MO
2020-02-05 20:37:18 -05:00
isanae 03ee407c34 fixed LogModel not being thread safe
optimizations:
- create BrowserDialog on demand
- scroll to bottom of log in a timer, coalesces fast logging
- disabled md5 of dlls
2020-02-05 20:23:53 -05:00
isanae ea0429342a harmonized widgets in the tabs, fixed styles 2020-02-05 19:11:49 -05:00
isanae 34b022a229 fixed warning when comparing empty strings
filter in data tab
fixed some bad iterators when removing rows
fixed empty directories not being marked as such when refreshing
always sort directories first even when reversing the sort order
fixed children not being sorted
fixed errors about file sizes for directories
remember state of checkboxes in data tab
2020-02-05 16:21:41 -05:00
Al 718c2a56f9 Merge pull request #990 from Al12rs/shift_visit_website
Allow Shift-double click on modlist to open Nexus or custom URL as fa…
2020-02-05 16:28:14 +01:00
Al 6ab940892f Merge pull request #989 from Al12rs/more_text_types
Add support for other text file types to Text Files modinfo tab
2020-02-05 16:28:01 +01:00
AL 3079f84954 Always remember last opened ModInfoDialog tab.
Don't reopen saved tab if mainwindow requested specific tab.
2020-02-05 16:26:44 +01:00
AL ebd71dd053 Remove .cfg from INI Files tab as it's in Text Files tab now. 2020-02-04 15:04:37 +01:00
isanae 6f10702349 case insensitive checks for mohidden extension (lost in rebase) 2020-02-04 03:36:34 -05:00
isanae 2f3b9f9a9e skip files from archives for the shell menu 2020-02-04 03:33:23 -05:00
isanae d14488d2f7 update tree items when origins change 2020-02-04 03:33:23 -05:00
isanae 47d1826f55 hidden unique_ptr into FileTreeItem
refactored pruning
don't show shell menu for directories
added collapse all in context menu
2020-02-04 03:33:23 -05:00
isanae 97b91b5fe5 prune empty directories 2020-02-04 03:33:23 -05:00
isanae 34bc2191e6 don't get meta for fields that are not used
show compressed file size if available
remember file sizes for files in archives
2020-02-04 03:33:22 -05:00
isanae 85a9f810a0 moved refresh and checkboxes to the top 2020-02-04 03:33:22 -05:00
isanae c6c01f86c6 sort 2020-02-04 03:33:22 -05:00
isanae 7c98635edc filetype and last modified columns 2020-02-04 03:33:22 -05:00
isanae a55a69e6ac file size column 2020-02-04 03:33:22 -05:00
isanae 412165fcfb show file counts when there are discrepancies 2020-02-04 03:33:22 -05:00
isanae 2a0e78e3cf fixed bad path for alternate origins
finished ShellMenuCollection, had to split a bunch of things
2020-02-04 03:33:22 -05:00
isanae 6005da6187 ShellMenuCollection, events not processed yet 2020-02-04 03:33:21 -05:00
isanae a7a406e553 preparing for multiple origins shell menus
split exec() from createMenu()
2020-02-04 03:33:21 -05:00
isanae 0f6205bea5 dummy menu for files in multiple directories 2020-02-04 03:33:21 -05:00
isanae d0be8a0d3b ShellMenu class 2020-02-04 03:33:21 -05:00
isanae e3211683fd shell menu for multiple files 2020-02-04 03:33:21 -05:00
isanae abdf98bbfe status bar messages 2020-02-04 03:33:21 -05:00
isanae dd4bd5b17d shift+right click for shell menu 2020-02-04 03:33:21 -05:00
isanae 2d4216a4f0 icons 2020-02-04 03:33:20 -05:00
isanae 0f3c01425d font, tooltip and foreground 2020-02-04 03:33:20 -05:00
isanae 3bc1a4a067 createDirectoryItem() and createFileItem() 2020-02-04 03:33:20 -05:00
isanae f49643075a moved a bunch of duplicate stuff in a new class Range 2020-02-04 03:33:20 -05:00
isanae 7c4d3c6fb9 refactored removeDisappearingFiles() to just check for directories in the main loop 2020-02-04 03:33:20 -05:00
isanae 9c9de680c6 faster parent() and indexFromItem() with index guess
implemented files
2020-02-04 03:33:20 -05:00
isanae 8e3a360cd4 implemented fetchMore() and update for subdirectories
don't refresh tree on active, it's taken care of by fetchMore()
2020-02-04 03:33:20 -05:00
isanae bb9a4600bb rewriting FileTreeModel, implemented add/remove folders in root 2020-02-04 03:33:19 -05:00
isanae 08188830a3 removed LEAK_TRACE stuff
refactored DirectoryEntry for lookup maps
filetreemodel: made ensureLoaded() a no-op while refreshing, faster processing for removing rows
2020-02-04 03:33:19 -05:00
isanae aa63bffd35 missing toStdString() from merge 2020-02-04 03:33:19 -05:00
isanae ee03c23290 refactoring: moved member functions in the same order as the header 2020-02-04 03:33:19 -05:00
isanae 1c07f8ddda refactoring: whitespace, newlines, auto, removed commented out code 2020-02-04 03:33:19 -05:00
isanae 6da813a633 refactoring: whitespace and newlines 2020-02-04 03:33:19 -05:00
isanae 2be531470d renamed ToLower() to avoid confusion with in-place vs copy
pre-hashed file lookup in DirectoryEntry
2020-02-04 03:33:19 -05:00
isanae 0a908c4962 added a map for directories in DirectoryEntry
more optimizations for filetree
2020-02-04 03:33:18 -05:00
isanae 72394faa75 some optimizations to avoid case conversions and memory allocations 2020-02-04 03:33:18 -05:00
isanae 2d276cad0b put expensive logging in an optional function 2020-02-04 03:33:18 -05:00
isanae a7051df5da split item and model 2020-02-04 03:33:18 -05:00
isanae e0c605be1d initial implementation for updating file tree, buggy 2020-02-04 03:33:18 -05:00
isanae 219bd59a21 removed dead stuff 2020-02-04 03:33:18 -05:00
isanae f27a73b123 implemented dump to file
fixed duplicate module notifications not being skipped
2020-02-04 03:33:18 -05:00
isanae 2f07eb51c1 implemented explore origin, open mod info, hide and unhide 2020-02-04 03:33:17 -05:00
isanae 8bcf8cde3c hide spacers on statusbar when the progress bar is not visible
always show menu items, added status tips
2020-02-04 03:33:17 -05:00
isanae 87868e1b22 added a few missing consts
removed incorrect assert about an empty game edition
added FileTree to wrap a QTreeView and a FileTreeModel, moved some context menu actions over
2020-02-04 03:33:17 -05:00
isanae b6e91484ba split IconFetcher 2020-02-04 03:33:17 -05:00
isanae c5f98f9756 now prunes empty directories
handles archives and conflicts checkboxes
2020-02-04 03:33:17 -05:00
isanae d3e9abddaf tooltips, archive names 2020-02-04 03:33:17 -05:00
isanae de29b6a5a8 IconFetcher 2020-02-04 03:33:17 -05:00
isanae efdc3eb14f load items on demand 2020-02-04 03:33:17 -05:00
isanae a4624f239f split FileTreeModel, initial implementation, some stuff is broken 2020-02-04 03:33:16 -05:00
isanae e8027bfeaa moved main window classes to their own filter 2020-02-04 03:33:16 -05:00
isanae 7e748d15c9 split data tab
removed a bunch of undefined functions in MainWindow
2020-02-04 03:33:16 -05:00
AL 46319decd1 Allow Shift-double click on modlist to open Nexus or custom URL as fall-back. 2020-02-04 03:36:51 +01:00
AL d6d613f071 Add support for other text file types to Text Files modinfo tab 2020-02-04 02:43:29 +01:00
AL e9da5b4fad Version bump and update translations 2020-02-02 01:55:52 +01:00
Al c058721056 Merge pull request #988 from Al12rs/move_filter_widget
Moved filterWidget and eventFilter to ui base
2020-02-01 23:33:52 +01:00
AL 17cfba60a7 Fix Mobase namespace for filterwidget 2020-02-01 22:36:33 +01:00
AL 326c9130c4 Moved filterWidget and eventFilter to ui base 2020-02-01 21:28:14 +01:00
AL 9c8412a051 Change tooltip of Category column to say "Primary" 2020-01-31 23:04:34 +01:00
Al 0bc2a50440 Merge pull request #987 from IsmayilMirzali/master
Add more context menu options for mod backups
2020-01-28 23:08:24 +01:00
IsmayilMirzali 11f3a8caf5 Add seperators for mod backup context menu 2020-01-28 22:20:23 +02:00
IsmayilMirzali 28d449c026 Add more context menu options for mod backups 2020-01-28 00:51:44 +02:00
Chris Bessent 4963c278fe Don't allow foreign mods or overwrite for overriding overwrite 2020-01-26 18:26:03 -07:00
AL 6214cf3923 Fix CSV exporting of primary category.
#450
2020-01-26 20:19:15 +01:00
AL 6019e12ea5 Fixed file structure not being kept when drag and dropping files.
Fix #981
2020-01-23 17:17:03 +01:00
AL ade9cfb603 Bump bersion for dev build 3 2020-01-22 23:45:57 +01:00
Al 6305f6e2e9 Merge pull request #980 from Al12rs/context-menu-fix
Fixed missing context menu on general conflicts tab.
2020-01-22 23:09:57 +01:00
Al eacbe101f1 Merge pull request #979 from Al12rs/hidden-files-flag
Add Restore hidden files option and clean up hidden files code
2020-01-22 23:09:45 +01:00
Al 5af018d18a Renamed underscores function name to pascal case 2020-01-21 01:54:44 +01:00
Al 2217d9c575 Removed missed line 2020-01-21 01:49:22 +01:00
Al 123f9f408b Fixed missing context menu on general conflicts tab.
Was due to the new FilterWidget adding a QSortProxy and the selection had to be translated to the underlying model.
Normalized use of FilderWidget on the Advanced Conflicts tab.
2020-01-21 01:24:29 +01:00
Al 7c55ae3a22 Add "Restore hidden files" context menu option to modlist.
Recursively restores all hidden files in the mod or mods if more than one is selected.
2020-01-20 19:46:03 +01:00
Al 61b64d9431 Make hidden files extension checks case insensitive 2020-01-20 19:41:09 +01:00
Al 3e98a6e5bf Use ModInfo::s_HideExt instead of ".mohidden" directly 2020-01-20 19:38:08 +01:00
Al 84678a3a28 Merge pull request #978 from Al12rs/hidden-files-flag
Also check for .mohidden directories for HiddenFiles flag.
2020-01-19 20:34:02 +01:00
Al 304ca8066f Also check for .mohidden directories for HiddenFiles flag. 2020-01-19 16:32:32 +01:00
Al 7d11492ac2 Revert "Fix "Explore virtual folder" not being translatable"
This reverts commit de1bae9d92.
2020-01-19 12:52:22 +01:00
Al de1bae9d92 Fix "Explore virtual folder" not being translatable 2020-01-19 12:33:00 +01:00
Al a41c74bc5c Merge pull request #973 from Al12rs/hidden-files-flag
Added text filters for general conflicts lists
2020-01-16 21:30:26 +01:00
Al 58f3596028 Added text filters for general conflicts lists 2020-01-15 20:01:23 +01:00
Al a12e56f977 Bump version for 2.3.0 alpha 2 2020-01-15 12:04:25 +01:00
Al 5aad5eb8a2 Merge pull request #970 from Al12rs/hidden-files-flag
Hidden files flag
2020-01-15 11:59:13 +01:00
Silarn 0c2289b6f9 modsSortedByProfilePriority should return the internal name of the mod 2020-01-14 20:19:42 -06:00
Al f65121b8bc Fix some more tabs 2020-01-14 22:18:03 +01:00
Al 7579e42577 Fix incorrect tabs 2020-01-14 22:02:52 +01:00
Al 6b75741139 Add has hidden files filter for modlist. 2020-01-14 21:12:21 +01:00
Al a5d0cb8b5d Add icon for hidden files flag 2020-01-14 20:56:15 +01:00
Al 39f36ca27a Added ModInfo::FLAG_HIDDEN_FILES and check in modinfowithconflictinfo 2020-01-14 20:55:34 +01:00
Chris Bessent 3fb21b74a9 Merge pull request #969 from ModOrganizer2/2_2_2
Pull in 2.2.2.1 changes
2020-01-13 22:41:40 -07:00
Al b9ff5cc7dc Merge pull request #961 from Al12rs/filter-fix
Nestled categories in filters missing fix
2020-01-09 12:34:42 +01:00
AL 62a6b1ce5e Updated translations 2020-01-09 02:09:28 +01:00
AL 3c6804c502 Add headers with tooltips to Filter view. 2020-01-09 02:02:24 +01:00
AL 734bd0ed20 List all categories flatly in filters view as nestled ones would otherwise not be accessible. 2020-01-09 02:00:50 +01:00
Jeremy Rimpo f37ec77b26 Merge pull request #959 from ModOrganizer2/qt-5-14
Qt 5 14
2020-01-07 11:55:13 -06:00
Silarn 81abbacd67 Update manifest for 5.14 dlls 2019-12-31 02:53:58 -06:00
Silarn d259a0e1fa Migrate obsoleted qVariantFromValue 2019-12-31 02:49:15 -06:00
513 changed files with 79962 additions and 55418 deletions
+41
View File
@@ -0,0 +1,41 @@
---
# We'll use defaults from the LLVM style, but with 4 columns indentation.
BasedOnStyle: LLVM
IndentWidth: 2
---
Language: Cpp
DeriveLineEnding: false
UseCRLF: true
DerivePointerAlignment: false
PointerAlignment: Left
AlignConsecutiveAssignments: true
AllowShortFunctionsOnASingleLine: Inline
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: Empty
AlwaysBreakTemplateDeclarations: Yes
AccessModifierOffset: -2
AlignTrailingComments: true
SpacesBeforeTrailingComments: 2
NamespaceIndentation: Inner
MaxEmptyLinesToKeep: 1
BreakBeforeBraces: Custom
BraceWrapping:
AfterCaseLabel: false
AfterClass: true
AfterControlStatement: false
AfterEnum: true
AfterFunction: true
AfterNamespace: true
AfterStruct: true
AfterUnion: true
AfterExternBlock: true
BeforeCatch: false
BeforeElse: false
BeforeLambdaBody: false
BeforeWhile: false
IndentBraces: false
SplitEmptyFunction: false
SplitEmptyRecord: false
SplitEmptyNamespace: true
ColumnLimit: 88
ForEachMacros: ['Q_FOREACH', 'foreach']
+2
View File
@@ -0,0 +1,2 @@
d13f6bb870cdda71257f665367be8ef9fca86255
86bb01ba9eac879d3685c439ac9da0028bc4bc80
+7
View File
@@ -0,0 +1,7 @@
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto
# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
*.cpp text eol=crlf
*.h text eol=crlf
@@ -0,0 +1,27 @@
---
name: Game support Request
about: Request support for a new game
title: Add support for game [GAME NAME]
labels: 'Feature Request, additional games support, area: mo2 game plugins'
assignees: ''
---
**This template is useful to add basic support using https://github.com/ModOrganizer2/modorganizer-basic_games.**
**If you are vaguely familiar with programming you can try following the instructions on that link to get something working yourself. If you have trouble with that please fill in this template.**
**Please provide the following information for the game (remove the optional lines you do not use):**
- **Name:** Name of the game
- **Short name:** Name of the game in Nexus URL (e.g. skyrimse for Skyrim SE).
- **Nexus ID [optional]:** ID of the game on Nexus (you can usually find this in Nexus URL).
- **Executable:** Name of the main executable for the game (relative to the game folder).
- **Launcher [optional]:** Name of the game launcher (relative to the game folder).
- **Data path:** Path to the data folder of the game (relative to the game folder). Please note that the Virtual Files System often does not work for top level dlls or exe files.
- **Documents path:** Path to folder containing INI files, etc., for the game (usually under "My Games", or the game folder itself).
- **Saves directory [optional]:** Path to the folder containing save games (this default to the path above).
- **Save extension [optional]:** Extension of the saves
- **Steam ID [optional]:** ID of the game on Steam (if the game is on Steam).
**Provide additional details regarding the game that could be required for the plugin.**
+5 -4
View File
@@ -8,7 +8,7 @@ assignees: ''
---
## The problem:
Briefly describe the issue you are experiencing. Tell us what you were trying to do and what happened instead. Remember, this is _not_ a place to ask questions. For that, go to our [discord channel](https://discord.gg/5tCqt6V)
Briefly describe the issue you are experiencing. Tell us what you were trying to do and what happened instead. Remember, this is _not_ a place to ask questions. For that, go to our [Discord server](https://discord.gg/ewUVAqyrQX).
## To Reproduce:
@@ -20,7 +20,7 @@ Steps to reproduce the behavior:
## Environment:
* Mod Organizer Version that exhibits the issue:
* Last Mod Organizer Verison that did not exhibit the issue (if applicable):
* Last Mod Organizer Version that did not exhibit the issue (if applicable):
* Desktop OS/version used to run Mod Organizer:
## Details:
@@ -28,10 +28,11 @@ If necessary, describe the problem you have been experiencing with more details
## Link to Mod Organizer logs:
To access the log files you can press the Open folder icon over the modlist and select "Open MO2 Logs folder". You should close MO2 before sending or examining the logs as they are finished writing only after the program is closed.
Right click on the log window at the bottom of MO2, set log level to debug, restart Mo2 and reproduce the problem.
To access the log files you can press the Open folder icon over the modlist and select "Open MO2 Logs folder".
### USVFS:
Create a [GIST](https://gist.github.com) which is a paste of your USVFS logs, and link them here.
Create a [GIST](https://gist.github.com) which is a paste of your latest USVFS log, and link them here.
Do _NOT_ paste your full USVFS logs here, as it will make this issue very long and hard to read!
If you are reporting a bug, _always_ include the USVFS logs!
+33
View File
@@ -0,0 +1,33 @@
name: Build ModOrganizer 2
on:
push:
branches: [master]
pull_request:
types: [opened, synchronize, reopened]
env:
VCPKG_BINARY_SOURCES: ${{ vars.AZ_BLOB_VCPKG_URL != '' && format('clear;x-azblob,{0},{1},readwrite', vars.AZ_BLOB_VCPKG_URL, secrets.AZ_BLOB_SAS) || '' }}
jobs:
build:
runs-on: windows-2022
steps:
- name: Build ModOrganizer
id: build-modorganizer
uses: ModOrganizer2/build-with-mob-action@master
with:
qt-modules: qtpositioning qtwebchannel qtwebengine qtwebsockets qtnetworkauth
mo2-dependencies: usvfs uibase bsatk esptk archive lootcli
- name: Install ModOrganizer
shell: pwsh
run: |
cmake --install vsbuild --config RelWithDebInfo
working-directory: ./build/${{ github.event.repository.name }}
- name: Package ModOrganizer
uses: actions/upload-artifact@master
with:
name: modorganizer
path: ./install/bin
+17
View File
@@ -0,0 +1,17 @@
name: Lint ModOrganizer 2
on:
push:
pull_request:
types: [opened, synchronize, reopened]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Check format
uses: ModOrganizer2/check-formatting-action@master
with:
check-path: "."
exclude-regex: "third-party"
+5 -1
View File
@@ -8,8 +8,12 @@ src/*.bak
CMakeLists.txt.user
edit
/CMakeFiles
.idea
.idea/*
!.idea/filetypes/
!.idea/filetypes/qt-translations.xml
/msbuild.log
/*std*.log
/*build
/src/version.aps
.idea/
-46
View File
@@ -1,46 +0,0 @@
syntax: glob
scons_configure.py
scons-ModOrganizer-*
ModOrganizer-build-desktop*
outputd/*
output/*
build-ModOrganizer-*
source/NCC/*/bin
source/NCC/*/obj
source/NCC/bin
*.orig
source/plugins/proxyPython/build
staging/*
source - Copy/*
ModOrganizer-build-*
pdbs/*
source/NCC/BossDummy.x/*
*.ts
staging_prepare/*
staging_trans/*
tools/python_zip/*
Makefile
html
*.vcxproj
*.pdb
*.dll
*.exp
*.tlog
*.user
*.obj
*.suo
*.sln
*.log
*.filters
*.lib
source/organizer/resources/contents/icons
source/plugins/build-*
*/GeneratedFiles/*
translations/*
source/LocalPaths.pri
source/*/Win32/Debug/*
source/plugins/*/Win32/Debug/*
*~
syntax: regexp
Makefile\.(Debug|Release)
source/.*/debug/.*
+20
View File
@@ -0,0 +1,20 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-merge-conflict
- id: check-case-conflict
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v22.1.5
hooks:
- id: clang-format
'types_or': [c++, c]
ci:
autofix_commit_msg: "[pre-commit.ci] Auto fixes from pre-commit.com hooks."
autofix_prs: true
autoupdate_commit_msg: "[pre-commit.ci] Pre-commit autoupdate."
autoupdate_schedule: quarterly
submodules: false
+16 -34
View File
@@ -1,39 +1,21 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12)
cmake_minimum_required(VERSION 3.16)
ADD_COMPILE_OPTIONS(
$<$<CXX_COMPILER_ID:MSVC>:/MP>
$<$<CXX_COMPILER_ID:MSVC>:/D_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING>
$<$<CXX_COMPILER_ID:MSVC>:$<$<CONFIG:RELEASE>:/O2>>
$<$<CXX_COMPILER_ID:MSVC>:$<$<CONFIG:RELWITHDEBINFO>:/O2>>)
# TODO: clean include directives
set(MO2_CMAKE_DEPRECATED_UIBASE_INCLUDE ON)
PROJECT(organizer)
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")
# if MO2_INSTALL_IS_BIN is set, this means that we should install directly into the
# installation prefix, without the bin/ subfolder, typically for a standalone build
# to update an existing install
if (MO2_INSTALL_IS_BIN)
set(_bin ".")
else()
set(_bin bin)
endif()
INSTALL(FILES dump_running_process.bat DESTINATION bin)
add_subdirectory(src)
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT organizer)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/dump_running_process.bat DESTINATION ${_bin})
+71
View File
@@ -0,0 +1,71 @@
{
"configurePresets": [
{
"errors": {
"deprecated": true
},
"hidden": true,
"name": "cmake-dev",
"warnings": {
"deprecated": true,
"dev": true
}
},
{
"cacheVariables": {
"VCPKG_MANIFEST_NO_DEFAULT_FEATURES": {
"type": "BOOL",
"value": "ON"
}
},
"toolchainFile": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake",
"hidden": true,
"name": "vcpkg"
},
{
"binaryDir": "${sourceDir}/vsbuild",
"architecture": {
"strategy": "set",
"value": "x64"
},
"cacheVariables": {
"CMAKE_CXX_FLAGS": "/EHsc /MP /W4",
"VCPKG_TARGET_TRIPLET": {
"type": "STRING",
"value": "x64-windows-static-md"
}
},
"generator": "Visual Studio 17 2022",
"inherits": ["cmake-dev", "vcpkg"],
"name": "vs2022-windows",
"toolset": "v143"
},
{
"cacheVariables": {
"VCPKG_MANIFEST_FEATURES": {
"type": "STRING",
"value": "standalone"
},
"MO2_INSTALL_IS_BIN": {
"type": "BOOL",
"value": "ON"
}
},
"inherits": "vs2022-windows",
"name": "vs2022-windows-standalone"
}
],
"buildPresets": [
{
"name": "vs2022-windows",
"resolvePackageReferences": "on",
"configurePreset": "vs2022-windows"
},
{
"name": "vs2022-windows-standalone",
"resolvePackageReferences": "on",
"configurePreset": "vs2022-windows-standalone"
}
],
"version": 4
}
+1 -1
View File
@@ -671,4 +671,4 @@ into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
-713
View File
File diff suppressed because it is too large Load Diff
-32
View File
@@ -1,32 +0,0 @@
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
+1 -1
View File
@@ -1,2 +1,2 @@
pushd "%~dp0"
start ModOrganizer.exe --crashdump
start ModOrganizer.exe crashdump
-30
View File
@@ -1,30 +0,0 @@
[
# for boost???
# These are probably correct but might need a revisit as if you look at the boost documentation pages, it
# can give you huge lists of alternate includes...
{ symbol: [ "BOOST_FOREACH", "private", "<boost/foreach.hpp>", "public" ] },
{ include: [ "@\"boost/bind/.*\"", "private", "<boost/bind.hpp>", "public" ] },
{ include: [ "@\"boost/algorithm/string/.*\"", "private", "<boost/algorithm/string.hpp>", "public" ] },
{ include: [ "@\"boost/assign/.*\"", "private", "<boost/assign.hpp>", "public" ] },
{ include: [ "@\"boost/filesystem/.*\"", "private", "<boost/filesystem.hpp>", "public" ] },
{ include: [ "@\"boost/format/.*\"", "private", "<boost/format.hpp>", "public" ] },
{ include: [ "@\"boost/function/.*\"", "private", "<boost/function.hpp>", "public" ] },
{ include: [ "@\"boost/local/.*\"", "private", "<boost/locale.hpp>", "public" ] },
{ include: [ "@\"boost/python/.*\"", "private", "<boost/python.hpp>", "public" ] },
{ include: [ "@\"boost/signals2/.*\"", "private", "<boost/signals2.hpp>", "public" ] },
{ include: [ "\"boost/smart_ptr/scoped_array.hpp\"", "private", "<boost/scoped_array.hpp>", "public" ] },
{ include: [ "\"boost/smart_ptr/shared_ptr.hpp\"", "private", "<boost/shared_ptr.hpp>", "public" ] },
# this appears to be excessive
#{ include: [ "@\"boost/thread/.*\"", "private", "<boost/thread.hpp>", "public" ] },
# And this is specific to us
{ include: [ "\"appconfig.inc\"", "private", "\"appconfig.h\"", "public" ] },
]
# Ones I don't yet know how to deal with
#include "boost/fusion/container/vector/vector10_fwd.hpp" // for fusion
#include "boost/iterator/iterator_facade.hpp" // for operator!=
#include "boost/iterator/iterator_facade.hpp"
+109
View File
@@ -0,0 +1,109 @@
<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<Type Name="FileTreeItem"><DisplayString>{{
file={m_wsFile}
dir={m_isDirectory}
origin={m_originID}
flags={m_flags.i}
loaded={m_loaded}
expanded={m_expanded}
}}</DisplayString></Type>
<Type Name="QFileInfoPrivate">
<DisplayString Condition="0 == this">&lt;null&gt;</DisplayString>
<DisplayString>{fileEntry}</DisplayString>
<StringView>fileEntry</StringView>
<Expand>
<Item Name="QSharedData">*((Qt5Core.dll!QSharedData *) this)</Item>
<Item Name="fileEntry">fileEntry</Item>
<!--
<Item Name="metaData">metaData</Item>
<Item Name="fileListsInitialized">fileListsInitialized</Item>
<Item Name="fileEngine">fileEngine</Item>
<Item Name="fileNames">fileNames</Item>
<Item Name="fileOwners">fileOwners</Item>
<Item Name="cachedFlags">cachedFlags</Item>
<Item Name="isDefaultConstructed">isDefaultConstructed</Item>
<Item Name="cache_enabled">cache_enabled</Item>
<Item Name="fileFlags">fileFlags</Item>
<Item Name="fileSize">fileSize</Item>
<Item Name="fileTimes">fileTimes</Item>
-->
</Expand>
</Type>
<Type Name="QFileInfo">
<DisplayString>{*((Qt5Core.dll!QFileInfoPrivate *) d_ptr.d)}</DisplayString>
<StringView>*((Qt5Core.dll!QFileInfoPrivate *) d_ptr.d)</StringView>
<Expand>
<Item Name="QFileInfoPrivate">*((Qt5Core.dll!QFileInfoPrivate *) d_ptr.d)</Item>
</Expand>
</Type>
<Type Name="QFileSystemEntry">
<DisplayString Condition="0 == this">&lt;null&gt;</DisplayString>
<DisplayString>{m_filePath}</DisplayString>
<StringView>m_filePath</StringView>
<!--
<Expand>
<Item Name="m_filePath">m_filePath</Item>
<Item Name="m_nativeFilePath">m_nativeFilePath</Item>
<Item Name="m_lastSeparator">m_lastSeparator</Item>
<Item Name="m_firstDotInFileName">m_firstDotInFileName</Item>
<Item Name="m_lastDotInFileName">m_lastDotInFileName</Item>
</Expand>
-->
</Type>
<Type Name="QDirPrivate">
<DisplayString Condition="0 == this">&lt;null&gt;</DisplayString>
<DisplayString>{dirEntry}</DisplayString>
<StringView>dirEntry</StringView>
<Expand>
<Item Name="QSharedData">*((Qt5Core.dll!QSharedData *) this)</Item>
<Item Name="dirEntry">dirEntry</Item>
<Item Name="nameFilters">nameFilters</Item>
<Item Name="absoluteDirEntry">absoluteDirEntry</Item>
<!--
<Item Name="metaData">metaData</Item>
<Item Name="fileListsInitialized">fileListsInitialized</Item>
<Item Name="fileEngine">fileEngine</Item>
<Item Name="files">files</Item>
<Item Name="fileInfos">fileInfos</Item>
<Item Name="sort">sort</Item>
<Item Name="filters">filters</Item>
-->
</Expand>
</Type>
<Type Name="QDir">
<DisplayString>{*((Qt5Core.dll!QDirPrivate *) d_ptr.d)}</DisplayString>
<StringView>*((Qt5Core.dll!QDirPrivate *) d_ptr.d)</StringView>
<Expand>
<Item Name="QDirPrivate">*((Qt5Core.dll!QDirPrivate *) d_ptr.d)</Item>
</Expand>
</Type>
<Type Name="QFilePrivate">
<DisplayString Condition="0 == this">&lt;null&gt;</DisplayString>
<DisplayString>{fileName}</DisplayString>
<StringView>fileName</StringView>
<Expand>
<Item Name="QFileDevice">*((Qt5Core.dll!QFileDevice *) this)</Item>
<Item Name="fileName">fileName</Item>
</Expand>
</Type>
<Type Name="QFile">
<DisplayString>{*((Qt5Core.dll!QFilePrivate *) d_ptr.d)}</DisplayString>
<StringView>*((Qt5Core.dll!QFilePrivate *) d_ptr.d)</StringView>
<Expand>
<Item Name="QFilePrivate">*((Qt5Core.dll!QFilePrivate *) d_ptr.d)</Item>
</Expand>
</Type>
</AutoVisualizer>
BIN
View File
Binary file not shown.
-2478
View File
File diff suppressed because it is too large Load Diff

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