From 97c8d379ac03dee7d4027980a21ee34a9e85c66f Mon Sep 17 00:00:00 2001 From: nemu Date: Thu, 7 May 2009 06:41:55 +0000 Subject: [PATCH] reload implemented --- src/musrgui/PTextEdit.cpp | 20 +++++++++++++++----- src/musrgui/PTextEdit.h | 4 ++-- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/src/musrgui/PTextEdit.cpp b/src/musrgui/PTextEdit.cpp index 05b0261d..dfa3ca21 100644 --- a/src/musrgui/PTextEdit.cpp +++ b/src/musrgui/PTextEdit.cpp @@ -367,7 +367,7 @@ void PTextEdit::setupHelpActions() /** *

*/ -void PTextEdit::load( const QString &f ) +void PTextEdit::load( const QString &f, const int index ) { if ( !QFile::exists( f ) ) return; @@ -378,7 +378,10 @@ void PTextEdit::load( const QString &f ) edit->setPointSize(11); // 11pt edit->setFont(QFont("Courier", 11)); - fTabWidget->addTab( edit, QFileInfo( f ).fileName() ); + if (index == -1) + fTabWidget->addTab( edit, QFileInfo( f ).fileName() ); + else + fTabWidget->insertTab( edit, QFileInfo( f ).fileName(), index ); QFile file( f ); if ( !file.open( IO_ReadOnly ) ) return; @@ -491,7 +494,14 @@ void PTextEdit::fileOpen() */ void PTextEdit::fileReload() { - QMessageBox::information(this, "**INFO**", "Not Yet Implemented", QMessageBox::Ok); + if ( fFilenames.find( currentEditor() ) == fFilenames.end() ) { + QMessageBox::critical(this, "**ERROR**", "Cannot reload a file not previously saved ;-)"); + } else { + int index = fTabWidget->currentPageIndex(); + QString fln = *fFilenames.find( currentEditor() ); + fileClose(false); + load(fln, index); + } } //---------------------------------------------------------------------------------------------------- @@ -584,11 +594,11 @@ void PTextEdit::filePrint() /** *

*/ -void PTextEdit::fileClose() +void PTextEdit::fileClose(const bool check) { // check if the has modification int idx = fTabWidget->currentPageIndex(); - if (fTabWidget->label(idx).find("*")>0) { + if ((fTabWidget->label(idx).find("*")>0) && check) { int result = QMessageBox::warning(this, "**WARNING**", "Do you really want to close this file.\nChanges will be lost", "Close", "Cancel"); diff --git a/src/musrgui/PTextEdit.h b/src/musrgui/PTextEdit.h index 622d12d0..e87a08ef 100644 --- a/src/musrgui/PTextEdit.h +++ b/src/musrgui/PTextEdit.h @@ -59,7 +59,7 @@ private: void setupTextActions(); void setupMusrActions(); void setupHelpActions(); - void load( const QString &f ); + void load( const QString &f, const int index=-1 ); PSubTextEdit *currentEditor() const; void doConnections( PSubTextEdit *e ); bool validRunList(const QString runList); @@ -71,7 +71,7 @@ private slots: void fileSave(); void fileSaveAs(); void filePrint(); - void fileClose(); + void fileClose( const bool check = true ); void fileExit(); void editUndo();