Răsfoiți Sursa

Remove Qt focus frame from various controls

Palana 11 ani în urmă
părinte
comite
2aa4c1665a
1 a modificat fișierele cu 16 adăugiri și 0 ștergeri
  1. 16 0
      obs/obs-app.cpp

+ 16 - 0
obs/obs-app.cpp

@@ -21,6 +21,8 @@
 #include <util/platform.h>
 #include <util/platform.h>
 #include <obs.hpp>
 #include <obs.hpp>
 
 
+#include <QProxyStyle>
+
 #include "qt-wrappers.hpp"
 #include "qt-wrappers.hpp"
 #include "obs-app.hpp"
 #include "obs-app.hpp"
 #include "window-basic-main.hpp"
 #include "window-basic-main.hpp"
@@ -259,6 +261,19 @@ void OBSApp::OBSInit()
 	mainWindow->OBSInit();
 	mainWindow->OBSInit();
 }
 }
 
 
+struct NoFocusFrameStyle : QProxyStyle
+{
+	void drawControl(ControlElement element, const QStyleOption *option,
+			QPainter *painter, const QWidget *widget=nullptr)
+		const override
+	{
+		if (element == CE_FocusFrame)
+			return;
+
+		QProxyStyle::drawControl(element, option, painter, widget);
+	}
+};
+
 int main(int argc, char *argv[])
 int main(int argc, char *argv[])
 {
 {
 	int ret = -1;
 	int ret = -1;
@@ -267,6 +282,7 @@ int main(int argc, char *argv[])
 
 
 	try {
 	try {
 		OBSApp program(argc, argv);
 		OBSApp program(argc, argv);
+		program.setStyle(new NoFocusFrameStyle);
 		program.OBSInit();
 		program.OBSInit();
 		ret = program.exec();
 		ret = program.exec();