summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarel Klic <kklic@redhat.com>2010-03-31 15:12:52 +0200
committerKarel Klic <kklic@redhat.com>2010-03-31 15:12:52 +0200
commitbbb5154ea8bdb42365f32159c24899b7e5b1b703 (patch)
tree01d8bcee52bdf40b5edaf821a334dc6dd9ac1316
parent41d165340e8367d66719d5e306cdf55164f6b3c3 (diff)
parent5bf1aed7bbd24c27f79f63f694d4e3677a34e5f9 (diff)
downloadabrt-bbb5154ea8bdb42365f32159c24899b7e5b1b703.tar.gz
abrt-bbb5154ea8bdb42365f32159c24899b7e5b1b703.tar.xz
abrt-bbb5154ea8bdb42365f32159c24899b7e5b1b703.zip
Merge branch 'master' of ssh://git.fedorahosted.org/git/abrt
-rw-r--r--lib/Utils/abrt_curl.cpp4
-rw-r--r--lib/Utils/abrt_rh_support.cpp13
-rw-r--r--po/de.po244
-rw-r--r--po/gu.po209
-rw-r--r--po/nl.po149
-rw-r--r--po/pa.po49
-rw-r--r--po/pl.po125
-rw-r--r--src/Applet/Makefile.am3
-rw-r--r--src/Applet/abrt-applet.desktop.in (renamed from src/Applet/abrt-applet.desktop)4
-rw-r--r--src/Gui/CCDump.py75
-rw-r--r--src/Gui/CCDumpList.py2
-rw-r--r--src/Gui/CCMainWindow.py187
-rw-r--r--src/Gui/CC_gui_functions.py12
-rw-r--r--src/Gui/PluginsSettingsDialog.py2
-rw-r--r--src/Gui/ccgui.glade527
15 files changed, 1023 insertions, 582 deletions
diff --git a/lib/Utils/abrt_curl.cpp b/lib/Utils/abrt_curl.cpp
index 6dc8582f..edc27124 100644
--- a/lib/Utils/abrt_curl.cpp
+++ b/lib/Utils/abrt_curl.cpp
@@ -135,8 +135,12 @@ curl_post(curl_post_state_t* state, const char* url, const char* data)
curl_err = curl_easy_perform(handle);
if (curl_err)
{
+ VERB2 log("curl_easy_perform: error %d", (int)curl_err);
if (state->flags & ABRT_CURL_POST_WANT_ERROR_MSG)
+ {
state->curl_error_msg = check_curl_error(curl_err, "curl_easy_perform");
+ VERB3 log("curl_easy_perform: error_msg: %s", state->curl_error_msg);
+ }
goto ret;
}
diff --git a/lib/Utils/abrt_rh_support.cpp b/lib/Utils/abrt_rh_support.cpp
index ff8ce48b..be2d3961 100644
--- a/lib/Utils/abrt_rh_support.cpp
+++ b/lib/Utils/abrt_rh_support.cpp
@@ -204,12 +204,21 @@ post_signature(const char* baseURL, const char* signature)
strata_msg = find_header_in_curl_post_state(state, "Strata-Message:");
if (strata_msg)
{
- retval = xasprintf("Error (HTTP response %d): %s",
+ retval = xasprintf("Error (HTTP response %d): %s",
http_resp_code,
strata_msg);
- break;
+ break;
+ }
+ if (state->curl_error_msg)
+ {
+ if (http_resp_code >= 0)
+ retval = xasprintf("Error (HTTP response %d): %s", http_resp_code, state->curl_error_msg);
+ else
+ retval = xasprintf("Error in HTTP transaction: %s", state->curl_error_msg);
+ break;
}
retval = xasprintf("Error (HTTP response %d), body:\n%s", http_resp_code, state->body);
+ break;
}
free_curl_post_state(state);
diff --git a/po/de.po b/po/de.po
index 4984434e..200f6069 100644
--- a/po/de.po
+++ b/po/de.po
@@ -15,8 +15,8 @@ msgid ""
msgstr ""
"Project-Id-Version: abrt.master\n"
"Report-Msgid-Bugs-To: jmoskovc@redhat.com\n"
-"POT-Creation-Date: 2010-03-16 19:03+0000\n"
-"PO-Revision-Date: 2010-03-17 14:33+1000\n"
+"POT-Creation-Date: 2010-03-30 21:29+0000\n"
+"PO-Revision-Date: 2010-03-31 14:03+1000\n"
"Last-Translator: sknirT omiT <moc.tahder@sknirtt>\n"
"Language-Team: <de@li.org>\n"
"MIME-Version: 1.0\n"
@@ -101,7 +101,7 @@ msgstr "Nicht berichtet"
msgid "Plugins"
msgstr "Plugins"
-#: ../src/Gui/ccgui.glade.h:8 ../src/Applet/CCApplet.cpp:280
+#: ../src/Gui/ccgui.glade.h:8 ../src/Applet/CCApplet.cpp:251
msgid "Report"
msgstr "Bericht"
@@ -145,157 +145,9 @@ msgstr "_Datei"
msgid "_Help"
msgstr "_Hilfe"
-#: ../src/Gui/ccgui.glade.h:17
-msgid ""
-"aalam@fedoraproject.org\n"
-"amitakhya@fedoraproject.org\n"
-"andrealafauci@fedoraproject.org\n"
-"anipeter@fedoraproject.org\n"
-"astur@fedoraproject.org\n"
-"beckerde@fedoraproject.org\n"
-"bruce89@fedoraproject.org\n"
-"charnik@fedoraproject.org\n"
-"chenh@fedoraproject.org\n"
-"cyrushmh@fedoraproject.org\n"
-"dennistobar@fedoraproject.org\n"
-"dheche@fedoraproject.org\n"
-"diegobz@fedoraproject.org\n"
-"dominiksandjaja@fedoraproject.org\n"
-"elad@fedoraproject.org\n"
-"elsupergomez@fedoraproject.org\n"
-"eukim@fedoraproject.org\n"
-"fab@fedoraproject.org\n"
-"feonsu@fedoraproject.org\n"
-"fgonz@fedoraproject.org\n"
-"fvalen@fedoraproject.org\n"
-"gcintra@fedoraproject.org\n"
-"gguerrer@fedoraproject.org\n"
-"goeran@fedoraproject.org\n"
-"hedda@fedoraproject.org\n"
-"hyuuga@fedoraproject.org\n"
-"ifelix@fedoraproject.org\n"
-"igorbounov@fedoraproject.org\n"
-"igor@fedoraproject.org\n"
-"jassy@fedoraproject.org\n"
-"jensm@fedoraproject.org\n"
-"jmoskovc@redhat.com\n"
-"joe74@fedoraproject.org\n"
-"jorgelopes@fedoraproject.org\n"
-"kenda@fedoraproject.org\n"
-"khasida@fedoraproject.org\n"
-"kkrothap@fedoraproject.org\n"
-"kmaraas@fedoraproject.org\n"
-"kmilos@fedoraproject.org\n"
-"kristho@fedoraproject.org\n"
-"leahliu@fedoraproject.org\n"
-"logan@fedoraproject.org\n"
-"mgiri@fedoraproject.org\n"
-"mideal@fedoraproject.org\n"
-"nagyesta@fedoraproject.org\n"
-"nippur@fedoraproject.org\n"
-"perplex@fedoraproject.org\n"
-"peti@fedoraproject.org\n"
-"pkst@fedoraproject.org\n"
-"ppapadeas@fedoraproject.org\n"
-"ptr@fedoraproject.org\n"
-"raada@fedoraproject.org\n"
-"rajesh@fedoraproject.org\n"
-"ratal@fedoraproject.org\n"
-"raven@fedoraproject.org\n"
-"ricardopinto@fedoraproject.org\n"
-"ruigo@fedoraproject.org\n"
-"runab@fedoraproject.org\n"
-"samfreemanz@fedoraproject.org\n"
-"sandeeps@fedoraproject.org\n"
-"sergiomesquita@fedoraproject.org\n"
-"shanky@fedoraproject.org\n"
-"shnurapet@fedoraproject.org\n"
-"snicore@fedoraproject.org\n"
-"swkothar@fedoraproject.org\n"
-"tch@fedoraproject.org\n"
-"tchuang@fedoraproject.org\n"
-"thalia@fedoraproject.org\n"
-"tomchiukc@fedoraproject.org\n"
-"vpv@fedoraproject.org\n"
-"warrink@fedoraproject.org\n"
-"xconde@fedoraproject.org\n"
-"ypoyarko@fedoraproject.org\n"
-"zoltanh721@fedoraproject.org"
-msgstr ""
-"aalam@fedoraproject.org\n"
-"amitakhya@fedoraproject.org\n"
-"andrealafauci@fedoraproject.org\n"
-"anipeter@fedoraproject.org\n"
-"astur@fedoraproject.org\n"
-"beckerde@fedoraproject.org\n"
-"bruce89@fedoraproject.org\n"
-"charnik@fedoraproject.org\n"
-"chenh@fedoraproject.org\n"
-"cyrushmh@fedoraproject.org\n"
-"dennistobar@fedoraproject.org\n"
-"dheche@fedoraproject.org\n"
-"diegobz@fedoraproject.org\n"
-"dominiksandjaja@fedoraproject.org\n"
-"elad@fedoraproject.org\n"
-"elsupergomez@fedoraproject.org\n"
-"eukim@fedoraproject.org\n"
-"fab@fedoraproject.org\n"
-"feonsu@fedoraproject.org\n"
-"fgonz@fedoraproject.org\n"
-"fvalen@fedoraproject.org\n"
-"gcintra@fedoraproject.org\n"
-"gguerrer@fedoraproject.org\n"
-"goeran@fedoraproject.org\n"
-"hedda@fedoraproject.org\n"
-"hyuuga@fedoraproject.org\n"
-"ifelix@fedoraproject.org\n"
-"igorbounov@fedoraproject.org\n"
-"igor@fedoraproject.org\n"
-"jassy@fedoraproject.org\n"
-"jensm@fedoraproject.org\n"
-"jmoskovc@redhat.com\n"
-"joe74@fedoraproject.org\n"
-"jorgelopes@fedoraproject.org\n"
-"kenda@fedoraproject.org\n"
-"khasida@fedoraproject.org\n"
-"kkrothap@fedoraproject.org\n"
-"kmaraas@fedoraproject.org\n"
-"kmilos@fedoraproject.org\n"
-"kristho@fedoraproject.org\n"
-"leahliu@fedoraproject.org\n"
-"logan@fedoraproject.org\n"
-"mgiri@fedoraproject.org\n"
-"mideal@fedoraproject.org\n"
-"nagyesta@fedoraproject.org\n"
-"nippur@fedoraproject.org\n"
-"perplex@fedoraproject.org\n"
-"peti@fedoraproject.org\n"
-"pkst@fedoraproject.org\n"
-"ppapadeas@fedoraproject.org\n"
-"ptr@fedoraproject.org\n"
-"raada@fedoraproject.org\n"
-"rajesh@fedoraproject.org\n"
-"ratal@fedoraproject.org\n"
-"raven@fedoraproject.org\n"
-"ricardopinto@fedoraproject.org\n"
-"ruigo@fedoraproject.org\n"
-"runab@fedoraproject.org\n"
-"samfreemanz@fedoraproject.org\n"
-"sandeeps@fedoraproject.org\n"
-"sergiomesquita@fedoraproject.org\n"
-"shanky@fedoraproject.org\n"
-"shnurapet@fedoraproject.org\n"
-"snicore@fedoraproject.org\n"
-"swkothar@fedoraproject.org\n"
-"tch@fedoraproject.org\n"
-"tchuang@fedoraproject.org\n"
-"thalia@fedoraproject.org\n"
-"tomchiukc@fedoraproject.org\n"
-"vpv@fedoraproject.org\n"
-"warrink@fedoraproject.org\n"
-"xconde@fedoraproject.org\n"
-"ypoyarko@fedoraproject.org\n"
-"zoltanh721@fedoraproject.org"
+#: ../src/Gui/ccgui.glade.h:17 ../src/Applet/CCApplet.cpp:104
+msgid "translator-credits"
+msgstr "translator-credits"
#. add pixbuff separatelly
#: ../src/Gui/CCMainWindow.py:65
@@ -362,7 +214,7 @@ msgstr "<b>Dieser Absturz wurde gemeldet:</b>\n"
msgid "<b>Not reported!</b>"
msgstr "<b>Nicht berichtet!</b>"
-#: ../src/Gui/CCMainWindow.py:304
+#: ../src/Gui/CCMainWindow.py:323
msgid ""
"Usage: abrt-gui [OPTIONS]\n"
"\t-h, --help \tthis help message\n"
@@ -374,7 +226,7 @@ msgstr ""
"\t-v[vv] \tverbosity level\n"
"\t--report=<crashid>\tdirectly report crash with crashid=<crashid>"
-#: ../src/Gui/CCMainWindow.py:328
+#: ../src/Gui/CCMainWindow.py:347
#, python-format
msgid ""
"No such crash in database, probably wrong crashid.\n"
@@ -419,14 +271,24 @@ msgstr ""
"Schritte zum Reproduzieren vorhanden sind."
#: ../src/Gui/CCReporterDialog.py:130
-msgid "Reporting disabled, please fix the the problems shown above."
-msgstr "Berichterstellung deaktiviert, bitte beheben Sie die oben aufgeführten Probleme."
+msgid "Reporting disabled, please fix the problems shown above."
+msgstr ""
+"Berichterstellung deaktiviert, bitte beheben Sie die oben aufgeführten "
+"Probleme."
#: ../src/Gui/CCReporterDialog.py:132
msgid "Sends the report using selected plugin."
msgstr "Sendet den Bericht unter Verwendung des ausgwählten Plugins."
-#: ../src/Gui/CCReporterDialog.py:170
+#: ../src/Gui/CCReporterDialog.py:392
+msgid ""
+"No reporter plugin available for this type of crash\n"
+"Please check abrt.conf."
+msgstr ""
+"Kein Plugin zur Berichterstellung für diesen Crash-Typ verfügbar\n"
+"Bitte überprüfen Sie abrt.conf."
+
+#: ../src/Gui/CCReporterDialog.py:412
#, python-format
msgid ""
"Can't save plugin settings:\n"
@@ -435,20 +297,12 @@ msgstr ""
"Plugin-Einstellungen konnten nicht gesichert werden:\n"
" %s"
-#: ../src/Gui/CCReporterDialog.py:202
+#: ../src/Gui/CCReporterDialog.py:442
#, python-format
msgid "Configure %s options"
msgstr "%s Optionen konfigurieren"
-#: ../src/Gui/CCReporterDialog.py:449
-msgid ""
-"No reporter plugin available for this type of crash\n"
-"Please check abrt.conf."
-msgstr ""
-"Kein Plugin zur Berichterstellung für diesen Crash-Typ verfügbar\n"
-"Bitte überprüfen Sie abrt.conf."
-
-#: ../src/Gui/CCReporterDialog.py:493
+#: ../src/Gui/CCReporterDialog.py:492
msgid ""
"Unable to get report!\n"
"Debuginfo is missing?"
@@ -456,7 +310,7 @@ msgstr ""
"Konnte Bericht nicht abrufen!\n"
"Fehlt Debuginfo?"
-#: ../src/Gui/CCReporterDialog.py:522
+#: ../src/Gui/CCReporterDialog.py:521
#, python-format
msgid ""
"Reporting failed!\n"
@@ -465,7 +319,7 @@ msgstr ""
"Berichterstellung fehlgeschlagen!\n"
"%s"
-#: ../src/Gui/CCReporterDialog.py:548 ../src/Gui/CCReporterDialog.py:569
+#: ../src/Gui/CCReporterDialog.py:547 ../src/Gui/CCReporterDialog.py:568
#, python-format
msgid "Error getting the report: %s"
msgstr "Fehler beim Abrufen des Berichts: %s"
@@ -606,7 +460,7 @@ msgstr "<b>Analyse-Plugin</b>"
#: ../src/Gui/settings.glade.h:2
msgid "<b>Associated action</b>"
-msgstr "<b>zugehörige Aktionen</b>"
+msgstr "<b>Zugehörige Aktionen</b>"
#: ../src/Gui/settings.glade.h:3
msgid "<b>Plugin details</b>"
@@ -662,7 +516,7 @@ msgstr "GPG-Schlüssel"
#: ../src/Gui/settings.glade.h:16
msgid "GPG keys: "
-msgstr "GPG-Schlüssel:"
+msgstr "GPG-Schlüssel: "
#: ../src/Gui/settings.glade.h:17
msgid "Max coredump storage size(MB):"
@@ -678,7 +532,7 @@ msgstr "Einstellungen"
#: ../src/Gui/settings.glade.h:21
msgid "Version:"
-msgstr "Version"
+msgstr "Version:"
#: ../src/Gui/settings.glade.h:22
msgid "Web Site:"
@@ -701,11 +555,19 @@ msgstr "Es wurde ein Absturz entdeckt!"
msgid "ABRT service is not running"
msgstr "ABRT-Dienst wird nicht ausgeführt."
-#: ../src/Applet/CCApplet.cpp:124 ../src/Applet/CCApplet.cpp:287
-#: ../src/Applet/CCApplet.cpp:314
+#: ../src/Applet/CCApplet.cpp:39 ../src/Applet/CCApplet.cpp:258
+#: ../src/Applet/CCApplet.cpp:285
msgid "Warning"
msgstr "Warnung"
+#: ../src/Applet/CCApplet.cpp:88
+msgid "Notification area applet to notify user about issues detected by ABRT"
+msgstr "Info-Applet zur Benutzer-Benachrichtigung über von ABRT entdeckte Probleme"
+
+#: ../src/Applet/CCApplet.cpp:114
+msgid "Hide"
+msgstr "Verstecken"
+
#: ../src/Daemon/Daemon.cpp:481
msgid ""
"Report size exceeded the quota. Please check system's MaxCrashReportsSize "
@@ -724,11 +586,7 @@ msgstr "Fehler wurde bereits gemeldet: %i"
msgid "New bug id: %i"
msgstr "Neue Fehler-ID: %i"
-#: ../lib/Plugins/Bugzilla.cpp:549
-msgid "Logging into bugzilla..."
-msgstr "Bei Bugzilla anmelden ..."
-
-#: ../lib/Plugins/Bugzilla.cpp:553
+#: ../lib/Plugins/Bugzilla.cpp:607
msgid ""
"Empty login and password.\n"
"Please check "
@@ -736,48 +594,52 @@ msgstr ""
"Leerer Benutzername und Passwort.\n"
"Bitte überprüfen!"
-#: ../lib/Plugins/Bugzilla.cpp:563
+#: ../lib/Plugins/Bugzilla.cpp:615
+msgid "Logging into bugzilla..."
+msgstr "Bei Bugzilla anmelden ..."
+
+#: ../lib/Plugins/Bugzilla.cpp:618
msgid "Checking for duplicates..."
msgstr "Auf Duplikate überprüfen ..."
-#: ../lib/Plugins/Bugzilla.cpp:576
+#: ../lib/Plugins/Bugzilla.cpp:631
msgid "Missing mandatory member 'bugs'"
msgstr "Fehlender benötigter Teil 'bugs'"
-#: ../lib/Plugins/Bugzilla.cpp:586
+#: ../lib/Plugins/Bugzilla.cpp:641
msgid "Creating new bug..."
msgstr "Neuen Fehlerbericht erstellen ..."
-#: ../lib/Plugins/Bugzilla.cpp:591
+#: ../lib/Plugins/Bugzilla.cpp:646
msgid "Bugzilla entry creation failed"
msgstr "Erstellung eines Bugzilla-Eintrags fehlgeschlagen"
-#: ../lib/Plugins/Bugzilla.cpp:599 ../lib/Plugins/Bugzilla.cpp:704
+#: ../lib/Plugins/Bugzilla.cpp:654 ../lib/Plugins/Bugzilla.cpp:761
msgid "Logging out..."
msgstr "Abmelden ..."
-#: ../lib/Plugins/Bugzilla.cpp:629 ../lib/Plugins/Bugzilla.cpp:657
+#: ../lib/Plugins/Bugzilla.cpp:686 ../lib/Plugins/Bugzilla.cpp:714
msgid "get_bug_info() failed. Could not collect all mandatory information"
msgstr ""
"get_bug_info() fehlgeschlagen. Es konnten nicht alle relevanten "
"Informationen gesammelt werden."
-#: ../lib/Plugins/Bugzilla.cpp:641
+#: ../lib/Plugins/Bugzilla.cpp:698
#, c-format
msgid "Bugzilla couldn't find parent of bug(%d)"
msgstr "Bugzilla kann die Eltern des Fehlerberichts nicht finden(%d)"
-#: ../lib/Plugins/Bugzilla.cpp:646
+#: ../lib/Plugins/Bugzilla.cpp:703
#, c-format
msgid "Jump to bug %d"
msgstr "Springe zu Bug %d"
-#: ../lib/Plugins/Bugzilla.cpp:671 ../lib/Plugins/Bugzilla.cpp:672
+#: ../lib/Plugins/Bugzilla.cpp:728 ../lib/Plugins/Bugzilla.cpp:729
#, c-format
msgid "Add %s to CC list"
msgstr "Füge %s in die CC-Liste hinzu"
-#: ../lib/Plugins/Bugzilla.cpp:695
+#: ../lib/Plugins/Bugzilla.cpp:752
#, c-format
msgid "Add new comment into bug(%d)"
msgstr "Füge neuen Kommentar in Bug(%d) hinzu"
diff --git a/po/gu.po b/po/gu.po
index f9ed7e6e..e9db18dd 100644
--- a/po/gu.po
+++ b/po/gu.po
@@ -1,14 +1,14 @@
-# translation of abrt.po to Gujarati
+# translation of ABRT-master.po to Gujarati
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Sweta Kothari <swkothar@redhat.com>, 2009, 2010.
msgid ""
msgstr ""
-"Project-Id-Version: abrt\n"
+"Project-Id-Version: ABRT-master\n"
"Report-Msgid-Bugs-To: jmoskovc@redhat.com\n"
-"POT-Creation-Date: 2010-03-22 08:16+0000\n"
-"PO-Revision-Date: 2010-03-22 15:19+0530\n"
+"POT-Creation-Date: 2010-03-31 10:22+0000\n"
+"PO-Revision-Date: 2010-03-31 16:09+0530\n"
"Last-Translator: Sweta Kothari <swkothar@redhat.com>\n"
"Language-Team: Gujarati\n"
"MIME-Version: 1.0\n"
@@ -63,38 +63,55 @@ msgstr ""
"Debuginfo ગુમ થયેલ છે?"
#: ../src/Gui/ccgui.glade.h:1
-#, fuzzy
-msgid ""
-"(C) 2009 Red Hat, Inc.\n"
-"(C) 2010 Red Hat, Inc."
-msgstr "(C) 2009 Red Hat, Inc."
+msgid "(C) 2009, 2010 Red Hat, Inc."
+msgstr "(C) 2009, 2010 Red Hat, Inc."
+
+#: ../src/Gui/ccgui.glade.h:2
+msgid "<b>Bug Reports:</b>"
+msgstr "<b>ભુલ અહેવાલ:</b>"
#: ../src/Gui/ccgui.glade.h:3
-msgid "About ABRT"
-msgstr "ABRT વિશે"
+msgid "<b>Command:</b>"
+msgstr "<b>આદેશ:</b>"
-#: ../src/Gui/ccgui.glade.h:4 ../src/Gui/CCMainWindow.py:8
-#: ../src/Gui/report.glade.h:16 ../src/Gui/abrt.desktop.in.h:1
-msgid "Automatic Bug Reporting Tool"
-msgstr "Automatic Bug Reporting Tool"
+#: ../src/Gui/ccgui.glade.h:4
+msgid "<b>Comment:</b>"
+msgstr "<b>ટિપ્પણી:</b>"
#: ../src/Gui/ccgui.glade.h:5
-msgid "Delete"
-msgstr "કાઢી નાંખો"
+msgid "<b>Crash Count:</b>"
+msgstr "<b>ભંગાણ ગણતરી:</b>"
#: ../src/Gui/ccgui.glade.h:6
-msgid "Not Reported"
-msgstr "અહેવાલ થયેલ નથી"
+msgid "<b>Latest Crash:</b>"
+msgstr "<b>તાજેતરનું ભંગાણ:</b>"
+
+#: ../src/Gui/ccgui.glade.h:7
+msgid "<b>Reason:</b>"
+msgstr "<b>કારણ:</b>"
+
+#: ../src/Gui/ccgui.glade.h:8
+msgid "<b>User:</b>"
+msgstr "<b>વપરાશકર્તા:</b>"
+
+#: ../src/Gui/ccgui.glade.h:9
+msgid "About ABRT"
+msgstr "ABRT વિશે"
+
+#: ../src/Gui/ccgui.glade.h:10 ../src/Gui/CCMainWindow.py:8
+#: ../src/Gui/report.glade.h:16 ../src/Gui/abrt.desktop.in.h:1
+msgid "Automatic Bug Reporting Tool"
+msgstr "આપોઆપ ભૂલ અહેવાલીકરણ સાધન"
-#: ../src/Gui/ccgui.glade.h:7 ../src/Gui/settings.glade.h:19
+#: ../src/Gui/ccgui.glade.h:11 ../src/Gui/settings.glade.h:19
msgid "Plugins"
msgstr "પ્લગઇનો"
-#: ../src/Gui/ccgui.glade.h:8 ../src/Applet/CCApplet.cpp:251
+#: ../src/Gui/ccgui.glade.h:12 ../src/Applet/CCApplet.cpp:251
msgid "Report"
msgstr "અહેવાલ"
-#: ../src/Gui/ccgui.glade.h:9
+#: ../src/Gui/ccgui.glade.h:13
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -122,48 +139,40 @@ msgstr ""
"You should have received a copy of the GNU General Public License along with "
"this program. If not, see <http://www.gnu.org/licenses/>."
-#: ../src/Gui/ccgui.glade.h:14
+#: ../src/Gui/ccgui.glade.h:18
+msgid "View log"
+msgstr "લૉગને જુઓ"
+
+#: ../src/Gui/ccgui.glade.h:19
msgid "_Edit"
-msgstr "ફેરફાર કરો (_E)"
+msgstr "ફેરફાર (_E)"
-#: ../src/Gui/ccgui.glade.h:15
+#: ../src/Gui/ccgui.glade.h:20
msgid "_File"
msgstr "ફાઇલ (_F)"
-#: ../src/Gui/ccgui.glade.h:16
+#: ../src/Gui/ccgui.glade.h:21
msgid "_Help"
msgstr "મદદ (_H)"
-#: ../src/Gui/ccgui.glade.h:17 ../src/Applet/CCApplet.cpp:104
+#: ../src/Gui/ccgui.glade.h:22 ../src/Applet/CCApplet.cpp:104
msgid "translator-credits"
-msgstr ""
+msgstr "શ્ર્વેતા કોઠારી <swkothar@redhat.com>"
#. add pixbuff separatelly
-#: ../src/Gui/CCMainWindow.py:65
-msgid "Icon"
-msgstr "ચિહ્ન"
-
-#: ../src/Gui/CCMainWindow.py:73
-msgid "Package"
-msgstr "પેકેજ"
+#: ../src/Gui/CCMainWindow.py:61
+msgid "Reported"
+msgstr "અહેવાલ થયેલ"
-#: ../src/Gui/CCMainWindow.py:75
+#: ../src/Gui/CCMainWindow.py:69
msgid "Application"
msgstr "કાર્યક્રમ"
-#: ../src/Gui/CCMainWindow.py:77
-msgid "Date"
-msgstr "તારીખ"
+#: ../src/Gui/CCMainWindow.py:71
+msgid "Latest Crash"
+msgstr "તાજેતરનું ભંગાણ"
-#: ../src/Gui/CCMainWindow.py:79
-msgid "Crash count"
-msgstr "ભંગાણ ગણતરી"
-
-#: ../src/Gui/CCMainWindow.py:81
-msgid "User"
-msgstr "વપરાશકર્તા"
-
-#: ../src/Gui/CCMainWindow.py:149
+#: ../src/Gui/CCMainWindow.py:139
#, python-format
msgid ""
"Can't show the settings dialog\n"
@@ -172,7 +181,7 @@ msgstr ""
"સંવાદ સુયોજનોને બતાવી શકાતા નથી\n"
"%s"
-#: ../src/Gui/CCMainWindow.py:154
+#: ../src/Gui/CCMainWindow.py:144
#, python-format
msgid ""
"Unable to finish current task!\n"
@@ -182,7 +191,7 @@ msgstr ""
"%s"
#. there is something wrong with the daemon if we cant get the dumplist
-#: ../src/Gui/CCMainWindow.py:176
+#: ../src/Gui/CCMainWindow.py:179
#, python-format
msgid ""
"Error while loading the dumplist.\n"
@@ -191,32 +200,39 @@ msgstr ""
"જ્યારે ડમ્પયાદીને લાવી રહ્યા હોય ત્યારે ભૂલ.\n"
"%s"
-#: ../src/Gui/CCMainWindow.py:214
-msgid "This crash has been reported:\n"
-msgstr "આ ભંગાણનો અહેવાલ કરી દેવામાં આવ્યો છે:\n"
-
-#: ../src/Gui/CCMainWindow.py:215
-msgid "<b>This crash has been reported:</b>\n"
-msgstr "<b>આ ભંગાણનો અહેવાલ કરી દેવામાં આવ્યો છે:</b>\n"
-
-#: ../src/Gui/CCMainWindow.py:230
-msgid "<b>Not reported!</b>"
-msgstr "<b>અહેવાલ થયેલ નથી!</b>"
+#: ../src/Gui/CCMainWindow.py:227
+#, python-format
+msgid ""
+"<b>%s Crash</b>\n"
+"%s"
+msgstr ""
+"<b>%s ભંગાણ</b>\n"
+"%s"
#: ../src/Gui/CCMainWindow.py:323
+msgid "You have to select a crash to copy."
+msgstr "તમારે નકલ કરવા માટે ભંગાણને પસંદ કરવુ જ પડશે."
+
+#: ../src/Gui/CCMainWindow.py:402
msgid ""
"Usage: abrt-gui [OPTIONS]\n"
"\t-h, --help \tthis help message\n"
"\t-v[vv] \tverbosity level\n"
"\t--report=<crashid>\tdirectly report crash with crashid=<crashid>"
msgstr ""
+"વપરાશ: abrt-gui [OPTIONS]\n"
+"\t-h, --help \tthis help message\n"
+"\t-v[vv] \tverbosity level\n"
+"\t--report=<crashid>\tdirectly report crash with crashid=<crashid>"
-#: ../src/Gui/CCMainWindow.py:347
+#: ../src/Gui/CCMainWindow.py:426
#, python-format
msgid ""
"No such crash in database, probably wrong crashid.\n"
"crashid=%s"
msgstr ""
+"ડેટાબેઝમાં આવુ ભંગાણ નથી, કદાચ ખોટુ crashid છે.\n"
+"crashid=%s"
#. default texts
#: ../src/Gui/CCReporterDialog.py:22
@@ -225,7 +241,7 @@ msgstr "કેવી રીતે આનું પુન:ઉત્પાદન
#: ../src/Gui/CCReporterDialog.py:107
msgid "You must check backtrace for sensitive data"
-msgstr ""
+msgstr "સંવેદનશીલ માહિતી માટે તમારે બેકટ્રેસને ચકાસવુ જ જોઇએ"
#: ../src/Gui/CCReporterDialog.py:118
#, python-format
@@ -235,38 +251,39 @@ msgid ""
"%s</b> \n"
"then use Refresh button to regenerate the backtrace."
msgstr ""
-"નિષ્ક્રિય થયેલ છે તેનો અહેવાલ કરી રહ્યા છે કારણ કે backtrace નો ઉપયોગ કરી શકાય તેવો "
-"નથી.\n"
+"નિષ્ક્રિય થયેલ છે તેનો અહેવાલ કરી રહ્યા છે કારણ કે બેકટ્રેસ નો ઉપયોગ કરી શકાય તેવો નથી.\n"
"મહેરબાની કરીને આદેશની મદદથી જાતે જ debuginfo ને સ્થાપિત કરવા માટે પ્રયત્ન કરો:"
"<b>debuginfo-install %s</b> \n"
"\n"
-"પછી backtrace નો પુન: પ્રયત્ન કરવા માટે તાજુ કરો એ બટનને વાપરો."
+"પછી બેકટ્રેસ નો પુન: પ્રયત્ન કરવા માટે તાજુ કરો એ બટનને વાપરો."
#: ../src/Gui/CCReporterDialog.py:120
msgid "The backtrace is unusable, you can't report this!"
-msgstr "backtrace નો ઉપયોગ કરી શકાય તેવું નથી, આનો તમે અહેવાલ કરી શકતા નથી!"
+msgstr "બેકટ્રેસ નો ઉપયોગ કરી શકાય તેવું નથી, આનો તમે અહેવાલ કરી શકતા નથી!"
#: ../src/Gui/CCReporterDialog.py:124
msgid ""
"The backtrace is incomplete, please make sure you provide good steps to "
"reproduce."
msgstr ""
-"backtrace એ અપૂરતુ છે, મહેરબાની કરીને ખાતરી કરો કે પુન:ઉત્પન્ન કરવા માટે સારાં પગલાઓ "
-"પૂરા પાડો છો."
+"બેકટ્રેસ એ અપૂરતુ છે, મહેરબાની કરીને ખાતરી કરો કે પુન:ઉત્પન્ન કરવા માટે સારાં પગલાઓ પૂરા "
+"પાડો છો."
#: ../src/Gui/CCReporterDialog.py:130
msgid "Reporting disabled, please fix the problems shown above."
-msgstr ""
+msgstr "અહેવાલ કરવાનું નિષ્ક્રિય થયેલ, ઉપર બતાવેલ સમસ્યાઓને સુધારો."
#: ../src/Gui/CCReporterDialog.py:132
msgid "Sends the report using selected plugin."
-msgstr ""
+msgstr "પસંદ થયેલ પ્લગઇનની મદદથી અહેવાલને મોકલે છે."
#: ../src/Gui/CCReporterDialog.py:392
msgid ""
"No reporter plugin available for this type of crash\n"
"Please check abrt.conf."
msgstr ""
+"ભંગાણનાં આ પ્રકાર માટે અહેવાલ કરવાર પ્લગઇન ઉપલ્બધ નથી\n"
+"મહેરબાની કરીને abrt.conf ને ચકાસો."
#: ../src/Gui/CCReporterDialog.py:412
#, python-format
@@ -278,9 +295,9 @@ msgstr ""
" %s"
#: ../src/Gui/CCReporterDialog.py:442
-#, fuzzy, python-format
+#, python-format
msgid "Configure %s options"
-msgstr "પ્લગઇનને રૂપરેખાંકિત કરો (_o)"
+msgstr "%s વિકલ્પોને રૂપરેખાંકિત કરો"
#: ../src/Gui/CCReporterDialog.py:492
msgid ""
@@ -334,7 +351,7 @@ msgstr "<b>જોડાણો</b>"
#: ../src/Gui/report.glade.h:3
msgid "<b>Backtrace</b>"
-msgstr "<b>બેરટ્રેસ</b>"
+msgstr "<b>બેકટ્રેસ્ટ્રેસ</b>"
#: ../src/Gui/report.glade.h:4
msgid "<b>Comment</b>"
@@ -350,7 +367,7 @@ msgstr "<b>મહેરબાની કરીને નીચેની સમસ
#: ../src/Gui/report.glade.h:7
msgid "<b>Where do you want to report this incident?</b>"
-msgstr ""
+msgstr "<b>ક્યાં તમે આ ઘટનાનો અહેવાલ કરવા માંગો છો?</b>"
#: ../src/Gui/report.glade.h:8
msgid "<span fgcolor=\"blue\">Architecture:</span>"
@@ -390,11 +407,11 @@ msgstr "વિગતો"
#: ../src/Gui/report.glade.h:18
msgid "Forces ABRT to regenerate the backtrace"
-msgstr ""
+msgstr "બેકટ્રેસ ને પુન:ઉત્પન્ન કરવા માટે ABRT ને દબાણ કરે છે"
#: ../src/Gui/report.glade.h:19
msgid "I checked backtrace and removed sensitive data (passwords, etc)"
-msgstr ""
+msgstr "મેં બેકટ્રેસને ચકાસેલ છે અને સંવેદનશીલ માહિતીને દૂર કરેલ છે (પાસવર્ડો, વગેરે)"
#: ../src/Gui/report.glade.h:20
msgid "N/A"
@@ -405,17 +422,16 @@ msgid "Please wait.."
msgstr "મહેરબાની કરીને થોભો.."
#: ../src/Gui/report.glade.h:22
-#, fuzzy
msgid "Reporter Selector"
-msgstr "Reporter પ્લગઇનો"
+msgstr "રિપૉર્ટર પસંદ કરનાર"
#: ../src/Gui/report.glade.h:23
msgid "Send report"
-msgstr ""
+msgstr "અહેવાલ મોકલો"
#: ../src/Gui/report.glade.h:24
msgid "Show log"
-msgstr ""
+msgstr "લૉગ બતાવો"
#: ../src/Gui/SettingsDialog.py:33 ../src/Gui/SettingsDialog.py:50
msgid "<b>Select plugin</b>"
@@ -507,7 +523,7 @@ msgstr "નામ:"
#: ../src/Gui/settings.glade.h:20
msgid "Preferences"
-msgstr ""
+msgstr "પસંદગીઓ"
#: ../src/Gui/settings.glade.h:21
msgid "Version:"
@@ -527,9 +543,8 @@ msgid "A crash in package %s has been detected"
msgstr "પેકેજ %s માં ભંગાણ ને શોધી દેવામાં આવ્યો છે"
#: ../src/Applet/Applet.cpp:90
-#, fuzzy
msgid "A crash has been detected"
-msgstr "પેકેજ %s માં ભંગાણ ને શોધી દેવામાં આવ્યો છે"
+msgstr "ભંગાણ ને શોધી દેવામાં આવ્યો છે"
#: ../src/Applet/Applet.cpp:266
msgid "ABRT service is not running"
@@ -542,11 +557,11 @@ msgstr "ચેતવણી"
#: ../src/Applet/CCApplet.cpp:88
msgid "Notification area applet to notify user about issues detected by ABRT"
-msgstr ""
+msgstr "ABRT દ્દારા શોધેલ મુદ્દાઓ વિશે વપરાશકર્તાને સૂચિત કરવા માટે સૂચના વિસ્તાર એપલેટ"
#: ../src/Applet/CCApplet.cpp:114
msgid "Hide"
-msgstr ""
+msgstr "છુપાડો"
#: ../src/Daemon/Daemon.cpp:481
msgid ""
@@ -567,11 +582,12 @@ msgid "New bug id: %i"
msgstr "નવી ભૂલ id: %i"
#: ../lib/Plugins/Bugzilla.cpp:607
-#, fuzzy
msgid ""
"Empty login and password.\n"
"Please check "
-msgstr "ખાલી લોગીન અને પાસવર્ડ. મહેરબાની કરીને Bugzilla.conf ને ચકાસો"
+msgstr ""
+"ખાલી લોગીન અને પાસવર્ડ. \n"
+"મહેરબાની કરીને ચકાસો"
#: ../lib/Plugins/Bugzilla.cpp:615
msgid "Logging into bugzilla..."
@@ -583,7 +599,7 @@ msgstr "નકલો માટે ચકાસી રહ્યા છે..."
#: ../lib/Plugins/Bugzilla.cpp:631
msgid "Missing mandatory member 'bugs'"
-msgstr ""
+msgstr "ગુમ થયેલ ફરજિયાત સભ્ય 'ભૂલો'"
#: ../lib/Plugins/Bugzilla.cpp:641
msgid "Creating new bug..."
@@ -591,7 +607,7 @@ msgstr "નવી ભૂલને બનાવી રહ્યા છે..."
#: ../lib/Plugins/Bugzilla.cpp:646
msgid "Bugzilla entry creation failed"
-msgstr ""
+msgstr "બગઝીલા નોંધણી બનાવવાનું નિષ્ફળ"
#: ../lib/Plugins/Bugzilla.cpp:654 ../lib/Plugins/Bugzilla.cpp:761
msgid "Logging out..."
@@ -599,27 +615,27 @@ msgstr "બહાર નીકળી રહ્યા છે..."
#: ../lib/Plugins/Bugzilla.cpp:686 ../lib/Plugins/Bugzilla.cpp:714
msgid "get_bug_info() failed. Could not collect all mandatory information"
-msgstr ""
+msgstr "get_bug_info() નિષ્ફળ. બધી ફરજિયાત જાણકારીને મેળવી શક્યા નહિં"
#: ../lib/Plugins/Bugzilla.cpp:698
#, c-format
msgid "Bugzilla couldn't find parent of bug(%d)"
-msgstr ""
+msgstr "બગઝીલાએ ભૂલ(%d) નાં મુખ્યને શોધી શક્યા નથી"
#: ../lib/Plugins/Bugzilla.cpp:703
#, c-format
msgid "Jump to bug %d"
-msgstr ""
+msgstr "ભૂલ %d પર કૂદો"
#: ../lib/Plugins/Bugzilla.cpp:728 ../lib/Plugins/Bugzilla.cpp:729
#, c-format
msgid "Add %s to CC list"
-msgstr ""
+msgstr "CC યાદીમાં %s ને ઉમેરો"
#: ../lib/Plugins/Bugzilla.cpp:752
#, c-format
msgid "Add new comment into bug(%d)"
-msgstr ""
+msgstr "ભૂલ(%d) માં નવી ટિપ્પણીને ઉમેરો"
#: ../lib/Plugins/Kerneloops.cpp:100
msgid "Getting local universal unique identification"
@@ -678,12 +694,11 @@ msgid "Sending an email..."
msgstr "ઇમેઇલને મોકલી રહ્યા છે..."
#: ../lib/Plugins/SOSreport.cpp:101
-#, fuzzy, c-format
+#, c-format
msgid "Running sosreport: %s"
msgstr "sosreport ચાલી રહ્યુ છે: %s"
#: ../lib/Plugins/SOSreport.cpp:107
-#, fuzzy
msgid "Done running sosreport"
msgstr "sosreport ચાલી રહ્યુ છે તે સમાપ્ત થયુ"
diff --git a/po/nl.po b/po/nl.po
index a14a2449..bf5cec9c 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: abrt.master\n"
"Report-Msgid-Bugs-To: jmoskovc@redhat.com\n"
-"POT-Creation-Date: 2010-03-21 14:12+0000\n"
-"PO-Revision-Date: 2010-03-21 20:08+0100\n"
+"POT-Creation-Date: 2010-03-31 10:22+0000\n"
+"PO-Revision-Date: 2010-03-31 14:35+0200\n"
"Last-Translator: Geert Warrink <geert.warrink@onsnet.nu>\n"
"Language-Team: nl <fedora-trans-list@redhat.com>\n"
"MIME-Version: 1.0\n"
@@ -68,39 +68,55 @@ msgstr ""
"Mist debuginfo?"
#: ../src/Gui/ccgui.glade.h:1
-msgid ""
-"(C) 2009 Red Hat, Inc.\n"
-"(C) 2010 Red Hat, Inc."
-msgstr ""
-"(C) 2009 Red Hat, Inc.\n"
-"(C) 2010 Red Hat, Inc."
+msgid "(C) 2009, 2010 Red Hat, Inc."
+msgstr "(C) 2009, 2010 Red Hat, Inc."
+
+#: ../src/Gui/ccgui.glade.h:2
+msgid "<b>Bug Reports:</b>"
+msgstr "<b>Fout rapporten:</b>"
#: ../src/Gui/ccgui.glade.h:3
+msgid "<b>Command:</b>"
+msgstr "<b>Commando:</b>"
+
+#: ../src/Gui/ccgui.glade.h:4
+msgid "<b>Comment:</b>"
+msgstr "<b>Commentaar:</b>"
+
+#: ../src/Gui/ccgui.glade.h:5
+msgid "<b>Crash Count:</b>"
+msgstr "<b>Crash telling:</b>"
+
+#: ../src/Gui/ccgui.glade.h:6
+msgid "<b>Latest Crash:</b>"
+msgstr "<b>Laatste crash:</b>"
+
+#: ../src/Gui/ccgui.glade.h:7
+msgid "<b>Reason:</b>"
+msgstr "<b>Reden:</b>"
+
+#: ../src/Gui/ccgui.glade.h:8
+msgid "<b>User:</b>"
+msgstr "<b>Gebruiker:</b>"
+
+#: ../src/Gui/ccgui.glade.h:9
msgid "About ABRT"
msgstr "Over ABRT"
-#: ../src/Gui/ccgui.glade.h:4 ../src/Gui/CCMainWindow.py:8
+#: ../src/Gui/ccgui.glade.h:10 ../src/Gui/CCMainWindow.py:8
#: ../src/Gui/report.glade.h:16 ../src/Gui/abrt.desktop.in.h:1
msgid "Automatic Bug Reporting Tool"
msgstr "Automatisch bug rapporteer gereedschap"
-#: ../src/Gui/ccgui.glade.h:5
-msgid "Delete"
-msgstr "Verwijderen"
-
-#: ../src/Gui/ccgui.glade.h:6
-msgid "Not Reported"
-msgstr "Niet gerapporteerd"
-
-#: ../src/Gui/ccgui.glade.h:7 ../src/Gui/settings.glade.h:19
+#: ../src/Gui/ccgui.glade.h:11 ../src/Gui/settings.glade.h:19
msgid "Plugins"
msgstr "Plugins"
-#: ../src/Gui/ccgui.glade.h:8 ../src/Applet/CCApplet.cpp:251
+#: ../src/Gui/ccgui.glade.h:12 ../src/Applet/CCApplet.cpp:251
msgid "Report"
msgstr "Rapport"
-#: ../src/Gui/ccgui.glade.h:9
+#: ../src/Gui/ccgui.glade.h:13
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -128,48 +144,40 @@ msgstr ""
"Je moet een kopie van de GNU General Public License tezamen met dit "
"programma ontvangen hebben. Zo niet, zie <http://www.gnu.org/licenses/>."
-#: ../src/Gui/ccgui.glade.h:14
+#: ../src/Gui/ccgui.glade.h:18
+msgid "View log"
+msgstr "Bekijk log"
+
+#: ../src/Gui/ccgui.glade.h:19
msgid "_Edit"
msgstr "Be_werken"
-#: ../src/Gui/ccgui.glade.h:15
+#: ../src/Gui/ccgui.glade.h:20
msgid "_File"
msgstr "_Bestand"
-#: ../src/Gui/ccgui.glade.h:16
+#: ../src/Gui/ccgui.glade.h:21
msgid "_Help"
msgstr "_Hulp"
-#: ../src/Gui/ccgui.glade.h:17 ../src/Applet/CCApplet.cpp:104
+#: ../src/Gui/ccgui.glade.h:22 ../src/Applet/CCApplet.cpp:104
msgid "translator-credits"
msgstr "vertaling verdienste"
#. add pixbuff separatelly
-#: ../src/Gui/CCMainWindow.py:65
-msgid "Icon"
-msgstr "Icoon"
-
-#: ../src/Gui/CCMainWindow.py:73
-msgid "Package"
-msgstr "Pakket"
+#: ../src/Gui/CCMainWindow.py:61
+msgid "Reported"
+msgstr "Gerapporteerd"
-#: ../src/Gui/CCMainWindow.py:75
+#: ../src/Gui/CCMainWindow.py:69
msgid "Application"
msgstr "Toepassing"
-#: ../src/Gui/CCMainWindow.py:77
-msgid "Date"
-msgstr "Datum"
+#: ../src/Gui/CCMainWindow.py:71
+msgid "Latest Crash"
+msgstr "Laatste crash"
-#: ../src/Gui/CCMainWindow.py:79
-msgid "Crash count"
-msgstr "Crash count"
-
-#: ../src/Gui/CCMainWindow.py:81
-msgid "User"
-msgstr "Gebruiker"
-
-#: ../src/Gui/CCMainWindow.py:149
+#: ../src/Gui/CCMainWindow.py:139
#, python-format
msgid ""
"Can't show the settings dialog\n"
@@ -178,7 +186,7 @@ msgstr ""
"Kan de instellingen dialoog niet tonen\n"
"%s"
-#: ../src/Gui/CCMainWindow.py:154
+#: ../src/Gui/CCMainWindow.py:144
#, python-format
msgid ""
"Unable to finish current task!\n"
@@ -188,7 +196,7 @@ msgstr ""
"%s"
#. there is something wrong with the daemon if we cant get the dumplist
-#: ../src/Gui/CCMainWindow.py:176
+#: ../src/Gui/CCMainWindow.py:179
#, python-format
msgid ""
"Error while loading the dumplist.\n"
@@ -197,19 +205,20 @@ msgstr ""
"Fout tijdens het laden van de dumplijst.\n"
"%s"
-#: ../src/Gui/CCMainWindow.py:214
-msgid "This crash has been reported:\n"
-msgstr "Deze crash is gerapporteerd:\n"
-
-#: ../src/Gui/CCMainWindow.py:215
-msgid "<b>This crash has been reported:</b>\n"
-msgstr "<b>Deze crash is gerapporteerd:</b>\n"
-
-#: ../src/Gui/CCMainWindow.py:230
-msgid "<b>Not reported!</b>"
-msgstr "<b>Niet gerapporteerd!</b>"
+#: ../src/Gui/CCMainWindow.py:227
+#, python-format
+msgid ""
+"<b>%s Crash</b>\n"
+"%s"
+msgstr ""
+"<b>%s crash</b>\n"
+"%s"
#: ../src/Gui/CCMainWindow.py:323
+msgid "You have to select a crash to copy."
+msgstr "Je moet een crash selecteren om te kopiëren."
+
+#: ../src/Gui/CCMainWindow.py:402
msgid ""
"Usage: abrt-gui [OPTIONS]\n"
"\t-h, --help \tthis help message\n"
@@ -221,7 +230,7 @@ msgstr ""
"\t-v[vv] \tniveau van uitgebreidheid\n"
"\t--report=<crashid>\trapporteer crash direct met crashid=<crashid>"
-#: ../src/Gui/CCMainWindow.py:347
+#: ../src/Gui/CCMainWindow.py:426
#, python-format
msgid ""
"No such crash in database, probably wrong crashid.\n"
@@ -704,6 +713,30 @@ msgstr "Sosreport draaien: %s"
msgid "Done running sosreport"
msgstr "Klaar met het draaien van sosreport"
+#~ msgid "Delete"
+#~ msgstr "Verwijderen"
+
+#~ msgid "Not Reported"
+#~ msgstr "Niet gerapporteerd"
+
+#~ msgid "Icon"
+#~ msgstr "Icoon"
+
+#~ msgid "Package"
+#~ msgstr "Pakket"
+
+#~ msgid "Date"
+#~ msgstr "Datum"
+
+#~ msgid "User"
+#~ msgstr "Gebruiker"
+
+#~ msgid "This crash has been reported:\n"
+#~ msgstr "Deze crash is gerapporteerd:\n"
+
+#~ msgid "<b>This crash has been reported:</b>\n"
+#~ msgstr "<b>Deze crash is gerapporteerd:</b>\n"
+
#~ msgid ""
#~ "aalam@fedoraproject.org\n"
#~ "amitakhya@fedoraproject.org\n"
diff --git a/po/pa.po b/po/pa.po
index 80286ec5..23501955 100644
--- a/po/pa.po
+++ b/po/pa.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: abrt.master.pa\n"
"Report-Msgid-Bugs-To: jmoskovc@redhat.com\n"
"POT-Creation-Date: 2010-03-25 02:14+0000\n"
-"PO-Revision-Date: 2010-03-25 11:45+0530\n"
+"PO-Revision-Date: 2010-03-31 15:09+0530\n"
"Last-Translator: Jaswinder Singh <jsingh@redhat.com>\n"
"Language-Team: Punjabi/Panjabi <kde-i18n-doc@kde.org>\n"
"MIME-Version: 1.0\n"
@@ -221,6 +221,8 @@ msgid ""
"No such crash in database, probably wrong crashid.\n"
"crashid=%s"
msgstr ""
+"ਡਾਟਾਬੇਸ ਵਿੱਚ ਅਜਿਹਾ ਕੋਈ ਕਰੈਸ਼ ਨਹੀਂ ਹੈ, ਸੰਭਵ ਹੈ ਕਿ ਕੋਈ ਗਲਤ crashid ਹੈ।\n"
+"crashid=%s"
#. default texts
#: ../src/Gui/CCReporterDialog.py:22
@@ -229,7 +231,7 @@ msgstr "ਇਸ ਨੂੰ ਪੈਦਾ ਕਰਨ ਬਾਰੇ ਸੰਖੇਪ ਜ
#: ../src/Gui/CCReporterDialog.py:107
msgid "You must check backtrace for sensitive data"
-msgstr ""
+msgstr "ਤੁਹਾਨੂੰ ਜਰੂਰੀ ਡਾਟੇ ਲਈ ਬੈਕਟਰੇਸ ਦੀ ਜਾਂਚ ਕਰਨੀ ਪਵੇਗੀ"
#: ../src/Gui/CCReporterDialog.py:118
#, python-format
@@ -256,17 +258,19 @@ msgstr "ਬੈਕਟਰੇਸ ਅਧੂਰਾ ਹੈ, ਯਕੀਨੀ ਬਣਾ
#: ../src/Gui/CCReporterDialog.py:130
msgid "Reporting disabled, please fix the problems shown above."
-msgstr ""
+msgstr "ਰਿਪੋਰਟਿੰਗ ਅਯੋਗ ਹੈ, ਕਿਰਪਾ ਕਰਕੇ ਉੱਪਰ ਦਿੱਤੀ ਸਮੱਸਿਆ ਹੱਲ ਕਰੋ।"
#: ../src/Gui/CCReporterDialog.py:132
msgid "Sends the report using selected plugin."
-msgstr ""
+msgstr "ਚੁਣੇ ਪਲੱਗਇਨ ਵਰਤ ਕੇ ਰਿਪੋਰਟ ਭੇਜਦਾ ਹੈ।"
#: ../src/Gui/CCReporterDialog.py:392
msgid ""
"No reporter plugin available for this type of crash\n"
"Please check abrt.conf."
msgstr ""
+"ਕੋਈ ਰਿਪੋਰਟਰ ਪਲੱਗਇਨ ਇਸ ਕਿਸਮ ਦੇ ਕਰੈਸ਼ ਲਈ ਉਪਲੱਬਧ ਨਹੀਂ ਹੈ\n"
+"abrt.conf ਦੀ ਜਾਂਚ ਕਰੋ ਜੀ।"
#: ../src/Gui/CCReporterDialog.py:412
#, python-format
@@ -350,7 +354,7 @@ msgstr "<b>ਹੇਠਲੀਆਂ ਸਮੱਸਿਆਵਾਂ ਹੱਲ ਕਰੋ
#: ../src/Gui/report.glade.h:7
msgid "<b>Where do you want to report this incident?</b>"
-msgstr ""
+msgstr "<b>ਤੁਸੀਂ ਇਸ ਘਟਨਾਂ ਨੂੰ ਕਿੱਤੇ ਰਿਪੋਰਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹਨ?</b>"
#: ../src/Gui/report.glade.h:8
msgid "<span fgcolor=\"blue\">Architecture:</span>"
@@ -390,11 +394,11 @@ msgstr "ਵੇਰਵਾ"
#: ../src/Gui/report.glade.h:18
msgid "Forces ABRT to regenerate the backtrace"
-msgstr ""
+msgstr "ABRT ਨੂੰ ਬੈਕਟਰੇਸ ਮੁੜ-ਬਣਾਉਣ ਲਈ ਮਜਬੂਰ ਕਰੋ"
#: ../src/Gui/report.glade.h:19
msgid "I checked backtrace and removed sensitive data (passwords, etc)"
-msgstr ""
+msgstr "ਮੈਂ ਬੈਕਟਰੇਸ ਦੀ ਜਾਂਚ ਕੀਤੀ ਹੈ ਅਤੇ ਜਰੂਰੀ ਡਾਟਾ (ਪਾਸਵਰਡ, ਆਦਿ) ਹਟਾ ਦਿੱਤਾ ਹੈ"
#: ../src/Gui/report.glade.h:20
msgid "N/A"
@@ -410,11 +414,11 @@ msgstr "ਰਿਪੋਰਟਰ ਚੋਣਕਾਰ"
#: ../src/Gui/report.glade.h:23
msgid "Send report"
-msgstr ""
+msgstr "ਰਿਪੋਰਟ ਭੇਜੋ"
#: ../src/Gui/report.glade.h:24
msgid "Show log"
-msgstr ""
+msgstr "ਲਾਗ ਵੇਖਾਓ"
#: ../src/Gui/SettingsDialog.py:33 ../src/Gui/SettingsDialog.py:50
msgid "<b>Select plugin</b>"
@@ -540,7 +544,7 @@ msgstr "ਚੇਤਾਵਨੀ"
#: ../src/Applet/CCApplet.cpp:88
msgid "Notification area applet to notify user about issues detected by ABRT"
-msgstr ""
+msgstr "ਸੂਚਨਾ ਖੇਤਰ ਐਪਲਿਟ ਜੋ ਯੂਜ਼ਰ ਨੂੰ ABRT ਦੁਆਰਾ ਲੱਭੇ ਮੁੱਦਿਆਂ ਬਾਰੇ ਦੱਸਦਾ ਹੈ"
#: ../src/Applet/CCApplet.cpp:114
msgid "Hide"
@@ -565,11 +569,12 @@ msgid "New bug id: %i"
msgstr "ਨਵਾਂ ਬੱਗ id: %i"
#: ../lib/Plugins/Bugzilla.cpp:607
-#, fuzzy
msgid ""
"Empty login and password.\n"
"Please check "
-msgstr "ਖਾਲੀ ਲਾਗਇਨ ਅਤੇ ਪਾਸਵਰਡ। Bugzilla.conf ਵੇਖੋ ਜੀ।"
+msgstr ""
+"ਖਾਲੀ ਲਾਗਇਨ ਅਤੇ ਪਾਸਵਰਡ। \n"
+"ਜਾਂਚ ਕਰੋ ਜੀ "
#: ../lib/Plugins/Bugzilla.cpp:615
msgid "Logging into bugzilla..."
@@ -580,9 +585,8 @@ msgid "Checking for duplicates..."
msgstr "ਡੁਪਲੀਕੇਟ ਲਈ ਜਾਂਚ ਜਾਰੀ..."
#: ../lib/Plugins/Bugzilla.cpp:631
-#, fuzzy
msgid "Missing mandatory member 'bugs'"
-msgstr "ਗੈਰ-ਮੌਜੂਦ ਮੈਂਬਰ 'ਬੱਗ'"
+msgstr "ਗੈਰ-ਮੌਜੂਦ ਜਰੂਰੀ ਮੈਂਬਰ 'ਬੱਗ'"
#: ../lib/Plugins/Bugzilla.cpp:641
msgid "Creating new bug..."
@@ -590,7 +594,7 @@ msgstr "ਨਵਾਂ ਬੱਗ ਬਣਾ ਰਿਹਾ ਹੈ..."
#: ../lib/Plugins/Bugzilla.cpp:646
msgid "Bugzilla entry creation failed"
-msgstr ""
+msgstr "ਬੱਗਜ਼ੀਲਾ ਐਂਟਰੀ ਬਣਾਉਣ ਵਿੱਚ ਫੇਲ"
#: ../lib/Plugins/Bugzilla.cpp:654 ../lib/Plugins/Bugzilla.cpp:761
msgid "Logging out..."
@@ -598,27 +602,27 @@ msgstr "ਲਾਗਆਉਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ..."
#: ../lib/Plugins/Bugzilla.cpp:686 ../lib/Plugins/Bugzilla.cpp:714
msgid "get_bug_info() failed. Could not collect all mandatory information"
-msgstr ""
+msgstr "get_bug_info() ਫੇਲ ਹੈ। ਸਭ ਜਰੂਰੀ ਜਾਣਕਾਰੀ ਇਕੱਠੀ ਨਹੀਂ ਕਰ ਸਕਿਆ"
#: ../lib/Plugins/Bugzilla.cpp:698
#, c-format
msgid "Bugzilla couldn't find parent of bug(%d)"
-msgstr ""
+msgstr "ਬੱਗਜ਼ੀਲਾ ਨੂੰ bug(%d) ਦਾ ਅਧਾਰ ਨਹੀਂ ਲੱਭਿਆ"
#: ../lib/Plugins/Bugzilla.cpp:703
#, c-format
msgid "Jump to bug %d"
-msgstr ""
+msgstr "ਬੱਗ %d ਤੇ ਜਾਓ"
#: ../lib/Plugins/Bugzilla.cpp:728 ../lib/Plugins/Bugzilla.cpp:729
#, c-format
msgid "Add %s to CC list"
-msgstr ""
+msgstr "%s ਨੂੰ CC ਲਿਸਟ ਵਿੱਚ ਜੋੜੋ"
#: ../lib/Plugins/Bugzilla.cpp:752
#, c-format
msgid "Add new comment into bug(%d)"
-msgstr ""
+msgstr "bug(%d) ਵਿੱਚ ਨਵੀਂ ਟਿੱਪਣੀ ਜੋੜੋ"
#: ../lib/Plugins/Kerneloops.cpp:100
msgid "Getting local universal unique identification"
@@ -677,12 +681,11 @@ msgid "Sending an email..."
msgstr "ਈਮੇਲ ਭੇਜੀ ਜਾ ਰਹੀ ਹੈ..."
#: ../lib/Plugins/SOSreport.cpp:101
-#, fuzzy, c-format
+#, c-format
msgid "Running sosreport: %s"
-msgstr "sosreport ਚਲਾਈ ਜਾ ਰਹੀ ਹੈ: %s "
+msgstr "sosreport ਚਲਾ ਰਿਹਾ ਹੈ: %s "
#: ../lib/Plugins/SOSreport.cpp:107
-#, fuzzy
msgid "Done running sosreport"
msgstr "sosreport ਚਲਾਉਣਾ ਮੁਕੰਮਲ"
diff --git a/po/pl.po b/po/pl.po
index 0ba5a337..70238e37 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: pl\n"
"Report-Msgid-Bugs-To: jmoskovc@redhat.com\n"
-"POT-Creation-Date: 2010-03-19 22:23+0000\n"
-"PO-Revision-Date: 2010-03-19 23:25+0100\n"
+"POT-Creation-Date: 2010-03-31 10:22+0000\n"
+"PO-Revision-Date: 2010-03-31 14:38+0100\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <trans-pl@lists.fedoraproject.org>\n"
"MIME-Version: 1.0\n"
@@ -62,39 +62,55 @@ msgstr ""
"Brak pakietów debuginfo?"
#: ../src/Gui/ccgui.glade.h:1
-msgid ""
-"(C) 2009 Red Hat, Inc.\n"
-"(C) 2010 Red Hat, Inc."
-msgstr ""
-"(C) 2009 Red Hat, Inc.\n"
-"(C) 2010 Red Hat, Inc."
+msgid "(C) 2009, 2010 Red Hat, Inc."
+msgstr "(C) 2009, 2010 Red Hat, Inc."
+
+#: ../src/Gui/ccgui.glade.h:2
+msgid "<b>Bug Reports:</b>"
+msgstr "<b>Zgłoszenia błędów:</b>"
#: ../src/Gui/ccgui.glade.h:3
+msgid "<b>Command:</b>"
+msgstr "<b>Polecenie:</b>"
+
+#: ../src/Gui/ccgui.glade.h:4
+msgid "<b>Comment:</b>"
+msgstr "<b>Komentarz:</b>"
+
+#: ../src/Gui/ccgui.glade.h:5
+msgid "<b>Crash Count:</b>"
+msgstr "<b>Liczba awarii:</b>"
+
+#: ../src/Gui/ccgui.glade.h:6
+msgid "<b>Latest Crash:</b>"
+msgstr "<b>Ostatnia awaria:</b>"
+
+#: ../src/Gui/ccgui.glade.h:7
+msgid "<b>Reason:</b>"
+msgstr "<b>Przyczyna:</b>"
+
+#: ../src/Gui/ccgui.glade.h:8
+msgid "<b>User:</b>"
+msgstr "<b>Użytkownik:</b>"
+
+#: ../src/Gui/ccgui.glade.h:9
msgid "About ABRT"
msgstr "O programie ABRT"
-#: ../src/Gui/ccgui.glade.h:4 ../src/Gui/CCMainWindow.py:8
+#: ../src/Gui/ccgui.glade.h:10 ../src/Gui/CCMainWindow.py:8
#: ../src/Gui/report.glade.h:16 ../src/Gui/abrt.desktop.in.h:1
msgid "Automatic Bug Reporting Tool"
msgstr "Narzędzie do automatycznego zgłaszania błędów"
-#: ../src/Gui/ccgui.glade.h:5
-msgid "Delete"
-msgstr "Usuń"
-
-#: ../src/Gui/ccgui.glade.h:6
-msgid "Not Reported"
-msgstr "Nie zgłoszono"
-
-#: ../src/Gui/ccgui.glade.h:7 ../src/Gui/settings.glade.h:19
+#: ../src/Gui/ccgui.glade.h:11 ../src/Gui/settings.glade.h:19
msgid "Plugins"
msgstr "Wtyczki"
-#: ../src/Gui/ccgui.glade.h:8 ../src/Applet/CCApplet.cpp:251
+#: ../src/Gui/ccgui.glade.h:12 ../src/Applet/CCApplet.cpp:251
msgid "Report"
msgstr "Zgłoś"
-#: ../src/Gui/ccgui.glade.h:9
+#: ../src/Gui/ccgui.glade.h:13
msgid ""
"This program is free software; you can redistribute it and/or modify it "
"under the terms of the GNU General Public License as published by the Free "
@@ -124,50 +140,42 @@ msgstr ""
"Powszechnej Licencji Publicznej GNU (GNU General Public License); jeśli nie "
"- proszę odwiedzić stronę internetową <http://www.gnu.org/licenses/>."
-#: ../src/Gui/ccgui.glade.h:14
+#: ../src/Gui/ccgui.glade.h:18
+msgid "View log"
+msgstr "Wyświetl dziennik"
+
+#: ../src/Gui/ccgui.glade.h:19
msgid "_Edit"
msgstr "_Edycja"
-#: ../src/Gui/ccgui.glade.h:15
+#: ../src/Gui/ccgui.glade.h:20
msgid "_File"
msgstr "_Plik"
-#: ../src/Gui/ccgui.glade.h:16
+#: ../src/Gui/ccgui.glade.h:21
msgid "_Help"
msgstr "Pomo_c"
-#: ../src/Gui/ccgui.glade.h:17 ../src/Applet/CCApplet.cpp:104
+#: ../src/Gui/ccgui.glade.h:22 ../src/Applet/CCApplet.cpp:104
msgid "translator-credits"
msgstr ""
"Piotr Drąg <piotrdrag@gmail.com>, 2009\n"
"Tomasz Chrzczonowicz <chrzczonowicz@gmail.com>, 2009"
#. add pixbuff separatelly
-#: ../src/Gui/CCMainWindow.py:65
-msgid "Icon"
-msgstr "Ikona"
+#: ../src/Gui/CCMainWindow.py:61
+msgid "Reported"
+msgstr "Zgłoszono"
-#: ../src/Gui/CCMainWindow.py:73
-msgid "Package"
-msgstr "Pakiet"
-
-#: ../src/Gui/CCMainWindow.py:75
+#: ../src/Gui/CCMainWindow.py:69
msgid "Application"
msgstr "Aplikacja"
-#: ../src/Gui/CCMainWindow.py:77
-msgid "Date"
-msgstr "Data"
-
-#: ../src/Gui/CCMainWindow.py:79
-msgid "Crash count"
-msgstr "Liczba awarii"
+#: ../src/Gui/CCMainWindow.py:71
+msgid "Latest Crash"
+msgstr "Ostatnia awaria"
-#: ../src/Gui/CCMainWindow.py:81
-msgid "User"
-msgstr "Użytkownik"
-
-#: ../src/Gui/CCMainWindow.py:149
+#: ../src/Gui/CCMainWindow.py:139
#, python-format
msgid ""
"Can't show the settings dialog\n"
@@ -176,7 +184,7 @@ msgstr ""
"Nie można wyświetlić okna dialogowego ustawień\n"
"%s"
-#: ../src/Gui/CCMainWindow.py:154
+#: ../src/Gui/CCMainWindow.py:144
#, python-format
msgid ""
"Unable to finish current task!\n"
@@ -186,7 +194,7 @@ msgstr ""
"%s"
#. there is something wrong with the daemon if we cant get the dumplist
-#: ../src/Gui/CCMainWindow.py:176
+#: ../src/Gui/CCMainWindow.py:179
#, python-format
msgid ""
"Error while loading the dumplist.\n"
@@ -195,19 +203,20 @@ msgstr ""
"Błąd podczas wczytywania listy zrzutów.\n"
"%s"
-#: ../src/Gui/CCMainWindow.py:214
-msgid "This crash has been reported:\n"
-msgstr "Ta awaria została zgłoszona:\n"
-
-#: ../src/Gui/CCMainWindow.py:215
-msgid "<b>This crash has been reported:</b>\n"
-msgstr "<b>Ta awaria została zgłoszona:</b>\n"
-
-#: ../src/Gui/CCMainWindow.py:230
-msgid "<b>Not reported!</b>"
-msgstr "<b>Nie zgłoszono.</b>"
+#: ../src/Gui/CCMainWindow.py:227
+#, python-format
+msgid ""
+"<b>%s Crash</b>\n"
+"%s"
+msgstr ""
+"<b>%s awaria</b>\n"
+"%s"
#: ../src/Gui/CCMainWindow.py:323
+msgid "You have to select a crash to copy."
+msgstr "Należy wybrać awarię do skopiowania."
+
+#: ../src/Gui/CCMainWindow.py:402
msgid ""
"Usage: abrt-gui [OPTIONS]\n"
"\t-h, --help \tthis help message\n"
@@ -219,7 +228,7 @@ msgstr ""
"\t-v[vv] \tpoziom wyświetlania komunikatów\n"
"\t--report=<id_awarii>\tbezpośrednio zgłasza awarię z id_awarii=<id_awarii>"
-#: ../src/Gui/CCMainWindow.py:347
+#: ../src/Gui/CCMainWindow.py:426
#, python-format
msgid ""
"No such crash in database, probably wrong crashid.\n"
diff --git a/src/Applet/Makefile.am b/src/Applet/Makefile.am
index 5f0401ba..64a9ded4 100644
--- a/src/Applet/Makefile.am
+++ b/src/Applet/Makefile.am
@@ -37,3 +37,6 @@ DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
autostartdir = $(sysconfdir)/xdg/autostart
autostart_DATA = abrt-applet.desktop
+
+abrt-applet.desktop:
+ intltool-merge -d ../../po abrt-applet.desktop.in abrt-applet.desktop
diff --git a/src/Applet/abrt-applet.desktop b/src/Applet/abrt-applet.desktop.in
index d7cc9662..842d4e9f 100644
--- a/src/Applet/abrt-applet.desktop
+++ b/src/Applet/abrt-applet.desktop.in
@@ -1,5 +1,7 @@
[Desktop Entry]
-Name=Automatic Bug Reporting Tool
+_Name=Automatic Bug Reporting Tool
+_Comment=ABRT notification applet
+Icon=abrt
Exec=abrt-applet
Terminal=false
Type=Application
diff --git a/src/Gui/CCDump.py b/src/Gui/CCDump.py
index fe903845..8a09b5b6 100644
--- a/src/Gui/CCDump.py
+++ b/src/Gui/CCDump.py
@@ -44,56 +44,73 @@ CD_MESSAGE = "Message"
class Dump():
"""Class for mapping the debug dump to python object"""
+ not_required_fields = ["comment", "Message"]
def __init__(self):
- self.UUID = None
- self.uid = None
- self.Count = None
- self.executable = None
- self.package = None
- self.time = None
- self.description = None
- self.Message = None
- self.Reported = None
- self.analyzer = None
+ # we set all attrs dynamically, so no need to have it in init
+ for field in self.not_required_fields:
+ self.__dict__[field] = None
+
+ def __setattr__(self, name, value):
+ if value != None:
+ if name == "time":
+ try:
+ self.__dict__["date"] = datetime.fromtimestamp(int(value[CD_CONTENT])).strftime("%c")
+ except Exception, ex:
+ self.__dict__["date"] = value[CD_CONTENT]
+ log2("can't convert timestamp to date: %s" % ex)
+ self.__dict__[name] = value[CD_CONTENT]
+ else:
+ self.__dict__[name] = value
def getUUID(self):
- return self.UUID[CD_CONTENT]
+ return self.UUID
def getUID(self):
- return self.uid[CD_CONTENT]
+ return self.uid
def getCount(self):
- return int(self.Count[CD_CONTENT])
+ return int(self.Count)
def getExecutable(self):
- return self.executable[CD_CONTENT]
+ return self.executable
def getPackage(self):
- return self.package[CD_CONTENT]
+ return self.package
def isReported(self):
- return self.Reported[CD_CONTENT] == "1"
+ return self.Reported == "1"
def getMessage(self):
if not self.Message:
return "" #[]
#return self.Message[CD_CONTENT].split('\n')
- return self.Message[CD_CONTENT]
-
- def getTime(self, fmt):
- #print format
- if fmt:
- try:
- return datetime.fromtimestamp(int(self.time[CD_CONTENT])).strftime(fmt)
- except Exception, e:
- print e
- return int(self.time[CD_CONTENT])
+ return self.Message
+
+ def getTime(self, fmt=None):
+ if self.time:
+ if fmt:
+ try:
+ return datetime.fromtimestamp(int(self.time)).strftime(fmt)
+ except Exception, ex:
+ log1(ex)
+ return int(self.time)
+ return self.time
def getPackageName(self):
- return self.package[CD_CONTENT][:self.package[CD_CONTENT].find("-")]
+ name_delimiter_pos = self.package[:self.package.rfind("-")].rfind("-")
+ # fix for kerneloops
+ if name_delimiter_pos > 0:
+ return self.package[:name_delimiter_pos]
+ return self.package
def getDescription(self):
- return self.description[CD_CONTENT]
+ return self.description
def getAnalyzerName(self):
- return self.analyzer[CD_CONTENT]
+ return self.analyzer
+
+ def get_reason(self):
+ return self.reason
+
+ def get_comment(self):
+ return self.comment
diff --git a/src/Gui/CCDumpList.py b/src/Gui/CCDumpList.py
index c962f217..3c555d84 100644
--- a/src/Gui/CCDumpList.py
+++ b/src/Gui/CCDumpList.py
@@ -19,7 +19,7 @@ class DumpList(list):
entry = Dump()
for column in row:
log2(" Dump.%s='%s'", column, row[column])
- entry.__dict__[column] = row[column]
+ entry.__setattr__(column, row[column])
self.append(entry)
except Exception:
# FIXME handle exception better
diff --git a/src/Gui/CCMainWindow.py b/src/Gui/CCMainWindow.py
index 781a8015..25b08460 100644
--- a/src/Gui/CCMainWindow.py
+++ b/src/Gui/CCMainWindow.py
@@ -41,54 +41,41 @@ class MainWindow():
#Get the Main Window, and connect the "destroy" event
self.window = self.wTree.get_widget("main_window")
if self.window:
- self.window.set_default_size(700, 480)
+ self.window.set_default_size(600, 700)
self.window.connect("delete_event", self.delete_event_cb)
self.window.connect("destroy", self.destroy)
self.window.connect("focus-in-event", self.focus_in_cb)
-
+ self.wTree.get_widget("vp_details").modify_bg(gtk.STATE_NORMAL,gtk.gdk.color_parse("#FFFFFF"))
#init the dumps treeview
self.dlist = self.wTree.get_widget("tvDumps")
#rows of items with:
- ICON_COL = 0
- PACKAGE_COL = 1
- APPLICATION_COL = 2
- TIME_STR_COL = 3
- CRASH_RATE_COL = 4
- USER_COL = 5
- IS_REPORTED_COL = 6
- UNIX_TIME_COL = 7
- DUMP_OBJECT_COL = 8
- #icon, package_name, application, date, crash_rate, user, is_reported, time_in_sec ?object?
- self.dumpsListStore = gtk.ListStore(gtk.gdk.Pixbuf, str,str,str,int,str,bool, int, object)
+ STATUS_COL = 0
+ APP_NAME_COL = 1
+ TIME_STR_COL = 2
+ UNIX_TIME_COL = 3
+ DUMP_OBJECT_COL = 4
+ #is_reported, application_name, date, time_in_sec ?object?
+ self.dumpsListStore = gtk.ListStore(str, str, str, int, object)
self.dlist.set_model(self.dumpsListStore)
# add pixbuff separatelly
- icon_column = gtk.TreeViewColumn(_("Icon"))
+ icon_column = gtk.TreeViewColumn(_("Reported"))
icon_column.cell = gtk.CellRendererPixbuf()
- icon_column.cell.set_property('cell-background', "#C9C9C9")
+ #icon_column.cell.set_property('cell-background', "#C9C9C9")
n = self.dlist.append_column(icon_column)
- icon_column.pack_start(icon_column.cell, False)
- icon_column.set_attributes(icon_column.cell, pixbuf=(n-1), cell_background_set=6)
+ icon_column.pack_start(icon_column.cell, True)
+ icon_column.set_attributes(icon_column.cell, stock_id=(n-1))# cell_background_set=6)
# ===============================================
columns = []
- columns.append(gtk.TreeViewColumn(_("Package")))
- columns[-1].set_sort_column_id(PACKAGE_COL)
columns.append(gtk.TreeViewColumn(_("Application")))
- columns[-1].set_sort_column_id(APPLICATION_COL)
- columns.append(gtk.TreeViewColumn(_("Date")))
+ columns[-1].set_sort_column_id(APP_NAME_COL)
+ columns.append(gtk.TreeViewColumn(_("Latest Crash")))
columns[-1].set_sort_column_id(UNIX_TIME_COL)
- columns.append(gtk.TreeViewColumn(_("Crash count")))
- columns[-1].set_sort_column_id(CRASH_RATE_COL)
- columns.append(gtk.TreeViewColumn(_("User")))
- columns[-1].set_sort_column_id(USER_COL)
- # create list
+ # add cells to colums and bind cells to the liststore values
for column in columns:
n = self.dlist.append_column(column)
column.cell = gtk.CellRendererText()
column.pack_start(column.cell, False)
- #column.set_attributes(column.cell, )
- # FIXME: use some relative indexing
- column.cell.set_property('cell-background', "#C9C9C9")
- column.set_attributes(column.cell, text=(n-1), cell_background_set=6)
+ column.set_attributes(column.cell, text=(n-1))
column.set_resizable(True)
#connect signals
self.dlist.connect("cursor-changed", self.on_tvDumps_cursor_changed)
@@ -96,6 +83,9 @@ class MainWindow():
self.dlist.connect("button-press-event", self.on_popupActivate)
self.wTree.get_widget("bDelete").connect("clicked", self.on_bDelete_clicked, self.dlist)
self.wTree.get_widget("bReport").connect("clicked", self.on_bReport_clicked)
+ self.wTree.get_widget("b_close").connect("clicked", self.on_bQuit_clicked)
+ self.wTree.get_widget("b_copy").connect("clicked", self.on_b_copy_clicked)
+ self.wTree.get_widget("b_help").connect("clicked", self.on_miAbout_clicked)
self.wTree.get_widget("miQuit").connect("activate", self.on_bQuit_clicked)
self.wTree.get_widget("miAbout").connect("activate", self.on_miAbout_clicked)
self.wTree.get_widget("miPlugins").connect("activate", self.on_miPreferences_clicked)
@@ -166,6 +156,19 @@ class MainWindow():
tvUpdates.set_buffer(buff)
tvUpdates.scroll_mark_onscreen(end)
+ def get_username_from_uid(self, uid):
+ # if uid == None or "" return it back
+ if not uid:
+ return uid
+ user = "N/A"
+ if uid != "-1": # compat: only abrt <= 1.0.9 used UID = -1
+ try:
+ user = pwd.getpwuid(int(uid))[0]
+ except Exception, ex:
+ user = "UID: %s" % uid
+ return user
+
+
def hydrate(self):
n = None
self.dumpsListStore.clear()
@@ -177,18 +180,11 @@ class MainWindow():
# so we shouldn't continue..
sys.exit()
for entry in dumplist[::-1]:
- try:
- icon = get_icon_for_package(self.theme, entry.getPackageName())
- except:
- icon = None
- user = "N/A"
- if entry.getUID() != "-1": # compat: only abrt <= 1.0.9 used UID = -1
- try:
- user = pwd.getpwuid(int(entry.getUID()))[0]
- except Exception, ex:
- user = "UID: %s" % entry.getUID()
- n = self.dumpsListStore.append([icon, entry.getPackage(), entry.getExecutable(),
- entry.getTime("%c"), entry.getCount(), user, entry.isReported(), entry.getTime(""), entry])
+ n = self.dumpsListStore.append([["gtk-no","gtk-yes"][entry.isReported()],
+ entry.getExecutable(),
+ entry.getTime("%c"),
+ entry.getTime(),
+ entry])
# activate the first row if any..
if n:
# we can use (0,) as path for the first row, but what if API changes?
@@ -198,21 +194,78 @@ class MainWindow():
# for later..
return True
- def on_tvDumps_cursor_changed(self,treeview):
+ def on_tvDumps_cursor_changed(self, treeview):
dumpsListStore, path = self.dlist.get_selection().get_selected_rows()
if not path:
self.wTree.get_widget("bDelete").set_sensitive(False)
self.wTree.get_widget("bReport").set_sensitive(False)
+ self.wTree.get_widget("b_copy").set_sensitive(False)
+ # create an empty dump to fill the labels with empty strings
+ self.wTree.get_widget("sw_details").hide()
return
- self.wTree.get_widget("bDelete").set_sensitive(True)
- self.wTree.get_widget("bReport").set_sensitive(True)
- # this should work until we keep the row object in the last position
- dump = dumpsListStore.get_value(dumpsListStore.get_iter(path[0]), dumpsListStore.get_n_columns()-1)
+ else:
+ self.wTree.get_widget("sw_details").show()
+ self.wTree.get_widget("bDelete").set_sensitive(True)
+ self.wTree.get_widget("bReport").set_sensitive(True)
+ self.wTree.get_widget("b_copy").set_sensitive(True)
+ # this should work until we keep the row object in the last position
+ dump = dumpsListStore.get_value(dumpsListStore.get_iter(path[0]),
+ dumpsListStore.get_n_columns()-1)
+
+ try:
+ icon = get_icon_for_package(self.theme, dump.getPackageName())
+ except:
+ icon = None
+
+ i_package_icon = self.wTree.get_widget("i_package_icon")
+ if icon:
+ i_package_icon.set_from_pixbuf(icon)
+ else:
+ i_package_icon.set_from_stock(gtk.STOCK_MISSING_IMAGE, gtk.ICON_SIZE_DIALOG)
+
+ l_heading = self.wTree.get_widget("l_detail_heading")
+ l_heading.set_markup(_("<b>%s Crash</b>\n%s") % (dump.getPackageName().title(),dump.getPackage()))
+
+ # process the labels in sw_details
+ # hide the fields that are not filled by daemon - e.g. comments
+ # and how to reproduce
+ for field in dump.not_required_fields:
+ self.wTree.get_widget("l_%s" % field.lower()).hide()
+ self.wTree.get_widget("l_%s_heading" % field.lower()).hide()
+
+ # fill the details
+ # read attributes from CCDump object and if a corresponding label is
+ # found, then the label text is set to the attribute's value
+ # field names in glade file:
+ # heading label: l_<field>_heading
+ # text label: l_<field>
+ for att in dump.__dict__:
+ label = self.wTree.get_widget("l_%s" % str(att).lower())
+ if label:
+ label.show()
+ if att in dump.not_required_fields:
+ try:
+ lbl_heading = self.wTree.get_widget("l_%s_heading" % str(att).lower())
+ lbl_heading.show()
+ except:
+ # we don't care if we fail to show the heading, it will
+ # break the gui a little, but it's better then exit
+ log2("failed to show the heading for >%s< : %s" % (att,e))
+ pass
+ if dump.__dict__[att] != None:
+ label.set_text(dump.__dict__[att])
+ else:
+ label.set_text("")
+ self.wTree.get_widget("l_date").set_text(dump.getTime("%c"))
+ self.wTree.get_widget("l_user").set_text(self.get_username_from_uid(dump.getUID()))
+
#move this to Dump class
- lReported = self.wTree.get_widget("lReported")
+ hb_reports = self.wTree.get_widget("hb_reports")
+ lReported = self.wTree.get_widget("l_message")
if dump.isReported():
- report_label_raw = _("This crash has been reported:\n")
- report_label = _("<b>This crash has been reported:</b>\n")
+ hb_reports.show()
+ report_label_raw = ""
+ report_label = ""
# plugin message follows, but at least in case of kerneloops,
# it is not informative (no URL to the report)
for message in dump.getMessage().split(';'):
@@ -221,13 +274,13 @@ class MainWindow():
report_label += "%s\n" % report_message
report_label_raw += "%s\n" % message
log2("setting markup '%s'", report_label)
- lReported.set_text(report_label_raw)
# Sometimes (!) set_markup() fails with
- # "GtkWarning: Failed to set text from markup due to error parsing markup: Unknown tag 'a'"
- # If it does, then set_text() above acts as a fallback
+ # "GtkWarning: Failed to set text from markup due to error parsing
+ # markup: Unknown tag 'a'" If it does, then set_text()
+ # in "fill the details" above acts as a fallback
lReported.set_markup(report_label)
else:
- lReported.set_markup(_("<b>Not reported!</b>"))
+ hb_reports.hide()
def mark_last_selected_row(self, dump_list_store, path, iter, last_selected_uuid):
# Get dump object from list (in our list it's in last col)
@@ -257,6 +310,32 @@ class MainWindow():
except Exception, ex:
print ex
+ def dumplist_get_selected(self):
+ dumpsListStore, path = self.dlist.get_selection().get_selected_rows()
+ if path and dumpsListStore:
+ return dumpsListStore.get_value(dumpsListStore.get_iter(path[0]), dumpsListStore.get_n_columns()-1)
+ return None
+
+ def on_b_copy_clicked(self, button):
+ clipboard = gtk.clipboard_get()
+ dump = self.dumplist_get_selected()
+ if not dump:
+ gui_info_dialog(_("You have to select a crash to copy."), parent=self.window)
+ return
+ # dictionaries are not sorted, so we need this as a workaround
+ dumpinfo = [("Package:", dump.package),
+ ("Latest Crash:", dump.date),
+ ("Command:", dump.cmdline),
+ ("Reason:", dump.reason),
+ ("Comment:", dump.comment),
+ ("Bug Reports:", dump.Message),
+ ]
+ dumpinfo_text = ""
+ for line in dumpinfo:
+ dumpinfo_text += ("%-12s\t%s" % (line[0], line[1])).replace('\n','\n\t\t')
+ dumpinfo_text += '\n'
+ clipboard.set_text(dumpinfo_text)
+
def destroy(self, widget, data=None):
gtk.main_quit()
diff --git a/src/Gui/CC_gui_functions.py b/src/Gui/CC_gui_functions.py
index f8f1c9ed..2365720a 100644
--- a/src/Gui/CC_gui_functions.py
+++ b/src/Gui/CC_gui_functions.py
@@ -109,11 +109,11 @@ def gui_report_dialog ( report_status_dict, parent_dialog,
dialog.destroy()
return ret
-def gui_info_dialog ( message, parent_dialog,
+def gui_info_dialog ( message, parent=None,
message_type=gtk.MESSAGE_INFO,
widget=None, page=0, broken_widget=None ):
- dialog = gtk.MessageDialog( parent_dialog,
+ dialog = gtk.MessageDialog( parent,
gtk.DIALOG_MODAL|gtk.DIALOG_DESTROY_WITH_PARENT,
message_type, gtk.BUTTONS_OK,
message )
@@ -128,9 +128,9 @@ def gui_info_dialog ( message, parent_dialog,
if isinstance (broken_widget, gtk.Entry):
broken_widget.select_region (0, -1)
- if parent_dialog:
+ if parent:
dialog.set_position (gtk.WIN_POS_CENTER_ON_PARENT)
- dialog.set_transient_for(parent_dialog)
+ dialog.set_transient_for(parent)
else:
dialog.set_position (gtk.WIN_POS_CENTER)
@@ -182,7 +182,7 @@ def gui_question_dialog ( message, parent_dialog=None,
def get_icon_for_package(theme, package):
log2("get_icon_for_package('%s')", package)
try:
- return theme.load_icon(package, 22, gtk.ICON_LOOKUP_USE_BUILTIN)
+ return theme.load_icon(package, 48, gtk.ICON_LOOKUP_USE_BUILTIN)
except:
# try to find icon filename by manually
if not rpm:
@@ -225,7 +225,7 @@ def get_icon_for_package(theme, package):
break
if icon_filename:
log1("icon created from %s", icon_filename)
- return gtk.gdk.pixbuf_new_from_file_at_size(icon_filename, 22, 22)
+ return gtk.gdk.pixbuf_new_from_file_at_size(icon_filename, 48, 48)
else:
return None
diff --git a/src/Gui/PluginsSettingsDialog.py b/src/Gui/PluginsSettingsDialog.py
index be20b17a..05904300 100644
--- a/src/Gui/PluginsSettingsDialog.py
+++ b/src/Gui/PluginsSettingsDialog.py
@@ -145,7 +145,7 @@ class PluginsSettingsDialog:
def on_bConfigurePlugin_clicked(self, button, pluginview):
pluginsListStore, path = pluginview.get_selection().get_selected_rows()
if not path:
- gui_info_dialog(_("Please select a plugin from the list to edit it's options."), self.window)
+ gui_info_dialog(_("Please select a plugin from the list to edit it's options."), parent=self.window)
return
# this should work until we keep the row object in the last position
pluginfo = pluginsListStore.get_value(pluginsListStore.get_iter(path[0]), pluginsListStore.get_n_columns()-1)
diff --git a/src/Gui/ccgui.glade b/src/Gui/ccgui.glade
index 73114684..cbb957a6 100644
--- a/src/Gui/ccgui.glade
+++ b/src/Gui/ccgui.glade
@@ -12,8 +12,7 @@
<property name="has_separator">False</property>
<property name="program_name">ABRT</property>
<property name="version">@VER@</property>
- <property name="copyright" translatable="yes">(C) 2009 Red Hat, Inc.
-(C) 2010 Red Hat, Inc.</property>
+ <property name="copyright" translatable="yes">(C) 2009, 2010 Red Hat, Inc.</property>
<property name="website">http://fedorahosted.org/abrt/</property>
<property name="license" translatable="yes">This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
@@ -27,7 +26,10 @@ Nikola Pajkovsky &lt;npajkovs@redhat.com&gt;
Zdenek Prikryl &lt;zprikryl@redhat.com&gt;
Denys Vlasenko &lt;dvlasenk@redhat.com&gt;</property>
<property name="translator_credits" translatable="yes">translator-credits</property>
- <property name="artists">Patrick Connelly &lt;pcon@fedoraproject.org&gt;</property>
+ <property name="artists">Patrick Connelly &lt;pcon@fedoraproject.org&gt;
+
+UI Design:
+M&#xE1;ir&#xED;n Duffy &lt;duffy@redhat.com&gt;</property>
<property name="logo_icon_name">abrt</property>
<property name="wrap_license">True</property>
<child internal-child="vbox">
@@ -119,6 +121,12 @@ Denys Vlasenko &lt;dvlasenk@redhat.com&gt;</property>
<widget class="GtkMenu" id="menu6">
<property name="visible">True</property>
<child>
+ <widget class="GtkMenuItem" id="mi_view_log">
+ <property name="label" translatable="yes">View log</property>
+ <property name="use_underline">True</property>
+ </widget>
+ </child>
+ <child>
<widget class="GtkImageMenuItem" id="miAbout">
<property name="label">gtk-about</property>
<property name="visible">True</property>
@@ -138,49 +146,6 @@ Denys Vlasenko &lt;dvlasenk@redhat.com&gt;</property>
</packing>
</child>
<child>
- <widget class="GtkToolbar" id="toolbar1">
- <property name="visible">True</property>
- <child>
- <widget class="GtkToolButton" id="bDelete">
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="tooltip" translatable="yes">Delete</property>
- <property name="label" translatable="yes">Delete</property>
- <property name="stock_id">gtk-delete</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
- <child>
- <widget class="GtkToolButton" id="bReport">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Report</property>
- <property name="label" translatable="yes">Report</property>
- <property name="stock_id">gtk-go-up</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
- <child>
- <widget class="GtkSeparatorToolItem" id="toolbutton1">
- <property name="visible">True</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="homogeneous">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
<widget class="GtkVPaned" id="vpaned1">
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -197,6 +162,7 @@ Denys Vlasenko &lt;dvlasenk@redhat.com&gt;</property>
<widget class="GtkTreeView" id="tvDumps">
<property name="visible">True</property>
<property name="can_focus">True</property>
+ <property name="has_focus">True</property>
<property name="reorderable">True</property>
<property name="search_column">1</property>
</widget>
@@ -208,30 +174,322 @@ Denys Vlasenko &lt;dvlasenk@redhat.com&gt;</property>
</packing>
</child>
<child>
- <widget class="GtkScrolledWindow" id="scrolledwindow2">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">automatic</property>
+ <widget class="GtkScrolledWindow" id="sw_details">
+ <property name="can_focus">False</property>
+ <property name="hscrollbar_policy">never</property>
<property name="vscrollbar_policy">automatic</property>
<property name="shadow_type">in</property>
<child>
- <widget class="GtkViewport" id="viewport2">
+ <widget class="GtkViewport" id="vp_details">
<property name="visible">True</property>
<property name="resize_mode">queue</property>
<property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment1">
+ <widget class="GtkVBox" id="vbox2">
<property name="visible">True</property>
- <property name="top_padding">6</property>
- <property name="left_padding">6</property>
+ <property name="orientation">vertical</property>
<child>
- <widget class="GtkLabel" id="lReported">
+ <widget class="GtkHBox" id="hbox1">
<property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="yalign">0</property>
- <property name="label" translatable="yes">Not Reported</property>
- <property name="selectable">True</property>
+ <property name="spacing">10</property>
+ <child>
+ <widget class="GtkImage" id="i_package_icon">
+ <property name="visible">True</property>
+ <property name="xpad">5</property>
+ <property name="stock">gtk-missing-image</property>
+ <property name="icon-size">6</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="l_detail_heading">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
</widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">10</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hb_reports">
+ <property name="visible">True</property>
+ <property name="spacing">5</property>
+ <child>
+ <widget class="GtkLabel" id="l_message_heading">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
+ <property name="xpad">5</property>
+ <property name="label" translatable="yes">&lt;b&gt;Bug Reports:&lt;/b&gt;</property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="l_message">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox2">
+ <property name="visible">True</property>
+ <child>
+ <widget class="GtkTable" id="t_details">
+ <property name="visible">True</property>
+ <property name="n_rows">5</property>
+ <property name="n_columns">2</property>
+ <property name="column_spacing">5</property>
+ <property name="row_spacing">5</property>
+ <child>
+ <widget class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
+ <property name="label" translatable="yes">&lt;b&gt;Latest Crash:&lt;/b&gt;</property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label2">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
+ <property name="label" translatable="yes">&lt;b&gt;Command:&lt;/b&gt;</property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label3">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
+ <property name="label" translatable="yes">&lt;b&gt;User:&lt;/b&gt;</property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label4">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
+ <property name="label" translatable="yes">&lt;b&gt;Crash Count:&lt;/b&gt;</property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="l_date">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
+ <property name="wrap">True</property>
+ <property name="width_chars">30</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="l_cmdline">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
+ <property name="wrap">True</property>
+ <property name="width_chars">30</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="l_user">
+ <property name="visible">True</property>
+ <property name="xalign">1.862645149230957e-09</property>
+ <property name="yalign">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="l_count">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkAlignment" id="alignment6">
+ <property name="visible">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ </widget>
+ <packing>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkAlignment" id="alignment7">
+ <property name="visible">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkVBox" id="vbox1">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">5</property>
+ <child>
+ <widget class="GtkLabel" id="label5">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
+ <property name="label" translatable="yes">&lt;b&gt;Reason:&lt;/b&gt;</property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="l_reason">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
+ <property name="wrap">True</property>
+ <property name="width_chars">40</property>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="l_comment_heading">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
+ <property name="label" translatable="yes">&lt;b&gt;Comment:&lt;/b&gt;</property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="l_comment">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
+ <property name="wrap">True</property>
+ <property name="width_chars">40</property>
+ </widget>
+ <packing>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
</child>
</widget>
</child>
@@ -240,23 +498,170 @@ Denys Vlasenko &lt;dvlasenk@redhat.com&gt;</property>
</widget>
<packing>
<property name="resize">False</property>
- <property name="shrink">True</property>
+ <property name="shrink">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox4">
+ <property name="visible">True</property>
+ <property name="border_width">10</property>
+ <property name="spacing">5</property>
+ <property name="homogeneous">True</property>
+ <child>
+ <widget class="GtkAlignment" id="alignment4">
+ <property name="visible">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ </widget>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkButton" id="bDelete">
+ <property name="label">gtk-delete</property>
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkButton" id="b_copy">
+ <property name="label">Copy to Clipboard</property>
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ </widget>
+ <packing>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkButton" id="bReport">
+ <property name="label" translatable="yes">Report</property>
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ </widget>
+ <packing>
+ <property name="position">3</property>
</packing>
</child>
</widget>
<packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
<property name="position">2</property>
</packing>
</child>
<child>
- <widget class="GtkStatusbar" id="statusbar1">
+ <widget class="GtkAlignment" id="alignment8">
<property name="visible">True</property>
+ <child>
+ <placeholder/>
+ </child>
</widget>
<packing>
<property name="expand">False</property>
+ <property name="padding">10</property>
<property name="position">3</property>
</packing>
</child>
+ <child>
+ <widget class="GtkHBox" id="hbox3">
+ <property name="visible">True</property>
+ <property name="homogeneous">True</property>
+ <child>
+ <widget class="GtkButton" id="b_help">
+ <property name="label">gtk-help</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </widget>
+ <packing>
+ <property name="padding">10</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkAlignment" id="alignment1">
+ <property name="visible">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkAlignment" id="alignment2">
+ <property name="visible">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ </widget>
+ <packing>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkAlignment" id="alignment3">
+ <property name="visible">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ </widget>
+ <packing>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkButton" id="b_close">
+ <property name="label">gtk-close</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </widget>
+ <packing>
+ <property name="padding">10</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkAlignment" id="alignment5">
+ <property name="visible">True</property>
+ <child>
+ <placeholder/>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="padding">10</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
</widget>
</child>
</widget>