Initial work for remotes page

This commit is contained in:
heliguy
2024-07-21 12:08:54 -04:00
parent 7e6a147784
commit 10af1db799
6 changed files with 97 additions and 3 deletions

View File

@@ -25,6 +25,7 @@ import time
from gi.repository import Adw, Gdk, Gio, GLib, Gtk
from .host_info import HostInfo
from .packages_page import PackagesPage
from .remotes_page import RemotesPage
from .user_data_page import UserDataPage
from .const import Config
from .error_toast import ErrorToast
@@ -83,7 +84,7 @@ class WarehouseWindow(Adw.ApplicationWindow):
file_drop = Gtk.DropTarget.new(Gio.File, Gdk.DragAction.COPY)
self.pages = {
self.packages_row: PackagesPage(main_window=self),
self.remotes_row: RemotesPage(main_window=self),
self.user_data_row: UserDataPage(main_window=self),
}
@@ -108,7 +109,7 @@ class WarehouseWindow(Adw.ApplicationWindow):
# file_drop.connect("drop", self.drop_callback)
self.refresh_button.connect("clicked", self.refresh_handler)
self.navigation_row_listbox.get_row_at_index(2).activate()
self.navigation_row_listbox.get_row_at_index(1).activate()
self.main_split.set_show_sidebar(True)
self.start_loading()

View File

@@ -13,6 +13,7 @@ blueprints = custom_target('blueprints',
'user_data_page/data_box.blp',
'user_data_page/user_data_page.blp',
'user_data_page/data_subpage.blp',
'remotes_page/remotes_page.blp',
'change_version_page/change_version_page.blp',
),
output: '.',
@@ -66,6 +67,7 @@ warehouse_sources = [
'user_data_page/data_box.py',
'user_data_page/user_data_page.py',
'user_data_page/data_subpage.py',
'remotes_page/remotes_page.py',
'../data/style.css',
]

View File

@@ -0,0 +1,64 @@
using Gtk 4.0;
using Adw 1;
template $RemotesPage : Adw.NavigationPage {
title: _("Manage Remotes");
Adw.ToolbarView {
[top]
Adw.HeaderBar {
[start]
ToggleButton sidebar_button {
icon-name: "dock-left-symbolic";
tooltip-text: _("Show Sidebar");
}
}
Adw.ToastOverlay {
Stack stack {
Adw.StatusPage loading_remotes {
visible: false;
title: _("Loading Remotes");
description: _("This should only take a moment");
child:
Spinner {
spinning: true;
}
;
}
Adw.StatusPage no_packages {
visible: false;
title: _("No Remotes Found");
description: _("Warehouse cannot see the current remotes or your system has no remotes added");
icon-name: "error-symbolic";
}
Adw.PreferencesPage content_page {
Adw.PreferencesGroup current_remotes {
title: _("Current Remotes");
description: _("Remotes available on your system");
Adw.ActionRow {
title: "test";
}
Adw.ActionRow {
title: "test";
}
Adw.ActionRow {
title: "test";
}
}
Adw.PreferencesGroup new_remotes {
title: _("Add Remotes");
description: _("Add new remotes to get more software");
Adw.ActionRow {
title: "test";
}
Adw.ActionRow {
title: "test";
}
Adw.ActionRow {
title: "test";
}
}
}
}
}
}
}

View File

@@ -0,0 +1,26 @@
from gi.repository import Adw, Gtk, GLib, Gio
from .host_info import HostInfo
from .error_toast import ErrorToast
import subprocess
@Gtk.Template(resource_path="/io/github/flattool/Warehouse/remotes_page/remotes_page.ui")
class RemotesPage(Adw.NavigationPage):
__gtype_name__ = 'RemotesPage'
gtc = Gtk.Template.Child
sidebar_button = gtc()
# Referred to in the main window
# It is used to determine if a new page should be made or not
# This must be set to the created object from within the class's __init__ method
instance = None
def __init__(self, main_window, **kwargs):
super().__init__(**kwargs)
# Extra Object Creation
ms = main_window.main_split
# Connections
ms.connect("notify::show-sidebar", lambda *_: self.sidebar_button.set_active(ms.get_show_sidebar()))
self.sidebar_button.connect("toggled", lambda *_: ms.set_show_sidebar(self.sidebar_button.get_active()))

View File

@@ -198,7 +198,7 @@ class UserDataPage(Adw.BreakpointBin):
# Connections
# self.sidebar_button.connect("clicked", lambda *_, ms=main_window.main_split: ms.set_show_sidebar(not ms.get_show_sidebar() if not ms.get_collapsed() else True))
main_window.main_split.connect("notify::show-sidebar", lambda *_: self.sidebar_button.set_active(ms.get_show_sidebar()))
ms.connect("notify::show-sidebar", lambda *_: self.sidebar_button.set_active(ms.get_show_sidebar()))
self.sidebar_button.connect("toggled", lambda *_: ms.set_show_sidebar(self.sidebar_button.get_active()))
self.stack.connect("notify::visible-child", self.view_change_handler)

View File

@@ -12,6 +12,7 @@
<file preprocess="xml-stripblanks">user_data_page/data_box.ui</file>
<file preprocess="xml-stripblanks">user_data_page/user_data_page.ui</file>
<file preprocess="xml-stripblanks">user_data_page/data_subpage.ui</file>
<file preprocess="xml-stripblanks">remotes_page/remotes_page.ui</file>
<!-- <file preprocess="xml-stripblanks">../data/io.github.flattool.Warehouse.metainfo.xml.in</file> -->
</gresource>
<gresource prefix="/io/github/flattool/Warehouse/icons/scalable/actions/">