mirror of
https://github.com/aclist/dztui.git
synced 2026-08-28 10:47:15 +02:00
chore: add untracked crumbs file
This commit is contained in:
parent
e33ae42526
commit
6131d66c9a
52
dzgui/views/components/crumbs.py
Normal file
52
dzgui/views/components/crumbs.py
Normal file
@ -0,0 +1,52 @@
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from dzgui.const.enum import NotebookPage
|
||||
from dzgui.util.strings import label_main_menu
|
||||
from dzgui.util.format import embolden
|
||||
|
||||
import gi
|
||||
|
||||
gi.require_version("Gtk", "3.0")
|
||||
from gi.repository import Gtk, GLib, Gdk, GObject, Pango # noqa E402
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from dzgui.controllers.mc import Controller
|
||||
from dzgui.views.base import Notebook
|
||||
|
||||
|
||||
class Breadcrumbs(Gtk.Label):
|
||||
def __init__(self, controller: "Controller") -> None:
|
||||
super().__init__(halign=Gtk.Align.START)
|
||||
|
||||
crumbs = embolden(label_main_menu)
|
||||
self.set_markup(crumbs)
|
||||
|
||||
notebook = controller.mediator.notebook
|
||||
servers = controller.mediator.servers.notebook
|
||||
notebook.connect_after("switch-page", self._on_notebook_page_changed)
|
||||
servers.connect_after("switch-page", self._on_server_tab_changed)
|
||||
|
||||
def _on_server_tab_changed(
|
||||
self, notebook: "Notebook", page: Gtk.Widget, index: int
|
||||
) -> None:
|
||||
label = notebook.get_tab_label_text(page)
|
||||
self.set_server_crumbs(label)
|
||||
|
||||
def _on_notebook_page_changed(
|
||||
self, notebook: "Notebook", page: Gtk.Widget, index: int
|
||||
) -> None:
|
||||
enum = notebook.get_page_by_enum()
|
||||
if enum == NotebookPage.SERVERS:
|
||||
label = page.get_current_tab_text()
|
||||
self.set_server_crumbs(label)
|
||||
else:
|
||||
crumbs = enum.dict["crumbs"]
|
||||
self.set_crumbs(crumbs)
|
||||
|
||||
def set_server_crumbs(self, crumbs: str) -> None:
|
||||
# TODO: strings
|
||||
self.set_crumbs("Servers > " + crumbs)
|
||||
|
||||
def set_crumbs(self, crumbs: str) -> None:
|
||||
text = embolden(crumbs)
|
||||
self.set_markup(text)
|
||||
16
scripts/untracked.py
Normal file
16
scripts/untracked.py
Normal file
@ -0,0 +1,16 @@
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
cmd = ["git", "ls-files", "--others", "--exclude-standard"]
|
||||
result = subprocess.Popen(
|
||||
cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True
|
||||
)
|
||||
with open(".gitignore", "r") as f:
|
||||
ignored = [line.rstrip() for line in f]
|
||||
|
||||
untracked = [os.path.basename(line.rstrip()) for line in result.stdout]
|
||||
for file in untracked:
|
||||
if not any(file in item for item in ignored):
|
||||
print(f"File '{file}' is untracked")
|
||||
sys.exit(1)
|
||||
Loading…
Reference in New Issue
Block a user