mirror of
https://github.com/claunia/osrepodbmgr.git
synced 2025-12-16 11:04:26 +00:00
Refactor: Separate engine code from GUI.
This commit is contained in:
20
osrepodbmgr.Core/ChangeLog
Normal file
20
osrepodbmgr.Core/ChangeLog
Normal file
@@ -0,0 +1,20 @@
|
||||
2017-05-10 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* Core.cs:
|
||||
* DBOps.cs:
|
||||
* SQLite.cs:
|
||||
* DBCore.cs:
|
||||
* Schema.cs:
|
||||
* DicCore.cs:
|
||||
* Context.cs:
|
||||
* Settings.cs:
|
||||
* Checksum.cs:
|
||||
* DetectOS.cs:
|
||||
* PlatformID.cs:
|
||||
* PluginBase.cs:
|
||||
* packages.config:
|
||||
* DetectImageFormat.cs:
|
||||
* osrepodbmgr.Core.csproj:
|
||||
* Properties/AssemblyInfo.cs:
|
||||
Refactor: Separate engine code from GUI.
|
||||
|
||||
@@ -35,7 +35,7 @@ using System.Threading;
|
||||
using DiscImageChef.Checksums;
|
||||
using Schemas;
|
||||
|
||||
namespace osrepodbmgr
|
||||
namespace osrepodbmgr.Core
|
||||
{
|
||||
class Checksum
|
||||
{
|
||||
83
osrepodbmgr.Core/Context.cs
Normal file
83
osrepodbmgr.Core/Context.cs
Normal file
@@ -0,0 +1,83 @@
|
||||
//
|
||||
// Author:
|
||||
// Natalia Portillo claunia@claunia.com
|
||||
//
|
||||
// Copyright (c) 2017, © Claunia.com
|
||||
//
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in
|
||||
// the documentation and/or other materials provided with the distribution.
|
||||
// * Neither the name of the [ORGANIZATION] nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Threading;
|
||||
using Schemas;
|
||||
|
||||
namespace osrepodbmgr.Core
|
||||
{
|
||||
public static class Context
|
||||
{
|
||||
public static List<string> files;
|
||||
public static Dictionary<string, DBFile> hashes;
|
||||
public static string path;
|
||||
public static DBEntry dbInfo;
|
||||
public static bool unarUsable;
|
||||
public static string tmpFolder;
|
||||
public static long noFilesInArchive;
|
||||
public static string archiveFormat;
|
||||
public static Process unarProcess;
|
||||
public static bool copyArchive;
|
||||
public static string selectedFile;
|
||||
public static OpticalDiscType workingDisc;
|
||||
public static BlockMediaType workingDisk;
|
||||
public static CICMMetadataType metadata;
|
||||
|
||||
public delegate void UnarChangeStatusDelegate();
|
||||
public static event UnarChangeStatusDelegate UnarChangeStatus;
|
||||
|
||||
public static void CheckUnar()
|
||||
{
|
||||
Core.Finished += CheckUnarFinished;
|
||||
Core.Failed += CheckUnarFailed;
|
||||
|
||||
Thread thdCheckUnar = new Thread(Core.CheckUnar);
|
||||
thdCheckUnar.Start();
|
||||
}
|
||||
|
||||
static void CheckUnarFinished()
|
||||
{
|
||||
unarUsable = true;
|
||||
if(UnarChangeStatus != null)
|
||||
UnarChangeStatus();
|
||||
Core.Finished -= CheckUnarFinished;
|
||||
Core.Failed -= CheckUnarFailed;
|
||||
}
|
||||
|
||||
static void CheckUnarFailed(string text)
|
||||
{
|
||||
unarUsable = false;
|
||||
if(UnarChangeStatus != null)
|
||||
UnarChangeStatus();
|
||||
Core.Finished -= CheckUnarFinished;
|
||||
Core.Failed -= CheckUnarFailed;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -38,7 +38,7 @@ using Ionic.Zip;
|
||||
using Newtonsoft.Json;
|
||||
using Schemas;
|
||||
|
||||
namespace osrepodbmgr
|
||||
namespace osrepodbmgr.Core
|
||||
{
|
||||
public static partial class Core
|
||||
{
|
||||
@@ -70,10 +70,10 @@ namespace osrepodbmgr
|
||||
{
|
||||
string filesPath;
|
||||
|
||||
if(!string.IsNullOrEmpty(MainClass.tmpFolder) && Directory.Exists(MainClass.tmpFolder))
|
||||
filesPath = MainClass.tmpFolder;
|
||||
if(!string.IsNullOrEmpty(Context.tmpFolder) && Directory.Exists(Context.tmpFolder))
|
||||
filesPath = Context.tmpFolder;
|
||||
else
|
||||
filesPath = MainClass.path;
|
||||
filesPath = Context.path;
|
||||
|
||||
if(string.IsNullOrEmpty(filesPath))
|
||||
{
|
||||
@@ -89,8 +89,8 @@ namespace osrepodbmgr
|
||||
|
||||
try
|
||||
{
|
||||
MainClass.files = new List<string>(Directory.EnumerateFiles(filesPath, "*", SearchOption.AllDirectories));
|
||||
MainClass.files.Sort();
|
||||
Context.files = new List<string>(Directory.EnumerateFiles(filesPath, "*", SearchOption.AllDirectories));
|
||||
Context.files.Sort();
|
||||
if(Finished != null)
|
||||
Finished();
|
||||
}
|
||||
@@ -107,7 +107,7 @@ namespace osrepodbmgr
|
||||
{
|
||||
try
|
||||
{
|
||||
MainClass.hashes = new Dictionary<string, DBFile>();
|
||||
Context.hashes = new Dictionary<string, DBFile>();
|
||||
List<string> alreadyMetadata = new List<string>();
|
||||
bool foundMetadata = false;
|
||||
|
||||
@@ -137,7 +137,7 @@ namespace osrepodbmgr
|
||||
// End for metadata
|
||||
|
||||
long counter = 1;
|
||||
foreach(string file in MainClass.files)
|
||||
foreach(string file in Context.files)
|
||||
{
|
||||
// An already known metadata file, skip it
|
||||
if(alreadyMetadata.Contains(file))
|
||||
@@ -337,14 +337,14 @@ namespace osrepodbmgr
|
||||
string filesPath;
|
||||
FileInfo fi = new FileInfo(file);
|
||||
|
||||
if(!string.IsNullOrEmpty(MainClass.tmpFolder) && Directory.Exists(MainClass.tmpFolder))
|
||||
filesPath = MainClass.tmpFolder;
|
||||
if(!string.IsNullOrEmpty(Context.tmpFolder) && Directory.Exists(Context.tmpFolder))
|
||||
filesPath = Context.tmpFolder;
|
||||
else
|
||||
filesPath = MainClass.path;
|
||||
filesPath = Context.path;
|
||||
|
||||
string relpath = file.Substring(filesPath.Length + 1);
|
||||
if(UpdateProgress != null)
|
||||
UpdateProgress(string.Format("Hashing file {0} of {1}", counter, MainClass.files.Count), null, counter, MainClass.files.Count);
|
||||
UpdateProgress(string.Format("Hashing file {0} of {1}", counter, Context.files.Count), null, counter, Context.files.Count);
|
||||
FileStream fileStream = new FileStream(file, FileMode.Open, FileAccess.Read);
|
||||
|
||||
byte[] dataBuffer = new byte[bufferSize];
|
||||
@@ -389,60 +389,60 @@ namespace osrepodbmgr
|
||||
dbFile.Path = relpath;
|
||||
dbFile.Sha256 = hash;
|
||||
|
||||
MainClass.hashes.Add(relpath, dbFile);
|
||||
Context.hashes.Add(relpath, dbFile);
|
||||
counter++;
|
||||
}
|
||||
|
||||
if(foundMetadata)
|
||||
{
|
||||
MainClass.metadata = new CICMMetadataType();
|
||||
Context.metadata = new CICMMetadataType();
|
||||
if(architectures.Count > 0)
|
||||
MainClass.metadata.Architectures = architectures.Distinct().ToArray();
|
||||
Context.metadata.Architectures = architectures.Distinct().ToArray();
|
||||
if(authors.Count > 0)
|
||||
MainClass.metadata.Author = authors.Distinct().ToArray();
|
||||
Context.metadata.Author = authors.Distinct().ToArray();
|
||||
// TODO: Check for uniqueness
|
||||
if(barcodes.Count > 0)
|
||||
MainClass.metadata.Barcodes = barcodes.ToArray();
|
||||
Context.metadata.Barcodes = barcodes.ToArray();
|
||||
if(disks.Count > 0)
|
||||
MainClass.metadata.BlockMedia = disks.ToArray();
|
||||
Context.metadata.BlockMedia = disks.ToArray();
|
||||
if(categories.Count > 0)
|
||||
MainClass.metadata.Categories = categories.Distinct().ToArray();
|
||||
Context.metadata.Categories = categories.Distinct().ToArray();
|
||||
if(developers.Count > 0)
|
||||
MainClass.metadata.Developer = developers.Distinct().ToArray();
|
||||
Context.metadata.Developer = developers.Distinct().ToArray();
|
||||
if(keywords.Count > 0)
|
||||
MainClass.metadata.Keywords = keywords.Distinct().ToArray();
|
||||
Context.metadata.Keywords = keywords.Distinct().ToArray();
|
||||
if(languages.Count > 0)
|
||||
MainClass.metadata.Languages = languages.Distinct().ToArray();
|
||||
MainClass.metadata.Name = metadataName;
|
||||
Context.metadata.Languages = languages.Distinct().ToArray();
|
||||
Context.metadata.Name = metadataName;
|
||||
if(discs.Count > 0)
|
||||
MainClass.metadata.OpticalDisc = discs.ToArray();
|
||||
MainClass.metadata.PartNumber = metadataPartNo;
|
||||
Context.metadata.OpticalDisc = discs.ToArray();
|
||||
Context.metadata.PartNumber = metadataPartNo;
|
||||
if(performers.Count > 0)
|
||||
MainClass.metadata.Performer = performers.Distinct().ToArray();
|
||||
Context.metadata.Performer = performers.Distinct().ToArray();
|
||||
if(publishers.Count > 0)
|
||||
MainClass.metadata.Publisher = publishers.Distinct().ToArray();
|
||||
Context.metadata.Publisher = publishers.Distinct().ToArray();
|
||||
if(releaseDateSpecified)
|
||||
{
|
||||
MainClass.metadata.ReleaseDate = releaseDate;
|
||||
MainClass.metadata.ReleaseDateSpecified = true;
|
||||
Context.metadata.ReleaseDate = releaseDate;
|
||||
Context.metadata.ReleaseDateSpecified = true;
|
||||
}
|
||||
if(releaseTypeSpecified)
|
||||
{
|
||||
MainClass.metadata.ReleaseType = releaseType;
|
||||
MainClass.metadata.ReleaseTypeSpecified = true;
|
||||
Context.metadata.ReleaseType = releaseType;
|
||||
Context.metadata.ReleaseTypeSpecified = true;
|
||||
}
|
||||
MainClass.metadata.SerialNumber = metadataSerial;
|
||||
Context.metadata.SerialNumber = metadataSerial;
|
||||
if(subcategories.Count > 0)
|
||||
MainClass.metadata.Subcategories = subcategories.Distinct().ToArray();
|
||||
Context.metadata.Subcategories = subcategories.Distinct().ToArray();
|
||||
if(systems.Count > 0)
|
||||
MainClass.metadata.Systems = systems.Distinct().ToArray();
|
||||
MainClass.metadata.Version = metadataVersion;
|
||||
Context.metadata.Systems = systems.Distinct().ToArray();
|
||||
Context.metadata.Version = metadataVersion;
|
||||
|
||||
foreach(string metadataFile in alreadyMetadata)
|
||||
MainClass.files.Remove(metadataFile);
|
||||
Context.files.Remove(metadataFile);
|
||||
}
|
||||
else
|
||||
MainClass.metadata = null;
|
||||
Context.metadata = null;
|
||||
if(Finished != null)
|
||||
Finished();
|
||||
}
|
||||
@@ -460,10 +460,10 @@ namespace osrepodbmgr
|
||||
try
|
||||
{
|
||||
long counter = 0;
|
||||
foreach(KeyValuePair<string, DBFile> kvp in MainClass.hashes)
|
||||
foreach(KeyValuePair<string, DBFile> kvp in Context.hashes)
|
||||
{
|
||||
if(UpdateProgress != null)
|
||||
UpdateProgress(null, "Checking files in database", counter, MainClass.hashes.Count);
|
||||
UpdateProgress(null, "Checking files in database", counter, Context.hashes.Count);
|
||||
|
||||
if(AddFile != null)
|
||||
AddFile(kvp.Key, kvp.Value.Sha256, dbCore.DBOps.ExistsFile(kvp.Value.Sha256));
|
||||
@@ -472,7 +472,7 @@ namespace osrepodbmgr
|
||||
}
|
||||
|
||||
if(UpdateProgress != null)
|
||||
UpdateProgress(null, "Retrieving OSes from database", counter, MainClass.hashes.Count);
|
||||
UpdateProgress(null, "Retrieving OSes from database", counter, Context.hashes.Count);
|
||||
List<DBEntry> oses;
|
||||
dbCore.DBOps.GetAllOSes(out oses);
|
||||
|
||||
@@ -488,10 +488,10 @@ namespace osrepodbmgr
|
||||
UpdateProgress(null, string.Format("Check OS id {0}", os.id), osCounter, osesArray.Length);
|
||||
|
||||
counter = 0;
|
||||
foreach(KeyValuePair<string, DBFile> kvp in MainClass.hashes)
|
||||
foreach(KeyValuePair<string, DBFile> kvp in Context.hashes)
|
||||
{
|
||||
if(UpdateProgress2 != null)
|
||||
UpdateProgress2(null, string.Format("Checking for file {0}", kvp.Value.Path), counter, MainClass.hashes.Count);
|
||||
UpdateProgress2(null, string.Format("Checking for file {0}", kvp.Value.Path), counter, Context.hashes.Count);
|
||||
|
||||
if(!dbCore.DBOps.ExistsFileInOS(kvp.Value.Sha256, os.id))
|
||||
{
|
||||
@@ -594,10 +594,10 @@ namespace osrepodbmgr
|
||||
try
|
||||
{
|
||||
long counter = 0;
|
||||
foreach(KeyValuePair<string, DBFile> kvp in MainClass.hashes)
|
||||
foreach(KeyValuePair<string, DBFile> kvp in Context.hashes)
|
||||
{
|
||||
if(UpdateProgress != null)
|
||||
UpdateProgress(null, "Adding files to database", counter, MainClass.hashes.Count);
|
||||
UpdateProgress(null, "Adding files to database", counter, Context.hashes.Count);
|
||||
|
||||
if(!dbCore.DBOps.ExistsFile(kvp.Value.Sha256))
|
||||
dbCore.DBOps.AddFile(kvp.Value.Sha256);
|
||||
@@ -606,18 +606,18 @@ namespace osrepodbmgr
|
||||
}
|
||||
|
||||
if(UpdateProgress != null)
|
||||
UpdateProgress(null, "Adding OS information", counter, MainClass.hashes.Count);
|
||||
UpdateProgress(null, "Adding OS information", counter, Context.hashes.Count);
|
||||
long osId;
|
||||
dbCore.DBOps.AddOS(MainClass.dbInfo, out osId);
|
||||
dbCore.DBOps.AddOS(Context.dbInfo, out osId);
|
||||
if(UpdateProgress != null)
|
||||
UpdateProgress(null, "Creating OS table", counter, MainClass.hashes.Count);
|
||||
UpdateProgress(null, "Creating OS table", counter, Context.hashes.Count);
|
||||
dbCore.DBOps.CreateTableForOS(osId);
|
||||
|
||||
counter = 0;
|
||||
foreach(KeyValuePair<string, DBFile> kvp in MainClass.hashes)
|
||||
foreach(KeyValuePair<string, DBFile> kvp in Context.hashes)
|
||||
{
|
||||
if(UpdateProgress != null)
|
||||
UpdateProgress(null, "Adding files to OS in database", counter, MainClass.hashes.Count);
|
||||
UpdateProgress(null, "Adding files to OS in database", counter, Context.hashes.Count);
|
||||
|
||||
dbCore.DBOps.AddFileToOS(kvp.Value, osId);
|
||||
|
||||
@@ -711,21 +711,21 @@ namespace osrepodbmgr
|
||||
{
|
||||
try
|
||||
{
|
||||
if(string.IsNullOrWhiteSpace(MainClass.dbInfo.developer))
|
||||
if(string.IsNullOrWhiteSpace(Context.dbInfo.developer))
|
||||
{
|
||||
if(Failed != null)
|
||||
Failed("Developer cannot be empty");
|
||||
return;
|
||||
}
|
||||
|
||||
if(string.IsNullOrWhiteSpace(MainClass.dbInfo.product))
|
||||
if(string.IsNullOrWhiteSpace(Context.dbInfo.product))
|
||||
{
|
||||
if(Failed != null)
|
||||
Failed("Product cannot be empty");
|
||||
return;
|
||||
}
|
||||
|
||||
if(string.IsNullOrWhiteSpace(MainClass.dbInfo.version))
|
||||
if(string.IsNullOrWhiteSpace(Context.dbInfo.version))
|
||||
{
|
||||
if(Failed != null)
|
||||
Failed("Version cannot be empty");
|
||||
@@ -737,84 +737,84 @@ namespace osrepodbmgr
|
||||
if(!Directory.Exists(destinationFolder))
|
||||
Directory.CreateDirectory(destinationFolder);
|
||||
// Check if developer folder exists
|
||||
destinationFolder = Path.Combine(destinationFolder, MainClass.dbInfo.developer);
|
||||
destinationFolder = Path.Combine(destinationFolder, Context.dbInfo.developer);
|
||||
if(!Directory.Exists(destinationFolder))
|
||||
Directory.CreateDirectory(destinationFolder);
|
||||
// Check if product folder exists
|
||||
destinationFolder = Path.Combine(destinationFolder, MainClass.dbInfo.product);
|
||||
destinationFolder = Path.Combine(destinationFolder, Context.dbInfo.product);
|
||||
if(!Directory.Exists(destinationFolder))
|
||||
Directory.CreateDirectory(destinationFolder);
|
||||
// Check if version folder exists
|
||||
destinationFolder = Path.Combine(destinationFolder, MainClass.dbInfo.version);
|
||||
destinationFolder = Path.Combine(destinationFolder, Context.dbInfo.version);
|
||||
if(!Directory.Exists(destinationFolder))
|
||||
Directory.CreateDirectory(destinationFolder);
|
||||
if(!string.IsNullOrWhiteSpace(MainClass.dbInfo.languages))
|
||||
if(!string.IsNullOrWhiteSpace(Context.dbInfo.languages))
|
||||
{
|
||||
// Check if languages folder exists
|
||||
destinationFolder = Path.Combine(destinationFolder, MainClass.dbInfo.languages);
|
||||
destinationFolder = Path.Combine(destinationFolder, Context.dbInfo.languages);
|
||||
if(!Directory.Exists(destinationFolder))
|
||||
Directory.CreateDirectory(destinationFolder);
|
||||
}
|
||||
if(!string.IsNullOrWhiteSpace(MainClass.dbInfo.architecture))
|
||||
if(!string.IsNullOrWhiteSpace(Context.dbInfo.architecture))
|
||||
{
|
||||
// Check if architecture folder exists
|
||||
destinationFolder = Path.Combine(destinationFolder, MainClass.dbInfo.architecture);
|
||||
destinationFolder = Path.Combine(destinationFolder, Context.dbInfo.architecture);
|
||||
if(!Directory.Exists(destinationFolder))
|
||||
Directory.CreateDirectory(destinationFolder);
|
||||
}
|
||||
if(MainClass.dbInfo.oem)
|
||||
if(Context.dbInfo.oem)
|
||||
{
|
||||
// Check if oem folder exists
|
||||
destinationFolder = Path.Combine(destinationFolder, "oem");
|
||||
if(!Directory.Exists(destinationFolder))
|
||||
Directory.CreateDirectory(destinationFolder);
|
||||
}
|
||||
if(!string.IsNullOrWhiteSpace(MainClass.dbInfo.machine))
|
||||
if(!string.IsNullOrWhiteSpace(Context.dbInfo.machine))
|
||||
{
|
||||
// Check if architecture folder exists
|
||||
destinationFolder = Path.Combine(destinationFolder, "for " + MainClass.dbInfo.machine);
|
||||
destinationFolder = Path.Combine(destinationFolder, "for " + Context.dbInfo.machine);
|
||||
if(!Directory.Exists(destinationFolder))
|
||||
Directory.CreateDirectory(destinationFolder);
|
||||
}
|
||||
|
||||
string destinationFile = "";
|
||||
if(!string.IsNullOrWhiteSpace(MainClass.dbInfo.format))
|
||||
destinationFile += "[" + MainClass.dbInfo.format + "]";
|
||||
if(MainClass.dbInfo.files)
|
||||
if(!string.IsNullOrWhiteSpace(Context.dbInfo.format))
|
||||
destinationFile += "[" + Context.dbInfo.format + "]";
|
||||
if(Context.dbInfo.files)
|
||||
{
|
||||
if(destinationFile != "")
|
||||
destinationFile += "_";
|
||||
destinationFile += "files";
|
||||
}
|
||||
if(MainClass.dbInfo.netinstall)
|
||||
if(Context.dbInfo.netinstall)
|
||||
{
|
||||
if(destinationFile != "")
|
||||
destinationFile += "_";
|
||||
destinationFile += "netinstall";
|
||||
}
|
||||
if(MainClass.dbInfo.source)
|
||||
if(Context.dbInfo.source)
|
||||
{
|
||||
if(destinationFile != "")
|
||||
destinationFile += "_";
|
||||
destinationFile += "source";
|
||||
}
|
||||
if(MainClass.dbInfo.update)
|
||||
if(Context.dbInfo.update)
|
||||
{
|
||||
if(destinationFile != "")
|
||||
destinationFile += "_";
|
||||
destinationFile += "update";
|
||||
}
|
||||
if(MainClass.dbInfo.upgrade)
|
||||
if(Context.dbInfo.upgrade)
|
||||
{
|
||||
if(destinationFile != "")
|
||||
destinationFile += "_";
|
||||
destinationFile += "upgrade";
|
||||
}
|
||||
if(!string.IsNullOrWhiteSpace(MainClass.dbInfo.description))
|
||||
if(!string.IsNullOrWhiteSpace(Context.dbInfo.description))
|
||||
{
|
||||
if(destinationFile != "")
|
||||
destinationFile += "_";
|
||||
destinationFile += MainClass.dbInfo.description;
|
||||
destinationFile += Context.dbInfo.description;
|
||||
}
|
||||
else if(destinationFile == "")
|
||||
{
|
||||
@@ -836,16 +836,16 @@ namespace osrepodbmgr
|
||||
|
||||
string filesPath;
|
||||
|
||||
if(!string.IsNullOrEmpty(MainClass.tmpFolder) && Directory.Exists(MainClass.tmpFolder))
|
||||
filesPath = MainClass.tmpFolder;
|
||||
if(!string.IsNullOrEmpty(Context.tmpFolder) && Directory.Exists(Context.tmpFolder))
|
||||
filesPath = Context.tmpFolder;
|
||||
else
|
||||
filesPath = MainClass.path;
|
||||
filesPath = Context.path;
|
||||
|
||||
int counter = 0;
|
||||
foreach(string file in MainClass.files)
|
||||
foreach(string file in Context.files)
|
||||
{
|
||||
if(UpdateProgress != null)
|
||||
UpdateProgress("Choosing files...", file, counter, MainClass.files.Count);
|
||||
UpdateProgress("Choosing files...", file, counter, Context.files.Count);
|
||||
|
||||
FileInfo fi = new FileInfo(file);
|
||||
|
||||
@@ -860,11 +860,11 @@ namespace osrepodbmgr
|
||||
counter++;
|
||||
}
|
||||
|
||||
if(MainClass.metadata != null)
|
||||
if(Context.metadata != null)
|
||||
{
|
||||
MemoryStream xms = new MemoryStream();
|
||||
XmlSerializer xs = new XmlSerializer(typeof(CICMMetadataType));
|
||||
xs.Serialize(xms, MainClass.metadata);
|
||||
xs.Serialize(xms, Context.metadata);
|
||||
xms.Position = 0;
|
||||
|
||||
ZipEntry zx = zf.AddEntry("metadata.xml", xms);
|
||||
@@ -880,7 +880,7 @@ namespace osrepodbmgr
|
||||
js.NullValueHandling = NullValueHandling.Ignore;
|
||||
MemoryStream jms = new MemoryStream();
|
||||
StreamWriter sw = new StreamWriter(jms, Encoding.UTF8, 1048576, true);
|
||||
js.Serialize(sw, MainClass.metadata, typeof(CICMMetadataType));
|
||||
js.Serialize(sw, Context.metadata, typeof(CICMMetadataType));
|
||||
sw.Close();
|
||||
jms.Position = 0;
|
||||
|
||||
@@ -1040,14 +1040,14 @@ namespace osrepodbmgr
|
||||
|
||||
public static void OpenArchive()
|
||||
{
|
||||
if(!MainClass.unarUsable)
|
||||
if(!Context.unarUsable)
|
||||
{
|
||||
if(Failed != null)
|
||||
Failed("The UnArchiver is not correctly installed");
|
||||
return;
|
||||
}
|
||||
|
||||
if(!File.Exists(MainClass.path))
|
||||
if(!File.Exists(Context.path))
|
||||
{
|
||||
if(Failed != null)
|
||||
Failed("Specified file cannot be found");
|
||||
@@ -1067,7 +1067,7 @@ namespace osrepodbmgr
|
||||
lsarProcess.StartInfo.CreateNoWindow = true;
|
||||
lsarProcess.StartInfo.RedirectStandardOutput = true;
|
||||
lsarProcess.StartInfo.UseShellExecute = false;
|
||||
lsarProcess.StartInfo.Arguments = string.Format("-j \"\"\"{0}\"\"\"", MainClass.path);
|
||||
lsarProcess.StartInfo.Arguments = string.Format("-j \"\"\"{0}\"\"\"", Context.path);
|
||||
lsarProcess.Start();
|
||||
string lsarOutput = lsarProcess.StandardOutput.ReadToEnd();
|
||||
lsarProcess.WaitForExit();
|
||||
@@ -1087,9 +1087,9 @@ namespace osrepodbmgr
|
||||
}
|
||||
}
|
||||
|
||||
MainClass.copyArchive = false;
|
||||
MainClass.archiveFormat = format;
|
||||
MainClass.noFilesInArchive = counter;
|
||||
Context.copyArchive = false;
|
||||
Context.archiveFormat = format;
|
||||
Context.noFilesInArchive = counter;
|
||||
|
||||
if(string.IsNullOrEmpty(format))
|
||||
{
|
||||
@@ -1107,13 +1107,13 @@ namespace osrepodbmgr
|
||||
|
||||
if(format == "Zip")
|
||||
{
|
||||
ZipFile zf = ZipFile.Read(MainClass.path);
|
||||
ZipFile zf = ZipFile.Read(Context.path);
|
||||
foreach(ZipEntry ze in zf)
|
||||
{
|
||||
// ZIP created with Mac OS X, need to be extracted with The UnArchiver to get correct ResourceFork structure
|
||||
if(ze.FileName.StartsWith("__MACOSX", StringComparison.CurrentCulture))
|
||||
{
|
||||
MainClass.copyArchive = true;
|
||||
Context.copyArchive = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1133,14 +1133,14 @@ namespace osrepodbmgr
|
||||
|
||||
public static void ExtractArchive()
|
||||
{
|
||||
if(!MainClass.unarUsable)
|
||||
if(!Context.unarUsable)
|
||||
{
|
||||
if(Failed != null)
|
||||
Failed("The UnArchiver is not correctly installed");
|
||||
return;
|
||||
}
|
||||
|
||||
if(!File.Exists(MainClass.path))
|
||||
if(!File.Exists(Context.path))
|
||||
{
|
||||
if(Failed != null)
|
||||
Failed("Specified file cannot be found");
|
||||
@@ -1170,28 +1170,28 @@ namespace osrepodbmgr
|
||||
|
||||
try
|
||||
{
|
||||
MainClass.unarProcess = new Process();
|
||||
MainClass.unarProcess.StartInfo.FileName = Settings.Current.UnArchiverPath;
|
||||
MainClass.unarProcess.StartInfo.CreateNoWindow = true;
|
||||
MainClass.unarProcess.StartInfo.RedirectStandardOutput = true;
|
||||
MainClass.unarProcess.StartInfo.UseShellExecute = false;
|
||||
MainClass.unarProcess.StartInfo.Arguments = string.Format("-o \"\"\"{0}\"\"\" -r -D -k hidden \"\"\"{1}\"\"\"", tmpFolder, MainClass.path);
|
||||
Context.unarProcess = new Process();
|
||||
Context.unarProcess.StartInfo.FileName = Settings.Current.UnArchiverPath;
|
||||
Context.unarProcess.StartInfo.CreateNoWindow = true;
|
||||
Context.unarProcess.StartInfo.RedirectStandardOutput = true;
|
||||
Context.unarProcess.StartInfo.UseShellExecute = false;
|
||||
Context.unarProcess.StartInfo.Arguments = string.Format("-o \"\"\"{0}\"\"\" -r -D -k hidden \"\"\"{1}\"\"\"", tmpFolder, Context.path);
|
||||
long counter = 0;
|
||||
MainClass.unarProcess.OutputDataReceived += (sender, e) =>
|
||||
Context.unarProcess.OutputDataReceived += (sender, e) =>
|
||||
{
|
||||
counter++;
|
||||
if(UpdateProgress2 != null)
|
||||
UpdateProgress2("", e.Data, counter, MainClass.noFilesInArchive);
|
||||
UpdateProgress2("", e.Data, counter, Context.noFilesInArchive);
|
||||
};
|
||||
MainClass.unarProcess.Start();
|
||||
MainClass.unarProcess.BeginOutputReadLine();
|
||||
MainClass.unarProcess.WaitForExit();
|
||||
MainClass.unarProcess.Close();
|
||||
Context.unarProcess.Start();
|
||||
Context.unarProcess.BeginOutputReadLine();
|
||||
Context.unarProcess.WaitForExit();
|
||||
Context.unarProcess.Close();
|
||||
|
||||
if(Finished != null)
|
||||
Finished();
|
||||
|
||||
MainClass.tmpFolder = tmpFolder;
|
||||
Context.tmpFolder = tmpFolder;
|
||||
}
|
||||
catch(Exception ex)
|
||||
{
|
||||
@@ -1206,21 +1206,21 @@ namespace osrepodbmgr
|
||||
{
|
||||
try
|
||||
{
|
||||
if(string.IsNullOrWhiteSpace(MainClass.dbInfo.developer))
|
||||
if(string.IsNullOrWhiteSpace(Context.dbInfo.developer))
|
||||
{
|
||||
if(Failed != null)
|
||||
Failed("Developer cannot be empty");
|
||||
return;
|
||||
}
|
||||
|
||||
if(string.IsNullOrWhiteSpace(MainClass.dbInfo.product))
|
||||
if(string.IsNullOrWhiteSpace(Context.dbInfo.product))
|
||||
{
|
||||
if(Failed != null)
|
||||
Failed("Product cannot be empty");
|
||||
return;
|
||||
}
|
||||
|
||||
if(string.IsNullOrWhiteSpace(MainClass.dbInfo.version))
|
||||
if(string.IsNullOrWhiteSpace(Context.dbInfo.version))
|
||||
{
|
||||
if(Failed != null)
|
||||
Failed("Version cannot be empty");
|
||||
@@ -1232,84 +1232,84 @@ namespace osrepodbmgr
|
||||
if(!Directory.Exists(destinationFolder))
|
||||
Directory.CreateDirectory(destinationFolder);
|
||||
// Check if developer folder exists
|
||||
destinationFolder = Path.Combine(destinationFolder, MainClass.dbInfo.developer);
|
||||
destinationFolder = Path.Combine(destinationFolder, Context.dbInfo.developer);
|
||||
if(!Directory.Exists(destinationFolder))
|
||||
Directory.CreateDirectory(destinationFolder);
|
||||
// Check if product folder exists
|
||||
destinationFolder = Path.Combine(destinationFolder, MainClass.dbInfo.product);
|
||||
destinationFolder = Path.Combine(destinationFolder, Context.dbInfo.product);
|
||||
if(!Directory.Exists(destinationFolder))
|
||||
Directory.CreateDirectory(destinationFolder);
|
||||
// Check if version folder exists
|
||||
destinationFolder = Path.Combine(destinationFolder, MainClass.dbInfo.version);
|
||||
destinationFolder = Path.Combine(destinationFolder, Context.dbInfo.version);
|
||||
if(!Directory.Exists(destinationFolder))
|
||||
Directory.CreateDirectory(destinationFolder);
|
||||
if(!string.IsNullOrWhiteSpace(MainClass.dbInfo.languages))
|
||||
if(!string.IsNullOrWhiteSpace(Context.dbInfo.languages))
|
||||
{
|
||||
// Check if languages folder exists
|
||||
destinationFolder = Path.Combine(destinationFolder, MainClass.dbInfo.languages);
|
||||
destinationFolder = Path.Combine(destinationFolder, Context.dbInfo.languages);
|
||||
if(!Directory.Exists(destinationFolder))
|
||||
Directory.CreateDirectory(destinationFolder);
|
||||
}
|
||||
if(!string.IsNullOrWhiteSpace(MainClass.dbInfo.architecture))
|
||||
if(!string.IsNullOrWhiteSpace(Context.dbInfo.architecture))
|
||||
{
|
||||
// Check if architecture folder exists
|
||||
destinationFolder = Path.Combine(destinationFolder, MainClass.dbInfo.architecture);
|
||||
destinationFolder = Path.Combine(destinationFolder, Context.dbInfo.architecture);
|
||||
if(!Directory.Exists(destinationFolder))
|
||||
Directory.CreateDirectory(destinationFolder);
|
||||
}
|
||||
if(MainClass.dbInfo.oem)
|
||||
if(Context.dbInfo.oem)
|
||||
{
|
||||
// Check if oem folder exists
|
||||
destinationFolder = Path.Combine(destinationFolder, "oem");
|
||||
if(!Directory.Exists(destinationFolder))
|
||||
Directory.CreateDirectory(destinationFolder);
|
||||
}
|
||||
if(!string.IsNullOrWhiteSpace(MainClass.dbInfo.machine))
|
||||
if(!string.IsNullOrWhiteSpace(Context.dbInfo.machine))
|
||||
{
|
||||
// Check if architecture folder exists
|
||||
destinationFolder = Path.Combine(destinationFolder, "for " + MainClass.dbInfo.machine);
|
||||
destinationFolder = Path.Combine(destinationFolder, "for " + Context.dbInfo.machine);
|
||||
if(!Directory.Exists(destinationFolder))
|
||||
Directory.CreateDirectory(destinationFolder);
|
||||
}
|
||||
|
||||
string destinationFile = "";
|
||||
if(!string.IsNullOrWhiteSpace(MainClass.dbInfo.format))
|
||||
destinationFile += "[" + MainClass.dbInfo.format + "]";
|
||||
if(MainClass.dbInfo.files)
|
||||
if(!string.IsNullOrWhiteSpace(Context.dbInfo.format))
|
||||
destinationFile += "[" + Context.dbInfo.format + "]";
|
||||
if(Context.dbInfo.files)
|
||||
{
|
||||
if(destinationFile != "")
|
||||
destinationFile += "_";
|
||||
destinationFile += "files";
|
||||
}
|
||||
if(MainClass.dbInfo.netinstall)
|
||||
if(Context.dbInfo.netinstall)
|
||||
{
|
||||
if(destinationFile != "")
|
||||
destinationFile += "_";
|
||||
destinationFile += "netinstall";
|
||||
}
|
||||
if(MainClass.dbInfo.source)
|
||||
if(Context.dbInfo.source)
|
||||
{
|
||||
if(destinationFile != "")
|
||||
destinationFile += "_";
|
||||
destinationFile += "source";
|
||||
}
|
||||
if(MainClass.dbInfo.update)
|
||||
if(Context.dbInfo.update)
|
||||
{
|
||||
if(destinationFile != "")
|
||||
destinationFile += "_";
|
||||
destinationFile += "update";
|
||||
}
|
||||
if(MainClass.dbInfo.upgrade)
|
||||
if(Context.dbInfo.upgrade)
|
||||
{
|
||||
if(destinationFile != "")
|
||||
destinationFile += "_";
|
||||
destinationFile += "upgrade";
|
||||
}
|
||||
if(!string.IsNullOrWhiteSpace(MainClass.dbInfo.description))
|
||||
if(!string.IsNullOrWhiteSpace(Context.dbInfo.description))
|
||||
{
|
||||
if(destinationFile != "")
|
||||
destinationFile += "_";
|
||||
destinationFile += MainClass.dbInfo.description;
|
||||
destinationFile += Context.dbInfo.description;
|
||||
}
|
||||
else if(destinationFile == "")
|
||||
{
|
||||
@@ -1324,7 +1324,7 @@ namespace osrepodbmgr
|
||||
return;
|
||||
}
|
||||
|
||||
File.Copy(MainClass.path, destination);
|
||||
File.Copy(Context.path, destination);
|
||||
}
|
||||
catch(Exception ex)
|
||||
{
|
||||
@@ -1341,9 +1341,9 @@ namespace osrepodbmgr
|
||||
{
|
||||
try
|
||||
{
|
||||
if(Directory.Exists(MainClass.tmpFolder))
|
||||
if(Directory.Exists(Context.tmpFolder))
|
||||
{
|
||||
Directory.Delete(MainClass.tmpFolder, true);
|
||||
Directory.Delete(Context.tmpFolder, true);
|
||||
if(Finished != null)
|
||||
Finished();
|
||||
}
|
||||
@@ -27,7 +27,7 @@
|
||||
//
|
||||
using System.Data;
|
||||
|
||||
namespace osrepodbmgr
|
||||
namespace osrepodbmgr.Core
|
||||
{
|
||||
public abstract class DBCore
|
||||
{
|
||||
@@ -30,7 +30,7 @@ using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
|
||||
namespace osrepodbmgr
|
||||
namespace osrepodbmgr.Core
|
||||
{
|
||||
public struct DBEntry
|
||||
{
|
||||
@@ -33,7 +33,7 @@ using System;
|
||||
using DiscImageChef.Filters;
|
||||
using DiscImageChef.ImagePlugins;
|
||||
|
||||
namespace osrepodbmgr
|
||||
namespace osrepodbmgr.Core
|
||||
{
|
||||
public static class ImageFormat
|
||||
{
|
||||
@@ -36,13 +36,13 @@ using DiscImageChef.ImagePlugins;
|
||||
using DiscImageChef.PartPlugins;
|
||||
using Schemas;
|
||||
|
||||
namespace osrepodbmgr
|
||||
namespace osrepodbmgr.Core
|
||||
{
|
||||
public static partial class Core
|
||||
{
|
||||
public static void AddMedia()
|
||||
{
|
||||
if(string.IsNullOrWhiteSpace(MainClass.selectedFile))
|
||||
if(string.IsNullOrWhiteSpace(Context.selectedFile))
|
||||
{
|
||||
if(Failed != null)
|
||||
Failed("There is no file set");
|
||||
@@ -51,12 +51,12 @@ namespace osrepodbmgr
|
||||
|
||||
string filesPath;
|
||||
|
||||
if(!string.IsNullOrEmpty(MainClass.tmpFolder) && Directory.Exists(MainClass.tmpFolder))
|
||||
filesPath = MainClass.tmpFolder;
|
||||
if(!string.IsNullOrEmpty(Context.tmpFolder) && Directory.Exists(Context.tmpFolder))
|
||||
filesPath = Context.tmpFolder;
|
||||
else
|
||||
filesPath = MainClass.path;
|
||||
filesPath = Context.path;
|
||||
|
||||
string selectedFile = Path.Combine(filesPath, MainClass.selectedFile);
|
||||
string selectedFile = Path.Combine(filesPath, Context.selectedFile);
|
||||
|
||||
if(!File.Exists(selectedFile))
|
||||
{
|
||||
@@ -681,7 +681,7 @@ namespace osrepodbmgr
|
||||
sidecar.OpticalDisc[0].DumpHardwareArray[0].Software.Version = _imageFormat.GetImageApplicationVersion();
|
||||
}
|
||||
|
||||
MainClass.workingDisc = sidecar.OpticalDisc[0];
|
||||
Context.workingDisc = sidecar.OpticalDisc[0];
|
||||
if(Finished != null)
|
||||
Finished();
|
||||
return;
|
||||
@@ -905,7 +905,7 @@ namespace osrepodbmgr
|
||||
// TODO: Implement support for getting CHS
|
||||
if(UpdateProgress != null)
|
||||
UpdateProgress(null, "Finishing", maxProgress, maxProgress);
|
||||
MainClass.workingDisk = sidecar.BlockMedia[0];
|
||||
Context.workingDisk = sidecar.BlockMedia[0];
|
||||
if(Finished != null)
|
||||
Finished();
|
||||
return;
|
||||
@@ -36,7 +36,7 @@ using DiscImageChef.Filesystems;
|
||||
using DiscImageChef.ImagePlugins;
|
||||
using DiscImageChef.PartPlugins;
|
||||
|
||||
namespace osrepodbmgr
|
||||
namespace osrepodbmgr.Core
|
||||
{
|
||||
public class PluginBase
|
||||
{
|
||||
53
osrepodbmgr.Core/Properties/AssemblyInfo.cs
Normal file
53
osrepodbmgr.Core/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,53 @@
|
||||
//
|
||||
// Author:
|
||||
// Natalia Portillo claunia@claunia.com
|
||||
//
|
||||
// Copyright (c) 2017, © Claunia.com
|
||||
//
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in
|
||||
// the documentation and/or other materials provided with the distribution.
|
||||
// * Neither the name of the [ORGANIZATION] nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
// Information about this assembly is defined by the following attributes.
|
||||
// Change them to the values specific to your project.
|
||||
|
||||
[assembly: AssemblyTitle("osrepodbmgr.Core")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Claunia.com")]
|
||||
[assembly: AssemblyProduct("")]
|
||||
[assembly: AssemblyCopyright("© Claunia.com")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
|
||||
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
|
||||
// and "{Major}.{Minor}.{Build}.*" will update just the revision.
|
||||
|
||||
[assembly: AssemblyVersion("1.0.*")]
|
||||
|
||||
// The following attributes are used to specify the signing key for the assembly,
|
||||
// if desired. See the Mono documentation for more information about signing.
|
||||
|
||||
//[assembly: AssemblyDelaySign(false)]
|
||||
//[assembly: AssemblyKeyFile("")]
|
||||
@@ -29,7 +29,7 @@ using System;
|
||||
using System.Data;
|
||||
using System.Data.SQLite;
|
||||
|
||||
namespace osrepodbmgr
|
||||
namespace osrepodbmgr.Core
|
||||
{
|
||||
public class SQLite : DBCore
|
||||
{
|
||||
@@ -25,7 +25,7 @@
|
||||
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
namespace osrepodbmgr
|
||||
namespace osrepodbmgr.Core
|
||||
{
|
||||
public static class Schema
|
||||
{
|
||||
@@ -32,7 +32,7 @@ using System.Xml.Serialization;
|
||||
using Claunia.PropertyList;
|
||||
using Microsoft.Win32;
|
||||
|
||||
namespace osrepodbmgr
|
||||
namespace osrepodbmgr.Core
|
||||
{
|
||||
public class SetSettings
|
||||
{
|
||||
101
osrepodbmgr.Core/osrepodbmgr.Core.csproj
Normal file
101
osrepodbmgr.Core/osrepodbmgr.Core.csproj
Normal file
@@ -0,0 +1,101 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{076D5C4D-9601-4164-B979-0DABACB56BB8}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<RootNamespace>osrepodbmgr.Core</RootNamespace>
|
||||
<AssemblyName>osrepodbmgr.Core</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug</OutputPath>
|
||||
<DefineConstants>DEBUG;</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<ConsolePause>false</ConsolePause>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release</OutputPath>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<ConsolePause>false</ConsolePause>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="Newtonsoft.Json">
|
||||
<HintPath>..\packages\Newtonsoft.Json.10.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="DotNetZip">
|
||||
<HintPath>..\packages\DotNetZip.1.10.1\lib\net20\DotNetZip.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="plist-cil">
|
||||
<HintPath>..\packages\plist-cil.1.15.0\lib\net40\plist-cil.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Data.SQLite">
|
||||
<HintPath>..\packages\System.Data.SQLite.Core.1.0.105.0\lib\net45\System.Data.SQLite.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Data" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Checksum.cs" />
|
||||
<Compile Include="Core.cs" />
|
||||
<Compile Include="DBCore.cs" />
|
||||
<Compile Include="DBOps.cs" />
|
||||
<Compile Include="DetectImageFormat.cs" />
|
||||
<Compile Include="DetectOS.cs" />
|
||||
<Compile Include="DicCore.cs" />
|
||||
<Compile Include="PlatformID.cs" />
|
||||
<Compile Include="PluginBase.cs" />
|
||||
<Compile Include="Schema.cs" />
|
||||
<Compile Include="Settings.cs" />
|
||||
<Compile Include="SQLite.cs" />
|
||||
<Compile Include="Context.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\DiscImageChef\DiscImageChef.Checksums\DiscImageChef.Checksums.csproj">
|
||||
<Project>{CC48B324-A532-4A45-87A6-6F91F7141E8D}</Project>
|
||||
<Name>DiscImageChef.Checksums</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\DiscImageChef\DiscImageChef.CommonTypes\DiscImageChef.CommonTypes.csproj">
|
||||
<Project>{F2B84194-26EB-4227-B1C5-6602517E85AE}</Project>
|
||||
<Name>DiscImageChef.CommonTypes</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\DiscImageChef\DiscImageChef.Decoders\DiscImageChef.Decoders.csproj">
|
||||
<Project>{0BEB3088-B634-4289-AE17-CDF2D25D00D5}</Project>
|
||||
<Name>DiscImageChef.Decoders</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\DiscImageChef\DiscImageChef.DiscImages\DiscImageChef.DiscImages.csproj">
|
||||
<Project>{74032CBC-339B-42F3-AF6F-E96C261F3E6A}</Project>
|
||||
<Name>DiscImageChef.DiscImages</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\DiscImageChef\DiscImageChef.Filesystems\DiscImageChef.Filesystems.csproj">
|
||||
<Project>{D7016DF2-5A5E-4524-B40D-BA2D59576688}</Project>
|
||||
<Name>DiscImageChef.Filesystems</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\DiscImageChef\DiscImageChef.Filters\DiscImageChef.Filters.csproj">
|
||||
<Project>{D571B8EF-903D-4353-BDD5-B834F9F029EF}</Project>
|
||||
<Name>DiscImageChef.Filters</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\DiscImageChef\DiscImageChef.Metadata\DiscImageChef.Metadata.csproj">
|
||||
<Project>{9F213318-5CB8-4066-A757-074489C9F818}</Project>
|
||||
<Name>DiscImageChef.Metadata</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\DiscImageChef\DiscImageChef.Partitions\DiscImageChef.Partitions.csproj">
|
||||
<Project>{DA7AB65D-B5BA-4003-8893-A51BB071BA2F}</Project>
|
||||
<Name>DiscImageChef.Partitions</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="..\packages\System.Data.SQLite.Core.1.0.105.0\build\net45\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.105.0\build\net45\System.Data.SQLite.Core.targets')" />
|
||||
</Project>
|
||||
7
osrepodbmgr.Core/packages.config
Normal file
7
osrepodbmgr.Core/packages.config
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="DotNetZip" version="1.10.1" targetFramework="net45" />
|
||||
<package id="Newtonsoft.Json" version="10.0.2" targetFramework="net45" />
|
||||
<package id="plist-cil" version="1.15.0" targetFramework="net45" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.105.0" targetFramework="net45" />
|
||||
</packages>
|
||||
@@ -25,6 +25,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiscImageChef.Decoders", "D
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiscImageChef.Metadata", "DiscImageChef\DiscImageChef.Metadata\DiscImageChef.Metadata.csproj", "{9F213318-5CB8-4066-A757-074489C9F818}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "osrepodbmgr.Core", "osrepodbmgr.Core\osrepodbmgr.Core.csproj", "{076D5C4D-9601-4164-B979-0DABACB56BB8}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x86 = Debug|x86
|
||||
@@ -79,6 +81,10 @@ Global
|
||||
{9F213318-5CB8-4066-A757-074489C9F818}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{9F213318-5CB8-4066-A757-074489C9F818}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{9F213318-5CB8-4066-A757-074489C9F818}.Release|x86.Build.0 = Release|Any CPU
|
||||
{076D5C4D-9601-4164-B979-0DABACB56BB8}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{076D5C4D-9601-4164-B979-0DABACB56BB8}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{076D5C4D-9601-4164-B979-0DABACB56BB8}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{076D5C4D-9601-4164-B979-0DABACB56BB8}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(MonoDevelopProperties) = preSolution
|
||||
Policies = $0
|
||||
|
||||
@@ -1,3 +1,16 @@
|
||||
2017-05-10 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* frmAdd.cs:
|
||||
* Program.cs:
|
||||
* frmHelp.cs:
|
||||
* dlgMetadata.cs:
|
||||
* frmSettings.cs:
|
||||
* dlgFilesystem.cs:
|
||||
* gtk-gui/frmAdd.cs:
|
||||
* osrepodbmgr.csproj:
|
||||
* gtk-gui/generated.cs:
|
||||
Refactor: Separate engine code from GUI.
|
||||
|
||||
2017-05-10 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* frmAdd.cs:
|
||||
|
||||
@@ -25,68 +25,21 @@
|
||||
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Threading;
|
||||
using Gtk;
|
||||
using Schemas;
|
||||
using osrepodbmgr.Core;
|
||||
|
||||
namespace osrepodbmgr
|
||||
{
|
||||
static class MainClass
|
||||
{
|
||||
public static List<string> files;
|
||||
public static Dictionary<string, DBFile> hashes;
|
||||
public static string path;
|
||||
public static DBEntry dbInfo;
|
||||
public static bool unarUsable;
|
||||
public delegate void UnarChangeStatusDelegate();
|
||||
public static event UnarChangeStatusDelegate UnarChangeStatus;
|
||||
public static string tmpFolder;
|
||||
public static long noFilesInArchive;
|
||||
public static string archiveFormat;
|
||||
public static Process unarProcess;
|
||||
public static bool copyArchive;
|
||||
public static string selectedFile;
|
||||
public static OpticalDiscType workingDisc;
|
||||
public static BlockMediaType workingDisk;
|
||||
public static CICMMetadataType metadata;
|
||||
|
||||
public static void Main(string[] args)
|
||||
{
|
||||
Settings.LoadSettings();
|
||||
CheckUnar();
|
||||
Core.Settings.LoadSettings();
|
||||
Context.CheckUnar();
|
||||
Application.Init();
|
||||
frmAdd win = new frmAdd();
|
||||
win.Show();
|
||||
Application.Run();
|
||||
}
|
||||
|
||||
public static void CheckUnar()
|
||||
{
|
||||
Core.Finished += CheckUnarFinished;
|
||||
Core.Failed += CheckUnarFailed;
|
||||
|
||||
Thread thdCheckUnar = new Thread(Core.CheckUnar);
|
||||
thdCheckUnar.Start();
|
||||
}
|
||||
|
||||
static void CheckUnarFinished()
|
||||
{
|
||||
unarUsable = true;
|
||||
if(UnarChangeStatus != null)
|
||||
UnarChangeStatus();
|
||||
Core.Finished -= CheckUnarFinished;
|
||||
Core.Failed -= CheckUnarFailed;
|
||||
}
|
||||
|
||||
static void CheckUnarFailed(string text)
|
||||
{
|
||||
unarUsable = false;
|
||||
if(UnarChangeStatus != null)
|
||||
UnarChangeStatus();
|
||||
Core.Finished -= CheckUnarFinished;
|
||||
Core.Failed -= CheckUnarFailed;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
using System;
|
||||
using Gtk;
|
||||
using Schemas;
|
||||
|
||||
namespace osrepodbmgr
|
||||
{
|
||||
public partial class dlgFilesystem : Dialog
|
||||
|
||||
@@ -29,6 +29,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using Gtk;
|
||||
using osrepodbmgr.Core;
|
||||
using Schemas;
|
||||
|
||||
namespace osrepodbmgr
|
||||
@@ -216,7 +217,7 @@ namespace osrepodbmgr
|
||||
|
||||
void FillFilesCombos()
|
||||
{
|
||||
foreach(KeyValuePair<string, DBFile> files in MainClass.hashes)
|
||||
foreach(KeyValuePair<string, DBFile> files in Context.hashes)
|
||||
{
|
||||
lstFilesForDisc.AppendValues(files.Key);
|
||||
lstFilesForDisk.AppendValues(files.Key);
|
||||
@@ -227,7 +228,7 @@ namespace osrepodbmgr
|
||||
{
|
||||
// TODO: Check that files are not already added as disks
|
||||
lstFilesForDisc.Clear();
|
||||
foreach(KeyValuePair<string, DBFile> files in MainClass.hashes)
|
||||
foreach(KeyValuePair<string, DBFile> files in Context.hashes)
|
||||
lstFilesForDisc.AppendValues(files.Key);
|
||||
}
|
||||
|
||||
@@ -235,7 +236,7 @@ namespace osrepodbmgr
|
||||
{
|
||||
// TODO: Check that files are not already added as discs
|
||||
lstFilesForDisk.Clear();
|
||||
foreach(KeyValuePair<string, DBFile> files in MainClass.hashes)
|
||||
foreach(KeyValuePair<string, DBFile> files in Context.hashes)
|
||||
lstFilesForDisk.AppendValues(files.Key);
|
||||
}
|
||||
|
||||
@@ -704,7 +705,7 @@ namespace osrepodbmgr
|
||||
|
||||
protected void OnBtnAddDiscClicked(object sender, EventArgs e)
|
||||
{
|
||||
MainClass.selectedFile = cmbFilesForNewDisc.ActiveText;
|
||||
Context.selectedFile = cmbFilesForNewDisc.ActiveText;
|
||||
notebook3.GetNthPage(0).Visible = false;
|
||||
notebook3.GetNthPage(1).Visible = false;
|
||||
notebook3.GetNthPage(2).Visible = false;
|
||||
@@ -719,15 +720,15 @@ namespace osrepodbmgr
|
||||
buttonOk.Visible = false;
|
||||
btnEditDisc.Visible = false;
|
||||
btnClearDiscs.Visible = false;
|
||||
Core.Failed += OnDiscAddFailed;
|
||||
Core.Finished += OnDiscAddFinished;
|
||||
Core.UpdateProgress += UpdateDiscProgress1;
|
||||
Core.UpdateProgress2 += UpdateDiscProgress2;
|
||||
MainClass.workingDisc = null;
|
||||
Core.Core.Failed += OnDiscAddFailed;
|
||||
Core.Core.Finished += OnDiscAddFinished;
|
||||
Core.Core.UpdateProgress += UpdateDiscProgress1;
|
||||
Core.Core.UpdateProgress2 += UpdateDiscProgress2;
|
||||
Context.workingDisc = null;
|
||||
btnStopAddDisc.Visible = true;
|
||||
btnAddDisc.Visible = false;
|
||||
btnRemoveDiscs.Visible = false;
|
||||
thdDisc = new Thread(Core.AddMedia);
|
||||
thdDisc = new Thread(Core.Core.AddMedia);
|
||||
thdDisc.Start();
|
||||
}
|
||||
|
||||
@@ -773,7 +774,7 @@ namespace osrepodbmgr
|
||||
dlgMsg.Run();
|
||||
dlgMsg.Destroy();
|
||||
}
|
||||
MainClass.selectedFile = "";
|
||||
Context.selectedFile = "";
|
||||
notebook3.GetNthPage(0).Visible = true;
|
||||
notebook3.GetNthPage(1).Visible = true;
|
||||
notebook3.GetNthPage(2).Visible = true;
|
||||
@@ -788,11 +789,11 @@ namespace osrepodbmgr
|
||||
buttonOk.Visible = true;
|
||||
btnEditDisc.Visible = true;
|
||||
btnClearDiscs.Visible = true;
|
||||
Core.Failed -= OnDiscAddFailed;
|
||||
Core.Finished -= OnDiscAddFinished;
|
||||
Core.UpdateProgress -= UpdateDiscProgress1;
|
||||
Core.UpdateProgress2 -= UpdateDiscProgress2;
|
||||
MainClass.workingDisc = null;
|
||||
Core.Core.Failed -= OnDiscAddFailed;
|
||||
Core.Core.Finished -= OnDiscAddFinished;
|
||||
Core.Core.UpdateProgress -= UpdateDiscProgress1;
|
||||
Core.Core.UpdateProgress2 -= UpdateDiscProgress2;
|
||||
Context.workingDisc = null;
|
||||
btnStopAddDisc.Visible = false;
|
||||
btnAddDisc.Visible = true;
|
||||
btnRemoveDiscs.Visible = true;
|
||||
@@ -804,12 +805,12 @@ namespace osrepodbmgr
|
||||
{
|
||||
Application.Invoke(delegate
|
||||
{
|
||||
if(MainClass.workingDisc == null)
|
||||
if(Context.workingDisc == null)
|
||||
return;
|
||||
|
||||
OpticalDiscType disc = MainClass.workingDisc;
|
||||
OpticalDiscType disc = Context.workingDisc;
|
||||
|
||||
lstDiscs.AppendValues(MainClass.selectedFile, disc);
|
||||
lstDiscs.AppendValues(Context.selectedFile, disc);
|
||||
List<string> files = new List<string>();
|
||||
files.Add(disc.Image.Value);
|
||||
if(disc.ADIP != null)
|
||||
@@ -890,7 +891,7 @@ namespace osrepodbmgr
|
||||
while(cmbFilesForNewDisk.Model.IterNext(ref iter));
|
||||
}
|
||||
|
||||
MainClass.selectedFile = "";
|
||||
Context.selectedFile = "";
|
||||
notebook3.GetNthPage(0).Visible = true;
|
||||
notebook3.GetNthPage(1).Visible = true;
|
||||
notebook3.GetNthPage(2).Visible = true;
|
||||
@@ -905,11 +906,11 @@ namespace osrepodbmgr
|
||||
buttonOk.Visible = true;
|
||||
btnEditDisc.Visible = true;
|
||||
btnClearDiscs.Visible = true;
|
||||
Core.Failed -= OnDiscAddFailed;
|
||||
Core.Finished -= OnDiscAddFinished;
|
||||
Core.UpdateProgress -= UpdateDiscProgress1;
|
||||
Core.UpdateProgress2 -= UpdateDiscProgress2;
|
||||
MainClass.workingDisc = null;
|
||||
Core.Core.Failed -= OnDiscAddFailed;
|
||||
Core.Core.Finished -= OnDiscAddFinished;
|
||||
Core.Core.UpdateProgress -= UpdateDiscProgress1;
|
||||
Core.Core.UpdateProgress2 -= UpdateDiscProgress2;
|
||||
Context.workingDisc = null;
|
||||
btnStopAddDisc.Visible = false;
|
||||
btnAddDisc.Visible = true;
|
||||
btnRemoveDiscs.Visible = true;
|
||||
@@ -936,7 +937,7 @@ namespace osrepodbmgr
|
||||
|
||||
protected void OnBtnAddDiskClicked(object sender, EventArgs e)
|
||||
{
|
||||
MainClass.selectedFile = cmbFilesForNewDisk.ActiveText;
|
||||
Context.selectedFile = cmbFilesForNewDisk.ActiveText;
|
||||
notebook3.GetNthPage(0).Visible = false;
|
||||
notebook3.GetNthPage(1).Visible = false;
|
||||
notebook3.GetNthPage(2).Visible = false;
|
||||
@@ -951,15 +952,15 @@ namespace osrepodbmgr
|
||||
buttonOk.Visible = false;
|
||||
btnEditDisk.Visible = false;
|
||||
btnClearDisks.Visible = false;
|
||||
Core.Failed += OnDiskAddFailed;
|
||||
Core.Finished += OnDiskAddFinished;
|
||||
Core.UpdateProgress += UpdateDiskProgress1;
|
||||
Core.UpdateProgress2 += UpdateDiskProgress2;
|
||||
MainClass.workingDisk = null;
|
||||
Core.Core.Failed += OnDiskAddFailed;
|
||||
Core.Core.Finished += OnDiskAddFinished;
|
||||
Core.Core.UpdateProgress += UpdateDiskProgress1;
|
||||
Core.Core.UpdateProgress2 += UpdateDiskProgress2;
|
||||
Context.workingDisk = null;
|
||||
btnStopAddDisk.Visible = true;
|
||||
btnAddDisk.Visible = false;
|
||||
btnRemoveDisk.Visible = false;
|
||||
thdDisk = new Thread(Core.AddMedia);
|
||||
thdDisk = new Thread(Core.Core.AddMedia);
|
||||
thdDisk.Start();
|
||||
}
|
||||
|
||||
@@ -1005,7 +1006,7 @@ namespace osrepodbmgr
|
||||
dlgMsg.Run();
|
||||
dlgMsg.Destroy();
|
||||
}
|
||||
MainClass.selectedFile = "";
|
||||
Context.selectedFile = "";
|
||||
notebook3.GetNthPage(0).Visible = true;
|
||||
notebook3.GetNthPage(1).Visible = true;
|
||||
notebook3.GetNthPage(2).Visible = true;
|
||||
@@ -1020,11 +1021,11 @@ namespace osrepodbmgr
|
||||
buttonOk.Visible = true;
|
||||
btnEditDisk.Visible = true;
|
||||
btnClearDisks.Visible = true;
|
||||
Core.Failed -= OnDiskAddFailed;
|
||||
Core.Finished -= OnDiskAddFinished;
|
||||
Core.UpdateProgress -= UpdateDiskProgress1;
|
||||
Core.UpdateProgress2 -= UpdateDiskProgress2;
|
||||
MainClass.workingDisk = null;
|
||||
Core.Core.Failed -= OnDiskAddFailed;
|
||||
Core.Core.Finished -= OnDiskAddFinished;
|
||||
Core.Core.UpdateProgress -= UpdateDiskProgress1;
|
||||
Core.Core.UpdateProgress2 -= UpdateDiskProgress2;
|
||||
Context.workingDisk = null;
|
||||
btnStopAddDisk.Visible = false;
|
||||
btnAddDisk.Visible = true;
|
||||
btnRemoveDisk.Visible = true;
|
||||
@@ -1036,10 +1037,10 @@ namespace osrepodbmgr
|
||||
{
|
||||
Application.Invoke(delegate
|
||||
{
|
||||
if(MainClass.workingDisk == null)
|
||||
if(Context.workingDisk == null)
|
||||
return;
|
||||
|
||||
BlockMediaType disk = MainClass.workingDisk;
|
||||
BlockMediaType disk = Context.workingDisk;
|
||||
|
||||
lstDisks.AppendValues(disk.Image.Value, disk);
|
||||
List<string> files = new List<string>();
|
||||
@@ -1118,7 +1119,7 @@ namespace osrepodbmgr
|
||||
while(cmbFilesForNewDisk.Model.IterNext(ref iter));
|
||||
}
|
||||
|
||||
MainClass.selectedFile = "";
|
||||
Context.selectedFile = "";
|
||||
notebook3.GetNthPage(0).Visible = true;
|
||||
notebook3.GetNthPage(1).Visible = true;
|
||||
notebook3.GetNthPage(2).Visible = true;
|
||||
@@ -1133,11 +1134,11 @@ namespace osrepodbmgr
|
||||
buttonOk.Visible = true;
|
||||
btnEditDisk.Visible = true;
|
||||
btnClearDisks.Visible = true;
|
||||
Core.Failed -= OnDiskAddFailed;
|
||||
Core.Finished -= OnDiskAddFinished;
|
||||
Core.UpdateProgress -= UpdateDiskProgress1;
|
||||
Core.UpdateProgress2 -= UpdateDiskProgress2;
|
||||
MainClass.workingDisk = null;
|
||||
Core.Core.Failed -= OnDiskAddFailed;
|
||||
Core.Core.Finished -= OnDiskAddFinished;
|
||||
Core.Core.UpdateProgress -= UpdateDiskProgress1;
|
||||
Core.Core.UpdateProgress2 -= UpdateDiskProgress2;
|
||||
Context.workingDisk = null;
|
||||
btnStopAddDisk.Visible = false;
|
||||
btnAddDisk.Visible = true;
|
||||
btnRemoveDisk.Visible = true;
|
||||
|
||||
@@ -33,6 +33,7 @@ using System.Xml.Serialization;
|
||||
using Gtk;
|
||||
using Newtonsoft.Json;
|
||||
using osrepodbmgr;
|
||||
using osrepodbmgr.Core;
|
||||
using Schemas;
|
||||
|
||||
public partial class frmAdd : Window
|
||||
@@ -56,8 +57,8 @@ public partial class frmAdd : Window
|
||||
|
||||
Core.InitDB();
|
||||
|
||||
MainClass.UnarChangeStatus += UnarChangeStatus;
|
||||
MainClass.CheckUnar();
|
||||
Context.UnarChangeStatus += UnarChangeStatus;
|
||||
Context.CheckUnar();
|
||||
|
||||
CellRendererText filenameCell = new CellRendererText();
|
||||
CellRendererText hashCell = new CellRendererText();
|
||||
@@ -133,7 +134,7 @@ public partial class frmAdd : Window
|
||||
{
|
||||
Application.Invoke(delegate
|
||||
{
|
||||
btnArchive.Sensitive = MainClass.unarUsable;
|
||||
btnArchive.Sensitive = Context.unarUsable;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -183,7 +184,7 @@ public partial class frmAdd : Window
|
||||
});
|
||||
|
||||
thdFindFiles = new Thread(Core.FindFiles);
|
||||
MainClass.path = dlgFolder.Filename;
|
||||
Context.path = dlgFolder.Filename;
|
||||
Core.Failed += FindFilesFailed;
|
||||
Core.Finished += FindFilesFinished;
|
||||
btnStop.Visible = true;
|
||||
@@ -381,11 +382,11 @@ public partial class frmAdd : Window
|
||||
chkSource.Sensitive = true;
|
||||
|
||||
btnMetadata.Visible = true;
|
||||
if(MainClass.metadata != null)
|
||||
if(Context.metadata != null)
|
||||
{
|
||||
if(MainClass.metadata.Developer != null)
|
||||
if(Context.metadata.Developer != null)
|
||||
{
|
||||
foreach(string developer in MainClass.metadata.Developer)
|
||||
foreach(string developer in Context.metadata.Developer)
|
||||
{
|
||||
if(!string.IsNullOrWhiteSpace(txtDeveloper.Text))
|
||||
txtDeveloper.Text += ",";
|
||||
@@ -393,14 +394,14 @@ public partial class frmAdd : Window
|
||||
}
|
||||
}
|
||||
|
||||
if(!string.IsNullOrWhiteSpace(MainClass.metadata.Name))
|
||||
txtProduct.Text = MainClass.metadata.Name;
|
||||
if(!string.IsNullOrWhiteSpace(MainClass.metadata.Version))
|
||||
txtVersion.Text = MainClass.metadata.Version;
|
||||
if(!string.IsNullOrWhiteSpace(Context.metadata.Name))
|
||||
txtProduct.Text = Context.metadata.Name;
|
||||
if(!string.IsNullOrWhiteSpace(Context.metadata.Version))
|
||||
txtVersion.Text = Context.metadata.Version;
|
||||
|
||||
if(MainClass.metadata.Languages != null)
|
||||
if(Context.metadata.Languages != null)
|
||||
{
|
||||
foreach(LanguagesTypeLanguage language in MainClass.metadata.Languages)
|
||||
foreach(LanguagesTypeLanguage language in Context.metadata.Languages)
|
||||
{
|
||||
if(!string.IsNullOrWhiteSpace(txtLanguages.Text))
|
||||
txtLanguages.Text += ",";
|
||||
@@ -408,9 +409,9 @@ public partial class frmAdd : Window
|
||||
}
|
||||
}
|
||||
|
||||
if(MainClass.metadata.Architectures != null)
|
||||
if(Context.metadata.Architectures != null)
|
||||
{
|
||||
foreach(ArchitecturesTypeArchitecture architecture in MainClass.metadata.Architectures)
|
||||
foreach(ArchitecturesTypeArchitecture architecture in Context.metadata.Architectures)
|
||||
{
|
||||
if(!string.IsNullOrWhiteSpace(txtArchitecture.Text))
|
||||
txtArchitecture.Text += ",";
|
||||
@@ -418,9 +419,9 @@ public partial class frmAdd : Window
|
||||
}
|
||||
}
|
||||
|
||||
if(MainClass.metadata.Systems != null)
|
||||
if(Context.metadata.Systems != null)
|
||||
{
|
||||
foreach(string machine in MainClass.metadata.Systems)
|
||||
foreach(string machine in Context.metadata.Systems)
|
||||
{
|
||||
if(!string.IsNullOrWhiteSpace(txtMachine.Text))
|
||||
txtMachine.Text += ",";
|
||||
@@ -469,9 +470,9 @@ public partial class frmAdd : Window
|
||||
{
|
||||
btnFolder.Visible = true;
|
||||
btnArchive.Visible = true;
|
||||
MainClass.path = "";
|
||||
MainClass.files = null;
|
||||
MainClass.hashes = null;
|
||||
Context.path = "";
|
||||
Context.files = null;
|
||||
Context.hashes = null;
|
||||
btnStop.Visible = false;
|
||||
btnAdd.Visible = false;
|
||||
btnPack.Visible = false;
|
||||
@@ -513,7 +514,7 @@ public partial class frmAdd : Window
|
||||
chkNetinstall.Active = false;
|
||||
chkSource.Active = false;
|
||||
|
||||
if(MainClass.tmpFolder != null)
|
||||
if(Context.tmpFolder != null)
|
||||
{
|
||||
btnStop.Visible = false;
|
||||
prgProgress.Visible = true;
|
||||
@@ -536,7 +537,7 @@ public partial class frmAdd : Window
|
||||
}
|
||||
|
||||
btnMetadata.Visible = false;
|
||||
MainClass.metadata = null;
|
||||
Context.metadata = null;
|
||||
}
|
||||
|
||||
public void UpdateProgress(string text, string inner, long current, long maximum)
|
||||
@@ -611,13 +612,13 @@ public partial class frmAdd : Window
|
||||
thdOpenArchive = null;
|
||||
}
|
||||
|
||||
if(MainClass.unarProcess != null)
|
||||
if(Context.unarProcess != null)
|
||||
{
|
||||
MainClass.unarProcess.Kill();
|
||||
MainClass.unarProcess = null;
|
||||
Context.unarProcess.Kill();
|
||||
Context.unarProcess = null;
|
||||
}
|
||||
|
||||
if(MainClass.tmpFolder != null)
|
||||
if(Context.tmpFolder != null)
|
||||
{
|
||||
btnStop.Visible = false;
|
||||
prgProgress.Text = "Removing temporary files";
|
||||
@@ -699,8 +700,8 @@ public partial class frmAdd : Window
|
||||
}
|
||||
Core.Failed -= RemoveTempFilesFailed;
|
||||
Core.Finished -= RemoveTempFilesFinished;
|
||||
MainClass.path = null;
|
||||
MainClass.tmpFolder = null;
|
||||
Context.path = null;
|
||||
Context.tmpFolder = null;
|
||||
RestoreUI();
|
||||
});
|
||||
}
|
||||
@@ -716,8 +717,8 @@ public partial class frmAdd : Window
|
||||
}
|
||||
Core.Failed -= RemoveTempFilesFailed;
|
||||
Core.Finished -= RemoveTempFilesFinished;
|
||||
MainClass.path = null;
|
||||
MainClass.tmpFolder = null;
|
||||
Context.path = null;
|
||||
Context.tmpFolder = null;
|
||||
RestoreUI();
|
||||
});
|
||||
}
|
||||
@@ -747,37 +748,37 @@ public partial class frmAdd : Window
|
||||
Core.Finished += AddFilesToDbFinished;
|
||||
Core.Failed += AddFilesToDbFailed;
|
||||
|
||||
MainClass.dbInfo.architecture = txtArchitecture.Text;
|
||||
MainClass.dbInfo.description = txtDescription.Text;
|
||||
MainClass.dbInfo.developer = txtDeveloper.Text;
|
||||
MainClass.dbInfo.format = txtFormat.Text;
|
||||
MainClass.dbInfo.languages = txtLanguages.Text;
|
||||
MainClass.dbInfo.machine = txtMachine.Text;
|
||||
MainClass.dbInfo.product = txtProduct.Text;
|
||||
MainClass.dbInfo.version = txtVersion.Text;
|
||||
MainClass.dbInfo.files = chkFiles.Active;
|
||||
MainClass.dbInfo.netinstall = chkNetinstall.Active;
|
||||
MainClass.dbInfo.oem = chkOem.Active;
|
||||
MainClass.dbInfo.source = chkSource.Active;
|
||||
MainClass.dbInfo.update = chkUpdate.Active;
|
||||
MainClass.dbInfo.upgrade = chkUpgrade.Active;
|
||||
Context.dbInfo.architecture = txtArchitecture.Text;
|
||||
Context.dbInfo.description = txtDescription.Text;
|
||||
Context.dbInfo.developer = txtDeveloper.Text;
|
||||
Context.dbInfo.format = txtFormat.Text;
|
||||
Context.dbInfo.languages = txtLanguages.Text;
|
||||
Context.dbInfo.machine = txtMachine.Text;
|
||||
Context.dbInfo.product = txtProduct.Text;
|
||||
Context.dbInfo.version = txtVersion.Text;
|
||||
Context.dbInfo.files = chkFiles.Active;
|
||||
Context.dbInfo.netinstall = chkNetinstall.Active;
|
||||
Context.dbInfo.oem = chkOem.Active;
|
||||
Context.dbInfo.source = chkSource.Active;
|
||||
Context.dbInfo.update = chkUpdate.Active;
|
||||
Context.dbInfo.upgrade = chkUpgrade.Active;
|
||||
|
||||
if(MainClass.metadata != null)
|
||||
if(Context.metadata != null)
|
||||
{
|
||||
MemoryStream ms = new MemoryStream();
|
||||
XmlSerializer xs = new XmlSerializer(typeof(CICMMetadataType));
|
||||
xs.Serialize(ms, MainClass.metadata);
|
||||
MainClass.dbInfo.xml = ms.ToArray();
|
||||
xs.Serialize(ms, Context.metadata);
|
||||
Context.dbInfo.xml = ms.ToArray();
|
||||
JsonSerializer js = new JsonSerializer();
|
||||
ms = new MemoryStream();
|
||||
StreamWriter sw = new StreamWriter(ms);
|
||||
js.Serialize(sw, MainClass.metadata, typeof(CICMMetadataType));
|
||||
MainClass.dbInfo.json = ms.ToArray();
|
||||
js.Serialize(sw, Context.metadata, typeof(CICMMetadataType));
|
||||
Context.dbInfo.json = ms.ToArray();
|
||||
}
|
||||
else
|
||||
{
|
||||
MainClass.dbInfo.xml = null;
|
||||
MainClass.dbInfo.json = null;
|
||||
Context.dbInfo.xml = null;
|
||||
Context.dbInfo.json = null;
|
||||
}
|
||||
|
||||
thdAddFiles = new Thread(Core.AddFilesToDb);
|
||||
@@ -799,9 +800,9 @@ public partial class frmAdd : Window
|
||||
|
||||
long counter = 0;
|
||||
fileView.Clear();
|
||||
foreach(KeyValuePair<string, DBFile> kvp in MainClass.hashes)
|
||||
foreach(KeyValuePair<string, DBFile> kvp in Context.hashes)
|
||||
{
|
||||
UpdateProgress(null, "Updating table", counter, MainClass.hashes.Count);
|
||||
UpdateProgress(null, "Updating table", counter, Context.hashes.Count);
|
||||
fileView.AppendValues(kvp.Key, kvp.Value.Path, true, "green", "black");
|
||||
counter++;
|
||||
}
|
||||
@@ -873,22 +874,22 @@ public partial class frmAdd : Window
|
||||
Core.FinishedWithText += PackFilesFinished;
|
||||
Core.Failed += PackFilesFailed;
|
||||
|
||||
MainClass.dbInfo.architecture = txtArchitecture.Text;
|
||||
MainClass.dbInfo.description = txtDescription.Text;
|
||||
MainClass.dbInfo.developer = txtDeveloper.Text;
|
||||
MainClass.dbInfo.format = txtFormat.Text;
|
||||
MainClass.dbInfo.languages = txtLanguages.Text;
|
||||
MainClass.dbInfo.machine = txtMachine.Text;
|
||||
MainClass.dbInfo.product = txtProduct.Text;
|
||||
MainClass.dbInfo.version = txtVersion.Text;
|
||||
MainClass.dbInfo.files = chkFiles.Active;
|
||||
MainClass.dbInfo.netinstall = chkNetinstall.Active;
|
||||
MainClass.dbInfo.oem = chkOem.Active;
|
||||
MainClass.dbInfo.source = chkSource.Active;
|
||||
MainClass.dbInfo.update = chkUpdate.Active;
|
||||
MainClass.dbInfo.upgrade = chkUpgrade.Active;
|
||||
Context.dbInfo.architecture = txtArchitecture.Text;
|
||||
Context.dbInfo.description = txtDescription.Text;
|
||||
Context.dbInfo.developer = txtDeveloper.Text;
|
||||
Context.dbInfo.format = txtFormat.Text;
|
||||
Context.dbInfo.languages = txtLanguages.Text;
|
||||
Context.dbInfo.machine = txtMachine.Text;
|
||||
Context.dbInfo.product = txtProduct.Text;
|
||||
Context.dbInfo.version = txtVersion.Text;
|
||||
Context.dbInfo.files = chkFiles.Active;
|
||||
Context.dbInfo.netinstall = chkNetinstall.Active;
|
||||
Context.dbInfo.oem = chkOem.Active;
|
||||
Context.dbInfo.source = chkSource.Active;
|
||||
Context.dbInfo.update = chkUpdate.Active;
|
||||
Context.dbInfo.upgrade = chkUpgrade.Active;
|
||||
|
||||
if(!string.IsNullOrEmpty(MainClass.tmpFolder) && MainClass.copyArchive)
|
||||
if(!string.IsNullOrEmpty(Context.tmpFolder) && Context.copyArchive)
|
||||
{
|
||||
thdPulseProgress = new Thread(() =>
|
||||
{
|
||||
@@ -985,7 +986,7 @@ public partial class frmAdd : Window
|
||||
|
||||
protected void OnBtnArchiveClicked(object sender, EventArgs e)
|
||||
{
|
||||
if(!MainClass.unarUsable)
|
||||
if(!Context.unarUsable)
|
||||
{
|
||||
MessageDialog dlgMsg = new MessageDialog(this, DialogFlags.Modal, MessageType.Error, ButtonsType.Ok, "Cannot open archives without a working unar installation.");
|
||||
dlgMsg.Run();
|
||||
@@ -1020,7 +1021,7 @@ public partial class frmAdd : Window
|
||||
});
|
||||
|
||||
thdOpenArchive = new Thread(Core.OpenArchive);
|
||||
MainClass.path = dlgFolder.Filename;
|
||||
Context.path = dlgFolder.Filename;
|
||||
Core.Failed += OpenArchiveFailed;
|
||||
Core.Finished += OpenArchiveFinished;
|
||||
btnStop.Visible = true;
|
||||
@@ -1114,7 +1115,7 @@ public partial class frmAdd : Window
|
||||
Core.Finished -= ExtractArchiveFinished;
|
||||
Core.UpdateProgress2 -= UpdateProgress2;
|
||||
thdExtractArchive = null;
|
||||
if(MainClass.tmpFolder != null)
|
||||
if(Context.tmpFolder != null)
|
||||
{
|
||||
btnStop.Visible = false;
|
||||
prgProgress.Text = "Removing temporary files";
|
||||
@@ -1180,16 +1181,16 @@ public partial class frmAdd : Window
|
||||
protected void OnBtnMetadataClicked(object sender, EventArgs e)
|
||||
{
|
||||
dlgMetadata _dlgMetadata = new dlgMetadata();
|
||||
_dlgMetadata.Metadata = MainClass.metadata;
|
||||
_dlgMetadata.Metadata = Context.metadata;
|
||||
_dlgMetadata.FillFields();
|
||||
|
||||
if(_dlgMetadata.Run() == (int)ResponseType.Ok)
|
||||
{
|
||||
MainClass.metadata = _dlgMetadata.Metadata;
|
||||
Context.metadata = _dlgMetadata.Metadata;
|
||||
|
||||
if(string.IsNullOrWhiteSpace(txtDeveloper.Text))
|
||||
{
|
||||
foreach(string developer in MainClass.metadata.Developer)
|
||||
foreach(string developer in Context.metadata.Developer)
|
||||
{
|
||||
if(!string.IsNullOrWhiteSpace(txtDeveloper.Text))
|
||||
txtDeveloper.Text += ",";
|
||||
@@ -1199,21 +1200,21 @@ public partial class frmAdd : Window
|
||||
|
||||
if(string.IsNullOrWhiteSpace(txtProduct.Text))
|
||||
{
|
||||
if(!string.IsNullOrWhiteSpace(MainClass.metadata.Name))
|
||||
txtProduct.Text = MainClass.metadata.Name;
|
||||
if(!string.IsNullOrWhiteSpace(Context.metadata.Name))
|
||||
txtProduct.Text = Context.metadata.Name;
|
||||
}
|
||||
|
||||
if(string.IsNullOrWhiteSpace(txtVersion.Text))
|
||||
{
|
||||
if(!string.IsNullOrWhiteSpace(MainClass.metadata.Version))
|
||||
txtVersion.Text = MainClass.metadata.Version;
|
||||
if(!string.IsNullOrWhiteSpace(Context.metadata.Version))
|
||||
txtVersion.Text = Context.metadata.Version;
|
||||
}
|
||||
|
||||
if(string.IsNullOrWhiteSpace(txtLanguages.Text))
|
||||
{
|
||||
if(MainClass.metadata.Languages != null)
|
||||
if(Context.metadata.Languages != null)
|
||||
{
|
||||
foreach(LanguagesTypeLanguage language in MainClass.metadata.Languages)
|
||||
foreach(LanguagesTypeLanguage language in Context.metadata.Languages)
|
||||
{
|
||||
if(!string.IsNullOrWhiteSpace(txtLanguages.Text))
|
||||
txtLanguages.Text += ",";
|
||||
@@ -1224,9 +1225,9 @@ public partial class frmAdd : Window
|
||||
|
||||
if(string.IsNullOrWhiteSpace(txtArchitecture.Text))
|
||||
{
|
||||
if(MainClass.metadata.Architectures != null)
|
||||
if(Context.metadata.Architectures != null)
|
||||
{
|
||||
foreach(ArchitecturesTypeArchitecture architecture in MainClass.metadata.Architectures)
|
||||
foreach(ArchitecturesTypeArchitecture architecture in Context.metadata.Architectures)
|
||||
{
|
||||
if(!string.IsNullOrWhiteSpace(txtArchitecture.Text))
|
||||
txtArchitecture.Text += ",";
|
||||
@@ -1237,9 +1238,9 @@ public partial class frmAdd : Window
|
||||
|
||||
if(string.IsNullOrWhiteSpace(txtMachine.Text))
|
||||
{
|
||||
if(MainClass.metadata.Systems != null)
|
||||
if(Context.metadata.Systems != null)
|
||||
{
|
||||
foreach(string machine in MainClass.metadata.Systems)
|
||||
foreach(string machine in Context.metadata.Systems)
|
||||
{
|
||||
if(!string.IsNullOrWhiteSpace(txtMachine.Text))
|
||||
txtMachine.Text += ",";
|
||||
@@ -1262,13 +1263,13 @@ public partial class frmAdd : Window
|
||||
string name = (string)fileView.GetValue(fileIter, 0);
|
||||
string filesPath;
|
||||
|
||||
if(!string.IsNullOrEmpty(MainClass.tmpFolder) && Directory.Exists(MainClass.tmpFolder))
|
||||
filesPath = MainClass.tmpFolder;
|
||||
if(!string.IsNullOrEmpty(Context.tmpFolder) && Directory.Exists(Context.tmpFolder))
|
||||
filesPath = Context.tmpFolder;
|
||||
else
|
||||
filesPath = MainClass.path;
|
||||
filesPath = Context.path;
|
||||
|
||||
MainClass.hashes.Remove(name);
|
||||
MainClass.files.Remove(System.IO.Path.Combine(filesPath, name));
|
||||
Context.hashes.Remove(name);
|
||||
Context.files.Remove(System.IO.Path.Combine(filesPath, name));
|
||||
fileView.Remove(ref fileIter);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
using System;
|
||||
|
||||
namespace osrepodbmgr
|
||||
{
|
||||
public partial class frmHelp : Gtk.Window
|
||||
|
||||
@@ -29,6 +29,7 @@ using System;
|
||||
using System.IO;
|
||||
using System.Threading;
|
||||
using Gtk;
|
||||
using osrepodbmgr.Core;
|
||||
|
||||
namespace osrepodbmgr
|
||||
{
|
||||
@@ -40,10 +41,10 @@ namespace osrepodbmgr
|
||||
base(WindowType.Toplevel)
|
||||
{
|
||||
Build();
|
||||
txtTmp.Text = osrepodbmgr.Settings.Current.TemporaryFolder;
|
||||
txtUnar.Text = osrepodbmgr.Settings.Current.UnArchiverPath;
|
||||
txtDatabase.Text = osrepodbmgr.Settings.Current.DatabasePath;
|
||||
txtRepository.Text = osrepodbmgr.Settings.Current.RepositoryPath;
|
||||
txtTmp.Text = Core.Settings.Current.TemporaryFolder;
|
||||
txtUnar.Text = Core.Settings.Current.UnArchiverPath;
|
||||
txtDatabase.Text = Core.Settings.Current.DatabasePath;
|
||||
txtRepository.Text = Core.Settings.Current.RepositoryPath;
|
||||
|
||||
if(!string.IsNullOrWhiteSpace(txtUnar.Text))
|
||||
CheckUnar();
|
||||
@@ -57,14 +58,14 @@ namespace osrepodbmgr
|
||||
protected void OnBtnApplyClicked(object sender, EventArgs e)
|
||||
{
|
||||
// TODO: Check sanity
|
||||
osrepodbmgr.Settings.Current.TemporaryFolder = txtTmp.Text;
|
||||
osrepodbmgr.Settings.Current.UnArchiverPath = txtUnar.Text;
|
||||
osrepodbmgr.Settings.Current.DatabasePath = txtDatabase.Text;
|
||||
osrepodbmgr.Settings.Current.RepositoryPath = txtRepository.Text;
|
||||
osrepodbmgr.Settings.SaveSettings();
|
||||
Core.CloseDB();
|
||||
Core.InitDB();
|
||||
MainClass.CheckUnar();
|
||||
Core.Settings.Current.TemporaryFolder = txtTmp.Text;
|
||||
Core.Settings.Current.UnArchiverPath = txtUnar.Text;
|
||||
Core.Settings.Current.DatabasePath = txtDatabase.Text;
|
||||
Core.Settings.Current.RepositoryPath = txtRepository.Text;
|
||||
Core.Settings.SaveSettings();
|
||||
Core.Core.CloseDB();
|
||||
Core.Core.InitDB();
|
||||
Context.CheckUnar();
|
||||
Destroy();
|
||||
}
|
||||
|
||||
@@ -121,7 +122,7 @@ namespace osrepodbmgr
|
||||
"Cancel", ResponseType.Cancel, "Choose", ResponseType.Accept);
|
||||
dlgFile.SelectMultiple = false;
|
||||
dlgFile.SetCurrentFolder(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments));
|
||||
dlgFile.SetFilename("osrepodbmgr.db");
|
||||
dlgFile.SetFilename("Core.db");
|
||||
|
||||
if(dlgFile.Run() == (int)ResponseType.Accept)
|
||||
{
|
||||
@@ -181,12 +182,12 @@ namespace osrepodbmgr
|
||||
|
||||
void CheckUnar()
|
||||
{
|
||||
Core.FinishedWithText += CheckUnarFinished;
|
||||
Core.Failed += CheckUnarFailed;
|
||||
Core.Core.FinishedWithText += CheckUnarFinished;
|
||||
Core.Core.Failed += CheckUnarFailed;
|
||||
|
||||
oldUnarPath = osrepodbmgr.Settings.Current.UnArchiverPath;
|
||||
osrepodbmgr.Settings.Current.UnArchiverPath = txtUnar.Text;
|
||||
Thread thdCheckUnar = new Thread(Core.CheckUnar);
|
||||
oldUnarPath = Core.Settings.Current.UnArchiverPath;
|
||||
Core.Settings.Current.UnArchiverPath = txtUnar.Text;
|
||||
Thread thdCheckUnar = new Thread(Core.Core.CheckUnar);
|
||||
thdCheckUnar.Start();
|
||||
}
|
||||
|
||||
@@ -194,12 +195,12 @@ namespace osrepodbmgr
|
||||
{
|
||||
Application.Invoke(delegate
|
||||
{
|
||||
Core.FinishedWithText -= CheckUnarFinished;
|
||||
Core.Failed -= CheckUnarFailed;
|
||||
Core.Core.FinishedWithText -= CheckUnarFinished;
|
||||
Core.Core.Failed -= CheckUnarFailed;
|
||||
|
||||
lblUnarVersion.Text = text;
|
||||
lblUnarVersion.Visible = true;
|
||||
osrepodbmgr.Settings.Current.UnArchiverPath = oldUnarPath;
|
||||
Core.Settings.Current.UnArchiverPath = oldUnarPath;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -207,14 +208,14 @@ namespace osrepodbmgr
|
||||
{
|
||||
Application.Invoke(delegate
|
||||
{
|
||||
Core.FinishedWithText -= CheckUnarFinished;
|
||||
Core.Failed -= CheckUnarFailed;
|
||||
Core.Core.FinishedWithText -= CheckUnarFinished;
|
||||
Core.Core.Failed -= CheckUnarFailed;
|
||||
|
||||
if(string.IsNullOrWhiteSpace(oldUnarPath))
|
||||
txtUnar.Text = "";
|
||||
else
|
||||
txtUnar.Text = oldUnarPath;
|
||||
osrepodbmgr.Settings.Current.UnArchiverPath = oldUnarPath;
|
||||
Core.Settings.Current.UnArchiverPath = oldUnarPath;
|
||||
MessageDialog dlgMsg = new MessageDialog(this, DialogFlags.Modal, MessageType.Error, ButtonsType.Ok, text);
|
||||
dlgMsg.Run();
|
||||
dlgMsg.Destroy();
|
||||
|
||||
@@ -708,7 +708,7 @@ public partial class frmAdd
|
||||
w63.Expand = false;
|
||||
w63.Fill = false;
|
||||
this.Add(this.vbox1);
|
||||
if ((this.Child != null))
|
||||
if((this.Child != null))
|
||||
{
|
||||
this.Child.ShowAll();
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ namespace Stetic
|
||||
|
||||
internal static void Initialize(Gtk.Widget iconRenderer)
|
||||
{
|
||||
if ((Stetic.Gui.initialized == false))
|
||||
if((Stetic.Gui.initialized == false))
|
||||
{
|
||||
Stetic.Gui.initialized = true;
|
||||
}
|
||||
@@ -20,7 +20,7 @@ namespace Stetic
|
||||
public static Gdk.Pixbuf LoadIcon(Gtk.Widget widget, string name, Gtk.IconSize size)
|
||||
{
|
||||
Gdk.Pixbuf res = widget.RenderIcon(name, size, null);
|
||||
if ((res != null))
|
||||
if((res != null))
|
||||
{
|
||||
return res;
|
||||
}
|
||||
@@ -32,9 +32,9 @@ namespace Stetic
|
||||
{
|
||||
return Gtk.IconTheme.Default.LoadIcon(name, sz, 0);
|
||||
}
|
||||
catch (System.Exception)
|
||||
catch(System.Exception)
|
||||
{
|
||||
if ((name != "gtk-missing-image"))
|
||||
if((name != "gtk-missing-image"))
|
||||
{
|
||||
return Stetic.IconLoader.LoadIcon(widget, "gtk-missing-image", size);
|
||||
}
|
||||
|
||||
@@ -77,20 +77,8 @@
|
||||
<Compile Include="gtk-gui\osrepodbmgr.frmHelp.cs" />
|
||||
<Compile Include="frmSettings.cs" />
|
||||
<Compile Include="gtk-gui\osrepodbmgr.frmSettings.cs" />
|
||||
<Compile Include="Core.cs" />
|
||||
<Compile Include="DBCore.cs" />
|
||||
<Compile Include="SQLite.cs" />
|
||||
<Compile Include="DBOps.cs" />
|
||||
<Compile Include="Schema.cs" />
|
||||
<Compile Include="Settings.cs" />
|
||||
<Compile Include="PlatformID.cs" />
|
||||
<Compile Include="DetectOS.cs" />
|
||||
<Compile Include="dlgMetadata.cs" />
|
||||
<Compile Include="gtk-gui\osrepodbmgr.dlgMetadata.cs" />
|
||||
<Compile Include="DicCore.cs" />
|
||||
<Compile Include="PluginBase.cs" />
|
||||
<Compile Include="DetectImageFormat.cs" />
|
||||
<Compile Include="Checksum.cs" />
|
||||
<Compile Include="dlgBlockMedia.cs" />
|
||||
<Compile Include="gtk-gui\osrepodbmgr.dlgBlockMedia.cs" />
|
||||
<Compile Include="dlgFilesystem.cs" />
|
||||
@@ -103,38 +91,14 @@
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\DiscImageChef\DiscImageChef.Checksums\DiscImageChef.Checksums.csproj">
|
||||
<Project>{CC48B324-A532-4A45-87A6-6F91F7141E8D}</Project>
|
||||
<Name>DiscImageChef.Checksums</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\DiscImageChef\DiscImageChef.DiscImages\DiscImageChef.DiscImages.csproj">
|
||||
<Project>{74032CBC-339B-42F3-AF6F-E96C261F3E6A}</Project>
|
||||
<Name>DiscImageChef.DiscImages</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\DiscImageChef\DiscImageChef.Filesystems\DiscImageChef.Filesystems.csproj">
|
||||
<Project>{D7016DF2-5A5E-4524-B40D-BA2D59576688}</Project>
|
||||
<Name>DiscImageChef.Filesystems</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\DiscImageChef\DiscImageChef.Filters\DiscImageChef.Filters.csproj">
|
||||
<Project>{D571B8EF-903D-4353-BDD5-B834F9F029EF}</Project>
|
||||
<Name>DiscImageChef.Filters</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\DiscImageChef\DiscImageChef.Partitions\DiscImageChef.Partitions.csproj">
|
||||
<Project>{DA7AB65D-B5BA-4003-8893-A51BB071BA2F}</Project>
|
||||
<Name>DiscImageChef.Partitions</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\DiscImageChef\DiscImageChef.CommonTypes\DiscImageChef.CommonTypes.csproj">
|
||||
<Project>{F2B84194-26EB-4227-B1C5-6602517E85AE}</Project>
|
||||
<Name>DiscImageChef.CommonTypes</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\DiscImageChef\DiscImageChef.Decoders\DiscImageChef.Decoders.csproj">
|
||||
<Project>{0BEB3088-B634-4289-AE17-CDF2D25D00D5}</Project>
|
||||
<Name>DiscImageChef.Decoders</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\DiscImageChef\DiscImageChef.Metadata\DiscImageChef.Metadata.csproj">
|
||||
<Project>{9F213318-5CB8-4066-A757-074489C9F818}</Project>
|
||||
<Name>DiscImageChef.Metadata</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\osrepodbmgr.Core\osrepodbmgr.Core.csproj">
|
||||
<Project>{076D5C4D-9601-4164-B979-0DABACB56BB8}</Project>
|
||||
<Name>osrepodbmgr.Core</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="..\packages\System.Data.SQLite.Core.1.0.105.0\build\net45\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.105.0\build\net45\System.Data.SQLite.Core.targets')" />
|
||||
|
||||
Reference in New Issue
Block a user