1 #include "vogleditor_qtrimdialog.h"
2 #include "ui_vogleditor_qtrimdialog.h"
5 vogleditor_QTrimDialog::vogleditor_QTrimDialog(QString parentTraceFile, uint maxFrameIndex, uint maxTrimLength, QWidget *parent) :
7 ui(new Ui::vogleditor_QTrimDialog),
8 m_maxFrameIndex(maxFrameIndex),
9 m_maxTrimLength(maxTrimLength),
14 ui->trimFrameLineEdit->setText(m_trim_frame);
15 ui->trimLenLineEdit->setText(m_trim_len);
17 QString trimFilename = parentTraceFile;
18 trimFilename.insert(trimFilename.lastIndexOf("."), "-trim");
19 ui->trimFileLineEdit->setText(trimFilename);
22 vogleditor_QTrimDialog::~vogleditor_QTrimDialog()
27 void vogleditor_QTrimDialog::on_buttonBox_accepted()
30 bool bValidFrame = false;
31 uint tmpFrame = ui->trimFrameLineEdit->text().toUInt(&bValidFrame);
32 bValidFrame = bValidFrame && (tmpFrame <= m_maxFrameIndex);
34 bool bValidLen = false;
35 uint tmpLen = ui->trimLenLineEdit->text().toUInt(&bValidLen);
36 bValidLen = bValidLen && (tmpLen > 0 && tmpLen < m_maxTrimLength);
38 bool bValidFile = (ui->trimFrameLineEdit->text().isEmpty() == false);
40 if (bValidFrame && bValidLen && bValidFile)
42 m_trim_frame = ui->trimFrameLineEdit->text();
43 m_trim_len = ui->trimLenLineEdit->text();
44 m_trim_file = ui->trimFileLineEdit->text();
49 void vogleditor_QTrimDialog::on_buttonBox_rejected()
54 void vogleditor_QTrimDialog::on_pickTrimFileButton_pressed()
57 QString suggestedName = ui->trimFileLineEdit->text();
58 QString selectedName = QFileDialog::getSaveFileName(this, tr("Save Trim File"), suggestedName, tr("Trace file (*.bin)"));
60 if (!selectedName.isEmpty())
62 ui->trimFileLineEdit->setText(selectedName);
66 void vogleditor_QTrimDialog::on_trimLenLineEdit_textChanged(const QString &arg1)
68 bool bConverted = false;
69 uint trimLen = arg1.toUInt(&bConverted);
71 // make sure the length could be converted to a UINT, and that it isn't more than the allowed length
72 if (bConverted == false || trimLen > m_maxTrimLength)
74 // turn background red
75 QPalette palette(ui->trimLenLineEdit->palette());
76 palette.setColor(QPalette::Base, Qt::red);
77 ui->trimLenLineEdit->setPalette(palette);
81 // restore background color
82 QPalette palette(ui->trimLenLineEdit->palette());
83 palette.setColor(QPalette::Base, Qt::white);
84 ui->trimLenLineEdit->setPalette(palette);
88 void vogleditor_QTrimDialog::on_trimFrameLineEdit_textChanged(const QString &arg1)
90 bool bConverted = false;
91 uint trimFrame = arg1.toUInt(&bConverted);
93 // make sure frame could be converted to a UINT, and that it isn't greater than the number of frames in the trace
94 if (bConverted == false || trimFrame > m_maxFrameIndex)
96 // turn background red
97 QPalette palette(ui->trimFrameLineEdit->palette());
98 palette.setColor(QPalette::Base, Qt::red);
99 ui->trimFrameLineEdit->setPalette(palette);
103 // restore background color
104 QPalette palette(ui->trimFrameLineEdit->palette());
105 palette.setColor(QPalette::Base, Qt::white);
106 ui->trimFrameLineEdit->setPalette(palette);