Example #1
0
    def _setup_page_welcome(self):
        welcome = gtk.Label()
        welcome.set_markup(_('<span weight="bold">Welcome to Knoppix Remasterscript!!!</span>\nThis assistant will guide you through the steps of building your own Remaster.'))
        welcome.set_alignment(0, 0.5)
        
        self.source = gtk.FileChooserButton(gtk.FileChooserDialog(_('Source'), parent=self.assistant,
                                                                  action=gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER,
                                                                  buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,gtk.STOCK_OPEN,gtk.RESPONSE_OK)))
        self.source.set_filename(os.curdir)
        self._source_set = False
        self.source.connect('current-folder-changed', self._source_changed)
        
        table = gtk.Table(1, 2)
        label = gtk.Label(_('Source:'))
        label.set_alignment(1, 0.5)
        table.attach(label, 0, 1, 0, 1, xoptions=gtk.FILL, xpadding=5, ypadding=2)
        table.attach(self.source, 1, 2, 0, 1, ypadding=2)
        
        box = gtk.VBox()
        box.pack_start(welcome, False, False, 5)
        box.pack_start(table, False, False, 5)               
        
        self.welcome = gtk.Alignment(1, 1, 1, 1)
        self.welcome.add(box)
        self.welcome.set_padding(5, 5, 5, 5)

        self.assistant.append_page(self.welcome)
        self.assistant.set_page_title(self.welcome, _('Welcome'))
        self.assistant.set_page_type(self.welcome, gtk.ASSISTANT_PAGE_INTRO)
Example #2
0
 def _error(self, name, progress):
     self._pulse_stop()
     self.progress.set_fraction(0)
     self.status.set_text(_('Error...'))
     error(_('Error'),
           _('Error occurred during: "%s"') % (self.steps.get(name, name)),
           self.parent)
     self.event('error').emit()
Example #3
0
 def response(dialog, response_id):
     if response_id == gtk.RESPONSE_OK:
         label, kernel, append = dialog.label.get_text(), dialog.kernel.get_text(), dialog.append.get_text()
         if label in self.isolinux:
             error(_('Error'), _('Entry already exists.'), dialog)
         else:
             self.defaults.append(label)
             self.default.append_text(label)
             self.entries.append((label, kernel, append))
             self.isolinux[label] = {'kernel': kernel, 'append': append}
     add.destroy()        
Example #4
0
 def _label_edited(self, renderer, number, new):
     if self.entries[number][0] == self.default.get_active_text():
         error(_('Error'), _('You could not edit the label of the current default entry.'), self.parent)
     elif self.entries[number][0] == 'default':
         error(_('Error'), _('You cloud not edit the label of the default entry.'), self.parent)
     else:
         position = self.defaults.index(self.entries[number][0])
         self.defaults[position] = new 
         self.default.remove_text(position)
         self.default.insert_text(position, new)
         self.entries[number][0] = new                        
Example #5
0
 def _remove(self, button):
     iter = self.view.get_selection().get_selected()[1]
     if iter:
         number = self.entries.get_path(iter)
         if self.entries[number][0] == self.default.get_active_text():
             error(_('Error'), _('You could not remove the the current default entry.'), self.parent)
         elif self.entries[number][0] == 'default':
             error(_('Error'), _('You cloud not remove the default entry.'), self.parent)
         else:
             self.default.remove_text(self.defaults.index(self.entries[number][0]))
             self.defaults.remove(self.entries[number][0])
             del self.isolinux[self.entries[number][0]]
             self.entries.remove(iter)
Example #6
0
 def _summary(self):
     name, squashfs, base = get_version(os.path.join(self.source.get_filename(), 'master'))
     if name == 'Unknown':
         name = _('Unknown')
     self.name.set_text(name)
     if base == 'Unknown':
         base = _('Unknown')
     self.base_version.set_text(base)
     if squashfs is None:
         self.compression.set_text(_('Cloop'))
     elif squashfs is True:
         self.compression.set_text(_('SquashFS'))
     else:
         self.compression.set_text(_('Cloop'))
