int CPicFlowWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QWidget::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: LeftArrowReleased(); break; case 1: RightArrowReleased(); break; case 2: scrollBarVal((*reinterpret_cast< int(*)>(_a[1]))); break; case 3: DecrementVal((*reinterpret_cast< int(*)>(_a[1]))); break; case 4: IncrementVal((*reinterpret_cast< int(*)>(_a[1]))); break; case 5: StartVal((*reinterpret_cast< int(*)>(_a[1]))); break; case 6: SetItemClickedHF((*reinterpret_cast< int(*)>(_a[1]))); break; case 7: GetImages((*reinterpret_cast< QList<QImage>(*)>(_a[1]))); break; case 8: ShowSlide((*reinterpret_cast< int(*)>(_a[1]))); break; case 9: moveScrollBarLeft(); break; case 10: moveScrollBarRight(); break; case 11: scrollBarReleased(); break; case 12: GetItemClickedHF((*reinterpret_cast< int(*)>(_a[1]))); break; default: ; } _id -= 13; } return _id; }
/*! \brief Display the previous slide in the sequence */ void GallerySlideView::ShowPrevSlide() { if (m_playing && m_view->HasPrev() == NULL) // Prohibit back-wrapping during slideshow: it will cause premature end //: Cannot go back beyond first slide of slideshow SetStatus(tr("Start")); else if (m_view->Prev()) ShowSlide(-1); }
/** * \brief Handle custom events * \param event The custom event */ void GallerySlideView::customEvent(QEvent *event) { if ((MythEvent::Type)(event->type()) == MythEvent::MythEventMessage) { MythEvent *me = (MythEvent *)event; QString message = me->Message(); QStringList extra = me->ExtraDataList(); if (message == "IMAGE_METADATA" && !extra.isEmpty()) { int id = extra[0].toInt(); ImagePtrK selected = m_view->GetSelected(); if (selected && selected->m_id == id) m_infoList.Display(*selected, extra.mid(1)); } else if (message == "THUMB_AVAILABLE") { if (!extra.isEmpty() && m_view->Update(extra[0].toInt())) ShowSlide(0); } } else if (event->type() == DialogCompletionEvent::kEventType) { DialogCompletionEvent *dce = (DialogCompletionEvent *)(event); QString resultid = dce->GetId(); int buttonnum = dce->GetResult(); if (resultid == "metadatamenu") { switch (buttonnum) { case 0: Transform(kRotateCW); break; case 1: Transform(kRotateCCW); break; case 2: Transform(kFlipHorizontal); break; case 3: Transform(kFlipVertical); break; case 4: Transform(kResetToExif); break; case 5: Zoom(10); break; case 6: Zoom(-10); break; } } } }
/*! \brief Start slideshow \param type Browsing, Normal or Recursive \param view View to initialise slideshow from. \param newScreen True if starting from Thumbview, False otherwise */ void GallerySlideView::Start(ImageSlideShowType type, int parentId, int selectedId) { gCoreContext->addListener(this); if (type == kBrowseSlides) { // Browsing views a single ordered directory m_view = new FlatView(kOrdered); // Load db images m_view->LoadFromDb(parentId); // Display current selection, falling back to first m_view->Select(selectedId); // Display slide immediately ShowSlide(); } else { int orderInt = gCoreContext->GetNumSetting("GallerySlideOrder", kOrdered); SlideOrderType order = (orderInt < kOrdered) || (orderInt > kSeasonal) ? kOrdered : static_cast<SlideOrderType>(orderInt); // Recursive uses a view of a directory subtree; Normal views a single directory m_view = (type == kRecursiveSlideShow) ? new TreeView(order) : new FlatView(order); // Load db images m_view->LoadFromDb(parentId); // Ordered views start from selected image if (order == kOrdered) // Adjust view so that slideshows show count rather than position m_view->Rotate(selectedId); // No transition for first image Play(false); } }
/*! \brief Display the next slide in the sequence \param useTransition if false, slide will be updated instantly */ void GallerySlideView::ShowNextSlide(bool useTransition) { // Browsing always wraps; slideshows depend on repeat setting if (m_playing && m_view->HasNext() == NULL && !gCoreContext->GetNumSetting("GalleryRepeat", false)) { Stop(); //: Slideshow has reached last slide SetStatus(tr("End")); } else if (m_view->Next()) ShowSlide(useTransition ? 1 : 0); else { // No images Stop(); m_infoList.Hide(); m_slides.GetCurrent().Clear(); if (m_uiSlideCount) m_uiSlideCount->SetText("0/0"); if (m_uiCaptionText) m_uiCaptionText->SetText(""); } }
void key_GetEngYear(void) { if (bKey == bKEY_ENTER) { if (enKeyboard == KBD_ENTER) { enKeyboard = KBD_INPUT1; Month(); strcpy(szBeta, szOn12Months); switch (wProgram) { case bGET_ENGGRPYEAR_ABCD: LoadSlide(pszEngFull); break; case bGET_ENGGRPYEAR_CD: LoadSlide(pszEngTops); break; case bGET_ENGGRPYEAR_B: LoadSlide(pszEngMid); break; case bGET_ENGGRPYEAR_A: LoadSlide(pszEngBottom); break; } } else if (enKeyboard == KBD_INPUT1) { enKeyboard = KBD_INPUT2; Group(); ibMon = ibHardMon; LoadBetaMonth(ibMon); ShowSlide(szBeta); } else if (enKeyboard == KBD_POSTINPUT1) { if ((ibMon = GetCharLo(10,11)-1) < 12) { enKeyboard = KBD_INPUT2; Group(); LoadBetaMonth(ibMon); ShowSlide(szBeta); } else Beep(); } else if (enKeyboard == KBD_INPUT2) { enKeyboard = KBD_POSTENTER; ibGrp = 0; Show(); } else if (enKeyboard == KBD_POSTINPUT2) { if ((ibGrp = GetCharLo(10,11)-1) < bGROUPS) { enKeyboard = KBD_POSTENTER; Show(); } else Beep(); } else if (enKeyboard == KBD_POSTENTER) { if (++ibGrp >= bGROUPS) ibGrp = 0; Show(); } } else if (bKey < 10) { if ((enKeyboard == KBD_INPUT1) || (enKeyboard == KBD_POSTINPUT1)) { enKeyboard = KBD_POSTINPUT1; ShiftLo(10,11); } else if ((enKeyboard == KBD_INPUT2) || (enKeyboard == KBD_POSTINPUT2)) { enKeyboard = KBD_POSTINPUT2; ShiftLo(10,11); } else Beep(); } else if (bKey == bKEY_MINUS) { if (enKeyboard == KBD_POSTENTER) { if (ibMon > 0) ibMon--; else ibMon = 12-1; LoadBetaMonth(ibMon); Show(); ShowSlide(szBeta); } } else if (bKey == bKEY_POINT) { if (enKeyboard == KBD_POSTENTER) { if (ibGrp > 0) ibGrp--; else ibGrp = bGROUPS-1; Show(); } } }