diff options
| author | SulfurNitride <SulfurNitride@users.noreply.github.com> | 2026-04-12 02:40:00 -0500 |
|---|---|---|
| committer | SulfurNitride <SulfurNitride@users.noreply.github.com> | 2026-04-12 02:40:00 -0500 |
| commit | e0fb66428a9b78b4c326df8d7e30429a5b271d74 (patch) | |
| tree | 0fd83fe790ecb7d5cd3cfb36535e45d1b7118098 /libs/preview_dds_native/src/ddspreview.cpp | |
| parent | e985dc340097831d4e5625941bded217abaa57b8 (diff) | |
Remove dead plugin scaffolds and duplicate lib dirs
The *_native C++ ports were replaced by bundled Python + .py plugins in
de4db79, but the source dirs were left behind without any CMake wiring —
causing confusion when editing them appears to do nothing. Same story
for libs/dds_header (stale duplicate of libs/preview_dds, unrelated to
the actively-used libs/dds-header) and libs/game_gamebryo (superseded
by libs/game_bethesda/src/gamebryo).
Removes:
- libs/basic_games_native
- libs/form43_checker_native
- libs/installer_omod_native
- libs/preview_dds_native
- libs/rootbuilder_native
- libs/script_extender_checker_native
- libs/dds_header
- libs/game_gamebryo
Diffstat (limited to 'libs/preview_dds_native/src/ddspreview.cpp')
| -rw-r--r-- | libs/preview_dds_native/src/ddspreview.cpp | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/libs/preview_dds_native/src/ddspreview.cpp b/libs/preview_dds_native/src/ddspreview.cpp deleted file mode 100644 index 2bb95be..0000000 --- a/libs/preview_dds_native/src/ddspreview.cpp +++ /dev/null @@ -1,126 +0,0 @@ -#include "ddspreview.h" -#include "ddsfile.h" -#include "ddswidget.h" - -#include <QLabel> -#include <QVBoxLayout> -#include <QWidget> - -using namespace MOBase; - -DDSPreview::DDSPreview() {} - -bool DDSPreview::init(IOrganizer* moInfo) -{ - m_organizer = moInfo; - return true; -} - -QString DDSPreview::name() const -{ - return "DDS Preview (Native)"; -} - -QString DDSPreview::localizedName() const -{ - return tr("DDS Preview (Native)"); -} - -QString DDSPreview::author() const -{ - return "AnyOldName3"; -} - -QString DDSPreview::description() const -{ - return tr("Displays DDS texture files using OpenGL."); -} - -VersionInfo DDSPreview::version() const -{ - return VersionInfo(1, 0, 0, VersionInfo::RELEASE_FINAL); -} - -QList<PluginSetting> DDSPreview::settings() const -{ - return {}; -} - -std::set<QString> DDSPreview::supportedExtensions() const -{ - return {"dds"}; -} - -bool DDSPreview::supportsArchives() const -{ - return true; -} - -QWidget* DDSPreview::genFilePreview(const QString& fileName, - const QSize& maxSize) const -{ - DDSFile dds; - if (!dds.loadFromFile(fileName)) { - QLabel* label = new QLabel(tr("Failed to load DDS file.")); - label->setAlignment(Qt::AlignCenter); - return label; - } - return buildPreview(dds, maxSize); -} - -QWidget* DDSPreview::genDataPreview(const QByteArray& fileData, - const QString& fileName, - const QSize& maxSize) const -{ - DDSFile dds; - if (!dds.loadFromData(fileData)) { - QLabel* label = new QLabel(tr("Failed to load DDS data.")); - label->setAlignment(Qt::AlignCenter); - return label; - } - return buildPreview(dds, maxSize); -} - -QWidget* DDSPreview::buildPreview(DDSFile& dds, const QSize& maxSize) const -{ - QWidget* container = new QWidget(); - QVBoxLayout* layout = new QVBoxLayout(container); - - // Description label - QLabel* descLabel = new QLabel(dds.description()); - descLabel->setAlignment(Qt::AlignCenter); - layout->addWidget(descLabel); - - // OpenGL preview widget — we need to keep the DDSFile alive, so store - // it in the container. We use a shared_ptr stored as a property. - auto* ddsPtr = new DDSFile(std::move(dds)); - DDSWidget* widget = new DDSWidget(*ddsPtr, container); - - // Clean up DDSFile when container is destroyed - QObject::connect(container, &QObject::destroyed, [ddsPtr]() { - delete ddsPtr; - }); - - // Size the widget proportionally - int previewW = maxSize.width(); - int previewH = maxSize.height() - 30; // leave room for label - if (ddsPtr->width() > 0 && ddsPtr->height() > 0) { - float texAspect = - static_cast<float>(ddsPtr->width()) / ddsPtr->height(); - float availAspect = - static_cast<float>(previewW) / std::max(1, previewH); - if (texAspect > availAspect) { - previewH = static_cast<int>(previewW / texAspect); - } else { - previewW = static_cast<int>(previewH * texAspect); - } - } - widget->setMinimumSize(std::min(previewW, static_cast<int>(ddsPtr->width())), - std::min(previewH, static_cast<int>(ddsPtr->height()))); - widget->setMaximumSize(previewW, previewH); - - layout->addWidget(widget); - container->setLayout(layout); - - return container; -} |
