Index: src/vcard.py
===================================================================
--- src/vcard.py	(revision 6650)
+++ src/vcard.py	(working copy)
@@ -231,16 +231,18 @@
 			menu.popup(None, None, None, event.button, event.time)
 
 	def set_value(self, entry_name, value):
+		'''puts the value in the entry_name label'''
 		try:
 			self.xml.get_widget(entry_name).set_text(value)
 		except AttributeError:
 			pass
 
 	def set_values(self, vcard):
-		for i in vcard.keys():
-			if i == 'PHOTO':
+		'''puts the info from the vcard dict to the window'''
+		for key in vcard.keys():
+			if key == 'PHOTO':
 				pixbuf, self.avatar_encoded, self.avatar_mime_type = \
-					get_avatar_pixbuf_encoded_mime(vcard[i])
+					get_avatar_pixbuf_encoded_mime(vcard[key])
 				if not pixbuf:
 					continue
 				image = self.xml.get_widget('PHOTO_image')
@@ -250,22 +252,28 @@
 				self.avatar_save_as_id = eventbox.connect('button-press-event',
 					self.on_PHOTO_eventbox_button_press_event)
 				continue
-			if i == 'ADR' or i == 'TEL' or i == 'EMAIL':
-				for entry in vcard[i]:
+			if key in ('ADR', 'TEL', 'EMAIL'):
+				for entry in vcard[key]:
 					add_on = '_HOME'
 					if 'WORK' in entry:
 						add_on = '_WORK'
 					for j in entry.keys():
-						self.set_value(i + add_on + '_' + j + '_entry', entry[j])
-			if isinstance(vcard[i], dict):
-				for j in vcard[i].keys():
-					self.set_value(i + '_' + j + '_entry', vcard[i][j])
+						self.set_value(key + add_on + '_' + j + '_entry', entry[j])
+			if isinstance(vcard[key], dict):
+				for j in vcard[key].keys():
+					self.set_value(key + '_' + j + '_entry', vcard[key][j])
 			else:
-				if i == 'DESC':
+				if key == 'DESC':
 					self.xml.get_widget('DESC_textview').get_buffer().set_text(
-						vcard[i], 0)
+						vcard[key], 0)
+				elif gtk.pygtk_version >= (2, 10, 0) and gtk.gtk_version >= (2, 10, 0) and key == 'URL':
+					#FIXME: remove all this stuff when we migrate to GTK 2.10
+					general_info_table = self.xml.get_widget('general_info_table')
+					general_info_table.remove(self.xml.get_widget('URL_entry'))
+					general_info_table.attach(gtk.LinkButton(key, key), 0, 1, 5, 6)
+						
 				else:
-					self.set_value(i + '_entry', vcard[i])
+					self.set_value(key + '_entry', vcard[key])
 
 	def set_last_status_time(self):
 		self.fill_status_label()
@@ -436,11 +444,13 @@
 			'ORG_ORGUNIT', 'TITLE', 'ROLE', 'TEL_WORK_NUMBER', 'EMAIL_WORK_USERID',
 			'ADR_WORK_STREET', 'ADR_WORK_EXTADR', 'ADR_WORK_LOCALITY',
 			'ADR_WORK_REGION', 'ADR_WORK_PCODE', 'ADR_WORK_CTRY']
+			
 		vcard = {}
-		for e in entries: 
-			txt = self.xml.get_widget(e + '_entry').get_text().decode('utf-8')
+		for entry in entries: 
+			txt = self.xml.get_widget(entry + '_entry').get_text()\
+				.decode('utf-8')
 			if txt != '':
-				vcard = self.add_to_vcard(vcard, e, txt)
+				vcard = self.add_to_vcard(vcard, entry, txt)
 
 		# DESC textview
 		buff = self.xml.get_widget('DESC_textview').get_buffer()
@@ -480,6 +490,11 @@
 			'ORG_ORGUNIT', 'TITLE', 'ROLE', 'ADR_WORK_STREET', 'ADR_WORK_EXTADR',
 			'ADR_WORK_LOCALITY', 'ADR_WORK_REGION', 'ADR_WORK_PCODE',
 			'ADR_WORK_CTRY']
+		
+		if gtk.pygtk_version >= (2, 10, 0) and gtk.gtk_version >= (2, 10, 0):
+			entries.remove('URL')
+			#FIXME: when we migrate to 2.10 remove URL from entries list completely
+			
 		if gajim.connections[self.account].connected > 1:
 			# clear all entries
 			for e in entries:
Index: data/glade/vcard_information_window.glade
===================================================================
--- data/glade/vcard_information_window.glade	(revision 6650)
+++ data/glade/vcard_information_window.glade	(working copy)
@@ -621,7 +621,7 @@
 	  </child>
 
 	  <child>
-	    <widget class="GtkTable" id="table11">
+	    <widget class="GtkTable" id="general_info_table">
 	      <property name="border_width">6</property>
 	      <property name="visible">True</property>
 	      <property name="n_rows">7</property>
@@ -708,7 +708,7 @@
 	      </child>
 
 	      <child>
-		<widget class="GtkLabel" id="label119">
+		<widget class="GtkLabel" id="URL_label">
 		  <property name="visible">True</property>
 		  <property name="label" translatable="yes">Homepage:</property>
 		  <property name="use_underline">False</property>
