Browse Source

Split fullscreen and modeswitch controls

Rodger Combs 7 years ago
parent
commit
d7dde160fe
4 changed files with 12 additions and 28 deletions
  1. 4 4
      resources/inputmaps/keyboard.json
  2. 4 20
      src/ui/KonvergoWindow.cpp
  3. 2 2
      src/ui/KonvergoWindow.h
  4. 2 2
      src/ui/webview.qml

+ 4 - 4
resources/inputmaps/keyboard.json

@@ -51,11 +51,11 @@
     "Ctrl\\+W": "host:quit",
 
     // application shortcuts
-    "Ctrl\\+Shift\\+F": "host:fullscreen",
-    "Meta\\+Ctrl\\+F": "host:fullscreenCurrentMode",
-    "Meta\\+Enter": "host:fullscreen",
+    "Ctrl\\+Shift\\+F": "host:toggleWebMode",
+    "Meta\\+Ctrl\\+F": "host:fullscreen",
+    "Meta\\+Enter": "host:toggleWebMode",
     "F11": "host:fullscreen",
-    "Shift\\+F11": "host:fullscreenCurrentMode",
+    "Shift\\+F11": "host:fullscreen",
     "Ctrl\\+Q": "host:close",
     "Ctrl\\+Shift\\+R": "host:reload",
     "Ctrl\\+Shift\\+D": "host:toggleDebug",

+ 4 - 20
src/ui/KonvergoWindow.cpp

@@ -57,7 +57,7 @@ KonvergoWindow::KonvergoWindow(QWindow* parent) :
   InputComponent::Get().registerHostCommand("reload", this, "reloadWeb");
   InputComponent::Get().registerHostCommand("fullscreen", this, "toggleFullscreen");
   InputComponent::Get().registerHostCommand("minimize", this, "minimizeWindow");
-  InputComponent::Get().registerHostCommand("fullscreenCurrentMode", this, "toggleFullscreenNoSwitch");
+  InputComponent::Get().registerHostCommand("switchMode", this, "toggleWebMode");
 
 #ifdef TARGET_RPI
   // On RPI, we use dispmanx layering - the video is on a layer below Konvergo,
@@ -315,16 +315,12 @@ void KonvergoWindow::setFullScreen(bool enable)
 }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
-void KonvergoWindow::toggleFullscreen(bool noSwitchMode)
+void KonvergoWindow::toggleWebMode()
 {
-  bool switchMode = (SettingsComponent::Get().value(SETTINGS_SECTION_MAIN, "layout").toString() == "auto" && !noSwitchMode);
-
-  if (switchMode && !m_webDesktopMode && isFullScreen())
+  if (!m_webDesktopMode)
     SettingsComponent::Get().setValue(SETTINGS_SECTION_MAIN, "webMode", "desktop");
-  else if (switchMode && m_webDesktopMode && !isFullScreen())
-    SettingsComponent::Get().setValue(SETTINGS_SECTION_MAIN, "webMode", "tv");
   else
-    setFullScreen(!isFullScreen());
+    SettingsComponent::Get().setValue(SETTINGS_SECTION_MAIN, "webMode", "tv");
 }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -391,17 +387,6 @@ void KonvergoWindow::updateMainSectionSettings(const QVariantMap& values)
     }
     else
     {
-      bool oldFullscreen = SettingsComponent::Get().value(SETTINGS_SECTION_MAIN, "fullscreen").toBool();
-      bool newFullscreen = oldFullscreen;
-
-      if (oldDesktopMode && !newDesktopMode)
-        newFullscreen = true;
-      else if (!oldDesktopMode && newDesktopMode)
-        newFullscreen = false;
-
-      if (oldFullscreen != newFullscreen)
-        SettingsComponent::Get().setValue(SETTINGS_SECTION_MAIN, "fullscreen", newFullscreen);
-
       if (oldDesktopMode != newDesktopMode)
       {
         QTimer::singleShot(0, [this, newDesktopMode]
@@ -413,7 +398,6 @@ void KonvergoWindow::updateMainSectionSettings(const QVariantMap& values)
 
           if (m_webDesktopMode)
             SystemComponent::Get().setCursorVisibility(true);
-          updateWindowState();
         });
       }
     }

+ 2 - 2
src/ui/KonvergoWindow.h

@@ -66,9 +66,9 @@ public:
 
   Q_SLOT void toggleDebug();
 
-  Q_SLOT void toggleFullscreen(bool noSwitchMode = false);
+  Q_SLOT void toggleFullscreen() { setFullScreen(!isFullScreen()); }
 
-  Q_SLOT void toggleFullscreenNoSwitch() { toggleFullscreen(true); }
+  Q_SLOT void toggleWebMode();
 
   Q_SLOT void toggleAlwaysOnTop()
   {

+ 2 - 2
src/ui/webview.qml

@@ -26,7 +26,7 @@ KonvergoWindow
       if (components.system.isMacos) return "Ctrl+Shift+F";
       return "F11";
     }
-    onTriggered: mainWindow.toggleFullscreen()
+    onTriggered: mainWindow.toggleWebMode()
   }
 
   Action
@@ -37,7 +37,7 @@ KonvergoWindow
       if (components.system.isMacos) return "Ctrl+Meta+F"
       return "Shift+F11"
     }
-    onTriggered: mainWindow.toggleFullscreenNoSwitch()
+    onTriggered: mainWindow.toggleFullscreen()
   }
 
   Action