conf.cpp

来自「qt-x11-free-3.0.3.tar.gz minigui图形界面工具」· C++ 代码 · 共 185 行

CPP
185
字号
#include "conf.h"#include <qapplication.h>#include <qfont.h>#include <qcolor.h>#include <qsettings.h>QMap<QString, ConfigStyle> Config::defaultStyles(){    ConfigStyle s;    QMap<QString, ConfigStyle> styles;    int normalSize =  qApp->font().pointSize();    QString normalFamily = qApp->font().family();    QString commentFamily = "times";    int normalWeight = qApp->font().weight();    s.font = QFont( normalFamily, normalSize, normalWeight );    s.color = Qt::black;    styles.insert( "Standard", s );    s.font = QFont( commentFamily, normalSize, normalWeight, TRUE );    s.color = Qt::red;    styles.insert( "Comment", s );    s.font = QFont( normalFamily, normalSize, normalWeight );    s.color = Qt::blue;    styles.insert( "Number", s );    s.font = QFont( normalFamily, normalSize, normalWeight );    s.color = Qt::darkGreen;    styles.insert( "String", s );    s.font = QFont( normalFamily, normalSize, normalWeight );    s.color = Qt::darkMagenta;    styles.insert( "Type", s );    s.font = QFont( normalFamily, normalSize, normalWeight );    s.color = Qt::darkYellow;    styles.insert( "Keyword", s );    s.font = QFont( normalFamily, normalSize, normalWeight );    s.color = Qt::darkBlue;    styles.insert( "Preprocessor", s );    s.font = QFont( normalFamily, normalSize, normalWeight );    s.color = Qt::darkRed;    styles.insert( "Label", s );    return styles;}QMap<QString, ConfigStyle> Config::readStyles( const QString &path ){    QMap<QString, ConfigStyle> styles;    styles = defaultStyles();    QString family;    int size = 10;    bool bold = FALSE, italic = FALSE, underline = FALSE;    int red = 0, green = 0, blue = 0;    QString elements[] = {	"Comment",	"Number",	"String",	"Type",	"Keyword",	"Preprocessor",	"Label",	"Standard",	QString::null    };    for ( int i = 0; elements[ i ] != QString::null; ++i ) {	QSettings settings;	bool ok = TRUE;	for (;;) {	    family = settings.readEntry( path + elements[ i ] + "/family", QString::null, &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;	QFont f( family );	f.setPointSize( size );	f.setBold( bold );	f.setItalic( italic );	f.setUnderline( underline );	QColor 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 QMap<QString, ConfigStyle> &styles, const QString &path ){    QString elements[] = {	"Comment",	"Number",	"String",	"Type",	"Keyword",	"Preprocessor",	"Label",	"Standard",	QString::null    };    QSettings settings;    for ( int i = 0; elements[ i ] != QString::null; ++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 QString &path ){    QSettings settings;    bool ret = settings.readBoolEntry( path + "/completion", TRUE );    return ret;}bool Config::wordWrap( const QString &path ){    QSettings settings;    bool ret = settings.readBoolEntry( path + "/wordWrap", TRUE );    return ret;}bool Config::parenMatching( const QString &path ){    QSettings settings;    bool ret = settings.readBoolEntry( path + "/parenMatching", TRUE );    return ret;}void Config::setCompletion( bool b, const QString &path ){    QSettings settings;    settings.writeEntry( path + "/completion", b );}void Config::setWordWrap( bool b, const QString &path ){    QSettings settings;    settings.writeEntry( path + "/wordWrap", b );}void Config::setParenMatching( bool b,const QString &path ){    QSettings settings;    settings.writeEntry( path + "/parenMatching", b );}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?