Crossfire Server, Trunk
CREFacesetsPanel.cpp
Go to the documentation of this file.
1 #include <QtWidgets>
2 
3 #include "CREFacesetsPanel.h"
4 
5 #include "assets.h"
6 #include "AssetsManager.h"
7 #include "LicenseManager.h"
8 
9 CREFacesetsPanel::CREFacesetsPanel(QWidget* parent) : CRETPanel(parent)
10 {
11  QGridLayout* layout = new QGridLayout(this);
12 
13  int line = 0;
14 
15  layout->addWidget(new QLabel(tr("Prefix:"), this), 0, 0);
16  myPrefix = new QLabel(this);
17  layout->addWidget(myPrefix, line++, 1);
18 
19  layout->addWidget(new QLabel(tr("Full name:"), this), line, 0);
20  myFullname = new QLabel(this);
21  layout->addWidget(myFullname, line++, 1);
22 
23  layout->addWidget(new QLabel(tr("Fallback:"), this), line, 0);
24  myFallback = new QLabel(this);
25  layout->addWidget(myFallback, line++, 1);
26 
27  layout->addWidget(new QLabel(tr("Size:"), this), line, 0);
28  mySize = new QLabel(this);
29  layout->addWidget(mySize, line++, 1);
30 
31  layout->addWidget(new QLabel(tr("Extension:"), this), line, 0);
32  myExtension = new QLabel(this);
33  layout->addWidget(myExtension, line++, 1);
34 
35  layout->addWidget(new QLabel(tr("Defined faces:"), this), line, 0);
36  myImages = new QLabel(this);
37  layout->addWidget(myImages, line++, 1);
38 
39  layout->addWidget(new QLabel(tr("License information:"), this), line, 0);
40  myLicenses = new QLabel(this);
41  layout->addWidget(myLicenses, line++, 1);
42 
43  QWidget *bottomFiller = new QWidget(this);
44  bottomFiller->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
45  layout->addWidget(bottomFiller, line++, 0, 1, 2);
46 }
47 
49 {
50 }
51 
53 {
54  myPrefix->setText(fs->prefix);
55  myFullname->setText(fs->fullname);
56  myFallback->setText(fs->fallback ? QString("%1 (%2)").arg(fs->fallback->prefix, fs->fallback->fullname) : "(none)");
57  mySize->setText(fs->size);
58  myExtension->setText(fs->extension);
59 
60  size_t count = 0, total = getManager()->faces()->count(), licenses = 0;
61 
62  getManager()->faces()->each([&count, &licenses, &fs] (const Face *face) {
63  if (face->number < fs->allocated && fs->faces[face->number].datalen > 0)
64  {
65  count++;
66  if (LicenseManager::get()->getForFace(face->name).count(fs->prefix) > 0)
67  {
68  licenses++;
69  }
70  }
71  });
72 
73  uint8_t percent = count * 100 / total;
74  if (percent == 100 && count < total)
75  percent = 99;
76 
77  myImages->setText(QString("%1 out of %2 (%3%)").arg(count).arg(total).arg(percent));
78 
79  percent = licenses * 100 / count;
80  if (percent == 100 && licenses < count)
81  percent = 99;
82  myLicenses->setText(QString("%1 faces have license information out of %2 (%3%)").arg(licenses).arg(count).arg(percent));
83 }
AssetsCollection::count
size_t count() const
Definition: AssetsCollection.h:57
Face
Definition: face.h:14
CRETPanel
Definition: CREPanel.h:20
CREFacesetsPanel::mySize
QLabel * mySize
Definition: CREFacesetsPanel.h:26
layout
Definition: main.c:85
CREFacesetsPanel.h
AssetsManager.h
CREFacesetsPanel::myLicenses
QLabel * myLicenses
Definition: CREFacesetsPanel.h:29
mail_login.total
total
Definition: mail_login.py:30
face_sets::allocated
size_t allocated
Definition: image.h:25
CREFacesetsPanel::myFallback
QLabel * myFallback
Definition: CREFacesetsPanel.h:25
CREFacesetsPanel::myExtension
QLabel * myExtension
Definition: CREFacesetsPanel.h:27
getManager
AssetsManager * getManager()
Definition: assets.cpp:329
face_sets::prefix
char * prefix
Definition: image.h:19
LicenseManager.h
face_sets::extension
char * extension
Definition: image.h:23
CREFacesetsPanel::~CREFacesetsPanel
virtual ~CREFacesetsPanel()
Definition: CREFacesetsPanel.cpp:48
is_valid_types_gen.line
line
Definition: is_valid_types_gen.py:34
Face::number
uint16_t number
Definition: face.h:15
AssetsManager::faces
Faces * faces()
Definition: AssetsManager.h:39
CREFacesetsPanel::CREFacesetsPanel
CREFacesetsPanel(QWidget *parent)
Definition: CREFacesetsPanel.cpp:9
CREFacesetsPanel::myFullname
QLabel * myFullname
Definition: CREFacesetsPanel.h:24
disinfect.count
int count
Definition: disinfect.py:7
face_sets::size
char * size
Definition: image.h:22
AssetsCollection::each
void each(std::function< void(T *)> op)
Definition: AssetsCollection.h:135
face_sets::fallback
struct face_sets * fallback
Definition: image.h:21
CREFacesetsPanel::myImages
QLabel * myImages
Definition: CREFacesetsPanel.h:28
assets.h
face_info::datalen
uint16_t datalen
Definition: image.h:12
CREFacesetsPanel::setItem
virtual void setItem(face_sets *fs) override
Definition: CREFacesetsPanel.cpp:52
face_sets::fullname
char * fullname
Definition: image.h:20
face_sets
Definition: image.h:17
CREFacesetsPanel::myPrefix
QLabel * myPrefix
Definition: CREFacesetsPanel.h:23
face_sets::faces
face_info * faces
Definition: image.h:26