Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 17 additions & 1 deletion src/utils/vxurlutils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@

#include <core/exception.h>
#include <core/global.h>
#include <core/vnotex.h>
#include <core/notebookmgr.h>

#include "pathutils.h"
#include <QJsonArray>
Expand Down Expand Up @@ -43,13 +45,18 @@ QString VxUrlUtils::getFilePathFromVxURL(const QString &p_vxUrl) {
int colonPos = p_vxUrl.indexOf(':');
if (colonPos != -1) {
filePath = p_vxUrl.mid(colonPos + 1);
filePath = PathUtils::fileName(filePath); // get 'filePath'
return filePath;
}
} // if not 'filePath', return original 'vxUrl'
return p_vxUrl;
}

QString VxUrlUtils::getFileNameFromVxURL(const QString &p_vxUrl) {
QString filePath = VxUrlUtils::getFilePathFromVxURL(p_vxUrl);

return PathUtils::fileName(filePath);
}

QString VxUrlUtils::getSignatureFromFilePath(const QString &p_filePath)
{
QFileInfo fileInfo(p_filePath);
Expand Down Expand Up @@ -107,8 +114,17 @@ QString VxUrlUtils::getFilePathFromSignature(const QString &p_startPath, const Q
// Find the file with the specified signature in all vx.json files under the specified directory
QDirIterator it(p_startPath, {"vx.json"}, QDir::Files | QDir::NoDotAndDotDot, QDirIterator::Subdirectories);

const QString rootPath = VNoteX::getInst().getNotebookMgr().getCurrentNotebook()->getRootFolderAbsolutePath();
const QString recycleBinPath = PathUtils::concatenateFilePath(rootPath, "vx_recycle_bin");

while (it.hasNext()) {
const QString vxPath = it.next();

// skip vx.json in recycle bin
if (vxPath.endsWith("vx_recycle_bin/vx.json") || vxPath.startsWith(recycleBinPath)) {
continue;
}

QFile vxFile(vxPath);
if (!vxFile.open(QIODevice::ReadOnly)) {
continue;
Expand Down
3 changes: 3 additions & 0 deletions src/utils/vxurlutils.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ namespace vnotex
// Get signature from vxUrl.
static QString getSignatureFromVxURL(const QString &p_vxUrl);

// Get file name from vxUrl.
static QString getFileNameFromVxURL(const QString &p_vxUrl);

// Get file path from vxUrl.
static QString getFilePathFromVxURL(const QString &p_vxUrl);

Expand Down
Loading