MCPcopy Create free account
hub / github.com/OpenStarbound/OpenStarbound / loadDirectory

Method loadDirectory

source/mod_uploader/StarModUploader.cpp:145–196  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

143}
144
145void ModUploader::loadDirectory() {
146 QProgressDialog progress("Loading mod directory...", "", 0, 0, this);
147 progress.setWindowModality(Qt::WindowModal);
148 progress.setCancelButton(nullptr);
149 progress.setAutoReset(false);
150 progress.show();
151
152 if (m_modDirectory && !File::isDirectory(*m_modDirectory))
153 m_modDirectory.reset();
154
155 if (!m_modDirectory) {
156 m_reloadButton->setEnabled(false);
157 m_directoryLabel->setText("");
158 m_editorSection->setEnabled(false);
159 m_assetSource.reset();
160 return;
161 }
162
163 m_reloadButton->setEnabled(true);
164 m_directoryLabel->setText(toQString(*m_modDirectory));
165 m_editorSection->setEnabled(true);
166 m_assetSource = DirectoryAssetSource(*m_modDirectory);
167
168 JsonObject metadata = m_assetSource->metadata();
169 m_nameEditor->setText(toQString(metadata.value("name", "").toString()));
170 m_titleEditor->setText(toQString(metadata.value("friendlyName", "").toString()));
171 m_authorEditor->setText(toQString(metadata.value("author", "").toString()));
172 m_versionEditor->setText(toQString(metadata.value("version", "").toString()));
173 m_descriptionEditor->setPlainText(toQString(metadata.value("description", "").toString()));
174
175 for (auto pair : m_categorySelectors)
176 pair.second->setChecked(false);
177
178 auto tagString = metadata.value("tags", "").toString();
179 auto tagList = tagString.split('|');
180 for (auto tag : tagList) {
181 if (m_categorySelectors.contains(tag))
182 m_categorySelectors[tag]->setChecked(true);
183 }
184
185 String modId = metadata.value("steamContentId", "").toString();
186 m_modIdLabel->setText(toQString(strf("<a href=\"steam://url/CommunityFilePage/{}\">{}</a>", modId, modId)));
187
188 String previewFile = File::relativeTo(*m_modDirectory, "_previewimage");
189 if (File::isFile(previewFile)) {
190 m_modPreview = QImage(toQString(previewFile), "PNG");
191 m_previewImageLabel->setPixmap(QPixmap::fromImage(m_modPreview));
192 } else {
193 m_modPreview = {};
194 m_previewImageLabel->setPixmap({});
195 }
196}
197
198void ModUploader::selectPreview() {
199 QString image = QFileDialog::getOpenFileName(this, "Select a mod preview image", "", "Images (*.png *.jpg)");

Callers

nothing calls this directly

Calls 13

toQStringFunction · 0.85
strfFunction · 0.85
setCheckedMethod · 0.80
showMethod · 0.45
resetMethod · 0.45
setEnabledMethod · 0.45
setTextMethod · 0.45
metadataMethod · 0.45
toStringMethod · 0.45
valueMethod · 0.45
splitMethod · 0.45

Tested by

no test coverage detected