private void SetCurrentStatus(object sender, AlgoStatusEventArgs e)
 {
     FormHelpers.SafeInvoke(this, () =>
     {
         algorithmsListView1.SetSpeedStatus(e.Device, e.Algorithm, e.Status);
     });
 }
        private void setPluginInfoItem(PluginInfoItem pluginInfoItem, PluginPackageInfoCR plugin)
        {
            pluginInfoItem.PluginUUID    = plugin.PluginUUID;
            pluginInfoItem.Description   = plugin.PluginDescription;
            pluginInfoItem.PluginName    = plugin.PluginName;
            pluginInfoItem.PluginVersion = Tr("Version: {0}", $"{plugin.PluginVersion.Major}.{plugin.PluginVersion.Minor}");
            pluginInfoItem.PluginAuthor  = Tr("Author: {0}", plugin.PluginAuthor);

            //pluginInfoItem.OnPluginInfoItemMouseClick = OnPluginInfoItemMouseClick;
            pluginInfoItem.OnDetailsClick = (s, e) => {
                if (!_pluginInfoDetails.ContainsKey(plugin.PluginUUID))
                {
                    return;
                }
                var detailsPanel = _pluginInfoDetails[plugin.PluginUUID].Details;
                if (detailsPanel == null)
                {
                    return;
                }
                detailsPanel.BringToFront();
                detailsPanel.Visible = true;
            };
            pluginInfoItem.ButtonInstallRemoveText    = PluginInstallRemoveText(plugin);
            pluginInfoItem.ButtonInstallRemoveEnabled = PluginInstallRemoveEnabled(plugin);
            pluginInfoItem.ButtonUpdateVisible        = plugin.HasNewerVersion;
            pluginInfoItem.OnButtonInstallRemoveClick = OnButtonInstallRemoveClick;
            pluginInfoItem.OnButtonUpdateClick        = OnButtonUpdateClick;
            // TODO maybe we would want a visible status
            pluginInfoItem.StatusVisible = false;
            FormHelpers.TranslateFormControls(pluginInfoItem);
        }
Esempio n. 3
0
 public Form_ChooseUpdate()
 {
     InitializeComponent();
     FormHelpers.TranslateFormControls(this);
     ProgressBarVisible = false;
     progressBar1.Width = this.Width;
 }
        private void setPluginInfoDetails(PluginInfoDetails pluginInfoDetails, PluginPackageInfoCR plugin)
        {
            pluginInfoDetails.PluginUUID    = plugin.PluginUUID;
            pluginInfoDetails.PluginName    = plugin.PluginName;
            pluginInfoDetails.PluginVersion = $"Plugin Version: {plugin.PluginVersion}";
            pluginInfoDetails.PluginAuthor  = $"Plugin Author: {plugin.PluginAuthor}";
            pluginInfoDetails.Description   = $"Plugin Description: {plugin.PluginDescription}";
            var supportedDevs = plugin.SupportedDevicesAlgorithms
                                .Where(kvp => kvp.Value.Count > 0)
                                .OrderBy(kvp => kvp.Key);

            var supportedDevices = $"Supported Devices: {string.Join(",", supportedDevs.Select(kvp => kvp.Key))}";

            pluginInfoDetails.SupportedDevices = supportedDevices;

            var supportedDevicesAlgos = supportedDevs.Select(kvp => {
                var deviceType = $"\t{kvp.Key}:";
                var algorithms = kvp.Value.Select(algo => $"\t\t- {algo}");

                var ret = deviceType + Environment.NewLine + string.Join(Environment.NewLine, algorithms);
                return(ret);
            });
            var supportedDevicesAlgorithms = string.Join(Environment.NewLine, supportedDevicesAlgos).Replace("\t", "    ");

            pluginInfoDetails.SupportedDevicesAlgorithms = $"Supported Devices Algorithms:{Environment.NewLine}{supportedDevicesAlgorithms}";

            pluginInfoDetails.StatusText = "";

            pluginInfoDetails.ButtonInstallRemoveText    = PluginInstallRemoveText(plugin);
            pluginInfoDetails.ButtonInstallRemoveEnabled = PluginInstallRemoveEnabled(plugin);
            pluginInfoDetails.ButtonUpdateVisible        = plugin.HasNewerVersion;
            pluginInfoDetails.OnButtonInstallRemoveClick = OnButtonInstallRemoveClick;
            pluginInfoDetails.OnButtonUpdateClick        = OnButtonUpdateClick;
            FormHelpers.TranslateFormControls(pluginInfoDetails);
        }
        public Form_Benchmark(BenchmarkPerformanceType benchmarkPerformanceType = BenchmarkPerformanceType.Standard,
                              bool autostart = false)
        {
            InitializeComponent();
            Icon         = Resources.logo;
            this.TopMost = ConfigManager.GeneralConfig.GUIWindowsAlwaysOnTop;

            // clear prev pending statuses
            foreach (var dev in AvailableDevices.Devices)
            {
                foreach (var algo in dev.AlgorithmSettings)
                {
                    algo.ClearBenchmarkPendingFirst();
                }
            }

            benchmarkOptions1.SetPerformanceType(benchmarkPerformanceType);

            // benchmark only unique devices
            devicesListViewEnableControl1.SetIListItemCheckColorSetter(this);
            devicesListViewEnableControl1.SetComputeDevices(AvailableDevices.Devices.ToList());

            _benchmarkingTimer          = new Timer();
            _benchmarkingTimer.Tick    += BenchmarkingTimer_Tick;
            _benchmarkingTimer.Interval = 1000; // 1s

            BenchmarkManager.OnAlgoStatusUpdate += SetCurrentStatus;
            BenchmarkManager.OnStepUp           += StepUpBenchmarkStepProgress;
            BenchmarkManager.OnBenchmarkEnd     += EndBenchmark;

            devicesListViewEnableControl1.Enabled = true;
            devicesListViewEnableControl1.SetDeviceSelectionChangedCallback(DevicesListView1_ItemSelectionChanged);

            devicesListViewEnableControl1.SetAlgorithmsListView(algorithmsListView1);
            devicesListViewEnableControl1.IsSettingsCopyEnabled = true;

            ResetBenchmarkProgressStatus();
            CalcBenchmarkDevicesAlgorithmQueue();
            devicesListViewEnableControl1.ResetListItemColors();

            // to update laclulation status
            devicesListViewEnableControl1.BenchmarkCalculation = this;
            algorithmsListView1.BenchmarkCalculation           = this;

            // set first device selected {
            if (AvailableDevices.Devices.Count > 0)
            {
                var firstComputedevice = AvailableDevices.Devices[0];
                algorithmsListView1.SetAlgorithms(firstComputedevice, firstComputedevice.Enabled);
            }

            if (autostart)
            {
                _exitWhenFinished = true;
                StartStopBtn_Click(null, null);
            }

            FormHelpers.TranslateFormControls(this);
        }
 public Form_ChooseUpdate()
 {
     InitializeComponent();
     Icon = NHMCore.Properties.Resources.logo;
     FormHelpers.TranslateFormControls(this);
     ProgressBarVisible = false;
     progressBar1.Width = this.Width;
 }
Esempio n. 7
0
 public FormEula()
 {
     InitializeComponent();
     CenterToScreen();
     Icon = NHMCore.Properties.Resources.logo;
     InitializeTosComponent();
     FormHelpers.TranslateFormControls(this);
 }
Esempio n. 8
0
 public EnterBTCDialogSwitch()
 {
     InitializeComponent();
     CenterToScreen();
     Icon  = Properties.Resources.logo;
     Text += " v" + Application.ProductVersion;
     FormHelpers.TranslateFormControls(this);
 }
