? trollproject.diff
? pics/toolbar/hi16-action-qtdesigner.png
Index: parts/trollproject/filebuffer.cpp
===================================================================
RCS file: /home/kde/kdevelop/parts/trollproject/filebuffer.cpp,v
retrieving revision 1.21
diff -u -3 -p -r1.21 filebuffer.cpp
--- parts/trollproject/filebuffer.cpp	7 Apr 2003 19:08:06 -0000	1.21
+++ parts/trollproject/filebuffer.cpp	25 Apr 2003 21:28:50 -0000
@@ -287,6 +287,67 @@ bool FileBuffer::getValues(const QString
   return true;
 }
 
+/**
+ * Get all VariableSetModes for a variable.
+ * Returns: number of ValueSetModes
+ */
+int FileBuffer::getVariableValueSetModes(const QString &variable,FileBuffer::ValueSetMode* &modes)
+//=======================================================================================================
+{
+  Caret curPos(0,0);
+  bool finished = false;
+  Caret findconfigvariables(0,0);
+  int numberofvariables;
+  for(numberofvariables = 0; findconfigvariables != Caret(-1,-1); ++numberofvariables)
+  {
+    findconfigvariables = findInBuffer(QString("\nCONFIG"),findconfigvariables);
+  }
+  modes = new ValueSetMode[numberofvariables];
+  for (int i=0; !finished; ++i)
+  {
+    Caret variablePos(findInBuffer(variable,curPos));
+    if (variablePos==Caret(-1,-1))
+    {
+      finished=true;
+      continue;
+    }
+    Caret eqSign = findInBuffer("=",variablePos);
+    if (eqSign.m_row != variablePos.m_row)
+    {
+      curPos = Caret(variablePos)+Caret(1,0);
+      continue;
+    }
+    QString line=m_buffer[eqSign.m_row];
+    QChar effectOperator = line[eqSign.m_idx-1];
+    long lineNum=eqSign.m_row;
+    line = line.mid(eqSign.m_idx+1,line.length()-eqSign.m_idx);
+    while (!line.isEmpty())
+    {
+      if (line[line.length()-1]=='\\')
+      {
+        line = line.left(line.length()-1).simplifyWhiteSpace();
+        lineNum++;
+        line = m_buffer[lineNum];
+	continue;
+      }
+      line = "";
+    }
+    if (QString("+-*~").find(effectOperator)==-1)
+    {
+      modes[i] = VSM_RESET;
+    }
+    if (effectOperator=='-')
+    {
+      modes[i] = VSM_EXCLUDE;
+    }
+    else
+    {
+      modes[i] = VSM_APPEND;
+    }
+    curPos = Caret(lineNum+1,0);
+  }
+  return numberofvariables;
+}
 
 
 /**
Index: parts/trollproject/filebuffer.h
===================================================================
RCS file: /home/kde/kdevelop/parts/trollproject/filebuffer.h,v
retrieving revision 1.14
diff -u -3 -p -r1.14 filebuffer.h
--- parts/trollproject/filebuffer.h	2 Apr 2003 13:32:19 -0000	1.14
+++ parts/trollproject/filebuffer.h	25 Apr 2003 21:28:50 -0000
@@ -60,6 +60,7 @@ public:
   // Variable value handling
   void              removeValues(const QString &variable);
   bool              getValues(const QString &variable,QStringList &plusValues, QStringList &minusValues);
+  int               getVariableValueSetModes(const QString &variable,FileBuffer::ValueSetMode* &modes);
   void              setValues(const QString &variable,QString values,FileBuffer::ValueSetMode append=VSM_APPEND, int valuesPerRow=3)
                     {setValues(variable,QStringList::split(' ',values),append,valuesPerRow);}
   void              setValues(const QString &variable,QStringList values,FileBuffer::ValueSetMode append=VSM_APPEND, int valuesPerRow=3);
Index: parts/trollproject/projectconfigurationdlg.cpp
===================================================================
RCS file: /home/kde/kdevelop/parts/trollproject/projectconfigurationdlg.cpp,v
retrieving revision 1.15
diff -u -3 -p -r1.15 projectconfigurationdlg.cpp
--- parts/trollproject/projectconfigurationdlg.cpp	5 Apr 2003 12:11:13 -0000	1.15
+++ parts/trollproject/projectconfigurationdlg.cpp	25 Apr 2003 21:28:51 -0000
@@ -27,6 +27,7 @@ ProjectConfigurationDlg::ProjectConfigur
   m_projectConfiguration = conf;
   m_targetLibraryVersion->setValidator(new QRegExpValidator(
     QRegExp("\\d+(\\.\\d+)?(\\.\\d+)"), this));
+  buildProjectInstallTree(install_list);
   UpdateControls();
 }
 
@@ -36,6 +37,51 @@ ProjectConfigurationDlg::~ProjectConfigu
 {
 }
 
+void ProjectConfigurationDlg::buildProjectInstallTree(KListView *listviewControl)
+{/*
+//  if (item->configuration.m_template == QTMP_SUBDIRS)
+//    return;
+
+  // Insert all GroupItems and all of their children into the view
+  if (listviewControl)
+  {
+//    QPtrListIterator<SubprojectItem> it1(item->scopes);
+//    for (; it1.current(); ++it1)
+//    {
+//      listviewControl->insertItem(*it1);
+//      buildProjectDetailTree(*it1,NULL);
+//    }
+    QPtrListIterator<GroupItem> it2(item->groups);
+    for (; it2.current(); ++it2)
+    {
+        listviewControl->insertItem(*it2);
+        QPtrListIterator<FileItem> it3((*it2)->files);
+        for (; it3.current(); ++it3)
+            (*it2)->insertItem(*it3);
+        (*it2)->setOpen(true);
+    }
+  }
+  else
+  {
+//    QPtrListIterator<SubprojectItem> it1(item->scopes);
+//    for (; it1.current(); ++it1)
+//    {
+//      item->insertItem(*it1);
+//      buildProjectDetailTree(*it1,NULL);
+//    }
+    QPtrListIterator<GroupItem> it2(item->groups);
+    for (; it2.current(); ++it2)
+    {
+        item->insertItem(*it2);
+        QPtrListIterator<FileItem> it3((*it2)->files);
+        for (; it3.current(); ++it3)
+            (*it2)->insertItem(*it3);
+        (*it2)->setOpen(true);
+    }
+  }*/
+}
+
+
 void ProjectConfigurationDlg::radioLibrarytoggled(bool on)
 //=============================================
 {
@@ -117,6 +163,16 @@ void ProjectConfigurationDlg::updateProj
   m_projectConfiguration->m_objectpath = m_objectPath->text();
   m_projectConfiguration->m_uipath = m_uiPath->text();
   m_projectConfiguration->m_mocpath = m_mocPath->text();
+  m_projectConfiguration->m_libs = m_Libs->text();
+  m_projectConfiguration->m_installtargetpath = m_InstallTargetPath->text();
+  if (checkInstallTarget->isChecked())
+    m_projectConfiguration->m_installtarget = true;
+  else
+    m_projectConfiguration->m_installtarget = false;
+  if (checkDontInheritConfig->isChecked())
+    m_projectConfiguration->m_inheritconfig = false;
+  else
+    m_projectConfiguration->m_inheritconfig = true;
 
   QDialog::accept();
 }
