2007-02-16 Zsolt Foldvari <zfoldvar@users.sourceforge.net>
* src/data/mainX.css: enable formatted notes on narrative web * src/plugins/NarrativeWeb.py: enable formatted notes on narrative web * src/MarkupText.py: properly reset xml generator output: fix #924 * src/ManagedWindow.py: enable accelerators in editor windows * src/Editors/_EditPrimary.py: enable accelerators in editor windows * src/Editors/_EditSecondary.py: enable accelerators in editor windows * src/Editors/_EditReference.py: enable accelerators in editor windows * src/DisplayTabs/_NoteTab.py: enable accelerators in editor windows * src/DisplayTabs/_ButtonTab.py: enable accelerators in editor windows * src/DisplayTabs/_GrampsTab.py: enable accelerators in editor windows svn: r8137
This commit is contained in:
parent
b49ef36e5d
commit
d3b383109d
12
ChangeLog
12
ChangeLog
@ -1,3 +1,15 @@
|
|||||||
|
2007-02-16 Zsolt Foldvari <zfoldvar@users.sourceforge.net>
|
||||||
|
* src/data/mainX.css: enable formatted notes on narrative web
|
||||||
|
* src/plugins/NarrativeWeb.py: enable formatted notes on narrative web
|
||||||
|
* src/MarkupText.py: properly reset xml generator output: fix #924
|
||||||
|
* src/ManagedWindow.py: enable accelerators in editor windows
|
||||||
|
* src/Editors/_EditPrimary.py: enable accelerators in editor windows
|
||||||
|
* src/Editors/_EditSecondary.py: enable accelerators in editor windows
|
||||||
|
* src/Editors/_EditReference.py: enable accelerators in editor windows
|
||||||
|
* src/DisplayTabs/_NoteTab.py: enable accelerators in editor windows
|
||||||
|
* src/DisplayTabs/_ButtonTab.py: enable accelerators in editor windows
|
||||||
|
* src/DisplayTabs/_GrampsTab.py: enable accelerators in editor windows
|
||||||
|
|
||||||
2007-02-16 Richard Taylor <rjt-gramps@thegrindstone.me.uk>
|
2007-02-16 Richard Taylor <rjt-gramps@thegrindstone.me.uk>
|
||||||
* src/ProgressDialog.py: more work on progress dialog
|
* src/ProgressDialog.py: more work on progress dialog
|
||||||
|
|
||||||
|
@ -60,7 +60,14 @@ class ButtonTab(GrampsTab):
|
|||||||
'del' : _('Remove'),
|
'del' : _('Remove'),
|
||||||
'edit' : _('Edit'),
|
'edit' : _('Edit'),
|
||||||
'share' : _('Share'),
|
'share' : _('Share'),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_ACCEL = {
|
||||||
|
'add': 'Insert',
|
||||||
|
'del': 'Delete',
|
||||||
|
'edit': '<Control>E',
|
||||||
|
'share': '<Control>S',
|
||||||
|
}
|
||||||
|
|
||||||
def __init__(self, dbstate, uistate, track, name, share_button=False):
|
def __init__(self, dbstate, uistate, track, name, share_button=False):
|
||||||
"""
|
"""
|
||||||
@ -97,6 +104,13 @@ class ButtonTab(GrampsTab):
|
|||||||
self.tooltips.set_tip(self.edit_btn, self._MSG['edit'])
|
self.tooltips.set_tip(self.edit_btn, self._MSG['edit'])
|
||||||
self.tooltips.set_tip(self.del_btn, self._MSG['del'])
|
self.tooltips.set_tip(self.del_btn, self._MSG['del'])
|
||||||
|
|
||||||
|
key, mod = gtk.accelerator_parse(self._ACCEL['add'])
|
||||||
|
self.add_btn.add_accelerator('activate', self.accel_group, key, mod, gtk.ACCEL_VISIBLE)
|
||||||
|
key, mod = gtk.accelerator_parse(self._ACCEL['edit'])
|
||||||
|
self.edit_btn.add_accelerator('activate', self.accel_group, key, mod, gtk.ACCEL_VISIBLE)
|
||||||
|
key, mod = gtk.accelerator_parse(self._ACCEL['del'])
|
||||||
|
self.del_btn.add_accelerator('activate', self.accel_group, key, mod, gtk.ACCEL_VISIBLE)
|
||||||
|
|
||||||
if share_button:
|
if share_button:
|
||||||
self.share_btn = SimpleButton(gtk.STOCK_INDEX, self.share_button_clicked)
|
self.share_btn = SimpleButton(gtk.STOCK_INDEX, self.share_button_clicked)
|
||||||
self.tooltips.set_tip(self.share_btn, self._MSG['share'])
|
self.tooltips.set_tip(self.share_btn, self._MSG['share'])
|
||||||
|
@ -73,6 +73,7 @@ class GrampsTab(gtk.HBox):
|
|||||||
self.label_container = self.build_label_widget()
|
self.label_container = self.build_label_widget()
|
||||||
|
|
||||||
# build the interface
|
# build the interface
|
||||||
|
self.accel_group = gtk.AccelGroup()
|
||||||
self.share_btn = None
|
self.share_btn = None
|
||||||
self.build_interface()
|
self.build_interface()
|
||||||
|
|
||||||
@ -158,3 +159,4 @@ class GrampsTab(gtk.HBox):
|
|||||||
can be used to add widgets to the interface.
|
can be used to add widgets to the interface.
|
||||||
"""
|
"""
|
||||||
pass
|
pass
|
||||||
|
|
@ -79,11 +79,16 @@ class NoteTab(GrampsTab):
|
|||||||
return self.buf.get_char_count() == 0
|
return self.buf.get_char_count() == 0
|
||||||
|
|
||||||
def build_interface(self):
|
def build_interface(self):
|
||||||
|
BUTTON = [(_('Italic'),gtk.STOCK_ITALIC,'<i>i</i>','<Control>I'),
|
||||||
|
(_('Bold'),gtk.STOCK_BOLD,'<b>b</b>','<Control>B'),
|
||||||
|
(_('Underline'),gtk.STOCK_UNDERLINE,'<u>u</u>','<Control>U'),
|
||||||
|
]
|
||||||
|
|
||||||
vbox = gtk.VBox()
|
vbox = gtk.VBox()
|
||||||
|
|
||||||
self.text = gtk.TextView()
|
self.text = gtk.TextView()
|
||||||
self.text.set_accepts_tab(True)
|
self.text.set_accepts_tab(True)
|
||||||
|
|
||||||
self.flowed = gtk.RadioButton(None, _('Flowed'))
|
self.flowed = gtk.RadioButton(None, _('Flowed'))
|
||||||
self.format = gtk.RadioButton(self.flowed, _('Formatted'))
|
self.format = gtk.RadioButton(self.flowed, _('Formatted'))
|
||||||
|
|
||||||
@ -112,25 +117,29 @@ class NoteTab(GrampsTab):
|
|||||||
hbox.set_border_width(6)
|
hbox.set_border_width(6)
|
||||||
hbox.pack_start(self.flowed, False)
|
hbox.pack_start(self.flowed, False)
|
||||||
hbox.pack_start(self.format, False)
|
hbox.pack_start(self.format, False)
|
||||||
|
|
||||||
vbox.pack_start(hbox, False)
|
vbox.pack_start(hbox, False)
|
||||||
|
|
||||||
self.pack_start(vbox, True)
|
self.pack_start(vbox, True)
|
||||||
|
|
||||||
self.buf = EditorBuffer()
|
self.buf = EditorBuffer()
|
||||||
self.text.set_buffer(self.buf)
|
self.text.set_buffer(self.buf)
|
||||||
tooltips = gtk.Tooltips()
|
tooltips = gtk.Tooltips()
|
||||||
for tip,stock,font in [('Italic',gtk.STOCK_ITALIC,'<i>i</i>'),
|
for tip, stock, markup, accel in BUTTON:
|
||||||
('Bold',gtk.STOCK_BOLD,'<b>b</b>'),
|
|
||||||
('Underline',gtk.STOCK_UNDERLINE,'<u>u</u>'),
|
|
||||||
]:
|
|
||||||
button = gtk.ToggleButton()
|
|
||||||
image = gtk.Image()
|
image = gtk.Image()
|
||||||
image.set_from_stock(stock, gtk.ICON_SIZE_MENU)
|
image.set_from_stock(stock, gtk.ICON_SIZE_MENU)
|
||||||
|
|
||||||
|
button = gtk.ToggleButton()
|
||||||
button.set_image(image)
|
button.set_image(image)
|
||||||
tooltips.set_tip(button, tip)
|
|
||||||
button.set_relief(gtk.RELIEF_NONE)
|
button.set_relief(gtk.RELIEF_NONE)
|
||||||
self.buf.setup_widget_from_xml(button,font)
|
tooltips.set_tip(button, tip)
|
||||||
|
|
||||||
|
self.buf.setup_widget_from_xml(button, markup)
|
||||||
|
|
||||||
|
key, mod = gtk.accelerator_parse(accel)
|
||||||
|
button.add_accelerator('activate', self.accel_group,
|
||||||
|
key, mod, gtk.ACCEL_VISIBLE)
|
||||||
|
|
||||||
hbox.pack_start(button, False)
|
hbox.pack_start(button, False)
|
||||||
|
|
||||||
if self.note_obj:
|
if self.note_obj:
|
||||||
self.empty = False
|
self.empty = False
|
||||||
self.buf.set_text(self.note_obj.get(markup=True))
|
self.buf.set_text(self.note_obj.get(markup=True))
|
||||||
|
@ -84,14 +84,24 @@ class EditPrimary(ManagedWindow.ManagedWindow):
|
|||||||
return obj.get_handle()
|
return obj.get_handle()
|
||||||
else:
|
else:
|
||||||
return id(self)
|
return id(self)
|
||||||
|
|
||||||
def _setup_notebook_tabs(self, notebook):
|
def _setup_notebook_tabs(self, notebook):
|
||||||
for child in notebook.get_children():
|
for child in notebook.get_children():
|
||||||
label = notebook.get_tab_label(child)
|
label = notebook.get_tab_label(child)
|
||||||
page_no = notebook.page_num(child)
|
page_no = notebook.page_num(child)
|
||||||
label.drag_dest_set(0, [], 0)
|
label.drag_dest_set(0, [], 0)
|
||||||
label.connect('drag_motion', self._switch_page_on_dnd,notebook,page_no)
|
label.connect('drag_motion',
|
||||||
|
self._switch_page_on_dnd,
|
||||||
|
notebook,
|
||||||
|
page_no)
|
||||||
|
try:
|
||||||
|
self.window.get_toplevel().add_accel_group(child.accel_group)
|
||||||
|
except AttributeError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
self.register_accelerator('<Control>Page_Down', notebook.next_page)
|
||||||
|
self.register_accelerator('<Control>Page_Up', notebook.prev_page)
|
||||||
|
|
||||||
def _switch_page_on_dnd(self, widget, context, x, y, time, notebook, page_no):
|
def _switch_page_on_dnd(self, widget, context, x, y, time, notebook, page_no):
|
||||||
if notebook.get_current_page() != page_no:
|
if notebook.get_current_page() != page_no:
|
||||||
notebook.set_current_page(page_no)
|
notebook.set_current_page(page_no)
|
||||||
|
@ -92,7 +92,18 @@ class EditReference(ManagedWindow.ManagedWindow):
|
|||||||
label = notebook.get_tab_label(child)
|
label = notebook.get_tab_label(child)
|
||||||
page_no = notebook.page_num(child)
|
page_no = notebook.page_num(child)
|
||||||
label.drag_dest_set(0, [], 0)
|
label.drag_dest_set(0, [], 0)
|
||||||
label.connect('drag_motion', self._switch_page_on_dnd,notebook,page_no)
|
label.connect('drag_motion',
|
||||||
|
self._switch_page_on_dnd,
|
||||||
|
notebook,
|
||||||
|
page_no)
|
||||||
|
try:
|
||||||
|
self.window.get_toplevel().add_accel_group(child.accel_group)
|
||||||
|
except AttributeError:
|
||||||
|
pass
|
||||||
|
# FIXME: Since Reference editors have two notebooks accelerators
|
||||||
|
# are not working this way!!
|
||||||
|
self.register_accelerator('<Control>Page_Down', notebook.next_page)
|
||||||
|
self.register_accelerator('<Control>Page_Up', notebook.prev_page)
|
||||||
|
|
||||||
def _switch_page_on_dnd(self, widget, context, x, y, time, notebook, page_no):
|
def _switch_page_on_dnd(self, widget, context, x, y, time, notebook, page_no):
|
||||||
if notebook.get_current_page() != page_no:
|
if notebook.get_current_page() != page_no:
|
||||||
|
@ -88,8 +88,18 @@ class EditSecondary(ManagedWindow.ManagedWindow):
|
|||||||
label = notebook.get_tab_label(child)
|
label = notebook.get_tab_label(child)
|
||||||
page_no = notebook.page_num(child)
|
page_no = notebook.page_num(child)
|
||||||
label.drag_dest_set(0, [], 0)
|
label.drag_dest_set(0, [], 0)
|
||||||
label.connect('drag_motion', self._switch_page_on_dnd,notebook,page_no)
|
label.connect('drag_motion',
|
||||||
|
self._switch_page_on_dnd,
|
||||||
|
notebook,
|
||||||
|
page_no)
|
||||||
|
try:
|
||||||
|
self.window.get_toplevel().add_accel_group(child.accel_group)
|
||||||
|
except AttributeError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
self.register_accelerator('<Control>Page_Down', notebook.next_page)
|
||||||
|
self.register_accelerator('<Control>Page_Up', notebook.prev_page)
|
||||||
|
|
||||||
def _switch_page_on_dnd(self, widget, context, x, y, time, notebook, page_no):
|
def _switch_page_on_dnd(self, widget, context, x, y, time, notebook, page_no):
|
||||||
if notebook.get_current_page() != page_no:
|
if notebook.get_current_page() != page_no:
|
||||||
notebook.set_current_page(page_no)
|
notebook.set_current_page(page_no)
|
||||||
|
@ -306,6 +306,8 @@ class ManagedWindow:
|
|||||||
...
|
...
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
self.accel_group = gtk.AccelGroup()
|
||||||
|
self.accelerators = {}
|
||||||
window_key = self.build_window_key(obj)
|
window_key = self.build_window_key(obj)
|
||||||
menu_label,submenu_label = self.build_menu_names(obj)
|
menu_label,submenu_label = self.build_menu_names(obj)
|
||||||
self._gladeobj = None
|
self._gladeobj = None
|
||||||
@ -340,10 +342,22 @@ class ManagedWindow:
|
|||||||
# On the top level: we use gramps top window
|
# On the top level: we use gramps top window
|
||||||
self.parent_window = self.uistate.window
|
self.parent_window = self.uistate.window
|
||||||
|
|
||||||
|
def register_accelerator(self, accelerator, callback, *args):
|
||||||
|
key, mod = gtk.accelerator_parse(accelerator)
|
||||||
|
self.accelerators[(key, mod)] = (callback, args)
|
||||||
|
self.accel_group.connect_group(key, mod, gtk.ACCEL_VISIBLE,
|
||||||
|
self.accel_func)
|
||||||
|
|
||||||
|
def accel_func(self, accel_group, acceleratable, keyval, modifier):
|
||||||
|
if self.accelerators.has_key((keyval, modifier)):
|
||||||
|
callback, args = self.accelerators[(keyval, modifier)]
|
||||||
|
callback(*args)
|
||||||
|
|
||||||
def set_window(self,window,title,text,msg=None):
|
def set_window(self,window,title,text,msg=None):
|
||||||
set_titles(window, title, text, msg)
|
set_titles(window, title, text, msg)
|
||||||
self.window = window
|
self.window = window
|
||||||
self.window.connect('delete-event', self.close)
|
self.window.connect('delete-event', self.close)
|
||||||
|
self.window.get_toplevel().add_accel_group(self.accel_group)
|
||||||
|
|
||||||
def build_menu_names(self,obj):
|
def build_menu_names(self,obj):
|
||||||
return ('Undefined Menu','Undefined Submenu')
|
return ('Undefined Menu','Undefined Submenu')
|
||||||
|
@ -57,9 +57,9 @@ import gtk
|
|||||||
class MarkupParser(ContentHandler):
|
class MarkupParser(ContentHandler):
|
||||||
"""A simple ContentHandler class to parse Gramps markup'ed text.
|
"""A simple ContentHandler class to parse Gramps markup'ed text.
|
||||||
|
|
||||||
Use it with xml.sax.parse() or xml.sax.parseString().
|
Use it with xml.sax.parse() or xml.sax.parseString(). A root tag, 'gramps',
|
||||||
Parsing result can be obtained via it's public attributes.
|
is required. Parsing result can be obtained via the public attributes of
|
||||||
|
the class:
|
||||||
@attr content: clean text
|
@attr content: clean text
|
||||||
@attr type: str
|
@attr type: str
|
||||||
@attr elements: list of markup elements
|
@attr elements: list of markup elements
|
||||||
@ -220,7 +220,7 @@ class MarkupWriter:
|
|||||||
|
|
||||||
def generate(self, text, elements):
|
def generate(self, text, elements):
|
||||||
# reset output and start root element
|
# reset output and start root element
|
||||||
self._output.seek(0)
|
self._output.truncate(0)
|
||||||
self._writer.startElement('gramps', self._attrs)
|
self._writer.startElement('gramps', self._attrs)
|
||||||
|
|
||||||
# split the elements to events
|
# split the elements to events
|
||||||
@ -528,7 +528,10 @@ if __name__ == '__main__':
|
|||||||
def cb(window, event):
|
def cb(window, event):
|
||||||
gtk.main_quit()
|
gtk.main_quit()
|
||||||
win.connect('delete-event', cb)
|
win.connect('delete-event', cb)
|
||||||
|
|
||||||
|
accel_group = gtk.AccelGroup()
|
||||||
|
win.add_accel_group(accel_group)
|
||||||
|
|
||||||
vbox = gtk.VBox()
|
vbox = gtk.VBox()
|
||||||
win.add(vbox)
|
win.add(vbox)
|
||||||
|
|
||||||
@ -568,10 +571,10 @@ if __name__ == '__main__':
|
|||||||
buf = EditorBuffer()
|
buf = EditorBuffer()
|
||||||
text.set_buffer(buf)
|
text.set_buffer(buf)
|
||||||
tooltips = gtk.Tooltips()
|
tooltips = gtk.Tooltips()
|
||||||
for tip,stock,font in [('Italic',gtk.STOCK_ITALIC,'<i>i</i>'),
|
for tip,stock,font,accel in [('Italic',gtk.STOCK_ITALIC,'<i>i</i>','<Control>I'),
|
||||||
('Bold',gtk.STOCK_BOLD,'<b>b</b>'),
|
('Bold',gtk.STOCK_BOLD,'<b>b</b>','<Control>B'),
|
||||||
('Underline',gtk.STOCK_UNDERLINE,'<u>u</u>'),
|
('Underline',gtk.STOCK_UNDERLINE,'<u>u</u>','<Control>U'),
|
||||||
]:
|
]:
|
||||||
button = gtk.ToggleButton()
|
button = gtk.ToggleButton()
|
||||||
image = gtk.Image()
|
image = gtk.Image()
|
||||||
image.set_from_stock(stock, gtk.ICON_SIZE_MENU)
|
image.set_from_stock(stock, gtk.ICON_SIZE_MENU)
|
||||||
@ -579,6 +582,9 @@ if __name__ == '__main__':
|
|||||||
tooltips.set_tip(button, tip)
|
tooltips.set_tip(button, tip)
|
||||||
button.set_relief(gtk.RELIEF_NONE)
|
button.set_relief(gtk.RELIEF_NONE)
|
||||||
buf.setup_widget_from_xml(button,font)
|
buf.setup_widget_from_xml(button,font)
|
||||||
|
key, mod = gtk.accelerator_parse(accel)
|
||||||
|
button.add_accelerator('activate', accel_group,
|
||||||
|
key, mod, gtk.ACCEL_VISIBLE)
|
||||||
hbox.pack_start(button, False)
|
hbox.pack_start(button, False)
|
||||||
|
|
||||||
buf.set_text('<gramps>'
|
buf.set_text('<gramps>'
|
||||||
|
@ -110,6 +110,10 @@ TD.data {
|
|||||||
padding: 1px 3em 1px 1px; /* Defines spacing between rows */
|
padding: 1px 3em 1px 1px; /* Defines spacing between rows */
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
TD.note {
|
||||||
|
padding: 1px 3em 1px 1px; /* Defines spacing between rows */
|
||||||
|
/*font-weight: bold;*/
|
||||||
|
}
|
||||||
TD.field {
|
TD.field {
|
||||||
padding: 1px 3em 1px 1px; /* Defines spacing between rows */
|
padding: 1px 3em 1px 1px; /* Defines spacing between rows */
|
||||||
/*width: 15%;*/
|
/*width: 15%;*/
|
||||||
|
@ -112,6 +112,10 @@ TD.data {
|
|||||||
padding: 3px 3em 3px 3px; /* Defines spacing between rows */
|
padding: 3px 3em 3px 3px; /* Defines spacing between rows */
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
TD.note {
|
||||||
|
padding: 3px 3em 3px 3px; /* Defines spacing between rows */
|
||||||
|
/*font-weight: bold;*/
|
||||||
|
}
|
||||||
TD.field {
|
TD.field {
|
||||||
padding: 3px 3em 3px 3px; /* Defines spacing between rows */
|
padding: 3px 3em 3px 3px; /* Defines spacing between rows */
|
||||||
/*width: 15%;*/
|
/*width: 15%;*/
|
||||||
|
@ -115,6 +115,11 @@ TD.data {
|
|||||||
padding-right: 3em;
|
padding-right: 3em;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
TD.note {
|
||||||
|
padding: 4px; /* Defines spacing between rows */
|
||||||
|
padding-right: 3em;
|
||||||
|
/*font-weight: bold;*/
|
||||||
|
}
|
||||||
TD.field {
|
TD.field {
|
||||||
padding: 4px; /* Defines spacing between rows */
|
padding: 4px; /* Defines spacing between rows */
|
||||||
padding-right: 3em;
|
padding-right: 3em;
|
||||||
|
@ -123,6 +123,14 @@ TD.data {
|
|||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
background-color: #f0ece6;
|
background-color: #f0ece6;
|
||||||
}
|
}
|
||||||
|
TD.note {
|
||||||
|
margin: 0;
|
||||||
|
padding: 4px; /* Defines spacing between rows */
|
||||||
|
padding-left: 10px;
|
||||||
|
padding-right: 3em;
|
||||||
|
/*font-weight: bold;*/
|
||||||
|
background-color: #f0ece6;
|
||||||
|
}
|
||||||
TD.field {
|
TD.field {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 4px; /* Defines spacing between rows */
|
padding: 4px; /* Defines spacing between rows */
|
||||||
|
@ -132,6 +132,11 @@ TD.data {
|
|||||||
padding-right: 3em;
|
padding-right: 3em;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
TD.note {
|
||||||
|
padding: 3px; /* Defines spacing between rows */
|
||||||
|
padding-right: 3em;
|
||||||
|
/*font-weight: bold;*/
|
||||||
|
}
|
||||||
/* float left and right */
|
/* float left and right */
|
||||||
.leftwrap {
|
.leftwrap {
|
||||||
float: left;
|
float: left;
|
||||||
|
@ -110,6 +110,8 @@ TD.field {
|
|||||||
}
|
}
|
||||||
TD.data {
|
TD.data {
|
||||||
}
|
}
|
||||||
|
TD.note {
|
||||||
|
}
|
||||||
#summaryarea TABLE.infolist TR TD {
|
#summaryarea TABLE.infolist TR TD {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
@ -158,7 +158,7 @@ class BasePage:
|
|||||||
self.graphgens = options.handler.options_dict['NWEBgraphgens']
|
self.graphgens = options.handler.options_dict['NWEBgraphgens']
|
||||||
self.use_home = self.options.handler.options_dict['NWEBhomenote'] != ""
|
self.use_home = self.options.handler.options_dict['NWEBhomenote'] != ""
|
||||||
self.page_title = ""
|
self.page_title = ""
|
||||||
self.warn_dir = True
|
self.warn_dir = True
|
||||||
|
|
||||||
def store_file(self,archive,html_dir,from_path,to_path):
|
def store_file(self,archive,html_dir,from_path,to_path):
|
||||||
if archive:
|
if archive:
|
||||||
@ -168,18 +168,18 @@ class BasePage:
|
|||||||
dirname = os.path.dirname(dest)
|
dirname = os.path.dirname(dest)
|
||||||
if not os.path.isdir(dirname):
|
if not os.path.isdir(dirname):
|
||||||
os.makedirs(dirname)
|
os.makedirs(dirname)
|
||||||
if from_path != dest:
|
if from_path != dest:
|
||||||
shutil.copyfile(from_path,dest)
|
shutil.copyfile(from_path,dest)
|
||||||
elif self.warn_dir:
|
elif self.warn_dir:
|
||||||
WarningDialog(
|
WarningDialog(
|
||||||
_("Possible destination error") + "\n" +
|
_("Possible destination error") + "\n" +
|
||||||
_("You appear to have set your target directory "
|
_("You appear to have set your target directory "
|
||||||
"to a directory used for data storage. This "
|
"to a directory used for data storage. This "
|
||||||
"could create problems with file management. "
|
"could create problems with file management. "
|
||||||
"It is recommended that you consider using "
|
"It is recommended that you consider using "
|
||||||
"a different directory to store your generated "
|
"a different directory to store your generated "
|
||||||
"web pages."))
|
"web pages."))
|
||||||
self.warn_dir = False
|
self.warn_dir = False
|
||||||
|
|
||||||
def copy_media(self,photo,store_ref=True):
|
def copy_media(self,photo,store_ref=True):
|
||||||
|
|
||||||
@ -277,7 +277,7 @@ class BasePage:
|
|||||||
obj = db.get_object_from_handle(self.footer)
|
obj = db.get_object_from_handle(self.footer)
|
||||||
if obj:
|
if obj:
|
||||||
of.write('<div class="user_footer">\n')
|
of.write('<div class="user_footer">\n')
|
||||||
of.write(obj.get_note())
|
of.write(obj.get_note(markup=True))
|
||||||
of.write('</div>\n')
|
of.write('</div>\n')
|
||||||
of.write('</body>\n')
|
of.write('</body>\n')
|
||||||
of.write('</html>\n')
|
of.write('</html>\n')
|
||||||
@ -312,7 +312,7 @@ class BasePage:
|
|||||||
obj = db.get_object_from_handle(self.header)
|
obj = db.get_object_from_handle(self.header)
|
||||||
if obj:
|
if obj:
|
||||||
of.write(' <div class="user_header">\n')
|
of.write(' <div class="user_header">\n')
|
||||||
of.write(obj.get_note())
|
of.write(obj.get_note(markup=True))
|
||||||
of.write(' </div>\n')
|
of.write(' </div>\n')
|
||||||
of.write('<div id="navheader">\n')
|
of.write('<div id="navheader">\n')
|
||||||
|
|
||||||
@ -429,7 +429,7 @@ class BasePage:
|
|||||||
if not noteobj:
|
if not noteobj:
|
||||||
return
|
return
|
||||||
format = noteobj.get_format()
|
format = noteobj.get_format()
|
||||||
text = noteobj.get()
|
text = noteobj.get(markup=True)
|
||||||
try:
|
try:
|
||||||
text = unicode(text)
|
text = unicode(text)
|
||||||
except UnicodeDecodeError:
|
except UnicodeDecodeError:
|
||||||
@ -1079,7 +1079,7 @@ class IntroductionPage(BasePage):
|
|||||||
|
|
||||||
note_obj = obj.get_note_object()
|
note_obj = obj.get_note_object()
|
||||||
if note_obj:
|
if note_obj:
|
||||||
text = note_obj.get()
|
text = note_obj.get(markup=True)
|
||||||
if note_obj.get_format():
|
if note_obj.get_format():
|
||||||
of.write('<pre>\n%s\n</pre>\n' % text)
|
of.write('<pre>\n%s\n</pre>\n' % text)
|
||||||
else:
|
else:
|
||||||
@ -1126,7 +1126,7 @@ class HomePage(BasePage):
|
|||||||
|
|
||||||
note_obj = obj.get_note_object()
|
note_obj = obj.get_note_object()
|
||||||
if note_obj:
|
if note_obj:
|
||||||
text = note_obj.get()
|
text = note_obj.get(markup=True)
|
||||||
if note_obj.get_format():
|
if note_obj.get_format():
|
||||||
of.write('<pre>\n%s\n</pre>\n' % text)
|
of.write('<pre>\n%s\n</pre>\n' % text)
|
||||||
else:
|
else:
|
||||||
@ -1345,7 +1345,7 @@ class ContactPage(BasePage):
|
|||||||
nobj = obj.get_note_object()
|
nobj = obj.get_note_object()
|
||||||
if nobj:
|
if nobj:
|
||||||
format = nobj.get_format()
|
format = nobj.get_format()
|
||||||
text = nobj.get()
|
text = nobj.get(markup=True)
|
||||||
|
|
||||||
if format:
|
if format:
|
||||||
text = u"<pre>%s</pre>" % text
|
text = u"<pre>%s</pre>" % text
|
||||||
@ -1922,12 +1922,12 @@ class IndividualPage(BasePage):
|
|||||||
of.write('<td class="data">%s</td>\n</tr>\n' % attr.get_value())
|
of.write('<td class="data">%s</td>\n</tr>\n' % attr.get_value())
|
||||||
nobj = family.get_note_object()
|
nobj = family.get_note_object()
|
||||||
if nobj:
|
if nobj:
|
||||||
text = nobj.get()
|
text = nobj.get(markup=True)
|
||||||
format = nobj.get_format()
|
format = nobj.get_format()
|
||||||
if text:
|
if text:
|
||||||
of.write('<tr><td> </td>\n')
|
of.write('<tr><td> </td>\n')
|
||||||
of.write('<td class="field">%s</td>\n' % _('Narrative'))
|
of.write('<td class="field">%s</td>\n' % _('Narrative'))
|
||||||
of.write('<td class="data">\n')
|
of.write('<td class="note">\n')
|
||||||
if format:
|
if format:
|
||||||
of.write( u"<pre>%s</pre>" % text )
|
of.write( u"<pre>%s</pre>" % text )
|
||||||
else:
|
else:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user