* 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:
@@ -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):
|
||||
|
@@ -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):
|
||||
"""
|
||||
|
@@ -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)
|
||||
|
||||
|
@@ -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):
|
||||
|
Reference in New Issue
Block a user