Changeset 2744


Ignore:
Timestamp:
Feb 19, 2011, 2:59:19 PM (11 years ago)
Author:
Sven Rech
Message:

small KeySearcherSettings change (used and available OpenCL devices will not be saved to file in the future)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/KeySearcher/KeySearcherSettings.cs

    r2721 r2744  
    4040            keysearcher = ks;
    4141
    42             devicesAvailable.Clear();
    43             int c = 0;
    44             if (oclManager != null)
    45                 foreach (var device in oclManager.Context.Devices)
    46                 {
    47                     if (Settings.Default.AllowOpenCLNvidia || device.Vendor != "NVIDIA Corporation")
    48                     {
    49                         string deviceName = device.Vendor + ":" + device.Name;
    50                         deviceSettings.Add(new OpenCLDeviceSettings() {name = deviceName, index = c, mode = 1, useDevice = false});
    51                         devicesAvailable.Add(deviceName);
    52                         c++;
    53                     }
    54                 }
     42            Settings.Default.PropertyChanged += delegate(Object sender, PropertyChangedEventArgs e)
     43                                                    {
     44                                                        if (e.PropertyName == "AllowOpenCLNvidia")
     45                                                        {
     46                                                            RefreshDevicesList(oclManager);
     47                                                        }
     48                                                    };
     49
     50            RefreshDevicesList(oclManager);
    5551
    5652            CoresAvailable.Clear();
     
    6056
    6157            chunkSize = 21;
     58        }
     59
     60        private void RefreshDevicesList(OpenCLManager oclManager)
     61        {
     62            devicesAvailable.Clear();
     63            int c = 0;
     64            if (oclManager != null)
     65            {
     66                foreach (var device in oclManager.Context.Devices)
     67                {
     68                    if (Settings.Default.AllowOpenCLNvidia || device.Vendor != "NVIDIA Corporation")
     69                    {
     70                        string deviceName = device.Vendor + ":" + device.Name;
     71                        deviceSettings.Add(new OpenCLDeviceSettings() { name = deviceName, index = c, mode = 1, useDevice = false });
     72                        devicesAvailable.Add(deviceName);
     73                        c++;
     74                    }
     75                }
     76            }
     77            DevicesAvailable = devicesAvailable;    //refresh list
     78            if (devicesAvailable.Count > 0)
     79                OpenCLDevice = 0;
    6280        }
    6381
     
    313331        private int openCLDevice;
    314332        [TaskPane("OpenCLDeviceSettings", "OpenCLDeviceSettingsDesc", "GroupOpenCL", 1, false, ControlType.DynamicComboBox, new string[] { "DevicesAvailable" })]
     333        [DontSave]
    315334        public int OpenCLDevice
    316335        {
     
    331350        [TaskPane("UseSelectedDeviceSettings", "UseSelectedDeviceSettingsDesc",
    332351            "GroupOpenCL", 2, false, ControlType.CheckBox)]
     352        [DontSave]
    333353        public bool UseOpenCL
    334354        {
     
    352372
    353373        [TaskPane("OpenCLModeSettings", "OpenCLModeSettingsDesc", "GroupOpenCL", 3, false, ControlType.RadioButton, new string[] { "Low Load", "Normal Load", "High Load (use with caution)" })]
     374        [DontSave]
    354375        public int OpenCLMode
    355376        {
     
    376397            }
    377398        }
    378 
     399       
    379400        private ObservableCollection<string> devicesAvailable = new ObservableCollection<string>();
     401        [DontSave]
    380402        public ObservableCollection<string> DevicesAvailable
    381403        {
     
    515537
    516538        private ObservableCollection<string> coresAvailable = new ObservableCollection<string>();
     539        [DontSave]
    517540        public ObservableCollection<string> CoresAvailable
    518541        {
Note: See TracChangeset for help on using the changeset viewer.