[Aptitude-svn-commit] r3529 - branches/aptitude-0.3/aptitude/src

Daniel Burrows dburrows@costa.debian.org
Sat, 02 Jul 2005 13:38:26 +0000


Author: dburrows
Date: Sat Jul  2 13:38:25 2005
New Revision: 3529

Modified:
   branches/aptitude-0.3/aptitude/src/pkg_item.h
   branches/aptitude-0.3/aptitude/src/pkg_item_with_subtree.h
   branches/aptitude-0.3/aptitude/src/pkg_ver_item.cc
   branches/aptitude-0.3/aptitude/src/pkg_ver_item.h
Log:
Get pkg_ver_item to compile.

Modified: branches/aptitude-0.3/aptitude/src/pkg_item.h
==============================================================================
--- branches/aptitude-0.3/aptitude/src/pkg_item.h	(original)
+++ branches/aptitude-0.3/aptitude/src/pkg_item.h	Sat Jul  2 13:38:25 2005
@@ -53,9 +53,9 @@
 
   virtual void paint(vs_tree *win, int y, bool hierarchical, const style &st);
 
-  virtual const char *tag() const;
-  virtual const char *label() const;
-  virtual bool matches(std::string s) const;
+  virtual const wchar_t *tag();
+  virtual const wchar_t *label();
+  virtual bool matches(const std::string &s) const;
 
   virtual void select(undo_group *undo);
   virtual void hold(undo_group *undo);

Modified: branches/aptitude-0.3/aptitude/src/pkg_item_with_subtree.h
==============================================================================
--- branches/aptitude-0.3/aptitude/src/pkg_item_with_subtree.h	(original)
+++ branches/aptitude-0.3/aptitude/src/pkg_item_with_subtree.h	Sat Jul  2 13:38:25 2005
@@ -42,9 +42,7 @@
       {
 	if(type==name)
 	  {
-	    std::wstring name;
-	    if(!transcode(get_pkg().Name(), name))
-	      name=L"INTERNAL ERROR OCCURED";
+	    std::wstring name=transcode(get_pkg().Name());
 
 	    // Interesting question: would it be reasonable to use graphical
 	    // characters here?  What about Unicode graphical characters?
@@ -52,7 +50,7 @@
 	      return column_disposition(std::wstring(expanded?L"--\\ ":L"--- ")+name, get_basex());
 	    else
 	      {
-		return column_disposition(std::wstring(L"-> ")+name, get_basex());
+		return column_disposition(L"-> "+name, get_basex());
 	      }
 	  }
 	else

Modified: branches/aptitude-0.3/aptitude/src/pkg_ver_item.cc
==============================================================================
--- branches/aptitude-0.3/aptitude/src/pkg_ver_item.cc	(original)
+++ branches/aptitude-0.3/aptitude/src/pkg_ver_item.cc	Sat Jul  2 13:38:25 2005
@@ -465,6 +465,13 @@
   return vs_treeitem::get_normal_style()+ver_style(version);
 }
 
+pkg_ver_item::pkg_ver_item(const pkgCache::VerIterator &_version, pkg_signal *_sig,
+			   bool _show_pkg_name)
+  :version(_version), version_name(transcode(version.VerStr(), "ASCII")),
+   show_pkg_name(_show_pkg_name), sig(_sig)
+{
+}
+
 style pkg_ver_item::ver_style(pkgCache::VerIterator version)
 {
   pkgCache::PkgIterator pkg=version.ParentPkg();
@@ -526,14 +533,14 @@
 	   pkgCache::VerIterator(*apt_cache_file));
 }
 
-const char *pkg_ver_item::tag() const
+const wchar_t *pkg_ver_item::tag()
 {
-  return version.VerStr();
+  return version_name.c_str();
 }
 
-const char *pkg_ver_item::label() const
+const wchar_t *pkg_ver_item::label()
 {
-  return version.VerStr();
+  return version_name.c_str();
 }
 
 void pkg_ver_item::select(undo_group *undo)
@@ -648,7 +655,7 @@
   return newtree;
 }
 
-bool pkg_ver_item::dispatch_char(const key &k, vs_tree *owner)
+bool pkg_ver_item::dispatch_key(const key &k, vs_tree *owner)
 {
   if(bindings->key_matches(k, "Dependencies"))
     {
@@ -716,5 +723,5 @@
       return true;
     }
   else
-    return pkg_tree_node::dispatch_char(k, owner);
+    return pkg_tree_node::dispatch_key(k, owner);
 }

Modified: branches/aptitude-0.3/aptitude/src/pkg_ver_item.h
==============================================================================
--- branches/aptitude-0.3/aptitude/src/pkg_ver_item.h	(original)
+++ branches/aptitude-0.3/aptitude/src/pkg_ver_item.h	Sat Jul  2 13:38:25 2005
@@ -37,14 +37,17 @@
 class pkg_ver_item:public pkg_tree_node
 {
   pkgCache::VerIterator version;
+  /** Stores the name of this version to avoid problems that can arise
+   *  with transcode().
+   */
+  std::wstring version_name;
 
   bool show_pkg_name;
 
   pkg_signal *sig;
 public:
   pkg_ver_item(const pkgCache::VerIterator &_version, pkg_signal *_sig,
-	       bool _show_pkg_name=false)
-    :version(_version), show_pkg_name(_show_pkg_name), sig(_sig) {}
+	       bool _show_pkg_name=false);
 
   pkgCache::PkgIterator get_package() const {return version.ParentPkg();}
   const pkgCache::VerIterator &get_version() const {return version;}
@@ -90,7 +93,7 @@
     return _system->VS->CmpVersion(item1->get_version().VerStr(), item2->get_version().VerStr());
   }
 
-  bool operator()(const vs_treeitem *item1, const vs_treeitem *item2) const
+  bool operator()(vs_treeitem *item1, vs_treeitem *item2)
   {
     // FIXME: this is horrible.
     const pkg_ver_item *pitem1=dynamic_cast<const pkg_ver_item *>(item1);