OSDN Git Service

Merge remote branch 'origin/2.0'
authorcon <qtc-committer@nokia.com>
Wed, 30 Jun 2010 12:25:09 +0000 (14:25 +0200)
committercon <qtc-committer@nokia.com>
Wed, 30 Jun 2010 12:25:09 +0000 (14:25 +0200)
Conflicts:
doc/qtcreator.qdoc
share/qtcreator/gdbmacros/dumper.py
src/libs/qmljs/qmljs-lib.pri
src/plugins/debugger/breakhandler.cpp
src/plugins/projectexplorer/projectexplorer.h
src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp
src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h

20 files changed:
1  2 
doc/qtcreator.qdoc
share/qtcreator/gdbmacros/dumper.py
src/libs/qmljs/qmljs-lib.pri
src/libs/qmljs/qmljsinterpreter.cpp
src/libs/qmljs/qmljsinterpreter.h
src/libs/qmljs/qmljslink.cpp
src/plugins/coreplugin/filemanager.cpp
src/plugins/coreplugin/mainwindow.cpp
src/plugins/coreplugin/mainwindow.h
src/plugins/cppeditor/cpphoverhandler.cpp
src/plugins/debugger/breakhandler.cpp
src/plugins/debugger/gdb/trkgdbadapter.cpp
src/plugins/designer/formeditorw.cpp
src/plugins/designer/formeditorw.h
src/plugins/git/gitclient.cpp
src/plugins/projectexplorer/projectexplorer.cpp
src/plugins/projectexplorer/projectexplorer.h
src/plugins/qmljseditor/qmljscodecompletion.cpp
src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp
src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h

                 \o \l{Building and Running an Example Application}
                 \o \l{Creating a Qt C++ Application}
                 \o \l{Creating a Mobile Application with Nokia Qt SDK}
 -               \if defined(qtquick)
                 \o \l{Creating a Qt Quick Application}
 -               \endif
             \endlist
-        \o \l{Using the Editor}
-             \list
-                 \o \l{Finding and Replacing}
-                 \o \l{Refactoring}
-                 \o \l{Searching With the Locator}
-                 \o \l{Pasting and Fetching Code Snippets}
-                 \o \l{Configuring the Editor}
-                 \o \l{Using FakeVim Mode}
-                 \o \l{Using an External Editor}
-             \endlist
         \o \l{Managing Projects}
              \list
                  \o \l{Creating a Project}
                  \o \l{Specifying Editor Settings}
                  \o \l{Specifying Dependencies}
              \endlist
 +       \o \l{Developing Qt Quick Applications}
 +       \o \l{Optimizing Applications for Mobile Devices}
 +       \o \l{Using the Maemo Emulator}
         \o \l{Debugging}
              \list
              \o \l {Debugging Qt Applications}
                  \list
                      \o \l{Using the QML Inspector}
                  \endlist
 -            \endif
              \endlist
+        \o \l{Using the Maemo Emulator}
         \o \l{Using Version Control Systems}
-        \o \l{Adding Qt Designer Plugins}
+        \o \l{Getting Help}
         \o \l{Tips and Tricks}
         \o \l{Keyboard Shortcuts}
         \o \l{Known Issues}
@@@ -1371,13 -1327,11 +1370,13 @@@ class Dumper
                  self.putNumChild(1)
                  if self.isExpanded(item):
                      with Children(self):
 -                        self.putItem(
 -                              Item(item.value.dereference(), item.iname, "*", "*"))
 +                        with SubItem(self):
 +                            self.putItemHelper(Item(item.value.dereference(),
 +                                item.iname, "*", "*"))
 +                            self.putAddress(item.value)
                  self.putPointerValue(value.address)
  
-         elif str(type).startswith("<anon"):
+         elif str(typedefStrippedType).startswith("<anon"):
              # Anonymous union. We need a dummy name to distinguish
              # multiple anonymous unions in the struct.
              self.putType(item.value.type)
@@@ -21,8 -22,7 +22,9 @@@ HEADERS += 
      $$PWD/qmljsscopebuilder.h \
      $$PWD/qmljslineinfo.h \
      $$PWD/qmljscompletioncontextfinder.h \
 +    $$PWD/qmljscomponentversion.h \
 +    $$PWD/qmljsmodelmanagerinterface.h \
