summaryrefslogtreecommitdiff
path: root/noncore
authorleseb <leseb>2002-07-06 20:45:39 (UTC)
committer leseb <leseb>2002-07-06 20:45:39 (UTC)
commit7c069ad1b76c681282499b157ef9b23ec000947d (patch) (side-by-side diff)
tree677ae3903f6448a4f761e3a1245c7e4a746b8a1a /noncore
parent2517236d77e1f2a3d255c4c540a39f1661caaff9 (diff)
downloadopie-7c069ad1b76c681282499b157ef9b23ec000947d.zip
opie-7c069ad1b76c681282499b157ef9b23ec000947d.tar.gz
opie-7c069ad1b76c681282499b157ef9b23ec000947d.tar.bz2
Fix DocLnk management to save documents correctly
Diffstat (limited to 'noncore') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-sheet/mainwindow.cpp38
-rw-r--r--noncore/apps/opie-sheet/mainwindow.h5
2 files changed, 20 insertions, 23 deletions
diff --git a/noncore/apps/opie-sheet/mainwindow.cpp b/noncore/apps/opie-sheet/mainwindow.cpp
index efbcc20..09ee68b 100644
--- a/noncore/apps/opie-sheet/mainwindow.cpp
+++ b/noncore/apps/opie-sheet/mainwindow.cpp
@@ -55,2 +55,3 @@ MainWindow::MainWindow()
// construct objects
+ currentDoc=0;
fileSelector=new FileSelector("application/sheet-qt", this, QString::null);
@@ -73,3 +74,3 @@ MainWindow::MainWindow()
// create sheets
- selectorFileNew(currentDoc);
+ selectorFileNew(DocLnk());
}
@@ -78,5 +79,6 @@ MainWindow::~MainWindow()
{
+ if (currentDoc) delete currentDoc;
}
-void MainWindow::documentSave(DocLnk &lnkDoc)
+void MainWindow::documentSave(DocLnk *lnkDoc)
{
@@ -102,4 +104,4 @@ void MainWindow::documentSave(DocLnk &lnkDoc)
- lnkDoc.setType("application/sheet-qt");
- if (!fm.saveFile(lnkDoc, streamBuffer))
+ lnkDoc->setType("application/sheet-qt");
+ if (!fm.saveFile(*lnkDoc, streamBuffer))
{
@@ -174,3 +176,3 @@ int MainWindow::saveCurrentFile(bool ask=TRUE)
- if (currentDoc.name().isEmpty() || !currentDoc.isValid())
+ if (!currentDoc->isValid())
{
@@ -179,3 +181,5 @@ int MainWindow::saveCurrentFile(bool ask=TRUE)
- currentDoc.setName(dialogText.getValue());
+ currentDoc->setName(dialogText.getValue());
+ currentDoc->setFile(QString::null);
+ currentDoc->setLinkFile(QString::null);
}
@@ -186,12 +190,2 @@ int MainWindow::saveCurrentFile(bool ask=TRUE)
-void MainWindow::copyDocLnk(const DocLnk &source, DocLnk &target)
-{
- target.setName(source.name());
- target.setFile(source.file());
- target.setLinkFile(source.linkFile());
- target.setComment(source.comment());
- target.setType(source.type());
- target.setCategories(source.categories());
-}
-
void MainWindow::selectorFileNew(const DocLnk &lnkDoc)
@@ -201,3 +195,4 @@ void MainWindow::selectorFileNew(const DocLnk &lnkDoc)
if (documentModified && saveCurrentFile()==QMessageBox::Cancel) return;
- copyDocLnk(lnkDoc, currentDoc);
+ if (currentDoc) delete currentDoc;
+ currentDoc = new DocLnk(lnkDoc);
listSheets.clear();
@@ -225,3 +220,4 @@ void MainWindow::selectorFileOpen(const DocLnk &lnkDoc)
if (documentModified && saveCurrentFile()==QMessageBox::Cancel) return;
- copyDocLnk(lnkDoc, currentDoc);
+ if (currentDoc) delete currentDoc;
+ currentDoc = new DocLnk(lnkDoc);
listSheets.clear();
@@ -756,5 +752,7 @@ void MainWindow::slotFileSaveAs()
TextDialog dialogText(this);
- if (dialogText.exec(tr("Save File As"), tr("&File Name:"), currentDoc.name())!=QDialog::Accepted || dialogText.getValue().isEmpty()) return;
+ if (dialogText.exec(tr("Save File As"), tr("&File Name:"), currentDoc->name())!=QDialog::Accepted || dialogText.getValue().isEmpty()) return;
- currentDoc.setName(dialogText.getValue());
+ currentDoc->setName(dialogText.getValue());
+ currentDoc->setFile(QString::null);
+ currentDoc->setLinkFile(QString::null);
documentSave(currentDoc);
diff --git a/noncore/apps/opie-sheet/mainwindow.h b/noncore/apps/opie-sheet/mainwindow.h
index 554e6f6..d68e25c 100644
--- a/noncore/apps/opie-sheet/mainwindow.h
+++ b/noncore/apps/opie-sheet/mainwindow.h
@@ -41,3 +41,3 @@ class MainWindow: public QMainWindow
// QPE objects
- DocLnk currentDoc;
+ DocLnk* currentDoc;
QPEMenuBar *menu;
@@ -78,4 +78,3 @@ class MainWindow: public QMainWindow
void documentOpen(const DocLnk &lnkDoc);
- void copyDocLnk(const DocLnk &source, DocLnk &target);
- void documentSave(DocLnk &lnkDoc);
+ void documentSave(DocLnk *lnkDoc);
void closeEvent(QCloseEvent *e);