eliot-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Eliot-dev] eliot/qt aux_window.cpp aux_window.h board_widg...


From: eliot-dev
Subject: [Eliot-dev] eliot/qt aux_window.cpp aux_window.h board_widg...
Date: Sat, 26 Jan 2008 23:03:36 +0000

CVSROOT:        /cvsroot/eliot
Module name:    eliot
Changes by:     Olivier Teulière <ipkiss>      08/01/26 23:03:36

Modified files:
        qt             : aux_window.cpp aux_window.h board_widget.cpp 
                         history_widget.cpp main_window.cpp 
                         main_window.h player_widget.cpp 
                         prefs_dialog.cpp qtcommon.h training_widget.cpp 
                         training_widget.h 
        qt/ui          : main_window.ui training_widget.ui 

Log message:
         - Allow sorting the training results
         - Added auxiliary windows for the history and the external board
         - Gave a title to auxiliary windows and remember their position (more 
or less) and size
         - Auxiliary windows do not survive anymore after the main one
         - Preferences are now stored in a sensible place

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/eliot/qt/aux_window.cpp?cvsroot=eliot&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/eliot/qt/aux_window.h?cvsroot=eliot&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/eliot/qt/board_widget.cpp?cvsroot=eliot&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/eliot/qt/history_widget.cpp?cvsroot=eliot&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/eliot/qt/main_window.cpp?cvsroot=eliot&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/eliot/qt/main_window.h?cvsroot=eliot&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/eliot/qt/player_widget.cpp?cvsroot=eliot&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/eliot/qt/prefs_dialog.cpp?cvsroot=eliot&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/eliot/qt/qtcommon.h?cvsroot=eliot&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/eliot/qt/training_widget.cpp?cvsroot=eliot&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/eliot/qt/training_widget.h?cvsroot=eliot&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/eliot/qt/ui/main_window.ui?cvsroot=eliot&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/eliot/qt/ui/training_widget.ui?cvsroot=eliot&r1=1.1&r2=1.2

Patches:
Index: aux_window.cpp
===================================================================
RCS file: /cvsroot/eliot/eliot/qt/aux_window.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- aux_window.cpp      20 Jan 2008 18:40:12 -0000      1.1
+++ aux_window.cpp      26 Jan 2008 23:03:32 -0000      1.2
@@ -18,19 +18,28 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  *****************************************************************************/
 
+#include "config.h"
+
 #include <QtGui/QAction>
 #include <QtGui/QWidget>
 #include <QtGui/QVBoxLayout>
+#include <QtGui/QCloseEvent>
+#include <QtCore/QSettings>
 
 #include "aux_window.h"
+#include "qtcommon.h"
 
 
-AuxWindow::AuxWindow(QWidget &iWidget, QAction *iAction)
-    : m_widget(iWidget), m_action(iAction)
+AuxWindow::AuxWindow(QWidget &iWidget, QString iWindowTitle,
+                     QString iWindowName, QAction *iAction)
+    : m_widget(iWidget), m_windowName(iWindowName), m_action(iAction)
 {
+    setWindowTitle(iWindowTitle);
     QVBoxLayout *layout = new QVBoxLayout;
     layout->addWidget(&iWidget);
     setLayout(layout);
+
+    readSettings();
 }
 
 
@@ -40,7 +49,16 @@
 }
 
 
-void AuxWindow::showEvent(QShowEvent * event)
+void AuxWindow::toggleVisibility()
+{
+    if (isVisible())
+        hide();
+    else
+        show();
+}
+
+
+void AuxWindow::showEvent(QShowEvent *event)
 {
     if (m_action)
         m_action->setChecked(true);
@@ -48,10 +66,39 @@
 }
 
 
-void AuxWindow::hideEvent(QHideEvent * event)
+void AuxWindow::hideEvent(QHideEvent *event)
 {
     if (m_action)
         m_action->setChecked(false);
     QWidget::hideEvent(event);
 }
 
