diff options
Diffstat (limited to 'experimental/tqtinterface/qt4/tools/designer/editor/conf.cpp')
-rw-r--r-- | experimental/tqtinterface/qt4/tools/designer/editor/conf.cpp | 269 |
1 files changed, 269 insertions, 0 deletions
diff --git a/experimental/tqtinterface/qt4/tools/designer/editor/conf.cpp b/experimental/tqtinterface/qt4/tools/designer/editor/conf.cpp new file mode 100644 index 000000000..a9e56795a --- /dev/null +++ b/experimental/tqtinterface/qt4/tools/designer/editor/conf.cpp @@ -0,0 +1,269 @@ +/********************************************************************** +** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved. +** +** This file is part of TQt Designer. +** +** This file may be used under the terms of the GNU General +** Public License versions 2.0 or 3.0 as published by the Free +** Software Foundation and appearing in the files LICENSE.GPL2 +** and LICENSE.GPL3 included in the packaging of this file. +** Alternatively you may (at your option) use any later version +** of the GNU General Public License if such license has been +** publicly approved by Trolltech ASA (or its successors, if any) +** and the KDE Free TQt Foundation. +** +** Please review the following information to ensure GNU General +** Public Licensing requirements will be met: +** http://trolltech.com/products/qt/licenses/licensing/opensource/. +** If you are unsure which license is appropriate for your use, please +** review the following information: +** http://trolltech.com/products/qt/licenses/licensing/licensingoverview +** or contact the sales department at sales@trolltech.com. +** +** Licensees holding valid TQt Commercial licenses may use this file in +** accordance with the TQt Commercial License Agreement provided with +** the Software. +** +** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, +** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted +** herein. +** +**********************************************************************/ + +#include "conf.h" +#include <tqapplication.h> +#include <tqfont.h> +#include <tqcolor.h> +#include <tqsettings.h> + +TQMap<TQString, ConfigStyle> Config::defaultStyles() +{ + ConfigStyle s; + TQMap<TQString, ConfigStyle> styles; + int normalSize = tqApp->font().pointSize(); + TQString normalFamily = tqApp->font().family(); + TQString commentFamily = "times"; + int normalWeight = tqApp->font().weight(); + + s.font = TQFont( normalFamily, normalSize, normalWeight ); + s.color = TQt::black; + styles.insert( "Standard", s ); + + s.font = TQFont( commentFamily, normalSize, normalWeight, TRUE ); + s.color = TQt::red; + styles.insert( "Comment", s ); + + s.font = TQFont( normalFamily, normalSize, normalWeight ); + s.color = TQt::blue; + styles.insert( "Number", s ); + + s.font = TQFont( normalFamily, normalSize, normalWeight ); + s.color = TQt::darkGreen; + styles.insert( "String", s ); + + s.font = TQFont( normalFamily, normalSize, normalWeight ); + s.color = TQt::darkMagenta; + styles.insert( "Type", s ); + + s.font = TQFont( normalFamily, normalSize, normalWeight ); + s.color = TQt::darkYellow; + styles.insert( "Keyword", s ); + + s.font = TQFont( normalFamily, normalSize, normalWeight ); + s.color = TQt::darkBlue; + styles.insert( "Preprocessor", s ); + + s.font = TQFont( normalFamily, normalSize, normalWeight ); + s.color = TQt::darkRed; + styles.insert( "Label", s ); + + return styles; +} + +TQMap<TQString, ConfigStyle> Config::readStyles( const TQString &path ) +{ + TQMap<TQString, ConfigStyle> styles; + styles = defaultStyles(); + + TQString family; + int size = 10; + bool bold = FALSE, italic = FALSE, underline = FALSE; + int red = 0, green = 0, blue = 0; + + TQString elements[] = { + "Comment", + "Number", + "String", + "Type", + "Keyword", + "Preprocessor", + "Label", + "Standard", + TQString() + }; + + for ( int i = 0; elements[ i ] != TQString(); ++i ) { + TQSettings settings; + bool ok = TRUE; + for (;;) { + family = settings.readEntry( path + elements[ i ] + "/family", TQString(), &ok ); + if ( !ok ) + break; + size = settings.readNumEntry( path + elements[ i ] + "/size", 10, &ok ); + if ( !ok ) + break; + bold = settings.readBoolEntry( path + elements[ i ] + "/bold", FALSE, &ok ); + if ( !ok ) + break; + italic = settings.readBoolEntry( path + elements[ i ] + "/italic", FALSE, &ok ); + if ( !ok ) + break; + underline = settings.readBoolEntry( path + elements[ i ] + "/underline", FALSE, &ok ); + if ( !ok ) + break; + red = settings.readNumEntry( path + elements[ i ] + "/red", 0, &ok ); + if ( !ok ) + break; + green = settings.readNumEntry( path + elements[ i ] + "/green", 0, &ok ); + if ( !ok ) + break; + blue = settings.readNumEntry( path + elements[ i ] + "/blue", 0, &ok ); + if ( !ok ) + break; + break; + } + if ( !ok ) + continue; + TQFont f( family ); + f.setPointSize( size ); + f.setBold( bold ); + f.setItalic( italic ); + f.setUnderline( underline ); + TQColor c( red, green, blue ); + ConfigStyle s; + s.font = f; + s.color = c; + styles.remove( elements[ i ] ); + styles.insert( elements[ i ], s ); + } + return styles; +} + +void Config::saveStyles( const TQMap<TQString, ConfigStyle> &styles, const TQString &path ) +{ + TQString elements[] = { + "Comment", + "Number", + "String", + "Type", + "Keyword", + "Preprocessor", + "Label", + "Standard", + TQString() + }; + + TQSettings settings; + for ( int i = 0; elements[ i ] != TQString(); ++i ) { + settings.writeEntry( path + "/" + elements[ i ] + "/family", styles[ elements[ i ] ].font.family() ); + settings.writeEntry( path + "/" + elements[ i ] + "/size", styles[ elements[ i ] ].font.pointSize() ); + settings.writeEntry( path + "/" + elements[ i ] + "/bold", styles[ elements[ i ] ].font.bold() ); + settings.writeEntry( path + "/" + elements[ i ] + "/italic", styles[ elements[ i ] ].font.italic() ); + settings.writeEntry( path + "/" + elements[ i ] + "/underline", styles[ elements[ i ] ].font.underline() ); + settings.writeEntry( path + "/" + elements[ i ] + "/red", styles[ elements[ i ] ].color.red() ); + settings.writeEntry( path + "/" + elements[ i ] + "/green", styles[ elements[ i ] ].color.green() ); + settings.writeEntry( path + "/" + elements[ i ] + "/blue", styles[ elements[ i ] ].color.blue() ); + } +} + +bool Config::completion( const TQString &path ) +{ + TQSettings settings; + bool ret = settings.readBoolEntry( path + "/completion", TRUE ); + return ret; +} + +bool Config::wordWrap( const TQString &path ) +{ + TQSettings settings; + bool ret = settings.readBoolEntry( path + "/wordWrap", TRUE ); + return ret; +} + +bool Config::parenMatching( const TQString &path ) +{ + TQSettings settings; + bool ret = settings.readBoolEntry( path + "/parenMatching", TRUE ); + return ret; +} + +int Config::indentTabSize( const TQString &path ) +{ + TQSettings settings; + int ret = settings.readNumEntry( path + "/indentTabSize", 8 ); + return ret; +} + +int Config::indentIndentSize( const TQString &path ) +{ + TQSettings settings; + int ret = settings.readNumEntry( path + "/indentIndentSize", 4 ); + return ret; +} + +bool Config::indentKeepTabs( const TQString &path ) +{ + TQSettings settings; + bool ret = settings.readBoolEntry( path + "/indentKeepTabs", TRUE ); + return ret; +} + +bool Config::indentAutoIndent( const TQString &path ) +{ + TQSettings settings; + bool ret = settings.readBoolEntry( path + "/indentAutoIndent", TRUE ); + return ret; +} + +void Config::setCompletion( bool b, const TQString &path ) +{ + TQSettings settings; + settings.writeEntry( path + "/completion", b ); +} + +void Config::setWordWrap( bool b, const TQString &path ) +{ + TQSettings settings; + settings.writeEntry( path + "/wordWrap", b ); +} + +void Config::setParenMatching( bool b,const TQString &path ) +{ + TQSettings settings; + settings.writeEntry( path + "/parenMatching", b ); +} + +void Config::setIndentTabSize( int s, const TQString &path ) +{ + TQSettings settings; + settings.writeEntry( path + "/indentTabSize", s ); +} + +void Config::setIndentIndentSize( int s, const TQString &path ) +{ + TQSettings settings; + settings.writeEntry( path + "/indentIndentSize", s ); +} + +void Config::setIndentKeepTabs( bool b, const TQString &path ) +{ + TQSettings settings; + settings.writeEntry( path + "/indentKeepTabs", b ); +} + +void Config::setIndentAutoIndent( bool b, const TQString &path ) +{ + TQSettings settings; + settings.writeEntry( path + "/indentAutoIndent", b ); +} |