summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.net>2010-03-14 21:06:19 +0100
committerRené 'Necoro' Neumann <necoro@necoro.net>2010-03-14 21:06:19 +0100
commitd772c8db351d46ed4fc9f55eb978200ebbe98307 (patch)
tree0a7fa0c688f8714036f91c307e2f3ef2f00115c3
parentc8fab8cd56c88d2322104afc960c836a543cd3d6 (diff)
downloadportato-d772c8db351d46ed4fc9f55eb978200ebbe98307.tar.gz
portato-d772c8db351d46ed4fc9f55eb978200ebbe98307.tar.bz2
portato-d772c8db351d46ed4fc9f55eb978200ebbe98307.zip
Show a dialog if no email is given
-rw-r--r--i18n/de.po54
-rw-r--r--i18n/messages.pot51
-rw-r--r--portato/gui/dialogs.py7
-rw-r--r--portato/gui/windows/basic.py3
-rw-r--r--portato/gui/windows/mailinfo.py16
5 files changed, 87 insertions, 44 deletions
diff --git a/i18n/de.po b/i18n/de.po
index 88783a9..d60a707 100644
--- a/i18n/de.po
+++ b/i18n/de.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Portato\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-03-14 20:01+0100\n"
-"PO-Revision-Date: 2010-03-14 20:01+0100\n"
+"POT-Creation-Date: 2010-03-14 21:03+0100\n"
+"PO-Revision-Date: 2010-03-14 21:04+0100\n"
"Last-Translator: René 'Necoro' Neumann <necoro@necoro.net>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -426,49 +426,63 @@ msgid "The error was: %s"
msgstr "Der Fehler war: %s"
#: portato/gui/dialogs.py:24
+msgid "No email address given"
+msgstr "Keine Email-Adresse gegeben"
+
+#: portato/gui/dialogs.py:25
+msgid ""
+"You haven't specified an email address. Without it, it will not be possible for the developers to contact you for questions and thus it might be harder to fix the bug.\n"
+"\n"
+"Do you want to proceed nevertheless?"
+msgstr ""
+"Du hast keine Email-Adresse angegeben. Daher ist es nicht möglich, dass die Entwickler dich kontaktieren können und es kann daher sein, dass der Bug schwerer zu beseitigen ist.\n"
+"\n"
+"Trotzdem fortfahren?"
+
+#: portato/gui/dialogs.py:31
msgid "Do you really want to quit?"
msgstr "Wirklich beenden?"
-#: portato/gui/dialogs.py:25
+#: portato/gui/dialogs.py:32
msgid "There are some packages in the emerge queue and/or an emerge process is running."
msgstr "Es sind noch Pakete in der Emerge-Queue und/oder emerge läuft noch."
-#: portato/gui/dialogs.py:43
+#: portato/gui/dialogs.py:50
#, python-format
msgid "%(blocked)s is blocked by %(blocks)s."
msgstr "%(blocks)s blockiert %(blocked)s."
-#: portato/gui/dialogs.py:44
+#: portato/gui/dialogs.py:51
msgid "Please unmerge the blocking package."
msgstr "Bitte deinstalliere das blockierende Paket."
-#: portato/gui/dialogs.py:50
+#: portato/gui/dialogs.py:57
msgid "You are not root."
msgstr "Du bist nicht root."
-#: portato/gui/dialogs.py:56
+#: portato/gui/dialogs.py:63
#, python-format
msgid "%s seems to be masked."
msgstr "%s scheint maskiert zu sein."
-#: portato/gui/dialogs.py:57
+#: portato/gui/dialogs.py:64
msgid "Do you want to unmask it and its dependencies?"
msgstr "Soll das Paket und seine Abhängigkeiten demaskiert werden?"
-#: portato/gui/dialogs.py:63
+#: portato/gui/dialogs.py:70
msgid "Package not found!"
msgstr "Paket nicht gefunden!"
-#: portato/gui/dialogs.py:69
+#: portato/gui/dialogs.py:76
msgid "Do not show this dialog again."
msgstr "Diesen Dialog nicht wieder anzeigen."
-#: portato/gui/dialogs.py:70
+#: portato/gui/dialogs.py:77
#, python-format
msgid "Changed %s"
msgstr "%s wurde geändert"
-#: portato/gui/dialogs.py:71
+#: portato/gui/dialogs.py:78
msgid ""
"Portato will write these changes into the appropriate files.\n"
"Please backup them if you think it is necessary."
@@ -476,11 +490,11 @@ msgstr ""
"Portato wird diese Änderungen speichern.\n"
"Bitte sichere die entsprechenden Dateien, wenn du es als notwendig erachtest."
-#: portato/gui/dialogs.py:80
+#: portato/gui/dialogs.py:87
msgid "You cannot remove dependencies. :)"
msgstr "Du kannst keine Abhängigkeiten löschen ;)."
-#: portato/gui/dialogs.py:86
+#: portato/gui/dialogs.py:93
msgid ""
"This is the updates queue. You cannot remove single elements.\n"
"Do you want to clear the whole queue instead?"
@@ -488,15 +502,15 @@ msgstr ""
"Das ist die Update-Queue. Aus dieser können keine einzelnen Pakete entfernt werden.\n"
"Soll stattdessen die komplette Queue entfernt werden?"
-#: portato/gui/dialogs.py:92
+#: portato/gui/dialogs.py:99
msgid "Do you really want to clear the whole queue?"
msgstr "Wirklich die gesamte Queue löschen?"
-#: portato/gui/dialogs.py:111
+#: portato/gui/dialogs.py:118
msgid "A prerequisite for starting Portato was not matched."
msgstr "Eine Vorbedingung um Portato zu starten ist nicht erfüllt."
-#: portato/gui/dialogs.py:115
+#: portato/gui/dialogs.py:122
msgid ""
"<b>Note</b>: On fresh Sabayon installs or its LiveDVD/-CD, there is no portage tree existing per default.\n"
"Please run <i>emerge --sync &amp;&amp; layman -S</i>."
@@ -504,7 +518,7 @@ msgstr ""
"<b>Hinweis</b>: Auf frisch installierten Sabayon-Systemen bzw. der Sabayon LiveDVD/-CD existiert standardmäßig kein Portage-Tree.\n"
"Bitte führe <i>emerge --sync &amp;&amp; layman -S</i> aus."
-#: portato/gui/dialogs.py:123
+#: portato/gui/dialogs.py:130
#: portato/gui/windows/main.py:1302
#, python-format
msgid "No versions of package '%s' found!"
@@ -588,12 +602,12 @@ msgstr "Pakete mit Updates"
msgid "World Packages"
msgstr "Pakete in \"World\""
-#: portato/gui/windows/mailinfo.py:144
+#: portato/gui/windows/mailinfo.py:145
#, python-format
msgid "An error occurred while sending. I think we were greylisted. The error: %s"
msgstr "Während des Sendes trat ein Fehler auf. Wahrscheinlich wurden wir ge-greylistet. Der Fehler: %s"
-#: portato/gui/windows/mailinfo.py:145
+#: portato/gui/windows/mailinfo.py:146
#, python-format
msgid "Retrying after waiting %d seconds."
msgstr "Wiederhole den Versuch nach einer %ds Pause."
diff --git a/i18n/messages.pot b/i18n/messages.pot
index 555837f..5c007f9 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: 2010-03-14 20:01+0100\n"
+"POT-Creation-Date: 2010-03-14 21:03+0100\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"
@@ -405,82 +405,95 @@ msgid "The error was: %s"
msgstr ""
#: portato/gui/dialogs.py:24
-msgid "Do you really want to quit?"
+msgid "No email address given"
msgstr ""
#: portato/gui/dialogs.py:25
msgid ""
+"You haven't specified an email address. Without it, it will not be possible "
+"for the developers to contact you for questions and thus it might be harder "
+"to fix the bug.\n"
+"\n"
+"Do you want to proceed nevertheless?"
+msgstr ""
+
+#: portato/gui/dialogs.py:31
+msgid "Do you really want to quit?"
+msgstr ""
+
+#: portato/gui/dialogs.py:32
+msgid ""
"There are some packages in the emerge queue and/or an emerge process is "
"running."
msgstr ""
-#: portato/gui/dialogs.py:43
+#: portato/gui/dialogs.py:50
#, python-format
msgid "%(blocked)s is blocked by %(blocks)s."
msgstr ""
-#: portato/gui/dialogs.py:44
+#: portato/gui/dialogs.py:51
msgid "Please unmerge the blocking package."
msgstr ""
-#: portato/gui/dialogs.py:50
+#: portato/gui/dialogs.py:57
msgid "You are not root."
msgstr ""
-#: portato/gui/dialogs.py:56
+#: portato/gui/dialogs.py:63
#, python-format
msgid "%s seems to be masked."
msgstr ""
-#: portato/gui/dialogs.py:57
+#: portato/gui/dialogs.py:64
msgid "Do you want to unmask it and its dependencies?"
msgstr ""
-#: portato/gui/dialogs.py:63
+#: portato/gui/dialogs.py:70
msgid "Package not found!"
msgstr ""
-#: portato/gui/dialogs.py:69
+#: portato/gui/dialogs.py:76
msgid "Do not show this dialog again."
msgstr ""
-#: portato/gui/dialogs.py:70
+#: portato/gui/dialogs.py:77
#, python-format
msgid "Changed %s"
msgstr ""
-#: portato/gui/dialogs.py:71
+#: portato/gui/dialogs.py:78
msgid ""
"Portato will write these changes into the appropriate files.\n"
"Please backup them if you think it is necessary."
msgstr ""
-#: portato/gui/dialogs.py:80
+#: portato/gui/dialogs.py:87
msgid "You cannot remove dependencies. :)"
msgstr ""
-#: portato/gui/dialogs.py:86
+#: portato/gui/dialogs.py:93
msgid ""
"This is the updates queue. You cannot remove single elements.\n"
"Do you want to clear the whole queue instead?"
msgstr ""
-#: portato/gui/dialogs.py:92
+#: portato/gui/dialogs.py:99
msgid "Do you really want to clear the whole queue?"
msgstr ""
-#: portato/gui/dialogs.py:111
+#: portato/gui/dialogs.py:118
msgid "A prerequisite for starting Portato was not matched."
msgstr ""
-#: portato/gui/dialogs.py:115
+#: portato/gui/dialogs.py:122
msgid ""
"<b>Note</b>: On fresh Sabayon installs or its LiveDVD/-CD, there is no "
"portage tree existing per default.\n"
"Please run <i>emerge --sync &amp;&amp; layman -S</i>."
msgstr ""
-#: portato/gui/dialogs.py:123 portato/gui/windows/main.py:1302
+#: portato/gui/dialogs.py:130 portato/gui/windows/main.py:1302
#, python-format
msgid "No versions of package '%s' found!"
msgstr ""
@@ -568,13 +581,13 @@ msgstr ""
msgid "World Packages"
msgstr ""
-#: portato/gui/windows/mailinfo.py:144
+#: portato/gui/windows/mailinfo.py:145
#, python-format
msgid ""
"An error occurred while sending. I think we were greylisted. The error: %s"
msgstr ""
-#: portato/gui/windows/mailinfo.py:145
+#: portato/gui/windows/mailinfo.py:146
#, python-format
msgid "Retrying after waiting %d seconds."
msgstr ""
diff --git a/portato/gui/dialogs.py b/portato/gui/dialogs.py
index 6044a5b..7ad5c7f 100644
--- a/portato/gui/dialogs.py
+++ b/portato/gui/dialogs.py
@@ -20,6 +20,13 @@ def mail_failure_dialog(e):
dialog.destroy()
return ret
+def no_email_dialog(p):
+ dialog = gtk.MessageDialog(p, gtk.DIALOG_MODAL, gtk.MESSAGE_INFO, gtk.BUTTONS_OK_CANCEL, _("No email address given"))
+ dialog.format_secondary_text(_("You haven't specified an email address. Without it, it will not be possible for the developers to contact you for questions and thus it might be harder to fix the bug.\n\nDo you want to proceed nevertheless?"))
+ ret = dialog.run()
+ dialog.destroy()
+ return ret
+
def queue_not_empty_dialog():
dialog = gtk.MessageDialog(None, gtk.DIALOG_MODAL, gtk.MESSAGE_QUESTION, gtk.BUTTONS_NONE, _("Do you really want to quit?"))
dialog.format_secondary_text(_("There are some packages in the emerge queue and/or an emerge process is running."))
diff --git a/portato/gui/windows/basic.py b/portato/gui/windows/basic.py
index 92c35f4..01d31e5 100644
--- a/portato/gui/windows/basic.py
+++ b/portato/gui/windows/basic.py
@@ -151,6 +151,9 @@ class AbstractDialog (Window):
self.window.set_transient_for(parent)
self.parent = parent
+ # type hint
+ self.window.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DIALOG)
+
# catch the ESC-key
self.window.connect("key-press-event", self.cb_key_pressed)
diff --git a/portato/gui/windows/mailinfo.py b/portato/gui/windows/mailinfo.py
index 6d6e93b..c5002e7 100644
--- a/portato/gui/windows/mailinfo.py
+++ b/portato/gui/windows/mailinfo.py
@@ -21,7 +21,7 @@ from os.path import basename
from .basic import AbstractDialog
from ..utils import GtkThread
-from ..dialogs import mail_failure_dialog
+from ..dialogs import mail_failure_dialog, no_email_dialog
from ...helper import debug, info
from ...constants import VERSION, CONFIG_LOCATION
from ...log import LOGFILE
@@ -61,6 +61,7 @@ class MailInfoWindow (AbstractDialog):
self.fileList = self.tree.get_widget("fileList")
self.build_file_list()
+ self.mailEntry = self.tree.get_widget("mailEntry")
self.tb = tb
self.window.show_all()
@@ -99,7 +100,7 @@ class MailInfoWindow (AbstractDialog):
# TO and FROM
name = self.tree.get_widget("nameEntry").get_text()
- self.addr = self.tree.get_widget("mailEntry").get_text()
+ self.addr = self.mailEntry.get_text()
if not self.addr:
self.addr = self.TO
@@ -157,7 +158,12 @@ class MailInfoWindow (AbstractDialog):
return True
def cb_send_clicked (self, *args):
- self.set_data()
- GtkThread(target = self.send, name = "Mail Send Thread").start()
- self.close()
+ if self.mailEntry.get_text() or no_email_dialog(self.window) == gtk.RESPONSE_OK:
+ self.set_data()
+ GtkThread(target = self.send, name = "Mail Send Thread").start()
+ self.close()
+ else:
+ self.window.present()
+ self.mailEntry.grab_focus()
+
return True