SL-323: add icon support for macs, text flow in Tkinter windows
parent
4a124b8b9d
commit
3e55d8c77a
|
|
@ -767,6 +767,12 @@ class Darwin_i386_Manifest(ViewerManifest):
|
|||
self.path("uk.lproj")
|
||||
self.path("zh-Hans.lproj")
|
||||
|
||||
#VMP icons
|
||||
if self.prefix("vmp_icons"):
|
||||
self.path("*.png")
|
||||
self.path("*.gif")
|
||||
self.end_prefix("vmp_icons")
|
||||
|
||||
def path_optional(src, dst):
|
||||
"""
|
||||
For a number of our self.path() calls, not only do we want
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 1.3 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.4 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 960 B |
Binary file not shown.
|
After Width: | Height: | Size: 2.3 KiB |
|
|
@ -50,7 +50,7 @@ class InstallerUserMessage(tk.Tk):
|
|||
#Linden standard green color, from Marketing
|
||||
linden_green = "#487A7B"
|
||||
|
||||
def __init__(self, text="", title="", width=500, height=200, icon_name = None, icon_path = None):
|
||||
def __init__(self, text="", title="", width=500, height=200, wraplength = 400, icon_name = None, icon_path = None):
|
||||
tk.Tk.__init__(self)
|
||||
self.grid()
|
||||
self.title(title)
|
||||
|
|
@ -71,7 +71,8 @@ class InstallerUserMessage(tk.Tk):
|
|||
|
||||
#find a few things
|
||||
self.script_dir = os.path.dirname(os.path.realpath(__file__))
|
||||
self.icon_dir = os.path.abspath(os.path.join(self.script_dir, 'icons'))
|
||||
self.contents_dir = os.path.dirname(self.script_dir)
|
||||
self.icon_dir = os.path.abspath(os.path.join(self.contents_dir, 'Resources/vmp_icons'))
|
||||
|
||||
#finds the icon and creates the widget
|
||||
self.find_icon(icon_path, icon_name)
|
||||
|
|
@ -104,6 +105,7 @@ class InstallerUserMessage(tk.Tk):
|
|||
if not icon_path:
|
||||
icon_path = self.icon_dir
|
||||
icon_path = os.path.join(icon_path, icon_name)
|
||||
print icon_path
|
||||
if os.path.exists(icon_path):
|
||||
icon = tk.PhotoImage(file=icon_path)
|
||||
self.image_label = tk.Label(image = icon)
|
||||
|
|
@ -222,12 +224,16 @@ class InstallerUserMessage(tk.Tk):
|
|||
self.check_scheduler()
|
||||
|
||||
def check_scheduler(self):
|
||||
if self.value < self.progress["maximum"]:
|
||||
self.check_queue()
|
||||
self.id = self.after(100, self.check_scheduler)
|
||||
else:
|
||||
#prevent a race condition between polling and the widget destruction
|
||||
self.after_cancel(self.id)
|
||||
try:
|
||||
if self.value < self.progress["maximum"]:
|
||||
self.check_queue()
|
||||
self.id = self.after(100, self.check_scheduler)
|
||||
else:
|
||||
#prevent a race condition between polling and the widget destruction
|
||||
self.after_cancel(self.id)
|
||||
except tk.TclError:
|
||||
#we're already dead, just die quietly
|
||||
pass
|
||||
|
||||
def check_queue(self):
|
||||
while self.queue.qsize():
|
||||
|
|
@ -264,7 +270,7 @@ class ThreadedClient(threading.Thread):
|
|||
|
||||
if __name__ == "__main__":
|
||||
#When run as a script, just test the InstallUserMessage.
|
||||
#To proceed with the test, close the first window, select on the second. The third will close by itself.
|
||||
#To proceed with the test, close the first window, select on the second and fourth. The third will close by itself.
|
||||
import sys
|
||||
import tempfile
|
||||
|
||||
|
|
@ -278,6 +284,8 @@ if __name__ == "__main__":
|
|||
|
||||
#basic message window test
|
||||
frame2 = InstallerUserMessage(text = "Something in the way she moves....", title = "Beatles Quotes for 100", icon_name="head-sl-logo.gif")
|
||||
print frame2.contents_dir
|
||||
print frame2.icon_dir
|
||||
frame2.basic_message(message = "...attracts me like no other.")
|
||||
print "Destroyed!"
|
||||
sys.stdout.flush()
|
||||
|
|
|
|||
|
|
@ -452,6 +452,8 @@ def update_manager(cli_overrides = None):
|
|||
if 'set' in cli_overrides.keys():
|
||||
if 'UpdaterMaximumBandwidth' in cli_overrides['set'].keys():
|
||||
chunk_size = cli_overrides['set']['UpdaterMaximumBandwidth']
|
||||
else:
|
||||
chunk_size = 1024
|
||||
else:
|
||||
chunk_size = 1024
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue