コード例 #1
0
ファイル: startupid.cpp プロジェクト: fluxer/kde-workspace
StartupId::StartupId( QWidget* parent, const char* name )
    :   QWidget( parent ),
        startup_info( KStartupInfo::CleanOnCantDetect ),
        startup_window( None ),
        blinking( true ),
        bouncing( false ),
        selection_watcher( new KSelectionWatcher( "_KDE_STARTUP_FEEDBACK", -1, this ))
    {
        setObjectName( QLatin1String( name ) );
    hide(); // is QWidget only because of x11Event()
    if( kde_startup_status == StartupPre )
        {
        kde_splash_progress = XInternAtom( QX11Info::display(), "_KDE_SPLASH_PROGRESS", False );
        XWindowAttributes attrs;
        XGetWindowAttributes( QX11Info::display(), QX11Info::appRootWindow(), &attrs);
        XSelectInput( QX11Info::display(), QX11Info::appRootWindow(), attrs.your_event_mask | SubstructureNotifyMask);
        kapp->installX11EventFilter( this );
        }
    update_timer.setSingleShot( true );
    connect( &update_timer, SIGNAL(timeout()), SLOT(update_startupid()));
    connect( &startup_info,
        SIGNAL(gotNewStartup(KStartupInfoId,KStartupInfoData)),
        SLOT(gotNewStartup(KStartupInfoId,KStartupInfoData)));
    connect( &startup_info,
        SIGNAL(gotStartupChange(KStartupInfoId,KStartupInfoData)),
        SLOT(gotStartupChange(KStartupInfoId,KStartupInfoData)));
    connect( &startup_info,
        SIGNAL(gotRemoveStartup(KStartupInfoId,KStartupInfoData)),
        SLOT(gotRemoveStartup(KStartupInfoId)));
    connect( selection_watcher, SIGNAL(newOwner(Window)), SLOT(newOwner()));
    connect( selection_watcher, SIGNAL(lostOwner()), SLOT(lostOwner()));
    active_selection = ( selection_watcher->owner() != None );
    }
コード例 #2
0
StartupFeedbackEffect::StartupFeedbackEffect()
    : m_startupInfo(new KStartupInfo(KStartupInfo::CleanOnCantDetect, this))
    , m_selection(new KSelectionOwner("_KDE_STARTUP_FEEDBACK", -1, this))
    , m_active(false)
    , m_frame(0)
    , m_progress(0)
    , m_texture(0)
    , m_type(BouncingFeedback)
    , m_blinkingShader(0)
{
    for (int i = 0; i < 5; ++i) {
        m_bouncingTextures[i] = 0;
    }
    m_selection->claim(true);
    connect(m_startupInfo, SIGNAL(gotNewStartup(KStartupInfoId,KStartupInfoData)), SLOT(gotNewStartup(KStartupInfoId,KStartupInfoData)));
    connect(m_startupInfo, SIGNAL(gotRemoveStartup(KStartupInfoId,KStartupInfoData)), SLOT(gotRemoveStartup(KStartupInfoId,KStartupInfoData)));
    connect(m_startupInfo, SIGNAL(gotStartupChange(KStartupInfoId,KStartupInfoData)), SLOT(gotStartupChange(KStartupInfoId,KStartupInfoData)));
    connect(effects, SIGNAL(mouseChanged(QPoint,QPoint,Qt::MouseButtons,Qt::MouseButtons,Qt::KeyboardModifiers,Qt::KeyboardModifiers)),
            this, SLOT(slotMouseChanged(QPoint,QPoint,Qt::MouseButtons,Qt::MouseButtons,Qt::KeyboardModifiers,Qt::KeyboardModifiers)));
    reconfigure(ReconfigureAll);
}