dbusRef=`./kdialog --progressbar "Press Cancel at Any time" 10`
qdbus $dbusRef org.kde.kdialog.ProgressDialog.showCancelButton true

until test "true" == `qdbus $dbusRef org.kde.kdialog.ProgressDialog.wasCancelled`; do
  sleep 1
  inc=$((`qdbus $dbusRef org.kde.kdialog.ProgressDialog.value` + 1))
  dbus $dbusRef org.kde.kdialog.ProgressDialog.value $inc;
done

qdbus $dbusRef org.kde.kdialog.ProgressDialog.close
