MCPcopy Create free account
hub / github.com/ckaiser/Lightscreen / save

Method save

tools/screenshot.cpp:205–290  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

203}
204
205void Screenshot::save()
206{
207 QString name = "";
208 QString fileName = "";
209 Screenshot::Result result = Screenshot::Failure;
210
211 if (mOptions.file && !mOptions.saveAs) {
212 name = newFileName();
213 } else if (mOptions.file && mOptions.saveAs) {
214 name = QFileDialog::getSaveFileName(0, tr("Save as.."), newFileName(), "*" % extension());
215 }
216
217 if (!mOptions.replace && QFile::exists(name % extension())) {
218 // Ugly? You should see my wife!
219 int count = 0;
220 int cunt = 0;
221
222 QString naming = QFileInfo(name).fileName();
223
224 for (auto file : QFileInfo(name % extension()).dir().entryList(QDir::Files)) {
225 if (file.contains(naming)) {
226 file.remove(naming);
227 file.remove(" (");
228 file.remove(")");
229 file.remove(extension());
230
231 cunt = file.toInt();
232
233 if (cunt > count) {
234 count = cunt;
235 }
236 }
237 }
238
239 name = name % " (" % QString::number(count + 1) % ")";
240 }
241
242 if (mOptions.clipboard && !(mOptions.upload && mOptions.urlClipboard)) {
243 if (mUnloaded) {
244 mUnloaded = false;
245 mPixmap = QPixmap(mUnloadFilename);
246 }
247
248 QApplication::clipboard()->setPixmap(mPixmap, QClipboard::Clipboard);
249
250 if (!mOptions.file) {
251 result = Screenshot::Success;
252 }
253 }
254
255 if (mOptions.file) {
256 fileName = name % extension();
257
258 if (name.isEmpty()) {
259 result = Screenshot::Cancel;
260 } else if (mUnloaded) {
261 result = (QFile::rename(mUnloadFilename, fileName)) ? Screenshot::Success : Screenshot::Failure;
262 } else if (mPixmap.save(fileName, 0, mOptions.quality)) {

Callers 1

unloadPixmapMethod · 0.80

Calls 3

QPixmapClass · 0.85
setPixmapMethod · 0.80
saveHistoryMethod · 0.80

Tested by

no test coverage detected