gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r7465 - gnunet-qt/src/plugins/fs


From: gnunet
Subject: [GNUnet-SVN] r7465 - gnunet-qt/src/plugins/fs
Date: Sat, 19 Jul 2008 06:01:10 -0600 (MDT)

Author: durner
Date: 2008-07-19 06:01:09 -0600 (Sat, 19 Jul 2008)
New Revision: 7465

Modified:
   gnunet-qt/src/plugins/fs/downloadController.cc
   gnunet-qt/src/plugins/fs/downloadController.h
Log:
rename unnamed downloads

Modified: gnunet-qt/src/plugins/fs/downloadController.cc
===================================================================
--- gnunet-qt/src/plugins/fs/downloadController.cc      2008-07-19 11:05:47 UTC 
(rev 7464)
+++ gnunet-qt/src/plugins/fs/downloadController.cc      2008-07-19 12:01:09 UTC 
(rev 7465)
@@ -31,6 +31,7 @@
 #include "gnunet_qt_common.h"
 #include "downloadController.h"
 
+
 GFSDownloadController::GFSDownloadController(GFSPlugin *fs)
 {
   QTreeView *view;
@@ -128,6 +129,7 @@
 {
   GString path;
   QString gnDir;
+  GDownloadInfo info;
 
   // FIXME: check if download is pending
 
@@ -158,7 +160,10 @@
 
   // generate name if needed
   if (name == "")
+  {
     name = uri.toString().left(16);
+    info.suggestName = true;
+  }
   GNUNETQT_ASSERT(name != "");
 
   if (destPath == "")
@@ -175,7 +180,8 @@
   GNUNET_FSUI_download_start(fs->context(), anonymity, recursive, uri.uri(), 
meta.meta(),
     path.toCString(), parentSearch, NULL /* FIXME */);
 
-  downloadList.insert(uri, searchIdx);
+  info.searchIdx = searchIdx;
+  downloadList.insert(uri, info);
 }
 
 QPersistentModelIndex *GFSDownloadController::started(struct 
GNUNET_FSUI_DownloadList *handle,
@@ -236,8 +242,29 @@
   GFSDownloadList::iterator it;
 
   it = downloadList.find(uri);
-  if (it != downloadList.end() && it->isValid())
-    fs->searchController()->downloadCompleted(*it, file);
+  if (it != downloadList.end() && it->searchIdx.isValid())
+    fs->searchController()->downloadCompleted(it->searchIdx, file);
+
+  if (it->suggestName)
+  {
+    QString name;
+    QModelIndex fidx;
+
+    downloadModel.lock();
+
+    fidx = downloadModel.index(idx->row(), COL_DST_PATH, idx->parent());
+    name = downloadModel.data(fidx).toString();
+    name = GNUNET_ECRS_suggest_better_filename(NULL, qPrintable(name));
+    if (name != "")
+      downloadModel.setData(fidx, name);
+
+    QFileInfo info(name);
+    fidx = downloadModel.index(idx->row(), COL_FILENAME, idx->parent());
+    downloadModel.setData(fidx, info.fileName());
+
+    downloadModel.unlock();
+}
+
   state(idx, GNUNET_FSUI_download_completed);
 }
 

Modified: gnunet-qt/src/plugins/fs/downloadController.h
===================================================================
--- gnunet-qt/src/plugins/fs/downloadController.h       2008-07-19 11:05:47 UTC 
(rev 7464)
+++ gnunet-qt/src/plugins/fs/downloadController.h       2008-07-19 12:01:09 UTC 
(rev 7465)
@@ -33,17 +33,18 @@
 #include "ecrsMetaData.h"
 #include "downloadItemDelegate.h"
 
+
 class GFSDownloadController : public QObject
 {
   Q_OBJECT
-  
+
 public:
   typedef enum {COL_FILENAME, COL_SIZE, COL_PROGRESS, COL_STATUS, COL_ETA,
     COL_DST_PATH, COL_COUNT} GDownloadCols;
 
        GFSDownloadController(GFSPlugin *fs);
        virtual ~GFSDownloadController();
-  
+
   /**
    * @brief Initiates a download
    * @param parentSearch pointer to search
@@ -59,14 +60,14 @@
     struct GNUNET_FSUI_SearchList *parentSearch, GFSEcrsUri &uri,
     GFSEcrsMetaData &meta, QString gnPath, QString name,
     QString destPath, int anonymity, bool recursive);
-    
+
   QPersistentModelIndex *started(struct GNUNET_FSUI_DownloadList *handle,
     QPersistentModelIndex *parent, const GNUNET_ECRS_FileInfo *fi, QString 
name,
     unsigned long long total, unsigned long long completed);
 
   void progress(QPersistentModelIndex *idx, unsigned long long completed,
     unsigned long long total, GNUNET_CronTime eta);
-    
+
   void completed(QPersistentModelIndex *idx, GFSEcrsUri uri, QString file);
 
   void state(QPersistentModelIndex *idx, GNUNET_FSUI_EventType type);
@@ -77,13 +78,19 @@
 
   QAbstractItemModel *model();
 protected:
-  typedef QMap<GFSEcrsUri, QPersistentModelIndex> GFSDownloadList;
+  typedef struct
+  {
+    QPersistentModelIndex searchIdx;
+    bool suggestName;
+  } GDownloadInfo;
 
+  typedef QMap<GFSEcrsUri, GDownloadInfo> GFSDownloadList;
+
   GFSPlugin *fs;
   GItemModel downloadModel;
   GFSDownloadItemDelegate delegate;
   GFSDownloadList downloadList;
-  
+
   void setProgress(QPersistentModelIndex *idx, unsigned long long completed,
     unsigned long long total, GNUNET_CronTime eta);
 };





reply via email to

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