Notify the user of any errors
This commit is contained in:
		| @@ -554,17 +554,17 @@ QString MultiMC::getExitUpdatePath() const | |||||||
| 	return m_updateOnExitPath; | 	return m_updateOnExitPath; | ||||||
| } | } | ||||||
|  |  | ||||||
| void MultiMC::openJsonEditor(const QString &filename) | bool MultiMC::openJsonEditor(const QString &filename) | ||||||
| { | { | ||||||
| 	const QString file = QDir::current().absoluteFilePath(filename); | 	const QString file = QDir::current().absoluteFilePath(filename); | ||||||
| 	if (m_settings->get("JsonEditor").toString().isEmpty()) | 	if (m_settings->get("JsonEditor").toString().isEmpty()) | ||||||
| 	{ | 	{ | ||||||
| 		QDesktopServices::openUrl(QUrl::fromLocalFile(file)); | 		return QDesktopServices::openUrl(QUrl::fromLocalFile(file)); | ||||||
| 	} | 	} | ||||||
| 	else | 	else | ||||||
| 	{ | 	{ | ||||||
| 		QProcess::startDetached(m_settings->get("JsonEditor").toString(), | 		return QProcess::startDetached(m_settings->get("JsonEditor").toString(), | ||||||
| 								QStringList() << file); | 									   QStringList() << file); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -117,7 +117,7 @@ public: | |||||||
| 	 * Opens a json file using either a system default editor, or, if note empty, the editor | 	 * Opens a json file using either a system default editor, or, if note empty, the editor | ||||||
| 	 * specified in the settings | 	 * specified in the settings | ||||||
| 	 */ | 	 */ | ||||||
| 	void openJsonEditor(const QString &filename); | 	bool openJsonEditor(const QString &filename); | ||||||
|  |  | ||||||
| private: | private: | ||||||
| 	void initLogger(); | 	void initLogger(); | ||||||
|   | |||||||
| @@ -140,7 +140,10 @@ void OneSixModEditDialog::on_customEditorBtn_clicked() | |||||||
| { | { | ||||||
| 	if (m_inst->versionIsCustom()) | 	if (m_inst->versionIsCustom()) | ||||||
| 	{ | 	{ | ||||||
| 		MMC->openJsonEditor(m_inst->instanceRoot() + "/custom.json"); | 		if (!MMC->openJsonEditor(m_inst->instanceRoot() + "/custom.json")) | ||||||
|  | 		{ | ||||||
|  | 			QMessageBox::warning(this, tr("Error"), tr("Unable to open custom.json, check the settings")); | ||||||
|  | 		} | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -142,12 +142,21 @@ void SettingsDialog::on_jsonEditorBrowseBtn_clicked() | |||||||
| 			: ui->jsonEditorTextBox->text()); | 			: ui->jsonEditorTextBox->text()); | ||||||
| 	QString cooked_file = NormalizePath(raw_file); | 	QString cooked_file = NormalizePath(raw_file); | ||||||
|  |  | ||||||
|  | 	if (cooked_file.isEmpty()) | ||||||
|  | 	{ | ||||||
|  | 		return; | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	// it has to exist and be an executable | 	// it has to exist and be an executable | ||||||
| 	if (!cooked_file.isEmpty() && QFileInfo(cooked_file).exists() && | 	if (QFileInfo(cooked_file).exists() && | ||||||
| 		QFileInfo(cooked_file).isExecutable()) | 		QFileInfo(cooked_file).isExecutable()) | ||||||
| 	{ | 	{ | ||||||
| 		ui->jsonEditorTextBox->setText(cooked_file); | 		ui->jsonEditorTextBox->setText(cooked_file); | ||||||
| 	} | 	} | ||||||
|  | 	else | ||||||
|  | 	{ | ||||||
|  | 		QMessageBox::warning(this, tr("Invalid"), tr("The file choosen does not seem to be an executable")); | ||||||
|  | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
| void SettingsDialog::on_maximizedCheckBox_clicked(bool checked) | void SettingsDialog::on_maximizedCheckBox_clicked(bool checked) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user