Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,7 @@ qt6_wrap_ui(
src/mainwindow.ui
src/widget/about/aboutfriendform.ui
src/widget/form/debug/debuglog.ui
src/widget/form/debug/debugnetprof.ui
src/widget/form/debug/debugobjecttree.ui
src/widget/form/loadhistorydialog.ui
src/widget/form/profileform.ui
Expand Down Expand Up @@ -518,6 +519,8 @@ set(${BINARY_NAME}_SOURCES
src/widget/form/chatform.h
src/widget/form/debug/debuglog.cpp
src/widget/form/debug/debuglog.h
src/widget/form/debug/debugnetprof.cpp
src/widget/form/debug/debugnetprof.h
src/widget/form/debug/debugobjecttree.cpp
src/widget/form/debug/debugobjecttree.h
src/widget/form/debugwidget.cpp
Expand Down
1 change: 1 addition & 0 deletions src/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ qt_moc(
"widget/form/conferenceinviteform.h",
"widget/form/conferenceinvitewidget.h",
"widget/form/debug/debuglog.h",
"widget/form/debug/debugnetprof.h",
"widget/form/debug/debugobjecttree.h",
"widget/form/debugwidget.h",
"widget/form/filesform.h",
Expand Down
1 change: 0 additions & 1 deletion src/widget/form/debug/debuglog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
#include <QDesktopServices>
#include <QFile>
#include <QMetaEnum>
#include <QPushButton>
#include <QTimer>

#include <memory>
Expand Down
44 changes: 44 additions & 0 deletions src/widget/form/debug/debugnetprof.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
/* SPDX-License-Identifier: GPL-3.0-or-later
* Copyright © 2014-2019 by The qTox Project Contributors
* Copyright © 2024 The TokTok team.
*/

#include "debugnetprof.h"
#include "ui_debugnetprof.h"

#include "src/model/debug/debuglogmodel.h"
#include "src/persistence/paths.h"
#include "src/widget/style.h"
#include "src/widget/translator.h"

#include <tox/tox.h>

#include <QTimer>

#include <memory>

DebugNetProfForm::DebugNetProfForm(Style& style, QWidget* parent)
: GenericForm{QPixmap(":/img/settings/general.png"), style, parent}
, ui_{std::make_unique<Ui::DebugNetProf>()}
, reloadTimer_{new QTimer(this)}
{
ui_->setupUi(this);

// Reload logs every 5 seconds
reloadTimer_->start(5000);

Translator::registerHandler([this] { retranslateUi(); }, this);
}

DebugNetProfForm::~DebugNetProfForm()
{
Translator::unregister(this);
}

/**
* @brief Retranslate all elements in the form.
*/
void DebugNetProfForm::retranslateUi()
{
ui_->retranslateUi(this);
}
36 changes: 36 additions & 0 deletions src/widget/form/debug/debugnetprof.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/* SPDX-License-Identifier: GPL-3.0-or-later
* Copyright © 2024 The TokTok team.
*/

#pragma once

#include "src/widget/form/settings/genericsettings.h"

#include <memory>

class Paths;
class QTimer;
class Style;

namespace Ui {
class DebugNetProf;
}

class DebugNetProfForm final : public GenericForm
{
Q_OBJECT
public:
DebugNetProfForm(Style& style, QWidget* parent);
~DebugNetProfForm() override;
QString getFormName() final
{
return tr("Network Profiler");
}

private:
void retranslateUi();

private:
std::unique_ptr<Ui::DebugNetProf> ui_;
QTimer* reloadTimer_;
};
60 changes: 60 additions & 0 deletions src/widget/form/debug/debugnetprof.ui
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>DebugNetProf</class>
<widget class="QWidget" name="DebugNetProf">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>530</width>
<height>553</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="windowTitle">
<string notr="true">Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QVBoxLayout" name="verticalLayout_2" stretch="0">
<item>
<widget class="QGroupBox" name="netProfGroup">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>1</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>Network Profile</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4" stretch="0,0">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QCheckBox" name="cbAutoReload">
<property name="text">
<string>Auto-reload</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QTableView" name="netProf"/>
</item>
</layout>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
2 changes: 2 additions & 0 deletions src/widget/form/debugwidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

#include "src/widget/contentlayout.h"
#include "src/widget/form/debug/debuglog.h"
#include "src/widget/form/debug/debugnetprof.h"
#include "src/widget/form/debug/debugobjecttree.h"
#include "src/widget/translator.h"
#include "src/widget/widget.h"
Expand All @@ -29,6 +30,7 @@ DebugWidget::DebugWidget(Paths& paths, Style& style, Widget* parent)
dbgForms = {
new DebugLogForm(paths, style, this),
new DebugObjectTree(style, this),
new DebugNetProfForm(style, this),
};

for (auto* dbgForm : dbgForms)
Expand Down
2 changes: 1 addition & 1 deletion src/widget/form/debugwidget.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,6 @@ private slots:
private:
QVBoxLayout* bodyLayout;
QTabWidget* debugWidgets;
std::array<GenericForm*, 2> dbgForms;
std::array<GenericForm*, 3> dbgForms;
int currentIndex;
};
Loading