[Pkg-bazaar-commits] ./bzr-gtk/unstable r462: Merge from trunk
Martin Albisetti
argentina at gmail.com
Fri Apr 10 07:50:20 UTC 2009
------------------------------------------------------------
revno: 462
committer: Martin Albisetti <argentina at gmail.com>
branch nick: gtk.nautilus
timestamp: Thu 2008-04-10 21:24:41 -0300
message:
Merge from trunk
added:
icons/bug.png
modified:
AUTHORS
revisionview.py
setup.py
------------------------------------------------------------
revno: 450.6.1
committer: Daniel Schierbeck <daniel.schierbeck at gmail.com>
branch nick: bugs
timestamp: Wed 2008-04-02 00:05:41 +0200
message:
Made bug tab prettier.
added:
icons/bug.png
modified:
revisionview.py
------------------------------------------------------------
revno: 450.6.2
committer: Daniel Schierbeck <daniel.schierbeck at gmail.com>
branch nick: bugs
timestamp: Wed 2008-04-02 00:10:40 +0200
message:
Further improved the look of the bug tab.
modified:
revisionview.py
------------------------------------------------------------
revno: 450.6.3
committer: Daniel Schierbeck <daniel.schierbeck at gmail.com>
branch nick: bugs
timestamp: Wed 2008-04-02 00:27:50 +0200
message:
Made the bug icon be installed.
modified:
setup.py
------------------------------------------------------------
revno: 450.6.4
committer: Daniel Schierbeck <daniel.schierbeck at gmail.com>
branch nick: bugs
timestamp: Wed 2008-04-02 01:15:14 +0200
message:
Moved bug parsing code into the bug page itself.
modified:
revisionview.py
------------------------------------------------------------
revno: 450.6.5
committer: Daniel Schierbeck <daniel.schierbeck at gmail.com>
branch nick: bugs
timestamp: Wed 2008-04-02 01:16:46 +0200
message:
Simplified bug parsing.
modified:
revisionview.py
------------------------------------------------------------
revno: 450.6.6
committer: Daniel Schierbeck <daniel.schierbeck at gmail.com>
branch nick: bugs
timestamp: Wed 2008-04-02 01:17:58 +0200
message:
Changed bug page heading.
modified:
revisionview.py
------------------------------------------------------------
revno: 450.6.7
committer: Daniel Schierbeck <daniel.schierbeck at gmail.com>
branch nick: bugs
timestamp: Wed 2008-04-02 01:32:10 +0200
message:
Improved spacing in the bugs page.
modified:
revisionview.py
------------------------------------------------------------
revno: 450.6.8
committer: Daniel Schierbeck <daniel.schierbeck at gmail.com>
branch nick: bugs
timestamp: Wed 2008-04-02 01:55:41 +0200
message:
Removed status column from bug table.
modified:
revisionview.py
------------------------------------------------------------
revno: 450.6.9
committer: Daniel Schierbeck <daniel.schierbeck at gmail.com>
branch nick: bugs
timestamp: Wed 2008-04-02 02:02:23 +0200
message:
Made it possible to open bugs in the browser.
modified:
revisionview.py
------------------------------------------------------------
revno: 450.6.10
committer: Daniel Schierbeck <daniel.schierbeck at gmail.com>
branch nick: bugs
timestamp: Wed 2008-04-02 14:26:16 +0200
message:
Only show fixed bugs in Bugs page.
modified:
revisionview.py
------------------------------------------------------------
revno: 450.6.11
committer: Daniel Schierbeck <daniel.schierbeck at gmail.com>
branch nick: bugs
timestamp: Wed 2008-04-02 14:39:56 +0200
message:
Made Bugs page always visible, but only sensitive when the revision has bug associations.
modified:
revisionview.py
------------------------------------------------------------
revno: 450.6.12
committer: Daniel Schierbeck <daniel.schierbeck at gmail.com>
branch nick: bugs
timestamp: Wed 2008-04-02 14:51:58 +0200
message:
Changed Bugs page labels.
modified:
revisionview.py
------------------------------------------------------------
revno: 450.6.13
committer: Daniel Schierbeck <daniel.schierbeck at gmail.com>
branch nick: bugs
timestamp: Mon 2008-04-07 22:24:12 +0200
message:
Added attribution for the bug icon.
modified:
AUTHORS
------------------------------------------------------------
revno: 461.1.1
committer: Daniel Schierbeck <daniel.schierbeck at gmail.com>
branch nick: trunk
timestamp: Mon 2008-04-07 22:34:51 +0200
message:
Merged bug page improvements.
added:
icons/bug.png
modified:
AUTHORS
revisionview.py
setup.py
------------------------------------------------------------
revno: 461.1.2
committer: Daniel Schierbeck <daniel.schierbeck at gmail.com>
branch nick: trunk
timestamp: Mon 2008-04-07 22:45:00 +0200
message:
Merged Seahorse integration performance fixes.
modified:
revisionview.py
------------------------------------------------------------
revno: 450.1.19
committer: Daniel Schierbeck <daniel.schierbeck at gmail.com>
branch nick: seahorse-performance
timestamp: Fri 2008-04-04 00:32:54 +0200
message:
Made sure the Signature page only gets updated when it is selected.
modified:
revisionview.py
------------------------------------------------------------
revno: 450.1.20
committer: Daniel Schierbeck <daniel.schierbeck at gmail.com>
branch nick: seahorse-performance
timestamp: Mon 2008-04-07 22:44:07 +0200
message:
Removed usage of lambda expressions as callbacks.
modified:
revisionview.py
-------------- next part --------------
=== modified file 'AUTHORS'
--- a/AUTHORS 2008-04-02 15:54:41 +0000
+++ b/AUTHORS 2008-04-07 20:34:51 +0000
@@ -14,6 +14,7 @@
Olive was written by Szilveszter Farkas <Szilveszter.Farkas at gmail.com>.
The tag icon was created by Jakub Steiner.
+The bug icon was created by Josef Vyb?ral.
Numerous other people have contributed useful patches. See the Bazaar history
of this branch for a full list of authors.
=== added file 'icons/bug.png'
Binary files a/icons/bug.png 1970-01-01 00:00:00 +0000 and b/icons/bug.png 2008-04-01 22:05:41 +0000 differ
=== modified file 'revisionview.py'
--- a/revisionview.py 2008-04-03 20:20:39 +0000
+++ b/revisionview.py 2008-04-07 20:45:00 +0000
@@ -33,34 +33,101 @@
else:
has_seahorse = True
+PAGE_GENERAL = 0
+PAGE_RELATIONS = 1
+PAGE_SIGNATURE = 2
+PAGE_BUGS = 3
+
def _open_link(widget, uri):
subprocess.Popen(['sensible-browser', uri], close_fds=True)
gtk.link_button_set_uri_hook(_open_link)
-class BugsTab(gtk.Table):
+class BugsTab(gtk.VBox):
def __init__(self):
- super(BugsTab, self).__init__(rows=5, columns=2)
- self.set_row_spacings(6)
- self.set_col_spacings(6)
- self.clear()
+ super(BugsTab, self).__init__(False, 6)
+
+ table = gtk.Table(rows=2, columns=2)
+
+ table.set_row_spacings(6)
+ table.set_col_spacing(0, 16)
+
+ image = gtk.Image()
+ image.set_from_file(icon_path("bug.png"))
+ table.attach(image, 0, 1, 0, 1, gtk.FILL)
+
+ align = gtk.Alignment(0.0, 0.1)
+ self.label = gtk.Label()
+ align.add(self.label)
+ table.attach(align, 1, 2, 0, 1, gtk.FILL)
+
+ treeview = self.construct_treeview()
+ table.attach(treeview, 1, 2, 1, 2, gtk.FILL | gtk.EXPAND)
+
+ self.set_border_width(6)
+ self.pack_start(table, expand=False)
+
+ self.clear()
+ self.show_all()
+
+ def set_revision(self, revision):
+ if revision is None:
+ return
+
+ self.clear()
+ bugs_text = revision.properties.get('bugs', '')
+ for bugline in bugs_text.splitlines():
+ (url, status) = bugline.split(" ")
+ if status == "fixed":
+ self.add_bug(url, status)
+
+ if self.num_bugs == 0:
+ return
+ elif self.num_bugs == 1:
+ label = "bug"
+ else:
+ label = "bugs"
+
+ self.label.set_markup("<b>Bugs fixed</b>\n" +
+ "This revision claims to fix " +
+ "%d %s." % (self.num_bugs, label))
+
+ def construct_treeview(self):
+ self.bugs = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
+ self.treeview = gtk.TreeView(self.bugs)
+ self.treeview.set_headers_visible(False)
+
+ uri_column = gtk.TreeViewColumn('Bug URI', gtk.CellRendererText(), text=0)
+ self.treeview.append_column(uri_column)
+
+ self.treeview.connect('row-activated', self.on_row_activated)
+
+ win = gtk.ScrolledWindow()
+ win.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
+ win.set_shadow_type(gtk.SHADOW_IN)
+ win.add(self.treeview)
+
+ return win
def clear(self):
- for c in self.get_children():
- self.remove(c)
- self.count = 0
- self.hide_all() # Only shown when there are bugs
+ self.num_bugs = 0
+ self.bugs.clear()
+ self.set_sensitive(False)
+ self.label.set_markup("<b>No bugs fixed</b>\n" +
+ "This revision does not claim to fix any bugs.")
def add_bug(self, url, status):
- button = gtk.LinkButton(url, url)
- self.attach(button, 0, 1, self.count, self.count + 1,
- gtk.EXPAND | gtk.FILL, gtk.FILL)
- status_label = gtk.Label(status)
- self.attach(status_label, 1, 2, self.count, self.count + 1,
- gtk.EXPAND | gtk.FILL, gtk.FILL)
- self.count += 1
- self.show_all()
+ self.num_bugs += 1
+ self.bugs.append([url, status])
+ self.set_sensitive(True)
+
+ def get_num_bugs(self):
+ return self.num_bugs
+
+ def on_row_activated(self, treeview, path, column):
+ uri = self.bugs.get_value(self.bugs.get_iter(path), 0)
+ _open_link(self, uri)
class SignatureTab(gtk.VBox):
@@ -238,7 +305,6 @@
)
}
-
def __init__(self, branch=None):
gtk.Notebook.__init__(self)
@@ -252,7 +318,8 @@
self._create_file_info_view()
self._create_bugs()
- self.set_current_page(0)
+ self.set_current_page(PAGE_GENERAL)
+ self.connect_after('switch-page', self._switch_page_cb)
self._show_callback = None
self._clicked_callback = None
@@ -359,13 +426,6 @@
else:
self.file_info_box.hide()
- self.bugs_table.clear()
- bugs_text = revision.properties.get('bugs', None)
- if bugs_text:
- for bugline in bugs_text.splitlines():
- (url, status) = bugline.split(" ")
- self.bugs_table.add_bug(url, status)
-
def update_tags(self):
if self._branch is not None and self._branch.supports_tags():
self._tagdict = self._branch.tags.get_reverse_tag_dict()
@@ -375,13 +435,25 @@
self._add_tags()
def _update_signature(self, widget, param):
- self.signature_table.set_revision(self._revision)
+ if self.get_current_page() == PAGE_SIGNATURE:
+ self.signature_table.set_revision(self._revision)
+
+ def _update_bugs(self, widget, param):
+ self.bugs_page.set_revision(self._revision)
+ label = self.get_tab_label(self.bugs_page)
+ label.set_sensitive(self.bugs_page.get_num_bugs() != 0)
def set_children(self, children):
self._add_parents_or_children(children,
self.children_widgets,
self.children_table)
+ def _switch_page_cb(self, notebook, page, page_num):
+ if page_num == PAGE_SIGNATURE:
+ self.signature_table.set_revision(self._revision)
+
+
+
def _show_clicked_cb(self, widget, revid, parentid):
"""Callback for when the show button for a parent is clicked."""
self._show_callback(revid, parentid)
@@ -629,8 +701,9 @@
return window
def _create_bugs(self):
- self.bugs_table = BugsTab()
- self.append_page(self.bugs_table, tab_label=gtk.Label('Bugs'))
+ self.bugs_page = BugsTab()
+ self.connect_after('notify::revision', self._update_bugs)
+ self.append_page(self.bugs_page, tab_label=gtk.Label('Bugs'))
def _create_file_info_view(self):
self.file_info_box = gtk.VBox(False, 6)
=== modified file 'setup.py'
--- a/setup.py 2008-03-30 15:58:52 +0000
+++ b/setup.py 2008-04-01 22:27:50 +0000
@@ -133,6 +133,7 @@
'icons/sign-ok.png',
'icons/sign.png',
'icons/sign-unknown.png',
+ 'icons/bug.png',
'icons/bzr-icon-64.png']),
('share/applications', ['olive-gtk.desktop',
'bazaar-properties.desktop',
More information about the Pkg-bazaar-commits
mailing list