changed some text
This commit is contained in:
parent
deaede3bd5
commit
9d9c873fe4
33 changed files with 15 additions and 109 deletions
657
usr/share/parchlinux-kernel-manager/ui/KernelStack.py
Normal file
657
usr/share/parchlinux-kernel-manager/ui/KernelStack.py
Normal file
|
@ -0,0 +1,657 @@
|
|||
import gi
|
||||
import os
|
||||
import libs.functions as fn
|
||||
from ui.FlowBox import FlowBox, FlowBoxInstalled
|
||||
from ui.Stack import Stack
|
||||
from libs.Kernel import Kernel, InstalledKernel, CommunityKernel
|
||||
|
||||
gi.require_version("Gtk", "4.0")
|
||||
from gi.repository import Gtk, Gio, Gdk
|
||||
|
||||
base_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
|
||||
|
||||
|
||||
class KernelStack:
|
||||
def __init__(
|
||||
self,
|
||||
manager_gui,
|
||||
**kwargs,
|
||||
):
|
||||
super().__init__(**kwargs)
|
||||
self.manager_gui = manager_gui
|
||||
self.flowbox_stacks = []
|
||||
self.search_entries = []
|
||||
|
||||
def add_installed_kernels_to_stack(self, reload):
|
||||
vbox_header = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=5)
|
||||
vbox_header.set_name("vbox_header")
|
||||
|
||||
lbl_heading = Gtk.Label(xalign=0.5, yalign=0.5)
|
||||
lbl_heading.set_name("label_flowbox_message")
|
||||
lbl_heading.set_text("%s" % "Installed kernels".upper())
|
||||
|
||||
lbl_padding = Gtk.Label(xalign=0.0, yalign=0.0)
|
||||
lbl_padding.set_text(" ")
|
||||
|
||||
grid_banner_img = Gtk.Grid()
|
||||
|
||||
image_settings = Gtk.Image.new_from_file(
|
||||
os.path.join(base_dir, "images/48x48/akm-install.png")
|
||||
)
|
||||
|
||||
image_settings.set_icon_size(Gtk.IconSize.LARGE)
|
||||
image_settings.set_halign(Gtk.Align.START)
|
||||
|
||||
grid_banner_img.attach(image_settings, 0, 1, 1, 1)
|
||||
grid_banner_img.attach_next_to(
|
||||
lbl_padding,
|
||||
image_settings,
|
||||
Gtk.PositionType.RIGHT,
|
||||
1,
|
||||
1,
|
||||
)
|
||||
|
||||
grid_banner_img.attach_next_to(
|
||||
lbl_heading,
|
||||
lbl_padding,
|
||||
Gtk.PositionType.RIGHT,
|
||||
1,
|
||||
1,
|
||||
)
|
||||
|
||||
vbox_header.append(grid_banner_img)
|
||||
|
||||
label_installed_desc = Gtk.Label(xalign=0, yalign=0)
|
||||
label_installed_desc.set_text("Installed Linux kernel and modules")
|
||||
label_installed_desc.set_name("label_stack_desc")
|
||||
|
||||
label_installed_count = Gtk.Label(xalign=0, yalign=0)
|
||||
|
||||
label_installed_count.set_name("label_stack_count")
|
||||
|
||||
vbox_search_entry = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=5)
|
||||
|
||||
search_entry_installed = Gtk.SearchEntry()
|
||||
search_entry_installed.set_name("search_entry_installed")
|
||||
search_entry_installed.set_placeholder_text("Search installed kernels...")
|
||||
search_entry_installed.connect("search_changed", self.flowbox_filter_installed)
|
||||
|
||||
vbox_search_entry.append(search_entry_installed)
|
||||
|
||||
if reload is True:
|
||||
if self.manager_gui.vbox_installed_kernels is not None:
|
||||
for widget in self.manager_gui.vbox_installed_kernels:
|
||||
if widget.get_name() == "label_stack_count":
|
||||
widget.set_markup(
|
||||
"<i>%s Installed kernels</i>"
|
||||
% len(self.manager_gui.installed_kernels)
|
||||
)
|
||||
|
||||
if widget.get_name() == "scrolled_window_installed":
|
||||
self.manager_gui.vbox_installed_kernels.remove(widget)
|
||||
|
||||
scrolled_window_installed = Gtk.ScrolledWindow()
|
||||
scrolled_window_installed.set_name("scrolled_window_installed")
|
||||
scrolled_window_installed.set_policy(
|
||||
Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC
|
||||
)
|
||||
scrolled_window_installed.set_propagate_natural_height(True)
|
||||
scrolled_window_installed.set_propagate_natural_width(True)
|
||||
|
||||
self.flowbox_installed = FlowBoxInstalled(
|
||||
installed_kernels=self.manager_gui.installed_kernels,
|
||||
manager_gui=self.manager_gui,
|
||||
)
|
||||
vbox_installed_flowbox = Gtk.Box(
|
||||
orientation=Gtk.Orientation.VERTICAL, spacing=12
|
||||
)
|
||||
|
||||
# vbox_installed_flowbox.set_halign(align=Gtk.Align.FILL)
|
||||
|
||||
vbox_installed_flowbox.append(self.flowbox_installed)
|
||||
|
||||
scrolled_window_installed.set_child(vbox_installed_flowbox)
|
||||
|
||||
self.manager_gui.vbox_installed_kernels.append(scrolled_window_installed)
|
||||
|
||||
if self.manager_gui.vbox_active_installed_kernel is not None:
|
||||
self.manager_gui.vbox_installed_kernels.reorder_child_after(
|
||||
self.manager_gui.vbox_active_installed_kernel,
|
||||
scrolled_window_installed,
|
||||
)
|
||||
else:
|
||||
self.manager_gui.vbox_installed_kernels = Gtk.Box(
|
||||
orientation=Gtk.Orientation.VERTICAL, spacing=5
|
||||
)
|
||||
self.manager_gui.vbox_installed_kernels.set_name("vbox_installed_kernels")
|
||||
|
||||
self.manager_gui.vbox_active_installed_kernel = Gtk.Box(
|
||||
orientation=Gtk.Orientation.HORIZONTAL, spacing=5
|
||||
)
|
||||
self.manager_gui.vbox_active_installed_kernel.set_name("vbox_active_kernel")
|
||||
|
||||
label_active_installed_kernel = Gtk.Label(xalign=0.5, yalign=0.5)
|
||||
label_active_installed_kernel.set_name("label_active_kernel")
|
||||
label_active_installed_kernel.set_selectable(True)
|
||||
|
||||
label_active_installed_kernel.set_markup(
|
||||
"Active kernel: <b>%s</b>" % self.manager_gui.active_kernel
|
||||
)
|
||||
label_active_installed_kernel.set_halign(Gtk.Align.START)
|
||||
self.manager_gui.vbox_active_installed_kernel.append(
|
||||
label_active_installed_kernel
|
||||
)
|
||||
|
||||
scrolled_window_installed = Gtk.ScrolledWindow()
|
||||
scrolled_window_installed.set_name("scrolled_window_installed")
|
||||
scrolled_window_installed.set_policy(
|
||||
Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC
|
||||
)
|
||||
scrolled_window_installed.set_propagate_natural_height(True)
|
||||
scrolled_window_installed.set_propagate_natural_width(True)
|
||||
|
||||
label_installed_count.set_markup(
|
||||
"<i>%s Installed kernels</i>" % len(self.manager_gui.installed_kernels)
|
||||
)
|
||||
|
||||
self.flowbox_installed = FlowBoxInstalled(
|
||||
installed_kernels=self.manager_gui.installed_kernels,
|
||||
manager_gui=self.manager_gui,
|
||||
)
|
||||
vbox_installed_flowbox = Gtk.Box(
|
||||
orientation=Gtk.Orientation.VERTICAL, spacing=12
|
||||
)
|
||||
|
||||
# vbox_installed_flowbox.set_halign(align=Gtk.Align.FILL)
|
||||
|
||||
vbox_installed_flowbox.append(self.flowbox_installed)
|
||||
|
||||
scrolled_window_installed.set_child(vbox_installed_flowbox)
|
||||
|
||||
# self.manager_gui.vbox_installed_kernels.append(label_installed_title)
|
||||
self.manager_gui.vbox_installed_kernels.append(vbox_header)
|
||||
self.manager_gui.vbox_installed_kernels.append(label_installed_desc)
|
||||
self.manager_gui.vbox_installed_kernels.append(label_installed_count)
|
||||
self.manager_gui.vbox_installed_kernels.append(vbox_search_entry)
|
||||
self.manager_gui.vbox_installed_kernels.append(scrolled_window_installed)
|
||||
self.manager_gui.vbox_installed_kernels.append(
|
||||
self.manager_gui.vbox_active_installed_kernel
|
||||
)
|
||||
|
||||
self.manager_gui.stack.add_titled(
|
||||
self.manager_gui.vbox_installed_kernels, "Installed", "Installed"
|
||||
)
|
||||
|
||||
def add_official_kernels_to_stack(self, reload):
|
||||
if reload is True:
|
||||
self.flowbox_stacks.clear()
|
||||
for kernel in fn.supported_kernels_dict:
|
||||
vbox_flowbox = None
|
||||
stack_child = self.manager_gui.stack.get_child_by_name(kernel)
|
||||
|
||||
if stack_child is not None:
|
||||
for stack_widget in stack_child:
|
||||
if stack_widget.get_name() == "scrolled_window_official":
|
||||
scrolled_window_official = stack_widget
|
||||
vbox_flowbox = (
|
||||
scrolled_window_official.get_child().get_child()
|
||||
)
|
||||
|
||||
for widget in vbox_flowbox:
|
||||
widget.remove_all()
|
||||
|
||||
self.flowbox_official_kernel = FlowBox(
|
||||
kernel,
|
||||
self.manager_gui.active_kernel,
|
||||
self.manager_gui,
|
||||
"official",
|
||||
)
|
||||
self.flowbox_stacks.append(self.flowbox_official_kernel)
|
||||
|
||||
vbox_flowbox.append(self.flowbox_official_kernel)
|
||||
|
||||
# while self.manager_gui.default_context.pending():
|
||||
# self.manager_gui.default_context.iteration(True)
|
||||
else:
|
||||
for kernel in fn.supported_kernels_dict:
|
||||
self.manager_gui.vbox_kernels = Gtk.Box(
|
||||
orientation=Gtk.Orientation.VERTICAL, spacing=5
|
||||
)
|
||||
|
||||
self.manager_gui.vbox_kernels.set_name("stack_%s" % kernel)
|
||||
|
||||
hbox_sep_kernels = Gtk.Box(
|
||||
orientation=Gtk.Orientation.VERTICAL, spacing=10
|
||||
)
|
||||
|
||||
hsep_kernels = Gtk.Separator(orientation=Gtk.Orientation.VERTICAL)
|
||||
|
||||
vbox_active_kernel = Gtk.Box(
|
||||
orientation=Gtk.Orientation.HORIZONTAL, spacing=5
|
||||
)
|
||||
vbox_active_kernel.set_name("vbox_active_kernel")
|
||||
|
||||
label_active_kernel = Gtk.Label(xalign=0.5, yalign=0.5)
|
||||
label_active_kernel.set_name("label_active_kernel")
|
||||
label_active_kernel.set_selectable(True)
|
||||
label_active_kernel.set_markup(
|
||||
"Active kernel: <b>%s</b>" % self.manager_gui.active_kernel
|
||||
)
|
||||
label_active_kernel.set_halign(Gtk.Align.START)
|
||||
|
||||
label_bottom_padding = Gtk.Label(xalign=0, yalign=0)
|
||||
label_bottom_padding.set_text(" ")
|
||||
|
||||
hbox_sep_kernels.append(hsep_kernels)
|
||||
|
||||
self.flowbox_official_kernel = FlowBox(
|
||||
kernel, self.manager_gui.active_kernel, self.manager_gui, "official"
|
||||
)
|
||||
|
||||
self.flowbox_stacks.append(self.flowbox_official_kernel)
|
||||
|
||||
vbox_flowbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=0)
|
||||
vbox_flowbox.set_name("vbox_flowbox_%s" % kernel)
|
||||
# vbox_flowbox.set_halign(align=Gtk.Align.FILL)
|
||||
vbox_flowbox.append(self.flowbox_official_kernel)
|
||||
|
||||
scrolled_window_official = Gtk.ScrolledWindow()
|
||||
scrolled_window_official.set_name("scrolled_window_official")
|
||||
scrolled_window_official.set_policy(
|
||||
Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC
|
||||
)
|
||||
scrolled_window_official.set_propagate_natural_height(True)
|
||||
scrolled_window_official.set_propagate_natural_width(True)
|
||||
|
||||
label_title = Gtk.Label(xalign=0.5, yalign=0.5)
|
||||
label_title.set_text(kernel.upper())
|
||||
label_title.set_name("label_stack_kernel")
|
||||
|
||||
label_desc = Gtk.Label(xalign=0, yalign=0)
|
||||
label_desc.set_text(fn.supported_kernels_dict[kernel][0])
|
||||
label_desc.set_name("label_stack_desc")
|
||||
|
||||
label_count = Gtk.Label(xalign=0, yalign=0)
|
||||
label_count.set_markup(
|
||||
"<i>%s Available kernels</i>"
|
||||
% self.flowbox_official_kernel.kernel_count
|
||||
)
|
||||
|
||||
label_count.set_name("label_stack_count")
|
||||
|
||||
vbox_search_entry = Gtk.Box(
|
||||
orientation=Gtk.Orientation.VERTICAL, spacing=5
|
||||
)
|
||||
|
||||
search_entry_official = Gtk.SearchEntry()
|
||||
search_entry_official.set_name(kernel)
|
||||
search_entry_official.set_placeholder_text(
|
||||
"Search %s kernels..." % kernel
|
||||
)
|
||||
search_entry_official.connect(
|
||||
"search_changed", self.flowbox_filter_official
|
||||
)
|
||||
|
||||
self.search_entries.append(search_entry_official)
|
||||
|
||||
vbox_search_entry.append(search_entry_official)
|
||||
|
||||
vbox_active_kernel.append(label_active_kernel)
|
||||
|
||||
vbox_header = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=5)
|
||||
vbox_header.set_name("vbox_header")
|
||||
|
||||
lbl_heading = Gtk.Label(xalign=0.5, yalign=0.5)
|
||||
lbl_heading.set_name("label_flowbox_message")
|
||||
lbl_heading.set_text(
|
||||
"%s - Verified and official kernels" % kernel.upper()
|
||||
)
|
||||
|
||||
lbl_padding = Gtk.Label(xalign=0.0, yalign=0.0)
|
||||
lbl_padding.set_text(" ")
|
||||
|
||||
grid_banner_img = Gtk.Grid()
|
||||
|
||||
image_settings = Gtk.Image.new_from_file(
|
||||
os.path.join(base_dir, "images/48x48/akm-verified.png")
|
||||
)
|
||||
|
||||
image_settings.set_icon_size(Gtk.IconSize.LARGE)
|
||||
image_settings.set_halign(Gtk.Align.START)
|
||||
|
||||
grid_banner_img.attach(image_settings, 0, 1, 1, 1)
|
||||
grid_banner_img.attach_next_to(
|
||||
lbl_padding,
|
||||
image_settings,
|
||||
Gtk.PositionType.RIGHT,
|
||||
1,
|
||||
1,
|
||||
)
|
||||
|
||||
grid_banner_img.attach_next_to(
|
||||
lbl_heading,
|
||||
lbl_padding,
|
||||
Gtk.PositionType.RIGHT,
|
||||
1,
|
||||
1,
|
||||
)
|
||||
|
||||
vbox_header.append(grid_banner_img)
|
||||
|
||||
# vbox_kernels.append(label_title)
|
||||
self.manager_gui.vbox_kernels.append(vbox_header)
|
||||
# self.manager_gui.vbox_kernels.append(label_title)
|
||||
self.manager_gui.vbox_kernels.append(label_desc)
|
||||
self.manager_gui.vbox_kernels.append(label_count)
|
||||
self.manager_gui.vbox_kernels.append(vbox_search_entry)
|
||||
self.manager_gui.vbox_kernels.append(hbox_sep_kernels)
|
||||
|
||||
scrolled_window_official.set_child(vbox_flowbox)
|
||||
self.manager_gui.vbox_kernels.append(scrolled_window_official)
|
||||
self.manager_gui.vbox_kernels.append(vbox_active_kernel)
|
||||
|
||||
kernel_sidebar_title = None
|
||||
|
||||
if kernel == "linux":
|
||||
kernel_sidebar_title = "Linux"
|
||||
elif kernel == "linux-lts":
|
||||
kernel_sidebar_title = "Linux-LTS"
|
||||
elif kernel == "linux-zen":
|
||||
kernel_sidebar_title = "Linux-ZEN"
|
||||
elif kernel == "linux-hardened":
|
||||
kernel_sidebar_title = "Linux-Hardened"
|
||||
elif kernel == "linux-rt":
|
||||
kernel_sidebar_title = "Linux-RT"
|
||||
elif kernel == "linux-rt-lts":
|
||||
kernel_sidebar_title = "Linux-RT-LTS"
|
||||
|
||||
self.manager_gui.stack.add_titled(
|
||||
self.manager_gui.vbox_kernels, kernel, kernel_sidebar_title
|
||||
)
|
||||
|
||||
def flowbox_filter_official(self, search_entry):
|
||||
def filter_func(fb_child, text):
|
||||
if search_entry.get_name() == fb_child.get_name().split(" ")[0]:
|
||||
if text in fb_child.get_name():
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
else:
|
||||
return True
|
||||
|
||||
text = search_entry.get_text()
|
||||
|
||||
for flowbox in self.flowbox_stacks:
|
||||
flowbox.set_filter_func(filter_func, text)
|
||||
|
||||
def flowbox_filter_community(self, search_entry):
|
||||
def filter_func(fb_child, text):
|
||||
if search_entry.get_name() == "search_entry_community":
|
||||
if text in fb_child.get_name():
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
else:
|
||||
return True
|
||||
|
||||
text = search_entry.get_text()
|
||||
|
||||
self.flowbox_community.set_filter_func(filter_func, text)
|
||||
|
||||
def flowbox_filter_installed(self, search_entry):
|
||||
def filter_func(fb_child, text):
|
||||
if search_entry.get_name() == "search_entry_installed":
|
||||
if text in fb_child.get_name():
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
else:
|
||||
return True
|
||||
|
||||
text = search_entry.get_text()
|
||||
|
||||
self.flowbox_installed.set_filter_func(filter_func, text)
|
||||
|
||||
def add_community_kernels_to_stack(self, reload):
|
||||
vbox_active_kernel = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=5)
|
||||
vbox_active_kernel.set_name("vbox_active_kernel")
|
||||
vbox_kernels = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=5)
|
||||
hbox_sep_kernels = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10)
|
||||
hsep_kernels = Gtk.Separator(orientation=Gtk.Orientation.VERTICAL)
|
||||
hbox_sep_kernels.append(hsep_kernels)
|
||||
|
||||
label_active_kernel = Gtk.Label(xalign=0.5, yalign=0.5)
|
||||
label_active_kernel.set_name("label_active_kernel")
|
||||
label_active_kernel.set_selectable(True)
|
||||
label_active_kernel.set_markup(
|
||||
"Active kernel: <b>%s</b>" % self.manager_gui.active_kernel
|
||||
)
|
||||
label_active_kernel.set_halign(Gtk.Align.START)
|
||||
|
||||
label_count = Gtk.Label(xalign=0, yalign=0)
|
||||
label_count.set_name("label_stack_count")
|
||||
|
||||
vbox_search_entry = None
|
||||
|
||||
search_entry_community = Gtk.SearchEntry()
|
||||
search_entry_community.set_name("search_entry_community")
|
||||
search_entry_community.set_placeholder_text(
|
||||
"Search %s kernels..." % "community based"
|
||||
)
|
||||
search_entry_community.connect("search_changed", self.flowbox_filter_community)
|
||||
|
||||
hbox_warning_message = Gtk.Box(
|
||||
orientation=Gtk.Orientation.HORIZONTAL, spacing=5
|
||||
)
|
||||
hbox_warning_message.set_name("hbox_warning_message")
|
||||
|
||||
label_pacman_warning = Gtk.Label(xalign=0, yalign=0)
|
||||
label_pacman_warning.set_name("label_community_warning")
|
||||
|
||||
image_warning = Gtk.Image.new_from_file(
|
||||
os.path.join(base_dir, "images/48x48/akm-warning.png")
|
||||
)
|
||||
image_warning.set_name("image_warning")
|
||||
|
||||
image_warning.set_icon_size(Gtk.IconSize.LARGE)
|
||||
image_warning.set_halign(Gtk.Align.CENTER)
|
||||
|
||||
hbox_warning = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=5)
|
||||
hbox_warning.set_name("hbox_warning")
|
||||
|
||||
hbox_warning.append(image_warning)
|
||||
# hbox_warning.append(label_pacman_warning)
|
||||
|
||||
label_warning = Gtk.Label(xalign=0, yalign=0)
|
||||
label_warning.set_name("label_community_warning")
|
||||
|
||||
if (
|
||||
self.manager_gui.community_kernels is not None
|
||||
and len(self.manager_gui.community_kernels) == 0
|
||||
):
|
||||
label_warning.set_markup(
|
||||
f"<b>Cannot find any supported unofficial pacman repository's</b>\n"
|
||||
f"<b>Add the Chaotic-AUR pacman repository to access Community based kernels</b>"
|
||||
)
|
||||
else:
|
||||
label_warning.set_markup(
|
||||
f"These kernels are user produced content\n"
|
||||
f"These kernels may not work on your hardware\n"
|
||||
f"<b>Any use of the provided files is at your own risk</b>"
|
||||
)
|
||||
|
||||
hbox_warning.append(label_warning)
|
||||
|
||||
if reload is True:
|
||||
vbox_flowbox = None
|
||||
stack_child = self.manager_gui.stack.get_child_by_name("Community Kernels")
|
||||
|
||||
if stack_child is not None:
|
||||
for stack_widget in stack_child:
|
||||
if stack_widget.get_name() == "hbox_warning":
|
||||
for w in stack_widget:
|
||||
if w.get_name() == "label_community_warning":
|
||||
if len(self.manager_gui.community_kernels) == 0:
|
||||
w.set_markup(
|
||||
f"<b>Cannot find any supported unofficial pacman repository's</b>\n"
|
||||
f"<b>Add the Chaotic-AUR pacman repository to access Community based kernels</b>"
|
||||
)
|
||||
else:
|
||||
w.set_markup(
|
||||
f"These kernels are user produced content\n"
|
||||
f"These kernels may not work on your hardware\n"
|
||||
f"<b>Any use of the provided files is at your own risk</b>"
|
||||
)
|
||||
break
|
||||
if stack_widget.get_name() == "label_stack_count":
|
||||
stack_widget.set_markup(
|
||||
"<i>%s Available kernels</i>"
|
||||
% len(self.manager_gui.community_kernels)
|
||||
)
|
||||
if stack_widget.get_name() == "vbox_search_entry":
|
||||
if len(self.manager_gui.community_kernels) == 0:
|
||||
for search_entry in stack_widget:
|
||||
search_entry.set_visible(False)
|
||||
else:
|
||||
for search_entry in stack_widget:
|
||||
search_entry.set_visible(True)
|
||||
|
||||
if stack_widget.get_name() == "scrolled_window_community":
|
||||
scrolled_window_community = stack_widget
|
||||
vbox_flowbox = scrolled_window_community.get_child().get_child()
|
||||
|
||||
for widget in vbox_flowbox:
|
||||
widget.remove_all()
|
||||
|
||||
# scrolled_window_community.hide()
|
||||
|
||||
# vbox_search_entry = Gtk.Box(
|
||||
# orientation=Gtk.Orientation.VERTICAL, spacing=5
|
||||
# )
|
||||
#
|
||||
# vbox_search_entry.append(search_entry_community)
|
||||
# widget.append(vbox_search_entry)
|
||||
|
||||
if (
|
||||
self.manager_gui.community_kernels is not None
|
||||
and len(self.manager_gui.community_kernels) > 0
|
||||
):
|
||||
self.flowbox_community = FlowBox(
|
||||
self.manager_gui.community_kernels,
|
||||
self.manager_gui.active_kernel,
|
||||
self.manager_gui,
|
||||
"community",
|
||||
)
|
||||
vbox_flowbox.append(self.flowbox_community)
|
||||
|
||||
# while self.manager_gui.default_context.pending():
|
||||
# # fn.time.sleep(0.1)
|
||||
# self.manager_gui.default_context.iteration(True)
|
||||
else:
|
||||
self.flowbox_community = None
|
||||
|
||||
vbox_flowbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=0)
|
||||
# vbox_flowbox.set_halign(align=Gtk.Align.FILL)
|
||||
|
||||
if len(self.manager_gui.community_kernels) == 0:
|
||||
label_count.set_markup("<i>%s Available kernels</i>" % 0)
|
||||
else:
|
||||
self.flowbox_community = FlowBox(
|
||||
self.manager_gui.community_kernels,
|
||||
self.manager_gui.active_kernel,
|
||||
self.manager_gui,
|
||||
"community",
|
||||
)
|
||||
|
||||
vbox_flowbox.append(self.flowbox_community)
|
||||
|
||||
label_count.set_markup(
|
||||
"<i>%s Available kernels</i>" % self.flowbox_community.kernel_count
|
||||
)
|
||||
|
||||
vbox_search_entry = Gtk.Box(
|
||||
orientation=Gtk.Orientation.VERTICAL, spacing=5
|
||||
)
|
||||
|
||||
vbox_search_entry.set_name("vbox_search_entry")
|
||||
|
||||
vbox_search_entry.append(search_entry_community)
|
||||
|
||||
if reload is False:
|
||||
scrolled_window_community = Gtk.ScrolledWindow()
|
||||
scrolled_window_community.set_name("scrolled_window_community")
|
||||
scrolled_window_community.set_policy(
|
||||
Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC
|
||||
)
|
||||
scrolled_window_community.set_propagate_natural_height(True)
|
||||
scrolled_window_community.set_propagate_natural_width(True)
|
||||
|
||||
label_title = Gtk.Label(xalign=0.5, yalign=0.5)
|
||||
label_title.set_text("Community Kernels")
|
||||
label_title.set_name("label_stack_kernel")
|
||||
|
||||
label_desc = Gtk.Label(xalign=0, yalign=0)
|
||||
label_desc.set_text("Community Linux kernel and modules")
|
||||
label_desc.set_name("label_stack_desc")
|
||||
|
||||
vbox_active_kernel.append(label_active_kernel)
|
||||
|
||||
vbox_header = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=5)
|
||||
vbox_header.set_name("vbox_header")
|
||||
|
||||
lbl_heading = Gtk.Label(xalign=0.5, yalign=0.5)
|
||||
lbl_heading.set_name("label_flowbox_message")
|
||||
|
||||
lbl_heading.set_text(
|
||||
"%s - Unofficial kernels" % "Community based".upper()
|
||||
)
|
||||
|
||||
lbl_padding = Gtk.Label(xalign=0.0, yalign=0.0)
|
||||
lbl_padding.set_text(" ")
|
||||
|
||||
grid_banner_img = Gtk.Grid()
|
||||
|
||||
image_settings = Gtk.Image.new_from_file(
|
||||
os.path.join(base_dir, "images/48x48/akm-community.png")
|
||||
)
|
||||
|
||||
image_settings.set_icon_size(Gtk.IconSize.LARGE)
|
||||
image_settings.set_halign(Gtk.Align.START)
|
||||
|
||||
grid_banner_img.attach(image_settings, 0, 1, 1, 1)
|
||||
grid_banner_img.attach_next_to(
|
||||
lbl_padding,
|
||||
image_settings,
|
||||
Gtk.PositionType.RIGHT,
|
||||
1,
|
||||
1,
|
||||
)
|
||||
|
||||
grid_banner_img.attach_next_to(
|
||||
lbl_heading,
|
||||
lbl_padding,
|
||||
Gtk.PositionType.RIGHT,
|
||||
1,
|
||||
1,
|
||||
)
|
||||
|
||||
vbox_header.append(grid_banner_img)
|
||||
|
||||
vbox_kernels.append(vbox_header)
|
||||
vbox_kernels.append(label_desc)
|
||||
vbox_kernels.append(hbox_warning)
|
||||
vbox_kernels.append(label_count)
|
||||
|
||||
if vbox_search_entry is not None:
|
||||
vbox_kernels.append(vbox_search_entry)
|
||||
|
||||
vbox_kernels.append(hbox_sep_kernels)
|
||||
|
||||
scrolled_window_community.set_child(vbox_flowbox)
|
||||
|
||||
vbox_kernels.append(scrolled_window_community)
|
||||
vbox_kernels.append(vbox_active_kernel)
|
||||
|
||||
self.manager_gui.stack.add_titled(
|
||||
vbox_kernels, "Community Kernels", "Community"
|
||||
)
|
Loading…
Add table
Add a link
Reference in a new issue