From e3ca32a818ce818cf22b5cb49a33d4704369febe Mon Sep 17 00:00:00 2001
From: Andrew Dolgov <fox@madoka.volgo-balt.ru>
Date: Wed, 3 Apr 2013 18:20:14 +0400
Subject: [PATCH] replace catchupCurrentFeed dropdown with a better control

---
 index.php      | 23 ++++++++++++++---------
 js/feedlist.js | 16 ++--------------
 2 files changed, 16 insertions(+), 23 deletions(-)

diff --git a/index.php b/index.php
index dd3d34b3a..a8cc38ca3 100644
--- a/index.php
+++ b/index.php
@@ -187,15 +187,20 @@
 			<option value="date_reverse"><?php echo __('Oldest first') ?></option>
 		</select>
 
-		<select title="<?php echo __('Mark feed as read') ?>"
-			onchange="catchupCurrentFeed(this)"
-			dojoType="dijit.form.Select" name="catchup_feed">
-			<option selected="selected" value="default"><?php echo __('Mark as read') ?></option>
-			<option value="all"><?php echo __('All articles') ?></option>
-			<option value="1day"><?php echo __('Older than one day') ?></option>
-			<option value="1week"><?php echo __('Older than one week') ?></option>
-			<option value="2weeks"><?php echo __('Older than two weeks') ?></option>
-		</select>
+		<div dojoType="dijit.form.ComboButton" onclick="catchupCurrentFeed()">
+			<span><?php echo __('Mark as read') ?></span>
+			<div dojoType="dijit.DropDownMenu">
+				<div dojoType="dijit.MenuItem" onclick="catchupCurrentFeed('1day')">
+					<?php echo __('Older than one day') ?>
+				</div>
+				<div dojoType="dijit.MenuItem" onclick="catchupCurrentFeed('1week')">
+					<?php echo __('Older than one week') ?>
+				</div>
+				<div dojoType="dijit.MenuItem" onclick="catchupCurrentFeed('2week')">
+					<?php echo __('Older than two weeks') ?>
+				</div>
+			</div>
+		</div>
 
 		</form>
 
diff --git a/js/feedlist.js b/js/feedlist.js
index 9d643142b..3154a2887 100644
--- a/js/feedlist.js
+++ b/js/feedlist.js
@@ -380,20 +380,8 @@ function getNextUnreadFeed(feed, is_cat) {
 	}
 }
 
-function catchupCurrentFeed(elem) {
-
-	if (elem) {
-		var toolbar = document.forms["main_toolbar_form"];
-		var catchup_feed = dijit.getEnclosingWidget(toolbar.catchup_feed);
-		var mode = catchup_feed.attr('value');
-
-		if (mode != 'default') {
-			catchupFeed(getActiveFeedId(), activeFeedIsCat(), mode);
-			catchup_feed.attr('value', 'default');
-		}
-	} else {
-		catchupFeed(getActiveFeedId(), activeFeedIsCat());
-	}
+function catchupCurrentFeed(mode) {
+	catchupFeed(getActiveFeedId(), activeFeedIsCat(), mode);
 }
 
 function catchupFeedInGroup(id) {
-- 
GitLab