Skip to content
Snippets Groups Projects
Commit 3e55d8c7 authored by Glenn Glazer's avatar Glenn Glazer
Browse files

SL-323: add icon support for macs, text flow in Tkinter windows

parent 4a124b8b
No related branches found
No related tags found
No related merge requests found
......@@ -767,6 +767,12 @@ def construct(self):
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
......
indra/newview/vmp_icons/SL_Logo.gif

1.29 KiB

indra/newview/vmp_icons/SL_Logo.png

1.45 KiB

indra/newview/vmp_icons/head-sl-logo.gif

960 B

indra/newview/vmp_icons/head-sl-logo.png

2.26 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 @@ def __init__(self, text="", title="", width=500, height=200, icon_name = None, i
#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 @@ def find_icon(self, icon_path = None, icon_name = None):
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 @@ def progress_bar(self, message = None, size = 0, interval = 100, pb_queue = None
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 @@ def run(self):
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 @@ def set_and_check(frame, value):
#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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment