(in-package #:qt-user) (enable-syntax) (defparameter *mail-data* '(("Happy New Year!" "Grace K. " ((2006 12 31) (17 03))) ( "Radically new concept" "Grace K. " ((2006 12 22) (9 44))) ( "Accounts" "pascale@nospam.com" ((2006 12 31) (12 50))) ( "Expenses" "Joe Bloggs " ((2006 12 25) (11 39))) ( "Re: Expenses" "Andy " ((2007 01 02) (16 05))) ( "Re: Accounts" "Joe Bloggs " ((2007 01 03) (14 18))) ( "Re: Accounts" "Andy " ((2007 01 03) (14 26))) ( "Sports" "Linda Smith " ((2007 01 05) (11 33))) ( "AW: Sports" "Rolf Newschweinstein " ((2007 01 05) (12 00))) ( "RE: Sports" "Petra Schmidt " ((2007 01 05) (12 01))))) (defun create-mail-model (parent) (labels ((mk-qdate (year month day) (#_new QDate year month day)) (mk-qtime (hours minutes) (#_new QTime hours minutes)) (mk-datetime (m) (#_new QDateTime (apply #'mk-qdate (first (third m))) (apply #'mk-qtime (second (third m)))))) (let ((model (#_new QStandardItemModel 0 3 parent))) (#_setHeaderData model 0 (#_Horizontal "Qt") "Subject") (#_setHeaderData model 1 (#_Horizontal "Qt") "Sender") (#_setHeaderData model 2 (#_Horizontal "Qt") "Date") ;; entries (dolist (m *mail-data*) (#_insertRow model 0) (#_setData model (#_index model 0 0) (first m)) (#_setData model (#_index model 0 1) (second m)) (#_setData model (#_index model 0 2) ;; (#_new QVariant (mk-datetime m)))) (mk-datetime m))) model))) (defun test-create-mail-model () (create-mail-model (#_new QWidget)))