X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmainwindow.cpp;h=1b826a188a0aa96953a821b9e0bff8b35310762a;hb=4f5b970f5b487a978041b40ed905bfbd7c55224a;hp=e069c528593ffea8d9beb3c9a402ea0b061e3c66;hpb=89f906b75be3e7d21cb34f8e9b811a798af26688;p=qcpufreq diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index e069c52..1b826a1 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -28,11 +28,13 @@ #endif #define APPNAME "QCPUFreq" -#define APPVERSION "0.3.2" +#define APPVERSION "0.3.3" 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,12 @@ 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())); + + //disable overclocking button on vanilla kernels + if ( getScalingFreq(0) <= 600000 ) { + ui->actionOverclocking->setDisabled(true); + } } @@ -106,10 +114,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 in QCPUFreq's menu for setting frequencies above 600MHz!"), 0); + refresh(); + return; + } + #endif + callHelper( "set_maxfreq", max ); refresh(); @@ -128,10 +145,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 +157,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 +334,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 +431,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()