Merge lp:~francesco-marella/specto/code-to-glade into lp:specto

Proposed by Francesco Marella
Status: Needs review
Proposed branch: lp:~francesco-marella/specto/code-to-glade
Merge into: lp:specto
Diff against target: 1731 lines (+626/-427)
7 files modified
data/uis/about.ui (+59/-0)
data/uis/import_export.ui (+117/-24)
data/uis/notifier.ui (+399/-186)
spectlib/about.py (+8/-25)
spectlib/export_watch.py (+15/-59)
spectlib/import_watch.py (+15/-54)
spectlib/notifier.py (+13/-79)
To merge this branch: bzr merge lp:~francesco-marella/specto/code-to-glade
Reviewer Review Type Date Requested Status
Jeff Fortin Tam Needs Fixing
Review via email: mp+60883@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Jeff Fortin Tam (kiddo) wrote :

This is quite interesting! A couple of things though:

- mousing over the "Add" submenu makes two menus appear (the toolbar's popup menu shows up). Wtf?
- how do we actually edit the contents now? What's the difference in the glade editor?
- maybe you want to take a look at lp:~kiddo/specto/pygi too
- I guess this simplifies the code a lot, however I'd like someone else to review this too
- it looks different than the current UI... the patch below makes it ressemble the main branch more, but it still has different column headers, the checkboxes are not centered, etc.

=== modified file 'data/uis/notifier.ui'
--- data/uis/notifier.ui 2011-05-13 09:56:54 +0000
+++ data/uis/notifier.ui 2011-05-15 22:15:31 +0000
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <requires lib="gtk+" version="2.18"/>
- <!-- interface-naming-policy toplevel-contextual -->
   <object class="GtkAccelGroup" id="accelgroup1"/>
   <object class="GtkWindow" id="error_dialog">
     <property name="can_focus">False</property>
@@ -57,8 +56,6 @@
               <object class="GtkScrolledWindow" id="scrolledwindow1">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
- <property name="hscrollbar_policy">automatic</property>
- <property name="vscrollbar_policy">automatic</property>
                 <child>
                   <object class="GtkTextView" id="error_message">
                     <property name="height_request">200</property>
@@ -612,18 +609,19 @@
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <property name="hscrollbar_policy">never</property>
- <property name="vscrollbar_policy">automatic</property>
             <property name="shadow_type">in</property>
             <child>
               <object class="GtkTreeView" id="treeview">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="model">liststore</property>
- <property name="headers_clickable">False</property>
+ <property name="rules_hint">True</property>
                 <property name="search_column">0</property>
- <property name="enable_grid_lines">both</property>
                 <signal name="cursor-changed" handler="show_watch_info" swapped="no"/>
                 <signal name="row-activated" handler="open_watch_callback" swapped="no"/>
+ <child internal-child="selection">
+ <object class="GtkTreeSelection" id="treeview-selection1"/>
+ </child>
                 <child>
                   <object class="GtkTreeViewColumn" id="select_treeviewcolumn">
                     <property name="title" translatable="yes">Select</property>

review: Needs Fixing
168. By Francesco Marella

some fixes, but the checkboxes are still not centered

thanks to Jeff for pointing out these regressions.

169. By Francesco Marella

vertical scrollbar -> never

Revision history for this message
Francesco Marella (francesco-marella) wrote :
Download full text (3.4 KiB)

Hi Jeff, thanks for your review. Some comments inline.

> This is quite interesting! A couple of things though:
>
> - mousing over the "Add" submenu makes two menus appear (the toolbar's popup
> menu shows up). Wtf?
Fixed.
> - how do we actually edit the contents now? What's the difference in the glade
> editor?
We still edit the contents like before. We create in glade some more widgets (eg. TreeViewColumns and CellRenderers) and then we get these objects via GtkBuilder.

> - maybe you want to take a look at lp:~kiddo/specto/pygi too
Yeah, I've tried to start it but crashes. (pygi + Gtk+ 3.0)
> - I guess this simplifies the code a lot, however I'd like someone else to
> review this too
> - it looks different than the current UI... the patch below makes it ressemble
> the main branch more, but it still has different column headers, the
> checkboxes are not centered, etc.
Thanks for the patch. I've tried to align the checkboxes with no luck in glade, I wonder if it's a bug. I'll ping you again when this issue will be fixed.
>
>
>
> === modified file 'data/uis/notifier.ui'
> --- data/uis/notifier.ui 2011-05-13 09:56:54 +0000
> +++ data/uis/notifier.ui 2011-05-15 22:15:31 +0000
> @@ -1,7 +1,6 @@
> <?xml version="1.0" encoding="UTF-8"?>
> <interface>
> <requires lib="gtk+" version="2.18"/>
> - <!-- interface-naming-policy toplevel-contextual -->
> <object class="GtkAccelGroup" id="accelgroup1"/>
> <object class="GtkWindow" id="error_dialog">
> <property name="can_focus">False</property>
> @@ -57,8 +56,6 @@
> <object class="GtkScrolledWindow" id="scrolledwindow1">
> <property name="visible">True</property>
> <property name="can_focus">True</property>
> - <property name="hscrollbar_policy">automatic</property>
> - <property name="vscrollbar_policy">automatic</property>
> <child>
> <object class="GtkTextView" id="error_message">
> <property name="height_request">200</property>
> @@ -612,18 +609,19 @@
> <property name="visible">True</property>
> <property name="can_focus">True</property>
> <property name="hscrollbar_policy">never</property>
> - <property name="vscrollbar_policy">automatic</property>
> <property name="shadow_type">in</property>
> <child>
> <object class="GtkTreeView" id="treeview">
> <property name="visible">True</property>
> <property name="can_focus">True</property>
> <property name="model">liststore</property>
> - <property name="headers_clickable">False</property>
> + <property name="rules_hint">True</property>
> <property name="search_column">0</property>
> - <property name="enable_grid_lines">both</property>
> <signal name="cursor-changed" handler="show_watch_info"
> swapped="no"/>
> <signal name="row-activated" handler="open_watch_callback"
> swapped="no"/>
> + <child internal-child="selection">
> + ...

Read more...

Unmerged revisions

169. By Francesco Marella

vertical scrollbar -> never

168. By Francesco Marella

some fixes, but the checkboxes are still not centered

thanks to Jeff for pointing out these regressions.

167. By Francesco Marella

Move GUI code to Glade files (treeview related code mostly)

Glade (v. 3.8) it's a great tool for GUI creation and improved so much (read as no frequent crashes).
The process of migrate Specto to PyGI and GTK+ 3.0 will be easier and painless (hopefully).

GTK+ >= 2.18 is required.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file 'data/uis/about.ui'
2--- data/uis/about.ui 1970-01-01 00:00:00 +0000
3+++ data/uis/about.ui 2011-05-24 17:11:46 +0000
4@@ -0,0 +1,59 @@
5+<?xml version="1.0" encoding="UTF-8"?>
6+<interface>
7+ <requires lib="gtk+" version="2.18"/>
8+ <!-- interface-naming-policy project-wide -->
9+ <object class="GtkAboutDialog" id="aboutdialog1">
10+ <property name="can_focus">False</property>
11+ <property name="border_width">5</property>
12+ <property name="type_hint">dialog</property>
13+ <property name="program_name">Specto</property>
14+ <property name="copyright" translatable="yes">Copyright © Jean-François Fortin Tam &amp; Wout Clymans</property>
15+ <property name="comments" translatable="yes">Be notified of everything</property>
16+ <property name="website">http://specto.sourceforge.net</property>
17+ <property name="website_label" translatable="yes">Specto's Website</property>
18+ <property name="authors">Project and copyright owners
19+----------------------------
20+Jean-François "Kiddo" Fortin Tam
21+Wout Clymans
22+
23+Developers
24+-----------
25+Jean-François "Kiddo" Fortin Tam
26+Wout Clymans
27+Francesco Marella &lt;fmarl@paranoici.org&gt;
28+
29+Past contributors
30+-----------------
31+Christopher Halse Rogers
32+Pascal Potvin
33+Giulio "Dullboy" Lotti
34+Thomas McColgan
35+Conor "Majikstreet" Callahan
36+"Trygvebw"
37+Adrian "Hikaru79" Petrescu</property>
38+ <property name="translator_credits" translatable="yes">translator-credits</property>
39+ <child internal-child="vbox">
40+ <object class="GtkVBox" id="dialog-vbox1">
41+ <property name="visible">True</property>
42+ <property name="can_focus">False</property>
43+ <property name="spacing">2</property>
44+ <child internal-child="action_area">
45+ <object class="GtkHButtonBox" id="dialog-action_area1">
46+ <property name="visible">True</property>
47+ <property name="can_focus">False</property>
48+ <property name="layout_style">end</property>
49+ </object>
50+ <packing>
51+ <property name="expand">False</property>
52+ <property name="fill">True</property>
53+ <property name="pack_type">end</property>
54+ <property name="position">0</property>
55+ </packing>
56+ </child>
57+ <child>
58+ <placeholder/>
59+ </child>
60+ </object>
61+ </child>
62+ </object>
63+</interface>
64
65=== modified file 'data/uis/import_export.ui'
66--- data/uis/import_export.ui 2010-10-28 17:50:39 +0000
67+++ data/uis/import_export.ui 2011-05-24 17:11:46 +0000
68@@ -1,9 +1,15 @@
69 <?xml version="1.0" encoding="UTF-8"?>
70 <interface>
71- <requires lib="gtk+" version="2.16"/>
72+ <requires lib="gtk+" version="2.18"/>
73 <!-- interface-naming-policy toplevel-contextual -->
74+ <object class="GtkAdjustment" id="adjustment1">
75+ <property name="upper">100</property>
76+ <property name="step_increment">1</property>
77+ <property name="page_increment">10</property>
78+ </object>
79 <object class="GtkDialog" id="import_export">
80 <property name="visible">True</property>
81+ <property name="can_focus">False</property>
82 <property name="border_width">12</property>
83 <property name="title">dialog1</property>
84 <property name="default_height">150</property>
85@@ -11,29 +17,12 @@
86 <child internal-child="vbox">
87 <object class="GtkVBox" id="dialog-vbox1">
88 <property name="visible">True</property>
89+ <property name="can_focus">False</property>
90 <property name="spacing">12</property>
91- <child>
92- <object class="GtkScrolledWindow" id="scrolledwindow1">
93- <property name="height_request">250</property>
94- <property name="visible">True</property>
95- <property name="can_focus">True</property>
96- <property name="hscrollbar_policy">automatic</property>
97- <property name="vscrollbar_policy">automatic</property>
98- <property name="shadow_type">in</property>
99- <child>
100- <object class="GtkTreeView" id="treeview">
101- <property name="visible">True</property>
102- <property name="can_focus">True</property>
103- </object>
104- </child>
105- </object>
106- <packing>
107- <property name="position">1</property>
108- </packing>
109- </child>
110 <child internal-child="action_area">
111 <object class="GtkHButtonBox" id="dialog-action_area1">
112 <property name="visible">True</property>
113+ <property name="can_focus">False</property>
114 <property name="layout_style">end</property>
115 <child>
116 <object class="GtkButton" id="button_select_all">
117@@ -42,8 +31,9 @@
118 <property name="can_focus">True</property>
119 <property name="can_default">True</property>
120 <property name="receives_default">False</property>
121+ <property name="use_action_appearance">False</property>
122 <property name="use_underline">True</property>
123- <signal name="clicked" handler="on_button_select_all_clicked"/>
124+ <signal name="clicked" handler="select_all" swapped="no"/>
125 </object>
126 <packing>
127 <property name="expand">False</property>
128@@ -58,8 +48,9 @@
129 <property name="can_focus">True</property>
130 <property name="can_default">True</property>
131 <property name="receives_default">False</property>
132+ <property name="use_action_appearance">False</property>
133 <property name="use_underline">True</property>
134- <signal name="clicked" handler="on_button_deselect_all_clicked"/>
135+ <signal name="clicked" handler="deselect_all" swapped="no"/>
136 </object>
137 <packing>
138 <property name="expand">False</property>
139@@ -74,8 +65,9 @@
140 <property name="can_focus">True</property>
141 <property name="can_default">True</property>
142 <property name="receives_default">False</property>
143+ <property name="use_action_appearance">False</property>
144 <property name="use_stock">True</property>
145- <signal name="clicked" handler="on_button_close_clicked"/>
146+ <signal name="clicked" handler="delete_event" swapped="no"/>
147 </object>
148 <packing>
149 <property name="expand">False</property>
150@@ -89,8 +81,9 @@
151 <property name="visible">True</property>
152 <property name="can_focus">False</property>
153 <property name="receives_default">False</property>
154+ <property name="use_action_appearance">False</property>
155 <property name="use_stock">True</property>
156- <signal name="clicked" handler="on_button_action_clicked"/>
157+ <signal name="clicked" handler="do_action" swapped="no"/>
158 </object>
159 <packing>
160 <property name="expand">False</property>
161@@ -101,10 +94,96 @@
162 </object>
163 <packing>
164 <property name="expand">False</property>
165+ <property name="fill">True</property>
166 <property name="pack_type">end</property>
167 <property name="position">0</property>
168 </packing>
169 </child>
170+ <child>
171+ <object class="GtkScrolledWindow" id="scrolledwindow1">
172+ <property name="height_request">250</property>
173+ <property name="visible">True</property>
174+ <property name="can_focus">True</property>
175+ <property name="hscrollbar_policy">automatic</property>
176+ <property name="vscrollbar_policy">automatic</property>
177+ <property name="shadow_type">in</property>
178+ <child>
179+ <object class="GtkTreeView" id="treeview">
180+ <property name="visible">True</property>
181+ <property name="can_focus">True</property>
182+ <property name="model">liststore1</property>
183+ <property name="search_column">3</property>
184+ <child>
185+ <object class="GtkTreeViewColumn" id="select_treeviewcolumn">
186+ <property name="title" translatable="yes">Select</property>
187+ <property name="clickable">True</property>
188+ <child>
189+ <object class="GtkCellRendererToggle" id="cellrenderertoggle1">
190+ <signal name="toggled" handler="check_clicked" swapped="no"/>
191+ </object>
192+ <attributes>
193+ <attribute name="active">0</attribute>
194+ </attributes>
195+ </child>
196+ </object>
197+ </child>
198+ <child>
199+ <object class="GtkTreeViewColumn" id="type_treeviewcolumn">
200+ <property name="title" translatable="yes">Type</property>
201+ <child>
202+ <object class="GtkCellRendererPixbuf" id="cellrendererpixbuf1"/>
203+ <attributes>
204+ <attribute name="pixbuf">1</attribute>
205+ </attributes>
206+ </child>
207+ </object>
208+ </child>
209+ <child>
210+ <object class="GtkTreeViewColumn" id="name_treeviewcolumn">
211+ <property name="resizable">True</property>
212+ <property name="title" translatable="yes">Name</property>
213+ <property name="expand">True</property>
214+ <child>
215+ <object class="GtkCellRendererText" id="cellrenderertext1"/>
216+ <attributes>
217+ <attribute name="text">2</attribute>
218+ </attributes>
219+ </child>
220+ </object>
221+ </child>
222+ <child>
223+ <object class="GtkTreeViewColumn" id="_ID_treeviewcolumn">
224+ <property name="visible">False</property>
225+ <property name="title" translatable="yes">ID</property>
226+ <child>
227+ <object class="GtkCellRendererText" id="cellrenderertext3"/>
228+ <attributes>
229+ <attribute name="text">3</attribute>
230+ </attributes>
231+ </child>
232+ </object>
233+ </child>
234+ <child>
235+ <object class="GtkTreeViewColumn" id="_TYPE_treeviewcolumn">
236+ <property name="visible">False</property>
237+ <property name="title" translatable="yes">TYPE</property>
238+ <child>
239+ <object class="GtkCellRendererText" id="cellrenderertext2"/>
240+ <attributes>
241+ <attribute name="text">4</attribute>
242+ </attributes>
243+ </child>
244+ </object>
245+ </child>
246+ </object>
247+ </child>
248+ </object>
249+ <packing>
250+ <property name="expand">True</property>
251+ <property name="fill">True</property>
252+ <property name="position">1</property>
253+ </packing>
254+ </child>
255 </object>
256 </child>
257 <action-widgets>
258@@ -114,4 +193,18 @@
259 <action-widget response="0">button_action</action-widget>
260 </action-widgets>
261 </object>
262+ <object class="GtkListStore" id="liststore1">
263+ <columns>
264+ <!-- column-name gboolean1 -->
265+ <column type="gboolean"/>
266+ <!-- column-name GdkPixbuf1 -->
267+ <column type="GdkPixbuf"/>
268+ <!-- column-name gchararray2 -->
269+ <column type="gchararray"/>
270+ <!-- column-name gint1 -->
271+ <column type="gint"/>
272+ <!-- column-name gchararray3 -->
273+ <column type="gchararray"/>
274+ </columns>
275+ </object>
276 </interface>
277
278=== modified file 'data/uis/notifier.ui'
279--- data/uis/notifier.ui 2011-01-10 18:26:51 +0000
280+++ data/uis/notifier.ui 2011-05-24 17:11:46 +0000
281@@ -1,70 +1,286 @@
282 <?xml version="1.0" encoding="UTF-8"?>
283 <interface>
284- <requires lib="gtk+" version="2.16"/>
285+ <requires lib="gtk+" version="2.18"/>
286 <!-- interface-naming-policy toplevel-contextual -->
287+ <object class="GtkAccelGroup" id="accelgroup1"/>
288+ <object class="GtkWindow" id="error_dialog">
289+ <property name="can_focus">False</property>
290+ <property name="title" translatable="yes">Error</property>
291+ <property name="resizable">False</property>
292+ <property name="window_position">center-on-parent</property>
293+ <child>
294+ <object class="GtkVBox" id="vbox1">
295+ <property name="visible">True</property>
296+ <property name="can_focus">False</property>
297+ <property name="border_width">6</property>
298+ <child>
299+ <object class="GtkHBox" id="hbox4">
300+ <property name="visible">True</property>
301+ <property name="can_focus">False</property>
302+ <child>
303+ <object class="GtkImage" id="image">
304+ <property name="visible">True</property>
305+ <property name="can_focus">False</property>
306+ <property name="stock">gtk-missing-image</property>
307+ </object>
308+ <packing>
309+ <property name="expand">True</property>
310+ <property name="fill">True</property>
311+ <property name="position">0</property>
312+ </packing>
313+ </child>
314+ <child>
315+ <object class="GtkLabel" id="label4">
316+ <property name="visible">True</property>
317+ <property name="can_focus">False</property>
318+ </object>
319+ <packing>
320+ <property name="expand">True</property>
321+ <property name="fill">True</property>
322+ <property name="padding">6</property>
323+ <property name="position">1</property>
324+ </packing>
325+ </child>
326+ </object>
327+ <packing>
328+ <property name="expand">False</property>
329+ <property name="fill">False</property>
330+ <property name="padding">6</property>
331+ <property name="position">0</property>
332+ </packing>
333+ </child>
334+ <child>
335+ <object class="GtkExpander" id="expander1">
336+ <property name="visible">True</property>
337+ <property name="can_focus">True</property>
338+ <child>
339+ <object class="GtkScrolledWindow" id="scrolledwindow1">
340+ <property name="visible">True</property>
341+ <property name="can_focus">True</property>
342+ <child>
343+ <object class="GtkTextView" id="error_message">
344+ <property name="height_request">200</property>
345+ <property name="visible">True</property>
346+ <property name="can_focus">True</property>
347+ </object>
348+ </child>
349+ </object>
350+ </child>
351+ <child type="label">
352+ <object class="GtkLabel" id="label2">
353+ <property name="visible">True</property>
354+ <property name="can_focus">False</property>
355+ <property name="label" translatable="yes">Debug information</property>
356+ </object>
357+ </child>
358+ </object>
359+ <packing>
360+ <property name="expand">True</property>
361+ <property name="fill">True</property>
362+ <property name="padding">6</property>
363+ <property name="position">1</property>
364+ </packing>
365+ </child>
366+ <child>
367+ <object class="GtkHSeparator" id="hseparator1">
368+ <property name="visible">True</property>
369+ <property name="can_focus">False</property>
370+ </object>
371+ <packing>
372+ <property name="expand">False</property>
373+ <property name="fill">True</property>
374+ <property name="padding">6</property>
375+ <property name="position">2</property>
376+ </packing>
377+ </child>
378+ <child>
379+ <object class="GtkHBox" id="hbox3">
380+ <property name="visible">True</property>
381+ <property name="can_focus">False</property>
382+ <child>
383+ <object class="GtkButton" id="send">
384+ <property name="label" translatable="yes">Visit the issue tracker</property>
385+ <property name="visible">True</property>
386+ <property name="can_focus">True</property>
387+ <property name="receives_default">True</property>
388+ <property name="use_action_appearance">False</property>
389+ </object>
390+ <packing>
391+ <property name="expand">True</property>
392+ <property name="fill">True</property>
393+ <property name="padding">6</property>
394+ <property name="position">0</property>
395+ </packing>
396+ </child>
397+ <child>
398+ <object class="GtkLabel" id="label3">
399+ <property name="visible">True</property>
400+ <property name="can_focus">False</property>
401+ </object>
402+ <packing>
403+ <property name="expand">True</property>
404+ <property name="fill">True</property>
405+ <property name="padding">6</property>
406+ <property name="position">1</property>
407+ </packing>
408+ </child>
409+ <child>
410+ <object class="GtkLabel" id="label1">
411+ <property name="visible">True</property>
412+ <property name="can_focus">False</property>
413+ </object>
414+ <packing>
415+ <property name="expand">True</property>
416+ <property name="fill">True</property>
417+ <property name="position">2</property>
418+ </packing>
419+ </child>
420+ <child>
421+ <object class="GtkButton" id="ok">
422+ <property name="label">gtk-ok</property>
423+ <property name="visible">True</property>
424+ <property name="can_focus">True</property>
425+ <property name="receives_default">True</property>
426+ <property name="use_action_appearance">False</property>
427+ <property name="use_stock">True</property>
428+ </object>
429+ <packing>
430+ <property name="expand">True</property>
431+ <property name="fill">True</property>
432+ <property name="padding">6</property>
433+ <property name="position">3</property>
434+ </packing>
435+ </child>
436+ </object>
437+ <packing>
438+ <property name="expand">False</property>
439+ <property name="fill">False</property>
440+ <property name="padding">6</property>
441+ <property name="position">3</property>
442+ </packing>
443+ </child>
444+ </object>
445+ </child>
446+ </object>
447+ <object class="GtkImage" id="image1">
448+ <property name="visible">True</property>
449+ <property name="can_focus">False</property>
450+ <property name="stock">gtk-open</property>
451+ </object>
452+ <object class="GtkImage" id="image2">
453+ <property name="visible">True</property>
454+ <property name="can_focus">False</property>
455+ <property name="stock">gtk-save</property>
456+ </object>
457+ <object class="GtkImage" id="image3">
458+ <property name="visible">True</property>
459+ <property name="can_focus">False</property>
460+ <property name="stock">gtk-clear</property>
461+ </object>
462+ <object class="GtkImage" id="image4">
463+ <property name="visible">True</property>
464+ <property name="can_focus">False</property>
465+ <property name="stock">gtk-clear</property>
466+ </object>
467+ <object class="GtkImage" id="image5">
468+ <property name="visible">True</property>
469+ <property name="can_focus">False</property>
470+ <property name="stock">gtk-sort-ascending</property>
471+ </object>
472+ <object class="GtkListStore" id="liststore">
473+ <columns>
474+ <!-- column-name gboolean1 -->
475+ <column type="gboolean"/>
476+ <!-- column-name GdkPixbuf1 -->
477+ <column type="GdkPixbuf"/>
478+ <!-- column-name gchararray2 -->
479+ <column type="gchararray"/>
480+ <!-- column-name gint1 -->
481+ <column type="gint"/>
482+ <!-- column-name gchararray3 -->
483+ <column type="gchararray"/>
484+ <!-- column-name PangoStyle1 -->
485+ <column type="PangoWeight"/>
486+ </columns>
487+ </object>
488 <object class="GtkWindow" id="notifier">
489+ <property name="can_focus">False</property>
490 <property name="title" translatable="yes">Notifications</property>
491 <property name="icon_name">gtk-dialog-info</property>
492 <accel-groups>
493 <group name="accelgroup1"/>
494 </accel-groups>
495- <signal name="delete_event" handler="on_close_activate"/>
496+ <signal name="delete-event" handler="delete_event" swapped="no"/>
497 <child>
498 <object class="GtkVBox" id="vbox">
499 <property name="visible">True</property>
500+ <property name="can_focus">False</property>
501 <child>
502 <object class="GtkMenuBar" id="menubar1">
503 <property name="visible">True</property>
504+ <property name="can_focus">False</property>
505 <child>
506 <object class="GtkMenuItem" id="menu_file">
507 <property name="visible">True</property>
508+ <property name="can_focus">False</property>
509+ <property name="use_action_appearance">False</property>
510 <property name="label" translatable="yes">_File</property>
511 <property name="use_underline">True</property>
512 <child type="submenu">
513 <object class="GtkMenu" id="menu_file_menu">
514+ <property name="can_focus">False</property>
515 <child>
516 <object class="GtkImageMenuItem" id="import_watches">
517 <property name="label" translatable="yes">_Import Watches</property>
518 <property name="visible">True</property>
519+ <property name="can_focus">False</property>
520+ <property name="use_action_appearance">False</property>
521 <property name="use_underline">True</property>
522 <property name="image">image1</property>
523 <property name="use_stock">False</property>
524- <signal name="activate" handler="on_import_watches_activate"/>
525+ <signal name="activate" handler="import_watches" swapped="no"/>
526 </object>
527 </child>
528 <child>
529 <object class="GtkImageMenuItem" id="export_watches">
530 <property name="label" translatable="yes">_Export Watches</property>
531 <property name="visible">True</property>
532+ <property name="can_focus">False</property>
533+ <property name="use_action_appearance">False</property>
534 <property name="use_underline">True</property>
535 <property name="image">image2</property>
536 <property name="use_stock">False</property>
537- <signal name="activate" handler="on_export_watches_activate"/>
538+ <signal name="activate" handler="export_watches" swapped="no"/>
539 </object>
540 </child>
541 <child>
542 <object class="GtkSeparatorMenuItem" id="separatormenuitem1">
543 <property name="visible">True</property>
544+ <property name="can_focus">False</property>
545 </object>
546 </child>
547 <child>
548 <object class="GtkImageMenuItem" id="close">
549 <property name="label">gtk-close</property>
550 <property name="visible">True</property>
551+ <property name="can_focus">False</property>
552+ <property name="use_action_appearance">False</property>
553 <property name="use_underline">True</property>
554 <property name="use_stock">True</property>
555 <property name="accel_group">accelgroup1</property>
556- <signal name="activate" handler="on_close_activate"/>
557+ <signal name="activate" handler="close_event" swapped="no"/>
558 </object>
559 </child>
560 <child>
561 <object class="GtkImageMenuItem" id="quit">
562 <property name="label">gtk-quit</property>
563 <property name="visible">True</property>
564+ <property name="can_focus">False</property>
565+ <property name="use_action_appearance">False</property>
566 <property name="use_underline">True</property>
567 <property name="use_stock">True</property>
568 <property name="accel_group">accelgroup1</property>
569- <signal name="activate" handler="on_quit_activate"/>
570+ <signal name="activate" handler="delete_event" swapped="no"/>
571 </object>
572 </child>
573 </object>
574@@ -74,14 +290,19 @@
575 <child>
576 <object class="GtkMenuItem" id="menu_edit">
577 <property name="visible">True</property>
578+ <property name="can_focus">False</property>
579+ <property name="use_action_appearance">False</property>
580 <property name="label" translatable="yes">_Edit</property>
581 <property name="use_underline">True</property>
582 <child type="submenu">
583 <object class="GtkMenu" id="menu_edit_menu">
584+ <property name="can_focus">False</property>
585 <child>
586 <object class="GtkImageMenuItem" id="add">
587 <property name="label">gtk-add</property>
588 <property name="visible">True</property>
589+ <property name="can_focus">False</property>
590+ <property name="use_action_appearance">False</property>
591 <property name="use_underline">True</property>
592 <property name="use_stock">True</property>
593 <property name="accel_group">accelgroup1</property>
594@@ -91,45 +312,54 @@
595 <object class="GtkImageMenuItem" id="remove">
596 <property name="label">gtk-remove</property>
597 <property name="visible">True</property>
598+ <property name="can_focus">False</property>
599+ <property name="use_action_appearance">False</property>
600 <property name="use_underline">True</property>
601 <property name="use_stock">True</property>
602 <property name="accel_group">accelgroup1</property>
603- <signal name="activate" handler="on_remove_activate"/>
604+ <signal name="activate" handler="remove_watch" swapped="no"/>
605 </object>
606 </child>
607 <child>
608 <object class="GtkImageMenuItem" id="edit">
609 <property name="label">gtk-edit</property>
610 <property name="visible">True</property>
611+ <property name="can_focus">False</property>
612+ <property name="use_action_appearance">False</property>
613 <property name="use_underline">True</property>
614 <property name="use_stock">True</property>
615 <property name="accel_group">accelgroup1</property>
616- <signal name="activate" handler="on_edit_activate"/>
617+ <signal name="activate" handler="show_edit_watch" swapped="no"/>
618 </object>
619 </child>
620 <child>
621 <object class="GtkImageMenuItem" id="clear">
622 <property name="label" translatable="yes">Mark as read</property>
623 <property name="visible">True</property>
624+ <property name="can_focus">False</property>
625+ <property name="use_action_appearance">False</property>
626 <property name="use_underline">True</property>
627 <property name="image">image3</property>
628 <property name="use_stock">False</property>
629- <signal name="activate" handler="on_clear_activate"/>
630+ <signal name="activate" handler="_mark_watch_as_read" swapped="no"/>
631 </object>
632 </child>
633 <child>
634 <object class="GtkSeparatorMenuItem" id="separator3">
635 <property name="visible">True</property>
636+ <property name="can_focus">False</property>
637 </object>
638 </child>
639 <child>
640 <object class="GtkImageMenuItem" id="preferences">
641 <property name="label">gtk-preferences</property>
642 <property name="visible">True</property>
643+ <property name="can_focus">False</property>
644+ <property name="use_action_appearance">False</property>
645 <property name="use_underline">True</property>
646 <property name="use_stock">True</property>
647 <property name="accel_group">accelgroup1</property>
648- <signal name="activate" handler="on_preferences_activate"/>
649+ <signal name="activate" handler="show_preferences" swapped="no"/>
650 </object>
651 </child>
652 </object>
653@@ -139,83 +369,103 @@
654 <child>
655 <object class="GtkMenuItem" id="menu_view">
656 <property name="visible">True</property>
657+ <property name="can_focus">False</property>
658+ <property name="use_action_appearance">False</property>
659 <property name="label" translatable="yes">_View</property>
660 <property name="use_underline">True</property>
661 <child type="submenu">
662 <object class="GtkMenu" id="menu_view_menu">
663+ <property name="can_focus">False</property>
664 <child>
665 <object class="GtkImageMenuItem" id="refresh">
666 <property name="label">gtk-refresh</property>
667 <property name="visible">True</property>
668+ <property name="can_focus">False</property>
669+ <property name="use_action_appearance">False</property>
670 <property name="use_underline">True</property>
671 <property name="use_stock">True</property>
672 <property name="accel_group">accelgroup1</property>
673 <accelerator key="F5" signal="activate"/>
674- <signal name="activate" handler="on_refresh_activate"/>
675+ <signal name="activate" handler="refresh_all_watches" swapped="no"/>
676 </object>
677 </child>
678 <child>
679 <object class="GtkImageMenuItem" id="clear_all1">
680 <property name="label" translatable="yes">_Mark all read</property>
681 <property name="visible">True</property>
682+ <property name="can_focus">False</property>
683+ <property name="use_action_appearance">False</property>
684 <property name="use_underline">True</property>
685 <property name="image">image4</property>
686 <property name="use_stock">False</property>
687- <signal name="activate" handler="on_clear_all_activate"/>
688+ <signal name="activate" handler="mark_all_as_read" swapped="no"/>
689 </object>
690 </child>
691 <child>
692 <object class="GtkSeparatorMenuItem" id="separator1">
693 <property name="visible">True</property>
694+ <property name="can_focus">False</property>
695 </object>
696 </child>
697 <child>
698 <object class="GtkMenuItem" id="error_log">
699 <property name="visible">True</property>
700+ <property name="can_focus">False</property>
701+ <property name="use_action_appearance">False</property>
702 <property name="label" translatable="yes">_Error Log</property>
703 <property name="use_underline">True</property>
704- <signal name="activate" handler="on_error_log_activate"/>
705+ <signal name="activate" handler="show_error_log" swapped="no"/>
706 </object>
707 </child>
708 <child>
709 <object class="GtkSeparatorMenuItem" id="separator4">
710 <property name="visible">True</property>
711+ <property name="can_focus">False</property>
712 </object>
713 </child>
714 <child>
715 <object class="GtkImageMenuItem" id="sorting">
716 <property name="label" translatable="yes">Sorting</property>
717 <property name="visible">True</property>
718+ <property name="can_focus">False</property>
719+ <property name="use_action_appearance">False</property>
720 <property name="use_underline">True</property>
721 <property name="image">image5</property>
722 <property name="use_stock">False</property>
723 <child type="submenu">
724 <object class="GtkMenu" id="sorting_menu">
725+ <property name="can_focus">False</property>
726 <child>
727 <object class="GtkRadioMenuItem" id="by_watch_type">
728 <property name="visible">True</property>
729+ <property name="can_focus">False</property>
730+ <property name="use_action_appearance">False</property>
731 <property name="label" translatable="yes">By Watch Type</property>
732 <property name="use_underline">True</property>
733 <property name="active">True</property>
734- <signal name="activate" handler="on_by_watch_type_activate"/>
735+ <signal name="activate" handler="sort_type" swapped="no"/>
736 </object>
737 </child>
738 <child>
739 <object class="GtkRadioMenuItem" id="by_name">
740 <property name="visible">True</property>
741+ <property name="can_focus">False</property>
742+ <property name="use_action_appearance">False</property>
743 <property name="label" translatable="yes">By Name</property>
744 <property name="use_underline">True</property>
745 <property name="group">by_watch_type</property>
746- <signal name="activate" handler="on_by_name_activate"/>
747+ <signal name="activate" handler="sort_name" swapped="no"/>
748 </object>
749 </child>
750 <child>
751 <object class="GtkRadioMenuItem" id="by_watch_active">
752 <property name="visible">True</property>
753+ <property name="can_focus">False</property>
754+ <property name="use_action_appearance">False</property>
755 <property name="label" translatable="yes">By Active</property>
756 <property name="use_underline">True</property>
757 <property name="group">by_watch_type</property>
758- <signal name="activate" handler="on_by_watch_active_activate"/>
759+ <signal name="activate" handler="sort_active" swapped="no"/>
760 </object>
761 </child>
762 </object>
763@@ -225,23 +475,28 @@
764 <child>
765 <object class="GtkSeparatorMenuItem" id="separator2">
766 <property name="visible">True</property>
767+ <property name="can_focus">False</property>
768 </object>
769 </child>
770 <child>
771 <object class="GtkCheckMenuItem" id="display_all_watches">
772 <property name="visible">True</property>
773+ <property name="can_focus">False</property>
774+ <property name="use_action_appearance">False</property>
775 <property name="label" translatable="yes">Display _All Watches</property>
776 <property name="use_underline">True</property>
777- <signal name="activate" handler="on_display_all_watches_activate"/>
778+ <signal name="activate" handler="toggle_show_deactivated_watches" swapped="no"/>
779 </object>
780 </child>
781 <child>
782 <object class="GtkCheckMenuItem" id="display_toolbar">
783 <property name="visible">True</property>
784+ <property name="can_focus">False</property>
785+ <property name="use_action_appearance">False</property>
786 <property name="label" translatable="yes">Display _Toolbar</property>
787 <property name="use_underline">True</property>
788 <property name="active">True</property>
789- <signal name="activate" handler="on_display_toolbar_activate"/>
790+ <signal name="activate" handler="toggle_display_toolbar" swapped="no"/>
791 </object>
792 </child>
793 </object>
794@@ -251,28 +506,35 @@
795 <child>
796 <object class="GtkMenuItem" id="menu_help">
797 <property name="visible">True</property>
798+ <property name="can_focus">False</property>
799+ <property name="use_action_appearance">False</property>
800 <property name="label" translatable="yes">_Help</property>
801 <property name="use_underline">True</property>
802 <child type="submenu">
803 <object class="GtkMenu" id="menu_help_menu">
804+ <property name="can_focus">False</property>
805 <child>
806 <object class="GtkImageMenuItem" id="help">
807 <property name="label">gtk-help</property>
808 <property name="visible">True</property>
809+ <property name="can_focus">False</property>
810+ <property name="use_action_appearance">False</property>
811 <property name="use_underline">True</property>
812 <property name="use_stock">True</property>
813 <property name="accel_group">accelgroup1</property>
814- <signal name="activate" handler="on_help_activate"/>
815+ <signal name="activate" handler="show_help" swapped="no"/>
816 </object>
817 </child>
818 <child>
819 <object class="GtkImageMenuItem" id="about">
820 <property name="label">gtk-about</property>
821 <property name="visible">True</property>
822+ <property name="can_focus">False</property>
823+ <property name="use_action_appearance">False</property>
824 <property name="use_underline">True</property>
825 <property name="use_stock">True</property>
826 <property name="accel_group">accelgroup1</property>
827- <signal name="activate" handler="on_about_activate"/>
828+ <signal name="activate" handler="show_about" swapped="no"/>
829 </object>
830 </child>
831 </object>
832@@ -289,14 +551,17 @@
833 <child>
834 <object class="GtkToolbar" id="toolbar">
835 <property name="visible">True</property>
836+ <property name="can_focus">False</property>
837 <child>
838 <object class="GtkToolButton" id="button_refresh">
839 <property name="visible">True</property>
840+ <property name="can_focus">False</property>
841+ <property name="use_action_appearance">False</property>
842 <property name="is_important">True</property>
843 <property name="label" translatable="yes">_Refresh All</property>
844 <property name="use_underline">True</property>
845 <property name="stock_id">gtk-refresh</property>
846- <signal name="clicked" handler="on_refresh_activate"/>
847+ <signal name="clicked" handler="refresh_all_watches" swapped="no"/>
848 </object>
849 <packing>
850 <property name="expand">False</property>
851@@ -306,11 +571,13 @@
852 <child>
853 <object class="GtkToolButton" id="button_clear_all">
854 <property name="visible">True</property>
855+ <property name="can_focus">False</property>
856+ <property name="use_action_appearance">False</property>
857 <property name="is_important">True</property>
858 <property name="label" translatable="yes">_Mark all read</property>
859 <property name="use_underline">True</property>
860 <property name="stock_id">gtk-clear</property>
861- <signal name="clicked" handler="on_clear_all_activate"/>
862+ <signal name="clicked" handler="mark_all_as_read" swapped="no"/>
863 </object>
864 <packing>
865 <property name="expand">False</property>
866@@ -320,9 +587,11 @@
867 <child>
868 <object class="GtkMenuToolButton" id="button_add">
869 <property name="visible">True</property>
870+ <property name="can_focus">False</property>
871+ <property name="use_action_appearance">False</property>
872 <property name="is_important">True</property>
873 <property name="stock_id">gtk-add</property>
874- <signal name="clicked" handler="on_add_activate"/>
875+ <signal name="clicked" handler="show_add_watch_menu" swapped="no"/>
876 </object>
877 <packing>
878 <property name="expand">False</property>
879@@ -340,20 +609,96 @@
880 <property name="visible">True</property>
881 <property name="can_focus">True</property>
882 <property name="hscrollbar_policy">never</property>
883- <property name="vscrollbar_policy">automatic</property>
884+ <property name="vscrollbar_policy">never</property>
885 <property name="shadow_type">in</property>
886 <child>
887 <object class="GtkTreeView" id="treeview">
888 <property name="visible">True</property>
889 <property name="can_focus">True</property>
890+ <property name="model">liststore</property>
891 <property name="rules_hint">True</property>
892- <property name="enable_search">False</property>
893- <signal name="cursor_changed" handler="on_treeview_cursor_changed"/>
894- <signal name="row_activated" handler="on_treeview_row_activated"/>
895+ <property name="search_column">0</property>
896+ <signal name="cursor-changed" handler="show_watch_info" swapped="no"/>
897+ <signal name="row-activated" handler="open_watch_callback" swapped="no"/>
898+ <child>
899+ <object class="GtkTreeViewColumn" id="active_treeviewcolumn">
900+ <property name="title" translatable="yes">Active</property>
901+ <property name="reorderable">True</property>
902+ <property name="sort_column_id">0</property>
903+ <signal name="clicked" handler="sort_active_from_treeview_headers" swapped="no"/>
904+ <child>
905+ <object class="GtkCellRendererToggle" id="cellrenderertoggle1">
906+ <signal name="toggled" handler="check_clicked" swapped="no"/>
907+ </object>
908+ <attributes>
909+ <attribute name="active">0</attribute>
910+ </attributes>
911+ </child>
912+ </object>
913+ </child>
914+ <child>
915+ <object class="GtkTreeViewColumn" id="type_treeviewcolumn">
916+ <property name="title" translatable="yes">Type</property>
917+ <property name="reorderable">True</property>
918+ <property name="sort_column_id">1</property>
919+ <signal name="clicked" handler="sort_type_from_treeview_headers" swapped="no"/>
920+ <child>
921+ <object class="GtkCellRendererPixbuf" id="cellrendererpixbuf1"/>
922+ <attributes>
923+ <attribute name="pixbuf">1</attribute>
924+ </attributes>
925+ </child>
926+ </object>
927+ </child>
928+ <child>
929+ <object class="GtkTreeViewColumn" id="name_treeviewcolumn">
930+ <property name="resizable">True</property>
931+ <property name="title" translatable="yes">Name</property>
932+ <property name="expand">True</property>
933+ <property name="reorderable">True</property>
934+ <property name="sort_column_id">2</property>
935+ <signal name="clicked" handler="sort_name_from_treeview_headers" swapped="no"/>
936+ <child>
937+ <object class="GtkCellRendererText" id="cellrenderertext1">
938+ <property name="editable">True</property>
939+ <signal name="edited" handler="change_entry_name" swapped="no"/>
940+ </object>
941+ <attributes>
942+ <attribute name="text">2</attribute>
943+ </attributes>
944+ </child>
945+ </object>
946+ </child>
947+ <child>
948+ <object class="GtkTreeViewColumn" id="_ID_treeviewcolumn">
949+ <property name="visible">False</property>
950+ <property name="title" translatable="yes">ID</property>
951+ <child>
952+ <object class="GtkCellRendererText" id="cellrenderertext2"/>
953+ <attributes>
954+ <attribute name="text">3</attribute>
955+ </attributes>
956+ </child>
957+ </object>
958+ </child>
959+ <child>
960+ <object class="GtkTreeViewColumn" id="_TYPE_treeviewcolumn">
961+ <property name="visible">False</property>
962+ <property name="title" translatable="yes">TYPE</property>
963+ <child>
964+ <object class="GtkCellRendererText" id="cellrenderertext3"/>
965+ <attributes>
966+ <attribute name="text">4</attribute>
967+ </attributes>
968+ </child>
969+ </object>
970+ </child>
971 </object>
972 </child>
973 </object>
974 <packing>
975+ <property name="expand">True</property>
976+ <property name="fill">True</property>
977 <property name="position">2</property>
978 </packing>
979 </child>
980@@ -361,11 +706,13 @@
981 <object class="GtkHBox" id="hbox1">
982 <property name="height_request">145</property>
983 <property name="visible">True</property>
984+ <property name="can_focus">False</property>
985 <property name="border_width">6</property>
986 <property name="spacing">6</property>
987 <child>
988 <object class="GtkHBox" id="vbox_info">
989 <property name="visible">True</property>
990+ <property name="can_focus">False</property>
991 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
992 <child>
993 <object class="GtkNotebook" id="notebook1">
994@@ -375,22 +722,26 @@
995 <child>
996 <object class="GtkHBox" id="hbox2">
997 <property name="visible">True</property>
998+ <property name="can_focus">False</property>
999 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
1000 <property name="spacing">6</property>
1001 <child>
1002 <object class="GtkImage" id="watch_icon">
1003 <property name="visible">True</property>
1004+ <property name="can_focus">False</property>
1005 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
1006 <property name="stock">gtk-info</property>
1007 </object>
1008 <packing>
1009 <property name="expand">False</property>
1010+ <property name="fill">True</property>
1011 <property name="position">0</property>
1012 </packing>
1013 </child>
1014 <child>
1015 <object class="GtkVBox" id="vbox_watch_info">
1016 <property name="visible">True</property>
1017+ <property name="can_focus">False</property>
1018 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
1019 <property name="border_width">6</property>
1020 <child>
1021@@ -398,6 +749,8 @@
1022 </child>
1023 </object>
1024 <packing>
1025+ <property name="expand">True</property>
1026+ <property name="fill">True</property>
1027 <property name="position">1</property>
1028 </packing>
1029 </child>
1030@@ -406,6 +759,7 @@
1031 <child type="tab">
1032 <object class="GtkLabel" id="label20">
1033 <property name="visible">True</property>
1034+ <property name="can_focus">False</property>
1035 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
1036 <property name="label" translatable="yes">General</property>
1037 </object>
1038@@ -416,6 +770,7 @@
1039 <child>
1040 <object class="GtkLabel" id="lblExtraInfo">
1041 <property name="visible">True</property>
1042+ <property name="can_focus">False</property>
1043 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
1044 <property name="xalign">0</property>
1045 <property name="xpad">6</property>
1046@@ -431,6 +786,7 @@
1047 <child type="tab">
1048 <object class="GtkLabel" id="label21">
1049 <property name="visible">True</property>
1050+ <property name="can_focus">False</property>
1051 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
1052 <property name="label" translatable="yes">Extra information</property>
1053 </object>
1054@@ -441,17 +797,22 @@
1055 </child>
1056 </object>
1057 <packing>
1058+ <property name="expand">True</property>
1059+ <property name="fill">True</property>
1060 <property name="position">-1</property>
1061 </packing>
1062 </child>
1063 </object>
1064 <packing>
1065+ <property name="expand">True</property>
1066+ <property name="fill">True</property>
1067 <property name="position">0</property>
1068 </packing>
1069 </child>
1070 <child>
1071 <object class="GtkVButtonBox" id="vbox_panel_buttons">
1072 <property name="visible">True</property>
1073+ <property name="can_focus">False</property>
1074 <property name="spacing">6</property>
1075 <property name="layout_style">start</property>
1076 <child>
1077@@ -461,8 +822,9 @@
1078 <property name="can_focus">True</property>
1079 <property name="can_default">True</property>
1080 <property name="receives_default">False</property>
1081+ <property name="use_action_appearance">False</property>
1082 <property name="use_stock">True</property>
1083- <signal name="clicked" handler="on_btnOpen_clicked"/>
1084+ <signal name="clicked" handler="open_watch_callback" swapped="no"/>
1085 </object>
1086 <packing>
1087 <property name="expand">False</property>
1088@@ -477,7 +839,8 @@
1089 <property name="can_focus">True</property>
1090 <property name="can_default">True</property>
1091 <property name="receives_default">False</property>
1092- <signal name="clicked" handler="on_btnClear_clicked"/>
1093+ <property name="use_action_appearance">False</property>
1094+ <signal name="clicked" handler="mark_watch_as_read" swapped="no"/>
1095 </object>
1096 <packing>
1097 <property name="expand">False</property>
1098@@ -492,8 +855,9 @@
1099 <property name="can_focus">True</property>
1100 <property name="can_default">True</property>
1101 <property name="receives_default">False</property>
1102+ <property name="use_action_appearance">False</property>
1103 <property name="use_stock">True</property>
1104- <signal name="clicked" handler="on_btnEdit_clicked"/>
1105+ <signal name="clicked" handler="show_edit_watch" swapped="no"/>
1106 </object>
1107 <packing>
1108 <property name="expand">False</property>
1109@@ -504,6 +868,7 @@
1110 </object>
1111 <packing>
1112 <property name="expand">False</property>
1113+ <property name="fill">True</property>
1114 <property name="pack_type">end</property>
1115 <property name="position">1</property>
1116 </packing>
1117@@ -516,168 +881,16 @@
1118 </packing>
1119 </child>
1120 <child>
1121- <object class="GtkStatusbar" id="statusbar1"/>
1122+ <object class="GtkStatusbar" id="statusbar1">
1123+ <property name="can_focus">False</property>
1124+ </object>
1125 <packing>
1126 <property name="expand">False</property>
1127+ <property name="fill">True</property>
1128 <property name="position">4</property>
1129 </packing>
1130 </child>
1131 </object>
1132 </child>
1133 </object>
1134- <object class="GtkWindow" id="error_dialog">
1135- <property name="title" translatable="yes">Error</property>
1136- <property name="resizable">False</property>
1137- <property name="window_position">center-on-parent</property>
1138- <child>
1139- <object class="GtkVBox" id="vbox1">
1140- <property name="visible">True</property>
1141- <property name="border_width">6</property>
1142- <child>
1143- <object class="GtkHBox" id="hbox4">
1144- <property name="visible">True</property>
1145- <child>
1146- <object class="GtkImage" id="image">
1147- <property name="visible">True</property>
1148- <property name="stock">gtk-missing-image</property>
1149- </object>
1150- <packing>
1151- <property name="position">0</property>
1152- </packing>
1153- </child>
1154- <child>
1155- <object class="GtkLabel" id="label4">
1156- <property name="visible">True</property>
1157- </object>
1158- <packing>
1159- <property name="padding">6</property>
1160- <property name="position">1</property>
1161- </packing>
1162- </child>
1163- </object>
1164- <packing>
1165- <property name="expand">False</property>
1166- <property name="fill">False</property>
1167- <property name="padding">6</property>
1168- <property name="position">0</property>
1169- </packing>
1170- </child>
1171- <child>
1172- <object class="GtkExpander" id="expander1">
1173- <property name="visible">True</property>
1174- <property name="can_focus">True</property>
1175- <child>
1176- <object class="GtkScrolledWindow" id="scrolledwindow1">
1177- <property name="visible">True</property>
1178- <property name="can_focus">True</property>
1179- <property name="hscrollbar_policy">automatic</property>
1180- <property name="vscrollbar_policy">automatic</property>
1181- <child>
1182- <object class="GtkTextView" id="error_message">
1183- <property name="height_request">200</property>
1184- <property name="visible">True</property>
1185- <property name="can_focus">True</property>
1186- </object>
1187- </child>
1188- </object>
1189- </child>
1190- <child type="label">
1191- <object class="GtkLabel" id="label2">
1192- <property name="visible">True</property>
1193- <property name="label" translatable="yes">Debug information</property>
1194- </object>
1195- </child>
1196- </object>
1197- <packing>
1198- <property name="padding">6</property>
1199- <property name="position">1</property>
1200- </packing>
1201- </child>
1202- <child>
1203- <object class="GtkHSeparator" id="hseparator1">
1204- <property name="visible">True</property>
1205- </object>
1206- <packing>
1207- <property name="expand">False</property>
1208- <property name="padding">6</property>
1209- <property name="position">2</property>
1210- </packing>
1211- </child>
1212- <child>
1213- <object class="GtkHBox" id="hbox3">
1214- <property name="visible">True</property>
1215- <child>
1216- <object class="GtkButton" id="send">
1217- <property name="label" translatable="yes">Visit the issue tracker</property>
1218- <property name="visible">True</property>
1219- <property name="can_focus">True</property>
1220- <property name="receives_default">True</property>
1221- </object>
1222- <packing>
1223- <property name="padding">6</property>
1224- <property name="position">0</property>
1225- </packing>
1226- </child>
1227- <child>
1228- <object class="GtkLabel" id="label3">
1229- <property name="visible">True</property>
1230- </object>
1231- <packing>
1232- <property name="padding">6</property>
1233- <property name="position">1</property>
1234- </packing>
1235- </child>
1236- <child>
1237- <object class="GtkLabel" id="label1">
1238- <property name="visible">True</property>
1239- </object>
1240- <packing>
1241- <property name="position">2</property>
1242- </packing>
1243- </child>
1244- <child>
1245- <object class="GtkButton" id="ok">
1246- <property name="label">gtk-ok</property>
1247- <property name="visible">True</property>
1248- <property name="can_focus">True</property>
1249- <property name="receives_default">True</property>
1250- <property name="use_stock">True</property>
1251- </object>
1252- <packing>
1253- <property name="padding">6</property>
1254- <property name="position">3</property>
1255- </packing>
1256- </child>
1257- </object>
1258- <packing>
1259- <property name="expand">False</property>
1260- <property name="fill">False</property>
1261- <property name="padding">6</property>
1262- <property name="position">3</property>
1263- </packing>
1264- </child>
1265- </object>
1266- </child>
1267- </object>
1268- <object class="GtkImage" id="image1">
1269- <property name="visible">True</property>
1270- <property name="stock">gtk-open</property>
1271- </object>
1272- <object class="GtkImage" id="image2">
1273- <property name="visible">True</property>
1274- <property name="stock">gtk-save</property>
1275- </object>
1276- <object class="GtkImage" id="image3">
1277- <property name="visible">True</property>
1278- <property name="stock">gtk-clear</property>
1279- </object>
1280- <object class="GtkImage" id="image4">
1281- <property name="visible">True</property>
1282- <property name="stock">gtk-clear</property>
1283- </object>
1284- <object class="GtkImage" id="image5">
1285- <property name="visible">True</property>
1286- <property name="stock">gtk-sort-ascending</property>
1287- </object>
1288- <object class="GtkAccelGroup" id="accelgroup1"/>
1289 </interface>
1290
1291=== modified file 'spectlib/about.py'
1292--- spectlib/about.py 2010-11-23 15:42:22 +0000
1293+++ spectlib/about.py 2011-05-24 17:11:46 +0000
1294@@ -40,35 +40,18 @@
1295
1296 license_file_path = (os.path.join(get_path(category="doc"), "COPYING"))
1297 with open(license_file_path, "r") as license_file:
1298- license = license_file.read()
1299-
1300- authors_file_path = (os.path.join(get_path(category="doc"), "AUTHORS"))
1301- with open(authors_file_path, "r") as authors_file:
1302- # this is a hack, because gtk.AboutDialog expects a list, not a file
1303- authors = authors_file.readlines()
1304+ _license = license_file.read()
1305
1306 logo = gtk.gdk.pixbuf_new_from_file(os.path.join(self.specto.PATH, "icons/specto_about.png"))
1307
1308- # gtk.AboutDialog will detect if "translator-credits" is untranslated,
1309- # and hide the tab.
1310- translator_credits = _("translator-credits")
1311-
1312- #create tree
1313- self.about = gtk.AboutDialog()
1314-
1315- self.about.set_name("Specto")
1316+ uifile = os.path.join(self.specto.PATH, "uis/about.ui")
1317+ windowname = "about"
1318+ self.builder = gtk.Builder()
1319+ self.builder.set_translation_domain("specto")
1320+ self.builder.add_from_file(uifile)
1321+ self.about = self.builder.get_object("aboutdialog1")
1322 self.about.set_version(self.specto.VERSION)
1323- self.about.set_copyright("Copyright © Jean-François Fortin Tam & Wout Clymans")
1324- self.about.set_comments(_("Be notified of everything"))
1325- self.about.set_license(license)
1326- #self.wTree.set_wrap_license(license)
1327- gtk.about_dialog_set_url_hook(lambda about, url: show_webpage(url))
1328- self.about.set_website("http://specto.sourceforge.net")
1329- self.about.set_website_label(_("Specto's Website"))
1330- self.about.set_authors(authors)
1331- #self.about.set_documenters(documenters)
1332- #self.about.set_artists(artists)
1333- self.about.set_translator_credits(translator_credits)
1334+ self.about.set_license(_license)
1335 self.about.set_logo(logo)
1336
1337 icon = gtk.gdk.pixbuf_new_from_file(os.path.join(self.specto.PATH, "icons/specto_window_icon.png"))
1338
1339=== modified file 'spectlib/export_watch.py'
1340--- spectlib/export_watch.py 2010-11-23 15:28:11 +0000
1341+++ spectlib/export_watch.py 2011-05-24 17:11:46 +0000
1342@@ -57,80 +57,35 @@
1343 self.export_watch.set_title(_("Export watches"))
1344 self.builder.get_object("button_action").set_label(_("Export watches"))
1345
1346- self.model = gtk.ListStore(gobject.TYPE_BOOLEAN, gtk.gdk.Pixbuf, \
1347- gobject.TYPE_STRING, gobject.TYPE_INT, gobject.TYPE_STRING)
1348+ self.model = self.builder.get_object("liststore1")
1349 self.new_watch_db = {}
1350-
1351- #catch some events
1352- dic = {"on_button_select_all_clicked": self.select_all,
1353- "on_button_deselect_all_clicked": self.deselect_all,
1354- "on_button_action_clicked": self.do_action,
1355- "on_button_close_clicked": self.delete_event}
1356-
1357+
1358 #attach the events
1359- self.builder.connect_signals(dic)
1360+ self.builder.connect_signals(self)
1361
1362 icon = gtk.gdk.pixbuf_new_from_file(os.path.join(self.specto.PATH, "icons/specto_window_icon.png"))
1363 self.export_watch.set_icon(icon)
1364
1365 self.treeview = self.builder.get_object("treeview")
1366- self.treeview.set_model(self.model)
1367 self.treeview.set_flags(gtk.TREE_MODEL_ITERS_PERSIST)
1368 self.iter = {}
1369
1370- ### Checkbox
1371- self.renderer = gtk.CellRendererToggle()
1372- self.renderer.set_property("activatable", True)
1373- self.renderer.connect("toggled", self.check_clicked, self.model)
1374- self.columnCheck = gtk.TreeViewColumn(_("Select"), \
1375- self.renderer, active=0)
1376- self.treeview.append_column(self.columnCheck)
1377-
1378- ### Icon
1379- self.renderer = gtk.CellRendererPixbuf()
1380- self.columnIcon = gtk.TreeViewColumn(_("Type"), \
1381- self.renderer, pixbuf=1)
1382- self.treeview.append_column(self.columnIcon)
1383-
1384- ### Titre
1385- self.renderer = gtk.CellRendererText()
1386- self.columnTitel = gtk.TreeViewColumn(_("Name"), \
1387- self.renderer, markup=2)
1388- self.columnTitel.set_expand(True)
1389- self.columnTitel.set_resizable(True)
1390- self.treeview.append_column(self.columnTitel)
1391-
1392- ### ID
1393- self.renderer = gtk.CellRendererText()
1394- self.column = gtk.TreeViewColumn(_("ID"), self.renderer, markup=3)
1395- self.column.set_visible(False)
1396- #self.column.set_sort_column_id(3)
1397- self.treeview.append_column(self.column)
1398-
1399- ### type
1400- self.renderer = gtk.CellRendererText()
1401- self.columnType = gtk.TreeViewColumn(_("TYPE"), \
1402- self.renderer, markup=4)
1403- self.columnType.set_visible(False)
1404- #self.columnType.set_sort_column_id(4)
1405- self.treeview.append_column(self.columnType)
1406-
1407 for watch in self.specto.watch_db:
1408- if watch.deleted == False:
1409+ if not watch.deleted:
1410 self.add_watch_entry(watch.id)
1411
1412 def select_all(self, widget):
1413 db = self.specto.watch_db
1414
1415 for watch in db:
1416- if watch.deleted == False:
1417+ if not watch.deleted:
1418 self.model.set_value(self.iter[watch.id], 0, 1)
1419
1420 def deselect_all(self, widget):
1421 db = self.specto.watch_db
1422
1423 for watch in db:
1424- if watch.deleted == False:
1425+ if not watch.deleted:
1426 self.model.set_value(self.iter[watch.id], 0, 0)
1427
1428 def do_action(self, widget):
1429@@ -154,7 +109,7 @@
1430 watch_db = self.specto.watch_db
1431
1432 for watch in watch_db:
1433- if watch.deleted == False:
1434+ if not watch.deleted:
1435 if self.model.get_value(self.iter[watch.id], 0) == True:
1436 selected_watches_db[i] = watch
1437 i += 1
1438@@ -175,16 +130,17 @@
1439 def set_new_watch_db(self, watch_db):
1440 self.new_watch_db = watch_db
1441
1442- def check_clicked(self, object, path, model):
1443+ def check_clicked(self, obj, model):
1444 """ Call the main function to start/stop the selected watch. """
1445 sel = self.treeview.get_selection()
1446- sel.select_path(path)
1447- model, iter = self.treeview.get_selection().get_selected()
1448-
1449- if model.get_value(iter, 0):
1450- model.set_value(iter, 0, 0)
1451+ sel.select_path(model)
1452+ model, _iter = sel.get_selected()
1453+ if not _iter:
1454+ return
1455+ if model.get_value(_iter, 0):
1456+ model.set_value(_iter, 0, 0)
1457 else:
1458- model.set_value(iter, 0, 1)
1459+ model.set_value(_iter, 0, 1)
1460
1461
1462 class ExportSaveDialog(SaveDialog):
1463
1464=== modified file 'spectlib/import_watch.py'
1465--- spectlib/import_watch.py 2010-11-23 15:28:11 +0000
1466+++ spectlib/import_watch.py 2011-05-24 17:11:46 +0000
1467@@ -67,72 +67,32 @@
1468 self.import_watch.set_title(_("Import watches"))
1469 self.builder.get_object("button_action").set_label(_("Import watches"))
1470
1471- self.model = gtk.ListStore(gobject.TYPE_BOOLEAN, gtk.gdk.Pixbuf, gobject.TYPE_STRING, gobject.TYPE_INT, gobject.TYPE_STRING)
1472+ self.model = self.builder.get_object("liststore1")
1473 self.new_watch_db = {}
1474
1475- #catch some events
1476- dic = {"on_button_select_all_clicked": self.select_all,
1477- "on_button_deselect_all_clicked": self.deselect_all,
1478- "on_button_action_clicked": self.import_watches,
1479- "on_button_close_clicked": self.delete_event}
1480-
1481 #attach the events
1482- self.builder.connect_signals(dic)
1483+ self.builder.connect_signals(self)
1484
1485 icon = gtk.gdk.pixbuf_new_from_file(os.path.join(self.specto.PATH, "icons/specto_window_icon.png"))
1486 self.import_watch.set_icon(icon)
1487
1488 self.treeview = self.builder.get_object("treeview")
1489- self.treeview.set_model(self.model)
1490 self.treeview.set_flags(gtk.TREE_MODEL_ITERS_PERSIST)
1491 self.iter = {}
1492
1493- ### Checkbox
1494- self.renderer = gtk.CellRendererToggle()
1495- self.renderer.set_property("activatable", True)
1496- self.renderer.connect("toggled", self.check_clicked, self.model)
1497- self.columnCheck = gtk.TreeViewColumn(_("Select"), self.renderer, active=0)
1498- self.treeview.append_column(self.columnCheck)
1499-
1500- ### Icon
1501- self.renderer = gtk.CellRendererPixbuf()
1502- self.columnIcon = gtk.TreeViewColumn(_("Type"), self.renderer, pixbuf=1)
1503- self.treeview.append_column(self.columnIcon)
1504-
1505- ### Titre
1506- self.renderer = gtk.CellRendererText()
1507- self.columnTitel = gtk.TreeViewColumn(_("Name"), self.renderer, markup=2)
1508- self.columnTitel.set_expand(True)
1509- self.columnTitel.set_resizable(True)
1510- self.treeview.append_column(self.columnTitel)
1511-
1512- ### ID
1513- self.renderer = gtk.CellRendererText()
1514- self.column = gtk.TreeViewColumn(_("ID"), self.renderer, markup=3)
1515- self.column.set_visible(False)
1516- #self.column.set_sort_column_id(3)
1517- self.treeview.append_column(self.column)
1518-
1519- ### type
1520- self.renderer = gtk.CellRendererText()
1521- self.columnType = gtk.TreeViewColumn(_("TYPE"), self.renderer, markup=4)
1522- self.columnType.set_visible(False)
1523- #self.columnType.set_sort_column_id(4)
1524- self.treeview.append_column(self.columnType)
1525-
1526 def select_all(self, widget):
1527 db = self.new_watch_db
1528 for watch in db:
1529- if watch.deleted == False:
1530+ if not watch.deleted:
1531 self.model.set_value(self.iter[watch.id], 0, 1)
1532
1533 def deselect_all(self, widget):
1534 db = self.new_watch_db
1535 for watch in db:
1536- if watch.deleted == False:
1537+ if not watch.deleted:
1538 self.model.set_value(self.iter[watch.id], 0, 0)
1539
1540- def import_watches(self, widget):
1541+ def do_action(self, widget):
1542 self.import_watch.hide_all()
1543
1544 watches = self.get_selected_watches()
1545@@ -176,7 +136,7 @@
1546 i = 0
1547 watch_db = self.new_watch_db
1548 for watch in watch_db:
1549- if watch.deleted == False:
1550+ if not watch.deleted:
1551 if self.model.get_value(self.iter[watch.id], 0) == True:
1552 selected_watches_db[i] = watch
1553 i += 1
1554@@ -197,16 +157,17 @@
1555 def set_new_watch_db(self, watch_db):
1556 self.new_watch_db = watch_db
1557
1558- def check_clicked(self, object, path, model):
1559+ def check_clicked(self, obj, model):
1560 """ Call the main function to start/stop the selected watch. """
1561 sel = self.treeview.get_selection()
1562- sel.select_path(path)
1563- model, iter = self.treeview.get_selection().get_selected()
1564-
1565- if model.get_value(iter, 0):
1566- model.set_value(iter, 0, 0)
1567+ sel.select_path(model)
1568+ model, _iter = sel.get_selected()
1569+ if not _iter:
1570+ return
1571+ if model.get_value(_iter, 0):
1572+ model.set_value(_iter, 0, 0)
1573 else:
1574- model.set_value(iter, 0, 1)
1575+ model.set_value(_iter, 0, 1)
1576
1577
1578 class ImportOpenDialog(OpenDialog):
1579@@ -231,7 +192,7 @@
1580
1581 def read_options(self, file_name):
1582 watch_io = Watch_io(self.specto, file_name)
1583- if watch_io.valid == False:
1584+ if not watch_io.valid:
1585 return False
1586
1587 values = watch_io.read_all_watches()
1588
1589=== modified file 'spectlib/notifier.py'
1590--- spectlib/notifier.py 2010-11-23 15:28:11 +0000
1591+++ spectlib/notifier.py 2011-05-24 17:11:46 +0000
1592@@ -86,6 +86,7 @@
1593 self.builder = gtk.Builder()
1594 self.builder.set_translation_domain("specto")
1595 self.builder.add_from_file(uifile)
1596+ self.builder.connect_signals(self)
1597 self.notifier = self.builder.get_object("notifier")
1598 if INDICATOR:
1599 self.indicator = Indicator(specto)
1600@@ -102,36 +103,7 @@
1601
1602 #create tree
1603 self.iter = {}
1604- self.model = gtk.ListStore(gobject.TYPE_BOOLEAN, gtk.gdk.Pixbuf, gobject.TYPE_STRING, gobject.TYPE_INT, gobject.TYPE_STRING, pango.Weight)
1605-
1606- #catch some events
1607- dic = {
1608- "on_add_activate": self.show_add_watch_menu,
1609- "on_edit_activate": self.show_edit_watch,
1610- "on_clear_all_activate": self.mark_all_as_read,
1611- "on_preferences_activate": self.show_preferences,
1612- "on_refresh_activate": self.refresh_all_watches,
1613- "on_close_activate": self.close_event,
1614- "on_quit_activate": self.delete_event,
1615- "on_import_watches_activate": self.import_watches,
1616- "on_export_watches_activate": self.export_watches,
1617- "on_error_log_activate": self.show_error_log,
1618- "on_display_all_watches_activate": self.toggle_show_deactivated_watches,
1619- "on_display_toolbar_activate": self.toggle_display_toolbar,
1620- "on_help_activate": self.show_help,
1621- "on_about_activate": self.show_about,
1622- "on_treeview_row_activated": self.open_watch_callback,
1623- "on_btnOpen_clicked": self.open_watch_callback,
1624- "on_btnClear_clicked": self.mark_watch_as_read,
1625- "on_treeview_cursor_changed": self.show_watch_info,
1626- "on_btnEdit_clicked": self.show_edit_watch,
1627- "on_by_watch_type_activate": self.sort_type,
1628- "on_by_name_activate": self.sort_name,
1629- "on_by_watch_active_activate": self.sort_active,
1630- "on_remove_clicked": self.remove_watch,
1631- "on_clear_activate": self._mark_watch_as_read,
1632- "on_remove_activate": self.remove_watch}
1633- self.builder.connect_signals(dic)
1634+ self.model = self.builder.get_object('liststore')
1635
1636 icon = gtk.gdk.pixbuf_new_from_file(os.path.join(self.specto.PATH, "icons/specto_window_icon.svg"))
1637 self.notifier.set_icon(icon)
1638@@ -359,17 +331,17 @@
1639 id = int(self.model.get_value(iter, 3))
1640 self.model.remove(iter)
1641
1642- def check_clicked(self, object, path, model):
1643+ def check_clicked(self, obj, model):
1644 """ Call the main function to start/stop the selected watch. """
1645 sel = self.treeview.get_selection()
1646- sel.select_path(path)
1647+ sel.select_path(model)
1648
1649- model, iter = self.treeview.get_selection().get_selected()
1650- id = int(model.get_value(iter, 3))
1651+ model, _iter = sel.get_selected()
1652+ id = int(model.get_value(_iter, 3))
1653 watch = self.specto.watch_db[id]
1654
1655- if model.get_value(iter, 0):
1656- model.set_value(iter, 0, 0)
1657+ if model.get_value(_iter, 0):
1658+ model.set_value(_iter, 0, 0)
1659 if watch.changed:
1660 self.mark_watch_as_read("", id)
1661 self.mark_watch_status("idle", id)
1662@@ -377,7 +349,7 @@
1663 if not self.builder.get_object("display_all_watches").active:
1664 self.remove_notifier_entry(id)
1665 else:
1666- model.set_value(iter, 0, 1)
1667+ model.set_value(_iter, 0, 1)
1668 watch.start()
1669
1670 def connected_message(self, connected):
1671@@ -696,6 +668,10 @@
1672
1673 if self.specto.specto_gconf.get_entry("show_in_windowlist") == False:
1674 self.notifier.set_skip_taskbar_hint(True)
1675+
1676+ self.columnTitle = self.builder.get_object('name_treeviewcolumn')
1677+ self.columnType = self.builder.get_object('type_treeviewcolumn')
1678+ self.columnCheck = self.builder.get_object('active_treeviewcolumn')
1679
1680
1681 ### Initiate the window
1682@@ -718,50 +694,8 @@
1683 if not self.specto.notifier_hide:
1684 self.notifier.show()
1685
1686- ### Checkbox
1687- self.columnCheck_renderer = gtk.CellRendererToggle()
1688- self.columnCheck_renderer.set_property("activatable", True)
1689- self.columnCheck_renderer.connect("toggled", self.check_clicked, self.model)
1690- self.columnCheck = gtk.TreeViewColumn(_("Active"), self.columnCheck_renderer, active=0)
1691- self.columnCheck.connect("clicked", self.sort_active_from_treeview_headers)
1692- self.columnCheck.set_sort_column_id(0)
1693- self.treeview.append_column(self.columnCheck)
1694-
1695- ### Icon
1696- self.columnIcon_renderer = gtk.CellRendererPixbuf()
1697- self.columnIcon = gtk.TreeViewColumn(_("Type"), self.columnIcon_renderer, pixbuf=1)
1698- self.columnIcon.set_clickable(True)
1699- self.columnIcon.connect("clicked", self.sort_type_from_treeview_headers)
1700- self.treeview.append_column(self.columnIcon)
1701-
1702- ### Titre
1703- self.columnTitle_renderer = gtk.CellRendererText()
1704- #self.columnTitle_renderer.set_property("editable", True)
1705- #self.columnTitle_renderer.connect('edited', self.change_entry_name)
1706- self.columnTitle = gtk.TreeViewColumn(_("Name"), self.columnTitle_renderer, text=2, weight=5)
1707- self.columnTitle.connect("clicked", self.sort_name_from_treeview_headers)
1708- self.columnTitle.set_expand(True)
1709- self.columnTitle.set_resizable(True)
1710- self.columnTitle.set_sort_column_id(2)
1711- self.treeview.append_column(self.columnTitle)
1712-
1713- ### ID
1714- self.columnID_renderer = gtk.CellRendererText()
1715- self.columnID = gtk.TreeViewColumn(_("ID"), self.columnID_renderer, markup=3)
1716- self.columnID.set_visible(False)
1717- self.columnID.set_sort_column_id(3)
1718- self.treeview.append_column(self.columnID)
1719-
1720- ### type
1721- self.renderer = gtk.CellRendererText()
1722- self.columnType = gtk.TreeViewColumn(_("TYPE"), self.renderer, markup=4)
1723- self.columnType.set_visible(False)
1724- self.columnType.set_sort_column_id(4)
1725- self.treeview.append_column(self.columnType)
1726-
1727 self.get_startup_sort_order()
1728
1729-
1730 ###Create info-panel
1731 vbox_info = self.builder.get_object("vbox_info")
1732

Subscribers

People subscribed via source and target branches