forked from qt-creator/qt-creator
FakeVim: Use new IOptionsPage convenience functions
Change-Id: I739fe152a4f642a19c90be71bbe5adbc8747f402 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -371,115 +371,93 @@ public:
|
|||||||
setCategory(SETTINGS_CATEGORY);
|
setCategory(SETTINGS_CATEGORY);
|
||||||
setDisplayCategory(Tr::tr("FakeVim"));
|
setDisplayCategory(Tr::tr("FakeVim"));
|
||||||
setCategoryIconPath(":/fakevim/images/settingscategory_fakevim.png");
|
setCategoryIconPath(":/fakevim/images/settingscategory_fakevim.png");
|
||||||
|
setLayouter([this](QWidget *widget) { return layoutPage(widget); });
|
||||||
|
setSettings(fakeVimSettings());
|
||||||
}
|
}
|
||||||
|
|
||||||
QWidget *widget() override;
|
|
||||||
void apply() override;
|
|
||||||
void finish() override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void layoutPage(QWidget *);
|
||||||
void copyTextEditorSettings();
|
void copyTextEditorSettings();
|
||||||
void setQtStyle();
|
void setQtStyle();
|
||||||
void setPlainStyle();
|
void setPlainStyle();
|
||||||
void updateVimRcWidgets();
|
void updateVimRcWidgets();
|
||||||
|
|
||||||
QPointer<QWidget> m_widget;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
QWidget *FakeVimOptionPage::widget()
|
void FakeVimOptionPage::layoutPage(QWidget *widget)
|
||||||
{
|
{
|
||||||
if (!m_widget) {
|
auto copyTextEditorSettings = new QPushButton(Tr::tr("Copy Text Editor Settings"));
|
||||||
m_widget = new QWidget;
|
auto setQtStyle = new QPushButton(Tr::tr("Set Qt Style"));
|
||||||
|
auto setPlainStyle = new QPushButton(Tr::tr("Set Plain Style"));
|
||||||
|
|
||||||
auto copyTextEditorSettings = new QPushButton(tr("Copy Text Editor Settings"));
|
using namespace Layouting;
|
||||||
auto setQtStyle = new QPushButton(tr("Set Qt Style"));
|
FakeVimSettings &s = *fakeVimSettings();
|
||||||
auto setPlainStyle = new QPushButton(tr("Set Plain Style"));
|
|
||||||
|
|
||||||
using namespace Layouting;
|
|
||||||
FakeVimSettings &s = *fakeVimSettings();
|
|
||||||
|
|
||||||
Row bools {
|
|
||||||
Column {
|
|
||||||
s.autoIndent,
|
|
||||||
s.smartIndent,
|
|
||||||
s.expandTab,
|
|
||||||
s.smartTab,
|
|
||||||
s.hlSearch,
|
|
||||||
s.showCmd,
|
|
||||||
s.startOfLine,
|
|
||||||
s.passKeys,
|
|
||||||
s.blinkingCursor
|
|
||||||
},
|
|
||||||
Column {
|
|
||||||
s.incSearch,
|
|
||||||
s.useCoreSearch,
|
|
||||||
s.ignoreCase,
|
|
||||||
s.smartCase,
|
|
||||||
s.wrapScan,
|
|
||||||
s.showMarks,
|
|
||||||
s.passControlKey,
|
|
||||||
s.relativeNumber,
|
|
||||||
s.tildeOp
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
Row ints { s.shiftWidth, s.tabStop, s.scrollOff, Stretch() };
|
|
||||||
|
|
||||||
Column strings {
|
|
||||||
s.backspace,
|
|
||||||
s.isKeyword,
|
|
||||||
Row {s.readVimRc, s.vimRcPath}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
Row bools {
|
||||||
Column {
|
Column {
|
||||||
s.useFakeVim,
|
s.autoIndent,
|
||||||
|
s.smartIndent,
|
||||||
|
s.expandTab,
|
||||||
|
s.smartTab,
|
||||||
|
s.hlSearch,
|
||||||
|
s.showCmd,
|
||||||
|
s.startOfLine,
|
||||||
|
s.passKeys,
|
||||||
|
s.blinkingCursor
|
||||||
|
},
|
||||||
|
Column {
|
||||||
|
s.incSearch,
|
||||||
|
s.useCoreSearch,
|
||||||
|
s.ignoreCase,
|
||||||
|
s.smartCase,
|
||||||
|
s.wrapScan,
|
||||||
|
s.showMarks,
|
||||||
|
s.passControlKey,
|
||||||
|
s.relativeNumber,
|
||||||
|
s.tildeOp
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
Group {
|
Row ints { s.shiftWidth, s.tabStop, s.scrollOff, Stretch() };
|
||||||
Title(tr("Vim Behavior")),
|
|
||||||
bools,
|
|
||||||
ints,
|
|
||||||
strings
|
|
||||||
},
|
|
||||||
|
|
||||||
Group {
|
Column strings {
|
||||||
Title(tr("Plugin Emulation")),
|
s.backspace,
|
||||||
s.emulateVimCommentary,
|
s.isKeyword,
|
||||||
s.emulateReplaceWithRegister,
|
Row {s.readVimRc, s.vimRcPath}
|
||||||
s.emulateArgTextObj,
|
};
|
||||||
s.emulateExchange,
|
|
||||||
s.emulateSurround
|
|
||||||
},
|
|
||||||
|
|
||||||
Row { copyTextEditorSettings, setQtStyle, setPlainStyle, Stretch() },
|
Column {
|
||||||
Stretch()
|
s.useFakeVim,
|
||||||
|
|
||||||
}.attachTo(m_widget, true);
|
Group {
|
||||||
|
Title(Tr::tr("Vim Behavior")),
|
||||||
|
bools,
|
||||||
|
ints,
|
||||||
|
strings
|
||||||
|
},
|
||||||
|
|
||||||
connect(copyTextEditorSettings, &QAbstractButton::clicked,
|
Group {
|
||||||
this, &FakeVimOptionPage::copyTextEditorSettings);
|
Title(Tr::tr("Plugin Emulation")),
|
||||||
connect(setQtStyle, &QAbstractButton::clicked,
|
s.emulateVimCommentary,
|
||||||
this, &FakeVimOptionPage::setQtStyle);
|
s.emulateReplaceWithRegister,
|
||||||
connect(setPlainStyle, &QAbstractButton::clicked,
|
s.emulateArgTextObj,
|
||||||
this, &FakeVimOptionPage::setPlainStyle);
|
s.emulateExchange,
|
||||||
connect(&s.readVimRc, &FvBaseAspect::changed,
|
s.emulateSurround
|
||||||
this, &FakeVimOptionPage::updateVimRcWidgets);
|
},
|
||||||
updateVimRcWidgets();
|
|
||||||
}
|
|
||||||
return m_widget;
|
|
||||||
}
|
|
||||||
|
|
||||||
void FakeVimOptionPage::apply()
|
Row { copyTextEditorSettings, setQtStyle, setPlainStyle, Stretch() },
|
||||||
{
|
Stretch()
|
||||||
FakeVimSettings &s = *fakeVimSettings();
|
|
||||||
s.apply();
|
|
||||||
s.writeSettings(ICore::settings());
|
|
||||||
}
|
|
||||||
|
|
||||||
void FakeVimOptionPage::finish()
|
}.attachTo(widget, true);
|
||||||
{
|
|
||||||
FakeVimSettings &s = *fakeVimSettings();
|
connect(copyTextEditorSettings, &QAbstractButton::clicked,
|
||||||
s.cancel();
|
this, &FakeVimOptionPage::copyTextEditorSettings);
|
||||||
delete m_widget;
|
connect(setQtStyle, &QAbstractButton::clicked,
|
||||||
|
this, &FakeVimOptionPage::setQtStyle);
|
||||||
|
connect(setPlainStyle, &QAbstractButton::clicked,
|
||||||
|
this, &FakeVimOptionPage::setPlainStyle);
|
||||||
|
connect(&s.readVimRc, &FvBaseAspect::changed,
|
||||||
|
this, &FakeVimOptionPage::updateVimRcWidgets);
|
||||||
|
updateVimRcWidgets();
|
||||||
}
|
}
|
||||||
|
|
||||||
void FakeVimOptionPage::copyTextEditorSettings()
|
void FakeVimOptionPage::copyTextEditorSettings()
|
||||||
|
|||||||
Reference in New Issue
Block a user