NotifierWindowTab::NotifierWindowTab(KviWindow * pWnd, QTabWidget * pParent) : QScrollArea(pParent) { m_pWnd = pWnd; if(m_pWnd) { m_szLabel = m_pWnd->windowName(); connect(pWnd, SIGNAL(windowNameChanged()), this, SLOT(labelChanged())); connect(pWnd, SIGNAL(destroyed()), this, SLOT(closeMe())); } else { m_szLabel = "----"; } if(pParent) { m_pParent = pParent; m_pParent->addTab(this, m_szLabel); } setFocusPolicy(Qt::NoFocus); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); if(verticalScrollBar()) connect(verticalScrollBar(), SIGNAL(rangeChanged(int, int)), this, SLOT(scrollRangeChanged(int, int))); QPalette pal = palette(); pal.setColor(backgroundRole(), Qt::transparent); setPalette(pal); m_pVWidget = new QWidget(viewport()); m_pVBox = new QVBoxLayout(m_pVWidget); m_pVBox->setSizeConstraint(QLayout::SetFixedSize); m_pVBox->setSpacing(SPACING); m_pVBox->setMargin(SPACING); setWidget(m_pVWidget); }
void KviWindow::setWindowName(const QString & szName) { m_szName = szName; setObjectName(szName); emit windowNameChanged(); }
WindowsModel::WindowsModel (QObject *parent) : QAbstractItemModel (parent) , CurrentDesktop_ (Util::XWrapper::Instance ().GetCurrentDesktop ()) , ImageProvider_ (new TaskbarImageProvider (QIcon::fromTheme ("xorg"))) { auto& w = Util::XWrapper::Instance (); auto windows = w.GetWindows (); for (auto wid : windows) AddWindow (wid, w); connect (&w, SIGNAL (windowListChanged ()), this, SLOT (updateWinList ())); connect (&w, SIGNAL (activeWindowChanged ()), this, SLOT (updateActiveWindow ())); connect (&w, SIGNAL (windowNameChanged (ulong)), this, SLOT (updateWindowName (ulong))); connect (&w, SIGNAL (windowIconChanged (ulong)), this, SLOT (updateWindowIcon (ulong))); connect (&w, SIGNAL (windowStateChanged (ulong)), this, SLOT (updateWindowState (ulong))); connect (&w, SIGNAL (windowActionsChanged (ulong)), this, SLOT (updateWindowActions (ulong))); connect (&w, SIGNAL (windowDesktopChanged (ulong)), this, SLOT (updateWindowDesktop (ulong))); connect (&w, SIGNAL (desktopChanged ()), this, SLOT (updateCurrentDesktop ())); QHash<int, QByteArray> roleNames; roleNames [Role::WindowName] = "windowName"; roleNames [Role::WindowID] = "windowID"; roleNames [Role::IconGenID] = "iconGenID"; roleNames [Role::IsCurrentDesktop] = "isCurrentDesktop"; roleNames [Role::IsActiveWindow] = "isActiveWindow"; roleNames [Role::IsMinimizedWindow] = "isMinimizedWindow"; setRoleNames (roleNames); int eventBase, errorBase; if (XCompositeQueryExtension (w.GetDisplay (), &eventBase, &errorBase)) { int major = 0, minor = 2; XCompositeQueryVersion (w.GetDisplay (), &major, &minor); if (major > 0 || minor >= 2) qDebug () << "all good, has NamePixmap"; } }