void LDesktop::UpdateDesktop(){ qDebug() << " - Update Desktop"; QStringList plugins = settings->value(DPREFIX+"pluginlist", QStringList()).toStringList(); if(defaultdesktop && plugins.isEmpty()){ plugins << "desktopview"; } for(int i=0; i<plugins.length(); i++){ //See if this plugin is already there LDPlugin *plug = 0; for(int p=0; p<PLUGINS.length(); p++){ if(PLUGINS[p]->type()==plugins[i]){ plug = PLUGINS[p]; break; } } if(plug==0){ //New Plugin qDebug() << " -- New Plugin:" << plugins[i]; plug = NewDP::createPlugin(plugins[i], bgWindow); if(plug != 0){ PLUGINS << plug; } } //Update the plugin geometry if(plug!=0){ QString geom = settings->value(DPREFIX+plugins[i]+"/geometry", "").toString(); if(geom.isEmpty()){ if(plugins.length()==1 && plugins[i]=="desktopview"){ geom = "0,0,"+QString::number(desktop->availableGeometry().width())+","+QString::number(desktop->availableGeometry().height()); }else{ geom = QString::number(i*200)+",0,200,"+QString::number(desktop->availableGeometry().height()); } } plug->setGeometry(geom.section(",",0,0).toInt(),geom.section(",",1,1).toInt(), geom.section(",",2,2).toInt(), geom.section(",",3,3).toInt() ); plug->show(); //make sure it is visible } } }