commit
31731972d0
5 changed files with 119 additions and 99 deletions
|
|
@ -253,7 +253,7 @@ namespace MatterHackers.MatterControl.ContactForm
|
|||
submitButton.Visible = false;
|
||||
|
||||
postRequest.RequestSucceeded += new EventHandler(onPostRequestSucceeded);
|
||||
postRequest.RequestFailed += new EventHandler(onPostRequestFailed);
|
||||
postRequest.RequestFailed += onPostRequestFailed;
|
||||
postRequest.Request();
|
||||
}
|
||||
}
|
||||
|
|
@ -264,7 +264,7 @@ namespace MatterHackers.MatterControl.ContactForm
|
|||
doneButton.Visible = true;
|
||||
}
|
||||
|
||||
private void onPostRequestFailed(object sender, EventArgs e)
|
||||
private void onPostRequestFailed(object sender, ResponseErrorEventArgs e)
|
||||
{
|
||||
submissionStatus.Text = LocalizedString.Get("Sorry! We weren't able to submit your request.");
|
||||
doneButton.Visible = true;
|
||||
|
|
|
|||
|
|
@ -170,7 +170,7 @@ namespace MatterHackers.MatterControl
|
|||
SetUpdateStatus(UpdateStatusStates.CheckingForUpdate);
|
||||
RequestLatestVersion request = new RequestLatestVersion();
|
||||
request.RequestSucceeded += new EventHandler(onVersionRequestSucceeded);
|
||||
request.RequestFailed += new EventHandler(onVersionRequestFailed);
|
||||
request.RequestFailed += onVersionRequestFailed;
|
||||
request.Request();
|
||||
}
|
||||
}
|
||||
|
|
@ -243,7 +243,7 @@ namespace MatterHackers.MatterControl
|
|||
return null;
|
||||
}
|
||||
|
||||
private void onVersionRequestFailed(object sender, EventArgs e)
|
||||
private void onVersionRequestFailed(object sender, ResponseErrorEventArgs e)
|
||||
{
|
||||
SetUpdateStatus(UpdateStatusStates.UpToDate);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,24 +12,11 @@ namespace MatterHackers.MatterControl.ConfigurationPage
|
|||
{
|
||||
public class CloudSettingsWidget : SettingsViewBase
|
||||
{
|
||||
private DisableableWidget cloudMonitorContainer;
|
||||
private DisableableWidget notificationSettingsContainer;
|
||||
|
||||
private Button enableCloudMonitorButton;
|
||||
private Button disableCloudMonitorButton;
|
||||
private Button goCloudMonitoringWebPageButton;
|
||||
|
||||
private Button cloudMonitorInstructionsLink;
|
||||
private TextWidget cloudMonitorStatusLabel;
|
||||
private Button configureNotificationSettingsButton;
|
||||
|
||||
public CloudSettingsWidget()
|
||||
: base(LocalizedString.Get("Cloud Settings"))
|
||||
{
|
||||
cloudMonitorContainer = new DisableableWidget();
|
||||
cloudMonitorContainer.AddChild(GetCloudMonitorControls());
|
||||
mainContainer.AddChild(cloudMonitorContainer);
|
||||
|
||||
mainContainer.AddChild(new HorizontalLine(separatorLineColor));
|
||||
|
||||
notificationSettingsContainer = new DisableableWidget();
|
||||
|
|
@ -38,7 +25,6 @@ namespace MatterHackers.MatterControl.ConfigurationPage
|
|||
|
||||
AddChild(mainContainer);
|
||||
|
||||
SetCloudButtonVisiblity();
|
||||
|
||||
AddHandlers();
|
||||
}
|
||||
|
|
@ -120,45 +106,6 @@ namespace MatterHackers.MatterControl.ConfigurationPage
|
|||
InvertLightness.DoInvertLightness(cloudMonitorImage);
|
||||
}
|
||||
|
||||
ImageWidget cloudMonitoringIcon = new ImageWidget(cloudMonitorImage);
|
||||
cloudMonitoringIcon.Margin = new BorderDouble(right: 6);
|
||||
|
||||
enableCloudMonitorButton = textImageButtonFactory.Generate("Enable".Localize().ToUpper());
|
||||
enableCloudMonitorButton.Margin = new BorderDouble(left: 6);
|
||||
enableCloudMonitorButton.VAnchor = VAnchor.ParentCenter;
|
||||
enableCloudMonitorButton.Click += new EventHandler(enableCloudMonitor_Click);
|
||||
|
||||
disableCloudMonitorButton = textImageButtonFactory.Generate("Disable".Localize().ToUpper());
|
||||
disableCloudMonitorButton.Margin = new BorderDouble(left: 6);
|
||||
disableCloudMonitorButton.VAnchor = VAnchor.ParentCenter;
|
||||
disableCloudMonitorButton.Click += new EventHandler(disableCloudMonitor_Click);
|
||||
|
||||
cloudMonitorInstructionsLink = linkButtonFactory.Generate("More Info".Localize().ToUpper());
|
||||
cloudMonitorInstructionsLink.VAnchor = VAnchor.ParentCenter;
|
||||
cloudMonitorInstructionsLink.Click += new EventHandler(goCloudMonitoringInstructionsButton_Click);
|
||||
cloudMonitorInstructionsLink.Margin = new BorderDouble(left: 6);
|
||||
|
||||
goCloudMonitoringWebPageButton = linkButtonFactory.Generate("View Status".Localize().ToUpper());
|
||||
goCloudMonitoringWebPageButton.VAnchor = VAnchor.ParentCenter;
|
||||
goCloudMonitoringWebPageButton.Click += new EventHandler(goCloudMonitoringWebPageButton_Click);
|
||||
goCloudMonitoringWebPageButton.Margin = new BorderDouble(left: 6);
|
||||
|
||||
cloudMonitorStatusLabel = new TextWidget("");
|
||||
cloudMonitorStatusLabel.AutoExpandBoundsToText = true;
|
||||
cloudMonitorStatusLabel.TextColor = ActiveTheme.Instance.PrimaryTextColor;
|
||||
cloudMonitorStatusLabel.VAnchor = VAnchor.ParentCenter;
|
||||
|
||||
GuiWidget hSpacer = new GuiWidget();
|
||||
hSpacer.HAnchor = HAnchor.ParentLeftRight;
|
||||
|
||||
buttonBar.AddChild(cloudMonitoringIcon);
|
||||
buttonBar.AddChild(cloudMonitorStatusLabel);
|
||||
buttonBar.AddChild(cloudMonitorInstructionsLink);
|
||||
buttonBar.AddChild(goCloudMonitoringWebPageButton);
|
||||
buttonBar.AddChild(hSpacer);
|
||||
buttonBar.AddChild(enableCloudMonitorButton);
|
||||
buttonBar.AddChild(disableCloudMonitorButton);
|
||||
|
||||
return buttonBar;
|
||||
}
|
||||
|
||||
|
|
@ -183,11 +130,6 @@ namespace MatterHackers.MatterControl.ConfigurationPage
|
|||
ImageWidget levelingIcon = new ImageWidget(notificationSettingsImage);
|
||||
levelingIcon.Margin = new BorderDouble(right: 6, bottom: 6);
|
||||
|
||||
configureNotificationSettingsButton = textImageButtonFactory.Generate("Configure".Localize().ToUpper());
|
||||
configureNotificationSettingsButton.Margin = new BorderDouble(left: 6);
|
||||
configureNotificationSettingsButton.VAnchor = VAnchor.ParentCenter;
|
||||
configureNotificationSettingsButton.Click += new EventHandler(configureNotificationSettingsButton_Click);
|
||||
|
||||
notificationSettingsLabel = new TextWidget(LocalizedString.Get("Notification Settings"));
|
||||
notificationSettingsLabel.AutoExpandBoundsToText = true;
|
||||
notificationSettingsLabel.TextColor = ActiveTheme.Instance.PrimaryTextColor;
|
||||
|
|
@ -209,29 +151,11 @@ namespace MatterHackers.MatterControl.ConfigurationPage
|
|||
buttonRow.AddChild(levelingIcon);
|
||||
buttonRow.AddChild(notificationSettingsLabel);
|
||||
buttonRow.AddChild(new HorizontalSpacer());
|
||||
buttonRow.AddChild(configureNotificationSettingsButton);
|
||||
buttonRow.AddChild(levelingSwitchContainer);
|
||||
|
||||
return buttonRow;
|
||||
}
|
||||
|
||||
private void SetCloudButtonVisiblity()
|
||||
{
|
||||
bool cloudMontitorEnabled = (PrinterSettings.Instance.get("CloudMonitorEnabled") == "true");
|
||||
enableCloudMonitorButton.Visible = !cloudMontitorEnabled;
|
||||
disableCloudMonitorButton.Visible = cloudMontitorEnabled;
|
||||
goCloudMonitoringWebPageButton.Visible = cloudMontitorEnabled;
|
||||
|
||||
if (cloudMontitorEnabled)
|
||||
{
|
||||
cloudMonitorStatusLabel.Text = LocalizedString.Get("Cloud Monitoring (enabled)");
|
||||
}
|
||||
else
|
||||
{
|
||||
cloudMonitorStatusLabel.Text = LocalizedString.Get("Cloud Monitoring (disabled)");
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnClosed(EventArgs e)
|
||||
{
|
||||
if (unregisterEvents != null)
|
||||
|
|
@ -251,7 +175,6 @@ namespace MatterHackers.MatterControl.ConfigurationPage
|
|||
|
||||
private void onPrinterStatusChanged(object sender, EventArgs e)
|
||||
{
|
||||
SetVisibleControls();
|
||||
this.Invalidate();
|
||||
}
|
||||
|
||||
|
|
@ -265,17 +188,5 @@ namespace MatterHackers.MatterControl.ConfigurationPage
|
|||
}
|
||||
}
|
||||
|
||||
private void SetVisibleControls()
|
||||
{
|
||||
if (ActivePrinterProfile.Instance.ActivePrinter == null)
|
||||
{
|
||||
// no printer selected
|
||||
cloudMonitorContainer.SetEnableLevel(DisableableWidget.EnableLevel.Disabled);
|
||||
}
|
||||
else // we at least have a printer selected
|
||||
{
|
||||
cloudMonitorContainer.SetEnableLevel(DisableableWidget.EnableLevel.Enabled);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2056,7 +2056,7 @@ namespace MatterHackers.MatterControl.PrinterCommunication
|
|||
}
|
||||
}
|
||||
|
||||
private void CancelPrint()
|
||||
public void CancelPrint()
|
||||
{
|
||||
using (TimedLock.Lock(this, "CancelingPrint"))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -34,6 +34,114 @@ using System.ComponentModel;
|
|||
|
||||
namespace MatterHackers.MatterControl.VersionManagement
|
||||
{
|
||||
public class ResponseErrorEventArgs : EventArgs
|
||||
{
|
||||
public JsonResponseDictionary ResponseValues { get; set; }
|
||||
}
|
||||
|
||||
public class ResponseSuccessEventArgs<T> : EventArgs
|
||||
{
|
||||
public T ResponseItem { get; set; }
|
||||
}
|
||||
|
||||
public class WebRequestBase<T> where T : class
|
||||
{
|
||||
protected string uri;
|
||||
protected Dictionary<string, string> requestValues;
|
||||
|
||||
public event EventHandler<ResponseSuccessEventArgs<T>> RequestSucceeded;
|
||||
|
||||
public event EventHandler<ResponseErrorEventArgs> RequestFailed;
|
||||
|
||||
public event EventHandler RequestComplete;
|
||||
|
||||
protected void OnRequestSuceeded(T responseItem)
|
||||
{
|
||||
if (RequestSucceeded != null)
|
||||
{
|
||||
RequestSucceeded(this, new ResponseSuccessEventArgs<T>() { ResponseItem = responseItem });
|
||||
}
|
||||
}
|
||||
|
||||
//This gets called after failure or success
|
||||
protected void OnRequestComplete()
|
||||
{
|
||||
if (RequestComplete != null)
|
||||
{
|
||||
RequestComplete(this, null);
|
||||
}
|
||||
}
|
||||
|
||||
protected void OnRequestFailed(JsonResponseDictionary responseValues)
|
||||
{
|
||||
if (RequestFailed != null)
|
||||
{
|
||||
RequestFailed(this, new ResponseErrorEventArgs() { ResponseValues = responseValues });
|
||||
}
|
||||
}
|
||||
|
||||
public WebRequestBase()
|
||||
{
|
||||
requestValues = new Dictionary<string, string>();
|
||||
}
|
||||
|
||||
protected virtual void SendRequest(object sender, DoWorkEventArgs e)
|
||||
{
|
||||
RequestManager requestManager = new RequestManager();
|
||||
string jsonToSend = JsonConvert.SerializeObject(requestValues);
|
||||
|
||||
System.Diagnostics.Trace.Write(string.Format("ServiceRequest: {0}\r\n {1}\r\n", uri, string.Join("\r\n\t", jsonToSend.Split(','))));
|
||||
|
||||
requestManager.SendPOSTRequest(uri, jsonToSend, "", "", false);
|
||||
|
||||
if (requestManager.LastResponse != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
e.Result = JsonConvert.DeserializeObject<T>(requestManager.LastResponse);
|
||||
}
|
||||
catch
|
||||
{
|
||||
e.Result = JsonConvert.DeserializeObject<JsonResponseDictionary>(requestManager.LastResponse);
|
||||
}
|
||||
}
|
||||
|
||||
T responseItem = e.Result as T;
|
||||
if (responseItem != null)
|
||||
{
|
||||
OnRequestSuceeded(responseItem);
|
||||
}
|
||||
else
|
||||
{
|
||||
OnRequestFailed(e.Result as JsonResponseDictionary);
|
||||
}
|
||||
|
||||
OnRequestComplete();
|
||||
}
|
||||
|
||||
public virtual void ProcessErrorResponse(JsonResponseDictionary responseValues)
|
||||
{
|
||||
string errorMessage = responseValues.get("ErrorMessage");
|
||||
if (errorMessage != null)
|
||||
{
|
||||
Console.WriteLine(string.Format("Request Failed: {0}", errorMessage));
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine(string.Format("Request Failed: Unknown Reason"));
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void Request()
|
||||
{
|
||||
BackgroundWorker doRequestWorker = new BackgroundWorker();
|
||||
doRequestWorker.DoWork += new DoWorkEventHandler(SendRequest);
|
||||
//doRequestWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(ProcessResponse);
|
||||
doRequestWorker.RunWorkerAsync();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public class WebRequestBase
|
||||
{
|
||||
protected string uri;
|
||||
|
|
@ -41,7 +149,7 @@ namespace MatterHackers.MatterControl.VersionManagement
|
|||
|
||||
public event EventHandler RequestSucceeded;
|
||||
|
||||
public event EventHandler RequestFailed;
|
||||
public event EventHandler<ResponseErrorEventArgs> RequestFailed;
|
||||
|
||||
public event EventHandler RequestComplete;
|
||||
|
||||
|
|
@ -62,11 +170,11 @@ namespace MatterHackers.MatterControl.VersionManagement
|
|||
}
|
||||
}
|
||||
|
||||
protected void OnRequestFailed()
|
||||
protected void OnRequestFailed(JsonResponseDictionary responseValues)
|
||||
{
|
||||
if (RequestFailed != null)
|
||||
{
|
||||
RequestFailed(this, null);
|
||||
RequestFailed(this, new ResponseErrorEventArgs() { ResponseValues = responseValues });
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -92,6 +200,8 @@ namespace MatterHackers.MatterControl.VersionManagement
|
|||
RequestManager requestManager = new RequestManager();
|
||||
string jsonToSend = getJsonToSend();
|
||||
|
||||
System.Diagnostics.Trace.Write(string.Format("ServiceRequest: {0}\r\n {1}\r\n", uri, string.Join("\r\n\t", jsonToSend.Split(','))));
|
||||
|
||||
requestManager.SendPOSTRequest(uri, jsonToSend, "", "", false);
|
||||
if (requestManager.LastResponse == null)
|
||||
{
|
||||
|
|
@ -121,7 +231,6 @@ namespace MatterHackers.MatterControl.VersionManagement
|
|||
protected virtual void ProcessResponse(object sender, RunWorkerCompletedEventArgs e)
|
||||
{
|
||||
JsonResponseDictionary responseValues = e.Result as JsonResponseDictionary;
|
||||
|
||||
if (responseValues != null)
|
||||
{
|
||||
string requestSuccessStatus = responseValues.get("Status");
|
||||
|
|
@ -133,7 +242,7 @@ namespace MatterHackers.MatterControl.VersionManagement
|
|||
else
|
||||
{
|
||||
ProcessErrorResponse(responseValues);
|
||||
OnRequestFailed();
|
||||
OnRequestFailed(responseValues);
|
||||
}
|
||||
|
||||
OnRequestComplete();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue