void StartupId::gotRemoveStartup( const KStartupInfoId& id_P ) { startups.remove( id_P ); if( startups.count() == 0 ) { current_startup = KStartupInfoId(); // null if( kde_startup_status == StartupIn ) start_startupid( KDE_STARTUP_ICON ); else stop_startupid(); return; } current_startup = startups.begin().key(); start_startupid( startups[ current_startup ] ); }
void StartupId::gotNewStartup( const KStartupInfoId& id_P, const KStartupInfoData& data_P ) { QString icon = data_P.findIcon(); current_startup = id_P; startups[ id_P ] = icon; start_startupid( icon ); }
void StartupId::gotNewStartup( const KStartupInfoId& id_P, const KStartupInfoData& data_P ) { if( active_selection ) return; QString icon = data_P.findIcon(); current_startup = id_P; startups[ id_P ] = icon; start_startupid( icon ); }
void StartupId::gotStartupChange( const KStartupInfoId& id_P, const KStartupInfoData& data_P ) { if( current_startup == id_P ) { QString icon = data_P.findIcon(); if( !icon.isEmpty() && icon != startups[ current_startup ] ) { startups[ id_P ] = icon; start_startupid( icon ); } } }
bool StartupId::x11Event( XEvent* e ) { if( e->type == ClientMessage && e->xclient.window == qt_xrootwin() && e->xclient.message_type == kde_splash_progress ) { const char* s = e->xclient.data.b; if( strcmp( s, "kicker" ) == 0 && kde_startup_status == StartupPre ) { kde_startup_status = StartupIn; if( startups.count() == 0 ) start_startupid( KDE_STARTUP_ICON ); // 60(?) sec timeout - shouldn't be hopefully needed anyway, ksmserver should have it too QTimer::singleShot( 60000, this, SLOT( finishKDEStartup())); } else if( strcmp( s, "session ready" ) == 0 && kde_startup_status < StartupDone ) QTimer::singleShot( 2000, this, SLOT( finishKDEStartup())); } return false; }