View | Details | Raw Unified | Return to bug 207101 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/ui/internal/views/log/messages.properties (+1 lines)
Lines 51-56 Link Here
51
LogView_FilterDialog_eventsLogged = Show events logged during:
51
LogView_FilterDialog_eventsLogged = Show events logged during:
52
LogView_FilterDialog_allSessions = &All sessions
52
LogView_FilterDialog_allSessions = &All sessions
53
LogView_FilterDialog_recentSession = &Most recent session
53
LogView_FilterDialog_recentSession = &Most recent session
54
LogViewLabelProvider_CurrentSession=Current Session
54
LogViewLabelProvider_truncatedMessage=... (Open log entry details for full message)
55
LogViewLabelProvider_truncatedMessage=... (Open log entry details for full message)
55
LogViewLabelProvider_Session=Session
56
LogViewLabelProvider_Session=Session
56
57
(-)src/org/eclipse/ui/internal/views/log/Messages.java (+1 lines)
Lines 59-64 Link Here
59
	public static String LogView_FilterDialog_recentSession;
59
	public static String LogView_FilterDialog_recentSession;
60
60
61
	public static String LogViewLabelProvider_Session;
61
	public static String LogViewLabelProvider_Session;
62
	public static String LogViewLabelProvider_CurrentSession;
62
	public static String LogViewLabelProvider_truncatedMessage;
63
	public static String LogViewLabelProvider_truncatedMessage;
63
	
64
	
64
	public static String EventDetailsDialog_title;
65
	public static String EventDetailsDialog_title;
(-)src/org/eclipse/ui/internal/views/log/LogViewLabelProvider.java (-10 / +10 lines)
Lines 11-18 Link Here
11
 *******************************************************************************/
11
 *******************************************************************************/
12
package org.eclipse.ui.internal.views.log;
12
package org.eclipse.ui.internal.views.log;
13
13
14
import java.util.ArrayList;
15
16
import org.eclipse.core.runtime.IStatus;
14
import org.eclipse.core.runtime.IStatus;
17
import org.eclipse.jface.viewers.ITableLabelProvider;
15
import org.eclipse.jface.viewers.ITableLabelProvider;
18
import org.eclipse.jface.viewers.LabelProvider;
16
import org.eclipse.jface.viewers.LabelProvider;
Lines 33-39 Link Here
33
	private Image warningImage;
31
	private Image warningImage;
34
	private Image errorWithStackImage;
32
	private Image errorWithStackImage;
35
	private Image hierarchicalImage;
33
	private Image hierarchicalImage;
36
	ArrayList consumers = new ArrayList();
34
	Object consumer;
37
35
38
	public LogViewLabelProvider() {
36
	public LogViewLabelProvider() {
39
		errorImage = SharedImages.getImage(SharedImages.DESC_ERROR_ST_OBJ);
37
		errorImage = SharedImages.getImage(SharedImages.DESC_ERROR_ST_OBJ);
Lines 44-50 Link Here
44
		hierarchicalImage = SharedImages.getImage(SharedImages.DESC_HIERARCHICAL_LAYOUT_OBJ);
42
		hierarchicalImage = SharedImages.getImage(SharedImages.DESC_HIERARCHICAL_LAYOUT_OBJ);
45
	}
43
	}
46
	public void dispose() {
44
	public void dispose() {
47
		if (consumers.size() == 0){
45
		if (consumer == null){
48
			super.dispose();
46
			super.dispose();
49
		}
47
		}
50
	}
48
	}
