patches/gnome-desktop-01-jds-about-branding.diff
author jedy
Thu, 11 Sep 2008 05:48:12 +0000
changeset 13532 0e9954d4726f
parent 13295 4777f5c6e381
child 14401 b95c41e67d3f
permissions -rw-r--r--
2008-09-11 Wang Xin <[email protected]> * patches/gnome-desktop-01-jds-about-branding.diff: OpenSolaris branding fix.

--- gnome-desktop-2.21.5.old/Makefile.am	2007-11-19 17:16:14.655547000 +0000
+++ gnome-desktop-2.21.5/Makefile.am	2007-11-19 17:17:29.263500000 +0000
@@ -1,5 +1,10 @@
 ACLOCAL_AMFLAGS = -I m4
 
+XML_IN_FILES=gnome-version.xml.in
+XML_FILES=$(XML_IN_FILES:.xml.in=.xml)
+versiondir=$(datadir)/gnome-about
+version_DATA=$(XML_FILES)
+
 SUBDIRS =			\
 	po 			\
 	libgnome-desktop 	\
@@ -16,14 +16,12 @@
 
 EXTRA_DIST =			\
 	MAINTAINERS		\
-	gnome-version.xml.in.in	\
-	gnome-version.xml	\
+	$(XML_IN_FILES)		\
+	$(XML_FILES)		\
 	COPYING-DOCS		\
 	HACKING			\
 	gnome-doc-utils.make
 
-versiondir=$(datadir)/gnome-about
-version_DATA=gnome-version.xml
 @INTLTOOL_XML_RULE@
 
 DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --disable-scrollkeeper
--- gnome-desktop-2.21.2.old/configure.in	2007-11-19 17:16:14.653238000 +0000
+++ gnome-desktop-2.21.2/configure.in	2007-11-19 17:17:29.243978000 +0000
@@ -40,15 +40,21 @@
 GNOME_DATE=`date +"%Y-%m-%d"`
 
 AC_ARG_WITH(gnome_distributor, [  --with-gnome-distributor=DISTRIBUTOR  Specify name of GNOME distributor])
+AC_ARG_WITH(gnome_distributor_version, [  --with-gnome-distributor-version=DISTRIBUTOR  Specify version of GNOME distributor])
 
 if test "x$with_gnome_distributor" != x ; then
   GNOME_DISTRIBUTOR=$with_gnome_distributor
 fi
 
+if test "x$with_gnome_distributor_version" != x ; then
+  GNOME_DISTRIBUTOR_VERSION=$with_gnome_distributor_version
+fi
+
 AC_SUBST(GNOME_PLATFORM)
 AC_SUBST(GNOME_MINOR)
 AC_SUBST(GNOME_MICRO)
 AC_SUBST(GNOME_DISTRIBUTOR)
+AC_SUBST(GNOME_DISTRIBUTOR_VERSION)
 AC_SUBST(GNOME_DATE)
 
 GNOME_COMMON_INIT
--- gnome-desktop-2.21.2.old/gnome-about/contributors.list	2007-11-19 17:16:13.948459000 +0000
+++ gnome-desktop-2.21.2/gnome-about/contributors.list	2007-11-19 17:17:07.507665000 +0000
@@ -555,3 +555,96 @@
 Sascha Ziemann
 Michael Zucchi
 Jason van Zyl