Example #7
0
 def _setup_page_finished(self):
     finished = gtk.Label()
     finished.set_markup(_('<span weight="bold">Remaster successful built!!!</span>\nFinished. A new Remaster was built.'))
     finished.set_alignment(0, 0.5)
            
     box = gtk.VBox()
     box.pack_start(finished, False, False, 5)
     
     self.finished= gtk.Alignment(1, 1, 1, 1)
     self.finished.add(box)
     self.finished.set_padding(5, 5, 5, 5)
     
     self.assistant.append_page(self.finished)
     self.assistant.set_page_title(self.finished, _('Finished'))
     self.assistant.set_page_type(self.finished, gtk.ASSISTANT_PAGE_SUMMARY)
Example #8
0
 def _summary(self):
     name, squashfs, base = get_version(
         os.path.join(self.source.get_filename(), 'master'))
     if name == 'Unknown':
         name = _('Unknown')
     self.name.set_text(name)
     if base == 'Unknown':
         base = _('Unknown')
     self.base_version.set_text(base)
     if squashfs is None:
         self.compression.set_text(_('Cloop'))
     elif squashfs is True:
         self.compression.set_text(_('SquashFS'))
     else:
         self.compression.set_text(_('Cloop'))
Example #9
0
 def _setup_page_create(self):
     create = gtk.Label()
     create.set_markup(_('<span weight="bold">Creating a new Remaster!!!</span>\nThis script is now creating a new remaster.'))
     create.set_alignment(0, 0.5)
     
     box = gtk.VBox()
     box.set_spacing(5)
     box.pack_start(create, False, False)
     box.pack_start(self.script)
     
     self.create = gtk.Alignment(1, 1, 1, 1)
     self.create.add(box)
     self.create.set_padding(5, 5, 5, 5)
     
     self.assistant.append_page(self.create)
     self.assistant.set_page_title(self.create, _('Create'))
     self.assistant.set_page_type(self.create, gtk.ASSISTANT_PAGE_PROGRESS)
Example #10
0
    def _setup_page_finished(self):
        finished = gtk.Label()
        finished.set_markup(
            _('<span weight="bold">Remaster successful built!!!</span>\nFinished. A new Remaster was built.'
              ))
        finished.set_alignment(0, 0.5)

        box = gtk.VBox()
        box.pack_start(finished, False, False, 5)

        self.finished = gtk.Alignment(1, 1, 1, 1)
        self.finished.add(box)
        self.finished.set_padding(5, 5, 5, 5)

        self.assistant.append_page(self.finished)
        self.assistant.set_page_title(self.finished, _('Finished'))
        self.assistant.set_page_type(self.finished, gtk.ASSISTANT_PAGE_SUMMARY)
Example #11
0
 def _setup_page_build(self):
     build = gtk.Label()
     build.set_markup(_('<span weight="bold">Building a new Remaster!!!</span>\nThis script is now building a new Remaster.'))
     build.set_alignment(0, 0.5)
             
     box = gtk.VBox()
     box.set_spacing(5)
     box.pack_start(build, False, False)
     box.pack_start(self.script, False, False)
     
     self.build = gtk.Alignment(1, 1, 1, 1)
     self.build.add(box)
     self.build.set_padding(5, 5, 5, 5)
     
     self.assistant.append_page(self.build)
     self.assistant.set_page_title(self.build, _('Build'))
     self.assistant.set_page_type(self.build, gtk.ASSISTANT_PAGE_PROGRESS)
Example #12
0
    def _setup_page_build(self):
        build = gtk.Label()
        build.set_markup(
            _('<span weight="bold">Building a new Remaster!!!</span>\nThis script is now building a new Remaster.'
              ))
        build.set_alignment(0, 0.5)

        box = gtk.VBox()
        box.set_spacing(5)
        box.pack_start(build, False, False)
        box.pack_start(self.script, False, False)

        self.build = gtk.Alignment(1, 1, 1, 1)
        self.build.add(box)
        self.build.set_padding(5, 5, 5, 5)

        self.assistant.append_page(self.build)
        self.assistant.set_page_title(self.build, _('Build'))
        self.assistant.set_page_type(self.build, gtk.ASSISTANT_PAGE_PROGRESS)
Example #13
0
    def _setup_page_welcome(self):
        welcome = gtk.Label()
        welcome.set_markup(
            _('<span weight="bold">Welcome to Knoppix Remasterscript!!!</span>\nThis assistant will guide you through the steps of building your own Remaster.'
              ))
        welcome.set_alignment(0, 0.5)

        self.source = gtk.FileChooserButton(
            gtk.FileChooserDialog(_('Source'),
                                  parent=self.assistant,
                                  action=gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER,
                                  buttons=(gtk.STOCK_CANCEL,
                                           gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN,
                                           gtk.RESPONSE_OK)))
        self.source.set_filename(os.curdir)
        self._source_set = False
        self.source.connect('current-folder-changed', self._source_changed)

        table = gtk.Table(1, 2)
        label = gtk.Label(_('Source:'))
        label.set_alignment(1, 0.5)
        table.attach(label,
                     0,
                     1,
                     0,
                     1,
                     xoptions=gtk.FILL,
                     xpadding=5,
                     ypadding=2)
        table.attach(self.source, 1, 2, 0, 1, ypadding=2)

        box = gtk.VBox()
        box.pack_start(welcome, False, False, 5)
        box.pack_start(table, False, False, 5)

        self.welcome = gtk.Alignment(1, 1, 1, 1)
        self.welcome.add(box)
        self.welcome.set_padding(5, 5, 5, 5)

        self.assistant.append_page(self.welcome)
        self.assistant.set_page_title(self.welcome, _('Welcome'))
        self.assistant.set_page_type(self.welcome, gtk.ASSISTANT_PAGE_INTRO)
Example #14
0
 def __init__(self, parent=None):
     gtk.Dialog.__init__(self, _('Add'), parent, buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OK, gtk.RESPONSE_OK))
     self.set_response_sensitive(gtk.RESPONSE_OK, False)
     
     self.label = gtk.Entry()
     self.label.connect('changed', self._label_changed)
     
     self.kernel = gtk.Entry()
     self.append = gtk.Entry()
     
     table = gtk.Table(3, 2)
     table.attach(label(_('Label:'), (1, 0.5)), 0, 1, 0, 1, xoptions=gtk.FILL, xpadding=5, ypadding=2)
     table.attach(self.label, 1, 2, 0, 1, ypadding=2)
     table.attach(label(_('Kernel:'), (1, 0.5)), 0, 1, 1, 2, xoptions=gtk.FILL, xpadding=5, ypadding=2)
     table.attach(self.kernel, 1, 2, 1, 2, ypadding=2)
     table.attach(label(_('Append:'), (1, 0.5)), 0, 1, 2, 3, xoptions=gtk.FILL, xpadding=5, ypadding=2)
     table.attach(self.append, 1, 2, 2, 3, ypadding=2)
     table.show_all()
     
     self.get_content_area().pack_start(table)
Example #15
0
    def _setup_page_summary(self):
        summary = gtk.Label()
        summary.set_markup(_('<span weight="bold">Summary!!!</span>\nPlease check if everything is correct.'))
        summary.set_alignment(0, 0.5)

        self.name = gtk.Label()
        self.name.set_alignment(0, 0.5)
        
        self.base_version = gtk.Label()
        self.base_version.set_alignment(0, 0.5)
        
        self.compression = gtk.Label()
        self.compression.set_alignment(0, 0.5)
               
        table = gtk.Table(3, 2)
        label = gtk.Label(_('Name:'))
        label.set_alignment(1, 0.5)
        table.attach(label, 0, 1, 0, 1, xoptions=gtk.FILL, xpadding=5, ypadding=2)
        table.attach(self.name, 1, 2, 0, 1, ypadding=2)
        label = gtk.Label(_('Base Version:'))
        label.set_alignment(1, 0.5)
        table.attach(label, 0, 1, 1, 2, xoptions=gtk.FILL, xpadding=5, ypadding=2)
        table.attach(self.base_version, 1, 2, 1, 2, ypadding=2)
        label = gtk.Label(_('Compression:'))
        label.set_alignment(1, 0.5)
        table.attach(label, 0, 1, 2, 3, xoptions=gtk.FILL, xpadding=5, ypadding=2)
        table.attach(self.compression, 1, 2, 2, 3, ypadding=2)

        box = gtk.VBox()
        box.pack_start(summary, False, False, 5)
        box.pack_start(table, False, False, 5)               
                
        self.summary = gtk.Alignment(1, 1, 1, 1)
        self.summary.add(box)
        self.summary.set_padding(5, 5, 5, 5)

        self.assistant.append_page(self.summary)
        self.assistant.set_page_title(self.summary, _('Summary'))
        self.assistant.set_page_complete(self.summary, True)
        self.assistant.set_page_type(self.summary, gtk.ASSISTANT_PAGE_CONFIRM)
Example #16
0
 def __init__(self):
     self.assistant = gtk.Assistant()
     self.assistant.set_title(_('Knoppix Remasterscript'))
     self.assistant.set_position(gtk.WIN_POS_CENTER_ALWAYS)
     self.assistant.set_icon_from_file(os.path.join(os.path.dirname(__file__), 'resources', 'icon.png'))
     self.assistant.connect('prepare', self._prepare)
     
     self.script = Script(build, _steps)
     self.script.event('success').connect(self._success)
     
     self._setup_page_welcome()
     self._setup_page_summary()
     self._setup_page_build()
     self._setup_page_finished()        
Example #17
0
    def __init__(self):
        self.assistant = gtk.Assistant()
        self.assistant.set_title(_('Knoppix Remasterscript'))
        self.assistant.set_position(gtk.WIN_POS_CENTER_ALWAYS)
        self.assistant.set_icon_from_file(
            os.path.join(os.path.dirname(__file__), 'resources', 'icon.png'))
        self.assistant.connect('prepare', self._prepare)

        self.script = Script(build, _steps)
        self.script.event('success').connect(self._success)

        self._setup_page_welcome()
        self._setup_page_summary()
        self._setup_page_build()
        self._setup_page_finished()
Example #18
0
 def _summary(self):
     name, squashfs, base = get_version(self.source.get_filename())
     if name == 'Unknown':
         name = _('Unknown')
     self.base_version.set_text(name)
     if squashfs is None:
         self.base_compression.set_active(0)
         self.base_compression.set_sensitive(True)
     elif squashfs is True:
         self.base_compression.set_active(1)
     else:
         self.base_compression.set_active(0)
     _yes_no = {True: _('Yes'), False: _('No')}
     self.options.set_text('%s %s | %s %s | %s %s' % (_('Filesystem:'), _yes_no[self.filesystem.get_active()],
                                                      _('Minirt:'), _yes_no[self.minirt.get_active()],
                                                      _('SquashFS:'), _yes_no[self.squashfs.get_active()]))
Example #19
0
    def _setup_page_settings(self):
        self.name = gtk.Entry()
        self.name.set_text(_('My Remaster'))
        
        self.filesystem = gtk.CheckButton()
        self.filesystem.set_active(True)
        
        self.minirt = gtk.CheckButton()
        self.minirt.set_active(True)
        
        self.squashfs = gtk.CheckButton()
        self.squashfs.connect('toggled', self._squashfs_changed)
        self.squashfs.set_sensitive(False)
        
        table = gtk.Table(4, 2)
        label = gtk.Label(_('Name:'))
        label.set_alignment(1, 0.5)
        table.attach(label, 0, 1, 0, 1, xoptions=gtk.FILL, xpadding=5, ypadding=2)
        table.attach(self.name, 1, 2, 0, 1, ypadding=2)
        label = gtk.Label(_('Extract Filesystem:'))
        label.set_alignment(1, 0.5)
        table.attach(label, 0, 1, 1, 2, xoptions=gtk.FILL, xpadding=5, ypadding=2)
        table.attach(self.filesystem, 1, 2, 1, 2, ypadding=2)
        label = gtk.Label(_('Extract Minirt:'))
        label.set_alignment(1, 0.5)
        table.attach(label, 0, 1, 2, 3, xoptions=gtk.FILL, xpadding=5, ypadding=2)
        table.attach(self.minirt, 1, 2, 2, 3, ypadding=2)
        label = gtk.Label(_('SquashFS:'))
        label.set_alignment(1, 0.5)
        table.attach(label, 0, 1, 3, 4, xoptions=gtk.FILL, xpadding=5, ypadding=2)
        table.attach(self.squashfs, 1, 2, 3, 4, ypadding=2)            
        
        self.settings = gtk.Alignment(1, 1, 1, 1)
        self.settings.add(table)
        self.settings.set_padding(5, 5, 5, 5)

        self.assistant.append_page(self.settings)
        self.assistant.set_page_title(self.settings, _('Settings'))
        self.assistant.set_page_complete(self.settings, True)
