MCPcopy Create free account
hub / github.com/PolyMC/PolyMC / SkinUploadDialog

Method SkinUploadDialog

launcher/ui/dialogs/SkinUploadDialog.cpp:152–186  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

150}
151
152SkinUploadDialog::SkinUploadDialog(MinecraftAccountPtr acct, QWidget *parent)
153 :QDialog(parent), m_acct(acct), ui(new Ui::SkinUploadDialog)
154{
155 ui->setupUi(this);
156
157 // FIXME: add a model for this, download/refresh the capes on demand
158 auto &data = *acct->accountData();
159 int index = 0;
160 ui->capeCombo->addItem(tr("No Cape"), QVariant());
161 auto currentCape = data.minecraftProfile.currentCape;
162 if(currentCape.isEmpty()) {
163 ui->capeCombo->setCurrentIndex(index);
164 }
165
166 for(auto & cape: data.minecraftProfile.capes) {
167 index++;
168 if(cape.data.size()) {
169 QPixmap capeImage;
170 if(capeImage.loadFromData(cape.data, "PNG")) {
171 QPixmap preview = QPixmap(10, 16);
172 QPainter painter(&preview);
173 painter.drawPixmap(0, 0, capeImage.copy(1, 1, 10, 16));
174 ui->capeCombo->addItem(capeImage, cape.alias, cape.id);
175 if(currentCape == cape.id) {
176 ui->capeCombo->setCurrentIndex(index);
177 }
178 continue;
179 }
180 }
181 ui->capeCombo->addItem(cape.alias, cape.id);
182 if(currentCape == cape.id) {
183 ui->capeCombo->setCurrentIndex(index);
184 }
185 }
186}

Callers

nothing calls this directly

Calls 6

accountDataMethod · 0.80
addItemMethod · 0.80
isEmptyMethod · 0.80
copyMethod · 0.80
setupUiMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected