* src/Editors/_EditSourceRef.py,

* src/Editors/_EditRepoRef.py,
* src/Editors/_EditUrl.py,
* src/Editors/_EditMediaRef.py,
* src/Editors/_EditEventRef.py,
* src/Editors/_EditFamily.py,
* src/DisplayTabs/_NameEmbedList.py,
* src/DisplayTabs/_EmbeddedList.py,
* src/DisplayTabs/_GalleryTab.py,
* src/DisplayTabs/_DataEmbedList.py: Disable some more controls when readonly



svn: r7804
This commit is contained in:
Martin Hawlisch
2006-12-15 12:39:28 +00:00
parent 1e8a8d0160
commit a78af64666
11 changed files with 65 additions and 39 deletions

View File

@@ -63,7 +63,7 @@ class DataEmbedList(EmbeddedList):
# and connect renderers to the 'edited' signal
for colno in range(len(self.columns)):
for renderer in self.columns[colno].get_cell_renderers():
renderer.set_property('editable',True)
renderer.set_property('editable',not self.dbstate.db.readonly)
renderer.connect('edited',self.edit_inline,colno)
def get_data(self):

View File

@@ -98,28 +98,30 @@ class EmbeddedList(ButtonTab):
def get_popup_menu_items(self):
if self.share_btn:
itemlist = [
(True, gtk.STOCK_ADD, self.add_button_clicked),
(False, _('Share'), self.edit_button_clicked),
(True, gtk.STOCK_EDIT, self.edit_button_clicked),
(True, gtk.STOCK_REMOVE, self.del_button_clicked),
(True, True, gtk.STOCK_ADD, self.add_button_clicked),
(True, False, _('Share'), self.edit_button_clicked),
(False,True, gtk.STOCK_EDIT, self.edit_button_clicked),
(True, True, gtk.STOCK_REMOVE, self.del_button_clicked),
]
else:
itemlist = [
(True, gtk.STOCK_ADD, self.add_button_clicked),
(True, gtk.STOCK_EDIT, self.edit_button_clicked),
(True, gtk.STOCK_REMOVE, self.del_button_clicked),
(True, True, gtk.STOCK_ADD, self.add_button_clicked),
(False,True, gtk.STOCK_EDIT, self.edit_button_clicked),
(True, True, gtk.STOCK_REMOVE, self.del_button_clicked),
]
return itemlist
def right_click(self, obj, event):
menu = gtk.Menu()
for (image, title, func) in self.get_popup_menu_items():
for (needs_write_access, image, title, func) in self.get_popup_menu_items():
if image:
item = gtk.ImageMenuItem(stock_id=title)
else:
item = gtk.MenuItem(title)
item.connect('activate', func)
if needs_write_access and self.dbstate.db.readonly:
item.set_sensitive(False)
item.show()
menu.append(item)
menu.popup(None, None, None, event.button, event.time)
@@ -148,7 +150,8 @@ class EmbeddedList(ButtonTab):
[self._DND_TYPE.target()],
gtk.gdk.ACTION_COPY)
self.tree.connect('drag_data_get', self.drag_data_get)
self.tree.connect('drag_data_received', self.drag_data_received)
if not self.dbstate.db.readonly:
self.tree.connect('drag_data_received', self.drag_data_received)
def drag_data_get(self, widget, context, sel_data, info, time):
"""

View File

@@ -93,10 +93,10 @@ class GalleryTab(ButtonTab):
def right_click(self, obj, event):
itemlist = [
(True, gtk.STOCK_ADD, self.add_button_clicked),
(False, _('Share'), self.edit_button_clicked),
(True, gtk.STOCK_EDIT, self.edit_button_clicked),
(True, gtk.STOCK_REMOVE, self.del_button_clicked),
(True, True, gtk.STOCK_ADD, self.add_button_clicked),
(True, False, _('Share'), self.edit_button_clicked),
(False,True, gtk.STOCK_EDIT, self.edit_button_clicked),
(True, True, gtk.STOCK_REMOVE, self.del_button_clicked),
]
menu = gtk.Menu()
@@ -115,12 +115,14 @@ class GalleryTab(ButtonTab):
item.show()
menu.append(item)
for (image, title, func) in itemlist:
for (needs_write_access, image, title, func) in itemlist:
if image:
item = gtk.ImageMenuItem(stock_id=title)
else:
item = gtk.MenuItem(title)
item.connect('activate', func)
if needs_write_access and self.dbstate.db.readonly:
item.set_sensitive(False)
item.show()
menu.append(item)
menu.popup(None, None, None, event.button, event.time)
@@ -284,7 +286,8 @@ class GalleryTab(ButtonTab):
[self._DND_TYPE.target()],
gtk.gdk.ACTION_COPY)
self.iconlist.connect('drag_data_get', self.drag_data_get)
self.iconlist.connect('drag_data_received', self.drag_data_received)
if not self.dbstate.db.readonly:
self.iconlist.connect('drag_data_received', self.drag_data_received)
def drag_data_get(self, widget, context, sel_data, info, time):
"""
@@ -435,4 +438,3 @@ class GalleryTab(ButtonTab):
returns the index of the object within the associated data
"""
return self.get_data().index(obj)

View File

@@ -76,10 +76,10 @@ class NameEmbedList(EmbeddedList):
def get_popup_menu_items(self):
return [
(True, gtk.STOCK_ADD, self.add_button_clicked),
(True, gtk.STOCK_EDIT, self.edit_button_clicked),
(True, gtk.STOCK_REMOVE, self.del_button_clicked),
(False, _('Set as default name'), self.name_button_clicked),
(True, True, gtk.STOCK_ADD, self.add_button_clicked),
(False,True, gtk.STOCK_EDIT, self.edit_button_clicked),
(True, True, gtk.STOCK_REMOVE, self.del_button_clicked),
(True, False, _('Set as default name'), self.name_button_clicked),
]
def name_button_clicked(self, obj):