AP_Dialog_Paragraph::AP_Dialog_Paragraph(XAP_DialogFactory* pDlgFactory, XAP_Dialog_Id id) : XAP_Dialog_NonPersistent(pDlgFactory,id, "interface/dialogparagraph") { m_answer = a_OK; m_paragraphPreview = NULL; m_pFrame = NULL; // determine unit system to use in this dialog const gchar * szRulerUnits; UT_return_if_fail (m_pApp); XAP_Prefs* pPrefs = m_pApp->getPrefs(); UT_return_if_fail (pPrefs); const bool bHasRulerUnits = pPrefs->getPrefsValue((gchar*)AP_PREF_KEY_RulerUnits, &szRulerUnits); m_dim = bHasRulerUnits ? UT_determineDimension(szRulerUnits) : DIM_IN; m_pageLeftMargin = NULL; m_pageRightMargin = NULL; _addPropertyItem (id_MENU_ALIGNMENT, sControlData(align_UNDEF)); _addPropertyItem (id_SPIN_LEFT_INDENT, sControlData()); _addPropertyItem (id_SPIN_RIGHT_INDENT, sControlData()); _addPropertyItem (id_MENU_SPECIAL_INDENT, sControlData(indent_UNDEF)); _addPropertyItem (id_SPIN_SPECIAL_INDENT, sControlData()); _addPropertyItem (id_SPIN_BEFORE_SPACING, sControlData()); _addPropertyItem (id_SPIN_AFTER_SPACING, sControlData()); _addPropertyItem (id_MENU_SPECIAL_SPACING, sControlData(spacing_UNDEF)); _addPropertyItem (id_SPIN_SPECIAL_SPACING, sControlData()); _addPropertyItem (id_CHECK_WIDOW_ORPHAN, sControlData(check_INDETERMINATE)); _addPropertyItem (id_CHECK_KEEP_LINES, sControlData(check_INDETERMINATE)); _addPropertyItem (id_CHECK_PAGE_BREAK, sControlData(check_INDETERMINATE)); _addPropertyItem (id_CHECK_SUPPRESS, sControlData(check_INDETERMINATE)); _addPropertyItem (id_CHECK_NO_HYPHENATE, sControlData(check_INDETERMINATE)); _addPropertyItem (id_CHECK_KEEP_NEXT, sControlData(check_INDETERMINATE)); _addPropertyItem (id_CHECK_DOMDIRECTION, sControlData(check_INDETERMINATE)); }
/*! Localize and URL for help. \param pathBeforeLang the path for the help file that prefix \param pathAfterLang the path inside the localized directory \param remoteURLbase remote URL if help files are not found. Override in subclasses if platform needs specific work */ UT_String XAP_AppImpl::localizeHelpUrl (const char * pathBeforeLang, const char * pathAfterLang, const char * remoteURLbase) { XAP_App* pApp = XAP_App::getApp(); UT_return_val_if_fail(pApp, ""); XAP_Prefs* pPrefs = pApp->getPrefs(); UT_return_val_if_fail(pPrefs, ""); const char* abiSuiteLibDir = pApp->getAbiSuiteLibDir(); const gchar* abiSuiteLocString = NULL; UT_String url; // evil... pPrefs->getPrefsValue((gchar*)"StringSet", &abiSuiteLocString); // 1st try file on user's computer (local file), if not exist try remote help UT_String path(abiSuiteLibDir); _catPath(path, pathBeforeLang); UT_String localized_path(path); _catPath(localized_path, abiSuiteLocString); if (UT_directoryExists(localized_path.c_str())) { // the localised help exists, so use it path = localized_path; } else { // the localised help directory does not exist, so fall back to the // en-US help location, which is the default lang, so usually available localized_path = path; _catPath(localized_path, "en-US"); } _catPath(localized_path, pathAfterLang); localized_path += ".html"; if (remoteURLbase && !UT_isRegularFile(localized_path.c_str())) { // not found, so build localized path for remote URL (but we can't verify remote URL) url = remoteURLbase; // HACK: Not all help files are localized. // HACK: Hard code the available translations here instead of 404-ing. if (!( !strcmp(abiSuiteLocString, "en-US") || !strcmp(abiSuiteLocString, "fr-FR") || !strcmp(abiSuiteLocString, "pl-PL") )) _catPath(url, "en-US"); else _catPath(url, abiSuiteLocString); _catPath(url, pathAfterLang); url += ".html"; } else { url = "file://"; url += localized_path; } return url; }
void AP_Dialog_Options::_populateWindowData(void) { bool b; gint n = 0; XAP_Prefs *pPrefs = 0; const gchar *pszBuffer = 0; m_bInitialPop = true; // TODO: move this logic when we get a PrefsListener API and turn this // dialog into an app-specific pPrefs = m_pApp->getPrefs(); UT_return_if_fail ( pPrefs ); // ------------ Spell if (pPrefs->getPrefsValueBool((gchar*)AP_PREF_KEY_AutoSpellCheck,&b)) _setSpellCheckAsType (b); if (pPrefs->getPrefsValueBool((gchar*)AP_PREF_KEY_SpellCheckCaps,&b)) _setSpellUppercase (b); if (pPrefs->getPrefsValueBool((gchar*)AP_PREF_KEY_SpellCheckNumbers,&b)) _setSpellNumbers (b); if (pPrefs->getPrefsValueBool((gchar*)AP_PREF_KEY_AutoGrammarCheck,&b)) _setGrammarCheck (b); // ------------ Smart Quotes if (pPrefs->getPrefsValueBool((gchar*)XAP_PREF_KEY_SmartQuotesEnable,&b)) _setSmartQuotes (b); if (pPrefs->getPrefsValueBool((gchar*)XAP_PREF_KEY_CustomSmartQuotes,&b)) _setCustomSmartQuotes (b); if (pPrefs->getPrefsValueInt((gchar*)XAP_PREF_KEY_OuterQuoteStyle, n)) _setOuterQuoteStyle(n); if (pPrefs->getPrefsValueInt((gchar*)XAP_PREF_KEY_InnerQuoteStyle, n)) _setInnerQuoteStyle(n); // ------------ Prefs _setPrefsAutoSave( pPrefs->getAutoSavePrefs() ); // ------------ View if (pPrefs->getPrefsValue((gchar*)AP_PREF_KEY_RulerUnits,&pszBuffer)) _setViewRulerUnits (UT_determineDimension(pszBuffer)); #if !defined(TOOLKIT_GTK) && !defined(TOOLKIT_COCOA) && !defined (TOOLKIT_WIN) if (pPrefs->getPrefsValueBool((gchar*)AP_PREF_KEY_RulerVisible,&b)) _setViewShowRuler (b); UT_uint32 i; for (i = 0; i < m_pApp->getToolbarFactory()->countToolbars(); i++) { if (pPrefs->getPrefsValueBool((gchar*)m_pApp->getToolbarFactory()->prefKeyForToolbar(i),&b)) { _setViewShowToolbar (i, b); } } if (pPrefs->getPrefsValueBool((gchar*)AP_PREF_KEY_StatusBarVisible,&b)) _setViewShowStatusBar (b); #endif if (pPrefs->getPrefsValueBool((gchar*)AP_PREF_KEY_InsertModeToggle,&b)) _setEnableOverwrite (b); if (pPrefs->getPrefsValueBool((gchar*)AP_PREF_KEY_ParaVisible,&b)) _setViewUnprintable (b); if (pPrefs->getPrefsValueBool((gchar*)AP_PREF_KEY_CursorBlink,&b)) _setViewCursorBlink (b); #if defined(TOOLKIT_GTK) if (pPrefs->getPrefsValueBool((gchar*)XAP_PREF_KEY_EnableSmoothScrolling,&b)) _setEnableSmoothScrolling(b); #endif if (pPrefs->getPrefsValueBool((gchar*)XAP_PREF_KEY_AutoLoadPlugins,&b)) _setAutoLoadPlugins(b); // TODO: JOAQUIN FIX THIS if (pPrefs->getPrefsValueBool((gchar*)XAP_PREF_KEY_AutoSaveFile,&b)) _setAutoSaveFile (b); UT_String stBuffer; if (pPrefs->getPrefsValue(XAP_PREF_KEY_AutoSaveFileExt, stBuffer)) _setAutoSaveFileExt(stBuffer); if (pPrefs->getPrefsValue(XAP_PREF_KEY_AutoSaveFilePeriod, stBuffer)) _setAutoSaveFilePeriod(stBuffer); //Just for win32 if (pPrefs->getPrefsValue(AP_PREF_KEY_StringSet, stBuffer)) _setUILanguage(stBuffer); // ------------ Screen Color const gchar * pszColorForTransparent = NULL; if (pPrefs->getPrefsValue(XAP_PREF_KEY_ColorForTransparent, &pszColorForTransparent)) _setColorForTransparent(pszColorForTransparent); // ------------ the page tab number int which = getInitialPageNum (); if ((which == -1) && pPrefs->getPrefsValue((gchar*)AP_PREF_KEY_OptionsTabNumber,&pszBuffer)) _setNotebookPageNum (atoi(pszBuffer)); else _setNotebookPageNum(which); //------------- other if (pPrefs->getPrefsValueBool(AP_PREF_KEY_DefaultDirectionRtl,&b)) _setOtherDirectionRtl (b); if (pPrefs->getPrefsValueBool(XAP_PREF_KEY_ChangeLanguageWithKeyboard,&b)) _setLanguageWithKeyboard (b); if (pPrefs->getPrefsValueBool(XAP_PREF_KEY_DirMarkerAfterClosingParenthesis,&b)) _setDirMarkerAfterClosingParenthesis (b); // enable/disable controls _initEnableControls(); m_bInitialPop = false; }