Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
+114
@@ -0,0 +1,114 @@
|
||||
/**
|
||||
* @RDE_HEADER@
|
||||
* CustomView for Exercises
|
||||
* $Id$
|
||||
* $HeadURL$
|
||||
* $Author$
|
||||
* Created by Mike Wille, SLSE, 2016-04-08
|
||||
*/
|
||||
|
||||
#include "exm_exercise.h"
|
||||
#include "ui_exm_exercise.h"
|
||||
#include "exm_dialog_model.h"
|
||||
|
||||
#include <ngltools/ngltools_dtg.h>
|
||||
#include <LtsUtilsCore/dds_vector_to_pixmap.h>
|
||||
|
||||
#include <QFile>
|
||||
#include <QDebug>
|
||||
|
||||
|
||||
namespace ExerciseManagement
|
||||
{
|
||||
|
||||
CustomViewExercise::CustomViewExercise(QWidget *parent)
|
||||
: AbstractDisplayWidget(parent)
|
||||
, m_ui(new Ui::CustomViewExercise)
|
||||
{
|
||||
m_ui->setupUi(this);
|
||||
m_ui->image->setMenuEnabled(false); // no menu !
|
||||
m_ui->image->setDrawOuterRect(false);
|
||||
}
|
||||
|
||||
|
||||
CustomViewExercise::~CustomViewExercise()
|
||||
{
|
||||
delete m_ui;
|
||||
}
|
||||
|
||||
|
||||
QSize CustomViewExercise::imageSize() const
|
||||
{
|
||||
return m_ui->image->size();
|
||||
}
|
||||
|
||||
|
||||
void CustomViewExercise::loadDefaultImage(QPixmap &intoPixmap)
|
||||
{
|
||||
QString projectLogoFilename(QStringLiteral(":project/login_logo.png"));
|
||||
if (!QFile::exists(projectLogoFilename))
|
||||
projectLogoFilename = QStringLiteral(":/project/logo.png");
|
||||
|
||||
intoPixmap = QPixmap(projectLogoFilename);
|
||||
}
|
||||
|
||||
|
||||
bool CustomViewExercise::init(const QModelIndex &idx)
|
||||
{
|
||||
if (!idx.isValid())
|
||||
return false;
|
||||
|
||||
const QString exName = rowData(idx, ExerciseManagement::ExerciseManagementDialogModel::Name).toString();
|
||||
m_ui->lbExerciseName->setText(exName);
|
||||
m_ui->lbExerciseName->setToolTip(exName);
|
||||
|
||||
QPixmap img;
|
||||
int exerciseId = rowData(idx, ExerciseManagement::ExerciseManagementDialogModel::Id).toInt();
|
||||
if (exerciseId == 0)
|
||||
{
|
||||
m_ui->lbExerciseName->setWordWrap(true);
|
||||
m_ui->lbLocation->hide();
|
||||
m_ui->lbCreationDate->hide();
|
||||
m_ui->lbDescription->hide();
|
||||
m_ui->lbStatus->hide();
|
||||
|
||||
loadDefaultImage(img);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_ui->lbLocation->setText(rowData(idx, ExerciseManagement::ExerciseManagementDialogModel::TrainingArea).toString());
|
||||
m_ui->lbCreationDate->setText(DTG::toString(rowData(idx, ExerciseManagement::ExerciseManagementDialogModel::Created).toDateTime()));
|
||||
m_ui->lbDescription->setText(rowData(idx, ExerciseManagement::ExerciseManagementDialogModel::Description).toString());
|
||||
m_ui->lbStatus->setText(rowData(idx, ExerciseManagement::ExerciseManagementDialogModel::Status).toString());
|
||||
|
||||
// status label color same as in LtsBaseLayoutWidget
|
||||
QPalette p = m_ui->lbStatus->palette();
|
||||
QColor newCol = rowData(idx, ExerciseManagement::ExerciseManagementDialogModel::Status, Qt::TextColorRole).value<QColor>();
|
||||
p.setColor(m_ui->lbStatus->backgroundRole(), newCol);
|
||||
p.setColor(m_ui->lbStatus->foregroundRole(), newCol);
|
||||
m_ui->lbStatus->setPalette(p);
|
||||
|
||||
QByteArray imgData = rowData(idx, ExerciseManagement::ExerciseManagementDialogModel::Image).toByteArray();
|
||||
|
||||
if (imgData.isEmpty())
|
||||
loadDefaultImage(img);
|
||||
else
|
||||
img = LtsUtils::getPixmap(imgData);
|
||||
}
|
||||
|
||||
if (!img.isNull())
|
||||
m_ui->image->setPixmap(img);
|
||||
|
||||
// IO: set unique object names for Squish
|
||||
this->setObjectName(QStringLiteral("customViewExercise_")+QString::number(exerciseId));
|
||||
m_ui->lbExerciseName->setObjectName(QStringLiteral("lbExerciseName_")+QString::number(exerciseId));
|
||||
m_ui->lbLocation->setObjectName(QStringLiteral("lbLocation_")+QString::number(exerciseId));
|
||||
m_ui->lbCreationDate->setObjectName(QStringLiteral("lbCreationDate_")+QString::number(exerciseId));
|
||||
m_ui->lbDescription->setObjectName(QStringLiteral("lbDescription_")+QString::number(exerciseId));
|
||||
m_ui->lbStatus->setObjectName(QStringLiteral("lbStatus_")+QString::number(exerciseId));
|
||||
m_ui->image->setObjectName(QStringLiteral("image_")+QString::number(exerciseId));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
} // namespace ExerciseManagement
|
||||
Reference in new issue
Block a user