Пример #1
0
        public void LoadSlicePresets(string make, string model, string tag)
        {
            foreach (string filePath in GetSlicePresets(make, model, tag))
            {
                SliceSettingsCollection     collection   = null;
                Dictionary <string, string> settingsDict = LoadSliceSettingsFromFile(filePath);

                if (settingsDict.Count > 0)
                {
                    collection           = new DataStorage.SliceSettingsCollection();
                    collection.Name      = Path.GetFileNameWithoutExtension(filePath);
                    collection.PrinterId = ActivePrinter.Id;
                    collection.Tag       = tag;
                    collection.Commit();

                    if (tag == "material" && defaultMaterialPreset != null && collection.Name == defaultMaterialPreset)
                    {
                        ActivePrinter.MaterialCollectionIds = collection.Id.ToString();
                        ActivePrinter.Commit();
                    }
                    else if (tag == "quality" && defaultQualityPreset != null && collection.Name == defaultQualityPreset)
                    {
                        ActivePrinter.QualityCollectionId = collection.Id;
                        ActivePrinter.Commit();
                    }
                    CommitSliceSettings(settingsDict, collection.Id);
                }
            }
        }
Пример #2
0
        public SliceSettingsCollection LoadDefaultSliceSettings(string make, string model)
        {
            SliceSettingsCollection     collection   = null;
            Dictionary <string, string> settingsDict = LoadSliceSettingsFromFile(Path.Combine("PrinterSettings", make, model, "config.ini"));

            if (settingsDict.Count > 0)
            {
                collection      = new DataStorage.SliceSettingsCollection();
                collection.Name = this.ActivePrinter.Name;
                collection.Commit();

                this.ActivePrinter.DefaultSettingsCollectionId = collection.Id;

                CommitSliceSettings(settingsDict, collection.Id);
            }
            return(collection);
        }
Пример #3
0
        public void LoadPrinterConfigurationSettings()
        {
            if (PrinterCommunication.Instance.ActivePrinter != null)
            {
                DataStorage.SliceSettingsCollection collection;
                if (PrinterCommunication.Instance.ActivePrinter.DefaultSettingsCollectionId != 0)
                {
                    int activePrinterSettingsID = PrinterCommunication.Instance.ActivePrinter.DefaultSettingsCollectionId;
                    collection = DataStorage.Datastore.Instance.dbSQLite.Table <DataStorage.SliceSettingsCollection>().Where(v => v.Id == activePrinterSettingsID).Take(1).FirstOrDefault();
                }
                else
                {
                    collection      = new DataStorage.SliceSettingsCollection();
                    collection.Name = PrinterCommunication.Instance.ActivePrinter.Name;
                    collection.Commit();

                    PrinterCommunication.Instance.ActivePrinter.DefaultSettingsCollectionId = collection.Id;
                    PrinterCommunication.Instance.ActivePrinter.Commit();
                }
                SettingsLayer printerSettingsLayer = LoadConfigurationSettingsFromDatastore(collection);
                this.activeSettingsLayers.Add(printerSettingsLayer);
            }
        }
Пример #4
0
		public void LoadSlicePresets(string make, string model, string tag)
		{
			foreach (string filePath in GetSlicePresets(make, model, tag))
			{
				SliceSettingsCollection collection = null;
				Dictionary<string, string> settingsDict = LoadSliceSettingsFromFile(filePath);

				if (settingsDict.Count > 0)
				{
					collection = new DataStorage.SliceSettingsCollection();
					collection.Name = Path.GetFileNameWithoutExtension(filePath);
					collection.PrinterId = ActivePrinter.Id;
					collection.Tag = tag;
					collection.Commit();

					if (tag == "material" && defaultMaterialPreset != null && collection.Name == defaultMaterialPreset)
					{
						ActivePrinter.MaterialCollectionIds = collection.Id.ToString();
						ActivePrinter.Commit();
					}
					else if (tag == "quality" && defaultQualityPreset != null && collection.Name == defaultQualityPreset)
					{
						ActivePrinter.QualityCollectionId = collection.Id;
						ActivePrinter.Commit();
					}
					CommitSliceSettings(settingsDict, collection.Id);
				}
			}
		}
