Пример #1
0
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;
}
Пример #2
0
/*!
 \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);
}
Пример #3
0
/**
 *  \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;
            }
        }
    }
}
Пример #4
0
/*!
 \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);
    }
}
Пример #5
0
/*!
 \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("");
    }
}
Пример #6
0
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();
    }
  }
}