diff --git a/app/SysTray-X/preferences.ui b/app/SysTray-X/preferences.ui index f04ceb2..8e7c6a3 100644 --- a/app/SysTray-X/preferences.ui +++ b/app/SysTray-X/preferences.ui @@ -6,8 +6,8 @@ 0 0 - 692 - 310 + 676 + 278 @@ -20,172 +20,6 @@ - - - - Windows - - - - - - - - Default minimize - - - false - - - minimizeTypeGroup - - - - - - - Minimize to tray, method 1 - - - true - - - minimizeTypeGroup - - - - - - - Minimize to tray, method 2 - - - minimizeTypeGroup - - - - - - - - - Start application minimized - - - - - - - - - - Mail notification icon - - - - - - - - QLayout::SetFixedSize - - - - - Blank icon - - - true - - - iconTypeGroup - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - QLayout::SetFixedSize - - - - - New mail icon - - - iconTypeGroup - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - QLayout::SetMaximumSize - - - - - Custom icon - - - iconTypeGroup - - - - - - - - - - - - - - Choose - - - false - - - - - - - - - - @@ -299,6 +133,181 @@ + + + + Mail notification icon + + + + + + + + QLayout::SetFixedSize + + + + + Blank icon + + + true + + + iconTypeGroup + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + QLayout::SetFixedSize + + + + + New mail icon + + + iconTypeGroup + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + QLayout::SetMaximumSize + + + + + Custom icon + + + iconTypeGroup + + + + + + + + + + + + + + Choose + + + false + + + + + + + + + + + + + + Windows + + + + + + + + Minimize + + + + + + Default minimize + + + false + + + minimizeTypeGroup + + + + + + + Minimize to tray, method 1 + + + true + + + minimizeTypeGroup + + + + + + + Minimize to tray, method 2 + + + minimizeTypeGroup + + + + + + + + + + Start application minimized + + + + + + + + diff --git a/app/SysTray-X/windowctrl-unix.cpp b/app/SysTray-X/windowctrl-unix.cpp index 2233d32..4b3fdb2 100644 --- a/app/SysTray-X/windowctrl-unix.cpp +++ b/app/SysTray-X/windowctrl-unix.cpp @@ -286,28 +286,9 @@ void WindowCtrlUnix::minimizeWindow( quint64 window, int hide ) return; } - switch( hide ) - { - case Preferences::PREF_MINIMIZE_METHOD_1: - { - hideWindowEvent( window, hide ); - break; - } - - case Preferences::PREF_MINIMIZE_METHOD_2: - { - hideWindowAtom( window, hide ); - break; - } - - default: - { - break; - } - } + hideWindow( window, hide ); XIconifyWindow( m_display, static_cast( window ), m_screen ); - XFlush( m_display ); } @@ -317,7 +298,7 @@ void WindowCtrlUnix::minimizeWindow( quint64 window, int hide ) */ void WindowCtrlUnix::hideWindow( quint64 window, int set ) { - switch( set ) + switch( m_minimize_type ) { case Preferences::PREF_MINIMIZE_METHOD_1: { @@ -339,7 +320,6 @@ void WindowCtrlUnix::hideWindow( quint64 window, int set ) } - /* * Normalize a window */ diff --git a/app/SysTray-X/windowctrl.cpp b/app/SysTray-X/windowctrl.cpp index 983340e..91ac256 100644 --- a/app/SysTray-X/windowctrl.cpp +++ b/app/SysTray-X/windowctrl.cpp @@ -71,13 +71,12 @@ void WindowCtrl::slotWindowTest2() { emit signalConsole("Test 2 started"); - // Do something. + // Do something. + hideWindow( getWinId(), true ); // findWindow( m_ppid ); // emit signalConsole( QString( "Hwnd ppid: %1" ).arg( getWinIds()[0] ) ); - hideWindow( getWinId(), true ); - emit signalConsole("Test 2 done"); } diff --git a/webext/background.js b/webext/background.js index 7ff9f76..aba7cfc 100644 --- a/webext/background.js +++ b/webext/background.js @@ -382,10 +382,16 @@ async function start() { SysTrayX.platformInfo = await browser.runtime .getPlatformInfo() .then((info) => info); + console.log("OS: " + SysTrayX.platformInfo.os); console.log("Arch: " + SysTrayX.platformInfo.arch); console.log("Nack-Arch: " + SysTrayX.platformInfo.nacl_arch); + // Store platform info + browser.storage.sync.set({ + platformInfo: SysTrayX.platformInfo, + }); + // Get addon version SysTrayX.version = browser.runtime.getManifest().version; console.log("Addon version: " + SysTrayX.version); diff --git a/webext/css/options.css b/webext/css/options.css index ce55cdf..6ca9904 100644 --- a/webext/css/options.css +++ b/webext/css/options.css @@ -63,14 +63,14 @@ body { #minimizeselect { border-style: solid; border-width: 1px; - margin: 10px 10px 10px 10px; + margin: 10px 10px 10px 10px; padding: 10px 10px 10px 10px; } #iconselect { border-style: solid; border-width: 1px; - margin: 10px 10px 10px 10px; + margin: 10px 10px 10px 10px; padding: 10px 10px 10px 10px; } diff --git a/webext/options.js b/webext/options.js index 5f4a3c4..c142467 100644 --- a/webext/options.js +++ b/webext/options.js @@ -150,7 +150,10 @@ SysTrayX.RestoreOptions = { // // Restore minimize type // - const getMinimizeType = browser.storage.sync.get("minimizeType"); + const getMinimizeType = browser.storage.sync.get([ + "platformInfo", + "minimizeType", + ]); getMinimizeType.then( SysTrayX.RestoreOptions.setMinimizeType, SysTrayX.RestoreOptions.onMinimizeTypeError @@ -238,7 +241,22 @@ SysTrayX.RestoreOptions = { // Restore minimize type callbacks // setMinimizeType: function (result) { + const platformInfo = result.platformInfo || { os: "linux" }; const minimizeType = result.minimizeType || "1"; + + // Tweak option for platform + if (platformInfo.os === "win") { + document.getElementById("minimizemethod1label").innerHTML = + "Minimize to tray"; + document + .getElementById("minimizemethod2") + .setAttribute("style", "display:none;"); + + if (minimizeType === "2") { + minimizeType = "1"; + } + } + const radioButton = document.querySelector( `input[name="minimizeType"][value="${minimizeType}"]` ); @@ -461,27 +479,6 @@ SysTrayX.StorageChanged = { // Main // -// Set platform -//SysTrayX.platformInfo = await browser.runtime -// .getPlatformInfo() -// .then((info) => info); -/* -// Tweak options for platform -if (SysTrayX.platformInfo.os === "win") { - console.debug("Win"); -} - -if (SysTrayX.platformInfo.os === "linux") { - console.debug("Linux"); -} -*/ - -document.getElementById("minimizemethod1label").innerHTML = - "Minimize to tray"; -document - .getElementById("minimizemethod2") - .setAttribute("style", "display:none;"); - // Get addon version SysTrayX.version = browser.runtime.getManifest().version; document.getElementById("VersioHomeLink").href = @@ -493,4 +490,3 @@ document .addEventListener("submit", SysTrayX.SaveOptions.start); browser.storage.onChanged.addListener(SysTrayX.StorageChanged.changed); -