Changeset 1061


Ignore:
Timestamp:
Dec 9, 2016, 8:04:18 PM (8 years ago)
Author:
s10k
Message:

Added Vago 1.3

Location:
Vago/trunk/Vago
Files:
29 added
3 deleted
26 edited

Legend:

Unmodified
Added
Removed
  • Vago/trunk/Vago/Vago.pro

    r1058 r1061  
    1313CONFIG   += c++14
    1414
    15 #INCLUDEPATH += ./libs
    1615INCLUDEPATH += ./packageWizard
    1716INCLUDEPATH += ./soundWizard
    1817INCLUDEPATH += ./bgImageWizard
     18INCLUDEPATH += ./bgImageWizard
    1919INCLUDEPATH += ./xmlToolsInterface
     20INCLUDEPATH += ./windowMessagesWizard
    2021
    2122# Used this great tutorial to build zlib and quazip:
     
    3637}
    3738
     39INCLUDEPATH += ./libs/DropTableWidget
     40INCLUDEPATH += ./libs/DropLineEdit
     41INCLUDEPATH += ../Libs/pugixml
     42
    3843win32 {
    3944RC_FILE = icon_resource.rc #for windows explorer icon
     
    5055    main.cpp \
    5156    logger.cpp \
    52     droptablewidget.cpp \
    5357    converter.cpp \
    5458    about.cpp \
     
    6670    bgImageWizard/bgimagepage2.cpp \
    6771    xmlprocessor.cpp \
    68     libs/pugixml/pugixml.cpp \
    6972    utilvago.cpp \
    7073    bgImageWizard/bgimagewizard.cpp \
     
    7477    libs/BasicXMLSyntaxHighlighter/BasicXMLSyntaxHighlighter.cpp \
    7578    xmlToolsInterface/xmltoolsinterfacecommandpreview.cpp \
    76     libs/LineNumberDisplay/LineNumberDisplay.cpp
     79    libs/LineNumberDisplay/LineNumberDisplay.cpp \
     80    abstractwizard.cpp \
     81    windowMessagesWizard/wmsetuppage.cpp \
     82    windowMessagesWizard/wmformatpage.cpp \
     83    windowMessagesWizard/wmpage.cpp \
     84    windowMessagesWizard/wmwizard.cpp \
     85    windowMessagesWizard/wmfinalpage.cpp \
     86    ./libs/DropTableWidget/droptablewidget.cpp \
     87    ./libs/DropLineEdit/droplineedit.cpp \
     88    ../Libs/pugixml/pugixml.cpp
    7789
    7890HEADERS  += \
     
    8294    mainwindow.h \
    8395    logger.h \
    84     droptablewidget.h \
    8596    converter.h \
    8697    about.h \
     
    98109    bgImageWizard/bgimagepage2.h \
    99110    xmlprocessor.h \
    100     libs/pugixml/pugixml.hpp \
    101111    utilvago.h \
    102112    bgImageWizard/bgimagewizard.h \
     
    106116    libs/BasicXMLSyntaxHighlighter/BasicXMLSyntaxHighlighter.h \
    107117    xmlToolsInterface/xmltoolsinterfacecommandpreview.h \
    108     libs/LineNumberDisplay/LineNumberDisplay.h
     118    libs/LineNumberDisplay/LineNumberDisplay.h \
     119    wizardfactory.h \
     120    abstractwizard.h \
     121    windowMessagesWizard/wmsetuppage.h \
     122    windowMessagesWizard/wmformatpage.h \
     123    windowMessagesWizard/wmpage.h \
     124    windowMessagesWizard/wmwizard.h \
     125    windowMessagesWizard/wmfinalpage.h \
     126    ./libs/DropTableWidget/droptablewidget.h \
     127    ./libs/DropLineEdit/droplineedit.h \
     128    ../Libs/pugixml/pugixml.hpp
    109129
    110130FORMS    += \
     
    126146    bgImageWizard/bgimagepagefinal.ui \
    127147    xmlToolsInterface/xmltoolsinterface.ui \
    128     xmlToolsInterface/xmltoolsinterfacecommandpreview.ui
     148    xmlToolsInterface/xmltoolsinterfacecommandpreview.ui \
     149    windowMessagesWizard/wmsetuppage.ui \
     150    windowMessagesWizard/wmformatpage.ui \
     151    windowMessagesWizard/wmfinalpage.ui
    129152
    130153RESOURCES += \
  • Vago/trunk/Vago/about.cpp

    r1058 r1061  
    88    ui->setupUi(this);
    99    this->setAttribute(Qt::WA_DeleteOnClose,true ); //destroy itself once finished.
    10     this->layout()->setSizeConstraint( QLayout::SetFixedSize ); //fixed size
    11     ui->lbAbout->setOpenExternalLinks(true); //allow navigate to oni central
    1210    ui->lbAbout->setText("<html>"
    13                          "<b>Vago GUI "+GlobalVars::AppVersion+"</b>"
    14                          "<p style='font-size:small;'>"
     11                         "<p style='font-size:x-large;'><b>Vago GUI " + GlobalVars::AppVersion + "</b></p>"
     12                         "<p style='font-size:large;line-height: 18px;'>"
    1513                         "Written by s10k<br /><br/>"
    1614                         "Build Date " + __DATE__ + " " + __TIME__ + "<br /><br />"
     
    3230                         "Arseny Kapoulkine (and contributors)for pugixml library<br />"
    3331                         "smashingmagazine for the folder icon :)<br />"
    34                          "Freepik and Flaticon by the background image wizard icon<br />"
     32                         "Freepik and Flaticon by the background image wizard and text editing icons<br />"
    3533                         "qtiplot authors for line numbers in QTextEdit<br />"
    3634                         "d1vanov for basic-xml-syntax-highlighter class <br />"
    37                          "<center>"
    38                          "Visit us at:<br />"
    39                          "<a href='http://oni.bungie.org'>"
    40                          "oni.bungie.org"
    41                          "</center>"
    42                          "</a>"
    4335                         "</p>"
    4436                         "</html>"); // Don't use rich text in qtdesigner because it generates platform dependent code
     37
     38    ui->lbOniCommunity->setText("<html>"
     39                                "<p style='font-size:large;'>"
     40                                "<center>"
     41                                "Visit us at:<br />"
     42                                "<a href='http://oni.bungie.org'>"
     43                                "oni.bungie.org"
     44                                "</a>"
     45                                "</center>"
     46                                "</p>"
     47                                "</html>"
     48                                );
    4549}
    4650
  • Vago/trunk/Vago/about.ui

    r897 r1061  
    4545      <layout class="QVBoxLayout" name="verticalLayout">
    4646       <item>
    47         <widget class="QLabel" name="lbAbout">
    48          <property name="sizePolicy">
    49           <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
    50            <horstretch>0</horstretch>
    51            <verstretch>0</verstretch>
    52           </sizepolicy>
     47        <widget class="QScrollArea" name="scrollArea">
     48         <property name="widgetResizable">
     49          <bool>true</bool>
    5350         </property>
    54          <property name="text">
    55           <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
     51         <widget class="QWidget" name="scrollAreaWidgetContents">
     52          <property name="geometry">
     53           <rect>
     54            <x>0</x>
     55            <y>0</y>
     56            <width>341</width>
     57            <height>283</height>
     58           </rect>
     59          </property>
     60          <layout class="QVBoxLayout" name="verticalLayout_3">
     61           <item>
     62            <widget class="QLabel" name="lbAbout">
     63             <property name="sizePolicy">
     64              <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
     65               <horstretch>0</horstretch>
     66               <verstretch>0</verstretch>
     67              </sizepolicy>
     68             </property>
     69             <property name="text">
     70              <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
    5671&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
    5772p, li { white-space: pre-wrap; }
    58 &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
    59 &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt; font-weight:600;&quot;&gt;Vago GUI&lt;/span&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
    60 &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;Written by s10k&lt;br /&gt;&lt;br /&gt;Thanks to:&lt;br /&gt;Edit in About.cpp&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
    61 &lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;Visit us at:&lt;br /&gt;&lt;/span&gt;&lt;a href=&quot;http://oni.bungie.org&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0000ff;&quot;&gt;oni.bungie.org &lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
     73&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
     74&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Vago GUI&lt;/span&gt; &lt;/p&gt;
     75&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Written by s10k&lt;br /&gt;&lt;br /&gt;Thanks to:&lt;br /&gt;Edit in About.cpp&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
     76             </property>
     77             <property name="wordWrap">
     78              <bool>true</bool>
     79             </property>
     80             <property name="openExternalLinks">
     81              <bool>true</bool>
     82             </property>
     83            </widget>
     84           </item>
     85          </layout>
     86         </widget>
     87        </widget>
     88       </item>
     89       <item>
     90        <spacer name="verticalSpacer_2">
     91         <property name="orientation">
     92          <enum>Qt::Vertical</enum>
     93         </property>
     94         <property name="sizeType">
     95          <enum>QSizePolicy::Fixed</enum>
     96         </property>
     97         <property name="sizeHint" stdset="0">
     98          <size>
     99           <width>20</width>
     100           <height>10</height>
     101          </size>
     102         </property>
     103        </spacer>
     104       </item>
     105       <item>
     106        <widget class="QLabel" name="lbOniCommunity">
     107         <property name="text">
     108          <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;Visit us at:&lt;br/&gt;&lt;a href=&quot;http://oni.bungie.org&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;oni.bungie.org &lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
     109         </property>
     110         <property name="wordWrap">
     111          <bool>true</bool>
     112         </property>
     113         <property name="openExternalLinks">
     114          <bool>true</bool>
    62115         </property>
    63116        </widget>
     
    67120         <property name="orientation">
    68121          <enum>Qt::Vertical</enum>
     122         </property>
     123         <property name="sizeType">
     124          <enum>QSizePolicy::Fixed</enum>
    69125         </property>
    70126         <property name="sizeHint" stdset="0">
  • Vago/trunk/Vago/bgImageWizard/bgimagepagefinal.h

    r1054 r1061  
    44#include <QWizardPage>
    55#include <QImage>
     6#include <pugixml.hpp>
     7
    68#include "utilvago.h"
    7 #include "libs/pugixml/pugixml.hpp"
    89#include "converter.h"
    910
  • Vago/trunk/Vago/bgImageWizard/bgimagewizard.cpp

    r1054 r1061  
    22
    33BGImageWizard::BGImageWizard(const QString &appDir, const QString &workspaceWizardLocation, QSettings *vagoSettings, Logger *myLogger)
     4:AbstractWizard(appDir, workspaceWizardLocation, vagoSettings, myLogger, true)
    45{
    56    this->appDir = appDir;
     
    1011}
    1112
    12 int BGImageWizard::exec(){
    13 
    14     QPushButton *restartButton = new QPushButton("Restart");
    15     this->myWizard.setButton(QWizard::CustomButton1,restartButton);
    16     this->myWizard.setOption(QWizard::HaveCustomButton1, true);
    17 
    18     connect(&this->myWizard, SIGNAL(currentIdChanged(int)), this, SLOT(pageChanged(int)));
    19     connect(restartButton, SIGNAL(clicked(bool)), this, SLOT(restartWizard()));
    20 
    21     this->myWizard.setWindowIcon(QIcon(":/new/icons/background_image.png"));
    22 
    23     //Center and resize QWizard (http://www.thedazzlersinc.com/source/2012/06/04/qt-center-window-in-screen/)
    24 #ifdef Q_OS_WIN
    25     this->myWizard.resize(640,480);
    26 #else
    27     this->myWizard.resize(800,600); // Mac OS pcs should be able to render this resolution without any problem. It's also better
    28     // because the components on mac use more space
    29 #endif
    30     QRect position = this->myWizard.frameGeometry();
    31     position.moveCenter(QDesktopWidget().availableGeometry().center());
    32     this->myWizard.move(position.topLeft());
    33     //
     13void BGImageWizard::exec(){
    3414
    3515    BGImagePage2 *page2 = new BGImagePage2(this->myLogger);
     
    3717    BGImagePageFinal *pageFinal = new BGImagePageFinal(this->appDir, this->myLogger, this->bgImagesLocation);
    3818
    39     this->myWizard.addPage(createIntroPage());
     19    this->myWizard.addPage
     20    (
     21        createIntroPage
     22        (
     23            "Welcome to the Oni Background Image Wizard.\n"
     24            "This wizard will allow you to create in a few and simple steps Oni background images (TXMB) "
     25            "that can be used in the menus or as backgrounds screens for the levels."
     26        )
     27    );
     28
    4029    this->myWizard.addPage(page2);
    4130    this->myWizard.addPage(page3);
    4231    this->myWizard.addPage(pageFinal);
    4332
    44     this->myWizard.setWindowTitle("Background Image Wizard");
    45 
    46     if(this->myWizard.exec()){ //modal and wait for finalization
    47 
    48     }
    49 
    50     return 0;
     33    showWizard("Background Image Wizard", ":/new/icons/background_image.png");
    5134}
    5235
    53 QWizardPage* BGImageWizard::createIntroPage() {
    54     QWizardPage *page = new QWizardPage;
    55     page->setTitle("Introduction");
     36void BGImageWizard::beforeClose(QDialog::DialogCode){
    5637
    57     QLabel *label = new QLabel("Welcome to the Oni Background Image Wizard.\n"
    58                                "This wizard will allow you to create in a few and simple steps Oni background images (TXMB) "
    59                                "that can be used in the menus or as backgrounds screens for the levels.");
    60     label->setWordWrap(true);
    61 
    62     QVBoxLayout *layout = new QVBoxLayout;
    63     layout->addWidget(label);
    64     page->setLayout(layout);
    65 
    66     return page;
    6738}
    68 
    69 void BGImageWizard::restartWizard(){
    70     this->myWizard.restart();
    71 }
    72 
    73 void BGImageWizard::pageChanged(int pageId){
    74     // Last page?
    75     if(pageId==3){
    76        this->myWizard.setOption(QWizard::HaveCustomButton1, true); // set visible
    77        this->myWizard.button(QWizard::BackButton)->setEnabled(false); // disable back button, use restart if needed
    78         return;
    79     }
    80    this->myWizard.setOption(QWizard::HaveCustomButton1, false); // set invisible
    81    this->myWizard.button(QWizard::BackButton)->setEnabled(true); // set enable back button
    82 }
  • Vago/trunk/Vago/bgImageWizard/bgimagewizard.h

    r1054 r1061  
    22#define BGIMAGEWIZARD_H
    33
    4 // System includes
    5 #include <QString>
    6 #include <QWizard>
    7 #include <QWizardPage>
    8 #include <QLabel>
    9 #include <QDesktopWidget>
    10 #include <QVBoxLayout>
    11 #include <QPushButton>
    12 
    134// Local includes
     5#include "abstractwizard.h"
    146#include "bgimagepage2.h"
    157#include "bgimagepage3.h"
    168#include "bgimagepagefinal.h"
    179
    18 class BGImageWizard: public QObject // for signals and slots
     10class BGImageWizard: public AbstractWizard // for signals and slots
    1911{
    20     Q_OBJECT // for signals and slots
    21 public:
     12protected:
    2213    BGImageWizard(const QString &appDir, const QString &workspaceWizardLocation, QSettings *vagoSettings, Logger *myLogger);
    23     int exec();
     14    void exec();
    2415private:
    25     QWizard myWizard;
    26     QWizardPage *createIntroPage();
    27 
    28     Logger *myLogger;
    29     QString workspaceWizardLocation;
    3016    QString bgImagesLocation;
    31     QString appDir;
    32     QSettings *vagoSettings;
    33 private slots:
    34     void restartWizard();
    35     void pageChanged(int pageId);
     17private:
     18    void beforeClose(QDialog::DialogCode resultStatus);
    3619};
    3720
  • Vago/trunk/Vago/main.cpp

    r1058 r1061  
    22#include "mainwindow.h"
    33
    4 
     4// TODO add lineedit to other lineedits that can receive files or folders, create additional funtions in lineedit where we can specify what kind of argument it accepts
     5// Example: setAllowFolders(), setAllowFiles() or setAcceptedTypes(Enum from QtFiles)
    56int main(int argc, char *argv[])
    67{
     
    1112    a.setStyleSheet("QStatusBar::item { border: 0px; }"); //hide QLabels border in status bar //http://qt-project.org/forums/viewthread/18743
    1213
    13 //    XmlToolsInterface *xmlToolsWindow = new XmlToolsInterface(new Logger(UtilVago::getAppPath(), GlobalVars::AppLogName));
    14 //    xmlToolsWindow->show(); //it destroys itself when finished.
    15 
    1614    return a.exec();
    1715}
  • Vago/trunk/Vago/mainwindow.cpp

    r1058 r1061  
    242242void MainWindow::on_actionAE_Package_Creator_triggered()
    243243{
    244     PackageWizard myWizard = PackageWizard(this->workspaceWizardsLocation, this->vagoSettings, this->myLogger);
    245     myWizard.exec();
     244    // it deletes itself once closed
     245    WizardFactory<PackageWizard>::startInstance(UtilVago::getAppPath(), this->workspaceWizardsLocation, this->vagoSettings, this->myLogger);
    246246}
    247247
    248248void MainWindow::on_actionSound_Wizard_triggered()
    249249{
    250     SoundWizard myWizard (UtilVago::getAppPath(), this->workspaceWizardsLocation, this->myLogger, &this->commandMap);
    251     myWizard.exec();
     250    // it deletes itself once closed
     251    WizardFactory<SoundWizard>::startInstance(UtilVago::getAppPath(), this->workspaceWizardsLocation, this->vagoSettings, this->myLogger, &this->commandMap);
    252252}
    253253
    254254void MainWindow::on_actionBackground_Image_Wizard_triggered()
    255255{
    256     BGImageWizard myWizard (UtilVago::getAppPath(), this->workspaceWizardsLocation, this->vagoSettings, this->myLogger);
    257     myWizard.exec();
     256    // it deletes itself once closed
     257    WizardFactory<BGImageWizard>::startInstance(UtilVago::getAppPath(), this->workspaceWizardsLocation, this->vagoSettings, this->myLogger);
     258}
     259
     260void MainWindow::on_actionWindow_Messages_Wizard_triggered()
     261{
     262    // it deletes itself once closed
     263    WizardFactory<WmWizard>::startInstance(UtilVago::getAppPath(), this->workspaceWizardsLocation, this->vagoSettings, this->myLogger);
    258264}
    259265
     
    557563    QString command=this->commandMap.value(tabTitle+"->"+from+"->"+to)+" "+myOutputFolder;
    558564
    559     //TODO: This can be optimized. When some are not enable others are.
    560565    if(ui->cbTexture->isChecked()){
    561566        if(ui->leTextureName->text().isEmpty()){
     
    979984        ui->cbNormals->setEnabled(false);
    980985        ui->cbNormals->setChecked(false);
    981 
     986//#error add drag and drop to Extract TRAM with TRBS/ONCC
    982987        if(QString::compare(arg1,"TRAM ONI",Qt::CaseSensitive)==0){ //case sensitive is faster
    983988            ui->cbWithTRBS_ONCC->setEnabled(true);
  • Vago/trunk/Vago/mainwindow.h

    r1058 r1061  
    99#include "soundwizard.h"
    1010#include "bgimagewizard.h"
     11#include "wmwizard.h"
    1112#include "converter.h"
    12 #include "droptablewidget.h"
    1313#include "xmltoolsinterface.h"
     14#include "wizardfactory.h"
    1415
    1516#include <QMainWindow>
     
    3132#include <QScriptEngine>
    3233#include <QScriptValueIterator>
     34#include <droptablewidget.h>
     35#include <pugixml.hpp>
    3336#ifdef Q_OS_WIN
    3437#include <QWinTaskbarProgress>
     
    3639#endif
    3740
    38 #include "libs/pugixml/pugixml.hpp"
    39 
    4041namespace Ui {
    4142class MainWindow;
     
    200201
    201202    void on_tbXmlToolsInterface_clicked();
     203
     204    void on_actionWindow_Messages_Wizard_triggered();
    202205
    203206private:
  • Vago/trunk/Vago/mainwindow.ui

    r1058 r1061  
    727727             <property name="toolTip">
    728728              <string>Extract a TRAM (animation) with character's TRBS / ONCC
    729 For example extract a Muro's TRAM  with Konoko's ONCC</string>
     729For example extract a Muro's TRAM  with Konoko's ONCC
     730(input the full path for the TRBS / ONCC.oni file)</string>
    730731             </property>
    731732             <property name="text">
     
    735736           </item>
    736737           <item>
    737             <widget class="QLineEdit" name="leTRBS_ONCC">
     738            <widget class="DropLineEdit" name="leTRBS_ONCC">
    738739             <property name="enabled">
    739740              <bool>false</bool>
     
    741742             <property name="toolTip">
    742743              <string>Extract a TRAM (animation) with character's TRBS / ONCC
    743 For example extract a Muro's TRAM  with Konoko's ONCC</string>
     744For example extract a Muro's TRAM  with Konoko's ONCC
     745(input the full path for the TRBS / ONCC.oni file)</string>
    744746             </property>
    745747             <property name="placeholderText">
    746               <string>TRBS / ONCC.oni source file</string>
     748              <string>Full path to TRBS / ONCC.oni source file</string>
    747749             </property>
    748750            </widget>
     
    14641466    <addaction name="actionSound_Wizard"/>
    14651467    <addaction name="actionBackground_Image_Wizard"/>
    1466     <addaction name="separator"/>
     1468    <addaction name="actionWindow_Messages_Wizard"/>
    14671469   </widget>
    14681470   <addaction name="menuFile"/>
     
    16791681   </property>
    16801682  </action>
     1683  <action name="actionWindow_Messages_Wizard">
     1684   <property name="icon">
     1685    <iconset resource="resources.qrc">
     1686     <normaloff>:/new/icons/windowmessages.png</normaloff>:/new/icons/windowmessages.png</iconset>
     1687   </property>
     1688   <property name="text">
     1689    <string>Window Messages Wizard</string>
     1690   </property>
     1691  </action>
    16811692 </widget>
    16821693 <layoutdefault spacing="6" margin="11"/>
     
    16851696   <class>DropTableWidget</class>
    16861697   <extends>QTableWidget</extends>
    1687    <header>droptablewidget.h</header>
     1698   <header location="global">droptablewidget.h</header>
     1699  </customwidget>
     1700  <customwidget>
     1701   <class>DropLineEdit</class>
     1702   <extends>QLineEdit</extends>
     1703   <header location="global">droplineedit.h</header>
    16881704  </customwidget>
    16891705 </customwidgets>
  • Vago/trunk/Vago/packageWizard/packagepage4.h

    r771 r1061  
    33
    44#include <QWizardPage>
    5 
    6 #include "droptablewidget.h"
     5#include <droptablewidget.h>
    76
    87namespace Ui {
  • Vago/trunk/Vago/packageWizard/packagewizard.cpp

    r1047 r1061  
    11#include "packagewizard.h"
    22
    3 PackageWizard::PackageWizard(QString workspaceWizardLocation, QSettings *vagoSettings, Logger *myLogger)
     3PackageWizard::PackageWizard(const QString &appDir, QString workspaceWizardLocation, QSettings *vagoSettings, Logger *myLogger)
     4    :AbstractWizard(appDir, workspaceWizardLocation, vagoSettings, myLogger, false)
    45{
    5     this->workspaceWizardLocation=workspaceWizardLocation;
    6     this->vagoSettings=vagoSettings;
    7     this->myLogger=myLogger;
    86    this->packagesLocation=this->workspaceWizardLocation+"/Packages";
    97}
    108
    11 int PackageWizard::exec(){
    12     QWizard myWizard;
    13 
    14     myWizard.setWindowIcon(QIcon(":/new/icons/package.png"));
    15 
    16     //Center and resize QWizard (http://www.thedazzlersinc.com/source/2012/06/04/qt-center-window-in-screen/)
    17 #ifdef Q_OS_WIN
    18     myWizard.resize(640,480);
    19 #else
    20     myWizard.resize(800,600); // Mac OS pcs should be able to render this resolution without any problem. It's also better
    21     // because the components on mac use more space
    22 #endif
    23     QRect position = myWizard.frameGeometry();
    24     position.moveCenter(QDesktopWidget().availableGeometry().center());
    25     myWizard.move(position.topLeft());
    26     //
    27 
     9void PackageWizard::exec(){
    2810    PackagePage2 *page2 = new PackagePage2(this->myLogger);
    2911    PackagePage3 *page3 = new PackagePage3();
    3012    PackagePage4 *page4 = new PackagePage4();
     13    this->page4Pointer = page4; // save the pointer in class variable
    3114    PackagePageFinal *pageFinal = new PackagePageFinal(this->vagoSettings);
    3215
    33     myWizard.addPage(createIntroPage());
     16    myWizard.addPage(
     17        createIntroPage(
     18                        "Welcome to the Anniversary Edition Installer 2 (AIE2) package"
     19                         " creator wizard.\n"
     20                         "This wizard will allow you to create in a few and simple steps a package for AIE2."
     21                        )
     22   );
    3423    myWizard.addPage(page2);
    3524    myWizard.addPage(page3);
     
    3726    myWizard.addPage(pageFinal);
    3827
    39     myWizard.setWindowTitle("AIE2 Package Creator");
    40 
    41     //If wizard finished with sucess
    42     if(myWizard.exec()){ //modal and wait for finalization
    43         createPackage(myWizard, page4);
    44     }
    45 
    46     return 0;
     28    showWizard("AIE2 Package Creator", ":/new/icons/package.png");
    4729}
    4830
    49 QWizardPage* PackageWizard::createIntroPage() {
    50     QWizardPage *page = new QWizardPage;
    51     page->setTitle("Introduction");
    5231
    53     QLabel *label = new QLabel("Welcome to the Anniversary Edition Installer 2 (AIE2) package"
    54                                " creator wizard.\n"
    55                                "This wizard will allow you to create in a few and simple steps a package for AIE2.");
    56     label->setWordWrap(true);
    57 
    58     QVBoxLayout *layout = new QVBoxLayout;
    59     layout->addWidget(label);
    60     page->setLayout(layout);
    61 
    62     return page;
    63 }
    64 
    65 void PackageWizard::createPackage(const QWizard &myWizard, PackagePage4 *page4){
     32void PackageWizard::createPackage(){
    6633    const QString aeVersion="2.0";
    6734
    6835    //Get info page 2
    69     QString modName=myWizard.field("leModName").toString();
    70     QString authors=myWizard.field("leAuthors").toString();
    71     QString version=myWizard.field("leVersion").toString();
    72     QString description=myWizard.field("ptDescription").toString();
    73     QString packageNumber=myWizard.field("lePackageNumber").toString();
    74     bool bslReplace=myWizard.field("rbReplace").toBool();
     36    QString modName=this->myWizard.field("leModName").toString();
     37    QString authors=this->myWizard.field("leAuthors").toString();
     38    QString version=this->myWizard.field("leVersion").toString();
     39    QString description=this->myWizard.field("ptDescription").toString();
     40    QString packageNumber=this->myWizard.field("lePackageNumber").toString();
     41    bool bslReplace=this->myWizard.field("rbReplace").toBool();
    7542
    7643    //Get info page 3
    77     QString dependentPackages=myWizard.field("leDependentPackages").toString();
    78     QString incompatiblePackages=myWizard.field("leIncompatiblePackages").toString();
    79     QString unlockLevels=myWizard.field("leUnlockLevels").toString();
     44    QString dependentPackages=this->myWizard.field("leDependentPackages").toString();
     45    QString incompatiblePackages=this->myWizard.field("leIncompatiblePackages").toString();
     46    QString unlockLevels=this->myWizard.field("leUnlockLevels").toString();
    8047
    8148    //Get info page 4
    82     const DropTableWidget *commonTable=page4->commonTable;
    83     const DropTableWidget *windowsTable=page4->windowsTable;
    84     const DropTableWidget *macTable=page4->macTable;
     49    const DropTableWidget *commonTable=this->page4Pointer->commonTable;
     50    const DropTableWidget *windowsTable=this->page4Pointer->windowsTable;
     51    const DropTableWidget *macTable=this->page4Pointer->macTable;
    8552
    8653    //Get info from final page
    87     bool openFolder=myWizard.field("cbOpenFolder").toBool();
    88     bool createZip=myWizard.field("cbCreateZip").toBool();
     54    bool openFolder=this->myWizard.field("cbOpenFolder").toBool();
     55    bool createZip=this->myWizard.field("cbCreateZip").toBool();
    8956    //Remember the final page choices to next time
    9057    this->vagoSettings->setValue("PackageCreator/OpenFolder",openFolder);
     
    202169    }
    203170}
     171
     172void PackageWizard::beforeClose(QDialog::DialogCode resultStatus){
     173
     174    //If wizard finished with sucess, create the package
     175    if(resultStatus == QDialog::Accepted){
     176        createPackage();
     177    }
     178}
     179
  • Vago/trunk/Vago/packageWizard/packagewizard.h

    r1047 r1061  
    22#define PACKAGEWIZARD_H
    33
    4 #include "logger.h"
     4#include "abstractwizard.h"
    55#include "packagepage2.h"
    66#include "packagepage3.h"
     
    88#include "packagepagefinal.h"
    99
    10 #include <QLabel>
    11 #include <QVBoxLayout>
    12 #include <QLineEdit>
    13 #include <QRect>
    14 #include <QDesktopWidget>
    15 #include <QTextStream>
    16 #include <QSettings>
    1710#include <JlCompress.h>
    1811
    19 class PackageWizard
     12class PackageWizard: public AbstractWizard // for signals and slots
    2013{
    21 public:
    22     PackageWizard(QString workspaceWizardLocation,QSettings *vagoSettings, Logger *myLogger);
    23     int exec();
    2414private:
    25     QWizardPage *createIntroPage();
     15    QString packagesLocation;
     16    PackagePage4 *page4Pointer = nullptr;
     17private:
    2618    void copyPackageFolders(const DropTableWidget *myTable, QString tableDir, QString modDir, bool &bslExist);
    27     void createPackage(const QWizard &myWizard, PackagePage4 *page4);
    28 
    29     Logger *myLogger;
    30     QString workspaceWizardLocation;
    31     QString packagesLocation;
    32     QSettings *vagoSettings;
     19    void createPackage();
     20    void beforeClose(QDialog::DialogCode resultStatus);
     21protected:
     22    PackageWizard(const QString &appDir, QString workspaceWizardLocation, QSettings *vagoSettings, Logger *myLogger);
     23    void exec();
    3324};
    3425
  • Vago/trunk/Vago/readme.txt

    r1058 r1061  
    11Readme.txt
    22~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    3 Vago GUI v1.2
     3Vago GUI v1.3
    44~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    55
     
    3737----------------------------------
    3838Change Log:
     39----------------------------------
     401.3, 08-12-2016
     41- Changed Sound Wizard default settings to create files that are playable as music ingame
     42- Now wizard have no longer modal windows. You can minimize and open multiple at the same time
     43- Added some tooltips to XmlTools interface
     44- Added wizard to create ingame pages like weapon / item pages or text for consoles
     45- Added drag and drop support to Extract TRAM with TRBS/ONCC
     46- Changed how about window displays the information
    3947----------------------------------
    40481.2, 30-10-2016
  • Vago/trunk/Vago/resources.qrc

    r1058 r1061  
    1717        <file>background_image.png</file>
    1818        <file>xmltoolsinterface.png</file>
     19        <file>windowmessages.png</file>
     20        <file>formatting_bold.png</file>
     21        <file>formatting_color.png</file>
     22        <file>formatting_italic.png</file>
     23        <file>formatting_underline.png</file>
    1924    </qresource>
    2025    <qresource prefix="/new/about">
  • Vago/trunk/Vago/sampleFiles/OSBDsample_file.amb.xml

    r771 r1061  
    2222        <InSound></InSound>
    2323        <OutSound></OutSound>
    24         <Treshold>3</Treshold>
     24        <Treshold>1</Treshold>
    2525        <MinOcclusion>0</MinOcclusion>
    2626    </AmbientSound>
  • Vago/trunk/Vago/sampleFiles/OSBDsample_file.grp.xml

    r771 r1061  
    33    <SoundGroup>
    44        <Volume>1</Volume>
    5         <Pitch>1</Pitch>
    6         <Flags>PreventRepeat</Flags>
     5        <Pitch>0</Pitch>
     6        <Flags></Flags>
    77        <NumberOfChannels>2</NumberOfChannels>
    88        <Permutations>
    99            <Permutation>
    10                 <Weight>10</Weight>
     10                <Weight>1</Weight>
    1111                <Volume>
    1212                    <Min>1</Min>
     
    1414                </Volume>
    1515                <Pitch>
    16                     <Min>1</Min>
    17                     <Max>1</Max>
     16                    <Min>0</Min>
     17                    <Max>0</Max>
    1818                </Pitch>
    1919                <Sound>sample_file.wav</Sound>
  • Vago/trunk/Vago/soundWizard/soundpage2.h

    r801 r1061  
    33
    44#include <QWizardPage>
     5#include <droptablewidget.h>
    56
    67#include "util.h"
    7 #include "droptablewidget.h"
    88
    99namespace Ui {
  • Vago/trunk/Vago/soundWizard/soundpage3.ui

    r790 r1061  
    181181       <widget class="QLineEdit" name="leMinOcclusion">
    182182        <property name="text">
    183          <string>3</string>
     183         <string>0</string>
    184184        </property>
    185185       </widget>
     
    195195       <widget class="QLineEdit" name="leTreshold">
    196196        <property name="text">
    197          <string>0</string>
     197         <string>1</string>
    198198        </property>
    199199       </widget>
  • Vago/trunk/Vago/soundWizard/soundpage4.ui

    r811 r1061  
    7676       <widget class="QLineEdit" name="lePitch">
    7777        <property name="text">
    78          <string>1</string>
     78         <string>0</string>
    7979        </property>
    8080       </widget>
     
    9090       <widget class="QLineEdit" name="leMinPitch">
    9191        <property name="text">
    92          <string>1</string>
     92         <string>0</string>
    9393        </property>
    9494       </widget>
     
    104104       <widget class="QLineEdit" name="leMaxPitch">
    105105        <property name="text">
    106          <string>1</string>
     106         <string>0</string>
    107107        </property>
    108108       </widget>
     
    118118       <widget class="QLineEdit" name="leWeight">
    119119        <property name="text">
    120          <string>10</string>
     120         <string>1</string>
    121121        </property>
    122122       </widget>
  • Vago/trunk/Vago/soundWizard/soundpagefinal.cpp

    r1059 r1061  
    9797    priorityHigh=field("rbPriorityHigh").toBool();
    9898    priorityHighest=field("rbPriorityHighest").toBool();
    99 
    100     if(priorityNormal){
    101         priority="Normal";
    102     }
    103     else if(priorityLow){
    104         priority="Low";
    105     }
    106     else if(priorityHigh){
    107         priority="High";
    108     }
    109     else if(priorityHighest){
    110         priority="Highest";
    111     }
    112 
    113     if(interruptOnStop){
    114         flags << "InterruptTracksOnStop";
    115     }
    116 
    117     if(playOnce){
    118         flags << "PlayOnce";
    119     }
    120 
    121     if(canPan){
    122         flags << "CanPan";
    123     }
    124 
    12599    interruptOnStop=field("cbInterruptOnStop").toBool();
    126100    playOnce=field("cbPlayOnce").toBool();
    127101    canPan=field("cbCanPan").toBool();
     102
     103    if(priorityNormal){
     104        priority="Normal";
     105    }
     106    else if(priorityLow){
     107        priority="Low";
     108    }
     109    else if(priorityHigh){
     110        priority="High";
     111    }
     112    else if(priorityHighest){
     113        priority="Highest";
     114    }
     115
     116    if(interruptOnStop){
     117        flags << "InterruptTracksOnStop";
     118    }
     119
     120    if(playOnce){
     121        flags << "PlayOnce";
     122    }
     123
     124    if(canPan){
     125        flags << "CanPan";
     126    }
    128127
    129128    sphereRadious=Util::normalizeDecimalSeparator(field("leSphereRadious").toString());
     
    207206    (*this->xmlCommands)
    208207     << "--replace-all-values -e Priority -n "+Util::insertQuotes(priority)+" -f "+Util::insertQuotes(ambFileLocation)+" --no-backups --no-verbose"
    209      << "--replace-all-values -e Flags -n "+(flags.join(" ").isEmpty() ? "\" \"" : Util::insertQuotes(flags.join(" ")))+" -f "+Util::insertQuotes(ambFileLocation)+" --no-backups --no-verbose"
     208     << "--replace-all-values -e Flags -n "+(flags.join(" ").isEmpty() ? Util::insertQuotes("") : Util::insertQuotes(flags.join(" ")))+" -f "+Util::insertQuotes(ambFileLocation)+" --no-backups --no-verbose"
    210209     << "--replace-all-values -e SphereRadius -n "+Util::insertQuotes(sphereRadious)+" -f "+Util::insertQuotes(ambFileLocation)+" --no-backups --no-verbose"
    211210     << "--replace-all-values -e Treshold -n "+Util::insertQuotes(treshold)+" -f "+Util::insertQuotes(ambFileLocation)+" --no-backups --no-verbose"
  • Vago/trunk/Vago/soundWizard/soundpagefinal.h

    r815 r1061  
    55#include <QDesktopServices>
    66#include <QUrl>
     7#include <droptablewidget.h>
    78
    8 #include "droptablewidget.h"
    99#include "logger.h"
    1010#include "xmlprocessor.h"
  • Vago/trunk/Vago/soundWizard/soundwizard.cpp

    r1054 r1061  
    11#include "soundwizard.h"
    22
    3 SoundWizard::SoundWizard(QString AppDir, QString workspaceWizardLocation, Logger *myLogger, QHash<QString, QString> *commandMap)
     3SoundWizard::SoundWizard(QString appDir, QString workspaceWizardLocation, QSettings *vagoSettings, Logger *myLogger, QHash<QString, QString> *commandMap)
     4    :AbstractWizard(appDir, workspaceWizardLocation, vagoSettings, myLogger, true)
    45{
    5     this->appLocation=AppDir;
    6     this->workspaceWizardLocation=workspaceWizardLocation;
    7     this->myLogger=myLogger;
     6    this->appDir=appDir;
    87    this->soundsLocation=this->workspaceWizardLocation+"/Sounds";
    98    this->commandMap=commandMap;
    109}
     10void SoundWizard::exec(){
    1111
    12 int SoundWizard::exec(){
    13     QPushButton *restartButton = new QPushButton("Restart");
    14     this->myWizard.setButton(QWizard::CustomButton1,restartButton);
    15     this->myWizard.setOption(QWizard::HaveCustomButton1, true);
    16 
    17     connect(&this->myWizard, SIGNAL(currentIdChanged(int)), this, SLOT(pageChanged(int)));
    18     connect(restartButton, SIGNAL(clicked(bool)), this, SLOT(restartWizard()));
    19 
    20     this->myWizard.setWindowIcon(QIcon(":/new/icons/sound.png"));
    21 
    22     //Center and resize QWizard (http://www.thedazzlersinc.com/source/2012/06/04/qt-center-window-in-screen/)
    23 #ifdef Q_OS_WIN
    24     this->myWizard.resize(640,480);
    25 #else
    26     this->myWizard.resize(800,600); // Mac OS pcs should be able to render this resolution without any problem. It's also better
    27     // because the components on mac use more space
    28 #endif
    29     QRect position =this->myWizard.frameGeometry();
    30     position.moveCenter(QDesktopWidget().availableGeometry().center());
    31     this->myWizard.move(position.topLeft());
    32     //
    33 
    34     SoundPage2 *page2 = new SoundPage2(this->appLocation);
     12    SoundPage2 *page2 = new SoundPage2(this->appDir);
    3513    SoundPage3 *page3 = new SoundPage3();
    3614    SoundPage4 *page4 = new SoundPage4();
    3715    SoundPage5 *page5 = new SoundPage5();
    38     SoundPageFinal *pageFinal = new SoundPageFinal(this->appLocation, this->soundsLocation,page2->soundTable,this->myLogger, this->commandMap);
     16    SoundPageFinal *pageFinal = new SoundPageFinal(this->appDir, this->soundsLocation,page2->soundTable,this->myLogger, this->commandMap);
    3917
    40     this->myWizard.addPage(createIntroPage());
     18    this->myWizard.addPage
     19    (
     20        createIntroPage
     21        (
     22            "Welcome to the Oni Sound wizard.\n"
     23            "This wizard will allow you to convert in a few and simple steps sounds to oni format."
     24        )
     25    );
     26
    4127    this->myWizard.addPage(page2);
    4228    this->myWizard.addPage(page3);
     
    4733    this->myWizard.setWindowTitle("Sound wizard");
    4834
    49     //If wizard finished with sucess
    50     if(myWizard.exec()){ //modal and wait for finalization
    51         //createPackage(this->myWizard, page4);
    52     }
    53 
    54     return 0;
     35    showWizard("Sound wizard", ":/new/icons/sound.png");
    5536}
    5637
    57 QWizardPage* SoundWizard::createIntroPage() {
    58     QWizardPage *page = new QWizardPage;
    59     page->setTitle("Introduction");
     38void SoundWizard::beforeClose(QDialog::DialogCode){
    6039
    61     QLabel *label = new QLabel("Welcome to the Oni Sound wizard.\n"
    62                                "This wizard will allow you to convert in a few and simple steps sounds to oni format.");
    63     label->setWordWrap(true);
    64 
    65     QVBoxLayout *layout = new QVBoxLayout;
    66     layout->addWidget(label);
    67     page->setLayout(layout);
    68 
    69     return page;
    7040}
    71 
    72 void SoundWizard::restartWizard(){
    73     this->myWizard.restart();
    74 }
    75 
    76 void SoundWizard::pageChanged(int pageId){
    77     // Last page?
    78     if(pageId==5){
    79         this->myWizard.setOption(QWizard::HaveCustomButton1, true); // set visible
    80         this->myWizard.button(QWizard::BackButton)->setEnabled(false); // disable back button, use restart if needed
    81         return;
    82     }
    83     this->myWizard.setOption(QWizard::HaveCustomButton1, false); // set invisible
    84     this->myWizard.button(QWizard::BackButton)->setEnabled(true); // set enable back button
    85 }
  • Vago/trunk/Vago/soundWizard/soundwizard.h

    r1054 r1061  
    1313// Local includes
    1414#include "util.h"
     15#include "abstractwizard.h"
    1516#include "logger.h"
    1617#include "soundpage2.h"
     
    2021#include "soundpagefinal.h"
    2122
    22 class SoundWizard: public QObject // for signals and slots
     23class SoundWizard: public AbstractWizard
    2324{
    24     Q_OBJECT // for signals and slots
    25 public:
    26     SoundWizard(QString appLocation, QString workspaceWizardLocation, Logger *myLogger, QHash<QString, QString> *commandMap);
    27     int exec();
     25protected:
     26    SoundWizard(QString appLocation, QString workspaceWizardLocation, QSettings *vagoSettings, Logger *myLogger, QHash<QString, QString> *commandMap);
     27    void exec();
     28    QHash<QString, QString> *commandMap;
    2829private:
    29     QWizard myWizard;
    30     QWizardPage* createIntroPage();
    31 
    32     QString workspaceWizardLocation;
    3330    QString soundsLocation;
    34     QString appLocation;
    35     Logger *myLogger;
    36     QHash<QString, QString> *commandMap;
    37 private slots:
    38     void restartWizard();
    39     void pageChanged(int pageId);
     31    void beforeClose(QDialog::DialogCode resultStatus);
    4032};
    4133
  • Vago/trunk/Vago/utilvago.h

    r1058 r1061  
    77namespace GlobalVars{
    88
    9 const QString AppVersion="1.2";
     9const QString AppVersion="1.3";
    1010const QString LastCompatibleVersion = "1.0";
    1111const QString ToolsFolder = "tools";
  • Vago/trunk/Vago/xmlToolsInterface/xmltoolsinterface.ui

    r1059 r1061  
    3333      <item row="0" column="0">
    3434       <widget class="QLabel" name="label">
     35        <property name="toolTip">
     36         <string>XmlTools Operation that you want to perform.
     37Learn more about them in XmlTools documentation page:
     38http://wiki.oni2.net/XmlTools</string>
     39        </property>
    3540        <property name="text">
    3641         <string>XmlTools Operation:</string>
     
    4045      <item row="0" column="1">
    4146       <widget class="QComboBox" name="cbXmlToolsOperation">
     47        <property name="toolTip">
     48         <string>XmlTools Operation that you want to perform.
     49Learn more about them in XmlTools documentation page:
     50http://wiki.oni2.net/XmlTools</string>
     51        </property>
    4252        <item>
    4353         <property name="text">
     
    226236            </sizepolicy>
    227237           </property>
     238           <property name="toolTip">
     239            <string>XML files to process (wildcards supported)
     240
     241If you are processing only one file you can also drag and drop it here.</string>
     242           </property>
    228243           <property name="text">
    229244            <string>Input File(s):</string>
     
    241256              </size>
    242257             </property>
     258             <property name="toolTip">
     259              <string>XML files to process (wildcards supported)
     260
     261If you are processing only one file you can also drag and drop it here.</string>
     262             </property>
    243263            </widget>
    244264           </item>
     
    260280            </sizepolicy>
    261281           </property>
     282           <property name="toolTip">
     283            <string>Value to be replaced or removed (use space as separator)</string>
     284           </property>
    262285           <property name="text">
    263286            <string>Current Value(s):</string>
     
    267290         <item row="1" column="1">
    268291          <widget class="QLineEdit" name="leInputCurrentValues">
     292           <property name="toolTip">
     293            <string>Value to be replaced or removed (use space as separator)</string>
     294           </property>
    269295           <property name="text">
    270296            <string/>
     
    280306            </sizepolicy>
    281307           </property>
     308           <property name="toolTip">
     309            <string>New value(s) to add or replace current value (use space as separator)</string>
     310           </property>
    282311           <property name="text">
    283312            <string>New Value(s):</string>
     
    286315         </item>
    287316         <item row="2" column="1">
    288           <widget class="QLineEdit" name="leInputNewValues"/>
     317          <widget class="QLineEdit" name="leInputNewValues">
     318           <property name="toolTip">
     319            <string>New value(s) to add or replace current value (use space as separator)</string>
     320           </property>
     321          </widget>
    289322         </item>
    290323         <item row="3" column="0">
     
    296329            </sizepolicy>
    297330           </property>
     331           <property name="toolTip">
     332            <string>Positions to be replaced [use space as separator] (zero-based index)</string>
     333           </property>
    298334           <property name="text">
    299335            <string>Position(s):</string>
     
    303339         <item row="3" column="1">
    304340          <widget class="QLineEdit" name="leInputPositions">
     341           <property name="toolTip">
     342            <string>Positions to be replaced [use space as separator] (zero-based index)</string>
     343           </property>
    305344           <property name="text">
    306345            <string/>
     
    310349         <item row="4" column="0">
    311350          <widget class="QLabel" name="lbInputDiffOldNewValue">
     351           <property name="toolTip">
     352            <string>Difference to adjust values by.
     353
     354For instance if the current value is 1 and you want it to become 3 (new value), you should input -2:
     355
     3561 (current value) - 3 (new value) = -2
     357
     358---
     359
     360You can also update multi dimensional values like &quot;1 2 3&quot;, type the difference here like &quot;-1 -1 -1&quot;. Result would be &quot;2 3 4&quot;.</string>
     361           </property>
    312362           <property name="text">
    313363            <string>Diff between old and new value:</string>
     
    316366         </item>
    317367         <item row="4" column="1">
    318           <widget class="QLineEdit" name="leInputDiffOldNewValue"/>
     368          <widget class="QLineEdit" name="leInputDiffOldNewValue">
     369           <property name="toolTip">
     370            <string>Difference to adjust values by.
     371
     372For instance if the current value is 1 and you want it to become 3 (new value), you should input -2:
     373
     3741 (current value) - 3 (new value) = -2
     375
     376---
     377
     378You can also update multi dimensional values like &quot;1 2 3&quot;, type the difference here like &quot;-1 -1 -1&quot;. Result would be &quot;2 3 4&quot;.</string>
     379           </property>
     380          </widget>
    319381         </item>
    320382        </layout>
     
    344406       <item>
    345407        <widget class="QCheckBox" name="cbOptionsNoBackups">
     408         <property name="toolTip">
     409          <string>Don't make backups of XML files (faster processing)</string>
     410         </property>
    346411         <property name="text">
    347412          <string>No Backups</string>
     
    375440         <property name="enabled">
    376441          <bool>true</bool>
     442         </property>
     443         <property name="toolTip">
     444          <string>Command for XmlTools generated by this interface, you can copy it, to later input directly in XmlTools</string>
    377445         </property>
    378446         <property name="readOnly">
     
    427495         </size>
    428496        </property>
     497        <property name="toolTip">
     498         <string>Opens a windows which previews your operation. It does NOT make any changes to the input files.
     499
     500(only available when exists only one file as input)</string>
     501        </property>
    429502        <property name="text">
    430503         <string>Preview Operation</string>
     
    456529         </size>
    457530        </property>
     531        <property name="toolTip">
     532         <string>Applies the operation to the input files</string>
     533        </property>
    458534        <property name="text">
    459535         <string>Apply Operation</string>
Note: See TracChangeset for help on using the changeset viewer.