+     $$PWD/qmljsrewriter.h
  
  SOURCES += \
      $$PWD/qmljsbind.cpp \
@@@ -35,8 -35,7 +37,9 @@@
      $$PWD/qmljsscopebuilder.cpp \
      $$PWD/qmljslineinfo.cpp \
      $$PWD/qmljscompletioncontextfinder.cpp \
-     $$PWD/qmljsmodelmanagerinterface.cpp
 +    $$PWD/qmljscomponentversion.cpp \
++    $$PWD/qmljsmodelmanagerinterface.cpp \
+     $$PWD/qmljsrewriter.cpp
  
  OTHER_FILES += \
      $$PWD/parser/qmljs.g
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -692,117 -585,57 +692,117 @@@ QVariant BreakHandler::data(const QMode
      return QVariant();
  }
  
 -Qt::ItemFlags BreakHandler::flags(const QModelIndex &mi) const
 +Qt::ItemFlags BreakHandler::flags(const QModelIndex &index) const
  {
-     switch (index.column()) {
 -    //switch (mi.column()) {
--        //case 0:
--        //    return Qt::ItemIsUserCheckable | Qt::ItemIsEnabled;
-         default:
 -        //default:
 -            return QAbstractTableModel::flags(mi);
 -    //}
++//    switch (index.column()) {
++//        //case 0:
++//        //    return Qt::ItemIsUserCheckable | Qt::ItemIsEnabled;
++//        default:
 +            return QAbstractTableModel::flags(index);
-     }
++//    }
  }
  
 -bool BreakHandler::setData(const QModelIndex &mi, const QVariant &value, int role)
 +bool BreakHandler::setData(const QModelIndex &index, const QVariant &value, int role)
  {
 -    if (role != Qt::EditRole)
 -        return false;
 +    switch (role) {
 +        case RequestActivateBreakpointRole: {
 +            const BreakpointData *data = at(value.toInt());
 +            QTC_ASSERT(data, return false);
 +            m_engine->gotoLocation(data->markerFileName(),
 +                data->markerLineNumber(), false);
 +            return true;
 +        }
  
 -    BreakpointData *data = at(mi.row());
 -    switch (mi.column()) {
 -        case 0: {
 +        case RequestRemoveBreakpointByIndexRole: {
 +            BreakpointData *data = at(value.toInt());
 +            QTC_ASSERT(data, return false);
 +            removeBreakpoint(data);
 +            return true;
 +        }
 +
 +        case RequestSynchronizeBreakpointsRole:
 +            QTC_ASSERT(m_engine, return false);
 +            m_engine->attemptBreakpointSynchronization();
 +            return true;
 +
 +        case RequestBreakByFunctionRole:
 +            QTC_ASSERT(m_engine, return false);
 +            m_engine->breakByFunction(value.toString());
 +            return true;
 +
 +        case RequestBreakByFunctionMainRole:
 +            QTC_ASSERT(m_engine, return false);
 +            m_engine->breakByFunctionMain();
 +            return true;
 +    }
 +
 +    BreakpointData *data = at(index.row());
 +
 +    switch (role) {
 +        case BreakpointEnabledRole:
              if (data->enabled != value.toBool()) {
                  toggleBreakpointEnabled(data);
 -                dataChanged(mi, mi);
 +                layoutChanged();
              }
              return true;
 -        }
 -        case 2: {
 +
 +        case BreakpointUseFullPathRole:
              if (data->useFullPath != value.toBool()) {
                  data->useFullPath = value.toBool();
 -                dataChanged(mi, mi);
 +                layoutChanged();
              }
              return true;
 -        }
 -        case 4: {
 +
 +        /*
              QString val = value.toString();
 -            if (val != data->condition) {
 -                data->condition = val.toLatin1();
 -                dataChanged(mi, mi);
 +            if (data->funcName != val) {
 +                data->funcName = val;
 +                layoutChanged();
              }
              return true;
 -        }
 -        case 5: {
 +
              QString val = value.toString();
 -            if (val != data->ignoreCount) {
 -                data->ignoreCount = val.toLatin1();
 -                dataChanged(mi, mi);
 +            if (data->fileName != val) {
 +                data->fileName = val;
 +                layoutChanged();
 +            }
 +            return true;
 +
 +            QByteArray val = value.toString().toLatin1();
 +            if (data->lineNumber != val) {
 +                data->lineNumber = val;
 +                layoutChanged();
 +            }
 +            return true;
 +        */
 +        case BreakpointConditionRole: {
 +                QByteArray val = value.toString().toLatin1();
 +                if (val != data->condition) {
 +                    data->condition = val;
 +                    layoutChanged();
 +                }
 +            }
 +            return true;
 +
 +        case BreakpointIgnoreCountRole: {
 +                QByteArray val = value.toString().toLatin1();
 +                if (val != data->ignoreCount) {
 +                    data->ignoreCount = val;
 +                    layoutChanged();
 +                }
 +            }
 +            return true;
 +
 +        case BreakpointThreadSpecRole: {
 +                QByteArray val = value.toString().toLatin1();
 +                if (val != data->threadSpec) {
 +                    data->threadSpec = val;
 +                    layoutChanged();
 +                }
              }
              return true;
 -        }
 -        default: {
 -            return false;
 -        }
      }
 +    return false;
  }
  
  void BreakHandler::append(BreakpointData *data)
@@@ -326,12 -331,18 +329,17 @@@ void FormEditorW::fullInit(
      layout->setMargin(0);
      layout->setSpacing(0);
      layout->addWidget(m_toolBar);
-     layout->addWidget(m_editorWidget);
+     // Avoid mode switch to 'Edit' mode when the application started by
+     // 'Run' in 'Design' mode emits output.
+     Core::MiniSplitter *splitter = new Core::MiniSplitter(Qt::Vertical);
+     splitter->addWidget(m_editorWidget);
+     splitter->addWidget(new Core::OutputPanePlaceHolder(m_designMode, splitter));
+     layout->addWidget(splitter);
      m_modeWidget->setLayout(layout);
  
 -    Core::UniqueIDManager *idMan = Core::UniqueIDManager::instance();
 -    int editorManagerContext = idMan->uniqueIdentifier(QLatin1String(Core::Constants::C_EDITORMANAGER));
 -
 -    m_context = new DesignerContext(QList<int>() << m_contexts << editorManagerContext, m_modeWidget, this);
 +    Core::Context designerContexts = m_contexts;
 +    designerContexts.add(Core::Constants::C_EDITORMANAGER);
 +    m_context = new DesignerContext(designerContexts, m_modeWidget, this);
      m_core->addContextObject(m_context);
  
      m_designMode->registerDesignWidget(m_modeWidget, QStringList(QLatin1String(FORM_MIMETYPE)), m_contexts);
Simple merge
Simple merge
@@@ -107,8 -107,7 +107,9 @@@ public
  
      void startRunControl(RunControl *runControl, const QString &mode);
  
 +    // internal public for FlatModel
 +    void renameFile(Node *node, const QString &to);
+     static QStringList projectFilePatterns();
  
  signals:
      void aboutToShowContextMenu(ProjectExplorer::Project *project,
@@@ -287,22 -283,21 +287,29 @@@ QString MaemoPackageCreationStep::local
          ->qt4Project()->rootProjectNode()->targetInformation();
      if (!ti.valid)
          return QString();
 -
      return QDir::toNativeSeparators(QDir::cleanPath(ti.workingDir
 -        + QLatin1Char('/') + ti.target));
 +        + QLatin1Char('/') + executableFileName()));
  }
  
+ QString MaemoPackageCreationStep::buildDirectory() const
+ {
+     const TargetInformation &ti = qt4BuildConfiguration()->qt4Target()
+         ->qt4Project()->rootProjectNode()->targetInformation();
+     return ti.valid ? ti.buildDir : QString();
+ }
  QString MaemoPackageCreationStep::executableFileName() const
  {
 -    return QFileInfo(localExecutableFilePath()).fileName();
 +    const Qt4Project * const project
 +        = qt4BuildConfiguration()->qt4Target()->qt4Project();
 +    const TargetInformation &ti
 +        = project->rootProjectNode()->targetInformation();
 +    if (!ti.valid)
 +        return QString();
 +
 +    return project->rootProjectNode()->projectType() == LibraryTemplate
 +        ? QLatin1String("lib") + ti.target + QLatin1String(".so")
 +        : ti.target;
  }
  
  const MaemoToolChain *MaemoPackageCreationStep::maemoToolChain() const