Creare un dialog con QML

Pubblicato 23/04/2014

Faccio un passo in più, e vediamo come aprire una finestra di dialogo cliccando su un elemento della ListView.

Qui abbiamo visto come riempire una ListView da dati JSON.

Come possiamo vedere, sulla ListView mostriamo solo un campo rispetto a quelli che prendiamo.

Adesso, cliccando su una riga, vogliamo vedere anche gli altri.

Prima di tutto creiamo un altro file QML (detail_dialog.qml) con questo dentro:

import QtQuick 2.0

Item {
    id: detailDialog
    anchors.fill: parent
    PropertyAnimation {
        target: detailDialog
        property: "opacity"
        duration: 400
        from: 0
        to: 1
        easing.type: Easing.InOutQuad
        running: true
    }

    Rectangle {
        id: dialogWindow
        width: 200
        height: 200
        radius: 10
        border.color: "black"
        anchors.centerIn: parent
        Text {
            anchors.centerIn: parent
            text: "AUTORE: " + author + "\nEDITORE: " + editor + "\nPREZZO: " + price + "\nISBN: " + isbn + "\nNOTE: " + note
        }
        MouseArea{
            anchors.fill: parent
            onClicked: {
                detailDialog.destroy()
            }
        }
    }
}

Adesso dobbiamo intercettare l'evento click sulla riga nella finestra principale.

Leggi tutto


Disabilitare gli SMS in Hangouts

Pubblicato 22/04/2014

L'ultima versione di Hangouts, porta con se anche la gestione dei classici SMS.

Al primo avvio, la app chiederà se si vuole usare Hangouts anche per questi.

Se confermiamo, tutti gli SMS saranno importati e gestiti in Hangouts.

Leggi tutto


QML ListView: righe a colori alterni

Pubblicato 19/04/2014

In questo articolo avevamo visto come riempire una ListVew con dati in formato JSON.

Oggi piccolo tip: vogliamo impostare i le righe con colori alternati.

La cosa in verità è molto semplice, e basta impostare il parametro color all'oggetto Rectangle interno.

Leggi tutto


Visualizzare le immagini con Sxiv

Pubblicato 18/04/2014

Sxiv è un visulizzatore di immagini che parte da terminale usando la tastiera.

Non c'è una vera motivazione per usarlo, a meno che non siete patiti della tastiera o vi siete rotti di fare continuamente click con il mouse.

Comunque è un programma da provare anche solo per esperienza.

Quindi prima di tutto installiamolo; su Archlinux:

# pacman -Sy sxiv

Come vedete a fine installazione abbiamo due alert, che comunque non sono indispensabili.

Leggi tutto


Gestire i cookie con Javascript

Pubblicato 26/05/2011

Piccola premessa: a mio modo di vedere è sempre meglio gestire i cookie lato server (Asp.NET, PHP, Java,....).

Però a volte capita che si debba gestirli con Javascript (magari delegando solo informazioni meno importanti).

Vediamo tre funzioni da mettere nell'header.

La prima serve per settarli:

function setCookie(name, value, expiredays, path, domain, secure) {
    var expires = new Date();
    expires.setDate(expires.getDate() + expiredays);
    var cookieString = name + "=" + escape(value) + ((expires) ? ";expires=" + expires.toGMTString() : "") + ((path) ? ";path=" + path : "") + ((domain) ? ";domain=" + domain : "") + ((secure) ? ";secure" : "");
    document.cookie = cookieString;
}

Alla funzione passiamo un pò di parametri che con i quali costruiremo il cookie (var cookieString).

Leggi tutto


Glassfish: Secure Admin Must Be Enabled To Access The DAS Remotely

Pubblicato 16/04/2014

Ho deciso di affiancare Glassfish al classico Apache Tomcat per diversi motivi.

Una volta installato, provando ad accedere come amministratore, mi sono imbattuto in questo errore:

Secure Admin Must Be Enabled To Access The DAS Remotely

Pare che sia un classico errore.

Leggi tutto


Usare Hibernate in una applicazione web

Pubblicato 15/04/2014

E' da un pò che voglio scrivere questo articolo, ma tra una cosa e l'altra non ci sono mai riuscito.

Lo trovo un pò complicato, visto anche il numero di passaggi e il tempo che è passato.

Quindi ho deciso che, una volta tanto, non lo scriverò io, ma vi rimanderò al link che ho usato.

Non è nel mio stile lo sapete, ma stavolta ho seguito il concetto "perchè reinventare sempre la ruota?".

Leggi tutto


QML ListView da JSON

Pubblicato 13/04/2014

Oggi vediamo come riempire una ListView in QML prendendo i dati in formato JSON dal web.

Per prendere i dati useremo Javascript e AJAX.

Questa è una delle cose che mi piace di più di QML: usare Javascript in una app per desktop!

Prima di tutto vediamo il file main.qml, dove c'è tutta la parte grafica:

import QtQuick 2.0
import QtQuick.Controls 1.0
import "script.js" as Script

ApplicationWindow {
    id: mainWindow
    title: "App"
    visible: true
    width: 600
    height: 600

    Component.onCompleted: Script.load()

    ListModel { id: listModelJson }

    Rectangle {
        height: parent.height
        width: parent.width
        ListView {
            id: listViewJson
            x: 0
            y: 0
            width: 600
            height: 592
            delegate: Rectangle {
                width: parent.width
                height: 70
            }
            model: listModelJson
        }
    }
}

Come vedete tra gli import c'è anche il nostro file Javascript (che dopo andremo a creare).

Leggi tutto


Objective-C user preferences

Pubblicato 11/04/2014

Objective-C ci mette a disposizione una semplice classe attraverso la quale possiamo salvare le preferenze dell'utente nelle nostre app per iPhone e iPad: NSUserDefaults.

Usare questa classe è veramente semplice.

Prima di tutto dobbiamo istanziare l'oggetto:

NSUserDefaults userDefaults = [NSUserDefaults standardUserDefaults];

Poi possiamo facilmente leggere e scrivere all'interno con il classico meccanisco chiave:valore.

Leggi tutto


Controllare gli ultimi accessi al sistema in Linux

Pubblicato 10/04/2014

Se siamo amministratori di sistema, in teoria dovremmo fare controlli periodici per vedere gli ultimi accessi alle macchine.

Su Linux questo è molto semplic usando il comando last.

Leggi tutto