| 77 | 
   | 
         this->vagoSettings->setValue("ConfirmExit", false); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 78 | 
   | 
         iniChanged=true; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 79 | 
   | 
     } | 
 
 
 
 
 
 
 
 
 | 80 | 
 + | 
 #ifdef Q_OS_MAC | 
 
 
 
 
 
 
 
 
 | 81 | 
 + | 
     if(!this->vagoSettings->contains("UseYesButtonClear")){ | 
 
 
 
 
 
 
 
 
 | 82 | 
 + | 
         this->vagoSettings->setValue("UseYesButtonClear", false); | 
 
 
 
 
 
 
 
 
 | 83 | 
 + | 
         iniChanged=true; | 
 
 
 
 
 
 
 
 
 | 84 | 
 + | 
     } | 
 
 
 
 
 
 
 
 
 | 85 | 
 + | 
 #endif | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 86 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 87 | 
   | 
     if(iniChanged){ | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 88 | 
   | 
         this->vagoSettings->sync(); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 95 | 
   | 
     this->outputFolder=this->workspaceLocation; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 96 | 
   | 
     this->startedWindowWidth=this->vagoSettings->value("WindowWidth").toInt(); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 97 | 
   | 
     this->startedWindowHeight=this->vagoSettings->value("WindowHeight").toInt(); | 
 
 
 
 
 
 
 
 
 | 98 | 
 + | 
 #ifdef Q_OS_MAC | 
 
 
 
 
 
 
 
 
 | 99 | 
 + | 
     this->useYesAsDefaultInClearButton=this->vagoSettings->value("UseYesButtonClear").toBool(); | 
 
 
 
 
 
 
 
 
 | 100 | 
 + | 
 #endif | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 101 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 102 | 
   | 
     //Create our workspace if it doesn't exists yet | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 103 | 
   | 
     if(!QDir(this->workspaceLocation).exists()){ | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 135 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 136 | 
   | 
     setConverterButtonsSize(); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 137 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 | 138 | 
 < | 
 #ifdef Q_WS_MAC | 
 
 
 
 
 
 
 
 
 
 | 138 | 
 > | 
 #ifdef Q_OS_MAC | 
 
 
 
 
 
 
 
 
 
 
 
 | 139 | 
   | 
     // setUnifiedTitleAndToolBarOnMac(true); // Qt suggests to use it on mac | http://www.slideshare.net/qtbynokia/how-to-make-your-qt-app-look-native // align on left doesn't work if active | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 140 | 
   | 
     ui->tbOni->setIcon(QIcon(":/new/icons/oni_icon_mac.png")); // Oni executable on mac have a different icon than windows | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 141 | 
   | 
     // Set mac platform the first one in the menu, and also make it checkable by default | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 199 | 
   | 
     if(this->vagoSettings->value("OniWindow").toBool()){ // Run in a window? | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 200 | 
   | 
         arguments << "-noswitch"; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 201 | 
   | 
     } | 
 
 
 
 
 
 
 
 
 
 
 
 | 202 | 
 < | 
 #ifdef Q_WS_WIN | 
 
 
 
 
 
 
 
 
 
 | 202 | 
 > | 
 #ifdef Q_OS_WIN | 
 
 
 
 
 
 
 
 
 
 
 
 | 203 | 
   | 
     else{ | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 204 | 
   | 
         arguments << "-switch"; // only supported on windows. Was added by daodan dll. | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 205 | 
   | 
     } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 539 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 540 | 
   | 
             command+=":"+ui->leSpecificFilesLevels->text(); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 541 | 
   | 
         } | 
 
 
 
 
 
 
 
 
 
 
 
 | 542 | 
 < | 
         command+=" "+myOutputFolder+" "+file; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 542 | 
 > | 
  | 
 
 
 
 
 
 | 543 | 
 > | 
         if(from=="DAT" && to=="ONI FILES"){ // extract files to a subdir with the files name ex: level0_Final | 
 
 
 
 
 
 | 544 | 
 > | 
             command += " " + myOutputFolder.insert(myOutputFolder.size()-2,QString(Util::cutName(file)).replace(".dat","")) + " " + file; | 
 
 
 
 
 
 | 545 | 
 > | 
         } | 
 
 
 
 
 
 | 546 | 
 > | 
         else{ | 
 
 
 
 
 
 | 547 | 
 > | 
             command+=" "+myOutputFolder+" "+file; | 
 
 
 
 
 
 | 548 | 
 > | 
         } | 
 
 
 
 
 
 
 
 
 
 
 
 | 549 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 550 | 
   | 
     } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 551 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1061 | 
   | 
 void MainWindow::removeTableContents(DropTableWidget *myTable){ | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1062 | 
   | 
     int size = myTable->selectionModel()->selectedRows().size(); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1063 | 
   | 
  | 
 
 
 
 
 
 
 
 
 | 1064 | 
 + | 
     QMessageBox::StandardButton defaultButton = QMessageBox::NoButton; // default button for clear asking question, only customizable in mac os | 
 
 
 
 
 
 
 
 
 | 1065 | 
 + | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1066 | 
   | 
     if(size==0){ | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1067 | 
   | 
         Util::showPopUp("Select a row first."); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1068 | 
   | 
         return; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1069 | 
   | 
     } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1070 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 | 1071 | 
 < | 
     if(Util::showQuestionPopUp(this,"Are you sure you want to delete the selected rows?")){ | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1071 | 
 > | 
 #ifdef Q_OS_MAC | 
 
 
 
 
 
 | 1072 | 
 > | 
     if(this->useYesAsDefaultInClearButton){ | 
 
 
 
 
 
 | 1073 | 
 > | 
         defaultButton = QMessageBox::Yes; | 
 
 
 
 
 
 | 1074 | 
 > | 
     } | 
 
 
 
 
 
 | 1075 | 
 > | 
     else{ | 
 
 
 
 
 
 | 1076 | 
 > | 
         defaultButton = QMessageBox::No; | 
 
 
 
 
 
 | 1077 | 
 > | 
     } | 
 
 
 
 
 
 | 1078 | 
 > | 
 #endif | 
 
 
 
 
 
 | 1079 | 
 > | 
  | 
 
 
 
 
 
 | 1080 | 
 > | 
  | 
 
 
 
 
 
 | 1081 | 
 > | 
     if(Util::showQuestionPopUp(this,"Are you sure you want to delete the selected rows?",defaultButton)){ | 
 
 
 
 
 
 
 
 
 
 
 
 | 1082 | 
   | 
         for(int i=0; i<size; i++){ | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1083 | 
   | 
             //myTable->removeRow(myTable->selectedItems().at(size-i-1)->row()); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1084 | 
   | 
             myTable->removeRow(myTable->selectionModel()->selectedRows().at(size-i-1).row()); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1197 | 
   | 
  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1198 | 
   | 
 /** | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1199 | 
   | 
   Update items loaded | 
 
 
 
 
 
 
 
 
 
 
 
 | 1200 | 
 < | 
   **/ | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1201 | 
 < | 
 void MainWindow::on_tabWidget_selected(const QString &arg1) | 
 
 
 
 
 
 
 
 
 
 | 1200 | 
 > | 
 **/ | 
 
 
 
 
 
 | 1201 | 
 > | 
 void MainWindow::on_tabWidget_currentChanged(int index) | 
 
 
 
 
 
 
 
 
 
 
 
 | 1202 | 
   | 
 { | 
 
 
 
 
 
 
 
 
 
 
 
 | 1203 | 
 < | 
     if(arg1.compare("General",Qt::CaseSensitive)==0){ //case sentive is faster | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1203 | 
 > | 
     QString tabtext = ui->tabWidget->tabText(index); | 
 
 
 
 
 
 | 1204 | 
 > | 
  | 
 
 
 
 
 
 | 1205 | 
 > | 
     if(tabtext.compare("XML",Qt::CaseSensitive)==0){ //case sentive is faster | 
 
 
 
 
 
 
 
 
 
 
 
 | 1206 | 
   | 
         updateItemsLoaded(ui->twSourcesXML); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1207 | 
   | 
     } | 
 
 
 
 
 
 
 
 
 
 
 
 | 1208 | 
 < | 
     else if(arg1.compare("Textures",Qt::CaseSensitive)==0){ | 
 
 
 
 
 
 
 
 
 
 | 1208 | 
 > | 
     else if(tabtext.compare("Textures",Qt::CaseSensitive)==0){ | 
 
 
 
 
 
 
 
 
 
 
 
 | 1209 | 
   | 
         updateItemsLoaded(ui->twSourcesTextures); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1210 | 
   | 
     } | 
 
 
 
 
 
 
 
 
 
 
 
 | 1211 | 
 < | 
     else if(arg1.compare("Objects",Qt::CaseSensitive)==0){ | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1211 | 
 > | 
     else if(tabtext.compare("Characters",Qt::CaseSensitive)==0){ | 
 
 
 
 
 
 | 1212 | 
 > | 
         updateItemsLoaded(ui->twSourcesCharacters); | 
 
 
 
 
 
 | 1213 | 
 > | 
     } | 
 
 
 
 
 
 | 1214 | 
 > | 
     else if(tabtext.compare("Objects",Qt::CaseSensitive)==0){ | 
 
 
 
 
 
 
 
 
 
 
 
 | 1215 | 
   | 
         updateItemsLoaded(ui->twSourcesObjects); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1216 | 
   | 
     } | 
 
 
 
 
 
 
 
 
 
 
 
 | 1217 | 
 < | 
     else if(arg1.compare("Levels",Qt::CaseSensitive)==0){ | 
 
 
 
 
 
 
 
 
 
 | 1217 | 
 > | 
     else if(tabtext.compare("Levels",Qt::CaseSensitive)==0){ | 
 
 
 
 
 
 
 
 
 
 
 
 | 1218 | 
   | 
         updateItemsLoaded(ui->twSourcesLevels); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1219 | 
   | 
     } | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1220 | 
   | 
     else{ | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1564 | 
   | 
   Gets application directory. In mac os gets the .app directory | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1565 | 
   | 
   **/ | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1566 | 
   | 
 QString MainWindow::getOSIndependentAppPath(){ | 
 
 
 
 
 
 
 
 
 
 
 
 | 1567 | 
 < | 
 #ifdef Q_WS_MAC | 
 
 
 
 
 
 
 
 
 
 | 1567 | 
 > | 
 #ifdef Q_OS_MAC | 
 
 
 
 
 
 
 
 
 
 
 
 | 1568 | 
   | 
     QDir dir = QDir::current(); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1569 | 
   | 
     if(dir.absolutePath().contains(".app")){ // include bundle, but we don't want it | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1570 | 
   | 
         dir.cdUp(); |