void Session::save( std::vector< std::tuple<const ViewInterface*, uint64_t, std::shared_ptr<const ViewContextInterface>> > view_list, const QByteArray& geometry ) { LOG(logDEBUG) << "Session::save"; std::vector<SessionInfo::OpenFile> session_files; for ( auto view: view_list ) { const ViewInterface* view_object; uint64_t top_line; std::shared_ptr<const ViewContextInterface> view_context; std::tie( view_object, top_line, view_context ) = view; const OpenFile* file = findOpenFileFromView( view_object ); assert( file ); LOG(logDEBUG) << "Saving " << file->fileName.toLocal8Bit().data() << " in session."; session_files.push_back( { file->fileName, top_line, view_context->toString() } ); } std::shared_ptr<SessionInfo> session = Persistent<SessionInfo>( "session" ); session->setOpenFiles( session_files ); session->setGeometry( geometry ); GetPersistentInfo().save( QString( "session" ) ); }
void Session::save( const std::vector< std::tuple<const ViewInterface*, uint64_t, std::shared_ptr<const ViewContextInterface>> >& view_list, const QByteArray& geometry ) { LOG(logDEBUG) << "Session::save"; std::vector<SessionInfo::OpenFile> session_files; for ( const auto& view: view_list ) { const ViewInterface* view_object; uint64_t top_line; std::shared_ptr<const ViewContextInterface> view_context; std::tie( view_object, top_line, view_context ) = view; const OpenFile* file = findOpenFileFromView( view_object ); assert( file ); LOG(logDEBUG) << "Saving " << file->fileName.toLocal8Bit().data() << " in session."; session_files.emplace_back( file->fileName, top_line, view_context->toString() ); } auto& session = Persistable::get<SessionInfo>(); session.setOpenFiles( session_files ); session.setGeometry( geometry ); session.save(); }
QString Session::getFilename( const ViewInterface* view ) const { const OpenFile* file = findOpenFileFromView( view ); assert( file ); return file->fileName; }
void Session::getFileInfo( const ViewInterface* view, uint64_t* fileSize, uint32_t* fileNbLine, QDateTime* lastModified ) const { const OpenFile* file = findOpenFileFromView( view ); assert( file ); *fileSize = file->logData->getFileSize(); *fileNbLine = file->logData->getNbLine(); *lastModified = file->logData->getLastModifiedDate(); }