PRAGMAINCLUDE<QtWidgets/QApplication><QtWidgets/QLabel>PRAGMAINCLUDE<QtWidgets/QMainWindow><QtWidgets/QPushButton><QtWidgets/QFileDialog>PRAGMAINCLUDE<QtCore/QVariant><QtWidgets/QAction><QtCore/QDir><QtWidgets/QMessageBox>PRAGMAINCLUDE<QtWidgets/QMenu><QtWidgets/QMenuBar><QtWidgets/QStatusBar><QtCore/QTextStream>PRAGMAINCLUDE<QtWidgets/QTextEdit><QtWidgets/QToolBar><QtWidgets/QWidget><QtWidgets/QFontDialog>PRAGMAINCLUDE<QtWidgets/QAction><QtWidgets/QMenuBar><QtWidgets/QStatusBar>PRAGMAINCLUDE<QtWidgets/QMenu><QtWidgets/QTextEdit><QtWidgets/QToolBar><QtWidgets/QVBoxLayout>PRAGMALDFLAGS-lQt5Widgets-lQt5Gui-lQt5Core-lGLESv2-lpthread-latomicPRAGMACOMPILERg++PRAGMAOPTIONS-Wno-write-strings-Wno-pointer-arith-I/usr/include/arm-linux-gnueabihf/qt5OPTIONPARSEFALSE'--- our signal /slot from Qt placed in a bacon SUB '--------------------------------------------------------SUBactionBold_cb(boolbold)'--------------------------------------------------------'--- change the text to bold hack for toggle in baconIFboldTHENtextEdit->setFontWeight(QFont::Bold)ELSEtextEdit->setFontWeight(QFont::Normal)ENDIFENDSUB'--------------------------------------------------------SUBnewDocument_cb()'--------------------------------------------------------textEdit->setText(QString())PRINT"new"ENDSUB'--------------------------------------------------------SUBopen_cb()'--------------------------------------------------------LOCALfileNameTYPEQStringLOCALtextTYPEQStringLOCALcurrentFileTYPEQStringfileName=QFileDialog::getOpenFileName(0,"Open the file")QFilefile(fileName)currentFile=fileNameIF(file.open(QIODevice::ReadOnly|QFile::Text))==falseTHENQMessageBox::warning(0,"Warning","Cannot open file: "+file.errorString())RETURNENDIFwin->setWindowTitle(fileName)QTextStreamin(&file)text=in.readAll()textEdit->setText(text)file.close()ENDSUB'--------------------------------------------------------SUBsave_cb()'--------------------------------------------------------LOCALfileNameTYPEQStringLOCALcurrentFileTYPEQStringLOCALtextTYPEQString'--- If we don'thaveafilenamefrombefore,getone.IF(currentFile.isEmpty())THENfileName=QFileDialog::getSaveFileName(0,"Save")currentFile=fileNameELSEfileName=currentFileENDIFQFilefile(fileName)IF(file.open(QIODevice::WriteOnly|QFile::Text))==falseTHENQMessageBox::warning(0,"Warning","Cannot save file: "+file.errorString())RETURNENDIFwin->setWindowTitle(fileName)QTextStreamout(&file)text=textEdit->toPlainText()out<<textfile.close()ENDSUB'--------------------------------------------------------SUBsaveAs_cb()'--------------------------------------------------------LOCALfileNameTYPEQStringLOCALtextTYPEQStringLOCALcurrentFileTYPEQStringfileName=QFileDialog::getSaveFileName(0,"Save as")QFilefile(fileName)IF(file.open(QFile::WriteOnly|QFile::Text))==falseTHENQMessageBox::warning(0,"Warning","Cannot save file: "+file.errorString())RETURNENDIFcurrentFile=fileNamewin->setWindowTitle(fileName)QTextStreamout(&file)text=textEdit->toPlainText()out<<textfile.close()ENDSUB'--------------------------------------------------------SUBexit_cb()'--------------------------------------------------------QCoreApplication::quit()ENDSUB'--------------------------------------------------------SUBcopy_cb()'--------------------------------------------------------QT_CONFIG(clipboard)textEdit->copy()ENDSUB'--------------------------------------------------------SUBcut_cb()'--------------------------------------------------------QT_CONFIG(clipboard)textEdit->cut()ENDSUB'--------------------------------------------------------SUBpaste_cb()'--------------------------------------------------------QT_CONFIG(clipboard)textEdit->paste()ENDSUB'--------------------------------------------------------SUBundo_cb()'--------------------------------------------------------textEdit->undo()ENDSUB'--------------------------------------------------------SUBredo_cb()'--------------------------------------------------------textEdit->redo()ENDSUB'--------------------------------------------------------SUBselectFont_cb()'--------------------------------------------------------LOCALfontSelectedTYPEboolLOCALfontTYPEQFontfont=QFontDialog::getFont(&fontSelected,0)IF(fontSelected)THENtextEdit->setFont(font)ENDIFENDSUB'--------------------------------------------------------SUBsetFontUnderline_cb(boolunderline)'--------------------------------------------------------textEdit->setFontUnderline(underline)ENDSUB'--------------------------------------------------------SUBsetFontItalic_cb(boolitalic)'--------------------------------------------------------textEdit->setFontItalic(italic)ENDSUB'--------------------------------------------------------SUBabout_cb()'--------------------------------------------------------QMessageBox::about(0,"About","The <b>Notepad</b> ported to bacon ""by bigbass")ENDSUBDECLAREwinTYPEQMainWindow*DECLAREappTYPEQApplication*DECLAREactionNewTYPEQAction*DECLAREactionOpenTYPEQAction*DECLAREactionSaveTYPEQAction*DECLAREactionSave_asTYPEQAction*DECLAREactionPrintTYPEQAction*DECLAREactionExitTYPEQAction*DECLAREactionCopyTYPEQAction*DECLAREactionCutTYPEQAction*DECLAREactionPasteTYPEQAction*DECLAREactionUndoTYPEQAction*DECLAREactionRedoTYPEQAction*DECLAREactionFontTYPEQAction*DECLAREactionItalicTYPEQAction*DECLAREactionBoldTYPEQAction*DECLAREactionUnderlineTYPEQAction*DECLAREactionAboutTYPEQAction*DECLAREcentralWidgetTYPEQWidget*DECLAREverticalLayoutTYPEQVBoxLayout*DECLAREtextEditTYPEQTextEdit*DECLAREmenuBarTYPEQMenuBar*DECLAREmenuFileTYPEQMenu*DECLAREmenuEditTYPEQMenu*DECLAREmainToolBarTYPEQToolBar*DECLAREstatusBarTYPEQStatusBar*DECLAREicon,icon1,icon2,icon3,icon5,icon6,icon7,icon8,icon9TYPEQIconDECLAREicon10,icon11,icon12,icon13,icon14,icon15TYPEQIconapp=newQApplication(argc,argv)win=newQMainWindow()win->resize(800,400)actionNew=newQAction(win)icon.addFile((QDir::currentPath())+"/images/new.png")actionNew->setIcon(icon)actionOpen=newQAction(win)icon1.addFile((QDir::currentPath())+"/images/open.png")actionOpen->setIcon(icon1)actionSave=newQAction(win)icon2.addFile((QDir::currentPath())+"/images/save.png")actionSave->setIcon(icon2)actionSave_as=newQAction(win)icon3.addFile((QDir::currentPath())+"/images/save_as.png")actionSave_as->setIcon(icon3)'actionPrint = new QAction(win)'icon4.addFile((QDir::currentPath())+"/images/print.png")'actionPrint->setIcon(icon4)actionExit=newQAction(win)icon5.addFile((QDir::currentPath())+"/images/exit.png")actionExit->setIcon(icon5)actionCopy=newQAction(win)icon6.addFile((QDir::currentPath())+"/images/copy.png")actionCopy->setIcon(icon6)actionCut=newQAction(win)icon7.addFile((QDir::currentPath())+"/images/cut.png")actionCut->setIcon(icon7)actionPaste=newQAction(win)icon8.addFile((QDir::currentPath())+"/images/paste.png")actionPaste->setIcon(icon8)actionUndo=newQAction(win)icon9.addFile((QDir::currentPath())+"/images/edit_undo.png")actionUndo->setIcon(icon9)actionRedo=newQAction(win)icon10.addFile((QDir::currentPath())+"/images/edit_redo.png")actionRedo->setIcon(icon10)actionFont=newQAction(win)icon11.addFile((QDir::currentPath())+"/images/font.png")actionFont->setIcon(icon11)actionItalic=newQAction(win)actionItalic->setCheckable(true)icon12.addFile((QDir::currentPath())+"/images/italic.png")actionItalic->setIcon(icon12)actionBold=newQAction(win)actionBold->setCheckable(true)icon13.addFile((QDir::currentPath())+"/images/bold.png")actionBold->setIcon(icon13)actionUnderline=newQAction(win)actionUnderline->setCheckable(true)icon14.addFile((QDir::currentPath())+"/images/underline.png")actionUnderline->setIcon(icon14)actionAbout=newQAction(win)icon15.addFile((QDir::currentPath())+"/images/info.png")actionAbout->setIcon(icon15)centralWidget=newQWidget(win)verticalLayout=newQVBoxLayout(centralWidget)verticalLayout->setSpacing(6)verticalLayout->setContentsMargins(11,11,11,11)textEdit=newQTextEdit(centralWidget)verticalLayout->addWidget(textEdit)win->setCentralWidget(centralWidget)menuBar=newQMenuBar(win)menuBar->setGeometry(QRect(0,0,800,25))menuFile=newQMenu(menuBar)menuEdit=newQMenu(menuBar)win->setMenuBar(menuBar)mainToolBar=newQToolBar(win)win->addToolBar(Qt::TopToolBarArea,mainToolBar)statusBar=newQStatusBar(win)win->setStatusBar(statusBar)menuBar->addAction(menuFile->menuAction())menuBar->addAction(menuEdit->menuAction())menuFile->addAction(actionNew)menuFile->addAction(actionOpen)menuFile->addAction(actionSave)menuFile->addAction(actionSave_as)menuFile->addAction(actionPrint)menuFile->addSeparator()menuFile->addAction(actionExit)menuEdit->addAction(actionCopy)menuEdit->addAction(actionCut)menuEdit->addAction(actionPaste)menuEdit->addSeparator()menuEdit->addAction(actionUndo)menuEdit->addAction(actionRedo)menuEdit->addAction(actionFont)mainToolBar->addAction(actionNew)mainToolBar->addAction(actionOpen)mainToolBar->addAction(actionSave)mainToolBar->addAction(actionSave_as)mainToolBar->addAction(actionPrint)mainToolBar->addSeparator()mainToolBar->addAction(actionCopy)mainToolBar->addAction(actionCut)mainToolBar->addAction(actionPaste)mainToolBar->addAction(actionUndo)mainToolBar->addAction(actionRedo)mainToolBar->addSeparator()mainToolBar->addAction(actionFont)mainToolBar->addAction(actionBold)mainToolBar->addAction(actionItalic)mainToolBar->addAction(actionUnderline)mainToolBar->addSeparator()mainToolBar->addAction(actionAbout)mainToolBar->addSeparator()mainToolBar->addAction(actionExit)'---CALLBACK widget ,event, SUBQObject::connect(actionNew,&QAction::triggered,newDocument_cb)QObject::connect(actionOpen,&QAction::triggered,open_cb)QObject::connect(actionSave,&QAction::triggered,save_cb)QObject::connect(actionSave_as,&QAction::triggered,saveAs_cb)' connect(actionPrint, &QAction::triggered, &Notepad::print)QObject::connect(actionExit,&QAction::triggered,exit_cb)QObject::connect(actionCopy,&QAction::triggered,copy_cb)QObject::connect(actionCut,&QAction::triggered,cut_cb)QObject::connect(actionPaste,&QAction::triggered,paste_cb)QObject::connect(actionUndo,&QAction::triggered,undo_cb)QObject::connect(actionRedo,&QAction::triggered,redo_cb)QObject::connect(actionFont,&QAction::triggered,selectFont_cb)QObject::connect(actionBold,&QAction::triggered,actionBold_cb)QObject::connect(actionUnderline,&QAction::triggered,setFontUnderline_cb)QObject::connect(actionItalic,&QAction::triggered,setFontItalic_cb)QObject::connect(actionAbout,&QAction::triggered,about_cb)win->show()returnapp->exec()
Last edit: big-bass 2022-06-27