[Top][All Lists]
[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);
};
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r7465 - gnunet-qt/src/plugins/fs,
gnunet <=