Example #20
0
    def _setup_page_summary(self):
        summary = gtk.Label()
        summary.set_markup(
            _('<span weight="bold">Summary!!!</span>\nPlease check if everything is correct.'
              ))
        summary.set_alignment(0, 0.5)

        self.name = gtk.Label()
        self.name.set_alignment(0, 0.5)

        self.base_version = gtk.Label()
        self.base_version.set_alignment(0, 0.5)

        self.compression = gtk.Label()
        self.compression.set_alignment(0, 0.5)

        table = gtk.Table(3, 2)
        label = gtk.Label(_('Name:'))
        label.set_alignment(1, 0.5)
        table.attach(label,
                     0,
                     1,
                     0,
                     1,
                     xoptions=gtk.FILL,
                     xpadding=5,
                     ypadding=2)
        table.attach(self.name, 1, 2, 0, 1, ypadding=2)
        label = gtk.Label(_('Base Version:'))
        label.set_alignment(1, 0.5)
        table.attach(label,
                     0,
                     1,
                     1,
                     2,
                     xoptions=gtk.FILL,
                     xpadding=5,
                     ypadding=2)
        table.attach(self.base_version, 1, 2, 1, 2, ypadding=2)
        label = gtk.Label(_('Compression:'))
        label.set_alignment(1, 0.5)
        table.attach(label,
                     0,
                     1,
                     2,
                     3,
                     xoptions=gtk.FILL,
                     xpadding=5,
                     ypadding=2)
        table.attach(self.compression, 1, 2, 2, 3, ypadding=2)

        box = gtk.VBox()
        box.pack_start(summary, False, False, 5)
        box.pack_start(table, False, False, 5)

        self.summary = gtk.Alignment(1, 1, 1, 1)
        self.summary.add(box)
        self.summary.set_padding(5, 5, 5, 5)

        self.assistant.append_page(self.summary)
        self.assistant.set_page_title(self.summary, _('Summary'))
        self.assistant.set_page_complete(self.summary, True)
        self.assistant.set_page_type(self.summary, gtk.ASSISTANT_PAGE_CONFIRM)
Example #21
0
# along with this program. If not, see <http://www.gnu.org/licenses/>.

from __future__ import print_function

import os
import os.path

import gtk

from knxremaster.create import create
from knxremaster.interface.misc import translate as _
from knxremaster.interface.script import Script
from knxremaster.toolkit.asynchron import gobject_exec
from knxremaster.versions import get_version

_steps = {'create_directories': _('creating target directory structure...'),
          'copy_master': _('copying cd/dvd...'),
          'write_settings': _('writing settings...'),
          'filesystem_decompress': _('decompressing filesystem...'),
          'filesystem_mount': _('mounting decompressed filesystem...'),
          'filesystem_copy': _('copying filesystem...'),
          'filesystem_umount': _('umounting decompressed filesystem'),
          'minirt_decompress': _('decompressing minirt...'),
          'minirt_unpack': _('unpacking decompressed minirt...'),
          'cleanup': _('cleaning up...')}

class Create():
    def __init__(self):
        self.assistant = gtk.Assistant()
        self.assistant.set_title(_('Knoppix Remasterscript'))
        self.assistant.set_position(gtk.WIN_POS_CENTER)
Example #22
0
 def _success(self):
     self._pulse_stop()
     self.progress.set_fraction(1)
     self.status.set_text(_('Finished...'))
     self.event('success').emit()
Example #23
0
 def _error(self, name, progress):
     self._pulse_stop()
     self.progress.set_fraction(0)
     self.status.set_text(_('Error...'))
     error(_('Error'), _('Error occurred during: "%s"') % (self.steps.get(name, name)), self.parent)
     self.event('error').emit()
Example #24
0
 def _success(self):
     self._pulse_stop()
     self.progress.set_fraction(1)
     self.status.set_text(_('Finished...'))
     self.event('success').emit()
Example #25
0
from __future__ import print_function

import os
import os.path

import gtk

from knxremaster.build import build
from knxremaster.interface.misc import translate as _
from knxremaster.interface.script import Script
from knxremaster.toolkit.asynchron import gobject_exec
from knxremaster.versions import get_version

_steps = {
    'prepare': _('prepare for building...'),
    'filesystem_image': _('create filesystem image...'),
    'filesystem_compress': _('compress filesystem image...'),
    'minirt_files': _('collect files for minirt...'),
    'minirt_image': _('create minirt image...'),
    'minirt_compress': _('compress minirt image...'),
    'iso_image': _('create cd/dvd iso image...'),
    'cleanup': _('cleanup...')
}


