Documentation
¶
Index ¶
- Variables
- func CreateAppListTreeView() (*gtk.TreeView, *gtk.ListStore, error)
- func DisplayUnsupportedSystemWarning(message string, useGUI bool)
- func GetSelectedAppPath(treeView *gtk.TreeView) (string, error)
- func PopulateGTKTreeView(treeView *gtk.TreeView, list *PreloadedList) error
- func ProgressMonitor(queue []QueueItem) error
- func ProgressMonitorDaemon(queue []QueueItem) error
- func ProgressMonitorWithOptions(queue []QueueItem, daemonMode bool) error
- func ShowBrokenPackagesDialog() (string, error)
- func ShowErrorDialogWithRetry(appName, action, message string) bool
- func ShowMessageDialog(title, message string, dialogType int)
- func ShowSummaryDialog(completedQueue []QueueItem) error
- func ShowUpdateConfirmDialog(appName, scriptName string) bool
- type AppListConfig
- type AppListItem
- type DirectoryInfo
- type GUI
- type GUIConfig
- type ImGuiConfig
- type ImGuiGUI
- type PreloadedList
- type QueueItem
- type TimeStampChecker
- type WindowGeometry
Constants ¶
This section is empty.
Variables ¶
var ActionIconMapping = map[string]string{
"install": "icons/install.png",
"uninstall": "icons/uninstall.png",
"update": "icons/update.png",
"refresh": "icons/refresh.png",
"update-file": "icons/update.png",
"daemon": "icons/none-24.png",
}
ActionIconMapping maps actions to icon paths
var StatusIconMapping = map[string]string{
"waiting": "icons/wait.png",
"in-progress": "icons/prompt.png",
"success": "icons/success.png",
"failure": "icons/failure.png",
"diagnosed": "icons/failure.png",
"daemon-complete": "icons/success.png",
}
StatusIconMapping maps status to icon paths
Functions ¶
func CreateAppListTreeView ¶
CreateAppListTreeView creates a GTK TreeView configured for displaying app lists
func DisplayUnsupportedSystemWarning ¶
DisplayUnsupportedSystemWarning shows a formatted warning message for unsupported systems
func GetSelectedAppPath ¶
GetSelectedAppPath gets the path of the currently selected item
func PopulateGTKTreeView ¶
func PopulateGTKTreeView(treeView *gtk.TreeView, list *PreloadedList) error
PopulateGTKTreeView populates a GTK TreeView with the preloaded app list
func ProgressMonitor ¶
ProgressMonitor shows a dialog with the current progress of operations
func ProgressMonitorDaemon ¶
ProgressMonitorDaemon shows a progress dialog that doesn't auto-close (for daemon mode)
func ProgressMonitorWithOptions ¶
ProgressMonitorWithOptions shows a dialog with the current progress of operations
func ShowBrokenPackagesDialog ¶
ShowBrokenPackagesDialog shows a dialog to enter sudo password for repairing broken package repositories
func ShowErrorDialogWithRetry ¶
ShowErrorDialogWithRetry shows an error dialog with retry option Returns true if user chose to retry, false if they chose to skip
func ShowMessageDialog ¶
ShowMessageDialog shows a simple message dialog
func ShowSummaryDialog ¶
ShowSummaryDialog shows a summary of completed actions with donation reminders
func ShowUpdateConfirmDialog ¶
test only
Types ¶
type AppListConfig ¶
type AppListConfig struct {
Directory string
Prefix string
Format string // "gtk" (GTK3 native instead of yad/xlunch)
}
AppListConfig holds configuration for app list generation
type AppListItem ¶
type AppListItem struct {
Type string // "app", "category", "back"
Name string
Path string // For navigation (category paths)
Description string
IconPath string
Status string // "installed", "uninstalled", "corrupted", "disabled", ""
IsUpdates bool // Special Updates category
}
AppListItem represents a single item in the app list
type DirectoryInfo ¶
DirectoryInfo holds information about directories to check for changes
type GUI ¶
type GUI struct {
// contains filtered or unexported fields
}
GUI represents the main Pi-Apps GUI application
func (*GUI) GetMessageOfTheDay ¶
GetMessageOfTheDay gets the current message of the day
func (*GUI) Initialize ¶
Initialize sets up the GUI environment and dependencies
func (*GUI) ShowAppDetailsForDialog ¶
ShowAppDetailsForDialog shows app details dialog for separate process (used by --show-app-details)
type ImGuiConfig ¶
func DefaultImGuiConfig ¶
func DefaultImGuiConfig() ImGuiConfig
type ImGuiGUI ¶
type ImGuiGUI struct {
// contains filtered or unexported fields
}
func NewImGuiGUI ¶
func NewImGuiGUI(directory string, config ImGuiConfig) *ImGuiGUI
func (*ImGuiGUI) Initialize ¶
type PreloadedList ¶
type PreloadedList struct {
Items []AppListItem
Prefix string
Generated time.Time
}
PreloadedList contains the preloaded app list data
func PreloadAppList ¶
func PreloadAppList(directory, prefix string) (*PreloadedList, error)
PreloadAppList generates or loads a cached app list
type QueueItem ¶
type QueueItem struct {
Action string // install, uninstall, update, refresh
AppName string
Status string // waiting, in-progress, success, failure
IconPath string
ErrorMessage string // Error message if the operation failed
ForceReinstall bool
}
QueueItem represents an item in the installation/uninstallation queue
func ValidateAppsGUI ¶
ValidateAppsGUI validates a list of apps and shows appropriate dialogs for invalid apps or asks for confirmation for certain operations. Returns the validated queue of operations.
type TimeStampChecker ¶
type TimeStampChecker struct {
Directory string
CheckedDirs []DirectoryInfo
}
TimeStampChecker manages timestamp checking for change detection
func NewTimeStampChecker ¶
func NewTimeStampChecker(directory string) *TimeStampChecker
NewTimeStampChecker creates a new timestamp checker
func (*TimeStampChecker) GetTimestamps ¶
func (tc *TimeStampChecker) GetTimestamps() string
GetTimestamps generates timestamp information for all monitored directories
func (*TimeStampChecker) HasChanged ¶
func (tc *TimeStampChecker) HasChanged(prefix string) (bool, error)
HasChanged checks if any monitored directory has changed since the last check
func (*TimeStampChecker) SaveTimestamps ¶
func (tc *TimeStampChecker) SaveTimestamps(prefix string) error
SaveTimestamps saves current timestamps to file