@@ -43,7 +43,7 @@ MiningPage::MiningPage(const PlatformStyle* platformStyle, QWidget* parent) : QW
43
43
ui->labelNCPUCores ->setText (QString (" %1" ).arg (nCPUMaxUseThreads));
44
44
}
45
45
46
- ui->sliderCPUCores ->setMinimum (1 );
46
+ ui->sliderCPUCores ->setMinimum (0 );
47
47
ui->sliderCPUCores ->setMaximum (nCPUMaxUseThreads);
48
48
ui->sliderCPUCores ->setValue (nCPUMaxUseThreads);
49
49
@@ -56,7 +56,7 @@ MiningPage::MiningPage(const PlatformStyle* platformStyle, QWidget* parent) : QW
56
56
ui->labelNGPUCores ->setText (QString (" %1" ).arg (nGPUMaxUseThreads));
57
57
}
58
58
59
- ui->sliderGPUCores ->setMinimum (1 );
59
+ ui->sliderGPUCores ->setMinimum (0 );
60
60
ui->sliderGPUCores ->setMaximum (nGPUMaxUseThreads);
61
61
ui->sliderGPUCores ->setValue (nGPUMaxUseThreads);
62
62
ui->pushSwitchGPUMining ->setVisible (true );
@@ -233,15 +233,15 @@ void MiningPage::StopCPUMiner()
233
233
{
234
234
LogPrintf (" StopCPUMiner %d (%s)" , ui->sliderCPUCores ->value (), fCPUMinerOn );
235
235
fCPUMinerOn = false ;
236
- changeNumberOfCPUThreads (ui-> sliderCPUCores -> value () );
236
+ changeNumberOfCPUThreads (0 , true );
237
237
ShutdownCPUMiners ();
238
238
updateUI ();
239
239
}
240
240
241
241
void MiningPage::StopGPUMiner ()
242
242
{
243
243
fGPUMinerOn = false ;
244
- changeNumberOfGPUThreads (ui-> sliderGPUCores -> value () );
244
+ changeNumberOfGPUThreads (0 , true );
245
245
ShutdownGPUMiners ();
246
246
updateUI ();
247
247
}
@@ -255,22 +255,26 @@ bool MiningPage::isMinerOn()
255
255
#endif
256
256
}
257
257
258
- void MiningPage::changeNumberOfCPUThreads (int i)
258
+ void MiningPage::changeNumberOfCPUThreads (int i, bool shutdown )
259
259
{
260
- ui->labelNCPUCores ->setText (QString (" %1" ).arg (i));
260
+ if (!shutdown)
261
+ ui->labelNCPUCores ->setText (QString (" %1" ).arg (i));
261
262
ForceSetArg (" -gen" , isMinerOn () ? " 1" : " 0" );
262
263
ForceSetArg (" -genproclimit-cpu" , isMinerOn () ? i : 0 );
264
+ InitMiners (Params (), *g_connman);
263
265
SetCPUMinerThreads (i);
264
266
if (fCPUMinerOn )
265
267
StartMiners ();
266
268
}
267
269
268
270
#ifdef ENABLE_GPU
269
- void MiningPage::changeNumberOfGPUThreads (int i)
271
+ void MiningPage::changeNumberOfGPUThreads (int i, bool shutdown )
270
272
{
271
- ui->labelNGPUCores ->setText (QString (" %1" ).arg (i));
273
+ if (!shutdown)
274
+ ui->labelNGPUCores ->setText (QString (" %1" ).arg (i));
272
275
ForceSetArg (" -gen" , isMinerOn () ? " 1" : " 0" );
273
276
ForceSetArg (" -genproclimit-gpu" , isMinerOn () ? i : 0 );
277
+ InitMiners (Params (), *g_connman);
274
278
SetGPUMinerThreads (i);
275
279
if (fGPUMinerOn )
276
280
StartMiners ();
@@ -279,32 +283,24 @@ void MiningPage::changeNumberOfGPUThreads(int i)
279
283
280
284
void MiningPage::switchCPUMining ()
281
285
{
282
- int nThreads = (int )ui->sliderCPUCores ->value ();
286
+ fCPUMinerOn = !fCPUMinerOn ;
287
+ updateCPUPushSwitch ();
283
288
if (fCPUMinerOn ) {
284
- ui->sliderCPUCores ->setValue (0 );
285
- ui->pushSwitchCPUMining ->setText (tr (" Stopping" ));
286
- StopCPUMiner ();
287
- } else {
288
- if (nThreads == 0 )
289
- ui->sliderCPUCores ->setValue (1 );
290
- ui->pushSwitchCPUMining ->setText (tr (" Starting" ));
291
289
StartCPUMiner ();
290
+ } else {
291
+ StopCPUMiner ();
292
292
}
293
293
}
294
294
295
295
#ifdef ENABLE_GPU
296
296
void MiningPage::switchGPUMining ()
297
297
{
298
- int nThreads = (int )ui->sliderGPUCores ->value ();
298
+ fGPUMinerOn = !fGPUMinerOn ;
299
+ updateGPUPushSwitch ();
299
300
if (fGPUMinerOn ) {
300
- ui->sliderGPUCores ->setValue (0 );
301
- ui->pushSwitchGPUMining ->setText (tr (" Stopping" ));
302
- StopGPUMiner ();
303
- } else {
304
- if (nThreads == 0 )
305
- ui->sliderGPUCores ->setValue (1 );
306
- ui->pushSwitchGPUMining ->setText (tr (" Starting" ));
307
301
StartGPUMiner ();
302
+ } else {
303
+ StopGPUMiner ();
308
304
}
309
305
}
310
306
#endif
0 commit comments