From 012c01c85995ff647215a9816e1efe6ae50f777d Mon Sep 17 00:00:00 2001 From: Daniel Klaffenbach Date: Sat, 25 Sep 2010 16:06:49 +0200 Subject: [PATCH] Do not allow overclocking per default. --- src/mainwindow.cpp | 46 +++++++++++++++++++++++++++++++++++++--------- src/mainwindow.h | 2 ++ src/mainwindow.ui | 9 +++++++++ 3 files changed, 48 insertions(+), 9 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index e069c52..e904561 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -33,6 +33,8 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow), + //do not allow overclocking per default + allowOverclocking(false), //create helper process helperProcess( this ), //create a new, stackable help window @@ -77,6 +79,7 @@ MainWindow::MainWindow(QWidget *parent) : connect(QApplication::desktop(), SIGNAL(resized(int)), this, SLOT(orientationChanged())); connect(ui->sr_box, SIGNAL(clicked()), this, SLOT(setSmartReflex())); connect(&refreshTimer, SIGNAL(timeout()), this, SLOT(refresh())); + connect(ui->actionOverclocking, SIGNAL(toggled(bool)), this, SLOT(setOverclocking())); } @@ -106,10 +109,19 @@ void MainWindow::adjustFreq() //maxfreq should not be smaller than minfreq, because we do not want to decrease minfreq if (newmax < getMinFreq()) - newmax = getMinFreq(); + newmax = getMinFreq(); max.setNum( newmax ); + //check for overclocking + #if defined(Q_WS_MAEMO_5) + if (this->allowOverclocking == false && newmax > 600000) { + QMaemo5InformationBox::information(this, tr( "You need to enable overclocking for setting frequencies above 600MHz!"), 0); + refresh(); + return; + } + #endif + callHelper( "set_maxfreq", max ); refresh(); @@ -128,10 +140,10 @@ int MainWindow::callHelper(QString action, QString param) QStringList arguments; #if defined(Q_WS_MAEMO_5) - //On Maemo 5 the helper script resides in /opt/usr/bin, which is usually not in $PATH - arguments.append( "/opt/usr/bin/QCPUFreq.helper" ); + //On Maemo 5 the helper script resides in /opt/usr/bin, which is usually not in $PATH + arguments.append( "/opt/usr/bin/QCPUFreq.helper" ); #else - arguments.append( "QCPUFreq.helper" ); + arguments.append( "QCPUFreq.helper" ); #endif arguments.append( action ); @@ -140,9 +152,9 @@ int MainWindow::callHelper(QString action, QString param) helperProcess.start( "sudo", arguments, QIODevice::NotOpen ); if ( showSudoError && !helperProcess.waitForFinished( 400 )) { - //do not show this error again - showSudoError = false; - QMessageBox::critical(this, tr("QCPUFreq"), tr("There seems to be a problem with your sudo setup!")); + //do not show this error again + showSudoError = false; + QMessageBox::critical(this, tr("QCPUFreq"), tr("There seems to be a problem with your sudo setup!")); } return helperProcess.exitCode(); @@ -317,8 +329,8 @@ QString MainWindow::readSysFile(QString sys_file) //open the file if ( !file.exists() || !file.open( QIODevice::ReadOnly ) ) { - QMessageBox::critical(this, tr("QCPUFreq"), tr("Could not get information from /sys!")); - return ""; + QMessageBox::critical(this, tr("QCPUFreq"), tr("Could not get information from /sys!")); + return ""; } //read the file @@ -414,6 +426,22 @@ void MainWindow::setAutoRotation() /** + * SLOT: enable/disable overclocking. + */ +void MainWindow::setOverclocking() +{ + if (ui->actionOverclocking->isChecked()) { + #if defined(Q_WS_MAEMO_5) + QMaemo5InformationBox::information(this, tr( "Please note that overclocking voids your warranty and may break your device! Be careful!"), 0); + #endif + this->allowOverclocking = true; + } else { + this->allowOverclocking = false; + } +} + + +/** * SLOT: Enables or disables Smart Reflex(tm) after pressing sr_btn */ void MainWindow::setSmartReflex() diff --git a/src/mainwindow.h b/src/mainwindow.h index a2c3042..eba3082 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -44,12 +44,14 @@ public slots: void orientationChanged(); void refresh(); void setAutoRotation(); + void setOverclocking(); void setSmartReflex(); void showHelp(); private: Ui::MainWindow *ui; + bool allowOverclocking; int callHelper( QString action, QString param ); QString getCPUTemp(); int getMaxFreq(); diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 3cff619..ad98fb0 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -363,6 +363,7 @@ File + @@ -378,6 +379,14 @@ Help + + + true + + + Enable overclocking + + -- 1.7.9.5