Merge branch 'removeseries'

master
Epicalert 1 year ago
commit 6c3b421575
Signed by: Epicalert
GPG Key ID: CAA46F858D0979BD

@ -1,7 +1,9 @@
#include "analyzer.hpp"
RenderAnalyzer::RenderAnalyzer(QWidget* parent) {
RenderAnalyzer::RenderAnalyzer(QWidget* parent, QListView* listView) {
this->parent = parent;
this->listView = listView;
analysisList = new QList<RenderAnalysis*>();
frameTimeChart = new QChart();
@ -12,7 +14,7 @@ RenderAnalyzer::RenderAnalyzer(QWidget* parent) {
renderTimePieSeries = new QPieSeries();
renderTimePieSeries->setPieSize(0.5);
renderTimeChart = new QChart();
renderTimeChart->setTitle(tr("Render time per series"));
renderTimeChart->setTitle(tr("Render time per sequence"));
renderTimeChart->setTheme(QChart::ChartThemeDark);
renderTimeChart->setAnimationOptions(QChart::SeriesAnimations);
renderTimeChart->addSeries(renderTimePieSeries);
@ -31,7 +33,7 @@ RenderAnalyzer::~RenderAnalyzer() {
}
void RenderAnalyzer::addRender() {
QFileInfo selectedImage(QFileDialog::getOpenFileName(parent, tr("Open Render"), "", tr("EXR Images (*.exr)")));
QFileInfo selectedImage(QFileDialog::getOpenFileName(parent, tr("Open Sequence"), "", tr("EXR Images (*.exr)")));
// extract filename pattern from selected image
QString filterPattern = selectedImage.fileName();
@ -72,6 +74,30 @@ void RenderAnalyzer::addRender() {
}
}
void RenderAnalyzer::removeSelectedRender() {
QModelIndexList selectedIndexes = listView->selectionModel()->selectedIndexes();
if (selectedIndexes.size() == 0) {
return;
}
QModelIndex selected = selectedIndexes.at(0);
RenderAnalysis* analysis = analysisList->at(selected.row());
QLineSeries* frameTimeSeries = analysis->getFrameTimeSeries();
QPieSlice* renderTimeSlice = renderTimePieSeries->slices().at(selected.row());
beginRemoveRows(QModelIndex(), selected.row(), selected.row());
renderTimePieSeries->remove(renderTimeSlice);
frameTimeChart->removeSeries(frameTimeSeries);
frameTimeChart->createDefaultAxes(); // recalculate axes
analysisList->removeAt(selected.row());
delete analysis;
endRemoveRows();
}
void RenderAnalyzer::prefixChanged(QString prefix) {
nextPrefix = prefix;
}

@ -7,7 +7,7 @@ class RenderAnalyzer : public QAbstractListModel {
Q_OBJECT
public:
RenderAnalyzer(QWidget* parent);
RenderAnalyzer(QWidget* parent, QListView* listView);
~RenderAnalyzer();
QChart* getFrameTimeChart();
QChart* getRenderTimeChart();
@ -17,10 +17,13 @@ public:
public slots:
void addRender();
void removeSelectedRender();
void prefixChanged(QString prefix);
signals:
void renderAdded();
private:
QListView* listView;
QString nextPrefix;
QList<RenderAnalysis*>* analysisList;

@ -12,33 +12,43 @@ int main(int argc, char* argv[])
window.resize(800, 600);
window.setWindowTitle(QApplication::translate("title", "rin: Render Information"));
RenderAnalyzer* analyzer = new RenderAnalyzer(&window);
QLineEdit* prefixLineEdit = new QLineEdit();
QPushButton* analyzeButton = new QPushButton(
QApplication::translate("analyzebutton", "Analyze render"));
QApplication::translate("button", "Add sequence"));
QPushButton* removeButton = new QPushButton(
QApplication::translate("button", "Remove sequence"));
QListView* sequenceList = new QListView();
RenderAnalyzer* analyzer = new RenderAnalyzer(&window, sequenceList);
QChartView* frameTimeChartView = new QChartView(analyzer->getFrameTimeChart());
QChartView* renderTimeChartView = new QChartView(analyzer->getRenderTimeChart());
QListView* sequenceList = new QListView();
//removeButton->setEnabled(false);
sequenceList->setModel(analyzer);
QHBoxLayout* buttonsLayout = new QHBoxLayout();
buttonsLayout->addStretch();
buttonsLayout->addWidget(analyzeButton);
buttonsLayout->addWidget(removeButton);
QHBoxLayout* layout = new QHBoxLayout();
layout->addWidget(sequenceList);
layout->addWidget(analyzeButton);
QVBoxLayout* sequenceListLayout = new QVBoxLayout();
sequenceListLayout->addWidget(sequenceList);
sequenceListLayout->addLayout(buttonsLayout);
QHBoxLayout* chartsLayout = new QHBoxLayout();
chartsLayout->addWidget(frameTimeChartView);
chartsLayout->addWidget(renderTimeChartView);
QVBoxLayout* verticalLayout = new QVBoxLayout();
verticalLayout->addLayout(layout, 0);
verticalLayout->addLayout(sequenceListLayout, 0);
verticalLayout->addLayout(chartsLayout, 4);
window.setLayout(verticalLayout);
window.show();
QObject::connect(analyzeButton, SIGNAL(clicked()), analyzer, SLOT(addRender()));
QObject::connect(removeButton, SIGNAL(clicked()), analyzer, SLOT(removeSelectedRender()));
QObject::connect(prefixLineEdit, SIGNAL(textChanged(QString)), analyzer, SLOT(prefixChanged(QString)));
QObject::connect(analyzer, SIGNAL(renderAdded()), prefixLineEdit, SLOT(clear()));

Loading…
Cancel
Save