+Alfred Peng
+Alvaro Lopez Ortega
+Amith Yamasani
+Anand Subramanian
+Antonio Xu 
+Archana Shah
+Ashish Mukharji
+Balamurali Viswanathan
+Biswa Lal
+Bolian Yin
+Brian Lu
+Brian Nitz
+Calvin Liu
+Carl Gadener
+Chandrashekhar BK
+Curtis Sasaki
+Dan Baigent
+Darren Kenny
+Dave Lin
+Deirdre Williams
+Derek Rafter
+Dermot McCluskey
+Dinoop Thomas
+Dirk Grobler
+Ervin Yan
+Evan Yan
+Gary Little
+Geoff Baysinger
+Ghee Teo
+Ginn Chen
+Girish Kulkarni
+Halton Huo
+Hema Seetharamaiah
+Henry Jia
+Ii Gyoung Park
+Jack Jia
+Jedy Wang
+Jeff McMeekin
+Jerry Tan
+Jessie Li
+Jijun Yu
+John Fischer
+John Rice
+Joshua Xia
+Kalpesh Shah
+Kaveri Murthy
+Kyle Yuan
+Lalith Kumar
+Laszlo Kovacs
+Laszlo Peter
+Leena Gunda
+Leo Binchy
+Leon Sha
+Leon Zhang
+Louie Zhao
+Louise Siu
+Luke Shi
+Mark Duggan
+Mark Yang
+Martin Damboldt
+Michael Krivoruchko
+Michael Twomey
+Michal Pryc
+Mike Lei
+Muktha Narayan
+Nancy Lee
+Narayana Pattipati
+Neo Liu
+Niall Power
+Olaf Felka
+Oliver Braun
+Partha Pratim
+Patrick Gu
+Pete Zha
+Rick Ju
+Robert Kinsella
+Robert O'Dea
+Robin Lu
+Simford Dong
+Sowmya Adiga
+Srirama Sharma
+Suresh Chandrasekharan
+Susan Jefferies
+Takao Fujiwara
+Terry Ponce
+Thorsten Laux
+Vijay Anand
+Vijaykumar Patwari
+Vinay M R
+Vishnu Kumar
+Yan Dong Yao
+Yogeesh MB
+Young J. Song
--- gnome-desktop-2.21.2.old/gnome-about/gnome-about.desktop.in.in	2007-11-19 17:16:13.946757000 +0000
+++ gnome-desktop-2.21.2/gnome-about/gnome-about.desktop.in.in	2007-11-19 17:16:50.784326000 +0000
@@ -1,7 +1,8 @@
 [Desktop Entry]
 Encoding=UTF-8
 _Name=About GNOME
-_Comment=Learn more about GNOME
+# SUN_BRANDING
+_Comment=GNOME version, licence and useful links
 Exec=gnome-about
 Icon=gnome-logo-icon-transparent
 Terminal=false
--- gnome-desktop-2.22.1.old/gnome-about/gnome-about.in	2008-04-30 13:40:59.991106000 +0100
+++ gnome-desktop-2.22.1/gnome-about/gnome-about.in	2008-04-30 13:46:03.284742000 +0100
@@ -38,7 +38,7 @@
 import cairo
 from math import pi
 
-import os, sys, random, time, gettext, locale
+import os, sys, random, time, gettext, locale, string
 
 import xml.dom.minidom
 
