Added yt_dlp directly, added rename format options, added xclip clipboard subproc, added copy name context menu option

This commit is contained in:
2022-12-02 20:00:26 -06:00
parent e4e5e08cb4
commit b84fd38523
976 changed files with 191451 additions and 6 deletions

View File

@@ -1,10 +1,13 @@
# Python imports
import os, gc, time
import os
import gc
import time
# Lib imports
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, GLib
from gi.repository import Gtk
from gi.repository import GLib
# Application imports
from .controller_data import Controller_Data
@@ -122,6 +125,8 @@ class Controller(UI, SignalsMixins, Controller_Data):
self.cut_files()
if action == "copy":
self.copy_files()
if action == "copy_name":
self.copy_name()
if action == "paste":
self.paste_files()
if action == "create":
@@ -130,6 +135,21 @@ class Controller(UI, SignalsMixins, Controller_Data):
self.save_load_session(action)
def set_to_title_case(self, widget, eve=None):
rename_widget = self.builder.get_object("new_rename_fname")
rename_widget.set_text( rename_widget.get_text().title() )
def set_to_upper_case(self, widget, eve=None):
rename_widget = self.builder.get_object("new_rename_fname")
rename_widget.set_text( rename_widget.get_text().upper() )
def set_to_lower_case(self, widget, eve=None):
rename_widget = self.builder.get_object("new_rename_fname")
rename_widget.set_text( rename_widget.get_text().lower() )
def set_to_invert_case(self, widget, eve=None):
rename_widget = self.builder.get_object("new_rename_fname")
rename_widget.set_text( rename_widget.get_text().swapcase() )
@endpoint_registry.register(rule="go_home")

View File

@@ -1,5 +1,8 @@
# Python imports
import sys, os, signal
import sys
import os
import signal
import subprocess
from dataclasses import dataclass
# Lib imports
@@ -161,3 +164,15 @@ class Controller_Data:
''' Clear children of a gtk widget. '''
for child in widget.get_children():
widget.remove(child)
def get_clipboard_data(self) -> str:
proc = subprocess.Popen(['xclip','-selection', 'clipboard', '-o'], stdout=subprocess.PIPE)
retcode = proc.wait()
data = proc.stdout.read()
return data.decode("utf-8").strip()
def set_clipboard_data(self, data: type) -> None:
proc = subprocess.Popen(['xclip','-selection','clipboard'], stdin=subprocess.PIPE)
proc.stdin.write(data.encode("utf-8"))
proc.stdin.close()
retcode = proc.wait()

View File

@@ -188,6 +188,13 @@ class FileActionSignalsMixin:
uris = self.format_to_uris(state.store, state.wid, state.tid, self.selected_files, True)
self.to_cut_files = uris
def copy_name(self):
state = self.get_current_state()
uris = self.format_to_uris(state.store, state.wid, state.tid, self.selected_files, True)
if len(uris) == 1:
file_name = uris[0].split("/")[-1]
self.set_clipboard_data(file_name)
def copy_files(self):
self.to_cut_files.clear()
state = self.get_current_state()