summaryrefslogtreecommitdiff
path: root/src/main.cpp
Commit message (Collapse)AuthorAgeFilesLines
* force instance selection when the current instance cannot be usedisanae2021-02-131-2/+7
| | | | 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
* Implementation --pick argument.Mikaël Capelle2021-01-281-1/+4
|
* renamed Refresh to TriggerRefresh, added WaitForRefreshisanae2021-01-181-0/+18
| | | | | | | | 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
* commentsisanae2021-01-181-8/+23
|
* moved externalMessage() to MOApplicationisanae2021-01-181-17/+17
| | | | | | 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)
* fixed all commands being legacyisanae2021-01-181-2/+2
| | | | split running command into pre and post organizer
* split run() into setup() and run()isanae2021-01-181-2/+58
| | | | | 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
* don't attempt to parse the command line for launch, it fails in all sorts of ↵isanae2020-11-091-2/+3
| | | | | | ways don't try to time stuff before logging is initialized, an exception before initLogging() will crash because ~TimeThis() tries to log
* renamed singleinstance.h/cpp to multiprocess.h/cppisanae2020-11-081-1/+1
|
* renamed SingleInstance to MOMultiProcessisanae2020-11-081-8/+8
| | | | rewrote some comments to avoid using "instance"
* timingsisanae2020-11-081-0/+4
|
* stopped using core dump stuff from usvfs, mo has its ownisanae2020-11-071-10/+17
| | | | | set exception handler at the start, it can handle not having qt or data paths hopefully fixed infinite crash dumps
* reordered functions, removed unused headersisanae2020-11-071-74/+39
|
* moved most of the stuff from main.cpp into MOApplicationisanae2020-11-071-285/+3
|
* added sanitychecks.h, moved to namespace sanityisanae2020-11-071-11/+11
| | | | added a set SetThisThreadName() after creating the main window, Qt resets it
* moved handleCommandLine() to CommandLine::setupCore()isanae2020-11-071-50/+1
|
* refactored setupInstance(), commentsisanae2020-11-071-1/+1
| | | | ok -> okay
* moved instance setup/selection to instancemanager.cppisanae2020-11-071-178/+3
| | | | comments
* moved dlls stuff to MOApplicationisanae2020-11-071-39/+1
|
* moved splash stuff to MOSplashisanae2020-11-071-69/+2
| | | | comments
* added ... to the "Delete Instance" button to make it less scaryisanae2020-11-071-4/+4
| | | | | | | 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
* removed some redundant functions in InstanceManager, made them all non-staticisanae2020-11-071-9/+9
| | | | documentation
* renamed InstanceManager::instance() to singleton() to avoid confusionisanae2020-11-061-7/+7
|
* pass null IOrganizer to proxy plugins instead of one with a null OrganizerCoreisanae2020-11-061-1/+5
| | | | | removed now useless null checks in OrganizerProxy call setPluginDataPath() early so plugins can have it, since it's now a static function in IOrganizer
* added IPlugin::registered()isanae2020-11-041-7/+30
| | | | | | | | 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
* replaced #pragma once by ifdefsisanae2020-11-031-7/+7
| | | | | | | 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
* show create instance dialog on startup if there are no instancesisanae2020-11-031-1/+11
|
* replace "create instance" title by "setting up instance"isanae2020-11-031-5/+5
| | | | fixed bad game location for custom paths
* InstanceManager now returns new Instance struct instead of instance nameisanae2020-11-031-70/+193
| | | | | 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
* moved nexus api stuff to GlobalSettingsisanae2020-11-031-6/+21
| | | | | | | 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
* split nexus connection stuff into NexusConnectionUI so it can be reused in ↵isanae2020-11-031-5/+5
| | | | | | | | | | 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
* fixed settings doing weird stuff with multiple instancesisanae2020-11-031-4/+6
| | | | | sort games by name added intro and confirmation pages
* started create instance dialogisanae2020-11-031-0/+9
| | | | | allow for multiple instances of Settings fill in information in instance manager
* fixed splash not trying the default oneisanae2020-11-031-6/+20
|
* moved profile, current game and game edition checks to InstanceManagerisanae2020-11-031-224/+10
| | | | trying to centralize all of this stuff
* refactored stuff into determineGameEdition() and handleCommandLine()isanae2020-11-031-71/+100
|
* more refactoring:isanae2020-11-031-94/+119
| | | | | - moved splash stuff together - moved stuff in the main loop into doOneRun()
* removed flags from SingleInstance because there's only one leftisanae2020-11-031-114/+111
| | | | | | refactoring in main.cpp: - moved stuff to loglist.cpp and moapplication.cpp - split main() into a few functions
* moved initLogging() to loglist.cppisanae2020-11-031-65/+2
|
* removed unused HaveWriteAccess()isanae2020-11-031-99/+2
| | | | stop useless preloading of ssl dlls
* cleaned up includesisanae2020-11-031-56/+5
|
* fixed handling of profile names with different casing than on the filesystemisanae2020-11-031-2/+4
| | | | added --instance
* add warning when profile given with -p doesn't existisanae2020-11-031-65/+52
| | | | implemented moshortcut, nxm links and executable names as command line options
* removed unused `update` parameterisanae2020-11-031-6/+1
| | | | moved --multiple to CommandLine
* implemented `launch` as a commandisanae2020-11-031-65/+4
|
* new CommandLine classisanae2020-11-031-26/+5
| | | | | implemented crashdump as a command, fixed dump_running_process.bat to use it attach to console if present instead of always create one
* added --multiple to allow launching multiple instancesisanae2020-11-031-19/+28
|
* Compatibility fix for Qt 5.15.xJeremy Rimpo2020-09-091-1/+1
|
* always call the previous terminate handler, which should abortisanae2020-08-131-1/+8
| | | | without it, execution just resumes and dumps are created endlessly
* revert font scaling:isanae2020-08-011-12/+1
| | | | | | | | | | - 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