]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiSelectionManager.cpp
Fix 18 memory leaks
[lyx.git] / src / frontends / qt4 / GuiSelectionManager.cpp
index b90d0ea1358dabae4b7c689f1d3a920efadba930..90f90731c56bfb050b885beb0fffc19bf1935dfb 100644 (file)
 namespace lyx {
 namespace frontend {
 
-GuiSelectionManager::GuiSelectionManager(
-       QAbstractItemView * avail,
-       QAbstractItemView * sel,
-       QPushButton * add, 
-       QPushButton * del, 
-       QPushButton * up, 
-       QPushButton * down,
-       QAbstractListModel * amod,
-       QAbstractItemModel * smod,
-       int const main_sel_col)
-  : availableLV(avail), selectedLV(sel), addPB(add), deletePB(del),
-               upPB(up), downPB(down), availableModel(amod), selectedModel(smod),
-               selectedHasFocus_(false), main_sel_col_(main_sel_col)
+GuiSelectionManager::GuiSelectionManager(QObject * parent,
+                                         QAbstractItemView * avail,
+                                         QAbstractItemView * sel,
+                                         QPushButton * add,
+                                         QPushButton * del,
+                                         QPushButton * up,
+                                         QPushButton * down,
+                                         QAbstractListModel * amod,
+                                         QAbstractItemModel * smod,
+                                         int const main_sel_col)
+: QObject(parent), availableLV(avail), selectedLV(sel),
+  addPB(add), deletePB(del), upPB(up), downPB(down),
+  availableModel(amod), selectedModel(smod),
+  selectedHasFocus_(false), main_sel_col_(main_sel_col)
 {
-       
        selectedLV->setModel(smod);
        availableLV->setModel(amod);
        selectedLV->setSelectionBehavior(QAbstractItemView::SelectRows);
@@ -75,17 +75,17 @@ GuiSelectionManager::GuiSelectionManager(
                this, SLOT(selectedChanged(QItemSelection, QItemSelection)));
        connect(selectedLV->itemDelegate(), SIGNAL(commitData(QWidget*)),
                this, SLOT(selectedEdited()));
-       connect(addPB, SIGNAL(clicked()), 
+       connect(addPB, SIGNAL(clicked()),
                this, SLOT(addPB_clicked()));
-       connect(deletePB, SIGNAL(clicked()), 
+       connect(deletePB, SIGNAL(clicked()),
                this, SLOT(deletePB_clicked()));
-       connect(upPB, SIGNAL(clicked()), 
+       connect(upPB, SIGNAL(clicked()),
                this, SLOT(upPB_clicked()));
-       connect(downPB, SIGNAL(clicked()), 
+       connect(downPB, SIGNAL(clicked()),
                this, SLOT(downPB_clicked()));
-       connect(availableLV, SIGNAL(doubleClicked(QModelIndex)), 
+       connect(availableLV, SIGNAL(doubleClicked(QModelIndex)),
                this, SLOT(availableLV_doubleClicked(QModelIndex)));
-       
+
        availableLV->installEventFilter(this);
        selectedLV->installEventFilter(this);
 }
@@ -202,7 +202,7 @@ void GuiSelectionManager::availableChanged(const QModelIndex & idx, const QModel
 {
        if (!idx.isValid())
                return;
-       
+
        selectedHasFocus_ = false;
        updateHook();
 }
@@ -221,7 +221,7 @@ void GuiSelectionManager::selectedChanged(const QModelIndex & idx, const QModelI
 {
        if (!idx.isValid())
                return;
-       
+
        selectedHasFocus_ = true;
        updateHook();
 }
@@ -272,15 +272,15 @@ void GuiSelectionManager::addPB_clicked()
        QModelIndex const idxToAdd = selIdx.first();
        QModelIndex const idx = selectedLV->currentIndex();
        int const srows = selectedModel->rowCount();
-       
+
        QMap<int, QVariant> qm = availableModel->itemData(idxToAdd);
        insertRowToSelected(srows, qm);
-       
+
        selectionChanged(); //signal
 
        if (idx.isValid())
                selectedLV->setCurrentIndex(idx);
-       
+
        updateHook();
 }
 
@@ -294,11 +294,11 @@ void GuiSelectionManager::deletePB_clicked()
        QModelIndex idx = selIdx.first();
        selectedModel->removeRow(idx.row());
        selectionChanged(); //signal
-       
+
        int nrows = selectedLV->model()->rowCount();
        if (idx.row() == nrows) //was last item on list
                idx = idx.sibling(idx.row() - 1, idx.column());
-       
+
        if (nrows > 1)
                selectedLV->setCurrentIndex(idx);
        else if (nrows == 1)
@@ -357,7 +357,7 @@ void GuiSelectionManager::downPB_clicked()
        insertRowToSelected(pos + 1, qms);
 
        selectionChanged(); //signal
-       
+
        selectedLV->setCurrentIndex(idx.sibling(idx.row() + 1, idx.column()));
        selectedHasFocus_ = true;
        updateHook();
@@ -368,7 +368,7 @@ void GuiSelectionManager::availableLV_doubleClicked(const QModelIndex & idx)
 {
        if (isSelected(idx) || !addPB->isEnabled())
                return;
-       
+
        if (idx.isValid())
                selectedHasFocus_ = false;
        addPB_clicked();