Redo the console window. Log is now a page. Console window has relevant pages.
Dirty fix for screenshot thumbnail generation. Needs more QTimer.
This commit is contained in:
		@@ -106,6 +106,18 @@ QString BaseInstance::id() const
 | 
			
		||||
	return QFileInfo(instanceRoot()).fileName();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool BaseInstance::isRunning() const
 | 
			
		||||
{
 | 
			
		||||
	I_D(BaseInstance);
 | 
			
		||||
	return d->m_isRunning;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void BaseInstance::setRunning(bool running) const
 | 
			
		||||
{
 | 
			
		||||
	I_D(BaseInstance);
 | 
			
		||||
	d->m_isRunning = running;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
QString BaseInstance::instanceType() const
 | 
			
		||||
{
 | 
			
		||||
	I_D(BaseInstance);
 | 
			
		||||
 
 | 
			
		||||
@@ -65,6 +65,9 @@ public:
 | 
			
		||||
	/// be unique.
 | 
			
		||||
	virtual QString id() const;
 | 
			
		||||
 | 
			
		||||
	virtual void setRunning(bool running) const;
 | 
			
		||||
	virtual bool isRunning() const;
 | 
			
		||||
 | 
			
		||||
	/// get the type of this instance
 | 
			
		||||
	QString instanceType() const;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -32,4 +32,5 @@ public:
 | 
			
		||||
	QString m_group;
 | 
			
		||||
	std::shared_ptr<SettingsObject> m_settings;
 | 
			
		||||
	QSet<BaseInstance::InstanceFlag> m_flags;
 | 
			
		||||
	bool m_isRunning = false;
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
@@ -52,14 +52,14 @@ QList<BasePage *> LegacyInstance::getPages()
 | 
			
		||||
	QList<BasePage *> values;
 | 
			
		||||
	values.append(new LegacyUpgradePage(this));
 | 
			
		||||
	values.append(new LegacyJarModPage(this));
 | 
			
		||||
	values.append(new ModFolderPage(loaderModList(), "mods", "plugin-blue", tr("Loader mods"),
 | 
			
		||||
	values.append(new ModFolderPage(this, loaderModList(), "mods", "plugin-blue", tr("Loader mods"),
 | 
			
		||||
									"Loader-mods"));
 | 
			
		||||
	values.append(new ModFolderPage(coreModList(), "coremods", "plugin-green", tr("Core mods"),
 | 
			
		||||
	values.append(new ModFolderPage(this, coreModList(), "coremods", "plugin-green", tr("Core mods"),
 | 
			
		||||
									"Core-mods"));
 | 
			
		||||
	values.append(new TexturePackPage(this));
 | 
			
		||||
	values.append(new NotesPage(this));
 | 
			
		||||
	values.append(new ScreenshotsPage(this));
 | 
			
		||||
	values.append(new InstanceSettingsPage(&settings()));
 | 
			
		||||
	values.append(new InstanceSettingsPage(this));
 | 
			
		||||
	return values;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -71,6 +71,9 @@ MinecraftProcess::MinecraftProcess(InstancePtr inst) : m_instance(inst)
 | 
			
		||||
		connect(&m_prepostlaunchprocess, &QProcess::readyReadStandardOutput, this,
 | 
			
		||||
				&MinecraftProcess::on_prepost_stdOut);
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	// a process has been constructed for the instance. It is running from MultiMC POV
 | 
			
		||||
	m_instance->setRunning(true);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void MinecraftProcess::setWorkdir(QString path)
 | 
			
		||||
@@ -254,6 +257,8 @@ void MinecraftProcess::finish(int code, ExitStatus status)
 | 
			
		||||
	// run post-exit
 | 
			
		||||
	postLaunch();
 | 
			
		||||
	m_instance->cleanupAfterRun();
 | 
			
		||||
	// no longer running...
 | 
			
		||||
	m_instance->setRunning(false);
 | 
			
		||||
	emit ended(m_instance, code, status);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -304,6 +309,8 @@ bool MinecraftProcess::preLaunch()
 | 
			
		||||
			m_instance->cleanupAfterRun();
 | 
			
		||||
			emit prelaunch_failed(m_instance, m_prepostlaunchprocess.exitCode(),
 | 
			
		||||
								  m_prepostlaunchprocess.exitStatus());
 | 
			
		||||
			// not running, failed
 | 
			
		||||
			m_instance->setRunning(false);
 | 
			
		||||
			return false;
 | 
			
		||||
		}
 | 
			
		||||
		else
 | 
			
		||||
@@ -343,6 +350,8 @@ bool MinecraftProcess::postLaunch()
 | 
			
		||||
					 MessageLevel::Error);
 | 
			
		||||
			emit postlaunch_failed(m_instance, m_prepostlaunchprocess.exitCode(),
 | 
			
		||||
								   m_prepostlaunchprocess.exitStatus());
 | 
			
		||||
			// not running, failed
 | 
			
		||||
			m_instance->setRunning(false);
 | 
			
		||||
		}
 | 
			
		||||
		else
 | 
			
		||||
			emit log(tr("Post-Launch command ran successfully.\n\n"));
 | 
			
		||||
@@ -460,6 +469,8 @@ void MinecraftProcess::arm()
 | 
			
		||||
		emit log(tr("Could not launch minecraft!"), MessageLevel::Error);
 | 
			
		||||
		m_instance->cleanupAfterRun();
 | 
			
		||||
		emit launch_failed(m_instance);
 | 
			
		||||
		// not running, failed
 | 
			
		||||
		m_instance->setRunning(false);
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
	// send the launch script to the launcher part
 | 
			
		||||
 
 | 
			
		||||
@@ -63,15 +63,15 @@ QList<BasePage *> OneSixInstance::getPages()
 | 
			
		||||
{
 | 
			
		||||
	QList<BasePage *> values;
 | 
			
		||||
	values.append(new VersionPage(this));
 | 
			
		||||
	values.append(new ModFolderPage(loaderModList(), "mods", "plugin-blue", tr("Loader mods"),
 | 
			
		||||
	values.append(new ModFolderPage(this, loaderModList(), "mods", "plugin-blue", tr("Loader mods"),
 | 
			
		||||
									"Loader-mods"));
 | 
			
		||||
	values.append(new ModFolderPage(coreModList(), "coremods", "plugin-green", tr("Core mods"),
 | 
			
		||||
	values.append(new ModFolderPage(this, coreModList(), "coremods", "plugin-green", tr("Core mods"),
 | 
			
		||||
									"Core-mods"));
 | 
			
		||||
	values.append(new ResourcePackPage(this));
 | 
			
		||||
	values.append(new TexturePackPage(this));
 | 
			
		||||
	values.append(new NotesPage(this));
 | 
			
		||||
	values.append(new ScreenshotsPage(this));
 | 
			
		||||
	values.append(new InstanceSettingsPage(&settings()));
 | 
			
		||||
	values.append(new InstanceSettingsPage(this));
 | 
			
		||||
	return values;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user