[Aptitude-svn-commit] r3483 - in branches/aptitude-0.3/aptitude: . src/vscreen
Daniel Burrows
dburrows@costa.debian.org
Mon, 27 Jun 2005 21:33:47 +0000
Author: dburrows
Date: Mon Jun 27 21:33:37 2005
New Revision: 3483
Modified:
branches/aptitude-0.3/aptitude/ChangeLog
branches/aptitude-0.3/aptitude/src/vscreen/vs_menu.cc
branches/aptitude-0.3/aptitude/src/vscreen/vs_menu.h
Log:
Convert vs_menu::handle_char to vs_menu::handle_key.
Modified: branches/aptitude-0.3/aptitude/ChangeLog
==============================================================================
--- branches/aptitude-0.3/aptitude/ChangeLog (original)
+++ branches/aptitude-0.3/aptitude/ChangeLog Mon Jun 27 21:33:37 2005
@@ -1,5 +1,9 @@
2005-06-27 Daniel Burrows <dburrows@debian.org>
+ * src/vscreen/vs_menu.cc, src/vscreen/vs_menu.h:
+
+ Convert vs_menu::handle_char to vs_editline::handle_key.
+
* src/vscreen/vs_editline.cc, src/vscreen/vs_editline.h:
Convert vs_editline::handle_char to vs_editline::handle_key.
Modified: branches/aptitude-0.3/aptitude/src/vscreen/vs_menu.cc
==============================================================================
--- branches/aptitude-0.3/aptitude/src/vscreen/vs_menu.cc (original)
+++ branches/aptitude-0.3/aptitude/src/vscreen/vs_menu.cc Mon Jun 27 21:33:37 2005
@@ -4,6 +4,8 @@
#include "vscreen.h"
#include "config/colors.h"
+#include "transcode.h"
+
#include <sigc++/functors/mem_fun.h>
#include <algorithm>
@@ -264,13 +266,13 @@
highlight_current();
}
-bool vs_menu::handle_char(chtype ch)
+bool vs_menu::handle_key(const key &k)
{
// This will ensure that the cursor is in bounds if possible, and that
// if it is in bounds, a "real" item is selected.
sanitize_cursor(true);
- if(bindings->key_matches(ch, "Up"))
+ if(bindings->key_matches(k, "Up"))
{
if(cursorloc>0)
{
@@ -282,7 +284,7 @@
vscreen_update();
}
}
- else if(bindings->key_matches(ch, "Down"))
+ else if(bindings->key_matches(k, "Down"))
{
if(cursorloc<items.size()-1)
{
@@ -294,11 +296,11 @@
vscreen_update();
}
}
- else if(bindings->key_matches(ch, "Begin"))
+ else if(bindings->key_matches(k, "Begin"))
set_cursor(next_selectable(0));
- else if(bindings->key_matches(ch, "End"))
+ else if(bindings->key_matches(k, "End"))
set_cursor(prev_selectable(items.size()-1));
- else if(bindings->key_matches(ch, "Confirm"))
+ else if(bindings->key_matches(k, "Confirm"))
{
itemlist::size_type selected=cursorloc;
@@ -312,7 +314,7 @@
{
for(itemlist::iterator i=items.begin(); i!=items.end(); i++)
if(*i && (*i)->is_enabled() &&
- toupper(ch)==toupper((*i)->get_hotkey()))
+ towupper(k.ch)==towupper((*i)->get_hotkey()))
{
menus_goaway();
item_highlighted(NULL);
@@ -321,7 +323,7 @@
return true;
}
- return vscreen_widget::handle_char(ch);
+ return vscreen_widget::handle_key(k);
}
return true;
@@ -387,7 +389,8 @@
mvaddch(1+i, width-1, ACS_VLINE);
string title=items[i]->get_title();
- string righttext=items[i]->get_binding().empty()?"":global_bindings.readable_keyname(items[i]->get_binding());
+ // HACK, remove once vs_menu is properly widechar-safe.
+ string righttext=transcode(items[i]->get_binding().empty()?L"":global_bindings.readable_keyname(items[i]->get_binding()));
bool enabled=items[i]->is_enabled();
Modified: branches/aptitude-0.3/aptitude/src/vscreen/vs_menu.h
==============================================================================
--- branches/aptitude-0.3/aptitude/src/vscreen/vs_menu.h (original)
+++ branches/aptitude-0.3/aptitude/src/vscreen/vs_menu.h Mon Jun 27 21:33:37 2005
@@ -151,7 +151,7 @@
void sanitize_cursor(bool forward);
protected:
- virtual bool handle_char(chtype ch);
+ virtual bool handle_key(const key &k);
public:
// Initialize a blank menu.
vs_menu();