summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/Changelog2
-rw-r--r--doc/TODO1
-rw-r--r--ebuild.lang113
-rw-r--r--i18n/de.po197
-rw-r--r--i18n/messages.pot189
-rw-r--r--portato/constants.py72
-rw-r--r--portato/gui/gtk/basic.py4
-rw-r--r--portato/gui/gtk/windows.py7
-rw-r--r--portato/gui/templates/portato.glade150
-rw-r--r--setup.py4
10 files changed, 524 insertions, 215 deletions
diff --git a/doc/Changelog b/doc/Changelog
index 31a9a92..b14c2d3 100644
--- a/doc/Changelog
+++ b/doc/Changelog
@@ -4,6 +4,8 @@ next:
- fix update world
- added support for pygtksourceview-2
- adding support for the catapult backend
+- adding "Save As" button for the exception dialog
+- some tooltips and new button labels
0.8.5:
- added an uncaught exception dialog
diff --git a/doc/TODO b/doc/TODO
index 720a5c4..89ba4c0 100644
--- a/doc/TODO
+++ b/doc/TODO
@@ -37,7 +37,6 @@ GTK:
- make oneshot better
- show installed files
- show dependencies
-- new names for the Emerge and Unmerge button in the package table
- reload package table when emerge is finished
Qt (stopped):
diff --git a/ebuild.lang b/ebuild.lang
new file mode 100644
index 0000000..d01eb3c
--- /dev/null
+++ b/ebuild.lang
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ GtkSourceView syntax highlight for Gentoo-specific files
+
+ Originally written for gtksourceview-1.x by:
+ Leonardo Ferreira Fontenelle <leo.fontenelle@gmail.com>, 2006.
+ Rewritten for gtksourceview-2 by:
+ Rene 'Necoro' Neumann <necoro@necoro.net>, 2007
+
+ Distributed under the same license(s) as gtksourceview.
+
+ TODO:
+ - do not highlight "enable" in the configure options
+ - perhaps highlight portage variables and portage functions different
+
+-->
+
+<language name="ebuild" id="ebuild" version="2.0" _section="Scripts">
+ <metadata>
+ <property name="mimetypes">text/plain</property>
+ <property name="globs">*.ebuild;*.eclass</property>
+ <property name="line-comment-start">#</property>
+ </metadata>
+
+ <styles>
+ <style id="variable" _name="Portage variables" map-to="def:builtin" />
+ <style id="command" _name="Portage command" map-to="def:type" />
+ <style id="function" _name="Portage function" map-to="def:function" />
+ </styles>
+
+ <definitions>
+
+ <!-- rewrite shell string to show highlighted variables -->
+ <context id="string" style-ref="def:string">
+ <start>"</start>
+ <end>"</end>
+ <include>
+ <context ref="def:escape"/>
+ <context ref="def:line-continue"/>
+ <context ref="sh:variable1"/>
+ </include>
+ </context>
+
+ <context id="string-2" style-ref="def:string">
+ <start>'</start>
+ <end>'</end>
+ <include>
+ <context ref="def:escape"/>
+ <context ref="def:line-continue"/>
+ <context ref="sh:variable1"/>
+ </include>
+ </context>
+
+ <!-- subprograms:
+ - $(..) is not supported currently in the normal sh.lang
+ - `...` is interpreted as string - I think the subshell behavior is more acurate -->
+ <context id="subprogram">
+ <start>\$\(</start>
+ <end>\)</end>
+ <include>
+ <context sub-pattern="0" where="start" style-ref="sh:keyword"/>
+ <context sub-pattern="0" where="end" style-ref="sh:keyword"/>
+ <context ref="ebuild"/>
+ </include>
+ </context>
+
+ <context id="subprogram-2">
+ <start>`</start>
+ <end>`</end>
+ <include>
+ <context sub-pattern="0" where="start" style-ref="sh:keyword"/>
+ <context sub-pattern="0" where="end" style-ref="sh:keyword"/>
+ <context ref="ebuild"/>
+ </include>
+ </context>
+
+ <!-- portage variables - currently unused -->
+ <context id="portvars" style-ref="variable">
+ <match>\b((ARCH|HOMEPAGE|DESCRIPTION|IUSE|SRC_URI|LICENSE|SLOT|KEYWORDS|FILESDIR|WORKDIR|(P|R)?DEPEND|PROVIDE|DISTDIR|RESTRICT|USERLAND)|(S|D|T|PV|PF|P|PN|A)|C(XX)?FLAGS|LDFLAGS|C(HOST|TARGET|BUILD))\b</match>
+ </context>
+
+ <!-- portage functions - currently unused -->
+ <context id="portfuncs" style-ref="function">
+ <match>^(src_(unpack|compile|install|test)|pkg_(config|nofetch|setup|(pre|post)(inst|rm)))</match>
+ </context>
+
+ <!-- extra portage commands -->
+ <context id="portcmds" style-ref="command">
+ <match>\b(e(begin|end|conf|install|make|warn|infon?|error|patch)|die|use(_(with|enable))?|inherit|has|(has|best)_version|unpack|(do|new)(ins|s?bin|doc|lib(|\.so|\.a)|man|info|exe|initd|confd|envd|pam|menu|icon)|do(python|sed|dir|hard|sym|html|jar|mo)|keepdir|prepall(|docs|info|man|strip)|prep(info|lib|lib\.(so|a)|man|strip)|(|doc|ins|exe)into|f(owners|perms)|(exe|ins|dir)opts)\b</match>
+ </context>
+
+ <context id="built-in-command">
+ <include> <!-- do not include "sh:built-in-command" as it is replaced down there - which would lead to an endless loop -->
+ <context ref="sh:built-in-command-1" />
+ <context ref="sh:built-in-command-2" />
+ <context ref="portcmds" />
+ </include>
+ </context>
+
+ <!-- ebuild is just a shell with the replacements -->
+ <replace id="sh:string" ref="string" />
+ <replace id="sh:string-2" ref="string-2" />
+ <replace id="sh:built-in-command" ref="built-in-command" />
+ <replace id="sh:backtick-string" ref="subprogram-2" />
+ <context id="ebuild">
+ <include>
+ <context ref="subprogram"/>
+ <context ref="sh:sh"/>
+ </include>
+ </context>
+ </definitions>
+</language>
diff --git a/i18n/de.po b/i18n/de.po
index 4e4621b..2dc1f6a 100644
--- a/i18n/de.po
+++ b/i18n/de.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Portato\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2007-10-15 20:18+0100\n"
+"PO-Revision-Date: 2007-10-15 21:06+0100\n"
"Last-Translator: René 'Necoro' Neumann <necoro@necoro.net>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -25,7 +25,7 @@ msgid "Re_load Portage"
msgstr "Aktua_lisiere Portage-Cache"
#: portato/gui/templates/portato.glade:68
-#: portato/gui/templates/portato.glade:1577
+#: portato/gui/templates/portato.glade:1703
msgid "gtk-quit"
msgstr ""
@@ -34,20 +34,17 @@ msgid "_Emerge"
msgstr "_Emerge"
#: portato/gui/templates/portato.glade:89
-#: portato/gui/templates/portato.glade:516
-#: portato/gui/templates/portato.glade:721
-#: portato/gui/gtk/windows.py:716
+#: portato/gui/templates/portato.glade:814
msgid "E_merge"
msgstr "E_merge"
#: portato/gui/templates/portato.glade:104
-#: portato/gui/templates/portato.glade:525
-#: portato/gui/templates/portato.glade:730
+#: portato/gui/templates/portato.glade:848
msgid "_Unmerge"
msgstr "_Unmerge"
#: portato/gui/templates/portato.glade:118
-#: portato/gui/templates/portato.glade:742
+#: portato/gui/templates/portato.glade:867
msgid "Update _World"
msgstr "Update _World"
@@ -65,13 +62,13 @@ msgstr "Speichere _Flags"
#: portato/gui/templates/portato.glade:177
#: portato/gui/templates/portato.glade:271
-#: portato/gui/templates/portato.glade:1552
+#: portato/gui/templates/portato.glade:1678
msgid "Emerge _Paused"
msgstr "Emerge _angehalten"
#: portato/gui/templates/portato.glade:185
#: portato/gui/templates/portato.glade:253
-#: portato/gui/templates/portato.glade:1559
+#: portato/gui/templates/portato.glade:1685
msgid "_Kill Emerge"
msgstr "_Kill Emerge"
@@ -121,119 +118,155 @@ msgstr "Installiert"
#: portato/gui/gtk/windows.py:693
#: portato/gui/gtk/windows.py:696
#: portato/gui/gtk/windows.py:699
-#: portato/gui/gtk/windows.py:798
-#: portato/gui/gtk/windows.py:801
-#: portato/gui/gtk/windows.py:808
-#: portato/gui/gtk/windows.py:812
+#: portato/gui/gtk/windows.py:796
+#: portato/gui/gtk/windows.py:799
+#: portato/gui/gtk/windows.py:806
+#: portato/gui/gtk/windows.py:810
msgid "Masked"
msgstr "Masked"
#: portato/gui/templates/portato.glade:490
#: portato/gui/gtk/windows.py:706
#: portato/gui/gtk/windows.py:709
-#: portato/gui/gtk/windows.py:770
-#: portato/gui/gtk/windows.py:775
+#: portato/gui/gtk/windows.py:768
+#: portato/gui/gtk/windows.py:773
msgid "Testing"
msgstr "Testing"
-#: portato/gui/templates/portato.glade:537
+#: portato/gui/templates/portato.glade:516
+msgid "Mark package for installation"
+msgstr "Merke das Paket zur Installation vor"
+
+#: portato/gui/templates/portato.glade:535
+msgid "Add to E_merge Queue"
+msgstr "Füge zur E_merge Queue hinzu"
+
+#: portato/gui/templates/portato.glade:550
+msgid "Mark package for deinstallation"
+msgstr "Merke das Paket zur Deinstallation vor"
+
+#: portato/gui/templates/portato.glade:569
+msgid "Add to _Unmerge Queue"
+msgstr "Füge zur _Unmerge Queue hinzu"
+
+#: portato/gui/templates/portato.glade:605
msgid "Re_vert"
msgstr "_Wiederherstellen"
-#: portato/gui/templates/portato.glade:549
+#: portato/gui/templates/portato.glade:622
+msgid "Show the ebuild for this package"
+msgstr "Öffne das Ebuild für dieses Paket"
+
+#: portato/gui/templates/portato.glade:623
msgid "E_build"
msgstr "E_build"
-#: portato/gui/templates/portato.glade:570
+#: portato/gui/templates/portato.glade:644
msgid "<span foreground='red'><b>MISSING KEYWORD</b></span>"
msgstr "<span foreground='red'><b>FEHLENDES KEYWORD</b></span>"
-#: portato/gui/templates/portato.glade:649
+#: portato/gui/templates/portato.glade:723
msgid "<b>Installed, but not in portage anymore</b>"
msgstr "<b>Installiert, aber nicht mehr im Portage-Tree vorhanden</b>"
-#: portato/gui/templates/portato.glade:684
+#: portato/gui/templates/portato.glade:758
#: portato/gui/gtk/windows.py:133
msgid "Package"
msgstr "Paket"
-#: portato/gui/templates/portato.glade:754
+#: portato/gui/templates/portato.glade:795
+msgid "Install all packages in the \"Emerge Queue\""
+msgstr "Installiere alle Pakete aus der \"Emerge Queue\""
+
+#: portato/gui/templates/portato.glade:829
+msgid "Deinstall all packages in the \"Unmerge Queue\""
+msgstr "Deinstalliere alle Pakete aus der \"Unmerge Queue\""
+
+#: portato/gui/templates/portato.glade:866
+msgid "Calculate the packages which will be installed during an \"update world\""
+msgstr "Berechnet die Pakete, welche während eines \"update world\" installiert werden würden"
+
+#: portato/gui/templates/portato.glade:879
+msgid "Remove the selected package from the queue"
+msgstr "Löscht das gewählte Paket aus der Queue"
+
+#: portato/gui/templates/portato.glade:880
msgid "_Remove"
msgstr "_Löschen"
-#: portato/gui/templates/portato.glade:779
-#: portato/gui/gtk/windows.py:1025
+#: portato/gui/templates/portato.glade:905
+#: portato/gui/gtk/windows.py:1021
msgid "Queue"
msgstr "Queue"
-#: portato/gui/templates/portato.glade:807
-#: portato/gui/gtk/windows.py:1122
+#: portato/gui/templates/portato.glade:933
+#: portato/gui/gtk/windows.py:1118
msgid "Console"
msgstr "Konsole"
-#: portato/gui/templates/portato.glade:837
+#: portato/gui/templates/portato.glade:963
msgid "Portato - A Portage GUI"
msgstr "Portato - A Portage GUI"
-#: portato/gui/templates/portato.glade:854
+#: portato/gui/templates/portato.glade:980
msgid "Search Results"
msgstr "Ergebnisse"
-#: portato/gui/templates/portato.glade:894
-#: portato/gui/templates/portato.glade:1504
-#: portato/gui/templates/portato.glade:1705
+#: portato/gui/templates/portato.glade:1020
+#: portato/gui/templates/portato.glade:1630
+#: portato/gui/templates/portato.glade:1831
msgid "gtk-cancel"
msgstr ""
-#: portato/gui/templates/portato.glade:906
+#: portato/gui/templates/portato.glade:1032
msgid "gtk-jump-to"
msgstr ""
-#: portato/gui/templates/portato.glade:921
+#: portato/gui/templates/portato.glade:1047
msgid "gtk-ok"
msgstr ""
-#: portato/gui/templates/portato.glade:942
+#: portato/gui/templates/portato.glade:1068
msgid "Preferences"
msgstr "Einstellungen"
-#: portato/gui/templates/portato.glade:977
+#: portato/gui/templates/portato.glade:1103
msgid "Debug"
msgstr "Debug"
-#: portato/gui/templates/portato.glade:990
+#: portato/gui/templates/portato.glade:1116
msgid "Browser command: "
msgstr "Browser-Befehl: "
-#: portato/gui/templates/portato.glade:1016
+#: portato/gui/templates/portato.glade:1142
msgid "<b>General Options</b>"
msgstr "<b>Allgemeine Optionen</b>"
-#: portato/gui/templates/portato.glade:1066
+#: portato/gui/templates/portato.glade:1192
msgid "<b>Update World Options</b>"
msgstr "<b>Optionen für \"update world\"</b>"
-#: portato/gui/templates/portato.glade:1094
+#: portato/gui/templates/portato.glade:1220
msgid "Sync command: "
msgstr "Sync-Befehl: "
-#: portato/gui/templates/portato.glade:1115
+#: portato/gui/templates/portato.glade:1241
msgid "<b>Sync Options</b>"
msgstr "<b>Sync Optionen</b>"
-#: portato/gui/templates/portato.glade:1156
+#: portato/gui/templates/portato.glade:1282
msgid "<u><i>Masking Keywords</i></u>"
msgstr "<u><i>Masking Keywords</i></u>"
-#: portato/gui/templates/portato.glade:1171
+#: portato/gui/templates/portato.glade:1297
msgid "<u><i>Testing Keywords</i></u>"
msgstr "<u><i>Testing Keywords</i></u>"
-#: portato/gui/templates/portato.glade:1186
+#: portato/gui/templates/portato.glade:1312
msgid "<u><i>Use-Flags</i></u>"
msgstr "<u><i>Use-Flags</i></u>"
-#: portato/gui/templates/portato.glade:1208
+#: portato/gui/templates/portato.glade:1334
msgid ""
"<u>You may use the following placeholders:</u>\n"
"\n"
@@ -247,96 +280,96 @@ msgstr ""
"<i>$(pkg)</i>: Paketname\n"
"<i>$(cat-1)/$(cat-2)</i>: erster/zweiter Teil der Kategorie"
-#: portato/gui/templates/portato.glade:1232
+#: portato/gui/templates/portato.glade:1358
msgid "Add only exact version to package.mask/package.unmask"
msgstr "Füge nur die exakte Paketversion zu package.mask/package.unmask hinzu"
-#: portato/gui/templates/portato.glade:1246
+#: portato/gui/templates/portato.glade:1372
msgid "File name to use, if package.mask/package.unmask is a directory: "
msgstr "Zu benutzender Dateiname, wenn package.mask/package.unmask ein Verzeichnis ist:"
-#: portato/gui/templates/portato.glade:1280
+#: portato/gui/templates/portato.glade:1406
msgid "File name to use, if package.keywords is a directory: "
msgstr "Zu benutzender Dateiname, wenn package.keywords ein Verzeichnis ist:"
-#: portato/gui/templates/portato.glade:1291
+#: portato/gui/templates/portato.glade:1417
msgid "Add only exact version to package.keywords"
msgstr "Füge nur die exakte Paketversion zu package.keywords hinzu"
-#: portato/gui/templates/portato.glade:1304
+#: portato/gui/templates/portato.glade:1430
msgid "Add only exact version to package.use"
msgstr "Füge nur die exakte Paketversion zu package.keywords hinzu"
-#: portato/gui/templates/portato.glade:1318
+#: portato/gui/templates/portato.glade:1444
msgid "File name to use, if package.use is a directory: "
msgstr "Zu benutzender Dateiname, wenn package.use ein Verzeichnis ist:"
-#: portato/gui/templates/portato.glade:1344
+#: portato/gui/templates/portato.glade:1470
msgid "<b>Use Flag and Keyword Options</b>"
msgstr "<b>Use-Flag- und Keyword-Optionen</b>"
-#: portato/gui/templates/portato.glade:1365
+#: portato/gui/templates/portato.glade:1491
msgid "General"
msgstr "Allgemein"
-#: portato/gui/templates/portato.glade:1389
+#: portato/gui/templates/portato.glade:1515
msgid "Show emerge progress in title - similar to the console tab"
msgstr "Zeige den Emerge Prozess im Fenstertitel (wie im Konsolen-Tab)"
-#: portato/gui/templates/portato.glade:1400
+#: portato/gui/templates/portato.glade:1526
msgid "Turn Use-Tips on"
msgstr "Aktiviere Use-Tips"
-#: portato/gui/templates/portato.glade:1414
+#: portato/gui/templates/portato.glade:1540
msgid "Enable systray"
msgstr "Aktiviere Systray"
-#: portato/gui/templates/portato.glade:1428
+#: portato/gui/templates/portato.glade:1554
msgid "Hide on minimization (only if systray is enabled)"
msgstr "Minimiere zu Systray"
-#: portato/gui/templates/portato.glade:1447
+#: portato/gui/templates/portato.glade:1573
msgid "Console Font"
msgstr "Schriftart in Konsole"
-#: portato/gui/templates/portato.glade:1457
+#: portato/gui/templates/portato.glade:1583
msgid "Chose a console font"
msgstr "Wähle eine Schriftart"
-#: portato/gui/templates/portato.glade:1485
+#: portato/gui/templates/portato.glade:1611
msgid "Visual"
msgstr "Oberfläche"
-#: portato/gui/templates/portato.glade:1513
-#: portato/gui/templates/portato.glade:1717
+#: portato/gui/templates/portato.glade:1639
+#: portato/gui/templates/portato.glade:1843
msgid "gtk-apply"
msgstr ""
-#: portato/gui/templates/portato.glade:1586
+#: portato/gui/templates/portato.glade:1712
msgid "Updateble Packages"
msgstr "Pakete mit Updates"
-#: portato/gui/templates/portato.glade:1618
+#: portato/gui/templates/portato.glade:1744
msgid "_Close"
msgstr "_Schließen"
-#: portato/gui/templates/portato.glade:1630
+#: portato/gui/templates/portato.glade:1756
msgid "Select _All"
msgstr "_Alles auswählen"
-#: portato/gui/templates/portato.glade:1645
+#: portato/gui/templates/portato.glade:1771
msgid "_Install Selected"
msgstr "_Installiere ausgewählte"
-#: portato/gui/templates/portato.glade:1666
+#: portato/gui/templates/portato.glade:1792
msgid "Plugins"
msgstr "Plugins"
-#: portato/gui/templates/portato.glade:1738
+#: portato/gui/templates/portato.glade:1864
msgid "About Portato"
msgstr "Portato"
-#: portato/gui/templates/portato.glade:1748
+#: portato/gui/templates/portato.glade:1874
msgid ""
"This software is licensed under the terms of the GPLv2.\n"
"Copyright (C) 2006-2007 René 'Necoro' Neumann <necoro@necoro.net>"
@@ -344,11 +377,11 @@ msgstr ""
"This software is licensed under the terms of the GPLv2.\n"
"Copyright (C) 2006-2007 René 'Necoro' Neumann <necoro@necoro.net>"
-#: portato/gui/templates/portato.glade:1750
+#: portato/gui/templates/portato.glade:1876
msgid "A Portage GUI"
msgstr "A Portage GUI"
-#: portato/gui/templates/portato.glade:1785
+#: portato/gui/templates/portato.glade:1911
msgid "Logging Output"
msgstr "Logs"
@@ -517,48 +550,44 @@ msgstr "Beschreibung"
msgid "Package could not be found: %s"
msgstr "Paket konnte nicht gefunden werden: %s"
-#: portato/gui/gtk/windows.py:719
-msgid "Re_merge"
-msgstr "Re_merge"
-
-#: portato/gui/gtk/windows.py:910
+#: portato/gui/gtk/windows.py:908
msgid "Creating Database"
msgstr "Erstelle Datenbank"
-#: portato/gui/gtk/windows.py:915
+#: portato/gui/gtk/windows.py:913
msgid "Loading Config"
msgstr "Lade Konfiguration"
-#: portato/gui/gtk/windows.py:927
+#: portato/gui/gtk/windows.py:925
msgid "Loading Plugins"
msgstr "Lade Plugins"
-#: portato/gui/gtk/windows.py:940
+#: portato/gui/gtk/windows.py:938
msgid "Finishing startup"
msgstr "Erledige letzte Handgriffe :)"
-#: portato/gui/gtk/windows.py:1028
+#: portato/gui/gtk/windows.py:1024
msgid "Options"
msgstr "Optionen"
-#: portato/gui/gtk/windows.py:1046
+#: portato/gui/gtk/windows.py:1042
msgid "Categories"
msgstr "Kategorien"
-#: portato/gui/gtk/windows.py:1061
+#: portato/gui/gtk/windows.py:1057
msgid "Packages"
msgstr "Pakete"
-#: portato/gui/gtk/windows.py:1124
+#: portato/gui/gtk/windows.py:1120
#, python-format
msgid "Console (%(title)s)"
msgstr "Konsole (%(title)s)"
-#: portato/gui/gtk/windows.py:1176
+#: portato/gui/gtk/windows.py:1172
msgid "use flags"
msgstr "Use Flags"
-#: portato/gui/gtk/windows.py:1183
+#: portato/gui/gtk/windows.py:1179
msgid "masking keywords"
msgstr "Masking Keywords"
diff --git a/i18n/messages.pot b/i18n/messages.pot
index a0256a2..2c88d12 100644
--- a/i18n/messages.pot
+++ b/i18n/messages.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-10-15 20:17+0200\n"
+"POT-Creation-Date: 2007-10-15 21:03+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -29,7 +29,7 @@ msgid "Re_load Portage"
msgstr ""
#: portato/gui/templates/portato.glade:68
-#: portato/gui/templates/portato.glade:1577
+#: portato/gui/templates/portato.glade:1703
msgid "gtk-quit"
msgstr ""
@@ -38,19 +38,17 @@ msgid "_Emerge"
msgstr ""
#: portato/gui/templates/portato.glade:89
-#: portato/gui/templates/portato.glade:516
-#: portato/gui/templates/portato.glade:721 portato/gui/gtk/windows.py:716
+#: portato/gui/templates/portato.glade:814
msgid "E_merge"
msgstr ""
#: portato/gui/templates/portato.glade:104
-#: portato/gui/templates/portato.glade:525
-#: portato/gui/templates/portato.glade:730
+#: portato/gui/templates/portato.glade:848
msgid "_Unmerge"
msgstr ""
#: portato/gui/templates/portato.glade:118
-#: portato/gui/templates/portato.glade:742
+#: portato/gui/templates/portato.glade:867
msgid "Update _World"
msgstr ""
@@ -68,13 +66,13 @@ msgstr ""
#: portato/gui/templates/portato.glade:177
#: portato/gui/templates/portato.glade:271
-#: portato/gui/templates/portato.glade:1552
+#: portato/gui/templates/portato.glade:1678
msgid "Emerge _Paused"
msgstr ""
#: portato/gui/templates/portato.glade:185
#: portato/gui/templates/portato.glade:253
-#: portato/gui/templates/portato.glade:1559
+#: portato/gui/templates/portato.glade:1685
msgid "_Kill Emerge"
msgstr ""
@@ -121,112 +119,149 @@ msgstr ""
#: portato/gui/templates/portato.glade:476 portato/gui/gtk/windows.py:693
#: portato/gui/gtk/windows.py:696 portato/gui/gtk/windows.py:699
-#: portato/gui/gtk/windows.py:798 portato/gui/gtk/windows.py:801
-#: portato/gui/gtk/windows.py:808 portato/gui/gtk/windows.py:812
+#: portato/gui/gtk/windows.py:796 portato/gui/gtk/windows.py:799
+#: portato/gui/gtk/windows.py:806 portato/gui/gtk/windows.py:810
msgid "Masked"
msgstr ""
#: portato/gui/templates/portato.glade:490 portato/gui/gtk/windows.py:706
-#: portato/gui/gtk/windows.py:709 portato/gui/gtk/windows.py:770
-#: portato/gui/gtk/windows.py:775
+#: portato/gui/gtk/windows.py:709 portato/gui/gtk/windows.py:768
+#: portato/gui/gtk/windows.py:773
msgid "Testing"
msgstr ""
-#: portato/gui/templates/portato.glade:537
+#: portato/gui/templates/portato.glade:516
+msgid "Mark package for installation"
+msgstr ""
+
+#: portato/gui/templates/portato.glade:535
+msgid "Add to E_merge Queue"
+msgstr ""
+
+#: portato/gui/templates/portato.glade:550
+msgid "Mark package for deinstallation"
+msgstr ""
+
+#: portato/gui/templates/portato.glade:569
+msgid "Add to _Unmerge Queue"
+msgstr ""
+
+#: portato/gui/templates/portato.glade:605
msgid "Re_vert"
msgstr ""
-#: portato/gui/templates/portato.glade:549
+#: portato/gui/templates/portato.glade:622
+msgid "Show the ebuild for this package"
+msgstr ""
+
+#: portato/gui/templates/portato.glade:623
msgid "E_build"
msgstr ""
-#: portato/gui/templates/portato.glade:570
+#: portato/gui/templates/portato.glade:644
msgid "<span foreground='red'><b>MISSING KEYWORD</b></span>"
msgstr ""
-#: portato/gui/templates/portato.glade:649
+#: portato/gui/templates/portato.glade:723
msgid "<b>Installed, but not in portage anymore</b>"
msgstr ""
-#: portato/gui/templates/portato.glade:684 portato/gui/gtk/windows.py:133
+#: portato/gui/templates/portato.glade:758 portato/gui/gtk/windows.py:133
msgid "Package"
msgstr ""
-#: portato/gui/templates/portato.glade:754
+#: portato/gui/templates/portato.glade:795
+msgid "Install all packages in the \"Emerge Queue\""
+msgstr ""
+
+#: portato/gui/templates/portato.glade:829
+msgid "Deinstall all packages in the \"Unmerge Queue\""
+msgstr ""
+
+#: portato/gui/templates/portato.glade:866
+msgid ""
+"Calculate the packages which will be installed during an \"update world\""
+msgstr ""
+
+#: portato/gui/templates/portato.glade:879
+msgid "Remove the selected package from the queue"
+msgstr ""
+
+#: portato/gui/templates/portato.glade:880
msgid "_Remove"
msgstr ""
-#: portato/gui/templates/portato.glade:779 portato/gui/gtk/windows.py:1025
+#: portato/gui/templates/portato.glade:905 portato/gui/gtk/windows.py:1021
msgid "Queue"
msgstr ""
-#: portato/gui/templates/portato.glade:807 portato/gui/gtk/windows.py:1122
+#: portato/gui/templates/portato.glade:933 portato/gui/gtk/windows.py:1118
msgid "Console"
msgstr ""
-#: portato/gui/templates/portato.glade:837
+#: portato/gui/templates/portato.glade:963
msgid "Portato - A Portage GUI"
msgstr ""
-#: portato/gui/templates/portato.glade:854
+#: portato/gui/templates/portato.glade:980
msgid "Search Results"
msgstr ""
-#: portato/gui/templates/portato.glade:894
-#: portato/gui/templates/portato.glade:1504
-#: portato/gui/templates/portato.glade:1705
+#: portato/gui/templates/portato.glade:1020
+#: portato/gui/templates/portato.glade:1630
+#: portato/gui/templates/portato.glade:1831
msgid "gtk-cancel"
msgstr ""
-#: portato/gui/templates/portato.glade:906
+#: portato/gui/templates/portato.glade:1032
msgid "gtk-jump-to"
msgstr ""
-#: portato/gui/templates/portato.glade:921
+#: portato/gui/templates/portato.glade:1047
msgid "gtk-ok"
msgstr ""
-#: portato/gui/templates/portato.glade:942
+#: portato/gui/templates/portato.glade:1068
msgid "Preferences"
msgstr ""
-#: portato/gui/templates/portato.glade:977
+#: portato/gui/templates/portato.glade:1103
msgid "Debug"
msgstr ""
-#: portato/gui/templates/portato.glade:990
+#: portato/gui/templates/portato.glade:1116
msgid "Browser command: "
msgstr ""
-#: portato/gui/templates/portato.glade:1016
+#: portato/gui/templates/portato.glade:1142
msgid "<b>General Options</b>"
msgstr ""
-#: portato/gui/templates/portato.glade:1066
+#: portato/gui/templates/portato.glade:1192
msgid "<b>Update World Options</b>"
msgstr ""
-#: portato/gui/templates/portato.glade:1094
+#: portato/gui/templates/portato.glade:1220
msgid "Sync command: "
msgstr ""
-#: portato/gui/templates/portato.glade:1115
+#: portato/gui/templates/portato.glade:1241
msgid "<b>Sync Options</b>"
msgstr ""
-#: portato/gui/templates/portato.glade:1156
+#: portato/gui/templates/portato.glade:1282
msgid "<u><i>Masking Keywords</i></u>"
msgstr ""
-#: portato/gui/templates/portato.glade:1171
+#: portato/gui/templates/portato.glade:1297
msgid "<u><i>Testing Keywords</i></u>"
msgstr ""
-#: portato/gui/templates/portato.glade:1186
+#: portato/gui/templates/portato.glade:1312
msgid "<u><i>Use-Flags</i></u>"
msgstr ""
-#: portato/gui/templates/portato.glade:1208
+#: portato/gui/templates/portato.glade:1334
msgid ""
"<u>You may use the following placeholders:</u>\n"
"\n"
@@ -235,106 +270,106 @@ msgid ""
"<i>$(cat-1)/$(cat-2)</i>: first/second part of the category"
msgstr ""
-#: portato/gui/templates/portato.glade:1232
+#: portato/gui/templates/portato.glade:1358
msgid "Add only exact version to package.mask/package.unmask"
msgstr ""
-#: portato/gui/templates/portato.glade:1246
+#: portato/gui/templates/portato.glade:1372
msgid "File name to use, if package.mask/package.unmask is a directory: "
msgstr ""
-#: portato/gui/templates/portato.glade:1280
+#: portato/gui/templates/portato.glade:1406
msgid "File name to use, if package.keywords is a directory: "
msgstr ""
-#: portato/gui/templates/portato.glade:1291
+#: portato/gui/templates/portato.glade:1417
msgid "Add only exact version to package.keywords"
msgstr ""
-#: portato/gui/templates/portato.glade:1304
+#: portato/gui/templates/portato.glade:1430
msgid "Add only exact version to package.use"
msgstr ""
-#: portato/gui/templates/portato.glade:1318
+#: portato/gui/templates/portato.glade:1444
msgid "File name to use, if package.use is a directory: "
msgstr ""
-#: portato/gui/templates/portato.glade:1344
+#: portato/gui/templates/portato.glade:1470
msgid "<b>Use Flag and Keyword Options</b>"
msgstr ""
-#: portato/gui/templates/portato.glade:1365
+#: portato/gui/templates/portato.glade:1491
msgid "General"
msgstr ""
-#: portato/gui/templates/portato.glade:1389
+#: portato/gui/templates/portato.glade:1515
msgid "Show emerge progress in title - similar to the console tab"
msgstr ""
-#: portato/gui/templates/portato.glade:1400
+#: portato/gui/templates/portato.glade:1526
msgid "Turn Use-Tips on"
msgstr ""
-#: portato/gui/templates/portato.glade:1414
+#: portato/gui/templates/portato.glade:1540
msgid "Enable systray"
msgstr ""
-#: portato/gui/templates/portato.glade:1428
+#: portato/gui/templates/portato.glade:1554
msgid "Hide on minimization (only if systray is enabled)"
msgstr ""
-#: portato/gui/templates/portato.glade:1447
+#: portato/gui/templates/portato.glade:1573
msgid "Console Font"
msgstr ""
-#: portato/gui/templates/portato.glade:1457
+#: portato/gui/templates/portato.glade:1583
msgid "Chose a console font"
msgstr ""
-#: portato/gui/templates/portato.glade:1485
+#: portato/gui/templates/portato.glade:1611
msgid "Visual"
msgstr ""
-#: portato/gui/templates/portato.glade:1513
-#: portato/gui/templates/portato.glade:1717
+#: portato/gui/templates/portato.glade:1639
+#: portato/gui/templates/portato.glade:1843
msgid "gtk-apply"
msgstr ""
-#: portato/gui/templates/portato.glade:1586
+#: portato/gui/templates/portato.glade:1712
msgid "Updateble Packages"
msgstr ""
-#: portato/gui/templates/portato.glade:1618
+#: portato/gui/templates/portato.glade:1744
msgid "_Close"
msgstr ""
-#: portato/gui/templates/portato.glade:1630
+#: portato/gui/templates/portato.glade:1756
msgid "Select _All"
msgstr ""
-#: portato/gui/templates/portato.glade:1645
+#: portato/gui/templates/portato.glade:1771
msgid "_Install Selected"
msgstr ""
-#: portato/gui/templates/portato.glade:1666
+#: portato/gui/templates/portato.glade:1792
msgid "Plugins"
msgstr ""
-#: portato/gui/templates/portato.glade:1738
+#: portato/gui/templates/portato.glade:1864
msgid "About Portato"
msgstr ""
-#: portato/gui/templates/portato.glade:1748
+#: portato/gui/templates/portato.glade:1874
msgid ""
"This software is licensed under the terms of the GPLv2.\n"
"Copyright (C) 2006-2007 René 'Necoro' Neumann <necoro@necoro.net>"
msgstr ""
-#: portato/gui/templates/portato.glade:1750
+#: portato/gui/templates/portato.glade:1876
msgid "A Portage GUI"
msgstr ""
-#: portato/gui/templates/portato.glade:1785
+#: portato/gui/templates/portato.glade:1911
msgid "Logging Output"
msgstr ""
@@ -503,48 +538,44 @@ msgstr ""
msgid "Package could not be found: %s"
msgstr ""
-#: portato/gui/gtk/windows.py:719
-msgid "Re_merge"
-msgstr ""
-
-#: portato/gui/gtk/windows.py:910
+#: portato/gui/gtk/windows.py:908
msgid "Creating Database"
msgstr ""
-#: portato/gui/gtk/windows.py:915
+#: portato/gui/gtk/windows.py:913
msgid "Loading Config"
msgstr ""
-#: portato/gui/gtk/windows.py:927
+#: portato/gui/gtk/windows.py:925
msgid "Loading Plugins"
msgstr ""
-#: portato/gui/gtk/windows.py:940
+#: portato/gui/gtk/windows.py:938
msgid "Finishing startup"
msgstr ""
-#: portato/gui/gtk/windows.py:1028
+#: portato/gui/gtk/windows.py:1024
msgid "Options"
msgstr ""
-#: portato/gui/gtk/windows.py:1046
+#: portato/gui/gtk/windows.py:1042
msgid "Categories"
msgstr ""
-#: portato/gui/gtk/windows.py:1061
+#: portato/gui/gtk/windows.py:1057
msgid "Packages"
msgstr ""
-#: portato/gui/gtk/windows.py:1124
+#: portato/gui/gtk/windows.py:1120
#, python-format
msgid "Console (%(title)s)"
msgstr ""
-#: portato/gui/gtk/windows.py:1176
+#: portato/gui/gtk/windows.py:1172
msgid "use flags"
msgstr ""
-#: portato/gui/gtk/windows.py:1183
+#: portato/gui/gtk/windows.py:1179
msgid "masking keywords"
msgstr ""
diff --git a/portato/constants.py b/portato/constants.py
index 3aea05d..c76b737 100644
--- a/portato/constants.py
+++ b/portato/constants.py
@@ -14,62 +14,72 @@
Constants used through out the program. Mainly different pathes.
These should be set during the installation.
+@var APP: the application name
+@type APP: string
@var VERSION: the current version
@type VERSION: string
+@var HOME: shortcut to $HOME
+@type HOME: string
+@var SU_COMMAND: command to execute to "su"
+@type SU_COMMAND: string
+@var USE_CATAPULT: use the catapult backend or the normal ones
+@type USE_CATAPULT: boolean
+
+@var FRONTENDS: the list of frontends which are installed
+@type FRONTENDS: string[]
+@var STD_FRONTEND: the frontend uses as the default, i.e. if no other one is given on the cmdline
+@type STD_FRONTEND: string
+
@var CONFIG_DIR: The configuration directory.
@type CONFIG_DIR: string
@var CONFIG_LOCATION: L{CONFIG_DIR} plus name of the config file.
@type CONFIG_LOCATION: string
-@var DATA_DIR: Directory which contains several data files (e.g. ui-files).
-@type DATA_DIR: string
-@var PLUGIN_DIR: Directory containing the plugin xmls.
-@type PLUGIN_DIR: string
-@var XSD_DIR: Directory containing the plugin-xml schema.
-@type XSD_DIR: string
-@var XSD_LOCATION: Path of the plugin schema.
-@type XSD_LOCATION: string
+
@var ICON_DIR: directory containing the icons
@type ICON_DIR: string
@var APP_ICON: the path of the application icon
@type APP_ICON: string
+
+@var DATA_DIR: Directory which contains all shared files.
+@type DATA_DIR: string
@var LOCALE_DIR: the path to the directory where the locale files (*.mo) are stored.
@type LOCALE_DIR: string
-@var FRONTENDS: the list of frontends which are installed
-@type FRONTENDS: string[]
-@var STD_FRONTEND: the frontend uses as the default, i.e. if no other one is given on the cmdline
-@type STD_FRONTEND: string
-@var SU_COMMAND: command to execute to "su"
-@type SU_COMMAND: string
+@var PLUGIN_DIR: Directory containing the plugin xmls.
+@type PLUGIN_DIR: string
+@var SETTINGS_DIR: Directory containing the user specific settings.
+@type SETTINGS_DIR: string
+@var TEMPLATE_DIR: Directory containing the UI template files.
+@type TEMPLATE_DIR: string
+@var XSD_LOCATION: Path of the plugin schema.
+@type XSD_LOCATION: string
"""
import os
from os.path import join as pjoin
-HOME = os.environ["HOME"]
-
+# general
APP = "portato"
VERSION = "9999"
+HOME = os.environ["HOME"]
+SU_COMMAND = "gksu -D 'Portato'"
+USE_CATAPULT = True
-SETTINGS_DIR = pjoin(HOME, "."+APP)
+# frontends
+FRONTENDS = ["gtk"]
+STD_FRONTEND = "gtk"
+# config
CONFIG_DIR = "/etc/portato/"
CONFIG_LOCATION = pjoin(CONFIG_DIR, "portato.cfg")
-VAR_DIR = "/var/portato/"
-
-DATA_DIR = "portato/gui/templates/"
-PLUGIN_DIR = "plugins/"
-
-XSD_DIR = "./"
-XSD_LOCATION = pjoin(XSD_DIR, "plugin.xsd")
-
+# icons
ICON_DIR = "icons/"
APP_ICON = pjoin(ICON_DIR, "portato-icon.png")
+# misc dirs
+DATA_DIR = "./"
LOCALE_DIR = "i18n/"
+PLUGIN_DIR = pjoin(DATA_DIR, "plugins/")
+SETTINGS_DIR = pjoin(HOME, "."+APP)
+TEMPLATE_DIR = "portato/gui/templates/"
-FRONTENDS = ["gtk"]
-STD_FRONTEND = "gtk"
-
-SU_COMMAND = "gksu -D 'Portato'"
-
-USE_CATAPULT = True
+XSD_LOCATION = pjoin(DATA_DIR, "plugin.xsd")
diff --git a/portato/gui/gtk/basic.py b/portato/gui/gtk/basic.py
index 3737607..02caaf5 100644
--- a/portato/gui/gtk/basic.py
+++ b/portato/gui/gtk/basic.py
@@ -19,11 +19,11 @@ import gobject
from functools import wraps
-from ...constants import DATA_DIR, APP_ICON, APP, LOCALE_DIR
+from ...constants import TEMPLATE_DIR, APP_ICON, APP, LOCALE_DIR
gtk.glade.bindtextdomain (APP, LOCALE_DIR)
gtk.glade.textdomain (APP)
-GLADE_FILE = DATA_DIR+"portato.glade"
+GLADE_FILE = TEMPLATE_DIR+"portato.glade"
class Window (object):
def __init__ (self):
diff --git a/portato/gui/gtk/windows.py b/portato/gui/gtk/windows.py
index dc3dc35..456d962 100644
--- a/portato/gui/gtk/windows.py
+++ b/portato/gui/gtk/windows.py
@@ -28,7 +28,7 @@ from gettext import lgettext as _
# our backend stuff
from ... import listener, plugin
from ...helper import debug, warning, error, unique_array
-from ...constants import CONFIG_LOCATION, VERSION, APP_ICON
+from ...constants import CONFIG_LOCATION, VERSION, APP_ICON, DATA_DIR
from ...backend import flags, system
from ...backend.exceptions import PackageNotFoundException, BlockedException
@@ -390,10 +390,11 @@ class EbuildWindow (AbstractDialog):
self.view = gtk.TextView(self.buf)
else:
man = gtksourceview2.LanguageManager()
+ man.set_search_path(man.get_search_path()+[DATA_DIR])
language = man.get_language("ebuild")
if language is None:
- info(_("No ebuild language file installed. Falling back to shell."))
+ warning(_("No ebuild language file installed. Falling back to shell."))
language = man.get_language("sh")
# set buffer and view
@@ -713,10 +714,8 @@ class PackageTable:
if self.doEmerge:
# set emerge-button-label
if not self.actual_package().is_installed():
- self.emergeBtn.set_label(_("E_merge"))
self.unmergeBtn.set_sensitive(False)
else:
- self.emergeBtn.set_label(_("Re_merge"))
self.unmergeBtn.set_sensitive(True)
self.table.show_all()
diff --git a/portato/gui/templates/portato.glade b/portato/gui/templates/portato.glade
index 76d437c..a42bc25 100644
--- a/portato/gui/templates/portato.glade
+++ b/portato/gui/templates/portato.glade
@@ -93,7 +93,7 @@
<widget class="GtkImage" id="menu-item-image9">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK</property>
- <property name="stock">gtk-go-forward</property>
+ <property name="stock">gtk-add</property>
</widget>
</child>
</widget>
@@ -107,7 +107,7 @@
<widget class="GtkImage" id="menu-item-image10">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK</property>
- <property name="stock">gtk-go-back</property>
+ <property name="stock">gtk-remove</property>
</widget>
</child>
</widget>
@@ -513,19 +513,69 @@
<child>
<widget class="GtkButton" id="pkgEmergeBtn">
<property name="visible">True</property>
- <property name="label" translatable="yes">E_merge</property>
- <property name="use_underline">True</property>
+ <property name="tooltip" translatable="yes">Mark package for installation</property>
<property name="response_id">0</property>
<signal name="clicked" handler="cb_package_emerge_clicked"/>
+ <child>
+ <widget class="GtkHBox" id="hbox4">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <child>
+ <widget class="GtkImage" id="image3">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="stock">gtk-add</property>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="emergeBtnLabel">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Add to E_merge Queue</property>
+ <property name="use_underline">True</property>
+ <property name="single_line_mode">True</property>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
</widget>
</child>
<child>
<widget class="GtkButton" id="pkgUnmergeBtn">
<property name="visible">True</property>
- <property name="label" translatable="yes">_Unmerge</property>
- <property name="use_underline">True</property>
+ <property name="tooltip" translatable="yes">Mark package for deinstallation</property>
<property name="response_id">0</property>
<signal name="clicked" handler="cb_package_unmerge_clicked"/>
+ <child>
+ <widget class="GtkHBox" id="hbox5">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <child>
+ <widget class="GtkImage" id="image4">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="stock">gtk-remove</property>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label9">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Add to _Unmerge Queue</property>
+ <property name="use_underline">True</property>
+ <property name="single_line_mode">True</property>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
</widget>
<packing>
<property name="position">1</property>
@@ -534,10 +584,33 @@
<child>
<widget class="GtkButton" id="pkgRevertBtn">
<property name="visible">True</property>
- <property name="label" translatable="yes">Re_vert</property>
- <property name="use_underline">True</property>
<property name="response_id">0</property>
<signal name="clicked" handler="cb_package_revert_clicked"/>
+ <child>
+ <widget class="GtkHBox" id="hbox6">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <child>
+ <widget class="GtkImage" id="image5">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="stock">gtk-undo</property>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label8">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Re_vert</property>
+ <property name="use_underline">True</property>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
</widget>
<packing>
<property name="position">2</property>
@@ -546,6 +619,7 @@
<child>
<widget class="GtkButton" id="pkgEbuildBtn">
<property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Show the ebuild for this package</property>
<property name="label" translatable="yes">E_build</property>
<property name="use_underline">True</property>
<property name="response_id">0</property>
@@ -718,19 +792,69 @@
<child>
<widget class="GtkButton" id="emergeBtn">
<property name="visible">True</property>
- <property name="label" translatable="yes">E_merge</property>
- <property name="use_underline">True</property>
+ <property name="tooltip" translatable="yes">Install all packages in the "Emerge Queue"</property>
<property name="response_id">0</property>
<signal name="clicked" handler="cb_emerge_clicked"/>
+ <child>
+ <widget class="GtkHBox" id="hbox7">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <child>
+ <widget class="GtkImage" id="image6">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="stock">gtk-add</property>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label12">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">E_merge</property>
+ <property name="use_underline">True</property>
+ <property name="single_line_mode">True</property>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
</widget>
</child>
<child>
<widget class="GtkButton" id="unmergeBtn">
<property name="visible">True</property>
- <property name="label" translatable="yes">_Unmerge</property>
- <property name="use_underline">True</property>
+ <property name="tooltip" translatable="yes">Deinstall all packages in the "Unmerge Queue"</property>
<property name="response_id">0</property>
<signal name="clicked" handler="cb_unmerge_clicked"/>
+ <child>
+ <widget class="GtkHBox" id="hbox8">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <child>
+ <widget class="GtkImage" id="image7">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="stock">gtk-remove</property>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label13">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">_Unmerge</property>
+ <property name="use_underline">True</property>
+ <property name="single_line_mode">True</property>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
</widget>
<packing>
<property name="position">1</property>
@@ -739,6 +863,7 @@
<child>
<widget class="GtkButton" id="updateBtn">
<property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Calculate the packages which will be installed during an "update world"</property>
<property name="label" translatable="yes">Update _World</property>
<property name="use_underline">True</property>
<property name="response_id">0</property>
@@ -751,6 +876,7 @@
<child>
<widget class="GtkButton" id="removeBtn">
<property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Remove the selected package from the queue</property>
<property name="label" translatable="yes">_Remove</property>
<property name="use_underline">True</property>
<property name="response_id">0</property>
diff --git a/setup.py b/setup.py
index 667eedc..96cc070 100644
--- a/setup.py
+++ b/setup.py
@@ -13,7 +13,7 @@
import os, os.path
from distutils.core import setup, Extension
-from portato.constants import VERSION, DATA_DIR, FRONTENDS, ICON_DIR, PLUGIN_DIR, XSD_DIR
+from portato.constants import FRONTENDS, VERSION, DATA_DIR, ICON_DIR, PLUGIN_DIR, TEMPLATE_DIR
def plugin_list (*args):
"""Creates a list of correct plugin pathes out of the arguments."""
@@ -26,7 +26,7 @@ def ui_file_list ():
packages = ["portato", "portato.gui", "portato.plugins", "portato.backend", "portato.backend.portage", "portato.backend.catapult"]
ext_modules = []
-data_files = [(ICON_DIR, ["icons/portato-icon.png"]), (PLUGIN_DIR, plugin_list("shutdown", "resume_loop")), (XSD_DIR, ["plugin.xsd"])]
+data_files = [(ICON_DIR, ["icons/portato-icon.png"]), (PLUGIN_DIR, plugin_list("shutdown", "resume_loop")), (DATA_DIR, ["plugin.xsd", "ebuild.lang"])]
cmdclass = {}
if "gtk" in FRONTENDS: