X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fmainwindow.cpp;h=afffeef1c645d24452cd18600ef06a515a928a9a;hb=776e320c8ba6b7467e90da091caad5c520618efb;hp=e99c249b52da16b7d44f3fab7775d725930bbb60;hpb=83095161345a9f48cd5a1ea1a29cf1d8c07d86c4;p=qcpufreq diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index e99c249..afffeef 100755 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -30,13 +30,14 @@ #define APPNAME "QCPUFreq" -#define APPVERSION "0.1" +#define APPVERSION "0.2" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); + refresh(); // enable auto rotation @@ -79,24 +80,44 @@ void MainWindow::adjustFreq() int newmax = getScalingFreq( ui->freq_adjust->sliderPosition() ); QString max; max.setNum( newmax ); - QStringList arguments; -#if defined(Q_WS_MAEMO_5) - //on Maemo5 the set_scalingmaxfreq-Script is not in $PATH - arguments.append( "/opt/usr/bin/set_scalingmaxfreq" ); -#else - arguments.append( "set_scalingmaxfreq" ); -#endif - arguments.append( max ); - //execute the scaling script - QProcess script; - script.execute( "sudo", arguments ); + callHelper( "set_maxfreq", max ); refresh(); } /** + * Calls the QCPUFreq helper script with "sudo action param" + * + * @param action : the action of the helper script + * @param param : the parameter for the action + * @return exit code + */ +int MainWindow::callHelper(QString action, QString param) +{ + QProcess helper; + QStringList arguments; + //run sudo in non-interactive mode + arguments.append( "-n" ); + + #if defined(Q_WS_MAEMO_5) + //On Maemo 5 the helper script resides in /opt/usr/bin, which us usually not in $PATH + arguments.append( "/opt/usr/bin/QCPUFreq.helper" ); + #else + arguments.append( "QCPUFreq.helper" ); + #endif + + arguments.append( action ); + arguments.append( param ); + + helper.execute( "sudo", arguments ); + + return helper.exitCode(); +} + + +/** * Returns the current CPU temperature */ QString MainWindow::getCPUTemp() @@ -104,7 +125,7 @@ QString MainWindow::getCPUTemp() #if defined(Q_WS_MAEMO_5) return readSysFile( "devices/platform/omap34xx_temp/temp1_input_raw" ); #endif - return "Unknown"; + return tr( "Unknown" ); } @@ -266,6 +287,8 @@ void MainWindow::refresh() ui->freq_adjust->setMaximum( getScalingSteps() ); ui->freq_adjust->setInvertedAppearance( true ); ui->freq_adjust->setSliderPosition( getScalingStep(getMaxFreq()) ); + + //ui->retranslateUi(this); } @@ -314,22 +337,15 @@ void MainWindow::setAutoRotaion() */ void MainWindow::setSmartReflex() { -//SmartReflex is only supprted on Maemo5 +//SmartReflex is only supported on Maemo5 #if defined(Q_WS_MAEMO_5) - QStringList arguments; - arguments.append( "/opt/usr/bin/set_sr" ); - if ( getSmartReflexState() == 1 ) - arguments.append( "off" ); + callHelper( "set_sr", "off"); else { QMaemo5InformationBox::information(this, tr( "SmartReflex support is known to be unstable on some devices and may cause random reboots." ), QMaemo5InformationBox::DefaultTimeout); - arguments.append( "on" ); + callHelper( "set_sr", "on"); } - //execute the sr script script - QProcess script; - script.execute( "sudo", arguments ); - #endif //refresh the UI refresh();