From 4d8f55470d914bb2e866dfe244bff1b6d8239556 Mon Sep 17 00:00:00 2001 From: Stefan Hundhammer Date: Wed, 30 Jan 2019 16:40:31 +0100 Subject: [PATCH 1/4] Use standard button label to enable translations --- src/lib/apparmor/apparmor_ui_dialog.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/apparmor/apparmor_ui_dialog.rb b/src/lib/apparmor/apparmor_ui_dialog.rb index bc209aa..4208244 100644 --- a/src/lib/apparmor/apparmor_ui_dialog.rb +++ b/src/lib/apparmor/apparmor_ui_dialog.rb @@ -125,7 +125,7 @@ def run VSpacing(0.3), InputField(Id(:str), Opt(:hstretch), @text, @default), VSpacing(0.3), - PushButton('&OK') + PushButton(Label.OKButton) ) ) Yast::UI.UserInput() From 859f4e7d2fd44b7003e1fcf50180bb754e17670f Mon Sep 17 00:00:00 2001 From: Stefan Hundhammer Date: Wed, 30 Jan 2019 16:40:49 +0100 Subject: [PATCH 2/4] Implemented changes (diff) dialog --- src/lib/apparmor/apparmor_ui_dialog.rb | 50 ++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/src/lib/apparmor/apparmor_ui_dialog.rb b/src/lib/apparmor/apparmor_ui_dialog.rb index 4208244..6481446 100644 --- a/src/lib/apparmor/apparmor_ui_dialog.rb +++ b/src/lib/apparmor/apparmor_ui_dialog.rb @@ -238,6 +238,54 @@ def menu_buttons end end + # Dialog that shows the changes (the diff) between the old and the new profile + class ChangesDialog + include Yast::UIShortcuts + include Yast::I18n + include Yast::Logger + include Yast + + def initialize(hm) + log.info "Hash map #{hm}" + @header = hm["header"] + @filename = hm["filename"] + end + + def run + UI.OpenDialog( + Opt(:decorated, :defaultsize), + VBox( + dialog_header, + VSpacing(0.3), + RichText(Opt(:plainText), changes_content), + VSpacing(0.3), + PushButton(Label.OKButton) + ) + ) + + Yast::UI.UserInput + Yast::UI.CloseDialog + + { + "dialog" => "changes", + "response" => "ignored" + } + end + + private + + def dialog_header + return Empty() if @header.nil? + # Not using a Heading widget here for consistency with the rest of this module + Label(@header) + end + + def changes_content + return "" if @filename.nil? + File.read(@filename) + end + end + # Checks JSON version of the tool and if we are compatible class AAJSONVersion include Yast::I18n @@ -277,6 +325,7 @@ def execute l = get_dialog(hm) r = l.run unless r.nil? + log.info("Sending reply #{r.to_json}") f.puts r.to_json f.flush end @@ -295,6 +344,7 @@ def execute 'getstring' => GetStringDialog, 'getfile' => GetFileDialog, 'promptuser' => PromptDialog, + 'changes' => ChangesDialog, 'apparmor-json-version' => AAJSONVersion } From 13aafe52155f1496cd1934493603ecde4cc7577a Mon Sep 17 00:00:00 2001 From: Stefan Hundhammer Date: Wed, 30 Jan 2019 16:46:50 +0100 Subject: [PATCH 3/4] Properly line up radio buttons --- src/lib/apparmor/apparmor_ui_dialog.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/apparmor/apparmor_ui_dialog.rb b/src/lib/apparmor/apparmor_ui_dialog.rb index 6481446..303e1ca 100644 --- a/src/lib/apparmor/apparmor_ui_dialog.rb +++ b/src/lib/apparmor/apparmor_ui_dialog.rb @@ -214,10 +214,10 @@ def options_radio_buttons return box if @options.nil? @options.each_with_index do |opt, i| log.info "opt #{opt} i #{i}" - box << RadioButton(Id(i.to_s), opt.to_s, i == 0) + box << Left(RadioButton(Id(i.to_s), opt.to_s, i == 0)) box << VSpacing(1) end - VBox(RadioButtonGroup(Id(:options), box)) + VBox(RadioButtonGroup(Id(:options), HSquash(box))) end def menu_to_text_key(menu) From 023c2132a31668e850bb041a58db404cc7adf943 Mon Sep 17 00:00:00 2001 From: Stefan Hundhammer Date: Wed, 30 Jan 2019 16:53:00 +0100 Subject: [PATCH 4/4] Version bump and change log --- package/yast2-apparmor.changes | 8 ++++++++ package/yast2-apparmor.spec | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/package/yast2-apparmor.changes b/package/yast2-apparmor.changes index 3788e20..8e0a9b5 100644 --- a/package/yast2-apparmor.changes +++ b/package/yast2-apparmor.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Jan 30 15:51:08 UTC 2019 - Stefan Hundhammer + +- Implemented "changes" dialog for "scan audit logs" (bsc#1120043) +- Properly line up radio buttons +- Allow to translate "OK" button +- 4.1.7 + ------------------------------------------------------------------- Mon Jan 28 13:16:50 UTC 2019 - Stefan Hundhammer diff --git a/package/yast2-apparmor.spec b/package/yast2-apparmor.spec index 1e94766..31b3c5b 100644 --- a/package/yast2-apparmor.spec +++ b/package/yast2-apparmor.spec @@ -17,7 +17,7 @@ Name: yast2-apparmor -Version: 4.1.6 +Version: 4.1.7 Release: 0 Summary: YaST2 - Plugins for AppArmor Profile Management Url: https://github.com/yast/yast-apparmor