void MainWindow::screenshotCaptured(QPixmapSharedPtr img) { QDir screenshotDir("Images"); if (!screenshotDir.exists()) { screenshotDir.mkpath("."); } QString fileName = screenshotDir.path() + "/Screenshot_" + QDateTime::currentDateTime().toString(DATE_TIME_FORMAT) + ".png"; if (img.data()->save(fileName)) { tray.showMessage("Uploading image", "Uploading image"); imgurUploader.upload(fileName); QFile(fileName).remove(); } }
void ConfigDialog::saveSettings() { QDir screenshotDir(_ui->editDir->text()); if (screenshotDir.exists() == false) { QMessageBox msg; msg.setText(tr("Directory %1 does not exist. Do you want to create it?").arg(QDir::toNativeSeparators(screenshotDir.path()) + QDir::separator())); msg.setWindowTitle("ScreenGrab" + QString(" - ") + tr("Warning")); msg.setIcon(QMessageBox::Question); msg.setStandardButtons(QMessageBox::Yes | QMessageBox::No); int res = msg.exec(); if (res == QMessageBox::No) { return ; } else { screenshotDir.mkpath(screenshotDir.path()); if (screenshotDir.path().endsWith(QDir::separator()) == false) { QString updatedPath = screenshotDir.path() + QDir::separator(); updatedPath = QDir::toNativeSeparators(updatedPath); _ui->editDir->setText(updatedPath); } } } // set new values of general settings conf->setSaveDir(_ui->editDir->text()); conf->setSaveFileName(_ui->editFileName->text()); conf->setSaveFormat(_ui->cbxFormat->currentText()); conf->setDefDelay(_ui->defDelay->value()); conf->setDateTimeInFilename(_ui->checkIncDate->isChecked()); conf->setDateTimeTpl(_ui->editDateTmeTpl->text()); conf->setAutoCopyFilenameOnSaving(_ui->cbxCopyFileName->currentIndex()); conf->setAutoSave(_ui->checkAutoSave->isChecked()); conf->setAutoSaveFirst(_ui->checkAutoSaveFirst->isChecked()); conf->setTrayMessages(_ui->cbxTrayMsg->currentIndex()); conf->setCloseInTray(_ui->checkInTray->isChecked()); conf->setZoomAroundMouse(_ui->checkZommMouseArea->isChecked()); conf->setAllowMultipleInstance(_ui->checkAllowCopies->isChecked()); conf->setTimeTrayMess(_ui->timeTrayMess->value()); conf->setShowTrayIcon(_ui->checkShowTray->isChecked()); conf->setImageQuality(_ui->slideImgQuality->value()); conf->setEnableExtView(_ui->cbxEnableExtView->isChecked()); conf->setNoDecorX11(_ui->checkNoDecorX11->isChecked()); // save shortcuts in shortcutmanager int action = 0; QTreeWidgetItemIterator iter(_ui->treeKeys); while(*iter) { if ((*iter)->parent() != NULL) { switch((*iter)->parent()->childCount()) { case 3: conf->shortcuts()->setShortcut((*iter)->data(1, Qt::DisplayRole).toString(), action, 0); break; case 6: conf->shortcuts()->setShortcut((*iter)->data(1, Qt::DisplayRole).toString(), action, 1); break; default: break; } ++action; } ++iter; } // update values of front-end settings conf->saveSettings(); conf->setDelay(conf->getDefDelay()); // call save method on modeule's configwidgets' for (int i = 0; i < _moduleWidgetNames.count(); ++i) { QString name = _moduleWidgetNames.at(i); QWidget* currentWidget = _ui->stackedWidget->findChild<QWidget*>(name); if (currentWidget) { QMetaObject::invokeMethod(currentWidget, "saveSettings"); } } accept(); }
void PrefGeneral::getData(Preferences * pref) { requires_restart = false; filesettings_method_changed = false; if (pref->mplayer_bin != mplayerPath()) { requires_restart = true; pref->mplayer_bin = mplayerPath(); qDebug("PrefGeneral::getData: mplayer binary has changed, getting version number"); // Forces to get info from mplayer to update version number InfoReader i( pref->mplayer_bin ); i.getInfo(); // Update the drivers list at the same time //setDrivers( i.voList(), i.aoList() ); } TEST_AND_SET(pref->use_screenshot, useScreenshots()); TEST_AND_SET(pref->screenshot_directory, screenshotDir()); TEST_AND_SET(pref->vo, VO()); TEST_AND_SET(pref->ao, AO()); bool dont_remember_ms = !rememberSettings(); TEST_AND_SET(pref->dont_remember_media_settings, dont_remember_ms); bool dont_remember_time = !rememberTimePos(); TEST_AND_SET(pref->dont_remember_time_pos, dont_remember_time); if (pref->file_settings_method != fileSettingsMethod()) { pref->file_settings_method = fileSettingsMethod(); filesettings_method_changed = true; } pref->audio_lang = audioLang(); pref->subtitle_lang = subtitleLang(); pref->initial_audio_track = audioTrack(); pref->initial_subtitle_track = subtitleTrack(); pref->close_on_finish = closeOnFinish(); pref->pause_when_hidden = pauseWhenHidden(); TEST_AND_SET(pref->use_soft_video_eq, eq2()); TEST_AND_SET(pref->use_soft_vol, softVol()); pref->global_volume = globalVolume(); TEST_AND_SET(pref->use_audio_equalizer, useAudioEqualizer()); TEST_AND_SET(pref->use_hwac3, Ac3DTSPassthrough()); pref->initial_volnorm = initialVolNorm(); TEST_AND_SET(pref->softvol_max, amplification()); pref->initial_postprocessing = initialPostprocessing(); pref->initial_deinterlace = initialDeinterlace(); pref->initial_zoom_factor = initialZoom(); TEST_AND_SET(pref->use_direct_rendering, directRendering()); TEST_AND_SET(pref->use_double_buffer, doubleBuffer()); TEST_AND_SET(pref->use_slices, useSlices()); pref->start_in_fullscreen = startInFullscreen(); if (pref->add_blackborders_on_fullscreen != blackbordersOnFullscreen()) { pref->add_blackborders_on_fullscreen = blackbordersOnFullscreen(); if (pref->fullscreen) requires_restart = true; } TEST_AND_SET(pref->autoq, autoq()); #ifdef Q_OS_WIN pref->avoid_screensaver = avoidScreensaver(); TEST_AND_SET(pref->turn_screensaver_off, turnScreensaverOff()); #else TEST_AND_SET(pref->disable_screensaver, disableScreensaver()); #endif #ifndef Q_OS_WIN pref->vdpau = vdpau; #endif pref->initial_audio_channels = audioChannels(); TEST_AND_SET(pref->use_scaletempo, scaleTempoFilter()); TEST_AND_SET(pref->autosync, autoSyncActivated()); TEST_AND_SET(pref->autosync_factor, autoSyncFactor()); TEST_AND_SET(pref->use_mc, mcActivated()); TEST_AND_SET(pref->mc_value, mc()); }