File tree Expand file tree Collapse file tree 2 files changed +17
-4
lines changed Expand file tree Collapse file tree 2 files changed +17
-4
lines changed Original file line number Diff line number Diff line change @@ -106,14 +106,12 @@ Locator::Locator(GWidget* parent)
106
106
m_suggestion_view->scroll_into_view (new_index, Orientation::Vertical);
107
107
}
108
108
};
109
+
109
110
m_textbox->on_return_pressed = [this ] {
110
111
auto selected_index = m_suggestion_view->selection ().first ();
111
112
if (!selected_index.is_valid ())
112
113
return ;
113
- auto filename_index = m_suggestion_view->model ()->index (selected_index.row (), LocatorSuggestionModel::Column::Name);
114
- auto filename = m_suggestion_view->model ()->data (filename_index, GModel::Role::Display).to_string ();
115
- open_file (filename);
116
- close ();
114
+ open_suggestion (selected_index);
117
115
};
118
116
119
117
m_popup_window = GWindow::construct ();
@@ -125,12 +123,25 @@ Locator::Locator(GWidget* parent)
125
123
m_suggestion_view->set_size_columns_to_fit_content (true );
126
124
m_suggestion_view->set_headers_visible (false );
127
125
m_popup_window->set_main_widget (m_suggestion_view);
126
+
127
+
128
+ m_suggestion_view->on_activation = [this ](auto & index) {
129
+ open_suggestion (index);
130
+ };
128
131
}
129
132
130
133
Locator::~Locator ()
131
134
{
132
135
}
133
136
137
+ void Locator::open_suggestion (const GModelIndex& index)
138
+ {
139
+ auto filename_index = m_suggestion_view->model ()->index (index.row (), LocatorSuggestionModel::Column::Name);
140
+ auto filename = m_suggestion_view->model ()->data (filename_index, GModel::Role::Display).to_string ();
141
+ open_file (filename);
142
+ close ();
143
+ }
144
+
134
145
void Locator::open ()
135
146
{
136
147
m_textbox->set_focus (true );
Original file line number Diff line number Diff line change 3
3
#include < LibGUI/GWidget.h>
4
4
5
5
class LocatorTextBox ;
6
+ class GModelIndex ;
6
7
class GTableView ;
7
8
8
9
class Locator final : public GWidget {
@@ -17,6 +18,7 @@ class Locator final : public GWidget {
17
18
virtual void keydown_event (GKeyEvent&) override ;
18
19
19
20
void update_suggestions ();
21
+ void open_suggestion (const GModelIndex&);
20
22
21
23
explicit Locator (GWidget* parent);
22
24
You can’t perform that action at this time.
0 commit comments