Пример #5
0
		public SliceSettingsCollection LoadDefaultSliceSettings(string make, string model)
		{
			SliceSettingsCollection collection = null;
			Dictionary<string, string> settingsDict = LoadSliceSettingsFromFile(Path.Combine("PrinterSettings", make, model, "config.ini"));

			if (settingsDict.Count > 0)
			{
				collection = new DataStorage.SliceSettingsCollection();
				collection.Name = this.ActivePrinter.Name;
				collection.Commit();

				this.ActivePrinter.DefaultSettingsCollectionId = collection.Id;

				CommitSliceSettings(settingsDict, collection.Id);
			}
			return collection;
		}
		public static Dictionary<string, string> LoadOemLayer(Printer printer)
		{
			SliceSettingsCollection collection;
			if (printer.DefaultSettingsCollectionId != 0)
			{
				int activePrinterSettingsID = printer.DefaultSettingsCollectionId;
				collection = Datastore.Instance.dbSQLite.Table<SliceSettingsCollection>().Where(v => v.Id == activePrinterSettingsID).Take(1).FirstOrDefault();
			}
			else
			{
				collection = new SliceSettingsCollection();
				collection.Name = printer.Name;
				collection.Commit();

				printer.DefaultSettingsCollectionId = collection.Id;
			}

			return LoadSettings(collection);
		}
		private void onPresetLoad(OpenFileDialogParams openParams)
		{
			if (openParams.FileNames != null)
			{
				SliceSettingsCollection settingsCollection;
				try
				{
					if (File.Exists(openParams.FileName))
					{
						// TODO: Review bindings to int printerID
						int printerID;
						int.TryParse(ActiveSliceSettings.Instance.Id, out printerID);

						//Create collection to hold preset settings
						settingsCollection = new SliceSettingsCollection();
						settingsCollection.Tag = windowController.filterTag;
						settingsCollection.PrinterId = printerID;
						settingsCollection.Name = System.IO.Path.GetFileNameWithoutExtension(openParams.FileName);
						settingsCollection.Commit();

						string[] lines = System.IO.File.ReadAllLines(openParams.FileName);
						foreach (string line in lines)
						{
							//Ignore commented lines
							if (!line.StartsWith("#"))
							{
								string[] settingLine = line.Split('=');
								string keyName = settingLine[0].Trim();
								string settingDefaultValue = settingLine[1].Trim();

								//To do - validate imported settings as valid (KP)
								SliceSetting sliceSetting = new SliceSetting();
								sliceSetting.Name = keyName;
								sliceSetting.Value = settingDefaultValue;
								sliceSetting.SettingsCollectionId = settingsCollection.Id;
								sliceSetting.Commit();
							}
						}
						windowController.ChangeToSlicePresetList();
					}
				}
				catch (Exception)
				{
					// Error loading configuration
				}
			}
		}
        void importPresetDo(object state)
        {
            OpenFileDialogParams openParams = new OpenFileDialogParams("Load Slice Preset|*.slice;*.ini");
            openParams.ActionButtonLabel = "Load Slice Preset";
            openParams.Title = "MatterControl: Select A File";

            FileDialog.OpenFileDialog(ref openParams);
            if (openParams.FileNames != null)
            {                
                DataStorage.SliceSettingsCollection settingsCollection;
                try
                {
                    if (File.Exists(openParams.FileName))
                    {

                        settingsCollection = new SliceSettingsCollection();
                        settingsCollection.Tag = windowController.filterTag;
                        settingsCollection.PrinterId = ActivePrinterProfile.Instance.ActivePrinter.Id;
                        settingsCollection.Name = System.IO.Path.GetFileNameWithoutExtension(openParams.FileName);
                        settingsCollection.Commit();
                        
                        string[] lines = System.IO.File.ReadAllLines(openParams.FileName);
                        foreach (string line in lines)
                        {
                            //Ignore commented lines
                            if (!line.StartsWith("#"))
                            {
                                string[] settingLine = line.Split('=');
                                string keyName = settingLine[0].Trim();
                                string settingDefaultValue = settingLine[1].Trim();

                                DataStorage.SliceSetting sliceSetting = new DataStorage.SliceSetting();
                                sliceSetting.Name = keyName;
                                sliceSetting.Value = settingDefaultValue;                                
                                sliceSetting.SettingsCollectionId = settingsCollection.Id;
                                sliceSetting.Commit();
                            }
                        }
                        windowController.ChangeToSlicePresetList();
                    }
                }
                catch (Exception e)
                {                    
                    // Error loading configuration
                }
            }
        }