public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sven Eden" <sven.eden@gmx.de>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/ufed:master commit in: /
Date: Wed, 16 Jan 2013 12:56:44 +0000 (UTC)	[thread overview]
Message-ID: <1358326651.10f0d42fa883ece4b2afc6be2eafb29f7cdf9a62.yamakuzure@gentoo> (raw)

commit:     10f0d42fa883ece4b2afc6be2eafb29f7cdf9a62
Author:     Sven Eden <sven.eden <AT> gmx <DOT> de>
AuthorDate: Wed Jan 16 08:57:31 2013 +0000
Commit:     Sven Eden <sven.eden <AT> gmx <DOT> de>
CommitDate: Wed Jan 16 08:57:31 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/ufed.git;a=commit;h=10f0d42f

Added checks to disallow breaking the masked/unmasked flag filtering
using PGUP, PGDN, HOME, END or the flag search by keywords.

This is a preparation to finally add a masked flag display toggle.

---
 ufed-curses-checklist.c |   22 ++++++++++++++++++----
 ufed-curses.c           |   28 +++++++++++++++++++++-------
 2 files changed, 39 insertions(+), 11 deletions(-)

diff --git a/ufed-curses-checklist.c b/ufed-curses-checklist.c
index b43ecac..2f3432d 100644
--- a/ufed-curses-checklist.c
+++ b/ufed-curses-checklist.c
@@ -262,14 +262,28 @@ static int callback(struct item **currentitem, int key) {
 			faytsave[n] = *currentitem;
 			n++;
 			fayt[n] = '\0';
+
+			/* if the current flag already matches the input string,
+			 * then update the input area only.
+			 */
 			if(strncasecmp(((struct flag *) item)->name, fayt, n)==0) {
 				wattrset(win(Input), COLOR_PAIR(3) | A_BOLD);
 				mvwaddstr(win(Input), 0, 0, fayt);
 				wrefresh(win(Input));
-			} else {
+			}
+			/* if the current flag does not match, search one that does. */
+			else {
 				do item = item->next;
 				while(item!=*currentitem && strncasecmp(((struct flag *) item)->name, fayt, n)!=0);
-				if(item==*currentitem) {
+
+				/* if there was no match (or the match is filtered),
+				 * update the input area to show that there is no match
+				 */
+				if ( (item == *currentitem)
+					|| ( item->isMasked && (show_unmasked == showMasked))
+					|| (!item->isMasked && (show_masked   == showMasked)) ) {
+					if (item != *currentitem)
+						item = *currentitem;
 					wattrset(win(Input), COLOR_PAIR(4) | A_BOLD | A_REVERSE);
 					mvwaddstr(win(Input), 0, 0, fayt);
 					wmove(win(Input), 0, n-1);
@@ -322,7 +336,7 @@ static int callback(struct item **currentitem, int key) {
 		break;
 	case ' ': {
 		// do not toggle masked flags using the keyboard
-		if ('m' == ((struct flag *) *currentitem)->on)
+		if ((*currentitem)->isMasked)
 			break;
 		// Not masked? Then cycle through the states.
 		switch (((struct flag *) *currentitem)->on) {
@@ -361,7 +375,7 @@ static int callback(struct item **currentitem, int key) {
 #ifdef NCURSES_MOUSE_VERSION
 	case KEY_MOUSE:
 		// do not toggle masked flags using the double click
-		if ('m' == ((struct flag *) *currentitem)->on)
+		if ((*currentitem)->isMasked)
 			break;
 		// Not masked? Then cycle through the states.
 		switch (((struct flag *) *currentitem)->on) {

diff --git a/ufed-curses.c b/ufed-curses.c
index 65c4ba8..edaef38 100644
--- a/ufed-curses.c
+++ b/ufed-curses.c
@@ -497,9 +497,12 @@ int maineventloop(
 					if(currentitem!=items) {
 						struct item *olditem = currentitem;
 						(*drawitem)(currentitem, FALSE);
-						do currentitem = currentitem->prev;
-						while(currentitem!=items
-						 && olditem->top - currentitem->prev->top <= wHeight(List));
+						while( (currentitem != items)
+							&& ( (olditem->top - currentitem->prev->top) <= wHeight(List))
+							&& ( (	!currentitem->prev->isMasked
+								||	(show_unmasked != showMasked)) ) ) {
+							currentitem = currentitem->prev;
+						}
 						scrollcurrent();
 						(*drawitem)(currentitem, TRUE);
 					}
@@ -509,10 +512,13 @@ int maineventloop(
 					if(currentitem->next!=items) {
 						struct item *olditem = currentitem;
 						(*drawitem)(currentitem, FALSE);
-						do currentitem = currentitem->next;
-						while(currentitem->next!=items
-						 && (currentitem->next->top + currentitem->next->height)
-						     - (olditem->top + olditem->height) <= wHeight(List));
+						while( (currentitem->next != items)
+							&& (((currentitem->next->top + currentitem->next->height)
+								-(olditem->top + olditem->height) ) <= wHeight(List))
+							&& ( (	currentitem->next->isMasked
+								||	(show_masked != showMasked)) ) ) {
+							currentitem = currentitem->next;
+						}
 						scrollcurrent();
 						(*drawitem)(currentitem, TRUE);
 					}
@@ -522,6 +528,10 @@ int maineventloop(
 					if(currentitem!=items) {
 						(*drawitem)(currentitem, FALSE);
 						currentitem = items;
+						if (show_unmasked == showMasked) {
+							while (currentitem->isMasked)
+								currentitem = currentitem->next;
+						}
 						scrollcurrent();
 						(*drawitem)(currentitem, TRUE);
 					}
@@ -531,6 +541,10 @@ int maineventloop(
 					if(currentitem->next!=items) {
 						(*drawitem)(currentitem, FALSE);
 						currentitem = items->prev;
+						if (show_masked == showMasked) {
+							while (!currentitem->isMasked)
+								currentitem = currentitem->prev;
+						}
 						scrollcurrent();
 						(*drawitem)(currentitem, TRUE);
 					}


             reply	other threads:[~2013-01-16 12:56 UTC|newest]

Thread overview: 238+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-16 12:56 Sven Eden [this message]
  -- strict thread matches above, loose matches on Subject: below --
2020-11-07 14:25 [gentoo-commits] proj/ufed:master commit in: / Sven Eden
2020-05-02  8:38 Ulrich Müller
2019-09-27  6:42 Sven Eden
2019-09-27  6:39 Sven Eden
2019-09-24 17:57 Sven Eden
2019-09-24 17:56 Sven Eden
2019-04-07 15:17 David Seifert
2019-04-07 13:56 David Seifert
2019-04-07 13:19 David Seifert
2019-04-07 13:19 David Seifert
2019-04-07 13:19 David Seifert
2019-04-07 13:19 David Seifert
2019-04-07 13:19 David Seifert
2015-02-12 15:47 Sven Eden
2015-02-11  9:03 Sven Eden
2014-11-10  9:59 Sven Eden
2014-10-28 11:43 Sven Eden
2014-02-26 10:26 Sven Eden
2014-02-26 10:26 Sven Eden
2014-02-26 10:26 Sven Eden
2014-02-26 10:26 Sven Eden
2014-02-26 10:26 Sven Eden
2014-02-26 10:26 Sven Eden
2014-02-25  8:18 Sven Eden
2014-02-25  8:18 Sven Eden
2014-02-25  8:18 Sven Eden
2014-02-25  8:18 Sven Eden
2013-11-25 21:43 Sven Eden
2013-11-25 21:43 Sven Eden
2013-11-25 21:43 Sven Eden
2013-11-25 21:43 Sven Eden
2013-11-25 21:43 Sven Eden
2013-09-20  8:30 Sven Eden
2013-09-20  8:30 Sven Eden
2013-09-20  8:30 Sven Eden
2013-09-20  8:30 Sven Eden
2013-09-20  8:30 Sven Eden
2013-09-20  8:30 Sven Eden
2013-09-20  8:30 Sven Eden
2013-09-20  8:30 Sven Eden
2013-09-20  8:30 Sven Eden
2013-09-20  8:30 Sven Eden
2013-09-20  8:30 Sven Eden
2013-09-20  8:30 Sven Eden
2013-09-20  8:30 Sven Eden
2013-09-20  8:30 Sven Eden
2013-09-20  8:30 Sven Eden
2013-09-20  8:30 Sven Eden
2013-09-20  8:30 Sven Eden
2013-09-20  8:30 Sven Eden
2013-09-20  8:30 Sven Eden
2013-09-20  8:30 Sven Eden
2013-09-20  8:30 Sven Eden
2013-09-20  8:30 Sven Eden
2013-09-20  8:30 Sven Eden
2013-09-20  8:30 Sven Eden
2013-09-20  8:30 Sven Eden
2013-09-11  7:09 Sven Eden
2013-09-11  6:31 Sven Eden
2013-09-11  6:04 Sven Eden
2013-09-11  6:04 Sven Eden
2013-09-11  6:04 Sven Eden
2013-09-11  6:04 Sven Eden
2013-09-11  6:04 Sven Eden
2013-09-11  6:04 Sven Eden
2013-09-11  6:04 Sven Eden
2013-09-11  6:04 Sven Eden
2013-09-11  6:04 Sven Eden
2013-09-11  6:04 Sven Eden
2013-09-11  6:04 Sven Eden
2013-09-11  6:04 Sven Eden
2013-09-11  6:04 Sven Eden
2013-09-11  6:04 Sven Eden
2013-09-11  6:04 Sven Eden
2013-09-11  6:04 Sven Eden
2013-09-11  6:04 Sven Eden
2013-09-11  6:04 Sven Eden
2013-09-11  6:04 Sven Eden
2013-09-11  6:04 Sven Eden
2013-09-11  6:04 Sven Eden
2013-09-11  6:04 Sven Eden
2013-09-10 12:37 Sven Eden
2013-09-10  6:36 Sven Eden
2013-09-10  6:36 Sven Eden
2013-09-10  6:36 Sven Eden
2013-09-10  6:36 Sven Eden
2013-09-10  6:36 Sven Eden
2013-09-10  6:36 Sven Eden
2013-09-10  6:36 Sven Eden
2013-07-22  9:34 Sven Eden
2013-07-22  6:09 Sven Eden
2013-07-22  6:09 Sven Eden
2013-04-09  7:22 Sven Eden
2013-04-09  7:22 Sven Eden
2013-04-09  7:22 Sven Eden
2013-04-08  7:18 Sven Eden
2013-04-03 13:39 Sven Eden
2013-03-05 16:53 Sven Eden
2013-03-05 16:49 Sven Eden
2013-03-05 16:49 Sven Eden
2013-03-05 16:49 Sven Eden
2013-03-05 16:49 Sven Eden
2013-03-05 16:49 Sven Eden
2013-02-21 10:02 Sven Eden
2013-02-19 15:16 Sven Eden
2013-02-19 13:34 Sven Eden
2013-02-18  7:22 Sven Eden
2013-02-15  8:36 Sven Eden
2013-02-15  8:36 Sven Eden
2013-02-15  8:36 Sven Eden
2013-02-14  8:35 Sven Eden
2013-02-14  8:35 Sven Eden
2013-02-14  8:35 Sven Eden
2013-02-13  9:23 Sven Eden
2013-02-13  9:23 Sven Eden
2013-02-13  9:23 Sven Eden
2013-02-13  9:23 Sven Eden
2013-02-13  9:23 Sven Eden
2013-02-12 10:51 Sven Eden
2013-02-12 10:51 Sven Eden
2013-02-12  9:01 Sven Eden
2013-02-12  9:01 Sven Eden
2013-02-12  9:01 Sven Eden
2013-02-12  9:01 Sven Eden
2013-02-12  9:01 Sven Eden
2013-02-12  9:01 Sven Eden
2013-02-12  9:01 Sven Eden
2013-02-12  9:01 Sven Eden
2013-02-12  9:01 Sven Eden
2013-02-12  9:01 Sven Eden
2013-02-12  9:01 Sven Eden
2013-02-12  9:01 Sven Eden
2013-02-12  9:01 Sven Eden
2013-02-12  9:01 Sven Eden
2013-02-12  9:01 Sven Eden
2013-02-12  9:01 Sven Eden
2013-02-12  9:01 Sven Eden
2013-02-12  9:01 Sven Eden
2013-02-12  9:01 Sven Eden
2013-02-12  9:01 Sven Eden
2013-02-12  9:01 Sven Eden
2013-02-12  9:01 Sven Eden
2013-02-06  9:09 Sven Eden
2013-02-06  9:09 Sven Eden
2013-02-05 18:06 Paul Varner
2013-02-05 13:53 Sven Eden
2013-02-05 13:53 Sven Eden
2013-02-05 11:24 Sven Eden
2013-02-03 14:32 Sven Eden
2013-02-03 14:32 Sven Eden
2013-02-03 14:32 Sven Eden
2013-02-03 14:32 Sven Eden
2013-02-03 14:32 Sven Eden
2013-02-02 20:49 Sven Eden
2013-02-02 10:11 Sven Eden
2013-02-02  9:47 Sven Eden
2013-02-02  9:47 Sven Eden
2013-02-02  9:47 Sven Eden
2013-02-01 21:12 Sven Eden
2013-02-01 21:12 Sven Eden
2013-02-01 21:12 Sven Eden
2013-02-01 16:04 Sven Eden
2013-02-01 15:55 Sven Eden
2013-02-01 15:26 Sven Eden
2013-02-01 14:49 Sven Eden
2013-02-01 10:49 Sven Eden
2013-02-01 10:49 Sven Eden
2013-02-01 10:49 Sven Eden
2013-02-01 10:49 Sven Eden
2013-02-01 10:49 Sven Eden
2013-02-01 10:49 Sven Eden
2013-02-01 10:49 Sven Eden
2013-02-01 10:49 Sven Eden
2013-02-01 10:49 Sven Eden
2013-02-01 10:49 Sven Eden
2013-02-01 10:49 Sven Eden
2013-02-01 10:49 Sven Eden
2013-02-01 10:49 Sven Eden
2013-02-01 10:49 Sven Eden
2013-02-01 10:49 Sven Eden
2013-02-01 10:49 Sven Eden
2013-02-01 10:49 Sven Eden
2013-02-01 10:49 Sven Eden
2013-02-01 10:49 Sven Eden
2013-02-01 10:49 Sven Eden
2013-01-24 10:15 Sven Eden
2013-01-24 10:15 Sven Eden
2013-01-24 10:15 Sven Eden
2013-01-24 10:15 Sven Eden
2013-01-24 10:15 Sven Eden
2013-01-23 14:44 Sven Eden
2013-01-23 12:05 Sven Eden
2013-01-23 12:05 Sven Eden
2013-01-23 12:05 Sven Eden
2013-01-23 12:05 Sven Eden
2013-01-23 12:05 Sven Eden
2013-01-23 12:05 Sven Eden
2013-01-23 12:05 Sven Eden
2013-01-23 12:05 Sven Eden
2013-01-23 12:05 Sven Eden
2013-01-23 12:05 Sven Eden
2013-01-23 12:05 Sven Eden
2013-01-23 12:05 Sven Eden
2013-01-23 12:05 Sven Eden
2013-01-23 12:05 Sven Eden
2013-01-19 21:43 Sven Eden
2013-01-19 21:43 Sven Eden
2013-01-19 21:43 Sven Eden
2013-01-19 21:43 Sven Eden
2013-01-19 21:43 Sven Eden
2013-01-19 21:43 Sven Eden
2013-01-19 21:43 Sven Eden
2013-01-19 21:43 Sven Eden
2013-01-19 21:43 Sven Eden
2013-01-19 21:43 Sven Eden
2013-01-19 21:43 Sven Eden
2013-01-19 21:43 Sven Eden
2013-01-19 21:43 Sven Eden
2013-01-19 21:43 Sven Eden
2013-01-19 21:43 Sven Eden
2013-01-16 13:43 Sven Eden
2013-01-16 12:56 Sven Eden
2013-01-16 12:56 Sven Eden
2013-01-16 12:56 Sven Eden
2013-01-16 12:56 Sven Eden
2013-01-16 12:56 Sven Eden
2013-01-08 11:02 Sven Eden
2013-01-02  8:47 Sven Eden
2013-01-02  8:01 Sven Eden
2013-01-02  8:01 Sven Eden
2012-11-20 17:31 Paul Varner
2012-11-20 17:25 Paul Varner
2012-10-23 16:13 Paul Varner
2012-10-23 16:13 Paul Varner
2012-10-23 16:13 Paul Varner
2012-10-23 16:01 Paul Varner
2012-10-22 20:42 Paul Varner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1358326651.10f0d42fa883ece4b2afc6be2eafb29f7cdf9a62.yamakuzure@gentoo \
    --to=sven.eden@gmx.de \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox