Просмотр исходного кода

Merge remote-tracking branch 'upstream/master'

Paul 11 лет назад
Родитель
Сommit
f14e108ed7

+ 1 - 0
CIBuild/windows/build.bat

@@ -21,6 +21,7 @@ if %errorlevel% neq 0 exit /b %errorlevel%
 cpack -C "Release"
 if %errorlevel% neq 0 exit /b %errorlevel%
 
+set path=%path%;C:\boost_1_55_0_32\lib32-msvc-12.0;C:\qt-everywhere-opensource-src-4.8.6_32\bin\release;C:\Ogre\Build\bin\relwithdebinf
 ctest -C "Release" --verbose
 if %errorlevel% neq 0 exit /b %errorlevel%
 

+ 1 - 0
CIBuild/windows/build64.bat

@@ -21,6 +21,7 @@ if %errorlevel% neq 0 exit /b %errorlevel%
 cpack -C "Release"
 if %errorlevel% neq 0 exit /b %errorlevel%
 
+set path=%path%;C:\boost_1_55_0_64\lib64-msvc-12.0;C:\qt-everywhere-opensource-src-4.8.6_64\bin\release;C:\Ogre64\Build\bin\relwithdebinfo
 ctest -C "Release" --verbose
 if %errorlevel% neq 0 exit /b %errorlevel%
 

+ 68 - 29
utilities/q-gears-launcher/src/mainwindow.cpp

@@ -4,42 +4,78 @@
 #include <QProcess>
 #include <QFileDialog>
 #include <QDir>
+#include <QSettings>
 #include <QMessageBox>
 
 MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent), ui(new Ui::MainWindow)
 {
     ui->setupUi(this);
-    //set default paths.
-#ifdef Q_OS_WIN
-    //on windows
-    ui->lineConfigDir->setText(QString("%1/q-gears").arg(QDir::homePath()));
-    ui->lineQGearsExe->setText(QDir::currentPath() + "/q-gears.exe");
-    ui->lineOutput->setText(QString("%1/q-gears/data").arg(QDir::homePath()));
-#else
-    //on linux
-    ui->lineConfigDir->setText(QString("%1/.q-gears").arg(QDir::homePath()));
-    ui->lineQGearsExe->setText(QString("/usr/games/q-gears"));
-    ui->lineOutput->setText(QString("%1/.q-gears/data").arg(QDir::homePath()));
+    initSettings();
 
-#endif
+    ui->lineConfigDir->setText(settings->value("ConfigDir").toString());
+    ui->lineDataDir->setText(settings->value("DataDir").toString());
+    ui->lineQGearsExe->setText(settings->value("QGearsEXE").toString());
 
 #ifdef _DEBUG
     // Hard coded prebaked paths for debugging to save time
     ui->lineInput->setText("C:\\Games\\FF7\\data");
-    ui->lineOutput->setText("C:\\Users\\paul\\Desktop\\q-gears\\output\\_data");
+    ui->lineDataDir->setText("C:\\Users\\paul\\Desktop\\q-gears\\output\\_data");
 #endif
-
 }
 
 MainWindow::~MainWindow()
 {
 	delete ui;
 }
+void MainWindow::initSettings(void)
+{
+    bool win=false;
+    #ifdef Q_OS_WIN
+        settings= new QSettings(QCoreApplication::applicationDirPath() +"/" + "launcherSettings.ini",QSettings::IniFormat);
+        win=true;
+    #else
+        settings= new QSettings(QSettings::NativeFormat,QSettings::UserScope,"q-gears","launcher",0);
+    #endif
+    //Check settings
+    if(settings->value("ConfigDir").isNull())
+    {
+        if(win){settings->setValue("ConfigDir",QString("%1/q-gears").arg(QDir::homePath()));}
+        else{settings->setValue("ConfigDir",QString("%1/.q-gears").arg(QDir::homePath()));}
+    }
+
+    if(settings->value("DataDir").isNull())
+    {
+        if(win){settings->setValue("DataDir",QString("%1/q-gears/data").arg(QDir::homePath()));}
+        else{settings->setValue("DataDir",QString("%1/.q-gears/data").arg(QDir::homePath()));}
+    }
+
+    if(settings->value("QGearsEXE").isNull())
+    {
+        if(win){settings->setValue("QGearsEXE",QString("%1/q-gears.exe").arg(QCoreApplication::applicationDirPath()));}
+        else{settings->setValue("QGearsEXE",QString("/usr/games/q-gears"));}
+    }
+}
 
+void MainWindow::on_lineConfigDir_editingFinished(){settings->setValue("ConfigDir",ui->lineConfigDir->text());}
 void MainWindow::on_btnConfigDir_clicked()
 {
-	QString temp = QFileDialog::getExistingDirectory(this,tr("Select Location of QGears Configuration Data,"),QDir::homePath());
-	ui->lineConfigDir->setText(temp);
+    QString temp = QFileDialog::getExistingDirectory(this,tr("Select Location of QGears Configuration Data,"),settings->value("ConfigDir").toString());
+    if(!temp.isNull())
+    {
+        settings->setValue("ConfigDir",temp);
+        ui->lineConfigDir->setText(temp);
+    }
+
+}
+void MainWindow::on_lineQGearsExe_editingFinished(){settings->setValue("QGearsEXE",ui->lineQGearsExe->text());}
+void MainWindow::on_btnQGearsExe_clicked()
+{
+    QString temp = QFileDialog::getOpenFileName(this,tr("Location of QGears Executable,"),QDir::rootPath());
+    if(!temp.isNull())
+    {
+        settings->setValue("QGearsEXE",temp);
+        ui->lineQGearsExe->setText(temp);
+    }
 }
 
 void MainWindow::on_btnLaunch_clicked()
