Questo fine settimana mi sono occupato di riaprire un codice che ho scritto parecchio tempo fa.
Facciamo un po’ di storia. Tutto è cominciato parecchio tempo a dietro quando mi sono messo in testa di scrivere un programma per tenere sotto mano tutte le mie note sparse qua e la come documenti .txt
Ai tempi sviluppavo sotto Windows con Visual studio e il progetto si è sviluppato ed è stato usato con soddisfazione dai suoi utenti (Io, mio fratello e mia sorella principalmente). Il programma venne battezzato Gapp (Starebbe per G-igi App-unti).
Al programma affiancai tante utili funzioni una tra tutte fu’ copiata tanti anni dopo da Microsoft ed era l’idea di avere un multi-clipboard che contenesse tutti i testi copiati per poterli selezionare e incollare successivamente. La fine della solita possibilità di copiare un solo testo alla volta.
Oltre a questo il programma divenne molto complesso perché aggiunsi alcune funzioni come la gestione degli URL.
Ma la funzione principe era quella di poter proteggere i propri appunti con una password che serviva anche a criptare i dati nel file che altrimenti sarebbero rimasi in chiaro.
Bene tutto questo ha funzionato per molto tempo ma le cose cambiano e anche le preferenze sui sistemi operativi. Dopo qualche anno mi indirizzai verso Linux (sistema che uso ancora adesso) come sistema che uso a casa. Il passaggio è stato definitivo dopo l’ultimo computer su cui ho pagato quello schifo di sistema operativo che va sotto il nome di Vista. Sviluppando sotto Linux mi sono posto problematiche come progetto aperto o cross platform e ho quindi deciso di riprendere il progetto Gapp e farlo diventare OGapp (O-pen Gapp).
Ho scritto la prima versione di OGapp qualche anno fa basandomi sulle librerie Qt e una versione compilata per Windows è quella che uso quotidianamente anche a lavoro. Il programma è molto utile… non lo dico solo perché l’ho fatto io.
Questa settimana ho ripreso il codice è ho aggiunto alcune funzioni di cui sentivo la mancanza: la possibilità di aprire e salvare un file .ogp (ovvero quello in cui sono memorizzati tutti i dati) diverso da quello di default. Nel frattempo ho sistemato qualcos’altro ed ho aggiunto una simpatica feature che non è neanche documentata e che rivelerò in questo post:
Se in un appunto è conservato un indirizzo URL è possibile premere crl+w e cliccare sull’URL per aprirlo nel browser di default. Aggiungerò dei Tips da visualizzare all’avvio (disabilitabile).
Funziona al momento solo nella versione Linux ma estenderò appena possibile anche a Windoz.
Nel frattempo ho anche aperto il progetto su Source Forge. Il link è questo… dove l’ho messo? A qui dentro il mio GApp 😉
https://sourceforge.net/projects/ogapp/
Questa è una screen shoot del programma
In fine vorrei anche suggerire il favoloso IDE fornito da QT insieme alle librerie ovvero QT Creator. Una sola parola… anzi due: completo e funzionale. Ti farà dimenticare la lentezza di Eclipse. Dopo ore di pena per far digerire al bestione (Eclipse) il progetto, aver tentato con Code::Blocks inutilmente ho googlato un po’ è ho letto il suggerimento di qualcuno su un forum di usare QT creator. Lo installo, eseguo. La pagina iniziale è gradevole. Clicco su open existing project e clicco sul .pro del mio progetto fino a quel momento sviluppato con un altro IDE ed è fatta. Il completamento automatico è perfetto. Compila ed esegue senza problemi. IL toolbox per le GUI è equivalente a quello di Eclipse (il plugin per Eclipse è sempre sviluppato da QT). Dovrebbe esserci la possibilità di fare debug (anche se non l’ho provato), ed ha anche alcuni tool extra che non so se ci sono/sono facili da usare su Eclipse: una specie di analyzer del codice (probabilmente per il coverage et similare) ed udite udite supporto al Git.
Il Git è un sistema di controllo della versione distribuito. Evoluzione di SVN e similari. Source Forge lo fornisce di default per i nuovi progetti per cui ho deciso di studiarmelo un po’ ed alla fine sono riuscito ad averne la meglio committando la mia prima versione dell’OGAP che è adesso online.
Per gli utenti mi occuperò appena possibile (ovvero quando avrò un WIndows sotto mano) di compilare una versione stand alone (vediamo se glie faccio pure il setup ;)) e la metto in sezione download (dai sorgenti non è cosa da tutti). Poi vorrei anche fare un piccolo video tutoria per mostrare le features… ci ho provato con il portatile ma il video che ne è uscito fuori era scattosissimo (credo per via delle risorse limitate)… lo devo fare su di un PC più performante.