summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2014-04-15 10:10:29 +0200
committerGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2014-04-15 10:10:29 +0200
commit339a12698c07eb466c6a1ab8ffa856d8a8e1f506 (patch)
treed599dd61687b5b4ccd5aa07ae5c500533dc4bcef
parent951a137f2d05594dd0b61b9d86567cf4e9a12f5a (diff)
parentbdd7b7b13e6fdcdb9110cbee3618bf2b5fc89b71 (diff)
Merge pull request #486 from aledeg/simple-layout
New toggle buttons to filter articles (was: Delete favorite button)
-rw-r--r--app/Controllers/importExportController.php4
-rwxr-xr-xapp/Controllers/indexController.php13
-rw-r--r--app/Models/Configuration.php4
-rw-r--r--app/Models/Entry.php5
-rw-r--r--app/Models/EntryDAO.php39
-rw-r--r--app/Models/Themes.php1
-rw-r--r--app/i18n/en.php3
-rw-r--r--app/i18n/fr.php1
-rw-r--r--app/layout/nav_menu.phtml172
-rw-r--r--app/views/configure/reading.phtml4
-rw-r--r--p/api/greader.php8
-rw-r--r--p/themes/Dark/freshrss.css4
-rw-r--r--p/themes/Dark/global.css6
-rw-r--r--p/themes/Flat/freshrss.css4
-rw-r--r--p/themes/Flat/global.css6
-rw-r--r--p/themes/Flat/icons/rss.svg6
-rw-r--r--p/themes/Origine/freshrss.css4
-rw-r--r--p/themes/Origine/global.css6
-rw-r--r--p/themes/icons/rss.svg2
19 files changed, 171 insertions, 121 deletions
diff --git a/app/Controllers/importExportController.php b/app/Controllers/importExportController.php
index a9b103a34..3cd791781 100644
--- a/app/Controllers/importExportController.php
+++ b/app/Controllers/importExportController.php
@@ -370,7 +370,7 @@ class FreshRSS_importExport_Controller extends Minz_ActionController {
$this->view->type = 'starred';
$unread_fav = $this->entryDAO->countUnreadReadFavorites();
$this->view->entries = $this->entryDAO->listWhere(
- 's', '', 'all', 'ASC',
+ 's', '', FreshRSS_Entry::STATE_ALL, 'ASC',
$unread_fav['all']
);
} elseif ($type == 'feed' && !is_null($feed)) {
@@ -379,7 +379,7 @@ class FreshRSS_importExport_Controller extends Minz_ActionController {
);
$this->view->type = 'feed/' . $feed->id();
$this->view->entries = $this->entryDAO->listWhere(
- 'f', $feed->id(), 'all', 'ASC',
+ 'f', $feed->id(), FreshRSS_Entry::STATE_ALL, 'ASC',
$this->view->conf->posts_per_page
);
$this->view->feed = $feed;
diff --git a/app/Controllers/indexController.php b/app/Controllers/indexController.php
index 9da1e5022..3445c0bd4 100755
--- a/app/Controllers/indexController.php
+++ b/app/Controllers/indexController.php
@@ -85,18 +85,19 @@ class FreshRSS_index_Controller extends Minz_ActionController {
$state_param = Minz_Request::param ('state', null);
$filter = Minz_Request::param ('search', '');
if (!empty($filter)) {
- $state = 'all'; //Search always in read and unread articles
+ $state = FreshRSS_Entry::STATE_ALL; //Search always in read and unread articles
}
$this->view->order = $order = Minz_Request::param ('order', $this->view->conf->sort_order);
$nb = Minz_Request::param ('nb', $this->view->conf->posts_per_page);
$first = Minz_Request::param ('next', '');
- if ($state === 'not_read') { //Any unread article in this category at all?
+ if ($state === FreshRSS_Entry::STATE_NOT_READ) { //Any unread article in this category at all?
switch ($getType) {
case 'a':
$hasUnread = $this->view->nb_not_read > 0;
break;
case 's':
+ // This is deprecated. The favorite button does not exist anymore
$hasUnread = $this->view->nb_favorites['unread'] > 0;
break;
case 'c':
@@ -111,7 +112,7 @@ class FreshRSS_index_Controller extends Minz_ActionController {
break;
}
if (!$hasUnread && ($state_param === null)) {
- $this->view->state = $state = 'all';
+ $this->view->state = $state = FreshRSS_Entry::STATE_ALL;
}
}
@@ -128,10 +129,10 @@ class FreshRSS_index_Controller extends Minz_ActionController {
// Si on a récupéré aucun article "non lus"
// on essaye de récupérer tous les articles
- if ($state === 'not_read' && empty($entries) && ($state_param === null)) {
+ if ($state === FreshRSS_Entry::STATE_NOT_READ && empty($entries) && ($state_param === null)) {
Minz_Log::record ('Conflicting information about nbNotRead!', Minz_Log::DEBUG);
- $this->view->state = 'all';
- $entries = $entryDAO->listWhere($getType, $getId, 'all', $order, $nb, $first, $filter, $date_min, true, $keepHistoryDefault);
+ $this->view->state = FreshRSS_Entry::STATE_ALL;
+ $entries = $entryDAO->listWhere($getType, $getId, $this->view->state, $order, $nb, $first, $filter, $date_min, true, $keepHistoryDefault);
}
if (count($entries) <= $nb) {
diff --git a/app/Models/Configuration.php b/app/Models/Configuration.php
index 80031369e..4b52fa05b 100644
--- a/app/Models/Configuration.php
+++ b/app/Models/Configuration.php
@@ -13,7 +13,7 @@ class FreshRSS_Configuration {
'apiPasswordHash' => '', //CRYPT_BLOWFISH
'posts_per_page' => 20,
'view_mode' => 'normal',
- 'default_view' => 'not_read',
+ 'default_view' => FreshRSS_Entry::STATE_NOT_READ,
'auto_load_more' => true,
'display_posts' => false,
'onread_jump_next' => true,
@@ -131,7 +131,7 @@ class FreshRSS_Configuration {
}
}
public function _default_view ($value) {
- $this->data['default_view'] = $value === 'all' ? 'all' : 'not_read';
+ $this->data['default_view'] = $value === FreshRSS_Entry::STATE_ALL ? FreshRSS_Entry::STATE_ALL : FreshRSS_Entry::STATE_NOT_READ;
}
public function _display_posts ($value) {
$this->data['display_posts'] = ((bool)$value) && $value !== 'no';
diff --git a/app/Models/Entry.php b/app/Models/Entry.php
index a6c67221b..fa9066d5b 100644
--- a/app/Models/Entry.php
+++ b/app/Models/Entry.php
@@ -1,6 +1,11 @@
<?php
class FreshRSS_Entry extends Minz_Model {
+ const STATE_ALL = 0;
+ const STATE_READ = 1;
+ const STATE_NOT_READ = 2;
+ const STATE_FAVORITE = 4;
+ const STATE_NOT_FAVORITE = 8;
private $id = 0;
private $guid;
diff --git a/app/Models/EntryDAO.php b/app/Models/EntryDAO.php
index 6d00967fc..285ad431f 100644
--- a/app/Models/EntryDAO.php
+++ b/app/Models/EntryDAO.php
@@ -406,7 +406,10 @@ class FreshRSS_EntryDAO extends Minz_ModelPdo {
return isset ($entries[0]) ? $entries[0] : null;
}
- private function sqlListWhere($type = 'a', $id = '', $state = 'all', $order = 'DESC', $limit = 1, $firstId = '', $filter = '', $date_min = 0, $showOlderUnreadsorFavorites = false, $keepHistoryDefault = 0) {
+ private function sqlListWhere($type = 'a', $id = '', $state = null , $order = 'DESC', $limit = 1, $firstId = '', $filter = '', $date_min = 0, $showOlderUnreadsorFavorites = false, $keepHistoryDefault = 0) {
+ if (!$state) {
+ $state = FreshRSS_Entry::STATE_ALL;
+ }
$where = '';
$joinFeed = false;
$values = array();
@@ -416,6 +419,7 @@ class FreshRSS_EntryDAO extends Minz_ModelPdo {
$joinFeed = true;
break;
case 's':
+ // This is deprecated. The favorite button does not exist anymore
$where .= 'e1.is_favorite = 1 ';
break;
case 'c':
@@ -433,21 +437,28 @@ class FreshRSS_EntryDAO extends Minz_ModelPdo {
default:
throw new FreshRSS_EntriesGetter_Exception ('Bad type in Entry->listByType: [' . $type . ']!');
}
- switch ($state) {
- case 'all':
- break;
- case 'not_read':
+
+ if ($state & FreshRSS_Entry::STATE_NOT_READ) {
+ if (!($state & FreshRSS_Entry::STATE_READ)) {
$where .= 'AND e1.is_read = 0 ';
- break;
- case 'read':
+ }
+ }
+ if ($state & FreshRSS_Entry::STATE_READ) {
+ if (!($state & FreshRSS_Entry::STATE_NOT_READ)) {
$where .= 'AND e1.is_read = 1 ';
- break;
- case 'favorite':
+ }
+ }
+ if ($state & FreshRSS_Entry::STATE_NOT_FAVORITE) {
+ if (!($state & FreshRSS_Entry::STATE_FAVORITE)) {
+ $where .= 'AND e1.is_favorite = 0 ';
+ }
+ }
+ if ($state & FreshRSS_Entry::STATE_FAVORITE) {
+ if (!($state & FreshRSS_Entry::STATE_NOT_FAVORITE)) {
$where .= 'AND e1.is_favorite = 1 ';
- break;
- default:
- throw new FreshRSS_EntriesGetter_Exception ('Bad state in Entry->listByType: [' . $state . ']!');
+ }
}
+
switch ($order) {
case 'DESC':
case 'ASC':
@@ -528,7 +539,7 @@ class FreshRSS_EntryDAO extends Minz_ModelPdo {
. ($limit > 0 ? ' LIMIT ' . $limit : '')); //TODO: See http://explainextended.com/2009/10/23/mysql-order-by-limit-performance-late-row-lookups/
}
- public function listWhere($type = 'a', $id = '', $state = 'all', $order = 'DESC', $limit = 1, $firstId = '', $filter = '', $date_min = 0, $showOlderUnreadsorFavorites = false, $keepHistoryDefault = 0) {
+ public function listWhere($type = 'a', $id = '', $state = null, $order = 'DESC', $limit = 1, $firstId = '', $filter = '', $date_min = 0, $showOlderUnreadsorFavorites = false, $keepHistoryDefault = 0) {
list($values, $sql) = $this->sqlListWhere($type, $id, $state, $order, $limit, $firstId, $filter, $date_min, $showOlderUnreadsorFavorites, $keepHistoryDefault);
$sql = 'SELECT e.id, e.guid, e.title, e.author, UNCOMPRESS(e.content_bin) AS content, e.link, e.date, e.is_read, e.is_favorite, e.id_feed, e.tags '
@@ -544,7 +555,7 @@ class FreshRSS_EntryDAO extends Minz_ModelPdo {
return self::daoToEntry ($stm->fetchAll (PDO::FETCH_ASSOC));
}
- public function listIdsWhere($type = 'a', $id = '', $state = 'all', $order = 'DESC', $limit = 1, $firstId = '', $filter = '', $date_min = 0, $showOlderUnreadsorFavorites = false, $keepHistoryDefault = 0) { //For API
+ public function listIdsWhere($type = 'a', $id = '', $state = null, $order = 'DESC', $limit = 1, $firstId = '', $filter = '', $date_min = 0, $showOlderUnreadsorFavorites = false, $keepHistoryDefault = 0) { //For API
list($values, $sql) = $this->sqlListWhere($type, $id, $state, $order, $limit, $firstId, $filter, $date_min, $showOlderUnreadsorFavorites, $keepHistoryDefault);
$stm = $this->bd->prepare($sql);
diff --git a/app/Models/Themes.php b/app/Models/Themes.php
index ed746b7e9..17b95bb9e 100644
--- a/app/Models/Themes.php
+++ b/app/Models/Themes.php
@@ -85,6 +85,7 @@ class FreshRSS_Themes extends Minz_Model {
'non-starred' => '☆',
'prev' => '⏪',
'read' => '☑',
+ 'rss' => '☄',
'unread' => '☐',
'refresh' => '🔃', //↻
'search' => '🔍',
diff --git a/app/i18n/en.php b/app/i18n/en.php
index 0c8b6aafe..f9be04549 100644
--- a/app/i18n/en.php
+++ b/app/i18n/en.php
@@ -51,7 +51,8 @@ return array (
'show_all_articles' => 'Show all articles',
'show_not_reads' => 'Show only unread',
'show_read' => 'Show only read',
- 'show_favorite' => 'Show favorites',
+ 'show_favorite' => 'Show only favorites',
+ 'show_not_favorite' => 'Show all but favorites',
'older_first' => 'Oldest first',
'newer_first' => 'Newer first',
diff --git a/app/i18n/fr.php b/app/i18n/fr.php
index df883c2e7..f40750b92 100644
--- a/app/i18n/fr.php
+++ b/app/i18n/fr.php
@@ -52,6 +52,7 @@ return array (
'show_not_reads' => 'Afficher les non lus',
'show_read' => 'Afficher les lus',
'show_favorite' => 'Afficher les favoris',
+ 'show_not_favorite' => 'Afficher tout sauf les favoris',
'older_first' => 'Plus anciens en premier',
'newer_first' => 'Plus récents en premier',
diff --git a/app/layout/nav_menu.phtml b/app/layout/nav_menu.phtml
index ffdc95b24..58e561754 100644
--- a/app/layout/nav_menu.phtml
+++ b/app/layout/nav_menu.phtml
@@ -6,11 +6,81 @@
<a class="btn toggle_aside" href="#aside_flux"><?php echo FreshRSS_Themes::icon('category'); ?></a>
<?php } ?>
- <?php if ($this->loginOk || Minz_Configuration::allowAnonymousRefresh()) { ?>
- <a id="actualize" class="btn" href="<?php echo _url ('feed', 'actualize'); ?>"><?php echo FreshRSS_Themes::icon('refresh'); ?></a>
- <?php } ?>
-
<?php if ($this->loginOk) { ?>
+ <?php $url_state = $this->url;
+ if ($this->state & FreshRSS_Entry::STATE_READ) {
+ $url_state['params']['state'] = $this->state - FreshRSS_Entry::STATE_READ;
+ $checked = 'true';
+ $class = 'active';
+ } else {
+ $url_state['params']['state'] = $this->state + FreshRSS_Entry::STATE_READ;
+ $checked = 'false';
+ $class = '';
+ }
+ ?>
+ <div class="stick">
+ <a id="toggle-read"
+ class="btn <?php echo $class; ?>"
+ aria-checked="<?php echo $checked; ?>"
+ href="<?php echo Minz_Url::display ($url_state); ?>"
+ title="<?php echo Minz_Translate::t ('show_read'); ?>">
+ <?php echo FreshRSS_Themes::icon('read'); ?>
+ </a>
+ <?php
+ if ($this->state & FreshRSS_Entry::STATE_NOT_READ) {
+ $url_state['params']['state'] = $this->state - FreshRSS_Entry::STATE_NOT_READ;
+ $checked = 'true';
+ $class = 'active';
+ } else {
+ $url_state['params']['state'] = $this->state + FreshRSS_Entry::STATE_NOT_READ;
+ $checked = 'false';
+ $class = '';
+ }
+ ?>
+ <a id="toggle-unread"
+ class="btn <?php echo $class; ?>"
+ aria-checked="<?php echo $checked; ?>"
+ href="<?php echo Minz_Url::display ($url_state); ?>"
+ title="<?php echo Minz_Translate::t ('show_not_reads'); ?>">
+ <?php echo FreshRSS_Themes::icon('unread'); ?>
+ </a>
+ <?php
+ if ($this->state & FreshRSS_Entry::STATE_FAVORITE) {
+ $url_state['params']['state'] = $this->state - FreshRSS_Entry::STATE_FAVORITE;
+ $checked = 'true';
+ $class = 'active';
+ } else {
+ $url_state['params']['state'] = $this->state + FreshRSS_Entry::STATE_FAVORITE;
+ $checked = 'false';
+ $class = '';
+ }
+ ?>
+ <a id="toggle-favorite"
+ class="btn <?php echo $class; ?>"
+ aria-checked="<?php echo $checked; ?>"
+ href="<?php echo Minz_Url::display ($url_state); ?>"
+ title="<?php echo Minz_Translate::t ('show_favorite'); ?>">
+ <?php echo FreshRSS_Themes::icon('starred'); ?>
+ </a>
+ <?php
+ if ($this->state & FreshRSS_Entry::STATE_NOT_FAVORITE) {
+ $url_state['params']['state'] = $this->state - FreshRSS_Entry::STATE_NOT_FAVORITE;
+ $checked = 'true';
+ $class = 'active';
+ } else {
+ $url_state['params']['state'] = $this->state + FreshRSS_Entry::STATE_NOT_FAVORITE;
+ $checked = 'false';
+ $class = '';
+ }
+ ?>
+ <a id="toggle-not-favorite"
+ class="btn <?php echo $class; ?>"
+ aria-checked="<?php echo $checked; ?>"
+ href="<?php echo Minz_Url::display ($url_state); ?>"
+ title="<?php echo Minz_Translate::t ('show_not_favorite'); ?>">
+ <?php echo FreshRSS_Themes::icon('non-starred'); ?>
+ </a>
+ </div>
<?php
$get = false;
$string_mark = Minz_Translate::t ('mark_all_read');
@@ -86,7 +156,7 @@
<ul class="dropdown-menu">
<li class="dropdown-close"><a href="#close">❌</a></li>
- <li class="item"><a href="<?php echo $markReadUrl; ?>"><?php echo $string_mark; ?></a></li>
+ <li class="item"><a href="<?php echo $markReadUrl; ?>"><?php echo $string_mark; ?></a></li>
<li class="separator"></li>
<?php
$today = $this->today;
@@ -129,72 +199,6 @@
</a>
</li>
<?php } ?>
-
- <li class="separator"></li>
-
- <?php
- $url_state = $this->url;
- $url_state['params']['state'] = 'all';
- ?>
- <li class="item" role="checkbox" aria-checked="<?php echo ($this->state === 'all') ? 'true' :'false'; ?>">
- <a class="print_all" href="<?php echo Minz_Url::display ($url_state); ?>">
- <?php echo Minz_Translate::t ('show_all_articles'); ?>
- </a>
- </li>
- <?php
- $url_state['params']['state'] = 'not_read';
- ?>
- <li class="item" role="checkbox" aria-checked="<?php echo ($this->state === 'not_read') ? 'true' :'false'; ?>">
- <a class="print_non_read" href="<?php echo Minz_Url::display ($url_state); ?>">
- <?php echo Minz_Translate::t ('show_not_reads'); ?>
- </a>
- </li>
- <?php
- $url_state['params']['state'] = 'read';
- ?>
- <li class="item" role="checkbox" aria-checked="<?php echo ($this->state === 'read') ? 'true' :'false'; ?>">
- <a class="print_read" href="<?php echo Minz_Url::display ($url_state); ?>">
- <?php echo Minz_Translate::t ('show_read'); ?>
- </a>
- </li>
- <?php
- $url_state['params']['state'] = 'favorite';
- ?>
- <li class="item" role="checkbox" aria-checked="<?php echo ($this->state === 'favorite') ? 'true' :'false'; ?>">
- <a class="print_favorite" href="<?php echo Minz_Url::display ($url_state); ?>">
- <?php echo Minz_Translate::t ('show_favorite'); ?>
- </a>
- </li>
-
- <li class="separator"></li>
-
- <li class="item">
- <?php
- $url_order = $this->url;
- if ($this->order === 'DESC') {
- $url_order['params']['order'] = 'ASC';
- ?>
- <a href="<?php echo Minz_Url::display ($url_order); ?>">
- <?php echo Minz_Translate::t ('older_first'); ?>
- </a>
- <?php
- } else {
- $url_order['params']['order'] = 'DESC';
- ?>
- <a href="<?php echo Minz_Url::display ($url_order); ?>">
- <?php echo Minz_Translate::t ('newer_first'); ?>
- </a>
- <?php } ?>
- </li>
-
- <li class="separator"></li>
-
- <li class="item">
- <?php $url_output['params']['output'] = 'rss'; ?>
- <a class="view_rss" target="_blank" href="<?php echo Minz_Url::display ($url_output); ?>">
- <?php echo Minz_Translate::t ('rss_view'); ?>
- </a>
- </li>
</ul>
</div>
@@ -219,4 +223,30 @@
<?php } ?>
</form>
</div>
+
+ <?php
+ if ($this->order === 'DESC') {
+ $order = 'ASC';
+ $icon = 'up';
+ $title = 'older_first';
+ } else {
+ $order = 'DESC';
+ $icon = 'down';
+ $title = 'newer_first';
+ }
+ $url_order = $this->url;
+ $url_order['params']['order'] = $order;
+ ?>
+ <a class="btn" href="<?php echo Minz_Url::display ($url_order); ?>" title="<?php echo Minz_Translate::t ($title); ?>">
+ <?php echo FreshRSS_Themes::icon($icon); ?>
+ </a>
+
+ <?php $url_output['params']['output'] = 'rss'; ?>
+ <a class="btn view_rss" target="_blank" href="<?php echo Minz_Url::display ($url_output); ?>" title="<?php echo Minz_Translate::t ('rss_view'); ?>">
+ <?php echo FreshRSS_Themes::icon('rss'); ?>
+ </a>
+
+ <?php if ($this->loginOk || Minz_Configuration::allowAnonymousRefresh()) { ?>
+ <a id="actualize" class="btn" href="<?php echo _url ('feed', 'actualize'); ?>"><?php echo FreshRSS_Themes::icon('refresh'); ?></a>
+ <?php } ?>
</div>
diff --git a/app/views/configure/reading.phtml b/app/views/configure/reading.phtml
index c32c59305..456ab9522 100644
--- a/app/views/configure/reading.phtml
+++ b/app/views/configure/reading.phtml
@@ -32,11 +32,11 @@
<option value="global"<?php echo $this->conf->view_mode === 'global' ? ' selected="selected"' : ''; ?>><?php echo Minz_Translate::t ('global_view'); ?></option>
</select>
<label class="radio" for="radio_all">
- <input type="radio" name="default_view" id="radio_all" value="all"<?php echo $this->conf->default_view === 'all' ? ' checked="checked"' : ''; ?> />
+ <input type="radio" name="default_view" id="radio_all" value="<?php echo FreshRSS_Entry::STATE_ALL; ?>"<?php echo $this->conf->default_view === FreshRSS_Entry::STATE_ALL ? ' checked="checked"' : ''; ?> />
<?php echo Minz_Translate::t ('show_all_articles'); ?>
</label>
<label class="radio" for="radio_not_read">
- <input type="radio" name="default_view" id="radio_not_read" value="not_read"<?php echo $this->conf->default_view === 'not_read' ? ' checked="checked"' : ''; ?> />
+ <input type="radio" name="default_view" id="radio_not_read" value="<?php echo FreshRSS_Entry::STATE_NOT_READ; ?>"<?php echo $this->conf->default_view === FreshRSS_Entry::STATE_NOT_READ ? ' checked="checked"' : ''; ?> />
<?php echo Minz_Translate::t ('show_not_reads'); ?>
</label>
</div>
diff --git a/p/api/greader.php b/p/api/greader.php
index 741c4fbd4..8a8623966 100644
--- a/p/api/greader.php
+++ b/p/api/greader.php
@@ -353,10 +353,10 @@ function streamContents($path, $include_target, $start_time, $count, $order, $ex
switch ($exclude_target) {
case 'user/-/state/com.google/read':
- $state = 'not_read';
+ $state = FreshRSS_Entry::STATE_NOT_READ;
break;
default:
- $state = 'all';
+ $state = FreshRSS_Entry::STATE_ALL;
break;
}
@@ -451,10 +451,10 @@ function streamContentsItemsIds($streamId, $start_time, $count, $order, $exclude
switch ($exclude_target) {
case 'user/-/state/com.google/read':
- $state = 'not_read';
+ $state = FreshRSS_Entry::STATE_NOT_READ;
break;
default:
- $state = 'all';
+ $state = FreshRSS_Entry::STATE_ALL;
break;
}
diff --git a/p/themes/Dark/freshrss.css b/p/themes/Dark/freshrss.css
index be8d6b86a..cd51b1a06 100644
--- a/p/themes/Dark/freshrss.css
+++ b/p/themes/Dark/freshrss.css
@@ -88,6 +88,10 @@
.nav_menu .search {
display:none;
}
+ .nav_menu .btn[aria-checked="true"]{
+ border-color: #2f2f2f;
+ box-shadow: 0 0 10px 3px #2f2f2f inset;
+ }
.favicon {
height: 16px;
diff --git a/p/themes/Dark/global.css b/p/themes/Dark/global.css
index e296f2188..0f1baa216 100644
--- a/p/themes/Dark/global.css
+++ b/p/themes/Dark/global.css
@@ -416,12 +416,6 @@ input, select, textarea {
background: #26303F;
color: #888;
}
- .dropdown-menu > .item[aria-checked="true"] > a:before {
- content: '✓ ';
- font-weight: bold;
- margin: 0 0 0 -1.2em;
- padding: 0 0.2em 0 0;
- }
.dropdown-menu > .item:hover > a {
color: #888;
text-decoration: none;
diff --git a/p/themes/Flat/freshrss.css b/p/themes/Flat/freshrss.css
index 1f297309b..91da094be 100644
--- a/p/themes/Flat/freshrss.css
+++ b/p/themes/Flat/freshrss.css
@@ -87,6 +87,10 @@ body {
.nav_menu .search {
display:none;
}
+ .nav_menu .btn[aria-checked="true"]{
+ background-color: #2980B9;
+ border-bottom-color: #3498DB;
+ }
.favicon {
height: 16px;
diff --git a/p/themes/Flat/global.css b/p/themes/Flat/global.css
index 4044dd781..68e9fa359 100644
--- a/p/themes/Flat/global.css
+++ b/p/themes/Flat/global.css
@@ -412,12 +412,6 @@ input, select, textarea {
background: #2980b9;
color: #fff;
}
- .dropdown-menu > .item[aria-checked="true"] > a:before {
- content: '✓ ';
- font-weight: bold;
- margin: 0 0 0 -1.2em;
- padding: 0 0.2em 0 0;
- }
.dropdown-menu > .item:hover > a {
color: #fff;
text-decoration: none;
diff --git a/p/themes/Flat/icons/rss.svg b/p/themes/Flat/icons/rss.svg
new file mode 100644
index 000000000..4d4faf7ae
--- /dev/null
+++ b/p/themes/Flat/icons/rss.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16">
+<g fill-rule="nonzero" transform="translate(-561,-301.00012)" fill="#fff">
+<path style="enable-background:new;color:#000000;" d="m325.06,97.188c0,1.7872-0.89543,3.2361-2,3.2361s-2-1.4488-2-3.2361c0-1.7872,0.89543-3.2361,2-3.2361s2,1.4488,2,3.2361z" transform="matrix(1.0000007,0,0,0.61803426,241.93747,252.93479)"/>
+<path style="enable-background:new;color:#000000;" d="m563,303,0,1c0,0.55016,0.45347,1,1,1,4.9706,0,9,4.0294,9,9,0,0.55016,0.45347,1,1,1h1v-1c0-6.0751-4.9249-11-11-11h-1zm0,4,0,1c0,0.55016,0.45347,1,1,1,2.7614,0,5,2.2386,5,5,0,0.55016,0.45347,1,1,1h1v-1c0-3.866-3.134-7-7-7h-1z"/>
+</g>
+</svg> \ No newline at end of file
diff --git a/p/themes/Origine/freshrss.css b/p/themes/Origine/freshrss.css
index 662e085d6..9cf1a7cba 100644
--- a/p/themes/Origine/freshrss.css
+++ b/p/themes/Origine/freshrss.css
@@ -89,6 +89,10 @@
.nav_menu .search {
display:none;
}
+ .nav_menu .btn[aria-checked="true"]{
+ border-color: #aaa #ddd #ddd #aaa;
+ box-shadow: 0 0 10px 3px #ddd inset;
+ }
.favicon {
height: 16px;
diff --git a/p/themes/Origine/global.css b/p/themes/Origine/global.css
index 5792c9e4d..7fb3a8f95 100644
--- a/p/themes/Origine/global.css
+++ b/p/themes/Origine/global.css
@@ -428,12 +428,6 @@ input, select, textarea {
background: #0062BE;
color: #fff;
}
- .dropdown-menu > .item[aria-checked="true"] > a:before {
- content: '✓ ';
- font-weight: bold;
- margin: 0 0 0 -1.2em;
- padding: 0 0.2em 0 0;
- }
.dropdown-menu > .item:hover > a {
color: #fff;
text-decoration: none;
diff --git a/p/themes/icons/rss.svg b/p/themes/icons/rss.svg
index 6db5b3eae..2a8713be3 100644
--- a/p/themes/icons/rss.svg
+++ b/p/themes/icons/rss.svg
@@ -1,5 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16">
-<g fill-rule="nonzero" transform="translate(-561,-301.00012)" fill="#FFF">
+<g fill-rule="nonzero" transform="translate(-561,-301.00012)" fill="#666">
<path style="enable-background:new;color:#000000;" d="m325.06,97.188c0,1.7872-0.89543,3.2361-2,3.2361s-2-1.4488-2-3.2361c0-1.7872,0.89543-3.2361,2-3.2361s2,1.4488,2,3.2361z" transform="matrix(1.0000007,0,0,0.61803426,241.93747,252.93479)"/>
<path style="enable-background:new;color:#000000;" d="m563,303,0,1c0,0.55016,0.45347,1,1,1,4.9706,0,9,4.0294,9,9,0,0.55016,0.45347,1,1,1h1v-1c0-6.0751-4.9249-11-11-11h-1zm0,4,0,1c0,0.55016,0.45347,1,1,1,2.7614,0,5,2.2386,5,5,0,0.55016,0.45347,1,1,1h1v-1c0-3.866-3.134-7-7-7h-1z"/>
</g>