//=========================================== // Lumina-DE source code // Copyright (c) 2013, Ken Moore // Available under the 3-clause BSD license // See the LICENSE file for full details //=========================================== #include "LuminaUtils.h" #include #include #include #include #include #include #include //============= // LUtils Functions //============= int LUtils::runCmd(QString cmd, QStringList args){ QProcess *proc = new QProcess; proc->setProcessChannelMode(QProcess::MergedChannels); if(args.isEmpty()){ proc->start(cmd); }else{ proc->start(cmd, args); } while(!proc->waitForFinished(300)){ QCoreApplication::processEvents(); } int ret = proc->exitCode(); delete proc; return ret; } QStringList LUtils::getCmdOutput(QString cmd, QStringList args){ QProcess *proc = new QProcess; proc->setProcessChannelMode(QProcess::MergedChannels); if(args.isEmpty()){ proc->start(cmd); }else{ proc->start(cmd,args); } while(!proc->waitForFinished(300)){ QCoreApplication::processEvents(); } QStringList out = QString(proc->readAllStandardOutput()).split("\n"); delete proc; return out; } QStringList LUtils::readFile(QString filepath){ QStringList out; QFile file(filepath); if(file.open(QIODevice::Text | QIODevice::ReadOnly)){ QTextStream in(&file); while(!in.atEnd()){ out << in.readLine(); } file.close(); } return out; } bool LUtils::writeFile(QString filepath, QStringList contents, bool overwrite){ QFile file(filepath); if(file.exists() && !overwrite){ return false; } bool ok = false; if( file.open(QIODevice::WriteOnly | QIODevice::Truncate) ){ QTextStream out(&file); out << contents.join("\n"); file.close(); ok = true; } return ok; } bool LUtils::isValidBinary(QString bin){ if(!bin.startsWith("/")){ //Relative path: search for it on the current "PATH" settings QStringList paths = QString(qgetenv("PATH")).split(":"); for(int i=0; iload( appname+QString("_") + langCode, LOS::LuminaShare()+"i18n/" ); app->installTranslator( CurTranslator ); }else{ //Only going to set the encoding since no application given qDebug() << "Loading System Encoding:" << langEnc; } //Load current encoding for this locale QTextCodec::setCodecForLocale( QTextCodec::codecForName(langEnc.toUtf8()) ); }