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: Sun,  3 Feb 2013 14:32:28 +0000 (UTC)	[thread overview]
Message-ID: <1359901889.ada4931e59d9fac668a097b84696bf7f602a8144.yamakuzure@gentoo> (raw)

commit:     ada4931e59d9fac668a097b84696bf7f602a8144
Author:     Sven Eden <sven.eden <AT> gmx <DOT> de>
AuthorDate: Sun Feb  3 14:31:29 2013 +0000
Commit:     Sven Eden <sven.eden <AT> gmx <DOT> de>
CommitDate: Sun Feb  3 14:31:29 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/ufed.git;a=commit;h=ada4931e

Removed globals (now in ufed-curses-globals.h) and removed handling of the function keys from maineventloop().

---
 ufed-curses.c |  121 +++++++++++++++------------------------------------------
 1 files changed, 32 insertions(+), 89 deletions(-)

diff --git a/ufed-curses.c b/ufed-curses.c
index cb94363..da47b66 100644
--- a/ufed-curses.c
+++ b/ufed-curses.c
@@ -11,46 +11,25 @@ static const char* subtitle = NULL;
 static const sKey* keys     = NULL;
 static sFlag* currentflag   = NULL;
 static sFlag* flags         = NULL;
+static bool   withSep       = false;
 
 // Needed for the scrollbar and its mouse events
 static int listHeight, barStart, barEnd, dispStart, dispEnd;
 
 
-/* external members */
-sWindow window[wCount] = {
-	{ NULL,  0,  0,  5,  0 }, /* Top       --- Top ---- */
-	{ NULL,  5,  0, -8,  3 }, /* Left      L+------+S|R */
-	{ NULL,  5,  3, -9, -6 }, /* List      E|      |c|i */
-	{ NULL, -4,  3,  1, -6 }, /* Input     F| List |r|g */
-	{ NULL,  5, -3, -8,  1 }, /* Scrollbar T|______|B|h */
-	{ NULL,  5, -2, -8,  2 }, /* Right     |+Input-+r|t */
-	{ NULL, -3,  0,  3,  0 }, /* Bottom    ---Bottom--- */
-};
-int topline = 0, bottomline = 0, minwidth = 0;
-extern eMask e_mask;
-extern eOrder e_order;
-extern eScope e_scope;
-extern eState e_state;
-extern sListStats listStats;
-
-
 /* internal prototypes */
 static int (*callback)(sFlag**, int);
 static int (*drawflag)(sFlag*, bool);
-void checktermsize(void);
-void draw(bool withSep);
-void drawScrollbar(void);
-int  getListHeight(void);
-void resetDisplay(bool withSep);
-bool setNextItem(int count, bool strict);
-bool setPrevItem(int count, bool strict);
+static void checktermsize(void);
+static void drawScrollbar(void);
+static int  getListHeight(void);
 
 
 /* internal functions */
 
 /** @brief get the sum of lines the list holds respecting current filtering
 **/
-int getListHeight()
+static int getListHeight()
 {
 	int result = 0;
 
@@ -110,9 +89,9 @@ void cursesdone() {
 	endwin();
 }
 
-void checktermsize() {
+static void checktermsize() {
 	while(wHeight(List) < 1
-	   || wWidth(List)  < minwidth) {
+	   || wWidth(List)  < (minwidth + 10)) {
 #ifdef KEY_RESIZE
 		clear();
 		attrset(0);
@@ -251,7 +230,7 @@ void drawFlags() {
 	wnoutrefresh(win(List));
 }
 
-void drawScrollbar() {
+static void drawScrollbar() {
 	int sHeight = wHeight(Scrollbar);
 	int lHeight = wHeight(List);
 	WINDOW *w = win(Scrollbar);
@@ -485,17 +464,9 @@ int maineventloop(
 		int(*_drawflag)(sFlag*, bool),
 		sFlag* _flags,
 		const sKey *_keys,
-		bool withSep) {
+		bool _withSep) {
 	int result;
 
-	// Always reset the Filters on start and revert on exit
-	eMask  oldMask  = e_mask;
-	eScope oldScope = e_scope;
-	eState oldState = e_state;
-	e_mask  = eMask_unmasked;
-	e_scope = eScope_all;
-	e_state = eState_all;
-
 	{ const char *temp = subtitle;
 		subtitle  = _subtitle;
 		_subtitle = temp; }
@@ -512,9 +483,23 @@ int maineventloop(
 		keys  = _keys;
 		_keys = temp; }
 
-	currentflag = flags;
-	topline = 0;
+	// Save old display position
+	sFlag* oldCurr = currentflag;
+	bool   oldSep  = withSep;
+	int    oldTop  = topline;
+	currentflag    = flags;
+	topline        = 0;
+	withSep        = _withSep;
+
+	// Save filter settings and start with neutral ones
+	eMask  oldMask  = e_mask;
+	eScope oldScope = e_scope;
+	eState oldState = e_state;
+	e_mask  = eMask_unmasked;
+	e_scope = eScope_all;
+	e_state = eState_all;
 
+	// Draw initial display
 	draw(withSep);
 
 	for(;;) {
@@ -703,53 +688,6 @@ int maineventloop(
 					}
 					break;
 
-				case KEY_F(5):
-					if      (eMask_masked   == e_mask) e_mask = eMask_unmasked;
-					else if (eMask_unmasked == e_mask) e_mask = eMask_both;
-					else                               e_mask = eMask_masked;
-
-					if ( !isFlagLegal(currentflag)
-					  && !setNextItem(1, true)
-					  && !setPrevItem(1, true) )
-						resetDisplay(withSep);
-					else
-						draw(withSep);
-
-					break;
-
-				case KEY_F(6):
-					if      (eScope_local  == e_scope) e_scope = eScope_all;
-					else if (eScope_global == e_scope) e_scope = eScope_local;
-					else                               e_scope = eScope_global;
-
-					if ( !isFlagLegal(currentflag)
-					  && !setNextItem(1, true)
-					  && !setPrevItem(1, true) )
-						resetDisplay(withSep);
-					else
-						draw(withSep);
-					break;
-
-				case KEY_F(7):
-					if      (eState_installed    == e_state) e_state = eState_notinstalled;
-					else if (eState_notinstalled == e_state) e_state = eState_all;
-					else                                     e_state = eState_installed;
-
-					if ( !isFlagLegal(currentflag)
-					  && !setNextItem(1, true)
-					  && !setPrevItem(1, true) )
-						resetDisplay(withSep);
-					else
-						draw(withSep);
-					break;
-
-				case KEY_F(8):
-					if (eOrder_left == e_order) e_order = eOrder_right;
-					else                        e_order = eOrder_left;
-					drawFlags();
-					break;
-
-
 #ifdef KEY_RESIZE
 				case KEY_RESIZE:
 					resizeterm(LINES, COLS);
@@ -780,13 +718,18 @@ exit:
 	flags    = _flags;
 	keys     = _keys;
 
-	// revert filters
+	// Reset display:
+	currentflag = oldCurr;
+	topline     = oldTop;
+	withSep     = oldSep;
+
+	// Revert filters
 	e_mask  = oldMask;
 	e_scope = oldScope;
 	e_state = oldState;
 
 	if(flags != NULL)
-		resetDisplay(withSep);
+		draw(withSep);
 
 	return result;
 }


             reply	other threads:[~2013-02-03 14:32 UTC|newest]

Thread overview: 238+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-03 14:32 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-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-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=1359901889.ada4931e59d9fac668a097b84696bf7f602a8144.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