DesktopList::DesktopList(QWidget* parent) :QWidget(parent) { imgDesktop.load(":/desktop.png"); imgDeskAll.load(":/desktop-all.png"); imgLogo.load(":/logo.png"); mDesktopFont = QFont("DejaVu Sans", 8); setMinimumHeight(128); setMaximumHeight(128); mItemWidth = imgDesktop.width(); mItemRect = QRectF(0.0f, 0.0f, mItemWidth, height() - 24.0f); //mSlideRect = QRectF(0.0f, 0.0f, 0.0f, 0.0f); pTimer = new QTimer(this); pTimer->setInterval(dt * 1000); connect(pTimer, SIGNAL(timeout()), this, SLOT(sync())); connect(KWindowSystem::self(), SIGNAL(desktopNamesChanged()), this, SLOT(deskNameChanged())); connect(KWindowSystem::self(), SIGNAL(numberOfDesktopsChanged(int)), this, SLOT(deskCountChanged())); minside = false; mpointer = QPointF(0.0f, 0.0f); mpivot = QPointF(0.0f, 0.0f); index = 0; updateitems(); pTimer->start(); setMouseTracking(true); }
DesktopSwitch::DesktopSwitch(const ILXQtPanelPluginStartupInfo &startupInfo) : QObject(), ILXQtPanelPlugin(startupInfo), m_pSignalMapper(new QSignalMapper(this)), m_desktopCount(KWindowSystem::numberOfDesktops()), mRows(-1), mDesktops(new NETRootInfo(QX11Info::connection(), NET::NumberOfDesktops | NET::CurrentDesktop | NET::DesktopNames, NET::WM2DesktopLayout)), mLabelType(static_cast<DesktopSwitchButton::LabelType>(-1)) { m_buttons = new QButtonGroup(this); connect (m_pSignalMapper, SIGNAL(mapped(int)), this, SLOT(setDesktop(int))); mLayout = new LXQt::GridLayout(&mWidget); mWidget.setLayout(mLayout); settingsChanged(); onCurrentDesktopChanged(KWindowSystem::currentDesktop()); QTimer::singleShot(0, this, SLOT(registerShortcuts())); connect(m_buttons, SIGNAL(buttonClicked(int)), this, SLOT(setDesktop(int))); connect(KWindowSystem::self(), SIGNAL(numberOfDesktopsChanged(int)), SLOT(onNumberOfDesktopsChanged(int))); connect(KWindowSystem::self(), SIGNAL(currentDesktopChanged(int)), SLOT(onCurrentDesktopChanged(int))); connect(KWindowSystem::self(), SIGNAL(desktopNamesChanged()), SLOT(onDesktopNamesChanged())); connect(KWindowSystem::self(), static_cast<void (KWindowSystem::*)(WId, NET::Properties, NET::Properties2)>(&KWindowSystem::windowChanged), this, &DesktopSwitch::onWindowChanged); }
KPager::KPager(KPagerMainWindow *parent, const char *name) : QFrame (parent, name, WStyle_Customize | WStyle_NoBorder | WStyle_Tool) , m_layout(0) , m_mnu(0) , m_smnu(0) , m_dmnu(0) { m_windows.setAutoDelete(true); // delete windows info after removal setBackgroundColor( black ); m_winmodule=new KWinModule(this); m_currentDesktop=m_winmodule->currentDesktop(); m_grabWinTimer=new QTimer(this,"grabWinTimer"); connect(m_grabWinTimer, SIGNAL(timeout()), this, SLOT(slotGrabWindows())); KPagerConfigDialog::initConfiguration(); KConfig *cfg = kapp->config(); cfg->setGroup("KPager"); m_showStickyOption=cfg->readBoolEntry("ShowStickyOption",false); int numberOfDesktops=m_winmodule->numberOfDesktops(); for (int i=0;i<numberOfDesktops;i++) { Desktop *dsk=new Desktop(i+1,m_winmodule->desktopName(i),this); m_desktops.append(dsk); } m_layoutType=static_cast<enum KPager::LayoutTypes>( KPagerConfigDialog::m_layoutType ); connect( m_winmodule, SIGNAL( activeWindowChanged(WId)), SLOT(slotActiveWindowChanged(WId))); connect( m_winmodule, SIGNAL( windowAdded(WId) ), SLOT( slotWindowAdded(WId) ) ); connect( m_winmodule, SIGNAL( windowRemoved(WId) ), SLOT( slotWindowRemoved(WId) ) ); connect( m_winmodule, SIGNAL( windowChanged(WId,unsigned int) ), SLOT( slotWindowChanged(WId,unsigned int) ) ); connect( m_winmodule, SIGNAL( stackingOrderChanged() ), SLOT( slotStackingOrderChanged() ) ); connect( m_winmodule, SIGNAL( desktopNamesChanged() ), SLOT( slotDesktopNamesChanged() ) ); connect( m_winmodule, SIGNAL( numberOfDesktopsChanged(int) ), SLOT( slotNumberOfDesktopsChanged(int) ) ); connect( m_winmodule, SIGNAL( currentDesktopChanged(int)), SLOT( slotCurrentDesktopChanged(int) ) ); connect(kapp, SIGNAL(backgroundChanged(int)), SLOT(slotBackgroundChanged(int))); QFont defFont(KGlobalSettings::generalFont().family(), 10, QFont::Bold); defFont = cfg->readFontEntry("Font", &defFont); setFont(defFont); m_prefs_action = KStdAction::preferences(this, SLOT(configureDialog()), parent->actionCollection()); m_quit_action = KStdAction::quit(kapp, SLOT(quit()), parent->actionCollection()); updateLayout(); }