Skip to content
This repository has been archived by the owner on Nov 8, 2020. It is now read-only.

Add menu option to export installed mods as .ckan #123

Merged
merged 1 commit into from
May 19, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 22 additions & 5 deletions Main.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

24 changes: 23 additions & 1 deletion Main.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
using log4net;
using System.Collections.Generic;
using System.Drawing;
using Newtonsoft.Json;
using CKAN.Properties;

namespace CKAN
{
Expand Down Expand Up @@ -826,7 +828,7 @@ private void pluginsToolStripMenuItem_Click(object sender, EventArgs e)

private void installFromckanToolStripMenuItem_Click(object sender, EventArgs e)
{
m_OpenFileDialog.Filter = "CKAN metadata (*.ckan)|*.ckan";
m_OpenFileDialog.Filter = Resources.CKANFileFilter;

if (m_OpenFileDialog.ShowDialog() == DialogResult.OK)
{
Expand Down Expand Up @@ -874,6 +876,26 @@ private void installFromckanToolStripMenuItem_Click(object sender, EventArgs e)
ShowWaitDialog();
}
}

/// <summary>
/// Exports installed mods to a .ckan file.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void exportModListToolStripMenuItem_Click(object sender, EventArgs e)
{
var dlg = new SaveFileDialog();
dlg.Filter = Resources.CKANFileFilter;
dlg.Title = Resources.ExportInstalledModsDialogTitle;

if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) {
// Save, just to be certain that the installed-*.ckan metapackage is generated
RegistryManager.Instance(CurrentInstance).Save();

// TODO: The core might eventually save as something other than 'installed-default.ckan'
File.Copy(Path.Combine(CurrentInstance.CkanDir(), "installed-default.ckan"), dlg.FileName);
}
}
}

public class GUIUser : NullUser
Expand Down
20 changes: 19 additions & 1 deletion Properties/Resources.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions Properties/Resources.resx
Original file line number Diff line number Diff line change
Expand Up @@ -136,4 +136,10 @@
<data name="ksp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ksp.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="CKANFileFilter" xml:space="preserve">
<value>CKAN metadata (*.ckan)|*.ckan</value>
</data>
<data name="ExportInstalledModsDialogTitle" xml:space="preserve">
<value>Export Mod List</value>
</data>
</root>