mirror of
https://github.com/ShareX/ShareX.git
synced 2024-07-01 04:30:49 +12:00
Populate assets folder path and package file path automatically
This commit is contained in:
parent
2a2f42639f
commit
b2c6e9fd25
|
@ -28,58 +28,91 @@ protected override void Dispose(bool disposing)
|
|||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.lblAssetsFolder = new System.Windows.Forms.Label();
|
||||
this.txtAssetsFolder = new System.Windows.Forms.TextBox();
|
||||
this.btnPackage = new System.Windows.Forms.Button();
|
||||
this.btnAssetsFolderBrowse = new System.Windows.Forms.Button();
|
||||
this.lblAssetsFolderPath = new System.Windows.Forms.Label();
|
||||
this.lblPackageFilePath = new System.Windows.Forms.Label();
|
||||
this.txtPackageFilePath = new System.Windows.Forms.TextBox();
|
||||
this.btnPackageFilePathBrowse = new System.Windows.Forms.Button();
|
||||
this.txtAssetsFolderPath = new System.Windows.Forms.TextBox();
|
||||
this.btnAssetsFolderPathBrowse = new System.Windows.Forms.Button();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// lblAssetsFolder
|
||||
//
|
||||
this.lblAssetsFolder.AutoSize = true;
|
||||
this.lblAssetsFolder.Location = new System.Drawing.Point(13, 16);
|
||||
this.lblAssetsFolder.Name = "lblAssetsFolder";
|
||||
this.lblAssetsFolder.Size = new System.Drawing.Size(118, 13);
|
||||
this.lblAssetsFolder.TabIndex = 0;
|
||||
this.lblAssetsFolder.Text = "Assets folder (Optional):";
|
||||
//
|
||||
// txtAssetsFolder
|
||||
//
|
||||
this.txtAssetsFolder.Location = new System.Drawing.Point(16, 32);
|
||||
this.txtAssetsFolder.Name = "txtAssetsFolder";
|
||||
this.txtAssetsFolder.Size = new System.Drawing.Size(336, 20);
|
||||
this.txtAssetsFolder.TabIndex = 1;
|
||||
this.txtAssetsFolder.TextChanged += new System.EventHandler(this.txtAssetsFolder_TextChanged);
|
||||
//
|
||||
// btnPackage
|
||||
//
|
||||
this.btnPackage.Location = new System.Drawing.Point(16, 64);
|
||||
this.btnPackage.Location = new System.Drawing.Point(16, 112);
|
||||
this.btnPackage.Name = "btnPackage";
|
||||
this.btnPackage.Size = new System.Drawing.Size(128, 23);
|
||||
this.btnPackage.TabIndex = 3;
|
||||
this.btnPackage.Text = "Package...";
|
||||
this.btnPackage.TabIndex = 0;
|
||||
this.btnPackage.Text = "Package";
|
||||
this.btnPackage.UseVisualStyleBackColor = true;
|
||||
this.btnPackage.Click += new System.EventHandler(this.btnPackage_Click);
|
||||
//
|
||||
// btnAssetsFolderBrowse
|
||||
// lblAssetsFolderPath
|
||||
//
|
||||
this.btnAssetsFolderBrowse.Location = new System.Drawing.Point(360, 31);
|
||||
this.btnAssetsFolderBrowse.Name = "btnAssetsFolderBrowse";
|
||||
this.btnAssetsFolderBrowse.Size = new System.Drawing.Size(32, 23);
|
||||
this.btnAssetsFolderBrowse.TabIndex = 2;
|
||||
this.btnAssetsFolderBrowse.Text = "...";
|
||||
this.btnAssetsFolderBrowse.UseVisualStyleBackColor = true;
|
||||
this.btnAssetsFolderBrowse.Click += new System.EventHandler(this.btnAssetsFolderBrowse_Click);
|
||||
this.lblAssetsFolderPath.AutoSize = true;
|
||||
this.lblAssetsFolderPath.Location = new System.Drawing.Point(13, 16);
|
||||
this.lblAssetsFolderPath.Name = "lblAssetsFolderPath";
|
||||
this.lblAssetsFolderPath.Size = new System.Drawing.Size(94, 13);
|
||||
this.lblAssetsFolderPath.TabIndex = 1;
|
||||
this.lblAssetsFolderPath.Text = "Assets folder path:";
|
||||
//
|
||||
// lblPackageFilePath
|
||||
//
|
||||
this.lblPackageFilePath.AutoSize = true;
|
||||
this.lblPackageFilePath.Location = new System.Drawing.Point(13, 64);
|
||||
this.lblPackageFilePath.Name = "lblPackageFilePath";
|
||||
this.lblPackageFilePath.Size = new System.Drawing.Size(93, 13);
|
||||
this.lblPackageFilePath.TabIndex = 4;
|
||||
this.lblPackageFilePath.Text = "Package file path:";
|
||||
//
|
||||
// txtPackageFilePath
|
||||
//
|
||||
this.txtPackageFilePath.Location = new System.Drawing.Point(16, 80);
|
||||
this.txtPackageFilePath.Name = "txtPackageFilePath";
|
||||
this.txtPackageFilePath.Size = new System.Drawing.Size(344, 20);
|
||||
this.txtPackageFilePath.TabIndex = 5;
|
||||
this.txtPackageFilePath.TextChanged += new System.EventHandler(this.txtPackageFilePath_TextChanged);
|
||||
//
|
||||
// btnPackageFilePathBrowse
|
||||
//
|
||||
this.btnPackageFilePathBrowse.Location = new System.Drawing.Point(368, 79);
|
||||
this.btnPackageFilePathBrowse.Name = "btnPackageFilePathBrowse";
|
||||
this.btnPackageFilePathBrowse.Size = new System.Drawing.Size(32, 23);
|
||||
this.btnPackageFilePathBrowse.TabIndex = 6;
|
||||
this.btnPackageFilePathBrowse.Text = "...";
|
||||
this.btnPackageFilePathBrowse.UseVisualStyleBackColor = true;
|
||||
this.btnPackageFilePathBrowse.Click += new System.EventHandler(this.btnPackageFilePathBrowse_Click);
|
||||
//
|
||||
// txtAssetsFolderPath
|
||||
//
|
||||
this.txtAssetsFolderPath.Location = new System.Drawing.Point(16, 32);
|
||||
this.txtAssetsFolderPath.Name = "txtAssetsFolderPath";
|
||||
this.txtAssetsFolderPath.Size = new System.Drawing.Size(344, 20);
|
||||
this.txtAssetsFolderPath.TabIndex = 2;
|
||||
this.txtAssetsFolderPath.TextChanged += new System.EventHandler(this.txtAssetsFolderPath_TextChanged);
|
||||
//
|
||||
// btnAssetsFolderPathBrowse
|
||||
//
|
||||
this.btnAssetsFolderPathBrowse.Location = new System.Drawing.Point(368, 31);
|
||||
this.btnAssetsFolderPathBrowse.Name = "btnAssetsFolderPathBrowse";
|
||||
this.btnAssetsFolderPathBrowse.Size = new System.Drawing.Size(32, 23);
|
||||
this.btnAssetsFolderPathBrowse.TabIndex = 3;
|
||||
this.btnAssetsFolderPathBrowse.Text = "...";
|
||||
this.btnAssetsFolderPathBrowse.UseVisualStyleBackColor = true;
|
||||
this.btnAssetsFolderPathBrowse.Click += new System.EventHandler(this.btnAssetsFolderPathBrowse_Click);
|
||||
//
|
||||
// ImageEffectPackagerForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(409, 98);
|
||||
this.Controls.Add(this.btnAssetsFolderBrowse);
|
||||
this.ClientSize = new System.Drawing.Size(417, 145);
|
||||
this.Controls.Add(this.btnAssetsFolderPathBrowse);
|
||||
this.Controls.Add(this.txtAssetsFolderPath);
|
||||
this.Controls.Add(this.btnPackageFilePathBrowse);
|
||||
this.Controls.Add(this.txtPackageFilePath);
|
||||
this.Controls.Add(this.lblPackageFilePath);
|
||||
this.Controls.Add(this.lblAssetsFolderPath);
|
||||
this.Controls.Add(this.btnPackage);
|
||||
this.Controls.Add(this.txtAssetsFolder);
|
||||
this.Controls.Add(this.lblAssetsFolder);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
this.MaximizeBox = false;
|
||||
this.Name = "ImageEffectPackagerForm";
|
||||
|
@ -91,10 +124,12 @@ private void InitializeComponent()
|
|||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label lblAssetsFolder;
|
||||
private System.Windows.Forms.TextBox txtAssetsFolder;
|
||||
private System.Windows.Forms.Button btnPackage;
|
||||
private System.Windows.Forms.Button btnAssetsFolderBrowse;
|
||||
private System.Windows.Forms.Label lblAssetsFolderPath;
|
||||
private System.Windows.Forms.Label lblPackageFilePath;
|
||||
private System.Windows.Forms.TextBox txtPackageFilePath;
|
||||
private System.Windows.Forms.Button btnPackageFilePathBrowse;
|
||||
private System.Windows.Forms.TextBox txtAssetsFolderPath;
|
||||
private System.Windows.Forms.Button btnAssetsFolderPathBrowse;
|
||||
}
|
||||
}
|
|
@ -36,6 +36,7 @@ public partial class ImageEffectPackagerForm : Form
|
|||
public string ImageEffectName { get; private set; }
|
||||
public string ShareXImageEffectsFolderPath { get; private set; }
|
||||
public string AssetsFolderPath { get; set; }
|
||||
public string PackageFilePath { get; set; }
|
||||
|
||||
public ImageEffectPackagerForm(string json, string name, string imageEffectsFolderPath)
|
||||
{
|
||||
|
@ -45,24 +46,49 @@ public ImageEffectPackagerForm(string json, string name, string imageEffectsFold
|
|||
|
||||
InitializeComponent();
|
||||
ShareXResources.ApplyTheme(this);
|
||||
|
||||
AssetsFolderPath = Path.Combine(ShareXImageEffectsFolderPath, ImageEffectName);
|
||||
txtAssetsFolderPath.Text = AssetsFolderPath;
|
||||
PackageFilePath = AssetsFolderPath + ".sxie";
|
||||
txtPackageFilePath.Text = PackageFilePath;
|
||||
}
|
||||
|
||||
private void txtAssetsFolder_TextChanged(object sender, EventArgs e)
|
||||
private void txtAssetsFolderPath_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
AssetsFolderPath = txtAssetsFolder.Text;
|
||||
AssetsFolderPath = txtAssetsFolderPath.Text;
|
||||
}
|
||||
|
||||
private void btnAssetsFolderBrowse_Click(object sender, EventArgs e)
|
||||
private void btnAssetsFolderPathBrowse_Click(object sender, EventArgs e)
|
||||
{
|
||||
Helpers.BrowseFolder(txtAssetsFolder, ShareXImageEffectsFolderPath);
|
||||
Helpers.BrowseFolder(txtAssetsFolderPath, ShareXImageEffectsFolderPath);
|
||||
}
|
||||
|
||||
private void txtPackageFilePath_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
PackageFilePath = txtPackageFilePath.Text;
|
||||
}
|
||||
|
||||
private void btnPackageFilePathBrowse_Click(object sender, EventArgs e)
|
||||
{
|
||||
using (SaveFileDialog sfd = new SaveFileDialog())
|
||||
{
|
||||
sfd.DefaultExt = "sxie";
|
||||
sfd.FileName = ImageEffectName + ".sxie";
|
||||
sfd.Filter = "ShareX image effect (*.sxie)|*.sxie";
|
||||
sfd.InitialDirectory = ShareXImageEffectsFolderPath;
|
||||
|
||||
if (sfd.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
txtPackageFilePath.Text = sfd.FileName;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void btnPackage_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!string.IsNullOrEmpty(AssetsFolderPath) &&
|
||||
!AssetsFolderPath.StartsWith(ShareXImageEffectsFolderPath + "\\", StringComparison.OrdinalIgnoreCase))
|
||||
if (!string.IsNullOrEmpty(AssetsFolderPath) && !AssetsFolderPath.StartsWith(ShareXImageEffectsFolderPath + "\\", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
// TODO: Translate
|
||||
MessageBox.Show("Assets folder must be inside ShareX image effects folder.", "ShareX - " + "Invalid assets folder path",
|
||||
|
@ -70,22 +96,11 @@ private void btnPackage_Click(object sender, EventArgs e)
|
|||
}
|
||||
else
|
||||
{
|
||||
using (SaveFileDialog sfd = new SaveFileDialog())
|
||||
string outputFilePath = ImageEffectPackager.Package(PackageFilePath, ImageEffectJson, AssetsFolderPath);
|
||||
|
||||
if (!string.IsNullOrEmpty(outputFilePath) && File.Exists(outputFilePath))
|
||||
{
|
||||
sfd.DefaultExt = "sxie";
|
||||
sfd.FileName = ImageEffectName + ".sxie";
|
||||
sfd.Filter = "ShareX image effect (*.sxie)|*.sxie";
|
||||
sfd.InitialDirectory = ShareXImageEffectsFolderPath;
|
||||
|
||||
if (sfd.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
string outputFilePath = ImageEffectPackager.Package(sfd.FileName, ImageEffectJson, AssetsFolderPath);
|
||||
|
||||
if (!string.IsNullOrEmpty(outputFilePath) && File.Exists(outputFilePath))
|
||||
{
|
||||
Helpers.OpenFolderWithFile(outputFilePath);
|
||||
}
|
||||
}
|
||||
Helpers.OpenFolderWithFile(outputFilePath);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue