[Aptitude-svn-commit] r3479 - in branches/aptitude-0.3/aptitude: . src/vscreen

Daniel Burrows dburrows@costa.debian.org
Mon, 27 Jun 2005 21:22:46 +0000


Author: dburrows
Date: Mon Jun 27 21:22:43 2005
New Revision: 3479

Modified:
   branches/aptitude-0.3/aptitude/ChangeLog
   branches/aptitude-0.3/aptitude/src/vscreen/vscreen.cc
   branches/aptitude-0.3/aptitude/src/vscreen/vscreen_widget.h
Log:
Fix the core code to compile in the new regime.

Modified: branches/aptitude-0.3/aptitude/ChangeLog
==============================================================================
--- branches/aptitude-0.3/aptitude/ChangeLog	(original)
+++ branches/aptitude-0.3/aptitude/ChangeLog	Mon Jun 27 21:22:43 2005
@@ -1,5 +1,9 @@
 2005-06-27  Daniel Burrows  <dburrows@debian.org>
 
+	* src/vscreen/vscreen.cc, src/vscreen/vscreen.h:
+
+	  Fix compilation problems from the new keybindings stuff.
+
 	* src/vscreen/vscreen.cc:
 
 	  Use the function-key information from get_wch() to decide what

Modified: branches/aptitude-0.3/aptitude/src/vscreen/vscreen.cc
==============================================================================
--- branches/aptitude-0.3/aptitude/src/vscreen/vscreen.cc	(original)
+++ branches/aptitude-0.3/aptitude/src/vscreen/vscreen.cc	Mon Jun 27 21:22:43 2005
@@ -29,6 +29,7 @@
 #include "curses++.h"
 #include "vscreen_widget.h"
 
+#include "transcode.h"
 #include "vs_editline.h"
 #include "vs_menu.h"
 #include "vs_menubar.h"
@@ -190,54 +191,54 @@
   keybinding undokey, helpkey, researchkey;
   keybinding menutogglekey, cancelkey;
 
-  upkey.push_back(KEY_UP);
-  upkey.push_back('k');
-  downkey.push_back(KEY_DOWN);
-  downkey.push_back('j');
-  leftkey.push_back(KEY_LEFT);
-  leftkey.push_back('h');
-  rightkey.push_back(KEY_RIGHT);
-  rightkey.push_back('l');
-  quitkey.push_back("q"[0]);
-
-  historyprevkey.push_back(KEY_UP);
-  historyprevkey.push_back(KEY_CTRL('p'));
-  historynextkey.push_back(KEY_DOWN);
-  historynextkey.push_back(KEY_CTRL('n'));
-
-  homekey.push_back(KEY_HOME);
-  homekey.push_back(KEY_CTRL("a"[0]));
-  endkey.push_back(KEY_END);
-  endkey.push_back(KEY_CTRL("e"[0]));
-
-  delfkey.push_back(KEY_DC);
-  delfkey.push_back(KEY_CTRL("d"[0]));
-
-  delbkey.push_back(KEY_BACKSPACE);
-  delbkey.push_back(KEY_CTRL("h"[0]));
-
-  ppagekey.push_back(KEY_PPAGE);
-  ppagekey.push_back(KEY_CTRL("b"[0]));
-
-  npagekey.push_back(KEY_NPAGE);
-  npagekey.push_back(KEY_CTRL("f"[0]));
-
-  undokey.push_back(KEY_CTRL("u"[0]));
-  undokey.push_back(KEY_CTRL('_'));
-
-  helpkey.push_back('?');
-  helpkey.push_back(KEY_CTRL("h"[0]));
-  helpkey.push_back(KEY_F(1));
-
-  menutogglekey.push_back(KEY_F(10));
-  menutogglekey.push_back(KEY_CTRL(' '));
-
-  cancelkey.push_back(KEY_CTRL("g"[0]));
-  cancelkey.push_back('\e');
-  cancelkey.push_back(KEY_CTRL('['));
+  upkey.push_back(key(KEY_UP, true));
+  upkey.push_back(key(L'k', false));
+  downkey.push_back(key(KEY_DOWN, true));
+  downkey.push_back(key(L'j', false));
+  leftkey.push_back(key(KEY_LEFT, true));
+  leftkey.push_back(key(L'h', false));
+  rightkey.push_back(key(KEY_RIGHT, true));
+  rightkey.push_back(key(L'l', false));
+  quitkey.push_back(key(L'q', false));
+
+  historyprevkey.push_back(key(KEY_UP, true));
+  historyprevkey.push_back(KEY_CTRL(L'p'));
+  historynextkey.push_back(key(KEY_DOWN, true));
+  historynextkey.push_back(KEY_CTRL(L'n'));
+
+  homekey.push_back(key(KEY_HOME, true));
+  homekey.push_back(KEY_CTRL(L'a'));
+  endkey.push_back(key(KEY_END, true));
+  endkey.push_back(KEY_CTRL(L'e'));
+
+  delfkey.push_back(key(KEY_DC, true));
+  delfkey.push_back(KEY_CTRL(L'd'));
+
+  delbkey.push_back(key(KEY_BACKSPACE, true));
+  delbkey.push_back(KEY_CTRL(L'h'));
+
+  ppagekey.push_back(key(KEY_PPAGE, true));
+  ppagekey.push_back(KEY_CTRL(L'b'));
+
+  npagekey.push_back(key(KEY_NPAGE, true));
+  npagekey.push_back(KEY_CTRL(L'f'));
+
+  undokey.push_back(KEY_CTRL(L'u'));
+  undokey.push_back(KEY_CTRL(L'_'));
+
+  helpkey.push_back(key(L'?', false));
+  helpkey.push_back(KEY_CTRL(L'h'));
+  helpkey.push_back(key(KEY_F(1), true));
+
+  menutogglekey.push_back(key(KEY_F(10), true));
+  menutogglekey.push_back(KEY_CTRL(L' '));
+
+  cancelkey.push_back(KEY_CTRL(L'g'));
+  cancelkey.push_back(key(L'\e', true));
+  cancelkey.push_back(KEY_CTRL(L'['));
 
-  researchkey.push_back('\\');
-  researchkey.push_back('n');
+  researchkey.push_back(key(L'\\', false));
+  researchkey.push_back(key(L'n', true));
 
   init_curses();
 
@@ -248,43 +249,43 @@
   rootwin.keypad(true);
 
   global_bindings.set("Quit", quitkey);
-  global_bindings.set("Cycle", '\t');
-  global_bindings.set("Refresh", KEY_CTRL("l"[0]));
+  global_bindings.set("Cycle", key(L'\t', false));
+  global_bindings.set("Refresh", KEY_CTRL(L'l'));
 
   global_bindings.set("Up", upkey);
   global_bindings.set("Down", downkey);
-  global_bindings.set("LevelDown", "J"[0]);
-  global_bindings.set("LevelUp", "K"[0]);
+  global_bindings.set("LevelDown", key(L'J', false));
+  global_bindings.set("LevelUp", key(L'K', false));
   global_bindings.set("Left", leftkey);
   global_bindings.set("Right", rightkey);
   global_bindings.set("HistoryNext", historynextkey);
   global_bindings.set("HistoryPrev", historyprevkey);
-  global_bindings.set("Parent", '^');
+  global_bindings.set("Parent", key(L'^', false));
   global_bindings.set("PrevPage", ppagekey);
   global_bindings.set("NextPage", npagekey);
   global_bindings.set("Begin", homekey);
   global_bindings.set("End", endkey);
-  global_bindings.set("Search", '/');
+  global_bindings.set("Search", key(L'/', false));
   global_bindings.set("ReSearch", researchkey);
   global_bindings.set("DelBack", delbkey);
   global_bindings.set("DelForward", delfkey);
 
