예제 #1
0
    def build_grid(self):
        permissions_header = Util.create_label("<big>PERMISSIONS</big>",
                                        align=Gtk.Align.START)
        permissions_header.set_use_markup(True)
        self.attach(permissions_header, 0, 0, 1, 1)

        # create attribute labels
        owner_label = Util.create_label("Owner:")
        group_label = Util.create_label("Group:")
        perms_label = Util.create_info_label(
                            Util.create_perm_str(self._filestat.st_mode),
                            align=Gtk.Align.END)

        # create attribute values
        owner = Util.create_info_label(self._owner_name)
        group = Util.create_info_label(self._group_name)

        # Entry box
        perms_entry = Gtk.Entry.new()
        perms_entry.set_max_length(3)
        perms_entry.set_width_chars(3)
        perms_entry.set_text(Util.create_777_format(self._filestat.st_mode))
        perms_entry.connect("changed", self.on_perms_changed, perms_label)

        self.attach(owner_label, 0, 1, 1, 1)
        self.attach(group_label, 0, 2, 1, 1)
        self.attach(perms_label, 0, 3, 1, 1)
        self.attach(owner, 1, 1, 1, 1)
        self.attach(group, 1, 2, 1, 1)
        self.attach(perms_entry, 1, 3, 1, 1)
예제 #2
0
    def generate_git_info(self, grid, filepath):
        repo = Repository(filepath)

        vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=5)

        git_label = Util.create_label("<big>Git Repository Information</big>",
                                    align=Gtk.Align.START)
        git_label.set_use_markup(True)
        vbox.pack_start(git_label, False, False, 0)

        # Current branch name
        cur_branch_hbox = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=5)
        cur_branch_label = Util.create_label("Current Branch: ")
        cur_branch_name = Util.create_info_label(repo.get_cur_branch())
        cur_branch_hbox.pack_start(cur_branch_label, False, False, 1)
        cur_branch_hbox.pack_start(cur_branch_name, False, False, 1)
        vbox.pack_start(cur_branch_hbox, False, False, 1)

        # branch list combo box
        branch_hbox = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=5)
        branches_label = Util.create_label("All Branches: ")
        branch_hbox.pack_start(branches_label, False, False, 1)
        branch_combo = Gtk.ComboBox.new_with_model(repo.branch_list_store())
        renderer_text = Gtk.CellRendererText()
        branch_combo.pack_start(renderer_text, True)
        branch_combo.add_attribute(renderer_text, "text", 0)
        branch_hbox.pack_start(branch_combo, False, False, 1)
        vbox.pack_start(branch_hbox, False, False, 1)

        # total commits
        count_hbox = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=5)
        count_label = Util.create_label("Total Commits:")
        count_hbox.pack_start(count_label, False, False, 1)
        count_entry = Gtk.Entry()
        count_entry. set_max_length(4)
        count_entry.set_width_chars(4)
        count_entry.set_text(str(repo.commit_count()))
        count_entry.set_editable(False)
        count_hbox.pack_start(count_entry, False, False, 1)
        vbox.pack_start(count_hbox, False, False, 1)

        # status and branch creation button
        git_button_box = Gtk.ButtonBox(Gtk.Orientation.HORIZONTAL)
        git_button_box.set_layout(Gtk.ButtonBoxStyle.START)
        status_btn = Gtk.Button(label="Git Status")
        create_branch_btn = Gtk.Button.new_with_label("Create Branch")
        status_btn.connect("clicked", self.create_git_status_tab, repo)
        create_branch_btn.connect("clicked", self.on_click_create_branch, repo)
        git_button_box.pack_start(status_btn, False, False, 0)
        git_button_box.pack_start(create_branch_btn, False, False, 0)
        vbox.pack_start(git_button_box, False, False, 0)

        # add vbox to the grid
        grid.attach(vbox, 0, 4, 1, 1)
예제 #3
0
    def create_grid(self):
        general_header = Util.create_label("<big>GENERAL</big>",
                                        align=Gtk.Align.START)
        general_header.set_use_markup(True)

        self.attach(general_header, 0, 0, 1, 1)

        # create attribute labels
        filename_label = Util.create_label("Name:")
        filesize_label = Util.create_label("Filesize:")
        location_label = Util.create_label("Location:")
        last_modified_label = Util.create_label("Last Modified:")
        last_access_label = Util.create_label("Last Access:")

        # create attribute values
        filename = Util.create_info_label(os.path.basename(self._filepath))
        filesize = self.file_or_folder_size_widget()
        location = Util.create_info_label(os.path.dirname(self._filepath), ellipsize=True)
        last_modified = Util.create_info_label(time.ctime(self._filestat.st_mtime))
        last_access = Util.create_info_label(time.ctime(self._filestat.st_atime))

        # add all widgets to the grid
        self.attach(filename_label, 0, 1, 1, 1)
        self.attach(filename, 1, 1, 1, 1)
        self.attach(filesize_label, 0, 2, 1, 1)
        self.attach(filesize, 1, 2, 1, 1)
        self.attach(location_label, 0, 3, 1, 1)
        self.attach(location, 1, 3, 1, 1)
        self.attach(last_modified_label, 0, 4, 1, 1)
        self.attach(last_modified, 1, 4, 1, 1)
        self.attach(last_access_label, 0, 5, 1, 1)
        self.attach(last_access, 1, 5, 1, 1)
예제 #4
0
    def __init__(self, filepath, index_manager):
        Gtk.Box.__init__(self)
        self.set_orientation(Gtk.Orientation.VERTICAL)
        self.set_spacing(3)

        self._filepath = filepath
        self._index_manager = index_manager

        permissions_header = Util.create_label("<big>TAGS</big>",
                                        align=Gtk.Align.START)
        permissions_header.set_use_markup(True)
        self.pack_start(permissions_header, False, False, 0)

        add_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=5)
        tag_entry = Gtk.Entry()
        add_tag_button = Gtk.Button(label="Add Tag")
        add_tag_button.connect("clicked", self.on_clicked_add_tag, (filepath, tag_entry))
        add_box.pack_start(tag_entry, False, False, 0)
        add_box.pack_start(add_tag_button, False, False, 0)
        self.pack_start(add_box, False, False, 0)

        self._tags_container = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=2)
        self.pack_start(self._tags_container, False, False, 0)
        self.show_all_tags()