merge
This commit is contained in:
commit
452b7aee7a
8 files changed
+35
-26
No files matched your search
@@ -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)
|
||||
|
||||
@@ -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 = []
|
||||
|
||||
|
||||
@@ -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':
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in new issue
Block a user