//------------------------------------------------------------------------------ // Name: ~RecentFileManager // Desc: destructor //------------------------------------------------------------------------------ RecentFileManager::~RecentFileManager() { QSettings settings; settings.beginGroup("Recent"); settings.setValue("recent.files", file_list_); settings.endGroup(); }
/** The ScriptRepository allows to download and upload file and folders. And to * configure the AutoUpdate option for the entries. These actions will be available * through the setData method. * * The setData will recognize only the EditRole as a valid Role. * The RepoModel will recognize the following entries. The path can not be edited * (column 0) is not editable. the AutoUpdate flag (column 2) will accept the following * actions: setTrue and setFalse, to enable or disable the automatic update. * * The Status (column 1) will accept the following actions: Download and Upload. * * * */ bool RepoModel::setData(const QModelIndex & index, const QVariant & value, int role) { if (!index.isValid()) return false; if (role != Qt::EditRole) // only EditRole is acceptable for the role return false; if (index.column() == 0) // the path can not be changed return false; int count_changed = 0; RepoItem * item = static_cast<RepoItem*>(index.internalPointer()); std::string path = item->path().toStdString(); bool ret = false; // get the action QString action = value.toString(); if (index.column() ==2) { // set auto update bool option; if (action == "setTrue") option = true; else if (action == "setFalse") option = false; else return false; // only setTrue and setFalse are allowed values for set auto update. count_changed = repo_ptr->setAutoUpdate(path, option); ret = true; } if (index.column() == 1) { // trigger actions: Download and Upload if (action == "Download") { if (!download_threads.isFinished()) { QWidget * father = qobject_cast<QWidget*>(QObject::parent()); QMessageBox::information(father, "Wait", "Downloading... "); return false; } downloading_path = QString::fromStdString(path); download_index = index; emit executingThread(true); download_threads = QtConcurrent::run(download_thread, repo_ptr, path); download_watcher.setFuture(download_threads); ret = true; } else if (action == "Upload") { if (!upload_threads.isFinished()) { QWidget * father = qobject_cast<QWidget*>(QObject::parent()); QMessageBox::information(father, "Wait", "Uploading... "); return false; } QWidget * father = qobject_cast<QWidget*>(QObject::parent()); if (repo_ptr->fileInfo(path).directory) { QMessageBox::information(father, "Not Supported", "The current version does not support uploading recursively. Please, upload one-by-one"); return false; }; UploadForm * form = new UploadForm(QString::fromStdString(path), father); QSettings settings; settings.beginGroup("Mantid/ScriptRepository"); QString email = settings.value("UploadEmail",QString()).toString(); QString author = settings.value("UploadAuthor",QString()).toString(); bool lastChk = settings.value("UploadSaveInfo",false).toBool(); if (!email.isEmpty()) form->setEmail(email); if (!author.isEmpty()) form->setAuthor(author); form->lastSaveOption(lastChk); if (form->exec()) { settings.setValue("UploadEmail",form->saveInfo()?form->email():""); settings.setValue("UploadAuthor",form->saveInfo()?form->author():""); settings.setValue("UploadSaveInfo",form->saveInfo()); qDebug() << "Uploading... "<< QString::fromStdString(path) << form->comment() << form->author() << form->email() << endl; uploading_path = QString::fromStdString(path); upload_index = index; emit executingThread(true); upload_threads = QtConcurrent::run(upload_thread, repo_ptr, path, form->email(), form->author(), form->comment()); upload_watcher.setFuture(upload_threads); ret = true; } else { ret = false; } settings.endGroup(); delete form; } } if (index.column() == 3) { // trigger actions: delete using namespace Mantid::API; if (action != "delete") return false; // used to show qwidgets QWidget * father = qobject_cast<QWidget*>(QObject::parent()); SCRIPTSTATUS status = repo_ptr->fileStatus(path); /* We do not remove files directly from the central repository, but, usually, this option is not available from the GUI (no button), so, just return false*/ if (!(status == LOCAL_CHANGED || status == BOTH_UNCHANGED)) return false; // it requires a new connection to the uploader server if (!upload_threads.isFinished()) { QWidget * father = qobject_cast<QWidget*>(QObject::parent()); QMessageBox::information(father, "Wait", "The connection with the server is busy now, wait a while and try again. "); return false; } //query the user if he wants to delete only locally or remote as well. DeleteQueryBox * box = new DeleteQueryBox(QString::fromStdString(path), father); if (box->exec() != QMessageBox::Yes) { // the user gave up deleting this entry, release memory delete box; box = 0; return false; } // get the options from the user QString comment(box->comment()); { // release memory delete box; box = 0; } // remove from central repository // currently, directories can not be deleted recursively if (repo_ptr->fileInfo(path).directory) { QMessageBox::information(father, "Not Supported", "The current version does not support deleting from the central repository recursively. Please, delete one-by-one"); return false; }; // check if the reason was given and it is valid if (comment.isEmpty()) { QMessageBox::information(father, "Not Allowed", "You are not allowed to delete one file without a reason"); return false; } // we will not allow them to remove if they have no e-mail and author saved QSettings settings; settings.beginGroup("Mantid/ScriptRepository"); QString email = settings.value("UploadEmail",QString()).toString(); QString author = settings.value("UploadAuthor",QString()).toString(); settings.endGroup(); if (author.isEmpty() || email.isEmpty()) { QMessageBox::information(father, "You have not uploaded this file", "You are not allowed to remove files that you have not updloaded through ScriptRepository"); return false; } // we have all we need to delete from the central repository // execute the delete in a separate thread, we will use the upload established way, because, // it will connect to the same server to delete. upload_index = index; uploading_path = QString::fromStdString(path); emit executingThread(true); upload_threads = QtConcurrent::run(delete_thread, repo_ptr, path, email, author, comment); upload_watcher.setFuture(upload_threads); ret = true; }// end delete action if (ret) emit dataChanged(index, this->index(count_changed,0,index)); return ret; }
BrowserApplication::BrowserApplication(int &argc, char **argv) : QApplication(argc, argv) , m_localServer(0) { QCoreApplication::setOrganizationName(QLatin1String("Qt")); QCoreApplication::setApplicationName(QLatin1String("demobrowser")); QCoreApplication::setApplicationVersion(QLatin1String("0.1")); #ifdef Q_WS_QWS // Use a different server name for QWS so we can run an X11 // browser and a QWS browser in parallel on the same machine for // debugging QString serverName = QCoreApplication::applicationName() + QLatin1String("_qws"); #else QString serverName = QCoreApplication::applicationName(); #endif QLocalSocket socket; socket.connectToServer(serverName); if (socket.waitForConnected(500)) { QTextStream stream(&socket); QStringList args = QCoreApplication::arguments(); if (args.count() > 1) stream << args.last(); else stream << QString(); stream.flush(); socket.waitForBytesWritten(); return; } #if defined(Q_WS_MAC) QApplication::setQuitOnLastWindowClosed(false); #else QApplication::setQuitOnLastWindowClosed(true); #endif m_localServer = new QLocalServer(this); connect(m_localServer, SIGNAL(newConnection()), this, SLOT(newLocalSocketConnection())); if (!m_localServer->listen(serverName)) { if (m_localServer->serverError() == QAbstractSocket::AddressInUseError && QFile::exists(m_localServer->serverName())) { QFile::remove(m_localServer->serverName()); m_localServer->listen(serverName); } } #ifndef QT_NO_OPENSSL if (!QSslSocket::supportsSsl()) { QMessageBox::information(0, "Demo Browser", "This system does not support OpenSSL. SSL websites will not be available."); } #endif QDesktopServices::setUrlHandler(QLatin1String("http"), this, "openUrl"); QString localSysName = QLocale::system().name(); installTranslator(QLatin1String("qt_") + localSysName); QSettings settings; settings.beginGroup(QLatin1String("sessions")); m_lastSession = settings.value(QLatin1String("lastSession")).toByteArray(); settings.endGroup(); #if defined(Q_WS_MAC) connect(this, SIGNAL(lastWindowClosed()), this, SLOT(lastWindowClosed())); #endif QTimer::singleShot(0, this, SLOT(postLaunch())); }
//------------------------------------------------------------------------------ // Name: RecentFileManager // Desc: constructor //------------------------------------------------------------------------------ RecentFileManager::RecentFileManager(QWidget *parent, Qt::WindowFlags f) : QWidget(parent, f), menu_(0) { QSettings settings; settings.beginGroup("Recent"); file_list_ = settings.value("recent.files", QStringList()).value<QStringList>(); settings.endGroup(); }
bool StartApplicationDialog::run(QWidget *parent, DebuggerStartParameters *sp) { const bool attachRemote = sp->startMode == AttachToRemoteServer; const QString settingsGroup = QLatin1String("DebugMode"); const QString arrayName = QLatin1String("StartApplication"); QList<StartApplicationParameters> history; QSettings *settings = ICore::settings(); settings->beginGroup(settingsGroup); if (const int arraySize = settings->beginReadArray(arrayName)) { for (int i = 0; i < arraySize; ++i) { settings->setArrayIndex(i); StartApplicationParameters p; p.fromSettings(settings); history.append(p); } } else { history.append(StartApplicationParameters()); } settings->endArray(); settings->endGroup(); StartApplicationDialog dialog(parent); dialog.setHistory(history); dialog.setParameters(history.back()); if (!attachRemote) { dialog.d->serverStartScriptPathChooser->setVisible(false); dialog.d->serverStartScriptLabel->setVisible(false); dialog.d->serverPortSpinBox->setVisible(false); dialog.d->serverPortLabel->setVisible(false); dialog.d->serverAddressLabel->setVisible(false); dialog.d->serverAddressEdit->setVisible(false); } if (dialog.exec() != QDialog::Accepted) return false; const StartApplicationParameters newParameters = dialog.parameters(); if (newParameters != history.back()) { history.append(newParameters); while (history.size() > 10) history.takeFirst(); settings->beginGroup(settingsGroup); settings->beginWriteArray(arrayName); for (int i = 0; i < history.size(); ++i) { settings->setArrayIndex(i); history.at(i).toSettings(settings); } settings->endArray(); settings->endGroup(); } Kit *kit = dialog.d->kitChooser->currentKit(); QTC_ASSERT(kit, return false); bool res = DebuggerRunControlFactory::fillParametersFromKit(sp, kit); QTC_ASSERT(res, return false); sp->executable = newParameters.localExecutable; const QString inputAddress = dialog.d->serverAddressEdit->text(); if (!inputAddress.isEmpty()) sp->remoteChannel = inputAddress; else sp->remoteChannel = sp->connParams.host; sp->remoteChannel += QLatin1Char(':') + QString::number(newParameters.serverPort); sp->displayName = newParameters.displayName(); sp->workingDirectory = newParameters.workingDirectory; sp->useTerminal = newParameters.runInTerminal; if (!newParameters.processArgs.isEmpty()) sp->processArgs = newParameters.processArgs; sp->breakOnMain = newParameters.breakAtMain; sp->serverStartScript = newParameters.serverStartScript; sp->debugInfoLocation = newParameters.debugInfoLocation; IDevice::ConstPtr dev = DeviceKitInformation::device(kit); bool isLocal = !dev || (dev->type() == ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE); if (!attachRemote) sp->startMode = isLocal ? StartExternal : StartRemoteProcess; return true; }
void BehaviourSettingsPage::Load() { QSettings s; s.beginGroup(MainWindow::kSettingsGroup); ui_->b_show_tray_icon_->setChecked(s.value("showtray", true).toBool()); ui_->b_keep_running_->setChecked( s.value("keeprunning", ui_->b_show_tray_icon_->isChecked()).toBool()); ui_->doubleclick_addmode->setCurrentIndex(ui_->doubleclick_addmode->findData( s.value("doubleclick_addmode", MainWindow::AddBehaviour_Append).toInt())); ui_->doubleclick_playmode->setCurrentIndex( ui_->doubleclick_playmode->findData( s.value("doubleclick_playmode", MainWindow::PlayBehaviour_IfStopped) .toInt())); ui_->menu_playmode->setCurrentIndex(ui_->menu_playmode->findData( s.value("menu_playmode", MainWindow::PlayBehaviour_IfStopped).toInt())); MainWindow::StartupBehaviour behaviour = MainWindow::StartupBehaviour( s.value("startupbehaviour", MainWindow::Startup_Remember).toInt()); switch (behaviour) { case MainWindow::Startup_AlwaysHide: ui_->b_always_hide_->setChecked(true); break; case MainWindow::Startup_AlwaysShow: ui_->b_always_show_->setChecked(true); break; case MainWindow::Startup_Remember: ui_->b_remember_->setChecked(true); break; } ui_->resume_after_start_->setChecked( s.value("resume_playback_after_start", false).toBool()); s.endGroup(); s.beginGroup("General"); QString name = language_map_.key(s.value("language").toString()); if (name.isEmpty()) ui_->language->setCurrentIndex(0); else ui_->language->setCurrentIndex(ui_->language->findText(name)); s.endGroup(); s.beginGroup(Playlist::kSettingsGroup); ui_->b_grey_out_deleted_->setChecked( s.value("greyoutdeleted", false).toBool()); ui_->b_click_edit_inline_->setChecked( s.value("click_edit_inline", true).toBool()); Playlist::Path path = Playlist::Path( s.value(Playlist::kPathType, Playlist::Path_Automatic).toInt()); switch (path) { case Playlist::Path_Automatic: ui_->b_automatic_path->setChecked(true); break; case Playlist::Path_Absolute: ui_->b_absolute_path->setChecked(true); break; case Playlist::Path_Relative: ui_->b_relative_path->setChecked(true); break; } ui_->b_write_metadata->setChecked( s.value(Playlist::kWriteMetadata, true).toBool()); ui_->b_quickchange_menu->setChecked( s.value(Playlist::kQuickChangeMenu, false).toBool()); s.endGroup(); s.beginGroup(PlaylistTabBar::kSettingsGroup); ui_->b_warn_close_playlist_->setChecked( s.value("warn_close_playlist", true).toBool()); s.endGroup(); }
void HandlerChoiceDialog::populateLocationsBox () { while (Ui_.LocationsBox_->count () > 1) Ui_.LocationsBox_->removeItem (1); QAbstractButton *checked = Buttons_->checkedButton (); if (!checked) return; if (checked->property ("AddedAs").toString () == "IEntityHandler") { Ui_.LocationsBox_->setEnabled (false); return; } Ui_.LocationsBox_->setEnabled (true); Ui_.LocationsBox_->insertSeparator (1); if (Suggestion_.size ()) Ui_.LocationsBox_->addItem (Suggestion_); QString plugin = checked->property ("PluginName").toString (); QStringList pluginTexts = GetPluginSavePaths (plugin).mid (0, 7); QSettings settings (QCoreApplication::organizationName (), QCoreApplication::applicationName ()); settings.beginGroup ("SavePaths"); QStringList otherPlugins = settings.childKeys (); settings.endGroup (); QStringList otherTexts; otherPlugins.removeAll (plugin); QList<QStringList> otherTextsList; Q_FOREACH (QString otherPlugin, otherPlugins) otherTextsList.append (GetPluginSavePaths (otherPlugin)); for (int i = 0; i < otherTextsList.size (); ++i) Q_FOREACH (QString ptext, pluginTexts) otherTextsList [i].removeAll (ptext); while (otherTexts.size () < 16) { bool added = false; for (int i = 0; i < otherTextsList.size (); ++i) { if (otherTextsList.at (i).size ()) { otherTexts += otherTextsList [i].takeFirst (); added = true; } } if (!added) break; } if (pluginTexts.size ()) { Ui_.LocationsBox_->addItems (pluginTexts); if (otherTexts.size ()) Ui_.LocationsBox_->insertSeparator (pluginTexts.size () + 2); } Ui_.LocationsBox_->addItems (otherTexts); if (Suggestion_.size ()) Ui_.LocationsBox_->setCurrentIndex (1); else { QString prev = settings.value ("PreviousEntitySavePath").toString (); if (prev.size () && pluginTexts.contains (prev)) { int pos = Ui_.LocationsBox_->findText (prev); if (pos != -1) Ui_.LocationsBox_->setCurrentIndex (pos); } else if (pluginTexts.size ()) Ui_.LocationsBox_->setCurrentIndex (2); } }
void OptionHandler::reloadSettings() { // gather options... QSettings config; config.beginGroup("/baghira/Style"); //we need that first to make sure we use some proper settings ;) customButtonColor = QColor(config.readNumEntry("Design_ButtonColor",(int)qApp->palette().active().button().rgb())); // design handling: // first try file: QString tmpString; FILE *file = NULL; wmDesign = 5; for (int i = 0; i < 8; i++) custCols[i] = -1; if (qstrcmp( qApp->argv() [ 0 ], "ksplash" ) == 0) { style_ = Panther; _toolbuttonStyle = Panther; _buttonStyle = Panther; tabStyle_ = Clever; bgStipple = false; inactiveButtonColor = Background; } else { // first try for a tmp file from bab starter int tmpFile = 0; tmpString = QDir::homeDirPath() + "/.baghira/.bab/" + qApp->argv() [ 0 ]; file = fopen(tmpString.latin1(), "r"); if( file == NULL ) { tmpFile = 1; tmpString = QDir::homeDirPath() + "/.baghira/" + qApp->argv() [ 0 ]; file = fopen(tmpString.latin1(), "r"); if( file == NULL ) { tmpFile = 2; tmpString = QDir::homeDirPath() + "/.baghira/.bab/.style"; file = fopen(tmpString.latin1(), "r"); } } if (file != NULL) { style_ = _buttonStyle = _toolbuttonStyle = Panther; int i3 = inactiveButtonColor = -1; tabStyle_ = (tabStyle)-1; fscanf(file,"%u\n%u\n%u\n%u\n%u\n%u\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n",&style_, &wmDesign, &_buttonStyle, &_toolbuttonStyle, &tabStyle_, &i3, &custCols[0], &custCols[1], &custCols[2], &custCols[3], &custCols[4], &custCols[5], &custCols[6], &custCols[7], &inactiveButtonColor); fclose(file); if (_toolbuttonStyle < 0 || _toolbuttonStyle >= NUMSTYLES) _toolbuttonStyle = (Style)config.readNumEntry( "Special_ToolbuttonStyle", style_); if (_buttonStyle < 0 || _buttonStyle >= NUMSTYLES) _buttonStyle = (Style)config.readNumEntry( "Special_ButtonStyle", style_); if (tabStyle_ < 0 || tabStyle_ > 2) tabStyle_ = (tabStyle) config.readNumEntry( (style_ == Brushed)?"Design_TabStyleBrushed":"Design_TabStyleAqua", Clever); if (inactiveButtonColor < 0 || inactiveButtonColor > 3) inactiveButtonColor = config.readNumEntry( "Design_InactiveButtonStyle", Background); if (style_ == Brushed) bgStipple = TRUE; else if (i3 == 0) bgStipple = FALSE; else bgStipple = config.readBoolEntry( "Design_StippleBackground", true ); // inactive Button if (tmpFile == 0) remove(tmpString.latin1()); // remove TEMPORARY file else if (tmpFile == 2) { tmpString = QDir::homeDirPath() + "/.baghira/.bab/.deco"; if ((file = fopen(tmpString.latin1(), "r")) != NULL) { fscanf(file,"%u\n%u\n",&i3, &wmDesign); fclose(file); } } } else { style_ = (Style)config.readNumEntry( "Design_Default", Panther ); _toolbuttonStyle = (Style)config.readNumEntry( "Special_ToolbuttonStyle", style_); _buttonStyle = (Style)config.readNumEntry( "Special_ButtonStyle", style_); tabStyle_ = (tabStyle) config.readNumEntry( (style_ == Brushed)?"Design_TabStyleBrushed":"Design_TabStyleAqua", Clever); bgStipple = (style_ == Brushed) ? true : config.readBoolEntry( "Design_StippleBackground", true ); inactiveButtonColor = config.readNumEntry( "Design_InactiveButtonStyle", Background); } } contrast = 0; if (wmDesign > 4) wmDesign = style_; if (style_ == Jaguar) contrast = 4; else if (style_ == Brushed) { tintBrush = config.readBoolEntry( "Colors_TintBrushedMetal", false ); if (tintBrush) brushTint.setRgb( config.readNumEntry( "Colors_BrushTint", ( int ) bgColor().rgb())); } // menu stuff glossyMenus_ = config.readBoolEntry( "Menu_Glossy", true ); menuBackground = config.readNumEntry( "Menu_Background", Standard); menuOpacity = config.readNumEntry( "Menu_Opacity", 70); int menuColorStyle = config.readNumEntry( "Menu_ColorStyle", 0); menuColorButton = (menuColorStyle == 1); useCustomMenuColor = (menuColorStyle == 2); shadowText = config.readBoolEntry( "Menu_ShadowText", false); if (useCustomMenuColor){ color = QColor( config.readNumEntry( "Menu_Color1", 0 ) ); color2 = QColor( config.readNumEntry( "Menu_Color2", 0 ) ); colorHigh = QColor( config.readNumEntry( "Menu_ColorHighlight", 0 ) ); fgColor = QColor( config.readNumEntry( "Menu_TextColor", 0 ) ); fgColorHigh = QColor( config.readNumEntry( "Menu_TextColorHighlight", 0 ) ); } else if (menuColorButton){ color = customButtonColor; color2 = customButtonColor.dark(130); } else { color = qApp->palette().active().background(); color2 = qApp->palette().active().background().dark(130); } drawMenuStripe_ = config.readBoolEntry("Menu_DrawMenuStripe", false); if (drawMenuStripe_) menuStripeColor_ = QColor(config.readNumEntry("Menu_StripeColor"),(int)Qt::white.rgb()); // color stuff // widgets customWidgetColor = config.readBoolEntry( "Colors_UseCustomColors", false); if ( customWidgetColor ) { customColors[ CustomRadioOn ].setRgb( config.readNumEntry( "Colors_RadioOn", ( int ) buttonColor().rgb() ) ); customColors[ CustomRadioOff ].setRgb( config.readNumEntry( "Colors_RadioOff", ( int ) bgColor().rgb() ) ); customColors[ CustomCBOn ].setRgb( config.readNumEntry( "Colors_CheckOn", ( int ) buttonColor().rgb() ) ); customColors[ CustomCBOff ].setRgb( config.readNumEntry( "Colors_CheckOff", ( int ) bgColor().rgb() ) ); customColors[ CustomTabOn ].setRgb( config.readNumEntry( "Colors_TabActive", ( int ) buttonColor().rgb() ) ); customColors[ CustomTabOff ].setRgb( config.readNumEntry( "Colors_TabInactive", ( int ) bgColor().rgb() ) ); customColors[ CustomSBSlider ].setRgb( config.readNumEntry( "Colors_Slider", ( int ) bgColor().rgb() ) ); customColors[ CustomSBSliderHover ].setRgb( config.readNumEntry( "Colors_SliderHovered", ( int ) buttonColor().rgb() ) ); customColors[ CustomSBSliderPressed ].setRgb( config.readNumEntry( "Colors_SliderPressed", ( int ) buttonColor().dark(110).rgb() ) ); customColors[ CustomSBGroove ].setRgb( config.readNumEntry( "Colors_SliderGroove", ( int ) bgColor().rgb() ) ); } if (inactiveButtonColor == Custom) customInactiveButtonColor = QColor( config.readNumEntry( "Design_InactiveButtonColor", (int) bgColor().rgb())); contrast += config.readNumEntry( "Design_StippleContrast", 3); bevelHighlights_ = config.readBoolEntry( "Design_BevelAsHighlight", true); //shadows groupboxshadow = (style_ == Brushed) ? false : config.readBoolEntry( "Design_ShadowGroupBoxes", true ); shadowDarkness = config.readNumEntry( "Design_GroupBoxeShadowDarkness", 6); //ListViews expanderStyle = config.readNumEntry( "Special_ExpanderStyle", Apple); useCustomExpanderColor = config.readBoolEntry( "Special_CustomExpanderColor", false); if (useCustomExpanderColor) expanderColor = QColor( config.readNumEntry( "Special_ExpanderColor", (int) qApp->palette().active().text().rgb())); drawDotlines = config.readBoolEntry( "Special_DrawTreeLines", true); if (drawDotlines){ dotlineStyle = config.readNumEntry( "Special_TreelineStyle", Line); dotlineColor = QColor( config.readNumEntry( "Special_TreelineColor", (int) qApp->palette().active().mid().rgb())); } //slider squeezesbslider = config.readBoolEntry( "Special_SqueezeSlider", false ); shadowsbslider = config.readBoolEntry( "Special_ShadowSlider", false ); animateSlider = config.readBoolEntry( "Special_AnimateSlider", true ); // toolbar int utb = config.readNumEntry( "Special_UnhoveredToolButtons", 2 ); tbFrame = (utb == 2) || ((style_ == Brushed) && (utb == 1)) || ((style_ != Brushed) && (utb == 0)); // tweaks centerTabs = config.readBoolEntry( "Design_CenterTabs", true); smoothListViewHeaders = (style_ == Milk) ? true : !config.readBoolEntry( "Special_UseFlatLVH", false); smootherLVH = config.readBoolEntry( "Special_RoundTaskbuttons", false); icyButtons = config.readNumEntry( "Design_ButtonStyle", 0) == 0; progressBar = config.readNumEntry( "Special_ProgressStyle", baghira); removeKickerBevel = config.readBoolEntry( "Special_RemoveKickerBevel", false); animateButton = config.readBoolEntry( "Design_AnimateButtons", true); animateProgress = config.readBoolEntry( "Design_AnimateProgress", true); drawProgressLabel = config.readBoolEntry( "Special_ShowProgressValue", false); config.endGroup(); config.beginGroup("/baghira/Deco"); titleButtonColor_[0] = QColor((unsigned int)config.readNumEntry( "CloseButtonColor", QColor(200,85,70).rgb())); titleButtonColor_[1] = QColor((unsigned int)config.readNumEntry( "MinButtonColor", QColor(230,155,40).rgb())); titleButtonColor_[2] = QColor((unsigned int)config.readNumEntry( "MaxButtonColor", QColor(121,180,54).rgb())); if (style_ == Jaguar) { titleColor_[0] = QColor((unsigned int)config.readNumEntry( "inactiveColor1_1", QColor(204,214,230).rgb())); titleColor_[1] = QColor((unsigned int)config.readNumEntry( "inactiveColor2_1", QColor(194,196,211).rgb())); } else if (style_ != Brushed) { titleColor_[0] = QColor((unsigned int)config.readNumEntry( "activeColor1_2", QColor(238,238,238).rgb())); titleColor_[1] = QColor((unsigned int)config.readNumEntry( "activeColor2_2", QColor(205,202,205).rgb())); } if (style_ == Tiger) { int r,g,b; aDecoColor1_ = QColor((unsigned int)config.readNumEntry( "activeColor2_4", (unsigned int) QColor(205,202,205).rgb())); aDecoColor2_ = QColor((unsigned int)config.readNumEntry( "activeColor1_4", (unsigned int) QColor(238,238,238).rgb())); r = (int)CLAMP(aDecoColor1_.red() * pow((double)aDecoColor1_.red() / (double)aDecoColor2_.red(),2.0),0,255); g = (int)CLAMP(aDecoColor1_.green() * pow((double)aDecoColor1_.green() / (double)aDecoColor2_.green(),2.0),0,255); b = (int)CLAMP(aDecoColor1_.blue() * pow((double)aDecoColor1_.blue() / (double)aDecoColor2_.blue(),2.0),0,255); aDecoColor2_.setRgb(r,g,b); } else { aDecoColor1_ = Qt::black; aDecoColor2_ = Qt::black; } config.endGroup(); // Option gathered }
void SettingsDialog::restoreSettings() { QSettings cfg; cfg.beginGroup("notifications"); _ui->notificationVolume->setValue(cfg.value("volume", 40).toInt()); _ui->notifChat->setChecked(cfg.value("chat", true).toBool()); _ui->notifMarker->setChecked(cfg.value("marker", true).toBool()); _ui->notifLogin->setChecked(cfg.value("login", true).toBool()); _ui->notifLock->setChecked(cfg.value("lock", true).toBool()); cfg.endGroup(); cfg.beginGroup("settings"); { QVariant langOverride = cfg.value("language", QString()); for(int i=1;i<_ui->languageBox->count();++i) { if(_ui->languageBox->itemData(i) == langOverride) { _ui->languageBox->setCurrentIndex(i); break; } } } _ui->autosaveInterval->setValue(cfg.value("autosave", 5000).toInt() / 1000); cfg.endGroup(); cfg.beginGroup("settings/input"); _ui->tabletSupport->setChecked(cfg.value("tabletevents", true).toBool()); _ui->tabletBugWorkaround->setChecked(cfg.value("tabletbugs", false).toBool()); #ifdef Q_OS_MAC // Gesture scrolling is always enabled on Macs _ui->touchscroll->setChecked(true); _ui->touchscroll->setEnabled(false); #else _ui->touchscroll->setChecked(cfg.value("touchscroll", true).toBool()); #endif _ui->touchpinch->setChecked(cfg.value("touchpinch", true).toBool()); _ui->touchtwist->setChecked(cfg.value("touchtwist", true).toBool()); cfg.endGroup(); cfg.beginGroup("settings/recording"); _ui->recordpause->setChecked(cfg.value("recordpause", true).toBool()); _ui->minimumpause->setValue(cfg.value("minimumpause", 0.5).toFloat()); _ui->ffmpegpath->setText(FfmpegExporter::getFfmpegPath()); _ui->recordingFolder->setText(utils::settings::recordingFolder()); cfg.endGroup(); cfg.beginGroup("settings/animation"); _ui->onionskinsBelow->setValue(cfg.value("onionskinsbelow", 4).toInt()); _ui->onionskinsAbove->setValue(cfg.value("onionskinsabove", 4).toInt()); _ui->onionskinTint->setChecked(cfg.value("onionskintint", true).toBool()); _ui->backgroundlayer->setChecked(cfg.value("backgroundlayer", true).toBool()); cfg.endGroup(); cfg.beginGroup("settings/server"); _ui->serverport->setValue(cfg.value("port",DRAWPILE_PROTO_DEFAULT_PORT).toInt()); _ui->historylimit->setValue(cfg.value("historylimit", 0).toDouble()); _ui->connTimeout->setValue(cfg.value("timeout", 60).toInt()); #ifdef HAVE_DNSSD _ui->dnssd->setChecked(cfg.value("dnssd", true).toBool()); #else _ui->dnssd->setEnabled(false); #endif #ifdef HAVE_UPNP _ui->useupnp->setChecked(cfg.value("upnp", true).toBool()); #else _ui->useupnp->setEnabled(false); #endif cfg.endGroup(); _ui->showNsfm->setChecked(cfg.value("listservers/nsfm", false).toBool()); _customShortcuts->loadShortcuts(); }
/** * Main. Creates Application window. */ int main(int argc, char** argv) { QT_REQUIRE_VERSION(argc, argv, "5.2.1"); RS_DEBUG->setLevel(RS_Debug::D_WARNING); QApplication app(argc, argv); QCoreApplication::setOrganizationName("LibreCAD"); QCoreApplication::setApplicationName("LibreCAD"); QCoreApplication::setApplicationVersion(XSTR(LC_VERSION)); QSettings settings; bool first_load = settings.value("Startup/FirstLoad", 1).toBool(); const QString lpDebugSwitch0("-d"),lpDebugSwitch1("--debug") ; const QString help0("-h"), help1("--help"); bool allowOptions=true; QList<int> argClean; for (int i=0; i<argc; i++) { QString argstr(argv[i]); if(allowOptions&&QString::compare("--", argstr)==0) { allowOptions=false; continue; } if (allowOptions && (help0.compare(argstr, Qt::CaseInsensitive)==0 || help1.compare(argstr, Qt::CaseInsensitive)==0 )) { qDebug()<<"librecad::usage: <options> <dxf file>"; qDebug()<<"-h, --help\tdisplay this message"; qDebug()<<""; qDebug()<<" --help\tdisplay this message"; qDebug()<<"-d, --debug <level>"; RS_DEBUG->print( RS_Debug::D_NOTHING, "possible debug levels:"); RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Nothing", RS_Debug::D_NOTHING); RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Critical", RS_Debug::D_CRITICAL); RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Error", RS_Debug::D_ERROR); RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Warning", RS_Debug::D_WARNING); RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Notice", RS_Debug::D_NOTICE); RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Informational", RS_Debug::D_INFORMATIONAL); RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Debugging", RS_Debug::D_DEBUGGING); exit(0); } if ( allowOptions&& (argstr.startsWith(lpDebugSwitch0, Qt::CaseInsensitive) || argstr.startsWith(lpDebugSwitch1, Qt::CaseInsensitive) )) { argClean<<i; // to control the level of debugging output use --debug with level 0-6, e.g. --debug3 // for a list of debug levels use --debug? // if no level follows, the debugging level is set argstr.remove(QRegExp("^"+lpDebugSwitch0)); argstr.remove(QRegExp("^"+lpDebugSwitch1)); char level; if(argstr.size()==0) { if(i+1<argc) { if(QRegExp("\\d*").exactMatch(argv[i+1])) { ++i; qDebug()<<"reading "<<argv[i]<<" as debugging level"; level=argv[i][0]; argClean<<i; } else level='3'; } else level='3'; //default to D_WARNING } else level=argstr.toStdString()[0]; switch(level) { case '?' : RS_DEBUG->print( RS_Debug::D_NOTHING, "possible debug levels:"); RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Nothing", RS_Debug::D_NOTHING); RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Critical", RS_Debug::D_CRITICAL); RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Error", RS_Debug::D_ERROR); RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Warning", RS_Debug::D_WARNING); RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Notice", RS_Debug::D_NOTICE); RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Informational", RS_Debug::D_INFORMATIONAL); RS_DEBUG->print( RS_Debug::D_NOTHING, " %d Debugging", RS_Debug::D_DEBUGGING); return 0; case '0' + RS_Debug::D_NOTHING : RS_DEBUG->setLevel( RS_Debug::D_NOTHING); ++i; break; case '0' + RS_Debug::D_CRITICAL : RS_DEBUG->setLevel( RS_Debug::D_CRITICAL); ++i; break; case '0' + RS_Debug::D_ERROR : RS_DEBUG->setLevel( RS_Debug::D_ERROR); ++i; break; case '0' + RS_Debug::D_WARNING : RS_DEBUG->setLevel( RS_Debug::D_WARNING); ++i; break; case '0' + RS_Debug::D_NOTICE : RS_DEBUG->setLevel( RS_Debug::D_NOTICE); ++i; break; case '0' + RS_Debug::D_INFORMATIONAL : RS_DEBUG->setLevel( RS_Debug::D_INFORMATIONAL); ++i; break; case '0' + RS_Debug::D_DEBUGGING : RS_DEBUG->setLevel( RS_Debug::D_DEBUGGING); ++i; break; default : RS_DEBUG->setLevel(RS_Debug::D_DEBUGGING); break; } } } RS_DEBUG->print("param 0: %s", argv[0]); QFileInfo prgInfo( QFile::decodeName(argv[0]) ); QString prgDir(prgInfo.absolutePath()); RS_SETTINGS->init(app.organizationName(), app.applicationName()); RS_SYSTEM->init(app.applicationName(), app.applicationVersion(), XSTR(QC_APPDIR), prgDir); // parse command line arguments that might not need a launched program: QStringList fileList = handleArgs(argc, argv, argClean); QString unit = settings.value("Defaults/Unit", "Invalid").toString(); // show initial config dialog: if (first_load) { RS_DEBUG->print("main: show initial config dialog.."); QG_DlgInitial di(nullptr); QPixmap pxm(":/main/intro_librecad.png"); di.setPixmap(pxm); if (di.exec()) { RS_SETTINGS->beginGroup("/Defaults"); unit = RS_SETTINGS->readEntry("/Unit", "None"); RS_SETTINGS->endGroup(); } RS_DEBUG->print("main: show initial config dialog: OK"); } auto splash = new QSplashScreen; bool show_splash = settings.value("Startup/ShowSplash", 1).toBool(); if (show_splash) { QPixmap pixmap(":/main/splash_librecad.png"); splash->setPixmap(pixmap); splash->setAttribute(Qt::WA_DeleteOnClose); splash->show(); splash->showMessage(QObject::tr("Loading.."), Qt::AlignRight|Qt::AlignBottom, Qt::black); app.processEvents(); RS_DEBUG->print("main: splashscreen: OK"); } RS_DEBUG->print("main: init fontlist.."); RS_FONTLIST->init(); RS_DEBUG->print("main: init fontlist: OK"); RS_DEBUG->print("main: init patternlist.."); RS_PATTERNLIST->init(); RS_DEBUG->print("main: init patternlist: OK"); RS_DEBUG->print("main: loading translation.."); settings.beginGroup("Appearance"); QString lang = settings.value("Language", "en").toString(); QString langCmd = settings.value("LanguageCmd", "en").toString(); settings.endGroup(); RS_SYSTEM->loadTranslation(lang, langCmd); RS_DEBUG->print("main: loading translation: OK"); RS_DEBUG->print("main: creating main window.."); QC_ApplicationWindow appWin; RS_DEBUG->print("main: setting caption"); appWin.setWindowTitle(app.applicationName()); RS_DEBUG->print("main: show main window"); settings.beginGroup("Geometry"); int windowWidth = settings.value("WindowWidth", 1024).toInt(); int windowHeight = settings.value("WindowHeight", 1024).toInt(); int windowX = settings.value("WindowX", 32).toInt(); int windowY = settings.value("WindowY", 32).toInt(); settings.endGroup(); settings.beginGroup("Defaults"); if( !settings.contains("UseQtFileOpenDialog")) { #ifdef Q_OS_LINUX // on Linux don't use native file dialog // because of case insensitive filters (issue #791) settings.setValue("UseQtFileOpenDialog", QVariant(1)); #else settings.setValue("UseQtFileOpenDialog", QVariant(0)); #endif } settings.endGroup(); if (!first_load) appWin.resize(windowWidth, windowHeight); appWin.move(windowX, windowY); bool maximize = settings.value("Startup/Maximize", 0).toBool(); if (maximize || first_load) appWin.showMaximized(); else appWin.show(); RS_DEBUG->print("main: set focus"); appWin.setFocus(); RS_DEBUG->print("main: creating main window: OK"); if (show_splash) { RS_DEBUG->print("main: updating splash"); splash->raise(); splash->showMessage(QObject::tr("Loading..."), Qt::AlignRight|Qt::AlignBottom, Qt::black); RS_DEBUG->print("main: processing events"); qApp->processEvents(); RS_DEBUG->print("main: updating splash: OK"); } // Set LC_NUMERIC so that entering numeric values uses . as the decimal seperator setlocale(LC_NUMERIC, "C"); RS_DEBUG->print("main: loading files.."); bool files_loaded = false; for (QStringList::Iterator it = fileList.begin(); it != fileList.end(); ++it ) { if (show_splash) { splash->showMessage(QObject::tr("Loading File %1..") .arg(QDir::toNativeSeparators(*it)), Qt::AlignRight|Qt::AlignBottom, Qt::black); qApp->processEvents(); } appWin.slotFileOpen(*it, RS2::FormatUnknown); files_loaded = true; } RS_DEBUG->print("main: loading files: OK"); if (!files_loaded) { appWin.slotFileNewNew(); } if (show_splash) splash->finish(&appWin); else delete splash; if (first_load) settings.setValue("Startup/FirstLoad", 0); RS_DEBUG->print("main: entering Qt event loop"); int return_code = app.exec(); RS_DEBUG->print("main: exited Qt event loop"); return return_code; }
ColorDialog::ColorDialog(const Map& map, const MapColor& source_color, QWidget* parent, Qt::WindowFlags f) : QDialog(parent, f), map(map), source_color(source_color), color(source_color), color_modified(false), react_to_changes(true) { setWindowTitle(tr("Edit map color")); setSizeGripEnabled(true); color_preview_label = new QLabel(); mc_name_edit = new QLineEdit(); prof_color_layout = new QGridLayout(); int col = 0; prof_color_layout->setColumnStretch(col, 1); prof_color_layout->setColumnStretch(col+1, 3); int row = 0; prof_color_layout->addWidget(Util::Headline::create("Spot color printing"), row, col, 1, 2); QButtonGroup* spot_color_options = new QButtonGroup(this); ++row; full_tone_option = new QRadioButton(tr("Defines a spot color:")); spot_color_options->addButton(full_tone_option, MapColor::SpotColor); prof_color_layout->addWidget(full_tone_option, row, col, 1, 2); ++row; sc_name_edit = new QLineEdit(); prof_color_layout->addWidget(sc_name_edit, row, col, 1, 2); ++row; composition_option = new QRadioButton(tr("Mixture of spot colors (screens and overprint):")); spot_color_options->addButton(composition_option, MapColor::CustomColor); prof_color_layout->addWidget(composition_option, row, col, 1, 2); int num_components = 0 /*color.getComponents().size()*/; // FIXME: cleanup components_row0 = row+1; components_col0 = col; component_colors.resize(num_components+1); component_halftone.resize(num_components+1); for (int i = 0; i <= num_components; i++) { ++row; component_colors[i] = new ColorDropDown(&map, &color, true); component_colors[i]->removeColor(&source_color); prof_color_layout->addWidget(component_colors[i], row, col); component_halftone[i] = Util::SpinBox::create(1, 0.0, 100.0, tr("%"), 10.0); prof_color_layout->addWidget(component_halftone[i], row, col+1); } ++row; knockout_option = new QCheckBox(tr("Knockout: erases lower colors")); prof_color_layout->addWidget(knockout_option, row, col, 1, 2); knockout_option->setEnabled(false); row = 0, col += 2; prof_color_layout->setColumnStretch(col, 1); const int spacing = style()->pixelMetric(QStyle::PM_LayoutTopMargin); prof_color_layout->addItem(new QSpacerItem(3*spacing, spacing), row, col, 7, 1); row = 0, col +=1; prof_color_layout->setColumnStretch(col, 1); prof_color_layout->setColumnStretch(col+1, 3); prof_color_layout->addWidget(Util::Headline::create("CMYK"), row, col, 1, 2); QButtonGroup* cmyk_color_options = new QButtonGroup(this); ++row; cmyk_spot_color_option = new QRadioButton(tr("Calculate from spot colors")); cmyk_color_options->addButton(cmyk_spot_color_option, MapColor::SpotColor); prof_color_layout->addWidget(cmyk_spot_color_option, row, col, 1, 2); ++row; evaluate_rgb_option = new QRadioButton(tr("Calculate from RGB color")); cmyk_color_options->addButton(evaluate_rgb_option, MapColor::RgbColor); prof_color_layout->addWidget(evaluate_rgb_option, row, col, 1, 2); ++row; custom_cmyk_option = new QRadioButton(tr("Custom process color:")); cmyk_color_options->addButton(custom_cmyk_option, MapColor::CustomColor); prof_color_layout->addWidget(custom_cmyk_option, row, col, 1, 2); ++row; c_edit = Util::SpinBox::create(1, 0.0, 100.0, tr("%"), 10.0); prof_color_layout->addWidget(new QLabel(tr("Cyan")), row, col); prof_color_layout->addWidget(c_edit, row, col+1); ++row; m_edit = Util::SpinBox::create(1, 0.0, 100.0, tr("%"), 10.0); prof_color_layout->addWidget(new QLabel(tr("Magenta")), row, col); prof_color_layout->addWidget(m_edit, row, col+1); ++row; y_edit = Util::SpinBox::create(1, 0.0, 100.0, tr("%"), 10.0); prof_color_layout->addWidget(new QLabel(tr("Yellow")), row, col); prof_color_layout->addWidget(y_edit, row, col+1); ++row; k_edit = Util::SpinBox::create(1, 0.0, 100.0, tr("%"), 10.0); prof_color_layout->addWidget(new QLabel(tr("Black")), row, col); prof_color_layout->addWidget(k_edit, row, col+1); ++row; stretch_row0 = row; stretch_col0 = col; stretch = new QWidget(); prof_color_layout->addWidget(stretch, row, col); prof_color_layout->setRowStretch(row, 1); QWidget* prof_color_widget = new QWidget(); prof_color_widget->setLayout(prof_color_layout); prof_color_widget->setObjectName(QString::fromLatin1("professional")); QGridLayout* desktop_layout = new QGridLayout(); col = 0; desktop_layout->setColumnStretch(col, 1); desktop_layout->setColumnStretch(col+1, 3); row = 0; desktop_layout->addWidget(Util::Headline::create("RGB"), row, col, 1, 2); QButtonGroup* rgb_color_options = new QButtonGroup(this); ++row; rgb_spot_color_option = new QRadioButton(tr("Calculate from spot colors")); rgb_color_options->addButton(rgb_spot_color_option, MapColor::SpotColor); desktop_layout->addWidget(rgb_spot_color_option, row, col, 1, 2); ++row; evaluate_cmyk_option = new QRadioButton(tr("Calculate from CMYK color")); rgb_color_options->addButton(evaluate_cmyk_option, MapColor::CmykColor); desktop_layout->addWidget(evaluate_cmyk_option, row, col, 1, 2); ++row; custom_rgb_option = new QRadioButton(tr("Custom RGB color:")); rgb_color_options->addButton(custom_rgb_option, MapColor::CustomColor); desktop_layout->addWidget(custom_rgb_option, row, col, 1, 2); ++row; r_edit = Util::SpinBox::create(1, 0.0, 255.0, {}, 5); desktop_layout->addWidget(new QLabel(tr("Red")), row, col); desktop_layout->addWidget(r_edit, row, col+1); ++row; g_edit = Util::SpinBox::create(1, 0.0, 255.0, {}, 5); desktop_layout->addWidget(new QLabel(tr("Green")), row, col); desktop_layout->addWidget(g_edit, row, col+1); ++row; b_edit = Util::SpinBox::create(1, 0.0, 255.0, {}, 5); desktop_layout->addWidget(new QLabel(tr("Blue")), row, col); desktop_layout->addWidget(b_edit, row, col+1); ++row; html_edit = new QLineEdit(); desktop_layout->addWidget(new QLabel(tr("#RRGGBB")), row, col); desktop_layout->addWidget(html_edit, row, col+1); ++row; desktop_layout->addWidget(new QWidget(), row, col); desktop_layout->setRowStretch(row, 1); row = 0, col += 2; desktop_layout->setColumnStretch(col, 7); desktop_layout->addItem(new QSpacerItem(3*spacing, spacing), row, col, 7, 1); QWidget* desktop_color_widget = new QWidget(); desktop_color_widget->setLayout(desktop_layout); desktop_color_widget->setObjectName(QString::fromLatin1("desktop")); properties_widget = new QTabWidget(); properties_widget->addTab(desktop_color_widget, tr("Desktop")); properties_widget->addTab(prof_color_widget, tr("Professional printing")); QDialogButtonBox* button_box = new QDialogButtonBox(QDialogButtonBox::Cancel | QDialogButtonBox::Ok | QDialogButtonBox::Reset | QDialogButtonBox::Help); ok_button = button_box->button(QDialogButtonBox::Ok); reset_button = button_box->button(QDialogButtonBox::Reset); connect(button_box, SIGNAL(rejected()), this, SLOT(reject())); connect(button_box, SIGNAL(accepted()), this, SLOT(accept())); connect(reset_button, SIGNAL(clicked(bool)), this, SLOT(reset())); connect(button_box->button(QDialogButtonBox::Help), SIGNAL(clicked(bool)), this, SLOT(showHelp())); QGridLayout* layout = new QGridLayout(); layout->addWidget(color_preview_label, 0, 0); layout->addWidget(mc_name_edit, 0, 1); layout->addWidget(properties_widget, 1, 0, 1, 2); layout->addWidget(button_box, 2, 0, 1, 2); layout->setColumnStretch(1, 1); setLayout(layout); updateWidgets(); updateButtons(); connect(mc_name_edit, SIGNAL(textChanged(QString)), this, SLOT(mapColorNameChanged())); connect(spot_color_options, SIGNAL(buttonClicked(int)), this, SLOT(spotColorTypeChanged(int))); connect(sc_name_edit, SIGNAL(textChanged(QString)), this, SLOT(spotColorNameChanged())); for (int i = 0; i < (int)component_colors.size(); i++) { connect(component_colors[i], SIGNAL(currentIndexChanged(int)), this, SLOT(spotColorCompositionChanged())); connect(component_halftone[i], SIGNAL(valueChanged(double)), this, SLOT(spotColorCompositionChanged())); } connect(knockout_option, SIGNAL(clicked(bool)), this, SLOT(knockoutChanged())); connect(cmyk_color_options, SIGNAL(buttonClicked(int)), this, SLOT(cmykColorTypeChanged(int))); connect(c_edit, SIGNAL(valueChanged(double)), this, SLOT(cmykValueChanged())); connect(m_edit, SIGNAL(valueChanged(double)), this, SLOT(cmykValueChanged())); connect(y_edit, SIGNAL(valueChanged(double)), this, SLOT(cmykValueChanged())); connect(k_edit, SIGNAL(valueChanged(double)), this, SLOT(cmykValueChanged())); connect(rgb_color_options, SIGNAL(buttonClicked(int)), this, SLOT(rgbColorTypeChanged(int))); connect(r_edit, SIGNAL(valueChanged(double)), this, SLOT(rgbValueChanged())); connect(g_edit, SIGNAL(valueChanged(double)), this, SLOT(rgbValueChanged())); connect(b_edit, SIGNAL(valueChanged(double)), this, SLOT(rgbValueChanged())); QSettings settings; settings.beginGroup(QString::fromLatin1("ColorDialog")); QString default_view = settings.value(QString::fromLatin1("view")).toString(); settings.endGroup(); properties_widget->setCurrentWidget(properties_widget->findChild<QWidget*>(default_view)); }
// ----------------------------------------------------------------------------- // // ----------------------------------------------------------------------------- void DREAM3DUpdateCheckDialog::writeUpdatePreferences(QSettings &prefs) { prefs.beginGroup(Detail::UpdatePreferencesGroup); prefs.setValue( "Frequency", m_WhenToCheck ); prefs.endGroup(); }
void ndManager::setupActions() { //File Menu QMenu *fileMenu = menuBar()->addMenu(tr("&File")); mNewAction = fileMenu->addAction(tr("&New...")); mNewAction->setIcon(QPixmap(":/shared-icons/document-new")); mNewAction->setShortcut(QKeySequence::New); connect(mNewAction, SIGNAL(triggered()), this, SLOT(slotNewFile())); mOpenAction = fileMenu->addAction(tr("&Open...")); mOpenAction->setIcon(QPixmap(":/shared-icons/document-open")); mOpenAction->setShortcut(QKeySequence::Open); connect(mOpenAction, SIGNAL(triggered()), this, SLOT(slotFileOpen())); mFileOpenRecent = new QRecentFileAction(this); QSettings settings; mFileOpenRecent->setRecentFiles(settings.value(QLatin1String("Recent Files"),QStringList()).toStringList()); fileMenu->addAction(mFileOpenRecent); connect(mFileOpenRecent, SIGNAL(recentFileSelected(QString)), this, SLOT(slotFileOpenRecent(QString))); connect(mFileOpenRecent, SIGNAL(recentFileListChanged()), this, SLOT(slotSaveRecentFiles())); mUseTemplateAction = fileMenu->addAction(tr("Use &Template...")); connect(mUseTemplateAction, SIGNAL(triggered()), this, SLOT(slotImport())); fileMenu->addSeparator(); mSaveAction = fileMenu->addAction(tr("Save...")); mSaveAction->setIcon(QPixmap(":/shared-icons/document-save")); mSaveAction->setShortcut(QKeySequence::Save); connect(mSaveAction, SIGNAL(triggered()), this, SLOT(slotSave())); mSaveAsAction = fileMenu->addAction(tr("&Save As...")); mSaveAsAction->setIcon(QPixmap(":/shared-icons/document-save-as")); mSaveAsAction->setShortcut(QKeySequence::SaveAs); connect(mSaveAsAction, SIGNAL(triggered()), this, SLOT(slotSaveAs())); mSaveAsDefaultAction = fileMenu->addAction(tr("Save as &Default")); connect(mSaveAsDefaultAction, SIGNAL(triggered()), this, SLOT(slotSaveDefault())); mReloadAction = fileMenu->addAction(tr("&Reload")); mReloadAction->setShortcut(Qt::Key_F5); connect(mReloadAction, SIGNAL(triggered()), this, SLOT(slotReload())); fileMenu->addSeparator(); mCloseAction = fileMenu->addAction(tr("Close")); mCloseAction->setIcon(QPixmap(":/shared-icons/document-close")); mCloseAction->setShortcut(QKeySequence::Close); connect(mCloseAction, SIGNAL(triggered()), this, SLOT(slotFileClose())); fileMenu->addSeparator(); mQuitAction = fileMenu->addAction(tr("Quit")); mQuitAction->setIcon(QPixmap(":/shared-icons/window-close")); mQuitAction->setShortcut(QKeySequence::Quit); connect(mQuitAction, SIGNAL(triggered()), this, SLOT(close())); QMenu *actionMenu = menuBar()->addMenu(tr("&Actions")); mQueryAction = actionMenu->addAction(tr("&Query")); #ifndef Q_OS_UNIX mQueryAction->setEnabled(false); #endif connect(mQueryAction, SIGNAL(triggered()), this, SLOT(slotQuery())); //mProcessingManager = actionMenu->addAction(tr("Show Processing Manager")); QMenu *settingsMenu = menuBar()->addMenu(tr("&Settings")); //Settings mExpertMode = settingsMenu->addAction(tr("&Expert Mode")); mExpertMode->setCheckable(true); connect(mExpertMode, SIGNAL(triggered(bool)), this, SLOT(slotExpertMode())); settingsMenu->addSeparator(); settings.beginGroup("General"); if ( settings.contains("expertMode")) mExpertMode->setChecked(settings.value("expertMode").toBool()); else mExpertMode->setChecked(true); settings.endGroup(); viewMainToolBar = settingsMenu->addAction(tr("Show Main Toolbar")); viewMainToolBar->setCheckable(true); viewMainToolBar->setChecked(true); connect(viewMainToolBar,SIGNAL(triggered()), this,SLOT(slotViewMainToolBar())); viewStatusBar = settingsMenu->addAction(tr("Show StatusBar")); viewStatusBar->setCheckable(true); connect(viewStatusBar,SIGNAL(triggered()), this,SLOT(slotViewStatusBar())); viewStatusBar->setChecked(true); QMenu *helpMenu = menuBar()->addMenu(tr("Help")); QAction *handbook = helpMenu->addAction(tr("Handbook")); handbook->setShortcut(Qt::Key_F1); connect(handbook,SIGNAL(triggered()), this,SLOT(slotHanbook())); QAction *about = helpMenu->addAction(tr("About")); connect(about,SIGNAL(triggered()), this,SLOT(slotAbout())); mMainToolBar->addAction(mNewAction); mMainToolBar->addAction(mOpenAction); mMainToolBar->addAction(mSaveAction); resize(800,600); }
void SettingsDialog::saveToSettings() { QSettings settings; settings.beginGroup(QLatin1String("Settings")); settings.setValue(QLatin1String("currentTab"), tabWidget->currentIndex()); settings.endGroup(); settings.beginGroup(QLatin1String("MainWindow")); settings.setValue(QLatin1String("home"), homeLineEdit->text()); settings.setValue(QLatin1String("startupBehavior"), startupBehavior->currentIndex()); settings.endGroup(); settings.beginGroup(QLatin1String("downloadmanager")); settings.setValue(QLatin1String("alwaysPromptForFileName"), downloadAsk->isChecked()); settings.setValue(QLatin1String("downloadDirectory"), downloadsLocation->text()); settings.setValue(QLatin1String("external"), externalDownloadButton->isChecked()); settings.setValue(QLatin1String("externalPath"), externalDownloadPath->text()); settings.endGroup(); settings.beginGroup(QLatin1String("history")); int historyExpire = expireHistory->currentIndex(); int idx = -1; switch (historyExpire) { case 0: idx = 1; break; case 1: idx = 7; break; case 2: idx = 14; break; case 3: idx = 30; break; case 4: idx = 365; break; case 5: idx = -1; break; case 6: idx = -2; break; } settings.setValue(QLatin1String("historyLimit"), idx); settings.endGroup(); settings.beginGroup(QLatin1String("urlloading")); settings.setValue(QLatin1String("searchEngineFallback"), searchEngineFallback->isChecked()); settings.endGroup(); // Appearance settings.beginGroup(QLatin1String("websettings")); settings.setValue(QLatin1String("fixedFont"), m_fixedFont); settings.setValue(QLatin1String("standardFont"), m_standardFont); settings.setValue(QLatin1String("blockPopupWindows"), blockPopupWindows->isChecked()); settings.setValue(QLatin1String("enableJavascript"), enableJavascript->isChecked()); settings.setValue(QLatin1String("enablePlugins"), enablePlugins->isChecked()); settings.setValue(QLatin1String("enableImages"), enableImages->isChecked()); settings.setValue(QLatin1String("enableLocalStorage"), enableLocalStorage->isChecked()); QString userStyleSheetString = userStyleSheet->text(); if (QFile::exists(userStyleSheetString)) settings.setValue(QLatin1String("userStyleSheet"), QUrl::fromLocalFile(userStyleSheetString)); else settings.setValue(QLatin1String("userStyleSheet"), QUrl::fromEncoded(userStyleSheetString.toUtf8())); settings.setValue(QLatin1String("enableClickToFlash"), clickToFlash->isChecked()); if (minimFontSizeCheckBox->isChecked()) settings.setValue(QLatin1String("minimumFontSize"), minimumFontSizeSpinBox->value()); else settings.setValue(QLatin1String("minimumFontSize"), 0); settings.endGroup(); // Privacy settings.beginGroup(QLatin1String("cookies")); CookieJar::AcceptPolicy acceptCookies; switch (acceptCombo->currentIndex()) { default: case 0: acceptCookies = CookieJar::AcceptAlways; break; case 1: acceptCookies = CookieJar::AcceptNever; break; case 2: acceptCookies = CookieJar::AcceptOnlyFromSitesNavigatedTo; break; } QMetaEnum acceptPolicyEnum = CookieJar::staticMetaObject.enumerator(CookieJar::staticMetaObject.indexOfEnumerator("AcceptPolicy")); settings.setValue(QLatin1String("acceptCookies"), QLatin1String(acceptPolicyEnum.valueToKey(acceptCookies))); CookieJar::KeepPolicy keepPolicy; switch (keepUntilCombo->currentIndex()) { default: case 0: keepPolicy = CookieJar::KeepUntilExpire; break; case 1: keepPolicy = CookieJar::KeepUntilExit; break; case 2: keepPolicy = CookieJar::KeepUntilTimeLimit; break; } QMetaEnum keepPolicyEnum = CookieJar::staticMetaObject.enumerator(CookieJar::staticMetaObject.indexOfEnumerator("KeepPolicy")); settings.setValue(QLatin1String("keepCookiesUntil"), QLatin1String(keepPolicyEnum.valueToKey(keepPolicy))); int sessionLength = cookieSessionCombo->currentIndex(); switch (sessionLength) { case 1: sessionLength = 1; break; case 2: sessionLength = 2; break; case 3: sessionLength = 3; break; case 4: sessionLength = 7; break; case 5: sessionLength = 30; break; default: case 0: sessionLength = -1; break; } settings.setValue(QLatin1String("sessionLength"), sessionLength); settings.setValue(QLatin1String("filterTrackingCookies"), filterTrackingCookiesCheckbox->isChecked()); settings.endGroup(); // Network settings.beginGroup(QLatin1String("network")); settings.setValue(QLatin1String("cacheEnabled"), networkCache->isChecked()); settings.setValue(QLatin1String("maximumCacheSize"), networkCacheMaximumSizeSpinBox->value()); settings.endGroup(); // proxy settings.beginGroup(QLatin1String("proxy")); settings.setValue(QLatin1String("enabled"), proxySupport->isChecked()); settings.setValue(QLatin1String("type"), proxyType->currentIndex()); settings.setValue(QLatin1String("hostName"), proxyHostName->text()); settings.setValue(QLatin1String("port"), proxyPort->text()); settings.setValue(QLatin1String("userName"), proxyUserName->text()); settings.setValue(QLatin1String("password"), proxyPassword->text()); settings.endGroup(); // Tabs settings.beginGroup(QLatin1String("tabs")); settings.setValue(QLatin1String("selectNewTabs"), selectTabsWhenCreated->isChecked()); settings.setValue(QLatin1String("confirmClosingMultipleTabs"), confirmClosingMultipleTabs->isChecked()); settings.setValue(QLatin1String("oneCloseButton"), oneCloseButton->isChecked()); settings.setValue(QLatin1String("quitAsLastTabClosed"), quitAsLastTabClosed->isChecked()); settings.setValue(QLatin1String("openTargetBlankLinksIn"), openTargetBlankLinksIn->currentIndex()); settings.setValue(QLatin1String("openLinksFromAppsIn"), openLinksFromAppsIn->currentIndex()); settings.endGroup(); settings.beginGroup(QLatin1String("autofill")); settings.setValue(QLatin1String("passwordForms"), autoFillPasswordFormsCheckBox->isChecked()); settings.endGroup(); // Accessibility #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) settings.beginGroup(QLatin1String("WebView")); settings.setValue(QLatin1String("enableAccessKeys"), enableAccessKeys->isChecked()); settings.endGroup(); #endif BrowserApplication::instance()->loadSettings(); BrowserApplication::networkAccessManager()->loadSettings(); BrowserApplication::cookieJar()->loadSettings(); BrowserApplication::historyManager()->loadSettings(); BrowserApplication::autoFillManager()->loadSettings(); WebPage::webPluginFactory()->refreshPlugins(); QList<BrowserMainWindow*> list = BrowserApplication::instance()->mainWindows(); foreach (BrowserMainWindow *mainWindow, list) { mainWindow->tabWidget()->loadSettings(); } }
void SettingsDialog::loadFromSettings() { QSettings settings; settings.beginGroup(QLatin1String("Settings")); tabWidget->setCurrentIndex(settings.value(QLatin1String("currentTab"), 0).toInt()); settings.endGroup(); settings.beginGroup(QLatin1String("MainWindow")); QString defaultHome = QLatin1String("about:home"); homeLineEdit->setText(settings.value(QLatin1String("home"), defaultHome).toString()); startupBehavior->setCurrentIndex(settings.value(QLatin1String("startupBehavior"), 0).toInt()); settings.endGroup(); settings.beginGroup(QLatin1String("history")); int historyExpire = settings.value(QLatin1String("historyLimit")).toInt(); int idx = 0; switch (historyExpire) { case 1: idx = 0; break; case 7: idx = 1; break; case 14: idx = 2; break; case 30: idx = 3; break; case 365: idx = 4; break; case -1: idx = 5; break; case -2: idx = 6; break; default: idx = 5; } expireHistory->setCurrentIndex(idx); settings.endGroup(); settings.beginGroup(QLatin1String("urlloading")); bool search = settings.value(QLatin1String("searchEngineFallback"), false).toBool(); searchEngineFallback->setChecked(search); settings.endGroup(); settings.beginGroup(QLatin1String("downloadmanager")); bool alwaysPromptForFileName = settings.value(QLatin1String("alwaysPromptForFileName"), false).toBool(); downloadAsk->setChecked(alwaysPromptForFileName); QString downloadDirectory = settings.value(QLatin1String("downloadDirectory"), downloadsLocation->text()).toString(); downloadsLocation->setText(downloadDirectory); externalDownloadButton->setChecked(settings.value(QLatin1String("external"), false).toBool()); externalDownloadPath->setText(settings.value(QLatin1String("externalPath")).toString()); settings.endGroup(); // Appearance settings.beginGroup(QLatin1String("websettings")); m_fixedFont = qVariantValue<QFont>(settings.value(QLatin1String("fixedFont"), m_fixedFont)); m_standardFont = qVariantValue<QFont>(settings.value(QLatin1String("standardFont"), m_standardFont)); standardLabel->setText(QString(QLatin1String("%1 %2")).arg(m_standardFont.family()).arg(m_standardFont.pointSize())); fixedLabel->setText(QString(QLatin1String("%1 %2")).arg(m_fixedFont.family()).arg(m_fixedFont.pointSize())); blockPopupWindows->setChecked(settings.value(QLatin1String("blockPopupWindows"), blockPopupWindows->isChecked()).toBool()); enableJavascript->setChecked(settings.value(QLatin1String("enableJavascript"), enableJavascript->isChecked()).toBool()); enablePlugins->setChecked(settings.value(QLatin1String("enablePlugins"), enablePlugins->isChecked()).toBool()); enableImages->setChecked(settings.value(QLatin1String("enableImages"), enableImages->isChecked()).toBool()); enableLocalStorage->setChecked(settings.value(QLatin1String("enableLocalStorage"), enableLocalStorage->isChecked()).toBool()); userStyleSheet->setText(QString::fromUtf8(settings.value(QLatin1String("userStyleSheet")).toUrl().toEncoded())); clickToFlash->setChecked(settings.value(QLatin1String("enableClickToFlash"), clickToFlash->isChecked()).toBool()); int minimumFontSize = settings.value(QLatin1String("minimumFontSize"), 0).toInt(); minimFontSizeCheckBox->setChecked(minimumFontSize != 0); if (minimumFontSize != 0) minimumFontSizeSpinBox->setValue(minimumFontSize); settings.endGroup(); // Privacy settings.beginGroup(QLatin1String("cookies")); QByteArray value = settings.value(QLatin1String("acceptCookies"), QLatin1String("AcceptOnlyFromSitesNavigatedTo")).toByteArray(); QMetaEnum acceptPolicyEnum = CookieJar::staticMetaObject.enumerator(CookieJar::staticMetaObject.indexOfEnumerator("AcceptPolicy")); CookieJar::AcceptPolicy acceptCookies = acceptPolicyEnum.keyToValue(value) == -1 ? CookieJar::AcceptOnlyFromSitesNavigatedTo : static_cast<CookieJar::AcceptPolicy>(acceptPolicyEnum.keyToValue(value)); switch (acceptCookies) { case CookieJar::AcceptAlways: acceptCombo->setCurrentIndex(0); break; case CookieJar::AcceptNever: acceptCombo->setCurrentIndex(1); break; case CookieJar::AcceptOnlyFromSitesNavigatedTo: acceptCombo->setCurrentIndex(2); break; } value = settings.value(QLatin1String("keepCookiesUntil"), QLatin1String("Expire")).toByteArray(); QMetaEnum keepPolicyEnum = CookieJar::staticMetaObject.enumerator(CookieJar::staticMetaObject.indexOfEnumerator("KeepPolicy")); CookieJar::KeepPolicy keepCookies = keepPolicyEnum.keyToValue(value) == -1 ? CookieJar::KeepUntilExpire : static_cast<CookieJar::KeepPolicy>(keepPolicyEnum.keyToValue(value)); switch (keepCookies) { case CookieJar::KeepUntilExpire: keepUntilCombo->setCurrentIndex(0); break; case CookieJar::KeepUntilExit: keepUntilCombo->setCurrentIndex(1); break; case CookieJar::KeepUntilTimeLimit: keepUntilCombo->setCurrentIndex(2); break; } int sessionLength = settings.value(QLatin1String("sessionLength"), -1).toInt(); switch (sessionLength) { case 1: cookieSessionCombo->setCurrentIndex(1); break; case 2: cookieSessionCombo->setCurrentIndex(2); break; case 3: cookieSessionCombo->setCurrentIndex(3); break; case 7: cookieSessionCombo->setCurrentIndex(4); break; case 30: cookieSessionCombo->setCurrentIndex(5); break; default: case 0: cookieSessionCombo->setCurrentIndex(0); break; } filterTrackingCookiesCheckbox->setChecked(settings.value(QLatin1String("filterTrackingCookies"), false).toBool()); settings.endGroup(); // Network settings.beginGroup(QLatin1String("network")); m_cacheEnabled = settings.value(QLatin1String("cacheEnabled"), true).toBool(); networkCache->setChecked(m_cacheEnabled); networkCacheMaximumSizeSpinBox->setValue(settings.value(QLatin1String("maximumCacheSize"), 50).toInt()); settings.endGroup(); // Proxy settings.beginGroup(QLatin1String("proxy")); proxySupport->setChecked(settings.value(QLatin1String("enabled"), false).toBool()); proxyType->setCurrentIndex(settings.value(QLatin1String("type"), 0).toInt()); proxyHostName->setText(settings.value(QLatin1String("hostName")).toString()); proxyPort->setValue(settings.value(QLatin1String("port"), 1080).toInt()); proxyUserName->setText(settings.value(QLatin1String("userName")).toString()); proxyPassword->setText(settings.value(QLatin1String("password")).toString()); settings.endGroup(); // Tabs settings.beginGroup(QLatin1String("tabs")); selectTabsWhenCreated->setChecked(settings.value(QLatin1String("selectNewTabs"), false).toBool()); confirmClosingMultipleTabs->setChecked(settings.value(QLatin1String("confirmClosingMultipleTabs"), true).toBool()); oneCloseButton->setChecked(settings.value(QLatin1String("oneCloseButton"),false).toBool()); quitAsLastTabClosed->setChecked(settings.value(QLatin1String("quitAsLastTabClosed"), true).toBool()); openTargetBlankLinksIn->setCurrentIndex(settings.value(QLatin1String("openTargetBlankLinksIn"), TabWidget::NewSelectedTab).toInt()); openLinksFromAppsIn->setCurrentIndex(settings.value(QLatin1String("openLinksFromAppsIn"), TabWidget::NewSelectedTab).toInt()); settings.endGroup(); // Accessibility #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) settings.beginGroup(QLatin1String("WebView")); enableAccessKeys->setChecked(settings.value(QLatin1String("enableAccessKeys"), true).toBool()); settings.endGroup(); #else enableAccessKeys->setEnabled(false); #endif settings.beginGroup(QLatin1String("autofill")); autoFillPasswordFormsCheckBox->setChecked(settings.value(QLatin1String("passwordForms"), true).toBool()); settings.endGroup(); }