From 738d1ccec915f0ed0b7f96eb40352bd3886b38bb Mon Sep 17 00:00:00 2001 From: con <qtc-committer@nokia.com> Date: Thu, 10 Feb 2011 16:55:35 +0100 Subject: [PATCH] Remove the special 'external text editor' setting. It's done via a external tool description now. --- .../editormanager/editormanager.cpp | 131 ------------------ .../coreplugin/editormanager/editormanager.h | 6 - src/plugins/coreplugin/generalsettings.cpp | 25 +--- src/plugins/coreplugin/generalsettings.h | 3 +- src/plugins/coreplugin/generalsettings.ui | 48 +------ 5 files changed, 10 insertions(+), 203 deletions(-) diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index 89cd6cd1bba..b9061bcd7e7 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -200,7 +200,6 @@ struct EditorManagerPrivate { QAction *m_gotoPreviousDocHistoryAction; QAction *m_goBackAction; QAction *m_goForwardAction; - QAction *m_openInExternalEditorAction; QAction *m_splitAction; QAction *m_splitSideBySideAction; QAction *m_removeCurrentSplitAction; @@ -214,7 +213,6 @@ struct EditorManagerPrivate { Internal::OpenEditorsViewFactory *m_openEditorsFactory; OpenEditorsModel *m_editorModel; - QString m_externalEditor; IFile::ReloadSetting m_reloadSetting; IFile::Utf8BomSetting m_utf8BomSetting; @@ -237,7 +235,6 @@ EditorManagerPrivate::EditorManagerPrivate(ICore *core, QWidget *parent) : m_gotoPreviousDocHistoryAction(new QAction(EditorManager::tr("Previous Open Document in History"), parent)), m_goBackAction(new QAction(QIcon(QLatin1String(Constants::ICON_PREV)), EditorManager::tr("Go Back"), parent)), m_goForwardAction(new QAction(QIcon(QLatin1String(Constants::ICON_NEXT)), EditorManager::tr("Go Forward"), parent)), - m_openInExternalEditorAction(new QAction(EditorManager::tr("Open in External Editor"), parent)), m_windowPopup(0), m_coreListener(0), m_reloadSetting(IFile::AlwaysAsk), @@ -435,11 +432,6 @@ EditorManager::EditorManager(ICore *core, QWidget *parent) : cmd = createSeparator(am, this, QLatin1String("QtCreator.Edit.Sep.Editor"), editManagerContext); advancedMenu->addAction(cmd, Constants::G_EDIT_EDITOR); - cmd = am->registerAction(m_d->m_openInExternalEditorAction, Constants::OPEN_IN_EXTERNAL_EDITOR, editManagerContext); - cmd->setDefaultKeySequence(QKeySequence(tr("Alt+V,Alt+I"))); - advancedMenu->addAction(cmd, Constants::G_EDIT_EDITOR); - connect(m_d->m_openInExternalEditorAction, SIGNAL(triggered()), this, SLOT(openInExternalEditor())); - // other setup m_d->m_splitter = new SplitterOrView(m_d->m_editorModel); m_d->m_view = m_d->m_splitter->view(); @@ -488,19 +480,6 @@ EditorToolBar *EditorManager::createToolBar(QWidget *parent) return new EditorToolBar(parent); } -QString EditorManager::defaultExternalEditor() const -{ -#ifdef Q_OS_UNIX - return ConsoleProcess::defaultTerminalEmulator() + QLatin1String( -# ifdef Q_OS_MAC - " -async" -# endif - " -geom %Wx%H+%x+%y -e vi %f +%l +\"normal %c|\""); -#else - return QLatin1String("notepad %f"); -#endif -} - void EditorManager::removeEditor(IEditor *editor) { bool isDuplicate = m_d->m_editorModel->isDuplicate(editor); @@ -1628,8 +1607,6 @@ void EditorManager::updateActions() m_d->m_removeCurrentSplitAction->setEnabled(hasSplitter); m_d->m_removeAllSplitsAction->setEnabled(hasSplitter); m_d->m_gotoOtherSplitAction->setEnabled(hasSplitter); - - m_d->m_openInExternalEditorAction->setEnabled(curEditor != 0); } bool EditorManager::hasSplitter() const @@ -1811,7 +1788,6 @@ bool EditorManager::restoreState(const QByteArray &state) } static const char * const documentStatesKey = "EditorManager/DocumentStates"; -static const char * const externalEditorKey = "EditorManager/ExternalEditorCommand"; static const char * const reloadBehaviorKey = "EditorManager/ReloadBehavior"; static const char * const utf8BomBehaviorKey = "EditorManager/Utf8BomBehavior"; @@ -1819,7 +1795,6 @@ void EditorManager::saveSettings() { SettingsDatabase *settings = m_d->m_core->settingsDatabase(); settings->setValue(QLatin1String(documentStatesKey), m_d->m_editorStates); - settings->setValue(QLatin1String(externalEditorKey), m_d->m_externalEditor); settings->setValue(QLatin1String(reloadBehaviorKey), m_d->m_reloadSetting); settings->setValue(QLatin1String(utf8BomBehaviorKey), m_d->m_utf8BomSetting); } @@ -1833,17 +1808,11 @@ void EditorManager::readSettings() .value<QMap<QString, QVariant> >(); qs->remove(QLatin1String(documentStatesKey)); } - if (qs->contains(QLatin1String(externalEditorKey))) { - m_d->m_externalEditor = qs->value(QLatin1String(externalEditorKey)).toString(); - qs->remove(QLatin1String(externalEditorKey)); - } SettingsDatabase *settings = m_d->m_core->settingsDatabase(); if (settings->contains(QLatin1String(documentStatesKey))) m_d->m_editorStates = settings->value(QLatin1String(documentStatesKey)) .value<QMap<QString, QVariant> >(); - if (settings->contains(QLatin1String(externalEditorKey))) - m_d->m_externalEditor = settings->value(QLatin1String(externalEditorKey)).toString(); if (settings->contains(QLatin1String(reloadBehaviorKey))) m_d->m_reloadSetting = (IFile::ReloadSetting)settings->value(QLatin1String(reloadBehaviorKey)).toInt(); @@ -1907,106 +1876,6 @@ void EditorManager::hideEditorStatusBar(const QString &id) currentEditorView()->hideEditorStatusBar(id); } -QString EditorManager::externalEditorHelpText() const -{ - QString help = tr( - "<table border=1 cellspacing=0 cellpadding=3>" - "<tr><th>Variable</th><th>Expands to</th></tr>" - "<tr><td>%f</td><td>file name</td></tr>" - "<tr><td>%l</td><td>current line number</td></tr>" - "<tr><td>%c</td><td>current column number</td></tr>" - "<tr><td>%x</td><td>editor's x position on screen</td></tr>" - "<tr><td>%y</td><td>editor's y position on screen</td></tr>" - "<tr><td>%w</td><td>editor's width in pixels</td></tr>" - "<tr><td>%h</td><td>editor's height in pixels</td></tr>" - "<tr><td>%W</td><td>editor's width in characters</td></tr>" - "<tr><td>%H</td><td>editor's height in characters</td></tr>" - "<tr><td>%%</td><td>%</td></tr>" - "</table>"); - return help; -} - -void EditorManager::openInExternalEditor() -{ - QString command = m_d->m_externalEditor; - if (command.isEmpty()) - command = defaultExternalEditor(); - - if (command.isEmpty()) - return; - - IEditor *editor = currentEditor(); - if (!editor) - return; - if (editor->file()->isModified()) { - bool cancelled = false; - QList<IFile*> list = m_d->m_core->fileManager()-> - saveModifiedFiles(QList<IFile*>() << editor->file(), &cancelled); - if (cancelled) - return; - } - - QRect rect = editor->widget()->rect(); - QFont font = editor->widget()->font(); - QFontMetrics fm(font); - rect.moveTo(editor->widget()->mapToGlobal(QPoint(0,0))); - - QString pre = command; - QString cmd; - for (int i = 0; i < pre.size(); ++i) { - QChar c = pre.at(i); - if (c == QLatin1Char('%') && i < pre.size()-1) { - c = pre.at(++i); - QString s; - if (c == QLatin1Char('f')) - s = editor->file()->fileName(); - else if (c == QLatin1Char('l')) - s = QString::number(editor->currentLine()); - else if (c == QLatin1Char('c')) - s = QString::number(editor->currentColumn()); - else if (c == QLatin1Char('x')) - s = QString::number(rect.x()); - else if (c == QLatin1Char('y')) - s = QString::number(rect.y()); - else if (c == QLatin1Char('w')) - s = QString::number(rect.width()); - else if (c == QLatin1Char('h')) - s = QString::number(rect.height()); - else if (c == QLatin1Char('W')) - s = QString::number(rect.width() / fm.width(QLatin1Char('x'))); - else if (c == QLatin1Char('H')) - s = QString::number(rect.height() / fm.lineSpacing()); - else if (c == QLatin1Char('%')) - s = c; - else { - s = QLatin1Char('%'); - s += c; - } - cmd += s; - continue; - - } - cmd += c; - } - - QProcess::startDetached(cmd); -} - -void EditorManager::setExternalEditor(const QString &editor) -{ - if (editor.isEmpty() || editor == defaultExternalEditor()) - m_d->m_externalEditor = defaultExternalEditor(); - else - m_d->m_externalEditor = editor; -} - -QString EditorManager::externalEditor() const -{ - if (m_d->m_externalEditor.isEmpty()) - return defaultExternalEditor(); - return m_d->m_externalEditor; -} - void EditorManager::setReloadSetting(IFile::ReloadSetting behavior) { m_d->m_reloadSetting = behavior; diff --git a/src/plugins/coreplugin/editormanager/editormanager.h b/src/plugins/coreplugin/editormanager/editormanager.h index 8731fe31f15..2185a1e4538 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.h +++ b/src/plugins/coreplugin/editormanager/editormanager.h @@ -184,11 +184,6 @@ public: EditorFactoryList editorFactories(const MimeType &mimeType, bool bestMatchOnly = true) const; ExternalEditorList externalEditors(const MimeType &mimeType, bool bestMatchOnly = true) const; - void setExternalEditor(const QString &); - QString externalEditor() const; - QString defaultExternalEditor() const; - QString externalEditorHelpText() const; - void setReloadSetting(IFile::ReloadSetting behavior); IFile::ReloadSetting reloadSetting() const; @@ -212,7 +207,6 @@ signals: public slots: bool closeAllEditors(bool askAboutModifiedEditors = true); - void openInExternalEditor(); bool saveFile(Core::IFile *file = 0); bool saveFileAs(Core::IFile *file = 0); diff --git a/src/plugins/coreplugin/generalsettings.cpp b/src/plugins/coreplugin/generalsettings.cpp index 6a424a73b7c..62f2760d018 100644 --- a/src/plugins/coreplugin/generalsettings.cpp +++ b/src/plugins/coreplugin/generalsettings.cpp @@ -125,8 +125,8 @@ void GeneralSettings::fillLanguageBox() const QWidget *GeneralSettings::createPage(QWidget *parent) { m_page = new Ui::GeneralSettings(); - QWidget *w = new QWidget(parent); - m_page->setupUi(w); + m_widget = new QWidget(parent); + m_page->setupUi(m_widget); QSettings* settings = Core::ICore::instance()->settings(); Q_UNUSED(settings) // Windows @@ -134,7 +134,6 @@ QWidget *GeneralSettings::createPage(QWidget *parent) fillLanguageBox(); m_page->colorButton->setColor(StyleHelper::requestedBaseColor()); - m_page->externalEditorEdit->setText(EditorManager::instance()->externalEditor()); m_page->reloadBehavior->setCurrentIndex(EditorManager::instance()->reloadSetting()); #ifdef Q_OS_UNIX m_page->terminalEdit->setText(ConsoleProcess::terminalEmulator(settings)); @@ -155,10 +154,6 @@ QWidget *GeneralSettings::createPage(QWidget *parent) connect(m_page->resetButton, SIGNAL(clicked()), this, SLOT(resetInterfaceColor())); - connect(m_page->resetEditorButton, SIGNAL(clicked()), - this, SLOT(resetExternalEditor())); - connect(m_page->helpExternalEditorButton, SIGNAL(clicked()), - this, SLOT(showHelpForExternalEditor())); #ifdef Q_OS_UNIX connect(m_page->resetTerminalButton, SIGNAL(clicked()), this, SLOT(resetTerminal())); @@ -178,11 +173,10 @@ QWidget *GeneralSettings::createPage(QWidget *parent) << m_page->languageLabel->text() << sep << m_page->systemBox->title() << sep << m_page->terminalLabel->text() << sep - << m_page->editorLabel->text() << sep << m_page->modifiedLabel->text(); m_searchKeywords.remove(QLatin1Char('&')); } - return w; + return m_widget; } bool GeneralSettings::matches(const QString &s) const @@ -198,7 +192,6 @@ void GeneralSettings::apply() setLanguage(m_page->languageBox->itemData(currentIndex, Qt::UserRole).toString()); // Apply the new base color if accepted StyleHelper::setBaseColor(m_page->colorButton->color()); - EditorManager::instance()->setExternalEditor(m_page->externalEditorEdit->text()); EditorManager::instance()->setReloadSetting(IFile::ReloadSetting(m_page->reloadBehavior->currentIndex())); #ifdef Q_OS_UNIX ConsoleProcess::setTerminalEmulator(Core::ICore::instance()->settings(), @@ -222,11 +215,6 @@ void GeneralSettings::resetInterfaceColor() m_page->colorButton->setColor(StyleHelper::DEFAULT_BASE_COLOR); } -void GeneralSettings::resetExternalEditor() -{ - m_page->externalEditorEdit->setText(EditorManager::instance()->defaultExternalEditor()); -} - #ifdef Q_OS_UNIX void GeneralSettings::resetTerminal() { @@ -257,18 +245,13 @@ void GeneralSettings::variableHelpDialogCreator(const QString &helpText) tr("Variables"), helpText, QMessageBox::Close, - m_page->helpExternalEditorButton); + m_widget); mb->setWindowModality(Qt::NonModal); m_dialog = mb; mb->show(); } -void GeneralSettings::showHelpForExternalEditor() -{ - variableHelpDialogCreator(EditorManager::instance()->externalEditorHelpText()); -} - #if defined(Q_OS_UNIX) && !defined(Q_OS_MAC) void GeneralSettings::showHelpForFileBrowser() { diff --git a/src/plugins/coreplugin/generalsettings.h b/src/plugins/coreplugin/generalsettings.h index 787b68d1a14..7781648b4e7 100644 --- a/src/plugins/coreplugin/generalsettings.h +++ b/src/plugins/coreplugin/generalsettings.h @@ -67,9 +67,7 @@ public: private slots: void resetInterfaceColor(); - void resetExternalEditor(); void resetLanguage(); - void showHelpForExternalEditor(); #ifdef Q_OS_UNIX # ifndef Q_OS_MAC void showHelpForFileBrowser(); @@ -86,6 +84,7 @@ private: Ui::GeneralSettings *m_page; QString m_searchKeywords; QPointer<QMessageBox> m_dialog; + QPointer<QWidget> m_widget; }; } // namespace Internal diff --git a/src/plugins/coreplugin/generalsettings.ui b/src/plugins/coreplugin/generalsettings.ui index 5a281652a15..1ede3a8db88 100644 --- a/src/plugins/coreplugin/generalsettings.ui +++ b/src/plugins/coreplugin/generalsettings.ui @@ -7,7 +7,7 @@ <x>0</x> <y>0</y> <width>527</width> - <height>323</height> + <height>295</height> </rect> </property> <layout class="QVBoxLayout" name="verticalLayout"> @@ -145,51 +145,16 @@ </widget> </item> <item row="1" column="0"> - <widget class="QLabel" name="editorLabel"> - <property name="text"> - <string>External editor:</string> - </property> - </widget> - </item> - <item row="1" column="1"> - <widget class="QLineEdit" name="externalEditorEdit"/> - </item> - <item row="1" column="2"> - <widget class="QToolButton" name="resetEditorButton"> - <property name="toolTip"> - <string>Reset to default</string> - </property> - <property name="text"> - <string>R</string> - </property> - <property name="icon"> - <iconset resource="core.qrc"> - <normaloff>:/core/images/reset.png</normaloff>:/core/images/reset.png</iconset> - </property> - </widget> - </item> - <item row="1" column="3"> - <widget class="QToolButton" name="helpExternalEditorButton"> - <property name="text"> - <string>?</string> - </property> - <property name="icon"> - <iconset resource="core.qrc"> - <normaloff>:/core/images/help.png</normaloff>:/core/images/help.png</iconset> - </property> - </widget> - </item> - <item row="2" column="0"> <widget class="QLabel" name="externalFileBrowserLabel"> <property name="text"> <string>External file browser:</string> </property> </widget> </item> - <item row="2" column="1"> + <item row="1" column="1"> <widget class="QLineEdit" name="externalFileBrowserEdit"/> </item> - <item row="2" column="2"> + <item row="1" column="2"> <widget class="QToolButton" name="resetFileBrowserButton"> <property name="toolTip"> <string>Reset to default</string> @@ -203,7 +168,7 @@ </property> </widget> </item> - <item row="2" column="3"> + <item row="1" column="3"> <widget class="QToolButton" name="helpExternalFileBrowserButton"> <property name="text"> <string>?</string> @@ -214,7 +179,7 @@ </property> </widget> </item> - <item row="3" column="0" colspan="4"> + <item row="2" column="0" colspan="4"> <layout class="QHBoxLayout" name="horizontalLayout_2"> <item> <widget class="QLabel" name="modifiedLabel"> @@ -291,9 +256,6 @@ <tabstop>languageBox</tabstop> <tabstop>terminalEdit</tabstop> <tabstop>resetTerminalButton</tabstop> - <tabstop>externalEditorEdit</tabstop> - <tabstop>resetEditorButton</tabstop> - <tabstop>helpExternalEditorButton</tabstop> <tabstop>externalFileBrowserEdit</tabstop> <tabstop>resetFileBrowserButton</tabstop> <tabstop>helpExternalFileBrowserButton</tabstop> -- GitLab