diff options
author | James Meyer <james.meyer@operamail.com> | 2010-12-02 22:37:23 (GMT) |
---|---|---|
committer | James Meyer <james.meyer@operamail.com> | 2010-12-02 22:37:34 (GMT) |
commit | 8b94d7f39c71234712bead363526a0283efeb9fa (patch) | |
tree | 23f1dbd6458dc39a2c1b08bcdd4cbf768a60d84d /build_tools/larch8/larch0/gui/layouts | |
parent | 338af567e74d08cbd357079941208e494463d61e (diff) | |
download | linhes_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.uim | 72 | ||||
-rw-r--r-- | build_tools/larch8/larch0/gui/layouts/editor.uim | 92 | ||||
-rw-r--r-- | build_tools/larch8/larch0/gui/layouts/logger.uim | 57 | ||||
-rw-r--r-- | build_tools/larch8/larch0/gui/layouts/page_installation.uim | 190 | ||||
-rw-r--r-- | build_tools/larch8/larch0/gui/layouts/page_larchify.uim | 216 | ||||
-rw-r--r-- | build_tools/larch8/larch0/gui/layouts/page_main.uim | 99 | ||||
-rw-r--r-- | build_tools/larch8/larch0/gui/layouts/page_medium.uim | 247 | ||||
-rw-r--r-- | build_tools/larch8/larch0/gui/layouts/page_project.uim | 188 | ||||
-rw-r--r-- | build_tools/larch8/larch0/gui/layouts/profile_browse.uim | 94 | ||||
-rw-r--r-- | build_tools/larch8/larch0/gui/layouts/progress.uim | 64 |
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': '' + } + ], +] |