00001 /* 00002 Copyright (C) 2000,2001 Stefan Duffner 00003 00004 This program is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU General Public License 00006 as published by the Free Software Foundation; either version 2 00007 of the License, or any later version. 00008 00009 This program is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 GNU General Public License for more details. 00013 00014 You should have received a copy of the GNU General Public License 00015 along with this program; if not, write to the Free Software 00016 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00017 */ 00018 00019 #ifndef FILEIO_H 00020 #define FILEIO_H 00021 00022 #include <qobject.h> 00023 #include <qdir.h> 00024 #include <qmap.h> 00025 00026 class QFileDialog; 00027 class QWidget; 00028 class Project; 00029 class MainWindow; 00030 class Options; 00031 class Export; 00032 00040 class FileIO : public QObject 00041 { 00042 Q_OBJECT 00043 public: 00044 FileIO(QWidget* ); 00045 ~FileIO(); 00046 00047 Project* openFile(QString mrufile=QString::null); 00048 Project* openFileXML(QString mrufile=QString::null); 00049 bool saveFile(Project* ); 00050 bool saveFileAs(Project* ); 00051 bool exportFile(Project* ,Export* ); 00052 int saveOptions(Options* ); 00053 int loadOptions(Options* ); 00054 bool loadMRU(QStringList& ); 00055 bool saveMRU(QStringList ); 00056 00057 void setActFilePath(QString file) 00058 { act_file = file; }; 00059 QString getActFilePath() 00060 { return act_file; }; 00062 QString getActFileName() { QFileInfo fi(act_file); return fi.fileName(); }; 00064 QString getActExportFileName() { QFileInfo fi(act_exportfile); return fi.fileName(); }; 00065 00067 QString getEmptyFieldString() { return "<none>"; }; 00068 00069 signals: 00071 void sbMessage(QString); 00073 void setWaitCursor(); 00075 void setPreviousCursor(); 00076 00077 private: 00079 MainWindow* main; 00081 QDir act_dir; 00083 QString act_file; 00085 QString act_exportfile; 00087 QFileDialog* filedlg; 00089 QFileDialog* exportdlg; 00090 00091 bool doSave(Project* ); 00092 bool doSaveXML(Project* ); 00093 void setOptions(QMap<QString, QString>* map, Options* opt); 00094 00095 }; 00096 00097 00098 #endif