Changeset 92 in tspsg-svn


Ignore:
Timestamp:
Feb 23, 2010, 9:21:44 PM (15 years ago)
Author:
laleppa
Message:

+ Some Windows Vista and Windows 7 eyecandy with translucent windows thanks to http://labs.trolltech.com/blogs/2009/09/15/using-blur-behind-on-windows/ :-)

Location:
trunk
Files:
2 added
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/defaults.h

    r87 r92  
    4646//! Default for "Save main window state and position"
    4747#define DEF_SAVEPOS false
     48//! Default for "Use translucency effects in Vista/7"
     49#define DEF_USE_TRANSLUCENCY true
    4850
    4951//////// TASK
  • trunk/src/globals.h

    r89 r92  
    3939// TSPSG Defaults
    4040#include "defaults.h"
     41// Vista/7 Eyecandy
     42#include "qtwin.h"
    4143
    4244// DEFINES
  • trunk/src/main.cpp

    r87 r92  
    3333#endif
    3434
     35#include "qtwin.h"
     36
    3537#ifdef STATIC_BUILD
    3638        Q_IMPORT_PLUGIN(qjpeg)
  • trunk/src/mainwindow.cpp

    r91 r92  
    225225{
    226226QPrintPreviewDialog ppd(printer, this);
    227     connect(&ppd,SIGNAL(paintRequested(QPrinter *)),SLOT(printPreview(QPrinter *)));
    228     ppd.exec();
     227        connect(&ppd,SIGNAL(paintRequested(QPrinter *)),SLOT(printPreview(QPrinter *)));
     228        ppd.exec();
    229229}
    230230
     
    258258                        QApplication::restoreOverrideCursor();
    259259                }
     260        }
     261        if (sd.translucencyChanged() != 0) {
     262                toggleTranclucency(sd.translucencyChanged() == 1);
    260263        }
    261264}
     
    352355        txtAbout->moveCursor(QTextCursor::Start);
    353356
     357        bb->button(QDialogButtonBox::Ok)->setCursor(QCursor(Qt::PointingHandCursor));
     358
    354359        vb->addLayout(hb);
    355360        vb->addWidget(txtAbout);
     
    361366
    362367        connect(bb, SIGNAL(accepted()), dlg, SLOT(accept()));
     368
     369        // Adding some eyecandy in Vista and 7 :-)
     370        if (QtWin::isCompositionEnabled())  {
     371                QtWin::enableBlurBehindWindow(dlg, true);
     372        }
    363373
    364374        dlg->resize(410, 300);
     
    758768
    759769#ifdef Q_OS_WINCE
     770        menuBar()->setDefaultAction(menuFile->menuAction());
     771#endif // Q_OS_WINCE
     772
     773#ifdef Q_OS_WINCE
    760774        //! \hack HACK: A little hack for toolbar icons to have a sane size.
    761775        toolBar->setIconSize(QSize(logicalDpiX() / 4, logicalDpiY() / 4));
    762 #endif
     776#endif // Q_OS_WINCE
    763777
    764778        solutionText->document()->setDefaultFont(settings->value("Output/Font",QFont(DEF_FONT_FAMILY,DEF_FONT_SIZE)).value<QFont>());
     
    794808        retranslateUi(false);
    795809
    796         setCentralWidget(tabWidget);
     810        // Adding some eyecandy in Vista and 7 :-)
     811        if (QtWin::isCompositionEnabled() && settings->value("UseTranslucency", DEF_USE_TRANSLUCENCY).toBool())  {
     812                toggleTranclucency(true);
     813        }
    797814}
    798815
     
    809826#endif // QT_NO_PRINTER
    810827}
     828
     829void MainWindow::toggleTranclucency(bool enable)
     830{
     831        QtWin::enableBlurBehindWindow(this, enable);
     832        QtWin::enableBlurBehindWindow(tabWidget, enable);
     833
     834        if (QtWin::enableBlurBehindWindow(tabTask, enable))
     835                tabTask->setAutoFillBackground(enable);
     836        if (QtWin::enableBlurBehindWindow(tabSolution, enable))
     837                tabSolution->setAutoFillBackground(enable);
     838}
  • trunk/src/mainwindow.h

    r87 r92  
    101101        void setupUi();
    102102        void toggleSolutionActions(bool enable = true);
     103        void toggleTranclucency(bool enable);
    103104};
    104105
  • trunk/src/settingsdialog.cpp

    r87 r92  
    3131 */
    3232SettingsDialog::SettingsDialog(QWidget *parent)
    33         : QDialog(parent), newFont(false), newColor(false)
     33        : QDialog(parent), _newFont(false), _newColor(false), _translucency(0)
    3434{
    3535        setupUi(this);
     
    6868QVBoxLayout *vbox1, *vbox2;
    6969QHBoxLayout *hbox1, *hbox2;
     70
     71        if (QtWin::isCompositionEnabled()) {
     72                cbUseTranslucency = new QCheckBox(bgWhite);
     73                cbUseTranslucency->setObjectName("cbUseTranslucency");
     74#ifndef QT_NO_STATUSTIP
     75                cbUseTranslucency->setStatusTip(tr("Use translucent effect on the Main Window under Windows Vista and 7"));
     76#endif // QT_NO_STATUSTIP
     77                cbUseTranslucency->setText(tr("Use translucency effects"));
     78                cbUseTranslucency->setCursor(QCursor(Qt::PointingHandCursor));
     79        }
    7080
    7181        cbSaveState = new QCheckBox(bgWhite);
     
    114124        vbox1 = static_cast<QVBoxLayout *>(tabGeneral->layout());
    115125        vbox1->insertWidget(vbox1->indexOf(cbUseNativeDialogs) + 1, cbSaveState);
     126#ifdef Q_OS_WIN32
     127        if (QtWin::isCompositionEnabled())
     128                vbox1->insertWidget(vbox1->indexOf(cbUseNativeDialogs) + 1, cbUseTranslucency);
     129#endif // Q_OS_WIN32
    116130
    117131        // Bottom part (with grey bg)
     
    146160        cbAutosize->setChecked(settings->value("Autosize", DEF_AUTOSIZE).toBool());
    147161        cbUseNativeDialogs->setChecked(settings->value("UseNativeDialogs", DEF_USE_NATIVE_DIALOGS).toBool());
     162#ifdef Q_OS_WIN32
     163        if (QtWin::isCompositionEnabled())
     164                cbUseTranslucency->setChecked(settings->value("UseTranslucency", DEF_USE_TRANSLUCENCY).toBool());
     165#endif // Q_OS_WIN32
    148166#ifndef Q_OS_WINCE
    149167        cbSaveState->setChecked(settings->value("SavePos", DEF_SAVEPOS).toBool());
     
    181199bool SettingsDialog::colorChanged() const
    182200{
    183         return newColor;
     201        return _newColor;
    184202}
    185203
     
    190208bool SettingsDialog::fontChanged() const
    191209{
    192         return newFont;
     210        return _newFont;
     211}
     212
     213/*!
     214 *
     215 */
     216qint8 SettingsDialog::translucencyChanged() const
     217{
     218        return _translucency;
    193219}
    194220
     
    200226        settings->setValue("SavePos", cbSaveState->isChecked());
    201227#endif // Q_OS_WINCE
     228#ifdef Q_OS_WIN32
     229        if (QtWin::isCompositionEnabled()) {
     230bool old = settings->value("UseTranslucency", DEF_USE_TRANSLUCENCY).toBool();
     231                if ((!old && cbUseTranslucency->isChecked()) || (old && !cbUseTranslucency->isChecked())) {
     232                        _translucency = old ? -1 : 1;
     233                } else
     234                        _translucency = 0;
     235                settings->setValue("UseTranslucency", cbUseTranslucency->isChecked());
     236        }
     237#endif // Q_OS_WIN32
    202238        settings->setValue("UseNativeDialogs", cbUseNativeDialogs->isChecked());
    203         settings->setValue("Autosize", cbAutosize->isChecked());
    204239
    205240        settings->beginGroup("Task");
     
    216251                settings->setValue("ShowMatrixLimit", spinCitiesLimit->value());
    217252        settings->setValue("ScrollToEnd", cbScrollToEnd->isChecked());
    218         if (newFont)
     253        if (_newFont)
    219254                settings->setValue("Font", font);
    220         if (newColor)
     255        if (_newColor)
    221256                settings->setValue("Color", color);
    222257        settings->endGroup();
     
    229264        if (color.isValid() && (this->color != color)) {
    230265                this->color = color;
    231                 newColor = true;
     266                _newColor = true;
    232267        }
    233268}
     
    239274        if (ok && (this->font != font)) {
    240275                this->font = font;
    241                 newFont = true;
     276                _newFont = true;
    242277        }
    243278}
  • trunk/src/settingsdialog.h

    r87 r92  
    4444        bool colorChanged() const;
    4545        bool fontChanged() const;
     46        qint8 translucencyChanged() const;
    4647
    4748private:
     49        bool _newFont;
     50        bool _newColor;
     51        qint8 _translucency;
     52
    4853        QColor color;
    4954        QFont font;
    50         bool newFont;
    51         bool newColor;
     55
    5256        QSettings *settings;
    5357        QHBoxLayout *layoutCitiesLimit;
     58#ifdef Q_OS_WIN32
     59        QCheckBox *cbUseTranslucency;
     60#endif // Q_OS_WIN32
    5461#ifndef Q_OS_WINCE
    5562        QCheckBox *cbSaveState;
     
    5966
    6067        bool event(QEvent *ev);
    61 #endif // Q_OS_WINCE
     68#endif
    6269
    6370private slots:
  • trunk/tspsg.pri

    r90 r92  
    2020        src/tspmodel.h \
    2121        src/tspsolver.h \
    22         src/resource.h
     22        src/resource.h \
     23        src/qtwin.h
    2324
    2425#Source files
     
    2728        src/settingsdialog.cpp \
    2829        src/tspmodel.cpp \
    29         src/tspsolver.cpp
     30        src/tspsolver.cpp \
     31        src/qtwin.cpp
    3032
    3133#Forms
  • trunk/ui/mainwindow.ui

    r80 r92  
    44 <class>MainWindow</class>
    55 <widget class="QMainWindow" name="MainWindow">
    6   <property name="geometry">
    7    <rect>
    8     <x>0</x>
    9     <y>0</y>
    10     <width>297</width>
    11     <height>353</height>
    12    </rect>
    13   </property>
    146  <property name="windowTitle">
    157   <string>Travelling Salesman Problem</string>
     
    179  <property name="windowIcon">
    1810   <iconset resource="../resources/tspsg.qrc">
    19     <normaloff>:/images/tspsg.png</normaloff>:/images/tspsg.png</iconset>
     11        <normaloff>:/images/tspsg.png</normaloff>:/images/tspsg.png</iconset>
    2012  </property>
    21   <widget class="QWidget" name="centralwidget">
    22    <widget class="QTabWidget" name="tabWidget">
    23     <property name="geometry">
    24      <rect>
    25       <x>0</x>
    26       <y>0</y>
    27       <width>287</width>
    28       <height>298</height>
    29      </rect>
    30     </property>
    31     <property name="sizePolicy">
    32      <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
    33       <horstretch>0</horstretch>
    34       <verstretch>0</verstretch>
    35      </sizepolicy>
    36     </property>
    37     <property name="tabPosition">
    38      <enum>QTabWidget::North</enum>
    39     </property>
    40     <property name="currentIndex">
    41      <number>0</number>
    42     </property>
    43     <widget class="QWidget" name="tabTask">
    44      <attribute name="title">
    45       <string>Task</string>
    46      </attribute>
    47      <layout class="QVBoxLayout">
    48       <item>
    49        <layout class="QHBoxLayout">
    50         <item>
    51          <spacer>
    52           <property name="orientation">
    53            <enum>Qt::Horizontal</enum>
    54           </property>
    55           <property name="sizeHint" stdset="0">
    56            <size>
    57             <width>40</width>
    58             <height>20</height>
    59            </size>
    60           </property>
    61          </spacer>
    62         </item>
    63         <item>
    64          <widget class="QLabel" name="labelVariant">
    65           <property name="text">
    66            <string>&amp;Variant:</string>
    67           </property>
    68           <property name="buddy">
    69            <cstring>spinVariant</cstring>
    70           </property>
    71          </widget>
    72         </item>
    73         <item>
    74          <widget class="QSpinBox" name="spinVariant">
    75           <property name="cursor">
    76            <cursorShape>PointingHandCursor</cursorShape>
    77           </property>
    78           <property name="statusTip">
    79            <string>Number of variant</string>
    80           </property>
    81           <property name="minimum">
    82            <number>1</number>
    83           </property>
    84          </widget>
    85         </item>
    86         <item>
    87          <widget class="QLabel" name="labelCities">
    88           <property name="text">
    89            <string>&amp;Cities:</string>
    90           </property>
    91           <property name="buddy">
    92            <cstring>spinCities</cstring>
    93           </property>
    94          </widget>
    95         </item>
    96         <item>
    97          <widget class="QSpinBox" name="spinCities">
    98           <property name="cursor">
    99            <cursorShape>PointingHandCursor</cursorShape>
    100           </property>
    101           <property name="statusTip">
    102            <string>Number of cities</string>
    103           </property>
    104           <property name="minimum">
    105            <number>3</number>
    106           </property>
    107           <property name="value">
    108            <number>5</number>
    109           </property>
    110          </widget>
    111         </item>
    112         <item>
    113          <spacer>
    114           <property name="orientation">
    115            <enum>Qt::Horizontal</enum>
    116           </property>
    117           <property name="sizeHint" stdset="0">
    118            <size>
    119             <width>40</width>
    120             <height>20</height>
    121            </size>
    122           </property>
    123          </spacer>
    124         </item>
    125        </layout>
    126       </item>
    127       <item>
    128        <widget class="QTableView" name="taskView">
    129         <property name="statusTip">
    130          <string>Cost of travel from city to city</string>
    131         </property>
    132         <property name="selectionMode">
    133          <enum>QAbstractItemView::NoSelection</enum>
    134         </property>
    135        </widget>
    136       </item>
    137       <item>
    138        <layout class="QHBoxLayout">
    139         <item>
    140          <spacer>
    141           <property name="orientation">
    142            <enum>Qt::Horizontal</enum>
    143           </property>
    144           <property name="sizeHint" stdset="0">
    145            <size>
    146             <width>40</width>
    147             <height>20</height>
    148            </size>
    149           </property>
    150          </spacer>
    151         </item>
    152         <item>
    153          <widget class="QPushButton" name="buttonRandom">
    154           <property name="cursor">
    155            <cursorShape>PointingHandCursor</cursorShape>
    156           </property>
    157           <property name="statusTip">
    158            <string>Fill table with random numbers</string>
    159           </property>
    160           <property name="text">
    161            <string>Random</string>
    162           </property>
    163           <property name="icon">
    164            <iconset resource="../resources/tspsg.qrc">
    165             <normaloff>:/images/icons/roll.png</normaloff>:/images/icons/roll.png</iconset>
    166           </property>
    167          </widget>
    168         </item>
    169         <item>
    170          <widget class="QPushButton" name="buttonSolve">
    171           <property name="cursor">
    172            <cursorShape>PointingHandCursor</cursorShape>
    173           </property>
    174           <property name="statusTip">
    175            <string>Solve current task</string>
    176           </property>
    177           <property name="text">
    178            <string>Solve</string>
    179           </property>
    180           <property name="icon">
    181            <iconset resource="../resources/tspsg.qrc">
    182             <normaloff>:/images/icons/button_ok.png</normaloff>:/images/icons/button_ok.png</iconset>
    183           </property>
    184          </widget>
    185         </item>
    186        </layout>
    187       </item>
    188      </layout>
    189     </widget>
    190     <widget class="QWidget" name="tabSolution">
    191      <attribute name="title">
    192       <string>Solution</string>
    193      </attribute>
    194      <layout class="QVBoxLayout" name="verticalLayout">
    195       <item>
    196        <widget class="QTextEdit" name="solutionText">
    197         <property name="enabled">
    198          <bool>false</bool>
    199         </property>
    200         <property name="statusTip">
    201          <string>Solution steps</string>
    202         </property>
    203         <property name="readOnly">
    204          <bool>true</bool>
    205         </property>
    206         <property name="textInteractionFlags">
    207          <set>Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
    208         </property>
    209        </widget>
    210       </item>
    211       <item>
    212        <layout class="QHBoxLayout" name="horizontalLayout">
    213         <item>
    214          <widget class="QPushButton" name="buttonSaveSolution">
    215           <property name="enabled">
    216            <bool>false</bool>
    217           </property>
    218           <property name="cursor">
    219            <cursorShape>PointingHandCursor</cursorShape>
    220           </property>
    221           <property name="statusTip">
    222            <string>Save solution to a file</string>
    223           </property>
    224           <property name="text">
    225            <string>Save Solution</string>
    226           </property>
    227           <property name="icon">
    228            <iconset resource="../resources/tspsg.qrc">
    229             <normaloff>:/images/icons/filesaveas.png</normaloff>:/images/icons/filesaveas.png</iconset>
    230           </property>
    231          </widget>
    232         </item>
    233         <item>
    234          <spacer name="horizontalSpacer">
    235           <property name="orientation">
    236            <enum>Qt::Horizontal</enum>
    237           </property>
    238           <property name="sizeHint" stdset="0">
    239            <size>
    240             <width>40</width>
    241             <height>20</height>
    242            </size>
    243           </property>
    244          </spacer>
    245         </item>
    246         <item>
    247          <widget class="QPushButton" name="buttonBackToTask">
    248           <property name="cursor">
    249            <cursorShape>PointingHandCursor</cursorShape>
    250           </property>
    251           <property name="statusTip">
    252            <string>Go back to Task tab</string>
    253           </property>
    254           <property name="text">
    255            <string>Back to Task</string>
    256           </property>
    257           <property name="icon">
    258            <iconset resource="../resources/tspsg.qrc">
    259             <normaloff>:/images/icons/back.png</normaloff>:/images/icons/back.png</iconset>
    260           </property>
    261          </widget>
    262         </item>
    263        </layout>
    264       </item>
    265      </layout>
    266     </widget>
     13  <widget class="QTabWidget" name="tabWidget">
     14   <property name="tabPosition">
     15        <enum>QTabWidget::North</enum>
     16   </property>
     17   <widget class="QWidget" name="tabTask">
     18        <attribute name="title">
     19         <string>Task</string>
     20        </attribute>
     21        <layout class="QVBoxLayout" name="_2">
     22         <item>
     23          <layout class="QHBoxLayout">
     24           <item>
     25                <spacer>
     26                 <property name="orientation">
     27                  <enum>Qt::Horizontal</enum>
     28                 </property>
     29                 <property name="sizeHint" stdset="0">
     30                  <size>
     31                   <width>40</width>
     32                   <height>20</height>
     33                  </size>
     34                 </property>
     35                </spacer>
     36           </item>
     37           <item>
     38                <widget class="QLabel" name="labelVariant">
     39                 <property name="text">
     40                  <string>&amp;Variant:</string>
     41                 </property>
     42                 <property name="buddy">
     43                  <cstring>spinVariant</cstring>
     44                 </property>
     45                </widget>
     46           </item>
     47           <item>
     48                <widget class="QSpinBox" name="spinVariant">
     49                 <property name="cursor">
     50                  <cursorShape>PointingHandCursor</cursorShape>
     51                 </property>
     52                 <property name="statusTip">
     53                  <string>Number of variant</string>
     54                 </property>
     55                 <property name="minimum">
     56                  <number>1</number>
     57                 </property>
     58                </widget>
     59           </item>
     60           <item>
     61                <widget class="QLabel" name="labelCities">
     62                 <property name="text">
     63                  <string>&amp;Cities:</string>
     64                 </property>
     65                 <property name="buddy">
     66                  <cstring>spinCities</cstring>
     67                 </property>
     68                </widget>
     69           </item>
     70           <item>
     71                <widget class="QSpinBox" name="spinCities">
     72                 <property name="cursor">
     73                  <cursorShape>PointingHandCursor</cursorShape>
     74                 </property>
     75                 <property name="statusTip">
     76                  <string>Number of cities</string>
     77                 </property>
     78                 <property name="minimum">
     79                  <number>3</number>
     80                 </property>
     81                 <property name="value">
     82                  <number>5</number>
     83                 </property>
     84                </widget>
     85           </item>
     86           <item>
     87                <spacer>
     88                 <property name="orientation">
     89                  <enum>Qt::Horizontal</enum>
     90                 </property>
     91                 <property name="sizeHint" stdset="0">
     92                  <size>
     93                   <width>40</width>
     94                   <height>20</height>
     95                  </size>
     96                 </property>
     97                </spacer>
     98           </item>
     99          </layout>
     100         </item>
     101         <item>
     102          <widget class="QTableView" name="taskView">
     103           <property name="statusTip">
     104                <string>Cost of travel from city to city</string>
     105           </property>
     106           <property name="selectionMode">
     107                <enum>QAbstractItemView::NoSelection</enum>
     108           </property>
     109          </widget>
     110         </item>
     111         <item>
     112          <layout class="QHBoxLayout">
     113           <item>
     114                <spacer>
     115                 <property name="orientation">
     116                  <enum>Qt::Horizontal</enum>
     117                 </property>
     118                 <property name="sizeHint" stdset="0">
     119                  <size>
     120                   <width>40</width>
     121                   <height>20</height>
     122                  </size>
     123                 </property>
     124                </spacer>
     125           </item>
     126           <item>
     127                <widget class="QPushButton" name="buttonRandom">
     128                 <property name="cursor">
     129                  <cursorShape>PointingHandCursor</cursorShape>
     130                 </property>
     131                 <property name="statusTip">
     132                  <string>Fill table with random numbers</string>
     133                 </property>
     134                 <property name="text">
     135                  <string>Random</string>
     136                 </property>
     137                 <property name="icon">
     138                  <iconset resource="../resources/tspsg.qrc">
     139                   <normaloff>:/images/icons/roll.png</normaloff>:/images/icons/roll.png</iconset>
     140                 </property>
     141                </widget>
     142           </item>
     143           <item>
     144                <widget class="QPushButton" name="buttonSolve">
     145                 <property name="cursor">
     146                  <cursorShape>PointingHandCursor</cursorShape>
     147                 </property>
     148                 <property name="statusTip">
     149                  <string>Solve current task</string>
     150                 </property>
     151                 <property name="text">
     152                  <string>Solve</string>
     153                 </property>
     154                 <property name="icon">
     155                  <iconset resource="../resources/tspsg.qrc">
     156                   <normaloff>:/images/icons/button_ok.png</normaloff>:/images/icons/button_ok.png</iconset>
     157                 </property>
     158                </widget>
     159           </item>
     160          </layout>
     161         </item>
     162        </layout>
     163   </widget>
     164   <widget class="QWidget" name="tabSolution">
     165        <attribute name="title">
     166         <string>Solution</string>
     167        </attribute>
     168        <layout class="QVBoxLayout" name="_3">
     169         <item>
     170          <widget class="QTextEdit" name="solutionText">
     171           <property name="enabled">
     172                <bool>false</bool>
     173           </property>
     174           <property name="statusTip">
     175                <string>Solution steps</string>
     176           </property>
     177           <property name="readOnly">
     178                <bool>true</bool>
     179           </property>
     180           <property name="textInteractionFlags">
     181                <set>Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
     182           </property>
     183          </widget>
     184         </item>
     185         <item>
     186          <layout class="QHBoxLayout" name="horizontalLayout">
     187           <item>
     188                <widget class="QPushButton" name="buttonSaveSolution">
     189                 <property name="enabled">
     190                  <bool>false</bool>
     191                 </property>
     192                 <property name="cursor">
     193                  <cursorShape>PointingHandCursor</cursorShape>
     194                 </property>
     195                 <property name="statusTip">
     196                  <string>Save solution to a file</string>
     197                 </property>
     198                 <property name="text">
     199                  <string>Save Solution</string>
     200                 </property>
     201                 <property name="icon">
     202                  <iconset resource="../resources/tspsg.qrc">
     203                   <normaloff>:/images/icons/filesaveas.png</normaloff>:/images/icons/filesaveas.png</iconset>
     204                 </property>
     205                </widget>
     206           </item>
     207           <item>
     208                <spacer name="horizontalSpacer">
     209                 <property name="orientation">
     210                  <enum>Qt::Horizontal</enum>
     211                 </property>
     212                 <property name="sizeHint" stdset="0">
     213                  <size>
     214                   <width>40</width>
     215                   <height>20</height>
     216                  </size>
     217                 </property>
     218                </spacer>
     219           </item>
     220           <item>
     221                <widget class="QPushButton" name="buttonBackToTask">
     222                 <property name="cursor">
     223                  <cursorShape>PointingHandCursor</cursorShape>
     224                 </property>
     225                 <property name="statusTip">
     226                  <string>Go back to Task tab</string>
     227                 </property>
     228                 <property name="text">
     229                  <string>Back to Task</string>
     230                 </property>
     231                 <property name="icon">
     232                  <iconset resource="../resources/tspsg.qrc">
     233                   <normaloff>:/images/icons/back.png</normaloff>:/images/icons/back.png</iconset>
     234                 </property>
     235                </widget>
     236           </item>
     237          </layout>
     238         </item>
     239        </layout>
    267240   </widget>
    268241  </widget>
    269242  <widget class="QMenuBar" name="menubar">
    270243   <property name="geometry">
    271     <rect>
    272     <x>0</x>
    273     <y>0</y>
    274      <width>297</width>
    275     <height>21</height>
    276     </rect>
     244        <rect>
     245        <x>0</x>
     246        <y>0</y>
     247         <width>287</width>
     248        <height>21</height>
     249        </rect>
    277250   </property>
    278251   <widget class="QMenu" name="menuFile">
    279     <property name="windowIcon">
    280     <iconset>
    281       <normaloff/>
    282     </iconset>
    283     </property>
    284     <property name="title">
    285     <string>&amp;File</string>
    286     </property>
    287     <widget class="QMenu" name="menuFileSaveAs">
    288     <property name="title">
    289       <string>Save &amp;As</string>
    290     </property>
    291     <property name="icon">
    292       <iconset resource="../resources/tspsg.qrc">
    293        <normaloff>:/images/icons/filesaveas.png</normaloff>:/images/icons/filesaveas.png</iconset>
    294     </property>
    295     <addaction name="actionFileSaveAsTask"/>
    296     <addaction name="actionFileSaveAsSolution"/>
    297     </widget>
    298     <addaction name="actionFileNew"/>
    299     <addaction name="actionFileOpen"/>
    300     <addaction name="actionFileSave"/>
    301     <addaction name="menuFileSaveAs"/>
    302     <addaction name="separator"/>
    303     <addaction name="actionFileExit"/>
     252        <property name="windowIcon">
     253        <iconset>
     254          <normaloff/>
     255        </iconset>
     256        </property>
     257        <property name="title">
     258        <string>&amp;File</string>
     259        </property>
     260        <widget class="QMenu" name="menuFileSaveAs">
     261        <property name="title">
     262          <string>Save &amp;As</string>
     263        </property>
     264        <property name="icon">
     265          <iconset resource="../resources/tspsg.qrc">
     266           <normaloff>:/images/icons/filesaveas.png</normaloff>:/images/icons/filesaveas.png</iconset>
     267        </property>
     268        <addaction name="actionFileSaveAsTask"/>
     269        <addaction name="actionFileSaveAsSolution"/>
     270        </widget>
     271        <addaction name="actionFileNew"/>
     272        <addaction name="actionFileOpen"/>
     273        <addaction name="actionFileSave"/>
     274        <addaction name="menuFileSaveAs"/>
     275        <addaction name="separator"/>
     276        <addaction name="actionFileExit"/>
    304277   </widget>
    305278   <widget class="QMenu" name="menuSettings">
    306     <property name="title">
    307     <string>&amp;Settings</string>
    308     </property>
    309     <widget class="QMenu" name="menuSettingsLanguage">
    310     <property name="toolTip">
    311       <string>Select language</string>
    312     </property>
    313     <property name="statusTip">
    314       <string>Select application language</string>
    315     </property>
    316     <property name="title">
    317       <string comment="Please, append &quot; / Language&quot; when translating this string.">&amp;Language</string>
    318     </property>
    319     <property name="icon">
    320       <iconset resource="../resources/tspsg.qrc">
    321        <normaloff>:/images/icons/locale.png</normaloff>:/images/icons/locale.png</iconset>
    322     </property>
    323     <addaction name="actionSettingsLanguageAutodetect"/>
    324     <addaction name="separator"/>
    325     <addaction name="actionSettingsLanguageEnglish"/>
    326     </widget>
    327     <addaction name="menuSettingsLanguage"/>
    328     <addaction name="separator"/>
    329     <addaction name="actionSettingsPreferences"/>
     279        <property name="title">
     280        <string>&amp;Settings</string>
     281        </property>
     282        <widget class="QMenu" name="menuSettingsLanguage">
     283        <property name="toolTip">
     284          <string>Select language</string>
     285        </property>
     286        <property name="statusTip">
     287          <string>Select application language</string>
     288        </property>
     289        <property name="title">
     290          <string comment="Please, append &quot; / Language&quot; when translating this string.">&amp;Language</string>
     291        </property>
     292        <property name="icon">
     293          <iconset resource="../resources/tspsg.qrc">
     294           <normaloff>:/images/icons/locale.png</normaloff>:/images/icons/locale.png</iconset>
     295        </property>
     296        <addaction name="actionSettingsLanguageAutodetect"/>
     297        <addaction name="separator"/>
     298        <addaction name="actionSettingsLanguageEnglish"/>
     299        </widget>
     300        <addaction name="menuSettingsLanguage"/>
     301        <addaction name="separator"/>
     302        <addaction name="actionSettingsPreferences"/>
    330303   </widget>
    331304   <widget class="QMenu" name="menuHelp">
    332     <property name="title">
    333     <string>&amp;Help</string>
    334     </property>
    335     <addaction name="actionHelpContents"/>
    336     <addaction name="actionHelpContextual"/>
    337     <addaction name="separator"/>
    338     <addaction name="actionHelpAboutQt"/>
    339     <addaction name="actionHelpAbout"/>
     305        <property name="title">
     306        <string>&amp;Help</string>
     307        </property>
     308        <addaction name="actionHelpContents"/>
     309        <addaction name="actionHelpContextual"/>
     310        <addaction name="separator"/>
     311        <addaction name="actionHelpAboutQt"/>
     312        <addaction name="actionHelpAbout"/>
    340313   </widget>
    341314   <addaction name="menuFile"/>
     
    345318  <widget class="QToolBar" name="toolBar">
    346319   <property name="cursor">
    347     <cursorShape>ArrowCursor</cursorShape>
     320        <cursorShape>ArrowCursor</cursorShape>
    348321   </property>
    349322   <property name="windowTitle">
    350     <string>Toolbar</string>
     323        <string>Toolbar</string>
    351324   </property>
    352325   <attribute name="toolBarArea">
    353     <enum>TopToolBarArea</enum>
     326        <enum>TopToolBarArea</enum>
    354327   </attribute>
    355328   <attribute name="toolBarBreak">
    356     <bool>false</bool>
     329        <bool>false</bool>
    357330   </attribute>
    358331   <addaction name="actionFileNew"/>
     
    366339  <action name="actionFileSaveAsSolution">
    367340   <property name="enabled">
    368     <bool>false</bool>
    369    </property>
    370    <property name="text">
    371     <string>&amp;Solution...</string>
     341        <bool>false</bool>
     342   </property>
     343   <property name="text">
     344        <string>&amp;Solution...</string>
    372345   </property>
    373346   <property name="toolTip">
    374     <string>Save solution</string>
    375    </property>
    376    <property name="statusTip">
    377     <string>Save solution to a file</string>
     347        <string>Save solution</string>
     348   </property>
     349   <property name="statusTip">
     350        <string>Save solution to a file</string>
    378351   </property>
    379352  </action>
    380353  <action name="actionFileNew">
    381354   <property name="icon">
    382     <iconset resource="../resources/tspsg.qrc">
    383     <normaloff>:/images/icons/filenew.png</normaloff>:/images/icons/filenew.png</iconset>
    384    </property>
    385    <property name="text">
    386     <string>&amp;New</string>
     355        <iconset resource="../resources/tspsg.qrc">
     356        <normaloff>:/images/icons/filenew.png</normaloff>:/images/icons/filenew.png</iconset>
     357   </property>
     358   <property name="text">
     359        <string>&amp;New</string>
    387360   </property>
    388361   <property name="toolTip">
    389     <string>New task</string>
    390    </property>
    391    <property name="statusTip">
    392     <string>Create new task</string>
     362        <string>New task</string>
     363   </property>
     364   <property name="statusTip">
     365        <string>Create new task</string>
    393366   </property>
    394367   <property name="shortcut">
    395     <string>Ctrl+N</string>
     368        <string>Ctrl+N</string>
    396369   </property>
    397370  </action>
    398371  <action name="actionFileOpen">
    399372   <property name="icon">
    400     <iconset resource="../resources/tspsg.qrc">
    401     <normaloff>:/images/icons/fileopen.png</normaloff>:/images/icons/fileopen.png</iconset>
    402    </property>
    403    <property name="text">
    404     <string>&amp;Open...</string>
     373        <iconset resource="../resources/tspsg.qrc">
     374        <normaloff>:/images/icons/fileopen.png</normaloff>:/images/icons/fileopen.png</iconset>
     375   </property>
     376   <property name="text">
     377        <string>&amp;Open...</string>
    405378   </property>
    406379   <property name="toolTip">
    407     <string>Open task</string>
    408    </property>
    409    <property name="statusTip">
    410     <string>Open saved task</string>
     380        <string>Open task</string>
     381   </property>
     382   <property name="statusTip">
     383        <string>Open saved task</string>
    411384   </property>
    412385   <property name="shortcut">
    413     <string>Ctrl+O</string>
     386        <string>Ctrl+O</string>
    414387   </property>
    415388  </action>
    416389  <action name="actionSettingsPreferences">
    417390   <property name="icon">
    418     <iconset resource="../resources/tspsg.qrc">
    419     <normaloff>:/images/icons/preferences_system.png</normaloff>:/images/icons/preferences_system.png</iconset>
    420    </property>
    421    <property name="text">
    422     <string>&amp;Preferences...</string>
    423    </property>
    424    <property name="statusTip">
    425     <string>Application preferences</string>
     391        <iconset resource="../resources/tspsg.qrc">
     392        <normaloff>:/images/icons/preferences_system.png</normaloff>:/images/icons/preferences_system.png</iconset>
     393   </property>
     394   <property name="text">
     395        <string>&amp;Preferences...</string>
     396   </property>
     397   <property name="statusTip">
     398        <string>Application preferences</string>
    426399   </property>
    427400  </action>
    428401  <action name="actionHelpContents">
    429402   <property name="enabled">
    430     <bool>false</bool>
    431    </property>
    432    <property name="icon">
    433     <iconset resource="../resources/tspsg.qrc">
    434     <normaloff>:/images/icons/contents.png</normaloff>:/images/icons/contents.png</iconset>
    435    </property>
    436    <property name="text">
    437     <string>&amp;Contents</string>
    438    </property>
    439    <property name="statusTip">
    440     <string>Open help contents</string>
     403        <bool>false</bool>
     404   </property>
     405   <property name="icon">
     406        <iconset resource="../resources/tspsg.qrc">
     407        <normaloff>:/images/icons/contents.png</normaloff>:/images/icons/contents.png</iconset>
     408   </property>
     409   <property name="text">
     410        <string>&amp;Contents</string>
     411   </property>
     412   <property name="statusTip">
     413        <string>Open help contents</string>
    441414   </property>
    442415   <property name="shortcut">
    443     <string>Ctrl+F1</string>
     416        <string>Ctrl+F1</string>
    444417   </property>
    445418  </action>
    446419  <action name="actionHelpContextual">
    447420   <property name="enabled">
    448     <bool>false</bool>
    449    </property>
    450    <property name="icon">
    451     <iconset resource="../resources/tspsg.qrc">
    452     <normaloff>:/images/icons/help_browser.png</normaloff>:/images/icons/help_browser.png</iconset>
    453    </property>
    454    <property name="text">
    455     <string>Context &amp;Help</string>
    456    </property>
    457    <property name="statusTip">
    458     <string>Open context help</string>
     421        <bool>false</bool>
     422   </property>
     423   <property name="icon">
     424        <iconset resource="../resources/tspsg.qrc">
     425        <normaloff>:/images/icons/help_browser.png</normaloff>:/images/icons/help_browser.png</iconset>
     426   </property>
     427   <property name="text">
     428        <string>Context &amp;Help</string>
     429   </property>
     430   <property name="statusTip">
     431        <string>Open context help</string>
    459432   </property>
    460433   <property name="shortcut">
    461     <string>F1</string>
     434        <string>F1</string>
    462435   </property>
    463436  </action>
    464437  <action name="actionHelpAbout">
    465438   <property name="icon">
    466     <iconset resource="../resources/tspsg.qrc">
    467     <normaloff>:/images/icons/help_about.png</normaloff>:/images/icons/help_about.png</iconset>
    468    </property>
    469    <property name="text">
    470     <string>&amp;About TSPSG...</string>
    471    </property>
    472    <property name="statusTip">
    473     <string>About application</string>
     439        <iconset resource="../resources/tspsg.qrc">
     440        <normaloff>:/images/icons/help_about.png</normaloff>:/images/icons/help_about.png</iconset>
     441   </property>
     442   <property name="text">
     443        <string>&amp;About TSPSG...</string>
     444   </property>
     445   <property name="statusTip">
     446        <string>About application</string>
    474447   </property>
    475448  </action>
    476449  <action name="actionFileExit">
    477450   <property name="icon">
    478     <iconset resource="../resources/tspsg.qrc">
    479     <normaloff>:/images/icons/exit.png</normaloff>:/images/icons/exit.png</iconset>
    480    </property>
    481    <property name="text">
    482     <string>E&amp;xit</string>
    483    </property>
    484    <property name="statusTip">
    485     <string>Exit application</string>
     451        <iconset resource="../resources/tspsg.qrc">
     452        <normaloff>:/images/icons/exit.png</normaloff>:/images/icons/exit.png</iconset>
     453   </property>
     454   <property name="text">
     455        <string>E&amp;xit</string>
     456   </property>
     457   <property name="statusTip">
     458        <string>Exit application</string>
    486459   </property>
    487460  </action>
    488461  <action name="actionFileSaveAsTask">
    489462   <property name="text">
    490     <string>&amp;Task...</string>
     463        <string>&amp;Task...</string>
    491464   </property>
    492465   <property name="toolTip">
    493     <string>Save task</string>
    494    </property>
    495    <property name="statusTip">
    496     <string>Save task to file</string>
     466        <string>Save task</string>
     467   </property>
     468   <property name="statusTip">
     469        <string>Save task to file</string>
    497470   </property>
    498471  </action>
    499472  <action name="actionSettingsLanguageAutodetect">
    500473   <property name="checkable">
    501     <bool>true</bool>
     474        <bool>true</bool>
    502475   </property>
    503476   <property name="checked">
    504     <bool>true</bool>
    505    </property>
    506    <property name="text">
    507     <string>&amp;Autodetect</string>
     477        <bool>true</bool>
     478   </property>
     479   <property name="text">
     480        <string>&amp;Autodetect</string>
    508481   </property>
    509482   <property name="toolTip">
    510     <string>Detect language automatically</string>
    511    </property>
    512    <property name="statusTip">
    513     <string>Detect language automatically based on regional settings</string>
     483        <string>Detect language automatically</string>
     484   </property>
     485   <property name="statusTip">
     486        <string>Detect language automatically based on regional settings</string>
    514487   </property>
    515488  </action>
    516489  <action name="actionSettingsLanguageEnglish">
    517490   <property name="checkable">
    518     <bool>true</bool>
     491        <bool>true</bool>
    519492   </property>
    520493   <property name="checked">
    521     <bool>true</bool>
    522    </property>
    523    <property name="text">
    524     <string notr="true">&amp;English</string>
     494        <bool>true</bool>
     495   </property>
     496   <property name="text">
     497        <string notr="true">&amp;English</string>
    525498   </property>
    526499   <property name="iconText">
    527     <string notr="true">English</string>
     500        <string notr="true">English</string>
    528501   </property>
    529502  </action>
    530503  <action name="actionFileSave">
    531504   <property name="icon">
    532     <iconset resource="../resources/tspsg.qrc">
    533     <normaloff>:/images/icons/filesave.png</normaloff>:/images/icons/filesave.png</iconset>
    534    </property>
    535    <property name="text">
    536     <string>&amp;Save</string>
     505        <iconset resource="../resources/tspsg.qrc">
     506        <normaloff>:/images/icons/filesave.png</normaloff>:/images/icons/filesave.png</iconset>
     507   </property>
     508   <property name="text">
     509        <string>&amp;Save</string>
    537510   </property>
    538511   <property name="toolTip">
    539     <string>Save task</string>
    540    </property>
    541    <property name="statusTip">
    542     <string>Save current task</string>
     512        <string>Save task</string>
     513   </property>
     514   <property name="statusTip">
     515        <string>Save current task</string>
    543516   </property>
    544517   <property name="shortcut">
    545     <string>Ctrl+S</string>
     518        <string>Ctrl+S</string>
    546519   </property>
    547520  </action>
    548521  <action name="actionHelpAboutQt">
    549522   <property name="icon">
    550     <iconset resource="../resources/tspsg.qrc">
    551     <normaloff>:/images/icons/qtlogo-64.png</normaloff>:/images/icons/qtlogo-64.png</iconset>
    552    </property>
    553    <property name="text">
    554     <string>About &amp;Qt...</string>
    555    </property>
    556    <property name="statusTip">
    557     <string>About Qt library</string>
     523        <iconset resource="../resources/tspsg.qrc">
     524        <normaloff>:/images/icons/qtlogo-64.png</normaloff>:/images/icons/qtlogo-64.png</iconset>
     525   </property>
     526   <property name="text">
     527        <string>About &amp;Qt...</string>
     528   </property>
     529   <property name="statusTip">
     530        <string>About Qt library</string>
    558531   </property>
    559532  </action>
     
    569542   <slot>close()</slot>
    570543   <hints>
    571     <hint type="sourcelabel">
    572     <x>-1</x>
    573     <y>-1</y>
    574     </hint>
    575     <hint type="destinationlabel">
    576     <x>294</x>
    577     <y>229</y>
    578     </hint>
     544        <hint type="sourcelabel">
     545        <x>-1</x>
     546        <y>-1</y>
     547        </hint>
     548        <hint type="destinationlabel">
     549        <x>294</x>
     550        <y>229</y>
     551        </hint>
    579552   </hints>
    580553  </connection>
     
    585558   <slot>trigger()</slot>
    586559   <hints>
    587     <hint type="sourcelabel">
    588     <x>58</x>
    589     <y>327</y>
    590     </hint>
    591     <hint type="destinationlabel">
    592     <x>-1</x>
    593     <y>-1</y>
    594     </hint>
     560        <hint type="sourcelabel">
     561        <x>58</x>
     562        <y>327</y>
     563        </hint>
     564        <hint type="destinationlabel">
     565        <x>-1</x>
     566        <y>-1</y>
     567        </hint>
    595568   </hints>
    596569  </connection>
Note: See TracChangeset for help on using the changeset viewer.