class Build():
    def __init__(self):
        self.assistant = gtk.Assistant()
        self.assistant.set_title(_('Knoppix Remasterscript'))
        self.assistant.set_position(gtk.WIN_POS_CENTER_ALWAYS)
Example #26
0
 def __init__(self, isolinux):
     gtk.VBox.__init__(self)
     self.set_spacing(5)
     
     self.isolinux = isolinux
     
     self.default = gtk.combo_box_new_text()
     self.default.connect('changed', self._default_changed)
     self.defaults = []
     for number, name in enumerate(self.isolinux):
         if name != 'default':
             self.default.append_text(name)
             self.defaults.append(name)
             if 'default' in self.isolinux.attributes and name == self.isolinux.attributes['default']:
                 self.default.set_active(number)
     
     self.timeout = gtk.Adjustment(int(self.isolinux.attributes['timeout']) if 'timeout' in self.isolinux.attributes else 0,
                                   0, 10000, 1, 10)
     self.timeout.connect('value-changed', self._timeout_changed)
     
     self.entries = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING)
     for name, options in self.isolinux.items():
         self.entries.append((name, options['kernel'], options['append']))
     
     self.view = gtk.TreeView(self.entries)
     
     renderer = gtk.CellRendererText()
     renderer.set_property('editable', True)
     renderer.connect('edited', self._label_edited)
     self.label = gtk.TreeViewColumn(_('Label'), renderer, text=0)
     self.view.append_column(self.label)
     
     renderer = gtk.CellRendererText()
     renderer.connect('edited', self._kernel_edited)
     renderer.set_property('editable', True)
     column = gtk.TreeViewColumn(_('Kernel'), renderer, text=1)
     self.view.append_column(column)
     
     renderer = gtk.CellRendererText()
     renderer.connect('edited', self._append_edited)
     renderer.set_property('editable', True)
     column = gtk.TreeViewColumn(_('Append'), renderer, text=2)
     self.view.append_column(column)
     
     scrolled = gtk.ScrolledWindow()
     scrolled.add(self.view)
             
     add = gtk.Button(stock=gtk.STOCK_ADD)
     add.connect('clicked', self._add)
     
     remove = gtk.Button(stock=gtk.STOCK_REMOVE)
     remove.connect('clicked', self._remove)
     
     buttons = gtk.HButtonBox()
     buttons.set_layout(gtk.BUTTONBOX_START)
     buttons.set_spacing(5)
     buttons.pack_start(add, False, False)
     buttons.pack_start(remove, False, False)
     
     table = gtk.Table(2, 2)
     table.attach(label(_('Default:'), (1, 0.5)), 0, 1, 0, 1, xoptions=gtk.FILL, xpadding=5, ypadding=2)
     table.attach(self.default, 1, 2, 0, 1, ypadding=2)
     table.attach(label(_('Timeout:'), (1, 0.5)), 0, 1, 1, 2, xoptions=gtk.FILL, xpadding=5, ypadding=2)
     table.attach(gtk.SpinButton(self.timeout), 1, 2, 1, 2, ypadding=2)
             
     self.pack_start(table, False, False)
     self.pack_start(scrolled)
     self.pack_start(buttons, False, False)
Example #27
0
# along with this program. If not, see <http://www.gnu.org/licenses/>.

from __future__ import print_function

import os
import os.path

import gtk

from knxremaster.build import build
from knxremaster.interface.misc import translate as _
from knxremaster.interface.script import Script
from knxremaster.toolkit.asynchron import gobject_exec
from knxremaster.versions import get_version

_steps = {'prepare': _('prepare for building...'),
          'filesystem_image': _('create filesystem image...'),
          'filesystem_compress': _('compress filesystem image...'),
          'minirt_files': _('collect files for minirt...'),
          'minirt_image': _('create minirt image...'),
          'minirt_compress': _('compress minirt image...'),
          'iso_image': _('create cd/dvd iso image...'),
          'cleanup': _('cleanup...')}

class Build():
    def __init__(self):
        self.assistant = gtk.Assistant()
        self.assistant.set_title(_('Knoppix Remasterscript'))
        self.assistant.set_position(gtk.WIN_POS_CENTER_ALWAYS)
        self.assistant.set_icon_from_file(os.path.join(os.path.dirname(__file__), 'resources', 'icon.png'))
        self.assistant.connect('prepare', self._prepare)