diff src/debugging/TSLogger.h @ 754:4ec2ac09969d

Renamed the logger class and put it into a namespace for later universal tool reuse. git-svn-id: svn://svn.code.sf.net/p/universalindent/code/trunk@1031 59b1889a-e5ac-428c-b0c7-476e01d41282
author thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
date Tue, 21 Dec 2010 23:07:50 +0000
parents
children f3631db17328
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/debugging/TSLogger.h	Tue Dec 21 23:07:50 2010 +0000
@@ -0,0 +1,63 @@
+/***************************************************************************
+ *   Copyright (C) 2006-2010 by Thomas Schweitzer                          *
+ *   thomas-schweitzer(at)arcor.de                                         *
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License version 2.0 as   *
+ *   published by the Free Software Foundation.                            *
+ *                                                                         *
+ *   This program is distributed in the hope that it will be useful,       *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
+ *   GNU General Public License for more details.                          *
+ *                                                                         *
+ *   You should have received a copy of the GNU General Public License     *
+ *   along with this program in the file LICENSE.GPL; if not, write to the *
+ *   Free Software Foundation, Inc.,                                       *
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ ***************************************************************************/
+
+#ifndef TSLogger_H
+#define TSLogger_H
+
+#include <QDialog>
+#include <QFile>
+
+namespace Ui {
+	class TSLoggerDialog;
+}
+
+namespace tschweitzer { namespace debugging {
+
+#define TSLoggerInfoMsg QtMsgType(4)
+
+class TSLogger : public QDialog
+{
+    Q_OBJECT
+
+public:
+    static TSLogger* getInstance(int verboseLevel);
+    static TSLogger* getInstance();
+    static void messageHandler(QtMsgType type, const char *msg);
+    static void deleteInstance();
+    void setVerboseLevel(int level);
+
+private slots:
+    void openLogFileFolder();
+
+private:
+	Ui::TSLoggerDialog *_TSLoggerDialogForm;
+
+    enum LogFileInitState { NOTINITIALZED, INITIALIZING, INITIALZED } _logFileInitState;
+    TSLogger(int verboseLevel);
+    void writeToLogFile(const QString &message);
+
+    static TSLogger* _instance;
+    QtMsgType _verboseLevel;
+    QFile _logFile;
+    QStringList _messageQueue;
+};
+
+}} // namespace tschweitzer::debugging
+
+#endif // TSLogger_H