@@ -58,38 +94,40 @@ void MainWindow::on_btnLaunch_clicked()
 	qGears.startDetached(exe,args,configDir);
 
 }
-void MainWindow::on_btnQGearsExe_clicked()
-{
-	QString temp = QFileDialog::getOpenFileName(this,tr("Location of QGears Executable,"),QDir::rootPath());
-	ui->lineQGearsExe->setText(temp);
-}
+
 
 void MainWindow::on_btnInput_clicked()
 {
-	QString temp = QFileDialog::getExistingDirectory(this,tr("Location of Game Data),"),QDir::homePath());
+    QString temp = QFileDialog::getExistingDirectory(this,tr("Location of Game Data),"),QDir::homePath());
 	ui->lineInput->setText(temp);
 }
 
-
-void MainWindow::on_btnOutput_clicked()
+void MainWindow::on_lineDataDir_editingFinished(){settings->setValue("DataDir",ui->lineDataDir->text());}
+void MainWindow::on_btnDataDir_clicked()
 {
-	QString temp = QFileDialog::getExistingDirectory(this,tr("Location of QGears Data),"),QDir::homePath());
-	ui->lineOutput->setText(temp);
+    QString temp = QFileDialog::getExistingDirectory(this,tr("Location of QGears Data),"),settings->value("DataDir").toString());
+    if(!temp.isNull())
+    {
+        settings->setValue("DataDir",temp);
+        ui->lineDataDir->setText(temp);
+    }
 }
 
+
+
 void MainWindow::on_btnGO_clicked()
 {
 	if (ui->lineInput->text().isEmpty())
 	{
 		QMessageBox::critical(this,tr("Input Error"),tr("No Input Provided"));
 	}
-	else if(ui->lineOutput->text().isEmpty())
+	else if(ui->lineDataDir->text().isEmpty())
 	{
 		QMessageBox::critical(this,tr("Output Error"),tr("No Output Path Provided"));
 	}
 	else
 	{
-		QMessageBox::information(this,tr("Converting Data"),tr("Attempt to convert with \n Input: %1 \n Output: %2").arg(ui->lineInput->text(),ui->lineOutput->text()));
+		QMessageBox::information(this,tr("Converting Data"),tr("Attempt to convert with \n Input: %1 \n Output: %2").arg(ui->lineInput->text(),ui->lineDataDir->text()));
 
 		QString input = QDir::fromNativeSeparators(ui->lineInput->text());
 		if (!input.endsWith("/"))
@@ -97,7 +135,7 @@ void MainWindow::on_btnGO_clicked()
 			input += "/";
 		}
 
-		QString output = QDir::fromNativeSeparators(ui->lineOutput->text());
+		QString output = QDir::fromNativeSeparators(ui->lineDataDir->text());
 		if (!output.endsWith("/"))
 		{
 			output += "/";
@@ -112,3 +150,4 @@ void MainWindow::on_btnGO_clicked()
 		conversion.Convert(QDir::toNativeSeparators(input).toStdString(), QDir::toNativeSeparators(output).toStdString(), vec);
 	}
 }
+

+ 17 - 3
utilities/q-gears-launcher/src/mainwindow.h

@@ -2,6 +2,7 @@
 #define MAINWINDOW_H
 
 #include <QMainWindow>
+#include <QSettings>
 
 
 namespace Ui {
@@ -13,18 +14,31 @@ class MainWindow : public QMainWindow
 	Q_OBJECT
 
 public:
-	explicit MainWindow(QWidget *parent = 0);
+    explicit MainWindow(QWidget *parent = 0);
 	~MainWindow();
 
 private slots:
+	void on_lineConfigDir_editingFinished();
 	void on_btnConfigDir_clicked();
-	void on_btnLaunch_clicked();
+	
+	void on_lineQGearsExe_editingFinished();
 	void on_btnQGearsExe_clicked();
+	
+	void on_btnLaunch_clicked();
+	
 	void on_btnInput_clicked();
-	void on_btnOutput_clicked();
+	
+	void on_lineDataDir_editingFinished();
+	void on_btnDataDir_clicked();
+	
 	void on_btnGO_clicked();
+
 private:
+	//private functions;
+	void initSettings(void);
+	//private vars
 	Ui::MainWindow *ui;
+	QSettings *settings;
 };
 
 #endif // MAINWINDOW_H

+ 6 - 6
utilities/q-gears-launcher/src/mainwindow.ui

@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>400</width>
-    <height>159</height>
+    <height>172</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -110,7 +110,7 @@
           <item>
            <widget class="QLabel" name="label_4">
             <property name="text">
-             <string>Data Source:</string>
+             <string>Import Data Source:</string>
             </property>
            </widget>
           </item>
@@ -137,15 +137,15 @@
           <item>
            <widget class="QLabel" name="label_3">
             <property name="text">
-             <string>Output Path:</string>
+             <string>QGears Data Path:</string>
             </property>
            </widget>
           </item>
           <item>
-           <widget class="QLineEdit" name="lineOutput"/>
+           <widget class="QLineEdit" name="lineDataDir"/>
           </item>
           <item>
-           <widget class="QPushButton" name="btnOutput">
+           <widget class="QPushButton" name="btnDataDir">
             <property name="maximumSize">
              <size>
               <width>24</width>
@@ -178,7 +178,7 @@
      <x>0</x>
      <y>0</y>
      <width>400</width>
-     <height>22</height>
+     <height>20</height>
     </rect>
    </property>
    <widget class="QMenu" name="menuFile">