OSDN Git Service

fc9c0305a9fc2dffe462ce66a449dc4672b1126d
[neighbornote/NeighborNote.git] / src / cx / fbn / nevernote / dialog / LogFileDialog.java
1 /*\r
2  * This file is part of NixNote/NeighborNote \r
3  * Copyright 2009 Randy Baumgarte\r
4  * Copyright 2013 Yuki Takahashi\r
5  * \r
6  * This file may be licensed under the terms of of the\r
7  * GNU General Public License Version 2 (the ``GPL'').\r
8  *\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
13  *\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
18  *\r
19 */\r
20 \r
21 package cx.fbn.nevernote.dialog;\r
22 \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
29 \r
30 \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
37 \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
45 \r
46 import cx.fbn.nevernote.Global;\r
47 \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
53         \r
54         // Constructor\r
55         public LogFileDialog(List<String> l) {\r
56                 setWindowTitle(tr("Application Logs"));\r
57                 logs = l;\r
58                 setWindowIcon(new QIcon(iconPath+"notebook-green.png"));\r
59                 QVBoxLayout main = new QVBoxLayout();\r
60                 setLayout(main);\r
61                 fileCombo = new QComboBox(this);\r
62                 \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
68                 \r
69                 main.addLayout(comboLayout);\r
70                                 \r
71                 textField = new QTextEdit(this);\r
72                 main.addWidget(textField);\r
73                 \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
91                 // ICHANGED\r
92                 fileCombo.addItem(tr("RensoNoteList Log"), "RensoNoteList Log");\r
93                 \r
94                 \r
95         }\r
96         \r
97         @SuppressWarnings("unused")\r
98         private void restoreAsNewPushed() {\r
99                 this.close();\r
100         }\r
101         @SuppressWarnings("unused")\r
102         private void restorePushed() {\r
103                 this.close();\r
104         }\r
105         @SuppressWarnings("unused")\r
106         private void cancelPressed() {\r
107                 this.close();\r
108         }\r
109         \r
110         @SuppressWarnings("unused")\r
111         private void indexChanged(Integer index) {\r
112                 String value = (String) fileCombo.itemData(index);\r
113 \r
114                 if (value.equals("MessageLog")) {\r
115                         textField.clear();\r
116                         for (int i=0; i<logs.size(); i++) {\r
117                                 textField.append(logs.get(i));\r
118                         }\r
119                         return;\r
120                 }               \r
121                 if (value.equals("NeverNoteLog")) {\r
122                         loadFile("nevernote.log");\r
123                         return;\r
124                 }\r
125                 if (value.equals("SyncLog")) {\r
126                         loadFile("syncRunner.log");\r
127                         return;\r
128                 }\r
129                 if (value.equals("SaveLog")) {\r
130                         loadFile("saveRunner.log");\r
131                         return;\r
132                 }\r
133                 if (value.equals("SaveLog")) {\r
134                         loadFile("saveRunner.log");\r
135                         return;\r
136                 }\r
137                 if (value.equals("TagCounterLog")) {\r
138                         loadFile("tag_counter.log");\r
139                         return;\r
140                 }\r
141                 if (value.equals("NotebookCounterLog")) {\r
142                         loadFile("notebook_counter.log");\r
143                         return;\r
144                 }\r
145                 if (value.equals("TrashCounterLog")) {\r
146                         loadFile("trash_counter.log");\r
147                         return;\r
148                 }\r
149                 if (value.equals("NoteBrowserLog")) {\r
150                         loadFile("browser.log");\r
151                         return;\r
152                 }\r
153                 if (value.equals("ExportLog")) {\r
154                         loadFile("export.log");\r
155                         return;\r
156                 }\r
157                 if (value.equals("ImportLog")) {\r
158                         loadFile("import.log");\r
159                         return;\r
160                 }\r
161                 if (value.equals("GlobalLog")) {\r
162                         loadFile("global.log");\r
163                         return;\r
164                 }\r
165                 if (value.equals("IndexLog")) {\r
166                         loadFile("indexRunner.log");\r
167                         return;\r
168                 }\r
169                 if (value.equals("DatabaseLog")) {\r
170                         loadFile("nevernote-database.log");\r
171                         return;\r
172                 }\r
173                 if (value.equals("ThumbnailLog")) {\r
174                         loadFile("thumbnailRunner.log");\r
175                         return;\r
176                 }\r
177                 if (value.equals("NeverNoteDBLog")) {\r
178                         loadTraceFile("NeverNote.trace.db");\r
179                         return;\r
180                 }       \r
181                 if (value.equals("IndexDBLog")) {\r
182                         loadTraceFile("Index.trace.db");\r
183                         return;\r
184                 }       \r
185                 if (value.equals("ResourceDBLog")) {\r
186                         loadTraceFile("Resources.trace.db");\r
187                         return;\r
188                 }       \r
189                 // ICHANGED\r
190                 if (value.equals("RensoNoteList Log")) {\r
191                         loadFile("rensoNoteList.log");\r
192                         return;\r
193                 }\r
194         }\r
195         \r
196         private void loadFile(String file) {\r
197                 textField.clear();\r
198                 File f = Global.getFileManager().getLogsDirFile(file);\r
199                 try {\r
200                         BufferedReader in = new BufferedReader(new FileReader(f.getAbsolutePath()));\r
201                         String data;\r
202                         while ((data=in.readLine()) != null) {\r
203                                 textField.append(data);\r
204                         }\r
205                 } catch (FileNotFoundException e) {\r
206                         e.printStackTrace();\r
207                         return;\r
208                 } catch (IOException e) {\r
209                         // TODO Auto-generated catch block\r
210                         e.printStackTrace();\r
211                 }               \r
212         }\r
213                 \r
214         private void loadTraceFile(String file) {\r
215                 textField.clear();\r
216                 File f = Global.getFileManager().getDbDirFile(file);\r
217                 try {\r
218                         BufferedReader in = new BufferedReader(new FileReader(f.getAbsolutePath()));\r
219                         String data;\r
220                         while ((data=in.readLine()) != null) {\r
221                                 textField.append(data);\r
222                         }\r
223                 } catch (FileNotFoundException e) {\r
224                         return;\r
225                 } catch (IOException e) {\r
226                         e.printStackTrace();\r
227                 }\r
228         }\r
229 }\r
230  \r
231 \r
232 \r
233         \r
234         \r
235         \r
236         \r
237 \r