ソースを参照

LibGUI: Return focus to view when stopping editing

If the editing widget (as provided by the editing delegate) was focused
when editing stops, have the view take back focus.
Andreas Kling 5 年 前
コミット
0f0b37d137
1 ファイル変更4 行追加0 行削除
  1. 4 0
      Libraries/LibGUI/AbstractView.cpp

+ 4 - 0
Libraries/LibGUI/AbstractView.cpp

@@ -151,11 +151,15 @@ void AbstractView::begin_editing(const ModelIndex& index)
 
 void AbstractView::stop_editing()
 {
+    bool take_back_focus = false;
     m_edit_index = {};
     if (m_edit_widget) {
+        take_back_focus = m_edit_widget->is_focused();
         remove_child(*m_edit_widget);
         m_edit_widget = nullptr;
     }
+    if (take_back_focus)
+        set_focus(true);
 }
 
 void AbstractView::activate(const ModelIndex& index)