Esempio n. 1
0
    def __init__(self, parent):
        log.debug("Adding a new button...")
        Gtk.Dialog.__init__(self)
        self.parent = parent

        self.set_modal(True)
        self.add_button(button_text="OK", response_id=Gtk.ResponseType.OK)
        self.add_button(button_text="CANCEL",
                        response_id=Gtk.ResponseType.CANCEL)
        self.set_transient_for(parent)
        self.set_default_size(450, 350)

        box = self.get_content_area()
        grid = Gtk.Grid(
            orientation=Gtk.Orientation.VERTICAL,
            hexpand=True,
            column_spacing=10,
            row_spacing=10,
        )

        self.entry = Gtk.Entry()
        self.entry.set_placeholder_text("Folder name")
        self.entry.set_text("")

        self.save_button = Gtk.Button(label="Save")
        self.save_button.connect("clicked", self.on_save)

        grid.add(self.entry)
        grid.add(self.save_button)

        box.add(grid)

        self.show_all()
Esempio n. 2
0
def change_button_grid(current_position, destination):

    log.debug(f"Switch to the other branch from {current_position} to  {destination}")
    snippets = getattr(__, "Snippets")

    __.LevelIndicator.set_text(os.path.basename(destination))
    snippets.goto(destination)
Esempio n. 3
0
    def initialize(self, tree: dict, root: str):
        log.debug(f"Initializing snippets folder: {root}")
        self.tree = tree
        self.root = root
        self.current_level = root

        for name, grid in self.tree.items():
            self.add_named(grid, name)
Esempio n. 4
0
    def edit_on(self, button):
        self._deactive_rest_buttons(ToggleButtons.edit)

        if button.get_active():
            AppState["app"] = State.EDIT
            log.debug("Edit on")
        else:
            AppState["app"] = State.NORMAL
            log.debug("Edit off")
Esempio n. 5
0
    def remove_on(self, button):
        self._deactive_rest_buttons(ToggleButtons.remove)

        if button.get_active():
            AppState["app"] = State.REMOVE
            log.debug("Remove on")

        else:
            AppState["app"] = State.NORMAL
            log.debug("Remove off")
Esempio n. 6
0
    def on_save(self, button):
        log.debug("Saving edited button...")
        text_view_content = self.textbuffer.get_text(
            self.textbuffer.get_start_iter(), self.textbuffer.get_end_iter(),
            False)

        self.edited.name, self.edited.value = self.entry.get_text(
        ), text_view_content
        self.edited.set_label(self.edited.name)
        self.destroy()
Esempio n. 7
0
def worker():
    global line

    while True:
        folder = line.get()
        log.debug(f'Working on folder: {folder}')

        walk(folder)
        log.debug(f'Finished {folder}')
        line.task_done()
Esempio n. 8
0
    def on_goto(self, button: Gtk.Button):
        log.debug(f"Going to {self.destination}")
        state = AppState["app"]

        if state == State.REMOVE:
            log.debug("Removing button...")
            emit("remove_button", self)

        if state != State.REMOVE:
            emit("change_button_grid", self.current_position, self.destination)
Esempio n. 9
0
    def on_save(self, button):
        name = self.entry.get_text().strip()

        if not name:
            log.error("No folder name to save - aborting")
            emit("error_show_dialog",
                 "Soo, the value is missing, it's required.")
            return False

        log.debug("Adding new folder to snippets...")
        emit("add_folder", name)
        self.destroy()
Esempio n. 10
0
    def __init__(self, parent, massage):  # lol
        log.debug("Ups, an error...")
        Gtk.Dialog.__init__(self)
        self.set_modal(True)
        self.add_button(button_text="OK", response_id=Gtk.ResponseType.OK)
        self.set_transient_for(parent)
        self.set_default_size(150, 100)

        label = Gtk.Label(massage)

        box = self.get_content_area()
        box.add(label)
        self.show_all()
