Author: rpmcruz
Date: Wed Feb 17 00:05:15 2010
New Revision: 60832
URL: http://svn.opensuse.org/viewcvs/yast?rev=60832&view=rev
Log:
* src/ygtkpkglistview.h/cc: added tags as parameters to
highlightMarkup().
* src/ygtkpkgdetailview.cc: highlight description attribute.
* src/yzyppwrapper.h/cc: moved website text from
Selectable::description() to Package::url()
* src/ygtkpkglistview.cc: version as red for orphan too.
Modified:
trunk/gtk/ChangeLog
trunk/gtk/src/pkg/ygtkpkgdetailview.cc
trunk/gtk/src/pkg/ygtkpkglistview.cc
trunk/gtk/src/pkg/ygtkpkglistview.h
trunk/gtk/src/pkg/yzyppwrapper.cc
trunk/gtk/src/pkg/yzyppwrapper.h
Modified: trunk/gtk/ChangeLog
URL: http://svn.opensuse.org/viewcvs/yast/trunk/gtk/ChangeLog?rev=60832&r1=60831&r2=60832&view=diff
==============================================================================
--- trunk/gtk/ChangeLog (original)
+++ trunk/gtk/ChangeLog Wed Feb 17 00:05:15 2010
@@ -1,3 +1,15 @@
+2010-02-16 Ricardo Cruz
+
+ * src/ygtkpkglistview.h/cc: added tags as parameters to
+ highlightMarkup().
+
+ * src/ygtkpkgdetailview.cc: highlight description attribute.
+
+ * src/yzyppwrapper.h/cc: moved website text from
+ Selectable::description() to Package::url()
+
+ * src/ygtkpkglistview.cc: version as red for orphan too.
+
2010-02-13 Ricardo Cruz
* src/YGDialog.cc: increased default width by 50 px.
Modified: trunk/gtk/src/pkg/ygtkpkgdetailview.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/gtk/src/pkg/ygtkpkgdetailview.cc?rev=60832&r1=60831&r2=60832&view=diff
==============================================================================
--- trunk/gtk/src/pkg/ygtkpkgdetailview.cc (original)
+++ trunk/gtk/src/pkg/ygtkpkgdetailview.cc Wed Feb 17 00:05:15 2010
@@ -15,6 +15,7 @@
#include "YGPackageSelector.h"
#include "ygtkrichtext.h"
#include "ygtkpkgsearchentry.h"
+#include "ygtkpkglistview.h"
#include
#define BROWSER_BIN "/usr/bin/firefox"
@@ -23,6 +24,9 @@
static const char *onlyInstalledMsg =
_("<i>Information only available for installed packages.</i>");
+static const char *keywordOpenTag = "";
+static const char *keywordCloseTag = "</font>";
+
struct DetailWidget {
virtual ~DetailWidget() {}
virtual GtkWidget *getWidget() = 0;
@@ -115,6 +119,20 @@
if (list.size() == 1) {
Ypp::Selectable &sel = list.get (0);
str = sel.description (true);
+
+ YGtkPkgSearchEntry *search = YGPackageSelector::get()->getSearchEntry();
+ if (search->getAttribute() == Ypp::PoolQuery::DESCRIPTION) {
+ std::list std::string keywords;
+ keywords = YGPackageSelector::get()->getSearchEntry()->getText();
+ highlightMarkup (str, keywords, keywordOpenTag, keywordCloseTag,
+ strlen (keywordOpenTag), strlen (keywordCloseTag));
+ }
+
+ if (sel.type() == Ypp::Selectable::PACKAGE) {
+ std::string url (Ypp::Package (sel).url());
+ str += std::string ("<p><b>") + _("Web site:") + "</b> " + url + "</a></p>";
+ }
}
else {
if (list.size() > 0) {
@@ -125,6 +143,7 @@
}
}
ygtk_rich_text_set_text (YGTK_RICH_TEXT (text), str.c_str());
+fprintf (stderr, "description text: %s\n\n\n", str.c_str());
}
static void link_clicked_cb (YGtkRichText *text, const gchar *link, DetailDescription *pThis)
@@ -297,6 +316,12 @@
}
};
+typedef zypp::ResPoolProxy::const_iterator ZyppPoolIterator;
+inline ZyppPoolIterator zyppSrcPkgBegin()
+{ return zyppPool().byKindBeginzypp::SrcPackage(); }
+inline ZyppPoolIterator zyppSrcPkgEnd()
+{ return zyppPool().byKindEndzypp::SrcPackage(); }
+
struct VersionExpander : public DetailExpander {
GtkWidget *box, *versions_box, *button, *undo_button;
@@ -755,10 +780,10 @@
if (dep == 0 || dep == 2)
ret += "";
if (highlight)
- ret += "";
+ ret += keywordOpenTag;
ret += str;
if (highlight)
- ret += "</font>";
+ ret += keywordCloseTag;
if (dep == 0 || dep == 2)
ret += "</a>";
}
@@ -869,10 +894,10 @@
bool highlight = (basename == keyword);
if (highlight)
- text += "";
+ text += keywordOpenTag;
text += basename;
if (highlight)
- text += "</font>";
+ text += keywordCloseTag;
}
text += "</blockquote>";
Modified: trunk/gtk/src/pkg/ygtkpkglistview.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/gtk/src/pkg/ygtkpkglistview.cc?rev=60832&r1=60831&r2=60832&view=diff
==============================================================================
--- trunk/gtk/src/pkg/ygtkpkglistview.cc (original)
+++ trunk/gtk/src/pkg/ygtkpkglistview.cc Wed Feb 17 00:05:15 2010
@@ -81,7 +81,7 @@
switch (col) {
case NAME_PROP: {
std::string str (sel.name());
- highlightMarkup (str, m_keywords);
+ highlightMarkupSpan (str, m_keywords);
g_value_set_string (value, str.c_str());
break;
}
@@ -93,7 +93,7 @@
summary = YGUtils::escapeMarkup (summary);
str += "\n<small>" + summary + "</small>";
}
- highlightMarkup (str, m_keywords);
+ highlightMarkupSpan (str, m_keywords);
g_value_set_string (value, str.c_str());
break;
}
@@ -142,7 +142,8 @@
std::string str;
str.reserve (128);
int cmp = 0;
- if (sel.availableSize() > 0) {
+ bool hasAvailable = sel.availableSize() > 0;
+ if (hasAvailable) {
Ypp::Version candidate = sel.candidate();
if (sel.isInstalled()) {
Ypp::Version installed = sel.installed();
@@ -156,9 +157,15 @@
str += "";
else if (cmp < 0)
str += "";
+
if (cmp == 0) {
- if (sel.isInstalled())
+ if (sel.isInstalled()) {
+ if (!hasAvailable) // red for orphan too
+ str += "";
str += sel.installed().number();
+ if (!hasAvailable)
+ str += "</span>";
+ }
else
str += sel.candidate().number();
}
@@ -168,6 +175,7 @@
str += sel.installed().number();
str += "</small>";
}
+fprintf (stderr, "version: %s\n", str.c_str());
g_value_set_string (value, str.c_str());
break;
}
@@ -853,11 +861,9 @@
return icon;
}
-void highlightMarkup (std::string &text, const std::list std::string &keywords)
+void highlightMarkup (std::string &text, const std::list std::string &keywords,
+ const char *openTag, const char *closeTag, int openTagLen, int closeTagLen)
{
- static const char openTag[] = "";
- static const char closeTag[] = "</span>";
-
if (keywords.empty()) return;
for (std::list std::string::const_iterator it = keywords.begin();
it != keywords.end(); it++) {
@@ -867,8 +873,15 @@
int pos = c - text.c_str(), len = keyword.size();
text.insert (pos+len, closeTag);
text.insert (pos, openTag);
- c = text.c_str() + pos + len + sizeof (openTag) + sizeof (closeTag) - 2;
+ c = text.c_str() + pos + len + openTagLen + closeTagLen - 2;
}
}
}
+void highlightMarkupSpan (std::string &text, const std::list std::string &keywords)
+{
+ static const char openTag[] = "";
+ static const char closeTag[] = "</span>";
+ highlightMarkup (text, keywords, openTag, closeTag, sizeof (openTag), sizeof (closeTag));
+}
+
Modified: trunk/gtk/src/pkg/ygtkpkglistview.h
URL: http://svn.opensuse.org/viewcvs/yast/trunk/gtk/src/pkg/ygtkpkglistview.h?rev=60832&r1=60831&r2=60832&view=diff
==============================================================================
--- trunk/gtk/src/pkg/ygtkpkglistview.h (original)
+++ trunk/gtk/src/pkg/ygtkpkglistview.h Wed Feb 17 00:05:15 2010
@@ -53,7 +53,10 @@
std::string getRepositoryLabel (Ypp::Repository &repo);
const char *getRepositoryStockIcon (Ypp::Repository &repo);
-void highlightMarkup (std::string &text, const std::list std::string &keywords);
+void highlightMarkup (std::string &text, const std::list std::string &keywords,
+ const char *openTag, const char *closeTag, int openTagLen, int closeTagLen);
+
+void highlightMarkupSpan (std::string &text, const std::list std::string &keywords);
#endif
Modified: trunk/gtk/src/pkg/yzyppwrapper.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/gtk/src/pkg/yzyppwrapper.cc?rev=60832&r1=60831&r2=60832&view=diff
==============================================================================
--- trunk/gtk/src/pkg/yzyppwrapper.cc (original)
+++ trunk/gtk/src/pkg/yzyppwrapper.cc Wed Feb 17 00:05:15 2010
@@ -157,12 +157,6 @@
YGUtils::replace (text, "\n\n", 2, "<br>");
text += br;
}
-
- ZyppPackage package = castZyppPackage (m_sel->theObj());
- std::string url = package->url();
- if (!url.empty() && as_html)
- text += std::string ("<p><b>") + _("Web site:") + "</b> " + url + "</a></p>";
break;
}
case PATCH: {
@@ -585,6 +579,12 @@
std::string Ypp::Package::supportDescription (int support)
{ return zypp::asUserStringDescription (asSupportOpt (support)); }
+std::string Ypp::Package::url()
+{
+ ZyppPackage package = castZyppPackage (m_sel.zyppSel()->theObj());
+ return package->url();
+}
+
YPkgGroupEnum Ypp::Package::group()
{
static std::map pkgGroupMap;
Modified: trunk/gtk/src/pkg/yzyppwrapper.h
URL: http://svn.opensuse.org/viewcvs/yast/trunk/gtk/src/pkg/yzyppwrapper.h?rev=60832&r1=60831&r2=60832&view=diff
==============================================================================
--- trunk/gtk/src/pkg/yzyppwrapper.h (original)
+++ trunk/gtk/src/pkg/yzyppwrapper.h Wed Feb 17 00:05:15 2010
@@ -202,6 +202,8 @@
static std::string supportSummary (int support);
static std::string supportDescription (int support);
+ std::string url();
+
YPkgGroupEnum group();
std::string rpm_group();
--
To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org
For additional commands, e-mail: yast-commit+help@opensuse.org