コード例 #1
0
ファイル: ibcfile.cpp プロジェクト: HydroCouple/FVHMComponent
void IbcFile::on_pushButtonRun_clicked()
{
	QDir dir = QDir::home();
        QString home = dir.homePath();
        QString logFileName(home+"/log.html");
        ofstream log;
        log.open(qPrintable(logFileName), ios::out);
        log<<"<html><body><br><font size=3 color=black><p> Running... ";//</p></font></body></html>";
        log.close();
        ui->textBrowser->setSource(logFileName);
        ui->textBrowser->setFocus();
        ui->textBrowser->setModified(TRUE);
	
	//////
	fstream file;
	file.open(qPrintable(ui->lineEdit->text()), ios::out);
	file <<"0\t0\n0";
	file.close();
	//////

	log.open(qPrintable(logFileName), ios::app);
        log<<" Done!";
        log.close();
        ui->textBrowser->reload();
        QApplication::processEvents();
}
コード例 #2
0
ファイル: ssu.cpp プロジェクト: jvihrial/ssu
void Ssu::storeAuthorizedKeys(QByteArray data){
  QDir dir;
  SsuLog *ssuLog = SsuLog::instance();

  int uid_min = getdef_num("UID_MIN", -1);
  QString homePath;

  if (getuid() >= uid_min){
    homePath = dir.homePath();
  } else if (getuid() == 0){
    // place authorized_keys in the default users home when run with uid0
    struct passwd *pw = getpwuid(uid_min);
    if (pw == NULL){
      ssuLog->print(LOG_DEBUG, QString("Unable to find password entry for uid %1")
                    .arg(uid_min));
      return;
    }

    //homePath = QString(pw->pw_dir);
    homePath = pw->pw_dir;

    // use users uid/gid for creating the directories and files
    setegid(pw->pw_gid);
    seteuid(uid_min);
    ssuLog->print(LOG_DEBUG, QString("Dropping to %1/%2 for writing authorized keys")
                  .arg(uid_min)
                  .arg(pw->pw_gid));
  } else
    return;

  homePath = Sandbox::map(homePath);

  if (dir.exists(homePath + "/.ssh/authorized_keys")){
    ssuLog->print(LOG_DEBUG, QString(".ssh/authorized_keys already exists in %1")
                  .arg(homePath));
    restoreUid();
    return;
  }

  if (!dir.exists(homePath + "/.ssh"))
    if (!dir.mkdir(homePath + "/.ssh")){
      ssuLog->print(LOG_DEBUG, QString("Unable to create .ssh in %1")
                    .arg(homePath));
      restoreUid();
      return;
    }

  QFile::setPermissions(homePath + "/.ssh",
                        QFile::ReadOwner | QFile::WriteOwner | QFile::ExeOwner);

  QFile authorizedKeys(homePath + "/.ssh/authorized_keys");
  authorizedKeys.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Truncate);
  authorizedKeys.setPermissions(QFile::ReadOwner | QFile::WriteOwner);
  QTextStream out(&authorizedKeys);
  out << data;
  out.flush();
  authorizedKeys.close();

  restoreUid();
}
コード例 #3
0
ファイル: watchfolderadd.cpp プロジェクト: JelF/nixnote2
void WatchFolderAdd::folderButtonClicked() {
    QDir dir;
    fileDialog->setDirectory(dir.homePath()+"/");
    fileDialog->setFileMode(QFileDialog::DirectoryOnly);
    connect(fileDialog, SIGNAL(fileSelected(QString)), this, SLOT(folderSelected(QString)));
    fileDialog->exec();
}
コード例 #4
0
ファイル: wsettings.cpp プロジェクト: bygreencn/WifiAssist
QStringList WSettings::getInterfaceList()
{
    //read interface.list
    QDir dir;
    QString config_path = dir.homePath()+"/.WifiAssist";
    QString interface_list_filename = config_path+"/interface.list";

    QStringList interface_list = QStringList();

    QFile inputFile(interface_list_filename);
    if(inputFile.open(QIODevice::ReadOnly))
    {
       QTextStream in(&inputFile);
       while (!in.atEnd())
       {
          QString line = in.readLine();
          interface_list << line;
       }
       inputFile.close();
    }
    else
    {
        QMessageBox::warning(NULL,"Warning","Can't find interface Record");
    }
    return interface_list;
}
コード例 #5
0
void NfcSharing::fileShareContentChanged(QString paths) {
	NfcShareFilesContent request;
    QList<QUrl> urls;
    QDir dir;

    QStringList list = paths.split(",");

    qDebug() << "XXXX Current Path" << dir.currentPath() << endl;
    qDebug() << "XXXX Home    Path" << dir.homePath() << endl;
    qDebug() << "XXXX Temp    Path" << dir.tempPath() << endl;

      QString publicPath(dir.currentPath().append("/app/public/"));

    for (int i = 0; i < list.size(); ++i) {

    	QUrl url(QString("file://").append(publicPath).append(list.at(i)));
        urls.append(url);

        QFileInfo fi(url.toLocalFile());

        qDebug() << "XXXX To Local File" << url.toLocalFile() << endl;
        qDebug() << "XXXX File String" << list.at(i) << endl;
        qDebug() << "XXXX File URL" << url << endl;
        qDebug() << "XXXX Absolute File Path" << fi.absoluteFilePath() << endl;
        qDebug() << "XXXX Absolute Path" << fi.absolutePath() << endl;
    }

    request.setFileUrls(urls);

    NfcShareSetContentError::Type rc = _nfcShareManager->setShareContent(request);

    qDebug() << "XXXX File setShareContent rc=" << rc << endl;
}
コード例 #6
0
ファイル: parseAPI.cpp プロジェクト: SHIHUAMarryMe/BDMusic
void parseAPI::write(QNetworkReply* reply)
{
    if(!reply->isFinished()){
        qDebug()<<"error";
    }else{
        QDir dir;
        qDebug()<<dir.homePath()+name.toUtf8();
        QFile* file=new QFile(dir.homePath()+ QString("/Music/") + name + QString(".mp3"));
        file->open(QFile::Append);
        file->write(reply->readAll());
        if(file->flush()){
            qDebug()<<"success to save";
            file->close();
        }
        delete file;
        reply->deleteLater();
    }
}
コード例 #7
0
ファイル: ssu.cpp プロジェクト: lbt/ssu
void Ssu::storeAuthorizedKeys(QByteArray data){
  QDir dir;

  // only set the key for unprivileged users
  if (getuid() < 1000) return;

  if (dir.exists(dir.homePath() + "/.ssh/authorized_keys"))
    return;

  if (!dir.exists(dir.homePath() + "/.ssh"))
    if (!dir.mkdir(dir.homePath() + "/.ssh")) return;

  QFile::setPermissions(dir.homePath() + "/.ssh",
                        QFile::ReadOwner | QFile::WriteOwner | QFile::ExeOwner);

  QFile authorizedKeys(dir.homePath() + "/.ssh/authorized_keys");
  authorizedKeys.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Truncate);
  authorizedKeys.setPermissions(QFile::ReadOwner | QFile::WriteOwner);
  QTextStream out(&authorizedKeys);
  out << data;
  out.flush();
  authorizedKeys.close();
}
コード例 #8
0
void MainWindow::leerArchivo(){
    QDir directorio;
    QString dir = directorio.homePath();
    std::string home = dir.toStdString();

    QString nomArchivo = ui->boxArchivo->toPlainText();
    std::string nombreArchivo = nomArchivo.toStdString();

    std::string ruta = "";

    if (nombreArchivo.rfind(".txt") != -1) {
        ruta = home + "/Desktop/" + nombreArchivo;
    }
    else {
        ruta = home + "/Desktop/" + nombreArchivo + ".txt";
    }

    LectorArchivos lector;
    std::vector<int> datos = lector.leer(ruta);

    switch (currentArbol){
    case 1:{
        // Avl
        for(int i = 0; i < datos.size(); i++){
            NodoB<int> *nuevo = new NodoB<int>(datos[i]);
            avl->insert(nuevo);
        }
        break;
    }
    case 2:{
        //Rojinegro
        for(int i = 0; i < datos.size(); i++){
            NodoB<int> *nuevo = new NodoB<int>(datos[i]);
            rojinegro->RBinsert(nuevo);
        }
        break;
    }
    case 3:{
        //2/3
        for(int i = 0; i < datos.size(); i++){
            NodoDosTres<int>*nuevo = new NodoDosTres<int>(datos[i]);
            dosTres->insertar23(nuevo);
        }
        break;
    }
    }
}
コード例 #9
0
ファイル: mainwindow.cpp プロジェクト: Feirlane/ampMeter
void MainWindow::on_actionLoad_triggered()
{
    QStringList fileName;
    QDir dir;
    QFileDialog *dialog = new QFileDialog(this,"Open File...", dir.homePath(), "CSV Files(*.csv)");
    dialog->setAcceptMode(QFileDialog::AcceptOpen);
    if(dialog->exec())
        fileName = dialog->selectedFiles();
    if (!fileName.isEmpty())
    {
        qDebug() << fileName.first();
        _amp->loadFromCSV(fileName.first());
    }
    else
        qDebug() << "No File Selected";
    delete(dialog);
}
コード例 #10
0
ファイル: Manitou.cpp プロジェクト: ddksaku/manitou
void Manitou::initialize()
{
    QCoreApplication::setApplicationName("Manitou");
    QCoreApplication::setApplicationVersion("0.1.0");
    QCoreApplication::setOrganizationName("Internet3D");
    QCoreApplication::setOrganizationDomain("internet3d.rdc.cz");

    // init database
    database.initialize();
    history = new History(this);
    searchHistory = new SearchHistory(this);

    // actions initialization
    createActions();

    // initialize Web icon ("favicon") cache database
    QString directory = QDesktopServices::storageLocation(QDesktopServices::CacheLocation);
    QDir dir;
    if (!directory.isEmpty()) {
        if (!dir.exists(directory)) {
            if (!dir.mkpath(directory)) {
                directory = "";
            }
        }
    }
    else {
        directory = dir.homePath() + "/." + QCoreApplication::applicationName();
        if (!dir.exists(directory)) {
            if (!dir.mkpath(directory)) {
                directory = "";
            }
        }
    }

    if (!directory.isEmpty()) {
        QWebSettings::setIconDatabasePath(directory);
    }

#ifdef Linux
    wiiRemote = new WiiRemote();
#endif

}
コード例 #11
0
ファイル: settings.cpp プロジェクト: lgeek/QTV-fork
void Settings::enableAutostart(bool enabled)
{
    if (enabled)
    {
        qDebug() << "@Settings: enable autostart";

        #ifdef Q_OS_LINUX
            QDir dir;

            if (!dir.exists(dir.homePath() + "/.config/autostart"))
                dir.mkdir(dir.homePath() + "/.config/autostart");
            if (!QFile::exists(dir.homePath() + "/.config/autostart/qtv.desktop"))
            {
                QFile file(dir.homePath() + "/.config/autostart/qtv.desktop");
                if (file.open(QIODevice::ReadWrite))
                {
                    file.write("[Desktop Entry]\n");
                    file.write(qPrintable("Version=" + QString(APPLICATION_VERSION) + "\n"));
                    file.write("Type=Application\n");
                    file.write(qPrintable("Name=" + QString(APPLICATION_NAME) + "\n"));
                    file.write("Comment=QT TV-Show Reminder\n");
                    file.write(qPrintable("Exec=" + QCoreApplication::applicationFilePath() + "\n"));
                    file.write(qPrintable("Icon=" + QCoreApplication::applicationDirPath() + "/icon.png"));
                    file.close();
                    system(qPrintable("chmod +x " + dir.homePath() + "/.config/autostart/qtv.desktop"));
                }
            }
        #elif defined Q_OS_WIN32
            QSettings settings("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run", QSettings::NativeFormat);
            settings.setValue("QTV", QCoreApplication::applicationFilePath());
        #else
            #error "QTV can't handle the autostart-settings for your system. Please refer to http://code.google.com/p/qtv/"
        #endif
    }
    else
    {
        qDebug() << "@Settings: disable autostart";

        #ifdef Q_OS_LINUX
            QDir dir;
            QFile::remove(dir.homePath() + "/.config/autostart/qtv.desktop");
        #elif defined Q_OS_WIN32
            QSettings settings("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run", QSettings::NativeFormat);
            settings.remove("QTV");
        #else
            #error "QTV can't handle the autostart-settings for your system. Please refer to http://code.google.com/p/qtv/"
        #endif
    }
}
コード例 #12
0
ファイル: wsettings.cpp プロジェクト: bygreencn/WifiAssist
void WSettings::checkInterfaceListFile()
{
    //default config file "~/.WifiAssist/config.ini"
    //check is path exists
    QDir dir;
    QString config_path = dir.homePath()+"/.WifiAssist";

    dir.setPath(config_path);
    //if not exist,mkdir and Then set default config file.
    if(!dir.exists())
    {
        dir.mkdir(config_path);
    }


    //run net.sh to get interface list
    QString interface_list_filename = config_path+"/interface.list";
    QFile file;
    file.setFileName(interface_list_filename);

    if(!file.exists())
    {
        QStringList args = QStringList() << QCoreApplication::applicationDirPath()+"/bin/net.sh";
        QProcess qp;
        if(!qp.startDetached("bash",args))
        {
            QMessageBox::about(NULL,"Warning!","Can't Get Interface List");
        }

        QElapsedTimer t;
        t.start();
        while(t.elapsed()<2000)
            QCoreApplication::processEvents();
    }

}
コード例 #13
0
ファイル: wsettings.cpp プロジェクト: bygreencn/WifiAssist
void WSettings::checkConfigFile()
{
    //default config file "~/.WifiAssist/config.ini"
    //check is path exists
    QDir dir;
    QString config_path = dir.homePath()+"/.WifiAssist";
    QString filename = config_path+"/config.ini";
    dir.setPath(config_path);
    //if not exist,mkdir and Then set default config file.
    if(!dir.exists())
    {
        dir.mkdir(config_path);
    }

    QFile file;
    file.setFileName(filename);
    if(!file.exists())
    {
        m_settings = new QSettings(filename,QSettings::IniFormat);
        setDefaultConfig();
    }
    else
        m_settings = new QSettings(filename,QSettings::IniFormat);
}
コード例 #14
0
ファイル: FileSysAccess.cpp プロジェクト: nixz/covise
QStringList FileSysAccess::getLocalHomeDir()
{
    QDir locDir;
    QString homeDir = locDir.homePath();
    return this->getFileSysList("", homeDir, false);
}
コード例 #15
0
ファイル: spatialplot.cpp プロジェクト: mlt/PIHM
void spatialPlotDlg::generate()
{
  QDir dir = QDir::home();
  QString home = dir.homePath();
  QString logFileName(home+"/log.html");
  ofstream log;
  log.open(qPrintable(logFileName), ios::out);
  log<<"<html><body><br><font size=3 color=black><p> Running... ";      //</p></font></body></html>";
  log.close();
  textBrowser->setSource(logFileName);
  textBrowser->setFocus();
  textBrowser->setModified(TRUE);
  QApplication::processEvents();

  QgsProject *p = QgsProject::instance();
  QString projDir = p->readPath(p->readEntry("pihm", "projDir"));

  int bins;
  double **avgVal;

  int tabIndex;
  int variableIndex;
  int startTime, finishTime;
  int NUM_STEPS;
  int dataCount = 0;
  char fStr[100];

  int runFlag = 1;
  QString shapeFileName, outputFileName;
  ifstream inStream, inStream2;

  int NUM_ELE = 0;
  int NUM_RIV = 0;

  tabIndex = tabWidget->currentIndex();
  if(tabIndex == ELEMENT_FEATURE)
  {
    variableIndex = comboBoxEleVariable->currentIndex();
    startTime  = ( lineEditEleStart->text() ).toInt();
    finishTime = ( lineEditEleFinish->text() ).toInt();

    bins = lineEditBinsEle->text().toInt();
    int units = comboBoxEle->currentIndex();
    units = units==0 ? 1 : units==1 ? 60 : 1440;           // how many minutes
    // intercep, sat, unsat, surf, evap, trans, evap gw/sw, prep ??, nprep ??, infil ??, rech
    //                  106, 101, 107, 102, 108, 108, 108, 101, 101, 101, 105
    const int index[] = {5, 0, 6, 1, 7, 7, 7, 0, 0, 0, 4};
    QString var("step%1");
    int steps = p->readNumEntry("pihm", var.arg(index[comboBoxEleVariable->currentIndex()]));

    startTime = startTime*units / steps; cout << "Start Row= "<<startTime<<"\n";
    finishTime= finishTime*units/ steps; cout << "FinishRow= "<<finishTime<<"\n";

    shapeFileName  = lineEditEleShape->text();
    outputFileName = lineEditFileName->text();

    NUM_STEPS = finishTime - startTime + 1;
    cout<<"NUM_STEPS= "<<NUM_STEPS<<"\n";
    //getchar(); getchar();
    if( outputFileName.endsWith("txt", Qt::CaseInsensitive) ) {
      inStream.open( qPrintable(outputFileName) );
      if(inStream == NULL) {
        QMessageBox::critical(this, "Couldn't Open File", outputFileName);
        return;
        //exit(1);
      }
      string str;
      getline(inStream, str);
      int pos = 0;
      while( (pos = str.find('\t', pos+1) ) != -1 ) {
        NUM_ELE++;
      }
      cout << "NUM_ELE= "<<NUM_ELE<<"\n";
      inStream.close();
      inStream.open(qPrintable(outputFileName));
      avgVal = (double **)malloc(bins * sizeof(double *));
      for(int i=0; i<bins; i++) {
        avgVal[i] = (double *)malloc(NUM_ELE * sizeof(double));
        for(int j=0; j<NUM_ELE; j++)
          avgVal[i][j] = 0.0;
      }

      for(int i=1; i<startTime; i++)
        getline(inStream, str);
      if(inStream == NULL) {
        qWarning("Error: File ended Prematurely!\n       Cannot parse \"Start Time\" provided.\n");
        runFlag = 0;
      }
      if(runFlag != 0) {
        double temp;
        for(int b=0; b<bins; b++) {
          for(int i=0; i<NUM_STEPS/bins; i++) {
            if(inStream) {
              for(int j=0; j<NUM_ELE; j++) {
                inStream >> temp;
                avgVal[b][j]+=temp;
              }
              dataCount++;
            }
            else{
              dataCount--;
              break;
            }
          }
        }
コード例 #16
0
ファイル: geolfile.cpp プロジェクト: mlt/PIHM
void GeolFile::on_pushButtonRun_clicked()
{
  QgsProject *p = QgsProject::instance();
  QString projDir = p->readPath(p->readEntry("pihm", "projDir"));

  p->writeEntry("pihm", "geol", p->writePath(ui->lineEditGeolTexture->text())); // 89
  p->writeEntry("pihm", "/model/geol", p->writePath(ui->lineEditGeolFile->text())); // 90

  int RunFlag=1;
  ifstream inFile;
  ofstream outFile;
  inFile.open((ui->lineEditGeolTexture->text()).toAscii());
  outFile.open((ui->lineEditGeolFile->text()).toAscii());

  ofstream logFile;
  QDir dir = QDir::home();
  QString home = dir.homePath();
  QString logFileName(home+"/log.html");
  logFile.open(qPrintable(logFileName));
  logFile<<"<html><body><font size=3 color=black> Verifying Files...<br>";
  logFile.close();
  ui->textBrowser->setSource(logFileName);
  ui->textBrowser->setFocus();
  ui->textBrowser->setModified(TRUE);

  logFile.open(qPrintable(logFileName), ios::app);
  logFile<<"Checking Geol Texture File... ";
  if (inFile == NULL) {
    logFile<<"could NOT open file.  ERROR<br>";
    RunFlag = 0;
  }
  else
    logFile<<"Done!<br>";
  logFile<<"Checking .Geol File... ";
  if (outFile == NULL) {
    logFile<<"could NOT open file to write.  ERROR<br>";
    RunFlag = 0;
  }
  else
    logFile<<"Done!<br>";
  logFile.close();
  ui->textBrowser->reload();

  if(RunFlag == 1) {

    logFile.open(qPrintable(logFileName), ios::app);
    logFile<<"Generating .GEOL file... ";

    char tempS[500];
    int count=0;
    double data[1000][6];
    // (1) MUKEY (2) SILT (3) CLAY (4) ORGANIC_MATTER (5) BULK_DENSITY //<(6) TOPSOIL>
    //inFile>>tempS; inFile>>tempS; inFile>>tempS; inFile>>tempS; inFile>>tempS; //<inFile>>tempS;>
    inFile.getline(tempS, 500);
    while(inFile) {
      inFile>>data[count][0];       //MUKEY
      inFile>>data[count][1];       //SILT
      inFile>>data[count][2];       //CLAY
      inFile>>data[count][3]; if(data[count][3]<0) data[count][3]=2.5;       //ORGANIC MATTER
      inFile>>data[count][4]; if(data[count][4]<0) data[count][4]=1.3;      // BULK DENSITY (g/cm3)
      //inFile>>data[count][5]; // TOP SOIL
      data[count][5] = 0;       // Forced for GEOL i.e. TOPSOIL = 0
      //? outFile<<"-$ "<<data[count][0]<<"\t"<<data[count][1]<<"\t"<<data[count][2]<<"\t"<<data[count][3]<<"\t"<<data[count][4]<<"\t"<<data[count][5]<<" $-  \n";
      count++;
    }
    count--;
    outFile<<count<<"\n";

    double S, C, OM, D;     //S=SILT, C=CLAY, OM=ORGANIC MATTER, D=BULK DENSITY,
    int topsoil;     //TOPSOIL
    double **outData;
    outData = (double **)malloc(count*sizeof(double *));
    for(int i=0; i<count; i++) {
      outData[i] = (double *)malloc(10*sizeof(double));
      for(int j=0; j<10; j++)
        outData[i][j]=0.0;

      S = data[i][1];
      C = data[i][2];
      OM = data[i][3];
      D = data[i][4];
      topsoil = (int) data[i][5];

      //Index
      outData[i][0]=i+1;
      outFile<<outData[i][0]<<"\t";
      //Ksat
      //outData[i][1]= (7.755+0.03252*S+0.93*topsoil-0.967*D*D-0.000484*C*C-0.000322*S*S+0.001/S-0.0748/OM-0.643*log(S)-0.01398*D*C-0.1673*D*OM+0.02986*topsoil*C-0.03305*topsoil*S);
      outData[i][1]=exp(7.755+0.03252*S+0.93*topsoil-0.967*D*D-0.000484*C*C-0.000322*S*S+0.001/S-0.0748/OM-0.643*log(S)-0.01398*D*C-0.1673*D*OM+0.02986*topsoil*C-0.03305*topsoil*S);
      outData[i][1]=outData[i][1]/100;       //[cm per d] to [m per d]
      outFile<<outData[i][1]*10<<"\t";       //KsatH = KsatV * 10
      //Ksat
      outFile<<outData[i][1]<<"\t";       //KsatV
      //ThetaS
      //outData[i][2]=(0.7919+0.001691*C-0.29619*D-0.000001491*S*S+0.0000821*OM*OM+0.02427/C+0.01113/S+0.01472*log(S)-0.0000733*OM*C-0.000619*D*C-0.001183*D*OM-0.0001664*topsoil*S);
      outData[i][2]=  (0.7919+0.001691*C-0.29619*D-0.000001491*S*S+0.0000821*OM*OM+0.02427/C+0.01113/S+0.01472*log(S)-0.0000733*OM*C-0.000619*D*C-0.001183*D*OM-0.0001664*topsoil*S);
      outFile<<outData[i][2]<<"\t";
      //ThetaR
      outData[i][3]=0.01;
      outFile<<outData[i][3]<<"\t";
      //InfD
      //outData[i][4]=0.10;
      //outFile<<outData[i][4]<<"\t";
      //Alpha
      //outData[i][5]=log(-14.96+0.03135*C+0.0351*S+0.646*OM+15.29*D-0.192*topsoil-4.671*D*D-0.000781*C*C-0.00687*OM*OM+0.0449/OM+0.0663*log(S)+0.1482*log(OM)-0.04546*D*S-0.4852*D*OM+0.00673*topsoil*C);
      outData[i][5]=  exp(-14.96+0.03135*C+0.0351*S+0.646*OM+15.29*D-0.192*topsoil-4.671*D*D-0.000781*C*C-0.00687*OM*OM+0.0449/OM+0.0663*log(S)+0.1482*log(OM)-0.04546*D*S-0.4852*D*OM+0.00673*topsoil*C);
      outData[i][5]= 100*outData[i][5]; //UNIT CONVERSION 1/cm TO 1/m
      outFile<<outData[i][5]<<"\t";
      //Beta
      outData[i][6]=1+exp(-25.23-0.02195*C+0.0074*S-0.1940*OM+45.5*D-7.24*D*D+0.0003658*C*C+0.002885*OM*OM-12.81/D-0.1524/S-0.01958/OM-0.2876*log(S)-0.0709*log(OM)-44.6*log(D)-0.02264*D*C+0.0896*D*OM+0.00718*topsoil*C);
      outFile<<outData[i][6]<<"\t";
      //hAreaF
      outData[i][7]=0.01;
      outFile<<outData[i][7]<<"\t";
      //macKsatV
      outData[i][8]=100000*outData[i][1];
      outFile<<outData[i][8]<<"\t";
      //macD
      outData[i][9]=1.0;
      outFile<<outData[i][9]<<"\n";
    }
    logFile<<"Done!<br>";
    logFile<<"GeolFile Module - COMPLETE";
    logFile.close();
    ui->textBrowser->reload();
    QApplication::processEvents();
  }
コード例 #17
0
ファイル: initfile.cpp プロジェクト: mlt/PIHM
void InitFile::on_pushButton_Run_clicked()
{
  QgsProject *p = QgsProject::instance();
  QString projDir = p->readPath(p->readEntry("pihm", "projDir"));

  p->writeEntry("pihm", "/model/init", p->writePath(ui->lineEditInitFile->text())); // 94

  int RunFlag=1;
  ifstream inFileMesh, inFileRiv;
  ofstream outFile;
  inFileMesh.open((ui->lineEditMeshFile->text()).toAscii());
  inFileRiv.open((ui->lineEditRivFile->text()).toAscii());
  outFile.open((ui->lineEditInitFile->text()).toAscii());

  ofstream logFile;
  QDir dir = QDir::home();
  QString home = dir.homePath();
  QString logFileName(home+"/log.html");
  logFile.open(qPrintable(logFileName));
  logFile<<"<html><body><font size=3 color=black> Verifying Files...<br>";
  logFile.close();
  ui->textBrowser->setSource(logFileName);
  ui->textBrowser->setFocus();
  ui->textBrowser->setModified(TRUE);

  logFile.open(qPrintable(logFileName), ios::app);
  logFile<<"Checking Mesh File... ";
  if (inFileMesh == NULL) {
    logFile<<"could NOT open file.  ERROR<br>";
    RunFlag = 0;
  }
  else
    logFile<<"Done!<br>";
  logFile<<"Checking Riv File... ";
  if (inFileRiv == NULL) {
    logFile<<"could NOT open file.  ERROR<br>";
    RunFlag = 0;
  }
  else
    logFile<<"Done!<br>";
  logFile<<"Checking Init File... ";
  if (outFile == NULL) {
    logFile<<"could NOT open file to write.  ERROR<br>";
    RunFlag = 0;
  }
  else
    logFile<<"Done!<br>";
  logFile.close();
  ui->textBrowser->reload();

  if(RunFlag == 1) {
    logFile.open(qPrintable(logFileName), ios::app);
    logFile<<"Generating INIT file... ";
    int NumEle, NumRiv;
    inFileMesh >> NumEle;
    inFileRiv  >> NumRiv;

    for(int i=0; i<NumEle; i++) {
      outFile<<ui->interception->text().toFloat()<<"\t";
      outFile<<ui->snow->text().toFloat()<<"\t";
      outFile<<ui->surface->text().toFloat()<<"\t";
      outFile<<ui->unsaturated->text().toFloat()<<"\t";
      outFile<<ui->saturated->text().toFloat()<<"\n";
    }
    for(int i=0; i<NumRiv; i++) {
      outFile<<ui->river->text().toFloat()<<"\t";
      outFile<<ui->riverBed->text().toFloat()<<"\n";
    }
    logFile<<"Done!<br>";
    logFile<<"InitFile Module - COMPLETE";
    logFile.close();
    ui->textBrowser->reload();
    QApplication::processEvents();
  }
コード例 #18
0
ファイル: mshfile.cpp プロジェクト: HydroCouple/FVHMComponent
void mshFileDlg::run()
{
	QString projDir, projFile;
        QFile tFile(QDir::homePath()+"/project.txt");
        tFile.open(QIODevice::ReadOnly | QIODevice::Text);
        QTextStream tin(&tFile);
        projDir  = tin.readLine();
        projFile = tin.readLine();
	tFile.close();
        cout << qPrintable(projDir);

	writeLineNumber(qPrintable(projFile), 49, qPrintable(mshFileLineEdit->text()));
	QString tempStr = mshFileLineEdit->text();
	tempStr.truncate(tempStr.length()-5);
	tempStr=tempStr.right(tempStr.length()-tempStr.lastIndexOf("/", -1)-1);
	writeLineNumber(qPrintable(projFile), 50, qPrintable(tempStr));
	
	QDir dir = QDir::home();
        QString home = dir.homePath();
	QString logFileName(home+"/log.html");
	ofstream log;
	log.open(qPrintable(logFileName));
	log<<"<html><body><font size=3 color=black><p> Verifying Files...</p></font></body></html>";
        log.close();
        MessageLog->setSource(logFileName);
        MessageLog->setFocus();
        MessageLog->setModified(TRUE);

	ifstream ele, node, neigh, sele, bele;
        ofstream mesh; ofstream mesh0;

        ele.open(qPrintable((eleFileLineEdit->text())));
        node.open(qPrintable((nodeFileLineEdit->text())));
        neigh.open(qPrintable((neighFileLineEdit->text())));
        sele.open(qPrintable((sElevFileLineEdit->text())));
        bele.open(qPrintable((bElevFileLineEdit->text())));
        //mesh.open(qPrintable((mshFileLineEdit->text())), ios::out);
        QString meshFile0 =  mshFileLineEdit->text();
        QString meshFile1; meshFile1 = meshFile0 + "0";
        mesh.open(qPrintable(meshFile1), ios::out);

	int runFlag = 1;
/*
        if(ele==NULL){
        	qWarning("\n%s doesn't exist!", qPrintable((eleFileLineEdit->text())));
	        runFlag=0;
        }
	if(node==NULL){
                qWarning("\n%s doesn't exist!", qPrintable((nodeFileLineEdit->text())));
                runFlag=0;
        }
	if(neigh==NULL){
                qWarning("\n%s doesn't exist!", qPrintable((neighFileLineEdit->text())));
                runFlag=0;
        }
	if(sele==NULL){
                qWarning("\n%s doesn't exist!", qPrintable((sElevFileLineEdit->text())));
                runFlag=0;
        }
	if(bele==NULL){
                qWarning("\n%s doesn't exist!", qPrintable((bElevFileLineEdit->text())));
                runFlag=0;
        }
	if(mesh==NULL){
                qWarning("\n Please Enter mesh file name");
                runFlag=0;
        }
*/

	log.open(qPrintable(logFileName), ios::app);
	if((eleFileLineEdit->text()).length()==0){
		log<<"<p><font size=3 color=red> Error! Please input .ele Input File</p>";
		runFlag = 0;
	}
	else{
		log<<"<p>Checking... "<<qPrintable((eleFileLineEdit->text()))<<"... ";
		if(ele == NULL){
			log<<"<font size=3 color=red> Error!</p>";
			//qWarning("\n%s doesn't exist!", qPrintable((inputFileLineEdit->text())));
			runFlag = 0;
		}
		else
			log<<"Done!</p>";
	}
	log.close();
	MessageLog->reload();
	QApplication::processEvents();

	
	log.open(qPrintable(logFileName), ios::app);
	if((nodeFileLineEdit->text()).length()==0){
		log<<"<p><font size=3 color=red> Error! Please input .node Input File</p>";
		runFlag = 0;
	}
	else{
		log<<"<p>Checking... "<<qPrintable((nodeFileLineEdit->text()))<<"... ";
		if(ele == NULL){
			log<<"<font size=3 color=red> Error!</p>";
			//qWarning("\n%s doesn't exist!", qPrintable((inputFileLineEdit->text())));
			runFlag = 0;
		}
		else
			log<<"Done!</p>";
	}
	log.close();
	MessageLog->reload();
	QApplication::processEvents();

	
	log.open(qPrintable(logFileName), ios::app);
	if((neighFileLineEdit->text()).length()==0){
		log<<"<p><font size=3 color=red> Error! Please input .neigh Input File</p>";
		runFlag = 0;
	}
	else{
		log<<"<p>Checking... "<<qPrintable((neighFileLineEdit->text()))<<"... ";
		if(neigh == NULL){
			log<<"<font size=3 color=red> Error!</p>";
			//qWarning("\n%s doesn't exist!", qPrintable((inputFileLineEdit->text())));
			runFlag = 0;
		}
		else
			log<<"Done!</p>";
	}
	log.close();
	MessageLog->reload();
	QApplication::processEvents();


	log.open(qPrintable(logFileName), ios::app);
	if((sElevFileLineEdit->text()).length()==0){
		log<<"<p><font size=3 color=red> Error! Please input Surface Elev. Input File</p>";
		runFlag = 0;
	}
	else{
		log<<"<p>Checking... "<<qPrintable((sElevFileLineEdit->text()))<<"... ";
		if(sele == NULL){
			log<<"<font size=3 color=red> Error!</p>";
			//qWarning("\n%s doesn't exist!", (inputFileLineEdit->text()).ascii());
			runFlag = 0;
		}
		else
			log<<"Done!</p>";
	}
	log.close();
	MessageLog->reload();
	QApplication::processEvents();


	log.open(qPrintable(logFileName), ios::app);
	if((bElevFileLineEdit->text()).length()==0 && radioButtonFile->isChecked()==1){
		log<<"<p><font size=3 color=red> Error! Please input Bed Elev. Input File</p>";
		runFlag = 0;
	}
	else{
		log<<"<p>Checking... "<<qPrintable((bElevFileLineEdit->text()))<<"... ";
		if(bele == NULL && radioButtonFile->isChecked()==1){
			log<<"<font size=3 color=red> Error!</p>";
			//qWarning("\n%s doesn't exist!", (inputFileLineEdit->text()).ascii());
			runFlag = 0;
		}
		else
			log<<"Done!</p>";
	}
	log.close();
	MessageLog->reload();
	QApplication::processEvents();


	log.open(qPrintable(logFileName), ios::app);
	if((mshFileLineEdit->text()).length()==0){
		log<<"<p><font size=3 color=red> Error! Please input .mesh Output File</p>";
		runFlag = 0;
	}
	else{
		log<<"<p>Checking... "<<qPrintable((mshFileLineEdit->text()))<<"... ";
		if(mesh == NULL){
			log<<"<font size=3 color=red> Error!</p>";
			qWarning("\nCan not open output file name");
			runFlag = 0;
		}
		else
			log<<"Done!</p>";
	}
	log.close();
	MessageLog->reload();
	QApplication::processEvents();


	if(runFlag == 1){

		log.open(qPrintable(logFileName), ios::app);
		log<<"<p>Running...";
		log.close();
		MessageLog->reload();
		QApplication::processEvents();

		GDALDataset *sElev, *bElev;
                double sRanges[6], bRanges[6];
                GDALAllRegister();
                sElev = (GDALDataset *)GDALOpen(qPrintable((sElevFileLineEdit->text())), GA_ReadOnly);
		if(radioButtonFile->isChecked()==1)
                bElev = (GDALDataset *)GDALOpen(qPrintable((bElevFileLineEdit->text())), GA_ReadOnly);
                getExtent(sElev, sRanges);
		if(radioButtonFile->isChecked()==1)
                getExtent(bElev, bRanges);


                int temp;
                int numEle, numNode, numNeigh;
                ele>>numEle; ele>>temp; ele>>temp;
                node>>numNode; node>>temp; node>>temp; node>>temp;
                neigh>>numNeigh; neigh>>temp;

                mesh<<numEle<<"\t"<<numNode;
                int index;
                int node0, node1, node2, nabr0, nabr1, nabr2;
                for(int i=0; i<numEle; i++){
                        ele>>index; ele>>node0; ele>>node1; ele>>node2;
                        neigh>>temp; neigh>>nabr0; neigh>>nabr1; neigh>>nabr2;
                        mesh<<"\n"<<index<<"\t"<<node0<<"\t"<<node1<<"\t"<<node2<<"\t"<<(nabr0<0?0:nabr0)<<"\t"<<(nabr1<0?0:nabr1)<<"\t"<<(nabr2<0?0:nabr2);
                }
                double X, Y, Zmin, Zmax;
                for(int i=0; i<numNode; i++){
                        node>>index; node>>X; node>>Y; node>>temp;
                        //Zmin = getRasterValue(bElev, 1, X, Y, bRanges);
                        Zmax = getRasterValue(sElev, 1, X, Y, sRanges);

			if(radioButtonFile->isChecked()==1)
				Zmin = getRasterValue(bElev, 1, X, Y, bRanges);
			else
				Zmin = Zmax-(lineEdit->text()).toDouble();
                        mesh<<"\n"<<index<<"\t"<<setprecision(20)<<X<<"\t"<<setprecision(20)<<Y<<"\t"<<setprecision(15)<<Zmin<<"\t"<<setprecision(15)<<Zmax;
                }

		log.open(qPrintable(logFileName), ios::app);
		log<<" Done!</p>";
		log.close();
		MessageLog->reload();
		QApplication::processEvents();

                ///////////////////////////////////////////////////////////////////////
                //ADDING INTERPOLATION OF ELEVATION FOR NODE INSERTED ON RIVER SEGMENTS
                ///////////////////////////////////////////////////////////////////////
                mesh.close(); ele.close(); node.close(); neigh.close();
                QString shpFile = rivFileLineEdit->text();
                QString dbfFile = shpFile; dbfFile.truncate(dbfFile.length()-3); dbfFile.append("dbf");
                QString eleFile = eleFileLineEdit->text();
                QString nodeFile= nodeFileLineEdit->text();
                QString neighFile=neighFileLineEdit->text();
                cout<<"\n"<<qPrintable(meshFile1);
                cout<<"\n"<<qPrintable(meshFile0);
                interpRiverNodes(qPrintable(shpFile), qPrintable(dbfFile), qPrintable(eleFile), qPrintable(nodeFile), qPrintable(neighFile), qPrintable(meshFile1), qPrintable(meshFile0));
	}	
コード例 #19
0
ファイル: linkgrid.cpp プロジェクト: mlt/PIHM
void LinkGridDlg::run()
{
  QgsProject *p = QgsProject::instance();
  QString projDir = p->readPath(p->readEntry("pihm", "projDir"));

  p->writeEntry("pihm", "strgrid", p->writePath(inputSTRFileLineEdit->text())); // 11
  p->writeEntry("pihm", "fdr", p->writePath(inputFDRFileLineEdit->text())); // 12
  p->writeEntry("pihm", "lnk", p->writePath(outputFileLineEdit->text())); // 13

  QDir dir = QDir::home();
  QString home = dir.homePath();
  QString logFileName(qPrintable(home+"/log.html"));
  ofstream log;
  log.open(qPrintable(logFileName));
  log<<"<html><body><font size=3 color=black><p> Verifying Files...</p></font></body></html>";
  log.close();
  messageLog->setSource(logFileName);
  messageLog->setFocus();
  messageLog->setModified(TRUE);

  QString inputSTRFileName((inputSTRFileLineEdit->text()));
  QString inputFDRFileName((inputFDRFileLineEdit->text()));
  QString outputFileName((outputFileLineEdit->text()));

  ifstream STRinFile;      STRinFile.open(qPrintable(inputSTRFileLineEdit->text()));
  ifstream FDRinFile;      FDRinFile.open(qPrintable(inputFDRFileLineEdit->text()));
  ofstream outFile;    outFile.open(qPrintable(outputFileLineEdit->text()));
  int runFlag = 1;

  log.open(qPrintable(logFileName), ios::app);
  if(inputSTRFileName.length()==0) {
    log<<"<p><font size=3 color=red> Error! Please input Stream Grid Input File</p>";
    runFlag = 0;
  }
  else{
    log<<"</p><p>Checking... "<<qPrintable(inputSTRFileName)<<"... ";
    if(STRinFile == NULL) {
      log<<"<font size=3 color=red> Error!</p>";
      qWarning("\n%s doesn't exist!", qPrintable(inputSTRFileLineEdit->text()));
      runFlag = 0;
    }
    else
      log<<"Done!</p>";
  }
  log.close();
  messageLog->reload();
  QApplication::processEvents();

  log.open(qPrintable(logFileName), ios::app);
  if(inputFDRFileName.length()==0) {
    log<<"<p><font size=3 color=red> Error! Please input Flow Dir. Grid Input File</p>";
    runFlag = 0;
  }
  else{
    log<<"</p><p>Checking... "<<qPrintable(inputFDRFileName)<<"... ";
    if(FDRinFile == NULL) {
      log<<"<font size=3 color=red> Error!</p>";
      qWarning("\n%s doesn't exist!", qPrintable(inputFDRFileLineEdit->text()));
      runFlag = 0;
    }
    else
      log<<"Done!</p>";
  }
  log.close();
  messageLog->reload();
  QApplication::processEvents();

  log.open(qPrintable(logFileName), ios::app);
  if(outputFileName.length()==0) {
    log<<"<p><font size=3 color=red> Error! Please input Link Grid Output File</p>";
    runFlag = 0;
  }
  else{
    log<<"</p><p>Checking... "<<qPrintable(outputFileName)<<"... ";
    if(outFile == NULL) {
      log<<"<font size=3 color=red> Error!</p>";
      qWarning("\nCan not open output file name");
      runFlag = 0;
    }
    else
      log<<"Done!</p>";
  }
  log.close();
  messageLog->reload();
  QApplication::processEvents();

  if(runFlag == 1) {

    log.open(qPrintable(logFileName), ios::app);
    log<<"<p>Running...";
    log.close();
    messageLog->reload();
    QApplication::processEvents();

    int err1 = streamSegmentation((char *)qPrintable(inputSTRFileName), (char *)qPrintable(inputFDRFileName), (char *)qPrintable(outputFileName), "node.dat" );

    log.open(qPrintable(logFileName), ios::app);
    log<<" Done!</p>";
    log.close();
    messageLog->reload();
    QApplication::processEvents();

    if(showSG_DFrame->isChecked() == 1) {
      //QgsRasterLayer *tempLayer = new QgsRasterLayer("/backup/pihm/RasterProcessing/FillPits", "morgedem.asc");
      //??
      applicationPointer->addRasterLayer(outputFileName);
    }
  }
}
コード例 #20
0
void simplifyLineDialogDlg::run()
{
	QString projDir, projFile;
        QFile tFile(QDir::homePath()+"/project.txt");
        tFile.open(QIODevice::ReadOnly | QIODevice::Text);
        QTextStream tin(&tFile);
        projDir  = tin.readLine();
        projFile = tin.readLine();
	tFile.close();
        cout << qPrintable(projDir);
	
	writeLineNumber(qPrintable(projFile), 26, qPrintable(inputOutputTable->text(0,0)));
	writeLineNumber(qPrintable(projFile), 27, qPrintable(inputOutputTable->text(0,2)));
	writeLineNumber(qPrintable(projFile), 28, qPrintable(inputOutputTable->text(0,1)));
	if(inputOutputTable->numRows()>0){
		writeLineNumber(qPrintable(projFile), 29, qPrintable(inputOutputTable->text(1,0)));
		writeLineNumber(qPrintable(projFile), 30, qPrintable(inputOutputTable->text(1,2)));
		writeLineNumber(qPrintable(projFile), 31, qPrintable(inputOutputTable->text(1,1)));
	}

	QDir dir = QDir::home();
        QString home = dir.homePath();
	QString logFileName(qPrintable(home+"/log.html"));
	ofstream log;
	log.open(qPrintable(logFileName));
	log<<"<html><body><font size=3 color=black><p> Verifying Files...</p></font></body></html>";
        log.close();
        MessageLog->setSource(logFileName);
        MessageLog->setFocus();
        MessageLog->setModified(TRUE);
	
	if(inputOutputTable->numRows() < 1){
		log.open(qPrintable(logFileName), ios::app);
		log<<"<p><font size=3 color=red> First Please input Files</p>";
		log.close();
		MessageLog->reload();
		QApplication::processEvents();
	}
	else{
		int rows = inputOutputTable->numRows();
   		QString shpFileName, dbfFileName, shpFileNameSimp, dbfFileNameSimp;
   		double tol;
  		for(int i=0; i<rows; i++){
        		shpFileName = inputOutputTable->text(i, 0);
                	dbfFileName = shpFileName;
                	dbfFileName.truncate(dbfFileName.length()-3);
                	dbfFileName.append("dbf");

                	tol = (inputOutputTable->text(i, 1)).toDouble();

                	shpFileNameSimp = inputOutputTable->text(i, 2);
                	dbfFileNameSimp = shpFileNameSimp;
                	dbfFileNameSimp.truncate(dbfFileNameSimp.length()-3);
                	dbfFileNameSimp.append("dbf");

			ifstream in;
	                in.open(qPrintable(shpFileName));
			ofstream out;
			out.open(qPrintable(shpFileNameSimp));

			int runFlag = 1;
			log.open(qPrintable(logFileName), ios::app);
			log<<"<p>Checking... "<<qPrintable(shpFileName)<<"... ";
			if(in == NULL){
				log<<"<font size=3 color=red> Error!</p>";
				runFlag = 0;
				qWarning("\n %s doesn't exist!", qPrintable(shpFileName));
			}
			else
				log<<"Done!</p>";


			log<<"<p>Checking... "<<qPrintable(shpFileNameSimp)<<"... ";		
			if(out == NULL){
				log<<"<font size=3 color=red> Error!</p>";
				runFlag = 0;
				qWarning("\n %s doesn't exist!", qPrintable(shpFileNameSimp));
			}
			else
				log<<"Done!</p>";
			log.close();
			MessageLog->reload();
			QApplication::processEvents();

			if((inputOutputTable->text(i, 1)).length() == 0 || tol < 0){
				runFlag = 0;
				log.open(qPrintable(logFileName), ios::app);
				log<<"<font size=3 color=red> Error! Please input a valid threshold value</p>";
				log.close();
				MessageLog->reload();
				QApplication::processEvents();
			}
	
			
			if(runFlag == 1){
				log.open(qPrintable(logFileName), ios::app);
				log<<"<p>Simplifying "<<qPrintable(shpFileName)<<" to "<<qPrintable(shpFileNameSimp)<<" using "<<tol<<" unit tolerance...";
				log.close();
				MessageLog->reload();
				QApplication::processEvents();

                		simplifyPolySHP(qPrintable(shpFileName), qPrintable(dbfFileName), qPrintable(shpFileNameSimp), qPrintable(dbfFileNameSimp), tol);

			QString myFileNameQString = shpFileNameSimp;
                        QFileInfo myFileInfo(myFileNameQString);
                        QString myBaseNameQString = myFileInfo.baseName();
                        QString provider = "OGR";
                        applicationPointer->addVectorLayer(myFileNameQString, myBaseNameQString, "ogr");

                		qWarning("Simplifying %s to %s using %f\n", qPrintable(shpFileName), qPrintable(shpFileNameSimp), tol);

				log.open(qPrintable(logFileName), ios::app);
				log<<" Done!</p>";
				log.close();
				MessageLog->reload();
				QApplication::processEvents();
			}
        	}
	}
}
コード例 #21
0
ファイル: qvv_main_win.cpp プロジェクト: XelaRellum/qvv
int QvvMainWindow::deleteItems( int current_only )
{
    QDir trashdir;

    QString trash_can = trashdir.homePath();
    trash_can += "/.qvv4_trash_can";

    if( ! trashdir.exists( trash_can ) )
        trashdir.mkdir( trash_can );
    if( ! trashdir.exists( trash_can ) )
    {
        statusBar()->showMessage( tr( "Error: Cannot find/create trash can path:" ) + " " + trash_can );
        return -1;
    }

    QList<QTreeWidgetItem *> selected;
    if( current_only )
        selected.append( tree->currentItem() );
    else
        selected = tree->selectedItems();
    int sel_count = selected.count();

    if( sel_count < 1 )
    {
        statusBar()->showMessage( tr( "Error: No files selected for delete" ) );
        return -1;
    };

    QvvConfirmDeleteDialog *confirm = new QvvConfirmDeleteDialog;
    confirm->move( x() + ( ( width() - confirm->width() ) / 2 ), y() + ( ( height() - confirm->height() ) / 2) );
    confirm->setWindowTitle( sel_count > 1 ? tr( "Delete multiple files: " ) + sel_count + tr( "?" ) : tr( "Delete one file?" ) );

    int yes_to_all = 0;

    int not_moved = 0;
    int moved_ok_count = 0;

    QTreeWidgetItem *item;
    for( int i = 0; i < sel_count; i++ )
    {
        item = selected[i];
        if( item->text( 0 ) == ITEM_TYPE_DIR ) continue;

        QString file_name = cdir.absolutePath() + "/" + item->text( 1 );

        if( ! yes_to_all )
        {
            QImage im;
            im.load( file_name );
            im = im.scaled( QSize( 256, 256 ), Qt::KeepAspectRatio );
            QPixmap pm( 256, 256 );
            pm = pm.fromImage( im );

            confirm->cd.file_name->setText( item->text( 1 ) );
            confirm->cd.pixmap->setPixmap( pm );
            //confirm->cd.buttonBox->button( QDialogButtonBox::YesToAll )->setEnabled( sel_count > 1 );
            confirm->exec();

            //qDebug() << "RESBUTTON: " << QVariant( confirm->activated_button ).toString();

            if( confirm->activated_button == QDialogButtonBox::NoButton ) break;
            if( confirm->activated_button == QDialogButtonBox::Cancel   ) break;
            if( confirm->activated_button == QDialogButtonBox::No       ) continue;
            if( confirm->activated_button == QDialogButtonBox::YesToAll )
                yes_to_all = 1;
        }

        //qDebug() << "DELETE YES: " << file_name << " RESBUTTON: " << QVariant( confirm->activated_button ).toString();

        QString path_hash = QVariant( QCryptographicHash::hash( cdir.absolutePath().toAscii(), QCryptographicHash::Sha1 ).toHex() ).toString();
        QString trash_file_name = trash_can + "/" + path_hash + "." + item->text( 1 );

        int moved_ok = 0;
        if( trashdir.exists( trash_file_name ) )
            QFile::remove( trash_file_name );
        if( trashdir.rename( file_name, trash_file_name ) )
        {
            moved_ok = 1;
        }
        else if( QFile::copy( file_name, trash_file_name ) )
        {
            QFile::remove( file_name );
            moved_ok = 1;
        }
        else
        {
            not_moved++;
        }

        if( moved_ok )
        {
            tree->takeTopLevelItem( tree->indexOfTopLevelItem( item ) );
            moved_ok_count++;
        }

        //qDebug() << "DELETE FILE: " << file_name;
        //qDebug() << "TRASH  FILE: " << trash_file_name;
        //qDebug() << "--------------------------------------------------";
    }

    delete confirm;

    return moved_ok_count;
};
コード例 #22
0
ファイル: FileSysAccess.cpp プロジェクト: nixz/covise
QStringList FileSysAccess::getLocalHomeFiles(const std::string filter)
{
    QDir locDir;
    QString homeDir = locDir.homePath();
    return this->getFileSysList(QString::fromStdString(filter), homeDir, true);
}
コード例 #23
0
ファイル: lcfile.cpp プロジェクト: HydroCouple/FVHMComponent
void LCFile::on_pushButtonRun_clicked()
{
	QString projDir, projFile;
        QFile tFile(QDir::homePath()+"/project.txt");
        tFile.open(QIODevice::ReadOnly | QIODevice::Text);
        QTextStream tin(&tFile);
        projDir  = tin.readLine();
        projFile = tin.readLine();
	tFile.close();
        cout << qPrintable(projDir);

	writeLineNumber(qPrintable(projFile), 91, qPrintable(ui->lineEditNLCD->text()));
	writeLineNumber(qPrintable(projFile), 92, qPrintable(ui->lineEditLC->text()));

    int RunFlag=1;
    ifstream inFile;
    ofstream outFile;
    inFile.open((ui->lineEditNLCD->text()).toAscii());
    outFile.open((ui->lineEditLC->text()).toAscii());

    ofstream logFile;
	QDir dir = QDir::home();
        QString home = dir.homePath();
    QString logFileName(home+"/log.html");
    logFile.open(qPrintable(logFileName));
    logFile<<"<html><body><font size=3 color=black> Verifying Files...<br>";
    logFile.close();
    ui->textBrowser->setSource(logFileName);
    ui->textBrowser->setFocus();
    ui->textBrowser->setModified(TRUE);

    logFile.open(qPrintable(logFileName), ios::app);
    logFile<<"Checking NLCD Texture File... ";
    if (inFile == NULL){
        logFile<<"could NOT open file.  ERROR<br>";
        RunFlag = 0;
    }
    else
        logFile<<"Done!<br>";
    logFile<<"Checking .lc File... ";
    if (outFile == NULL){
        logFile<<"could NOT open file to write.  ERROR<br>";
        RunFlag = 0;
    }
    else
        logFile<<"Done!<br>";
    logFile.close();
    ui->textBrowser->reload();

    if(RunFlag == 1){

        logFile.open(qPrintable(logFileName), ios::app);
        logFile<<"Generating LC file... ";

        int count = 0;
        int inClass[1000];
        while(inFile)
            inFile >> inClass[count++];
        count--;

        double UMD[][7] = {
            // http://glcf.umiacs.umd.edu/data/landcover/
            //Index	LAImax          Rmin            Rsref           Albedo          VegFrac         Roughness
            { 0,	0.00000000,	0.00202546,	13477995.31968,	0.13500000,	0.0000000,	4.050926E-07}, //Water
            { 1,	10.7600000,	0.00202546,	2592000.00000,	0.18200000,	0.8000000,	8.101852E-07}, //Evergreen Needleleaf
            { 2,	5.11700000,	0.00173611,	8301077.28317,	0.21300000,	0.9000000,	8.101852E-07}, //Evergreen Broadleaf
            { 3,	10.7600000,	0.00202546,	2592000.00000,	0.18200000,	0.8000000,	8.101852E-07}, //Deciduous Needleleaf
            { 4,	7.17300000,	0.00202546,	6221002.34189,	0.23600000,	0.8000000,	8.101852E-07}, //Deciduous Broadleaf
            { 5,	8.83300000,	0.00202546,	4541564.40278,	0.20250000,	0.7950000,	6.944444E-07}, //Mixed Forest
            { 6,	8.54004400,	0.00200822,	4837950.80122,	0.21128590,	0.7998630,	6.944444E-07}, //Woodland
            { 7,	6.23951310,	0.00195775,	7165420.00157,	0.25245035,	0.8018370,	5.787037E-07}, //Wooded Grassland
            { 8,	2.55359750,	0.00202546,	10894496.20704,	0.24958510,	0.6250050,	5.208333E-07}, //Closed Shrubland
            { 9,	1.16688270,	0.00207025,	12297448.88352,	0.26652016,	0.2181750,	5.208333E-07}, //Open Shrubland
            {10,	4.78200000,	0.00190972,	8640000.00000,	0.28802000,	0.7255200,	4.629630E-07}, //Grassland
            {11,	4.78200000,	0.00135542,	8640000.00000,	0.24991620,	0.8353665,	4.629630E-07}, //Cropland
            {12,	0.00100000,	0.00202546,	13476983.61024,	0.23214958,	0.0748900,	4.050926E-07}, //Bare Ground
            {13,	5.02122910,	0.00179213,	8397969.62227,	0.24649654,	0.7436000,	1.157407E-07}, //Urban and Build
        };

        // http://www.epa.gov/mrlc/definitions.html#2001
        double NLCD[100][4] = { {0, 0.00, 0, 0.00}, //00
                              {0, 0.00, 0, 0.00}, //01
                              {0, 0.00, 0, 0.00}, //02
                              {0, 0.00, 0, 0.00}, //03
                              {0, 0.00, 0, 0.00}, //04
                              {0, 0.00, 0, 0.00}, //05
                              {0, 0.00, 0, 0.00}, //06
                              {0, 0.00, 0, 0.00}, //07
                              {0, 0.00, 0, 0.00}, //08
                              {0, 0.00, 0, 0.00}, //09
                              {0, 1.00, 0, 0.00}, //10
                              {0, 0.90, 6, 0.10}, //11
                              {0, 0.20, 6, 0.80}, //12
                              {0, 0.00, 0, 0.00}, //13
                              {0, 0.00, 0, 0.00}, //14
                              {0, 0.00, 0, 0.00}, //15
                              {0, 0.00, 0, 0.00}, //16
                              {0, 0.00, 0, 0.00}, //17
                              {0, 0.00, 0, 0.00}, //18
                              {0, 0.00, 0, 0.00}, //19
                              {13, 0.65, 0, 0.00}, //20
                              {13, 0.10, 10, 0.90}, //21
                              {13, 0.35, 10, 0.65}, //22
                              {13, 0.65, 10, 0.35}, //23
                              {13, 0.90, 10, 0.10}, //24
                              {0, 0.00, 0, 0.00}, //25
                              {0, 0.00, 0, 0.00}, //26
                              {0, 0.00, 0, 0.00}, //27
                              {0, 0.00, 0, 0.00}, //28
                              {0, 0.00, 0, 0.00}, //29
                              {12, 1.00, 0, 0.00}, //30
                              {12, 0.92, 9, 0.08}, //31
                              {12, 1.00, 9, 0.00}, //32
                              {0, 0.00, 0, 0.00}, //33
                              {0, 0.00, 0, 0.00}, //34
                              {0, 0.00, 0, 0.00}, //35
                              {0, 0.00, 0, 0.00}, //36
                              {0, 0.00, 0, 0.00}, //37
                              {0, 0.00, 0, 0.00}, //38
                              {0, 0.00, 0, 0.00}, //39
                              {6, 0.65, 0, 0.00}, //40
                              {4, 0.60, 10, 0.40}, //41
                              {2, 0.60, 10, 0.40}, //42
                              {5, 0.60, 10, 0.40}, //43
                              {0, 0.00, 0, 0.00}, //44
                              {0, 0.00, 0, 0.00}, //45
                              {0, 0.00, 0, 0.00}, //46
                              {0, 0.00, 0, 0.00}, //47
                              {0, 0.00, 0, 0.00}, //48
                              {0, 0.00, 0, 0.00}, //49
                              {8, 1.00, 0, 0.00}, //50
                              {9, 0.60, 0, 0.00}, //51
                              {8, 0.60, 0, 0.00}, //52
                              {0, 0.00, 0, 0.00}, //53
                              {0, 0.00, 0, 0.00}, //54
                              {0, 0.00, 0, 0.00}, //55
                              {0, 0.00, 0, 0.00}, //56
                              {0, 0.00, 0, 0.00}, //57
                              {0, 0.00, 0, 0.00}, //58
                              {0, 0.00, 0, 0.00}, //59
                              {0, 0.00, 0, 0.00}, //60
                              {0, 0.00, 0, 0.00}, //61
                              {0, 0.00, 0, 0.00}, //62
                              {0, 0.00, 0, 0.00}, //63
                              {0, 0.00, 0, 0.00}, //64
                              {0, 0.00, 0, 0.00}, //65
                              {0, 0.00, 0, 0.00}, //66
                              {0, 0.00, 0, 0.00}, //67
                              {0, 0.00, 0, 0.00}, //68
                              {0, 0.00, 0, 0.00}, //69
                              {10, 0.85, 0, 0.00}, //70
                              {10, 0.90, 0, 0.00}, //71
                              {10, 0.90, 0, 0.00}, //72
                              {10, 0.90, 0, 0.00}, //73
                              {10, 0.90, 0, 0.00}, //74
                              {0, 0.00, 0, 0.00}, //75
                              {0, 0.00, 0, 0.00}, //76
                              {0, 0.00, 0, 0.00}, //77
                              {0, 0.00, 0, 0.00}, //78
                              {0, 0.00, 0, 0.00}, //79
                              {10, 0.90, 0, 0.00}, //80
                              {11, 0.60, 0, 0.00}, //81
                              {11, 0.60, 0, 0.00}, //82
                              {0, 0.00, 0, 0.00}, //83
                              {0, 0.00, 0, 0.00}, //84
                              {0, 0.00, 0, 0.00}, //85
                              {0, 0.00, 0, 0.00}, //86
                              {0, 0.00, 0, 0.00}, //87
                              {0, 0.00, 0, 0.00}, //88
                              {0, 0.00, 0, 0.00}, //89
                              {8, 0.60, 12, 0.40}, //90
                              {6, 0.60, 0, 0.00}, //91
                              {7, 0.60, 0, 0.00}, //92
                              {6, 0.60, 0, 0.00}, //93
                              {7, 0.60, 0, 0.00}, //94
                              {9, 0.60, 12, 0.40}, //95
                              {10, 0.80, 2, 0.20}, //96
                              {10, 0.80, 4, 0.20}, //97
                              {10, 0.20, 0, 0.80}, //98
                              {10, 0.20, 0, 0.80}, //99
                          };

        int nlcd, umd1, umd2;
        double frac1, frac2;
        outFile << count << "\n";
        for(int i=0; i<count; i++){
            nlcd = inClass[i];
            umd1  = NLCD[nlcd][0];
            frac1 = NLCD[nlcd][1];
            umd2  = NLCD[nlcd][2];
            frac2 = NLCD[nlcd][3];

            outFile << i+1 << "\t";
            for(int j=1; j<7; j++){
                outFile << frac1*UMD[umd1][j] + frac2*UMD[umd2][j] <<"\t";
            }
            outFile << "0.6\n";
        }


        logFile<<"Done!<br>";
        logFile<<"Generate LC File Module - COMPLETE";
        logFile.close();
        ui->textBrowser->reload();
    }
コード例 #24
0
ファイル: FileSysAccess.cpp プロジェクト: nixz/covise
QString FileSysAccess::getLocalHomeDirStr()
{
    QDir locDir;
    QString homeDir = locDir.homePath();
    return homeDir;
}
コード例 #25
0
ファイル: parafile.cpp プロジェクト: mlt/PIHM
void paraFileDlg::run()
{
    QgsProject *p = QgsProject::instance();
    QString projDir = p->readPath(p->readEntry("pihm", "projDir"));

    p->writeEntry("pihm", "/model/para", p->writePath(paraFileLineEdit->text())); // 82

    QDir dir = QDir::home();
    QString home = dir.homePath();
    QString logFileName(home+"/log.html");
    ofstream log;
    log.open(qPrintable(logFileName));
    log<<"<html><body><font size=3 color=black><p> Verifying Files...</p></font></body></html>";
    log.close();
    MessageLog->setSource(logFileName);
    MessageLog->setFocus();
    MessageLog->setModified(TRUE);

    ofstream parameters;
    parameters.open(qPrintable((paraFileLineEdit->text())), ios::out);

    int runFlag = 1;

    /*
          if(parameters==NULL){
            qWarning("\nPlease input para file name");
            runFlag=0;
          }*/

    log.open(qPrintable(logFileName), ios::app);
    if((paraFileLineEdit->text()).length()==0) {
        log<<"<p><font size=3 color=red> Error! Please input .para Output File</p>";
        runFlag = 0;
    }
    else {
        log<<"<p>Checking... "<<qPrintable((paraFileLineEdit->text()))<<"... ";
        if(parameters == NULL) {
            log<<"<font size=3 color=red> Error!</p>";
            //qWarning("\nCan not open output file name");
            runFlag = 0;
        }
        else
            log<<"Done!</p>";
    }
    log.close();
    MessageLog->reload();
    QApplication::processEvents();


    log.open(qPrintable(logFileName), ios::app);
    log<<"<p><font size=3 color=black>Checking Krylov Dimension...";
    if(KDlineEdit->text().length()==0) {
        log<<"<font size=3 color=red>Error!</p>";
        runFlag=0;
        qWarning("\nPlease enter Krylov Dimension");
        //out<<"<p><font size=2 color=red>Please enter Krylov Dimension</font></p>";
    }
    else
        log<<"Done</p>";
    log.close();
    MessageLog->reload();
    QApplication::processEvents();

    log.open(qPrintable(logFileName), ios::app);
    log<<"<p><font size=3 color=black>Checking Convergence Threshold...";
    if(CTlineEdit->text().length()==0) {
        log<<"<font size=3 color=red>Error!</p>";
        runFlag=0;
        qWarning("\nPlease enter Convergence Tolerance");
        //out<<"<p><font size=2 color=red>Please enter Convergence Tolerance</font></p>";
    }
    else
        log<<"Done</p>";
    log.close();
    MessageLog->reload();
    QApplication::processEvents();

    log.open(qPrintable(logFileName), ios::app);
    log<<"<p><font size=3 color=black>Checking Absolute Tolerance...";
    if(ATlineEdit->text().length()==0) {
        log<<"<font size=3 color=red>Error!</p>";
        runFlag=0;
        qWarning("\nPlease enter Absolute Tolerance");
        //out<<"<p><font size=2 color=red>Please enter Absolute Tolerance</font></p>";
    }
    else
        log<<"Done</p>";
    log.close();
    MessageLog->reload();
    QApplication::processEvents();


    log.open(qPrintable(logFileName), ios::app);
    log<<"<p><font size=3 color=black>Checking Relative Tolerance...";
    if(RTlineEdit->text().length()==0) {
        log<<"<font size=3 color=red>Error!</p>";
        runFlag=0;
        qWarning("\nPlease enter Relative Tolerance");
        //out<<"<p><font size=2 color=red>Please enter Relative Tolerance</font></p>";
    }
    else
        log<<"Done</p>";
    log.close();
    MessageLog->reload();
    QApplication::processEvents();

    log.open(qPrintable(logFileName), ios::app);
    log<<"<p><font size=3 color=black>Checking Initial Step...";
    if(ISlineEdit->text().length()==0) {
        log<<"<font size=3 color=red>Error!</p>";
        runFlag=0;
        qWarning("\nPlease enter Initial Time Step");
        //out<<"<p><font size=2 color=red>Please enter Initial Time Step</font></p>";
    }
    else
        log<<"Done</p>";
    log.close();
    MessageLog->reload();
    QApplication::processEvents();

    log.open(qPrintable(logFileName), ios::app);
    log<<"<p><font size=3 color=black>Checking Maximum Step...";
    if(MSlineEdit->text().length()==0) {
        log<<"<font size=3 color=red>Error!</p>";
        runFlag=0;
        qWarning("\nPlease enter Maximum Time Step");
        //out<<"<p><font size=2 color=red>Please enter Maximum Time Step</font></p>";
    }
    else
        log<<"Done</p>";
    log.close();
    MessageLog->reload();
    QApplication::processEvents();


    log.open(qPrintable(logFileName), ios::app);
    log<<"<p><font size=3 color=black>Checking Start Time...";
    if(STlineEdit->text().length()==0) {
        log<<"<font size=3 color=red>Error!</p>";
        runFlag=0;
        qWarning("\nPlease enter Start Time");
        //out<<"<p><font size=2 color=red>Please enter Start Time</font></p>";
    }
    else
        log<<"Done</p>";
    log.close();
    MessageLog->reload();
    QApplication::processEvents();


    log.open(qPrintable(logFileName), ios::app);
    log<<"<p><font size=3 color=black>Checking End Time...";
    if(ETlineEdit->text().length()==0) {
        log<<"<font size=3 color=red>Error!</p>";
        runFlag=0;
        qWarning("\nPlease enter End Time");
        //out<<"<p><font size=2 color=red>Please enter End Time</font></p>";
    }
    else
        log<<"Done</p>";
    log.close();
    MessageLog->reload();
    QApplication::processEvents();


    log.open(qPrintable(logFileName), ios::app);
    log<<"<p><font size=3 color=black>Checking Step Size...";
    if(a_lineEdit->text().length()==0) {
        log<<"<font size=3 color=red>Error!</p>";
        runFlag=0;
        qWarning("\nPlease enter Step Size Factor (a)");
        //out<<"<p><font size=2 color=red>Please enter Step Size Factor (a)</font></p>";
    }
    else
        log<<"Done</p>";
    log.close();
    MessageLog->reload();
    QApplication::processEvents();


    log.open(qPrintable(logFileName), ios::app);
    log<<"<p><font size=3 color=black>Checking Base Step Size...";
    if(b_lineEdit->text().length()==0) {
        log<<"<font size=3 color=red>Error!</p>";
        runFlag=0;
        qWarning("\nPlease enter Base Step Size (b)");
        //out<<"<p><font size=2 color=red>Please enter Base Step Size (b)</font></p>";
    }
    else
        log<<"Done</p>";
    log.close();
    MessageLog->reload();
    QApplication::processEvents();


    if(runFlag == 1) {

        log.open(qPrintable(logFileName), ios::app);
        log<<"<p>Writing .para file...";
        log.close();
        MessageLog->reload();
        QApplication::processEvents();


        if(verboseCheckBox->isChecked())
            parameters<<"1\t";
        else
            parameters<<"0\t";

        if(debugCheckBox->isChecked())
            parameters<<"1\t";
        else
            parameters<<"0\t";

        if(imComboBox->currentIndex() == 0)
            parameters<<"3\n";
        else if(imComboBox->currentIndex() == 1)
            parameters<<"1\n";
        else
            parameters<<"0\n";
        /*
              if(resFileCheckBox->isChecked())
                      parameters<<"1\t";
              else
                      parameters<<"0\t";

              if(fluxFileCheckBox->isChecked())
                      parameters<<"1\t";
              else
                      parameters<<"0\t";

              if(qFileCheckBox->isChecked())
                      parameters<<"1\t";
              else
                      parameters<<"0\t";

              if(etFileCheckBox->isChecked())
                      parameters<<"1\n";
              else
                      parameters<<"0\n";
        */

        if(checkBox1->isChecked())
            parameters<<"1\t";
        else
            parameters<<"0\t";
        if(checkBox2->isChecked())
            parameters<<"1\t";
        else
            parameters<<"0\t";
        if(checkBox3->isChecked())
            parameters<<"1\t";
        else
            parameters<<"0\t";
        if(checkBox4->isChecked())
            parameters<<"1\n";
        else
            parameters<<"0\n";
        ////
        if(checkBox5->isChecked())
            parameters<<"1\t";
        else
            parameters<<"0\t";
        if(checkBox6->isChecked())
            parameters<<"1\t";
        else
            parameters<<"0\t";
        if(checkBox7->isChecked())
            parameters<<"1\n";
        else
            parameters<<"0\n";
        ////
        if(checkBox8->isChecked())
            parameters<<"1\t";
        else
            parameters<<"0\t";
        if(checkBox9->isChecked())
            parameters<<"1\t";
        else
            parameters<<"0\t";
        if(checkBox10->isChecked())
            parameters<<"1\n";
        else
            parameters<<"0\n";
        ////
        if(checkBox11->isChecked())
            parameters<<"1\t";
        else
            parameters<<"0\t";
        if(checkBox12->isChecked())
            parameters<<"1\t";
        else
            parameters<<"0\t";
        if(checkBox13->isChecked())
            parameters<<"1\t";
        else
            parameters<<"0\t";
        if(checkBox14->isChecked())
            parameters<<"1\t";
        else
            parameters<<"0\t";
        if(checkBox15->isChecked())
            parameters<<"1\t";
        else
            parameters<<"0\t";
        if(checkBox16->isChecked())
            parameters<<"1\t";
        else
            parameters<<"0\t";
        if(checkBox17->isChecked())
            parameters<<"1\t";
        else
            parameters<<"0\t";
        if(checkBox18->isChecked())
            parameters<<"1\t";
        else
            parameters<<"0\t";
        if(checkBox19->isChecked())
            parameters<<"1\t";
        else
            parameters<<"0\t";
        if(checkBox20->isChecked())
            parameters<<"1\n";
        else
            parameters<<"0\n";
        ///
        int multiplier = comboBoxTime2->currentIndex()==0 ? 1 : comboBoxTime2->currentIndex()==1 ? 60 : 24*60;
        if(checkBox1->isChecked())
            parameters<<(lineEdit1->text()).toDouble()*multiplier<<"\t";
        else
            parameters<<"0\t";
        if(checkBox2->isChecked())
            parameters<<(lineEdit2->text()).toDouble()*multiplier<<"\t";
        else
            parameters<<"0\t";
        if(checkBox3->isChecked())
            parameters<<(lineEdit3->text()).toDouble()*multiplier<<"\t";
        else
            parameters<<"0\t";
        if(checkBox4->isChecked())
            parameters<<(lineEdit4->text()).toDouble()*multiplier<<"\n";
        else
            parameters<<"0\n";

        ////
        if(checkBox5->isChecked())
            parameters<<(lineEdit5->text()).toDouble()*multiplier<<"\t";
        else
            parameters<<"0\t";
        if(checkBox6->isChecked())
            parameters<<(lineEdit6->text()).toDouble()*multiplier<<"\t";
        else
            parameters<<"0\t";
        if(checkBox7->isChecked())
            parameters<<(lineEdit7->text()).toDouble()*multiplier<<"\t";
        else
            parameters<<"0\t";
        if(checkBox8->isChecked() || checkBox9->isChecked() || checkBox10->isChecked())
            parameters<<(lineEdit8->text()).toDouble()*multiplier<<"\t";
        else
            parameters<<"0\t";
        if(checkBox11->isChecked() || checkBox12->isChecked() || checkBox13->isChecked() || checkBox14->isChecked() || checkBox15->isChecked() || checkBox16->isChecked() || checkBox17->isChecked() || checkBox18->isChecked() || checkBox19->isChecked() || checkBox20->isChecked())
            parameters<<(lineEdit11->text()).toDouble()*multiplier<<"\n";
        else
            parameters<<"0\n";

        ////

        if(umComboBox->currentIndex() == 0)
            parameters<<"1\t";
        else
            parameters<<"2\t";

        if(smComboBox->currentIndex() == 0)
            parameters<<"2\t";
        else if(smComboBox->currentIndex() == 1)
            parameters<<"1\t";
        else
            parameters<<"3\t";

        if(rmComboBox->currentIndex() == 0)
            parameters<<"2\n";
        else if(rmComboBox->currentIndex() == 1)
            parameters<<"1\n";
        else
            parameters<<"3\n";

        /************************************************/

        if(DDradioButton->isChecked())
            parameters<<"1\t";
        else
            parameters<<"2\t";

        if(GScomboBox->currentIndex() == 0)
            parameters<<"1\t";
        else
            parameters<<"2\t";

        parameters<<qPrintable((KDlineEdit->text()))<<"\t";

        parameters<<qPrintable((CTlineEdit->text()))<<"\n";

        /*************************************************/

        parameters<<qPrintable((ATlineEdit->text()))<<"\t";

        parameters<<qPrintable((RTlineEdit->text()))<<"\t";

        parameters<<qPrintable((ISlineEdit->text()))<<"\t";

        parameters<<qPrintable((MSlineEdit->text()))<<"\t";

        parameters<<qPrintable((ETSlineEdit->text()))<<"\n";

        /***********/
        multiplier = comboBoxTime1->currentIndex()==0 ? 1 : comboBoxTime1->currentIndex()==1 ? 60 : 24*60;
        parameters<<(STlineEdit->text()).toDouble()*multiplier<<"\t";

        parameters<<(ETlineEdit->text()).toDouble()*multiplier<<"\t";

        if(SScomboBox->currentIndex() == 0)
            parameters<<"0\n";
        else
            parameters<<"1\n";

        parameters<<qPrintable((a_lineEdit->text()))<<"\t";
        parameters<<qPrintable((b_lineEdit->text()))<<"\n";

        if(checkBoxFillSurf->isChecked())
            parameters<<"1\t";
        else
            parameters<<"0\t";

        if(checkBoxFillSub->isChecked())
            parameters<<"1\n";
        else
            parameters<<"0\n";

        log.open(qPrintable(logFileName), ios::app);
        log<<" Done!</p>";
        log.close();
        MessageLog->reload();
        QApplication::processEvents();

    }
}
コード例 #26
0
void runTriangleDlg::run()
{
	QString projDir, projFile;
        QFile tFile(QDir::homePath()+"/project.txt");
        tFile.open(QIODevice::ReadOnly | QIODevice::Text);
        QTextStream tin(&tFile);
        projDir  = tin.readLine();
        projFile = tin.readLine();
	tFile.close();
        cout << qPrintable(projDir);

	writeLineNumber(qPrintable(projFile), 42, qPrintable(polyFileLineEdit->text()));
	writeLineNumber(qPrintable(projFile), 43, qPrintable(qOptionLineEdit->text()));
	writeLineNumber(qPrintable(projFile), 44, qPrintable(aOptionLineEdit->text()));
	writeLineNumber(qPrintable(projFile), 45, qPrintable(otherOptionLineEdit->text()));

	QDir dir = QDir::home();
        QString home = dir.homePath();
	QString logFileName(qPrintable(home+"/log.html"));
	ofstream log;
	log.open(qPrintable(logFileName));
	log<<"<html><body><font size=3 color=black><p> Verifying Files...</p></font></body></html>";
        log.close();
        MessageLog->setSource(logFileName);
        MessageLog->setFocus();
        MessageLog->setModified(TRUE);

/*
	ifstream temp;
        temp.open(qPrintable((polyFileLineEdit->text())));
        if((polyFileLineEdit->text()).length()==0){
        	qWarning("\n Enter Poly File");
	}
        else if(temp==NULL){
        	qWarning("\n %s doesn't exist!", qPrintable((polyFileLineEdit->text())));
	}
*/

	ifstream inFile;      inFile.open(qPrintable((polyFileLineEdit->text())));
	int runFlag = 1;

	log.open(qPrintable(logFileName), ios::app);
	if((polyFileLineEdit->text()).length()==0){
		log<<"<p><font size=3 color=red> Error! Please input poly File</p>";
		runFlag = 0;
	}
	else{
		log<<"<p>Checking... "<<qPrintable((polyFileLineEdit->text()))<<"... ";
		if(inFile == NULL){
			log<<"<font size=3 color=red> Error!</p>";
			//qWarning("\n%s doesn't exist!", qPrintable((inputFileLineEdit->text())));
			runFlag = 0;
		}
		else
			log<<"Done!</p>";
	}
	log.close();
	MessageLog->reload();
	QApplication::processEvents();
	
        if(runFlag == 1){
		QString temp(polyFileLineEdit->text());
		//int slashPos = temp.findRev('/');
        	//temp.truncate(slashPos);
		temp=temp.section('/', 0, -2);
        	QString presentDir(temp);
		cout<<"DEBUG: "<<qPrintable(temp)<<"\n";
		
		QString* exeString = new QString("triangle");
		QString* optString = new QString("-");
                if(nOptionCheckBox->isChecked()){optString->append("n");}
                if(VOptionsCheckBox->isChecked()){optString->append("V");}
                if(qOptionsCheckBox->isChecked()){optString->append("q"); optString->append(qOptionLineEdit->text());}
                if(aOptionsCheckBox->isChecked()){optString->append("a"); optString->append(aOptionLineEdit->text());}
                if(otherOptionCheckBox->isChecked()) {optString->append(otherOptionLineEdit->text());}
		//cmdString->append(aOptionLineEdit->text());}

                //qWarning("cmdstring = %s\n", qPrintable(cmdString));

                //cmdString->append(" ");
                QString fileString(polyFileLineEdit->text());
		//cmdString->append(polyFileLineEdit->text());
		int arg1=0;
		char **arg2;
		arg2 = (char **)malloc(3 * sizeof(char *));
		for (int ii=0; ii<3; ii++)
			arg2[ii]=(char *)malloc(1000*sizeof(char));
		arg2[0]=(char *)exeString->ascii();
                arg1++;

		if(optString->length() != 0){
			arg2[1]=(char *)optString->ascii();
			arg1++;
			arg2[2]=(char *)fileString.ascii();
			arg1++;
		}
		else{
			arg2[1]=(char *)qPrintable(fileString);
			arg1++;
		}

		log.open(qPrintable(logFileName), ios::app);
		log<<"<p>Running...";
		log.close();
		MessageLog->reload();
		QApplication::processEvents();
		cout<<"arg1 = "<<arg1<<"\n";
		cout<<"arg2 0= ="<<*arg2[0]<<"= || "<<qPrintable(*exeString)<<"\n";
		cout<<"arg2 1= ="<<*arg2[1]<<"= || "<<qPrintable(*optString)<<"\n";
		cout<<"arg2 2= ="<<*arg2[2]<<"= || "<<qPrintable(fileString)<<"\n";
		cout<<"file  = "<<qPrintable(fileString)<<"\n";

		ShewchukTRIANGLE(arg1, arg2);
		
		log.open(qPrintable(logFileName), ios::app);
		log<<" Done!</p>";
		log.close();
		MessageLog->reload();
		QApplication::processEvents();

		// std::cout<<str;
                //cmdString->append(" 1>");
                //cmdString->append(presentDir);
                //cmdString->append("/statistics.txt");
		
		//const char* str = qPrintable(*cmdString);
		//std::system(str);
/*
		QFile statFile( presentDir+"/statistics.txt" );

                if ( !statFile.open( IO_ReadOnly ) )
                       return;
                QTextStream textStream( &statFile );

                int lines2print;
                if(VOptionsCheckBox->isChecked()){
                       if(!qOptionsCheckBox->isChecked())
                               lines2print = 23;
                       else
                               lines2print = 29;
                }
                else{
                       if(!qOptionsCheckBox->isChecked())
                               lines2print = 15;
                       else
                               lines2print = 17;
                }

                for(int i=1; i<=lines2print; i++){
                       qWarning("\n %s",qPrintable((textStream.readLine())));
                }
*/
	}
}
コード例 #27
0
ファイル: catchmentpolygon.cpp プロジェクト: mlt/PIHM
void CatchmentPolygonDlg::run()
{
  QgsProject *p = QgsProject::instance();
  QString projDir = p->readPath(p->readEntry("pihm", "projDir"));
  p->writeEntry("pihm", "catgrid", p->writePath(inputFileLineEdit->text())); // 20
  p->writeEntry("pihm", "catpoly", p->writePath(outputFileLineEdit->text())); // 21

  QDir dir = QDir::home();
  QString home = dir.homePath();
  QString logFileName(qPrintable(home+"/log.html"));
  ofstream log;
  log.open(qPrintable(logFileName));
  log<<"<html><body><font size=3 color=black><p> Verifying Files...</p></font></body></html>";
  log.close();
  messageLog->setSource(logFileName);
  messageLog->setFocus();
  messageLog->setModified(TRUE);


  QString inputFileName((inputFileLineEdit->text()));
  QString outputShpFileName((outputFileLineEdit->text()));
  QString outputDbfFileName; QString outputShxFileName, id;
  outputDbfFileName = outputShpFileName;
  outputDbfFileName.truncate(outputDbfFileName.length()-3); outputShxFileName=outputDbfFileName;
  outputDbfFileName.append("dbf");

  outputShxFileName.truncate(outputShxFileName.length()-1);
  id=outputShxFileName;
  id=id.right(id.length()-id.lastIndexOf("/",-1)-1);
  cout << "ID = "<<qPrintable(id) <<"\n";
  outputShxFileName.append(".shx");

  QString shpFile = projDir+"/VectorProcessing/"+id+".shp";
  QString dbfFile = projDir+"/VectorProcessing/"+id+".dbf";
  QString shxFile = projDir+"/VectorProcessing/"+id+".shx";

  ifstream inFile;      inFile.open(qPrintable(inputFileLineEdit->text()));
//  ofstream outFile;    outFile.open(qPrintable(outputFileLineEdit->text()));
  int runFlag = 1;

  log.open(qPrintable(logFileName), ios::app);
  if(inputFileName.length()==0) {
    log<<"<p><font size=3 color=red> Error! Please input Catchment Grid Input File</p>";
    runFlag = 0;
  }
  else{
    log<<"<p>Checking... "<<qPrintable(inputFileName)<<"... ";
    if(inFile == NULL) {
      log<<"<font size=3 color=red> Error!</p>";
      qWarning("\n%s doesn't exist!", qPrintable(inputFileLineEdit->text()));
      runFlag = 0;
    }
    else
      log<<"Done!</p>";
  }
  log.close();
  messageLog->reload();
  QApplication::processEvents();

  log.open(qPrintable(logFileName), ios::app);
  if(outputShpFileName.length()==0) {
    log<<"<p><font size=3 color=red> Error! Please input Catchment Polygon Output File</p>";
    runFlag = 0;
  }
  else{
    log<<"<p>Checking... "<<qPrintable(outputShpFileName)<<"... ";
/*    if(outFile == NULL) {
      log<<"<font size=3 color=red> Error!</p>";
      qWarning("\nCan not open output file name");
      runFlag = 0;
    }
    else*/
      log<<"Done!</p>";
  }
  log.close();
  messageLog->reload();
  QApplication::processEvents();


  if(runFlag == 1) {

    log.open(qPrintable(logFileName), ios::app);
    log<<"<p>Running...";
    log.close();
    messageLog->reload();
    QApplication::processEvents();

    Convert(inputFileName, outputShpFileName);

    char err = 0;
    if (QFile::exists(shpFile) && !QFile::remove(shpFile)) err |= 1;
    if (QFile::exists(dbfFile) && !QFile::remove(dbfFile)) err |= 2;
    if (QFile::exists(shxFile) && !QFile::remove(shxFile)) err |= 4;
    const char* msg[] = {" shp", " dbf", " shx"};
    QString s("Failed to remove old:");
    char idx = 0;
    for(; err; err>>=1, ++idx)
      if (err & 1) {
        s += msg[idx];
      }
    if (idx)
      QMessageBox::warning(this, "Failed to remove old files", s);

    QFile::copy(outputShpFileName, shpFile);
    QFile::copy(outputDbfFileName, dbfFile);
    QFile::copy(outputShxFileName, shxFile);

    p->writeEntry("pihm", "catpoly", shpFile); //21

    log.open(qPrintable(logFileName), ios::app);
    log<<" Done!</p>";
    log.close();
    messageLog->reload();
    QApplication::processEvents();

    if(showSG_DFrame->isChecked() == 1) {
      QString myFileNameQString = outputShpFileName;
      QFileInfo myFileInfo(myFileNameQString);
      QString myBaseNameQString = myFileInfo.baseName();
      QString provider = "OGR";
      cout<<"\n"<<myFileNameQString.ascii()<<"\n"<<myBaseNameQString.ascii()<<"\n"<<provider.ascii()<<"\n";
      //getchar(); getchar();
      applicationPointer->addVectorLayer(myFileNameQString, myBaseNameQString, "ogr");
      //QgsRasterLayer *tempLayer = new QgsRasterLayer("/backup/pihm/RasterProcessing/FillPits", "morgedem.asc");
//??			applicationPointer->addLayer(QStringList(outputShpFileName), NULL);
    }
  }
コード例 #28
0
ファイル: centerwindow.cpp プロジェクト: jun-zhang/MvGather
CenterWindow::CenterWindow(QWidget *parent) :
    FCenterWindow(parent)
{
    this->version = "3.1.0";
    QDir dir;
    QDir dir2(dir.homePath()+"/视频");
    QDir dir3(dir.homePath()+"/Videos");
    QString dbPath;
    if(dir2.exists())
    {
        dbPath = dir.homePath()+"/视频/MvGather/Database";
    }else if(dir3.exists())
    {
        dbPath = dir.homePath()+"/Videos/MvGather/Database";
    }else
    {
        dbPath = dir.homePath()+"/MvGather";
    }
    dir.mkpath(dbPath);
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");//添加数据库驱动,这里用sqlite
    db.setDatabaseName(dbPath+"/MvGather.db");
    //    db.setDatabaseName("MvGather.db");
    if(db.open())
    {
        //tvId:该视频唯一编号,tvName:视频中文名.tvno_hrefs:集数与相应地址...historyNo:上次观看到的集数;quality:清晰度;tvUrl:yunfan视频列表地址;source:视频来源标识
        QSqlQuery query_creat_tb("CREATE TABLE IF NOT EXISTS playlistTB(tvId VARCHAR( 30 ) NOT NULL,tvName VARCHAR( 30 ),tvno_hrefs VARCHAR(100),historyNo VARCHAR( 30 ),quality VARCHAR( 30 ),tvUrl VARCHAR(100),source VARCHAR( 30 ))");
        query_creat_tb.exec();
        //taskId:创建下载任务的id;url任务原地址;fileSavePath:文件保存目录,percent完成的百分比
        QSqlQuery query_creat_tb2("CREATE TABLE IF NOT EXISTS dtaskTB(taskId VARCHAR(30) NOT NULL,url VARCHAR(200) NOT NULL,fileSavePath VARCHAR(200) NOT NULL,percent VARCHAR(5))");
        query_creat_tb2.exec();
    }


    playerWidget = new PlayerWidget(this);
    addWidget(tr("播放器"), tr("Player"), playerWidget);

    browseWidget = new  BrowseWidget(this);
    addWidget(tr("视频库"), tr("MvList"), browseWidget);

    recommendWidget = new RecommendWidget(this);
    addWidget(tr("推荐"), tr("MvRecomend"), recommendWidget);

    magnetWidget = new MagnetWidget(this);
    addWidget(tr("磁力链"), tr("Magnet"), magnetWidget);

    downloadManageWidget = new QScrollArea(this);
    addWidget(tr("下载"), tr("Download"), downloadManageWidget);

    downloadManageScrollAreaWidget = new QWidget(downloadManageWidget);
    downloadManageWidget->setWidget(downloadManageScrollAreaWidget);
    downloadManageScrollAreaWidgetMainLayout = new QVBoxLayout;
    downloadManageScrollAreaWidgetMainLayout->setAlignment(Qt::AlignTop);
    downloadManageScrollAreaWidget->setLayout(downloadManageScrollAreaWidgetMainLayout);

    downloadManageScrollAreaWidget->setStyleSheet("background:transparent");

    getNavgationBar()->setCurrentIndex(0);
    setAlignment(TopCenter);

    QSettings settings("MvGather", "xusongjie");
    QString preferQualitysSetting = settings.value("app/preferQualitys", "").toString();
    if(preferQualitysSetting =="")
    {
        preferQualitysSetting="高清#超清#M3U8#分段_高清_FLV#分段_高清_MP4#分段_高清_M3U8#分段_720P_FLV#分段_720P_MP4#分段_720P_M3U8#分段_1080P_FLV#分段_1080P_MP4#分段_1080P_M3U8#分段_超清_FLV#分段_超清_MP4#分段_超清_M3U8#分段_标清_FLV#分段_标清_MP4#分段_标清_M3U8#分段_高码1080P_FLV#分段_高码1080P_MP4#分段_高码1080P_M3U8#分段_原画_FLV#分段_原画_MP4#分段_原画_M3U8#分段_4K_FLV#分段_4K_MP4#分段_4K_M3U8#分段_高码4K_FLV#分段_高码4K_MP4#分段_高码4K_M3U8#分段_低清_FLV#分段_低清_MP4#分段_低清_M3U8#单段_高清_MP4#单段_高清_M3U8#单段_高清_FLV#单段_720P_FLV#单段_720P_MP4#单段_720P_M3U8#单段_1080P_FLV#单段_1080P_MP4#单段_1080P_M3U8#单段_超清_FLV#单段_超清_MP4#单段_超清_M3U8#单段_标清_FLV#单段_标清_MP4#单段_标清_M3U8#单段_高码1080P_FLV#单段_高码1080P_MP4#单段_高码1080P_M3U8#单段_原画_FLV#单段_原画_MP4#单段_原画_M3U8#单段_4K_FLV#单段_4K_MP4#单段_4K_M3U8#单段_高码4K_FLV#单段_高码4K_MP4#单段_高码4K_M3U8#单段_低清_FLV#单段_低清_MP4#单段_低清_M3U8";
        settings.setValue("app/preferQualitys",preferQualitysSetting);
    }


    connect(browseWidget,SIGNAL(play(QString)),this,SLOT(addMvToPlaylist(QString)));

    connect(playerWidget,SIGNAL(hideToFullScreen(bool)),this,SLOT(getIntofullScreenMode(bool)));
    connect(playerWidget,SIGNAL(getIntoWideModel(bool)),this,SLOT(getIntoWideModel(bool)));

    connect(magnetWidget,SIGNAL(addDownloadTask(QString)),this,SLOT(addDownloadTask(QString)));
    connect(recommendWidget,SIGNAL(addDownloadTaskSignal(QString)),this,SLOT(addDownloadTask(QString)));

    connect(getNavgationBar(),SIGNAL(indexChanged(int)),this,SLOT(firstLoadList(int)));

    hideMouseTimer = new QTimer;
    connect(hideMouseTimer,SIGNAL(timeout()),this,SLOT(hideMouse()));
    hideMouseTimer->start(500);

    loadDownloadSettings();
}