Esempio n. 11
0
def load_config():
    """Here we load dirty notes (first) and then the rest of the
    notes.

    On event: start_app"""
    log.debug("Loading config")

    snippets = __.Snippets

    snippets.initialize(*load_snippets())
    snippets.show_root()
    snippets.show()
    
    __.main_window.show_all()  # redraw everything
Esempio n. 12
0
    def autosave_on(self, button):
        self._deactive_rest_buttons(ToggleButtons.autosave)

        if button.get_active():
            AppState["app"] = State.AUTOSAVE
            emit("autosave_on")

            self.handle = self.clip.connect("owner-change",
                                            self.auto_clipboard)
            log.debug("Autosave on")
        else:
            emit("autosave_off")
            AppState["app"] = State.NORMAL
            self.clip.disconnect(self.handle)
            log.debug("Autosave off")
Esempio n. 13
0
    def __init__(self, parent):
        log.debug("Adding a new button...")
        Gtk.Dialog.__init__(self)
        self.parent = parent

        self.set_modal(True)
        self.add_button(button_text="OK", response_id=Gtk.ResponseType.OK)
        self.add_button(button_text="CANCEL",
                        response_id=Gtk.ResponseType.CANCEL)
        self.set_transient_for(parent)
        self.set_default_size(450, 350)

        box = self.get_content_area()
        grid = Gtk.Grid(
            orientation=Gtk.Orientation.VERTICAL,
            hexpand=True,
            column_spacing=10,
            row_spacing=10,
        )
        clipboard_contents = __.Jimmy.receive()

        self.entry = Gtk.Entry()
        self.entry.set_placeholder_text("Put name here or value will be used")
        self.entry.set_text(clipboard_contents)
        # self.entry.connect("key_press_event", self.on_key_press_event)

        self.textview = Gtk.TextView()
        self.textview.set_cursor_visible(True)
        self.textview.set_hexpand(True)
        self.textview.set_vexpand(True)
        self.textview.set_wrap_mode(Gtk.WrapMode.WORD)

        self.textbuffer = self.textview.get_buffer()
        self.textbuffer.set_text(clipboard_contents)

        self.wrapped_textview = wrap(self.textview)

        self.save_button = Gtk.Button(label="Save")
        self.save_button.connect("clicked", self.on_save)

        grid.add(self.entry)
        grid.add(self.wrapped_textview)
        grid.add(self.save_button)

        box.add(grid)

        self.show_all()
Esempio n. 14
0
    def __init__(self, parent, button_to_edit):
        log.debug("Editing a button...")
        Gtk.Dialog.__init__(self)

        self.edited = button_to_edit

        self.set_modal(True)
        self.add_button(button_text="OK", response_id=Gtk.ResponseType.OK)
        self.add_button(button_text="CANCEL",
                        response_id=Gtk.ResponseType.CANCEL)
        self.set_transient_for(parent)
        self.set_default_size(450, 350)

        box = self.get_content_area()
        grid = Gtk.Grid(
            orientation=Gtk.Orientation.VERTICAL,
            hexpand=True,
            column_spacing=10,
            row_spacing=10,
        )

        self.entry = Gtk.Entry()
        self.entry.set_text(self.edited.name)
        self.entry.connect("key_press_event", self.on_key_press_event)

        self.textview = Gtk.TextView()
        self.textview.set_cursor_visible(True)
        self.textview.set_hexpand(True)
        self.textview.set_vexpand(True)
        self.textview.set_wrap_mode(Gtk.WrapMode.WORD)

        self.textbuffer = self.textview.get_buffer()
        self.textbuffer.set_text(self.edited.value)

        self.wrapped_textview = wrap(self.textview)

        self.save_button = Gtk.Button(label="Save")
        self.save_button.connect("clicked", self.on_save)

        grid.add(self.entry)
        grid.add(self.wrapped_textview)
        grid.add(self.save_button)

        box.add(grid)

        self.show_all()
