forked from mia/Aegisub
Make double-click in the edit box smarter
Use the syntax highlighting's word splitting to decide what to select so that double-clicking on \Nword only selects 'word'.
This commit is contained in:
parent
b4284efb38
commit
ec6f14eef4
2 changed files with 10 additions and 0 deletions
|
@ -122,6 +122,7 @@ SubsTextEditCtrl::SubsTextEditCtrl(wxWindow* parent, wxSize wsize, long style, a
|
||||||
|
|
||||||
Bind(wxEVT_CONTEXT_MENU, &SubsTextEditCtrl::OnContextMenu, this);
|
Bind(wxEVT_CONTEXT_MENU, &SubsTextEditCtrl::OnContextMenu, this);
|
||||||
Bind(wxEVT_IDLE, std::bind(&SubsTextEditCtrl::UpdateCallTip, this));
|
Bind(wxEVT_IDLE, std::bind(&SubsTextEditCtrl::UpdateCallTip, this));
|
||||||
|
Bind(wxEVT_STC_DOUBLECLICK, &SubsTextEditCtrl::OnDoubleClick, this);
|
||||||
Bind(wxEVT_STC_STYLENEEDED, [=](wxStyledTextEvent&) {
|
Bind(wxEVT_STC_STYLENEEDED, [=](wxStyledTextEvent&) {
|
||||||
{
|
{
|
||||||
std::string text = GetTextRaw().data();
|
std::string text = GetTextRaw().data();
|
||||||
|
@ -349,6 +350,14 @@ void SubsTextEditCtrl::OnContextMenu(wxContextMenuEvent &event) {
|
||||||
PopupMenu(&menu);
|
PopupMenu(&menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SubsTextEditCtrl::OnDoubleClick(wxStyledTextEvent &evt) {
|
||||||
|
auto bounds = GetBoundsOfWordAtPosition(evt.GetPosition());
|
||||||
|
if (bounds.second != 0)
|
||||||
|
SetSelection(bounds.first, bounds.first + bounds.second);
|
||||||
|
else
|
||||||
|
evt.Skip();
|
||||||
|
}
|
||||||
|
|
||||||
void SubsTextEditCtrl::AddSpellCheckerEntries(wxMenu &menu) {
|
void SubsTextEditCtrl::AddSpellCheckerEntries(wxMenu &menu) {
|
||||||
if (currentWord.empty()) return;
|
if (currentWord.empty()) return;
|
||||||
|
|
||||||
|
|
|
@ -91,6 +91,7 @@ class SubsTextEditCtrl final : public ScintillaTextCtrl {
|
||||||
std::vector<agi::ass::DialogueToken> tokenized_line;
|
std::vector<agi::ass::DialogueToken> tokenized_line;
|
||||||
|
|
||||||
void OnContextMenu(wxContextMenuEvent &);
|
void OnContextMenu(wxContextMenuEvent &);
|
||||||
|
void OnDoubleClick(wxStyledTextEvent&);
|
||||||
void OnUseSuggestion(wxCommandEvent &event);
|
void OnUseSuggestion(wxCommandEvent &event);
|
||||||
void OnSetDicLanguage(wxCommandEvent &event);
|
void OnSetDicLanguage(wxCommandEvent &event);
|
||||||
void OnSetThesLanguage(wxCommandEvent &event);
|
void OnSetThesLanguage(wxCommandEvent &event);
|
||||||
|
|
Loading…
Reference in a new issue