Fix a few more crashes in XTM
This commit is contained in:
parent
6bca080d93
commit
8ec3e46978
|
@ -213,7 +213,7 @@
|
||||||
this.importbutton.Name = "importbutton";
|
this.importbutton.Name = "importbutton";
|
||||||
this.importbutton.Size = new System.Drawing.Size(60, 23);
|
this.importbutton.Size = new System.Drawing.Size(60, 23);
|
||||||
this.importbutton.TabIndex = 2;
|
this.importbutton.TabIndex = 2;
|
||||||
this.importbutton.Text = "Import";
|
this.importbutton.Text = "Import...";
|
||||||
this.importbutton.UseVisualStyleBackColor = true;
|
this.importbutton.UseVisualStyleBackColor = true;
|
||||||
this.importbutton.Click += new System.EventHandler(this.importbutton_Click_1);
|
this.importbutton.Click += new System.EventHandler(this.importbutton_Click_1);
|
||||||
//
|
//
|
||||||
|
@ -265,6 +265,7 @@
|
||||||
this.Controls.Add(this.themecolortextbg);
|
this.Controls.Add(this.themecolortextbg);
|
||||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||||
|
this.MaximizeBox = false;
|
||||||
this.Name = "XTM";
|
this.Name = "XTM";
|
||||||
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
|
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
|
||||||
this.Text = "XChat Theme Manager";
|
this.Text = "XChat Theme Manager";
|
||||||
|
|
|
@ -170,9 +170,22 @@ namespace thememan
|
||||||
private void importdialog_FileOk(object sender, System.ComponentModel.CancelEventArgs e)
|
private void importdialog_FileOk(object sender, System.ComponentModel.CancelEventArgs e)
|
||||||
{
|
{
|
||||||
FileInfo fi = new FileInfo(importDialog.FileName);
|
FileInfo fi = new FileInfo(importDialog.FileName);
|
||||||
string newTheme = extractTheme(fi);
|
string themeName = fi.Name.Remove(fi.Name.Length - fi.Extension.Length);
|
||||||
|
int result = extractTheme(fi);
|
||||||
ListThemes();
|
ListThemes();
|
||||||
themelist.SetSelected(themelist.FindStringExact(newTheme), true);
|
/* although a check is added to ListThemes(), this would still fail if the theme file was invalid or the theme is already installed */
|
||||||
|
switch (result)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
themelist.SetSelected(themelist.FindStringExact(themeName), true);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
MessageBox.Show("This theme is already installed!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
MessageBox.Show("Invalid theme file!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* gzip solution, not good enough coz we need multiple files
|
/* gzip solution, not good enough coz we need multiple files
|
||||||
|
@ -208,7 +221,7 @@ namespace thememan
|
||||||
|
|
||||||
private const long BUFFER_SIZE = 4096;
|
private const long BUFFER_SIZE = 4096;
|
||||||
|
|
||||||
private string extractTheme(FileInfo zipFile)
|
private int extractTheme(FileInfo zipFile)
|
||||||
{
|
{
|
||||||
string themeName = zipFile.Name.Remove(zipFile.Name.Length - zipFile.Extension.Length);
|
string themeName = zipFile.Name.Remove(zipFile.Name.Length - zipFile.Extension.Length);
|
||||||
string destFolder = xchatdir + themedir + themeName;
|
string destFolder = xchatdir + themedir + themeName;
|
||||||
|
@ -217,7 +230,11 @@ namespace thememan
|
||||||
{
|
{
|
||||||
PackagePartCollection parts = zip.GetParts();
|
PackagePartCollection parts = zip.GetParts();
|
||||||
|
|
||||||
if (!Directory.Exists(destFolder))
|
if (Directory.Exists(destFolder))
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
Directory.CreateDirectory(destFolder);
|
Directory.CreateDirectory(destFolder);
|
||||||
}
|
}
|
||||||
|
@ -250,11 +267,11 @@ namespace thememan
|
||||||
if (IsDirectoryEmpty(destFolder))
|
if (IsDirectoryEmpty(destFolder))
|
||||||
{
|
{
|
||||||
Directory.Delete(destFolder);
|
Directory.Delete(destFolder);
|
||||||
return null;
|
return 2;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return themeName;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 26 KiB |
|
@ -127,9 +127,6 @@
|
||||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||||
</Compile>
|
</Compile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<Content Include="Resources\xchat.ico" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<BootstrapperPackage Include=".NETFramework,Version=v4.0,Profile=Client">
|
<BootstrapperPackage Include=".NETFramework,Version=v4.0,Profile=Client">
|
||||||
<Visible>False</Visible>
|
<Visible>False</Visible>
|
||||||
|
@ -152,6 +149,9 @@
|
||||||
<Install>true</Install>
|
<Install>true</Install>
|
||||||
</BootstrapperPackage>
|
</BootstrapperPackage>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="Resources\xchat.ico" />
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
Other similar extension points exist, see Microsoft.Common.targets.
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<PublishUrlHistory>publish\</PublishUrlHistory>
|
||||||
|
<InstallUrlHistory />
|
||||||
|
<SupportUrlHistory />
|
||||||
|
<UpdateUrlHistory />
|
||||||
|
<BootstrapperUrlHistory />
|
||||||
|
<ErrorReportUrlHistory />
|
||||||
|
<FallbackCulture>en-US</FallbackCulture>
|
||||||
|
<VerifyUploadedFiles>false</VerifyUploadedFiles>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
Loading…
Reference in New Issue