void SettingsGUI::ok() { SettingsManager *SM = SettingsManager::getInstance(); { //Basic tab if (custom_style && comboBox_THEMES->currentIndex() > 0) WSSET(WS_APP_THEME, comboBox_THEMES->currentText()); else if (!comboBox_THEMES->currentIndex()) WSSET(WS_APP_THEME, ""); if (!lineEdit_APPFONT->text().isEmpty()) WSSET(WS_APP_FONT, lineEdit_APPFONT->text()); if (!lineEdit_LANGFILE->text().isEmpty() && (lineEdit_LANGFILE->text() != WSGET(WS_TRANSLATION_FILE))) WSSET(WS_TRANSLATION_FILE, lineEdit_LANGFILE->text()); WBSET(WB_MAINWINDOW_REMEMBER, radioButton_REMEMBER->isChecked()); WBSET(WB_MAINWINDOW_HIDE, radioButton_HIDE->isChecked()); if (WBGET(WB_TRAY_ENABLED) != groupBox_TRAY->isChecked()) { WBSET(WB_TRAY_ENABLED, groupBox_TRAY->isChecked()); Notify->enableTray(WBGET(WB_TRAY_ENABLED)); } if (WSGET(WS_APP_EMOTICON_THEME) != comboBox_EMOT->currentText()) { WSSET(WS_APP_EMOTICON_THEME, comboBox_EMOT->currentText()); if (EmoticonFactory::getInstance()) EmoticonFactory::getInstance()->load(); } if (comboBox_TABBAR->currentIndex() == 2) { WBSET(WB_MAINWINDOW_USE_SIDEBAR, true); WBSET(WB_MAINWINDOW_USE_M_TABBAR, false); } else if (comboBox_TABBAR->currentIndex() == 1) { WBSET(WB_MAINWINDOW_USE_SIDEBAR, false); WBSET(WB_MAINWINDOW_USE_M_TABBAR, true); } else { WBSET(WB_MAINWINDOW_USE_SIDEBAR, false); WBSET(WB_MAINWINDOW_USE_M_TABBAR, false); } WBSET("app/use-icon-theme", checkBox_ICONTHEME->isChecked()); WBSET("mainwindow/dont-show-icons-in-menus", checkBox_HIDE_ICONS_IN_MENU->isChecked()); } { //Chat tab WBSET(WB_SHOW_HIDDEN_USERS, checkBox_CHATHIDDEN->isChecked()); WBSET(WB_CHAT_SHOW_JOINS, checkBox_CHATJOINS->isChecked()); WBSET(WB_CHAT_SHOW_JOINS_FAV, checkBox_JOINSFAV->isChecked()); WBSET(WB_CHAT_REDIRECT_BOT_PMS, checkBox_REDIRECTPMBOT->isChecked()); WBSET("hubframe/redirect-pm-to-main-chat", checkBox_REDIRECT_UNREAD->isChecked()); WBSET(WB_CHAT_KEEPFOCUS, checkBox_KEEPFOCUS->isChecked()); WBSET("hubframe/unreaden-draw-line", checkBox_UNREADEN_DRAW_LINE->isChecked()); WBSET(WB_CHAT_ROTATING_MSGS, checkBox_ROTATING->isChecked()); WBSET(WB_USE_CTRL_ENTER, checkBox_USE_CTRL_ENTER->isChecked()); WBSET(WB_APP_ENABLE_EMOTICON, checkBox_EMOT->isChecked()); WBSET(WB_APP_FORCE_EMOTICONS, checkBox_EMOTFORCE->isChecked()); WBSET(WB_CHAT_USE_SMILE_PANEL, checkBox_SMILEPANEL->isChecked()); WBSET(WB_CHAT_HIDE_SMILE_PANEL, checkBox_HIDESMILEPANEL->isChecked()); } { //Chat (extended) tab WISET(WI_CHAT_DBLCLICK_ACT, comboBox_DBL_CLICK->currentIndex()); WISET(WI_CHAT_MDLCLICK_ACT, comboBox_MDL_CLICK->currentIndex()); WISET(WI_DEF_MAGNET_ACTION, comboBox_DEF_MAGNET_ACTION->currentIndex()); SM->set(SettingsManager::APP_UNIT_BASE, comboBox_APP_UNIT_BASE->currentIndex()); WBSET(WB_CHAT_HIGHLIGHT_FAVS, checkBox_HIGHLIGHTFAVS->isChecked()); SM->set(SettingsManager::USE_IP, checkBox_CHAT_SHOW_IP->isChecked()); WBSET("hubframe/use-bb-code", checkBox_BB_CODE->isChecked()); WSSET(WS_CHAT_TIMESTAMP, lineEdit_TIMESTAMP->text()); WISET(WI_OUT_IN_HIST, spinBox_OUT_IN_HIST->value()); WISET(WI_CHAT_MAXPARAGRAPHS, spinBox_PARAGRAPHS->value()); SM->set(SettingsManager::IGNORE_BOT_PMS, checkBox_IGNOREPMBOT->isChecked()); SM->set(SettingsManager::IGNORE_HUB_PMS, checkBox_IGNOREPMHUB->isChecked()); SM->set(SettingsManager::GET_USER_COUNTRY, checkBox_CHAT_SHOW_CC->isChecked()); WSSET(WS_CHAT_SEPARATOR, comboBox_CHAT_SEPARATOR->currentText()); } { //Color tab int i = 0; WSSET(WS_CHAT_LOCAL_COLOR, QColor(listWidget_CHATCOLOR->item(i++)->icon().pixmap(10, 10).toImage().pixel(0, 0)).name()); WSSET(WS_CHAT_OP_COLOR, QColor(listWidget_CHATCOLOR->item(i++)->icon().pixmap(10, 10).toImage().pixel(0, 0)).name()); WSSET(WS_CHAT_BOT_COLOR, QColor(listWidget_CHATCOLOR->item(i++)->icon().pixmap(10, 10).toImage().pixel(0, 0)).name()); WSSET(WS_CHAT_PRIV_LOCAL_COLOR, QColor(listWidget_CHATCOLOR->item(i++)->icon().pixmap(10, 10).toImage().pixel(0, 0)).name()); WSSET(WS_CHAT_PRIV_USER_COLOR, QColor(listWidget_CHATCOLOR->item(i++)->icon().pixmap(10, 10).toImage().pixel(0, 0)).name()); WSSET(WS_CHAT_SAY_NICK, QColor(listWidget_CHATCOLOR->item(i++)->icon().pixmap(10, 10).toImage().pixel(0, 0)).name()); WSSET(WS_CHAT_STAT_COLOR, QColor(listWidget_CHATCOLOR->item(i++)->icon().pixmap(10, 10).toImage().pixel(0, 0)).name()); WSSET(WS_CHAT_USER_COLOR, QColor(listWidget_CHATCOLOR->item(i++)->icon().pixmap(10, 10).toImage().pixel(0, 0)).name()); WSSET(WS_CHAT_FAVUSER_COLOR, QColor(listWidget_CHATCOLOR->item(i++)->icon().pixmap(10, 10).toImage().pixel(0, 0)).name()); WSSET(WS_CHAT_TIME_COLOR, QColor(listWidget_CHATCOLOR->item(i++)->icon().pixmap(10, 10).toImage().pixel(0, 0)).name()); WSSET(WS_CHAT_MSG_COLOR, QColor(listWidget_CHATCOLOR->item(i++)->icon().pixmap(10, 10).toImage().pixel(0, 0)).name()); WSSET(WS_CHAT_FIND_COLOR, h_color.name()); WISET(WI_CHAT_FIND_COLOR_ALPHA, horizontalSlider_H_COLOR->value()); WSSET(WS_APP_SHARED_FILES_COLOR, shared_files_color.name()); WISET(WI_APP_SHARED_FILES_ALPHA, horizontalSlider_SHAREDFILES->value()); WBSET("hubframe/change-chat-background-color", checkBox_CHAT_BACKGROUND_COLOR->isChecked()); if (chat_background_color.isValid()) WSSET("hubframe/chat-background-color", chat_background_color.name()); if (!checkBox_CHAT_BACKGROUND_COLOR->isChecked()) WSSET("hubframe/chat-background-color", QTextEdit().palette().color(QPalette::Active, QPalette::Base).name()); if (downloads_clr.isValid()) WVSET("transferview/download-bar-color", downloads_clr); if (uploads_clr.isValid()) WVSET("transferview/upload-bar-color", uploads_clr); } WSSET(WS_SETTINGS_GUI_FONTS_STATE, tableView->horizontalHeader()->saveState().toBase64()); emit saveFonts(); }
void VConfigManager::initialize() { initSettings(); initThemes(); initEditorStyles(); initCssStyles(); initCodeBlockCssStyles(); m_theme = getConfigFromSettings("global", "theme").toString(); m_editorStyle = getConfigFromSettings("global", "editor_style").toString(); m_cssStyle = getConfigFromSettings("global", "css_style").toString(); m_codeBlockCssStyle = getConfigFromSettings("global", "code_block_css_style").toString(); m_defaultEditPalette = QTextEdit().palette(); welcomePagePath = getConfigFromSettings("global", "welcome_page_path").toString(); markdownExtensions = hoedown_extensions(HOEDOWN_EXT_TABLES | HOEDOWN_EXT_FENCED_CODE | HOEDOWN_EXT_HIGHLIGHT | HOEDOWN_EXT_AUTOLINK | HOEDOWN_EXT_QUOTE | HOEDOWN_EXT_MATH | HOEDOWN_EXT_MATH_EXPLICIT); mdConverterType = (MarkdownConverterType)getConfigFromSettings("global", "markdown_converter").toInt(); tabStopWidth = getConfigFromSettings("global", "tab_stop_width").toInt(); isExpandTab = getConfigFromSettings("global", "is_expand_tab").toBool(); m_highlightCursorLine = getConfigFromSettings("global", "highlight_cursor_line").toBool(); m_highlightSelectedWord = getConfigFromSettings("global", "highlight_selected_word").toBool(); m_highlightSearchedWord = getConfigFromSettings("global", "highlight_searched_word").toBool(); m_autoIndent = getConfigFromSettings("global", "auto_indent").toBool(); m_autoList = getConfigFromSettings("global", "auto_list").toBool(); readCustomColors(); curBackgroundColor = getConfigFromSettings("global", "current_background_color").toString(); updateEditStyle(); curRenderBackgroundColor = getConfigFromSettings("global", "current_render_background_color").toString(); m_toolsDockChecked = getConfigFromSettings("global", "tools_dock_checked").toBool(); m_findCaseSensitive = getConfigFromSettings("global", "find_case_sensitive").toBool(); m_findWholeWordOnly = getConfigFromSettings("global", "find_whole_word_only").toBool(); m_findRegularExpression = getConfigFromSettings("global", "find_regular_expression").toBool(); m_findIncrementalSearch = getConfigFromSettings("global", "find_incremental_search").toBool(); m_language = getConfigFromSettings("global", "language").toString(); m_enableMermaid = getConfigFromSettings("global", "enable_mermaid").toBool(); m_enableFlowchart = getConfigFromSettings("global", "enable_flowchart").toBool(); m_enableMathjax = getConfigFromSettings("global", "enable_mathjax").toBool(); m_webZoomFactor = getConfigFromSettings("global", "web_zoom_factor").toReal(); if (!isCustomWebZoomFactor()) { // Calculate the zoom factor based on DPI. m_webZoomFactor = VUtils::calculateScaleFactor(); qDebug() << "set WebZoomFactor to" << m_webZoomFactor; } m_enableCodeBlockHighlight = getConfigFromSettings("global", "enable_code_block_highlight").toBool(); m_enablePreviewImages = getConfigFromSettings("global", "enable_preview_images").toBool(); m_enablePreviewImageConstraint = getConfigFromSettings("global", "enable_preview_image_constraint").toBool(); m_enableImageConstraint = getConfigFromSettings("global", "enable_image_constraint").toBool(); m_enableImageCaption = getConfigFromSettings("global", "enable_image_caption").toBool(); m_imageFolder = getConfigFromSettings("global", "image_folder").toString(); m_imageFolderExt = getConfigFromSettings("global", "external_image_folder").toString(); m_attachmentFolder = getConfigFromSettings("global", "attachment_folder").toString(); if (m_attachmentFolder.isEmpty()) { // Reset the default folder. m_attachmentFolder = resetDefaultConfig("global", "attachment_folder").toString(); } m_enableTrailingSpaceHighlight = getConfigFromSettings("global", "enable_trailing_space_highlight").toBool(); m_enableVimMode = getConfigFromSettings("global", "enable_vim_mode").toBool(); m_enableSmartImInVimMode = getConfigFromSettings("global", "enable_smart_im_in_vim_mode").toBool(); m_editorLineNumber = getConfigFromSettings("global", "editor_line_number").toInt(); m_minimizeToSystemTray = getConfigFromSettings("global", "minimize_to_system_tray").toInt(); if (m_minimizeToSystemTray > 1 || m_minimizeToSystemTray < -1) { setMinimizeToSystemTray(0); } readShortcutsFromSettings(); readCaptainShortcutsFromSettings(); initDocSuffixes(); m_markdownHighlightInterval = getConfigFromSettings("global", "markdown_highlight_interval").toInt(); m_lineDistanceHeight = getConfigFromSettings("global", "line_distance_height").toInt(); m_insertTitleFromNoteName = getConfigFromSettings("global", "insert_title_from_note_name").toBool(); int openMode = getConfigFromSettings("global", "note_open_mode").toInt(); if (openMode == 1) { m_noteOpenMode = OpenFileMode::Edit; } else { m_noteOpenMode = OpenFileMode::Read; } int tmpHeadingSequenceType = getConfigFromSettings("global", "heading_sequence_type").toInt(); if (tmpHeadingSequenceType < (int)HeadingSequenceType::Invalid && tmpHeadingSequenceType >= (int)HeadingSequenceType::Disabled) { m_headingSequenceType = (HeadingSequenceType)tmpHeadingSequenceType; } else { m_headingSequenceType = HeadingSequenceType::Disabled; } m_headingSequenceBaseLevel = getConfigFromSettings("global", "heading_sequence_base_level").toInt(); m_colorColumn = getConfigFromSettings("global", "color_column").toInt(); m_enableCodeBlockLineNumber = getConfigFromSettings("global", "enable_code_block_line_number").toBool(); m_toolBarIconSize = getConfigFromSettings("global", "tool_bar_icon_size").toInt(); m_markdownitOptHtml = getConfigFromSettings("global", "markdownit_opt_html").toBool(); m_markdownitOptBreaks = getConfigFromSettings("global", "markdownit_opt_breaks").toBool(); m_markdownitOptLinkify = getConfigFromSettings("global", "markdownit_opt_linkify").toBool(); m_recycleBinFolder = getConfigFromSettings("global", "recycle_bin_folder").toString(); m_recycleBinFolderExt = getConfigFromSettings("global", "external_recycle_bin_folder").toString(); m_confirmImagesCleanUp = getConfigFromSettings("global", "confirm_images_clean_up").toBool(); m_confirmReloadFolder = getConfigFromSettings("global", "confirm_reload_folder").toBool(); m_mathjaxJavascript = getConfigFromSettings("web", "mathjax_javascript").toString(); m_doubleClickCloseTab = getConfigFromSettings("global", "double_click_close_tab").toBool(); m_enableCompactMode = getConfigFromSettings("global", "enable_compact_mode").toBool(); int tmpStartupPageMode = getConfigFromSettings("global", "startup_page_type").toInt(); if (tmpStartupPageMode < (int)StartupPageType::Invalid && tmpStartupPageMode >= (int)StartupPageType::None) { m_startupPageType = (StartupPageType)tmpStartupPageMode; } else { m_startupPageType = StartupPageType::None; } m_startupPages = getConfigFromSettings("global", "startup_pages").toStringList(); initFromSessionSettings(); m_fileTimerInterval = getConfigFromSettings("global", "file_timer_interval").toInt(); if (m_fileTimerInterval < 100) { m_fileTimerInterval = 100; } m_backupDirectory = getConfigFromSettings("global", "backup_directory").toString(); m_backupExtension = getConfigFromSettings("global", "backup_extension").toString(); if (m_backupExtension.isEmpty()) { m_backupExtension = "."; } m_enableBackupFile = getConfigFromSettings("global", "enable_backup_file").toBool(); m_vimExemptionKeys = getConfigFromSettings("global", "vim_exemption_keys").toString(); m_closeBeforeExternalEditor = getConfigFromSettings("global", "close_before_external_editor").toBool(); m_fixImageSrcInWebWhenCopied = getConfigFromSettings("web", "fix_img_src_when_copied").toBool(); m_stylesToRemoveWhenCopied = getConfigFromSettings("web", "styles_to_remove_when_copied").toStringList(); m_stylesToInlineWhenCopied = getConfigFromSettings("web", "styles_to_inline_when_copied").toStringList().join(","); }