Adds long press menu to article extractor button

This commit is contained in:
Stuart Breckenridge
2022-03-03 08:50:55 +08:00
parent e2242a7928
commit fc323c4072

View File

@@ -234,6 +234,7 @@ class ArticleViewController: UIViewController, MainControllerIdentifiable {
}
configureAppearanceMenu()
configureArticleExtractorMenu()
}
@@ -311,6 +312,29 @@ class ArticleViewController: UIViewController, MainControllerIdentifiable {
appearanceBarButtonItem.menu = menu
}
private func configureArticleExtractorMenu() {
if let feed = article?.webFeed {
let extractorOn = feed.isArticleExtractorAlwaysOn ?? false
let readerAction = UIAction(title: NSLocalizedString("Always Use Reader View", comment: "Always Use Reader View"),
image: AppAssets.articleExtractorOffSF,
identifier: nil,
discoverabilityTitle: nil,
attributes: [],
state: extractorOn ? .on : .off) { [weak self] _ in
if feed.isArticleExtractorAlwaysOn == nil {
feed.isArticleExtractorAlwaysOn = true
self?.currentWebViewController?.toggleArticleExtractor()
} else {
feed.isArticleExtractorAlwaysOn?.toggle()
}
self?.configureArticleExtractorMenu()
}
let menu = UIMenu(title: feed.nameForDisplay, image: AppAssets.articleExtractorOffSF, identifier: nil, options: .displayInline, children: [readerAction])
articleExtractorButton.menu = menu
articleExtractorButton.showsMenuAsPrimaryAction = false
}
}
@objc
func reloadDueToThemeChange(_ notification: Notification) {