summaryrefslogtreecommitdiffstats
path: root/experimental/tqtinterface/qt4/tools/designer/editor/conf.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'experimental/tqtinterface/qt4/tools/designer/editor/conf.cpp')
-rw-r--r--experimental/tqtinterface/qt4/tools/designer/editor/conf.cpp269
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 );
+}