⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 resource.cpp

📁 这个是Linux的qt源代码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
	forwards = forwards.nextSibling().toElement();    QDomElement includes = e;    while ( includes.tagName() != "includes" && !includes.isNull() )	includes = includes.nextSibling().toElement();    QDomElement variables = e;    while ( variables.tagName() != "variables" && !variables.isNull() )	variables = variables.nextSibling().toElement();    QDomElement signals = e;    while ( signals.tagName() != "signals" && !signals.isNull() )	signals = signals.nextSibling().toElement();    QDomElement slots = e;    while ( slots.tagName() != "slots" && !slots.isNull() )	slots = slots.nextSibling().toElement();    QDomElement functions = e;    while ( functions.tagName() != "functions" && !functions.isNull() )	functions = functions.nextSibling().toElement();    QDomElement connections = e;    while ( connections.tagName() != "connections" && !connections.isNull() )	connections = connections.nextSibling().toElement();    QDomElement imageCollection = e;    images.clear();    while ( imageCollection.tagName() != "images" && !imageCollection.isNull() )	imageCollection = imageCollection.nextSibling().toElement();    QDomElement customWidgets = e;    while ( customWidgets.tagName() != "customwidgets" && !customWidgets.isNull() )	customWidgets = customWidgets.nextSibling().toElement();    QDomElement tabOrder = e;    while ( tabOrder.tagName() != "tabstops" && !tabOrder.isNull() )	tabOrder = tabOrder.nextSibling().toElement();    QDomElement actions = e;    while ( actions.tagName() != "actions" && !actions.isNull() )	actions = actions.nextSibling().toElement();    QDomElement toolbars = e;    while ( toolbars.tagName() != "toolbars" && !toolbars.isNull() )	toolbars = toolbars.nextSibling().toElement();    QDomElement menubar = e;    while ( menubar.tagName() != "menubar" && !menubar.isNull() )	menubar = menubar.nextSibling().toElement();    QDomElement widget;    while ( !e.isNull() ) {	if ( e.tagName() == "widget" ) {	    widgets.clear();	    widget = e;	} else if ( e.tagName() == "include" ) { // compatibility with 2.x	    MetaDataBase::Include inc;	    inc.location = "global";	    if ( e.attribute( "location" ) == "local" )		inc.location = "local";	    inc.implDecl = "in declaration";	    if ( e.attribute( "impldecl" ) == "in implementation" )		inc.implDecl = "in implementation";	    inc.header = e.firstChild().toText().data();	    if ( inc.header.right( 5 ) != ".ui.h" ) {		metaIncludes.append( inc );	    } else {		if ( formwindow->formFile() )		    formwindow->formFile()->setCodeFileState( FormFile::Ok );	    }	} else if ( e.tagName() == "comment" ) {	    metaInfo.comment = e.firstChild().toText().data();	} else if ( e.tagName() == "forward" ) { // compatibility with old betas	    metaForwards << e.firstChild().toText().data();	} else if ( e.tagName() == "variable" ) { // compatibility with old betas	    MetaDataBase::Variable v;	    v.varName = e.firstChild().toText().data();	    v.varAccess = "protected";	    metaVariables << v;	} else if ( e.tagName() == "author" ) {	    metaInfo.author = e.firstChild().toText().data();	} else if ( e.tagName() == "class" ) {	    metaInfo.className = e.firstChild().toText().data();	} else if ( e.tagName() == "pixmapfunction" ) {	    if ( formwindow ) {		formwindow->setSavePixmapInline( FALSE );		formwindow->setSavePixmapInProject( FALSE );		formwindow->setPixmapLoaderFunction( e.firstChild().toText().data() );	    }	} else if ( e.tagName() == "pixmapinproject" ) {	    if ( formwindow ) {		formwindow->setSavePixmapInline( FALSE );		formwindow->setSavePixmapInProject( TRUE );	    }	} else if ( e.tagName() == "exportmacro" ) {	    exportMacro = e.firstChild().toText().data();	} else if ( e.tagName() == "layoutdefaults" ) {	    formwindow->setLayoutDefaultSpacing( e.attribute( "spacing", QString::number( formwindow->layoutDefaultSpacing() ) ).toInt() );	    formwindow->setLayoutDefaultMargin( e.attribute( "margin", QString::number( formwindow->layoutDefaultMargin() ) ).toInt() );	} else if ( e.tagName() == "layoutfunctions" ) {	    formwindow->setSpacingFunction( e.attribute( "spacing" ) );	    formwindow->setMarginFunction( e.attribute( "margin" ) );	    if ( !formwindow->marginFunction().isEmpty() || !formwindow->spacingFunction().isEmpty() )		formwindow->hasLayoutFunctions( TRUE );	}	e = e.nextSibling().toElement();    }    if ( !imageCollection.isNull() )	loadImageCollection( imageCollection );    if ( !customWidgets.isNull() )	loadCustomWidgets( customWidgets, this );#if defined (QT_NON_COMMERCIAL)    bool previewMode = MainWindow::self ? MainWindow::self->isPreviewing() : FALSE;    QWidget *w = (QWidget*)createObject( widget, !previewMode ? (QWidget*)formwindow : MainWindow::self );    if ( !w )	return FALSE;    if ( previewMode )	w->reparent( MainWindow::self, Qt::WType_TopLevel,  w->pos(), TRUE );#else    if ( !createObject( widget, formwindow) )	return FALSE;#endif    if ( !forwards.isNull() ) {	for ( QDomElement n = forwards.firstChild().toElement(); !n.isNull(); n = n.nextSibling().toElement() )	    if ( n.tagName() == "forward" )		metaForwards << n.firstChild().toText().data();    }    if ( !includes.isNull() ) {	for ( QDomElement n = includes.firstChild().toElement(); !n.isNull(); n = n.nextSibling().toElement() )	    if ( n.tagName() == "include" ) {		if ( n.tagName() == "include" ) {		    MetaDataBase::Include inc;		    inc.location = "global";		    if ( n.attribute( "location" ) == "local" )			inc.location = "local";		    inc.implDecl = "in declaration";		    if ( n.attribute( "impldecl" ) == "in implementation" )			inc.implDecl = "in implementation";		    inc.header = n.firstChild().toText().data();		    if ( inc.header.right( 5 ) != ".ui.h" ) {			metaIncludes.append( inc );		    } else {			if ( formwindow->formFile() )			    formwindow->formFile()->setCodeFileState( FormFile::Ok );		    }		}	    }    }    if ( !variables.isNull() ) {	for ( QDomElement n = variables.firstChild().toElement(); !n.isNull();	      n = n.nextSibling().toElement() ) {	    if ( n.tagName() == "variable" ) {		MetaDataBase::Variable v;		v.varName = n.firstChild().toText().data();		v.varAccess = n.attribute( "access", "protected" );		if ( v.varAccess.isEmpty() )		    v.varAccess = "protected";		metaVariables << v;	    }	}    }    if ( !signals.isNull() ) {	for ( QDomElement n = signals.firstChild().toElement(); !n.isNull(); n = n.nextSibling().toElement() )	    if ( n.tagName() == "signal" )		metaSignals << n.firstChild().toText().data();    }    if ( !slots.isNull() ) {	for ( QDomElement n = slots.firstChild().toElement(); !n.isNull(); n = n.nextSibling().toElement() )	    if ( n.tagName() == "slot" ) {		MetaDataBase::Function function;		function.specifier = n.attribute( "specifier", "virtual" );		if ( function.specifier.isEmpty() )		    function.specifier = "virtual";		function.access = n.attribute( "access", "public" );		if ( function.access.isEmpty() )		    function.access = "public";		function.language = n.attribute( "language", "C++" );		function.returnType = n.attribute( "returnType", "void" );		if ( function.returnType.isEmpty() )		    function.returnType = "void";		function.type = "slot";		function.function = n.firstChild().toText().data();		if ( !MetaDataBase::hasFunction( formwindow, function.function, TRUE ) )		    MetaDataBase::addFunction( formwindow, function.function, function.specifier,					       function.access, "slot", function.language, function.returnType );		else		    MetaDataBase::changeFunctionAttributes( formwindow, function.function, function.function,							    function.specifier, function.access,							    "slot", function.language,							    function.returnType );	    }    }    if ( !functions.isNull() ) {	for ( QDomElement n = functions.firstChild().toElement(); !n.isNull(); n = n.nextSibling().toElement() ) {	    if ( n.tagName() == "function" ) {		MetaDataBase::Function function;		function.specifier = n.attribute( "specifier", "virtual" );		if ( function.specifier.isEmpty() )		    function.specifier = "virtual";		function.access = n.attribute( "access", "public" );		if ( function.access.isEmpty() )		    function.access = "public";		function.type = n.attribute( "type", "function" );		function.type = "function";		function.language = n.attribute( "language", "C++" );		function.returnType = n.attribute( "returnType", "void" );		if ( function.returnType.isEmpty() )		    function.returnType = "void";		function.function = n.firstChild().toText().data();		if ( !MetaDataBase::hasFunction( formwindow, function.function, TRUE ) )		    MetaDataBase::addFunction( formwindow, function.function, function.specifier,					       function.access, function.type, function.language,					       function.returnType );		else		    MetaDataBase::changeFunctionAttributes( formwindow, function.function, function.function,							    function.specifier, function.access,							    function.type, function.language, function.returnType );	    }	}    }    if ( !actions.isNull() )	loadActions( actions );    if ( !toolbars.isNull() )	loadToolBars( toolbars );    if ( !menubar.isNull() )	loadMenuBar( menubar );    if ( !connections.isNull() )	loadConnections( connections );    if ( !tabOrder.isNull() )	loadTabOrder( tabOrder );    if ( formwindow ) {	MetaDataBase::setIncludes( formwindow, metaIncludes );	MetaDataBase::setForwards( formwindow, metaForwards );	MetaDataBase::setVariables( formwindow, metaVariables );	MetaDataBase::setSignalList( formwindow, metaSignals );	metaInfo.classNameChanged = metaInfo.className != QString( formwindow->name() );	MetaDataBase::setMetaInfo( formwindow, metaInfo );	MetaDataBase::setExportMacro( formwindow->mainContainer(), exportMacro );    }    loadExtraSource( formwindow->formFile(), currFileName, langIface, hasFunctions );    if ( mainwindow && formwindow )	mainwindow->insertFormWindow( formwindow );    if ( formwindow ) {	formwindow->killAccels( formwindow );	if ( formwindow->layout() )	    formwindow->layout()->activate();	if ( hadGeometry )	    formwindow->resize( formwindow->size().expandedTo( formwindow->minimumSize().							       expandedTo( formwindow->minimumSizeHint() ) ) );	else	    formwindow->resize( formwindow->size().expandedTo( formwindow->sizeHint() ) );    }    return TRUE;}static bool saveCode( const QString &filename, const QString &code ){    QFile f( filename );    if ( f.open(IO_WriteOnly | IO_Translate) ) {	QTextStream ts( &f );	ts << code;	return TRUE;    }    return FALSE;}bool Resource::save( const QString& filename, bool formCodeOnly ){    if ( !formwindow || filename.isEmpty() )	return FALSE;    if (!langIface) {	QString lang = "Qt Script";	if ( mainwindow )	    lang = mainwindow->currProject()->language();	langIface = MetaDataBase::languageInterface( lang );	if ( langIface )	    langIface->addRef();    }    if ( formCodeOnly && langIface ) {	if ( saveFormCode(formwindow->formFile(), langIface) )	    return TRUE;	bool breakout = FALSE;	FormFile *ff = formwindow->formFile();	QString codeFile = ff->project()->makeAbsolute( ff->codeFile() );	QString filter = langIface->fileFilterList().join(";;");	while ( !breakout ) {	    QString fn = QFileDialog::getSaveFileName( codeFile, filter );	    breakout = fn.isEmpty();	    if ( !breakout ) {		if ( saveCode(fn, ff->code()) )		    return TRUE;	    }	}    }    currFileName = filename;    QFile f( filename );    if ( !f.open( IO_WriteOnly | IO_Translate ) )	return FALSE;    bool b = save( &f );    f.close();    return b;}bool Resource::save( QIODevice* dev ){    if ( !formwindow )	return FALSE;    if ( !langIface ) {	QString lang = "Qt Script";	if ( mainwindow )	    lang = mainwindow->currProject()->language();	langIface = MetaDataBase::languageInterface( lang );	if ( langIface )	    langIface->addRef();    }    QTextStream ts( dev );    ts.setCodec( QTextCodec::codecForName( "UTF-8" ) );    ts << "<!DOCTYPE UI><UI version=\"3.2\" stdsetdef=\"1\">" << endl;    saveMetaInfoBefore( ts, 0 );    saveObject( formwindow->mainContainer(), 0, ts, 0 );    if ( formwindow->mainContainer()->inherits( "QMainWindow" ) ) {	saveMenuBar( (QMainWindow*)formwindow->mainContainer(), ts, 0 );	saveToolBars( (QMainWindow*)formwindow->mainContainer(), ts, 0 );    }    if ( !MetaDataBase::customWidgets()->isEmpty() && !usedCustomWidgets.isEmpty() )	saveCustomWidgets( ts, 0 );    if ( formwindow->mainContainer()->inherits( "QMainWindow" ) )	saveActions( formwindow->actionList(), ts, 0 );    if ( !images.isEmpty() )	saveImageCollection( ts, 0 );    if ( !MetaDataBase::connections( formwindow ).isEmpty() ||	 !MetaDataBase::slotList( formwindow ).isEmpty() )	saveConnections( ts, 0 );    saveTabOrder( ts, 0 );    saveMetaInfoAfter( ts, 0 );    saveIncludeHints( ts, 0 );

⌨️ 快捷键说明

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