From 3aa9e9a7c150a38ff8a660c286e40239bd0edd69 Mon Sep 17 00:00:00 2001 From: Ximi1970 Date: Sun, 16 Feb 2020 13:38:23 +0100 Subject: [PATCH 01/43] Add debug and experimental X11 window methods --- .gitignore | 1 + README.references.txt | 59 ++++++ app/.gitignore | 2 +- app/SysTray-X/SysTray-X.pro | 5 + app/SysTray-X/debugwidget.cpp | 27 +++ app/SysTray-X/debugwidget.h | 41 ++-- app/SysTray-X/debugwidget.ui | 62 +++--- app/SysTray-X/systrayx.cpp | 2 + app/SysTray-X/windowctrl-unix.cpp | 318 +++++++++++++++++++++++++++++- app/SysTray-X/windowctrl-unix.h | 170 +++++++++++++++- app/config/linux/.gitignore | 1 + app/config/win32/.gitignore | 1 + 12 files changed, 645 insertions(+), 44 deletions(-) create mode 100644 app/config/linux/.gitignore create mode 100644 app/config/win32/.gitignore diff --git a/.gitignore b/.gitignore index 86c2fc7..cd0d191 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ *.xpi +SysTray-X diff --git a/README.references.txt b/README.references.txt index 50aadf9..0af9da3 100644 --- a/README.references.txt +++ b/README.references.txt @@ -1,3 +1,62 @@ +# -
-
- Display debug - window
-
-
-
+
@@ -89,6 +83,18 @@
+
+
+

Debug options