@@ -207,6 +263,12 @@ void ProjectConfigurationDlg::UpdateCont
   m_objectPath->setText(m_projectConfiguration->m_objectpath);
   m_uiPath->setText(m_projectConfiguration->m_uipath);
   m_mocPath->setText(m_projectConfiguration->m_mocpath);
+  m_Libs->setText(m_projectConfiguration->m_libs);
+  m_InstallTargetPath->setText(m_projectConfiguration->m_installtargetpath);
+  if (m_projectConfiguration->m_installtarget == true)
+    checkInstallTarget->setChecked(true);
+  if (m_projectConfiguration->m_inheritconfig == false)
+    checkDontInheritConfig->setChecked(true);
 
 }
 
Index: parts/trollproject/projectconfigurationdlg.h
===================================================================
RCS file: /home/kde/kdevelop/parts/trollproject/projectconfigurationdlg.h,v
retrieving revision 1.8
diff -u -3 -p -r1.8 projectconfigurationdlg.h
--- parts/trollproject/projectconfigurationdlg.h	1 Apr 2003 19:00:38 -0000	1.8
+++ parts/trollproject/projectconfigurationdlg.h	25 Apr 2003 21:28:51 -0000
@@ -29,6 +29,7 @@ public:
                          ProjectConfigurationDlg(ProjectConfiguration *conf,QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
                          ~ProjectConfigurationDlg();
   void                   UpdateControls();
+  void			 buildProjectInstallTree(KListView *listviewControl);
 
 public slots:
   virtual void           radioLibrarytoggled(bool);
Index: parts/trollproject/projectconfigurationdlgbase.ui
===================================================================
RCS file: /home/kde/kdevelop/parts/trollproject/projectconfigurationdlgbase.ui,v
retrieving revision 1.22
diff -u -3 -p -r1.22 projectconfigurationdlgbase.ui
--- parts/trollproject/projectconfigurationdlgbase.ui	7 Apr 2003 21:28:37 -0000	1.22
+++ parts/trollproject/projectconfigurationdlgbase.ui	25 Apr 2003 21:28:52 -0000
@@ -10,7 +10,7 @@
             <x>0</x>
             <y>0</y>
             <width>513</width>
-            <height>345</height>
+            <height>348</height>
         </rect>
     </property>
     <property name="sizePolicy">
@@ -34,6 +34,39 @@
         <property name="spacing">
             <number>6</number>
         </property>
+        <widget class="QPushButton" row="1" column="2">
+            <property name="name">
+                <cstring>buttonCancel</cstring>
+            </property>
+            <property name="text">
+                <string>&amp;Cancel</string>
+            </property>
+        </widget>
+        <widget class="QPushButton" row="1" column="1">
+            <property name="name">
+                <cstring>buttonOk</cstring>
+            </property>
+            <property name="text">
+                <string>&amp;OK</string>
+            </property>
+        </widget>
+        <spacer row="1" column="0">
+            <property name="name">
+                <cstring>Spacer1_2</cstring>
+            </property>
+            <property name="orientation">
+                <enum>Horizontal</enum>
+            </property>
+            <property name="sizeType">
+                <enum>Expanding</enum>
+            </property>
+            <property name="sizeHint">
+                <size>
+                    <width>330</width>
+                    <height>16</height>
+                </size>
+            </property>
+        </spacer>
         <widget class="QTabWidget" row="0" column="0" rowspan="1" colspan="3">
             <property name="name">
                 <cstring>TabBuild</cstring>
@@ -277,7 +310,7 @@
                     <cstring>tab</cstring>
                 </property>
                 <attribute name="title">
-                    <string>Build &amp;Mode</string>
+                    <string>&amp;Compiler</string>
                 </attribute>
                 <vbox>
                     <property name="name">
@@ -289,7 +322,142 @@
                     <property name="spacing">
                         <number>6</number>
                     </property>
-                    <widget class="QButtonGroup">
+                    <widget class="QGroupBox">
+                        <property name="name">
+                            <cstring>GroupBox3</cstring>
+                        </property>
+                        <property name="title">
+                            <string>Precompiler (-D option)</string>
+                        </property>
+                        <grid>
+                            <property name="name">
+                                <cstring>unnamed</cstring>
+                            </property>
+                            <property name="margin">
+                                <number>11</number>
+                            </property>
+                            <property name="spacing">
+                                <number>6</number>
+                            </property>
+                            <widget class="QLabel" row="0" column="0">
+                                <property name="name">
+                                    <cstring>TextLabel1</cstring>
+                                </property>
+                                <property name="text">
+                                    <string>Defines:</string>
+                                </property>
+                            </widget>
+                            <widget class="KLineEdit" row="0" column="1">
+                                <property name="name">
+                                    <cstring>m_defines</cstring>
+                                </property>
+                            </widget>
+                        </grid>
+                    </widget>
+                    <widget class="QGroupBox">
+                        <property name="name">
+                            <cstring>GroupBox2</cstring>
+                        </property>
+                        <property name="title">
+                            <string>Compiler</string>
+                        </property>
+                        <grid>
+                            <property name="name">
+                                <cstring>unnamed</cstring>
+                            </property>
+                            <property name="margin">
+                                <number>11</number>
+                            </property>
+                            <property name="spacing">
+                                <number>6</number>
+                            </property>
+                            <widget class="QLabel" row="1" column="0">
+                                <property name="name">
+                                    <cstring>TextLabel2_2_2</cstring>
+                                </property>
+                                <property name="text">
+                                    <string>Release flags:</string>
+                                </property>
+                            </widget>
+                            <widget class="QLabel" row="0" column="0">
+                                <property name="name">
+                                    <cstring>TextLabel2_2</cstring>
+                                </property>
+                                <property name="text">
+                                    <string>Debug flags:</string>
+                                </property>
+                            </widget>
+                            <widget class="KLineEdit" row="0" column="1">
+                                <property name="name">
+                                    <cstring>m_debugFlags</cstring>
+                                </property>
+                            </widget>
+                            <widget class="KLineEdit" row="1" column="1">
+                                <property name="name">
+                                    <cstring>m_releaseFlags</cstring>
+                                </property>
+                            </widget>
+                        </grid>
+                    </widget>
+                    <spacer>
+                        <property name="name">
+                            <cstring>Spacer4</cstring>
+                        </property>
+                        <property name="orientation">
+                            <enum>Vertical</enum>
+                        </property>
+                        <property name="sizeType">
+                            <enum>Expanding</enum>
+                        </property>
+                        <property name="sizeHint">
+                            <size>
+                                <width>0</width>
+                                <height>20</height>
+                            </size>
+                        </property>
+                    </spacer>
+                </vbox>
+            </widget>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>tab</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Configuration</string>
+                </attribute>
+                <grid>
+                    <property name="name">
+                        <cstring>unnamed</cstring>
+                    </property>
+                    <spacer row="3" column="0">
+                        <property name="name">
+                            <cstring>Spacer2</cstring>
+                        </property>
+                        <property name="orientation">
+                            <enum>Vertical</enum>
+                        </property>
+                        <property name="sizeType">
+                            <enum>Expanding</enum>
+                        </property>
+                        <property name="sizeHint">
+                            <size>
+                                <width>20</width>
+                                <height>16</height>
+                            </size>
+                        </property>
+                    </spacer>
+                    <widget class="QCheckBox" row="0" column="0">
+                        <property name="name">
+                            <cstring>checkDontInheritConfig</cstring>
+                        </property>
+                        <property name="text">
+                            <string>Don't inherit the configuration options of top level projects</string>
+                        </property>
+                        <property name="toolTip" stdset="0">
+                            <string></string>
+                        </property>
+                    </widget>
+                    <widget class="QButtonGroup" row="1" column="0">
                         <property name="name">
                             <cstring>groupBuildMode</cstring>
                         </property>
@@ -297,7 +465,7 @@
                             <string>Build Mode</string>
                         </property>
                         <property name="toolTip" stdset="0">
-                            <string>Set project to be built in release mode</string>
+                            <string></string>
                         </property>
                         <vbox>
                             <property name="name">
@@ -344,7 +512,7 @@
                             </widget>
                         </vbox>
                     </widget>
-                    <widget class="QButtonGroup">
+                    <widget class="QButtonGroup" row="2" column="0">
                         <property name="name">
                             <cstring>groupRequirements</cstring>
                         </property>
@@ -361,7 +529,7 @@
                             <property name="spacing">
                                 <number>6</number>
                             </property>
-                            <widget class="QCheckBox" row="0" column="0">
+                            <widget class="QCheckBox" row="0" column="0" rowspan="1" colspan="2">
                                 <property name="name">
                                     <cstring>checkQt</cstring>
                                 </property>
@@ -372,7 +540,7 @@
                                     <string>Requires the Qt header files/library</string>
                                 </property>
                             </widget>
-                            <widget class="QCheckBox" row="1" column="0">
+                            <widget class="QCheckBox" row="1" column="0" rowspan="1" colspan="2">
                                 <property name="name">
                                     <cstring>checkOpenGL</cstring>
                                 </property>
@@ -383,7 +551,7 @@
                                     <string>Requires the OpenGL (or Mesa) headers/libraries</string>
                                 </property>
                             </widget>
-                            <widget class="QCheckBox" row="1" column="1">
+                            <widget class="QCheckBox" row="1" column="2">
                                 <property name="name">
                                     <cstring>checkX11</cstring>
                                 </property>
@@ -394,7 +562,7 @@
                                     <string>Support required for X11 application or library</string>
                                 </property>
                             </widget>
-                            <widget class="QCheckBox" row="0" column="1">
+                            <widget class="QCheckBox" row="0" column="2">
                                 <property name="name">
                                     <cstring>checkThread</cstring>
                                 </property>
@@ -407,137 +575,95 @@
                             </widget>
                         </grid>
                     </widget>
-                    <spacer>
-                        <property name="name">
-                            <cstring>Spacer2</cstring>
-                        </property>
-                        <property name="orientation">
-                            <enum>Vertical</enum>
-                        </property>
-                        <property name="sizeType">
-                            <enum>Expanding</enum>
-                        </property>
-                        <property name="sizeHint">
-                            <size>
-                                <width>0</width>
-                                <height>30</height>
-                            </size>
-                        </property>
-                    </spacer>
-                </vbox>
+                </grid>
             </widget>
             <widget class="QWidget">
                 <property name="name">
                     <cstring>tab</cstring>
                 </property>
                 <attribute name="title">
-                    <string>&amp;Compiler</string>
+                    <string>Installation</string>
                 </attribute>
-                <vbox>
+                <grid>
                     <property name="name">
                         <cstring>unnamed</cstring>
                     </property>
-                    <property name="margin">
-                        <number>11</number>
-                    </property>
-                    <property name="spacing">
-                        <number>6</number>
-                    </property>
-                    <widget class="QGroupBox">
+                    <widget class="QGroupBox" row="0" column="0">
                         <property name="name">
-                            <cstring>GroupBox3</cstring>
+                            <cstring>groupBox7</cstring>
                         </property>
                         <property name="title">
-                            <string>Precompiler (-D option)</string>
+                            <string>Target Installation</string>
                         </property>
                         <grid>
                             <property name="name">
                                 <cstring>unnamed</cstring>
                             </property>
-                            <property name="margin">
-                                <number>11</number>
-                            </property>
-                            <property name="spacing">
-                                <number>6</number>
-                            </property>
-                            <widget class="QLabel" row="0" column="0">
-                                <property name="name">
-                                    <cstring>TextLabel1</cstring>
-                                </property>
-                                <property name="text">
-                                    <string>Defines:</string>
-                                </property>
-                            </widget>
-                            <widget class="KLineEdit" row="0" column="1">
+                            <widget class="KLineEdit" row="0" column="2">
                                 <property name="name">
-                                    <cstring>m_defines</cstring>
+                                    <cstring>m_InstallTargetPath</cstring>
                                 </property>
                             </widget>
-                        </grid>
-                    </widget>
-                    <widget class="QGroupBox">
-                        <property name="name">
-                            <cstring>GroupBox2</cstring>
-                        </property>
-                        <property name="title">
-                            <string>Compiler</string>
-                        </property>
-                        <grid>
-                            <property name="name">
-                                <cstring>unnamed</cstring>
-                            </property>
-                            <property name="margin">
-                                <number>11</number>
-                            </property>
-                            <property name="spacing">
-                                <number>6</number>
-                            </property>
-                            <widget class="QLabel" row="1" column="0">
+                            <widget class="QCheckBox" row="0" column="0">
                                 <property name="name">
-                                    <cstring>TextLabel2_2_2</cstring>
+                                    <cstring>checkInstallTarget</cstring>
                                 </property>
                                 <property name="text">
-                                    <string>Release flags:</string>
+                                    <string>install</string>
                                 </property>
                             </widget>
-                            <widget class="QLabel" row="0" column="0">
+                            <widget class="QLabel" row="0" column="1">
                                 <property name="name">
-                                    <cstring>TextLabel2_2</cstring>
+                                    <cstring>textLabel1_2</cstring>
                                 </property>
                                 <property name="text">
-                                    <string>Debug flags:</string>
-                                </property>
-                            </widget>
-                            <widget class="KLineEdit" row="0" column="1">
-                                <property name="name">
-                                    <cstring>m_debugFlags</cstring>
-                                </property>
-                            </widget>
-                            <widget class="KLineEdit" row="1" column="1">
-                                <property name="name">
-                                    <cstring>m_releaseFlags</cstring>
+                                    <string>installpath:</string>
                                 </property>
                             </widget>
                         </grid>
                     </widget>
-                    <spacer>
+                    <widget class="KListView" row="1" column="0">
+                        <column>
+                            <property name="text">
+                                <string></string>
+                            </property>
+                            <property name="clickable">
+                                <bool>true</bool>
+                            </property>
+                            <property name="resizable">
+                                <bool>true</bool>
+                            </property>
+                        </column>
+                        <column>
+                            <property name="text">
+                                <string>Path</string>
+                            </property>
+                            <property name="clickable">
+                                <bool>true</bool>
+                            </property>
+                            <property name="resizable">
+                                <bool>true</bool>
+                            </property>
+                        </column>
+                        <column>
+                            <property name="text">
+                                <string>Install</string>
+                            </property>
+                            <property name="clickable">
+                                <bool>true</bool>
+                            </property>
+                            <property name="resizable">
+                                <bool>true</bool>
+                            </property>
+                        </column>
                         <property name="name">
-                            <cstring>Spacer4</cstring>
-                        </property>
-                        <property name="orientation">
-                            <enum>Vertical</enum>
-                        </property>
-                        <property name="sizeType">
-                            <enum>Expanding</enum>
+                            <cstring>install_list</cstring>
                         </property>
-                        <property name="sizeHint">
-                            <size>
-                                <width>0</width>
-                                <height>20</height>
-                            </size>
+                        <property name="toolTip" stdset="0">
+                            <string>This feature is not yet implemented</string>
                         </property>
-                    </spacer>
-                </vbox>
+                    </widget>
+                </grid>
             </widget>
             <widget class="QWidget">
                 <property name="name">
@@ -546,17 +672,28 @@
                 <attribute name="title">
                     <string>&amp;Linker</string>
                 </attribute>
-                <vbox>
+                <grid>
                     <property name="name">
                         <cstring>unnamed</cstring>
                     </property>
-                    <property name="margin">
-                        <number>11</number>
-                    </property>
-                    <property name="spacing">
-                        <number>6</number>
-                    </property>
-                    <widget class="QGroupBox">
+                    <spacer row="1" column="0">
+                        <property name="name">
+                            <cstring>Spacer5</cstring>
+                        </property>
+                        <property name="orientation">
+                            <enum>Vertical</enum>
+                        </property>
+                        <property name="sizeType">
+                            <enum>Expanding</enum>
+                        </property>
+                        <property name="sizeHint">
+                            <size>
+                                <width>20</width>
+                                <height>100</height>
+                            </size>
+                        </property>
+                    </spacer>
+                    <widget class="QGroupBox" row="0" column="0">
                         <property name="name">
                             <cstring>GroupBox2_2</cstring>
                         </property>
@@ -599,26 +736,28 @@
                                     <cstring>m_releaseFlagsLink</cstring>
                                 </property>
                             </widget>
+                            <widget class="KLineEdit" row="2" column="1">
+                                <property name="name">
+                                    <cstring>m_Libs</cstring>
+                                </property>
+                                <property name="text">
+                                    <string></string>
+                                </property>
+                                <property name="toolTip" stdset="0">
+                                    <string>Linking against this libs. (e.g. -L/usr/local/lib -ltest)</string>
+                                </property>
+                            </widget>
+                            <widget class="QLabel" row="2" column="0">
+                                <property name="name">
+                                    <cstring>textLabel1_3</cstring>
+                                </property>
+                                <property name="text">
+                                    <string>Libraries:</string>
+                                </property>
+                            </widget>
                         </grid>
                     </widget>
-                    <spacer>
-                        <property name="name">
-                            <cstring>Spacer5</cstring>
-                        </property>
-                        <property name="orientation">
-                            <enum>Vertical</enum>
-                        </property>
-                        <property name="sizeType">
-                            <enum>Expanding</enum>
-                        </property>
-                        <property name="sizeHint">
-                            <size>
-                                <width>0</width>
-                                <height>71</height>
-                            </size>
-                        </property>
-                    </spacer>
-                </vbox>
+                </grid>
             </widget>
             <widget class="QWidget">
                 <property name="name">
@@ -784,65 +923,8 @@
                 </grid>
             </widget>
         </widget>
-        <widget class="QPushButton" row="1" column="2">
-            <property name="name">
-                <cstring>buttonCancel</cstring>
-            </property>
-            <property name="text">
-                <string>&amp;Cancel</string>
-            </property>
-        </widget>
-        <widget class="QPushButton" row="1" column="1">
-            <property name="name">
-                <cstring>buttonOk</cstring>
-            </property>
-            <property name="text">
-                <string>&amp;OK</string>
-            </property>
-        </widget>
-        <spacer row="1" column="0">
-            <property name="name">
-                <cstring>Spacer1_2</cstring>
-            </property>
-            <property name="orientation">
-                <enum>Horizontal</enum>
-            </property>
-            <property name="sizeType">
-                <enum>Expanding</enum>
-            </property>
-            <property name="sizeHint">
-                <size>
-                    <width>330</width>
-                    <height>16</height>
-                </size>
-            </property>
-        </spacer>
     </grid>
 </widget>
-<customwidgets>
-    <customwidget>
-        <class>KLineEdit</class>
-        <header location="global">klineedit.h</header>
-        <sizehint>
-            <width>0</width>
-            <height>0</height>
-        </sizehint>
-        <container>0</container>
-        <sizepolicy>
-            <hordata>0</hordata>
-            <verdata>7</verdata>
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-        </sizepolicy>
-        <pixmap>image0</pixmap>
-        <signal>textChanged(const QString &amp;)</signal>
-    </customwidget>
-</customwidgets>
-<images>
-    <image name="image0">
-        <data format="XPM.GZ" length="4462">[payload removed: 3334 characters]</data>
-    </image>
-</images>
 <connections>
     <connection>
         <sender>Browse</sender>
@@ -887,10 +969,6 @@
     <tabstop>radioDebugMode</tabstop>
     <tabstop>radioReleaseMode</tabstop>
     <tabstop>checkWarning</tabstop>
-    <tabstop>checkQt</tabstop>
-    <tabstop>checkThread</tabstop>
-    <tabstop>checkOpenGL</tabstop>
-    <tabstop>checkX11</tabstop>
     <tabstop>m_defines</tabstop>
     <tabstop>m_debugFlags</tabstop>
     <tabstop>m_releaseFlags</tabstop>
@@ -915,6 +993,9 @@
     <includehint>klineedit.h</includehint>
     <includehint>klineedit.h</includehint>
     <includehint>klineedit.h</includehint>
+    <includehint>klineedit.h</includehint>
+    <includehint>klineedit.h</includehint>
+    <includehint>klistview.h</includehint>
     <includehint>klineedit.h</includehint>
     <includehint>klineedit.h</includehint>
     <includehint>klineedit.h</includehint>
Index: parts/trollproject/trollprojectwidget.cpp
===================================================================
RCS file: /home/kde/kdevelop/parts/trollproject/trollprojectwidget.cpp,v
retrieving revision 1.93
diff -u -3 -p -r1.93 trollprojectwidget.cpp
--- parts/trollproject/trollprojectwidget.cpp	5 Apr 2003 12:11:13 -0000	1.93
+++ parts/trollproject/trollprojectwidget.cpp	25 Apr 2003 21:28:56 -0000
@@ -38,6 +38,7 @@
 #include <kurl.h>
 #include <qmessagebox.h>
 #include <kprocess.h>
+#include <cstdlib>
 
 #include "kdevcore.h"
 #include "kdevpartcontroller.h"
@@ -563,9 +564,11 @@ void TrollProjectWidget::slotDetailsExec
     
     bool isUiFile = QFileInfo(fitem->name).extension() == "ui";
     if( m_part->isTMakeProject() && isUiFile ){
-	// start designer in your PATH
+	// start designer in QTDIR/bin
 	KShellProcess proc;
-        proc << "designer" << (dirName + "/" + QString(fitem->name));
+	QString qtdesigner_executable = getenv("QTDIR");
+	qtdesigner_executable += "/bin/designer";
+        proc << qtdesigner_executable << (dirName + "/" + QString(fitem->name));
         proc.start( KProcess::DontCare, KProcess::NoCommunication );
 
     } else
@@ -804,7 +807,8 @@ void TrollProjectWidget::updateProjectCo
   // Config variable
   Buffer->removeValues("CONFIG");
   QStringList configList;
-  if (item->configuration.m_buildMode == QBM_RELEASE)
+  QStringList configExcludeList;
+	if (item->configuration.m_buildMode == QBM_RELEASE)
     configList.append("release");
   else if (item->configuration.m_buildMode == QBM_DEBUG)
     configList.append("debug");
@@ -824,7 +828,10 @@ void TrollProjectWidget::updateProjectCo
     configList.append("staticlib");
   else if (item->configuration.m_lib == QL_PLUGIN)
       configList.append("plugin");
-  Buffer->setValues("CONFIG",configList,FileBuffer::VSM_APPEND,VALUES_PER_ROW);
+  if (item->configuration.m_inheritconfig == true)
+    Buffer->setValues("CONFIG",configList,FileBuffer::VSM_APPEND,VALUES_PER_ROW);
+  else
+    Buffer->setValues("CONFIG",configList,FileBuffer::VSM_RESET,VALUES_PER_ROW);
 
   // Config strings
   Buffer->removeValues("DESTDIR");
@@ -863,6 +870,20 @@ void TrollProjectWidget::updateProjectCo
   Buffer->removeValues("MOC_DIR");
   if (!item->configuration.m_mocpath.simplifyWhiteSpace().isEmpty())
     Buffer->setValues("MOC_DIR",QString(item->configuration.m_mocpath),FileBuffer::VSM_RESET,VALUES_PER_ROW);
+  Buffer->removeValues("LIBS");
+  if (!item->configuration.m_libs.simplifyWhiteSpace().isEmpty())
+    Buffer->setValues("LIBS",QString(item->configuration.m_libs),FileBuffer::VSM_RESET,VALUES_PER_ROW);
+  Buffer->removeValues("target.path");
+  if (!item->configuration.m_installtargetpath.simplifyWhiteSpace().isEmpty())
+Buffer->setValues("target.path",QString(item->configuration.m_installtargetpath),FileBuffer::VSM_RESET,VALUES_PER_ROW);
+
+  // Installs variable
+  Buffer->removeValues("INSTALLS");
+  QStringList installsList;
+  if (item->configuration.m_installtarget == true)
+    installsList.append("target");
+  //TODO: Extend this for other install settings
+  Buffer->setValues("INSTALLS",installsList,FileBuffer::VSM_APPEND,VALUES_PER_ROW);
 
   // Write to .pro file
 //  Buffer->saveBuffer(projectDirectory()+relpath+"/"+m_shownSubproject->subdir+".pro",getHeader());
@@ -1278,7 +1299,8 @@ void TrollProjectWidget::slotDetailsCont
         int idSubclassWidget = popup.insertItem(SmallIconSet("qmake_subclass.png"),i18n("Subclass widget..."));
         int idUpdateWidgetclass = popup.insertItem(SmallIconSet("qmake_subclass.png"),i18n("Edit ui-subclass..."));
         int idUISubclasses = popup.insertItem(SmallIconSet("qmake_subclass.png"),i18n("List of Subclasses..."));
-        int idViewUIH = popup.insertItem(SmallIconSet("qmake_ui_h.png"),i18n("Open ui.h File"));
+        int idEditUI = popup.insertItem(SmallIconSet("qtdesigner.png"),i18n("Open in QtDesigner"));
+	int idViewUIH = popup.insertItem(SmallIconSet("qmake_ui_h.png"),i18n("Open ui.h File"));
         int idFileProperties = popup.insertItem(SmallIconSet("configure_file"),i18n("Properties..."));
 
         if (fitem->uiFileLink.isEmpty())
@@ -1289,7 +1311,8 @@ void TrollProjectWidget::slotDetailsCont
         {
           popup.removeItem(idUISubclasses);
           popup.removeItem(idViewUIH);
-          popup.removeItem(idSubclassWidget);
+          popup.removeItem(idEditUI);
+	  popup.removeItem(idSubclassWidget);
         }
 
         FileContext context(m_shownSubproject->path + "/" + fitem->name, false);
@@ -1320,6 +1343,16 @@ void TrollProjectWidget::slotDetailsCont
              QString(fitem->name + ".h")));
 
         }
