NOISSUE re/move some dead code and unused build system parts
This commit is contained in:
3
api/dead/README.md
Normal file
3
api/dead/README.md
Normal file
@ -0,0 +1,3 @@
|
||||
This stuff is dead code I collected from the repository that still looks like it might be useful for something.
|
||||
|
||||
Moved on 10. April 2016 - if it hasn't been moved or used in a while, delete this.
|
37
api/dead/src/handlers/IconResourceHandler.cpp
Normal file
37
api/dead/src/handlers/IconResourceHandler.cpp
Normal file
@ -0,0 +1,37 @@
|
||||
#include "IconResourceHandler.h"
|
||||
#include <xdgicon.h>
|
||||
|
||||
#include <QDir>
|
||||
#include <QDebug>
|
||||
|
||||
QList<std::weak_ptr<IconResourceHandler>> IconResourceHandler::m_iconHandlers;
|
||||
|
||||
IconResourceHandler::IconResourceHandler(const QString &key)
|
||||
: m_key(key)
|
||||
{
|
||||
}
|
||||
|
||||
void IconResourceHandler::setTheme(const QString &theme)
|
||||
{
|
||||
// notify everyone
|
||||
for (auto handler : m_iconHandlers)
|
||||
{
|
||||
std::shared_ptr<IconResourceHandler> ptr = handler.lock();
|
||||
if (ptr)
|
||||
{
|
||||
ptr->setResult(ptr->get());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void IconResourceHandler::init(std::shared_ptr<ResourceHandler> &ptr)
|
||||
{
|
||||
m_iconHandlers.append(std::dynamic_pointer_cast<IconResourceHandler>(ptr));
|
||||
// we always have a result, so lets report it now!
|
||||
setResult(get());
|
||||
}
|
||||
|
||||
QVariant IconResourceHandler::get() const
|
||||
{
|
||||
return XdgIcon::fromTheme(m_key);
|
||||
}
|
23
api/dead/src/handlers/IconResourceHandler.h
Normal file
23
api/dead/src/handlers/IconResourceHandler.h
Normal file
@ -0,0 +1,23 @@
|
||||
#pragma once
|
||||
|
||||
#include <memory>
|
||||
#include <resources/ResourceHandler.h>
|
||||
|
||||
class IconResourceHandler : public ResourceHandler
|
||||
{
|
||||
public:
|
||||
explicit IconResourceHandler(const QString &key);
|
||||
|
||||
/// Sets the current theme and notifies all IconResourceHandlers of the change
|
||||
static void setTheme(const QString &theme);
|
||||
|
||||
private:
|
||||
// we need to keep track of all IconResourceHandlers so that we can update them if the theme changes
|
||||
void init(std::shared_ptr<ResourceHandler> &ptr) override;
|
||||
static QList<std::weak_ptr<IconResourceHandler>> m_iconHandlers;
|
||||
|
||||
QString m_key;
|
||||
|
||||
// the workhorse, returns QVariantMap (filename => size) for m_key/m_theme
|
||||
QVariant get() const;
|
||||
};
|
68
api/dead/src/handlers/WebResourceHandler.cpp
Normal file
68
api/dead/src/handlers/WebResourceHandler.cpp
Normal file
@ -0,0 +1,68 @@
|
||||
#include "WebResourceHandler.h"
|
||||
|
||||
#include "net/CacheDownload.h"
|
||||
#include "net/HttpMetaCache.h"
|
||||
#include "net/NetJob.h"
|
||||
#include "FileSystem.h"
|
||||
#include "Env.h"
|
||||
|
||||
//FIXME: wrong. needs to be done elsewhere.
|
||||
QMap<QString, NetJob *> WebResourceHandler::m_activeDownloads;
|
||||
|
||||
WebResourceHandler::WebResourceHandler(const QString &url)
|
||||
: QObject(), m_url(url)
|
||||
{
|
||||
MetaEntryPtr entry = ENV.metacache()->resolveEntry("icons", url);
|
||||
if (!entry->isStale())
|
||||
{
|
||||
setResultFromFile(entry->getFullPath());
|
||||
}
|
||||
else if (m_activeDownloads.contains(url))
|
||||
{
|
||||
NetJob *job = m_activeDownloads.value(url);
|
||||
connect(job, &NetJob::succeeded, this, &WebResourceHandler::succeeded);
|
||||
connect(job, &NetJob::failed, this, [job, this]() {setFailure(job->failReason());});
|
||||
connect(job, &NetJob::progress, this, &WebResourceHandler::progress);
|
||||
}
|
||||
else
|
||||
{
|
||||
NetJob *job = new NetJob("Icon download");
|
||||
job->addNetAction(CacheDownload::make(QUrl(url), entry));
|
||||
connect(job, &NetJob::succeeded, this, &WebResourceHandler::succeeded);
|
||||
connect(job, &NetJob::failed, this, [job, this]() {setFailure(job->failReason());});
|
||||
connect(job, &NetJob::progress, this, &WebResourceHandler::progress);
|
||||
connect(job, &NetJob::finished, job, [job](){m_activeDownloads.remove(m_activeDownloads.key(job));job->deleteLater();});
|
||||
m_activeDownloads.insert(url, job);
|
||||
job->start();
|
||||
}
|
||||
}
|
||||
|
||||
void WebResourceHandler::succeeded()
|
||||
{
|
||||
MetaEntryPtr entry = ENV.metacache()->resolveEntry("icons", m_url);
|
||||
setResultFromFile(entry->getFullPath());
|
||||
m_activeDownloads.remove(m_activeDownloads.key(qobject_cast<NetJob *>(sender())));
|
||||
}
|
||||
void WebResourceHandler::progress(qint64 current, qint64 total)
|
||||
{
|
||||
if (total == 0)
|
||||
{
|
||||
setProgress(101);
|
||||
}
|
||||
else
|
||||
{
|
||||
setProgress(current / total);
|
||||
}
|
||||
}
|
||||
|
||||
void WebResourceHandler::setResultFromFile(const QString &file)
|
||||
{
|
||||
try
|
||||
{
|
||||
setResult(FS::read(file));
|
||||
}
|
||||
catch (Exception &e)
|
||||
{
|
||||
setFailure(e.cause());
|
||||
}
|
||||
}
|
23
api/dead/src/handlers/WebResourceHandler.h
Normal file
23
api/dead/src/handlers/WebResourceHandler.h
Normal file
@ -0,0 +1,23 @@
|
||||
#pragma once
|
||||
|
||||
#include <QObject>
|
||||
#include <resources/ResourceHandler.h>
|
||||
|
||||
class NetJob;
|
||||
|
||||
class WebResourceHandler : public QObject, public ResourceHandler
|
||||
{
|
||||
public:
|
||||
explicit WebResourceHandler(const QString &url);
|
||||
|
||||
private slots:
|
||||
void succeeded();
|
||||
void progress(qint64 current, qint64 total);
|
||||
|
||||
private:
|
||||
static QMap<QString, NetJob *> m_activeDownloads;
|
||||
|
||||
QString m_url;
|
||||
|
||||
void setResultFromFile(const QString &file);
|
||||
};
|
116
api/dead/test/tst_Resource.cpp
Normal file
116
api/dead/test/tst_Resource.cpp
Normal file
@ -0,0 +1,116 @@
|
||||
#include <QTest>
|
||||
#include "TestUtil.h"
|
||||
|
||||
#include "resources/Resource.h"
|
||||
#include "resources/ResourceHandler.h"
|
||||
#include "resources/ResourceObserver.h"
|
||||
|
||||
class DummyStringResourceHandler : public ResourceHandler
|
||||
{
|
||||
public:
|
||||
explicit DummyStringResourceHandler(const QString &key)
|
||||
: m_key(key) {}
|
||||
|
||||
void init(std::shared_ptr<ResourceHandler> &) override
|
||||
{
|
||||
setResult(m_key);
|
||||
}
|
||||
|
||||
QString m_key;
|
||||
};
|
||||
class DummyObserver : public ResourceObserver
|
||||
{
|
||||
public:
|
||||
void resourceUpdated() override
|
||||
{
|
||||
values += get<QString>();
|
||||
}
|
||||
|
||||
QStringList values;
|
||||
};
|
||||
class DummyObserverObject : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(QString property MEMBER property)
|
||||
|
||||
public:
|
||||
explicit DummyObserverObject(QObject *parent = nullptr) : QObject(parent) {}
|
||||
|
||||
QString property;
|
||||
};
|
||||
|
||||
class ResourceTest : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
private
|
||||
slots:
|
||||
void initTestCase()
|
||||
{
|
||||
Resource::registerHandler<DummyStringResourceHandler>("dummy");
|
||||
}
|
||||
void cleanupTestCase()
|
||||
{
|
||||
}
|
||||
|
||||
void test_Then()
|
||||
{
|
||||
QString val;
|
||||
Resource::create("dummy:test_Then")
|
||||
->then([&val](const QString &key) { val = key; });
|
||||
QCOMPARE(val, QStringLiteral("test_Then"));
|
||||
}
|
||||
void test_Object()
|
||||
{
|
||||
DummyObserver *observer = new DummyObserver;
|
||||
Resource::create("dummy:test_Object")->applyTo(observer);
|
||||
QCOMPARE(observer->values, QStringList() << "test_Object");
|
||||
}
|
||||
void test_QObjectProperty()
|
||||
{
|
||||
DummyObserverObject *object = new DummyObserverObject;
|
||||
Resource::create("dummy:test_QObjectProperty")->applyTo(object);
|
||||
QCOMPARE(object->property, QStringLiteral("test_QObjectProperty"));
|
||||
}
|
||||
|
||||
void test_DontRequestPlaceholder()
|
||||
{
|
||||
// since dummy:asdf immediently gives a value we should not get the placeholder
|
||||
Resource::create("dummy:asdf", Resource::create("dummy:fdsa"))
|
||||
->then([](const QString &key) { QCOMPARE(key, QStringLiteral("asdf")); });
|
||||
}
|
||||
|
||||
void test_MergedResources()
|
||||
{
|
||||
auto r1 = Resource::create("dummy:asdf");
|
||||
auto r2 = Resource::create("dummy:asdf");
|
||||
auto r3 = Resource::create("dummy:fdsa");
|
||||
auto r4 = Resource::create("dummy:asdf");
|
||||
|
||||
QCOMPARE(r1, r2);
|
||||
QCOMPARE(r1, r4);
|
||||
QVERIFY(r1 != r3);
|
||||
QVERIFY(r2 != r3);
|
||||
QVERIFY(r4 != r3);
|
||||
}
|
||||
|
||||
void test_MergedResourceWithPlaceholder()
|
||||
{
|
||||
auto p1 = Resource::create("dummy:placeA");
|
||||
auto p2 = Resource::create("dummy:placeB");
|
||||
|
||||
auto r1 = Resource::create("dummy:asdf");
|
||||
auto r2 = Resource::create("dummy:asdf", p1);
|
||||
auto r3 = Resource::create("dummy:asdf", p2);
|
||||
auto r4 = Resource::create("dummy:asdf", p1);
|
||||
|
||||
QCOMPARE(r2, r4);
|
||||
QVERIFY(r1 != r2);
|
||||
QVERIFY(r1 != r3);
|
||||
QVERIFY(r1 != r4);
|
||||
QVERIFY(r2 != r3);
|
||||
}
|
||||
};
|
||||
|
||||
QTEST_GUILESS_MAIN(ResourceTest)
|
||||
|
||||
#include "tst_Resource.moc"
|
@ -16,11 +16,6 @@ set(LOGIC_SOURCES
|
||||
MMCZip.cpp
|
||||
MMCStrings.h
|
||||
MMCStrings.cpp
|
||||
BaseConfigObject.h
|
||||
BaseConfigObject.cpp
|
||||
AbstractCommonModel.h
|
||||
AbstractCommonModel.cpp
|
||||
TypeMagic.h
|
||||
|
||||
# Prefix tree where node names are strings between separators
|
||||
SeparatorPrefixTree.h
|
||||
@ -47,16 +42,6 @@ set(LOGIC_SOURCES
|
||||
# a smart pointer wrapper intended for safer use with Qt signal/slot mechanisms
|
||||
QObjectPtr.h
|
||||
|
||||
# Resources
|
||||
resources/Resource.cpp
|
||||
resources/Resource.h
|
||||
resources/ResourceHandler.cpp
|
||||
resources/ResourceHandler.h
|
||||
resources/ResourceObserver.cpp
|
||||
resources/ResourceObserver.h
|
||||
resources/ResourceProxyModel.h
|
||||
resources/ResourceProxyModel.cpp
|
||||
|
||||
# Path matchers
|
||||
pathmatcher/FSTreeMatcher.h
|
||||
pathmatcher/IPathMatcher.h
|
||||
|
Reference in New Issue
Block a user