Esempio n. 9
0
 public LoginForm()
 {
     InitializeComponent();
     CenterToScreen();
     Icon = Properties.Resources.logo;
     webBrowser1.Navigate(Links.Login);
     webBrowser1.DocumentCompleted += WebBrowser1_DocumentCompleted;
     //webBrowser1.SizeChanged += WebBrowser1_SizeChanged;
     FormHelpers.TranslateFormControls(this);
 }
Esempio n. 10
0
        public LoginForm()
        {
            InitializeComponent();
            CenterToScreen();
            Icon = NHMCore.Properties.Resources.logo;
#warning broken!!!
            webBrowser1.Navigate("BROKEN" /*Links.Login*/);
            webBrowser1.DocumentCompleted += WebBrowser1_DocumentCompleted;
            //webBrowser1.SizeChanged += WebBrowser1_SizeChanged;
            FormHelpers.TranslateFormControls(this);
        }
Esempio n. 11
0
 private void StepUpBenchmarkStepProgress(object sender, StepUpEventArgs e)
 {
     FormHelpers.SafeInvoke(this, () =>
     {
         SetLabelBenchmarkSteps(e.CurrentIndex, e.AlgorithmCount);
         if (e.CurrentIndex <= progressBarBenchmarkSteps.Maximum)
         {
             progressBarBenchmarkSteps.Value = e.CurrentIndex;
         }
     });
 }
        public Form_MinerPlugins()
        {
            InitializeComponent();
            flowLayoutPanelPluginsLV.Controls.Clear();
            CenterToScreen();
            Icon = Properties.Resources.logo;
            FormHelpers.TranslateFormControls(this);

            Shown       += new EventHandler(FormShown);
            FormClosing += new FormClosingEventHandler(Form_MinerPlugins_FormClosing);
        }
Esempio n. 13
0
 public LoginForm()
 {
     InitializeComponent();
     CenterToScreen();
     Icon = Properties.Resources.logo;
     //webBrowser1.Navigate("https://www.nicehash.com/login-app");
     webBrowser1.Navigate("https://www.nicehash.com/login-app?back");
     webBrowser1.DocumentCompleted += WebBrowser1_DocumentCompleted;
     //webBrowser1.SizeChanged += WebBrowser1_SizeChanged;
     FormHelpers.TranslateFormControls(this);
 }
Esempio n. 14
0
        public Form_MinerPlugins()
        {
            InitializeComponent();
            flowLayoutPanelPluginsLV.Controls.Clear();
            CenterToScreen();
            Icon         = Properties.Resources.logo;
            this.TopMost = ConfigManager.GeneralConfig.GUIWindowsAlwaysOnTop;
            FormHelpers.TranslateFormControls(this);

            Shown       += new EventHandler(FormShown);
            FormClosing += new FormClosingEventHandler(Form_MinerPlugins_FormClosing);
        }
Esempio n. 15
0
        public FormDcriValues(DualAlgorithm algorithm)
        {
            InitializeComponent();
            _algorithm = algorithm;
            algorithm.MakeIntensityBackup();

            InitLocale();
            SetIntensities();
            InitializeControls();
            NiceHashStats.OnSmaUpdate += UpdateProfits;

            _isInitFinished = true;
            FormHelpers.TranslateFormControls(this);
        }
