forked from qt-creator/qt-creator
Merge branch '1.2' of git@scm.dev.nokia.troll.no:creator/mainline
This commit is contained in:
@@ -54,7 +54,7 @@
|
||||
|
||||
This tutorial gives an introduction to GUI programming using the Qt SDK.
|
||||
|
||||
### Screenshot
|
||||
\image addressbook-tutorial-screenshot.png
|
||||
|
||||
In the process, we will learn about some basic technologies provided by
|
||||
Qt, such as:
|
||||
|
||||
BIN
doc/images/addressbook-tutorial-part1-labeled-screenshot.png
Normal file
BIN
doc/images/addressbook-tutorial-part1-labeled-screenshot.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 26 KiB |
BIN
doc/images/addressbook-tutorial-part1-screenshot.png
Normal file
BIN
doc/images/addressbook-tutorial-part1-screenshot.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.0 KiB |
BIN
doc/images/addressbook-tutorial-screenshot.png
Normal file
BIN
doc/images/addressbook-tutorial-screenshot.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
@@ -197,8 +197,8 @@ EditorManagerPrivate::EditorManagerPrivate(ICore *core, QWidget *parent) :
|
||||
m_closeOtherEditorsAction(new QAction(EditorManager::tr("Close Others"), parent)),
|
||||
m_gotoNextDocHistoryAction(new QAction(EditorManager::tr("Next Document in History"), parent)),
|
||||
m_gotoPreviousDocHistoryAction(new QAction(EditorManager::tr("Previous Document in History"), parent)),
|
||||
m_goBackAction(new QAction(EditorManager::tr("Go back"), parent)),
|
||||
m_goForwardAction(new QAction(EditorManager::tr("Go forward"), parent)),
|
||||
m_goBackAction(new QAction(EditorManager::tr("Go Back"), parent)),
|
||||
m_goForwardAction(new QAction(EditorManager::tr("Go Forward"), parent)),
|
||||
m_openInExternalEditorAction(new QAction(EditorManager::tr("Open in External Editor"), parent)),
|
||||
currentNavigationHistoryPosition(0),
|
||||
m_windowPopup(0),
|
||||
@@ -539,7 +539,9 @@ Core::Internal::SplitterOrView *EditorManager::currentView() const
|
||||
{
|
||||
SplitterOrView *view = m_d->m_currentView;
|
||||
if (!view)
|
||||
view = m_d->m_splitter->findView(m_d->m_currentEditor);
|
||||
view = m_d->m_currentEditor?
|
||||
m_d->m_splitter->findView(m_d->m_currentEditor):
|
||||
m_d->m_splitter->findFirstView();
|
||||
return view;
|
||||
}
|
||||
|
||||
|
||||
@@ -186,6 +186,7 @@ NavigationSubWidget *NavigationWidget::insertSubItem(int position)
|
||||
|
||||
void NavigationWidget::activateSubWidget()
|
||||
{
|
||||
setShown(true);
|
||||
QShortcut *original = qobject_cast<QShortcut *>(sender());
|
||||
QString title = m_shortcutMap[original];
|
||||
|
||||
|
||||
@@ -418,10 +418,16 @@ QStringList WelcomeMode::tipsOfTheDay()
|
||||
{
|
||||
static QStringList tips;
|
||||
if (tips.isEmpty()) {
|
||||
QString sideBarShortcut =
|
||||
#ifdef Q_WS_MAC
|
||||
tr("Cmd+0");
|
||||
#else
|
||||
tr("Alt+0");
|
||||
#endif
|
||||
tips.append(tr("You can switch between Qt Creator's modes using <tt>Ctrl+number</tt>:"
|
||||
"<ol><li> - Welcome</li><li> - Edit</li><li>- Debug</li><li>- Projects</li><li>- Help</li>"
|
||||
"<li></li><li>- Output</li></ol>"));
|
||||
tips.append(tr("You can show and hide the side bar using <tt>Alt+0<tt>."));
|
||||
tips.append(tr("You can show and hide the side bar using <tt>%1<tt>.").arg(sideBarShortcut));
|
||||
tips.append(tr("You can fine tune the <tt>Find</tt> function by selecting "Whole Words" "
|
||||
"or "Case Sensitive". Simply click on the icons on the right end of the line edit."));
|
||||
tips.append(tr("If you add <a href=\"qthelp://com.nokia.qtcreator/doc/creator-external-library-handling.html\""
|
||||
|
||||
@@ -327,8 +327,8 @@ void CppHoverHandler::updateHelpIdAndTooltip(TextEditor::ITextEditor *editor, in
|
||||
FullySpecifiedType firstType = result.first; // result of `type of expression'.
|
||||
Symbol *lookupSymbol = result.second; // lookup symbol
|
||||
|
||||
Symbol *resolvedSymbol = 0;
|
||||
Name *resolvedName = 0;
|
||||
Symbol *resolvedSymbol = lookupSymbol;
|
||||
Name *resolvedName = lookupSymbol->name();
|
||||
firstType = resolve(firstType, typeOfExpression.lookupContext(),
|
||||
&resolvedSymbol, &resolvedName);
|
||||
|
||||
@@ -343,9 +343,8 @@ void CppHoverHandler::updateHelpIdAndTooltip(TextEditor::ITextEditor *editor, in
|
||||
overview.setShowReturnTypes(true);
|
||||
overview.setShowFullyQualifiedNamed(true);
|
||||
|
||||
if (lookupSymbol && lookupSymbol->isDeclaration()) {
|
||||
Declaration *decl = lookupSymbol->asDeclaration();
|
||||
m_toolTip = overview.prettyType(firstType, decl->name());
|
||||
if (lookupSymbol && (lookupSymbol->isDeclaration() || lookupSymbol->isArgument())) {
|
||||
m_toolTip = overview.prettyType(firstType, buildHelpId(lookupSymbol, lookupSymbol->name()));
|
||||
|
||||
} else if (firstType->isClassType() || firstType->isEnumType() ||
|
||||
firstType->isForwardClassDeclarationType()) {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0" >
|
||||
<ui version="4.0">
|
||||
<class>CppFileSettingsPage</class>
|
||||
<widget class="QWidget" name="CppFileSettingsPage" >
|
||||
<property name="geometry" >
|
||||
<widget class="QWidget" name="CppFileSettingsPage">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
@@ -10,45 +10,45 @@
|
||||
<height>503</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout" >
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox" >
|
||||
<property name="sizePolicy" >
|
||||
<sizepolicy vsizetype="Maximum" hsizetype="Preferred" >
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="title" >
|
||||
<string>File naming conventions</string>
|
||||
<property name="title">
|
||||
<string>File Naming Conventions</string>
|
||||
</property>
|
||||
<layout class="QFormLayout" name="formLayout" >
|
||||
<property name="fieldGrowthPolicy" >
|
||||
<layout class="QFormLayout" name="formLayout">
|
||||
<property name="fieldGrowthPolicy">
|
||||
<enum>QFormLayout::ExpandingFieldsGrow</enum>
|
||||
</property>
|
||||
<item row="0" column="0" >
|
||||
<widget class="QLabel" name="headerSuffixLabel" >
|
||||
<property name="text" >
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="headerSuffixLabel">
|
||||
<property name="text">
|
||||
<string>Header suffix:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1" >
|
||||
<widget class="QComboBox" name="headerSuffixComboBox" />
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="headerSuffixComboBox"/>
|
||||
</item>
|
||||
<item row="1" column="0" >
|
||||
<widget class="QLabel" name="sourceSuffixLabel" >
|
||||
<property name="text" >
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="sourceSuffixLabel">
|
||||
<property name="text">
|
||||
<string>Source suffix:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1" >
|
||||
<widget class="QComboBox" name="sourceSuffixComboBox" />
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="sourceSuffixComboBox"/>
|
||||
</item>
|
||||
<item row="2" column="1" >
|
||||
<widget class="QCheckBox" name="lowerCaseFileNamesCheckBox" >
|
||||
<property name="text" >
|
||||
<item row="2" column="1">
|
||||
<widget class="QCheckBox" name="lowerCaseFileNamesCheckBox">
|
||||
<property name="text">
|
||||
<string>Lower case file names</string>
|
||||
</property>
|
||||
</widget>
|
||||
@@ -57,11 +57,11 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer" >
|
||||
<property name="orientation" >
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0" >
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>430</height>
|
||||
|
||||
@@ -49,7 +49,7 @@ const char * const CPPTOOLS_SETTINGSGROUP = "CppTools";
|
||||
const char * const LOWERCASE_CPPFILES_KEY = "LowerCaseFiles";
|
||||
enum { lowerCaseFilesDefault = 1 };
|
||||
|
||||
const char * const CPP_SETTINGS_ID = QT_TRANSLATE_NOOP("CppTools", "File naming conventions");
|
||||
const char * const CPP_SETTINGS_ID = QT_TRANSLATE_NOOP("CppTools", "File Naming Conventions");
|
||||
const char * const CPP_SETTINGS_CATEGORY = QT_TRANSLATE_NOOP("CppTools", "C++");
|
||||
|
||||
} // namespace Constants
|
||||
|
||||
@@ -592,7 +592,7 @@ bool DebuggerPlugin::initialize(const QStringList &arguments, QString *errorMess
|
||||
|
||||
|
||||
m_detachAction = new QAction(this);
|
||||
m_detachAction->setText(tr("Detach debugger"));
|
||||
m_detachAction->setText(tr("Detach Debugger"));
|
||||
connect(m_detachAction, SIGNAL(triggered()),
|
||||
m_manager, SLOT(detachDebugger()));
|
||||
|
||||
|
||||
@@ -253,7 +253,10 @@ public:
|
||||
|
||||
void moveToFirstNonBlankOnLine();
|
||||
void moveToTargetColumn();
|
||||
void setTargetColumn() { m_targetColumn = leftDist(); }
|
||||
void setTargetColumn() {
|
||||
m_targetColumn = leftDist();
|
||||
//qDebug() << "TARGET: " << m_targetColumn;
|
||||
}
|
||||
void moveToNextWord(bool simple);
|
||||
void moveToMatchingParanthesis();
|
||||
void moveToWordBoundary(bool simple, bool forward);
|
||||
@@ -672,6 +675,8 @@ void FakeVimHandler::Private::finishMovement(const QString &dotCommand)
|
||||
m_submode = NoSubMode;
|
||||
if (atEndOfLine())
|
||||
moveLeft();
|
||||
else
|
||||
setTargetColumn();
|
||||
} else if (m_submode == YankSubMode) {
|
||||
m_registers[m_register] = selectedText();
|
||||
setPosition(m_savedYankPosition);
|
||||
@@ -2507,9 +2512,12 @@ void FakeVimHandler::Private::replay(const QString &command, int n)
|
||||
{
|
||||
//qDebug() << "REPLAY: " << command;
|
||||
m_inReplay = true;
|
||||
for (int i = n; --i >= 0; )
|
||||
foreach (QChar c, command)
|
||||
for (int i = n; --i >= 0; ) {
|
||||
foreach (QChar c, command) {
|
||||
//qDebug() << " REPLAY: " << QString(c);
|
||||
handleKey(c.unicode(), c.unicode(), QString(c));
|
||||
}
|
||||
}
|
||||
m_inReplay = false;
|
||||
}
|
||||
|
||||
|
||||
@@ -446,7 +446,8 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
|
||||
this, SLOT(updateRecentProjectMenu()));
|
||||
|
||||
// unload action
|
||||
m_unloadAction = new Core::Utils::ParameterAction(tr("Close Project"), tr("Close Project \"%1\""), Core::Utils::ParameterAction::EnabledWithParameter, this);
|
||||
m_unloadAction = new Core::Utils::ParameterAction(tr("Close Project"), tr("Close Project \"%1\""),
|
||||
Core::Utils::ParameterAction::EnabledWithParameter, this);
|
||||
cmd = am->registerAction(m_unloadAction, Constants::UNLOAD, globalcontext);
|
||||
cmd->setAttribute(Core::Command::CA_UpdateText);
|
||||
cmd->setDefaultText(m_unloadAction->text());
|
||||
@@ -489,7 +490,6 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
|
||||
// Add to mode bar
|
||||
modeManager->addAction(cmd, Constants::P_ACTION_BUILDSESSION, m_buildConfigurationMenu);
|
||||
|
||||
|
||||
// rebuild session action
|
||||
QIcon rebuildIcon(Constants::ICON_REBUILD);
|
||||
rebuildIcon.addFile(Constants::ICON_REBUILD_SMALL);
|
||||
@@ -507,51 +507,44 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
|
||||
msessionContextMenu->addAction(cmd, Constants::G_SESSION_BUILD);
|
||||
|
||||
// build action
|
||||
m_buildAction = new QAction(tr("Build Project"), this);
|
||||
m_buildAction = new Core::Utils::ParameterAction(tr("Build Project"), tr("Build Project \"%1\""),
|
||||
Core::Utils::ParameterAction::EnabledWithParameter, this);
|
||||
cmd = am->registerAction(m_buildAction, Constants::BUILD, globalcontext);
|
||||
cmd->setAttribute(Core::Command::CA_UpdateText);
|
||||
cmd->setDefaultText(m_buildAction->text());
|
||||
cmd->setDefaultKeySequence(QKeySequence(tr("Ctrl+B")));
|
||||
mbuild->addAction(cmd, Constants::G_BUILD_PROJECT);
|
||||
mproject->addAction(cmd, Constants::G_PROJECT_BUILD);
|
||||
|
||||
// rebuild action
|
||||
m_rebuildAction = new QAction(tr("Rebuild Project"), this);
|
||||
m_rebuildAction = new Core::Utils::ParameterAction(tr("Rebuild Project"), tr("Rebuild Project \"%1\""),
|
||||
Core::Utils::ParameterAction::EnabledWithParameter, this);
|
||||
cmd = am->registerAction(m_rebuildAction, Constants::REBUILD, globalcontext);
|
||||
cmd->setAttribute(Core::Command::CA_UpdateText);
|
||||
cmd->setDefaultText(m_rebuildAction->text());
|
||||
mbuild->addAction(cmd, Constants::G_BUILD_PROJECT);
|
||||
mproject->addAction(cmd, Constants::G_PROJECT_BUILD);
|
||||
|
||||
// clean action
|
||||
m_cleanAction = new QAction(tr("Clean Project"), this);
|
||||
m_cleanAction = new Core::Utils::ParameterAction(tr("Clean Project"), tr("Clean Project \"%1\""),
|
||||
Core::Utils::ParameterAction::EnabledWithParameter, this);
|
||||
cmd = am->registerAction(m_cleanAction, Constants::CLEAN, globalcontext);
|
||||
cmd->setAttribute(Core::Command::CA_UpdateText);
|
||||
cmd->setDefaultText(m_cleanAction->text());
|
||||
mbuild->addAction(cmd, Constants::G_BUILD_PROJECT);
|
||||
mproject->addAction(cmd, Constants::G_PROJECT_BUILD);
|
||||
|
||||
// build project only menu
|
||||
Core::ActionContainer *mpo = am->createMenu(Constants::BUILDPROJECTONLYMENU);
|
||||
m_buildProjectOnlyMenu = mpo->menu();
|
||||
m_buildProjectOnlyMenu->setTitle(tr("Project Only"));
|
||||
mbuild->addMenu(mpo, Constants::G_BUILD_PROJECT);
|
||||
mproject->addMenu(mpo, Constants::G_PROJECT_BUILD);
|
||||
|
||||
// build action
|
||||
m_buildProjectOnlyAction = new QAction(tr("Build"), this);
|
||||
// build without dependencies action
|
||||
m_buildProjectOnlyAction = new QAction(tr("Build Without Dependencies"), this);
|
||||
cmd = am->registerAction(m_buildProjectOnlyAction, Constants::BUILDPROJECTONLY, globalcontext);
|
||||
cmd->setAttribute(Core::Command::CA_UpdateText);
|
||||
cmd->setDefaultText(m_buildProjectOnlyAction->text());
|
||||
mpo->addAction(cmd);
|
||||
|
||||
// rebuild action
|
||||
m_rebuildProjectOnlyAction = new QAction(tr("Rebuild"), this);
|
||||
// rebuild without dependencies action
|
||||
m_rebuildProjectOnlyAction = new QAction(tr("Rebuild Without Dependencies"), this);
|
||||
cmd = am->registerAction(m_rebuildProjectOnlyAction, Constants::REBUILDPROJECTONLY, globalcontext);
|
||||
cmd->setAttribute(Core::Command::CA_UpdateText);
|
||||
cmd->setDefaultText(m_rebuildProjectOnlyAction->text());
|
||||
mpo->addAction(cmd);
|
||||
|
||||
// clean action
|
||||
m_cleanProjectOnlyAction = new QAction(tr("Clean"), this);
|
||||
// clean without dependencies action
|
||||
m_cleanProjectOnlyAction = new QAction(tr("Clean Without Dependencies"), this);
|
||||
cmd = am->registerAction(m_cleanProjectOnlyAction, Constants::CLEANPROJECTONLY, globalcontext);
|
||||
cmd->setAttribute(Core::Command::CA_UpdateText);
|
||||
cmd->setDefaultText(m_cleanProjectOnlyAction->text());
|
||||
mpo->addAction(cmd);
|
||||
|
||||
// Add Set Build Configuration to menu
|
||||
mbuild->addMenu(mbc, Constants::G_BUILD_PROJECT);
|
||||
@@ -1287,23 +1280,17 @@ void ProjectExplorerPlugin::updateActions()
|
||||
bool enableBuildActions = m_currentProject && ! (m_buildManager->isBuilding(m_currentProject));
|
||||
bool hasProjects = !m_session->projects().isEmpty();
|
||||
bool building = m_buildManager->isBuilding();
|
||||
QString projectName = m_currentProject ? m_currentProject->name() : QString();
|
||||
|
||||
if (debug)
|
||||
qDebug()<<"BuildManager::isBuilding()"<<building;
|
||||
qDebug() << "BuildManager::isBuilding()" << building;
|
||||
|
||||
if (m_currentProject == 0) {
|
||||
m_unloadAction->setParameter(QString());
|
||||
m_buildProjectOnlyMenu->setTitle(tr("Current Project"));
|
||||
} else {
|
||||
m_unloadAction->setParameter(m_currentProject->name());
|
||||
m_buildProjectOnlyMenu->setTitle(tr("Project \"%1\"").arg(m_currentProject->name()));
|
||||
}
|
||||
m_unloadAction->setParameter(projectName);
|
||||
|
||||
m_buildAction->setEnabled(enableBuildActions);
|
||||
m_rebuildAction->setEnabled(enableBuildActions);
|
||||
m_cleanAction->setEnabled(enableBuildActions);
|
||||
m_buildAction->setParameter(projectName);
|
||||
m_rebuildAction->setParameter(projectName);
|
||||
m_cleanAction->setParameter(projectName);
|
||||
|
||||
m_buildProjectOnlyMenu->setEnabled(enableBuildActions);
|
||||
m_buildProjectOnlyAction->setEnabled(enableBuildActions);
|
||||
m_rebuildProjectOnlyAction->setEnabled(enableBuildActions);
|
||||
m_cleanProjectOnlyAction->setEnabled(enableBuildActions);
|
||||
@@ -1349,13 +1336,15 @@ bool ProjectExplorerPlugin::saveModifiedFiles()
|
||||
} else {
|
||||
bool cancelled = false;
|
||||
bool alwaysSave = false;
|
||||
Core::ICore::instance()->fileManager()->saveModifiedFiles(filesToSave, &cancelled, QString::null, "Always save files before build", &alwaysSave);
|
||||
if (cancelled) {
|
||||
|
||||
Core::FileManager *fm = Core::ICore::instance()->fileManager();
|
||||
fm->saveModifiedFiles(filesToSave, &cancelled, QString::null,
|
||||
"Always save files before build", &alwaysSave);
|
||||
|
||||
if (cancelled)
|
||||
return false;
|
||||
}
|
||||
if (alwaysSave) {
|
||||
if (alwaysSave)
|
||||
m_projectExplorerSettings.saveBeforeBuild = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -231,13 +231,13 @@ private:
|
||||
Core::Utils::ParameterAction *m_unloadAction;
|
||||
QAction *m_clearSession;
|
||||
QAction *m_buildProjectOnlyAction;
|
||||
QAction *m_buildAction;
|
||||
Core::Utils::ParameterAction *m_buildAction;
|
||||
QAction *m_buildSessionAction;
|
||||
QAction *m_rebuildProjectOnlyAction;
|
||||
QAction *m_rebuildAction;
|
||||
Core::Utils::ParameterAction *m_rebuildAction;
|
||||
QAction *m_rebuildSessionAction;
|
||||
QAction *m_cleanProjectOnlyAction;
|
||||
QAction *m_cleanAction;
|
||||
Core::Utils::ParameterAction *m_cleanAction;
|
||||
QAction *m_cleanSessionAction;
|
||||
QAction *m_runAction;
|
||||
QAction *m_runActionContextMenu;
|
||||
@@ -253,7 +253,6 @@ private:
|
||||
QAction *m_removeFileAction;
|
||||
QAction *m_renameFileAction;
|
||||
|
||||
QMenu *m_buildProjectOnlyMenu;
|
||||
QMenu *m_buildConfigurationMenu;
|
||||
QActionGroup *m_buildConfigurationActionGroup;
|
||||
QMenu *m_runConfigurationMenu;
|
||||
|
||||
@@ -60,6 +60,7 @@ private slots:
|
||||
void command_dd();
|
||||
void command_dollar();
|
||||
void command_down();
|
||||
void command_dfx_down();
|
||||
void command_e();
|
||||
void command_i();
|
||||
void command_left();
|
||||
@@ -296,6 +297,18 @@ void tst_FakeVim::command_down()
|
||||
move("4j", "@ return app.exec()");
|
||||
}
|
||||
|
||||
void tst_FakeVim::command_dfx_down()
|
||||
{
|
||||
setup();
|
||||
check("j4l", l[0] + "\n#inc@lude <QtCore>\n" + lmid(2));
|
||||
check("df ", l[0] + "\n#inc@<QtCore>\n" + lmid(2));
|
||||
check("j", l[0] + "\n#inc<QtCore>\n#inc@lude <QtGui>\n" + lmid(3));
|
||||
check(".", l[0] + "\n#inc<QtCore>\n#inc@<QtGui>\n" + lmid(3));
|
||||
return;
|
||||
check("u", l[0] + "\n#inc<QtCore>\n#inc@lude <QtGui>\n" + lmid(3));
|
||||
check("u", l[0] + "\n#inc@lude <QtCore>\n" + lmid(2));
|
||||
}
|
||||
|
||||
void tst_FakeVim::command_e()
|
||||
{
|
||||
setup();
|
||||
|
||||
Reference in New Issue
Block a user