From e72f44ed85ab4b6112063c6e32b7e6a15949a1df Mon Sep 17 00:00:00 2001 From: Blake Harnden <32446120+bharnden@users.noreply.github.com> Date: Tue, 17 Dec 2019 11:35:30 -0800 Subject: [PATCH] updated canvas wallpaper selection to use common image chooser function --- coretk/coretk/dialogs/canvaswallpaper.py | 12 +++--------- coretk/coretk/dialogs/customnodes.py | 3 ++- coretk/coretk/dialogs/nodeconfig.py | 3 ++- coretk/coretk/widgets.py | 7 +++---- 4 files changed, 10 insertions(+), 15 deletions(-) diff --git a/coretk/coretk/dialogs/canvaswallpaper.py b/coretk/coretk/dialogs/canvaswallpaper.py index 923e4d5f..570bfa08 100644 --- a/coretk/coretk/dialogs/canvaswallpaper.py +++ b/coretk/coretk/dialogs/canvaswallpaper.py @@ -3,12 +3,13 @@ set wallpaper """ import logging import tkinter as tk -from tkinter import filedialog, ttk +from tkinter import ttk from coretk.appconfig import BACKGROUNDS_PATH from coretk.dialogs.dialog import Dialog from coretk.images import Images from coretk.themes import PADX, PADY +from coretk.widgets import image_chooser class CanvasBackgroundDialog(Dialog): @@ -126,14 +127,7 @@ class CanvasBackgroundDialog(Dialog): button.grid(row=0, column=1, sticky="ew") def click_open_image(self): - filename = filedialog.askopenfilename( - initialdir=str(BACKGROUNDS_PATH), - title="Open", - filetypes=( - ("images", "*.gif *.jpg *.png *.bmp *pcx *.tga ..."), - ("All Files", "*"), - ), - ) + filename = image_chooser(self, BACKGROUNDS_PATH) if filename: self.filename.set(filename) self.draw_preview() diff --git a/coretk/coretk/dialogs/customnodes.py b/coretk/coretk/dialogs/customnodes.py index 7effd11a..6416d24a 100644 --- a/coretk/coretk/dialogs/customnodes.py +++ b/coretk/coretk/dialogs/customnodes.py @@ -4,6 +4,7 @@ from pathlib import Path from tkinter import ttk from coretk import nodeutils +from coretk.appconfig import ICONS_PATH from coretk.dialogs.dialog import Dialog from coretk.images import Images from coretk.nodeutils import NodeDraw @@ -179,7 +180,7 @@ class CustomNodesDialog(Dialog): self.image_button.config(image="") def click_icon(self): - file_path = image_chooser(self) + file_path = image_chooser(self, ICONS_PATH) if file_path: image = Images.create(file_path, nodeutils.ICON_SIZE) self.image = image diff --git a/coretk/coretk/dialogs/nodeconfig.py b/coretk/coretk/dialogs/nodeconfig.py index 1137d6b9..4e5bc864 100644 --- a/coretk/coretk/dialogs/nodeconfig.py +++ b/coretk/coretk/dialogs/nodeconfig.py @@ -4,6 +4,7 @@ from functools import partial from tkinter import ttk from coretk import nodeutils +from coretk.appconfig import ICONS_PATH from coretk.dialogs.dialog import Dialog from coretk.dialogs.emaneconfig import EmaneModelDialog from coretk.images import Images @@ -209,7 +210,7 @@ class NodeConfigDialog(Dialog): dialog.show() def click_icon(self): - file_path = image_chooser(self) + file_path = image_chooser(self, ICONS_PATH) if file_path: self.image = Images.create(file_path, nodeutils.ICON_SIZE) self.image_button.config(image=self.image) diff --git a/coretk/coretk/widgets.py b/coretk/coretk/widgets.py index 461cb31a..6567ca75 100644 --- a/coretk/coretk/widgets.py +++ b/coretk/coretk/widgets.py @@ -5,7 +5,6 @@ from tkinter import filedialog, font, ttk from core.api.grpc import core_pb2 from coretk import themes -from coretk.appconfig import ICONS_PATH from coretk.themes import FRAME_PAD, PADX, PADY INT_TYPES = { @@ -239,11 +238,11 @@ class Spinbox(ttk.Entry): self.tk.call(self._w, "set", value) -def image_chooser(parent): +def image_chooser(parent, path): return filedialog.askopenfilename( parent=parent, - initialdir=str(ICONS_PATH), - title="Select Icon", + initialdir=str(path), + title="Select", filetypes=( ("images", "*.gif *.jpg *.png *.bmp *pcx *.tga ..."), ("All Files", "*"),