Esempio n. 16
0
        public void EndBenchmark(object sender, bool hasFailedAlgos)
        {
            if (ApplicationStateManager.BurnCalled)
            {
                return;
            }
            FormHelpers.SafeInvoke(this, () => {
                _benchmarkingTimer.Stop();
                Logger.Debug("FormBenchmark", "EndBenchmark() benchmark routine finished");

                //CopyBenchmarks();

                BenchmarkStoppedGuiSettings();
                // check if all ok
                if (!hasFailedAlgos && StartMiningOnFinish == false)
                {
                    MessageBox.Show(
                        Translations.Tr("All benchmarks have been successful"),
                        Translations.Tr("Benchmark finished report"),
                        MessageBoxButtons.OK);
                }
                else if (StartMiningOnFinish == false)
                {
                    var result = MessageBox.Show(
                        //Translations.Tr("Not all benchmarks finished successfully. Retry to re-run the benchmark process against unbenchmarked algos or Cancel to disable unbenchmarked algorithms."),
                        Translations.Tr("Not all benchmarks finished successfully."),
                        Translations.Tr("Benchmark finished report"),
                        MessageBoxButtons.OK);

                    //if (result == DialogResult.Retry)
                    //{
                    //    StartButonClick();
                    //    return;
                    //}

                    // update algos status
                    BenchmarkManager.CalcBenchDevAlgoQueue();
                }

                if (_exitWhenFinished || StartMiningOnFinish)
                {
                    Close();
                }
            });
        }
 public DriverVersionConfirmationDialog()
 {
     InitializeComponent();
     FormHelpers.TranslateFormControls(this);
 }
Esempio n. 18
0
 public Form_3rdParty_TOS()
 {
     InitializeComponent();
     // TODO update 3rd party TOS
     FormHelpers.TranslateFormControls(this);
 }
        public Form_Benchmark(BenchmarkPerformanceType benchmarkPerformanceType = BenchmarkPerformanceType.Standard,
                              bool autostart = false)
        {
            InitializeComponent();
            Icon = Resources.logo;

            StartMining = false;

            // clear prev pending statuses
            foreach (var dev in AvailableDevices.Devices)
            {
                foreach (var algo in dev.GetAlgorithmSettings())
                {
                    algo.ClearBenchmarkPendingFirst();
                }
            }

            benchmarkOptions1.SetPerformanceType(benchmarkPerformanceType);

            // benchmark only unique devices
            devicesListViewEnableControl1.SetIListItemCheckColorSetter(this);
            devicesListViewEnableControl1.SetComputeDevices(AvailableDevices.Devices);

            _benchmarkingTimer          = new Timer();
            _benchmarkingTimer.Tick    += BenchmarkingTimer_Tick;
            _benchmarkingTimer.Interval = 1000; // 1s

            //// name, UUID
            //Dictionary<string, string> benchNamesUUIDs = new Dictionary<string, string>();
            //// initialize benchmark settings for same cards to only copy settings
            //foreach (var cDev in AvailableDevices.Devices) {
            //    var plainDevName = cDev.Name;
            //    if (benchNamesUUIDs.ContainsKey(plainDevName)) {
            //        cDev.Enabled = false;
            //        cDev.BenchmarkCopyUUID = benchNamesUUIDs[plainDevName];
            //    } else if (cDev.Enabled == true) {
            //        benchNamesUUIDs.Add(plainDevName, cDev.UUID);
            //        //cDev.Enabled = true; // enable benchmark
            //        cDev.BenchmarkCopyUUID = null;
            //    }
            //}

            //groupBoxAlgorithmBenchmarkSettings.Enabled = _singleBenchmarkType == AlgorithmType.NONE;
            devicesListViewEnableControl1.Enabled = true;
            devicesListViewEnableControl1.SetDeviceSelectionChangedCallback(DevicesListView1_ItemSelectionChanged);

            devicesListViewEnableControl1.SetAlgorithmsListView(algorithmsListView1);
            devicesListViewEnableControl1.IsBenchmarkForm       = true;
            devicesListViewEnableControl1.IsSettingsCopyEnabled = true;

            ResetBenchmarkProgressStatus();
            CalcBenchmarkDevicesAlgorithmQueue();
            devicesListViewEnableControl1.ResetListItemColors();

            // to update laclulation status
            devicesListViewEnableControl1.BenchmarkCalculation = this;
            algorithmsListView1.BenchmarkCalculation           = this;

            // set first device selected {
            if (AvailableDevices.Devices.Count > 0)
            {
                var firstComputedevice = AvailableDevices.Devices[0];
                algorithmsListView1.SetAlgorithms(firstComputedevice, firstComputedevice.Enabled);
            }

            if (autostart)
            {
                ExitWhenFinished = true;
                StartStopBtn_Click(null, null);
            }

            FormHelpers.TranslateFormControls(this);
        }
