aboutsummaryrefslogtreecommitdiff
path: root/src/helpers
diff options
context:
space:
mode:
Diffstat (limited to 'src/helpers')
-rw-r--r--src/helpers/managers.py5
-rw-r--r--src/helpers/windows.py135
2 files changed, 125 insertions, 15 deletions
diff --git a/src/helpers/managers.py b/src/helpers/managers.py
index 518762c..ca918fc 100644
--- a/src/helpers/managers.py
+++ b/src/helpers/managers.py
@@ -3,10 +3,11 @@ import os
class PreferenceManager:
- def __init__(self, default_prefs, preferences_file):
+ def __init__(self, default_prefs, preferences_file, debug=False):
self.DEFAULT_PREFS, self.preferences = default_prefs, default_prefs
self.preferences_file = preferences_file
- self.load()
+ if not debug:
+ self.load()
def load(self):
if os.path.exists(self.preferences_file):
diff --git a/src/helpers/windows.py b/src/helpers/windows.py
index 3ed578e..e4dce01 100644
--- a/src/helpers/windows.py
+++ b/src/helpers/windows.py
@@ -1,7 +1,7 @@
-import os
import tkinter as tk
-from config.defaults import ICONS_FOLDER
+from idlelib.tooltip import Hovertip
+from tkmacosx import Button
class TextyWindow(tk.Toplevel):
@@ -22,26 +22,135 @@ class TextyWindow(tk.Toplevel):
self.parent.log("Resize, Move, and Close bindings set to save preferences.")
self.config(menu=self.parent.get_menubar())
- self.set_toolbar()
+ self.draw_layout()
def on_close(self):
self.parent.destroy_window(self)
def draw_layout(self):
self.parent.log("Drawing layout")
+ self.set_toolbar()
+
+ self.parent.log("Drawing Text Editor")
+ self.text = tk.Text(
+ self,
+ undo=True,
+ autoseparators=True,
+ maxundo=-1,
+ wrap=tk.WORD,
+ font=("Menlo", 12),
+ borderwidth=0,
+ highlightthickness=0,
+ )
+ self.text.pack(side=tk.TOP, fill=tk.BOTH, expand=True)
+ self.text.focus_set()
def set_toolbar(self):
self.parent.log("Drawing Toolbar")
+ background_color = "#303030" if self.parent.theme == "dark" else "#f0f0f0"
+ foreground_color = "#f0f0f0" if self.parent.theme == "dark" else "#303030"
+
+ toolbar = tk.Frame(self, bd=1, relief=tk.RAISED, bg=background_color)
+ toolbar.pack(side=tk.TOP, fill=tk.X)
+
+ self.parent.log("Drawing Action Buttons")
+ self.draw_action_buttons(toolbar, background_color, foreground_color)
+
+ def draw_action_buttons(self, toolbar, background_color, foreground_color):
+ self.parent.log("Drawing New File Button")
+ new_btn = Button(
+ toolbar,
+ image=tk.PhotoImage(file="icons/new.png").subsample(24, 24),
+ bg=background_color,
+ bd=0,
+ borderless=True,
+ relief="flat",
+ overrelief="flat",
+ focusthickness=0,
+ bordercolor=background_color,
+ ) # New File
+ new_btn.pack(side=tk.LEFT, padx=2, pady=2)
+ Hovertip(new_btn, "New File")
+
+ self.parent.log("Drawing Open File Button")
+ save_btn = Button(
+ toolbar,
+ image=tk.PhotoImage(file="icons/save.png").subsample(24, 24),
+ bg=background_color,
+ bd=0,
+ borderless=True,
+ relief="flat",
+ overrelief="flat",
+ focusthickness=0,
+ bordercolor=background_color,
+ ) # Save File
+ save_btn.pack(side=tk.LEFT, padx=2, pady=2)
+ Hovertip(save_btn, "Save File")
+
+ self.parent.log("Drawing Spacer")
+ spacer = tk.Frame(toolbar, width=30, height=30, bg=background_color)
+ spacer.pack(side=tk.LEFT, padx=2, pady=2)
+
+ self.parent.log("Drawing Cut Button")
+ cut_btn = Button(
+ toolbar,
+ image=tk.PhotoImage(file="icons/cut.png").subsample(24, 24),
+ bg=background_color,
+ bd=0,
+ borderless=True,
+ relief="flat",
+ overrelief="flat",
+ focusthickness=0,
+ bordercolor=background_color,
+ ) # Cut
+ cut_btn.pack(side=tk.LEFT, padx=2, pady=2)
+ Hovertip(cut_btn, "Cut")
+
+ self.parent.log("Drawing Copy Button")
+ copy_btn = Button(
+ toolbar,
+ image=tk.PhotoImage(file="icons/copy.png").subsample(24, 24),
+ bg=background_color,
+ bd=0,
+ borderless=True,
+ relief="flat",
+ overrelief="flat",
+ focusthickness=0,
+ bordercolor=background_color,
+ ) # Copy
+ copy_btn.pack(side=tk.LEFT, padx=2, pady=2)
+ Hovertip(copy_btn, "Copy")
- toolbar = tk.Frame(self, bd=1, relief=tk.RAISED)
+ self.parent.log("Drawing Paste Button")
+ paste_btn = Button(
+ toolbar,
+ image=tk.PhotoImage(file="icons/paste.png").subsample(24, 24),
+ bg=background_color,
+ bd=0,
+ borderless=True,
+ relief="flat",
+ overrelief="flat",
+ focusthickness=0,
+ bordercolor=background_color,
+ ) # Paste
+ paste_btn.pack(side=tk.LEFT, padx=2, pady=2)
+ Hovertip(paste_btn, "Paste")
- # add icon 16x16 buttons
- def get_icon(name):
- return tk.PhotoImage(file=os.path.join(ICONS_FOLDER, name))
+ self.parent.log("Drawing Spacer")
+ spacer = tk.Frame(toolbar, width=30, height=30, bg=background_color)
+ spacer.pack(side=tk.LEFT, padx=2, pady=2)
- new_icon = get_icon("new.png")
- save_icon = get_icon("save.png")
- cut_icon = get_icon("cut.png")
- copy_icon = get_icon("copy.png")
- paste_icon = get_icon("paste.png")
- print_icon = get_icon("print.png")
+ self.parent.log("Drawing Print Button")
+ print_btn = Button(
+ toolbar,
+ image=tk.PhotoImage(file="icons/print.png").subsample(24, 24),
+ bg=background_color,
+ bd=0,
+ borderless=True,
+ relief="flat",
+ overrelief="flat",
+ focusthickness=0,
+ bordercolor=background_color,
+ ) # Print
+ print_btn.pack(side=tk.LEFT, padx=2, pady=2)
+ Hovertip(print_btn, "Print")