- created a mockup of the Spritz files update interface

- tesing a fix for IOError exception trapping


git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@1168 cd1c1023-2f26-0410-ae45-c471fc1f0318
This commit is contained in:
(no author)
2008-02-07 21:13:28 +00:00
parent 5533f38d56
commit 7d030d0ecf
7 changed files with 494 additions and 8 deletions
+1 -1
View File
@@ -341,7 +341,7 @@ except exceptionTools.RepositoryError, e:
sys.exit(101)
except SystemExit:
pass
except IOError, (errno,errstr):
except IOError, (errno, strerror):
reset_cache()
if errno != 32:
raise
+1 -1
View File
@@ -2035,7 +2035,7 @@ class EquoInterface(TextInterface):
'''
Repository interface :: end
'''
'''
Configuration files (updates, not entropy related) interface :: begin
'''
Binary file not shown.

After

Width:  |  Height:  |  Size: 744 B

+3 -1
View File
@@ -273,8 +273,9 @@ class SpritzGUI:
self.Entropy = EquoConnection
self.etpbase = etpbase
self.queue = SpritzQueue()
self.queueView = YumexQueueView(self.ui.queueView,self.queue)
self.queueView = EntropyQueueView(self.ui.queueView,self.queue)
self.pkgView = EntropyPackageView(self.ui.viewPkg,self.queueView, self.ui, self.etpbase)
self.filesView = EntropyFilesView(self.ui.filesView)
self.queue.connect_objects(self.Entropy, self.etpbase, self.pkgView, self.ui)
#self.catView = YumexCategoryView(self.ui.tvCategory)
self.catsView = CategoriesView(self.ui.tvComps,self.queueView)
@@ -362,6 +363,7 @@ class SpritzGUI:
self.ui.pageImage0.set_from_file ( const.PIXMAPS_PATH + '/button-repo.png' )
self.ui.pageImage3.set_from_file ( const.PIXMAPS_PATH + '/button-group.png' )
self.ui.pageImage4.set_from_file ( const.PIXMAPS_PATH + '/button-queue.png' )
self.ui.pageImage5.set_from_file ( const.PIXMAPS_PATH + '/button-conf.png' )
def createButton( self, text, icon, page,first = None ):
if first:
+439 -4
View File
@@ -2780,20 +2780,455 @@
<child>
<widget class="GtkVBox" id="vbox89">
<property name="border_width">6</property>
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<property name="spacing">6</property>
<child>
<placeholder/>
<widget class="GtkHBox" id="hbox126">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkLabel" id="label191">
<property name="visible">True</property>
<property name="label" translatable="yes">&lt;span size=&quot;xx-large&quot; color=&quot;black&quot;&gt;Files Update&lt;/span&gt;</property>
<property name="use_underline">False</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkImage" id="pageImage5">
<property name="visible">True</property>
<property name="stock">gtk-missing-image</property>
<property name="icon_size">4</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="pack_type">GTK_PACK_END</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">True</property>
</packing>
</child>
<child>
<placeholder/>
<widget class="GtkHBox" id="hbox127">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkVButtonBox" id="vbuttonbox1">
<property name="border_width">6</property>
<property name="visible">True</property>
<property name="layout_style">GTK_BUTTONBOX_SPREAD</property>
<property name="spacing">0</property>
<child>
<widget class="GtkButton" id="filesViewChanges">
<property name="visible">True</property>
<property name="can_default">True</property>
<property name="can_focus">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<child>
<widget class="GtkAlignment" id="alignment85">
<property name="visible">True</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xscale">0</property>
<property name="yscale">0</property>
<property name="top_padding">0</property>
<property name="bottom_padding">0</property>
<property name="left_padding">0</property>
<property name="right_padding">0</property>
<child>
<widget class="GtkHBox" id="hbox131">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">2</property>
<child>
<widget class="GtkImage" id="image295">
<property name="visible">True</property>
<property name="stock">gtk-zoom-fit</property>
<property name="icon_size">4</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label195">
<property name="visible">True</property>
<property name="label" translatable="yes">C_hanges</property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</widget>
</child>
</widget>
</child>
</widget>
</child>
<child>
<widget class="GtkButton" id="filesEdit">
<property name="visible">True</property>
<property name="can_default">True</property>
<property name="can_focus">True</property>
<property name="label">gtk-edit</property>
<property name="use_stock">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
</widget>
</child>
<child>
<widget class="GtkButton" id="filesMerge">
<property name="visible">True</property>
<property name="can_default">True</property>
<property name="can_focus">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<child>
<widget class="GtkAlignment" id="alignment84">
<property name="visible">True</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xscale">0</property>
<property name="yscale">0</property>
<property name="top_padding">0</property>
<property name="bottom_padding">0</property>
<property name="left_padding">0</property>
<property name="right_padding">0</property>
<child>
<widget class="GtkHBox" id="hbox130">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">2</property>
<child>
<widget class="GtkImage" id="image294">
<property name="visible">True</property>
<property name="stock">gtk-apply</property>
<property name="icon_size">4</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label194">
<property name="visible">True</property>
<property name="label" translatable="yes">M_erge</property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</widget>
</child>
</widget>
</child>
</widget>
</child>
<child>
<widget class="GtkButton" id="filesDelete">
<property name="visible">True</property>
<property name="can_default">True</property>
<property name="can_focus">True</property>
<property name="label">gtk-delete</property>
<property name="use_stock">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkScrolledWindow" id="scrolledwindow48">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<property name="shadow_type">GTK_SHADOW_IN</property>
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
<child>
<widget class="GtkTreeView" id="filesView">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="headers_visible">True</property>
<property name="rules_hint">False</property>
<property name="reorderable">False</property>
<property name="enable_search">True</property>
<property name="fixed_height_mode">False</property>
<property name="hover_selection">False</property>
<property name="hover_expand">False</property>
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
<child>
<placeholder/>
<widget class="GtkHButtonBox" id="hbuttonbox34">
<property name="visible">True</property>
<property name="layout_style">GTK_BUTTONBOX_END</property>
<property name="spacing">24</property>
<child>
<widget class="GtkButton" id="deleteFiles">
<property name="visible">True</property>
<property name="can_default">True</property>
<property name="can_focus">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<child>
<widget class="GtkAlignment" id="alignment86">
<property name="visible">True</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xscale">0</property>
<property name="yscale">0</property>
<property name="top_padding">0</property>
<property name="bottom_padding">0</property>
<property name="left_padding">0</property>
<property name="right_padding">0</property>
<child>
<widget class="GtkHBox" id="hbox132">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">2</property>
<child>
<widget class="GtkImage" id="image296">
<property name="visible">True</property>
<property name="stock">gtk-delete</property>
<property name="icon_size">4</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label196">
<property name="visible">True</property>
<property name="label" translatable="yes">Dele_te all</property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</widget>
</child>
</widget>
</child>
</widget>
</child>
<child>
<widget class="GtkButton" id="mergeFiles">
<property name="visible">True</property>
<property name="can_default">True</property>
<property name="can_focus">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
<child>
<widget class="GtkAlignment" id="alignment87">
<property name="visible">True</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xscale">0</property>
<property name="yscale">0</property>
<property name="top_padding">0</property>
<property name="bottom_padding">0</property>
<property name="left_padding">0</property>
<property name="right_padding">0</property>
<child>
<widget class="GtkHBox" id="hbox133">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">2</property>
<child>
<widget class="GtkImage" id="image297">
<property name="visible">True</property>
<property name="stock">gtk-apply</property>
<property name="icon_size">4</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label197">
<property name="visible">True</property>
<property name="label" translatable="yes">Merge all</property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</widget>
</child>
</widget>
</child>
</widget>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</widget>
<packing>
+16
View File
@@ -313,6 +313,8 @@ class SpritzController(Controller):
def on_PageButton_changed( self, widget, page ):
''' Left Side Toolbar Handler'''
if page == "filesconf":
self.populateFilesUpdate()
self.setNotebookPage(const.PAGES[page])
def on_category_selected(self,widget):
@@ -671,6 +673,20 @@ class SpritzApplication(SpritzController,SpritzGUI):
if alone:
self.progress.total.show()
def populateFilesUpdate(self):
# load filesUpdate interface and fill self.filesView
cached = None
try:
cached = self.Equo.FileUpdates.load_cache()
except exceptionTools.CacheCorruptionError:
pass
if cached == None:
self.startWorking()
cached = self.Equo.FileUpdates.scanfs()
self.endWorking()
if cached:
self.filesView.populate(cached)
def updateRepositories(self, repos):
self.setPage('output')
self.startWorking()
+34 -1
View File
@@ -491,7 +491,7 @@ class EntropyPackageView:
else:
cell.set_property( 'visible', False )
class YumexQueueView:
class EntropyQueueView:
""" Queue View Class"""
def __init__( self, widget, queue ):
self.view = widget
@@ -567,6 +567,39 @@ class YumexQueueView:
for pkg in list:
self.model.append( parent, [str( pkg ), pkg.description] )
class EntropyFilesView:
""" Queue View Class"""
def __init__( self, widget ):
self.view = widget
self.model = self.setup_view()
def setup_view( self ):
""" Create Notebook list for single page """
model = gtk.TreeStore( gobject.TYPE_STRING, gobject.TYPE_STRING )
self.view.set_model( model )
cell1 = gtk.CellRendererText()
column1 = gtk.TreeViewColumn( _( "Configuration file" ), cell1, markup = 0 )
column1.set_sizing( gtk.TREE_VIEW_COLUMN_FIXED )
column1.set_fixed_width( 500 )
column1.set_resizable( True )
self.view.append_column( column1 )
cell2 = gtk.CellRendererText()
column2 = gtk.TreeViewColumn( _( "Rev." ), cell2, text=1 )
column2.set_resizable( True )
column2.set_sizing( gtk.TREE_VIEW_COLUMN_FIXED )
column2.set_fixed_width( 30 )
self.view.append_column( column2 )
model.set_sort_column_id( 0, gtk.SORT_ASCENDING )
self.view.get_selection().set_mode( gtk.SELECTION_MULTIPLE )
return model
def populate( self, scandata ):
self.model.clear()
keys = scandata.keys()
keys.sort()
for key in keys:
self.model.append(None,[scandata[key]['destination'],scandata[key]['revision']])
class CategoriesView:
def __init__( self, treeview,qview):