From 5e24089aef26973286502d484b055a87fa079313 Mon Sep 17 00:00:00 2001 From: larsbrubaker Date: Mon, 28 Apr 2014 17:34:54 -0700 Subject: [PATCH] Working to make the update button show correctly. --- AboutPage/AboutPage.cs | 2 +- AboutPage/UpdateControlData.cs | 85 +++ ...{UpdateControl.cs => UpdateControlView.cs} | 9 +- ApplicationView/MainApplicationWidget.cs | 7 - ApplicationView/MainScreenTabView.cs | 34 +- MatterControl.csproj | 3 +- StaticData/Translations/Master.txt | 3 + StaticData/Translations/de/Translation.txt | 159 ++++ StaticData/Translations/es/Translation.txt | 690 ++++++++++++++++++ 9 files changed, 947 insertions(+), 45 deletions(-) create mode 100644 AboutPage/UpdateControlData.cs rename AboutPage/{UpdateControl.cs => UpdateControlView.cs} (97%) diff --git a/AboutPage/AboutPage.cs b/AboutPage/AboutPage.cs index af46f350d..bac348915 100644 --- a/AboutPage/AboutPage.cs +++ b/AboutPage/AboutPage.cs @@ -70,7 +70,7 @@ namespace MatterHackers.MatterControl customInfoTopToBottom.VAnchor = VAnchor.Max_FitToChildren_ParentHeight; customInfoTopToBottom.Padding = new BorderDouble(5, 10, 5, 0); - customInfoTopToBottom.AddChild(new UpdateControl()); + customInfoTopToBottom.AddChild(new UpdateControlView()); //AddMatterHackersInfo(customInfoTopToBottom); customInfoTopToBottom.AddChild(new GuiWidget(1, 10)); diff --git a/AboutPage/UpdateControlData.cs b/AboutPage/UpdateControlData.cs new file mode 100644 index 000000000..2a70285f2 --- /dev/null +++ b/AboutPage/UpdateControlData.cs @@ -0,0 +1,85 @@ +/* +Copyright (c) 2014, Lars Brubaker +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. 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. + +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. + +The views and conclusions contained in the software and documentation are those +of the authors and should not be interpreted as representing official policies, +either expressed or implied, of the FreeBSD Project. +*/ + +using System; +using System.ComponentModel; +using System.Diagnostics; +using System.IO; +using System.Net; +using System.Threading; +using MatterHackers.Agg; +using MatterHackers.Agg.UI; +using MatterHackers.Localizations; +using MatterHackers.MatterControl.VersionManagement; + +namespace MatterHackers.MatterControl +{ + public class UpdateControlData + { + public enum UpdateStatusStates { Unknown, UpdateAvailable, UpdateDownloading, UpdateDownloaded }; + public RootedObjectEventHandler UpdateStatusChanged = new RootedObjectEventHandler(); + + UpdateStatusStates updateStatus; + public UpdateStatusStates UpdateStatus + { + get { return updateStatus; } + set + { + if (updateStatus != value) + { + updateStatus = value; + OnUpdateStatusChanged(null); + } + } + } + + static UpdateControlData instance; + static public UpdateControlData Instance + { + get + { + if (instance == null) + { + instance = new UpdateControlData(); + } + + return instance; + } + } + + private UpdateControlData() + { + } + + public void OnUpdateStatusChanged(EventArgs e) + { + UpdateStatusChanged.CallEvents(this, e); + } + } +} diff --git a/AboutPage/UpdateControl.cs b/AboutPage/UpdateControlView.cs similarity index 97% rename from AboutPage/UpdateControl.cs rename to AboutPage/UpdateControlView.cs index 637cf5f7a..b4e813bf8 100644 --- a/AboutPage/UpdateControl.cs +++ b/AboutPage/UpdateControlView.cs @@ -40,7 +40,7 @@ using MatterHackers.MatterControl.VersionManagement; namespace MatterHackers.MatterControl { - public class UpdateControl : FlowLayoutWidget + public class UpdateControlView : FlowLayoutWidget { bool updateInitiated = false; Button downloadUpdateLink; @@ -52,7 +52,7 @@ namespace MatterHackers.MatterControl RGBA_Bytes offWhite = new RGBA_Bytes(245, 245, 245); TextImageButtonFactory textImageButtonFactory = new TextImageButtonFactory(); - public UpdateControl() + public UpdateControlView() { textImageButtonFactory.normalFillColor = RGBA_Bytes.Gray; textImageButtonFactory.normalTextColor = ActiveTheme.Instance.PrimaryTextColor; @@ -104,13 +104,11 @@ namespace MatterHackers.MatterControl if (firstSession != null && DateTime.Compare(firstSession.SessionStart.AddDays(7), DateTime.Now) < 0) { - NeedToCheckForUpdateFirstTimeEver = true; + UpdateControlData.Instance.UpdateStatus = UpdateControlData.UpdateStatusStates.UpdateAvailable; } } } - public static bool NeedToCheckForUpdateFirstTimeEver { get; set; } - public void CheckForUpdate(object sender, MouseEventArgs e) { if (!updateInitiated) @@ -316,6 +314,7 @@ namespace MatterHackers.MatterControl downloadUpdateLink.Visible = true; installUpdateLink.Visible = false; checkUpdateLink.Visible = false; + UpdateControlData.Instance.UpdateStatus = UpdateControlData.UpdateStatusStates.UpdateAvailable; } //MainSlidePanel.Instance.SetUpdateNotification(this, null); diff --git a/ApplicationView/MainApplicationWidget.cs b/ApplicationView/MainApplicationWidget.cs index 27a177800..05df3c6d6 100644 --- a/ApplicationView/MainApplicationWidget.cs +++ b/ApplicationView/MainApplicationWidget.cs @@ -54,7 +54,6 @@ namespace MatterHackers.MatterControl { static ApplicationWidget globalInstance; public RootedObjectEventHandler ReloadPanelTrigger = new RootedObjectEventHandler(); - public RootedObjectEventHandler SetUpdateNotificationTrigger = new RootedObjectEventHandler(); public SlicePresetsWindow EditSlicePresetsWindow { get; set;} @@ -106,7 +105,6 @@ namespace MatterHackers.MatterControl void Initialize() { this.AnchorAll(); - SetUpdateNotification(this, null); } public static ApplicationWidget Instance @@ -123,11 +121,6 @@ namespace MatterHackers.MatterControl } } - public void SetUpdateNotification(object sender, EventArgs widgetEvent) - { - SetUpdateNotificationTrigger.CallEvents(this, null); - } - public void ReloadAdvancedControlsPanel() { ReloadPanelTrigger.CallEvents(this, null); diff --git a/ApplicationView/MainScreenTabView.cs b/ApplicationView/MainScreenTabView.cs index ffb494c03..6ff43adc3 100644 --- a/ApplicationView/MainScreenTabView.cs +++ b/ApplicationView/MainScreenTabView.cs @@ -97,7 +97,7 @@ namespace MatterHackers.MatterControl QueueData.Instance.ItemAdded.RegisterEvent(NumQueueItemsChanged, ref unregisterEvents); QueueData.Instance.ItemRemoved.RegisterEvent(NumQueueItemsChanged, ref unregisterEvents); - ApplicationWidget.Instance.SetUpdateNotificationTrigger.RegisterEvent(SetUpdateNotification, ref unregisterEvents); + UpdateControlData.Instance.UpdateStatusChanged.RegisterEvent(SetUpdateNotification, ref unregisterEvents); SelectedTabIndex = tabStateBeforeClose; } @@ -120,42 +120,14 @@ namespace MatterHackers.MatterControl public void SetUpdateNotification(object sender, EventArgs widgetEvent) { - if (this.UpdateIsAvailable() || UpdateControl.NeedToCheckForUpdateFirstTimeEver) + if (UpdateControlData.Instance.UpdateStatus == UpdateControlData.UpdateStatusStates.UpdateAvailable) { -#if true if (addedUpdateMark == null) { - UpdateControl.NeedToCheckForUpdateFirstTimeEver = false; addedUpdateMark = new NotificationWidget(); - addedUpdateMark.OriginRelativeParent = new Vector2(68, 7); + addedUpdateMark.OriginRelativeParent = new Vector2(AboutTabView.Width - 25, 7); AboutTabView.AddChild(addedUpdateMark); } -#else - AboutTabPage.Text = string.Format("About (!)"); -#endif - } - else - { - if (addedUpdateMark != null) - { - addedUpdateMark.Visible = false; - } - AboutTabPage.Text = string.Format("About").ToUpper(); - } - } - - bool UpdateIsAvailable() - { - string currentBuildToken = ApplicationSettings.Instance.get("CurrentBuildToken"); - string applicationBuildToken = VersionInfo.Instance.BuildToken; - - if (applicationBuildToken == currentBuildToken || currentBuildToken == null) - { - return false; - } - else - { - return true; } } } diff --git a/MatterControl.csproj b/MatterControl.csproj index e0b7d9edd..35fb9d22b 100644 --- a/MatterControl.csproj +++ b/MatterControl.csproj @@ -81,7 +81,8 @@ - + + diff --git a/StaticData/Translations/Master.txt b/StaticData/Translations/Master.txt index 932f20e54..31ceab2e2 100644 --- a/StaticData/Translations/Master.txt +++ b/StaticData/Translations/Master.txt @@ -2091,3 +2091,6 @@ Translated:Connection succeeded! English:Oops! Unable to install update. Translated:Oops! Unable to install update. +English:Motor de Capas +Translated:Motor de Capas + diff --git a/StaticData/Translations/de/Translation.txt b/StaticData/Translations/de/Translation.txt index b662e96ac..ec4b666b9 100644 --- a/StaticData/Translations/de/Translation.txt +++ b/StaticData/Translations/de/Translation.txt @@ -1936,3 +1936,162 @@ Translated:Edit Preset English:Slice-Engine Translated:Slice-Engine +English:Status: Completed +Translated:Status: Completed + +English:Unlock +Translated:Unlock + +English:Show Terminal +Translated:Show Terminal + +English:Configure +Translated:Configure + +English:Disable +Translated:Disable + +English:Est. Weight +Translated:Est. Weight + +English:Downloading updates... +Translated:Downloading updates... + +English:Duplicate +Translated:Duplicate + +English:End +Translated:End + +English:The type of support to create inside of parts. +Translated:The type of support to create inside of parts. + +English:Infill Type +Translated:Infill Type + +English:Release Options +Translated:Release Options + +English:No items to select. Press 'Add' to select a file to print. +Translated:No items to select. Press 'Add' to select a file to print. + +English:Unknown +Translated:Unknown + +English:Press 'Add' to select an item. +Translated:Press 'Add' to select an item. + +English:Shop +Translated:Shop + +English:Slicing Error +Translated:Slicing Error + +English:Ready to Print +Translated:Ready to Print + +English:File Not Found\n'{0}' +Translated:File Not Found\n'{0}' + +English:Slicing Error.\nPlease review your slice settings. +Translated:Slicing Error.\nPlease review your slice settings. + +English:Special thanks to: +Translated:Special thanks to: + +English:Alessandro Ranellucci for +Translated:Alessandro Ranellucci for + +English:David Braam and Ultimaker BV for +Translated:David Braam and Ultimaker BV for + +English:To enable GCode export, select a printer profile +Translated:To enable GCode export, select a printer profile + +English:MatterControl: Submit an Issue +Translated:MatterControl: Submit an Issue + +English:Submit +Translated:Submit + +English:How can we help? +Translated:How can we help? + +English:Submitting your information... +Translated:Submitting your information... + +English:Question* +Translated:Question* + +English:Briefly describe your question +Translated:Briefly describe your question + +English:Details* +Translated:Details* + +English:Fill in the details here +Translated:Fill in the details here + +English:Your Email Address* +Translated:Your Email Address* + +English:Your Name* +Translated:Your Name* + +English:Version +Translated:Version + +English:Developed by: +Translated:Developed by: + +English:Send FeedBack +Translated:Send FeedBack + +English:Build: +Translated:Build: + +English:Update Feed +Translated:Update Feed + +English:File +Translated:File + +English:Import File +Translated:Import File + +English:Exit +Translated:Exit + +English:Help +Translated:Help + +English:Getting Started +Translated:Getting Started + +English:View Help +Translated:View Help + +English:Manually Configure Connection +Translated:Manually Configure Connection + +English:Skip Connection Setup +Translated:Skip Connection Setup + +English:Currently available serial ports. +Translated:Currently available serial ports. + +English:What's this? +Translated:What's this? + +English:The 'Serial Port' identifies which connected device is\nyour printer. Changing which usb plug you use may\nchange the associated serial port.\n\nTip: If you are uncertain, plug-in in your printer and hit\nrefresh. The new port that appears should be your\nprinter. +Translated:The 'Serial Port' identifies which connected device is\nyour printer. Changing which usb plug you use may\nchange the associated serial port.\n\nTip: If you are uncertain, plug-in in your printer and hit\nrefresh. The new port that appears should be your\nprinter. + +English:Connection succeeded! +Translated:Connection succeeded! + +English:Oops! Unable to install update. +Translated:Oops! Unable to install update. + +English:Motor de Capas +Translated:Motor de Capas + diff --git a/StaticData/Translations/es/Translation.txt b/StaticData/Translations/es/Translation.txt index cbbf77ecf..c6746e7fb 100644 --- a/StaticData/Translations/es/Translation.txt +++ b/StaticData/Translations/es/Translation.txt @@ -1405,3 +1405,693 @@ Translated:File not found on disk. English:Not connected. Press 'Connect' to enable printing. Translated:Not connected. Press 'Connect' to enable printing. +English:Loading Parts +Translated:Loading Parts + +English:CONNECT +Translated:CONNECT + +English:DISCONNECT +Translated:DISCONNECT + +English:OPTIONS +Translated:OPTIONS + +English:QUEUE +Translated:QUEUE + +English:STATUS +Translated:STATUS + +English:CONTROLS +Translated:CONTROLS + +English:SLICE SETTINGS +Translated:SLICE SETTINGS + +English:CONFIGURATION +Translated:CONFIGURATION + +English:MODEL +Translated:MODEL + +English:LAYER +Translated:LAYER + +English:DISPLAY +Translated:DISPLAY + +English:PRINT TIME +Translated:PRINT TIME + +English:FILAMENT LENGTH +Translated:FILAMENT LENGTH + +English:FILAMENT VOLUME +Translated:FILAMENT VOLUME + +English:WEIGHT +Translated:WEIGHT + +English:EST. WEIGHT +Translated:EST. WEIGHT + +English:Saving +Translated:Saving + +English:Export File +Translated:Export File + +English:File export options +Translated:File export options + +English:Export as +Translated:Export as + +English:Show file in folder after save +Translated:Show file in folder after save + +English:HISTORY +Translated:HISTORY + +English:LIBRARY +Translated:LIBRARY + +English:Developed By: +Translated:Developed By: + +English: to help support MatterControl. +Translated: to help support MatterControl. + +English:ABOUT +Translated:ABOUT + +English:Oops! Could not find this file +Translated:Oops! Could not find this file + +English:Would you like to remove it from the queue +Translated:Would you like to remove it from the queue + +English:Item not Found +Translated:Item not Found + +English:Yes +Translated:Yes + +English:No +Translated:No + +English:History +Translated:History + +English:Slicing Error. Please review your slice settings. +Translated:Slicing Error. Please review your slice settings. + +English:Quality +Translated:Quality + +English:First Layer Height' must be less than or equal to the 'Nozzle Diameter'. +Translated:First Layer Height' must be less than or equal to the 'Nozzle Diameter'. + +English:This will cause the print to be centered on the bed. Disable this if you know your models have been created where you want them to print. +Translated:This will cause the print to be centered on the bed. Disable this if you know your models have been created where you want them to print. + +English:Center On Bed +Translated:Center On Bed + +English:Center Print +Translated:Center Print + +English:Note +Translated:Note + +English:To enable GCode export, select a printer profile. +Translated:To enable GCode export, select a printer profile. + +English:The amount to remove from the bottom of the model +Translated:The amount to remove from the bottom of the model + +English:The amount the infill edge will push into the preimiter. Helps ensure the infill is connected to the edge. +Translated:The amount the infill edge will push into the preimiter. Helps ensure the infill is connected to the edge. + +English:The distance to start drawing the first skirt loop. Make this 0 to create an anchor for the part to the bed. +Translated:The distance to start drawing the first skirt loop. Make this 0 to create an anchor for the part to the bed. + +English:Bottom Clip +Translated:Bottom Clip + +English:Infill Overlap +Translated:Infill Overlap + +English:Inside Perimeters +Translated:Inside Perimeters + +English:Outside Perimeter +Translated:Outside Perimeter + +English:Sets the default movement speed while printing inside perimeters. +Translated:Sets the default movement speed while printing inside perimeters. + +English:The type of support to create for surfaces that need it. +Translated:The type of support to create for surfaces that need it. + +English:Support Type +Translated:Support Type + +English:Top & Bottom Layers +Translated:Top & Bottom Layers + +English: +Translated: + +English:gcode_output_type +Translated:gcode_output_type + +English:Starting Angle +Translated:Starting Angle + +English:The space between the lines of the support material. +Translated:The space between the lines of the support material. + +English:The last angle at which support material will be generated. Larger numbers will result in more support. +Translated:The last angle at which support material will be generated. Larger numbers will result in more support. + +English:Add Printer +Translated:Add Printer + +English:If greater than 0, this is the distance away from parts to create a parimeter to wipe when entering. +Translated:If greater than 0, this is the distance away from parts to create a parimeter to wipe when entering. + +English:Wipe Shield Dist +Translated:Wipe Shield Dist + +English:Wipe Shield +Translated:Wipe Shield + +English: Remove All +Translated: Remove All + +English:The number of layers to skip in z. The gap between the support and the model. +Translated:The number of layers to skip in z. The gap between the support and the model. + +English:Z Gap +Translated:Z Gap + +English:Print Again +Translated:Print Again + +English:Turns on and off the creation of a raft which can help parts adhear to the bed. +Translated:Turns on and off the creation of a raft which can help parts adhear to the bed. + +English:Enable Raft +Translated:Enable Raft + +English:Create Raft +Translated:Create Raft + +English:The amount of overhangs to support. 0 is no support 100 is support every overhang regardless of angle. +Translated:The amount of overhangs to support. 0 is no support 100 is support every overhang regardless of angle. + +English:Overhang Percent +Translated:Overhang Percent + +English:support_material_overhang_percent +Translated:support_material_overhang_percent + +English:Device +Translated:Device + +English:Material +Translated:Material + +English:Item +Translated:Item + +English:Wipe Shield Distance +Translated:Wipe Shield Distance + +English: Remove All +Translated: Remove All + +English:Slice Presets Editor +Translated:Slice Presets Editor + +English:Attempting to Connect +Translated:Attempting to Connect + +English:Making Copy +Translated:Making Copy + +English:Arranging Parts +Translated:Arranging Parts + +English:Only Show Completed +Translated:Only Show Completed + +English:Show Timestamp +Translated:Show Timestamp + +English:Render Type +Translated:Render Type + +English:Shaded +Translated:Shaded + +English:Outlines +Translated:Outlines + +English:Polygons +Translated:Polygons + +English:New updates may be available. +Translated:New updates may be available. + +English:Unable to communicate with printer. +Translated:Unable to communicate with printer. + +English:Item selected. Press 'Start' to begin your print. +Translated:Item selected. Press 'Start' to begin your print. + +English:Disconnecting +Translated:Disconnecting + +English:Leveling Settings +Translated:Leveling Settings + +English:Movement Speeds Presets +Translated:Movement Speeds Presets + +English:Axis +Translated:Axis + +English:Sampled Positions +Translated:Sampled Positions + +English:Position +Translated:Position + +English:Do not show this again +Translated:Do not show this again + +English:The file you are attempting to print is a GCode file.\n\nGCode files tell your printer exactly what to do. They are not modified by SliceSettings and my not be appropriate for your specific printer configuration.\n\nOnly print from GCode files if you know they mach your current printer and configuration.\n\nAre you sure you want to print this GCode file? +Translated:The file you are attempting to print is a GCode file.\n\nGCode files tell your printer exactly what to do. They are not modified by SliceSettings and my not be appropriate for your specific printer configuration.\n\nOnly print from GCode files if you know they mach your current printer and configuration.\n\nAre you sure you want to print this GCode file? + +English:Cannot find\n'{0}'.\nWould you like to remove it from the queue? +Translated:Cannot find\n'{0}'.\nWould you like to remove it from the queue? + +English:Item not found +Translated:Item not found + +English:Welcome to the print leveling wizard. Here is a quick overview on what we are going to do. +Translated:Welcome to the print leveling wizard. Here is a quick overview on what we are going to do. + +English:'Home' the printer +Translated:'Home' the printer + +English:Sample the bed at three points +Translated:Sample the bed at three points + +English:Turn auto leveling on +Translated:Turn auto leveling on + +English:You should be done in about 3 minutes. +Translated:You should be done in about 3 minutes. + +English:Click 'Next' to continue. +Translated:Click 'Next' to continue. + +English:The printer should now be 'homing'. Once it is finished homing we will move it to the first point to sample.\n\nTo complete the next few steps you will need +Translated:The printer should now be 'homing'. Once it is finished homing we will move it to the first point to sample.\n\nTo complete the next few steps you will need + +English:A standard sheet of paper +Translated:A standard sheet of paper + +English:We will use this paper to measure the distance between the extruder and the bed.\n\nClick 'Next' to continue. +Translated:We will use this paper to measure the distance between the extruder and the bed.\n\nClick 'Next' to continue. + +English:Congratulations!\n\nAuto Print Leveling is now configured and enabled. +Translated:Congratulations!\n\nAuto Print Leveling is now configured and enabled. + +English:Remove the paper +Translated:Remove the paper + +English:If in the future you wish to turn Auto Print Leveling off, you can uncheck the 'Enabled' button found in 'Advanced Settings'->'Printer Controls'.\n\nClick 'Done' to close this window. +Translated:If in the future you wish to turn Auto Print Leveling off, you can uncheck the 'Enabled' button found in 'Advanced Settings'->'Printer Controls'.\n\nClick 'Done' to close this window. + +English:Step +Translated:Step + +English:of +Translated:of + +English:Print Leveling Wizard +Translated:Print Leveling Wizard + +English:Back +Translated:Back + +English:Next +Translated:Next + +English:Low Precision +Translated:Low Precision + +English:Using the [Z] controls on this screen, we will now take a coarse measurement of the extruder height at this position. +Translated:Using the [Z] controls on this screen, we will now take a coarse measurement of the extruder height at this position. + +English:Place the paper under the extruder +Translated:Place the paper under the extruder + +English:Using the above contols +Translated:Using the above contols + +English:Press [Z-] until there is resistance to moving the paper +Translated:Press [Z-] until there is resistance to moving the paper + +English:Press [Z+] once to release the paper +Translated:Press [Z+] once to release the paper + +English:Finally click 'Next' to continue. +Translated:Finally click 'Next' to continue. + +English:This part of your bed is too low for the extruder to reach it. You need to raise your bed, or lower your limit, for print leveling to work. +Translated:This part of your bed is too low for the extruder to reach it. You need to raise your bed, or lower your limit, for print leveling to work. + +English:Waring Moving Too Low +Translated:Waring Moving Too Low + +English:Medium Precision +Translated:Medium Precision + +English:We will now refine our measurement of the extruder height at this position. +Translated:We will now refine our measurement of the extruder height at this position. + +English:High Precision +Translated:High Precision + +English:We will now finalize our measurement of the extruder height at this position. +Translated:We will now finalize our measurement of the extruder height at this position. + +English:Press [Z-] one click PAST the first hint of resistance +Translated:Press [Z-] one click PAST the first hint of resistance + +English:Save Parts Sheet +Translated:Save Parts Sheet + +English:MatterContol +Translated:MatterContol + +English:Saving to Parts Sheet +Translated:Saving to Parts Sheet + +English:Stop trying to connect to the printer +Translated:Stop trying to connect to the printer + +English:No printer selected. Press 'Connect' to choose a printer +Translated:No printer selected. Press 'Connect' to choose a printer + +English:About +Translated:About + +English:This controls the ratio of material extruder during bridging.Reducing this slightly can help bridging by stretching the filament more, using a fan can also help greatly. +Translated:This controls the ratio of material extruder during bridging.Reducing this slightly can help bridging by stretching the filament more, using a fan can also help greatly. + +English:The default temperature to set the bed to. Can sometimes be overriden on the first layer. Set to 0 to eliminate bed temperature commands. +Translated:The default temperature to set the bed to. Can sometimes be overriden on the first layer. Set to 0 to eliminate bed temperature commands. + +English:The default temperature to set the extruder to. Can sometimes be overriden on the first layer. +Translated:The default temperature to set the extruder to. Can sometimes be overriden on the first layer. + +English:Macro Editor +Translated:Macro Editor + +English:Macro Presets +Translated:Macro Presets + +English:Edit Macro +Translated:Edit Macro + +English:Macro Name +Translated:Macro Name + +English:Give your macro a name +Translated:Give your macro a name + +English:Macro Commands +Translated:Macro Commands + +English:This should be in 'Gcode' +Translated:This should be in 'Gcode' + +English:3D Printer Setup +Translated:3D Printer Setup + +English:Give your printer a name. +Translated:Give your printer a name. + +English:Select Make +Translated:Select Make + +English:Select the printer manufacturer +Translated:Select the printer manufacturer + +English:Select the printer model +Translated:Select the printer model + +English:Save & Continue +Translated:Save & Continue + +English:MatterControl will now attempt to auto-detect printer. +Translated:MatterControl will now attempt to auto-detect printer. + +English:Disconnect printer +Translated:Disconnect printer + +English:if currently connected +Translated:if currently connected + +English:Press +Translated:Press + +English:Continue +Translated:Continue + +English:Manual Configuration +Translated:Manual Configuration + +English:Setup Manual Configuration +Translated:Setup Manual Configuration + +English:or +Translated:or + +English:Skip Printer Connection +Translated:Skip Printer Connection + +English:You can either +Translated:You can either + +English:You can also +Translated:You can also + +English:Extruder Temperature Settings +Translated:Extruder Temperature Settings + +English:Temperature Shortcut Presets +Translated:Temperature Shortcut Presets + +English:Label +Translated:Label + +English:Preset +Translated:Preset + +English:Max Temp. +Translated:Max Temp. + +English:Bed Temperature Settings +Translated:Bed Temperature Settings + +English:Movement Speeds +Translated:Movement Speeds + +English:Extruder +Translated:Extruder + +English:Power on and connect printer +Translated:Power on and connect printer + +English:Attempting to connect +Translated:Attempting to connect + +English:Connection succeeded +Translated:Connection succeeded + +English:You cannot move any lower. This position on your bed is too low for the extruder to reach. You need to raise your bed, or adjust your limits to allow the extruder to go lower. +Translated:You cannot move any lower. This position on your bed is too low for the extruder to reach. You need to raise your bed, or adjust your limits to allow the extruder to go lower. + +English:Edit Preset +Translated:Edit Preset + +English:Slice-Engine +Translated:Slice-Engine + +English:Status: Completed +Translated:Status: Completed + +English:Unlock +Translated:Unlock + +English:Show Terminal +Translated:Show Terminal + +English:Configure +Translated:Configure + +English:Disable +Translated:Disable + +English:Est. Weight +Translated:Est. Weight + +English:Downloading updates... +Translated:Downloading updates... + +English:Duplicate +Translated:Duplicate + +English:End +Translated:End + +English:The type of support to create inside of parts. +Translated:The type of support to create inside of parts. + +English:Infill Type +Translated:Infill Type + +English:Release Options +Translated:Release Options + +English:No items to select. Press 'Add' to select a file to print. +Translated:No items to select. Press 'Add' to select a file to print. + +English:Unknown +Translated:Unknown + +English:Press 'Add' to select an item. +Translated:Press 'Add' to select an item. + +English:Shop +Translated:Shop + +English:Slicing Error +Translated:Slicing Error + +English:Ready to Print +Translated:Ready to Print + +English:File Not Found\n'{0}' +Translated:File Not Found\n'{0}' + +English:Slicing Error.\nPlease review your slice settings. +Translated:Slicing Error.\nPlease review your slice settings. + +English:Special thanks to: +Translated:Special thanks to: + +English:Alessandro Ranellucci for +Translated:Alessandro Ranellucci for + +English:David Braam and Ultimaker BV for +Translated:David Braam and Ultimaker BV for + +English:To enable GCode export, select a printer profile +Translated:To enable GCode export, select a printer profile + +English:MatterControl: Submit an Issue +Translated:MatterControl: Submit an Issue + +English:Submit +Translated:Submit + +English:How can we help? +Translated:How can we help? + +English:Submitting your information... +Translated:Submitting your information... + +English:Question* +Translated:Question* + +English:Briefly describe your question +Translated:Briefly describe your question + +English:Details* +Translated:Details* + +English:Fill in the details here +Translated:Fill in the details here + +English:Your Email Address* +Translated:Your Email Address* + +English:Your Name* +Translated:Your Name* + +English:Version +Translated:Version + +English:Developed by: +Translated:Developed by: + +English:Send FeedBack +Translated:Send FeedBack + +English:Build: +Translated:Build: + +English:Update Feed +Translated:Update Feed + +English:File +Translated:File + +English:Import File +Translated:Import File + +English:Exit +Translated:Exit + +English:Help +Translated:Help + +English:Getting Started +Translated:Getting Started + +English:View Help +Translated:View Help + +English:Manually Configure Connection +Translated:Manually Configure Connection + +English:Skip Connection Setup +Translated:Skip Connection Setup + +English:Currently available serial ports. +Translated:Currently available serial ports. + +English:What's this? +Translated:What's this? + +English:The 'Serial Port' identifies which connected device is\nyour printer. Changing which usb plug you use may\nchange the associated serial port.\n\nTip: If you are uncertain, plug-in in your printer and hit\nrefresh. The new port that appears should be your\nprinter. +Translated:The 'Serial Port' identifies which connected device is\nyour printer. Changing which usb plug you use may\nchange the associated serial port.\n\nTip: If you are uncertain, plug-in in your printer and hit\nrefresh. The new port that appears should be your\nprinter. + +English:Connection succeeded! +Translated:Connection succeeded! + +English:Oops! Unable to install update. +Translated:Oops! Unable to install update. + +English:Motor de Capas +Translated:Motor de Capas +