parent
76f6fca48b
commit
518422ecb5
@ -12,7 +12,7 @@ namespace svnsync.Controllers
|
||||
private static ControllersWindow controllerWindow;
|
||||
//private string args;
|
||||
public delegate void _enableLoopRun();
|
||||
public event _enableLoopRun StartLoop;
|
||||
public static event _enableLoopRun StartLoop;
|
||||
|
||||
/// <summary>
|
||||
/// Controlls a Tray.
|
||||
@ -23,13 +23,17 @@ namespace svnsync.Controllers
|
||||
{
|
||||
viewTray = new ViewsTray();
|
||||
InitControllerWindow();
|
||||
if (viewTray.Model.Args.HasArgumentType("-cron")) {
|
||||
if (this.CronJob(0, false)) {
|
||||
Runner();
|
||||
}
|
||||
|
||||
private static void Runner() {
|
||||
if(viewTray.Model.Args.HasArgumentType("-cron")) {
|
||||
if(CronJob(0, false)) {
|
||||
viewTray.ShowSuccess();
|
||||
System.Threading.Thread.Sleep(5000);
|
||||
viewTray.Dispose();
|
||||
} else {
|
||||
this.StartLoop();
|
||||
StartLoop();
|
||||
}
|
||||
return;
|
||||
} else {
|
||||
@ -39,8 +43,6 @@ namespace svnsync.Controllers
|
||||
|
||||
private static void InitControllerWindow() {
|
||||
controllerWindow = new ControllersWindow();
|
||||
controllerWindow.SetAction(Handles.FormType.Normal);
|
||||
controllerWindow.SetDeletedFiles(new List<string>());
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
@ -53,7 +55,7 @@ namespace svnsync.Controllers
|
||||
}
|
||||
}
|
||||
|
||||
private Boolean CronJob(Int32 run, Boolean readyToCommit)
|
||||
private static Boolean CronJob(Int32 run, Boolean readyToCommit)
|
||||
{
|
||||
if (viewTray.Model.Svn == null) {
|
||||
return HandleError(Handles.SvnType.NotInit, "");
|
||||
@ -92,7 +94,7 @@ namespace svnsync.Controllers
|
||||
return HandleError(Handles.SvnType.ExternDeletedFiles, "");
|
||||
}
|
||||
}
|
||||
return this.CronJob(run + 1, true);
|
||||
return CronJob(run + 1, true);
|
||||
} else {
|
||||
if (readyToCommit) {
|
||||
viewTray.Model.Svn.SetArgCheckIn("Automatic Cronjob Checkin: " + StringHelper.GetTimeStamp(DateTime.Now));
|
||||
@ -104,7 +106,7 @@ namespace svnsync.Controllers
|
||||
if (viewTray.Model.Svn.IsError) {
|
||||
return HandleError(Handles.SvnType.UnexpectedError, viewTray.Model.Svn.Error);
|
||||
}
|
||||
return this.CronJob(run + 1, true);
|
||||
return CronJob(run + 1, true);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
@ -119,6 +121,7 @@ namespace svnsync.Controllers
|
||||
break;
|
||||
case Handles.SvnType.HasVersionitedFiles:
|
||||
controllerWindow.SetAction(Handles.FormType.UnversionFiles);
|
||||
controllerWindow.SetNewFiles(viewTray.Model.Svn.NoVersionFiles);
|
||||
break;
|
||||
case Handles.SvnType.UnexpectedError:
|
||||
controllerWindow.SetAction(Handles.FormType.Error);
|
||||
@ -173,13 +176,46 @@ namespace svnsync.Controllers
|
||||
}
|
||||
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();
|
||||
controllerWindow.Dispose();
|
||||
System.Windows.Forms.Application.DoEvents();
|
||||
InitControllerWindow();
|
||||
viewTray.Model.Svn.DeleteFiles(l);
|
||||
if(viewTray.Model.Svn.IsError) {
|
||||
HandleError(Handles.SvnType.UnexpectedError, viewTray.Model.Svn.Error);
|
||||
return;
|
||||
}
|
||||
//this.runagainButton_Click(sender, null);
|
||||
RunAgainButton_Click(sender, null);
|
||||
}
|
||||
internal static void RunAgainButton_Click(object sender, EventArgs e) {
|
||||
controllerWindow.Dispose();
|
||||
System.Windows.Forms.Application.DoEvents();
|
||||
InitControllerWindow();
|
||||
Runner();
|
||||
}
|
||||
|
||||
internal static void SvnOpenButton_Click(object sender, EventArgs e) {
|
||||
System.Diagnostics.Process p = new System.Diagnostics.Process();
|
||||
p.StartInfo.FileName = "cmd";
|
||||
p.StartInfo.WorkingDirectory = viewTray.Model.Args.GetArgumentData("-d");
|
||||
p.StartInfo.Arguments = "/K svn";
|
||||
p.Start();
|
||||
}
|
||||
|
||||
internal static void AddButton_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.Dispose();
|
||||
System.Windows.Forms.Application.DoEvents();
|
||||
InitControllerWindow();
|
||||
viewTray.Model.Svn.AddFiles(l);
|
||||
if(viewTray.Model.Svn.IsError) {
|
||||
HandleError(Handles.SvnType.UnexpectedError, viewTray.Model.Svn.Error);
|
||||
return;
|
||||
}
|
||||
RunAgainButton_Click(sender, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -10,10 +10,10 @@ namespace svnsync.Controllers
|
||||
public class ControllersWindow : OwnController
|
||||
{
|
||||
private static ViewsWindow viewWindow;
|
||||
private Handles.FormType initAction;
|
||||
private Handles.FormType initAction = Handles.FormType.Normal;
|
||||
private String initMessage;
|
||||
private List<string> initDeletedFiles;
|
||||
private static ControllersTray controllerTray;
|
||||
private List<string> initDeletedFiles = new List<string>();
|
||||
private List<string> initNewFiles = new List<string>();
|
||||
/// <summary>
|
||||
/// Tray Controller
|
||||
/// </summary>
|
||||
@ -25,6 +25,7 @@ namespace svnsync.Controllers
|
||||
viewWindow.Model.Message = this.initMessage;
|
||||
viewWindow.Model.FormType = this.initAction;
|
||||
viewWindow.Model.DeletedFiles = this.initDeletedFiles;
|
||||
viewWindow.Model.NewFiles = this.initNewFiles;
|
||||
viewWindow.Draw();
|
||||
}
|
||||
|
||||
@ -33,6 +34,7 @@ namespace svnsync.Controllers
|
||||
if (viewWindow != null) {
|
||||
viewWindow.Dispose();
|
||||
}
|
||||
viewWindow = null;
|
||||
}
|
||||
|
||||
public static void FormClosed(Object sender, FormClosedEventArgs e)
|
||||
@ -48,9 +50,7 @@ namespace svnsync.Controllers
|
||||
} else {
|
||||
viewWindow.Model.FormType = formType;
|
||||
}
|
||||
//throw new NotImplementedException();
|
||||
//this.CreateSVNOpen("Fehler im Cronjob, mehr als 10 Aufrufe!", "");
|
||||
//this.CreateFileList("Hinzufügen", "Diese Daten sind unversioniert:", s.getNoVersionFiles(), new EventHandler(addButton_Click));
|
||||
//this.CreateSVNOpen("Es ist ein Unvorhersebarer Fehler aufgetreten", p);
|
||||
}
|
||||
|
||||
@ -70,16 +70,12 @@ namespace svnsync.Controllers
|
||||
}
|
||||
}
|
||||
|
||||
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();
|
||||
internal void SetNewFiles(List<string> list) {
|
||||
if(viewWindow == null) {
|
||||
this.initNewFiles = list;
|
||||
} else {
|
||||
viewWindow.Model.NewFiles = list;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -33,6 +33,13 @@ namespace svnsync.Models
|
||||
set { this.DeletedFilesValue = value; this.Update(); }
|
||||
}
|
||||
|
||||
private List<String> NewFilesValue;
|
||||
public List<string> NewFiles {
|
||||
get { return this.NewFilesValue; }
|
||||
set { this.NewFilesValue = value; this.Update(); }
|
||||
}
|
||||
|
||||
|
||||
public CmdArgs Args { get; private set; }
|
||||
|
||||
}
|
||||
|
@ -30,14 +30,16 @@ namespace svnsync
|
||||
try {
|
||||
Svn.Instance.SetDirectory(CmdArgs.Instance.GetArgumentData("-d"));
|
||||
t = new ControllersTray();
|
||||
t.StartLoop += T_StartLoop;
|
||||
ControllersTray.StartLoop += T_StartLoop;
|
||||
t.Execute();
|
||||
} catch (Exception e) {
|
||||
t.HideToolTip();
|
||||
String text = e.Message + "\n\n" + e.StackTrace;
|
||||
String title = "Exception in SVNSync: " + CmdArgs.Instance.GetArgumentData("-d");
|
||||
MessageBox.Show(text, title, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
FileMutex.Instance.Delete();
|
||||
#if !DEBUG
|
||||
FileMutex.Instance.Delete();
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
if (!CmdArgs.Instance.HasArgumentType("-cron")) {
|
||||
|
@ -33,6 +33,6 @@ using System.Resources;
|
||||
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
|
||||
// übernehmen, indem Sie "*" eingeben:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.4.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.4.0")]
|
||||
[assembly: AssemblyVersion("1.0.5.2")]
|
||||
[assembly: AssemblyFileVersion("1.0.5.2")]
|
||||
[assembly: NeutralResourcesLanguageAttribute("de-DE")]
|
||||
|
@ -8,6 +8,7 @@ namespace svnsync.Views
|
||||
public class ViewsWindow : OwnView
|
||||
{
|
||||
private ViewsWindowFormInterface form;
|
||||
public ModelsWindow Model { get; private set; }
|
||||
|
||||
public ViewsWindow()
|
||||
{
|
||||
@ -24,6 +25,7 @@ namespace svnsync.Views
|
||||
change = true;
|
||||
}
|
||||
break;
|
||||
case Helpers.Handles.FormType.UnversionFiles:
|
||||
case Helpers.Handles.FormType.DeletedFiles:
|
||||
if(!(this.form is ViewsWindowFormFileList)) {
|
||||
change = true;
|
||||
@ -42,6 +44,7 @@ namespace svnsync.Views
|
||||
case Helpers.Handles.FormType.Normal:
|
||||
this.form = new ViewsWindowForm();
|
||||
break;
|
||||
case Helpers.Handles.FormType.UnversionFiles:
|
||||
case Helpers.Handles.FormType.DeletedFiles:
|
||||
this.form = new ViewsWindowFormFileList();
|
||||
break;
|
||||
@ -57,19 +60,16 @@ namespace svnsync.Views
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
this.Model.RemoveObserver(this);
|
||||
this.form.BeginInvoke((Action)(() => {
|
||||
this.form.Dispose();
|
||||
}));
|
||||
}
|
||||
|
||||
public ModelsWindow Model { get; private set; }
|
||||
|
||||
internal void Draw() {
|
||||
this.Model.SetObserver(this);
|
||||
}
|
||||
|
||||
internal void Hide() {
|
||||
this.form.Hide();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
40
svnsync/Views/ViewsWindowForm.Designer.cs
generated
40
svnsync/Views/ViewsWindowForm.Designer.cs
generated
@ -30,44 +30,55 @@
|
||||
{
|
||||
this.messageBox = new System.Windows.Forms.RichTextBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.opencmd = new System.Windows.Forms.Button();
|
||||
this.svnOpenButton = new System.Windows.Forms.Button();
|
||||
this.doAgainButton = new System.Windows.Forms.Button();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// messageBox
|
||||
//
|
||||
this.messageBox.Location = new System.Drawing.Point(6, 19);
|
||||
this.messageBox.BackColor = System.Drawing.SystemColors.ControlLightLight;
|
||||
this.messageBox.Location = new System.Drawing.Point(13, 30);
|
||||
this.messageBox.Name = "messageBox";
|
||||
this.messageBox.ReadOnly = true;
|
||||
this.messageBox.Size = new System.Drawing.Size(452, 208);
|
||||
this.messageBox.Size = new System.Drawing.Size(443, 195);
|
||||
this.messageBox.TabIndex = 2;
|
||||
this.messageBox.Text = "";
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(6, 3);
|
||||
this.label1.Location = new System.Drawing.Point(10, 10);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(51, 13);
|
||||
this.label1.TabIndex = 1;
|
||||
this.label1.Text = "Meldung:";
|
||||
//
|
||||
// opencmd
|
||||
// svnOpenButton
|
||||
//
|
||||
this.opencmd.Location = new System.Drawing.Point(6, 233);
|
||||
this.opencmd.Name = "opencmd";
|
||||
this.opencmd.Size = new System.Drawing.Size(75, 23);
|
||||
this.opencmd.TabIndex = 3;
|
||||
this.opencmd.Text = "Open CMD";
|
||||
this.opencmd.UseVisualStyleBackColor = true;
|
||||
this.opencmd.Visible = false;
|
||||
this.svnOpenButton.Location = new System.Drawing.Point(318, 233);
|
||||
this.svnOpenButton.Name = "svnOpenButton";
|
||||
this.svnOpenButton.Size = new System.Drawing.Size(140, 23);
|
||||
this.svnOpenButton.TabIndex = 6;
|
||||
this.svnOpenButton.Text = "SVN Öffnen";
|
||||
this.svnOpenButton.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// doAgainButton
|
||||
//
|
||||
this.doAgainButton.Location = new System.Drawing.Point(170, 233);
|
||||
this.doAgainButton.Name = "doAgainButton";
|
||||
this.doAgainButton.Size = new System.Drawing.Size(140, 23);
|
||||
this.doAgainButton.TabIndex = 5;
|
||||
this.doAgainButton.Text = "Wiederholen";
|
||||
this.doAgainButton.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// ViewsWindowForm
|
||||
//
|
||||
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.label1);
|
||||
this.Controls.Add(this.opencmd);
|
||||
this.Controls.Add(this.messageBox);
|
||||
this.Name = "ViewsWindowForm";
|
||||
this.Padding = new System.Windows.Forms.Padding(3);
|
||||
@ -81,7 +92,8 @@
|
||||
|
||||
private System.Windows.Forms.RichTextBox messageBox;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Button opencmd;
|
||||
private System.Windows.Forms.Button svnOpenButton;
|
||||
private System.Windows.Forms.Button doAgainButton;
|
||||
|
||||
}
|
||||
}
|
@ -19,6 +19,8 @@ namespace svnsync.Views
|
||||
{
|
||||
InitializeComponent();
|
||||
this.FormClosed += ControllersWindow.FormClosed;
|
||||
this.doAgainButton.Click += ControllersTray.RunAgainButton_Click;
|
||||
this.svnOpenButton.Click += ControllersTray.SvnOpenButton_Click;
|
||||
}
|
||||
|
||||
public void UpdateForm()
|
||||
@ -32,10 +34,5 @@ namespace svnsync.Views
|
||||
{
|
||||
this.model = window;
|
||||
}
|
||||
|
||||
public void Hide() {
|
||||
this.ShowInTaskbar = false;
|
||||
this.WindowState = FormWindowState.Minimized;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -17,8 +17,8 @@ namespace svnsync.Views {
|
||||
public ViewsWindowFormFileList() {
|
||||
InitializeComponent();
|
||||
this.FormClosed += ControllersWindow.FormClosed;
|
||||
this.doAgainButton.Click += new EventHandler(ControllersWindow.RunAgainButton_Click);
|
||||
this.svnOpenButton.Click += new EventHandler(ControllersWindow.SvnOpenButton_Click);
|
||||
this.doAgainButton.Click += new EventHandler(ControllersTray.RunAgainButton_Click);
|
||||
this.svnOpenButton.Click += new EventHandler(ControllersTray.SvnOpenButton_Click);
|
||||
}
|
||||
|
||||
public void UpdateForm() {
|
||||
@ -31,19 +31,26 @@ namespace svnsync.Views {
|
||||
this.tree.ImageList = TreeBuilder.getImages(this.tree.Nodes);
|
||||
this.runButton.Click += new EventHandler(ControllersTray.DeleteButton_Click);
|
||||
break;
|
||||
case Handles.FormType.UnversionFiles:
|
||||
this.title.Text = "Diese Daten sind unversioniert:";
|
||||
this.runButton.Text = "Hinzufügen";
|
||||
this.tree.Nodes.AddRange(TreeBuilder.createDirList(this.model.NewFiles, this.model.Args.GetArgumentData("-d")));
|
||||
this.tree.ImageList = TreeBuilder.getImages(this.tree.Nodes);
|
||||
this.runButton.Click += new EventHandler(ControllersTray.AddButton_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;
|
||||
new public void Dispose() {
|
||||
this.BeginInvoke((Action)(() => {
|
||||
this.Visible = false;
|
||||
this.ShowInTaskbar = false;
|
||||
}));
|
||||
base.Dispose(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -12,6 +12,5 @@ namespace svnsync.Views {
|
||||
void Show();
|
||||
IAsyncResult BeginInvoke(Delegate method);
|
||||
void Dispose();
|
||||
void Hide();
|
||||
}
|
||||
}
|
||||
|
Binary file not shown.
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<StartArguments>-d "D:\\Visual Studio 2012\\Projects" -cron -autoadd -externals-own</StartArguments>
|
||||
<StartArguments>-d "D:\\Visual Studio 2012\\Projects" -cron -externals-own</StartArguments>
|
||||
<RemoteDebugEnabled>false</RemoteDebugEnabled>
|
||||
<StartAction>Project</StartAction>
|
||||
</PropertyGroup>
|
||||
|
Loading…
Reference in New Issue
Block a user