mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-29 19:22:57 +02:00
Merge pull request #9929 from ctrlaltdavid/21235
Replace Developer > Network > Disk cache editor with menu action
This commit is contained in:
commit
2e6291f470
6 changed files with 5 additions and 207 deletions
|
@ -554,14 +554,14 @@ Menu::Menu() {
|
||||||
"NetworkingPreferencesDialog");
|
"NetworkingPreferencesDialog");
|
||||||
});
|
});
|
||||||
addActionToQMenuAndActionHash(networkMenu, MenuOption::ReloadContent, 0, qApp, SLOT(reloadResourceCaches()));
|
addActionToQMenuAndActionHash(networkMenu, MenuOption::ReloadContent, 0, qApp, SLOT(reloadResourceCaches()));
|
||||||
|
addActionToQMenuAndActionHash(networkMenu, MenuOption::ClearDiskCache, 0,
|
||||||
|
DependencyManager::get<AssetClient>().data(), SLOT(clearCache()));
|
||||||
addCheckableActionToQMenuAndActionHash(networkMenu,
|
addCheckableActionToQMenuAndActionHash(networkMenu,
|
||||||
MenuOption::DisableActivityLogger,
|
MenuOption::DisableActivityLogger,
|
||||||
0,
|
0,
|
||||||
false,
|
false,
|
||||||
&UserActivityLogger::getInstance(),
|
&UserActivityLogger::getInstance(),
|
||||||
SLOT(disable(bool)));
|
SLOT(disable(bool)));
|
||||||
addActionToQMenuAndActionHash(networkMenu, MenuOption::DiskCacheEditor, 0,
|
|
||||||
dialogsManager.data(), SLOT(toggleDiskCacheEditor()));
|
|
||||||
addActionToQMenuAndActionHash(networkMenu, MenuOption::ShowDSConnectTable, 0,
|
addActionToQMenuAndActionHash(networkMenu, MenuOption::ShowDSConnectTable, 0,
|
||||||
dialogsManager.data(), SLOT(showDomainConnectionDialog()));
|
dialogsManager.data(), SLOT(showDomainConnectionDialog()));
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,7 @@ namespace MenuOption {
|
||||||
const QString CameraEntityMode = "Entity Mode";
|
const QString CameraEntityMode = "Entity Mode";
|
||||||
const QString CenterPlayerInView = "Center Player In View";
|
const QString CenterPlayerInView = "Center Player In View";
|
||||||
const QString Chat = "Chat...";
|
const QString Chat = "Chat...";
|
||||||
|
const QString ClearDiskCache = "Clear Disk Cache";
|
||||||
const QString Collisions = "Collisions";
|
const QString Collisions = "Collisions";
|
||||||
const QString Connexion = "Activate 3D Connexion Devices";
|
const QString Connexion = "Activate 3D Connexion Devices";
|
||||||
const QString Console = "Console...";
|
const QString Console = "Console...";
|
||||||
|
@ -82,7 +83,6 @@ namespace MenuOption {
|
||||||
const QString DisableActivityLogger = "Disable Activity Logger";
|
const QString DisableActivityLogger = "Disable Activity Logger";
|
||||||
const QString DisableEyelidAdjustment = "Disable Eyelid Adjustment";
|
const QString DisableEyelidAdjustment = "Disable Eyelid Adjustment";
|
||||||
const QString DisableLightEntities = "Disable Light Entities";
|
const QString DisableLightEntities = "Disable Light Entities";
|
||||||
const QString DiskCacheEditor = "Disk Cache Editor";
|
|
||||||
const QString DisplayCrashOptions = "Display Crash Options";
|
const QString DisplayCrashOptions = "Display Crash Options";
|
||||||
const QString DisplayHandTargets = "Show Hand Targets";
|
const QString DisplayHandTargets = "Show Hand Targets";
|
||||||
const QString DisplayModelBounds = "Display Model Bounds";
|
const QString DisplayModelBounds = "Display Model Bounds";
|
||||||
|
|
|
@ -20,7 +20,6 @@
|
||||||
|
|
||||||
#include "AddressBarDialog.h"
|
#include "AddressBarDialog.h"
|
||||||
#include "ConnectionFailureDialog.h"
|
#include "ConnectionFailureDialog.h"
|
||||||
#include "DiskCacheEditor.h"
|
|
||||||
#include "DomainConnectionDialog.h"
|
#include "DomainConnectionDialog.h"
|
||||||
#include "HMDToolsDialog.h"
|
#include "HMDToolsDialog.h"
|
||||||
#include "LodToolsDialog.h"
|
#include "LodToolsDialog.h"
|
||||||
|
@ -66,11 +65,6 @@ void DialogsManager::setDomainConnectionFailureVisibility(bool visible) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DialogsManager::toggleDiskCacheEditor() {
|
|
||||||
maybeCreateDialog(_diskCacheEditor);
|
|
||||||
_diskCacheEditor->toggle();
|
|
||||||
}
|
|
||||||
|
|
||||||
void DialogsManager::toggleLoginDialog() {
|
void DialogsManager::toggleLoginDialog() {
|
||||||
LoginDialog::toggleAction();
|
LoginDialog::toggleAction();
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
class AnimationsDialog;
|
class AnimationsDialog;
|
||||||
class AttachmentsDialog;
|
class AttachmentsDialog;
|
||||||
class DiskCacheEditor;
|
class CachesSizeDialog;
|
||||||
class LodToolsDialog;
|
class LodToolsDialog;
|
||||||
class OctreeStatsDialog;
|
class OctreeStatsDialog;
|
||||||
class ScriptEditorWindow;
|
class ScriptEditorWindow;
|
||||||
|
@ -45,7 +45,6 @@ public slots:
|
||||||
void showAddressBar();
|
void showAddressBar();
|
||||||
void showFeed();
|
void showFeed();
|
||||||
void setDomainConnectionFailureVisibility(bool visible);
|
void setDomainConnectionFailureVisibility(bool visible);
|
||||||
void toggleDiskCacheEditor();
|
|
||||||
void toggleLoginDialog();
|
void toggleLoginDialog();
|
||||||
void showLoginDialog();
|
void showLoginDialog();
|
||||||
void octreeStatsDetails();
|
void octreeStatsDetails();
|
||||||
|
@ -74,7 +73,7 @@ private:
|
||||||
|
|
||||||
QPointer<AnimationsDialog> _animationsDialog;
|
QPointer<AnimationsDialog> _animationsDialog;
|
||||||
QPointer<AttachmentsDialog> _attachmentsDialog;
|
QPointer<AttachmentsDialog> _attachmentsDialog;
|
||||||
QPointer<DiskCacheEditor> _diskCacheEditor;
|
QPointer<CachesSizeDialog> _cachesSizeDialog;
|
||||||
QPointer<QMessageBox> _ircInfoBox;
|
QPointer<QMessageBox> _ircInfoBox;
|
||||||
QPointer<HMDToolsDialog> _hmdToolsDialog;
|
QPointer<HMDToolsDialog> _hmdToolsDialog;
|
||||||
QPointer<LodToolsDialog> _lodToolsDialog;
|
QPointer<LodToolsDialog> _lodToolsDialog;
|
||||||
|
|
|
@ -1,146 +0,0 @@
|
||||||
//
|
|
||||||
// DiskCacheEditor.cpp
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// Created by Clement on 3/4/15.
|
|
||||||
// Copyright 2015 High Fidelity, Inc.
|
|
||||||
//
|
|
||||||
// Distributed under the Apache License, Version 2.0.
|
|
||||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
||||||
//
|
|
||||||
|
|
||||||
#include "DiskCacheEditor.h"
|
|
||||||
|
|
||||||
#include <QDebug>
|
|
||||||
#include <QDialog>
|
|
||||||
#include <QGridLayout>
|
|
||||||
#include <QPushButton>
|
|
||||||
#include <QLabel>
|
|
||||||
#include <QTimer>
|
|
||||||
#include <QMessageBox>
|
|
||||||
|
|
||||||
#include <AssetClient.h>
|
|
||||||
|
|
||||||
#include "OffscreenUi.h"
|
|
||||||
|
|
||||||
DiskCacheEditor::DiskCacheEditor(QWidget* parent) : QObject(parent) {
|
|
||||||
}
|
|
||||||
|
|
||||||
QWindow* DiskCacheEditor::windowHandle() {
|
|
||||||
return (_dialog) ? _dialog->windowHandle() : nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
void DiskCacheEditor::toggle() {
|
|
||||||
if (!_dialog) {
|
|
||||||
makeDialog();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!_dialog->isActiveWindow()) {
|
|
||||||
_dialog->show();
|
|
||||||
_dialog->raise();
|
|
||||||
_dialog->activateWindow();
|
|
||||||
} else {
|
|
||||||
_dialog->close();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void DiskCacheEditor::makeDialog() {
|
|
||||||
_dialog = new QDialog(static_cast<QWidget*>(parent()));
|
|
||||||
Q_CHECK_PTR(_dialog);
|
|
||||||
_dialog->setAttribute(Qt::WA_DeleteOnClose);
|
|
||||||
_dialog->setWindowTitle("Disk Cache Editor");
|
|
||||||
|
|
||||||
QGridLayout* layout = new QGridLayout(_dialog);
|
|
||||||
Q_CHECK_PTR(layout);
|
|
||||||
_dialog->setLayout(layout);
|
|
||||||
|
|
||||||
|
|
||||||
QLabel* path = new QLabel("Path : ", _dialog);
|
|
||||||
Q_CHECK_PTR(path);
|
|
||||||
path->setAlignment(Qt::AlignRight);
|
|
||||||
layout->addWidget(path, 0, 0);
|
|
||||||
|
|
||||||
QLabel* size = new QLabel("Current Size : ", _dialog);
|
|
||||||
Q_CHECK_PTR(size);
|
|
||||||
size->setAlignment(Qt::AlignRight);
|
|
||||||
layout->addWidget(size, 1, 0);
|
|
||||||
|
|
||||||
QLabel* maxSize = new QLabel("Max Size : ", _dialog);
|
|
||||||
Q_CHECK_PTR(maxSize);
|
|
||||||
maxSize->setAlignment(Qt::AlignRight);
|
|
||||||
layout->addWidget(maxSize, 2, 0);
|
|
||||||
|
|
||||||
|
|
||||||
_path = new QLabel(_dialog);
|
|
||||||
Q_CHECK_PTR(_path);
|
|
||||||
_path->setAlignment(Qt::AlignLeft);
|
|
||||||
layout->addWidget(_path, 0, 1, 1, 3);
|
|
||||||
|
|
||||||
_size = new QLabel(_dialog);
|
|
||||||
Q_CHECK_PTR(_size);
|
|
||||||
_size->setAlignment(Qt::AlignLeft);
|
|
||||||
layout->addWidget(_size, 1, 1, 1, 3);
|
|
||||||
|
|
||||||
_maxSize = new QLabel(_dialog);
|
|
||||||
Q_CHECK_PTR(_maxSize);
|
|
||||||
_maxSize->setAlignment(Qt::AlignLeft);
|
|
||||||
layout->addWidget(_maxSize, 2, 1, 1, 3);
|
|
||||||
|
|
||||||
refresh();
|
|
||||||
|
|
||||||
|
|
||||||
static const int REFRESH_INTERVAL = 100; // msec
|
|
||||||
_refreshTimer = new QTimer(_dialog);
|
|
||||||
_refreshTimer->setInterval(REFRESH_INTERVAL); // Qt::CoarseTimer acceptable, no need for real time accuracy
|
|
||||||
_refreshTimer->setSingleShot(false);
|
|
||||||
QObject::connect(_refreshTimer.data(), &QTimer::timeout, this, &DiskCacheEditor::refresh);
|
|
||||||
_refreshTimer->start();
|
|
||||||
|
|
||||||
QPushButton* clearCacheButton = new QPushButton(_dialog);
|
|
||||||
Q_CHECK_PTR(clearCacheButton);
|
|
||||||
clearCacheButton->setText("Clear");
|
|
||||||
clearCacheButton->setToolTip("Erases the entire content of the disk cache.");
|
|
||||||
connect(clearCacheButton, SIGNAL(clicked()), SLOT(clear()));
|
|
||||||
layout->addWidget(clearCacheButton, 3, 3);
|
|
||||||
}
|
|
||||||
|
|
||||||
void DiskCacheEditor::refresh() {
|
|
||||||
DependencyManager::get<AssetClient>()->cacheInfoRequest(this, "cacheInfoCallback");
|
|
||||||
}
|
|
||||||
|
|
||||||
void DiskCacheEditor::cacheInfoCallback(QString cacheDirectory, qint64 cacheSize, qint64 maximumCacheSize) {
|
|
||||||
static const auto stringify = [](qint64 number) {
|
|
||||||
static const QStringList UNITS = QStringList() << "B" << "KB" << "MB" << "GB";
|
|
||||||
static const qint64 CHUNK = 1024;
|
|
||||||
QString unit;
|
|
||||||
int i = 0;
|
|
||||||
for (i = 0; i < 4; ++i) {
|
|
||||||
if (number / CHUNK > 0) {
|
|
||||||
number /= CHUNK;
|
|
||||||
} else {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return QString("%0 %1").arg(number).arg(UNITS[i]);
|
|
||||||
};
|
|
||||||
|
|
||||||
if (_path) {
|
|
||||||
_path->setText(cacheDirectory);
|
|
||||||
}
|
|
||||||
if (_size) {
|
|
||||||
_size->setText(stringify(cacheSize));
|
|
||||||
}
|
|
||||||
if (_maxSize) {
|
|
||||||
_maxSize->setText(stringify(maximumCacheSize));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void DiskCacheEditor::clear() {
|
|
||||||
auto buttonClicked = OffscreenUi::question(_dialog, "Clearing disk cache",
|
|
||||||
"You are about to erase all the content of the disk cache, "
|
|
||||||
"are you sure you want to do that?",
|
|
||||||
QMessageBox::Ok | QMessageBox::Cancel);
|
|
||||||
if (buttonClicked == QMessageBox::Ok) {
|
|
||||||
DependencyManager::get<AssetClient>()->clearCache();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,49 +0,0 @@
|
||||||
//
|
|
||||||
// DiskCacheEditor.h
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// Created by Clement on 3/4/15.
|
|
||||||
// Copyright 2015 High Fidelity, Inc.
|
|
||||||
//
|
|
||||||
// Distributed under the Apache License, Version 2.0.
|
|
||||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifndef hifi_DiskCacheEditor_h
|
|
||||||
#define hifi_DiskCacheEditor_h
|
|
||||||
|
|
||||||
#include <QObject>
|
|
||||||
#include <QPointer>
|
|
||||||
|
|
||||||
class QDialog;
|
|
||||||
class QLabel;
|
|
||||||
class QWindow;
|
|
||||||
class QTimer;
|
|
||||||
|
|
||||||
class DiskCacheEditor : public QObject {
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
DiskCacheEditor(QWidget* parent = nullptr);
|
|
||||||
|
|
||||||
QWindow* windowHandle();
|
|
||||||
|
|
||||||
public slots:
|
|
||||||
void toggle();
|
|
||||||
|
|
||||||
private slots:
|
|
||||||
void refresh();
|
|
||||||
void cacheInfoCallback(QString cacheDirectory, qint64 cacheSize, qint64 maximumCacheSize);
|
|
||||||
void clear();
|
|
||||||
|
|
||||||
private:
|
|
||||||
void makeDialog();
|
|
||||||
|
|
||||||
QPointer<QDialog> _dialog;
|
|
||||||
QPointer<QLabel> _path;
|
|
||||||
QPointer<QLabel> _size;
|
|
||||||
QPointer<QLabel> _maxSize;
|
|
||||||
QPointer<QTimer> _refreshTimer;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // hifi_DiskCacheEditor_h
|
|
Loading…
Reference in a new issue