+
+void AuxWindow::closeEvent(QCloseEvent *event)
+{
+    writeSettings();
+    event->accept();
+}
+
+
+void AuxWindow::writeSettings() const
+{
+    QSettings settings(ORGANIZATION, PACKAGE_NAME);
+    settings.beginGroup(m_windowName);
+    settings.setValue("size", size());
+    settings.setValue("pos", pos());
+    settings.endGroup();
+}
+
+
+void AuxWindow::readSettings()
+{
+    QSettings settings(ORGANIZATION, PACKAGE_NAME);
+    settings.beginGroup(m_windowName);
+    QSize size = settings.value("size").toSize();
+    if (size.isValid())
+        resize(size);
+    move(settings.value("pos", QPoint(200, 200)).toPoint());
+    settings.endGroup();
+}
+

Index: aux_window.h
===================================================================
RCS file: /cvsroot/eliot/eliot/qt/aux_window.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- aux_window.h        20 Jan 2008 18:40:12 -0000      1.1
+++ aux_window.h        26 Jan 2008 23:03:34 -0000      1.2
@@ -39,20 +39,36 @@
     /**
      * Constructor. The AuxWindow takes ownership of the given widget (i.e. it
      * is responsible for its deletion).
-     * The optional action checked/unchecked when the window is shown/hidden
+     * @param iWindowTitle: title of the window; e.g.: "Bag"
+     * @param iWindowName: name of the window, used in the settings
+     *      e.g.: "BagWindow"
+     * @param iAction: if not NULL, it will be checked/unchecked when the
+     *      window is shown/hidden
      */
-    AuxWindow(QWidget &iWidget, QAction *iAction = NULL);
+    AuxWindow(QWidget &iWidget, QString iWindowTitle,
+              QString iWindowName, QAction *iAction = NULL);
     ~AuxWindow();
 
+    void toggleVisibility();
+
 protected:
     virtual void showEvent(QShowEvent *event);
     virtual void hideEvent(QHideEvent *event);
+    virtual void closeEvent(QCloseEvent *event);
 
 private:
     QWidget &m_widget;
 
+    /// Name of the window, used to save its state
+    QString m_windowName;
+
     /// Action to check/uncheck
     QAction *m_action;
+
+    /// Save window state
+    void writeSettings() const;
+    /// Restore window state
+    void readSettings();
 };
 
 #endif

Index: board_widget.cpp
===================================================================
RCS file: /cvsroot/eliot/eliot/qt/board_widget.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- board_widget.cpp    26 Jan 2008 16:58:46 -0000      1.3
+++ board_widget.cpp    26 Jan 2008 23:03:34 -0000      1.4
@@ -66,7 +66,7 @@
 
 QSize BoardWidget::sizeHint() const
 {
-    return QSize(300, 300);
+    return QSize(400, 400);
 }
 
 

Index: history_widget.cpp
===================================================================
RCS file: /cvsroot/eliot/eliot/qt/history_widget.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- history_widget.cpp  26 Jan 2008 16:58:47 -0000      1.4
+++ history_widget.cpp  26 Jan 2008 23:03:34 -0000      1.5
@@ -18,7 +18,8 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  *****************************************************************************/
 
-#include <iostream>
+#include "config.h"
+
 #include <QtGui/QTreeView>
 #include <QtGui/QTabWidget>
 #include <QtGui/QStandardItemModel>
