[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r7267 - gnunet-qt/src/plugins/fs
From: |
gnunet |
Subject: |
[GNUnet-SVN] r7267 - gnunet-qt/src/plugins/fs |
Date: |
Mon, 16 Jun 2008 13:08:28 -0600 (MDT) |
Author: durner
Date: 2008-06-16 13:08:28 -0600 (Mon, 16 Jun 2008)
New Revision: 7267
Modified:
gnunet-qt/src/plugins/fs/searchController.cc
Log:
re-enable directory expansion & add extra checks
Modified: gnunet-qt/src/plugins/fs/searchController.cc
===================================================================
--- gnunet-qt/src/plugins/fs/searchController.cc 2008-06-15 19:15:12 UTC
(rev 7266)
+++ gnunet-qt/src/plugins/fs/searchController.cc 2008-06-16 19:08:28 UTC
(rev 7267)
@@ -152,22 +152,21 @@
// make directories expandable
-// FIXME: crashes
-// itemIdx = model->index(row, MODEL_IDX(EXTRACTOR_MIMETYPE), parent);
-// if (model->data(itemIdx).toString() == "application/gnunet-directory")
-// {
-// int row;
-// QStandardItem *item;
-//
-// item = new QStandardItem;
-// item->setColumnCount(SEARCH_MAX_COLUMN + 1);
-// row = model->rowCount(childIdx);
-// child->appendRow(item);
-//
-// itemIdx = model->index(0, 0, childIdx);
-// model->setData(itemIdx, QVariant(1), Qt::UserRole);
-// }
+ itemIdx = model->index(row, MODEL_IDX(EXTRACTOR_MIMETYPE), parent);
+ if (model->data(itemIdx).toString() == "application/gnunet-directory")
+ {
+ int row;
+ QStandardItem *item;
+ item = new QStandardItem;
+ item->setColumnCount(SEARCH_MAX_COLUMN + 1);
+ row = model->rowCount(childIdx);
+ child->appendRow(item);
+
+ itemIdx = model->index(0, 0, childIdx);
+ model->setData(itemIdx, QVariant(1), Qt::UserRole);
+ }
+
// insert serialized URI (used by download)
ecrsUri = info->uri;
itemIdx = model->index(row, SEARCH_URI_COLUMN, parent);
@@ -349,6 +348,9 @@
pIdx = (QPersistentModelIndex *) closure;
model = (QStandardItemModel *) pIdx->model();
+ if (!pIdx->isValid())
+ return GNUNET_NO;
+
parentIdx = model->index(pIdx->row(), 0, pIdx->parent());
/* check for existing entry -- this function maybe called multiple
@@ -372,19 +374,19 @@
QModelIndex index;
QAbstractItemModel *model;
struct GNUNET_MetaData *meta;
+ int idxRow;
+ model = (QAbstractItemModel *) idx.model();
+ idxRow = idx.row();
if (!idx.isValid())
return; // result got removed
-
- model = (QAbstractItemModel *) idx.model();
- index = model->index(idx.row(), MODEL_IDX(EXTRACTOR_MIMETYPE), idx.parent());
+ index = model->index(idxRow, MODEL_IDX(EXTRACTOR_MIMETYPE), idx.parent());
if (model->data(index).toString() == "application/gnunet-directory")
{
// remove dummy child
-// FIXME: crashes
-// index = model->index(idx.row(), 0, idx.parent());
-// model->removeRow(0, index);
+ index = model->index(idxRow, 0, idx.parent());
+ model->removeRow(0, index);
// read directory
if (file.endsWith("/") || file.endsWith("\\"))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r7267 - gnunet-qt/src/plugins/fs,
gnunet <=