Esempio n. 20
0
        public Form_Settings()
        {
            InitializeComponent();
            ApplicationStateManager.SubscribeStateDisplayer(this);

            Icon         = Properties.Resources.logo;
            this.TopMost = ConfigManager.GeneralConfig.GUIWindowsAlwaysOnTop;

            // backup settings
            ConfigManager.CreateBackup();

            // Initialize tabs
            InitializeGeneralTab();

            // initialization calls
            InitializeDevicesTab();
            // link algorithm list with algorithm settings control
            algorithmSettingsControl1.Enabled         = false;
            algorithmsListView1.ComunicationInterface = algorithmSettingsControl1;
            //algorithmsListView1.RemoveRatioRates();


            // set first device selected {
            if (AvailableDevices.Devices.Count > 0)
            {
                _selectedComputeDevice = AvailableDevices.Devices[0];
                algorithmsListView1.SetAlgorithms(_selectedComputeDevice, _selectedComputeDevice.Enabled);
                groupBoxAlgorithmSettings.Text = string.Format(Tr("Algorithm settings for {0} :"),
                                                               _selectedComputeDevice.Name);
            }

            checkBox_DebugConsole.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.DebugConsole));
            checkBox_AutoStartMining.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.AutoStartMining));
            checkBox_HideMiningWindows.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.HideMiningWindows));
            checkBox_MinimizeToTray.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.MinimizeToTray));
            checkBox_AutoScaleBTCValues.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.AutoScaleBTCValues), false, DataSourceUpdateMode.OnPropertyChanged);
            checkBox_ShowDriverVersionWarning.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.ShowDriverVersionWarning));
            checkBox_DisableWindowsErrorReporting.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.DisableWindowsErrorReporting));
            checkBox_ShowInternetConnectionWarning.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.ShowInternetConnectionWarning));
            checkBox_NVIDIAP0State.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.NVIDIAP0State));
            checkBox_LogToFile.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.LogToFile));
            checkBox_AllowMultipleInstances.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.AllowMultipleInstances));
            checkBox_WindowAlwaysOnTop.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.GUIWindowsAlwaysOnTop));
            checkBox_MinimizeMiningWindows.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.MinimizeMiningWindows));
            checkBox_RunScriptOnCUDA_GPU_Lost.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.RunScriptOnCUDA_GPU_Lost));
            checkBox_RunAtStartup.DataBindings.Add("Checked", ConfigManager.RunAtStartup, nameof(ConfigManager.RunAtStartup.Enabled));

            checkBox_ShowGPUPCIeBusIDs.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.ShowGPUPCIeBusIDs));

            checkBox_MineRegardlessOfProfit.DataBindings.Add("Checked", MiningProfitSettings.Instance, nameof(MiningProfitSettings.MineRegardlessOfProfit), false, DataSourceUpdateMode.OnPropertyChanged);
            textBox_MinProfit.DataBindings.Add("Enabled", MiningProfitSettings.Instance, nameof(MiningProfitSettings.IsMinimumProfitProfitEnabled), false, DataSourceUpdateMode.OnPropertyChanged);

            checkBox_DisableDeviceStatusMonitoring.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.DisableDeviceStatusMonitoring));

#if TESTNET || TESTNETDEV || PRODUCTION_NEW
            checkBox_DisableDevicePowerModeSettings.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.DisableDevicePowerModeSettings));
#else
            checkBox_DisableDevicePowerModeSettings.Enabled   = false;
            checkBox_DisableDevicePowerModeSettings.Checked   = true;
            checkBox_DisableDevicePowerModeSettings.Visible   = false;
            pictureBox_DisableDevicePowerModeSettings.Visible = false;
            groupBoxDeviceMonitoring.Height = (int)(groupBoxDeviceMonitoring.Height * 0.7);
#endif

            // idle mining
            checkBox_IdleWhenNoInternetAccess.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.IdleWhenNoInternetAccess));
            checkBox_StartMiningWhenIdle.DataBindings.Add("Checked", ConfigManager.IdleMiningSettings, nameof(ConfigManager.IdleMiningSettings.StartMiningWhenIdle), false, DataSourceUpdateMode.OnPropertyChanged);
            comboBox_IdleType.DataBindings.Add("Enabled", ConfigManager.IdleMiningSettings, nameof(ConfigManager.IdleMiningSettings.StartMiningWhenIdle), false, DataSourceUpdateMode.OnPropertyChanged);
            comboBox_IdleType.DataBindings.Add("SelectedIndex", ConfigManager.IdleMiningSettings, nameof(ConfigManager.IdleMiningSettings.IdleCheckTypeIndex), false, DataSourceUpdateMode.OnPropertyChanged);
            textBox_MinIdleSeconds.DataBindings.Add("Enabled", ConfigManager.IdleMiningSettings, nameof(ConfigManager.IdleMiningSettings.IsIdleCheckTypeInputTimeout), false, DataSourceUpdateMode.OnPropertyChanged);

            // comboBox indexes
            comboBox_Language.DataBindings.Add("SelectedIndex", ConfigManager.TranslationsSettings, nameof(ConfigManager.TranslationsSettings.LanguageIndex), false, DataSourceUpdateMode.OnPropertyChanged);

            // IFTTT textbox
            checkBox_UseIFTTT.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.UseIFTTT), false, DataSourceUpdateMode.OnPropertyChanged);
            textBox_IFTTTKey.DataBindings.Add("Enabled", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.UseIFTTT), false, DataSourceUpdateMode.OnPropertyChanged);
            textBox_IFTTTKey.DataBindings.Add("Text", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.IFTTTKey), false, DataSourceUpdateMode.OnPropertyChanged);

            checkBox_RunEthlargement.DataBindings.Add("Checked", ThirdPartyMinerSettings.Instance, nameof(ThirdPartyMinerSettings.Instance.UseEthlargement), false, DataSourceUpdateMode.OnPropertyChanged);
            checkBox_RunEthlargement.DataBindings.Add("Enabled", ThirdPartyMinerSettings.Instance, nameof(ThirdPartyMinerSettings.Instance.CanUseEthlargement), false, DataSourceUpdateMode.OnPropertyChanged);


            checkBox_Use3rdPartyMiners.CheckedChanged += CheckBox_Use3rdPartyMiners_CheckedChanged;
            //checkBox_RunEthlargement.CheckedChanged += CheckBox_RunEthlargement_CheckedChanged;

            // At the very end set to true
            _isInitFinished = true;


            FormHelpers.TranslateFormControls(this);
        }
        public Form_Settings()
        {
            InitializeComponent();
            ApplicationStateManager.SubscribeStateDisplayer(this);

            Icon         = NHMCore.Properties.Resources.logo;
            this.TopMost = ConfigManager.GeneralConfig.GUIWindowsAlwaysOnTop;

            // backup settings
            ConfigManager.CreateBackup();

            // Initialize tabs
            InitializeGeneralTab();

            checkBox_DebugConsole.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.DebugConsole));
            checkBox_AutoStartMining.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.AutoStartMining));
            checkBox_HideMiningWindows.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.HideMiningWindows));
            checkBox_MinimizeToTray.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.MinimizeToTray));
            checkBox_AutoScaleBTCValues.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.AutoScaleBTCValues), false, DataSourceUpdateMode.OnPropertyChanged);
            checkBox_ShowDriverVersionWarning.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.ShowDriverVersionWarning));
            checkBox_DisableWindowsErrorReporting.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.DisableWindowsErrorReporting));
            checkBox_ShowInternetConnectionWarning.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.ShowInternetConnectionWarning));
            checkBox_NVIDIAP0State.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.NVIDIAP0State));
            checkBox_LogToFile.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.LogToFile));
            checkBox_AllowMultipleInstances.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.AllowMultipleInstances));
            checkBox_WindowAlwaysOnTop.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.GUIWindowsAlwaysOnTop));
            checkBox_MinimizeMiningWindows.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.MinimizeMiningWindows));
            checkBox_RunScriptOnCUDA_GPU_Lost.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.RunScriptOnCUDA_GPU_Lost));
            checkBox_RunAtStartup.DataBindings.Add("Checked", ConfigManager.RunAtStartup, nameof(ConfigManager.RunAtStartup.Enabled));

            checkBox_ShowGPUPCIeBusIDs.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.ShowGPUPCIeBusIDs));

            checkBox_MineRegardlessOfProfit.DataBindings.Add("Checked", MiningProfitSettings.Instance, nameof(MiningProfitSettings.MineRegardlessOfProfit), false, DataSourceUpdateMode.OnPropertyChanged);
            textBox_MinProfit.DataBindings.Add("Enabled", MiningProfitSettings.Instance, nameof(MiningProfitSettings.IsMinimumProfitProfitEnabled), false, DataSourceUpdateMode.OnPropertyChanged);

            checkBox_DisableDeviceStatusMonitoring.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.DisableDeviceStatusMonitoring));
            checkBox_DisableDevicePowerModeSettings.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.DisableDevicePowerModeSettings));

            // idle mining
            checkBox_IdleWhenNoInternetAccess.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.IdleWhenNoInternetAccess));
            checkBox_StartMiningWhenIdle.DataBindings.Add("Checked", ConfigManager.IdleMiningSettings, nameof(ConfigManager.IdleMiningSettings.StartMiningWhenIdle), false, DataSourceUpdateMode.OnPropertyChanged);
            comboBox_IdleType.DataBindings.Add("Enabled", ConfigManager.IdleMiningSettings, nameof(ConfigManager.IdleMiningSettings.StartMiningWhenIdle), false, DataSourceUpdateMode.OnPropertyChanged);
            comboBox_IdleType.DataBindings.Add("SelectedIndex", ConfigManager.IdleMiningSettings, nameof(ConfigManager.IdleMiningSettings.IdleCheckTypeIndex), false, DataSourceUpdateMode.OnPropertyChanged);
            textBox_MinIdleSeconds.DataBindings.Add("Enabled", ConfigManager.IdleMiningSettings, nameof(ConfigManager.IdleMiningSettings.IsIdleCheckTypeInputTimeout), false, DataSourceUpdateMode.OnPropertyChanged);

            // comboBox indexes
            comboBox_Language.DataBindings.Add("SelectedIndex", ConfigManager.TranslationsSettings, nameof(ConfigManager.TranslationsSettings.LanguageIndex), false, DataSourceUpdateMode.OnPropertyChanged);

            // IFTTT textbox
            checkBox_UseIFTTT.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.UseIFTTT), false, DataSourceUpdateMode.OnPropertyChanged);
            textBox_IFTTTKey.DataBindings.Add("Enabled", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.UseIFTTT), false, DataSourceUpdateMode.OnPropertyChanged);
            textBox_IFTTTKey.DataBindings.Add("Text", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.IFTTTKey), false, DataSourceUpdateMode.OnPropertyChanged);

            checkBox_RunEthlargement.DataBindings.Add("Checked", ConfigManager.GeneralConfig, nameof(ConfigManager.GeneralConfig.UseEthlargement), false, DataSourceUpdateMode.OnPropertyChanged);
            checkBox_RunEthlargement.Enabled = true;

            //checkBox_RunEthlargement.CheckedChanged += CheckBox_RunEthlargement_CheckedChanged;

            // At the very end set to true
            _isInitFinished = true;


            FormHelpers.TranslateFormControls(this);
        }