109 dmsg = _("An unknown error occurred") |
109 dmsg = _("An unknown error occurred") |
110 md = gtk.MessageDialog(type=gtk.MESSAGE_ERROR, message_format=dmsg) |
110 md = gtk.MessageDialog(type=gtk.MESSAGE_ERROR, message_format=dmsg) |
111 close_btn = md.add_button(gtk.STOCK_CLOSE, 100) |
111 close_btn = md.add_button(gtk.STOCK_CLOSE, 100) |
112 md.set_default_response(100) |
112 md.set_default_response(100) |
113 |
113 |
114 dmsg = _("Please let the developers know about this problem by " |
114 dmsg = misc.get_traceback_message() |
115 "filing a bug together with the error details listed below at:") |
115 # We remove all \n except the initial one. |
|
116 dmsg = "\n" + dmsg.replace("\n", " ").lstrip() |
116 md.format_secondary_text(dmsg) |
117 md.format_secondary_text(dmsg) |
117 md.set_title(_('Unexpected Error')) |
118 md.set_title(_('Unexpected Error')) |
118 |
|
119 uri_btn = gtk.LinkButton(misc.BUG_URI_GUI, |
|
120 "defect.opensolaris.org") |
|
121 uri_btn.set_relief(gtk.RELIEF_NONE) |
|
122 uri_btn.set_size_request(160, -1) |
|
123 align = gtk.Alignment(0, 0, 0, 0) |
|
124 align.set_padding(0, 0, 56, 0) |
|
125 align.add(uri_btn) |
|
126 |
119 |
127 textview = gtk.TextView() |
120 textview = gtk.TextView() |
128 textview.show() |
121 textview.show() |
129 textview.set_editable(False) |
122 textview.set_editable(False) |
130 textview.set_wrap_mode(gtk.WRAP_WORD) |
123 textview.set_wrap_mode(gtk.WRAP_WORD) |
134 sw.add(textview) |
127 sw.add(textview) |
135 fr = gtk.Frame() |
128 fr = gtk.Frame() |
136 fr.set_shadow_type(gtk.SHADOW_IN) |
129 fr.set_shadow_type(gtk.SHADOW_IN) |
137 fr.add(sw) |
130 fr.add(sw) |
138 ca = md.get_content_area() |
131 ca = md.get_content_area() |
139 ca.pack_start(align, False, False, 0) |
|
140 ca.pack_start(fr) |
132 ca.pack_start(fr) |
141 |
133 |
142 textbuffer = textview.get_buffer() |
134 textbuffer = textview.get_buffer() |
143 textbuffer.create_tag("bold", weight=pango.WEIGHT_BOLD) |
135 textbuffer.create_tag("bold", weight=pango.WEIGHT_BOLD) |
144 textbuffer.create_tag("level1", left_margin=30, right_margin=10) |
136 textbuffer.create_tag("level1", left_margin=30, right_margin=10) |
160 if publisher_str == "": |
152 if publisher_str == "": |
161 textbuffer.insert_with_tags_by_name(textiter, |
153 textbuffer.insert_with_tags_by_name(textiter, |
162 _("\nPlease include output from:\n"), "bold") |
154 _("\nPlease include output from:\n"), "bold") |
163 textbuffer.insert(textiter, "$ pkg publisher\n") |
155 textbuffer.insert(textiter, "$ pkg publisher\n") |
164 |
156 |
165 ver = gui_misc.get_version() |
|
166 textbuffer.insert_with_tags_by_name(textiter, |
|
167 _("\npkg version:\n"), "bold") |
|
168 textbuffer.insert_with_tags_by_name(textiter, ver + "\n", "level1") |
|
169 md.set_size_request(550, 400) |
157 md.set_size_request(550, 400) |
170 md.set_resizable(True) |
158 md.set_resizable(True) |
171 close_btn.grab_focus() |
159 close_btn.grab_focus() |
172 md.show_all() |
160 md.show_all() |
173 md.run() |
161 md.run() |