Merge pull request #29 from jp-weber/master

Update FileSystemDialog.xaml.cs
This commit is contained in:
Damian Büchel 2020-09-21 19:36:49 +02:00 committed by GitHub
commit cca6c7526a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 33 additions and 3 deletions

View file

@ -1,4 +1,4 @@
/*
/*
* Copyright (c) 2020 ETH Zürich, Educational Development and Technology (LET)
*
* This Source Code Form is subject to the terms of the Mozilla Public
@ -15,6 +15,7 @@ using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;
using FontAwesome.WPF;
using Microsoft.Win32;
using SafeExamBrowser.I18n.Contracts;
using SafeExamBrowser.UserInterface.Contracts.FileSystemDialog;
using SafeExamBrowser.UserInterface.Contracts.Windows;
@ -288,6 +289,20 @@ namespace SafeExamBrowser.UserInterface.Desktop.Windows
InitializeFileSystem();
}
private DriveInfo[] GetDrives()
{
var drives = DriveInfo.GetDrives();
int noDrives = (int)Registry.GetValue("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer", "NoDrives", 0);
if (noDrives > 0)
{
return drives.Where(drive => (noDrives & (int)(Math.Pow(2, (int)(drive.RootDirectory.ToString()[0]) - 65))) == 0).ToArray();
}
return drives;
}
private void InitializeFileSystem()
{
if (restrictNavigation && !string.IsNullOrEmpty(initialPath))
@ -318,7 +333,7 @@ namespace SafeExamBrowser.UserInterface.Desktop.Windows
private void InitializeUnrestricted()
{
foreach (var drive in DriveInfo.GetDrives())
foreach (var drive in GetDrives())
{
FileSystem.Items.Add(CreateItem(drive.RootDirectory));
}

View file

@ -15,6 +15,7 @@ using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;
using FontAwesome.WPF;
using Microsoft.Win32;
using SafeExamBrowser.I18n.Contracts;
using SafeExamBrowser.UserInterface.Contracts.FileSystemDialog;
using SafeExamBrowser.UserInterface.Contracts.Windows;
@ -288,6 +289,20 @@ namespace SafeExamBrowser.UserInterface.Mobile.Windows
InitializeFileSystem();
}
private DriveInfo[] GetDrives()
{
var drives = DriveInfo.GetDrives();
int noDrives = (int)Registry.GetValue("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer", "NoDrives", 0);
if (noDrives > 0)
{
return drives.Where(drive => (noDrives & (int)(Math.Pow(2, (int)(drive.RootDirectory.ToString()[0]) - 65))) == 0).ToArray();
}
return drives;
}
private void InitializeFileSystem()
{
if (restrictNavigation && !string.IsNullOrEmpty(initialPath))
@ -318,7 +333,7 @@ namespace SafeExamBrowser.UserInterface.Mobile.Windows
private void InitializeUnrestricted()
{
foreach (var drive in DriveInfo.GetDrives())
foreach (var drive in GetDrives())
{
FileSystem.Items.Add(CreateItem(drive.RootDirectory));
}