mirror of
https://git.suyu.dev/suyu/suyu
synced 2025-09-08 23:36:34 -05:00
Improved shortcut: add games in applist for Windows, question for start game at fullscreen & better unicode support for some Windows path funcs.
This commit is contained in:
@@ -42,7 +42,7 @@ QPixmap CreateCirclePixmapFromColor(const QColor& color) {
|
||||
return circle_pixmap;
|
||||
}
|
||||
|
||||
bool SaveIconToFile(const std::string_view path, const QImage& image) {
|
||||
bool SaveIconToFile(const QImage& image, const std::filesystem::path& icon_path) {
|
||||
#if defined(WIN32)
|
||||
#pragma pack(push, 2)
|
||||
struct IconDir {
|
||||
@@ -73,7 +73,7 @@ bool SaveIconToFile(const std::string_view path, const QImage& image) {
|
||||
.id_count = static_cast<WORD>(scale_sizes.size()),
|
||||
};
|
||||
|
||||
Common::FS::IOFile icon_file(path, Common::FS::FileAccessMode::Write,
|
||||
Common::FS::IOFile icon_file(icon_path.string(), Common::FS::FileAccessMode::Write,
|
||||
Common::FS::FileType::BinaryFile);
|
||||
if (!icon_file.IsOpen()) {
|
||||
return false;
|
||||
@@ -135,7 +135,16 @@ bool SaveIconToFile(const std::string_view path, const QImage& image) {
|
||||
icon_file.Close();
|
||||
|
||||
return true;
|
||||
#else
|
||||
return false;
|
||||
#elif defined(__linux__) || defined(__FreeBSD__)
|
||||
// Convert and write the icon as a PNG
|
||||
if (!image.save(QString::fromStdString(icon_path.string()))) {
|
||||
LOG_ERROR(Frontend, "Could not write icon as PNG to file");
|
||||
} else {
|
||||
LOG_INFO(Frontend, "Wrote an icon to {}", icon_path.string());
|
||||
}
|
||||
|
||||
return true;
|
||||
#endif
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@@ -3,26 +3,36 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <filesystem>
|
||||
#include <QFont>
|
||||
#include <QString>
|
||||
|
||||
/// Returns a QFont object appropriate to use as a monospace font for debugging widgets, etc.
|
||||
|
||||
[[nodiscard]] QFont GetMonospaceFont();
|
||||
|
||||
/// Convert a size in bytes into a readable format (KiB, MiB, etc.)
|
||||
|
||||
[[nodiscard]] QString ReadableByteSize(qulonglong size);
|
||||
|
||||
/**
|
||||
* Creates a circle pixmap from a specified color
|
||||
*
|
||||
* @param color The color the pixmap shall have
|
||||
*
|
||||
* @return QPixmap circle pixmap
|
||||
*/
|
||||
|
||||
[[nodiscard]] QPixmap CreateCirclePixmapFromColor(const QColor& color);
|
||||
|
||||
/**
|
||||
* Saves a windows icon to a file
|
||||
* @param path The icons path
|
||||
*
|
||||
* @param image The image to save
|
||||
*
|
||||
* @param path The icons path
|
||||
*
|
||||
* @return bool If the operation succeeded
|
||||
*/
|
||||
[[nodiscard]] bool SaveIconToFile(const std::string_view path, const QImage& image);
|
||||
|
||||
[[nodiscard]] bool SaveIconToFile(const QImage& image, const std::filesystem::path& icon_path);
|
||||
|
Reference in New Issue
Block a user