QString QBookScreenSaver::getScreenSaverImgName() { qDebug() << Q_FUNC_INFO; QString scDirPath = qgetenv("ADOBE_SI_FILE_FOLDER"); QDir checkDir; if(!checkDir.exists(scDirPath)) checkDir.mkpath(scDirPath); if(formatsList.isEmpty()) { supportedImageslist = QBookApp::instance()->getSupportedImageslist(); QList<QByteArray>::iterator it = supportedImageslist.begin(); QList<QByteArray>::iterator itEnd = supportedImageslist.end(); while (it != itEnd) { formatsList += QString("*." + (*it) + " "); it++; } } QDir scdir(scDirPath,formatsList); QStringList scList = scdir.entryList(); int scTotalImages = scList.count(); if(scTotalImages==0) return QString(""); qDebug() << Q_FUNC_INFO << "Found " << scTotalImages << " images."; QTime time = QTime::currentTime(); qsrand((uint)time.msec()); int randomIndex = (qrand()%scTotalImages); qDebug() << Q_FUNC_INFO << "Random index is " << randomIndex; QString randomImagePath(scDirPath + "/" + scList.value(randomIndex)); return randomImagePath; }
static Boolean MyMainFormHandleEvent( EventPtr event ) { Boolean handled = false; Int i; FieldPtr fld; FormPtr frm; Word readerNum; #ifdef __GCC__ CALLBACK_PROLOGUE #endif frm = FrmGetActiveForm(); switch( event->eType ) { case frmOpenEvent: UpdateScrollbar( dataFieldID, dataSbarID ); FrmDrawForm( frm ); break; case ctlSelectEvent: if( event->data.ctlSelect.controlID==updateButtonID ) { handled=true; if( readerType==SC_READER_UNKNOWN ) { FrmAlert( alert6FormID ); break; } FrmHideObject(frm, FrmGetObjectIndex(frm, updateButtonID)); i=scdir(); UpdateScrollbar( dataFieldID, dataSbarID ); if( i==1 ) FrmAlert(alert1FormID); else if( i==2 ) FrmAlert(alert2FormID); else if( i==3 ) FrmAlert(alert3FormID); else if( i==4 ) FrmAlert(alert4FormID); else if( i>4 ) FrmAlert(alert5FormID); FrmShowObject(frm, FrmGetObjectIndex(frm, updateButtonID)); } break; case menuEvent: fld = FrmGetObjectPtr(frm, FrmGetObjectIndex(frm, dataFieldID)); switch( event->data.menu.itemID ) { case selectMenuID: handled = true; FldSetSelection (fld, 0, FldGetTextLength (fld)); break; case copyMenuID: handled = true; FldCopy(fld); break; case readerMenuID: handled = true; switch(readerType) { case SC_READER_DUMBMOUSE: readerNum=0; break; case SC_READER_TOWITOKO: readerNum=1; break; default: readerNum=-1; break; } readerNum = ChooseReader( readerNum ); switch(readerNum) { case 0: readerType=SC_READER_DUMBMOUSE; break; case 1: readerType=SC_READER_TOWITOKO; break; default: readerType=SC_READER_UNKNOWN; break; } break; case aboutMenuID: handled = true; FrmAlert(aboutFormID); break; case helpMenuID: handled = true; FrmAlert(helpFormID); break; default: break; } case fldChangedEvent: if( event->data.fldChanged.fieldID==dataFieldID ) { UpdateScrollbar( dataFieldID, dataSbarID ); handled=true; } break; case sclRepeatEvent: if( event->data.sclRepeat.scrollBarID==dataSbarID ) { ScrollLines( dataFieldID, dataSbarID, event->data.sclRepeat.newValue - event->data.sclRepeat.value, false ); } break; case keyDownEvent: if( event->data.keyDown.chr == pageUpChr ) { PageScroll( dataFieldID, dataSbarID, up ); handled = true; } else if( event->data.keyDown.chr == pageDownChr ) { PageScroll( dataFieldID, dataSbarID, down ); handled = true; } break; default: break; } #ifdef __GCC__ CALLBACK_EPILOGUE #endif return handled; }