From 8f08659088599dac89c51a7a1f2cbd432c384c65 Mon Sep 17 00:00:00 2001 From: Dieter Debast Date: Fri, 7 Apr 2017 23:42:22 +0200 Subject: [PATCH] Moved payments key to Package class --- src/Core/Package.vala | 10 ++++++++++ src/Widgets/AbstractAppContainer.vala | 7 ++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/Core/Package.vala b/src/Core/Package.vala index 9d391f8c7..d6c7935a7 100644 --- a/src/Core/Package.vala +++ b/src/Core/Package.vala @@ -98,6 +98,7 @@ public class AppCenterCore.Package : Object { private string? summary = null; private string? color_primary = null; private string? color_primary_text = null; + private string? payments_key = null; private string? _latest_version = null; public string? latest_version { private get { return _latest_version; } @@ -371,6 +372,15 @@ public class AppCenterCore.Package : Object { } } + public string? get_payments_key () { + if (payments_key != null) { + return payments_key; + } else { + payments_key = component.get_custom_value ("x-appcenter-stripe"); + return payments_key; + } + } + private string convert_version (string version) { string returned = version; returned = returned.split ("+", 2)[0]; diff --git a/src/Widgets/AbstractAppContainer.vala b/src/Widgets/AbstractAppContainer.vala index f85f8d8a6..a4e730f2f 100644 --- a/src/Widgets/AbstractAppContainer.vala +++ b/src/Widgets/AbstractAppContainer.vala @@ -67,16 +67,13 @@ namespace AppCenter { } } - private string? payments_key_ = null; public bool payments_enabled { get { if (this.package == null || this.package.component == null || updates_view) { return false; - } else if (payments_key_ == null) { - payments_key_ = this.package.component.get_custom_value ("x-appcenter-stripe"); } - return payments_key_ != null; + return this.package.get_payments_key() != null; } } @@ -93,7 +90,7 @@ namespace AppCenter { action_button.download_requested.connect (() => action_clicked.begin ()); action_button.payment_requested.connect ((amount) => { - var stripe = new Widgets.StripeDialog (amount, this.package_name.label, this.package.component.get_desktop_id ().replace (".desktop", ""), payments_key_); + var stripe = new Widgets.StripeDialog (amount, this.package_name.label, this.package.component.get_desktop_id ().replace (".desktop", ""), this.package.get_payments_key()); stripe.download_requested.connect (() => action_clicked.begin ()); stripe.show ();