sweeCrypt-GTK/sweecrypt-gtk.py
2025-04-05 01:19:09 -07:00

31 lines
1.3 KiB
Python

import gi
import os
import sys
import sweecrypt as sc
from gi.repository import Gtk
gi.require_version("Gtk", "3.0")
UI_FILE = os.path.dirname(os.path.realpath(__file__)) + "/sweecrypt-gtk.ui"
class GUI:
def __init__(self):
self.builder = Gtk.Builder()
self.builder.add_from_file(UI_FILE)
self.builder.connect_signals(self)
window = self.builder.get_object('window')
window.show_all()
def on_window_destroy(self, window):Gtk.main_quit()
def toggle(self, checkbox):
checkbox.set_property("label", "Encode" if checkbox.get_property("active") else "Decode")
def start_clicked(self, start):
encode = self.builder.get_object('encode').get_property("active")
shift = int(self.builder.get_object('shift').get_property("value"))
inputted = self.builder.get_object('text').get_property("text")
if encode:
self.builder.get_object('text').set_property("text", sc.encrypt(inputted, shift))
self.builder.get_object('encode').set_property("active", False)
else:
self.builder.get_object('text').set_property("text", sc.decrypt(inputted, shift))
self.builder.get_object('encode').set_property("active", True)
def main():
Gtk.main()
if __name__ == "__main__":
sys.exit(main())