Skip to content

Commit

Permalink
V0.11.0 Added basic search window
Browse files Browse the repository at this point in the history
  • Loading branch information
domhnallmorr committed Oct 17, 2021
1 parent 81b2b28 commit d80e3e5
Show file tree
Hide file tree
Showing 7 changed files with 100 additions and 3 deletions.
Binary file modified src/__pycache__/branch_tab.cpython-39.pyc
Binary file not shown.
Binary file added src/__pycache__/search_window.cpython-39.pyc
Binary file not shown.
Binary file modified src/__pycache__/tkexplorer_icons.cpython-39.pyc
Binary file not shown.
8 changes: 7 additions & 1 deletion src/branch_tab.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import address_bar
import autoscrollbar
import explorer_backend
import search_window
import treeview_functions

class BranchTab(ttk.Frame):
Expand Down Expand Up @@ -61,11 +62,12 @@ def setup_buttons(self):
self.forward_button = ttk.Button(self, text=u'\u2192', command=self.forward_one_level, state='disabled', style='primary.TButton')
self.forward_button.grid(row=0, column=1)
ttk.Button(self, text=u'\u2191', command=self.up_one_level, style='primary.TButton').grid(row=0, column=2)
ttk.Button(self, command=self.search, image=self.mainapp.search_icon2, style='primary.Outline.TButton').grid(row=0, column=3, padx=6)

def setup_adress_bar(self):
self.address_bar_entry = address_bar.AddressBarEntry(self.mainapp, self)
#self.address_bar_entry.pack(expand=True, fill=X)
self.address_bar_entry.grid(row=0, column=3, columnspan=self.tree_colspan-1, padx=6, sticky='NSEW', pady=self.mainapp.default_pady)
self.address_bar_entry.grid(row=0, column=4, columnspan=self.tree_colspan-1, padx=6, sticky='NSEW', pady=self.mainapp.default_pady)

def setup_treeview(self):
column_names = ['Filename', 'Date Modified', 'Type', 'Size']
Expand Down Expand Up @@ -233,6 +235,10 @@ def paste_file(self):
copy_tree(os.path.join(file['Path'], file['Name']), destination)

self.update_tab(self.explorer.current_directory)

def search(self):
self.w=search_window.SearchWindow(self.mainapp, self.master, self)
self.master.wait_window(self.w.top)

class AddFoldersWindow(ttk.Frame):
def __init__(self, mainapp, master, branch_tab):
Expand Down
2 changes: 1 addition & 1 deletion src/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ def __init__(self, parent, *args, **kwargs):
self.setup_tabs()

def setup_variables(self):
self.version = '0.10.0'
self.version = '0.11.0'
self.parent.title(f"Tk Path Finder V{self.version}")
self.config_data = config_file_manager.load_config_file(self)

Expand Down
86 changes: 86 additions & 0 deletions src/search_window.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
import os
import tkinter as tk
from tkinter import *
from tkinter import ttk
from tkinter.ttk import *
from tkinter import messagebox
from tkinter import simpledialog

import autoscrollbar

class SearchWindow(ttk.Frame):
def __init__(self, mainapp, master, branch_tab):
super(SearchWindow, self).__init__()
top=self.top=Toplevel(master)
top.grab_set()
self.mainapp = mainapp
self.branch_tab = branch_tab

self.top.title(f"Search: {self.branch_tab.explorer.current_directory}")
self.directory = self.branch_tab.explorer.current_directory
self.button = 'cancel'
self.top.grid_rowconfigure(1, weight=1)

#Label_frames
self.options_frame = ttk.LabelFrame(self.top, text='Options:')
self.options_frame.grid(row=0, column=0, padx=5, pady=5, sticky='W')

self.results_frame = ttk.LabelFrame(self.top, text='Search Results:')
self.results_frame.grid(row=1, column=0, padx=5, pady=5, sticky='NS')
self.results_frame.grid_rowconfigure(1, weight=1)

# Widgets
ttk.Label(self.options_frame, text='Search Type:').grid(row=0, column=0, padx=5, pady=5)
self.search_type_combo = ttk.Combobox(self.options_frame, values=['Raw Text', 'Clickable Text'], state='readonly')
self.search_type_combo.set('Raw Text')
self.search_type_combo.config(state='disabled')
self.search_type_combo.grid(row=0, column=1, padx=5, pady=5, sticky='W')

ttk.Label(self.options_frame, text='Text:').grid(row=1, column=0, padx=5, pady=5)
self.search_bar = ttk.Entry(self.options_frame, width=50)
self.search_bar.grid(row=1, column=1, padx=5, pady=5)

ttk.Label(self.options_frame, text='File Extension:').grid(row=2, column=0, padx=5, pady=5)
self.extension_extry = ttk.Entry(self.options_frame, width=50)
self.extension_extry.grid(row=2, column=1, padx=5, pady=5)

self.python_raw_string = IntVar()
ttk.Checkbutton(self.options_frame, text="Python Raw String List Output", variable=self.python_raw_string).grid(row=1, column=2, sticky='w', padx=5, pady=5)

b1 = ttk.Button(self.options_frame, text='Search',
command=self.on_search, style='primary.TButton')
b1.grid(row=3, column=0, sticky='ew', pady=5, ipadx=10)

# Raw Text Widget
self.search_text = tk.Text(self.results_frame, width=110, height=20)
self.search_text.grid(row=1, column=0, columnspan=8, sticky='NSEW', padx=5, pady=5, ipadx=2, ipady=5)

vsb = autoscrollbar.AutoScrollbar(self.results_frame, orient="vertical", command=self.search_text.yview)
vsb.grid(row=1, column=8, sticky='NSEW')
self.search_text.configure(yscrollcommand=vsb.set)

def on_search(self):
print('searching')
#results = []
self.search_text.delete('1.0', END)

for root, dirs, files in os.walk(self.directory):
for file in files:
if self.search_bar.get() in file:
process_file = True
if self.extension_extry.get().strip() != '':
filename, file_extension = os.path.splitext(file)
if file_extension != self.extension_extry.get():
process_file = False

if process_file:
if self.python_raw_string.get() == 1:
self.search_text.insert(END, 'r"')

self.search_text.insert(END, os.path.join(root, file))

if self.python_raw_string.get() == 1:
self.search_text.insert(END, '",')

self.search_text.insert(END, '\n')

7 changes: 6 additions & 1 deletion src/tkexplorer_icons.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,12 @@ def setup_icons(mainapp):

data = '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'
mainapp.audio_icon2 = ImageTk.PhotoImage(decode_base64_image(size, data))


data = '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'

search_size = 16, 16
mainapp.search_icon2 = ImageTk.PhotoImage(decode_base64_image(search_size, data))

def decode_base64_image(size, data):

msg = base64.b64decode(data)
Expand Down

0 comments on commit d80e3e5

Please sign in to comment.