* Sets the default search to the currently selected text (#1886)

* * Sets the default search to the currently selected text

* * Specification code
This commit is contained in:
BeyondXinXin 2021-09-25 11:25:01 +08:00 committed by GitHub
parent 606dcef16f
commit e4355eeb48
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 35 additions and 1 deletions

View File

@ -1115,6 +1115,23 @@ QPoint MarkdownViewWindow::getFloatingWidgetPosition()
return TextViewWindowHelper::getFloatingWidgetPosition(this); return TextViewWindowHelper::getFloatingWidgetPosition(this);
} }
QString MarkdownViewWindow::selectedText() const
{
switch (m_mode) {
case ViewWindowMode::FullPreview:
case ViewWindowMode::Invalid:
Q_FALLTHROUGH();
case ViewWindowMode::Read:
Q_ASSERT(m_viewer);
return m_viewer->selectedText();
case ViewWindowMode::Edit:
case ViewWindowMode::FocusPreview:
Q_ASSERT(m_editor);
return m_editor->getTextEdit()->selectedText();
}
return QString("");
}
void MarkdownViewWindow::handleImageHostChanged(const QString &p_hostName) void MarkdownViewWindow::handleImageHostChanged(const QString &p_hostName)
{ {
m_imageHost = ImageHostMgr::getInst().find(p_hostName); m_imageHost = ImageHostMgr::getInst().find(p_hostName);

View File

@ -93,6 +93,8 @@ namespace vnotex
QPoint getFloatingWidgetPosition() Q_DECL_OVERRIDE; QPoint getFloatingWidgetPosition() Q_DECL_OVERRIDE;
QString selectedText() const Q_DECL_OVERRIDE;
private: private:
void setupUI(); void setupUI();

View File

@ -291,3 +291,9 @@ QPoint TextViewWindow::getFloatingWidgetPosition()
{ {
return TextViewWindowHelper::getFloatingWidgetPosition(this); return TextViewWindowHelper::getFloatingWidgetPosition(this);
} }
QString TextViewWindow::selectedText() const
{
Q_ASSERT(m_editor);
return m_editor->getTextEdit()->selectedText();
}

View File

@ -66,6 +66,8 @@ namespace vnotex
QPoint getFloatingWidgetPosition() Q_DECL_OVERRIDE; QPoint getFloatingWidgetPosition() Q_DECL_OVERRIDE;
QString selectedText() const Q_DECL_OVERRIDE;
private: private:
void setupUI(); void setupUI();

View File

@ -655,6 +655,11 @@ void ViewWindow::handleImageHostChanged(const QString &p_hostName)
Q_ASSERT(false); Q_ASSERT(false);
} }
QString ViewWindow::selectedText() const
{
return QString();
}
ViewWindow::TypeAction ViewWindow::toolBarActionToTypeAction(ViewWindowToolBarHelper::Action p_action) ViewWindow::TypeAction ViewWindow::toolBarActionToTypeAction(ViewWindowToolBarHelper::Action p_action)
{ {
Q_ASSERT(p_action >= ViewWindowToolBarHelper::Action::TypeBold Q_ASSERT(p_action >= ViewWindowToolBarHelper::Action::TypeBold
@ -970,7 +975,7 @@ void ViewWindow::showFindAndReplaceWidget()
this, &ViewWindow::handleFindAndReplaceWidgetOpened); this, &ViewWindow::handleFindAndReplaceWidgetOpened);
} }
m_findAndReplace->open(QString()); m_findAndReplace->open(selectedText());
} }
void ViewWindow::hideFindAndReplaceWidget() void ViewWindow::hideFindAndReplaceWidget()

View File

@ -218,6 +218,8 @@ namespace vnotex
virtual void zoom(bool p_zoomIn) = 0; virtual void zoom(bool p_zoomIn) = 0;
virtual QString selectedText() const;
void showZoomFactor(qreal p_factor); void showZoomFactor(qreal p_factor);
void showZoomDelta(int p_delta); void showZoomDelta(int p_delta);