summaryrefslogtreecommitdiffstats
path: root/build_tools/larch8/larch0/gui/layouts
diff options
context:
space:
mode:
authorJames Meyer <james.meyer@operamail.com>2010-12-02 22:37:23 (GMT)
committerJames Meyer <james.meyer@operamail.com>2010-12-02 22:37:34 (GMT)
commit8b94d7f39c71234712bead363526a0283efeb9fa (patch)
tree23f1dbd6458dc39a2c1b08bcdd4cbf768a60d84d /build_tools/larch8/larch0/gui/layouts
parent338af567e74d08cbd357079941208e494463d61e (diff)
downloadlinhes_dev-8b94d7f39c71234712bead363526a0283efeb9fa.zip
larch8: first checkin, still needs some work
Diffstat (limited to 'build_tools/larch8/larch0/gui/layouts')
-rw-r--r--build_tools/larch8/larch0/gui/layouts/docviewer.uim72
-rw-r--r--build_tools/larch8/larch0/gui/layouts/editor.uim92
-rw-r--r--build_tools/larch8/larch0/gui/layouts/logger.uim57
-rw-r--r--build_tools/larch8/larch0/gui/layouts/page_installation.uim190
-rw-r--r--build_tools/larch8/larch0/gui/layouts/page_larchify.uim216
-rw-r--r--build_tools/larch8/larch0/gui/layouts/page_main.uim99
-rw-r--r--build_tools/larch8/larch0/gui/layouts/page_medium.uim247
-rw-r--r--build_tools/larch8/larch0/gui/layouts/page_project.uim188
-rw-r--r--build_tools/larch8/larch0/gui/layouts/profile_browse.uim94
-rw-r--r--build_tools/larch8/larch0/gui/layouts/progress.uim64
10 files changed, 1319 insertions, 0 deletions
diff --git a/build_tools/larch8/larch0/gui/layouts/docviewer.uim b/build_tools/larch8/larch0/gui/layouts/docviewer.uim
new file mode 100644
index 0000000..8e85a0f
--- /dev/null
+++ b/build_tools/larch8/larch0/gui/layouts/docviewer.uim
@@ -0,0 +1,72 @@
+# docviewer.uim - The layout for the documentation viewer widget
+#
+# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com)
+#
+# This file is part of the larch project.
+#
+# larch is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# larch is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with larch; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+#----------------------------------------------------------------------------
+# 2010.05.21
+
+[
+ ['Frame', 'doc:page',
+ { 'layout':
+ ['VBOX',
+ ['HBOX', 'doc:header', '*', 'doc:back', 'doc:forward',
+ 'doc:home', 'doc:parent', 'doc:hide'],
+ 'doc:content'
+ ]
+ }
+ ],
+ ['Label', 'doc:header',
+ { 'markup': ['h2', _("Documentation")]
+ }
+ ],
+ ['HtmlView', 'doc:content', {}],
+ ['Button', 'doc:hide',
+ { 'text': _("Hide"),
+ 'tt': _("Return to the larch controls"),
+ 'clicked': ''
+ },
+ ],
+ ['Button','doc:back',
+ { 'icon': 'left',
+ 'tt': _("Go back in the viewing history"),
+ 'clicked': ''
+ },
+ ],
+ ['Button','doc:forward',
+ { 'icon': 'right',
+ 'tt': _("Go forward in the viewing history"),
+ 'clicked': ''
+ },
+ ],
+
+ ['Button','doc:home',
+ { 'icon': 'reload',
+ 'tt': _("Reload the documentation for the current larch tab"),
+ 'clicked': ''
+ },
+ ],
+
+ ['Button','doc:parent',
+ { 'icon': 'up',
+ 'tt': _("Go to the general larch documentation index"),
+ 'clicked': ''
+ },
+ ],
+
+]
diff --git a/build_tools/larch8/larch0/gui/layouts/editor.uim b/build_tools/larch8/larch0/gui/layouts/editor.uim
new file mode 100644
index 0000000..2338f6e
--- /dev/null
+++ b/build_tools/larch8/larch0/gui/layouts/editor.uim
@@ -0,0 +1,92 @@
+# editor.uim - The layout for the editor widget
+#
+# (c) Copyright 2009-2010 Michael Towers (larch42 at googlemail dot com)
+#
+# This file is part of the larch project.
+#
+# larch is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# larch is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with larch; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+#----------------------------------------------------------------------------
+# 2010.05.21
+
+[
+ ['Frame', 'edit:page',
+ { 'layout':
+ ['VBOX',
+ ['HBOX', 'edit:header', '*', 'edit:title'],
+ ['HBOX', 'edit:content',
+ ['VBOX', 'edit:copy', 'edit:cut', 'edit:paste',
+ 'edit:undo', 'edit:redo', 'edit:revert',
+ '*', 'edit:cancel', 'edit:ok'
+ ]
+ ]
+ ]
+ }
+ ],
+ ['Label', 'edit:header',
+ { 'markup': ['h2', _("Editor")]
+ }
+ ],
+ ['Label', 'edit:title', {}],
+ ['TextEdit', 'edit:content', {}],
+ ['Button', 'edit:ok',
+ { 'text': _('OK'),
+ 'clicked': ''
+ }
+ ],
+ ['Button', 'edit:cancel',
+ { 'text': _('Cancel'),
+ 'clicked': ''
+ }
+ ],
+ ['Button', 'edit:revert',
+ { 'text': _('Revert'),
+ 'tt': _('Restore the text to its initial/default state'),
+ 'clicked': ''
+ }
+ ],
+ ['Button', 'edit:copy',
+ { 'text': _('Copy'),
+ 'clicked': ''
+ }
+ ],
+ ['Button', 'edit:cut',
+ { 'text': _('Cut'),
+ 'clicked': ''
+ }
+ ],
+ ['Button', 'edit:paste',
+ { 'text': _('Paste'),
+ 'clicked': ''
+ }
+ ],
+ ['Button', 'edit:undo',
+ { 'text': _('Undo'),
+ 'clicked': ''
+ }
+ ],
+ ['Button', 'edit:redo',
+ { 'text': _('Redo'),
+ 'clicked': ''
+ }
+ ],
+
+ ['DATA', 'editor_data',
+ { 'messages':
+ { 'msg_dflt': _("Editing '%s'")
+ }
+ },
+ ],
+]
diff --git a/build_tools/larch8/larch0/gui/layouts/logger.uim b/build_tools/larch8/larch0/gui/layouts/logger.uim
new file mode 100644
index 0000000..0ecb7bf
--- /dev/null
+++ b/build_tools/larch8/larch0/gui/layouts/logger.uim
@@ -0,0 +1,57 @@
+# logger.uim - The layout for the logging widget
+#
+# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com)
+#
+# This file is part of the larch project.
+#
+# larch is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# larch is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with larch; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+#----------------------------------------------------------------------------
+# 2010.05.22
+
+[
+ ['Frame', 'log:page',
+ { 'layout':
+ ['VBOX',
+ 'log:header',
+ ['HBOX',
+ 'log:text',
+ ['VBOX', 'log:clear', '*', 'log:hide']
+ ]
+ ]
+ }
+ ],
+ ['Label', 'log:header',
+ { 'markup': ['', ['h2', _("Low-level Command Logging")],
+ ['p', _("Here you can follow the detailed, low-level"
+ " progress of the commands.")]]
+ }
+ ],
+ ['TextEdit', 'log:text',
+ { 'ro': True
+ }
+ ],
+ ['Button', 'log:clear',
+ { 'text': _("Clear"),
+ 'clicked': ''
+ }
+ ],
+ ['Button', 'log:hide',
+ { 'text': _("Hide"),
+ 'tt': _("Go back to the larch controls"),
+ 'clicked': ''
+ }
+ ]
+]
diff --git a/build_tools/larch8/larch0/gui/layouts/page_installation.uim b/build_tools/larch8/larch0/gui/layouts/page_installation.uim
new file mode 100644
index 0000000..db86059
--- /dev/null
+++ b/build_tools/larch8/larch0/gui/layouts/page_installation.uim
@@ -0,0 +1,190 @@
+# page_installation.uim - The layout for the installation page
+#
+# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com)
+#
+# This file is part of the larch project.
+#
+# larch is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# larch is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with larch; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+#----------------------------------------------------------------------------
+# 2010.10.10
+
+[
+ ['Page', ':page_installation',
+ { 'layout':
+ ['VBOX',
+ ['HBOX',
+ ['VBOX', ':editmirrorlist', ':edit_profile'],
+ 'VLINE,20',
+ ':pacmanops'
+ ],
+ '*',
+ ':settings_advanced',
+ 'HLINE',
+ ['HBOX', '*', ':install']
+ ]
+ }
+ ],
+ # - - - - The profile editing frame
+ ['Frame', ':edit_profile',
+ { 'text': _("Edit Profile"),
+ 'layout':
+ ['VBOX',
+ ':addedpacks',
+ ':vetopacks',
+ ':pacmanconf',
+ ':repos'
+ ]
+ }
+ ],
+ ['Button', ':addedpacks',
+ { 'text': _("Edit 'addedpacks'"),
+ 'tt': _("Edit the list of packages to be installed")
+ },
+ 'clicked'
+ ],
+ ['Button', ':vetopacks',
+ { 'text': _("Edit 'vetopacks'"),
+ 'tt': _("Edit the list of packages NOT to install")
+ },
+ 'clicked'
+ ],
+ ['Button', ':pacmanconf',
+ { 'text': _("Edit pacman.conf options"),
+ 'tt': _("Edit pacman.conf options - not the repositories")
+ },
+ 'clicked'
+ ],
+ ['Button', ':repos',
+ { 'text': _("Edit pacman.conf repositories"),
+ 'tt': _("Edit the repository entries for pacman.conf")
+ },
+ 'clicked'
+ ],
+
+ # - - - - The installed package tweaking frame
+ ['OptionalFrame', ':pacmanops',
+ { 'text': _("Tweak Installed Packages"),
+ 'layout':
+ ['VBOX', ':sync', ':updateall', ':update', ':add', ':remove']
+ }
+ ],
+ ['Button', ':sync',
+ { 'text': _("Synchronize db [-Sy]"),
+ 'tt': _("Synchronize the pacman db on the target (pacman -Sy)")
+ },
+ 'clicked'
+ ],
+ ['Button', ':updateall',
+ { 'text': _("Update all packages [-Su]"),
+ 'tt': _("Update all installed packages for which a newer version is available\n"
+ "(you will normally need to synchronize the pacman db first)")
+ },
+ 'clicked'
+ ],
+ ['Button', ':update',
+ { 'text': _("Update / Add package [-U]"),
+ 'tt': _("Update / Add a package from a package file"
+ " using pacman -U")
+ },
+ 'clicked'
+ ],
+ ['Button', ':add',
+ { 'text': _("Add package(s) [-S]"),
+ 'tt': _("Add one or more packages (space separated)"
+ " using pacman -S")
+ },
+ 'clicked'
+ ],
+ ['Button', ':remove',
+ { 'text': _("Remove package(s) [-Rs]"),
+ 'tt': _("Remove one or more packages (space separated)"
+ " using pacman -Rs")
+ },
+ 'clicked'
+ ],
+
+ # - - - - The advanced installation options frame
+ ['OptionalFrame', ':settings_advanced',
+ { 'text': _("Advanced Installation Options"),
+ 'layout': ['HBOX', ':installrepos', 'VLINE,3', ':cache']
+ }
+ ],
+
+ ['OptionalFrame', ':installrepos',
+ { 'text': _("Use project repository list"),
+ 'tt': _("Enables use of an alternative pacman.conf"
+ " for installation only"),
+ 'layout':
+ ['HBOX', ':editrepolist']
+ },
+ 'toggled'
+ ],
+ ['Button', ':editrepolist',
+ { 'text': _("Edit repository list"),
+ 'tt': _("Edit repository list file used for installation")
+ },
+ 'clicked'
+ ],
+ ['Button', ':editmirrorlist',
+ { 'text': _("Edit mirror list"),
+ 'tt': _("Edit the pacman mirror list for the live system\n"
+ "(not for the build process)")
+ },
+ 'clicked'
+ ],
+
+ ['Frame', ':cache',
+ { 'text': _("Package Cache"),
+ 'layout':
+ ['HBOX', ':cache_show', ':cache_change']
+ }
+ ],
+ ['LineEdit', ':cache_show',
+ { 'ro': True,
+ 'tt': _("The path to the (host's) package cache")
+ }
+ ],
+ ['Button', ':cache_change',
+ { 'text': _("Change"),
+ 'tt': _("Change the package cache path")
+ },
+ 'clicked'
+ ],
+
+ ['Button', ':install',
+ { 'text': _("Install"),
+ 'tt': _("This will start the installation to the set path")
+ },
+ 'clicked'
+ ],
+
+ ['DATA', 'install_page_data',
+ { 'messages':
+ { 'edit_pc': _("Editing pacman.conf options only"),
+ 'edit_pr': _("Editing pacman repositories"),
+ 'edit_mli': _("Editing mirror list for installation"),
+ 'prompt_ncp': _("Enter new package cache path:"),
+ 'edit_pri': _("Editing pacman repositories for installation"),
+ 'msg_pu': _("Package to add/update"),
+ 'filter_pu': _("Packages"),
+ 'prompt_pi': _("Enter the names of packages to install -"
+ "\n separated by spaces:"),
+ 'prompt_pr': _("Enter the names of packages to remove -"
+ "\n separated by spaces:"),
+ }
+ },
+ ],
+]
diff --git a/build_tools/larch8/larch0/gui/layouts/page_larchify.uim b/build_tools/larch8/larch0/gui/layouts/page_larchify.uim
new file mode 100644
index 0000000..34c4e66
--- /dev/null
+++ b/build_tools/larch8/larch0/gui/layouts/page_larchify.uim
@@ -0,0 +1,216 @@
+# page_larchify.uim - The layout for the larchify page
+#
+# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com)
+#
+# This file is part of the larch project.
+#
+# larch is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# larch is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with larch; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+#----------------------------------------------------------------------------
+# 2010.10.10
+
+(lambda USERHEADERS:
+[
+ ['Page', ':page_larchify',
+ { 'layout':
+ ['VBOX',
+# ':larchify',
+ ':users',
+ 'HLINE',
+ ['HBOX',
+ ['VBOX', ':overlay', ':locales', ':rcconf'],
+ 'VLINE',
+ ['VBOX', ':kernelfile', '*', ':kernelpack'],
+ 'VLINE',
+ ':larchify_advanced'
+ ],
+ 'HLINE',
+ ['HBOX', ':oldsquash', '*', ':build']
+ ]
+ }
+ ],
+ # - - - - The profile editing frame
+ ['Button', ':locales',
+ { 'text': _("Supported locales"),
+ 'tt': _("Edit the /etc/locale.gen file to select"
+ " supported glibc locales")
+ },
+ 'clicked'
+ ],
+ ['Button', ':rcconf',
+ { 'text': _("Edit /etc/rc.conf"),
+ 'tt': _("Edit the general system configuration file for the"
+ " live system")
+ },
+ 'clicked'
+ ],
+ ['Button', ':overlay',
+ { 'text': _("Edit overlay"),
+ 'tt': _("Open a file browser on the profile's 'rootoverlay'")
+ },
+ 'clicked'
+ ],
+
+ # - - - - The kernel selection frame
+ ['Frame', ':kernelfile',
+ { 'text': _("Live kernel filename"),
+ 'tt': _("The name of the kernel binary file (in /boot)"),
+ 'layout':
+ ['HBOX', ':kernele', ':kernelb']
+ }
+ ],
+ ['LineEdit', ':kernele',
+ { 'width': 100,
+ 'ro': True,
+ }
+ ],
+ ['Button', ':kernelb',
+ { 'text': _("Change"),
+ 'tt': _("Change the name of the kernel binary file (in /boot)")
+ },
+ 'clicked'
+ ],
+ ['Frame', ':kernelpack',
+ { 'text': _("Live kernel package"),
+ 'tt': _("The name of the kernel for mkinitcpio (the preset file)"),
+ 'layout':
+ ['HBOX', ':kernelmkie', ':kernelmkib']
+ }
+ ],
+ ['LineEdit', ':kernelmkie',
+ { 'width': 100,
+ 'ro': True,
+ }
+ ],
+ ['Button', ':kernelmkib',
+ { 'text': _("Change"),
+ 'tt': _("Change the name of the kernel preset file (for mkinitcpio)")
+ },
+ 'clicked'
+ ],
+
+
+ ['OptionalFrame', ':larchify_advanced',
+ { 'text': _("Advanced Options"),
+ 'layout':
+ ['VBOX', ':initcpio', ':oldlocales', ':ssh'],
+ }
+ ],
+ ['Button', ':initcpio',
+ { 'text': _("Edit mkinitcpio.conf"),
+ 'tt': _("Edit the configuration file for generating"
+ " the initramfs via mkinitcpio")
+ },
+ 'clicked'
+ ],
+ ['CheckBox', ':ssh',
+ { 'text': _("Generate ssh keys"),
+ 'tt': _("The ssh host keys will be pre-generated")
+ },
+ 'toggled'
+ ],
+ ['CheckBox', ':oldlocales',
+ { 'text': _("Reuse existing locales"),
+ 'tt': _("To save time it may be possible to reuse glibc"
+ " locales from a previous run")
+ },
+# 'toggled'
+ ],
+
+ ['CheckBox', ':oldsquash',
+ { 'text': _("Reuse existing system.sqf"),
+ 'tt': _("Reuse existing system.sqf, to save time if the"
+ " base system hasn't changed")
+ },
+# 'toggled'
+ ],
+ ['Button', ':build',
+ { 'text': _("Larchify"),
+ 'tt': _("Build the main components of the larch system")
+ },
+ 'clicked'
+ ],
+
+#Note that this should be disabled if installation directory is '/'
+ ['Frame', ':users',
+ { 'text': _("User accounts"),
+ 'layout':
+ ['VBOX',
+ ':utable',
+ ['HBOX', ':useradd', ':userdel', '*',
+ ':rootpwl', ':rootpwe', ':rootpwb'
+ ]
+ ]
+ }
+ ],
+ ['List', ':utable',
+ { 'selectionmode': 'Single',
+ 'headers': USERHEADERS,
+ 'compact': True,
+ 'tt': _("Click on a row to select, click on a selected"
+ " cell to edit")
+ },
+# 'select',
+ 'clicked'
+ ],
+ ['Button', ':useradd',
+ { 'text': _("Add user"),
+ 'tt': _("Create a new user-name")
+ },
+ 'clicked'
+ ],
+ ['Button', ':userdel',
+ { 'text': _("Delete user"),
+ 'tt': _("Remove the selected user-name")
+ },
+ 'clicked'
+ ],
+ ['Label', ':rootpwl',
+ { 'text': _("Root password:")
+ }
+ ],
+ ['LineEdit', ':rootpwe',
+ { 'ro': True,
+ 'tt': _("The unencrypted root password for the live system")
+ }
+ ],
+ ['Button', ':rootpwb',
+ { 'text': _("Change"),
+ 'tt': _("Enter a new password for the 'root' user")
+ },
+ 'clicked'
+ ],
+
+
+ ['DATA', 'larchify_page_data',
+ { 'messages':
+ { 'uheaders': USERHEADERS,
+ 'rn_error': _("Renaming failed, see log"),
+ 'ud_error': _("Couldn't adjust user definition"),
+ 'def_skel': _("Default (/etc/skel)"),
+ 'skel_lbl': _("This folder will be copied\n"
+ "to build the user's home folder:"),
+ 'skel_ttl': _("Choose 'skel' Folder"),
+ 'newlogin': _("Enter login-name for new user:"),
+ 'newrootpw': _("Enter root password for live system:"),
+ 'kernelf': _("Name of kernel binary:"),
+ 'kernelp': _("Name of kernel mkinitcpio preset:"),
+ }
+ },
+ ],
+]
+)([_("User-Name"), _("Password"), _("Group"),
+ "UID", _("'skel' directory"),
+ _("Additional Groups"), _("Expert options")])
diff --git a/build_tools/larch8/larch0/gui/layouts/page_main.uim b/build_tools/larch8/larch0/gui/layouts/page_main.uim
new file mode 100644
index 0000000..7d79c20
--- /dev/null
+++ b/build_tools/larch8/larch0/gui/layouts/page_main.uim
@@ -0,0 +1,99 @@
+# page_main.uim - The layout for the main window
+#
+# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com)
+#
+# This file is part of the larch project.
+#
+# larch is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# larch is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with larch; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+#----------------------------------------------------------------------------
+# 2010.10.10
+[
+ ['Window', ':larch',
+ { 'title': 'larch', 'size': '600_400',
+ 'icon': 'images/larchicon.png',
+ 'closesignal': '$$$uiclose$$$',
+ 'layout':
+ ['VBOX',
+ ['HBOX',
+ ':image',
+ ['VBOX',
+ ['HBOX', ':header', '*'],
+ ['HBOX', ':showlog', ':docs', '*', ':quit'],
+ ]
+ ],
+ ':tabs'
+ ]
+
+ }
+ ],
+
+ # - Header
+ ['Label', ':image',
+ { 'image': 'images/larch80.png'
+ }
+ ],
+ ['Label', ':header',
+ { 'markup': ['h1', ['color', '#c55500', ['em', 'larch '],
+ _("Live Arch Linux Construction Kit")]]
+ }
+ ],
+ ['Button', ':showlog',
+ { 'text': _("View Log"),
+ 'tt': _("This button switches to the log viewer"),
+ },
+ 'clicked'
+ ],
+ ['Button', ':docs',
+ { 'text': _("Help"),
+ 'tt': _("This button switches to the documentation viewer"),
+ },
+ 'clicked'
+ ],
+ ['Button', ':quit',
+ { 'text': _("Quit"),
+ 'tt': _("Stop the current action and quit the program"),
+ 'clicked': '$$$uiquit$$$'
+ },
+ ],
+
+#TODO
+ # - Main widget
+ ['Stack', ':tabs',
+ { 'pages': [':notebook', 'progress:page', 'log:page',
+ 'doc:page', 'edit:page']
+ }
+ ],
+
+ # - - The main page of the Stack
+ ['Notebook', ':notebook',
+ { 'tabs': [
+ [':page_settings', _("Project Settings")],
+ [':page_installation', _("Installation")],
+ [':page_larchify', _("Larchify")],
+ [':page_medium', _("Make Medium")],
+ ]
+ },
+ 'changed'
+ ],
+
+ ['DATA', 'main_page_data',
+ { 'messages':
+ { 'authfail': _("Authentication failure"),
+ 'getpw': _("Enter the password to run as administrator:"),
+ }
+ },
+ ],
+]
diff --git a/build_tools/larch8/larch0/gui/layouts/page_medium.uim b/build_tools/larch8/larch0/gui/layouts/page_medium.uim
new file mode 100644
index 0000000..8f081bb
--- /dev/null
+++ b/build_tools/larch8/larch0/gui/layouts/page_medium.uim
@@ -0,0 +1,247 @@
+# page_medium.uim - The layout for the medium building page
+#
+# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com)
+#
+# This file is part of the larch project.
+#
+# larch is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# larch is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with larch; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+#----------------------------------------------------------------------------
+# 2010.10.24
+
+(lambda MEDIA, SRC:
+[
+ ['Page', ':page_medium',
+ { 'layout':
+ ['VBOX', '*',
+ ['HBOX', ':mtlabel', 'VLINE', ':srcframe', 'VLINE', ':vlabel',],
+ '*', 'HLINE', '*',
+ ['HBOX', ':mediumprofile', 'VLINE', ':mediumopts'],
+ 'HLINE',
+ ['HBOX', '*', ':make_medium']
+ ]
+ }
+ ],
+
+ ['Frame', ':srcframe',
+ { 'text': _("Source of the larch system"),
+ 'tt': _("Normally the larchified Arch install,\n"
+ "but it could also be an existing larch medium"),
+ 'layout':
+ ['VBOX', ['HBOX', ':srctype', ':selectsrc'], ':srclocation']
+ },
+ ],
+ ['ComboBox', ':srctype',
+ { 'width': 180,
+ 'set': [m[1] for m in SRC],
+ 'tt': _("Select where the system to put on the medium comes from")
+ },
+ 'changed'
+ ],
+ ['LineEdit', ':srclocation',
+ { 'ro': True,
+ #'width': 250,
+ 'tt': _("The larch data comes from here")
+ }
+ ],
+ ['Button', ':selectsrc',
+ { 'text': _("Choose"),
+ 'tt': _("Select the source of the larch system")
+ },
+ 'clicked'
+ ],
+
+ ['Frame', ':mtlabel',
+ { 'text': _("Type of medium to build"),
+ 'tt': _("A writeable medium could be a USB-stick or a hard drive partition, for example"),
+ 'layout':
+ ['VBOX', ['HBOX', ':mediumtype', ':selectpart'], ':larchpart']
+ },
+ ],
+ ['ComboBox', ':mediumtype',
+ { 'width': 180,
+ 'set': [m[1] for m in MEDIA],
+ 'tt': _("Select the larch source.")
+ },
+ 'changed'
+ ],
+
+ ['Frame', ':mediumprofile',
+ { 'text': _("Medium profile"),
+ 'tt': _("Settings which are saved in the profile"),
+ 'layout':
+ ['VBOX', ':bootlines', ':syslinuxtemplate', ':cdroot']
+ },
+ ],
+ ['Button', ':bootlines',
+ { 'text': _("Edit boot entries"),
+ 'tt': _("Edit the file determining the boot entries")
+ },
+ 'clicked'
+ ],
+ ['Button', ':syslinuxtemplate',
+ { 'text': _("Edit bootloader template"),
+ 'tt': _("Edit the syslinux/extlinux/isolinux configuration file\n"
+ "(the larch boot entries are handled separately)")
+ },
+ 'clicked'
+ ],
+ ['Button', ':cdroot',
+ { 'text': _("Edit medium files"),
+ 'tt': _("Open a file browser on the profile's 'cd-root' folder")
+ },
+ 'clicked'
+ ],
+
+#++++
+ ['LineEdit', ':larchpart',
+ { 'ro': True,
+ #'width': 250,
+ 'tt': _("The partition or iso-file to receive the larch system")
+ }
+ ],
+ ['Button', ':selectpart',
+ { 'text': _("Choose"),
+ 'tt': _("Select the destination medium or file")
+ },
+ 'clicked'
+ ],
+
+ ['Frame', ':mediumopts',
+ { 'text': _("Medium options"),
+ 'tt': _("Optional settings for larch partitions"),
+ 'layout':
+ ['VBOX',
+ ['GRID', ['+', ':detection_l', ':detection', '-'],
+ ['+', ':persist', 'VLINE,3', '*'],
+ ['+', ':ovl_journal', '|', ':nombr'],
+ ['+', ':pformat', '|', ':nolarchboot'],
+ ],
+ ],
+ },
+ 'toggled'
+ ],
+ ['CheckBox', ':pformat',
+ { 'text': _("Format medium"),
+ 'tt': _("Normally the medium should be formatted before writing, but IF YOU\n"
+ "KNOW WHAT YOU ARE DOING it might be useful to skip the formatting")
+ },
+ 'toggled'
+ ],
+ ['CheckBox', ':nombr',
+ { 'text': _("Don't set MBR"),
+ 'tt': _("The bootloader will be installed to the partition only,"
+ " leaving the mbr untouched\n"
+ "(you'll need to provide some other means of booting)")
+ },
+# 'toggled'
+ ],
+ ['CheckBox', ':nolarchboot',
+ { 'text': _("Not bootable via search"),
+ 'tt': _("Don't create the file 'larch/larchboot':\n"
+ " the medium will only be bootable by uuid, label"
+ " or partition name")
+ },
+ 'toggled'
+ ],
+ ['CheckBox', ':persist',
+ { 'text': _("Data persistence"),
+ 'tt': _("Support data persistence by using the medium as a writeable overlay"),
+ },
+ 'toggled'
+ ],
+ ['CheckBox', ':ovl_journal',
+ { 'text': _("Use journalling"),
+ 'tt': _("The file-system containing the overlay can use journalling\n"
+ "to aid data integrity")
+ },
+ 'toggled'
+ ],
+
+ ['Label', ':detection_l',
+ { 'text': _("Medium Detection:")
+ }
+ ],
+ ['ComboBox', ':detection',
+ { 'tt': _("Choose how the boot scripts determine where to"
+ " look for the larch system"),
+ },
+ 'changed'
+ ],
+#----
+
+#+
+ ['Frame', ':vlabel',
+ { 'text': _("Volume Label:"),
+ 'tt': _("The 'label' given to the created medium"),
+ 'layout': ['VBOX', ':vlabele', ':vlabelb']
+ }
+ ],
+ ['LineEdit', ':vlabele',
+ { 'ro': True,
+ 'width': 120,
+ 'tt': _("The length may not exceed 16 bytes,"
+ " 11 for vfat")
+ }
+ ],
+ ['Button', ':vlabelb',
+ { 'text': _("Change"),
+ 'tt': _("Enter a new label for the volume, empty to use default")
+ },
+ 'clicked'
+ ],
+#-
+
+ ['Button', ':make_medium',
+ { 'text': _("Write the larch medium"),
+ 'tt': _("The larch image will be written to the 'iso' file"
+ " or to the partition, as selected")
+ },
+ 'clicked'
+ ],
+
+ ['DATA', 'medium_page_data',
+ { 'messages':
+ { 'parts_t': _("Choose unmounted partition"),
+ 'parts_src': _("Select larch source partition"),
+ 'parts_dst': _("Device to receive larch system\n"
+ "WARNING: Be very careful in choosing here,\n"
+ "if you choose the wrong one you might\n"
+ "seriously damage your system!"),
+ 'msg_med': _("Invalid larch medium folder: %s"),
+ 'prompt_label': _("Volume label (clear to use default):"),
+ 'isopath': _("Save 'iso' to ..."),
+ 'isoget': _("Read 'iso' file"),
+ 'media': [m[0] for m in MEDIA],
+ 'sources': [m[0] for m in SRC],
+ 'detectionmodes':
+ { 'label': "LABEL",
+ 'uuid': "UUID",
+ 'device': _("Device (e.g. /dev/sdb1)"),
+ 'search': _("Search (for 'larchboot' file)")
+ },
+ }
+ },
+ ],
+]
+)( [ ('medium-w', _("writeable medium")),
+ ('medium-iso', "iso file"),
+ ('medium-boot', _("boot iso")),
+ ],
+ [ ('larchified', _("larchify output")),
+ ('device', _("other medium")),
+ ('isofile', _("iso file")),
+ ],
+)
diff --git a/build_tools/larch8/larch0/gui/layouts/page_project.uim b/build_tools/larch8/larch0/gui/layouts/page_project.uim
new file mode 100644
index 0000000..d48295e
--- /dev/null
+++ b/build_tools/larch8/larch0/gui/layouts/page_project.uim
@@ -0,0 +1,188 @@
+# page_project.uim - The layout for the project settings page
+#
+# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com)
+#
+# This file is part of the larch project.
+#
+# larch is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# larch is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with larch; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+#----------------------------------------------------------------------------
+# 2010.08.15
+
+[
+ ['Page', ':page_settings',
+ { 'layout':
+ ['VBOX',
+ ':settings_profile',
+ '*',
+ ':options_advanced',
+ '*'
+ ]
+ }
+ ],
+ # - - - - The profile selection frame
+ ['Frame', ':settings_profile',
+ { 'text': _("Profile"),
+ 'layout':
+ ['VBOX',
+ ['HBOX', ':choose_profile', ':choose_profile_combo',
+ '*', ':profile_browse'],
+ ['HBOX', ':profile_rename', ':profile_clone',
+ ':profile_delete', ':profile_save']
+ ]
+ }
+ ],
+ ['Label', ':choose_profile',
+ { 'text': _("Select:"),
+ 'align': 'right'
+ }
+ ],
+ ['ComboBox', ':choose_profile_combo',
+ { 'width': 200,
+ 'tt': _("Choose a profile from those already in your"
+ " larch working folder")
+ },
+ 'changed'
+ ],
+ ['Button', ':profile_browse',
+ { 'text': _("Browse for Profile"),
+ 'tt': _("Fetch a profile from the file-system")
+ },
+ 'clicked'
+ ],
+ ['Button', ':profile_clone',
+ { 'text': _("Clone"),
+ 'tt': _("Make a copy of the current profile under a new name")
+ },
+ 'clicked'
+ ],
+ ['Button', ':profile_rename',
+ { 'text': _("Rename"),
+ 'tt': _("Rename the current profile")
+ },
+ 'clicked'
+ ],
+ ['Button', ':profile_delete',
+ { 'text': _("Delete"),
+ 'tt': _("Delete an unused profile")
+ },
+ 'clicked'
+ ],
+ ['Button', ':profile_save',
+ { 'text': _("Copy to ..."),
+ 'tt': _("Copy the current profile to somehere else")
+ },
+ 'clicked'
+ ],
+
+ # - - - - Advanced project options
+ ['OptionalFrame', ':options_advanced',
+ { 'text': _("Advanced Project Options"),
+ 'layout':
+ ['HBOX',
+ #['HBOX', '*', ':lplat', ':platform'],
+ ['GRID',
+ ['+', ':choose_project', ':choose_project_combo'],
+ ['+', ':new_project', ':project_delete']
+ ],
+ 'VLINE,3',
+ ':installation_path'
+ ]
+ }
+ ],
+# Pending better support in Arch/pacman
+# ['Label', '::lplat',
+# { 'text': _("Platform (processor architecture):")
+# }
+# ],
+# ['ComboBox', ':platform',
+# { 'tt': _("Which processor architecture?")
+# },
+# 'changed'
+# ],
+ ['Label', ':choose_project',
+ { 'text': _("Choose Existing Project:")
+ }
+ ],
+ ['ComboBox', ':choose_project_combo',
+ { 'tt': _("Choose a project from those already defined"),
+ 'width': 120
+ },
+ 'changed'
+ ],
+ ['Button', ':new_project',
+ { 'text': _("New Project"),
+ 'tt': _("Create a new project")
+ },
+ 'clicked'
+ ],
+ ['Button', ':project_delete',
+ { 'text': _("Delete"),
+ 'tt': _("Delete a project")
+ },
+ 'clicked'
+ ],
+ ['Frame', ':installation_path',
+ { 'text': _("Installation Path"),
+ 'layout':
+ ['HBOX', ':installation_path_show',
+ ':installation_path_change']
+ }
+ ],
+ ['LineEdit', ':installation_path_show',
+ { 'ro': True,
+ 'tt': _("The root directory of the Arch installation"
+ " to larchify")
+ }
+ ],
+ ['Button', ':installation_path_change',
+ { 'text': _("Change"),
+ 'tt': _("Change the root directory of the Arch installation")
+ },
+ 'clicked'
+ ],
+
+ ['DATA', 'project_page_data',
+ { 'messages':
+ { 'file_ps': _("Select profile source folder"),
+ 'prompt_pr': _("Destination profile exists - replace it?"),
+ 'prompt_pn': _("Enter new name for current profile:"),
+ 'prompt_pe': _("Profile '%s' exists already"),
+ 'msg_pu': _("Can't rename the profile,"
+ " it is in use by other projects"),
+ 'file_sp': _("Save profile folder"),
+ 'prompt_dr': _("Destination exists - replace it?"),
+ 'prompt_dp': _("Select the profile for deletion"),
+ 'delprof': _("Remove Profile"),
+ 'msg_npf': _("There are no profiles which can"
+ " be deleted - all are in use"),
+ 'msg_dpff': _("Couldn't delete profile '%s' -"
+ " check permissions"),
+ 'prompt_ip': _("An empty path here will reset to the default.\n"
+ " WARNING: Double check your path -\n"
+ " If you make a mistake here it could destroy your system!"
+ "\n\nEnter new installation path:"),
+ 'prompt_np': _("Enter name for new project:"),
+ 'msg_pe': _("Project '%s' already exists"),
+ 'prompt_pd': _("Select the project for deletion"),
+ 'delproj': _("Remove Project"),
+ 'msg_np': _("There are no projects which can be deleted"),
+ 'msg_npd': _("'%s' is not a profile folder"),
+ 'msg_piu': _("The path '%s' is already in use, not saving"),
+ 'prompt_clone': _("Enter the name for the new profile:"),
+ }
+ },
+ ],
+]
diff --git a/build_tools/larch8/larch0/gui/layouts/profile_browse.uim b/build_tools/larch8/larch0/gui/layouts/profile_browse.uim
new file mode 100644
index 0000000..1d5912b
--- /dev/null
+++ b/build_tools/larch8/larch0/gui/layouts/profile_browse.uim
@@ -0,0 +1,94 @@
+# profile_browse.uim - The layout for the profile browser widget
+#
+# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com)
+#
+# This file is part of the larch project.
+#
+# larch is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# larch is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with larch; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+#----------------------------------------------------------------------------
+# 2010.08.15
+
+[
+ ['Dialog', 'dialog:profile_browser',
+ { 'title': None,
+ 'layout':
+ ['VBOX',
+ 'dpb:label_f', '*,5',
+ ['HBOX', 'dpb:browse', 'VLINE,10', 'dpb:examples'],
+ ['HBOX', 'dpb:source_l', 'dpb:source'],
+ ['HBOX', 'dpb:name_l', 'dpb:name', 'dpb:name_s'],
+ 'HLINE',
+ 'dpb:dbuttons'
+ ],
+ }
+ ],
+ ['Frame', 'dpb:label_f',
+ { 'layout': ['VBOX', 'dpb:label'],
+ }
+ ],
+ ['Label', 'dpb:label',
+ { 'text': _("You can browse the file-system for the source profile"
+ " directory,\nor else choose one of the examples"),
+ }
+ ],
+ ['Frame', 'dpb:examples',
+ { 'text': _("Example Profiles"),
+ 'tt': _("Here you can select one of the example profiles to use as a starting point"),
+ 'layout': ['VBOX', 'dpb:example_list'],
+ }
+ ],
+ ['ComboBox', 'dpb:example_list',
+ {
+ },
+ 'changed'
+
+ ],
+ ['Button', 'dpb:browse',
+ { 'text': _("Browse file-system"),
+ 'tt': _("Open a file dialog to search for the profile"),
+ },
+ 'clicked'
+ ],
+ ['Label', 'dpb:source_l',
+ { 'text': _("Source:"),
+ }
+ ],
+ ['LineEdit', 'dpb:source',
+ { 'ro': True,
+ 'tt': _("The path from which the profile directory will be copied"),
+ }
+ ],
+ ['Label', 'dpb:name_l',
+ { 'text': _("New name:")
+ }
+ ],
+ ['LineEdit', 'dpb:name',
+ { 'ro': True,
+ 'tt': _("The name the profile will be given in the work area"),
+ }
+ ],
+ ['Button', 'dpb:name_s',
+ { 'text': _("Change"),
+ 'tt': _("Open a dialog to change the new profile's name"),
+ },
+ 'clicked'
+ ],
+ ['DialogButtons', 'dpb:dbuttons',
+ { 'buttons': ('Ok', 'Cancel'),
+ 'dialog': 'dialog:profile_browser',
+ },
+ ],
+]
diff --git a/build_tools/larch8/larch0/gui/layouts/progress.uim b/build_tools/larch8/larch0/gui/layouts/progress.uim
new file mode 100644
index 0000000..62ae9e2
--- /dev/null
+++ b/build_tools/larch8/larch0/gui/layouts/progress.uim
@@ -0,0 +1,64 @@
+# progress.uim - The layout for the progress widget
+#
+# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com)
+#
+# This file is part of the larch project.
+#
+# larch is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# larch is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with larch; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+#----------------------------------------------------------------------------
+# 2010.05.22
+
+[
+ ['Frame', 'progress:page',
+ { 'layout':
+ ['VBOX',
+ 'progress:header',
+ ['HBOX',
+ 'progress:text',
+ ['VBOX', 'progress:cancel', '*', 'progress:done']
+ ],
+ 'progress:progress'
+ ]
+ }
+ ],
+ ['Label', 'progress:header',
+ { 'markup': ['', ['h2', _("Processing ...")],
+ ['p', _("Here you can follow the detailed, low-level"
+ " progress of the commands.")]]
+ }
+ ],
+ ['TextEdit', 'progress:text',
+ { 'ro': True
+ }
+ ],
+ ['LineEdit', 'progress:progress',
+ { 'ro': True,
+ 'tt': _("An indication of the progress of the current"
+ " operation, if possible")
+ }
+ ],
+ ['Button', 'progress:cancel',
+ { 'text': _("Cancel"),
+ 'tt': _("Stop the current action"),
+ 'clicked': '$$$cancel$$$'
+ }
+ ],
+ ['Button', 'progress:done',
+ { 'text': _("Done"),
+ 'clicked': ''
+ }
+ ],
+]