mirror of
https://github.com/MaurycyLiebner/enve.git
synced 2024-12-20 07:32:08 +00:00
Compare commits
4 Commits
c39be6f405
...
6dd0f78f51
Author | SHA1 | Date | |
---|---|---|---|
|
6dd0f78f51 | ||
|
e88e48fca6 | ||
|
57cf06d606 | ||
|
0117c34d84 |
@ -20,6 +20,7 @@
|
||||
#include "Private/Tasks/taskscheduler.h"
|
||||
#include "Private/Tasks/complextask.h"
|
||||
#include "conncontextptr.h"
|
||||
#include "memoryhandler.h"
|
||||
|
||||
#include <QTimer>
|
||||
#include <QLocale>
|
||||
@ -146,6 +147,13 @@ UsageWidget::UsageWidget(QWidget * const parent) : QStatusBar(parent) {
|
||||
|
||||
mRamLabel = new QLabel(this);
|
||||
|
||||
const auto clearRamButton = new QPushButton("clear memory", this);
|
||||
connect(clearRamButton, &QPushButton::clicked,
|
||||
this, []() {
|
||||
const auto m = MemoryHandler::sInstance;
|
||||
m->clearMemory();
|
||||
});
|
||||
|
||||
addPermanentWidget(gpuLabel);
|
||||
addPermanentWidget(mGpuBar);
|
||||
|
||||
@ -160,6 +168,8 @@ UsageWidget::UsageWidget(QWidget * const parent) : QStatusBar(parent) {
|
||||
|
||||
addPermanentWidget(mRamLabel);
|
||||
|
||||
addPermanentWidget(clearRamButton);
|
||||
|
||||
setThreadsTotal(QThread::idealThreadCount());
|
||||
|
||||
connect(TaskScheduler::instance(), &TaskScheduler::hddUsageChanged,
|
||||
@ -200,7 +210,7 @@ void UsageWidget::setTotalRam(const qreal totalRamMB) {
|
||||
}
|
||||
|
||||
void UsageWidget::addComplexTask(ComplexTask * const task) {
|
||||
for(const auto wid : mTaskWidgets) {
|
||||
for(const auto wid : qAsConst(mTaskWidgets)) {
|
||||
if(wid->isHidden()) {
|
||||
return wid->setComplexTask(task);
|
||||
}
|
||||
|
@ -164,7 +164,7 @@ void MemoryChecker::checkMemory() {
|
||||
} else if(procFreeKB.fValue < 0) {
|
||||
emit handleMemoryState(LOW_MEMORY_STATE, longB(-procFreeKB));
|
||||
mLastMemoryState = LOW_MEMORY_STATE;
|
||||
} else if(mLastMemoryState != NORMAL_MEMORY_STATE) {
|
||||
} else/* if(mLastMemoryState != NORMAL_MEMORY_STATE)*/ {
|
||||
emit handleMemoryState(NORMAL_MEMORY_STATE, longB(0));
|
||||
mLastMemoryState = NORMAL_MEMORY_STATE;
|
||||
}
|
||||
|
@ -60,6 +60,10 @@ MemoryHandler::~MemoryHandler() {
|
||||
delete mMemoryChecker;
|
||||
}
|
||||
|
||||
void MemoryHandler::clearMemory() {
|
||||
freeMemory(NORMAL_MEMORY_STATE, longB(std::numeric_limits<qint64>::max()));
|
||||
}
|
||||
|
||||
MemoryState MemoryHandler::sMemoryState() {
|
||||
return sInstance->mMemoryState;
|
||||
}
|
||||
@ -90,11 +94,11 @@ void MemoryHandler::freeMemory(const MemoryState newState,
|
||||
const auto cont = mDataHandler.takeFirst();
|
||||
memToFree -= cont->free_RAM_k();
|
||||
}
|
||||
if(newState == CRITICAL_MEMORY_STATE) {
|
||||
if(newState == CRITICAL_MEMORY_STATE ||
|
||||
memToFree > 0) {
|
||||
mMemoryState = CRITICAL_MEMORY_STATE;
|
||||
emit enteredCriticalState();
|
||||
emit allMemoryUsed();
|
||||
} else if(memToFree > 0) {
|
||||
emit allMemoryUsed();
|
||||
}
|
||||
emit memoryFreed();
|
||||
}
|
||||
|
@ -26,6 +26,8 @@ public:
|
||||
explicit MemoryHandler(QObject * const parent = nullptr);
|
||||
~MemoryHandler();
|
||||
|
||||
void clearMemory();
|
||||
|
||||
static MemoryHandler *sInstance;
|
||||
static MemoryState sMemoryState();
|
||||
signals:
|
||||
|
@ -89,11 +89,11 @@ void ImageLoader::process() {
|
||||
}
|
||||
|
||||
void ImageLoader::afterProcessing() {
|
||||
mTargetHandler->replaceImage(mImage);
|
||||
if(mTargetHandler) mTargetHandler->replaceImage(mImage);
|
||||
}
|
||||
|
||||
void ImageLoader::afterCanceled() {
|
||||
mTargetHandler->replaceImage(mImage);
|
||||
if(mTargetHandler) mTargetHandler->replaceImage(mImage);
|
||||
}
|
||||
|
||||
void OraLoader::process() {
|
||||
|
@ -33,7 +33,7 @@ public:
|
||||
void afterProcessing();
|
||||
void afterCanceled();
|
||||
protected:
|
||||
ImageFileDataHandler * const mTargetHandler;
|
||||
const qptr<ImageFileDataHandler> mTargetHandler;
|
||||
const QString mFilePath;
|
||||
sk_sp<SkImage> mImage;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user