/* * UBSettings.h * * Created on: Oct 29, 2008 * Author: luc */ #ifndef UBSETTINGS_H_ #define UBSETTINGS_H_ #include #include #include #include "UB.h" #include "UBSetting.h" class UBSettings : public QObject { Q_OBJECT; public: static UBSettings* settings(); static void destroy(); private: UBSettings(QObject *parent = 0); virtual ~UBSettings(); public: QStringList* supportedKeyboardSizes; void InitKeyboardPaletteKeyBtnSizes(); void ValidateKeyboardPaletteKeyBtnSize(); int penWidthIndex(); qreal currentPenWidth(); int penColorIndex(); QColor currentPenColor(); QColor penColor(bool onDarkBackground); QList penColors(bool onDarkBackground); // Marker related int markerWidthIndex(); qreal currentMarkerWidth(); int markerColorIndex(); QColor currentMarkerColor(); QColor markerColor(bool onDarkBackground); QList markerColors(bool onDarkBackground); // Eraser related int eraserWidthIndex(); qreal eraserFineWidth(); qreal eraserMediumWidth(); qreal eraserStrongWidth(); qreal currentEraserWidth(); // Background related bool isDarkBackground(); bool isCrossedBackground(); void setDarkBackground(bool isDarkBackground); void setCrossedBackground(bool isCrossedBackground); // Stylus palette related bool isStylusPaletteVisible(); // Text related QString fontFamily(); void setFontFamily(const QString &family); int fontPixelSize(); void setFontPixelSize(int pixelSize); int fontPointSize(); void setFontPointSize(int pointSize); bool isBoldFont(); void setBoldFont(bool bold); bool isItalicFont(); void setItalicFont(bool italic); void setPassword(const QString& id, const QString& password); QString password(const QString& id); void removePassword(const QString& id); QString proxyUsername(); void setProxyUsername(const QString& username); QString proxyPassword(); void setProxyPassword(const QString& password); QString communityUsername(); void setCommunityUsername(const QString& username); QString communityPassword(); void setCommunityPassword(const QString& password); void init(); //user directories static QString userDataDirectory(); static QString userDocumentDirectory(); static QString userFavoriteListFilePath(); static QString userTrashDirPath(); static QString userImageDirectory(); static QString userVideoDirectory(); static QString userAudioDirectory(); static QString userSearchDirectory(); static QString userAnimationDirectory(); static QString userInteractiveDirectory(); static QString userInteractiveFavoritesDirectory(); static QString userPodcastRecordingDirectory(); //application directory QString applicationShapeLibraryDirectory(); QString applicationGipLibraryDirectory(); QString applicationImageLibraryDirectory(); QString applicationApplicationsLibraryDirectory(); QString applicationInteractivesDirectory(); QNetworkProxy* httpProxy(); static int pointerDiameter; static int boardMargin; static QColor crossDarkBackground; static QColor crossLightBackground; static QColor paletteColor; static QColor opaquePaletteColor; static QColor documentViewLightColor; static QBrush eraserBrushDarkBackground; static QBrush eraserBrushLightBackground; static QPen eraserPenDarkBackground; static QPen eraserPenLightBackground; static QColor documentSizeMarkColorDarkBackground; static QColor documentSizeMarkColorLightBackground; static int crossSize; static int colorPaletteSize; static int objectFrameWidth; static QString documentGroupName; static QString documentName; static QString documentSize; static QString documentIdentifer; static QString documentVersion; static QString documentUpdatedAt; static QString sessionTitle; static QString sessionTarget; static QString sessionLicence; static QString sessionKeywords; static QString sessionLevel; static QString sessionTopic; static QString sessionAuthors; static QString documentDate; static QString trashedDocumentGroupNamePrefix; static QString currentFileVersion; static QString uniboardDocumentNamespaceUri; static QString uniboardApplicationNamespaceUri; static const int maxThumbnailWidth; static const int defaultThumbnailWidth; static const int defaultImageWidth; static const int defaultShapeWidth; static const int defaultWidgetIconWidth; static const int defaultVideoWidth; static const int defaultGipWidth; static const int defaultSoundWidth; static const int thumbnailSpacing; static const qreal minScreenRatio; static QStringList bitmapFileExtensions; static QStringList vectoFileExtensions; static QStringList imageFileExtensions; static QStringList widgetFileExtensions; static QStringList interactiveContentFileExtensions; static QColor treeViewBackgroundColor; static int objectInControlViewMargin; static QString appPingMessage; static QString defaultDocumentGroupName; static QString documentTrashGroupName; UBSetting* productWebUrl; QString softwareHomeUrl; UBSetting* appToolBarPositionedAtTop; UBSetting* appToolBarDisplayText; UBSetting* appEnableAutomaticSoftwareUpdates; UBSetting* appEnableSoftwareUpdates; UBSetting* appToolBarOrientationVertical; UBSetting* appIsInSoftwareUpdateProcess; UBSetting* appLastSessionDocumentUUID; UBSetting* appLastSessionPageIndex; UBSetting* boardPenFineWidth; UBSetting* boardPenMediumWidth; UBSetting* boardPenStrongWidth; UBSetting* boardMarkerFineWidth; UBSetting* boardMarkerMediumWidth; UBSetting* boardMarkerStrongWidth; UBSetting* boardPenPressureSensitive; UBSetting* boardMarkerPressureSensitive; UBSetting* boardUseHighResTabletEvent; UBSetting* boardKeyboardPaletteKeyBtnSize; UBColorListSetting* boardPenLightBackgroundColors; UBColorListSetting* boardPenLightBackgroundSelectedColors; UBColorListSetting* boardPenDarkBackgroundColors; UBColorListSetting* boardPenDarkBackgroundSelectedColors; UBSetting* boardMarkerAlpha; UBColorListSetting* boardMarkerLightBackgroundColors; UBColorListSetting* boardMarkerLightBackgroundSelectedColors; UBColorListSetting* boardMarkerDarkBackgroundColors; UBColorListSetting* boardMarkerDarkBackgroundSelectedColors; UBSetting* webUseExternalBrowser; UBSetting* webShowPageImmediatelyOnMirroredScreen; UBSetting* webHomePage; UBSetting* webBookmarksPage; UBSetting* webAddBookmarkUrl; UBSetting* webShowAddBookmarkButton; UBSetting* pageCacheSize; UBSetting* boardZoomFactor; UBSetting* mirroringRefreshRateInFps; UBSetting* lastImportFilePath; UBSetting* lastImportFolderPath; UBSetting* lastExportFilePath; UBSetting* lastExportDirPath; UBSetting* lastImportToLibraryPath; UBSetting* lastPicturePath; UBSetting* lastWidgetPath; UBSetting* lastVideoPath; UBSetting* appOnlineUserName; UBSetting* boardShowToolsPalette; QMap documentSizes; UBSetting* svgViewBoxMargin; UBSetting* pdfMargin; UBSetting* pdfPageFormat; UBSetting* pdfResolution; UBSetting* podcastFramesPerSecond; UBSetting* podcastVideoSize; UBSetting* podcastWindowsMediaBitsPerSecond; UBSetting* podcastAudioRecordingDevice; UBSetting* podcastQuickTimeQuality; UBSetting* podcastPublishToYoutube; UBSetting* youTubeUserEMail; UBSetting* uniboardWebEMail; UBSetting* uniboardWebAuthor; UBSetting* uniboardWebGoogleMapApiKey; UBSetting* podcastPublishToIntranet; UBSetting* intranetPodcastPublishingUrl; UBSetting* intranetPodcastAuthor; UBSetting* favoritesNativeToolUris; UBSetting* replyWWSerialPort; UBSetting* replyPlusConnectionURL; UBSetting* replyPlusAddressingMode; UBSetting* replyPlusMaxKeypads; UBSetting* documentThumbnailWidth; UBSetting* imageThumbnailWidth; UBSetting* videoThumbnailWidth; UBSetting* shapeThumbnailWidth; UBSetting* gipThumbnailWidth; UBSetting* soundThumbnailWidth; UBSetting* navigPaletteWidth; UBSetting* libPaletteWidth; UBSetting* communityUser; UBSetting* communityPsw; UBSetting* pageSize; UBSetting* KeyboardLocale; public slots: void setPenWidthIndex(int index); void setPenColorIndex(int index); void setMarkerWidthIndex(int index); void setMarkerColorIndex(int index); void setEraserWidthIndex(int index); void setEraserFineWidth(qreal width); void setEraserMediumWidth(qreal width); void setEraserStrongWidth(qreal width); void setStylusPaletteVisible(bool visible); void setPenPressureSensitive(bool sensitive); void setMarkerPressureSensitive(bool sensitive); QVariant value ( const QString & key, const QVariant & defaultValue = QVariant() ) const; void setValue (const QString & key,const QVariant & value); void colorChanged() { emit colorContextChanged(); } signals: void colorContextChanged(); private: QSettings* mAppSettings; QSettings* mUserSettings; static const int sDefaultFontPixelSize; static const char *sDefaultFontFamily; static QSettings* getAppSettings(); static QPointer sAppSettings; static QPointer sSingleton; static bool checkDirectory(QString& dirPath); static QString replaceWildcard(QString& path); }; #endif /* UBSETTINGS_H_ */