mirror of
https://github.com/crosspoint-reader/crosspoint-reader.git
synced 2026-04-29 10:26:52 -07:00
## Summary This fixes navigating back from the BMP Viewer to the FileBrowser which was broken when moving to the new ActivityManager This is fixed by making FileBrowserActivity able to take a full file path on enter and splitting the basePath and fileName from it and navigating to the correct place. fixes: https://github.com/crosspoint-reader/crosspoint-reader/issues/1553 duplicates: https://github.com/crosspoint-reader/crosspoint-reader/pull/910 to some extend but mine has the file cursor at the correct file instead of the first one in the folder ## Additional Context * Add any other information that might be helpful for the reviewer (e.g., performance implications, potential risks, specific areas to focus on). --- ### AI Usage While CrossPoint doesn't have restrictions on AI tools in contributing, please be transparent about their usage as it helps set the right context for reviewers. Did you use AI tools to help write this code? _**PARTIALLY**_ --------- Co-authored-by: Jan Ivanov <jan.ivanov@sirma.com>
61 lines
2.0 KiB
C++
61 lines
2.0 KiB
C++
#pragma once
|
|
#include <WString.h>
|
|
|
|
#include <string>
|
|
#include <string_view>
|
|
|
|
namespace FsHelpers {
|
|
|
|
std::string normalisePath(const std::string& path);
|
|
|
|
/**
|
|
* Check if the given filename ends with the specified extension (case-insensitive).
|
|
*/
|
|
bool checkFileExtension(std::string_view fileName, const char* extension);
|
|
inline bool checkFileExtension(const String& fileName, const char* extension) {
|
|
return checkFileExtension(std::string_view{fileName.c_str(), fileName.length()}, extension);
|
|
}
|
|
|
|
// Check for either .jpg or .jpeg extension (case-insensitive)
|
|
bool hasJpgExtension(std::string_view fileName);
|
|
inline bool hasJpgExtension(const String& fileName) {
|
|
return hasJpgExtension(std::string_view{fileName.c_str(), fileName.length()});
|
|
}
|
|
|
|
// Check for .png extension (case-insensitive)
|
|
bool hasPngExtension(std::string_view fileName);
|
|
inline bool hasPngExtension(const String& fileName) {
|
|
return hasPngExtension(std::string_view{fileName.c_str(), fileName.length()});
|
|
}
|
|
|
|
// Check for .bmp extension (case-insensitive)
|
|
bool hasBmpExtension(std::string_view fileName);
|
|
|
|
// Check for .gif extension (case-insensitive)
|
|
bool hasGifExtension(std::string_view fileName);
|
|
inline bool hasGifExtension(const String& fileName) {
|
|
return hasGifExtension(std::string_view{fileName.c_str(), fileName.length()});
|
|
}
|
|
|
|
// Check for .epub extension (case-insensitive)
|
|
bool hasEpubExtension(std::string_view fileName);
|
|
inline bool hasEpubExtension(const String& fileName) {
|
|
return hasEpubExtension(std::string_view{fileName.c_str(), fileName.length()});
|
|
}
|
|
|
|
// Check for either .xtc or .xtch extension (case-insensitive)
|
|
bool hasXtcExtension(std::string_view fileName);
|
|
|
|
// Check for .txt extension (case-insensitive)
|
|
bool hasTxtExtension(std::string_view fileName);
|
|
inline bool hasTxtExtension(const String& fileName) {
|
|
return hasTxtExtension(std::string_view{fileName.c_str(), fileName.length()});
|
|
}
|
|
|
|
// Check for .md extension (case-insensitive)
|
|
bool hasMarkdownExtension(std::string_view fileName);
|
|
|
|
std::string extractFolderPath(const std::string& filePath);
|
|
|
|
} // namespace FsHelpers
|