--- a/src/gui/data/packagemanager.glade Fri May 21 15:58:47 2010 +0100
+++ b/src/gui/data/packagemanager.glade Fri May 21 16:11:58 2010 +0100
@@ -6167,9 +6167,20 @@
<child internal-child="action_area">
<widget class="GtkHButtonBox" id="dialog-action_area16">
<property name="visible">True</property>
- <property name="layout_style">end</property>
<child>
- <placeholder/>
+ <widget class="GtkButton" id="log_clear_button">
+ <property name="label">gtk-clear</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ <signal name="clicked" handler="on_log_clear_button_clicked"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
</child>
<child>
<widget class="GtkButton" id="log_close_button">
--- a/src/gui/modules/misc.py Fri May 21 15:58:47 2010 +0100
+++ b/src/gui/modules/misc.py Fri May 21 16:11:58 2010 +0100
@@ -137,9 +137,9 @@
app.w_infosearch_frame.show()
app.w_infosearch_frame.set_tooltip_text(_("Errors logged: click to view"))
-def setup_logging(client_name):
- su_logging(client_name)
-
+def setup_logging():
+ su_logging(global_settings.client_name)
+
def shutdown_logging():
sd_logging()
--- a/src/gui/modules/pmlogging.py Fri May 21 15:58:47 2010 +0100
+++ b/src/gui/modules/pmlogging.py Fri May 21 16:11:58 2010 +0100
@@ -19,8 +19,7 @@
#
# CDDL HEADER END
#
-# Copyright 2010 Sun Microsystems, Inc. All rights reserved.
-# Use is subject to license terms.
+# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
#
import sys
@@ -57,6 +56,8 @@
{
"on_log_close_button_clicked": \
self.__on_log_close_button_clicked,
+ "on_log_clear_button_clicked": \
+ self.__on_log_clear_button_clicked,
"on_view_log_dialog_delete_event": \
self.__on_log_dialog_delete_event
}
@@ -74,6 +75,28 @@
def __on_log_close_button_clicked(self, widget):
self.w_view_log_dialog.hide()
+ def __on_log_clear_button_clicked(self, widget):
+ log_dir = gui_misc.get_log_dir()
+ ext = gui_misc.get_log_error_ext()
+ self.__clear_logs(log_dir, ext)
+ ext = gui_misc.get_log_info_ext()
+ self.__clear_logs(log_dir, ext)
+ gui_misc.shutdown_logging()
+ gui_misc.setup_logging()
+ self.log_activate()
+
+ def __clear_logs(self, log_dir, ext):
+ self.__clear_log(os.path.join(log_dir, gui_misc.get_pm_name() + ext))
+ self.__clear_log(os.path.join(log_dir, gui_misc.get_wi_name() + ext))
+ self.__clear_log(os.path.join(log_dir, gui_misc.get_um_name() + ext))
+
+ @staticmethod
+ def __clear_log(path):
+ try:
+ os.unlink(path)
+ except OSError:
+ pass
+
def log_activate(self):
textbuffer = self.w_log_errors_textview.get_buffer()
textbuffer.set_text(_("Loading ..."))
--- a/src/gui/modules/webinstall.py Fri May 21 15:58:47 2010 +0100
+++ b/src/gui/modules/webinstall.py Fri May 21 16:11:58 2010 +0100
@@ -134,7 +134,7 @@
self.w_webinstall_dialog.set_icon(self.window_icon)
self.api_o = gui_misc.get_api_object(self.image_dir, self.pr,
self.w_webinstall_dialog)
- gui_misc.setup_logging(gui_misc.get_wi_name())
+ gui_misc.setup_logging()
def __output_new_pub_tasks(self, infobuffer, textiter, num_tasks):
if num_tasks == 0:
--- a/src/packagemanager.py Fri May 21 15:58:47 2010 +0100
+++ b/src/packagemanager.py Fri May 21 16:11:58 2010 +0100
@@ -474,7 +474,7 @@
self.versioninfo.set_modal_and_transient(self.w_main_window)
self.__setup_text_signals()
- gui_misc.setup_logging(gui_misc.get_pm_name())
+ gui_misc.setup_logging()
def __set_initial_sizes(self):
if self.gconf.initial_app_width >= MIN_APP_WIDTH and \
--- a/src/updatemanager.py Fri May 21 15:58:47 2010 +0100
+++ b/src/updatemanager.py Fri May 21 16:11:58 2010 +0100
@@ -204,7 +204,7 @@
self.w_um_dialog.show_all()
self.w_um_dialog.resize(620, 500)
- gui_misc.setup_logging(gui_misc.get_um_name())
+ gui_misc.setup_logging()
@staticmethod
def __get_um_liststore():