martinribelotta / embedded-ide

IDE for C embedded development centered on bare-metal ARM systems
http://martinribelotta.github.io/embedded-ide/
GNU General Public License v3.0
155 stars 32 forks source link

Check changes in recent projects #10

Closed epernia closed 6 years ago

martinribelotta commented 7 years ago

Explicalo un poco mas... no me queda claro el objetivo de esto

epernia commented 7 years ago

La idea sería que al modificar la carpeta de proyectos ya sea cambiando la ruta donde está (en configuración), o borrando, o agregando un nuevo proyecto por afuera el IDE este chequee y modifique la lista de proyectos cada vez que se toca el menú de proyectos. Esto si lo hace en el file browser de archivos y carpetas cuando abris un proyecto.

denisacostaq commented 7 years ago

Con QFileSystemWatcher resuelves buena parte, te suscribes a estos tios: directoryChanged fileChanged y le preguntas al usuario con un message box si quiere, recargar del archivo o sobrescribir del buffer

martinribelotta commented 7 years ago

@denisacostaq aparte hay que checkear al arranque al menos. Es una operación molesta pero se hace:

foreach(QString d, QDir(projectPath()).entryList(QDir::Dirs | QDir::NoDotAndDotDot)) {
  if (QFileInfo(QDir(d).fileName("Makefile")).exist()) {
    // Add to list
  }
}

Esto podría ser parte de la función lastProjectsList teniendo en cuenta de no repetir proyectos.

Así, se podría regenerar la lista con QFileSystemWatcher tal cual decís vos