Merge lp:~nico-inattendu/luciole/bug_521371 into lp:luciole/0.8

Proposed by NicoInattendu
Status: Rejected
Rejected by: NicoInattendu
Proposed branch: lp:~nico-inattendu/luciole/bug_521371
Merge into: lp:luciole/0.8
Diff against target: 135 lines (+94/-6)
1 file modified
lucioLib/gui/dialog_project_properties.py (+94/-6)
To merge this branch: bzr merge lp:~nico-inattendu/luciole/bug_521371
Reviewer Review Type Date Requested Status
NicoInattendu Needs Resubmitting
Review via email: mp+19273@code.launchpad.net
To post a comment you must log in.
Revision history for this message
NicoInattendu (nico-inattendu) wrote :

some comments not clear :
widgetyy instead of widget
self.webcam_widdget_table_position not initailized

review: Needs Resubmitting

Unmerged revisions

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'lucioLib/gui/dialog_project_properties.py'
2--- lucioLib/gui/dialog_project_properties.py 2010-02-07 17:46:34 +0000
3+++ lucioLib/gui/dialog_project_properties.py 2010-02-13 16:14:12 +0000
4@@ -31,8 +31,12 @@
5 import pango
6
7 from .. import luciole_constants as LCONST
8+from .. import luciole_exceptions as LEXCEP
9 import webcam_detection_widget as LWDW
10
11+import logging
12+module_logger = logging.getLogger('luciole')
13+
14
15 #type of widgets for displaying webcam data
16 (LABEL,ENTRY,SCALE)=range(3)
17@@ -102,6 +106,9 @@
18
19 def __init__(self,main_window, project, cb_project_change) :
20 """ create a Dialog with project properties and display it"""
21+ # init logger
22+ self.logger = logging.getLogger('luciole')
23+
24 self._dialog = gtk.Dialog ( _(self._title),
25 main_window,
26 gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
27@@ -232,11 +239,22 @@
28 widget.set_alignment(xalign = 0.0, yalign = 0.5) # left justification
29 widget.set_text("%s"%self._project['webcam_data'][key])
30 elif self._WEBCAM_PREFS[key]['type'] == SCALE :
31- widget = Framerate_scale(self._project['webcam_data'][key],
32- self._project['webcam_data']['framerate_selected'],
33- self._cb_framerate_selected)
34+ # display scale bar if several framerates are available
35+ if len( self._project['webcam_data'][key]) > 1 :
36+ widget = Framerate_scale(self._project['webcam_data'][key],
37+ self._project['webcam_data']['framerate_selected'],
38+ self._cb_framerate_selected)
39+ elif len( self._project['webcam_data'][key]) == 1 :
40+ widget = gtk.Label()
41+ widget.set_alignment(xalign = 0.0, yalign = 0.5) # left justification
42+ # in that case framerate_selected = framerate_list[0]
43+ framerate = int(self._project['webcam_data']['framerate_selected'][0]/self._project['webcam_data']['framerate_selected'][1])
44+ widget.set_text("%s"%framerate)
45+ else :
46+ self.logging.debug('Something goes wrong')
47+ self.webcam_widdget_table_position = row
48
49- self.webcam_widgets[key] = widget # save the widget
50+ self.webcam_widgets[key] = widget # save the widgetyy
51
52 widget.show()
53 table.attach(widget, 1, 2, row, row+1,xpadding = 10 )
54@@ -334,9 +352,79 @@
55 for (w_key, w_widget) in self.webcam_widgets.iteritems() :
56 # Sepcific operation for framerate_list widget
57 if w_key == 'framerate_list' :
58- w_widget.refresh(project_data['webcam_data']['framerate_list'],
59- project_data['webcam_data']['framerate_selected'] )
60+ # 2 cases only one framerate or several framerates :
61+ # display a Label or a Scale
62+
63+ # current widget is a label
64+ if type(w_widget) == gtk.Label :
65+ # how many framerates in framerate list
66+ if len( project_data['webcam_data']['framerate_list'] ) > 1 :
67+ # Sevaral framerates
68+ # Hide current widget
69+ w_widget.hide()
70+ # create a Framerate_scale widget
71+ widget = Framerate_scale(project_data['webcam_data']['framerate_list'],
72+ project_data['webcam_data']['framerate_selected'],
73+ self._cb_framerate_selected)
74+
75+
76+ # Parent is a table attach new widget
77+ w_widget.parent.attach( widget, 1, 2,
78+ self.webcam_widdget_table_position,
79+ self.webcam_widdget_table_position+1,
80+ xpadding = 10 )
81+
82+ self.webcam_widgets[w_key] = widget # replace the widget
83+
84+ elif len( project_data['webcam_data']['framerate_list'] ) == 1 :
85+ # only one framerate update label
86+ w_text = int( project_data['webcam_data']['framerate_selected'][0] /
87+ project_data['webcam_data']['framerate_selected'][1])
88+ w_text ="%s"%w_text
89+ w_widget.set_text(w_text)
90+ else :
91+ # Not normal
92+ lerr = " 0 is an invalid number of framerates."
93+ raise LEXCEP.LucioException, lerr
94+
95+ # current widegt is a framerate scale
96+ else :
97+ # how many framerates in framerate list
98+ if len( project_data['webcam_data']['framerate_list'] ) > 1 :
99+ # Several framerates
100+ # refresh Framerate_scale widget
101+
102+ w_widget.refresh(project_data['webcam_data']['framerate_list'],
103+ project_data['webcam_data']['framerate_selected'] )
104+
105+ elif len( project_data['webcam_data']['framerate_list'] ) == 1 :
106+ # only one framerate is available
107+ # Hide current widget
108+ w_widget.hide()
109+
110+ # create a Label widget
111+ widget = gtk.Label()
112+ widget.set_alignment(xalign = 0.0, yalign = 0.5) # left justification
113+ w_text = int( project_data['webcam_data']['framerate_selected'][0]/
114+ project_data['webcam_data']['framerate_selected'][1])
115+ w_text ="%s"%w_text
116+ widget.set_text("%s"%framerate)
117+
118+ # Parent is a table attach new widget
119+ w_widget.parent.attach( widget, 1, 2,
120+ self.webcam_widdget_table_position,
121+ self.webcam_widdget_table_position+1,
122+ xpadding = 10 )
123+
124+ self.webcam_widgets[w_key] = widget # replace the widget
125+ else :
126+ # Not normal
127+ lerr = " 0 is an invalid number of framerates."
128+ raise LEXCEP.LucioException, lerr
129+
130 self._framerate_list = project_data['webcam_data']['framerate_list']
131+ self._framerate_selected = project_data['webcam_data']['framerate_selected']
132+
133 # for other webcam widgets : only text to update
134 else :
135 if project_data['webcam_data'].has_key(w_key) :

Subscribers

People subscribed via source and target branches

to all changes: