ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/s10k/Vago/mainwindow.cpp
(Generate patch)

Comparing Vago/trunk/Vago/mainwindow.cpp (file contents):
Revision 791 by s10k, Sat Apr 6 21:08:35 2013 UTC vs.
Revision 802 by s10k, Wed Apr 10 19:32:13 2013 UTC

# Line 9 | Line 9 | MainWindow::MainWindow(QWidget *parent)
9   {
10      ui->setupUi(this);
11  
12 <    ui->pbConvertGeneral->setMinimumSize(ui->pbConvertGeneral->minimumSizeHint());
13 <    ui->pbConvertGeneral->setMinimumWidth(50);
14 <    ui->pbConvertGeneral->setMinimumHeight(ui->pbConvertGeneral->minimumHeight()*1.4);
12 >    this->AppDir=getOSIndependentAppPath();
13  
14 <    qDebug() << ui->pbConvertGeneral->minimumHeight() << ui->pbConvertGeneral->minimumHeight();
14 >    this->myLogger = new Logger(); //start logger
15 >
16 >    this->myLogger->writeString("Detected AppDir: "+this->AppDir);
17 >    this->myLogger->writeString("True app dir: "+QDir::currentPath());
18  
19      this->setWindowTitle("Vago v"+GlobalVars::AppVersion);
20  
21 <    if(!QFile::exists(QDir::currentPath()+"/"+GlobalVars::OniSplitString)){
21 >    if(!QFile::exists(this->AppDir+"/"+GlobalVars::OniSplitString)){
22          Util::showErrorPopUp("OniSplit not found. Please download it at "+GlobalVars::ModsDomain+" and put it in the same folder of Vago. \n\nProgram will now exit.");
23          exit(1);
24      }
25  
26 <    if(!QFile::exists(QDir::currentPath()+"/"+GlobalVars::XmlToolsString)){
26 >    if(!QFile::exists(this->AppDir+"/"+GlobalVars::XmlToolsString)){
27          Util::showErrorPopUp("xmlTools not found. Please download it at "+GlobalVars::ModsDomain+" and put it in the same folder of Vago. \n\nProgram will now exit.");
28          exit(1);
29      }
30  
31 <    this->vagoSettings = new QSettings(QDir::currentPath() + "/" + this->VagoSettingsName, QSettings::IniFormat);
31 >    this->vagoSettings = new QSettings(this->AppDir + "/" + this->VagoSettingsName, QSettings::IniFormat);
32  
33      //First Execution? Old configuration? Settings missed?
34      bool iniChanged=false;
# Line 36 | Line 37 | MainWindow::MainWindow(QWidget *parent)
37          iniChanged=true;
38      }
39      if(!this->vagoSettings->contains("Workspace")){
40 <        this->vagoSettings->setValue("Workspace", QDir::currentPath()+"/VagoWorkspace");
40 >        this->vagoSettings->setValue("Workspace", this->AppDir+"/VagoWorkspace");
41          iniChanged=true;
42      }
43      if(!this->vagoSettings->contains("AeFolder")){
# Line 94 | Line 95 | MainWindow::MainWindow(QWidget *parent)
95  
96      ui->statusBar->addPermanentWidget(myBar); //this adds automatically in right
97  
97    this->myLogger = new Logger(); //start logger
98
98      //Initialize list pointers
99      this->listToProccess = new QStringList;
100  
# Line 113 | Line 112 | MainWindow::MainWindow(QWidget *parent)
112  
113      ui->mainToolBar->setLayoutDirection(Qt::RightToLeft);
114  
115 +    setConverterButtonsSize();
116 +
117   #ifdef Q_WS_MAC
118      // 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
119      ui->tbOni->setIcon(QIcon(":/new/icons/oni_icon_mac.png")); // Oni executable on mac have a different icon than windows
# Line 121 | Line 122 | MainWindow::MainWindow(QWidget *parent)
122      ui->menuTarget_Platform->addAction(ui->actionWindows);
123      ui->actionWindows->setChecked(false);
124      ui->actionMac_Windows_demo->setChecked(true);
125 <    // Hide file menu on mac (not needed)
126 <    ui->menuFile->hide();
127 <    ui->menuFile->close();
128 <    //ui->menuBar->macMenu();
125 >    resize(800,600); // Mac OS pcs should be able to render this resolution without any problem. It's also better
126 >    // because the components on mac use more space
127 > #else
128 >    resize(640,480);
129   #endif
130  
131      connectSlots();
# Line 164 | Line 165 | void MainWindow::on_actionAE_Package_Cre
165  
166   void MainWindow::on_actionSound_Wizard_triggered()
167   {
168 <    SoundWizard myWizard (this->workspaceWizardsLocation, this->myLogger, &this->commandMap);
168 >    SoundWizard myWizard (this->AppDir, this->workspaceWizardsLocation, this->myLogger, &this->commandMap);
169      myWizard.exec();
170   }
171  
# Line 1490 | Line 1491 | QString MainWindow::getCommand(DropTable
1491  
1492   }
1493  
1494 + /**
1495 +  This is OS indepented. It maintain size ratio over the Windows and Mac.
1496 +  **/
1497 + void MainWindow::setConverterButtonsSize(){
1498 +    int height=ui->pbConvertGeneral->sizeHint().height()*1.3;
1499 +    ui->pbConvertGeneral->setMinimumHeight(height);
1500 +    ui->pbConvertTextures->setMinimumHeight(height);
1501 +    ui->pbConvertModels->setMinimumHeight(height);
1502 +    ui->pbConvertAnimations->setMinimumHeight(height);
1503 +    ui->pbConvertLevels->setMinimumHeight(height);
1504 +    ui->pbConvertMisc->setMinimumHeight(height);
1505 + }
1506 +
1507 + /**
1508 +  Gets application directory. In mac os gets the .app directory
1509 +  **/
1510 + QString MainWindow::getOSIndependentAppPath(){
1511 + #ifdef Q_WS_MAC
1512 +    QDir dir = QDir::current();
1513 +    if(dir.absolutePath().contains(".app")){ // include bundle, but we don't want it
1514 +        dir.cdUp();
1515 +        dir.cdUp();
1516 +        dir.cdUp();
1517 +    }
1518 +    return dir.absolutePath();
1519 + #else
1520 +    return  QDir::currentPath();
1521 + #endif
1522 + }
1523 +
1524   void MainWindow::connectSlots(){
1525  
1526      //This signal is for thread that is working setup the progress bar (make it visible and set it's min-max)

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)