gnunet-svn
[Top][All Lists]
Advanced

[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("\\"))





reply via email to

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