Esempio n. 15
0
    def on_save(self, button):
        name = self.entry.get_text().strip()

        value = self.textbuffer.get_text(self.textbuffer.get_start_iter(),
                                         self.textbuffer.get_end_iter(),
                                         False).strip()

        if not value:
            log.error("No value to save - aborting")
            emit("error_show_dialog",
                 "Soo, the value is missing, it's required.")
            return False

        if not name:
            name = value

        log.debug("Adding new button to a file cabinet...")
        emit("add_button", Copy(Snippet(name, value)))

        self.destroy()
Esempio n. 16
0
def main_function(config_file):
    """ create and run the application, 
    exit with the value returned by
    running the program"""

    log.debug("Initializing services...")

    import app.style  # noqa
    import copypaster.clipboard  # noqa

    from app.widgets import application  # noqa
    from copypaster.builder import builder  # noqa
    from app.config import config  # noqa

    config.load_config_file(config_file)

    log.debug("Loading Widgets usig GtkBuilder...")

    __.Builder.set_application(application)  # works without it
    __.Builder.add_from_file("copypaster/layout.glade")

    __.main_window = builder.get_object("main_window")
    __.Snippets = builder.get_object("snippets")
    __.StateButtons = builder.get_object("toolbar")
    __.PreviewLabel = builder.get_object("preview_label")
    __.LevelIndicator = builder.get_object("current_level")

    from copypaster.layout_events import Layout_events  # noqa
    __.Builder.connect_signals(Layout_events)

    log.debug("Importing stories...")
    import copypaster.stories  # noqa

    log.debug("Starting the Application...")
    exit_status = application.run(sys.argv)

    log.debug("Returning exit status value...")
    return exit_status
Esempio n. 17
0
    def on_copy(self, button):
        log.debug("Handling the button press...")
        state = AppState["app"]

        if state == State.REMOVE:
            log.debug("Removing button...")
            emit("remove_button", self)

        if state in [State.NORMAL, State.AUTOSAVE]:
            log.debug("Coping value...")
            emit("copy", button.content)
            emit("preview_content", button.content)

        if state == State.EDIT:
            log.debug("Editing button...")
            emit("edit_button", self)
Esempio n. 18
0
    def do_get_type_from_name(self, type_name):
        """
        Looks up a type by name, using the virtual function that Gtk.Builder
        has for that purpose.

        Parameters:  type_name (str) – type name to lookup
        Returns:     the GObject.GType found for type_name
                       or GObject.TYPE_INVALID if no type was found
        Return type: GObject.GType

        """
        from copypaster.widgets.containers import ButtonTree  # noqa

        if type_name == 'MainWindow':
            pass
            # return MainWindow  - in normal use, Type should be returned

        if type_name == 'ButtonTree':
            return ButtonTree

        r = Gtk.Builder.do_get_type_from_name(self, type_name)
        log.debug('GtkBuilder: => {}\t{}'.format(type_name, r))
        return r
Esempio n. 19
0
 def send(self, text):
     log.debug("Coping: {}".format(text))
     xerox.copy(text)
Esempio n. 20
0
 def receive(self):
     contents = xerox.paste()
     log.debug("Pasting: {}".format(contents))
     return contents if contents.strip() else ""
Esempio n. 21
0
def quit():
    log.debug("Quitting...")
Esempio n. 22
0
 def append(self, button):
     log.debug(f"Adding button: {button}")
     self.buttons[button._id] = button
     self.add(button)
Esempio n. 23
0
 def show_root(self):
     log.debug("Back to root")
     self.set_visible_child_name(self.root)
Esempio n. 24
0
 def clean_clipboard(self):
     log.debug("Cleaning clipboard")
     self.send("")
Esempio n. 25
0
 def add_folder(self, button):
     log.debug("Begin adding folder")
     emit("open_add_folder_dialog")
Esempio n. 26
0
 def add(self, button):
     log.debug("Begin adding button")
     emit("open_add_button_dialog")