This commit is contained in:
arcolinuxz 2024-05-29 21:15:47 +02:00
parent a62abdff41
commit b09f56fa6c
15 changed files with 450 additions and 406 deletions

View file

@ -13,14 +13,13 @@ class AboutDialog(Gtk.AboutDialog):
def __init__(self, manager_gui, **kwargs):
super().__init__(**kwargs)
website = "https://github.com/DeltaCopy/archlinux-kernel-manager"
authors = ["fennec (DeltaCopy)"]
website = "http://arcolinux.info/"
authors = ["Erik Dubois", "Fennec"]
program_name = "Arch Linux Kernel Manager"
comments = (
f"Add/Remove Officially supported Linux kernels on Arch based systems\n"
f"Powered by the Arch Linux Archive (a.k.a ALA)\n"
f"Community based Linux kernels are also supported\n"
f"This application matches your system theme !\n"
f"Developed in Python with GTK 4\n"
)
@ -40,7 +39,7 @@ class AboutDialog(Gtk.AboutDialog):
tux_icon = Gdk.Texture.new_from_file(
file=Gio.File.new_for_path(
os.path.join(base_dir, "images/364x408/akm-tux-splash.png")
os.path.join(base_dir, "images/96x96/akm-tux.png")
)
)

View file

@ -107,26 +107,29 @@ class FlowBox(Gtk.FlowBox):
) == "{}-{}".format(cache.name, cache.version):
installed = True
if (
cache.name == installed_kernel.name
and cache.version > installed_kernel.version
):
fn.logger.info(
"Kernel upgrade available - %s %s"
% (cache.name, cache.version)
)
tux_icon = Gtk.Picture.new_for_file(
file=Gio.File.new_for_path(
os.path.join(base_dir, "images/48x48/akm-update.png")
if cache.name == installed_kernel.name:
if (
cache.version > installed_kernel.version
or cache.version != installed_kernel.version
):
fn.logger.info(
"Kernel upgrade available - %s %s"
% (cache.name, cache.version)
)
)
tux_icon.set_can_shrink(True)
label_kernel_name.set_markup(
"<b>*%s</b> %s <i>%s</i>"
% (cache.name, cache.version, cache.repository)
)
tux_icon = Gtk.Picture.new_for_file(
file=Gio.File.new_for_path(
os.path.join(
base_dir, "images/48x48/akm-update.png"
)
)
)
tux_icon.set_can_shrink(True)
label_kernel_name.set_markup(
"<b>*%s</b> %s <i>%s</i>"
% (cache.name, cache.version, cache.repository)
)
if installed is True:
switch_kernel.set_state(True)

View file

@ -15,6 +15,8 @@ class MessageWindow(Gtk.Window):
# self.set_title(title=title)
self.set_modal(modal=True)
self.set_resizable(False)
icon_name = "akm-tux"
self.set_icon_name(icon_name)
header_bar = Gtk.HeaderBar()
header_bar.set_show_title_buttons(True)
@ -57,7 +59,7 @@ class MessageWindow(Gtk.Window):
msg_buffer.insert(
msg_buffer.get_end_iter(),
"Event timestamp = %s\n"
% fn.datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
% fn.datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
)
msg_buffer.insert(msg_buffer.get_end_iter(), "%s\n" % message)
@ -82,7 +84,7 @@ class MessageWindow(Gtk.Window):
button_ok.set_halign(Gtk.Align.END)
button_ok.connect("clicked", self.on_button_ok_clicked)
hbox_buttons = Gtk.Box.new(orientation=Gtk.Orientation.HORIZONTAL, spacing=10)
hbox_buttons = Gtk.Box.new(orientation=Gtk.Orientation.HORIZONTAL, spacing=20)
hbox_buttons.set_halign(Gtk.Align.END)
hbox_buttons.append(button_ok)

View file

@ -94,8 +94,15 @@ class ProgressWindow(Gtk.Window):
% (self.kernel.name, self.kernel.version)
)
# get kernel version from pacman
self.installed_kernel_version = fn.get_kernel_version(self.kernel.name)
# get kernel version from pacman
self.installed_kernel_version = fn.get_kernel_version(self.kernel.name)
if self.installed_kernel_version is not None:
fn.logger.debug(
"Installed kernel version = %s" % self.installed_kernel_version
)
else:
fn.logger.debug("Nothing to remove .. previous kernel not installed")
image_settings.set_halign(Gtk.Align.START)
image_settings.set_icon_size(Gtk.IconSize.LARGE)
@ -418,8 +425,9 @@ class ProgressWindow(Gtk.Window):
)
mw.present()
else:
self.destroy()
return True
return False
def check_kernel_state(self):
returncode = None
@ -439,12 +447,6 @@ class ProgressWindow(Gtk.Window):
fn.logger.info("Kernel %s completed" % action)
event = "%s [INFO]: <b>Kernel %s completed</b>\n" % (
fn.datetime.datetime.now().strftime("%Y-%m-%d-%H-%M-%S"),
action,
)
self.messages_queue.put(event)
if returncode == 1:
self.errors_found = True

View file

@ -2,7 +2,7 @@ import gi
import libs.functions as fn
gi.require_version("Gtk", "4.0")
from gi.repository import Gtk, Gio, GLib, GdkPixbuf, GObject, Gdk
from gi.repository import Gtk, Gio
base_dir = fn.os.path.abspath(fn.os.path.join(fn.os.path.dirname(__file__), ".."))
@ -12,15 +12,18 @@ class SplashScreen(Gtk.Window):
super().__init__(**kwargs)
self.set_decorated(False)
self.set_resizable(False)
self.set_default_size(600, 400)
self.set_modal(True)
self.set_title(app_name)
self.set_icon_name("archlinux-kernel-manager-tux")
tux_icon = Gtk.Picture.new_for_file(
file=Gio.File.new_for_path(
fn.os.path.join(base_dir, "images/364x408/akm-tux-splash.png")
fn.os.path.join(base_dir, "images/600x400/akm-tux-splash.png")
)
)
tux_icon.set_content_fit(content_fit=Gtk.ContentFit.FILL)
self.set_child(child=tux_icon)