// creates new file void WMain::newfile() { if(cDocument->filechanged) { int userAnswer = askUser(tr("File has been changed. Save?")); if(userAnswer == 2) saveFileAction(); else if(userAnswer == 1) return; } delete cDocument; cDocument = new CDocument; updateList(); updateStatusbar(); }
// opens file void WMain::openfile(QString filename) { if(cDocument->filechanged) { int userAnswer = askUser(tr("File has been changed. Save?")); if(userAnswer == 2) { saveFileAction(); openFileAction(filename); } else if(userAnswer == 1) return; else openFileAction(filename); } else openFileAction(filename); }
// window close event void WMain::closeEvent(QCloseEvent * e) { if(cDocument->filechanged) { int userAnswer = askUser(tr("File has been changed. Save?")); if (userAnswer == 2) { saveFileAction(); application->quit(); e->accept(); } else if(userAnswer == 1) e->ignore(); else if(userAnswer == 0) { e->accept(); application->quit(); } else e->ignore(); return; } else application->quit(); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); m_pCenterWidget = new ImgProcessCenterWidget(this); setCentralWidget(m_pCenterWidget); connect(ui->actionOpenFile, SIGNAL(triggered()), this, SLOT(openFileAction())); connect(ui->actionAbout, SIGNAL(triggered()), this, SLOT(aboutAction())); connect(ui->actionSaveFile, SIGNAL(triggered()), this, SLOT(saveFileAction())); connect(ui->actionHotKeySetting, SIGNAL(triggered()), this, SLOT(hotKeySettingAction())); /* QMenu* fileMenu = menuBar()->addMenu(tr("&File")); openFileAction = new QAction(tr("&OpenFile"), this); openFileAction->setShortcut(QKeySequence::Open); //设置快捷键 openFileAction->setStatusTip(tr("Open a file")); //设置状态栏 fileMenu->addAction(openFileAction); */ connect(ui->actionHelpOnline, SIGNAL(triggered()), this, SLOT(helpOnlineAction())); //todo:先确定这里是状态栏 ui->statusBar->showMessage(QString("statusbar"), 10 * 1000); //ui->mainToolBar->addAction(QString("Line")); }
// invokes file save as void WMain::saveas() { saveFileAction(true); }
// invokes file save void WMain::savefile() { saveFileAction(false); }