[Aptitude-svn-commit] r3567 - in branches/aptitude-0.3/aptitude: . src
Daniel Burrows
dburrows@costa.debian.org
Sat, 02 Jul 2005 18:48:25 +0000
Author: dburrows
Date: Sat Jul 2 18:48:23 2005
New Revision: 3567
Modified:
branches/aptitude-0.3/aptitude/ChangeLog
branches/aptitude-0.3/aptitude/src/ui.cc
Log:
Fix ui.cc for wide characters.
Modified: branches/aptitude-0.3/aptitude/ChangeLog
==============================================================================
--- branches/aptitude-0.3/aptitude/ChangeLog (original)
+++ branches/aptitude-0.3/aptitude/ChangeLog Sat Jul 2 18:48:23 2005
@@ -1,5 +1,9 @@
2005-07-02 Daniel Burrows <dburrows@debian.org>
+ * src/ui.cc:
+
+ Update ui.cc to use wide characters internally.
+
* src/apt_info_tree.cc, src/apt_info_tree.h:
Update copyright info.
Modified: branches/aptitude-0.3/aptitude/src/ui.cc
==============================================================================
--- branches/aptitude-0.3/aptitude/src/ui.cc (original)
+++ branches/aptitude-0.3/aptitude/src/ui.cc Sat Jul 2 18:48:23 2005
@@ -182,9 +182,10 @@
}
// Search callback
-static void pager_do_search(std::string s, vs_pager *p)
+static void pager_do_search(const std::wstring &s, vs_pager *p)
{
- p->search_for(s);
+ // FIXME: the pager should be converted to use wide characters.
+ p->search_for(transcode(s));
}
// Handles "search" dialogs for pagers
@@ -212,7 +213,7 @@
layout->location_changed.connect(sigc::mem_fun(*s, &vs_scrollbar::set_slider));
s->scrollbar_interaction.connect(sigc::mem_fun(*layout, &vs_text_layout::scroll));
- return vs_dialog_ok(t, NULL, _("Ok"), get_style("Error"));
+ return vs_dialog_ok(t, NULL, transcode(_("Ok")), get_style("Error"));
}
// blah, I hate C++
@@ -514,7 +515,7 @@
// FIXME: do the config lookup inside the package-view code?
basic_format.push_back(package_view_item("static1",
- parse_columns(aptcfg->Find(PACKAGE "::UI::Package-Header-Format", default_pkgheaderdisplay),
+ parse_columns(transcode(aptcfg->Find(PACKAGE "::UI::Package-Header-Format", default_pkgheaderdisplay)),
pkg_item::pkg_columnizer::parse_column_type,
pkg_item::pkg_columnizer::defaults),
PACKAGE "::UI::Package-Header-Format",
@@ -533,7 +534,7 @@
true));
basic_format.push_back(package_view_item("static2",
- parse_columns(aptcfg->Find(PACKAGE "::UI::Package-Status-Format", default_pkgstatusdisplay),
+ parse_columns(transcode(aptcfg->Find(PACKAGE "::UI::Package-Status-Format", default_pkgstatusdisplay)),
pkg_item::pkg_columnizer::parse_column_type,
pkg_item::pkg_columnizer::defaults),
PACKAGE "::UI::Package-Status-Format",
@@ -606,7 +607,7 @@
grp=parse_grouppolicy(grpstr);
pkg_tree *tree=new pkg_tree(grpstr.c_str(), grp, NULL);
- tree->set_limit("!~v");
+ tree->set_limit(transcode("!~v"));
//tree->set_hierarchical(false);
add_main_widget(make_default_view(tree,
@@ -792,9 +793,9 @@
main_stacked->add_visible_widget(vs_dialog_yesno(sequence_fragment(frags),
arg(sigc::ptr_fun(install_or_remove_packages)),
- _("Really Continue"),
+ transcode(_("Really Continue")),
NULL,
- _("Abort Installation"),
+ transcode(_("Abort Installation")),
get_style("TrustWarning"),
true,
false),
@@ -840,7 +841,7 @@
}
if(aptcfg->Exists(PACKAGE "::UI::Preview-Limit"))
- active_preview_tree=new pkg_tree(grpstr.c_str(), grp, aptcfg->Find(PACKAGE "::UI::Preview-Limit").c_str());
+ active_preview_tree=new pkg_tree(grpstr.c_str(), grp, transcode(aptcfg->Find(PACKAGE "::UI::Preview-Limit").c_str()));
else
active_preview_tree=new pkg_tree(grpstr.c_str(), grp, NULL);
@@ -954,9 +955,9 @@
popup_widget(vs_dialog_yesno(wrapbox(text_fragment(_("Installing/removing packages requires administrative privileges, which you currently do not have. Would you like to change to the root account?"))),
arg(sigc::bind(sigc::ptr_fun(&do_su_to_root),
"-i")),
- _("Become root"),
+ transcode(_("Become root")),
arg(sigc::ptr_fun(&check_package_trust)),
- _("Don't become root"),
+ transcode(_("Don't become root")),
get_style("Error")));
}
}
@@ -1069,9 +1070,9 @@
popup_widget(vs_dialog_yesno(wrapbox(text_fragment(_("Updating the package lists requires administrative privileges, which you currently do not have. Would you like to change to the root account?"))),
arg(sigc::bind(sigc::ptr_fun(&do_su_to_root),
"-u")),
- _("Become root"),
+ transcode(_("Become root")),
arg(sigc::ptr_fun(&really_do_update_lists)),
- _("Don't become root"),
+ transcode(_("Don't become root")),
get_style("Error")));
}
}
@@ -1291,14 +1292,14 @@
popup_widget(make_solution_dialog(), true);
}
-static void handle_dump_resolver_response(string s)
+static void handle_dump_resolver_response(const wstring &s)
{
if((*apt_cache_file)->resolver_exists())
{
- ofstream out(s.c_str());
+ ofstream out(transcode(s).c_str());
if(!out)
- _error->Errno("dump_resolver", _("Unable to open %s"), s.c_str());
+ _error->Errno("dump_resolver", _("Unable to open %ls"), s.c_str());
else
{
(*apt_cache_file)->dump_resolver(out);
@@ -1605,7 +1606,7 @@
vs_menu *menu=new vs_menu(0, 0, 0, info);
- main_menu->append_item(name, menu);
+ main_menu->append_item(transcode(name), menu);
menu->item_highlighted.connect(sigc::bind(sigc::ptr_fun(do_show_menu_description),
menu_description));
@@ -1617,7 +1618,7 @@
class help_bar:public vs_label
{
public:
- help_bar(string txt, const style &st):vs_label(txt, st)
+ help_bar(const wstring &txt, const style &st):vs_label(txt, st)
{
set_visibility();
}
@@ -1716,14 +1717,14 @@
main_table->show();
// FIXME: highlight the keys.
- string menu_key=global_bindings.readable_keyname("ToggleMenuActive"),
+ wstring menu_key=global_bindings.readable_keyname("ToggleMenuActive"),
help_key=global_bindings.readable_keyname("Help"),
quit_key=global_bindings.readable_keyname("Quit"),
update_key=global_bindings.readable_keyname("UpdatePackageList"),
install_key=global_bindings.readable_keyname("DoInstallRun");
- char buf[512];
- snprintf(buf, 512, _("%s: Menu %s: Help %s: Quit %s: Update %s: Download/Install/Remove Pkgs"),
+ wchar_t buf[512];
+ swprintf(buf, 512, transcode(_("%ls: Menu %ls: Help %ls: Quit %ls: Update %ls: Download/Install/Remove Pkgs")).c_str(),
menu_key.c_str(),
help_key.c_str(),
quit_key.c_str(),
@@ -1803,8 +1804,8 @@
w->show();
}
-static void setup_main_widget(vscreen_widget *w, const std::string &menuref,
- const std::string &menudesc)
+static void setup_main_widget(vscreen_widget *w, const std::wstring &menuref,
+ const std::wstring &menudesc)
{
vs_menu_item *menuentry=new vs_menu_item(menuref, "", menudesc);
@@ -1827,9 +1828,9 @@
file_quit();
}
-void add_main_widget(vscreen_widget *w, const std::string &menuref,
- const std::string &menudesc,
- const std::string &tabdesc)
+void add_main_widget(vscreen_widget *w, const std::wstring &menuref,
+ const std::wstring &menudesc,
+ const std::wstring &tabdesc)
{
setup_main_widget(w, menuref, menudesc);
main_multiplex->add_widget(w, tabdesc);
@@ -1839,9 +1840,17 @@
update_menubar_autohide();
}
-void insert_main_widget(vscreen_widget *w, const std::string &menuref,
- const std::string &menudesc,
- const std::string &tabdesc)
+void add_main_widget(vscreen_widget *w, const std::string &menuref,
+ const std::string &menudesc,
+ const std::string &tabdesc)
+{
+ add_main_widget(w, transcode(menuref), transcode(menudesc),
+ transcode(tabdesc));
+}
+
+void insert_main_widget(vscreen_widget *w, const std::wstring &menuref,
+ const std::wstring &menudesc,
+ const std::wstring &tabdesc)
{
setup_main_widget(w, menuref, menudesc);
main_multiplex->add_widget_after(w, main_multiplex->visible_widget(), tabdesc);
@@ -1850,6 +1859,14 @@
update_menubar_autohide();
}
+void insert_main_widget(vscreen_widget *w, const std::string &menuref,
+ const std::string &menudesc,
+ const std::string &tabdesc)
+{
+ insert_main_widget(w, transcode(menuref),
+ transcode(menudesc), transcode(tabdesc));
+}
+
vscreen_widget *active_main_widget()
{
return main_multiplex->visible_widget();
@@ -1878,9 +1895,9 @@
}
download_manager *gen_download_progress(bool force_noninvasive,
- const string &title,
- const string &longtitle,
- const string &tablabel,
+ const wstring &title,
+ const wstring &longtitle,
+ const wstring &tablabel,
slot0arg abortslot)
{
download_manager *m=new download_manager;
@@ -1913,7 +1930,7 @@
return m;
}
-static void do_prompt_string(string s,
+static void do_prompt_string(const wstring &s,
vs_editline *e,
sigc::slot0<void> realslot)
{
@@ -1921,11 +1938,24 @@
realslot();
}
-void prompt_string(const std::string &prompt,
- const std::string &text,
- slotarg<sigc::slot1<void, string> > slot,
+download_manager *gen_download_progress(bool force_noninvasive,
+ const string &title,
+ const string &longtitle,
+ const string &tablabel,
+ slot0arg abortslot)
+{
+ return gen_download_progress(force_noninvasive,
+ transcode(title),
+ transcode(longtitle),
+ transcode(tablabel),
+ abortslot);
+}
+
+void prompt_string(const std::wstring &prompt,
+ const std::wstring &text,
+ slotarg<sigc::slot1<void, wstring> > slot,
slotarg<sigc::slot0<void> > cancel_slot,
- slotarg<sigc::slot1<void, string> > changed_slot,
+ slotarg<sigc::slot1<void, wstring> > changed_slot,
vs_editline::history_list *history)
{
if(aptcfg->FindB(PACKAGE "::UI::Minibuf-Prompts"))
@@ -1960,6 +1990,17 @@
true);
}
+void prompt_string(const std::string &prompt,
+ const std::string &text,
+ slotarg<sigc::slot1<void, wstring> > slot,
+ slotarg<sigc::slot0<void> > cancel_slot,
+ slotarg<sigc::slot1<void, wstring> > changed_slot,
+ vs_editline::history_list *history)
+{
+ prompt_string(transcode(prompt), transcode(text),
+ slot, cancel_slot, changed_slot, history);
+}
+
static void do_prompt_yesno(int cval,
bool deflt,
slot0arg yesslot,
@@ -1984,7 +2025,7 @@
}
}
-void prompt_yesno(const std::string &prompt,
+void prompt_yesno(const std::wstring &prompt,
bool deflt,
slot0arg yesslot,
slot0arg noslot)
@@ -1997,7 +2038,7 @@
nostring+=_("no_key")[0];
string yesnostring=deflt?yesstring+nostring:nostring+yesstring;
- vs_statuschoice *c=new vs_statuschoice(prompt, yesnostring.c_str());
+ vs_statuschoice *c=new vs_statuschoice(prompt, transcode(yesnostring));
c->chosen.connect(sigc::bind(sigc::ptr_fun(&do_prompt_yesno),
deflt,
yesslot,
@@ -2014,6 +2055,14 @@
true);
}
+void prompt_yesno(const std::string &prompt,
+ bool deflt,
+ slot0arg yesslot,
+ slot0arg noslot)
+{
+ return prompt_yesno(transcode(prompt), deflt, yesslot, noslot);
+}
+
void show_message(fragment *msg,
slot0arg okslot,
const style &st)