OSDN Git Service

GitHub最初のコミット(SourceForge.jp 128fa38 2013-02-28 15:28:57 と同じ内容)
[neighbornote/NeighborNote.git] / src / cx / fbn / nevernote / dialog / LogFileDialog.java
1 /*\r
2  * This file is part of NixNote \r
3  * Copyright 2009 Randy Baumgarte\r
4  * \r
5  * This file may be licensed under the terms of of the\r
6  * GNU General Public License Version 2 (the ``GPL'').\r
7  *\r
8  * Software distributed under the License is distributed\r
9  * on an ``AS IS'' basis, WITHOUT WARRANTY OF ANY KIND, either\r
10  * express or implied. See the GPL for the specific language\r
11  * governing rights and limitations.\r
12  *\r
13  * You should have received a copy of the GPL along with this\r
14  * program. If not, go to http://www.gnu.org/licenses/gpl.html\r
15  * or write to the Free Software Foundation, Inc.,\r
16  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\r
17  *\r
18 */\r
19 \r
20 package cx.fbn.nevernote.dialog;\r
21 \r
22 //**********************************************\r
23 //**********************************************\r
24 //* This dialog is called when the Help/Log\r
25 //* menu option is clicked.\r
26 //**********************************************\r
27 //**********************************************\r
28 \r
29 \r
30 import java.io.BufferedReader;\r
31 import java.io.File;\r
32 import java.io.FileNotFoundException;\r
33 import java.io.FileReader;\r
34 import java.io.IOException;\r
35 import java.util.List;\r
36 \r
37 import com.trolltech.qt.gui.QComboBox;\r
38 import com.trolltech.qt.gui.QDialog;\r
39 import com.trolltech.qt.gui.QHBoxLayout;\r
40 import com.trolltech.qt.gui.QIcon;\r
41 import com.trolltech.qt.gui.QLabel;\r
42 import com.trolltech.qt.gui.QTextEdit;\r
43 import com.trolltech.qt.gui.QVBoxLayout;\r
44 \r
45 import cx.fbn.nevernote.Global;\r
46 \r
47 public class LogFileDialog extends QDialog {\r
48         public final QComboBox          fileCombo;       \r
49         public final QTextEdit          textField;\r
50         private final List<String>              logs;\r
51         private final String iconPath = new String("classpath:cx/fbn/nevernote/icons/");\r
52         \r
53         // Constructor\r
54         public LogFileDialog(List<String> l) {\r
55                 setWindowTitle(tr("Application Logs"));\r
56                 logs = l;\r
57                 setWindowIcon(new QIcon(iconPath+"notebook-green.png"));\r
58                 QVBoxLayout main = new QVBoxLayout();\r
59                 setLayout(main);\r
60                 fileCombo = new QComboBox(this);\r
61                 \r
62                 QHBoxLayout comboLayout = new QHBoxLayout();\r
63                 comboLayout.addWidget(new QLabel(tr("Log File:")));\r
64                 comboLayout.addWidget(fileCombo);\r
65                 comboLayout.addStretch(100);\r
66                 fileCombo.currentIndexChanged.connect(this, "indexChanged(Integer)");\r
67                 \r
68                 main.addLayout(comboLayout);\r
69                                 \r
70                 textField = new QTextEdit(this);\r
71                 main.addWidget(textField);\r
72                 \r
73                 fileCombo.addItem(tr("Message Log"), "MessageLog");\r
74                 fileCombo.addItem(tr("Application Log"), "NeverNoteLog");\r
75                 fileCombo.addItem(tr("Synchronization Log"), "SyncLog");\r
76                 fileCombo.addItem(tr("Save Log"), "SaveLog");\r
77                 fileCombo.addItem(tr("Tag Counter Log"), "TagCounterLog");\r
78                 fileCombo.addItem(tr("Notebook Counter Log"), "NotebookCounterLog");\r
79                 fileCombo.addItem(tr("Trash Counter Log"), "TrashCounterLog");\r
80                 fileCombo.addItem(tr("Note Browser Log"), "NoteBrowserLog");\r
81                 fileCombo.addItem(tr("Export Log"), "ExportLog");\r
82                 fileCombo.addItem(tr("Import Log"), "ImportLog");\r
83 //              fileCombo.addItem(tr("Global Log"), "GlobalLog");\r
84                 fileCombo.addItem(tr("Index Log"), "IndexLog");\r
85                 fileCombo.addItem(tr("Database Connection Log"), "DatabaseLog");\r
86                 fileCombo.addItem(tr("Thumbnail Generator Log"), "ThumbnailLog");\r
87                 fileCombo.addItem(tr("NeighborNote Database SQL Trace File"), "NeverNoteDBLog");\r
88                 fileCombo.addItem(tr("Index Database SQL Trace File"), "IndexDBLog");\r
89                 fileCombo.addItem(tr("Resource Database SQL Trace File"), "ResourceDBLog");\r
90                 \r
91                 \r
92         }\r
93         \r
94         @SuppressWarnings("unused")\r
95         private void restoreAsNewPushed() {\r
96                 this.close();\r
97         }\r
98         @SuppressWarnings("unused")\r
99         private void restorePushed() {\r
100                 this.close();\r
101         }\r
102         @SuppressWarnings("unused")\r
103         private void cancelPressed() {\r
104                 this.close();\r
105         }\r
106         \r
107         @SuppressWarnings("unused")\r
108         private void indexChanged(Integer index) {\r
109                 String value = (String) fileCombo.itemData(index);\r
110 \r
111                 if (value.equals("MessageLog")) {\r
112                         textField.clear();\r
113                         for (int i=0; i<logs.size(); i++) {\r
114                                 textField.append(logs.get(i));\r
115                         }\r
116                         return;\r
117                 }               \r
118                 if (value.equals("NeverNoteLog")) {\r
119                         loadFile("nevernote.log");\r
120                         return;\r
121                 }\r
122                 if (value.equals("SyncLog")) {\r
123                         loadFile("syncRunner.log");\r
124                         return;\r
125                 }\r
126                 if (value.equals("SaveLog")) {\r
127                         loadFile("saveRunner.log");\r
128                         return;\r
129                 }\r
130                 if (value.equals("SaveLog")) {\r
131                         loadFile("saveRunner.log");\r
132                         return;\r
133                 }\r
134                 if (value.equals("TagCounterLog")) {\r
135                         loadFile("tag_counter.log");\r
136                         return;\r
137                 }\r
138                 if (value.equals("NotebookCounterLog")) {\r
139                         loadFile("notebook_counter.log");\r
140                         return;\r
141                 }\r
142                 if (value.equals("TrashCounterLog")) {\r
143                         loadFile("trash_counter.log");\r
144                         return;\r
145                 }\r
146                 if (value.equals("NoteBrowserLog")) {\r
147                         loadFile("browser.log");\r
148                         return;\r
149                 }\r
150                 if (value.equals("ExportLog")) {\r
151                         loadFile("export.log");\r
152                         return;\r
153                 }\r
154                 if (value.equals("ImportLog")) {\r
155                         loadFile("import.log");\r
156                         return;\r
157                 }\r
158                 if (value.equals("GlobalLog")) {\r
159                         loadFile("global.log");\r
160                         return;\r
161                 }\r
162                 if (value.equals("IndexLog")) {\r
163                         loadFile("indexRunner.log");\r
164                         return;\r
165                 }\r
166                 if (value.equals("DatabaseLog")) {\r
167                         loadFile("nevernote-database.log");\r
168                         return;\r
169                 }\r
170                 if (value.equals("ThumbnailLog")) {\r
171                         loadFile("thumbnailRunner.log");\r
172                         return;\r
173                 }\r
174                 if (value.equals("NeverNoteDBLog")) {\r
175                         loadTraceFile("NeverNote.trace.db");\r
176                         return;\r
177                 }       \r
178                 if (value.equals("IndexDBLog")) {\r
179                         loadTraceFile("Index.trace.db");\r
180                         return;\r
181                 }       \r
182                 if (value.equals("ResourceDBLog")) {\r
183                         loadTraceFile("Resources.trace.db");\r
184                         return;\r
185                 }       \r
186         }\r
187         \r
188         private void loadFile(String file) {\r
189                 textField.clear();\r
190                 File f = Global.getFileManager().getLogsDirFile(file);\r
191                 try {\r
192                         BufferedReader in = new BufferedReader(new FileReader(f.getAbsolutePath()));\r
193                         String data;\r
194                         while ((data=in.readLine()) != null) {\r
195                                 textField.append(data);\r
196                         }\r
197                 } catch (FileNotFoundException e) {\r
198                         e.printStackTrace();\r
199                         return;\r
200                 } catch (IOException e) {\r
201                         // TODO Auto-generated catch block\r
202                         e.printStackTrace();\r
203                 }               \r
204         }\r
205                 \r
206         private void loadTraceFile(String file) {\r
207                 textField.clear();\r
208                 File f = Global.getFileManager().getDbDirFile(file);\r
209                 try {\r
210                         BufferedReader in = new BufferedReader(new FileReader(f.getAbsolutePath()));\r
211                         String data;\r
212                         while ((data=in.readLine()) != null) {\r
213                                 textField.append(data);\r
214                         }\r
215                 } catch (FileNotFoundException e) {\r
216                         return;\r
217                 } catch (IOException e) {\r
218                         e.printStackTrace();\r
219                 }\r
220         }\r
221 }\r
222  \r
223 \r
224 \r
225         \r
226         \r
227         \r
228         \r
229 \r