mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2024-12-21 08:09:35 +08:00
Setup pixmap cache in a proper place
There is no need to reset the cache limit to previous value as QPixmapCache is an application wide cache. Also raise the cache size to 64MB.
This commit is contained in:
parent
47b9d8dbc6
commit
7e0daf1663
@ -33,6 +33,10 @@
|
|||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
|
#ifdef DISABLE_GUI
|
||||||
|
#include <cstdio>
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <Windows.h>
|
#include <Windows.h>
|
||||||
@ -47,6 +51,7 @@
|
|||||||
|
|
||||||
#ifndef DISABLE_GUI
|
#ifndef DISABLE_GUI
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
|
#include <QPixmapCache>
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
#include <QSessionManager>
|
#include <QSessionManager>
|
||||||
#include <QSharedMemory>
|
#include <QSharedMemory>
|
||||||
@ -54,14 +59,7 @@
|
|||||||
#ifdef Q_OS_MAC
|
#ifdef Q_OS_MAC
|
||||||
#include <QFileOpenEvent>
|
#include <QFileOpenEvent>
|
||||||
#endif // Q_OS_MAC
|
#endif // Q_OS_MAC
|
||||||
#include "addnewtorrentdialog.h"
|
#endif
|
||||||
#include "gui/uithememanager.h"
|
|
||||||
#include "gui/utils.h"
|
|
||||||
#include "mainwindow.h"
|
|
||||||
#include "shutdownconfirmdialog.h"
|
|
||||||
#else // DISABLE_GUI
|
|
||||||
#include <cstdio>
|
|
||||||
#endif // DISABLE_GUI
|
|
||||||
|
|
||||||
#include "base/bittorrent/session.h"
|
#include "base/bittorrent/session.h"
|
||||||
#include "base/bittorrent/torrenthandle.h"
|
#include "base/bittorrent/torrenthandle.h"
|
||||||
@ -85,6 +83,14 @@
|
|||||||
#include "applicationinstancemanager.h"
|
#include "applicationinstancemanager.h"
|
||||||
#include "filelogger.h"
|
#include "filelogger.h"
|
||||||
|
|
||||||
|
#ifndef DISABLE_GUI
|
||||||
|
#include "addnewtorrentdialog.h"
|
||||||
|
#include "gui/uithememanager.h"
|
||||||
|
#include "gui/utils.h"
|
||||||
|
#include "mainwindow.h"
|
||||||
|
#include "shutdownconfirmdialog.h"
|
||||||
|
#endif // DISABLE_GUI
|
||||||
|
|
||||||
#ifndef DISABLE_WEBUI
|
#ifndef DISABLE_WEBUI
|
||||||
#include "webui/webui.h"
|
#include "webui/webui.h"
|
||||||
#endif
|
#endif
|
||||||
@ -114,6 +120,8 @@ namespace
|
|||||||
const int MIN_FILELOG_SIZE = 1024; // 1KiB
|
const int MIN_FILELOG_SIZE = 1024; // 1KiB
|
||||||
const int MAX_FILELOG_SIZE = 1000 * 1024 * 1024; // 1000MiB
|
const int MAX_FILELOG_SIZE = 1000 * 1024 * 1024; // 1000MiB
|
||||||
const int DEFAULT_FILELOG_SIZE = 65 * 1024; // 65KiB
|
const int DEFAULT_FILELOG_SIZE = 65 * 1024; // 65KiB
|
||||||
|
|
||||||
|
const int PIXMAP_CACHE_SIZE = 64 * 1024 * 1024; // 64MiB
|
||||||
}
|
}
|
||||||
|
|
||||||
Application::Application(const QString &id, int &argc, char **argv)
|
Application::Application(const QString &id, int &argc, char **argv)
|
||||||
@ -131,6 +139,7 @@ Application::Application(const QString &id, int &argc, char **argv)
|
|||||||
setDesktopFileName("org.qbittorrent.qBittorrent");
|
setDesktopFileName("org.qbittorrent.qBittorrent");
|
||||||
setAttribute(Qt::AA_UseHighDpiPixmaps, true); // opt-in to the high DPI pixmap support
|
setAttribute(Qt::AA_UseHighDpiPixmaps, true); // opt-in to the high DPI pixmap support
|
||||||
setQuitOnLastWindowClosed(false);
|
setQuitOnLastWindowClosed(false);
|
||||||
|
QPixmapCache::setCacheLimit(PIXMAP_CACHE_SIZE);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
validateCommandLineParameters();
|
validateCommandLineParameters();
|
||||||
|
@ -77,24 +77,6 @@ namespace
|
|||||||
};
|
};
|
||||||
|
|
||||||
#ifdef QBT_PIXMAP_CACHE_FOR_FILE_ICONS
|
#ifdef QBT_PIXMAP_CACHE_FOR_FILE_ICONS
|
||||||
struct Q_DECL_UNUSED PixmapCacheSetup
|
|
||||||
{
|
|
||||||
static const int PixmapCacheForIconsSize = 2 * 1024 * 1024; // 2 MiB for file icons
|
|
||||||
|
|
||||||
PixmapCacheSetup()
|
|
||||||
{
|
|
||||||
QPixmapCache::setCacheLimit(QPixmapCache::cacheLimit() + PixmapCacheForIconsSize);
|
|
||||||
}
|
|
||||||
|
|
||||||
~PixmapCacheSetup()
|
|
||||||
{
|
|
||||||
Q_ASSERT(QPixmapCache::cacheLimit() > PixmapCacheForIconsSize);
|
|
||||||
QPixmapCache::setCacheLimit(QPixmapCache::cacheLimit() - PixmapCacheForIconsSize);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
PixmapCacheSetup pixmapCacheSetup;
|
|
||||||
|
|
||||||
class CachingFileIconProvider : public UnifiedFileIconProvider
|
class CachingFileIconProvider : public UnifiedFileIconProvider
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
Loading…
Reference in New Issue
Block a user