@@ -89,7 +90,7 @@
     if (m_history != NULL && m_history->getSize() != 0)
     {
         // Should we align the rack with its solution?
-        QSettings qs;
+        QSettings qs(ORGANIZATION, PACKAGE_NAME);
         bool align = qs.value(PrefsDialog::kINTF_ALIGN_HISTORY).toBool();
 
         if (!align)

Index: main_window.cpp
===================================================================
RCS file: /cvsroot/eliot/eliot/qt/main_window.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- main_window.cpp     26 Jan 2008 16:58:47 -0000      1.6
+++ main_window.cpp     26 Jan 2008 23:03:34 -0000      1.7
@@ -25,6 +25,7 @@
 #include <QtGui/QMessageBox>
 #include <QtGui/QFileDialog>
 #include <QtGui/QDockWidget>
+#include <QtGui/QCloseEvent>
 #include <QtCore/QSettings>
 
 #include "main_window.h"
@@ -53,7 +54,8 @@
 
 MainWindow::MainWindow(QWidget *iParent)
     : QMainWindow(iParent), m_dic(NULL), m_game(NULL), m_newGameDialog(NULL),
-    m_prefsDialog(NULL), m_bagWindow(NULL)
+    m_prefsDialog(NULL), m_bagWindow(NULL), m_boardWindow(NULL),
+    m_historyWindow(NULL)
 {
     m_ui.setupUi(this);
     QObject::connect(this, SIGNAL(gameChanged(const Game*)),
@@ -109,7 +111,7 @@
     emit gameChanged(NULL);
 
     // Load dictionary
-    QSettings qs;
+    QSettings qs(ORGANIZATION, PACKAGE_NAME);
     QString dicPath = qs.value(PrefsDialog::kINTF_DIC_PATH, "").toString();
     // FIXME: the messages are not displayed anymore when the window is shown
     if (dicPath == "")
@@ -134,6 +136,8 @@
 MainWindow::~MainWindow()
 {
     delete m_bagWindow;
+    delete m_boardWindow;
+    delete m_historyWindow;
     delete m_game;
     delete m_dic;
 }
@@ -197,6 +201,19 @@
 }
 
 
+void MainWindow::closeEvent(QCloseEvent *event)
+{
+    // Make sure auxiliary windows don't survive after the main one
+    if (m_bagWindow)
+        m_bagWindow->close();
+    if (m_boardWindow)
+        m_boardWindow->close();
+    if (m_historyWindow)
+        m_historyWindow->close();
+    event->accept();
+}
+
+
 void MainWindow::on_action_GameNew_triggered()
 {
     if (m_dic == NULL)
@@ -311,7 +328,7 @@
             displayInfoMsg(QString("Loaded dictionary '%1'").arg(fileName));
 
             // Save the location of the dictionary in the preferences
-            QSettings qs;
+            QSettings qs(ORGANIZATION, PACKAGE_NAME);
             QString dicPath = qs.value(PrefsDialog::kINTF_DIC_PATH, 
"").toString();
             qs.setValue(PrefsDialog::kINTF_DIC_PATH, fileName);
         }
@@ -327,21 +344,53 @@
 {
     if (m_bagWindow == NULL)
     {
-        // Create the bag window
-        BagWidget *bagWidget = new BagWidget(NULL);
-        bagWidget->setGame(m_game);
-        m_bagWindow = new AuxWindow(*bagWidget, m_ui.action_WindowsBag);
+        // Create the window
+        BagWidget *bag = new BagWidget(NULL);
+        bag->setGame(m_game);
+        m_bagWindow = new AuxWindow(*bag, _q("Bag"), "BagWindow",
+                                    m_ui.action_WindowsBag);
         QObject::connect(this, SIGNAL(gameChanged(const Game*)),
-                         bagWidget, SLOT(setGame(const Game*)));
+                         bag, SLOT(setGame(const Game*)));
         QObject::connect(this, SIGNAL(gameUpdated()),
-                         bagWidget, SLOT(refresh()));
-        // XXX
-        m_bagWindow->move(20, 20);
+                         bag, SLOT(refresh()));
     }
-    if (m_bagWindow->isVisible())
-        m_bagWindow->hide();
-    else
-        m_bagWindow->show();
+    m_bagWindow->toggleVisibility();
+}
+
+
+void MainWindow::on_action_WindowsBoard_triggered()
+{
+    if (m_boardWindow == NULL)
+    {
+        // Create the window
+        BoardWidget *board = new BoardWidget(NULL);
+        board->setGame(m_game);
+        m_boardWindow = new AuxWindow(*board, _q("Board"), "BoardWindow",
+                                      m_ui.action_WindowsBoard);
+        QObject::connect(this, SIGNAL(gameChanged(const Game*)),
+                         board, SLOT(setGame(const Game*)));
+        QObject::connect(this, SIGNAL(gameUpdated()),
+                         board, SLOT(refresh()));
+    }
+    m_boardWindow->toggleVisibility();
+}
+
+
+void MainWindow::on_action_WindowsHistory_triggered()
+{
+    if (m_historyWindow == NULL)
+    {
+        // Create the window
+        HistoryTabWidget *history = new HistoryTabWidget(NULL);
+        history->setGame(m_game);
+        m_historyWindow = new AuxWindow(*history, _q("History"), 
"HistoryWindow",
+                                        m_ui.action_WindowsHistory);
+        QObject::connect(this, SIGNAL(gameChanged(const Game*)),
+                         history, SLOT(setGame(const Game*)));
+        QObject::connect(this, SIGNAL(gameUpdated()),
+                         history, SLOT(refresh()));
+    }
+    m_historyWindow->toggleVisibility();
 }
 
 

