From 39745ab55aacc13906b3e9cf7946af4b9824e309 Mon Sep 17 00:00:00 2001 From: kostas Date: Sun, 26 Apr 2015 10:58:36 +0000 Subject: [PATCH] Refactored logging FossilOrigin-Name: 9c198b023e2df1b5cfe64dd745d070732b5ab843 --- manifest | 16 ++++++++-------- manifest.uuid | 2 +- src/Bridge.h | 13 +++++++------ src/MainWindow.cpp | 28 +++++++++++++++++----------- src/MainWindow.h | 5 +++++ 5 files changed, 38 insertions(+), 26 deletions(-) diff --git a/manifest b/manifest index a618d97..b1dbb5d 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Ported\suiRunning -D 2015-04-26T10:41:44.338 +C Refactored\slogging\n +D 2015-04-26T10:58:36.776 F .travis.yml 77966888a81c4ceee1fcc79bce842c9667ad8a35 F debian/changelog eb4304dfcb6bb66850ec740838090eb50ce1249b F debian/compat b6abd567fa79cbe0196d093a067271361dc6ca8b @@ -185,7 +185,7 @@ F rsrc/icons/fuel.ico eb529ab3332a17b9302ef3e851db5b9ebce2a038 F rsrc/icons/fuel.png 40daf53b7f6bdcdd0d6aa5ef433d078ec5ea4342 F rsrc/resources.qrc 4098be128fd6c045db933d041fe8844b14643a6f F src/Bridge.cpp b34f14d8d887c9db6b27a84b6423931bf262e7a0 -F src/Bridge.h a2167ed1bb8d1d80eb2ff0fda157eb4c8d176b16 +F src/Bridge.h 7c6c314b45d1010e17af5aa6975469fd3a4ba2aa F src/BrowserWidget.cpp 8b8f545cdff4a4188edc698a1b4777f5df46f056 F src/BrowserWidget.h 764d66aa9a93b890298bd0301097739cb4e16597 F src/CloneDialog.cpp 812ef7d361c16da21540b7047c9d4d5e74f18539 @@ -200,8 +200,8 @@ F src/FileTableView.cpp 5ddf8c391c9a3ac449ec61fb1db837b577afeec2 F src/FileTableView.h 03e56d87c2d46411b9762b87f4d301619aaf18df F src/LoggedProcess.cpp 2a1e5c94bc1e57c8984563e66c210e43a14dc60c F src/LoggedProcess.h 85df7c635c807a5a0e8c4763f17a0752aaff7261 -F src/MainWindow.cpp 16c97083d455983f1c7d21c8d21a16d7d0676ba4 -F src/MainWindow.h 8336643bbdca5c294f9fafc91ae78303fb7c063e +F src/MainWindow.cpp 0400011fea2e3b83008fb00a95199de6d63aa391 +F src/MainWindow.h 60b5a13bec9fa43c5ec37aa1f748005c9add19d5 F src/SettingsDialog.cpp a46cff5e5dd425e3dbdd15632abfd5829f5562b4 F src/SettingsDialog.h 4e2790f581e991c744ae9f86580f1972b8c7ff43 F src/Utils.cpp 9aff456712e4276b49083426301b3b96d3819c77 @@ -215,7 +215,7 @@ F ui/CommitDialog.ui 6200f6cabdcf40a20812e811be28e0793f82516f F ui/FileActionDialog.ui 89bb4dc2d0b8adcd41adcb11ec65f2028a09a12d F ui/MainWindow.ui 8677f5c8bca5bf7561d5f64bfdd0cef5157c6ac7 F ui/SettingsDialog.ui 2b7c2870e0054b0f4106f495d85d02c0b814df8b -P 7a4ea959c64034b6e20dec41a4a8c16a09397bfa -R d99dba3c5888b6181bf266039eef3548 +P bc822e7b940bf0e3eceaf99d6a47921af1a361f0 +R c580610965f2587fc6a5ff80b6dd2555 U kostas -Z 8b104a9799f52bcdd97acb20bb55d2d7 +Z e9a9d3506fa9e7637aeb7a955de583a9 diff --git a/manifest.uuid b/manifest.uuid index b1a326a..8eb23e7 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -bc822e7b940bf0e3eceaf99d6a47921af1a361f0 \ No newline at end of file +9c198b023e2df1b5cfe64dd745d070732b5ab843 \ No newline at end of file diff --git a/src/Bridge.h b/src/Bridge.h index b6ef008..e439583 100644 --- a/src/Bridge.h +++ b/src/Bridge.h @@ -5,6 +5,7 @@ class QStringList; #include #include #include +#include class Bridge : public QObject @@ -14,7 +15,7 @@ public: : QObject(0) , parentWidget(0) , abortOperation(false) - , logCallbackObject(0) + , logTextBrowser(0) { } @@ -31,14 +32,14 @@ public: RUNFLAGS_DETACHED = 1<<2 }; - typedef void(*log_callback_t)(const QString &text, bool isHTML, QObject *object); + typedef void(*log_callback_t)(QTextBrowser *textBrowser, const QString &text, bool isHTML); - void Init(QWidget *parent, log_callback_t callback, QObject *callbackObject, const QString &fossPath, const QString &workspace) + void Init(QWidget *parent, log_callback_t callback, QTextBrowser *textBrowser, const QString &fossPath, const QString &workspace) { parentWidget = parent; logCallback = callback; - logCallbackObject = callbackObject; + logTextBrowser = textBrowser; fossilPath = fossPath; currentWorkspace = workspace; @@ -68,7 +69,7 @@ private: void log(const QString &text, bool isHTML=false) { if(logCallback) - (*logCallback)(text, isHTML, logCallbackObject); + (*logCallback)(logTextBrowser, text, isHTML); } const QString &getCurrentWorkspace() @@ -82,7 +83,7 @@ private: bool abortOperation; // FIXME: No GUI for it yet log_callback_t logCallback; - QObject *logCallbackObject; + QTextBrowser *logTextBrowser; QString currentWorkspace; QString fossilPath; // The value from the settings diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index 2ba87e2..0d0100a 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -34,8 +34,6 @@ static const unsigned char UTF8_BOM[] = { 0xEF, 0xBB, 0xBF }; // 19: [5c46757d4b9765] on 2012-04-22 04:41:15 static const QRegExp REGEX_STASH("\\s*(\\d+):\\s+\\[(.*)\\] on (\\d+)-(\\d+)-(\\d+) (\\d+):(\\d+):(\\d+)", Qt::CaseInsensitive); -//#define BRIDGE_DISABLED - //----------------------------------------------------------------------------- enum { @@ -236,7 +234,9 @@ MainWindow::MainWindow(Settings &_settings, QWidget *parent, QString *workspaceP applySettings(); - bridge.Init(this, 0, 0, "", ""); +#ifdef BRIDGE_ENABLED + bridge.Init(this, &log, ui->textBrowser, "", ""); +#endif // Apply any explicit workspace path if available if(workspacePath && !workspacePath->isEmpty()) @@ -983,7 +983,7 @@ void MainWindow::updateFileView() } //------------------------------------------------------------------------------ -#ifdef BRIDGE_DISABLED +#ifndef BRIDGE_ENABLED MainWindow::RepoStatus MainWindow::getRepoStatus() { QStringList res; @@ -1050,16 +1050,22 @@ void MainWindow::updateStashView() } //------------------------------------------------------------------------------ -void MainWindow::log(const QString &text, bool isHTML) +void MainWindow::log(QTextBrowser *textBrowser, const QString &text, bool isHTML) { - QTextCursor c = ui->textBrowser->textCursor(); + QTextCursor c = textBrowser->textCursor(); c.movePosition(QTextCursor::End); - ui->textBrowser->setTextCursor(c); + textBrowser->setTextCursor(c); if(isHTML) - ui->textBrowser->insertHtml(text); + textBrowser->insertHtml(text); else - ui->textBrowser->insertPlainText(text); + textBrowser->insertPlainText(text); +} + +//------------------------------------------------------------------------------ +void MainWindow::log(const QString &text, bool isHTML) +{ + log(ui->textBrowser, text, isHTML); } //------------------------------------------------------------------------------ @@ -1075,7 +1081,7 @@ void MainWindow::on_actionClearLog_triggered() } -#ifdef BRIDGE_DISABLED +#ifndef BRIDGE_ENABLED //------------------------------------------------------------------------------ bool MainWindow::runFossil(const QStringList &args, QStringList *output, int runFlags) { @@ -1722,7 +1728,7 @@ void MainWindow::on_actionDiff_triggered() } //------------------------------------------------------------------------------ -#ifdef BRIDGE_DISABLED +#ifndef BRIDGE_ENABLED bool MainWindow::startUI() { if(uiRunning()) diff --git a/src/MainWindow.h b/src/MainWindow.h index 2518c2b..112a5e0 100644 --- a/src/MainWindow.h +++ b/src/MainWindow.h @@ -12,6 +12,8 @@ #include "SettingsDialog.h" #include "Bridge.h" +#define BRIDGE_ENABLED + namespace Ui { class MainWindow; } @@ -143,6 +145,7 @@ private: void updateSettings(); const QString &getCurrentWorkspace(); void setCurrentWorkspace(const QString &workspace); + static void log(QTextBrowser *textBrowser, const QString &text, bool isHTML); void log(const QString &text, bool isHTML=false); void setStatus(const QString &text); bool uiRunning() const; @@ -262,7 +265,9 @@ private: ViewMode viewMode; stringset_t selectedDirs; // The directory selected in the tree +#ifdef BRIDGE_ENABLED Bridge bridge; +#endif // Repository State typedef QList filelist_t;