--- Vago/trunk/Vago/mainwindow.h 2013/04/07 15:36:17 801 +++ Vago/trunk/Vago/mainwindow.h 2016/09/16 22:51:26 1047 @@ -1,15 +1,16 @@ #ifndef MAINWINDOW_H #define MAINWINDOW_H -#include "util.h" +#include "utilvago.h" #include "preferences.h" #include "manualcommands.h" #include "about.h" #include "packagewizard.h" #include "soundwizard.h" +#include "converter.h" +#include "droptablewidget.h" #include -#include #include #include #include @@ -19,17 +20,19 @@ #include #include #include -#include #include -#include #include #include #include #include -#include #include #include #include +#include +#include + +#include "libs/pugixml/pugixml.hpp" +//#include namespace Ui { class MainWindow; @@ -38,7 +41,7 @@ class MainWindow; class MainWindow : public QMainWindow { Q_OBJECT - + public: explicit MainWindow(QWidget *parent = 0); @@ -46,7 +49,7 @@ public: protected: void closeEvent(QCloseEvent *event); - + private slots: void on_actionExit_triggered(); @@ -64,9 +67,9 @@ private slots: void on_actionCheck_For_Updates_triggered(); - void on_pbAddSourceGeneral_clicked(); + void on_pbAddSourceXML_clicked(); - void on_pbConvertGeneral_clicked(); + void on_pbConvert_clicked(); void TsetupProgressBar(int max); @@ -74,15 +77,15 @@ private slots: void TresultConversion(QString result, int numErrors); - void on_cbFromGeneral_currentIndexChanged(const QString &arg1); + void TconversionAborted(); void on_actionWindows_triggered(); void on_actionMac_Windows_demo_triggered(); - void on_pbClearSourcesGeneral_clicked(); + void on_pbClearSourcesXML_clicked(); - void on_pbRemoveSourceGeneral_clicked(); + void on_pbRemoveSourceXML_clicked(); void on_pbAddSourceTextures_clicked(); @@ -92,33 +95,25 @@ private slots: void on_cbFromTextures_currentIndexChanged(const QString &arg1); - void on_cbFromModels_currentIndexChanged(const QString &arg1); + void on_cbFromObjects_currentIndexChanged(const QString &arg1); void on_cbFromLevels_currentIndexChanged(const QString &arg1); void on_cbFromMisc_currentIndexChanged(const QString &arg1); - void on_pbAddSourceModels_clicked(); + void on_pbAddSourceObjects_clicked(); void on_pbAddSourceLevels_clicked(); void on_pbAddSourceMisc_clicked(); - void on_pbConvertTextures_clicked(); - - void on_pbConvertModels_clicked(); - - void on_pbConvertLevels_clicked(); - - void on_pbConvertMisc_clicked(); - - void on_pbRemoveSourceModels_clicked(); + void on_pbRemoveSourceObjects_clicked(); void on_pbRemoveSourceLevels_clicked(); void on_pbRemoveSourceMisc_clicked(); - void on_pbClearSourcesModels_clicked(); + void on_pbClearSourcesObjects_clicked(); void on_pbClearSourcesLevels_clicked(); @@ -126,12 +121,8 @@ private slots: void on_actionPreferences_triggered(); - void on_cbToGeneral_currentIndexChanged(const QString &arg1); - void on_cbToLevels_currentIndexChanged(const QString &arg1); - void on_cbDatGeneral_toggled(bool checked); - void on_cbDatLevels_toggled(bool checked); void on_actionCheck_OniSplit_version_triggered(); @@ -140,10 +131,6 @@ private slots: void dtContextMenu(DropTableWidget* myTable, QContextMenuEvent *event); //Context menu options for table widgets - void on_cbTRAMGeneral_toggled(bool checked); - - void on_tabWidget_selected(const QString &arg1); - void checkVagoLastVersion(QNetworkReply *result); //check vago last version void on_cbBnvLevels_toggled(bool checked); @@ -158,38 +145,63 @@ private slots: void on_actionView_log_triggered(); - void on_cbToModels_currentIndexChanged(const QString &arg1); + void on_actionAE_Package_Creator_triggered(); + + void on_cbFromCharacters_currentIndexChanged(const QString &arg1); + + void on_pbAddSourceCharacters_clicked(); + + void on_pbRemoveSourceCharacters_clicked(); + + void on_pbClearSourcesCharacters_clicked(); + + void on_actionSound_Wizard_triggered(); + + void on_actionCheck_xmlTools_version_triggered(); + + void on_actionOpen_AE_folder_triggered(); + + void on_cbWithTRBS_ONCC_toggled(bool checked); void on_cbWithAnimation_toggled(bool checked); - void on_actionAE_Package_Creator_triggered(); + void on_cbFromXML_currentIndexChanged(const QString &arg1); - void on_cbFromAnimations_currentIndexChanged(const QString &arg1); + void on_cbSpecificFilesLevels_toggled(bool checked); - void on_cbCamera_toggled(bool checked); + void on_tbAbortConversion_clicked(); - void on_cbGeometry_toggled(bool checked); + void on_tabWidget_currentChanged(int); - void on_pbConvertAnimations_clicked(); + void on_actionSave_Project_triggered(); - void on_pbAddSourceAnimations_clicked(); + void on_actionSave_triggered(); - void on_pbRemoveSourceAnimations_clicked(); + void on_actionLoad_Project_triggered(); - void on_pbClearSourcesAnimations_clicked(); + void on_actionProject1_triggered(); - void on_actionSound_Wizard_triggered(); + void on_actionProject2_triggered(); - void on_actionCheck_xmlTools_version_triggered(); + void on_actionProject3_triggered(); + + void on_actionProject4_triggered(); + + void on_actionProject5_triggered(); private: Ui::MainWindow *ui; Logger *myLogger; - QString AppDir; QString workspaceLocation; //Workspace location QString workspaceWizardsLocation; //Workspace wizard location QString outputFolder; //Output folder QString AeLocation; //Workspace location + QString lastProjectFilePath; + int startedWindowWidth; + int startedWindowHeight; +#ifdef Q_OS_MAC + bool useYesAsDefaultWhenRemovingItems; +#endif QLabel *itemsLoaded; QProgressBar *myBar; //Progress Bar QHash commandMap; //Map the commands for fast retreive @@ -197,30 +209,61 @@ private: Converter *myConverter; QSettings *vagoSettings; static const QString VagoSettingsName; + static constexpr int recentProjectsMaxSize=5; + QList recentProjectsList; +#ifdef Q_OS_WIN + // These are deleted automatically by the window (since button is attached to it) + QWinTaskbarProgress *win7TaskBarProgress; + QWinTaskbarButton *win7TaskBarButton; +#endif + + // anonymous enum + enum {XMLTabIndex, TexturesTabIndex, CharactersTabIndex, ObjectsTabIndex, LevelsTabIndex, MiscTabIndex}; void connectSlots(); void showErrStatusMessage(QString message); void showSuccessStatusMessage(QString message); void mapCommands(); - void addRowTable(DropTableWidget *myTable,QString file, QString fromTo, QString command); + void addRowTable(DropTableWidget *myTable, QString file, QString fromTo, QString command, bool isToDisabled=false); void clearTableContents(DropTableWidget *myTable); + void clearTableNoPrompt(DropTableWidget *myTable); void removeTableContents(DropTableWidget *myTable); - void updateComboBox(const QString &arg1, QComboBox *comboBox, const QString &identifier); - void startConversion(DropTableWidget *myTable); + void updateComboBox(const QString &arg1, QComboBox *comboBox); + void startConversion(); void updateItemsLoaded(DropTableWidget *currentTable); void changeToCurrentSettings(QList rows, DropTableWidget* myTable); //change some rows to the current settings void changeItemsOutput(DropTableWidget* myTable, QList rows, QString newOutput); void setConverterButtonsSize(); + void saveProjectState(const QString &filePath); + void saveProjectWidget(pugi::xml_node &rootNode, DropTableWidget* table); + void loadProjectState(const QString &filePath); + void setVagoWindowTitle(); + void loadProjectWidget(pugi::xml_document &doc, DropTableWidget* table); + void saveRecentProjects(); + void loadRecentProjects(); + void addNewRecentProject(const QString &filePath); + void reloadRecentProjectsMenu(); + void showEvent(QShowEvent *e); QString getFileOutputFolder(QString fromTo, QString myOutputFolder=""); - QString fileParsingGeneral(QString myOutputFolder, QString from, QString to , QString file); - QString fileParsingTextures(QString myOutputFolder, QString from, QString to , QString file); - QString fileParsingModels(QString myOutputFolder, QString from, QString to , QString file); - QString fileParsingAnimations(QString myOutputFolder, QString from, QString to , QString file); - QString fileParsingLevels(QString myOutputFolder, QString from, QString to , QString file); + QString fileParsingXML(QString tabTitle, QString myOutputFolder, QString from, QString to , QString file); + QString fileParsingTextures(QString tabTitle, QString myOutputFolder, QString from, QString to , QString file); + QString fileParsingObjects(QString tabTitle, QString myOutputFolder, QString from, QString to , QString file); + QString fileParsingCharacters(QString tabTitle, QString myOutputFolder, QString from, QString to , QString file); + QString fileParsingLevels(QString tabTitle, QString myOutputFolder, QString from, QString to , QString file); QString fileParsingMisc(QString myOutputFolder, QString from, QString to , QString file); QString getCommand(DropTableWidget* myTable, QString myOutputFolder, QString from, QString to , QString file); QString getTypeConversion(DropTableWidget *myTable); //get the current type for a table QString getOSIndependentAppPath(); + QString getTabNameByTableWidget(DropTableWidget* table); + QString getCurrentTabName(); + QRadioButton* getTextureRBCheckedTypeTexture(); + QRadioButton *getTextureRBTypeTextureByName(const QString &texType); + DropTableWidget *getCurrentTableWidget(); + DropTableWidget* getTableWidgetByTabName(const QString &tabName); + QList getAllTableWidgets(); + +signals: + void terminateCurrProcess(); }; #endif // MAINWINDOW_H