Index: main_window.h
===================================================================
RCS file: /cvsroot/eliot/eliot/qt/main_window.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- main_window.h       26 Jan 2008 16:58:47 -0000      1.6
+++ main_window.h       26 Jan 2008 23:03:34 -0000      1.7
@@ -54,6 +54,10 @@
     void displayErrorMsg(QString iMsg, QString iContext = "");
     void displayInfoMsg(QString iMsg);
 
+protected:
+    /// Handler for close events
+    virtual void closeEvent(QCloseEvent * e);
+
 private slots:
     void on_action_GameNew_triggered();
     void on_action_GameLoad_triggered();
@@ -61,6 +65,8 @@
     void on_action_SettingsChooseDic_triggered();
     void on_action_SettingsPreferences_triggered();
     void on_action_WindowsBag_triggered();
+    void on_action_WindowsBoard_triggered();
+    void on_action_WindowsHistory_triggered();
     void on_action_HelpAbout_triggered();
 
     /**
@@ -85,8 +91,12 @@
     /// Dialog for the preferences
     PrefsDialog *m_prefsDialog;
 
-    /// Bag window
+    /// Auxiliary windows
+    //@{
     AuxWindow *m_bagWindow;
+    AuxWindow *m_boardWindow;
+    AuxWindow *m_historyWindow;
+    //@}
 
     /// Destroy the current game (if any) and the associated widgets
     void destroyCurrentGame();

Index: player_widget.cpp
===================================================================
RCS file: /cvsroot/eliot/eliot/qt/player_widget.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- player_widget.cpp   26 Jan 2008 16:58:47 -0000      1.5
+++ player_widget.cpp   26 Jan 2008 23:03:34 -0000      1.6
@@ -272,7 +272,9 @@
             trWidget->setGame(iGame);
             QObject::connect(this, SIGNAL(refreshSignal()),
                              trWidget, SLOT(refresh()));
-            // Forward the gameUpdated() signal to the outside
+            // Forward signals to the outside
+            QObject::connect(trWidget, SIGNAL(notifyProblem(QString)),
+                             this, SIGNAL(notifyProblem(QString)));
             QObject::connect(trWidget, SIGNAL(gameUpdated()),
                              this, SIGNAL(gameUpdated()));
             addTab(trWidget, qfw(player.getName()));

Index: prefs_dialog.cpp
===================================================================
RCS file: /cvsroot/eliot/eliot/qt/prefs_dialog.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- prefs_dialog.cpp    26 Jan 2008 16:58:47 -0000      1.2
+++ prefs_dialog.cpp    26 Jan 2008 23:03:34 -0000      1.3
@@ -18,6 +18,8 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  *****************************************************************************/
 
+#include "config.h"
+
 #include <QtCore/QSettings>
 #include <QtGui/QFileDialog>
 
@@ -35,7 +37,7 @@
     setupUi(this);
 
     // Interface settings
