[Bug 76037] qmake project: binary not rebuild before execution (after changes in files)

Alexander Dymo cloudtemple at mksat.net
Sat Dec 11 01:21:15 UTC 2004


------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
        
http://bugs.kde.org/show_bug.cgi?id=76037        
cloudtemple mksat net changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED



------- Additional Comments From cloudtemple mksat net  2004-12-11 01:19 -------
CVS commit by dymo: 

Build the project (or subproject) before execution if source files were changed.
BUG: 76037
Thanks to Daniel Franke for the patch.


  M +26 -6     trollprojectpart.cpp   1.81
  M +2 -0      trollprojectpart.h   1.29


--- kdevelop/buildtools/qmake/trollprojectpart.cpp  #1.80:1.81
 @ -112,5 +112,5  @ TrollProjectPart::TrollProjectPart(QObje
 
     action = new KAction( i18n("Execute Main Program"), "exec", SHIFT+Key_F9,
-                          m_widget, SLOT(slotExecuteProject()),
+                          this, SLOT(slotBuildAndExecuteProject()),
                           actionCollection(), "build_execute_project" );
     action->setToolTip(i18n("Execute main program"));
 @ -149,5 +149,5  @ TrollProjectPart::TrollProjectPart(QObje
 
     action = new KAction( i18n("Execute Subproject"), "exec", 0,
-                          m_widget, SLOT(slotExecuteTarget()),
+                          this, SLOT(slotBuildAndExecuteTarget()),
                           actionCollection(), "build_execute_target" );
     action->setToolTip(i18n("Execute subproject"));
 @ -276,4 +276,24  @ DomUtil::PairList TrollProjectPart::runE
 }
 
+void TrollProjectPart::slotBuildAndExecuteProject()
+{
+    partController()->saveAllFiles();
+    if (isDirty()) {
+        m_executeAfterBuild = true;
+        m_widget->slotBuildProject();
+    } else
+        m_widget->slotExecuteProject();
+}
+
+void TrollProjectPart::slotBuildAndExecuteTarget()
+{
+    partController()->saveAllFiles();
+    if (isDirty()) {
+        m_executeAfterBuild = true;
+        m_widget->slotBuildTarget();
+    } else
+        m_widget->slotExecuteTarget();
+}
+
 
 /** Retuns the currently selected run directory
 @ -497,8 +517,8  @ void TrollProjectPart::slotCommandFinish
     Q_UNUSED( command );
 
-    if( m_buildCommand != command )
-        return;
-
-    m_buildCommand = QString::null;
+//     if( m_buildCommand != command )
+//         return;
+// 
+//     m_buildCommand = QString::null;
 
     m_timestamp.clear();

--- kdevelop/buildtools/qmake/trollprojectpart.h  #1.28:1.29
 @ -66,4 +66,6  @ private slots:
 //    void slotExecute();
     void slotCommandFinished( const QString& command );
+    void slotBuildAndExecuteProject();
+    void slotBuildAndExecuteTarget();
 
 private:




More information about the KDevelop-devel mailing list