Something went wrong. Try again.
Bring Windows XP themes to your KDE Plasma environment!
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344// SPDX-License-Identifier: GPL-3.0-or-later#pragma once// XPlasma's own files onto the machine, and off again: what install.sh does,// for the Setup wizard (xplasma-setup). A package (a release tree: bin/,// lib/xplasma/, share/applications/) is copied into a prefix (~/.local by// default) -- the programs, the style plugins, the builds of Plasma's// widgets, the desktop entries pointed at the installed editor -- each file// written under a fresh name and renamed into place, so a running program// keeps the one it has open. The prefix is kept in State's settings, for// Repair and Remove.#include <QString>#include <QStringList>
#include <functional>
namespace xpl::installer {
using Progress = std::function<void(const QString &line)>;
// The package this program runs from: the folder above its bin/.QString packageRoot();// Whether `root` holds a package (its bin/xplasma, at least).bool isPackage(const QString &root);// Where XPlasma is installed (State's record, else ~/.local if its bin/xplasma// is there), or empty.QString installedPrefix();// The release number of the XPlasma installed in `prefix` (its own word:// `xplasma --version`); 0 for one from before release numbers, or none.int installedVersion(const QString &prefix);
// The package's files into `prefix` (recorded as the install's prefix).bool installFiles(const QString &package, const QString &prefix, const Progress &progress, QString *error = nullptr);// XPlasma's files out of `prefix` (its record gone). With `extracted`, also// what it took out of Windows XP and made of it (the fonts, the theme// library, its settings); with `downloads`, the downloaded Windows XP CD// image and theme packs.void removeFiles(const QString &prefix, bool extracted, bool downloads, const Progress &progress);// How much the downloads take (bytes), for the wizard to say.qint64 downloadsSize();// The paths installFiles writes, relative to the prefix (for removal).QStringList installedPaths();
} // namespace xpl::installer