-    QSettings qs;
+    QSettings qs(ORGANIZATION, PACKAGE_NAME);
     
checkBoxIntfAlignHistory->setChecked(qs.value(kINTF_ALIGN_HISTORY).toBool());
     lineEditIntfDicPath->setText(qs.value(kINTF_DIC_PATH, "").toString());
 
@@ -68,7 +70,7 @@
     bool shouldEmitUpdate = false;
 
     // Interface settings
-    QSettings qs;
+    QSettings qs(ORGANIZATION, PACKAGE_NAME);
     if (qs.value(kINTF_ALIGN_HISTORY).toBool() != 
checkBoxIntfAlignHistory->isChecked())
     {
         // We need to redraw the history widget

Index: qtcommon.h
===================================================================
RCS file: /cvsroot/eliot/eliot/qt/qtcommon.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- qtcommon.h  20 Jan 2008 18:40:13 -0000      1.1
+++ qtcommon.h  26 Jan 2008 23:03:35 -0000      1.2
@@ -43,4 +43,7 @@
 // Translation macro to use gettext
 #define _q(s) qfu(_(s))
 
+// Used for QSettings
+#define ORGANIZATION "Eliot"
+
 #endif

Index: training_widget.cpp
===================================================================
RCS file: /cvsroot/eliot/eliot/qt/training_widget.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- training_widget.cpp 24 Jan 2008 20:18:01 -0000      1.1
+++ training_widget.cpp 26 Jan 2008 23:03:35 -0000      1.2
@@ -23,6 +23,7 @@
 
 #include "training_widget.h"
 #include "qtcommon.h"
+#include "dic.h"
 #include "game.h"
 #include "training.h"
 #include "player.h"
@@ -53,12 +54,15 @@
     // Associate the model to the view
     m_model = new QStandardItemModel(this);
     treeViewResults->setModel(m_model);
-    m_model->setColumnCount(5);
+    m_model->setColumnCount(6);
     m_model->setHeaderData(0, Qt::Horizontal, _q("Word"), Qt::DisplayRole);
     m_model->setHeaderData(1, Qt::Horizontal, _q("Ref"), Qt::DisplayRole);
     m_model->setHeaderData(2, Qt::Horizontal, _q("Points"), Qt::DisplayRole);
     m_model->setHeaderData(3, Qt::Horizontal, "*", Qt::DisplayRole);
     m_model->setHeaderData(4, Qt::Horizontal, "", Qt::DisplayRole);
+    // Hidden column, used to store internal data
+    m_model->setHeaderData(5, Qt::Horizontal, "", Qt::DisplayRole);
+    treeViewResults->setColumnHidden(5, true);
 
     // Enable the Play button only when there is a selection in the tree
     QObject::connect(treeViewResults->selectionModel(),
@@ -142,6 +146,8 @@
         m_model->setData(m_model->index(rowNum, 2), r.getPoints());
         m_model->setData(m_model->index(rowNum, 3),
                          r.getBonus() ? "*": "");
+        // Hidden data, used to handle proper sorting in the tree view
+        m_model->setData(m_model->index(rowNum, 5), i);
     }
     treeViewResults->resizeColumnToContents(0);
     treeViewResults->resizeColumnToContents(1);
@@ -165,7 +171,10 @@
     m_game->removeTestPlay();
     if (!iSelected.indexes().empty())
     {
-        m_game->testPlay(iSelected.indexes().first().row());
+        // Use the hidden column to get the result number
+        const QModelIndex &index =
+            m_model->index(iSelected.indexes().first().row(), 5);
+        m_game->testPlay(m_model->data(index).toUInt());
         emit gameUpdated();
     }
 }
