예제 #1
0
    public CreateCuraProjectDialog(PrintElement element)
    {
        ServiceContext.GetService(out _translationManager);

        Models      = new ObservableCollection <PrintElementFileSelection>(element?.ModelFiles.Select(x => new PrintElementFileSelection(x)) ?? new List <PrintElementFileSelection>());
        ProjectName = element?.Name ?? _translationManager.GetTranslation(nameof(StringTable.Untitled));

        InitializeComponent();
    }
    private void BrowseButton_OnClick(object sender, RoutedEventArgs e)
    {
        var ofd = new OpenFileDialog
        {
            Filter      = $"{_translationManager.GetTranslation(nameof(StringTable.ZipArchive))}|*.zip",
            Multiselect = false,
        };

        if (ofd.ShowDialog(Application.Current.MainWindow) == true)
        {
            ArchivePath = ofd.FileName;
        }
    }
예제 #3
0
    public RenameDialog(string title, string description, string currentName, Func <string, string> validationFunction)
    {
        ServiceContext.GetService(out _translationManager);

        Description         = description;
        NewName             = currentName;
        _validationFunction = validationFunction;
        SubmitButtonContent = _translationManager.GetTranslation(nameof(StringTable.Rename));

        InitializeComponent();

        if (!string.IsNullOrWhiteSpace(title))
        {
            Title = title;
        }

        Loaded += (s, e) => NameTextBox.SelectAll();
    }
예제 #4
0
    private void CreateButton_OnClick(object sender, RoutedEventArgs e)
    {
        if (string.IsNullOrEmpty(ProjectName))
        {
            MessageBox.Show(this, _translationManager.GetTranslation(nameof(StringTable.Msg_SpecifyProjectName)), "CuraManager", MessageBoxButton.OK, MessageBoxImage.Information);
            return;
        }

        if (!Files.Any())
        {
            MessageBox.Show(this, _translationManager.GetTranslation(nameof(StringTable.Msg_AddAtLeastOneFileToProject)), "CuraManager", MessageBoxButton.OK, MessageBoxImage.Information);
            return;
        }

        if (Directory.EnumerateDirectories(_targetPath, "*", SearchOption.TopDirectoryOnly).Any(x => string.Equals(Path.GetFileName(x), ProjectName)))
        {
            MessageBox.Show(this, string.Format(_translationManager.GetTranslation(nameof(StringTable.Msg_ProjectAlreadyExists)), ProjectName), "CuraManager", MessageBoxButton.OK, MessageBoxImage.Information);
            return;
        }

        DialogResult = true;
        Close();
    }
예제 #5
0
    public override async Task OnOpen(CancelEventArgs e)
    {
        await base.OnOpen(e);

        var settings = _settingsService.LoadSettings();

        if (!Directory.Exists(settings.PrintsPath))
        {
            MessageBox.Show(_translationManager.GetTranslation(nameof(StringTable.Msg_PrintProjectsFolderNotConfigured)), "CuraManager", AlertButton.Ok, AlertImage.Information);
            e.Cancel = true;
        }
        else
        {
            _cache ??= _cachingService.LoadCache(settings.PrintsPath);
            if (_currentPrintsPath != settings.PrintsPath)
            {
                _currentPrintsPath = settings.PrintsPath;
                PrintElements.ForEach(x => x.Dispose());
                PrintElements.Clear();
            }

            var newElements = await _printsService.GetNewPrintElements(_cache, PrintElements).ToListAsync();

            newElements.ForEach(x => AvailableTags.AddIfNotExists(x.Tags));
            PrintElements.Add(newElements);
            PrintElementsViewSource.View.Refresh();
        }
    }