def _layout(self): self.container_lib = tk.Frame(self) self.lbl_lib = tk.Label(self.container_lib) self.frm_library = LibraryManagerFrame(self.container_lib) self.lbl_lib.grid(row=0, column=0, sticky=tk.NSEW) self.frm_library.grid(row=1, column=0, sticky=tk.NSEW) self.container_lib.grid_rowconfigure(1, weight=1) self.container_lib.grid_columnconfigure(0, weight=1) self.container_media = tk.Frame(self) self.lbl_media = tk.Label(self.container_media) self.frm_media = MediaManagerFrame(self.container_media) self.lbl_media.grid(row=0, column=0, sticky=tk.NSEW) self.frm_media.grid(row=1, column=0, sticky=tk.NSEW) self.container_media.grid_rowconfigure(1, weight=1) self.container_media.grid_columnconfigure(0, weight=1) self.lbl_lib.config(text='Library') self.lbl_media.config(text='Media') self.lbl_lib.config(bg='#FFFFFF', fg='#000000') self.lbl_media.config(bg='#FFFFFF', fg='#000000') self.lbl_lib.config(font=gui.font(16), anchor=tk.W) self.lbl_media.config(font=gui.font(16), anchor=tk.W) self.container_lib.grid(row=0, column=1, sticky=tk.NSEW) self.container_media.grid(row=1, column=1, sticky=tk.NSEW) self.container_lib.grid(padx=15, pady=15) self.container_media.grid(padx=15, pady=15) self.grid_columnconfigure(0, weight=1) self.grid_columnconfigure(2, weight=1)
def _layout(self): self.container_devices = tk.Frame(self) self.lbl_devices = tk.Label(self.container_devices) self.frm_devices = DrivesManagerFrame(self.container_devices) self.lbl_devices.grid(row=0, column=0, sticky=tk.NSEW) self.frm_devices.grid(row=1, column=0, sticky=tk.NSEW) self.container_devices.grid_rowconfigure(1, weight=1) self.container_devices.grid_columnconfigure(0, weight=1) self.container_raspi = tk.Frame(self) self.lbl_raspi = tk.Label(self.container_raspi) self.frm_raspi = RaspiMediaManagerFrame(self.container_raspi) self.lbl_raspi.grid(row=0, column=0, sticky=tk.NSEW) self.frm_raspi.grid(row=1, column=0, sticky=tk.NSEW) self.container_raspi.grid_rowconfigure(1, weight=1) self.container_raspi.grid_columnconfigure(0, weight=1) self.lbl_devices.config(text='Drives') self.lbl_raspi.config(text='Raspberry Pi') self.lbl_devices.config(bg='#FFFFFF', fg='#000000') self.lbl_raspi.config(bg='#FFFFFF', fg='#000000') self.lbl_devices.config(font=gui.font(16), anchor=tk.W) self.lbl_raspi.config(font=gui.font(16), anchor=tk.W) self.container_devices.grid(row=0, column=1, sticky=tk.NSEW) self.container_raspi.grid(row=1, column=1, sticky=tk.NSEW) self.container_devices.grid(padx=15, pady=15) self.container_raspi.grid(padx=15, pady=15) self.grid_columnconfigure(0, weight=1) self.grid_columnconfigure(2, weight=1)
def __init__(self, master): BaseManagerFrame.__init__(self, master) self.lbl_info_title = BaseManagerLabel(self.frm_west) self.lbl_info_path = BaseManagerLabel(self.frm_west) self.lbl_info_size = BaseManagerLabel(self.frm_west) self.lbl_info_songs = BaseManagerLabel(self.frm_west) self.lbl_path = BaseManagerLabel(self.frm_west) self.lbl_size = BaseManagerLabel(self.frm_west) self.lbl_songs = BaseManagerLabel(self.frm_west) self.lbl_info_title.grid(row=0, column=0, sticky=tk.NSEW) self.lbl_info_path.grid(row=1, column=0, sticky=tk.NSEW) self.lbl_info_size.grid(row=2, column=0, sticky=tk.NSEW) self.lbl_info_songs.grid(row=3, column=0, sticky=tk.NSEW) self.lbl_info_title.grid(rowspan=1, columnspan=2) self.lbl_info_title.grid(padx=0, pady=5) self.lbl_info_path.grid(padx=0, pady=2) self.lbl_info_songs.grid(padx=0, pady=2) self.lbl_info_size.grid(padx=0, pady=2) self.lbl_path.grid(row=1, column=1, sticky=tk.NSEW) self.lbl_size.grid(row=2, column=1, sticky=tk.NSEW) self.lbl_songs.grid(row=3, column=1, sticky=tk.NSEW) self.lbl_path.grid(padx=6, pady=0) self.lbl_size.grid(padx=6, pady=0) self.lbl_songs.grid(padx=6, pady=0) self.lbl_files = BaseManagerLabel(self.frm_east) self.btn_download = tkit.Mpi3TButton(self.frm_east) self.btn_import_songs = tkit.Mpi3TButton(self.frm_east) self.btn_import_playlists = tkit.Mpi3TButton(self.frm_east) self.btn_download.config(width=16) self.lbl_files.grid(row=0, column=0, sticky=tk.NSEW) self.btn_download.grid(row=1, column=0, sticky=tk.NSEW) self.btn_import_songs.grid(row=2, column=0, sticky=tk.NSEW) self.btn_import_playlists.grid(row=3, column=0, sticky=tk.NSEW) self.lbl_files.grid(padx=0, pady=5) self.lbl_info_title.config(text='Library Media') self.lbl_info_path.config(text='Location:') self.lbl_info_size.config(text='Total Size:') self.lbl_info_songs.config(text='Total Songs:') self.lbl_info_title.config(font=gui.font(11, 'bold')) self.lbl_info_path.config(font=gui.font(9, 'bold')) self.lbl_info_size.config(font=gui.font(9, 'bold')) self.lbl_info_songs.config(font=gui.font(9, 'bold')) self.lbl_files.config(text='Media Files') self.lbl_files.config(font=gui.font(11, 'bold')) self.btn_download.config(text='Download Songs') self.btn_import_songs.config(text='Import Songs') self.btn_import_playlists.config(text='Import Playlists')
def __init__(self, master): BaseManagerFrame.__init__(self, master) self.lbl_info_title = BaseManagerLabel(self.frm_west) self.lbl_info_name = BaseManagerLabel(self.frm_west) self.lbl_info_ppid = BaseManagerLabel(self.frm_west) self.lbl_info_date = BaseManagerLabel(self.frm_west) self.lbl_name = BaseManagerLabel(self.frm_west) self.lbl_ppid = BaseManagerLabel(self.frm_west) self.lbl_date = BaseManagerLabel(self.frm_west) self.lbl_info_title.grid(row=0, column=0, sticky=tk.NSEW) self.lbl_info_ppid.grid(row=1, column=0, sticky=tk.NSEW) self.lbl_info_date.grid(row=2, column=0, sticky=tk.NSEW) self.lbl_info_title.grid(rowspan=1, columnspan=2) self.lbl_info_title.grid(padx=0, pady=4) self.lbl_info_ppid.grid(padx=0, pady=2) self.lbl_info_date.grid(padx=0, pady=2) self.lbl_ppid.grid(row=1, column=1, sticky=tk.NSEW) self.lbl_date.grid(row=2, column=1, sticky=tk.NSEW) self.lbl_ppid.grid(padx=6, pady=1) self.lbl_date.grid(padx=6, pady=1) self.lbl_file = BaseManagerLabel(self.frm_east) self.btn_export = tkit.Mpi3TButton(self.frm_east) self.btn_import = tkit.Mpi3TButton(self.frm_east) self.btn_cnew = tkit.Mpi3TButton(self.frm_east) self.btn_save = tkit.Mpi3TButton(self.frm_east) self.btn_export.config(width=16) self.lbl_file.grid(row=0, column=0, sticky=tk.NSEW) self.btn_export.grid(row=1, column=0, sticky=tk.NSEW) self.btn_import.grid(row=2, column=0, sticky=tk.NSEW) self.btn_cnew.grid(row=3, column=0, sticky=tk.NSEW) self.btn_save.grid(row=4, column=0, sticky=tk.NSEW) self.lbl_file.grid(padx=0, pady=5) self.lbl_info_ppid.config(text='Unique ID:') self.lbl_info_date.config(text='Created:') self.lbl_info_title.config(font=gui.font(11, 'bold')) self.lbl_info_date.config(font=gui.font(9, 'bold')) self.lbl_info_ppid.config(font=gui.font(9, 'bold')) self.lbl_file.config(text='Library Files') self.lbl_file.config(font=gui.font(11, 'bold')) self.btn_export.config(text='Export') self.btn_import.config(text='Import') self.btn_cnew.config(text='Create New') self.btn_save.config(text='Save Current')
def __init__(self, master): tk.Toplevel.__init__(self, master) self.title('Batch Download') self.frm = tk.Frame(self) self.lbl_title = tk.Label(self.frm, anchor=tk.W) self.box_urls = tk.Text(self.frm) self.btn_enter = gui.tkit.Mpi3TButton(self.frm) self.btn_cancel = gui.tkit.Mpi3TButton(self.frm) self.lbl_title.config(text='Enter batch urls:') self.lbl_title.config(font=gui.font(12)) self.btn_enter.config(text='Download') self.btn_cancel.config(text='Cancel') self.lbl_title.grid(row=0, column=0, sticky=tk.NSEW) self.box_urls.grid(row=1, column=0, sticky=tk.NSEW) self.btn_enter.grid(row=2, column=0, sticky=tk.NSEW) self.btn_cancel.grid(row=2, column=1, sticky=tk.NSEW) self.lbl_title.grid(columnspan=2) self.box_urls.grid(columnspan=2) self.frm.grid(row=0, column=0, sticky=tk.NSEW) self.frm.grid(padx=10, pady=10) self.btn_enter.bind('<ButtonRelease-1>', self._on_enter) self.btn_cancel.bind('<ButtonRelease-1>', self.destroy)
def __init__(self, master): BaseManagerFrame.__init__(self, master) self.lbl_info_option = BaseManagerLabel(self.frm_east) self.btn_make_volume = tkit.Mpi3TButton(self.frm_east) self.btn_load_volume = tkit.Mpi3TButton(self.frm_east) self.lbl_make_volume = BaseManagerLabel(self.frm_east) self.lbl_load_volume = BaseManagerLabel(self.frm_east) self.lbl_info_option.grid(row=0, column=0, sticky=tk.NSEW) self.btn_make_volume.grid(row=1, column=0, sticky=tk.NSEW) self.btn_load_volume.grid(row=2, column=0, sticky=tk.NSEW) self.lbl_make_volume.grid(row=1, column=1, sticky=tk.NSEW) self.lbl_load_volume.grid(row=2, column=1, sticky=tk.NSEW) self.lbl_info_option.grid(rowspan=1, columnspan=2) self.lbl_make_volume.grid(padx=2, pady=0) self.lbl_load_volume.grid(padx=2, pady=0) self.lbl_tree = BaseManagerLabel(self.frm_west) self.frm_drives = tk.Frame(self.frm_west) self.tree_drives = RRDTreeview(self.frm_drives) self.bar_scroll = tk.Scrollbar(self.frm_drives) self.frm_drives.config(bd=1, highlightthickness=1) self.frm_drives.config(highlightbackground='#000000') self.bar_scroll.config(command=self.tree_drives.yview) self.tree_drives.config(yscrollcommand=self.bar_scroll.set) self.tree_drives.grid(row=0, column=0, sticky=tk.NSEW) self.bar_scroll.grid(row=0, column=1, sticky=tk.NSEW) self.lbl_tree.grid(row=0, column=0, sticky=tk.NSEW) self.frm_drives.grid(row=1, column=0, sticky=tk.NSEW) self.frm_drives.grid_columnconfigure(0, weight=1) self.lbl_tree.grid(padx=0, pady=5) self.lbl_info_option.config(text='Libraries') self.lbl_info_option.config(font=gui.font(9, 'bold')) self.lbl_make_volume.config(text='Create a new library') self.lbl_load_volume.config(text='Load selected library') self.btn_make_volume.config(text='Create') self.btn_load_volume.config(text='Load') self.lbl_tree.config(text='Removable Drives') self.lbl_tree.config(font=gui.font(9, 'bold')) self.btn_load_volume.state(['disabled']) self.tree_drives.bind('<ButtonRelease-1>', self._on_lclick, add=True)
def __init__(self, master): tk.Label.__init__(self, master) self.config(font=gui.font(9)) self.config(state=tk.DISABLED) self.config(bg='#FFFFFF', bd=1) self.config(highlightthickness=1) self.config(highlightbackground='#000000') self.config(relief=tk.SOLID) self.config(anchor=tk.W)
def __init__(self, master): tk.Entry.__init__(self, master) self.config(font=gui.font(9)) self.config(relief=tk.FLAT) self.cell = None, None self.update_command = lambda *ignore: None self.bind('<Tab>', self._on_tab, add=True) self.bind('<Return>', self._on_enter) self.bind('<Control-a>', self._select_all) self.bind('<Escape>', lambda *ignore: self.hide())
def _layout(self): w = self.winfo_width() / 20 h = self.winfo_height() / 20 w_label, h_label = (w * 3), (h * 3) dim_slider = (w * 15), (h * 4) pos_slider = ((w * 9), (h * 10)) pos_label = ((w * 18) + 2, (h * 10)) self.lbl_volume = tk.Label(self) self.lbl_volume.config(font=gui.font(8)) self.slider = gui.tkit.Slider(self) self.slider.draw(dim_slider, '#686868') self.slider.set_maximum(100) wnd_slide = self.create_window(pos_slider, window=self.slider) wnd_label = self.create_window(pos_label, window=self.lbl_volume) self.itemconfig(wnd_slide, width=(w * 15), height=(h * 4)) self.itemconfig(wnd_label, width=w_label, height=h_label)
def _layout(self): self.frm_options = tk.Frame(self) self.tree_progress = PytubeActionTreeview(self) self.bar_scroll = ttk.Scrollbar(self) self.tree_progress.config(yscrollcommand=self.bar_scroll.set) self.bar_scroll.config(command=self.tree_progress.yview) self.lbl_title = tk.Label(self.frm_options, anchor=tk.W) self.box_url = tk.Entry(self.frm_options) self.btn_download = gui.tkit.Mpi3TButton(self.frm_options) self.btn_batch = gui.tkit.Mpi3TButton(self.frm_options) self.lbl_title.config(font=gui.font(16)) self.lbl_title.config(text='Youtube Downloader') self.btn_download.config(text='Download') self.btn_batch.config(text='Batch') self.btn_download.config(width=10) self.btn_batch.config(width=10) self.lbl_title.grid(row=0, column=0, sticky=tk.NSEW) self.box_url.grid(row=1, column=0, sticky=tk.NSEW) self.btn_download.grid(row=1, column=1, sticky=tk.NSEW) self.btn_batch.grid(row=1, column=2, sticky=tk.NSEW) self.frm_options.grid(row=0, column=0, sticky=tk.NSEW) self.tree_progress.grid(row=1, column=0, sticky=tk.NSEW) self.bar_scroll.grid(row=1, column=1, sticky=tk.NSEW) self.frm_options.grid(padx=10, pady=10) self.tree_progress.grid_rowconfigure(0, weight=1) self.tree_progress.grid_columnconfigure(0, weight=1) self.grid_rowconfigure(1, weight=1) self.grid_columnconfigure(0, weight=1)
def _layout(self): self.pane_window = tk.PanedWindow(self, orient='horizontal') self.pane_view = tk.Frame(self.pane_window) self.btn_vlibrary = tkit.Mpi3TButton(self.pane_view) self.btn_vraspi = tkit.Mpi3TButton(self.pane_view) self.sep_buttons = tk.Frame(self.pane_view, bg='#000000', height=1) self.btn_vsongs = tkit.Mpi3TButton(self.pane_view) self.btn_vartists = tkit.Mpi3TButton(self.pane_view) self.btn_vcontain = tkit.Mpi3TButton(self.pane_view) self.sep_sidebar = tk.Frame(self.pane_view, bg='#000000', height=1) self.tree_sidebar = libtrees.CSidebarTreeview(self.pane_view) self.btn_vlibrary.config(text='Library') self.btn_vraspi.config(text='Raspi') self.btn_vsongs.config(text='Songs') self.btn_vartists.config(text='Artists') self.btn_vcontain.config(text='Playlists') self.btn_vlibrary.grid(row=0, column=0, sticky=tk.NSEW) self.btn_vraspi.grid(row=1, column=0, sticky=tk.NSEW) self.sep_buttons.grid(row=2, column=0, sticky=tk.NSEW) self.btn_vsongs.grid(row=3, column=0, sticky=tk.NSEW) self.btn_vartists.grid(row=4, column=0, sticky=tk.NSEW) self.btn_vcontain.grid(row=5, column=0, sticky=tk.NSEW) self.sep_sidebar.grid(row=6, column=0, sticky=tk.NSEW) self.tree_sidebar.grid(row=7, column=0, sticky=tk.NSEW) self.sep_buttons.grid(padx=3, pady=4) self.sep_sidebar.grid(padx=3, pady=3) self.pane_view.config(width=180) self.pane_view.grid_propagate(False) self.pane_view.grid_rowconfigure(7, weight=1) self.pane_view.grid_columnconfigure(0, weight=1) self.pane_library = tk.Frame(self.pane_window) self.frm_library = libframes.ControlFrame(self.pane_library) self.frm_library.grid(row=0, column=0, sticky=tk.NSEW) self.pane_library.grid_rowconfigure(0, weight=1) self.pane_library.grid_columnconfigure(0, weight=1) self.pane_raspi = tk.Frame(self.pane_window) self.frm_raspi = libframes.ControlFrame(self.pane_raspi) self.frm_raspi.grid(row=0, column=0, sticky=tk.NSEW) self.pane_raspi.grid_rowconfigure(0, weight=1) self.pane_raspi.grid_columnconfigure(0, weight=1) self.pane_tree = tk.Frame(self.pane_window) self.tree_songs = libtrees.AllSongTreeview(self.pane_tree) self.tree_artists = libtrees.ArtistsTreeview(self.pane_tree) self.tree_containers = libtrees.CManagerTreeview(self.pane_tree) self.tree_playlist = libtrees.PlaylistTreeview(self.pane_tree) self.bar_scroll_tree = tk.Scrollbar(self.pane_tree) self.bar_display = tk.Frame(self.pane_tree) self.lbl_name = tk.Label(self.bar_display) self.lbl_count = tk.Label(self.bar_display) self.btn_options = tkit.Mpi3TButton(self.bar_display) self.lbl_name.config(font=gui.font(20)) self.lbl_count.config(font=gui.font(11)) self.lbl_name.config(background='#FFFFFF') self.lbl_count.config(background='#FFFFFF') self.btn_options.config(text='...') self.btn_options.config(width=8) self.lbl_name.grid(row=0, column=0, sticky=tk.NS + tk.W) self.lbl_count.grid(row=1, column=0, sticky=tk.NS + tk.W) self.btn_options.grid(row=0, column=1, sticky=tk.NS + tk.E) self.lbl_name.grid(padx=10, pady=2) self.lbl_count.grid(padx=10, pady=0) self.btn_options.grid(padx=10, pady=5) self.btn_options.grid(rowspan=2) self.bar_display.config(height=80, bg='#FFFFFF') self.bar_display.grid_propagate(False) self.bar_display.grid_columnconfigure(1, weight=1) self.sep_tree = tk.Frame(self.pane_tree, bg='#000000', height=1) self.bar_display.grid(row=0, column=0, sticky=tk.NSEW) self.sep_tree.grid(row=1, column=0, sticky=tk.NSEW) self.tree_songs.grid(row=2, column=0, sticky=tk.NSEW) self.tree_artists.grid(row=2, column=0, sticky=tk.NSEW) self.tree_containers.grid(row=2, column=0, sticky=tk.NSEW) self.tree_playlist.grid(row=2, column=0, sticky=tk.NSEW) self.bar_scroll_tree.grid(row=2, column=1, sticky=tk.NS + tk.E) self.bar_display.grid(columnspan=2) self.sep_tree.grid(columnspan=2) self.tree_songs.grid_remove() self.tree_artists.grid_remove() self.tree_containers.grid_remove() self.tree_playlist.grid_remove() self.pane_tree.grid_rowconfigure(2, weight=1) self.pane_tree.grid_columnconfigure(0, weight=1) self.pane_window.add(self.pane_view) self.pane_window.config(sashwidth=3, bg='#666666') self.pane_window.paneconfig(self.pane_view, minsize=100) self.pane_window.paneconfig(self.pane_tree, minsize=200) self.pane_window.grid(sticky=tk.NSEW) self.grid_rowconfigure(0, weight=1) self.grid_columnconfigure(0, weight=1)
def _layout(self): self.frm = tk.Frame(self) self.frm_misc = tk.Frame(self.frm) self.btn_close = gui.tkit.Mpi3TButton(self.frm_misc) self.lbl_size_prog = tk.Label(self.frm_misc) self.lbl_size_prog.grid(row=0, column=0, sticky=tk.NS + tk.W) self.btn_close.grid(row=0, column=1, sticky=tk.NS + tk.E) self.frm_misc.grid_columnconfigure(0, weight=1) self.frm_info = tk.Frame(self.frm) self.lbl_title = tk.Label(self.frm_info) self.lbl_info = tk.Label(self.frm_info) self.lbl_title.grid(row=0, column=0, sticky=tk.NS + tk.W) self.lbl_info.grid(row=1, column=0, sticky=tk.NS + tk.W) self.frm_progress = tk.Frame(self.frm) self.lbl_action = tk.Label(self.frm_progress) self.lbl_percent = tk.Label(self.frm_progress) self.bar_progress = ttk.Progressbar(self.frm_progress) self.lbl_action.grid(row=0, column=0, sticky=tk.NS + tk.W) self.bar_progress.grid(row=1, column=0, sticky=tk.NSEW) self.lbl_percent.grid(row=1, column=1, sticky=tk.NS + tk.E) self.frm_progress.grid_columnconfigure(0, weight=1) self.frm_treeview = tk.Frame(self.frm, bg='#FFFFFF') self.tree_progress = FileflowActionTreeview(self.frm_treeview) self.bar_scroll = ttk.Scrollbar(self.frm_treeview) self.tree_progress.grid(row=0, column=0, sticky=tk.NSEW) self.bar_scroll.grid(row=0, column=1, sticky=tk.NSEW) self.frm_info.grid(row=0, column=0, sticky=tk.NSEW) self.frm_progress.grid(row=1, column=0, sticky=tk.NSEW) self.frm_treeview.grid(row=2, column=0, sticky=tk.NSEW) self.frm_misc.grid(row=3, column=0, sticky=tk.NSEW) self.frm_progress.grid(pady=10) self.frm_treeview.grid(pady=5) self.frm.grid(row=0, column=0, sticky=tk.NSEW) self.frm.grid(padx=15, pady=10) self.frm_treeview.grid_rowconfigure(0, weight=1) self.frm_treeview.grid_columnconfigure(0, weight=1) self.frm.grid_rowconfigure(2, weight=1) self.frm.grid_columnconfigure(0, weight=1) self.grid_rowconfigure(0, weight=1) self.grid_columnconfigure(0, weight=1) self.lbl_title.config(font=gui.font(16), anchor=tk.W) self.lbl_action.config(font=gui.font(9), anchor=tk.W) self.lbl_percent.config(font=gui.font(9), anchor=tk.W) self.lbl_size_prog.config(font=gui.font(9), anchor=tk.W) self.lbl_info.config(font=gui.font(9), anchor=tk.W) self.lbl_percent.config(text='0%') self.lbl_title.config(text='Making local file copies') self.btn_close.config(text='Close', width=20, state=tk.DISABLED) self.frm_treeview.config(highlightthickness=1, highlightbackground='#000000') self.bar_progress.config(mode='determinate') self.tree_progress.config(yscrollcommand=self.bar_scroll.set) self.bar_scroll.config(command=self.tree_progress.yview)
def _layout(self): w_unit = self.winfo_width() / 20 h_unit = self.winfo_height() / 20 def w_pos(units): return int(w_unit * units) def h_pos(units): return int(h_unit * units) def pos(wu, hu): return int(w_unit * wu), int(h_unit * hu) self.lbl_name = self.create_text(pos(10, 5), font=(gui.font(10, 'bold'))) self.lbl_artist = self.create_text(pos(10, 10), font=gui.font(8)) self.lbl_currpos = self.create_text((w_pos(4) + 2, h_pos(12)), font=gui.font(9)) self.lbl_total = self.create_text((w_pos(16) - 2, h_pos(12)), font=gui.font(9)) self.slider = gui.tkit.Slider(self) self.slider.draw(pos(13, 3), '#BCBCBC') self.icn_play = gui.icon('play') self.icn_paus = gui.icon('paus') self.btn_playpaus = gui.tkit.HoverFadeButton(self) self.btn_prev = gui.tkit.Mpi3ButtonIcon(self) self.btn_next = gui.tkit.Mpi3ButtonIcon(self) self.btn_playpaus.set_icon(self.icn_play) self.btn_playpaus.draw(pos(14, 14)) self.btn_prev.config(width=w_pos(3), height=h_pos(21)) self.btn_next.config(width=w_pos(3), height=h_pos(21)) self.btn_prev.set_icon(gui.icon('prev')) self.btn_next.set_icon(gui.icon('next')) self.btn_prev.set_theme('#D8D8D8', True) self.btn_next.set_theme('#D8D8D8', True) wnd_play = self.create_window(pos(10, 8), window=self.btn_playpaus) wnd_next = self.create_window(pos(20, 0), window=self.btn_next) wnd_prev = self.create_window(pos(0, 0), window=self.btn_prev) wnd_slid = self.create_window(pos(10, 17), window=self.slider) self.wnd_playpaus = wnd_play self.itemconfig(wnd_play, anchor=tk.CENTER, width=w_pos(14), height=h_pos(14)) self.itemconfig(wnd_next, anchor=tk.NE, width=w_pos(3), height=h_pos(21)) self.itemconfig(wnd_prev, anchor=tk.NW, width=w_pos(3), height=h_pos(21)) self.itemconfig(wnd_slid, anchor=tk.CENTER, width=w_pos(13), height=h_pos(3)) self.itemconfig(self.lbl_currpos, text='0:00') self.itemconfig(self.lbl_total, text='0:00') self.itemconfig(self.wnd_playpaus, state=tk.NORMAL) self.btn_playpaus.window_id = self.wnd_playpaus
def __init__(self, master): tk.Menu.__init__(self, master) self.config(tearoff=False) self.config(font=gui.font(9)) self.event = None
def main_menu(frame): btn_file = tk.Menubutton(frame, text='File') btn_media = tk.Menubutton(frame, text='Media') btn_raspi = tk.Menubutton(frame, text='Raspi') btn_file.menu = tk.Menu(btn_file, tearoff=False) btn_file['menu'] = btn_file.menu lib = tk.Menu(btn_file, tearoff=False) lib.add_command(label='Export') lib.add_command(label='Import') lib.add_separator() lib.add_command(label='Create New') lib.add_command(label='Save Current') lib.add_separator() lib.add_command(label='Delete') lib.entryconfig(0, command=libinter.library_saveas) lib.entryconfig(1, command=libinter.library_load) lib.entryconfig(3, command=libinter.library_new) lib.entryconfig(4, command=libinter.library_save) lib.entryconfig(6, command=lambda: print('delete library')) proj = tk.Menu(btn_file.menu, tearoff=False) proj.add_command(label='Raspi') proj.add_command(label='Manager') proj.entryconfig(0, command=lambda: print('Raspi')) proj.entryconfig(1, command=lambda: print('Manager')) btn_file.menu.add_cascade(label='Library') btn_file.menu.add_separator() btn_file.menu.add_command(label='Audio Settings') btn_file.menu.add_separator() btn_file.menu.add_cascade(label='Interface') btn_file.menu.entryconfig(0, menu=lib) btn_file.menu.entryconfig(2, command=lambda: print('audio')) btn_file.menu.entryconfig(4, menu=proj) btn_media.menu = tk.Menu(btn_media, tearoff=False) btn_media['menu'] = btn_media.menu btn_media.menu.add_command(label='Download Songs') btn_media.menu.add_command(label='Import Songs') btn_media.menu.add_command(label='Import Playlists') btn_media.menu.entryconfig(0, command=libinter.download_songs) btn_media.menu.entryconfig(1, command=libinter.import_songs) btn_media.menu.entryconfig(2, command=libinter.import_playlists) btn_raspi.menu = tk.Menu(btn_raspi, tearoff=False) btn_raspi['menu'] = btn_raspi.menu mfont = gui.font(8) lib.config(font=mfont) proj.config(font=mfont) btn_file.config(font=mfont) btn_media.config(font=mfont) btn_file.menu.config(font=mfont) btn_raspi.menu.config(font=mfont) btn_media.menu.config(font=mfont) btn_file.config(bg='#000000', fg='#FFFFFF') btn_media.config(bg='#000000', fg='#FFFFFF') btn_raspi.config(bg='#000000', fg='#FFFFFF') btn_file.grid(row=0, column=0) btn_media.grid(row=0, column=1) btn_raspi.grid(row=0, column=2)
def __init__(self, master): BaseManagerFrame.__init__(self, master) self.frm_north = tk.Frame(self) self.frm_north.config(bg='#EFF2FF') self.frm_north.config(bd=0, highlightthickness=0) self.frm_north.grid(row=0, column=0, sticky=tk.NSEW) self.frm_north.grid(padx=20, pady=10) self.lbl_info = BaseManagerLabel(self.frm_north) self.lbl_info.grid(row=0, column=0, sticky=tk.NSEW) self.lbl_info.grid(padx=0, pady=5) self.sep_frames = BaseManagerSeparator(self) self.sep_frames.grid(row=1, column=0, sticky=tk.NSEW) self.sep_frames.grid(rowspan=1, columnspan=2) self.sep_frames.grid(padx=20, pady=10) self.lbl_info_name = BaseManagerLabel(self.frm_west) self.lbl_info_path = BaseManagerLabel(self.frm_west) self.lbl_info_date = BaseManagerLabel(self.frm_west) self.lbl_info_size = BaseManagerLabel(self.frm_west) self.lbl_path = BaseManagerLabel(self.frm_west) self.lbl_date = BaseManagerLabel(self.frm_west) self.lbl_size = BaseManagerLabel(self.frm_west) self.lbl_info_name.grid(row=0, column=0, sticky=tk.NSEW) self.lbl_info_path.grid(row=1, column=0, sticky=tk.NSEW) self.lbl_info_date.grid(row=2, column=0, sticky=tk.NSEW) self.lbl_info_size.grid(row=3, column=0, sticky=tk.NSEW) self.lbl_info_name.grid(rowspan=1, columnspan=2) self.lbl_info_name.grid(padx=0, pady=5) self.lbl_info_path.grid(padx=0, pady=2) self.lbl_info_date.grid(padx=0, pady=2) self.lbl_info_size.grid(padx=0, pady=2) self.lbl_path.grid(row=1, column=1, sticky=tk.NSEW) self.lbl_date.grid(row=2, column=1, sticky=tk.NSEW) self.lbl_size.grid(row=3, column=1, sticky=tk.NSEW) self.lbl_path.grid(padx=5, pady=0) self.lbl_date.grid(padx=5, pady=0) self.lbl_size.grid(padx=5, pady=0) self.lbl_sync = BaseManagerLabel(self.frm_east) self.frm_sync = tk.Frame(self.frm_east) self.tree_sync = libtrees.CSyncTreeview(self.frm_sync) self.bar_scroll = tk.Scrollbar(self.frm_sync) self.frm_sync.config(bd=1, highlightthickness=1) self.frm_sync.config(highlightbackground='#000000') self.bar_scroll.config(command=self.tree_sync.yview) self.tree_sync.config(yscrollcommand=self.bar_scroll.set) self.tree_sync.grid(row=0, column=0, sticky=tk.NSEW) self.bar_scroll.grid(row=0, column=1, sticky=tk.NSEW) self.lbl_sync.grid(row=0, column=0, sticky=tk.NSEW) self.frm_sync.grid(row=1, column=0, sticky=tk.NSEW) self.frm_sync.grid_columnconfigure(0, weight=1) self.lbl_sync.grid(padx=0, pady=5) self.frm_west.grid(row=2, column=0, sticky=tk.NW) self.frm_east.grid(row=2, column=1, sticky=tk.NW) self.frm_south = tk.Frame(self) self.frm_south.config(bg='#EFF2FF') self.frm_south.config(bd=0, highlightthickness=0) self.frm_south.grid(row=3, column=0, sticky=tk.NSEW) self.frm_south.grid(padx=20, pady=10) self.frm_south.grid(rowspan=1, columnspan=2) self.frm_south.grid_columnconfigure(0, weight=1) self.lbl_drive = BaseManagerLabel(self.frm_south) self.btn_sync = tkit.Mpi3TButton(self.frm_south) self.disp_storage = tkit.StorageSpaceDisplay(self.frm_south) self.lbl_drive.grid(row=0, column=0, sticky=tk.NSEW) self.btn_sync.grid(row=1, column=1, sticky=tk.NSEW) self.disp_storage.grid(row=1, column=0, sticky=tk.NSEW) self.lbl_drive.grid(padx=2, pady=2) self.lbl_info.config(text='Raspi Test Library') self.lbl_info.config(font=gui.font(16, 'bold')) self.lbl_sync.config(text='Sync Media') self.lbl_sync.config(font=gui.font(11, 'bold')) self.lbl_info_name.config(text='Raspi Test Library') self.lbl_info_path.config(text='Location:') self.lbl_info_date.config(text='Created:') self.lbl_info_size.config(text='Total Size:') self.lbl_info_name.config(font=gui.font(11, 'bold')) self.lbl_info_path.config(font=gui.font(9, 'bold')) self.lbl_info_date.config(font=gui.font(9, 'bold')) self.lbl_info_size.config(font=gui.font(9, 'bold')) self.btn_sync.config(text='Sync') self.lbl_drive.config(text='RASPI (E:)') self.lbl_path.config(text='E:\\mpi3pc') self.lbl_date.config(text='2017-10-23') self.lbl_size.config(text='00.46 GB') self.display()
def __init__(self, master): tk.Label.__init__(self, master) self.config(bd=0, highlightthickness=0) self.config(bg='#EFF2FF', anchor=tk.W) self.config(font=gui.font(9))