@@ -174,11 +183,15 @@
 void TrainingWidget::on_lineEditRack_textEdited(const QString &iText)
 {
     // FIXME: first parameter is hardcoded
-    // FIXME: return code ignored
-    m_game->setRackManual(false, qtw(iText));
+    int res = m_game->setRackManual(false, qtw(iText));
+    if (res == 0)
+    {
     pushButtonSearch->setEnabled(m_model->rowCount() == 0 &&
                                  lineEditRack->text() != "");
     emit gameUpdated();
+    }
+    else
+        emit notifyProblem(_q("Warning: Cannot set the rack to 
'%1'").arg(iText));
 }
 
 
@@ -223,7 +236,9 @@
     if (!iIndex.isValid())
         return;
     m_game->removeTestPlay();
-    m_game->playResult(iIndex.row());
+    // Use the hidden column to get the result number
+    const QModelIndex &index = m_model->index(iIndex.row(), 5);
+    m_game->playResult(m_model->data(index).toUInt());
     emit gameUpdated();
 }
 
@@ -248,6 +263,9 @@
     if (m_bag == NULL)
         return Invalid;
 
+    if (!m_bag->getDic().validateLetters(qtw(input)))
+        return Invalid;
+
     // The letters must be in the bag
     for (int i = 0; i < input.size(); ++i)
     {

Index: training_widget.h
===================================================================
RCS file: /cvsroot/eliot/eliot/qt/training_widget.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- training_widget.h   24 Jan 2008 20:18:01 -0000      1.1
+++ training_widget.h   26 Jan 2008 23:03:35 -0000      1.2
@@ -29,6 +29,7 @@
 class Training;
 class RackValidator;
 class QStandardItemModel;
+class QString;
 
 class TrainingWidget: public QWidget, private Ui::TrainingWidget
 {
@@ -43,6 +44,7 @@
 
 signals:
     void gameUpdated();
+    void notifyProblem(QString iMsg);
 
 protected:
     /// Define a default size

Index: ui/main_window.ui
===================================================================
RCS file: /cvsroot/eliot/eliot/qt/ui/main_window.ui,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- ui/main_window.ui   26 Jan 2008 10:10:51 -0000      1.5
+++ ui/main_window.ui   26 Jan 2008 23:03:35 -0000      1.6
@@ -96,6 +96,8 @@
      <string>_("&amp;Windows")</string>
     </property>
     <addaction name="action_WindowsBag" />
+    <addaction name="action_WindowsBoard" />
+    <addaction name="action_WindowsHistory" />
    </widget>
    <addaction name="menuFile" />
    <addaction name="menuHelp" />
@@ -183,6 +185,25 @@
     <string>Ctrl+S</string>
    </property>
   </action>
+  <action name="action_WindowsBoard" >
+   <property name="checkable" >
+    <bool>true</bool>
+   </property>
+   <property name="text" >
+    <string>_("External board")</string>
+   </property>
+  </action>
+  <action name="action_WindowsHistory" >
+   <property name="checkable" >
+    <bool>true</bool>
+   </property>
+   <property name="text" >
+    <string>_("History")</string>
+   </property>
+   <property name="shortcut" >
+    <string>Ctrl+H</string>
+   </property>
+  </action>
  </widget>
  <resources/>
  <connections>

Index: ui/training_widget.ui
===================================================================
RCS file: /cvsroot/eliot/eliot/qt/ui/training_widget.ui,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- ui/training_widget.ui       24 Jan 2008 20:18:02 -0000      1.1
+++ ui/training_widget.ui       26 Jan 2008 23:03:35 -0000      1.2
@@ -76,6 +76,9 @@
         <property name="editTriggers" >
          <set>QAbstractItemView::NoEditTriggers</set>
         </property>
+        <property name="sortingEnabled" >
+         <bool>true</bool>
+        </property>
        </widget>
       </item>
      </layout>
@@ -84,5 +87,22 @@
   </layout>
  </widget>
  <resources/>
- <connections/>
+ <connections>
+  <connection>
+   <sender>lineEditRack</sender>
+   <signal>returnPressed()</signal>
+   <receiver>pushButtonSearch</receiver>
+   <slot>click()</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>283</x>
+     <y>31</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>281</x>
+     <y>48</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
 </ui>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]