Lines 73-79 Link Here
73
		if (element instanceof LogSession) {
71
		if (element instanceof LogSession) {
74
			LogSession entry = (LogSession) element;
72
			LogSession entry = (LogSession) element;
75
			if (columnIndex == 0) {
73
			if (columnIndex == 0) {
76
				return Messages.LogViewLabelProvider_Session;
74
				if ((consumer instanceof LogView) && (((LogView)consumer).isCurrentLogSession(element))) {
75
					return Messages.LogViewLabelProvider_CurrentSession;
76
				} else {
77
					return Messages.LogViewLabelProvider_Session;
78
				}
77
			} else if (columnIndex == 2) {
79
			} else if (columnIndex == 2) {
78
				if (entry.getDate() != null) {
80
				if (entry.getDate() != null) {
79
					DateFormat formatter = new SimpleDateFormat(LogEntry.F_DATE_FORMAT);
81
					DateFormat formatter = new SimpleDateFormat(LogEntry.F_DATE_FORMAT);
Lines 106-119 Link Here
106
	}
108
	}
107
109
108
	public void connect(Object consumer) {
110
	public void connect(Object consumer) {
109
		if (!consumers.contains(consumer))
111
		this.consumer = consumer;
110
			consumers.add(consumer);
111
	}
112
	}
112
	
113
	
113
	public void disconnect(Object consumer) {
114
	public void disconnect(Object consumer) {
114
		consumers.remove(consumer);
115
		if (consumer == this.consumer) {
115
		if (consumers.size() == 0) {
116
			this.consumer = null;
116
			dispose();
117
		}
117
		}
118
	}
118
	}
119
}
119
}
(-)src/org/eclipse/ui/internal/views/log/LogView.java (-4 / +12 lines)
Lines 123-129 Link Here
123
	public static int ASCENDING = 1;
123
	public static int ASCENDING = 1;
124
	public static int DESCENDING = -1;
124
	public static int DESCENDING = -1;
125
125
126
	private ArrayList fLogs;
126
	private ArrayList fLogs; // list of LogSession objects
127
127
128
	private Clipboard fClipboard;
128
	private Clipboard fClipboard;
129
129
Lines 288-294 Link Here
288
		action.setToolTipText(Messages.LogView_delete_tooltip); 
288
		action.setToolTipText(Messages.LogView_delete_tooltip); 
289
		action.setImageDescriptor(SharedImages.getImageDescriptor(SharedImages.DESC_REMOVE_LOG));
289
		action.setImageDescriptor(SharedImages.getImageDescriptor(SharedImages.DESC_REMOVE_LOG));
290
		action.setDisabledImageDescriptor(SharedImages.getImageDescriptor(SharedImages.DESC_REMOVE_LOG_DISABLED));
290
		action.setDisabledImageDescriptor(SharedImages.getImageDescriptor(SharedImages.DESC_REMOVE_LOG_DISABLED));
291
		action.setEnabled(fInputFile.exists() && fInputFile.equals(Platform.getLogFileLocation().toFile()));
291
		action.setEnabled(fInputFile.exists() && !isImportMode());
292
		return action;
292
		return action;
293
	}
293
	}
294
294
Lines 634-641 Link Here
634
		LogReader.parseLogFile(fInputFile, fLogs, fMemento);
634
		LogReader.parseLogFile(fInputFile, fLogs, fMemento);
635
	}
635
	}
636
636
637
	private boolean isImportMode() {
638
		return !fInputFile.equals(Platform.getLogFileLocation().toFile());
639
	}
640
	
637
	public void logging(IStatus status, String plugin) {
641
	public void logging(IStatus status, String plugin) {
638
		if (!fInputFile.equals(Platform.getLogFileLocation().toFile()))
642
		if (isImportMode())
639
			return;
643
			return;
640
		if (fFirstEvent) {
644
		if (fFirstEvent) {
641
			readLogFile();
645
			readLogFile();
Lines 668-674 Link Here
668
						fTreeViewer.refresh();
672
						fTreeViewer.refresh();
669
						fTreeViewer.expandToLevel(2);
673
						fTreeViewer.expandToLevel(2);
670
						fDeleteLogAction.setEnabled(fInputFile.exists()
674
						fDeleteLogAction.setEnabled(fInputFile.exists()
671
								&& fInputFile.equals(Platform.getLogFileLocation().toFile()));
675
								&& !isImportMode());
672
						fOpenLogAction.setEnabled(fInputFile.exists());
676
						fOpenLogAction.setEnabled(fInputFile.exists());
673
						fExportAction.setEnabled(fInputFile.exists());
677
						fExportAction.setEnabled(fInputFile.exists());
674
						if (activate && fActivateViewAction.isChecked()) {
678
						if (activate && fActivateViewAction.isChecked()) {
Lines 1162-1165 Link Here
1162
	protected File getLogFile() {
1166
	protected File getLogFile() {
1163
		return fInputFile;
1167
		return fInputFile;
1164
	}
1168
	}
1169
1170
	public boolean isCurrentLogSession(Object element) {
1171
		return (!isImportMode()) && (! fLogs.isEmpty()) &&  fLogs.get(fLogs.size() - 1).equals(element);
1172
	}
1165
}
1173
}
(-)src/org/eclipse/ui/internal/views/log/EventDetailsDialog.java (-1 / +1 lines)
Lines 91-97 Link Here
91
	protected EventDetailsDialog(Shell parentShell, IAdaptable selection, ISelectionProvider provider, Comparator comparator) {
91
	protected EventDetailsDialog(Shell parentShell, IAdaptable selection, ISelectionProvider provider, Comparator comparator) {
92
		super(parentShell);
92
		super(parentShell);
93
		this.provider = (TreeViewer) provider;
93
		this.provider = (TreeViewer) provider;
94
		labelProvider = (LogViewLabelProvider)this.provider.getLabelProvider();
94
		labelProvider = new LogViewLabelProvider();
95
		labelProvider.connect(this);
95
		labelProvider.connect(this);
96
		this.entry = (LogEntry)selection;
96
		this.entry = (LogEntry)selection;
97
		this.comparator = comparator;
97
		this.comparator = comparator;

Return to bug 207101