\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}
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)
$$PWD/qmljsscopebuilder.h \
$$PWD/qmljslineinfo.h \
$$PWD/qmljscompletioncontextfinder.h \
+ $$PWD/qmljscomponentversion.h \
+ $$PWD/qmljsmodelmanagerinterface.h \
+ $$PWD/qmljsrewriter.h
SOURCES += \
$$PWD/qmljsbind.cpp \
$$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
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)
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);
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,
->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