diff --git a/TODO b/TODO index 3bd409c0e..500730b1f 100644 --- a/TODO +++ b/TODO @@ -15,7 +15,6 @@ TODO list - find a way to better handle real smartapps deps (need split PDEPEND?) Spritz: - - configuration menu (equo.conf + others interface) - Popularity feature / Your Ego service - Category <-> Image dictionary (for the properties menu) - Spritz related preferences diff --git a/spritz/Makefile b/spritz/Makefile index 095fa8f6c..60100e9cc 100644 --- a/spritz/Makefile +++ b/spritz/Makefile @@ -22,6 +22,7 @@ install: mkdir -p $(DESTDIR)/usr/share/pixmaps/spritz/packages mkdir -p $(DESTDIR)/usr/share/pixmaps/spritz/applet mkdir -p $(DESTDIR)/usr/share/applications + mkdir -p $(DESTDIR)/usr/share/mimelnk/application mkdir -p $(DESTDIR)/usr/share/autostart mkdir -p $(DESTDIR)/etc/xdg/autostart mkdir -p $(DESTDIR)/usr/bin @@ -35,6 +36,7 @@ install: install -m644 $(PIXDIR)/applet/*.png $(DESTDIR)/usr/share/pixmaps/spritz/applet/. install -m644 $(PIXDIR)/entropy-applet.png $(DESTDIR)/usr/share/pixmaps/. install -m644 $(MISCDIR)/spritz.pam $(DESTDIR)/etc/pam.d/spritz + install -m644 $(MISCDIR)/kde_x-spritz.desktop $(DESTDIR)/usr/share/mimelnk/application/. chmod +x $(DESTDIR)/usr/bin/spritz chmod +x $(DESTDIR)/usr/bin/etp-applet-gui install -m644 $(MISCDIR)/*.desktop $(DESTDIR)/usr/share/applications/. diff --git a/spritz/misc/kde_x-spritz.desktop b/spritz/misc/kde_x-spritz.desktop new file mode 100644 index 000000000..08349daff --- /dev/null +++ b/spritz/misc/kde_x-spritz.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Encoding=UTF-8 +MimeType=application/x-tar;application/x-tgz;application/x-tbz;application/x-tbz2;application/x-tarz +Comment=Entropy Graphical Package Manager +Icon=/usr/share/pixmaps/spritz/spritz-icon.png +Type=MimeType +Patterns=*.tbz2 +Hidden=false +X-KDE-AutoEmbed=false diff --git a/spritz/misc/spritz b/spritz/misc/spritz index 806480bbe..ceb9b7ee4 100755 --- a/spritz/misc/spritz +++ b/spritz/misc/spritz @@ -35,6 +35,9 @@ def setup_env(): setup_env() +tbz2s = [x for x in sys.argv[1:] if x.endswith(".tbz2")] +if tbz2s: + os.environ['SPRITZ_PACKAGES'] = ';'.join(tbz2s) if os.getuid() == 0: rc = os.system(spritz_path) else: diff --git a/spritz/misc/spritz.desktop b/spritz/misc/spritz.desktop index 9c7765b36..594999ebc 100644 --- a/spritz/misc/spritz.desktop +++ b/spritz/misc/spritz.desktop @@ -7,4 +7,4 @@ Icon=/usr/share/pixmaps/spritz/spritz-icon.png Exec=spritz %f Type=Application Terminal=false -MimeType=application/x-bzip-compressed-tar +MimeType=application/x-tar;application/x-tgz;application/x-tbz;application/x-tbz2;application/x-tarz diff --git a/spritz/src/spritz.py b/spritz/src/spritz.py index c712eb06b..51a17a13e 100644 --- a/spritz/src/spritz.py +++ b/spritz/src/spritz.py @@ -613,6 +613,8 @@ class SpritzController(Controller): if not rc: return + self.pkgView.store.clear() + newrepo = os.path.basename(fn) # we have it ! status, atomsfound = self.Equo.add_tbz2_to_repos(fn) @@ -632,9 +634,10 @@ class SpritzController(Controller): self.etpbase.clearPackages() self.etpbase.clearCache() self.Equo.removeRepository(newrepo) - self.addPackages() - self.pkgView.queue_draw() - self.queueView.refresh() + self.Equo.closeAllRepositoryDatabases() + self.Equo.reopenClientDbconn() + # regenerate packages information + self.setupSpritz() if not atomsfound: clean_n_quit(newrepo) @@ -1091,9 +1094,21 @@ class SpritzApplication(SpritzController,SpritzGUI): self.resetProgressText() self.pkgProperties_selected = None self.setupAdvPropertiesView() - self.setupPreferences() + packages_install = os.getenv("SPRITZ_PACKAGES") + if packages_install: + packages_install = [x for x in packages_install.split(";") if os.path.isfile(x)] + for arg in sys.argv: + if arg.endswith(etpConst['packagesext']) and os.path.isfile(arg): + arg = os.path.realpath(arg) + packages_install.append(arg) + if packages_install: + time.sleep(1) + fn = packages_install[0] + self.on_installPackageItem_activate(None,fn) + + def setupPreferences(self): # config protect