diff --git a/client/text_ui.py b/client/text_ui.py
index 3d7549415..6832a5b5f 100644
--- a/client/text_ui.py
+++ b/client/text_ui.py
@@ -1017,7 +1017,7 @@ def removePackages(packages = [], atomsdata = [], deps = True, deep = False, sys
elif rc == "Yes" and human:
doSelectiveRemoval = True
elif rc == "No" and human:
- rc = Equo.askQuestion(" %s") % (_("Would you like to skip this step then ?"),)
+ rc = Equo.askQuestion(" %s" % (_("Would you like to skip this step then ?"),))
if rc == "Yes":
return 0,0
elif deps:
diff --git a/spritz/gfx/button-queue.png b/spritz/gfx/button-queue.png
index 470b5d46f..c26576ee8 100644
Binary files a/spritz/gfx/button-queue.png and b/spritz/gfx/button-queue.png differ
diff --git a/spritz/gfx/sabayon.png b/spritz/gfx/sabayon.png
new file mode 100644
index 000000000..65086f1d3
Binary files /dev/null and b/spritz/gfx/sabayon.png differ
diff --git a/spritz/src/entropyapi.py b/spritz/src/entropyapi.py
index dffe1c3cf..0a22497a0 100644
--- a/spritz/src/entropyapi.py
+++ b/spritz/src/entropyapi.py
@@ -54,8 +54,8 @@ class QueueExecutor:
# unmask packages
for match in self.Spritz.etpbase.unmaskingPackages:
- result = self.Entropy.unmask_match(obj.matched_atom)
- if not result:
+ result = self.Entropy.unmask_match(match)
+ if not result or self.Entropy.is_match_masked(match):
dbconn = self.Entropy.openRepositoryDatabase(match[1])
atom = dbconn.retrieveAtom(match[0])
okDialog( self.Spritz.ui.main, "%s: %s" % (_("Error enabling masked package"),atom) )
@@ -112,6 +112,7 @@ class QueueExecutor:
Package.kill()
del Package
self.Entropy.cycleDone()
+
self.Spritz.ui.skipMirror.hide()
# then removalQueue
diff --git a/spritz/src/etpgui/packages.py b/spritz/src/etpgui/packages.py
index 1c48746df..de706bcf7 100644
--- a/spritz/src/etpgui/packages.py
+++ b/spritz/src/etpgui/packages.py
@@ -74,6 +74,12 @@ class EntropyPackage:
def getName(self):
return self.dbconn.retrieveAtom(self.matched_atom[0])
+ def isMasked(self):
+ idpackage, idmask = self.dbconn.idpackageValidator(self.matched_atom[0])
+ if idpackage != -1:
+ return False
+ return True
+
def getNameDesc(self):
t = cleanMarkupString('/'.join(self.getName().split("/")[1:]))
if self.masked:
@@ -307,6 +313,7 @@ class EntropyPackage:
version = property(fget=getVer)
release = property(fget=getRel)
slot = property(fget=getSlot)
+ maskstat = property(fget=isMasked)
keywords = property(fget=getKeywords)
useflags = property(fget=getUseflags)
homepage = property(fget=getHomepage)
diff --git a/spritz/src/gui.py b/spritz/src/gui.py
index 3af663a4e..139dda2d8 100644
--- a/spritz/src/gui.py
+++ b/spritz/src/gui.py
@@ -241,6 +241,9 @@ class SpritzGUI:
self.setupPkgFilter()
self.setupAdvisoriesFilter()
+ self.setupImages()
+
+
def on_console_click(self, widget, event):
self.console_menu.popup( None, None, None, event.button, event.time )
return True
@@ -334,6 +337,18 @@ class SpritzGUI:
self.ui.content.pack_start( button, False )
self.pageButtons[page] = button
+ def setupImages(self):
+
+ # progressImage
+ iconpath = os.path.join(const.PIXMAPS_PATH,"sabayon.png")
+ if os.path.isfile(iconpath) and os.access(iconpath,os.R_OK):
+ try:
+ p = gtk.gdk.pixbuf_new_from_file( iconpath )
+ self.ui.progressImage.set_from_pixbuf(p)
+ except gobject.GError:
+ pass
+
+
def setPage( self, page ):
self.activePage = page
widget = self.pageButtons[page]
diff --git a/spritz/src/spritz.glade b/spritz/src/spritz.glade
index be8e1a707..3299805a5 100644
--- a/spritz/src/spritz.glade
+++ b/spritz/src/spritz.glade
@@ -976,41 +976,98 @@
True
-
+
True
+ 10
+ 6
-
+
+ True
+ gtk-missing-image
+ 6
+
+
+ False
+ False
+ 4
+
+
+
+
True
-
+
True
- 10
6
-
+
True
- gtk-dialog-info
- 6
+ 0
+ 0
+ True
False
False
- 4
-
+
True
-
+
True
- 6
+ 0
+ True
+
+
+
+
+ False
+ False
+ 1
+
+
+
+
+
+ False
+ False
+ 2
+
+
+
+
+
+
+ 1
+
+
+
+
+ True
+ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
+
+
+ True
+ 0
+
+
+
+ True
+ 0
+ 0
+
+
+ True
+ 2
-
+
True
- 0
- 0
- True
+ gtk-media-forward
False
@@ -1018,119 +1075,10 @@
-
+
True
-
-
- True
- 0
- True
-
-
-
-
- True
- GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
-
-
- True
- 0
-
-
-
- True
- 0
- 0
-
-
- True
- 2
-
-
- True
- gtk-media-forward
-
-
- False
- False
-
-
-
-
- True
- _Skip mirror
- True
-
-
- False
- False
- 1
-
-
-
-
-
-
-
-
- False
- False
-
-
-
-
- True
- 0
-
-
-
- True
- 0
- 0
-
-
- True
- 2
-
-
- True
- gtk-media-stop
-
-
- False
- False
-
-
-
-
- True
- _Abort queue
- True
-
-
- False
- False
- 1
-
-
-
-
-
-
-
-
- False
- False
- 1
-
-
-
-
- False
- False
- 1
-
-
+ _Skip mirror
+ True
False
@@ -1138,41 +1086,81 @@
1
+
+
+
+
+
+
+ False
+ False
+
+
+
+
+ True
+ 0
+
+
+
+ True
+ 0
+ 0
+
+
+ True
+ 2
-
+
+
+ True
+ _Abort queue
+ True
+
+
+ False
+ False
+ 1
-
- 1
-
+
+ False
+ False
+ 1
+
+
+ False
+ False
+ 2
+
-
- False
- False
-
-
+
True
+ 6
-
+
True
- 6
+ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
+ 15
True
@@ -1180,11 +1168,20 @@
- False
- False
8
+
+
+ True
+ 0.0099999997764800008
+
+
+
+ 9
+ 1
+
+
@@ -1192,28 +1189,6 @@
1
-
-
- True
- 0.0099999997764800008
-
-
-
- False
- False
- 9
- 2
-
-
-
-
- True
- GTK_BUTTONBOX_END
-
-
- 3
-
-
False
@@ -2372,56 +2347,14 @@
3
2
-
- True
- True
- GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
- 150
-
-
- 1
- 2
- 2
- 3
-
-
-
-
- True
- True
- GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
- 150
-
-
- 1
- 2
- 1
- 2
-
-
-
-
- True
- True
- GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
- 150
-
-
- 1
- 2
-
-
-
-
+
True
GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
0
10
- What you were doing
+ Your Full Name
- 2
- 3
GTK_FILL
@@ -2440,17 +2373,59 @@
-
+
True
GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
0
10
- Your Full Name
+ What you were doing
+ 2
+ 3
GTK_FILL
+
+
+ True
+ True
+ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
+ 150
+
+
+ 1
+ 2
+
+
+
+
+ True
+ True
+ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
+ 150
+
+
+ 1
+ 2
+ 1
+ 2
+
+
+
+
+ True
+ True
+ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
+ 150
+
+
+ 1
+ 2
+ 2
+ 3
+
+
3
@@ -2933,129 +2908,18 @@
10
3
-
+
True
- True
+ bz2
+gz
1
2
- 5
- 6
-
-
-
-
-
- True
- 0
- Repository Services Port
-
-
- 5
- 6
- GTK_FILL
-
-
-
-
-
- True
- 0
- Identifier
-
-
- GTK_FILL
-
-
-
-
-
- True
- 0
- Description
-
-
- 1
- 2
- GTK_FILL
-
-
-
-
-
- True
- 0
- Download mirrors
-
-
- 2
- 3
- GTK_FILL
-
-
-
-
-
- True
- 0
- Database URL
-
-
- 3
- 4
- GTK_FILL
-
-
-
-
-
- True
- True
-
-
- 1
- 2
-
-
-
-
-
- True
- True
-
-
- 1
- 2
- 1
- 2
-
-
-
-
-
- True
- True
-
-
- 1
- 2
- 3
- 4
-
-
-
-
-
- True
- 0
- Database compression
-
-
4
5
GTK_FILL
-
+ GTK_FILL
@@ -3196,18 +3060,129 @@
-
+
True
- bz2
-gz
+ 0
+ Database compression
+
+
+ 4
+ 5
+ GTK_FILL
+
+
+
+
+
+ True
+ True
1
2
- 4
- 5
+ 3
+ 4
+
+
+
+
+
+ True
+ True
+
+
+ 1
+ 2
+ 1
+ 2
+
+
+
+
+
+ True
+ True
+
+
+ 1
+ 2
+
+
+
+
+
+ True
+ 0
+ Database URL
+
+
+ 3
+ 4
GTK_FILL
- GTK_FILL
+
+
+
+
+
+ True
+ 0
+ Download mirrors
+
+
+ 2
+ 3
+ GTK_FILL
+
+
+
+
+
+ True
+ 0
+ Description
+
+
+ 1
+ 2
+ GTK_FILL
+
+
+
+
+
+ True
+ 0
+ Identifier
+
+
+ GTK_FILL
+
+
+
+
+
+ True
+ 0
+ Repository Services Port
+
+
+ 5
+ 6
+ GTK_FILL
+
+
+
+
+
+ True
+ True
+
+
+ 1
+ 2
+ 5
+ 6
+
@@ -3433,6 +3408,23 @@ gz
+
+
+
@@ -4077,7 +4069,7 @@ gz
2
15
-
+
True
GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
0
@@ -4088,21 +4080,57 @@ gz
1
2
- 2
- 3
+ 3
+ 4
-
+
True
GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
0
- CXXFLAGS
+ Masked
True
- 2
- 3
+ 3
+ 4
+
+
+
+
+ True
+ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
+ 0
+ CHOST
+ True
+
+
+
+
+ True
+ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
+ 0
+ True
+ True
+ True
+
+
+ 1
+ 2
+
+
+
+
+ True
+ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
+ 0
+ CFLAGS
+ True
+
+
+ 1
+ 2
@@ -4122,20 +4150,20 @@ gz
-
+
True
GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
0
- CFLAGS
+ CXXFLAGS
True
- 1
- 2
+ 2
+ 3
-
+
True
GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
0
@@ -4146,44 +4174,8 @@ gz
1
2
-
-
-
-
- True
- GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
- 0
- CHOST
- True
-
-
-
-
- True
- GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
- 0
- Masked
- True
-
-
- 3
- 4
-
-
-
-
- True
- GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
- 0
- True
- True
- True
-
-
- 1
- 2
- 3
- 4
+ 2
+ 3
@@ -5373,23 +5365,15 @@ Please read them carefully and <b>make your choice</b>.
2
2
-
+
True
GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
- 0
- Announced
- True
-
-
-
-
- True
- GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
- 0
- Revised
+ 1
True
+ 1
+ 2
1
2
@@ -5407,19 +5391,27 @@ Please read them carefully and <b>make your choice</b>.
-
+
True
GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
- 1
+ 0
+ Revised
True
- 1
- 2
1
2
+
+
+ True
+ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
+ 0
+ Announced
+ True
+
+
@@ -5663,7 +5655,7 @@ Please read them carefully and <b>make your choice</b>.
True
GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
- Enable
+ _Enable
True
@@ -5696,7 +5688,8 @@ Please read them carefully and <b>make your choice</b>.
True
GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
- Enable all
+ Enable _all
+ True
1
diff --git a/spritz/src/views.py b/spritz/src/views.py
index 5aec276aa..e9db6e18d 100644
--- a/spritz/src/views.py
+++ b/spritz/src/views.py
@@ -26,6 +26,7 @@ from entropyapi import EquoConnection
from etpgui import *
from entropyConstants import *
from entropy_i18n import _,_LOCALE
+from dialogs import MaskedPackagesDialog
TOGGLE_WIDTH = 12
@@ -133,6 +134,7 @@ class EntropyPackageView:
self.installed_undopurge = self.installed_menu_xml.get_widget( "undopurge" )
self.installed_remove = self.installed_menu_xml.get_widget( "remove" )
self.installed_undoremove = self.installed_menu_xml.get_widget( "undoremove" )
+ self.installed_unmask = self.installed_menu_xml.get_widget( "unmask" )
self.installed_reinstall.set_image(self.img_pkg_reinstall)
self.installed_undoreinstall.set_image(self.img_pkg_undoreinstall)
self.installed_remove.set_image(self.img_pkg_remove)
@@ -175,6 +177,7 @@ class EntropyPackageView:
self.updates_update.hide()
def reset_installed_packages_menu(self):
+ self.installed_unmask.hide()
self.installed_undoremove.hide()
self.installed_undoreinstall.hide()
self.installed_undopurge.hide()
@@ -187,6 +190,7 @@ class EntropyPackageView:
self.installed_purge.show()
def hide_installed_packages_menu(self):
+ self.installed_unmask.hide()
self.installed_undoremove.hide()
self.installed_undoreinstall.hide()
self.installed_undopurge.hide()
@@ -270,6 +274,10 @@ class EntropyPackageView:
def run_installed_menu_stuff(self, obj):
do_show = True
self.reset_installed_packages_menu()
+ if obj.masked:
+ # still ?
+ if obj.maskstat:
+ self.installed_unmask.show()
if obj.queued:
self.hide_installed_packages_menu()
if obj.queued == "r" and not obj.do_purge:
@@ -307,6 +315,19 @@ class EntropyPackageView:
self.loaded_reinstallable = to_obj
break
+ def on_unmask_activate(self, widget):
+ busyCursor(self.main_window)
+ model, iter = self.loaded_widget.get_selection().get_selected()
+ obj = self.store.get_value( iter, 0 )
+
+ oldmask = self.etpbase.unmaskingPackages.copy()
+ mydialog = MaskedPackagesDialog(self.Equo, self.etpbase, self.ui.main, [obj])
+ result = mydialog.run()
+ if result != -5:
+ self.etpbase.unmaskingPackages = oldmask.copy()
+ mydialog.destroy()
+ normalCursor(self.main_window)
+
def on_remove_activate(self, widget, do_purge = False):
busyCursor(self.main_window)
model, iter = self.loaded_widget.get_selection().get_selected()
@@ -654,8 +675,6 @@ class EntropyQueueView:
def setup_view( self ):
- #column.set_fixed_width( size )
-
model = gtk.TreeStore( gobject.TYPE_STRING )
self.view.set_model( model )
cell1 = gtk.CellRendererText()