Development Checkin, should not break
This commit is contained in:
parent
19bd2da502
commit
76f6fca48b
@ -2,6 +2,7 @@
|
|||||||
using BlubbFish.Utils;
|
using BlubbFish.Utils;
|
||||||
using svnsync.Views;
|
using svnsync.Views;
|
||||||
using svnsync.Helpers;
|
using svnsync.Helpers;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace svnsync.Controllers
|
namespace svnsync.Controllers
|
||||||
{
|
{
|
||||||
@ -21,8 +22,7 @@ namespace svnsync.Controllers
|
|||||||
protected override void Init()
|
protected override void Init()
|
||||||
{
|
{
|
||||||
viewTray = new ViewsTray();
|
viewTray = new ViewsTray();
|
||||||
controllerWindow = new ControllersWindow();
|
InitControllerWindow();
|
||||||
controllerWindow.SetAction(Handles.FormType.Normal);
|
|
||||||
if (viewTray.Model.Args.HasArgumentType("-cron")) {
|
if (viewTray.Model.Args.HasArgumentType("-cron")) {
|
||||||
if (this.CronJob(0, false)) {
|
if (this.CronJob(0, false)) {
|
||||||
viewTray.ShowSuccess();
|
viewTray.ShowSuccess();
|
||||||
@ -37,6 +37,12 @@ namespace svnsync.Controllers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void InitControllerWindow() {
|
||||||
|
controllerWindow = new ControllersWindow();
|
||||||
|
controllerWindow.SetAction(Handles.FormType.Normal);
|
||||||
|
controllerWindow.SetDeletedFiles(new List<string>());
|
||||||
|
}
|
||||||
|
|
||||||
public override void Dispose()
|
public override void Dispose()
|
||||||
{
|
{
|
||||||
if (viewTray != null) {
|
if (viewTray != null) {
|
||||||
@ -104,7 +110,7 @@ namespace svnsync.Controllers
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Boolean HandleError(Handles.SvnType svnType, String message, String stacktrace = "")
|
private static Boolean HandleError(Handles.SvnType svnType, String message, String stacktrace = "")
|
||||||
{
|
{
|
||||||
viewTray.ShowError(svnType, message);
|
viewTray.ShowError(svnType, message);
|
||||||
switch (svnType) {
|
switch (svnType) {
|
||||||
@ -120,6 +126,7 @@ namespace svnsync.Controllers
|
|||||||
break;
|
break;
|
||||||
case Handles.SvnType.ExternDeletedFiles:
|
case Handles.SvnType.ExternDeletedFiles:
|
||||||
controllerWindow.SetAction(Handles.FormType.DeletedFiles);
|
controllerWindow.SetAction(Handles.FormType.DeletedFiles);
|
||||||
|
controllerWindow.SetDeletedFiles(viewTray.Model.Svn.WasDeletedFiles);
|
||||||
break;
|
break;
|
||||||
case Handles.SvnType.LockedFile:
|
case Handles.SvnType.LockedFile:
|
||||||
controllerWindow.SetAction(Handles.FormType.ManualResolve);
|
controllerWindow.SetAction(Handles.FormType.ManualResolve);
|
||||||
@ -159,5 +166,20 @@ namespace svnsync.Controllers
|
|||||||
viewTray.Dispose();
|
viewTray.Dispose();
|
||||||
System.Windows.Forms.Application.Exit();
|
System.Windows.Forms.Application.Exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal static void DeleteButton_Click(object sender, EventArgs e) {
|
||||||
|
if(!(sender is System.Windows.Forms.Button)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
System.Windows.Forms.TreeView t = (System.Windows.Forms.TreeView)((ViewsWindowFormFileList)((System.Windows.Forms.Button)sender).Parent).tree;
|
||||||
|
List<System.Windows.Forms.TreeNode> l = TreeBuilder.getSelectedNodes(t.Nodes);
|
||||||
|
controllerWindow.Hide();
|
||||||
|
viewTray.Model.Svn.DeleteFiles(l);
|
||||||
|
if(viewTray.Model.Svn.IsError) {
|
||||||
|
HandleError(Handles.SvnType.UnexpectedError, viewTray.Model.Svn.Error);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//this.runagainButton_Click(sender, null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@ using System.Windows.Forms;
|
|||||||
using BlubbFish.Utils;
|
using BlubbFish.Utils;
|
||||||
using svnsync.Views;
|
using svnsync.Views;
|
||||||
using svnsync.Helpers;
|
using svnsync.Helpers;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace svnsync.Controllers
|
namespace svnsync.Controllers
|
||||||
{
|
{
|
||||||
@ -11,6 +12,8 @@ namespace svnsync.Controllers
|
|||||||
private static ViewsWindow viewWindow;
|
private static ViewsWindow viewWindow;
|
||||||
private Handles.FormType initAction;
|
private Handles.FormType initAction;
|
||||||
private String initMessage;
|
private String initMessage;
|
||||||
|
private List<string> initDeletedFiles;
|
||||||
|
private static ControllersTray controllerTray;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Tray Controller
|
/// Tray Controller
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -21,6 +24,8 @@ namespace svnsync.Controllers
|
|||||||
viewWindow = new ViewsWindow();
|
viewWindow = new ViewsWindow();
|
||||||
viewWindow.Model.Message = this.initMessage;
|
viewWindow.Model.Message = this.initMessage;
|
||||||
viewWindow.Model.FormType = this.initAction;
|
viewWindow.Model.FormType = this.initAction;
|
||||||
|
viewWindow.Model.DeletedFiles = this.initDeletedFiles;
|
||||||
|
viewWindow.Draw();
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Dispose()
|
public override void Dispose()
|
||||||
@ -47,7 +52,6 @@ namespace svnsync.Controllers
|
|||||||
//this.CreateSVNOpen("Fehler im Cronjob, mehr als 10 Aufrufe!", "");
|
//this.CreateSVNOpen("Fehler im Cronjob, mehr als 10 Aufrufe!", "");
|
||||||
//this.CreateFileList("Hinzufügen", "Diese Daten sind unversioniert:", s.getNoVersionFiles(), new EventHandler(addButton_Click));
|
//this.CreateFileList("Hinzufügen", "Diese Daten sind unversioniert:", s.getNoVersionFiles(), new EventHandler(addButton_Click));
|
||||||
//this.CreateSVNOpen("Es ist ein Unvorhersebarer Fehler aufgetreten", p);
|
//this.CreateSVNOpen("Es ist ein Unvorhersebarer Fehler aufgetreten", p);
|
||||||
//this.CreateFileList("Löschen", "Diese Daten sind gelöscht worden:", s.getWasDeletedFiles(), new EventHandler(deleteButton_Click));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void SetMessage(String p)
|
internal void SetMessage(String p)
|
||||||
@ -58,5 +62,24 @@ namespace svnsync.Controllers
|
|||||||
viewWindow.Model.Message = p;
|
viewWindow.Model.Message = p;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
internal void SetDeletedFiles(List<string> p) {
|
||||||
|
if(viewWindow == null) {
|
||||||
|
this.initDeletedFiles = p;
|
||||||
|
} else {
|
||||||
|
viewWindow.Model.DeletedFiles = p;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal static void RunAgainButton_Click(object sender, EventArgs e) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
internal static void SvnOpenButton_Click(object sender, EventArgs e) {
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
internal void Hide() {
|
||||||
|
viewWindow.Hide();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace svnsync.Helpers
|
namespace svnsync.Helpers
|
||||||
{
|
{
|
||||||
class Handles
|
public class Handles
|
||||||
{
|
{
|
||||||
public enum SvnType
|
public enum SvnType
|
||||||
{
|
{
|
||||||
@ -33,4 +34,14 @@ namespace svnsync.Helpers
|
|||||||
System.Runtime.Serialization.StreamingContext context)
|
System.Runtime.Serialization.StreamingContext context)
|
||||||
{ }
|
{ }
|
||||||
}
|
}
|
||||||
|
public class TreePart {
|
||||||
|
public TreePart(String name, bool isFolder, List<TreePart> child) {
|
||||||
|
this.name = name;
|
||||||
|
this.child = child;
|
||||||
|
this.isFolder = isFolder;
|
||||||
|
}
|
||||||
|
public string name { get; private set; }
|
||||||
|
public List<TreePart> child { get; set; }
|
||||||
|
public bool isFolder { get; set; }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
120
svnsync/Helpers/TreeBuilder.cs
Normal file
120
svnsync/Helpers/TreeBuilder.cs
Normal file
@ -0,0 +1,120 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace svnsync.Helpers {
|
||||||
|
public class TreeBuilder {
|
||||||
|
public static TreeNode[] createDirList(List<string> tree, String root) {
|
||||||
|
List<TreePart> ntree = new List<TreePart>();
|
||||||
|
foreach(String node in tree) {
|
||||||
|
String folder = node;
|
||||||
|
folder = folder.Replace('\\', '/');
|
||||||
|
folder = (folder.StartsWith("/")) ? folder.Substring(1) : folder;
|
||||||
|
folder = (folder.EndsWith("/")) ? folder.Substring(0, folder.Length - 1) : folder;
|
||||||
|
bool isFolder = System.IO.Directory.Exists(root + "/" + folder);
|
||||||
|
String[] folders = folder.Split('/');
|
||||||
|
Array.Reverse(folders);
|
||||||
|
List<TreePart> prev = null;
|
||||||
|
foreach(String entry in folders) {
|
||||||
|
String name = entry;
|
||||||
|
if(prev == null)
|
||||||
|
prev = new List<TreePart>() { new TreePart(name, isFolder, new List<TreePart>()) };
|
||||||
|
else
|
||||||
|
prev = new List<TreePart>() { new TreePart(name, isFolder, prev) };
|
||||||
|
if(!isFolder)
|
||||||
|
isFolder = true;
|
||||||
|
}
|
||||||
|
ntree = treeMatch(ntree, prev);
|
||||||
|
}
|
||||||
|
return createListDirRender(ntree);
|
||||||
|
}
|
||||||
|
public static List<TreePart> treeMatch(List<TreePart> ntree, List<TreePart> input) {
|
||||||
|
String[] key1 = array_keys(input);
|
||||||
|
if(ntree.Count == 0 || (key1.Length > 0 && !array_key_exists(key1[0], ntree)) || key1.Length == 0) {
|
||||||
|
ntree.Add(input[0]);
|
||||||
|
} else {
|
||||||
|
String[] key2 = array_keys(findName(key1[0], input));
|
||||||
|
if(key2.Length != 0) {
|
||||||
|
if(array_key_exists(key2[0], findName(key1[0], ntree))) {
|
||||||
|
/*setChild(key2[0], findName(key1[0], ntree),*/
|
||||||
|
treeMatch(findName(key1[0], ntree), findName(key1[0], input));
|
||||||
|
} else {
|
||||||
|
findName(key1[0], ntree).Add(findName(key1[0], input)[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ntree;
|
||||||
|
}
|
||||||
|
public static string[] array_keys(List<TreePart> input) {
|
||||||
|
List<String> ret = new List<String>();
|
||||||
|
foreach(TreePart item in input) {
|
||||||
|
ret.Add(item.name);
|
||||||
|
}
|
||||||
|
return ret.ToArray();
|
||||||
|
}
|
||||||
|
public static bool array_key_exists(string p, List<TreePart> ntree) {
|
||||||
|
foreach(TreePart item in ntree) {
|
||||||
|
if(item.name == p)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
public static List<TreePart> findName(string key, List<TreePart> input) {
|
||||||
|
foreach(TreePart item in input) {
|
||||||
|
if(item.name == key)
|
||||||
|
return item.child;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
public static TreeNode[] createListDirRender(List<TreePart> ntree) {
|
||||||
|
TreeNode[] t = new TreeNode[ntree.Count];
|
||||||
|
int i = 0;
|
||||||
|
foreach(TreePart item in ntree) {
|
||||||
|
String name = item.name + ((item.isFolder) ? ".folder" : (item.name.LastIndexOf('.') == -1) ? ".file" : item.name.Substring(item.name.LastIndexOf('.')));
|
||||||
|
if(item.child.Count == 0)
|
||||||
|
t[i++] = new TreeNode(name);
|
||||||
|
else
|
||||||
|
t[i++] = new TreeNode(name, createListDirRender(item.child));
|
||||||
|
t[i - 1].Checked = true;
|
||||||
|
}
|
||||||
|
return t;
|
||||||
|
}
|
||||||
|
public static ImageList getImages(TreeNodeCollection treeNodeCollection) {
|
||||||
|
ImageList li = new ImageList();
|
||||||
|
runThroughNodes(li.Images, treeNodeCollection);
|
||||||
|
return li;
|
||||||
|
}
|
||||||
|
public static void runThroughNodes(ImageList.ImageCollection imageCollection, TreeNodeCollection treeNodeCollection) {
|
||||||
|
foreach(TreeNode item in treeNodeCollection) {
|
||||||
|
imageCollection.Add(getImageType(item.Text));
|
||||||
|
item.ImageIndex = imageCollection.Count - 1;
|
||||||
|
item.Text = item.Text.Substring(0, item.Text.LastIndexOf("."));
|
||||||
|
if(item.Nodes.Count > 0)
|
||||||
|
runThroughNodes(imageCollection, item.Nodes);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static Icon getImageType(string p) {
|
||||||
|
switch(p.Substring(p.LastIndexOf("."))) {
|
||||||
|
case ".folder":
|
||||||
|
return Properties.Resources.Special_Folder;
|
||||||
|
case ".file":
|
||||||
|
return Properties.Resources.Special_File;
|
||||||
|
}
|
||||||
|
return Properties.Resources.Special_File;
|
||||||
|
}
|
||||||
|
public static List<TreeNode> getSelectedNodes(TreeNodeCollection treeNodeCollection) {
|
||||||
|
List<TreeNode> l = new List<TreeNode>();
|
||||||
|
foreach(TreeNode item in treeNodeCollection) {
|
||||||
|
if(item.Checked && item.Nodes.Count == 0)
|
||||||
|
l.Add(item);
|
||||||
|
if(item.Nodes.Count > 0)
|
||||||
|
l.AddRange(getSelectedNodes(item.Nodes));
|
||||||
|
}
|
||||||
|
return l;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -51,9 +51,7 @@ namespace svnsync.Libraries {
|
|||||||
if (handles[0] == ' ') {
|
if (handles[0] == ' ') {
|
||||||
if (handles[2] == 'L') {
|
if (handles[2] == 'L') {
|
||||||
throw new Helpers.SvnLockedException("Datei: " + file + " ist gelockt!");
|
throw new Helpers.SvnLockedException("Datei: " + file + " ist gelockt!");
|
||||||
}
|
} else if(handles[1] == 'M') { //Modifizierte Eigenschaft
|
||||||
//Modifizierte Eigenschaft
|
|
||||||
else if (handles[1] == 'M') {
|
|
||||||
this.modified.Add(file);
|
this.modified.Add(file);
|
||||||
} else {
|
} else {
|
||||||
throw new NotImplementedException("NOT IMPLEMENTED in SvnClass: SVN Line[0] ' '");
|
throw new NotImplementedException("NOT IMPLEMENTED in SvnClass: SVN Line[0] ' '");
|
||||||
@ -62,9 +60,7 @@ namespace svnsync.Libraries {
|
|||||||
this.added.Add(file);
|
this.added.Add(file);
|
||||||
} else if (handles[0] == 'D') {
|
} else if (handles[0] == 'D') {
|
||||||
this.isdeleted.Add(file);
|
this.isdeleted.Add(file);
|
||||||
}
|
} else if(handles[0] == 'M') { // Modifizierte Datei
|
||||||
// Modifizierte Datei
|
|
||||||
else if (handles[0] == 'M') {
|
|
||||||
this.modified.Add(file);
|
this.modified.Add(file);
|
||||||
} else if (handles[0] == 'R') {
|
} else if (handles[0] == 'R') {
|
||||||
throw new NotImplementedException("NOT IMPLEMENTED in SvnClass: SVN Line[0] 'R'");
|
throw new NotImplementedException("NOT IMPLEMENTED in SvnClass: SVN Line[0] 'R'");
|
||||||
@ -94,45 +90,11 @@ namespace svnsync.Libraries {
|
|||||||
private void Runner(String arg) {
|
private void Runner(String arg) {
|
||||||
this.SvnOutput = "";
|
this.SvnOutput = "";
|
||||||
this.SvnError = "";
|
this.SvnError = "";
|
||||||
this.p.StartInfo.Arguments = arg;
|
this.p.StartInfo.Arguments = arg + " --non-interactive";
|
||||||
this.p.Start();
|
this.p.Start();
|
||||||
Int64 e_lenth = 0;
|
|
||||||
while (!this.p.HasExited) {
|
|
||||||
if(this.p.StandardOutput.Peek() != -1) {
|
|
||||||
this.SvnOutput += this.p.StandardOutput.ReadLine();
|
|
||||||
}
|
|
||||||
this.p.StandardError.BaseStream.Flush();
|
|
||||||
|
|
||||||
if (this.p.StandardError.BaseStream.Length > e_lenth) {
|
|
||||||
this.SvnError += this.p.StandardError.BaseStream.ReadByte();
|
|
||||||
e_lenth++;
|
|
||||||
}
|
|
||||||
System.Threading.Thread.Sleep(10);
|
|
||||||
}
|
|
||||||
this.SvnOutput += p.StandardOutput.ReadToEnd();
|
|
||||||
this.SvnError += p.StandardError.ReadToEnd();
|
|
||||||
/*this.p.OutputDataReceived += this.P_OutputDataReceived;
|
|
||||||
this.p.ErrorDataReceived += this.P_ErrorDataReceived;
|
|
||||||
this.p.BeginOutputReadLine();
|
|
||||||
this.p.BeginErrorReadLine();
|
|
||||||
while(!this.p.HasExited) {
|
|
||||||
this.p.StandardError.BaseStream.FlushAsync();
|
|
||||||
this.p.StandardOutput.BaseStream.FlushAsync();
|
|
||||||
System.Threading.Thread.Sleep(10);
|
|
||||||
}
|
|
||||||
this.p.WaitForExit();
|
this.p.WaitForExit();
|
||||||
this.p.CancelOutputRead();
|
this.SvnError = this.p.StandardError.ReadToEnd();
|
||||||
this.p.CancelErrorRead();*/
|
this.SvnOutput = this.p.StandardOutput.ReadToEnd();
|
||||||
}
|
|
||||||
|
|
||||||
private void P_ErrorDataReceived(Object sender, DataReceivedEventArgs e) {
|
|
||||||
if(e.Data != null) {
|
|
||||||
this.SvnError += e.Data + "\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void P_OutputDataReceived(Object sender, DataReceivedEventArgs e) {
|
|
||||||
this.SvnOutput += e.Data + "\n";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void DeleteFiles(List<String> files) {
|
internal void DeleteFiles(List<String> files) {
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using BlubbFish.Utils;
|
using BlubbFish.Utils;
|
||||||
using svnsync.Helpers;
|
using svnsync.Helpers;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace svnsync.Models
|
namespace svnsync.Models
|
||||||
{
|
{
|
||||||
@ -11,7 +12,7 @@ namespace svnsync.Models
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected override void Init() {
|
protected override void Init() {
|
||||||
|
this.Args = CmdArgs.Instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String MessageValue = "";
|
private String MessageValue = "";
|
||||||
@ -21,9 +22,18 @@ namespace svnsync.Models
|
|||||||
}
|
}
|
||||||
|
|
||||||
private Handles.FormType FormTypeValue;
|
private Handles.FormType FormTypeValue;
|
||||||
internal Handles.FormType FormType {
|
public Handles.FormType FormType {
|
||||||
get { return this.FormTypeValue; }
|
get { return this.FormTypeValue; }
|
||||||
set { this.FormTypeValue = value; this.Update(); }
|
set { this.FormTypeValue = value; this.Update(); }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private List<String> DeletedFilesValue;
|
||||||
|
public List<string> DeletedFiles {
|
||||||
|
get { return this.DeletedFilesValue; }
|
||||||
|
set { this.DeletedFilesValue = value; this.Update(); }
|
||||||
|
}
|
||||||
|
|
||||||
|
public CmdArgs Args { get; private set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -43,7 +43,9 @@ namespace svnsync
|
|||||||
if (!CmdArgs.Instance.HasArgumentType("-cron")) {
|
if (!CmdArgs.Instance.HasArgumentType("-cron")) {
|
||||||
T_StartLoop();
|
T_StartLoop();
|
||||||
}
|
}
|
||||||
|
#if !DEBUG
|
||||||
FileMutex.Instance.Delete();
|
FileMutex.Instance.Delete();
|
||||||
|
#endif
|
||||||
return;
|
return;
|
||||||
/*Application.Run();*/
|
/*Application.Run();*/
|
||||||
/*Application.EnableVisualStyles();
|
/*Application.EnableVisualStyles();
|
||||||
|
@ -11,7 +11,7 @@ using System.Resources;
|
|||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("BlubbFish")]
|
[assembly: AssemblyCompany("BlubbFish")]
|
||||||
[assembly: AssemblyProduct("SvnSync")]
|
[assembly: AssemblyProduct("SvnSync")]
|
||||||
[assembly: AssemblyCopyright("Copyright © 2012 - 10.03.2017")]
|
[assembly: AssemblyCopyright("Copyright © 2012 - 16.04.2017")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
@ -33,6 +33,6 @@ using System.Resources;
|
|||||||
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
|
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
|
||||||
// übernehmen, indem Sie "*" eingeben:
|
// übernehmen, indem Sie "*" eingeben:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.0.3.1")]
|
[assembly: AssemblyVersion("1.0.4.0")]
|
||||||
[assembly: AssemblyFileVersion("1.0.3.1")]
|
[assembly: AssemblyFileVersion("1.0.4.0")]
|
||||||
[assembly: NeutralResourcesLanguageAttribute("de-DE")]
|
[assembly: NeutralResourcesLanguageAttribute("de-DE")]
|
||||||
|
@ -1,29 +1,58 @@
|
|||||||
using System;
|
using System;
|
||||||
using BlubbFish.Utils;
|
using BlubbFish.Utils;
|
||||||
using svnsync.Models;
|
using svnsync.Models;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace svnsync.Views
|
namespace svnsync.Views
|
||||||
{
|
{
|
||||||
public class ViewsWindow : OwnView
|
public class ViewsWindow : OwnView
|
||||||
{
|
{
|
||||||
private ViewsWindowForm form;
|
private ViewsWindowFormInterface form;
|
||||||
|
|
||||||
public ViewsWindow()
|
public ViewsWindow()
|
||||||
{
|
{
|
||||||
this.form = new ViewsWindowForm();
|
|
||||||
this.Init();
|
this.Init();
|
||||||
this.Model.SetObserver(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Update()
|
public override void Update()
|
||||||
{
|
{
|
||||||
|
Boolean change = false;
|
||||||
|
switch(this.Model.FormType) {
|
||||||
|
default:
|
||||||
|
case Helpers.Handles.FormType.Normal:
|
||||||
|
if(!(this.form is ViewsWindowForm)) {
|
||||||
|
change = true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case Helpers.Handles.FormType.DeletedFiles:
|
||||||
|
if(!(this.form is ViewsWindowFormFileList)) {
|
||||||
|
change = true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if(change) {
|
||||||
|
this.SwitchContext();
|
||||||
|
}
|
||||||
this.form.UpdateForm();
|
this.form.UpdateForm();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void SwitchContext() {
|
||||||
|
switch(this.Model.FormType) {
|
||||||
|
default:
|
||||||
|
case Helpers.Handles.FormType.Normal:
|
||||||
|
this.form = new ViewsWindowForm();
|
||||||
|
break;
|
||||||
|
case Helpers.Handles.FormType.DeletedFiles:
|
||||||
|
this.form = new ViewsWindowFormFileList();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
this.form.SetModel(this.Model);
|
||||||
|
this.form.Show();
|
||||||
|
}
|
||||||
|
|
||||||
protected override void Init()
|
protected override void Init()
|
||||||
{
|
{
|
||||||
this.Model = ModelsWindow.Instance;
|
this.Model = ModelsWindow.Instance;
|
||||||
this.form.SetModel(this.Model);
|
|
||||||
this.form.Show();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Dispose()
|
public override void Dispose()
|
||||||
@ -34,5 +63,13 @@ namespace svnsync.Views
|
|||||||
}
|
}
|
||||||
|
|
||||||
public ModelsWindow Model { get; private set; }
|
public ModelsWindow Model { get; private set; }
|
||||||
|
|
||||||
|
internal void Draw() {
|
||||||
|
this.Model.SetObserver(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
internal void Hide() {
|
||||||
|
this.form.Hide();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
30
svnsync/Views/ViewsWindowForm.Designer.cs
generated
30
svnsync/Views/ViewsWindowForm.Designer.cs
generated
@ -28,32 +28,32 @@
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
this.label1 = new System.Windows.Forms.Label();
|
|
||||||
this.messageBox = new System.Windows.Forms.RichTextBox();
|
this.messageBox = new System.Windows.Forms.RichTextBox();
|
||||||
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
this.opencmd = new System.Windows.Forms.Button();
|
this.opencmd = new System.Windows.Forms.Button();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
|
// messageBox
|
||||||
|
//
|
||||||
|
this.messageBox.Location = new System.Drawing.Point(6, 19);
|
||||||
|
this.messageBox.Name = "messageBox";
|
||||||
|
this.messageBox.ReadOnly = true;
|
||||||
|
this.messageBox.Size = new System.Drawing.Size(452, 208);
|
||||||
|
this.messageBox.TabIndex = 2;
|
||||||
|
this.messageBox.Text = "";
|
||||||
|
//
|
||||||
// label1
|
// label1
|
||||||
//
|
//
|
||||||
this.label1.AutoSize = true;
|
this.label1.AutoSize = true;
|
||||||
this.label1.Location = new System.Drawing.Point(12, 9);
|
this.label1.Location = new System.Drawing.Point(6, 3);
|
||||||
this.label1.Name = "label1";
|
this.label1.Name = "label1";
|
||||||
this.label1.Size = new System.Drawing.Size(51, 13);
|
this.label1.Size = new System.Drawing.Size(51, 13);
|
||||||
this.label1.TabIndex = 1;
|
this.label1.TabIndex = 1;
|
||||||
this.label1.Text = "Meldung:";
|
this.label1.Text = "Meldung:";
|
||||||
//
|
//
|
||||||
// messageBox
|
|
||||||
//
|
|
||||||
this.messageBox.Location = new System.Drawing.Point(15, 26);
|
|
||||||
this.messageBox.Name = "messageBox";
|
|
||||||
this.messageBox.ReadOnly = true;
|
|
||||||
this.messageBox.Size = new System.Drawing.Size(437, 96);
|
|
||||||
this.messageBox.TabIndex = 2;
|
|
||||||
this.messageBox.Text = "";
|
|
||||||
//
|
|
||||||
// opencmd
|
// opencmd
|
||||||
//
|
//
|
||||||
this.opencmd.Location = new System.Drawing.Point(15, 227);
|
this.opencmd.Location = new System.Drawing.Point(6, 233);
|
||||||
this.opencmd.Name = "opencmd";
|
this.opencmd.Name = "opencmd";
|
||||||
this.opencmd.Size = new System.Drawing.Size(75, 23);
|
this.opencmd.Size = new System.Drawing.Size(75, 23);
|
||||||
this.opencmd.TabIndex = 3;
|
this.opencmd.TabIndex = 3;
|
||||||
@ -66,10 +66,11 @@
|
|||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.ClientSize = new System.Drawing.Size(464, 262);
|
this.ClientSize = new System.Drawing.Size(464, 262);
|
||||||
|
this.Controls.Add(this.label1);
|
||||||
this.Controls.Add(this.opencmd);
|
this.Controls.Add(this.opencmd);
|
||||||
this.Controls.Add(this.messageBox);
|
this.Controls.Add(this.messageBox);
|
||||||
this.Controls.Add(this.label1);
|
|
||||||
this.Name = "ViewsWindowForm";
|
this.Name = "ViewsWindowForm";
|
||||||
|
this.Padding = new System.Windows.Forms.Padding(3);
|
||||||
this.Text = "ViewsWindowsForm";
|
this.Text = "ViewsWindowsForm";
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
this.PerformLayout();
|
this.PerformLayout();
|
||||||
@ -78,8 +79,9 @@
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private System.Windows.Forms.Label label1;
|
|
||||||
private System.Windows.Forms.RichTextBox messageBox;
|
private System.Windows.Forms.RichTextBox messageBox;
|
||||||
|
private System.Windows.Forms.Label label1;
|
||||||
private System.Windows.Forms.Button opencmd;
|
private System.Windows.Forms.Button opencmd;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -12,7 +12,7 @@ using svnsync.Controllers;
|
|||||||
|
|
||||||
namespace svnsync.Views
|
namespace svnsync.Views
|
||||||
{
|
{
|
||||||
public partial class ViewsWindowForm : Form
|
public partial class ViewsWindowForm : Form, ViewsWindowFormInterface
|
||||||
{
|
{
|
||||||
private ModelsWindow model;
|
private ModelsWindow model;
|
||||||
public ViewsWindowForm()
|
public ViewsWindowForm()
|
||||||
@ -32,5 +32,10 @@ namespace svnsync.Views
|
|||||||
{
|
{
|
||||||
this.model = window;
|
this.model = window;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Hide() {
|
||||||
|
this.ShowInTaskbar = false;
|
||||||
|
this.WindowState = FormWindowState.Minimized;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
103
svnsync/Views/ViewsWindowFormFileList.Designer.cs
generated
Normal file
103
svnsync/Views/ViewsWindowFormFileList.Designer.cs
generated
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
namespace svnsync.Views {
|
||||||
|
partial class ViewsWindowFormFileList {
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing) {
|
||||||
|
if(disposing && (components != null)) {
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent() {
|
||||||
|
this.tree = new System.Windows.Forms.TreeView();
|
||||||
|
this.title = new System.Windows.Forms.Label();
|
||||||
|
this.runButton = new System.Windows.Forms.Button();
|
||||||
|
this.doAgainButton = new System.Windows.Forms.Button();
|
||||||
|
this.svnOpenButton = new System.Windows.Forms.Button();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// tree
|
||||||
|
//
|
||||||
|
this.tree.CheckBoxes = true;
|
||||||
|
this.tree.HideSelection = false;
|
||||||
|
this.tree.Location = new System.Drawing.Point(10, 30);
|
||||||
|
this.tree.Name = "tree";
|
||||||
|
this.tree.Size = new System.Drawing.Size(440, 191);
|
||||||
|
this.tree.TabIndex = 0;
|
||||||
|
//
|
||||||
|
// title
|
||||||
|
//
|
||||||
|
this.title.AutoSize = true;
|
||||||
|
this.title.Location = new System.Drawing.Point(10, 10);
|
||||||
|
this.title.Name = "title";
|
||||||
|
this.title.Size = new System.Drawing.Size(35, 13);
|
||||||
|
this.title.TabIndex = 1;
|
||||||
|
this.title.Text = "label1";
|
||||||
|
//
|
||||||
|
// runButton
|
||||||
|
//
|
||||||
|
this.runButton.Location = new System.Drawing.Point(10, 226);
|
||||||
|
this.runButton.Name = "runButton";
|
||||||
|
this.runButton.Size = new System.Drawing.Size(140, 23);
|
||||||
|
this.runButton.TabIndex = 2;
|
||||||
|
this.runButton.Text = "button1";
|
||||||
|
this.runButton.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// doAgainButton
|
||||||
|
//
|
||||||
|
this.doAgainButton.Location = new System.Drawing.Point(162, 226);
|
||||||
|
this.doAgainButton.Name = "doAgainButton";
|
||||||
|
this.doAgainButton.Size = new System.Drawing.Size(140, 23);
|
||||||
|
this.doAgainButton.TabIndex = 3;
|
||||||
|
this.doAgainButton.Text = "Wiederholen";
|
||||||
|
this.doAgainButton.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// svnOpenButton
|
||||||
|
//
|
||||||
|
this.svnOpenButton.Location = new System.Drawing.Point(310, 226);
|
||||||
|
this.svnOpenButton.Name = "svnOpenButton";
|
||||||
|
this.svnOpenButton.Size = new System.Drawing.Size(140, 23);
|
||||||
|
this.svnOpenButton.TabIndex = 4;
|
||||||
|
this.svnOpenButton.Text = "SVN Öffnen";
|
||||||
|
this.svnOpenButton.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// ViewsWindowFormFileList
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.ClientSize = new System.Drawing.Size(464, 262);
|
||||||
|
this.Controls.Add(this.svnOpenButton);
|
||||||
|
this.Controls.Add(this.doAgainButton);
|
||||||
|
this.Controls.Add(this.runButton);
|
||||||
|
this.Controls.Add(this.title);
|
||||||
|
this.Controls.Add(this.tree);
|
||||||
|
this.Name = "ViewsWindowFormFileList";
|
||||||
|
this.Text = "ViewsWindowFormDelete";
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
this.PerformLayout();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.Label title;
|
||||||
|
private System.Windows.Forms.Button runButton;
|
||||||
|
private System.Windows.Forms.Button doAgainButton;
|
||||||
|
private System.Windows.Forms.Button svnOpenButton;
|
||||||
|
protected internal System.Windows.Forms.TreeView tree;
|
||||||
|
}
|
||||||
|
}
|
49
svnsync/Views/ViewsWindowFormFileList.cs
Normal file
49
svnsync/Views/ViewsWindowFormFileList.cs
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using svnsync.Models;
|
||||||
|
using svnsync.Controllers;
|
||||||
|
using svnsync.Helpers;
|
||||||
|
|
||||||
|
namespace svnsync.Views {
|
||||||
|
public partial class ViewsWindowFormFileList : Form, ViewsWindowFormInterface {
|
||||||
|
private ModelsWindow model;
|
||||||
|
public ViewsWindowFormFileList() {
|
||||||
|
InitializeComponent();
|
||||||
|
this.FormClosed += ControllersWindow.FormClosed;
|
||||||
|
this.doAgainButton.Click += new EventHandler(ControllersWindow.RunAgainButton_Click);
|
||||||
|
this.svnOpenButton.Click += new EventHandler(ControllersWindow.SvnOpenButton_Click);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UpdateForm() {
|
||||||
|
this.BeginInvoke((Action)(() => {
|
||||||
|
switch(this.model.FormType) {
|
||||||
|
case Helpers.Handles.FormType.DeletedFiles:
|
||||||
|
this.title.Text = "Diese Daten sind gelöscht worden:";
|
||||||
|
this.runButton.Text = "Löschen";
|
||||||
|
this.tree.Nodes.AddRange(TreeBuilder.createDirList(this.model.DeletedFiles, this.model.Args.GetArgumentData("-d")));
|
||||||
|
this.tree.ImageList = TreeBuilder.getImages(this.tree.Nodes);
|
||||||
|
this.runButton.Click += new EventHandler(ControllersTray.DeleteButton_Click);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
|
//this.CreateFileList("Löschen", "Diese Daten sind gelöscht worden:", s.getWasDeletedFiles(), new EventHandler(deleteButton_Click));
|
||||||
|
|
||||||
|
public void SetModel(ModelsWindow window) {
|
||||||
|
this.model = window;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Hide() {
|
||||||
|
this.ShowInTaskbar = false;
|
||||||
|
this.WindowState = FormWindowState.Minimized;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
120
svnsync/Views/ViewsWindowFormFileList.resx
Normal file
120
svnsync/Views/ViewsWindowFormFileList.resx
Normal file
@ -0,0 +1,120 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
</root>
|
17
svnsync/Views/ViewsWindowFormInterface.cs
Normal file
17
svnsync/Views/ViewsWindowFormInterface.cs
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using svnsync.Models;
|
||||||
|
|
||||||
|
namespace svnsync.Views {
|
||||||
|
public interface ViewsWindowFormInterface {
|
||||||
|
void UpdateForm();
|
||||||
|
void SetModel(ModelsWindow window);
|
||||||
|
void Show();
|
||||||
|
IAsyncResult BeginInvoke(Delegate method);
|
||||||
|
void Dispose();
|
||||||
|
void Hide();
|
||||||
|
}
|
||||||
|
}
|
@ -31,7 +31,7 @@
|
|||||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
||||||
<PlatformTarget>x64</PlatformTarget>
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
<DebugType>full</DebugType>
|
<DebugType>full</DebugType>
|
||||||
<Optimize>false</Optimize>
|
<Optimize>false</Optimize>
|
||||||
@ -78,6 +78,7 @@
|
|||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="Helpers\Handles.cs" />
|
<Compile Include="Helpers\Handles.cs" />
|
||||||
<Compile Include="Helpers\StringHelper.cs" />
|
<Compile Include="Helpers\StringHelper.cs" />
|
||||||
|
<Compile Include="Helpers\TreeBuilder.cs" />
|
||||||
<Compile Include="Models\ModelsTray.cs" />
|
<Compile Include="Models\ModelsTray.cs" />
|
||||||
<Compile Include="Models\ModelsWindow.cs" />
|
<Compile Include="Models\ModelsWindow.cs" />
|
||||||
<Compile Include="Program.cs" />
|
<Compile Include="Program.cs" />
|
||||||
@ -91,6 +92,13 @@
|
|||||||
<Compile Include="Views\ViewsWindowForm.Designer.cs">
|
<Compile Include="Views\ViewsWindowForm.Designer.cs">
|
||||||
<DependentUpon>ViewsWindowForm.cs</DependentUpon>
|
<DependentUpon>ViewsWindowForm.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="Views\ViewsWindowFormFileList.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Views\ViewsWindowFormFileList.Designer.cs">
|
||||||
|
<DependentUpon>ViewsWindowFormFileList.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Views\ViewsWindowFormInterface.cs" />
|
||||||
<EmbeddedResource Include="Form1.resx">
|
<EmbeddedResource Include="Form1.resx">
|
||||||
<DependentUpon>Form1.cs</DependentUpon>
|
<DependentUpon>Form1.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
@ -107,6 +115,9 @@
|
|||||||
<EmbeddedResource Include="Views\ViewsWindowForm.resx">
|
<EmbeddedResource Include="Views\ViewsWindowForm.resx">
|
||||||
<DependentUpon>ViewsWindowForm.cs</DependentUpon>
|
<DependentUpon>ViewsWindowForm.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Views\ViewsWindowFormFileList.resx">
|
||||||
|
<DependentUpon>ViewsWindowFormFileList.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<None Include="Properties\Settings.settings">
|
<None Include="Properties\Settings.settings">
|
||||||
<Generator>SettingsSingleFileGenerator</Generator>
|
<Generator>SettingsSingleFileGenerator</Generator>
|
||||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||||
<StartArguments>-d "E:\\Eigene Dateien\\Dokumente\\Visual Studio 2017\\Projects" -cron -autoadd -autodelete -externals-own</StartArguments>
|
<StartArguments>-d "D:\\Visual Studio 2012\\Projects" -cron -autoadd -externals-own</StartArguments>
|
||||||
<RemoteDebugEnabled>false</RemoteDebugEnabled>
|
<RemoteDebugEnabled>false</RemoteDebugEnabled>
|
||||||
<StartAction>Project</StartAction>
|
<StartAction>Project</StartAction>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
Loading…
Reference in New Issue
Block a user