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

📄 mainwindowactions.cpp

📁 这个是Linux的qt源代码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
	if ( w->inherits( "SourceEditor" ) ) {	    SourceEditor *se = (SourceEditor*)w;	    if ( se->formWindow() )		fw = se->formWindow();	    else if ( se->sourceFile() ) {		se->sourceFile()->save();		return TRUE;	    }	}    }    if ( !fw )	fw = formWindow();    if ( !fw || !fw->formFile()->save() )	return FALSE;    QApplication::restoreOverrideCursor();    return TRUE;}bool MainWindow::fileSaveProject(){    currentProject->save();    statusBar()->message( tr( "Project '%1' saved.").arg( currentProject->projectName() ), 3000 );    return TRUE;}bool MainWindow::fileSaveAs(){    statusBar()->message( tr( "Enter a filename..." ) );    QWidget *w = qworkspace->activeWindow();    if ( !w )	return TRUE;    if ( w->inherits( "FormWindow" ) )	return ( (FormWindow*)w )->formFile()->saveAs();    else if ( w->inherits( "SourceEditor" ) )	return ( (SourceEditor*)w )->saveAs();    return FALSE;}void MainWindow::fileSaveAll(){    for ( QMap<QAction*, Project* >::Iterator it = projects.begin(); it != projects.end(); ++it )	(*it)->save();}void MainWindow::fileCreateTemplate(){    CreateTemplate dia( this, 0, TRUE );    int i = 0;    for ( i = 0; i < WidgetDatabase::count(); ++i ) {	if ( WidgetDatabase::isForm( i ) && WidgetDatabase::widgetGroup( i ) != "Temp") {	    dia.listClass->insertItem( WidgetDatabase::className( i ) );	}    }    for ( i = 0; i < WidgetDatabase::count(); ++i ) {	if ( WidgetDatabase::isContainer( i ) && !WidgetDatabase::isForm(i) &&	     WidgetDatabase::className( i ) != "QTabWidget" && WidgetDatabase::widgetGroup( i ) != "Temp" ) {	    dia.listClass->insertItem( WidgetDatabase::className( i ) );	}    }    QPtrList<MetaDataBase::CustomWidget> *lst = MetaDataBase::customWidgets();    for ( MetaDataBase::CustomWidget *w = lst->first(); w; w = lst->next() ) {	if ( w->isContainer )	    dia.listClass->insertItem( w->className );    }    dia.editName->setText( tr( "NewTemplate" ) );    connect( dia.buttonCreate, SIGNAL( clicked() ),	     this, SLOT( createNewTemplate() ) );    dia.exec();}void MainWindow::createNewTemplate(){    CreateTemplate *dia = (CreateTemplate*)sender()->parent();    QString fn = dia->editName->text();    QString cn = dia->listClass->currentText();    if ( fn.isEmpty() || cn.isEmpty() ) {	QMessageBox::information( this, tr( "Create Template" ), tr( "Couldn't create the template" ) );	return;    }    QStringList templRoots;    const char *qtdir = getenv( "QTDIR" );    if(qtdir)	templRoots << qtdir;    templRoots << qInstallPathData();    if(qtdir) //try the tools/designer directory last!	templRoots << (QString(qtdir) + "/tools/designer");    QFile f;    for ( QStringList::Iterator it = templRoots.begin(); it != templRoots.end(); ++it ) {	if ( QFile::exists( (*it) + "/templates/" )) {	    QString tmpfn = (*it) + "/templates/" + fn + ".ui";	    f.setName(tmpfn);	    if(f.open(IO_WriteOnly))		break;	}    }    if ( !f.isOpen() ) {	QMessageBox::information( this, tr( "Create Template" ), tr( "Couldn't create the template" ) );	return;    }    QTextStream ts( &f );    ts << "<!DOCTYPE UI><UI>" << endl;    ts << "<widget>" << endl;    ts << "<class>" << cn << "</class>" << endl;    ts << "<property stdset=\"1\">" << endl;    ts << "    <name>name</name>" << endl;    ts << "    <cstring>" << cn << "Form</cstring>" << endl;    ts << "</property>" << endl;    ts << "<property stdset=\"1\">" << endl;    ts << "    <name>geometry</name>" << endl;    ts << "    <rect>" << endl;    ts << "        <width>300</width>" << endl;    ts << "        <height>400</height>" << endl;    ts << "    </rect>" << endl;    ts << "</property>" << endl;    ts << "</widget>" << endl;    ts << "</UI>" << endl;    dia->editName->setText( tr( "NewTemplate" ) );    f.close();}void MainWindow::editUndo(){    if ( qWorkspace()->activeWindow() &&	 qWorkspace()->activeWindow()->inherits( "SourceEditor" ) ) {	( (SourceEditor*)qWorkspace()->activeWindow() )->editUndo();	return;    }    if ( formWindow() )	formWindow()->undo();}void MainWindow::editRedo(){    if ( qWorkspace()->activeWindow() &&	 qWorkspace()->activeWindow()->inherits( "SourceEditor" ) ) {	( (SourceEditor*)qWorkspace()->activeWindow() )->editRedo();	return;    }    if ( formWindow() )	formWindow()->redo();}void MainWindow::editCut(){    if ( qWorkspace()->activeWindow() &&	 qWorkspace()->activeWindow()->inherits( "SourceEditor" ) ) {	( (SourceEditor*)qWorkspace()->activeWindow() )->editCut();	return;    }    editCopy();    editDelete();}void MainWindow::editCopy(){    if ( qWorkspace()->activeWindow() &&	 qWorkspace()->activeWindow()->inherits( "SourceEditor" ) ) {	( (SourceEditor*)qWorkspace()->activeWindow() )->editCopy();	return;    }    if ( formWindow() )	qApp->clipboard()->setText( formWindow()->copy() );}void MainWindow::editPaste(){    if ( qWorkspace()->activeWindow() &&	 qWorkspace()->activeWindow()->inherits( "SourceEditor" ) ) {	( (SourceEditor*)qWorkspace()->activeWindow() )->editPaste();	return;    }    if ( !formWindow() )	return;    QWidget *w = formWindow()->mainContainer();    QWidgetList l( formWindow()->selectedWidgets() );    if ( l.count() == 1 ) {	w = l.first();	if ( WidgetFactory::layoutType( w ) != WidgetFactory::NoLayout ||	     ( !WidgetDatabase::isContainer( WidgetDatabase::idFromClassName( WidgetFactory::classNameOf( w ) ) ) &&	       w != formWindow()->mainContainer() ) )	    w = formWindow()->mainContainer();    }    if ( w && WidgetFactory::layoutType( w ) == WidgetFactory::NoLayout ) {	formWindow()->paste( qApp->clipboard()->text(), WidgetFactory::containerOfWidget( w ) );	hierarchyView->widgetInserted( 0 );	formWindow()->commandHistory()->setModified( TRUE );    } else {	QMessageBox::information( this, tr( "Paste error" ),				  tr( "Can't paste widgets. Designer couldn't find a container\n"				      "to paste into which does not contain a layout. Break the layout\n"				      "of the container you want to paste into and select this container\n"				      "and then paste again." ) );    }}void MainWindow::editDelete(){    if ( formWindow() )	formWindow()->deleteWidgets();}void MainWindow::editSelectAll(){    if ( qWorkspace()->activeWindow() &&	 qWorkspace()->activeWindow()->inherits( "SourceEditor" ) ) {	( (SourceEditor*)qWorkspace()->activeWindow() )->editSelectAll();	return;    }    if ( formWindow() )	formWindow()->selectAll();}void MainWindow::editLower(){    if ( formWindow() )	formWindow()->lowerWidgets();}void MainWindow::editRaise(){    if ( formWindow() )	formWindow()->raiseWidgets();}void MainWindow::editAdjustSize(){    if ( formWindow() )	formWindow()->editAdjustSize();}void MainWindow::editLayoutHorizontal(){    if ( layoutChilds )	editLayoutContainerHorizontal();    else if ( layoutSelected && formWindow() )	formWindow()->layoutHorizontal();}void MainWindow::editLayoutVertical(){    if ( layoutChilds )	editLayoutContainerVertical();    else if ( layoutSelected && formWindow() )	formWindow()->layoutVertical();}void MainWindow::editLayoutHorizontalSplit(){    if ( layoutChilds )	; // no way to do that    else if ( layoutSelected && formWindow() )	formWindow()->layoutHorizontalSplit();}void MainWindow::editLayoutVerticalSplit(){    if ( layoutChilds )	; // no way to do that    else if ( layoutSelected && formWindow() )	formWindow()->layoutVerticalSplit();}void MainWindow::editLayoutGrid(){    if ( layoutChilds )	editLayoutContainerGrid();    else if ( layoutSelected && formWindow() )	formWindow()->layoutGrid();}void MainWindow::editLayoutContainerVertical(){    if ( !formWindow() )	return;    QWidget *w = formWindow()->mainContainer();    QWidgetList l( formWindow()->selectedWidgets() );    if ( l.count() == 1 )	w = l.first();    if ( w )	formWindow()->layoutVerticalContainer( w  );}void MainWindow::editLayoutContainerHorizontal(){    if ( !formWindow() )	return;    QWidget *w = formWindow()->mainContainer();    QWidgetList l( formWindow()->selectedWidgets() );    if ( l.count() == 1 )	w = l.first();    if ( w )	formWindow()->layoutHorizontalContainer( w );}void MainWindow::editLayoutContainerGrid(){    if ( !formWindow() )	return;    QWidget *w = formWindow()->mainContainer();    QWidgetList l( formWindow()->selectedWidgets() );    if ( l.count() == 1 )	w = l.first();    if ( w )	formWindow()->layoutGridContainer( w  );}void MainWindow::editBreakLayout(){    if ( !formWindow() || !breakLayout )	return;    QWidget *w = formWindow()->mainContainer();    if ( formWindow()->currentWidget() )	w = formWindow()->currentWidget();    if ( WidgetFactory::layoutType( w ) != WidgetFactory::NoLayout ||	 w->parentWidget() && WidgetFactory::layoutType( w->parentWidget() ) != WidgetFactory::NoLayout ) {	formWindow()->breakLayout( w );	return;    } else {	QWidgetList widgets = formWindow()->selectedWidgets();	for ( w = widgets.first(); w; w = widgets.next() ) {	    if ( WidgetFactory::layoutType( w ) != WidgetFactory::NoLayout ||		 w->parentWidget() && WidgetFac

⌨️ 快捷键说明

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