/usr/share/pyshared/pycocumalib/HelpWindow.py is in pycocuma 0.4.5-6-7.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | """
Help Window
"""
# Copyright (C) 2004 Henning Jacobs <henning@srcco.de>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# $Id: HelpWindow.py 92 2004-11-28 15:34:44Z henning $
from Tkinter import *
import Pmw
class HelpWindow(Pmw.Dialog):
def __init__(self, master):
Pmw.Dialog.__init__(self, master=master, title='PyCoCuMa Help',
buttons=('Close',), defaultbutton='Close')
self.master = master
self.iconbitmap(master.iconbitmap())
self.iconmask(master.iconmask())
self.text = text = Pmw.ScrolledText(self.interior(),
text_width=80, text_height=24,
text_wrap=WORD,
text_highlightthickness=0,
text_padx=5, text_pady=5,
text_font=('Helvetica', -14),
text_background='#ffffee',
text_spacing3=5)
self.text.pack(fill=BOTH, expand=1)
text.tag_config('h1', font=('Helvetica', -20, 'bold'),
justify=CENTER,
spacing3=2)
text.tag_config('h2', font=('Helvetica', -16, 'bold'),
justify=LEFT,
spacing1=10,
spacing3=5)
text.tag_config('i', font=('Helvetica', -14, 'italic'))
text.tag_config('b', font=('Helvetica', -14, 'bold'))
text.tag_config('a', foreground='#0000aa', underline=1)
def append(text, tags=None, widget=text):
parts = text.split('*')
i = 0
for s in parts:
if i % 2 == 1:
widget.insert(END, s, 'b')
else:
widget.insert(END, s, tags)
i += 1
from __version__ import __version__
append('PyCoCuMa %s Help\n' % (__version__,), 'h1')
append('Keyboard Shortcuts:', 'h2')
append("""
F1 \t switch to the 'List View' notebook page
F2 \t switch to 'Card View'
F3 \t open the contact for edit
F4 \t open the Journal window
F5 \t open the Calendar window
F6 \t open the 'Compose Letter' window
(commands above will also raise the respective window)
CTRL-O \t connect to server / open database from file
CTRL-S \t save modified contact / save modified journal entry
CTRL-F \t open 'Find Contact' dialog
CTRL-N \t find next contact
CTRL-E \t open external editor (only in text fields)
""")
append('Tips:', 'h2')
append("""
PyCoCuMa has many tool-tips (help balloons); e.g. leave the mouse cursor \
over an address-type button in 'Edit Contact' to get the meaning of the \
small symbolic images.
Double-click on a row in List View to switch to Card View.
Double-click on the card in Card View to open the contact for edit.
Double-click on a free day of the Calendar to create a new journal entry for this date.
Enter the first characters of a family name into the \
'Search/Select' textbox on the top to get a list of contacts starting with \
this family name.
To *add a category*, simply add the category to the comma-separated list \
in the 'Categories' textbox of a contact. After saving the card, the \
category will appear in the 'Filter' combobox.
To *change the sorting order* of a contact, edit the 'Sort-String' field \
provided by the 'Additional Fields..' dialog. E.g. a contact named \
'Niklas van Haarten' will be found under the letter 'v' at first; \
but by setting 'Sort-String' to 'Haarten' you can then move the card to the \
letter 'H', were you would probably expect it to be.
Install MikTeX for Windows (""")
append('http://www.miktex.org', 'a')
append(""") and add 'pdflatex' to your PATH \
environment variable in order to use 'File'->'Page View' on Windows.
Edit the variables 'url_viewer' and 'mailto_program' in '~/.pycocuma' to set \
them to your preferred web browser and mail-composer application. \
If you leave 'url_viewer' blank, PyCoCuMa will try to use your platform \
specific default web browser.
*Bug-reports, comments and suggestions are very welcome!*
Please send any bug reports to """)
append("""pycocuma-bugs@srcco.de
""", 'a')
append("""See the README file for more information.
""")
append('Last-Modification: Henning Jacobs, 2004-11-28', 'i')
text.configure(text_state=DISABLED)
self.withdraw()
_firstshow = 1
def show(self):
if self._firstshow:
self.centerWindow()
else:
self.deiconify()
self._firstshow = 0
def centerWindow(self, relx=0.5, rely=0.5):
"Center the Window on Screen"
widget = self
master = self.master
widget.update_idletasks() # Actualize geometry information
if master.winfo_ismapped():
m_width = master.winfo_width()
m_height = master.winfo_height()
m_x = master.winfo_rootx()
m_y = master.winfo_rooty()
else:
m_width = master.winfo_screenwidth()
m_height = master.winfo_screenheight()
m_x = m_y = 0
w_width = widget.winfo_reqwidth()
w_height = widget.winfo_reqheight()
x = m_x + (m_width - w_width) * relx
y = m_y + (m_height - w_height) * rely
if x+w_width > master.winfo_screenwidth():
x = master.winfo_screenwidth() - w_width
elif x < 0:
x = 0
if y+w_height > master.winfo_screenheight():
y = master.winfo_screenheight() - w_height
elif y < 0:
y = 0
widget.geometry("+%d+%d" % (x, y))
widget.deiconify() # Become visible at the desired location
if __name__ == '__main__':
tk = Tk()
win = HelpWindow(tk)
tk.mainloop()
|