2 * This file is part of NixNote/NeighborNote
\r
3 * Copyright 2009 Randy Baumgarte
\r
4 * Copyright 2013 Yuki Takahashi
\r
6 * This file may be licensed under the terms of of the
\r
7 * GNU General Public License Version 2 (the ``GPL'').
\r
9 * Software distributed under the License is distributed
\r
10 * on an ``AS IS'' basis, WITHOUT WARRANTY OF ANY KIND, either
\r
11 * express or implied. See the GPL for the specific language
\r
12 * governing rights and limitations.
\r
14 * You should have received a copy of the GPL along with this
\r
15 * program. If not, go to http://www.gnu.org/licenses/gpl.html
\r
16 * or write to the Free Software Foundation, Inc.,
\r
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
\r
21 package cx.fbn.nevernote.dialog;
\r
23 //**********************************************
\r
24 //**********************************************
\r
25 //* This dialog is called when the Help/Log
\r
26 //* menu option is clicked.
\r
27 //**********************************************
\r
28 //**********************************************
\r
31 import java.io.BufferedReader;
\r
32 import java.io.File;
\r
33 import java.io.FileNotFoundException;
\r
34 import java.io.FileReader;
\r
35 import java.io.IOException;
\r
36 import java.util.List;
\r
38 import com.trolltech.qt.gui.QComboBox;
\r
39 import com.trolltech.qt.gui.QDialog;
\r
40 import com.trolltech.qt.gui.QHBoxLayout;
\r
41 import com.trolltech.qt.gui.QIcon;
\r
42 import com.trolltech.qt.gui.QLabel;
\r
43 import com.trolltech.qt.gui.QTextEdit;
\r
44 import com.trolltech.qt.gui.QVBoxLayout;
\r
46 import cx.fbn.nevernote.Global;
\r
48 public class LogFileDialog extends QDialog {
\r
49 public final QComboBox fileCombo;
\r
50 public final QTextEdit textField;
\r
51 private final List<String> logs;
\r
52 private final String iconPath = new String("classpath:cx/fbn/nevernote/icons/");
\r
55 public LogFileDialog(List<String> l) {
\r
56 setWindowTitle(tr("Application Logs"));
\r
58 setWindowIcon(new QIcon(iconPath+"notebook-green.png"));
\r
59 QVBoxLayout main = new QVBoxLayout();
\r
61 fileCombo = new QComboBox(this);
\r
63 QHBoxLayout comboLayout = new QHBoxLayout();
\r
64 comboLayout.addWidget(new QLabel(tr("Log File:")));
\r
65 comboLayout.addWidget(fileCombo);
\r
66 comboLayout.addStretch(100);
\r
67 fileCombo.currentIndexChanged.connect(this, "indexChanged(Integer)");
\r
69 main.addLayout(comboLayout);
\r
71 textField = new QTextEdit(this);
\r
72 main.addWidget(textField);
\r
74 fileCombo.addItem(tr("Message Log"), "MessageLog");
\r
75 fileCombo.addItem(tr("Application Log"), "NeverNoteLog");
\r
76 fileCombo.addItem(tr("Synchronization Log"), "SyncLog");
\r
77 fileCombo.addItem(tr("Save Log"), "SaveLog");
\r
78 fileCombo.addItem(tr("Tag Counter Log"), "TagCounterLog");
\r
79 fileCombo.addItem(tr("Notebook Counter Log"), "NotebookCounterLog");
\r
80 fileCombo.addItem(tr("Trash Counter Log"), "TrashCounterLog");
\r
81 fileCombo.addItem(tr("Note Browser Log"), "NoteBrowserLog");
\r
82 fileCombo.addItem(tr("Export Log"), "ExportLog");
\r
83 fileCombo.addItem(tr("Import Log"), "ImportLog");
\r
84 // fileCombo.addItem(tr("Global Log"), "GlobalLog");
\r
85 fileCombo.addItem(tr("Index Log"), "IndexLog");
\r
86 fileCombo.addItem(tr("Database Connection Log"), "DatabaseLog");
\r
87 fileCombo.addItem(tr("Thumbnail Generator Log"), "ThumbnailLog");
\r
88 fileCombo.addItem(tr("NeighborNote Database SQL Trace File"), "NeverNoteDBLog");
\r
89 fileCombo.addItem(tr("Index Database SQL Trace File"), "IndexDBLog");
\r
90 fileCombo.addItem(tr("Resource Database SQL Trace File"), "ResourceDBLog");
\r
92 fileCombo.addItem(tr("RensoNoteList Log"), "RensoNoteList Log");
\r
97 @SuppressWarnings("unused")
\r
98 private void restoreAsNewPushed() {
\r
101 @SuppressWarnings("unused")
\r
102 private void restorePushed() {
\r
105 @SuppressWarnings("unused")
\r
106 private void cancelPressed() {
\r
110 @SuppressWarnings("unused")
\r
111 private void indexChanged(Integer index) {
\r
112 String value = (String) fileCombo.itemData(index);
\r
114 if (value.equals("MessageLog")) {
\r
116 for (int i=0; i<logs.size(); i++) {
\r
117 textField.append(logs.get(i));
\r
121 if (value.equals("NeverNoteLog")) {
\r
122 loadFile("nevernote.log");
\r
125 if (value.equals("SyncLog")) {
\r
126 loadFile("syncRunner.log");
\r
129 if (value.equals("SaveLog")) {
\r
130 loadFile("saveRunner.log");
\r
133 if (value.equals("SaveLog")) {
\r
134 loadFile("saveRunner.log");
\r
137 if (value.equals("TagCounterLog")) {
\r
138 loadFile("tag_counter.log");
\r
141 if (value.equals("NotebookCounterLog")) {
\r
142 loadFile("notebook_counter.log");
\r
145 if (value.equals("TrashCounterLog")) {
\r
146 loadFile("trash_counter.log");
\r
149 if (value.equals("NoteBrowserLog")) {
\r
150 loadFile("browser.log");
\r
153 if (value.equals("ExportLog")) {
\r
154 loadFile("export.log");
\r
157 if (value.equals("ImportLog")) {
\r
158 loadFile("import.log");
\r
161 if (value.equals("GlobalLog")) {
\r
162 loadFile("global.log");
\r
165 if (value.equals("IndexLog")) {
\r
166 loadFile("indexRunner.log");
\r
169 if (value.equals("DatabaseLog")) {
\r
170 loadFile("nevernote-database.log");
\r
173 if (value.equals("ThumbnailLog")) {
\r
174 loadFile("thumbnailRunner.log");
\r
177 if (value.equals("NeverNoteDBLog")) {
\r
178 loadTraceFile("NeverNote.trace.db");
\r
181 if (value.equals("IndexDBLog")) {
\r
182 loadTraceFile("Index.trace.db");
\r
185 if (value.equals("ResourceDBLog")) {
\r
186 loadTraceFile("Resources.trace.db");
\r
190 if (value.equals("RensoNoteList Log")) {
\r
191 loadFile("rensoNoteList.log");
\r
196 private void loadFile(String file) {
\r
198 File f = Global.getFileManager().getLogsDirFile(file);
\r
200 BufferedReader in = new BufferedReader(new FileReader(f.getAbsolutePath()));
\r
202 while ((data=in.readLine()) != null) {
\r
203 textField.append(data);
\r
205 } catch (FileNotFoundException e) {
\r
206 e.printStackTrace();
\r
208 } catch (IOException e) {
\r
209 // TODO Auto-generated catch block
\r
210 e.printStackTrace();
\r
214 private void loadTraceFile(String file) {
\r
216 File f = Global.getFileManager().getDbDirFile(file);
\r
218 BufferedReader in = new BufferedReader(new FileReader(f.getAbsolutePath()));
\r
220 while ((data=in.readLine()) != null) {
\r
221 textField.append(data);
\r
223 } catch (FileNotFoundException e) {
\r
225 } catch (IOException e) {
\r
226 e.printStackTrace();
\r