@@ -58,11 +58,12 @@
 gettext.install (GETTEXT_PACKAGE, LOCALEDIR, unicode = True)
 
 header_links = [
-    (_("About GNOME"), "http://www.gnome.org/about/"),
-    (_("News"), "http://news.gnome.org/"),
-    (_("GNOME Library"), "http://library.gnome.org/"),
-    (_("Friends of GNOME"), "http://www.gnome.org/friends/"),
-    (_("Contact"), "http://www.gnome.org/contact/"),
+    (_("About JDS"), "http://www.sun.com/software/javadesktopsystem/", True),
+    (_("About GNOME"), "http://www.gnome.org/about/", True),
+    (_("Software"), "http://www.sun.com/software/", True),
+    (_("Developers"), "http://developers.sun.com/", True),
+    (_("GNOME Library"), "http://library.gnome.org/", True),
+    (_("Contact"), "http://www.sun.com/contact/", True),
 ]
 
 translated_contributors = [
@@ -80,6 +81,12 @@
         return False
     return file[0]
 
+def locate_program (program):
+    for dir in string.split(os.environ['PATH'], os.pathsep):
+        if os.access(os.path.join(dir, program), os.X_OK):
+            return os.path.join(dir, program)
+    return None
+
 def cleanup_date (date):
     '''Parse a date as found in gnome-version.xml and nicely format it'''
     try:
@@ -535,14 +542,16 @@
     url       = ""
     menu      = None
     selection = None
+    is_link   = False
 
-    def __init__ (self, label, url):
+    def __init__ (self, label, url, is_link):
         '''Initialize object'''
         super (HyperLink, self).__init__ ()
         markup = "<b><u>%s</u></b>" % label
         self.set_markup (markup)
         self.set_selectable (True)
         self.url = url
+        self.is_link = is_link
         self.create_menu ()
         link_color = self.style_get_property ("link-color") 
         if not link_color:
@@ -551,10 +560,16 @@
 
     def open_url (self, *args):
         '''Use GNOME API to open the url'''
-        try:
-            gnome.url_show (self.url)
-        except Exception, e:
-            print '''Warning: could not open "%s": %s''' % (self.url, e)
+        if self.is_link != False:
+            try:
+                gnome.url_show (self.url)
+            except Exception, e:
+                print '''Warning: could not open "%s": %s''' % (self.url, e)
+        else:
+            try:
+                os.system (self.url)
+            except Exception, e:
+                print '''Warning: could not launch "%s": %s''' % (self.url, e)
 
     def copy_url (self, *args):
         '''Copy URL to Clipboard'''
@@ -724,22 +739,33 @@
 
         def make_link_widget (link):
             '''Helper function which makes an HyperLink and shows it'''
-            label = HyperLink (link[0], link[1])
-            label.show_all ()
-            return label
+            '''if link[2] is False, then a program, so check if on path'''
+            if link[2] == True:
+                label = HyperLink (link[0], link[1], link[2])
+                label.show_all ()
+                return label
+            else:
+                path = locate_program(link[1])
+                if path:
+                    label = HyperLink (link[0], link[1], link[2])
+                    label.show_all ()
+                    return label
+                else:
+                    return None
 
         widgets = map (make_link_widget, self.links)
         put_widgets = 0
         for widget in widgets:
-            if put_widgets > 0:
-                if dot:
-                    image = gtk.Image ()
-                    image.set_from_pixmap (dot, None)
-                    self.put (image, current_x + 5, base_y + 6)
-                current_x += 16
-            self.put (widget, current_x, base_y)
-            current_x += widget.size_request ()[0]
-            put_widgets += 1
+            if widget:
+                if put_widgets > 0:
+                    if dot:
+                        image = gtk.Image ()
+                        image.set_from_pixmap (dot, None)
+                        self.put (image, current_x + 5, base_y + 6)
+                    current_x += 16
+                self.put (widget, current_x, base_y)
+                current_x += widget.size_request ()[0]
+                put_widgets += 1
 
         self.width = current_x + 10
         self.height = current_y
@@ -880,7 +906,7 @@
         main_box.pack_start (welcome_label)
 
         descriptions_label = VertAnimatedLabel (self.description_messages,
-                                                300, 120,
+                                                402, 184,
                                                 DESCRIPTION_DELAY, "%s")
         welcome_label.connect ("button-press-event",
                                descriptions_label.on_button_press)
@@ -954,6 +980,7 @@
                     "minor" : "",
                     "micro" : "",
                     "distributor" : "",
+                    "distributor-version" : "",
                     "date" : ""
                 }
 
@@ -964,13 +991,17 @@
                 self.load_description_messages (node)
 
         '''Format version'''
-        if not len (infos["minor"]):
-            version = infos["platform"]
-        elif not len (infos["micro"]):
-            version = "%s.%s" % (infos["platform"], infos["minor"])
+        if infos["distributor-version"]:
+            '''Use Distributor's version over gnome version'''
+            version = infos["distributor-version"]
         else:
-            version = "%s.%s.%s" % (infos["platform"], infos["minor"],
-                                    infos["micro"])
+            if not len (infos["minor"]):
+                version = infos["platform"]
+            elif not len (infos["micro"]):
+                version = "%s.%s" % (infos["platform"], infos["minor"])
+            else:
+                version = "%s.%s.%s" % (infos["platform"], infos["minor"],
+                                        infos["micro"])
 
         return [
                     (_("Version"), version),