From 30a3fe7b065f23e79bc9e7d887ef6a4c3c705dbd Mon Sep 17 00:00:00 2001 From: csoler Date: Wed, 23 Jan 2013 23:03:29 +0000 Subject: [PATCH] added some visualization of mapping on disk for debugging purpose git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-SparseFileStorage@6088 b45a01b8-16f6-495d-af2f-9b41ad6348cc --- .../src/gui/FileTransferInfoWidget.cpp | 21 +++++++++- .../src/gui/FileTransferInfoWidget.h | 5 +++ retroshare-gui/src/gui/TransfersDialog.cpp | 3 ++ retroshare-gui/src/gui/TransfersDialog.ui | 39 +++++++++++-------- retroshare-nogui/src/retroshare-nogui.pro | 8 ++-- 5 files changed, 55 insertions(+), 21 deletions(-) diff --git a/retroshare-gui/src/gui/FileTransferInfoWidget.cpp b/retroshare-gui/src/gui/FileTransferInfoWidget.cpp index 09a7e91aa..142b705ab 100644 --- a/retroshare-gui/src/gui/FileTransferInfoWidget.cpp +++ b/retroshare-gui/src/gui/FileTransferInfoWidget.cpp @@ -44,6 +44,7 @@ FileTransferInfoWidget::FileTransferInfoWidget(QWidget * /*parent*/, Qt::WFlags QRect TaskGraphRect = geometry(); maxWidth = TaskGraphRect.width(); maxHeight = 0; + draw_file_map = false ; pixmap = QPixmap(size()); pixmap.fill(this, 0, 0); @@ -62,6 +63,12 @@ void FileTransferInfoWidget::resizeEvent(QResizeEvent */*event*/) updateDisplay(); } +void FileTransferInfoWidget::toggleDisplayMode(bool b) +{ + draw_file_map = b ; + updateDisplay(); +} + void FileTransferInfoWidget::updateDisplay() { //std::cout << "In TaskGraphPainterWidget::updateDisplay()" << std::endl ; @@ -110,7 +117,7 @@ void FileTransferInfoWidget::paintEvent(QPaintEvent */*event*/) void FileTransferInfoWidget::draw(const FileInfo& nfo,const FileChunksInfo& info,QPainter *painter) { x=0; - y=0; + y=5; int blocks = info.chunks.size() ; uint64_t fileSize = info.file_size ; uint32_t blockSize = info.chunk_size ; @@ -123,6 +130,8 @@ void FileTransferInfoWidget::draw(const FileInfo& nfo,const FileChunksInfo& info painter->drawText(0,y,tr("Chunk map") + ":") ; y += block_sep ; + QPixmap variablePixmap(downloadedPixmap) ; + // draw the chunk map // for (int i=0;idrawPixmap(target,variablePixmap,source) ; + } + else switch(info.chunks[i]) { case FileChunksInfo::CHUNK_DONE: painter->drawPixmap(target, downloadedPixmap, source); diff --git a/retroshare-gui/src/gui/FileTransferInfoWidget.h b/retroshare-gui/src/gui/FileTransferInfoWidget.h index fc09b0fe9..f89f627ac 100644 --- a/retroshare-gui/src/gui/FileTransferInfoWidget.h +++ b/retroshare-gui/src/gui/FileTransferInfoWidget.h @@ -39,6 +39,10 @@ public: void setFileHash(const std::string& hash) { _file_hash = hash ; } virtual void updateDisplay() ; // update from RsAutoUpdateWidget + +public slots: + void toggleDisplayMode(bool) ; + protected: void draw(const FileInfo& nfo,const FileChunksInfo& details,QPainter *painter) ; @@ -56,6 +60,7 @@ private: QPixmap downloadingPixmap; QPixmap notDownloadPixmap; QPixmap checkingPixmap; + bool draw_file_map ; std::string _file_hash ; }; diff --git a/retroshare-gui/src/gui/TransfersDialog.cpp b/retroshare-gui/src/gui/TransfersDialog.cpp index e42a04181..31ade65da 100644 --- a/retroshare-gui/src/gui/TransfersDialog.cpp +++ b/retroshare-gui/src/gui/TransfersDialog.cpp @@ -303,6 +303,9 @@ TransfersDialog::TransfersDialog(QWidget *parent) QObject::connect(ui.downloadList->selectionModel(),SIGNAL(selectionChanged (const QItemSelection&, const QItemSelection&)),this,SLOT(showFileDetails())) ; + ftiw->toggleDisplayMode(ui.diskMap_CB->isChecked()) ; + connect(ui.diskMap_CB, SIGNAL(toggled(bool)), ftiw, SLOT( toggleDisplayMode(bool))); + ui.tabWidget->addTab( new TurtleRouterStatistics(), tr("Router Statistics")) ; ui.tabWidget->addTab( new TurtleRouterDialog(), tr("Router Requests")) ; diff --git a/retroshare-gui/src/gui/TransfersDialog.ui b/retroshare-gui/src/gui/TransfersDialog.ui index e51962ff2..8701033e9 100644 --- a/retroshare-gui/src/gui/TransfersDialog.ui +++ b/retroshare-gui/src/gui/TransfersDialog.ui @@ -166,7 +166,7 @@ - 0 + 1 @@ -228,8 +228,8 @@ 0 0 - 100 - 30 + 598 + 91 @@ -282,6 +282,19 @@ + + + + Qt::Horizontal + + + + 368 + 13 + + + + @@ -303,19 +316,6 @@ - - - - Qt::Horizontal - - - - 368 - 13 - - - - @@ -337,6 +337,13 @@ + + + + Show disk map + + + diff --git a/retroshare-nogui/src/retroshare-nogui.pro b/retroshare-nogui/src/retroshare-nogui.pro index 97a0facd7..6d28aa466 100644 --- a/retroshare-nogui/src/retroshare-nogui.pro +++ b/retroshare-nogui/src/retroshare-nogui.pro @@ -164,10 +164,10 @@ sshserver { } INCLUDEPATH += $$LIBSSH_DIR/include/ - #LIBS += $$LIBSSH_DIR/build/src/libssh.a - #LIBS += $$LIBSSH_DIR/build/src/threads/libssh_threads.a - LIBS += -lssh - LIBS += -lssh_threads + LIBS += $$LIBSSH_DIR/build/src/libssh.a + LIBS += $$LIBSSH_DIR/build/src/threads/libssh_threads.a + #LIBS += -lssh + #LIBS += -lssh_threads HEADERS += ssh/rssshd.h SOURCES += ssh/rssshd.cc