diff --git a/icons/CMakeLists.txt b/icons/CMakeLists.txt index 0739cd4..50abe3b 100644 --- a/icons/CMakeLists.txt +++ b/icons/CMakeLists.txt @@ -3,7 +3,6 @@ install( accessories-text-editor.png applications-system.png document-open.png - document-properties.png document-save.png document-save-as.png edit-clear.png diff --git a/icons/document-properties.png b/icons/document-properties.png deleted file mode 100755 index fa697db..0000000 Binary files a/icons/document-properties.png and /dev/null differ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 85b8358..64f9e9a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -18,15 +18,13 @@ link_directories( ) -##### other data ################################ - - ##### tdeio_appinfo (module) ####################### set( target universal-indent-gui-tqt ) set( ${target}_SRCS # completed + AboutDialogBase.ui MainWindowBase.ui ToolBarWidget.ui @@ -36,10 +34,9 @@ set( ${target}_SRCS UiGuiErrorMessage.cpp UiGuiHighlighter.cpp UiGuiIniFileParser.cpp - UiGuiSettings.cpp + UiGuiSettings.cpp # ongoing - AboutDialogBase.ui UiGuiSettingsDialogBase.ui AboutDialog.cpp diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index b5aed4c..14c10dd 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -20,8 +20,6 @@ #include "config.h" #include "MainWindow.h" -///-- #include "debugging/TSLogger.h" - #include "stdlib.h" #include "AboutDialog.h" @@ -57,8 +55,6 @@ #include ///-- #include -///-- using namespace tschweitzer; - /* \brief Main window of UniversalIndentGUI-tqt @@ -174,7 +170,6 @@ void MainWindow::initMainWindow() actionIndenterParameterTooltipsEnabled->setIconSet(TQPixmap(ICONS_PATH + "tooltip.png")); actionShowSettings->setIconSet(TQPixmap(ICONS_PATH + "preferences-system.png")); // - Help menu - actionShowLog->setIconSet(TQPixmap(ICONS_PATH + "document-properties.png")); actionAboutUniversalIndentGUITQt->setIconSet(TQPixmap(ICONS_PATH + "info.png")); // Menu ids m_actionClearRecentlyOpenedListId = popupMenuRecentlyOpenedFiles->idAt( @@ -245,9 +240,6 @@ void MainWindow::initMainWindow() connect(m_settings, TQ_SIGNAL(indenterParameterTooltipsEnabled(bool)), this, TQ_SLOT(setIndenterParameterTooltips(bool))); -///-- connect(actionShowLog, TQ_SIGNAL(activated()), -///-- debugging::TSLogger::getInstance(), TQ_SLOT(show())); - // Init the menu for selecting one of the recently opened files. initRecentlyOpenedList(); updateRecentlyOpenedList(); diff --git a/src/MainWindowBase.ui b/src/MainWindowBase.ui index 720e8aa..087352e 100755 --- a/src/MainWindowBase.ui +++ b/src/MainWindowBase.ui @@ -65,8 +65,6 @@ - - @@ -397,20 +395,6 @@ Opens the settings dialog, to set language etc. - - - actionShowLog - - - Show Log - - - Displays logging information. - - - Displays logging info about the currently running UiGUI application. - - actionAboutUniversalIndentGUITQt diff --git a/src/debugging/TSLogger.cpp b/src/debugging/TSLogger.cpp deleted file mode 100644 index a64ccfb..0000000 --- a/src/debugging/TSLogger.cpp +++ /dev/null @@ -1,301 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2006-2012 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. * - ***************************************************************************/ - -#include "TSLogger.h" -#include "ui_TSLoggerDialog.h" - -#include "SettingsPaths.h" - -#include -#include -#include -#include -#include -#include -#include - -#include - -using namespace tschweitzer; -using namespace tschweitzer::debugging; - -TSLogger*TSLogger::m_instance = NULL; - -/*! - \class TSLogger - \brief This class handles any kind of data logging, for debugging and whatever purpose. - - Beneath being able of displaying a dialog window containing all log messages of the - current session, a log file in the systems temporary directory is used. Its name - is "UiGUI_log.html". - - Setting a verbose level allows to only write messages that have the selected minimum - priority to the log. - */ - -/*! - \brief Returns the only existing instance of TSLogger. If the instance doesn't exist, it will be created. - */ -TSLogger* TSLogger::getInstance(int verboseLevel) -{ - if (m_instance == NULL) - { - m_instance = new TSLogger(verboseLevel); - } - - return m_instance; -} - -/*! - \brief Returns the only existing instance of TSLogger. If the instance doesn't exist, it will be created. - */ -TSLogger* TSLogger::getInstance() -{ -#ifdef _DEBUG - return TSLogger::getInstance(TQtDebugMsg); -#else - return TSLogger::getInstance(TQtWarningMsg); -#endif -} - -/*! - \brief Initializes the dialog and sets the path to the log file in the systems temporary directory. - Sets the default verbose level to warning level. - */ -TSLogger::TSLogger(int verboseLevel) : - TQDialog() -{ - m_TSLoggerDialogForm = new Ui::TSLoggerDialog(); - m_TSLoggerDialogForm->setupUi(this); -#ifdef _DEBUG - m_verboseLevel = TQtDebugMsg; -#else - m_verboseLevel = TQtMsgType(verboseLevel); -#endif - - m_logFileInitState = NOTINITIALZED; - - connect(m_TSLoggerDialogForm->openLogFileFolderToolButton, TQ_SIGNAL(clicked()), this, - TQ_SLOT(openLogFileFolder())); - - // Make the main application not to wait for the logging window to close. - setAttribute(TQt::WA_QuitOnClose, false); -} - -/*! - \brief Logs all incoming messages \a msg to the dialogs text edit and to the log file. - - Only messages whos \a type have a higher priority than the set verbose level are logged. - */ -void TSLogger::messageHandler(TQtMsgType type, const char *msg) -{ - if (m_instance == NULL) - { - m_instance = TSLogger::getInstance(); - } - - /* - TQMessageBox messageBox; - TQString messageBoxText = TQString::fromUtf8( msg ); - messageBox.setText( messageBoxText ); - messageBox.setWindowModality( TQt::ApplicationModal ); - messageBox.exec(); - */ - - // Only log messages that have a higher or equal priority than set with the verbose level. - if (type < m_instance->m_verboseLevel) - { - return; - } - - // Init log message with prepended date and time. - TQString message = TQDateTime::currentDateTime().toString(); - - // Depending on the TQtMsgType prepend a different colored Debug, Warning, Critical or Fatal. - switch (type) - { - case TQtDebugMsg: - { - message += " Debug: "; - break; - } - - case TQtWarningMsg: - { - message += " Warning: "; - break; - } - - case TQtCriticalMsg: - { - message += "Critical: "; - break; - } - - case TQtFatalMsg: - { - message += " Fatal: "; - } - - // This one is no TQt message type, but can be used to send info messages to the log - // by calling TSLogger::messageHandler() directly. - case TSLoggerInfoMsg: - { - message += " Info: "; - break; - } - } - - // Append the to UTF-8 back converted message parameter. - message += TQString::fromUtf8(msg) + "
\n"; - - // Write the message to the log windows text edit. - m_instance->m_TSLoggerDialogForm->logTextEdit->append(message); - - // Write/append the log message to the log file. - m_instance->writeToLogFile(message); - - // In case of a fatal error abort the application. - if (type == TQtFatalMsg) - { - abort(); - } -} - -/*! - \brief Calling this the verbose level can be set in a range from 0 to 3 - which is equal to debug, warning, critical and fatal priority. - */ -void TSLogger::setVerboseLevel(int level) -{ - if (level < 0) - { - m_verboseLevel = TQtDebugMsg; - } - if (level > 3) - { - m_verboseLevel = TQtFatalMsg; - } - else - { - m_verboseLevel = TQtMsgType(level); - } -} - -/*! - \brief Deletes the existing m_instance of TSLogger. - */ -void TSLogger::deleteInstance() -{ - if (m_instance != NULL) - { - delete m_instance; - m_instance = NULL; - } -} - -/*! - \brief Opens the folder that contains the created log file with the name "UiGUI_log.html". - */ -void TSLogger::openLogFileFolder() -{ - TQDesktopServices::openUrl(TQFileInfo(m_logFile).absolutePath()); -} - -/*! - \brief Writes the \a message to the used log file. - */ -void TSLogger::writeToLogFile(const TQString &message) -{ - // If the file where all logging messages should go to isn't initilized yet, do that now. - if (m_logFileInitState == NOTINITIALZED) - { - m_logFileInitState = INITIALIZING; - - // On different systems it may be that "TQDir::tempPath()" ends with a "/" or not. So check - // this. - // Remove any trailing slashes. - TQString tempPath = TQFileInfo(SettingsPaths::getTempPath()).absolutePath(); - while (tempPath.right(1) == "/") - { - tempPath.chop(1); - } - - // To make the temporary log file invulnerable against file symbolic link hacks - // append the current date and time up to milliseconds to its name and a random character. - TQString logFileName = "UiGUI_log_" + TQDateTime::currentDateTime().toString("yyyyMMdd"); - logFileName += "-" + TQDateTime::currentDateTime().toString("hhmmsszzz"); - // By random decide whether to append a number or an upper or lower case character. - qsrand(time(NULL)); - unsigned char randomChar; - switch (qrand() % 3) - { - // Append a number from 0 to 9. - case 0: - { - randomChar = qrand() % 10 + '0'; - break; - } - - // Append a upper case characer between A and Z. - case 1: - { - randomChar = qrand() % 26 + 'A'; - break; - } - - // Append a lower case characer between a and z. - default: - { - randomChar = qrand() % 26 + 'a'; - break; - } - } - logFileName += "_" + TQString(randomChar) + ".html"; - - m_logFile.setFileName(tempPath + "/" + logFileName); - - // Set the tooltip of the open log file folder button to show the unique name of the log file. - m_TSLoggerDialogForm->openLogFileFolderToolButton->setToolTip( - m_TSLoggerDialogForm->openLogFileFolderToolButton->toolTip() + " (" + logFileName + ")"); - - m_logFileInitState = INITIALZED; - } - - // Add the message to the message queue. - m_messageQueue << message; - - // If the logging file is initialzed, write all messages contained in the message queue into the - // file. - if (m_logFileInitState == INITIALZED) - { - // Write/append the log message to the log file. - if (m_logFile.open(TQIODevice::WriteOnly | TQIODevice::Text | TQIODevice::Append)) - { - TQTextStream out(&m_logFile); - - while (!m_messageQueue.isEmpty()) - { - out << m_messageQueue.takeFirst() << "\n"; - } - - m_logFile.close(); - } - } -} diff --git a/src/debugging/TSLogger.h b/src/debugging/TSLogger.h deleted file mode 100644 index 0e20214..0000000 --- a/src/debugging/TSLogger.h +++ /dev/null @@ -1,72 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2006-2012 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 -#include - -namespace Ui -{ - class TSLoggerDialog; -} - -namespace tschweitzer -{ - namespace debugging - { -#define TSLoggerInfoMsg TQtMsgType(4) - - class TSLogger : public TQDialog - { - TQ_OBJECT - - public: - static TSLogger* getInstance(int verboseLevel); - static TSLogger* getInstance(); - static void messageHandler(TQtMsgType type, const char *msg); - static void deleteInstance(); - void setVerboseLevel(int level); - - private slots: - void openLogFileFolder(); - - private: - Ui::TSLoggerDialog *m_TSLoggerDialogForm; - - enum LogFileInitState - { - NOTINITIALZED, - INITIALIZING, - INITIALZED - } m_logFileInitState; - TSLogger(int verboseLevel); - - void writeToLogFile(const TQString &message); - - static TSLogger *m_instance; - TQtMsgType m_verboseLevel; - TQFile m_logFile; - TQStringList m_messageQueue; - }; - } -} // namespace tschweitzer::debugging - -#endif // TSLogger_H diff --git a/src/debugging/TSLoggerDialog.ui b/src/debugging/TSLoggerDialog.ui deleted file mode 100755 index 1956229..0000000 --- a/src/debugging/TSLoggerDialog.ui +++ /dev/null @@ -1,142 +0,0 @@ - - - TSLoggerDialog - - - - 0 - 0 - 1030 - 263 - - - - Log - - - - :/mainWindow/document-properties.png:/mainWindow/document-properties.png - - - - - - Logged messages - - - - - - - true - - - - - - - - - Clear log - - - ... - - - - :/mainWindow/edit-clear.png:/mainWindow/edit-clear.png - - - - - - - Open folder containing log file. - - - Open folder containing log file. - - - - :/mainWindow/document-open.png:/mainWindow/document-open.png - - - - - - - TQt::Horizontal - - - - 40 - 20 - - - - - - - - TQDialogButtonBox::Close - - - - - - - - - - - - - TSLoggerDialog - finished(int) - TSLoggerDialog - close() - - - 2 - 45 - - - 5 - 59 - - - - - buttonBox - clicked(TQAbstractButton*) - TSLoggerDialog - close() - - - 419 - 280 - - - 477 - 263 - - - - - cleanUpToolButton - clicked() - logTextEdit - clear() - - - 27 - 282 - - - 22 - 231 - - - - - diff --git a/src/main.cpp b/src/main.cpp index dded8ed..826ddfe 100755 --- a/src/main.cpp +++ b/src/main.cpp @@ -19,7 +19,6 @@ #include "MainWindow.h" -// -- #include "debugging/TSLogger.h" // -- #include "IndentHandler.h" #include "SettingsPaths.h" // -- #include "UiGuiIndentServer.h" @@ -37,8 +36,6 @@ #include -// -- using namespace tschweitzer::debugging; - /*! /brief Entry point to UniversalIndentGUI application. @@ -128,20 +125,11 @@ int main(int argc, char *argv[]) // -- UiGuiIndentServer server; MainWindow *mainWindow = NULL; // -- IndentHandler *indentHandler = NULL; -// -- - // Init and install the logger function. - // Setting UTF-8 as default 8-Bit encoding to ensure that tqDebug does no false string conversion. + + // Setting UTF-8 as default 8-Bit encoding TQTextCodec::setCodecForCStrings(TQTextCodec::codecForName("UTF-8")); TQTextCodec::setCodecForLocale(TQTextCodec::codecForName("UTF-8")); -// -- // Force creation of an TSLogger instance here, to avoid recursion with SettingsPaths init function. -// -- #ifdef _DEBUG -// -- TSLogger::getInstance(0); -// -- #else -// -- TSLogger::getInstance(verboseLevel); -// -- #endif -// -- qInstallMsgHandler(TSLogger::messageHandler); -// -- TSLogger::messageHandler(TSLoggerInfoMsg, TQString("Starting UiGUI Version %1 %2").arg(PROGRAM_VERSION_STRING).toAscii()); -// -- + // Start normal with full gui and without server. if (!startAsPlugin && !startAsServer) { mainWindow = new MainWindow(file2OpenOnStart); @@ -174,7 +162,5 @@ int main(int argc, char *argv[]) // -- delete indentHandler; delete mainWindow; -// -- TSLogger::deleteInstance(); - return returnValue; }