This commit is contained in:
Nicolas Évrard committed 2011-01-28 11:45:33 +01:00
commit 452b7aee7a
8 files changed
+35 -26

No files matched your search

+2 -1
View File
@@ -192,9 +192,10 @@ class Form(SignalEvent):
win.show_all()
response = win.run()
win.destroy()
if response == gtk.RESPONSE_OK:
self.screen.display(locale.atoi(entry.get_text()), set_cursor=True)
win.destroy()
self.window.present()
def destroy(self):
self.screen.signal_unconnect(self)
+2 -14
View File
@@ -190,20 +190,8 @@ class Tree(SignalEvent):
ids.index(y['id'])))
radiotb = None
for res in results:
radiotb = gtk.RadioToolButton(group=radiotb)
radiotb.set_label_widget(gtk.Label(res['name']))
icon = gtk.Image()
try:
icon.set_from_stock(res[icon_name],
gtk.ICON_SIZE_BUTTON)
except Exception:
pass
hbox = gtk.HBox(spacing=6)
hbox.pack_start(icon)
hbox.pack_start(gtk.Label(res['name']))
radiotb.set_icon_widget(hbox)
radiotb = gtk.RadioToolButton(radiotb, res[icon_name])
radiotb.set_label(res['name'])
radiotb.show_all()
radiotb.set_data('id', res['id'])
radiotb.connect('clicked', self.menu_main_clicked)
@@ -80,9 +80,13 @@ class Group(SignalEvent, list):
self.signal('group-list-changed', ('record-removed', idx))
def clear(self):
if not self.lock_signal:
for record in self:
self.signal('group-list-changed', ('record-removed', 0))
del self[:]
if not self.lock_signal:
self.signal('group-list-changed', ('group-cleared',))
self.__id2record = {}
self.record_removed = []
self.record_deleted = []
+2 -2
View File
@@ -39,12 +39,12 @@ class Record(SignalEvent):
def __getitem__(self, name):
if name not in self._loaded and self.id > 0:
ids = [self.id]
import traceback
if name == '*':
loading = reduce(
lambda x, y: 'eager' if x == y == 'eager' else 'lazy',
(field.attrs.get('loading', 'eager')
for field in self.group.fields.itervalues()))
for field in self.group.fields.itervalues()),
[])
else:
loading = self.group.fields[name].attrs.get('loading', 'eager')
if self in self.group and loading == 'eager':
+8 -5
View File
@@ -35,13 +35,16 @@ class ViewForm(ParserView):
scroll = gtk.ScrolledWindow()
scroll.add(vp)
scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
self.viewport = gtk.Viewport()
self.viewport.set_shadow_type(gtk.SHADOW_ETCHED_IN)
self.viewport.add(scroll)
scroll.set_placement(gtk.CORNER_TOP_LEFT)
viewport = gtk.Viewport()
viewport.set_shadow_type(gtk.SHADOW_ETCHED_IN)
viewport.add(scroll)
width, height = self.widget.size_request()
if isinstance(self.screen.window, gtk.Dialog):
vbox.set_size_request(width or -1, height or -1)
vbox.pack_start(viewport, expand=True, fill=True)
self.widget = vbox
self.widget.set_size_request(width, height)
self.widget.pack_start(self.viewport, expand=True, fill=True)
if toolbar and not CONFIG['client.modepda']:
hbox = gtk.HBox(homogeneous=False)
@@ -64,6 +64,8 @@ class Many2Many(WidgetInterface):
view_type=['tree'], views_preload=attrs.get('views', {}),
row_activate=self._on_activate)
if not isinstance(self.screen.window, gtk.Dialog):
self.screen.widget.set_size_request(0, 0)
self.widget.pack_start(self.screen.widget, expand=True, fill=True)
self.screen.widget.connect('key_press_event', self.on_keypress)
@@ -166,6 +166,8 @@ class One2Many(WidgetInterface):
self.screen.signal_connect(self, 'record-message', self._sig_label)
menuitem_title.get_child().set_text(attrs.get('string', ''))
if not isinstance(self.screen.window, gtk.Dialog):
self.screen.widget.set_size_request(0, 0)
self.widget.pack_start(self.screen.widget, expand=True, fill=True)
self.screen.widget.connect('key_press_event', self.on_keypress)
+13 -4
View File
@@ -150,16 +150,25 @@ class ViewList(ParserView):
buttons, toolbar, notebooks, cursor_widget)
self.store = None
self.view_type = 'tree'
self.widget = gtk.VBox()
self.widget_tree = widget
vbox = gtk.VBox()
scroll = gtk.ScrolledWindow()
scroll.add(self.widget_tree)
scroll.add(self.widget)
scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
scroll.set_placement(gtk.CORNER_TOP_LEFT)
viewport = gtk.Viewport()
viewport.set_shadow_type(gtk.SHADOW_ETCHED_IN)
viewport.add(scroll)
self.widget.pack_start(viewport, expand=True, fill=True)
width, height = self.widget.size_request()
self.widget_tree = self.widget
if isinstance(self.screen.window, gtk.Dialog):
vbox.set_size_request(width or -1, height or -1)
vbox.pack_start(viewport, expand=True, fill=True)
self.widget_tree.screen = screen
self.widget = vbox
self.reload = False
self.children = children