@@ -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