diff options
author | Jiri Moskovcak <jmoskovc@redhat.com> | 2009-11-06 15:11:37 +0100 |
---|---|---|
committer | Jiri Moskovcak <jmoskovc@redhat.com> | 2009-11-06 15:11:37 +0100 |
commit | fc571a9ac7aaa8802d3e8aacf9aefac12ca3c81c (patch) | |
tree | 90cc8f28ba94461390c17d5960f536abb62883fa | |
parent | 01f36609ba1631751e492784d95b0e6b0706cf45 (diff) | |
download | abrt-fc571a9ac7aaa8802d3e8aacf9aefac12ca3c81c.tar.gz abrt-fc571a9ac7aaa8802d3e8aacf9aefac12ca3c81c.tar.xz abrt-fc571a9ac7aaa8802d3e8aacf9aefac12ca3c81c.zip |
GUI: added support for backtrace rating
- we don't allow user to create a bug report with backtrace
rated below 3
- gui shows yellow warning if the rating == 3
-rw-r--r-- | src/Gui/CCReporterDialog.py | 32 | ||||
-rw-r--r-- | src/Gui/report.glade | 35 |
2 files changed, 64 insertions, 3 deletions
diff --git a/src/Gui/CCReporterDialog.py b/src/Gui/CCReporterDialog.py index 9207a3e5..e1d1c1bb 100644 --- a/src/Gui/CCReporterDialog.py +++ b/src/Gui/CCReporterDialog.py @@ -76,6 +76,8 @@ class ReporterDialog(): # connect the signals self.tvReport.connect_after("size-allocate", self.on_window_resize) self.wTree.get_widget("bSend").connect("clicked", self.on_send_clicked) + # start whit the warning hidden, so it's not visible when there is no rating + self.wTree.get_widget("ebErrors").hide() self.hydrate() # this callback is called when user press Cancel or Report button in Report dialog @@ -180,6 +182,36 @@ class ReporterDialog(): self.tvComment.set_buffer(buff) continue + # if an backtrace has rating use it + if item == "rating": + try: + package = self.report["package"][CONTENT] + # if we don't have package for some reason + except: + package = None + ebErrors = self.wTree.get_widget("ebErrors") + lErrors = self.wTree.get_widget("lErrors") + bSend = self.wTree.get_widget("bSend") + # not usable report + if int(self.report[item][CONTENT]) < 3: + ebErrors.show() + ebErrors.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse("red")) + if package: + lErrors.set_markup( + "<span color=\"white\">%s</span>" % _("Reporting disabled because the backtrace is unusable!\nPlease try to install debuginfo manually using command:<span color=\"blue\"> debuginfo-install %s </span>\nthen use Refresh button to regenerate the backtrace." % package[0:package.rfind('-',0,package.rfind('-'))])) + else: + lErrors.set_markup("<span color=\"white\">%s</span>" % _("The bactrace is unusable, you can't report this!")) + bSend.set_sensitive(False) + # probably usable 3 + elif int(self.report[item][CONTENT]) < 4: + ebErrors.show() + ebErrors.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse("yellow")) + lErrors.set_markup("<span color=\"black\">%s</span>" % _("The bactrace is incomplete, please make sure you provide good steps to reproduce.")) + bSend.set_sensitive(True) + else: + ebErrors.hide() + bSend.set_sensitive(True) + if self.report[item][TYPE] != 's': # item name 0| value 1| editable? 2| toggled? 3| visible?(attachment)4 if self.report[item][EDITABLE] == 'y': diff --git a/src/Gui/report.glade b/src/Gui/report.glade index 9b582b22..2ccf1690 100644 --- a/src/Gui/report.glade +++ b/src/Gui/report.glade @@ -13,10 +13,12 @@ <child internal-child="vbox"> <widget class="GtkVBox" id="dialog-vbox4"> <property name="visible">True</property> + <property name="orientation">vertical</property> <property name="spacing">2</property> <child> <widget class="GtkVBox" id="vbox5"> <property name="visible">True</property> + <property name="orientation">vertical</property> <child> <widget class="GtkLabel" id="label10"> <property name="visible">True</property> @@ -44,14 +46,35 @@ <property name="position">1</property> </packing> </child> + <child> + <widget class="GtkEventBox" id="ebErrors"> + <property name="visible">True</property> + <child> + <widget class="GtkLabel" id="lErrors"> + <property name="visible">True</property> + <property name="label" translatable="yes"> </property> + <property name="use_markup">True</property> + </widget> + </child> + </widget> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">2</property> + </packing> + </child> </widget> <packing> <property name="position">0</property> </packing> </child> <child> + <placeholder/> + </child> + <child> <widget class="GtkVBox" id="vbox1"> <property name="visible">True</property> + <property name="orientation">vertical</property> <child> <widget class="GtkEventBox" id="eventbox1"> <property name="visible">True</property> @@ -91,7 +114,7 @@ </widget> <packing> <property name="expand">False</property> - <property name="position">2</property> + <property name="position">3</property> </packing> </child> <child internal-child="action_area"> @@ -100,7 +123,7 @@ <property name="layout_style">end</property> <child> <widget class="GtkButton" id="bCancel"> - <property name="label" translatable="yes">gtk-cancel</property> + <property name="label">gtk-cancel</property> <property name="response_id">-6</property> <property name="visible">True</property> <property name="can_focus">True</property> @@ -108,12 +131,14 @@ <property name="use_stock">True</property> </widget> <packing> + <property name="expand">False</property> + <property name="fill">False</property> <property name="position">0</property> </packing> </child> <child> <widget class="GtkButton" id="bRefresh"> - <property name="label" translatable="yes">gtk-refresh</property> + <property name="label">gtk-refresh</property> <property name="response_id">-50</property> <property name="visible">True</property> <property name="can_focus">True</property> @@ -121,6 +146,8 @@ <property name="use_stock">True</property> </widget> <packing> + <property name="expand">False</property> + <property name="fill">False</property> <property name="position">1</property> </packing> </child> @@ -133,6 +160,8 @@ <property name="receives_default">True</property> </widget> <packing> + <property name="expand">False</property> + <property name="fill">False</property> <property name="position">2</property> </packing> </child> |