-  global_bindings.set("DelEOL", KEY_CTRL("k"[0]));
-  global_bindings.set("DelBOL", KEY_CTRL("u"[0]));
+  global_bindings.set("DelEOL", KEY_CTRL(L'k'));
+  global_bindings.set("DelBOL", KEY_CTRL(L'u'));
 
-  global_bindings.set("Confirm", KEY_ENTER);
+  global_bindings.set("Confirm", key(KEY_ENTER, true));
   global_bindings.set("Cancel", cancelkey);
   global_bindings.set("Undo", undokey);
   global_bindings.set("Help", helpkey);
   global_bindings.set("ToggleMenuActive", menutogglekey);
-  global_bindings.set("PushButton", ' ');
-  global_bindings.set("Yes", _("yes_key")[0]);
-  global_bindings.set("No", _("no_key")[0]);
-
-  global_bindings.set("ToggleExpanded", KEY_ENTER);
-  global_bindings.set("ExpandAll", '[');
-  global_bindings.set("CollapseAll", ']');
-  global_bindings.set("SelectParent", '^');
+  global_bindings.set("PushButton", key(L' ', false));
+  global_bindings.set("Yes", key(transcode(_("yes_key"))[0], false));
+  global_bindings.set("No", key(transcode(_("no_key"))[0], false));
+
+  global_bindings.set("ToggleExpanded", key(KEY_ENTER, true));
+  global_bindings.set("ExpandAll", key(L'[', false));
+  global_bindings.set("CollapseAll", key(L']', false));
+  global_bindings.set("SelectParent", key(L'^', false));
 
   vs_editline::init_bindings();
   vs_menu::init_bindings();
@@ -500,6 +501,8 @@
 	  toplevel->win.nodelay(false);
 	} while(wch==(wint_t) KEY_RESIZE);
 
+      key k(wch, status == KEY_CODE_YES);
+
       sigprocmask(SIG_BLOCK, &signals, &prevsignals);
 
       if(status != ERR)
@@ -518,11 +521,11 @@
 		  vscreen_tryupdate();
 		}
 	    }
-	  else if(global_bindings.key_matches(wch, "Refresh"))
+	  else if(global_bindings.key_matches(k, "Refresh"))
 	    vscreen_redraw();
 	  else if(toplevel)
 	    {
-	      toplevel->dispatch_key(key(wch, status == KEY_CODE_YES));
+	      toplevel->dispatch_key(k);
 	      main_hook();
 	      vscreen_tryupdate();
 	    }
@@ -583,6 +586,8 @@
 	  vscreen_acquirelock();
 	} while(wch==KEY_RESIZE);
 
+      key k = key(wch, result == KEY_CODE_YES);
+
       // used when asynchronous resizing was dangerous
       //if(resized)
       //	{
@@ -610,11 +615,11 @@
 	      vscreen_tryupdate();
 	    }
 	}
-      else if(global_bindings.key_matches(wch, "Refresh"))
+      else if(global_bindings.key_matches(k, "Refresh"))
 	vscreen_redraw();
       else if(result!=ERR && toplevel)
 	{
-	  toplevel->dispatch_char(key(wch, result == KEY_CODE_YES));
+	  toplevel->dispatch_key(k);
 	  main_hook();
 	  vscreen_tryupdate();
 	}

Modified: branches/aptitude-0.3/aptitude/src/vscreen/vscreen_widget.h
==============================================================================
--- branches/aptitude-0.3/aptitude/src/vscreen/vscreen_widget.h	(original)
+++ branches/aptitude-0.3/aptitude/src/vscreen/vscreen_widget.h	Mon Jun 27 21:22:43 2005
@@ -29,6 +29,7 @@
 #include "config/style.h"
 
 class vs_container;
+class key;
 
 struct size
 {