implemented all field UIs

This commit is contained in:
itsmattkc
2019-03-13 08:43:46 +11:00
parent b7b9c866a8
commit e82b0e4914
26 changed files with 256 additions and 131 deletions
+35 -35
View File
@@ -27,54 +27,54 @@
#include <QFileDialog>
EmbeddedFileChooser::EmbeddedFileChooser(QWidget* parent) : QWidget(parent) {
QHBoxLayout* layout = new QHBoxLayout(this);
layout->setMargin(0);
file_label = new QLabel(this);
update_label();
layout->addWidget(file_label);
QPushButton* browse_button = new QPushButton("...", this);
browse_button->setFixedWidth(25);
layout->addWidget(browse_button);
connect(browse_button, SIGNAL(clicked(bool)), this, SLOT(browse()));
QHBoxLayout* layout = new QHBoxLayout(this);
layout->setMargin(0);
file_label = new QLabel(this);
update_label();
layout->addWidget(file_label);
QPushButton* browse_button = new QPushButton("...", this);
browse_button->setFixedWidth(25);
layout->addWidget(browse_button);
connect(browse_button, SIGNAL(clicked(bool)), this, SLOT(browse()));
}
const QString &EmbeddedFileChooser::getFilename() {
return filename;
return filename;
}
const QString &EmbeddedFileChooser::getPreviousValue() {
return old_filename;
return old_filename;
}
void EmbeddedFileChooser::setFilename(const QString &s) {
old_filename = filename;
filename = s;
update_label();
emit changed();
old_filename = filename;
filename = s;
update_label();
emit changed(filename);
}
void EmbeddedFileChooser::update_label() {
QString l = "<html>" + tr("File:") + " ";
if (filename.isEmpty()) {
l += "(none)";
} else {
bool file_exists = QFileInfo::exists(filename);
if (!file_exists) l += "<font color='red'>";
QString short_fn = filename.mid(filename.lastIndexOf('/')+1);
if (short_fn.size() > 20) {
l += "..." + short_fn.right(20);
} else {
l += short_fn;
}
if (!file_exists) l += "</font>";
}
l += "</html>";
file_label->setText(l);
QString l = "<html>" + tr("File:") + " ";
if (filename.isEmpty()) {
l += "(none)";
} else {
bool file_exists = QFileInfo::exists(filename);
if (!file_exists) l += "<font color='red'>";
QString short_fn = filename.mid(filename.lastIndexOf('/')+1);
if (short_fn.size() > 20) {
l += "..." + short_fn.right(20);
} else {
l += short_fn;
}
if (!file_exists) l += "</font>";
}
l += "</html>";
file_label->setText(l);
}
void EmbeddedFileChooser::browse() {
QString fn = QFileDialog::getOpenFileName(this);
if (!fn.isEmpty()) {
setFilename(fn);
}
QString fn = QFileDialog::getOpenFileName(this);
if (!fn.isEmpty()) {
setFilename(fn);
}
}