+
+
+ Display debug + window
+
+
+
+
+
From 31cf9d3c95be2c1231b0ed0826f741cdfbd7714b Mon Sep 17 00:00:00 2001 From: Maxime Rijnders Date: Sat, 29 Feb 2020 20:38:26 +0100 Subject: [PATCH 36/43] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 48cad45..d009e61 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ The add-on and system tray application can do: - display number of unread mails - show / hide Thunderbird (minimize) - minimizing hides to tray +- minimize on startup - to be implemented: start a new mail - to be implemented: open the last used account From 1a39000336d0d52575bcda54735e53a0cc77eef3 Mon Sep 17 00:00:00 2001 From: Ximi1970 Date: Sun, 1 Mar 2020 17:23:42 +0100 Subject: [PATCH 37/43] Fix OBS build --- app/SysTray-X/SysTray-X.pro | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/SysTray-X/SysTray-X.pro b/app/SysTray-X/SysTray-X.pro index 49b2bef..e75a29f 100644 --- a/app/SysTray-X/SysTray-X.pro +++ b/app/SysTray-X/SysTray-X.pro @@ -31,8 +31,10 @@ CONFIG += c++11 unix:!macx: { QMAKE_CFLAGS += $(RPM_OPT_FLAGS) QMAKE_CXXFLAGS += $(RPM_OPT_FLAGS) -# QMAKE_LFLAGS += -lX11 -static-libgcc -static-libstdc++ - QMAKE_LFLAGS += -lX11 + QMAKE_LFLAGS += $(RPM_OPT_FLAGS) +# QMAKE_LFLAGS += -static-libgcc -static-libstdc++ + + LIBS += -lX11 } win32: { # QMAKE_LFLAGS += -static -lwinpthread -static-libgcc -static-libstdc++ $$(QMAKE_LFLAGS_WINDOWS) From c5986f994a8c08796b0bbb971b5a423f3fec9a8f Mon Sep 17 00:00:00 2001 From: Ximi1970 Date: Sun, 1 Mar 2020 19:38:04 +0100 Subject: [PATCH 38/43] Fix for Qt 5.14 --- app/SysTray-X/systrayxicon.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/SysTray-X/systrayxicon.cpp b/app/SysTray-X/systrayxicon.cpp index fd8fe5e..efb778f 100644 --- a/app/SysTray-X/systrayxicon.cpp +++ b/app/SysTray-X/systrayxicon.cpp @@ -155,7 +155,11 @@ void SysTrayXIcon::renderIcon() painter.setFont( QFont("Sans") ); QString number = QString::number( m_unread_mail ); +#if QT_VERSION < QT_VERSION_CHECK(5, 13, 0) double factor = pixmap.width() / ( 3 * painter.fontMetrics().width( number ) ); +#else + double factor = pixmap.width() / ( 3 * painter.fontMetrics().horizontalAdvance( number ) ); +#endif QFont font = painter.font(); font.setPointSizeF( font.pointSizeF() * factor ); font.setBold( true ); From fe280bfae0c38b281827cb59169ee9a54461fb43 Mon Sep 17 00:00:00 2001 From: Ximi1970 Date: Sun, 1 Mar 2020 20:45:43 +0100 Subject: [PATCH 39/43] Workaround X11 / Qt include conflict --- app/SysTray-X/windowctrl-unix.cpp | 11 ++++++----- app/SysTray-X/windowctrl-unix.h | 22 +++++++++++++--------- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/app/SysTray-X/windowctrl-unix.cpp b/app/SysTray-X/windowctrl-unix.cpp index b0b6b75..dfa470a 100644 --- a/app/SysTray-X/windowctrl-unix.cpp +++ b/app/SysTray-X/windowctrl-unix.cpp @@ -6,6 +6,7 @@ * System includes */ #include +#include #include #include @@ -145,7 +146,7 @@ void WindowCtrlUnix::displayWindowElements( const QString& title ) /* * Display window atoms */ -void WindowCtrlUnix::displayWindowElements( Window window ) +void WindowCtrlUnix::displayWindowElements( quint64 window ) { QString name = atomName( m_display, window ); emit signalConsole( QString( "Atom name: %1" ).arg( name ) ); @@ -388,7 +389,7 @@ void WindowCtrlUnix::deleteWindow( quint64 window ) /* * Get the X11 window list */ -QList< WindowCtrlUnix::WindowItem > WindowCtrlUnix::listXWindows( Display *display, Window window, int level ) +QList< WindowCtrlUnix::WindowItem > WindowCtrlUnix::listXWindows( Display *display, quint64 window, int level ) { Window root; Window parent; @@ -414,7 +415,7 @@ QList< WindowCtrlUnix::WindowItem > WindowCtrlUnix::listXWindows( Display *dis /* * Get the title of the window */ -QString WindowCtrlUnix::atomName( Display *display, Window window ) +QString WindowCtrlUnix::atomName( Display *display, quint64 window ) { char prop_name[] = "_NET_WM_NAME"; Atom prop = XInternAtom( display, prop_name, True ); @@ -446,7 +447,7 @@ QString WindowCtrlUnix::atomName( Display *display, Window window ) /* * Get the state of the window */ -QStringList WindowCtrlUnix::atomState( Display *display, Window window ) +QStringList WindowCtrlUnix::atomState( Display *display, quint64 window ) { char prop_name[] = "_NET_WM_STATE"; Atom prop = XInternAtom( display, prop_name, True ); @@ -489,7 +490,7 @@ QStringList WindowCtrlUnix::atomState( Display *display, Window window ) /* * Get the type of the window */ -QStringList WindowCtrlUnix::atomWindowType( Display *display, Window window ) +QStringList WindowCtrlUnix::atomWindowType( Display *display, quint64 window ) { char prop_name[] = "_NET_WM_WINDOW_TYPE"; Atom prop = XInternAtom( display, prop_name, True ); diff --git a/app/SysTray-X/windowctrl-unix.h b/app/SysTray-X/windowctrl-unix.h index cac8066..473c2bf 100644 --- a/app/SysTray-X/windowctrl-unix.h +++ b/app/SysTray-X/windowctrl-unix.h @@ -12,13 +12,17 @@ /* * System includes */ -#include /* * Qt includes */ #include +/* + * Predefines + */ +typedef struct _XDisplay Display; + /** * @brief The WindowCtrlUnix class. */ @@ -91,13 +95,13 @@ class WindowCtrlUnix : public QObject { public: - WindowItem( Window win, int lev ) + WindowItem( quint64 win, int lev ) { window = win; level = lev; } - Window window; + quint64 window; int level; }; @@ -145,7 +149,7 @@ class WindowCtrlUnix : public QObject * * @param window The window. */ - void displayWindowElements( Window window ); + void displayWindowElements( quint64 window ); /** * @brief getWinId. Get the Thunderbird window ID. @@ -202,7 +206,7 @@ class WindowCtrlUnix : public QObject * * @return The windows list. */ - QList< WindowItem > listXWindows( Display* display, Window window, int level = 0 ); + QList< WindowItem > listXWindows( Display* display, quint64 window, int level = 0 ); /** * @brief atomwName. Get the title of the window. @@ -212,7 +216,7 @@ class WindowCtrlUnix : public QObject * * @return Name of the window. */ - QString atomName( Display *display, Window window ); + QString atomName( Display* display, quint64 window ); /** * @brief atomState. Get the state of the window. @@ -222,7 +226,7 @@ class WindowCtrlUnix : public QObject * * @return State of the window. */ - QStringList atomState( Display *display, Window window ); + QStringList atomState( Display* display, quint64 window ); /** * @brief atomType. Get the type of the window. @@ -232,7 +236,7 @@ class WindowCtrlUnix : public QObject * * @return Type of the window. */ - QStringList atomWindowType( Display *display, Window window ); + QStringList atomWindowType( Display* display, quint64 window ); signals: @@ -275,7 +279,7 @@ class WindowCtrlUnix : public QObject /** * @brief m_root_window. The root window. */ - Window m_root_window; + quint64 m_root_window; /** * @brief m_tb_window. The Thunderbird window. From 00d71d7c764d14d1a18d8634196a54b63d08ae96 Mon Sep 17 00:00:00 2001 From: Ximi1970 Date: Sun, 1 Mar 2020 21:15:41 +0100 Subject: [PATCH 40/43] Fix default startup minimized --- webext/options.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webext/options.js b/webext/options.js index de8e1b3..eb3261a 100644 --- a/webext/options.js +++ b/webext/options.js @@ -200,7 +200,7 @@ SysTrayX.RestoreOptions = { // Restore hide on minimize callbacks // setStartMinimized: function(result) { - const startMinimized = result.startMinimized || "true"; + const startMinimized = result.startMinimized || "false"; console.debug("startMinimized: " + startMinimized); From 6ca8220d86ab26d51aa10aeeaa02d076f6919221 Mon Sep 17 00:00:00 2001 From: Ximi1970 Date: Sun, 1 Mar 2020 22:35:06 +0100 Subject: [PATCH 41/43] Fix translations --- webext/_locales/en-US/messages.json | 12 ++++++------ webext/manifest.json | 4 ++-- webext/options.html | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/webext/_locales/en-US/messages.json b/webext/_locales/en-US/messages.json index 4dfe115..075c515 100644 --- a/webext/_locales/en-US/messages.json +++ b/webext/_locales/en-US/messages.json @@ -1,30 +1,30 @@ { - "extensionName": { + "extension_name": { "message": "SysTray-X", "description": "Name of the webextension" }, - "extensionDescription": { + "extension_description": { "message": "System tray control add-on", "description": "Webextension descriptions" }, - "tabWindows": { + "tab_windows": { "message": "Windows", "description": "Tab for Window options" }, - "tabIcon": { + "tab_icon": { "message": "Icon", "description": "Tab for Icon options" }, - "tabMail": { + "tab_mail": { "message": "Mail", "description": "Tab for Mail options" }, - "tabDebug": { + "tab_debug": { "message": "Debug", "description": "Tab for Debug options" } diff --git a/webext/manifest.json b/webext/manifest.json index d037a97..ad0ff10 100644 --- a/webext/manifest.json +++ b/webext/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 2, - "name": "__MSG_extensionName__", - "description": "__MSG_extensionDescription__", + "name": "__MSG_extension_name__", + "description": "__MSG_extension_description__", "version": "0.1", "author": "Maxime Rijnders", "homepage_url": "https://github.com/Ximi1970/systray-x", diff --git a/webext/options.html b/webext/options.html index 279ba40..5fc1277 100644 --- a/webext/options.html +++ b/webext/options.html @@ -10,10 +10,10 @@
- - - - + + + +
From 9edd0aeab9a3587ffd154b75834e712218861361 Mon Sep 17 00:00:00 2001 From: Ximi1970 Date: Sun, 1 Mar 2020 23:43:01 +0100 Subject: [PATCH 42/43] Fix default startup minimized --- webext/background.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webext/background.js b/webext/background.js index 02d71c1..b5ea22d 100644 --- a/webext/background.js +++ b/webext/background.js @@ -145,7 +145,7 @@ SysTrayX.Messaging = { const debug = result.debug || "false"; const hideOnMinimize = result.hideOnMinimize || "true"; - const startMinimized = result.startMinimized || "true"; + const startMinimized = result.startMinimized || "false"; const iconType = result.iconType || "0"; const iconMime = result.iconMime || "image/png"; const icon = result.icon || []; From 9212c490befed0202a4379963c2a1e4211d15130 Mon Sep 17 00:00:00 2001 From: Ximi1970 Date: Mon, 2 Mar 2020 22:16:19 +0100 Subject: [PATCH 43/43] Cleanup --- app/SysTray-X/debugwidget.cpp | 78 ---------------------------- app/SysTray-X/debugwidget.h | 63 ----------------------- app/SysTray-X/debugwidget.ui | 34 ++----------- app/SysTray-X/main.cpp | 2 +- app/SysTray-X/preferencesdialog.h | 7 --- app/SysTray-X/systrayx.cpp | 27 ---------- app/SysTray-X/systrayxicon.h | 7 --- app/SysTray-X/systrayxlink.cpp | 72 -------------------------- app/SysTray-X/systrayxlink.h | 81 ----------------------------- app/SysTray-X/windowctrl-unix.cpp | 2 +- app/SysTray-X/windowctrl-unix.h | 7 --- app/SysTray-X/windowctrl.cpp | 28 +++-------- webext/background.html | 2 +- webext/background.js | 84 +++++-------------------------- webext/js/defaults.js | 3 -- webext/js/options_accounts.js | 14 +++--- webext/js/options_iconform.js | 12 ++--- webext/options.js | 30 ----------- 18 files changed, 38 insertions(+), 515 deletions(-) diff --git a/app/SysTray-X/debugwidget.cpp b/app/SysTray-X/debugwidget.cpp index 6732984..6a159e9 100644 --- a/app/SysTray-X/debugwidget.cpp +++ b/app/SysTray-X/debugwidget.cpp @@ -36,33 +36,6 @@ DebugWidget::DebugWidget( Preferences* pref, QWidget* parent ) : QWidget( parent } -/* - * Set the debug message - */ -void DebugWidget::setDebugMessage( const QString& message ) -{ - m_ui->messageLabel->setText( message ); -} - - -/* - * Set the raw data length - */ -void DebugWidget::setRawDataLength( int length ) -{ - m_ui->rawDataLengthLabel->setText( QString::number( length ) ); -} - - -/* - * Set the raw received message - */ -void DebugWidget::setErrorDataMessage( const QString &message ) -{ - m_ui->rawDataLabel->setText( message ); -} - - /* * Set the number of unread mail */ @@ -72,15 +45,6 @@ void DebugWidget::setUnreadMail( int unread ) } -/* - * Set the link error message - */ -void DebugWidget::setError( const QString &error ) -{ - m_ui->errorLabel->setText( error ); -} - - /* * Handle a debug state change signal */ @@ -90,39 +54,6 @@ void DebugWidget::slotDebugChange() } -/* - * Handle a debug message signal - */ -void DebugWidget::slotDebugMessage( const QString& message ) -{ - setDebugMessage( message ); -} - - -/* - * Handle received message length - */ -void DebugWidget::slotReceivedDataLength( qint32 data_len ) -{ - setRawDataLength( data_len ); -} - - -/* - * Display received message - */ -void DebugWidget::slotReceivedData( const QByteArray& data ) -{ - setErrorDataMessage( QString( data ) ); - - /* - * Reply - */ -// QByteArray reply = QString( "\"Hallo other world!\"" ).toUtf8(); -// emit signalWriteMessage( reply ); -} - - /* * Handle unread mail signal */ @@ -132,15 +63,6 @@ void DebugWidget::slotUnreadMail( int unread_mail ) } -/* - * Handle a receive error - */ -void DebugWidget::slotReceiveError( const QString& error ) -{ - setError( error ); -} - - /* * Handle test button 1 click */ diff --git a/app/SysTray-X/debugwidget.h b/app/SysTray-X/debugwidget.h index 487396d..825cac8 100644 --- a/app/SysTray-X/debugwidget.h +++ b/app/SysTray-X/debugwidget.h @@ -38,27 +38,6 @@ class DebugWidget : public QWidget */ explicit DebugWidget( Preferences* pref, QWidget* parent = nullptr ); - /** - * @brief setDebugMessage. Display a debug message. - * - * @param message The message to display. - */ - void setDebugMessage( const QString& message ); - - /** - * @brief setRawDataLength. Display the error data length. - * - * @param length The raw data length. - */ - void setRawDataLength( int length ); - - /** - * @brief setRswDataMessage. Display the raw data. - * - * @param message The raw data messsage. - */ - void setErrorDataMessage( const QString &message ); - /** * @brief setUnreadMail. Set the number of unread mails. * @@ -66,22 +45,8 @@ class DebugWidget : public QWidget */ void setUnreadMail( int unread ); - /** - * @brief setError. Set the error message. - * - * @param error The error message. - */ - void setError( const QString &error ); - signals: - /** - * @brief signalWriteMessage - * - * @param message - */ - void signalWriteMessage( const QByteArray& message ); - /** * @brief signalTestButton1Clicked. Signal the test button was clicked. */ @@ -104,27 +69,6 @@ class DebugWidget : public QWidget */ void slotDebugChange(); - /** - * @brief slotDebugMessage - * - * @param message - */ - void slotDebugMessage( const QString& message ); - - /** - * @brief slotReceivedDataLength. The received data length. - * - * @param data_len The received data length. - */ - void slotReceivedDataLength( qint32 msglen ); - - /** - * @brief slotReceivedData. The received data. - * - * @param data The received data. - */ - void slotReceivedData( const QByteArray& data ); - /** * @brief slotSetUnreadMail. Slot for handling unread mail signals. * @@ -132,13 +76,6 @@ class DebugWidget : public QWidget */ void slotUnreadMail( int unread_mail ); - /** - * @brief slotReceiveError. Handle receive error signal. - * - * @param error Error message. - */ - void slotReceiveError( const QString& error ); - /** * @brief slotHandleTest1Button. Handle a click on the test button. */ diff --git a/app/SysTray-X/debugwidget.ui b/app/SysTray-X/debugwidget.ui index c79c9aa..9e021a8 100644 --- a/app/SysTray-X/debugwidget.ui +++ b/app/SysTray-X/debugwidget.ui @@ -49,7 +49,7 @@ - + Test 2 @@ -66,41 +66,13 @@ - - - - - - - - - - - - - - - + Test 1 - - - - 0 - - - - - - - - - - @@ -108,7 +80,7 @@ - + Test 3 diff --git a/app/SysTray-X/main.cpp b/app/SysTray-X/main.cpp index 2c269b8..457a047 100644 --- a/app/SysTray-X/main.cpp +++ b/app/SysTray-X/main.cpp @@ -8,7 +8,7 @@ */ #include -int main(int argc, char *argv[]) +int main( int argc, char *argv[] ) { QApplication a(argc, argv); SysTrayX systrayx; diff --git a/app/SysTray-X/preferencesdialog.h b/app/SysTray-X/preferencesdialog.h index aef6b8f..1ab515b 100644 --- a/app/SysTray-X/preferencesdialog.h +++ b/app/SysTray-X/preferencesdialog.h @@ -84,13 +84,6 @@ class PreferencesDialog : public QDialog signals: - /** - * @brief signalDebugMessage. Signal a debug message. - * - * @param message The message. - */ - void signalDebugMessage( QString message ); - /** * @brief signalUpdateSysTray. Signal to update the system tray icon. */ diff --git a/app/SysTray-X/systrayx.cpp b/app/SysTray-X/systrayx.cpp index 1273821..47dc9ab 100644 --- a/app/SysTray-X/systrayx.cpp +++ b/app/SysTray-X/systrayx.cpp @@ -65,20 +65,8 @@ SysTrayX::SysTrayX( QObject *parent ) : QObject( parent ) /* * Connect debug link signals */ - connect( m_link, &SysTrayXLink::signalReceivedDataLength, m_debug, &DebugWidget::slotReceivedDataLength ); - connect( m_link, &SysTrayXLink::signalReceivedData, m_debug, &DebugWidget::slotReceivedData ); - connect( m_link, &SysTrayXLink::signalUnreadMail, m_debug, &DebugWidget::slotUnreadMail ); - connect( m_link, &SysTrayXLink::signalLinkReceiveError, m_debug, &DebugWidget::slotReceiveError ); - - connect( m_debug, &DebugWidget::signalWriteMessage, m_link, &SysTrayXLink::slotLinkWrite ); - - connect( m_pref_dialog, &PreferencesDialog::signalDebugMessage, m_debug, &DebugWidget::slotDebugMessage ); - connect( m_tray_icon, &SysTrayXIcon::signalDebugMessage, m_debug, &DebugWidget::slotDebugMessage ); - connect( m_link, &SysTrayXLink::signalDebugMessage, m_debug, &DebugWidget::slotDebugMessage ); - connect( m_win_ctrl, &WindowCtrl::signalDebugMessage, m_debug, &DebugWidget::slotDebugMessage ); - connect( m_win_ctrl, &WindowCtrl::signalConsole, m_debug, &DebugWidget::slotConsole ); connect( m_debug, &DebugWidget::signalTest1ButtonClicked, m_win_ctrl, &WindowCtrl::slotWindowTest1 ); connect( m_debug, &DebugWidget::signalTest2ButtonClicked, m_win_ctrl, &WindowCtrl::slotWindowTest2 ); @@ -157,17 +145,6 @@ void SysTrayX::getPreferences() */ void SysTrayX::createActions() { -/* - m_minimizeAction = new QAction(tr("Mi&nimize"), this); - connect( m_minimizeAction, &QAction::triggered, this, &QWidget::hide ); - - m_maximizeAction = new QAction(tr("Ma&ximize"), this); - connect( m_maximizeAction, &QAction::triggered, this, &QWidget::showMaximized ); - - m_restoreAction = new QAction(tr("&Restore"), this); - connect( m_restoreAction, &QAction::triggered, this, &QWidget::showNormal ); -*/ - m_showhide_action = new QAction(tr("&Show/Hide"), this); m_showhide_action->setIcon( QIcon( ":/files/icons/window-restore.png" ) ); connect( m_showhide_action, &QAction::triggered, m_win_ctrl, &WindowCtrl::slotShowHide ); @@ -179,7 +156,6 @@ void SysTrayX::createActions() m_quit_action = new QAction( tr("&Quit"), this ); m_quit_action->setIcon( QIcon( ":/files/icons/window-close.png" ) ); connect( m_quit_action, &QAction::triggered, this, &SysTrayX::slotShutdown ); - } @@ -197,9 +173,6 @@ void SysTrayX::createTrayIcon() * Setup menu */ m_tray_icon_menu = new QMenu(); -// m_trayIconMenu->addAction( m_minimizeAction ); -// m_trayIconMenu->addAction( m_maximizeAction ); -// m_trayIconMenu->addAction( m_restoreAction ); m_tray_icon_menu->addAction( m_showhide_action ); m_tray_icon_menu->addSeparator(); diff --git a/app/SysTray-X/systrayxicon.h b/app/SysTray-X/systrayxicon.h index cfd7d2f..bb27e7f 100644 --- a/app/SysTray-X/systrayxicon.h +++ b/app/SysTray-X/systrayxicon.h @@ -70,13 +70,6 @@ class SysTrayXIcon : public QSystemTrayIcon signals: - /** - * @brief signalDebugMessage. Signal a debug message. - * - * @param message The message. - */ - void signalDebugMessage( QString message ); - /** * @brief signalShowHide. Signal show / hide window. */ diff --git a/app/SysTray-X/systrayxlink.cpp b/app/SysTray-X/systrayxlink.cpp index 92e2fe5..394dc27 100644 --- a/app/SysTray-X/systrayxlink.cpp +++ b/app/SysTray-X/systrayxlink.cpp @@ -111,15 +111,11 @@ void SysTrayXLinkReader::slotWorker() qint32 data_len; std::cin.read( reinterpret_cast< char* >( &data_len ), sizeof( qint32 ) ); - emit signalReceivedDataLength( data_len ); - if( data_len > 0) { QByteArray data( data_len, 0 ); std::cin.read( data.data(), data_len ); - emit signalReceivedData( data ); - /* * Send the data to my parent */ @@ -188,11 +184,6 @@ SysTrayXLink::SysTrayXLink( Preferences* pref ) connect( reader, &SysTrayXLinkReader::signalReceivedMessage, this, &SysTrayXLink::slotLinkRead ); connect( reader, &SysTrayXLinkReader::signalAddOnShutdown, this, &SysTrayXLink::slotAddOnShutdown ); - connect( reader, &SysTrayXLinkReader::signalDebugMessage, this, &SysTrayXLink::slotDebugMessage ); - - connect( reader, &SysTrayXLinkReader::signalReceivedDataLength, this, &SysTrayXLink::slotReceivedDataLength ); - connect( reader, &SysTrayXLinkReader::signalReceivedData, this, &SysTrayXLink::slotReceivedData ); - connect( m_reader_thread, &QThread::started, reader, &SysTrayXLinkReader::startThread, Qt::QueuedConnection ); m_reader_thread->start(); } @@ -232,15 +223,6 @@ void SysTrayXLink::sendPreferences() */ EncodePreferences( *m_pref ); - -/* - QFile dump("/home/maxime/dumpJSON_app2addon.txt"); - dump.open(QIODevice::WriteOnly ); - dump.write( m_pref_json_doc.toJson( QJsonDocument::Compact ).data(), m_pref_json_doc.toJson( QJsonDocument::Compact ).length() ); - dump.close(); -*/ - - /* * Send them to the add-on */ @@ -331,22 +313,9 @@ void SysTrayXLink::DecodeMessage( const QByteArray& message ) if( jsonObject.contains( "preferences" ) && jsonObject[ "preferences" ].isObject() ) { - -/* - QFile dump("/home/maxime/dumpJSON_addon2app.txt"); - dump.open(QIODevice::WriteOnly ); - dump.write( message.data(), message.length() ); - dump.close(); -*/ - - DecodePreferences( jsonObject[ "preferences" ].toObject() ); } } - else - { - emit signalLinkReceiveError( jsonError.errorString() ); - } } @@ -446,33 +415,6 @@ void SysTrayXLink::EncodePreferences( const Preferences& pref ) } -/* - * Handle the debug message from the reader thread - */ -void SysTrayXLink::slotDebugMessage( QString message ) -{ - emit signalDebugMessage( message ); -} - - -/* - * Handle data length signal from reader thread - */ -void SysTrayXLink::slotReceivedDataLength( qint32 data_len ) -{ - emit signalReceivedDataLength( data_len ); -} - - -/* - * Handle data signal from read thread - */ -void SysTrayXLink::slotReceivedData( QByteArray data ) -{ - emit signalReceivedData( data ); -} - - /* * Relay shutdown signal */ @@ -487,11 +429,6 @@ void SysTrayXLink::slotAddOnShutdown() */ void SysTrayXLink::slotLinkRead( QByteArray message ) { - /* - * Debug - */ -// m_dump->write( message ); - /* * Decode the message */ @@ -499,15 +436,6 @@ void SysTrayXLink::slotLinkRead( QByteArray message ) } -/* - * write the output - */ -void SysTrayXLink::slotLinkWrite( QByteArray message ) -{ - linkWrite( message ); -} - - /* * Handle a debug state change signal */ diff --git a/app/SysTray-X/systrayxlink.h b/app/SysTray-X/systrayxlink.h index ebda9f7..a8afd45 100644 --- a/app/SysTray-X/systrayxlink.h +++ b/app/SysTray-X/systrayxlink.h @@ -57,27 +57,6 @@ class SysTrayXLinkReader : public QObject signals: - /** - * @brief signalDebugMessage - * - * @param message The message. - */ - void signalDebugMessage( QString message ); - - /** - * @brief signalReceivedDataLength - * - * @param data_len The length of the received data. - */ - void signalReceivedDataLength( qint32 data_len ); - - /** - * @brief signalReceivedData - * - * @param data The received data. - */ - void signalReceivedData( QByteArray data ); - /** * @brief signalReceivedMessage. Signal the received message. * @@ -171,7 +150,6 @@ class SysTrayXLink : public QObject */ void signalTitle( QString title ); - /** * @brief signalAddOnShutdown. Signal to shutdown the app. */ @@ -182,34 +160,6 @@ class SysTrayXLink : public QObject */ void signalWindowState( QString state ); - /** - * @brief signalReceivedDataLength - * - * @param data_len The received data length. - */ - void signalReceivedDataLength( qint32 data_len ); - - /** - * @brief signalReceivedData - * - * @param data The data received. - */ - void signalReceivedData( QByteArray data ); - - /** - * @brief signalLinkReceiveError. Cannot parse received JSON message. - * - * @param error JSON error message - */ - void signalLinkReceiveError( QString error ); - - /** - * @brief signalDebugMessage. Signal a debug message. - * - * @param message The message. - */ - void signalDebugMessage( QString message ); - /** * @brief signalUnreadMail. Signal numder of unread mails. * @@ -234,11 +184,6 @@ class SysTrayXLink : public QObject */ void slotStartMinimizedChange(); - /** - * @brief slotLinkWrite. Write the link. - */ - void slotLinkWrite( QByteArray message ); - /** * @brief slotIconTypeChange. Slot for handling icon type change signals. */ @@ -261,27 +206,6 @@ class SysTrayXLink : public QObject private slots: - /** - * @brief slotDebugMessage. Handle the signal for a debuf message from the reader thread. - * - * @param message The message. - */ - void slotDebugMessage( QString message ); - - /** - * @brief slotReceivedDataLength. Handle data length signal from the reader thread. - * - * @param data_len The data length. - */ - void slotReceivedDataLength( qint32 data_len ); - - /** - * @brief signalReceivedData. Handle data signal from the reader thread. - * - * @param data The data. - */ - void slotReceivedData( QByteArray data ); - /** * @brief slotLinkRead. Read the link. */ @@ -304,11 +228,6 @@ class SysTrayXLink : public QObject */ Preferences* m_pref; - /** - * @brief m_dump. Pointer to dump file. - */ - QFile* m_dump; - /** * @brief m_pref_json_doc. Temporary storage for the preferences to be send. */ diff --git a/app/SysTray-X/windowctrl-unix.cpp b/app/SysTray-X/windowctrl-unix.cpp index dfa470a..6b29914 100644 --- a/app/SysTray-X/windowctrl-unix.cpp +++ b/app/SysTray-X/windowctrl-unix.cpp @@ -85,7 +85,7 @@ void WindowCtrlUnix::findWindow( qint64 pid ) Atom atom_PID = XInternAtom( m_display, "_NET_WM_PID", True ); if( atom_PID == None ) { - emit signalConsole( QString( "No such atom _NET_WM_PID" ) ); + return; } m_tb_window = 0; diff --git a/app/SysTray-X/windowctrl-unix.h b/app/SysTray-X/windowctrl-unix.h index 473c2bf..bdcfdba 100644 --- a/app/SysTray-X/windowctrl-unix.h +++ b/app/SysTray-X/windowctrl-unix.h @@ -240,13 +240,6 @@ class WindowCtrlUnix : public QObject signals: - /** - * @brief signalDebugMessage. Signal a debug message. - * - * @param message The message. - */ - void signalDebugMessage( QString message ); - /** * @brief signalWindowNormal. Signal normal window. */ diff --git a/app/SysTray-X/windowctrl.cpp b/app/SysTray-X/windowctrl.cpp index 5dd46e4..cab5a2c 100644 --- a/app/SysTray-X/windowctrl.cpp +++ b/app/SysTray-X/windowctrl.cpp @@ -59,7 +59,7 @@ void WindowCtrl::slotWindowTest1() // findWindow( "- Mozilla Thunderbird" ); // displayWindowElements( "- Mozilla Thunderbird" ); // findWindow( 4313 ); - displayWindowElements( getWinId() ); +// displayWindowElements( getWinId() ); emit signalConsole("Test 1 done"); } @@ -71,8 +71,8 @@ void WindowCtrl::slotWindowTest2() // Do something. - findWindow( m_ppid ); - emit signalConsole( QString( "Hwnd ppid: %1" ).arg( getWinIds()[0] ) ); +// findWindow( m_ppid ); +// emit signalConsole( QString( "Hwnd ppid: %1" ).arg( getWinIds()[0] ) ); emit signalConsole("Test 2 done"); } @@ -84,8 +84,8 @@ void WindowCtrl::slotWindowTest3() // Do something. - emit signalConsole( QString( "Pid %1" ).arg( m_pid ) ); - emit signalConsole( QString( "Ppid %1" ).arg( m_ppid ) ); +// emit signalConsole( QString( "Pid %1" ).arg( m_pid ) ); +// emit signalConsole( QString( "Ppid %1" ).arg( m_ppid ) ); emit signalConsole("Test 3 done"); } @@ -143,8 +143,6 @@ void WindowCtrl::slotWindowState( QString state ) { hideWindow( getWinId(), m_hide_minimize ); } - - emit signalConsole( "New state: " + state ); } } @@ -157,22 +155,12 @@ void WindowCtrl::slotShowHide() if( m_state == "minimized" ) { m_state = "normal"; - normalizeWindow( getWinId() ); - - emit signalConsole("Normalize"); - -// emit signalWindowNormal(); // TB window control - - } else { + } + else + { m_state = "minimized"; - minimizeWindow( getWinId(), m_hide_minimize ); - - emit signalConsole("Minimize"); - -// emit signalWindowMinimize(); // TB window control - } } diff --git a/webext/background.html b/webext/background.html index d9387ec..8295beb 100644 --- a/webext/background.html +++ b/webext/background.html @@ -10,7 +10,7 @@

Background HTML

-
+
diff --git a/webext/background.js b/webext/background.js index b5ea22d..068ff88 100644 --- a/webext/background.js +++ b/webext/background.js @@ -1,5 +1,3 @@ -console.log("Starting background.js"); - var SysTrayX = { debugAccounts: false }; @@ -11,8 +9,6 @@ SysTrayX.Messaging = { ], init: function() { - console.log("Enabling Messaging"); - // Get the accounts from the storage SysTrayX.Messaging.getAccounts(); browser.storage.onChanged.addListener(SysTrayX.Messaging.storageChanged); @@ -37,14 +33,10 @@ SysTrayX.Messaging = { // Handle a storage change // storageChanged: function(changes, area) { - console.debug("Changes in store"); - // Get the new preferences SysTrayX.Messaging.getAccounts(); if ("addonprefchanged" in changes && changes["addonprefchanged"].newValue) { - console.debug("Sending preference"); - // // Send new preferences to the app // @@ -55,36 +47,28 @@ SysTrayX.Messaging = { addonprefchanged: false }); } - - /* - var changedItems = Object.keys(changes); - for (var item of changedItems) { - console.log(item + " has changed:"); - console.log("Old value: "); - console.log(changes[item].oldValue); - console.log("New value: "); - console.log(changes[item].newValue); - } -*/ }, // // Poll the accounts // pollAccounts: function() { - console.debug("Polling"); - // // Get the unread nessages of the selected accounts // const filtersDiv = document.getElementById("filters"); const filtersAttr = filtersDiv.getAttribute("data-filters"); - const filters = JSON.parse(filtersAttr); - if (filters.length > 0) { - SysTrayX.Messaging.unReadMessages(filters).then( - SysTrayX.Messaging.unreadCb - ); + if (filtersAttr !== "undefined") { + const filters = JSON.parse(filtersAttr); + + if (filters.length > 0) { + SysTrayX.Messaging.unReadMessages(filters).then( + SysTrayX.Messaging.unreadCb + ); + } else { + SysTrayX.Link.postSysTrayXMessage({ unreadMail: 0 }); + } } else { SysTrayX.Messaging.unReadMessages([{ unread: true }]).then( SysTrayX.Messaging.unreadCb @@ -127,8 +111,6 @@ SysTrayX.Messaging = { }, sendPreferences: function() { - console.debug("Send preferences"); - const getter = browser.storage.sync.get([ "debug", "hideOnMinimize", @@ -141,8 +123,6 @@ SysTrayX.Messaging = { }, sendPreferencesStorage: function(result) { - console.debug("Get preferences from storage"); - const debug = result.debug || "false"; const hideOnMinimize = result.hideOnMinimize || "true"; const startMinimized = result.startMinimized || "false"; @@ -150,13 +130,6 @@ SysTrayX.Messaging = { const iconMime = result.iconMime || "image/png"; const icon = result.icon || []; - console.log(`Debug ${debug}`); - console.log(`Debug ${hideOnMinimize}`); - console.log(`Debug ${startMinimized}`); - console.log(`Type ${iconType}`); - console.log(`Mime ${iconMime}`); - console.log(icon); - // Send it to the app SysTrayX.Link.postSysTrayXMessage({ preferences: { @@ -178,8 +151,6 @@ SysTrayX.Messaging = { // Get the accounts from the storage // getAccounts: function() { - console.debug("Get accounts"); - const getter = browser.storage.sync.get(["accounts", "filters"]); getter.then(this.getAccountsStorage, this.onGetAccountsStorageError); @@ -199,15 +170,13 @@ SysTrayX.Messaging = { // make them available in the background HTML // getAccountsStorage: function(result) { - console.debug("Get accounts from storage"); - - const accounts = result.accounts || []; + const accounts = result.accounts || undefined; // Store them in the background HTML const accountsDiv = document.getElementById("accounts"); accountsDiv.setAttribute("data-accounts", JSON.stringify(accounts)); - const filters = result.filters || []; + const filters = result.filters || undefined; // Store them in the background HTML const filtersDiv = document.getElementById("filters"); @@ -241,11 +210,7 @@ SysTrayX.Link = { }, receiveSysTrayXMessage: function(response) { - console.log(`Received: ${response}`); - if (response["window"]) { - console.log("Window received: " + response["window"]); - if (response["window"] === "minimized") { browser.windows.update(SysTrayX.Window.startWindow.id, { state: "minimized" @@ -266,8 +231,6 @@ SysTrayX.Link = { if (response["preferences"]) { // Store the preferences from the app - console.log("Preferences received"); - const iconMime = response["preferences"].iconMime; if (iconMime) { browser.storage.sync.set({ @@ -317,34 +280,15 @@ SysTrayX.Window = { startWindow: undefined, closed: function(windowId) { - // Window closed - console.debug("Shutting down"); - + // Window closed // Send it to the app SysTrayX.Link.postSysTrayXMessage({ shutdown: "true" }); }, focusChanged: function(windowId) { - console.debug("Win focus changed"); - browser.windows.getCurrent().then(win => { SysTrayX.Link.postSysTrayXMessage({ window: win.state }); }); - - /* - if (windowId === -1) { - // Assume minimized - SysTrayX.Link.postSysTrayXMessage({ - window: "minimized" - }); - } else { - browser.windows.get(windowId, function(win) { - SysTrayX.Link.postSysTrayXMessage({ - window: win.state - }); - }); - } -*/ } }; @@ -379,5 +323,3 @@ console.log("Starting SysTray-X"); // Start the add-on start(); - -console.log("End SysTray-X"); diff --git a/webext/js/defaults.js b/webext/js/defaults.js index d0ff9ac..0d1313e 100644 --- a/webext/js/defaults.js +++ b/webext/js/defaults.js @@ -49,9 +49,6 @@ async function getDefaultIcon() { const iconDiv = document.getElementById("icon"); iconDiv.setAttribute("data-icon-mime", iconMime); iconDiv.setAttribute("data-icon", iconBase64); - - console.debug("Default: " + iconMime); - console.debug("Default: " + iconBase64); } } diff --git a/webext/js/options_accounts.js b/webext/js/options_accounts.js index 5727e11..7978365 100644 --- a/webext/js/options_accounts.js +++ b/webext/js/options_accounts.js @@ -22,9 +22,9 @@ SysTrayX.Accounts = { let accounts = new Object(); for (let i = 0; i < mailAccount.length; i++) { - console.debug("SysTrayX accounts id: " + mailAccount[i].id); - console.debug("SysTrayX accounts name: " + mailAccount[i].name); - console.debug("SysTrayX accounts type: " + mailAccount[i].type); + // console.debug("SysTrayX accounts id: " + mailAccount[i].id); + // console.debug("SysTrayX accounts name: " + mailAccount[i].name); + // console.debug("SysTrayX accounts type: " + mailAccount[i].type); if (!accounts[mailAccount[i].type]) { accounts[mailAccount[i].type] = []; @@ -66,7 +66,9 @@ SysTrayX.Accounts = { typeInput.setAttribute("value", JSON.stringify(accounts[prop][i])); typeInput.setAttribute("checked", "true"); typeLi.appendChild(typeInput); - const typeText = document.createTextNode(" " + accounts[prop][i].name); + const typeText = document.createTextNode( + " " + accounts[prop][i].name + ); typeLi.appendChild(typeText); typeUl.appendChild(typeLi); } @@ -77,8 +79,6 @@ SysTrayX.Accounts = { // Restore saved selection function setAccounts(result) { - console.debug("Restore account selection"); - const treeBase = document.getElementById("accountsTree"); const accounts = result.accounts || []; for (let i = 0; i < accounts.length; ++i) { @@ -89,8 +89,6 @@ SysTrayX.Accounts = { checkbox.checked = accounts[i].checked; } } - - console.debug("Restore account selection done"); } function onError(error) { diff --git a/webext/js/options_iconform.js b/webext/js/options_iconform.js index 49f7dbe..0e23576 100644 --- a/webext/js/options_iconform.js +++ b/webext/js/options_iconform.js @@ -1,10 +1,10 @@ function fileSelected() { const input = document.getElementById("selectedFileIconType"); - if (input.files.length > 0) { - console.debug("Selected file: " + input.files[0].name); - console.debug("Selected file type: " + input.files[0].type); - } + // if (input.files.length > 0) { + // console.debug("Selected file: " + input.files[0].name); + // console.debug("Selected file type: " + input.files[0].type); + // } function storeFile() { const buffer = new Uint8Array(fr.result); @@ -21,9 +21,7 @@ function fileSelected() { iconDiv.setAttribute("data-icon-mime", input.files[0].type); const image = document.getElementById("customIconImage"); - image.setAttribute("src", `data:${input.files[0].type};base64,${base64}` ); - - console.log(base64); + image.setAttribute("src", `data:${input.files[0].type};base64,${base64}`); } fr = new FileReader(); diff --git a/webext/options.js b/webext/options.js index eb3261a..57e7710 100644 --- a/webext/options.js +++ b/webext/options.js @@ -4,14 +4,9 @@ SysTrayX.SaveOptions = { start: function(e) { e.preventDefault(); - console.debug("Save preferences"); - // // Save accounts and filters // - - console.debug("Store accounts and filters"); - const treeBase = document.getElementById("accountsTree"); const inputs = treeBase.querySelectorAll("input"); let accounts = []; @@ -25,9 +20,6 @@ SysTrayX.SaveOptions = { let inboxMailFolder = account.folders.find(obj => obj.type === "inbox"); if (inboxMailFolder) { - console.debug("Filter Id: " + inboxMailFolder.accountId); - console.debug("Filter Path: " + inboxMailFolder.path); - filters.push({ unread: true, folder: inboxMailFolder @@ -46,8 +38,6 @@ SysTrayX.SaveOptions = { filters: filters }); - console.debug("Store accounts and filters done"); - // // Save debug state // @@ -55,7 +45,6 @@ SysTrayX.SaveOptions = { browser.storage.sync.set({ debug: `${debug}` }); - console.debug("Store debug state: " + `${debug}`); // // Save hide on minimize state @@ -65,7 +54,6 @@ SysTrayX.SaveOptions = { browser.storage.sync.set({ hideOnMinimize: `${hideOnMinimize}` }); - console.debug("Store hideOnMinimize state: " + `${hideOnMinimize}`); // // Save start minimized state @@ -75,14 +63,10 @@ SysTrayX.SaveOptions = { browser.storage.sync.set({ startMinimized: `${startMinimized}` }); - console.debug("Store startMinimized state: " + `${startMinimized}`); // // Save icon preferences // - - console.debug("Store icon preferences"); - const iconType = document.querySelector('input[name="iconType"]:checked') .value; @@ -101,8 +85,6 @@ SysTrayX.SaveOptions = { icon: iconBase64 }); - console.debug("Store icon preferences done"); - // Mark add-on preferences changed browser.storage.sync.set({ addonprefchanged: true @@ -112,10 +94,6 @@ SysTrayX.SaveOptions = { SysTrayX.RestoreOptions = { start: function() { - console.debug("Restore preferences"); - - console.debug("Restore icon preferences"); - // // Restore debug state // @@ -160,8 +138,6 @@ SysTrayX.RestoreOptions = { SysTrayX.RestoreOptions.setIcon, SysTrayX.RestoreOptions.onIconError ); - - console.debug("Restore icon preferences done"); }, // @@ -170,8 +146,6 @@ SysTrayX.RestoreOptions = { setDebug: function(result) { const debug = result.debug || "false"; - console.debug("Debug: " + debug); - const checkbox = document.querySelector(`input[name="debug"]`); checkbox.checked = debug === "true"; }, @@ -186,8 +160,6 @@ SysTrayX.RestoreOptions = { setHideOnMinimize: function(result) { const hideOnMinimize = result.hideOnMinimize || "true"; - console.debug("hideOnMinimize: " + hideOnMinimize); - const checkbox = document.querySelector(`input[name="hideOnMinimize"]`); checkbox.checked = hideOnMinimize === "true"; }, @@ -202,8 +174,6 @@ SysTrayX.RestoreOptions = { setStartMinimized: function(result) { const startMinimized = result.startMinimized || "false"; - console.debug("startMinimized: " + startMinimized); - const checkbox = document.querySelector(`input[name="startMinimized"]`); checkbox.checked = startMinimized === "true"; },