[X2Go-Commits] [x2gokdriveclient] 01/01: Show in Windows taskbar only normal and dialog windows.
git-admin at x2go.org
git-admin at x2go.org
Wed Feb 16 21:11:36 CET 2022
This is an automated email from the git hooks/post-receive script.
x2go pushed a commit to branch feature/rootless-mode
in repository x2gokdriveclient.
commit 7146a6f77a3df917693adfe8fee645bd97b9a3fd
Author: Oleksandr Shneyder <o.shneyder at phoca-gmbh.de>
Date: Wed Feb 16 14:11:29 2022 -0600
Show in Windows taskbar only normal and dialog windows.
---
client.cpp | 5 ++---
extwin.cpp | 22 ++++++++++++++++++++--
extwin.h | 6 ++++--
3 files changed, 26 insertions(+), 7 deletions(-)
diff --git a/client.cpp b/client.cpp
index b19b3fd..40bdbc7 100644
--- a/client.cpp
+++ b/client.cpp
@@ -1252,7 +1252,7 @@ void Client::getWinUpdateBuffer()
if(parId==0)
{
// KDRStdErr()<<"win is top window: "<<KDR_HEX<<parId;
- win=new ExtWin(extWinId,this, 0, flags);
+ win=new ExtWin(extWinId,this, 0, winType, flags);
win->setParent(0);
}
else
@@ -1264,7 +1264,7 @@ void Client::getWinUpdateBuffer()
KDRStdErr()<<"parent Win not found in list: "<<KDR_HEX<<parId;
parentWin=(ExtWin*) this;
}
- win=new ExtWin(extWinId,this, 0,flags);
+ win=new ExtWin(extWinId,this, 0, winType, flags);
win->setParent(0);
}
if(transWinId)
@@ -1288,7 +1288,6 @@ void Client::getWinUpdateBuffer()
}
// KDRStdErr()<<"my Geometry: "<<KDR_HEX<<QRectToStr(win->geometry());
- win->setWindowType(winType);
win->setParentId(parId);
// KDRStdErr()<<"Place above"<<KDR_HEX<<nextSibPtr;
diff --git a/extwin.cpp b/extwin.cpp
index dab59d6..14c3e24 100644
--- a/extwin.cpp
+++ b/extwin.cpp
@@ -26,7 +26,7 @@
#include <QScreen>
-ExtWin::ExtWin(uint32_t extWinId, Client *client, QWidget* parent, Qt::WindowFlags flags): QMainWindow(parent, flags)
+ExtWin::ExtWin(uint32_t extWinId, Client *client, QWidget* parent, uint8_t wt, Qt::WindowFlags flags): QMainWindow(parent, flags)
{
displayArea=new DisplayArea((Client*)client,this);
displayArea->setObjectName("DisplayArea");
@@ -36,7 +36,11 @@ ExtWin::ExtWin(uint32_t extWinId, Client *client, QWidget* parent, Qt::WindowFla
setWindowIcon(QIcon(":res/x2goclient.png"));
this->extWinId=extWinId;
this->client=client;
-// QTimer::singleShot(10,this,SLOT(update()));
+ windowType=wt;
+#ifdef Q_OS_WIN
+ if((windowType!=WINDOW_TYPE_NORMAL) && (windowType!=WINDOW_TYPE_DIALOG))
+ QTimer::singleShot(10,this,SLOT(slotSetTaskbar()));
+#endif
#ifdef Q_OS_LINUX
switch(windowType)
{
@@ -60,6 +64,20 @@ ExtWin::ExtWin(uint32_t extWinId, Client *client, QWidget* parent, Qt::WindowFla
setFocusPolicy(Qt::NoFocus);
}
+#ifdef Q_OS_WIN
+void ExtWin::slotSetTaskbar()
+{
+ HWND hWnd=(HWND)winId();
+// Client::KDRStdErr()<<"HWND "<<hWnd<<KDR_ENDL;
+ if(hWnd)
+ {
+ long style= GetWindowLong(hWnd, GWL_EXSTYLE);
+ style |= WS_EX_TOOLWINDOW;
+ SetWindowLong(hWnd, GWL_EXSTYLE, style);
+ }
+}
+#endif
+
void ExtWin::setWinSize(int w, int h)
{
displayArea->resize(w,h);
diff --git a/extwin.h b/extwin.h
index 7bf6c4f..c87b982 100644
--- a/extwin.h
+++ b/extwin.h
@@ -34,7 +34,7 @@ class ExtWin : public QMainWindow
Q_OBJECT
public:
enum {MOD_NONE,MOD_SINGLE, MOD_GROUP};
- ExtWin(uint32_t extWinId, Client *client, QWidget* parent, Qt::WindowFlags flags = Qt::WindowFlags());
+ ExtWin(uint32_t extWinId, Client *client, QWidget* parent, uint8_t wt, Qt::WindowFlags flags = Qt::WindowFlags());
uint32_t getPtr(){return extWinId;}
void setWinSize(int w, int h);
void setParentId(uint32_t id){parentId=id;}
@@ -78,7 +78,9 @@ private:
private slots:
void slotCheckStackOrder();
-
+#ifdef Q_OS_WIN
+ void slotSetTaskbar();
+#endif
protected:
void closeEvent(QCloseEvent*);
void resizeEvent(QResizeEvent*);
--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/x2gokdriveclient.git
More information about the x2go-commits
mailing list