Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions data/styles/SearchPage.scss
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
navigation-view-page.search stack.large row {
border-radius: 0.25em;
navigation-view-page.search {
gridview {
border-spacing: 1em 2em;
}
}

search-list-item {
Expand Down
37 changes: 16 additions & 21 deletions src/Views/SearchView.vala
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,9 @@ public class AppCenter.SearchView : Adw.NavigationPage {
public bool mimetype { get; set; default = false; }

private AppCenterCore.SearchEngine search_engine;
private Gtk.ListView list_view;
private Gtk.GridView grid_view;
private Gtk.NoSelection selection_model;
private Gtk.ScrolledWindow scrolled;
private Gtk.SearchEntry search_entry;
private Gtk.Stack stack;
private Granite.Placeholder alert_view;
Expand Down Expand Up @@ -72,31 +73,25 @@ public class AppCenter.SearchView : Adw.NavigationPage {

var factory = new Gtk.SignalListItemFactory ();

list_view = new Gtk.ListView (selection_model, factory) {
single_click_activate = true,
hexpand = true,
vexpand = true
grid_view = new Gtk.GridView (selection_model, factory) {
halign = CENTER,
max_columns = 2,
single_click_activate = true
};

scrolled = new Gtk.ScrolledWindow () {
child = grid_view,
hscrollbar_policy = NEVER
};

stack = new Gtk.Stack () {
vhomogeneous = false
};
stack.add_child (alert_view);
stack.add_child (list_view);

var clamp = new Adw.Clamp () {
child = stack,
maximum_size = 800,
tightening_threshold = 800
};

var scrolled = new Gtk.ScrolledWindow () {
child = clamp,
hscrollbar_policy = NEVER
};
stack.add_child (scrolled);

var toolbarview = new Adw.ToolbarView () {
content = scrolled
content = stack
};
toolbarview.add_top_bar (headerbar);

Expand All @@ -121,7 +116,7 @@ public class AppCenter.SearchView : Adw.NavigationPage {
((SearchListItem) list_item.child).package = (AppCenterCore.Package) list_item.item;
});

list_view.activate.connect ((index) => {
grid_view.activate.connect ((index) => {
show_app ((AppCenterCore.Package) selection_model.get_item (index));
});

Expand Down Expand Up @@ -169,10 +164,10 @@ public class AppCenter.SearchView : Adw.NavigationPage {
}

private void on_items_changed () {
list_view.scroll_to (0, NONE, null);
grid_view.scroll_to (0, NONE, null);

if (selection_model.n_items > 0) {
stack.visible_child = list_view;
stack.visible_child = scrolled;
} else {
stack.visible_child = alert_view;
}
Expand Down
8 changes: 7 additions & 1 deletion src/Widgets/SearchListItem.vala
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,19 @@ public class AppCenter.SearchListItem : Gtk.Grid {
app_icon = new AppIcon (48);

name_label = new Gtk.Label (null) {
ellipsize = END,
max_width_chars = 30,
valign = END,
wrap = true,
xalign = 0
};
name_label.add_css_class (Granite.STYLE_CLASS_H3_LABEL);

summary_label = new Gtk.Label (null) {
ellipsize = END,
hexpand = true,
lines = 2,
width_chars = 20,
max_width_chars = 35,
valign = START,
wrap = true,
xalign = 0
Expand Down
Loading