From bedb73e754c4221c6f1d144bcdc0afc221fc7922 Mon Sep 17 00:00:00 2001 From: Alexey Skobkin Date: Thu, 20 Nov 2014 20:47:47 +0400 Subject: [PATCH] - NSFW content filtration (#32) - Options auto save without closing (#29) --- chrome_point_plus/_locales/en/messages.json | 13 +++++++++-- chrome_point_plus/_locales/ru/messages.json | 13 +++++++++-- chrome_point_plus/css/point-plus.css | 4 ++++ chrome_point_plus/js/options.js | 22 +++++++++++++++---- chrome_point_plus/js/point-plus.js | 24 +++++++++++++++++++++ chrome_point_plus/manifest.json | 2 +- chrome_point_plus/options.html | 18 +++++++++++----- 7 files changed, 82 insertions(+), 14 deletions(-) diff --git a/chrome_point_plus/_locales/en/messages.json b/chrome_point_plus/_locales/en/messages.json index 7cb4d7a..b0e1337 100644 --- a/chrome_point_plus/_locales/en/messages.json +++ b/chrome_point_plus/_locales/en/messages.json @@ -10,8 +10,8 @@ }, - "options_buttons_save": { - "message": "Save" + "options_text_saved": { + "message": "Reload page to apply changes." }, @@ -68,6 +68,15 @@ "option_embedding_pleercom_nokita_server": { "message": "Use Nokita's server instead of AJAX to get mp3 link" }, + "option_nsfw": { + "message": "NSFW content filtering" + }, + "option_nsfw_blur": { + "message": "Blurring" + }, + "option_nsfw_blur_comments": { + "message": "Blur comments too" + }, "option_ctrl_enter": { "message": "Send post and comments by CTRL+Enter (deprecated)" }, diff --git a/chrome_point_plus/_locales/ru/messages.json b/chrome_point_plus/_locales/ru/messages.json index be48bfc..810c375 100644 --- a/chrome_point_plus/_locales/ru/messages.json +++ b/chrome_point_plus/_locales/ru/messages.json @@ -10,8 +10,8 @@ }, - "options_buttons_save": { - "message": "Сохранить" + "options_text_saved": { + "message": "Для применения изменений перезагрузите страницу." }, @@ -68,6 +68,15 @@ "option_embedding_pleercom_nokita_server": { "message": "Использовать сервер @NokitaKaze вместо AJAX-запроса для получения mp3" }, + "option_nsfw": { + "message": "Фильтрация NSFW-контента" + }, + "option_nsfw_blur": { + "message": "Размытие небезопасных постов" + }, + "option_nsfw_blur_comments": { + "message": "Размытие комментариев" + }, "option_ctrl_enter": { "message": "Отправлять текст по CTRL+Enter (устарело)" }, diff --git a/chrome_point_plus/css/point-plus.css b/chrome_point_plus/css/point-plus.css index 5276d68..e24c5f1 100644 --- a/chrome_point_plus/css/point-plus.css +++ b/chrome_point_plus/css/point-plus.css @@ -151,6 +151,10 @@ div#markItUpText-input { float: right; } +.pp-options #status { + display: block; +} + .pp-options #pp-version { margin-top: 6px; text-align: right; diff --git a/chrome_point_plus/js/options.js b/chrome_point_plus/js/options.js index dbaf33b..16b0bc7 100644 --- a/chrome_point_plus/js/options.js +++ b/chrome_point_plus/js/options.js @@ -23,6 +23,12 @@ var ppOptions = [ // Pleer.com 'option_embedding_pleercom', 'option_embedding_pleercom_nokita_server', + // NSFW filtering + 'option_nsfw', + // Blured pictures + 'option_nsfw_blur', + // Blur comments too + 'option_nsfw_blur_comments', // CTRL+Enter 'option_ctrl_enter', // Fluid layout @@ -65,6 +71,9 @@ function pp_save_options() { ppOptions.option_embedding_soundcloud_orig_link = $('#option-embedding-soundcloud-orig-link').prop('checked'); ppOptions.option_embedding_pleercom = $('#option-embedding-pleercom').prop('checked'); ppOptions.option_embedding_pleercom_nokita_server = $('#option-embedding-pleercom-nokita-server').prop('checked'); + ppOptions.option_nsfw = $('#option-nsfw').prop('checked'); + ppOptions.option_nsfw_blur = $('#option-nsfw-blur').prop('checked'); + ppOptions.option_nsfw_blur_comments = $('#option-nsfw-blur-comments').prop('checked'); ppOptions.option_visual_editor_post = $('#option-visual-editor-post').prop('checked'); ppOptions.checkbox_search_with_google = $('#option-search-with-google').prop('checked'); ppOptions.option_ws = $('#option-ws').prop('checked'); @@ -83,10 +92,7 @@ function pp_save_options() { // Saving parameters chrome.storage.sync.set(ppOptions, function() { // Update status to let user know options were saved. - $('#status').html('Options Saved.'); - setTimeout(function() { - window.close(); - }, 1500); + $('#status').html(chrome.i18n.getMessage('options_text_saved')); }); } @@ -127,6 +133,14 @@ if (point_plus_options_save_button !== null) { point_plus_options_save_button.addEventListener('click', pp_save_options); } +// Binding event listeners +$(function() { + // Delegating events + $('#tabs-content').on('click', 'input', function() { + pp_save_options(); + }); +}); + // Getting version from manifest.json function getVersion() { var xhr = new XMLHttpRequest(); diff --git a/chrome_point_plus/js/point-plus.js b/chrome_point_plus/js/point-plus.js index ef02c71..a3e8788 100644 --- a/chrome_point_plus/js/point-plus.js +++ b/chrome_point_plus/js/point-plus.js @@ -105,6 +105,30 @@ $(document).ready(function() { } } + // NSFW Filtering + if (options.option_nsfw == true) { + // Blurred posts + if (options.option_nsfw_blur == true) { + console.log('Bluring NSFW posts'); + + $('.post').each(function() { + $(this).find('a.tag').each(function() { + if ($(this).html().toLowerCase() == 'nsfw') { + console.log('NSFW tag found!'); + + $(this).wrapInner(''); + $(this).parent().siblings('.text').css('-webkit-filter', 'blur(30px)'); + + // Blurred comments + if (options.option_nsfw_blur_comments == true) { + $('#comments').css('-webkit-filter', 'blur(30px)'); + } + } + }); + }); + } + } + // Hotkeys // Send by CTRL+Enter if (options.option_ctrl_enter == true) { diff --git a/chrome_point_plus/manifest.json b/chrome_point_plus/manifest.json index 17b9f03..8f24022 100644 --- a/chrome_point_plus/manifest.json +++ b/chrome_point_plus/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 2, "name": "Point+", - "version": "1.12.0", + "version": "1.13.0", "default_locale": "ru", "author": "__MSG_ext_author__", "homepage_url": "https://bitbucket.org/skobkin/chrome_point_plus", diff --git a/chrome_point_plus/options.html b/chrome_point_plus/options.html index c9f0fb9..7921687 100644 --- a/chrome_point_plus/options.html +++ b/chrome_point_plus/options.html @@ -69,6 +69,18 @@ + +
+ + +
+ + +
+ +
+
+
@@ -149,11 +161,7 @@
-
- -
- -
+