Browse Source

Split openProject out of fileOpen. Split clearProject out of fileNewProject and use it in openProject. Reset projectIsDirty flag in clearProject.

git-svn-id: file:///var/svn/tigccpp/trunk@417 9552661e-59e3-4036-b4f2-dbe53926924f
kevinkofler 18 years ago
parent
commit
a71539a657
2 changed files with 21 additions and 8 deletions
  1. 2 0
      ktigcc/mainform.ui
  2. 19 8
      ktigcc/mainform.ui.h

+ 2 - 0
ktigcc/mainform.ui

@@ -1361,12 +1361,14 @@
     <slot>fileTreeItemRenamed( QListViewItem * item, int col, const QString &amp; newName )</slot>
 </slots>
 <functions>
+    <function access="private" specifier="non virtual">clearProject()</function>
     <function access="private" specifier="non virtual" returnType="QString">findFilter( unsigned short job )</function>
     <function returnType="QString">SGetFileName( int mode, const QString &amp; fileFilter, const QString &amp; caption, QWidget * parent )</function>
     <function returnType="QStringList">SGetFileName_Multiple( const QString &amp; fileFilter, const QString &amp; caption, QWidget * parent )</function>
     <function access="private" specifier="non virtual" returnType="QListViewItem *">openFile( QListViewItem * category, QListViewItem * parent, const QString &amp; fileCaption, const QString &amp; fileName )</function>
     <function access="private" specifier="static" returnType="QListViewItem *">createFolder( QListViewItem * parent, const QString &amp; name )</function>
     <function access="private" specifier="non virtual">fileOpen_addList( QListViewItem * category, void * fileListV, void * dir, const QString &amp; open_file )</function>
+    <function access="private" specifier="non virtual">openProject( const QString &amp; filename )</function>
     <function access="private" specifier="non virtual">fileSave_loadList( QListViewItem * category, void * fileListV, void * dir_new, QString * open_file )</function>
     <function access="private" specifier="non virtual">fileSave_to( const QString &amp; nextProj )</function>
     <function access="private" specifier="non virtual">updateSizes()</function>

+ 19 - 8
ktigcc/mainform.ui.h

@@ -511,7 +511,7 @@ void MainForm::te_popup_aboutToShow()
   te_popup->setItemEnabled(10,editDecreaseIndentAction->isEnabled());
 }
 
-void MainForm::fileNewProject()
+void MainForm::clearProject()
 {
   rootListItem->setText(0,"Project1");
   projectFileName="";
@@ -558,9 +558,15 @@ void MainForm::fileNewProject()
     delete f;
   }
   fileCount=cFileCount=hFileCount=sFileCount=asmFileCount=qllFileCount=oFileCount=aFileCount=txtFileCount=othFileCount=0;
+  projectIsDirty=FALSE;
   updateLeftStatusLabel();
 }
 
+void MainForm::fileNewProject()
+{
+  clearProject();
+}
+
 QString MainForm::findFilter(unsigned short job)
 {
   QString ret;
@@ -720,14 +726,9 @@ void MainForm::fileOpen_addList(QListViewItem *category,void *fileListV,void *di
   }
 }
 
-void MainForm::fileOpen()
+void MainForm::openProject(const QString &filename)
 {
   TPRDataStruct TPRData;
-  QString fileName=SGetFileName(KFileDialog::Opening,findFilter(TIGCCOpenProjectFileFilter),"Open Project/File",this);
-  KURL dir;
-  dir.setPath(fileName);
-  if (fileName.isEmpty())
-    return;
   int ret=loadTPR(fileName, &TPRData);
   if (ret == -1) {
     KMessageBox::error(this,QString("Can't open \'%1\'").arg(fileName));
@@ -745,7 +746,7 @@ void MainForm::fileOpen()
     KMessageBox::error(this,"This project needs quill.drv, which is not installed.");
     return;
   }
-  fileNewProject();
+  clearProject();
   fileOpen_addList(hFilesListItem,&TPRData.h_files,&dir,TPRData.open_file);
   fileOpen_addList(cFilesListItem,&TPRData.c_files,&dir,TPRData.open_file);
   fileOpen_addList(qllFilesListItem,&TPRData.quill_files,&dir,TPRData.open_file);
@@ -763,6 +764,16 @@ void MainForm::fileOpen()
   updateRightStatusLabel();
 }
 
+void MainForm::fileOpen()
+{
+  QString fileName=SGetFileName(KFileDialog::Opening,findFilter(TIGCCOpenProjectFileFilter),"Open Project/File",this);
+  KURL dir;
+  dir.setPath(fileName);
+  if (fileName.isEmpty())
+    return;
+  openProject(fileName);
+}
+
 //loadList also saves the file contents
 void MainForm::fileSave_loadList(QListViewItem *category,void *fileListV,void *dir_new,QString *open_file)
 {