Skip to content

Commit d17b1bf

Browse files
authored
InstalledPackageRowGrid: put version number inline with name (#2347)
1 parent c1124d8 commit d17b1bf

1 file changed

Lines changed: 21 additions & 37 deletions

File tree

src/Widgets/AppContainers/InstalledPackageRowGrid.vala

Lines changed: 21 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@ public class AppCenter.Widgets.InstalledPackageRowGrid : Granite.Bin {
1616
}
1717
}
1818

19-
private AppStream.Release? newest = null;
20-
private Gtk.Label app_version;
19+
private Gtk.Label package_name;
2120
private Gtk.Revealer release_button_revealer;
2221
private ActionStack action_stack;
2322

@@ -49,42 +48,45 @@ public class AppCenter.Widgets.InstalledPackageRowGrid : Granite.Bin {
4948
updates_view = true
5049
};
5150

52-
var package_name = new Gtk.Label (package.name) {
51+
package_name = new Gtk.Label (package.name) {
52+
hexpand = true,
5353
wrap = true,
5454
max_width_chars = 25,
55+
use_markup = true,
5556
valign = END,
5657
xalign = 0
5758
};
5859
package_name.add_css_class (Granite.STYLE_CLASS_H3_LABEL);
5960

60-
app_version = new Gtk.Label (null) {
61-
ellipsize = END,
62-
valign = START,
63-
xalign = 0
64-
};
65-
app_version.add_css_class (Granite.STYLE_CLASS_DIM_LABEL);
66-
app_version.add_css_class (Granite.STYLE_CLASS_SMALL_LABEL);
67-
6861
var release_button = new Gtk.Button.from_icon_name ("view-reader-symbolic") {
6962
margin_start = 12,
7063
tooltip_text = _("Release notes"),
71-
valign = Gtk.Align.CENTER
64+
halign = END,
65+
valign = CENTER
7266
};
7367

7468
release_button_revealer = new Gtk.Revealer () {
7569
child = release_button,
76-
halign = END,
77-
hexpand = true,
7870
transition_type = SLIDE_RIGHT
7971
};
8072

8173
var grid = new Gtk.Grid ();
8274
grid.attach (app_icon, 0, 0, 1, 2);
8375
grid.attach (package_name, 1, 0);
84-
grid.attach (app_version, 1, 1);
8576
grid.attach (release_button_revealer, 2, 0, 1, 2);
8677
grid.attach (action_stack, 3, 0, 1, 2);
8778

79+
if (package.has_multiple_origins) {
80+
var origin_label = new Gtk.Label (package.origin_description) {
81+
valign = START,
82+
xalign = 0
83+
};
84+
origin_label.add_css_class (Granite.STYLE_CLASS_DIM_LABEL);
85+
origin_label.add_css_class (Granite.STYLE_CLASS_SMALL_LABEL);
86+
87+
grid.attach (origin_label, 1, 1);
88+
}
89+
8890
child = grid;
8991

9092
release_button.clicked.connect (() => {
@@ -96,35 +98,17 @@ public class AppCenter.Widgets.InstalledPackageRowGrid : Granite.Bin {
9698
}
9799

98100
private void set_up_package () {
99-
if (package.get_version () != null) {
100-
if (package.has_multiple_origins) {
101-
app_version.label = "%s%s".printf (package.get_version (), package.origin_description);
102-
} else {
103-
app_version.label = package.get_version ();
104-
}
105-
}
106-
107101
package.notify["state"].connect (() => {
108102
update_state ();
109103
});
110-
update_state (true);
104+
update_state ();
111105
}
112106

113-
private void update_state (bool first_update = false) {
114-
if (!first_update && package.get_version != null) {
115-
if (package.has_multiple_origins) {
116-
app_version.label = "%s - %s".printf (package.get_version (), package.origin_description);
117-
} else {
118-
app_version.label = package.get_version ();
119-
}
120-
}
121-
122-
if (newest == null) {
123-
newest = package.get_newest_release ();
124-
}
125-
107+
private void update_state () {
108+
var newest = package.get_newest_release ();
126109
if (newest != null && newest.get_version () != null) {
127110
release_button_revealer.reveal_child = true;
111+
package_name.label = "%s <span alpha=\"70%\" size=\"small\">%s</span>".printf (package.name, package.get_version ());
128112
}
129113

130114
changed ();

0 commit comments

Comments
 (0)