changed shared files tree header when updating

This commit is contained in:
csoler 2016-11-26 19:19:15 +01:00
parent aa4ecd7d87
commit 2a758dd880
4 changed files with 19 additions and 6 deletions

View File

@ -1458,7 +1458,7 @@ void p3FileDatabase::handleDirSyncResponse(RsFileListsSyncResponseItem *sitem)
else if(item->flags & RsFileListsItem::FLAGS_SYNC_DIR_CONTENT) else if(item->flags & RsFileListsItem::FLAGS_SYNC_DIR_CONTENT)
{ {
#ifdef DEBUG_P3FILELISTS #ifdef DEBUG_P3FILELISTS
std::cerr << " Item contains directory data. Deserialising/Updating." << std::endl; P3FILELISTS_DEBUG() << " Item contains directory data. Deserialising/Updating." << std::endl;
#endif #endif
RS_STACK_MUTEX(mFLSMtx) ; RS_STACK_MUTEX(mFLSMtx) ;
@ -1467,12 +1467,12 @@ void p3FileDatabase::handleDirSyncResponse(RsFileListsSyncResponseItem *sitem)
RsServer::notify()->notifyListPreChange(NOTIFY_LIST_DIRLIST_FRIENDS, 0); // notify the GUI if the hierarchy has changed RsServer::notify()->notifyListPreChange(NOTIFY_LIST_DIRLIST_FRIENDS, 0); // notify the GUI if the hierarchy has changed
mLastDataRecvTS = now; mLastDataRecvTS = now;
} }
std::cerr << "Performing update of directory index " << std::hex << entry_index << std::dec << " from friend " << item->PeerId() << std::endl; #ifdef DEBUG_P3FILELISTS
P3FILELISTS_DEBUG() << "Performing update of directory index " << std::hex << entry_index << std::dec << " from friend " << item->PeerId() << std::endl;
#endif
if(mRemoteDirectories[fi]->deserialiseUpdateDirEntry(entry_index,item->directory_content_data)) if(mRemoteDirectories[fi]->deserialiseUpdateDirEntry(entry_index,item->directory_content_data))
{
mRemoteDirectories[fi]->lastSweepTime() = now - DELAY_BETWEEN_REMOTE_DIRECTORIES_SWEEP + 10 ; // force re-sweep in 10 secs, so as to fasten updated mRemoteDirectories[fi]->lastSweepTime() = now - DELAY_BETWEEN_REMOTE_DIRECTORIES_SWEEP + 10 ; // force re-sweep in 10 secs, so as to fasten updated
}
else else
P3FILELISTS_ERROR() << "(EE) Cannot deserialise dir entry. ERROR. "<< std::endl; P3FILELISTS_ERROR() << "(EE) Cannot deserialise dir entry. ERROR. "<< std::endl;

View File

@ -62,6 +62,7 @@ RetroshareDirModel::RetroshareDirModel(bool mode, QObject *parent)
mDirDetails.ref = (void*)intptr_t(0xffffffff) ; mDirDetails.ref = (void*)intptr_t(0xffffffff) ;
mLastRemote = false ; mLastRemote = false ;
mUpdating = false;
} }
// QAbstractItemModel::setSupportedDragActions() was replaced by virtual QAbstractItemModel::supportedDragActions() // QAbstractItemModel::setSupportedDragActions() was replaced by virtual QAbstractItemModel::supportedDragActions()
@ -758,8 +759,14 @@ QVariant TreeStyle_RDM::headerData(int section, Qt::Orientation orientation, int
{ {
case 0: case 0:
if (RemoteMode) if (RemoteMode)
if(mUpdating)
return tr("Friends Directories [updating...]");
else
return tr("Friends Directories"); return tr("Friends Directories");
else else
if(mUpdating)
return tr("My Directories [updating...]");
else
return tr("My Directories"); return tr("My Directories");
case 1: case 1:
return tr("Size"); return tr("Size");
@ -981,6 +988,7 @@ Qt::ItemFlags RetroshareDirModel::flags( const QModelIndex & index ) const
void RetroshareDirModel::preMods() void RetroshareDirModel::preMods()
{ {
emit layoutAboutToBeChanged(); emit layoutAboutToBeChanged();
mUpdating = true ;
#if QT_VERSION < 0x050000 #if QT_VERSION < 0x050000
reset(); reset();
#else #else
@ -997,6 +1005,7 @@ void RetroshareDirModel::preMods()
void RetroshareDirModel::postMods() void RetroshareDirModel::postMods()
{ {
// emit layoutAboutToBeChanged(); // emit layoutAboutToBeChanged();
mUpdating = false ;
#if QT_VERSION >= 0x040600 #if QT_VERSION >= 0x040600
beginResetModel(); beginResetModel();
#endif #endif

View File

@ -156,6 +156,8 @@ class RetroshareDirModel : public QAbstractItemModel
mutable DirDetails mDirDetails ; mutable DirDetails mDirDetails ;
mutable bool mLastRemote ; mutable bool mLastRemote ;
mutable time_t mLastReq; mutable time_t mLastReq;
bool mUpdating ;
}; };
// This class shows the classical hierarchical directory view of shared files // This class shows the classical hierarchical directory view of shared files

View File

@ -883,7 +883,9 @@ void SharedFilesDialog::preModDirectories(bool local)
if (isRemote() == local) if (isRemote() == local)
return; return;
#ifdef DEBUG_SHARED_FILES_DIALOG
std::cerr << "About to modify directories. Local=" << local << ". Temporarily disabling sorting" << std::endl; std::cerr << "About to modify directories. Local=" << local << ". Temporarily disabling sorting" << std::endl;
#endif
ui.dirTreeView->setSortingEnabled(false); ui.dirTreeView->setSortingEnabled(false);