+        else if(r == idEditUI) {
+	// start designer in QTDIR/bin
+	KShellProcess proc;
+	QString qtdesigner_executable = getenv("QTDIR");
+	qtdesigner_executable += "/bin/designer";
+        proc << qtdesigner_executable << (m_shownSubproject->path + "/" + QString(fitem->name));
+        proc.start( KProcess::DontCare, KProcess::NoCommunication );
+
+
+        }
         else if (r == idSubclassWidget)
         {
             QStringList newFileNames;
@@ -1511,7 +1544,7 @@ void TrollProjectWidget::parseScope(Subp
 	subBuffer->getValues("INTERFACES",item->forms,item->forms_exclude);
     else
 	subBuffer->getValues("FORMS",item->forms,item->forms_exclude);
-    
+
     subBuffer->getValues("SOURCES",item->sources,item->sources_exclude);
     subBuffer->getValues("HEADERS",item->headers,item->headers_exclude);
 
@@ -1608,6 +1641,21 @@ void TrollProjectWidget::parse(Subprojec
     if(lst.count())
       item->configuration.m_libraryversion = lst[0];
 
+
+    FileBuffer::ValueSetMode* configvaluesetmodes = NULL;
+    int vsm_number = item->m_FileBuffer.getVariableValueSetModes("CONFIG",configvaluesetmodes);
+    for(int i=0; i<vsm_number; ++i)
+    {
+    if(!configvaluesetmodes[i])
+    {
+    if(configvaluesetmodes[i] == FileBuffer::VSM_RESET)
+    {
+    item->configuration.m_inheritconfig = false;
+    }
+    }
+    }
+
+
     item->m_FileBuffer.getValues("CONFIG",lst,minusListDummy);
     if (lst.count())
     {
@@ -1667,6 +1715,22 @@ void TrollProjectWidget::parse(Subprojec
     item->m_FileBuffer.getValues("MOC_DIR",lst,minusListDummy);
     if (lst.count())
       item->configuration.m_mocpath = lst[0];
+    item->m_FileBuffer.getValues("LIBS",lst,minusListDummy);
+    if (lst.count())
+      item->configuration.m_libs = lst[0];
+    item->m_FileBuffer.getValues("target.path",lst,minusListDummy);
+    if (lst.count())
+      item->configuration.m_installtargetpath = lst[0];
+
+    item->m_FileBuffer.getValues("INSTALLS",lst,minusListDummy);
+    if (lst.count())
+    {
+      // install target
+      if (lst.find("target")!=lst.end())
+        item->configuration.m_installtarget = true;
+	//TODO: Extend this for other install settings
+    }
+
 
     // Handle "subdirs" project
     if (item->configuration.m_template == QTMP_SUBDIRS)
Index: parts/trollproject/trollprojectwidget.h
===================================================================
RCS file: /home/kde/kdevelop/parts/trollproject/trollprojectwidget.h,v
retrieving revision 1.38
diff -u -3 -p -r1.38 trollprojectwidget.h
--- parts/trollproject/trollprojectwidget.h	5 Apr 2003 12:11:13 -0000	1.38
+++ parts/trollproject/trollprojectwidget.h	25 Apr 2003 21:28:57 -0000
@@ -61,6 +61,10 @@ struct ProjectConfiguration
   QStringList     m_cxxflags_release;
   QStringList     m_lflags_debug;
   QStringList     m_lflags_release;
+  QString         m_libs;
+  bool		  m_installtarget;
+  QString	  m_installtargetpath;
+  bool		  m_inheritconfig;
 };
 
 
