The following commit has been merged in the master branch:
commit 0057c0d02145dee53c9331f1ca40a9505e2649d0
Author: Miriam Ruiz <[email protected]>
Date:   Wed May 6 18:48:59 2009 +0200

    Simplify HTML package description subsystem

diff --git a/fltk/pkgbrowser.cpp b/fltk/pkgbrowser.cpp
index a76955d..42c9fa6 100644
--- a/fltk/pkgbrowser.cpp
+++ b/fltk/pkgbrowser.cpp
@@ -152,19 +152,20 @@ void PackageBrowser::item_select(void *p, int s)
 
                        if (img) ui.Screenshot(img);
 
-                       std::string pkg_desc;
+                       std::string html_short, html_long;
+                       if (!pkgdata.GetPkgHTMLDesc(rec.package(), html_short, 
html_long))
+                       {
+                               html_short.erase();
+                               
PackageData::AddTextAsHTML(rec.shortDescription(), html_short);
+                               html_long.erase();
+                               
PackageData::AddTextAsHTML(rec.longDescription(), html_long);
+                       }
 
+                       std::string pkg_desc;
                        pkg_desc = std::string ("<center><h1><a href=\"pkg:") + 
rec.package() + "\">" + rec.package() +
                                "</a></h1></center><br />";
+                       pkg_desc += std::string("<center>") + html_short + 
"</center><hr /><p>" + html_long;
 
-                       std::string shortdesc, htmldesc;
-                       if (pkgdata.GetPackageHTMLDesc(rec.package(), 
shortdesc, htmldesc))
-                       {
-                               pkg_desc += std::string("<center>") + shortdesc 
+ "</center><hr /><p>" + htmldesc;
-                       } else {
-                               pkg_desc += std::string("<center>") + 
rec.shortDescription() + "</center><hr /><p>";
-                               PackageData::Text2HTML(rec.longDescription(), 
pkg_desc);
-                       }
                        ui.InfoView->value(pkg_desc.c_str());
 
                        static int widths[] = { 150, 0 }; // widths for each 
column
diff --git a/gui_fltk.cpp b/gui_fltk.cpp
index 56fc7c7..a014757 100644
--- a/gui_fltk.cpp
+++ b/gui_fltk.cpp
@@ -156,7 +156,7 @@ static void UpdateUILists(GamesUI& ui)
 
                        std::string desc;
                        std::string shortdesc;
-                       if (pkgdata.GetPackageShortDesc(rec.package(), 
shortdesc))
+                       if (pkgdata.GetPkgShortDesc(rec.package(), shortdesc))
                        {
                                desc = std::string(fmtstr) + rec.package() + 
"\t" + 
                                        std::string(fmtstr) + shortdesc;
diff --git a/pkgdata.cpp b/pkgdata.cpp
index bd35ebf..a4eb595 100644
--- a/pkgdata.cpp
+++ b/pkgdata.cpp
@@ -102,7 +102,7 @@ bool PackageData::AppTemplate(const char *id)
 
 static const char legalchars[] = 
"0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvw...@_?+-,.~/%&=:*#";
 
-void PackageData::Text2HTML(const std::string &in_text, std::string &out_html)
+void PackageData::AddTextAsHTML(const std::string &in_text, std::string 
&out_html)
 {
        const char *text = in_text.c_str();
        const char *src = text;
@@ -155,7 +155,7 @@ void PackageData::Text2HTML(const std::string &in_text, 
std::string &out_html)
        }
 }
 
-bool PackageData::GetPackageShortDesc(const std::string &pkgname, std::string 
&shortdesc)
+bool PackageData::GetPkgShortDesc(const std::string &pkgname, std::string 
&shortdesc)
 {
        if (!apt_helper || !apt_helper->IsInit()) return false;
        AptHelper::PackageInfo info;
@@ -165,7 +165,16 @@ bool PackageData::GetPackageShortDesc(const std::string 
&pkgname, std::string &s
        return true;
 }
 
-bool PackageData::GetPackageHTMLDesc(const std::string &pkgname, std::string 
&shortdesc, std::string &html)
+bool PackageData::GetPkgHTMLShortDesc(const std::string &pkgname, std::string 
&shortdesc)
+{
+       std::string shdesc;
+       if (!GetPkgShortDesc(pkgname, shdesc))
+               return false;
+
+       return true;
+}
+
+bool PackageData::GetPkgHTMLDesc(const std::string &pkgname, std::string 
&html_short, std::string &html_long)
 {
        if (!apt_helper || !apt_helper->IsInit()) return false;
 
@@ -177,8 +186,11 @@ bool PackageData::GetPackageHTMLDesc(const std::string 
&pkgname, std::string &sh
                << ( (strcmp(info.LanguageCode.c_str(),"") != 0) ? "-" : "" ) 
<< info.LanguageCode
                << ": " << info.ShortDescription << std::endl << 
info.LongDescription << std::endl;
 
-       shortdesc = info.ShortDescription;
-       Text2HTML(info.LongDescription, html);
+       html_short.erase();
+       AddTextAsHTML(info.ShortDescription, html_short);
+
+       html_long.erase();
+       AddTextAsHTML(info.LongDescription, html_long);
 
        return true;
 }
diff --git a/pkgdata.h b/pkgdata.h
index a174122..ea229ff 100644
--- a/pkgdata.h
+++ b/pkgdata.h
@@ -43,14 +43,15 @@ class PackageData : public Engine
 
        bool AppTemplate(const char *id);
 
-       bool GetPackageShortDesc(const std::string &pkgname, std::string 
&shortdesc);
-       bool GetPackageHTMLDesc(const std::string &pkgname, std::string 
&shortdesc, std::string &html);
+       bool GetPkgShortDesc(const std::string &pkgname, std::string 
&shortdesc);
+       bool GetPkgHTMLShortDesc(const std::string &pkgname, std::string 
&shortdesc);
+       bool GetPkgHTMLDesc(const std::string &pkgname, std::string 
&html_short, std::string &html_long);
 
        char *TagString(const Tag& tag);
        char *PackageString(const std::string& name);
        void PrintResults();
 
-       static void Text2HTML(const std::string &in_text, std::string 
&out_html);
+       static void AddTextAsHTML(const std::string &in_text, std::string 
&out_html);
 
        PackageFilter &GetPackageFilter()
        {

-- 
Development for GoFind!

_______________________________________________
Pkg-games-commits mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/pkg-games-commits

Reply via email to