void ThumbView::loadDuplicates() { loadPrepare(); emit showBusy(true); emit setStatus(tr("Searching duplicate images...")); dupImageHashes.clear(); findDupes(true); if (GData::includeSubFolders) { QDirIterator iterator(GData::currentViewDir, QDirIterator::Subdirectories); while (iterator.hasNext()) { iterator.next(); if (iterator.fileInfo().isDir() && iterator.fileName() != "." && iterator.fileName() != "..") { thumbsDir->setPath(iterator.filePath()); findDupes(false); if (abortOp) { goto finish; } } QApplication::processEvents(); } } finish: busy = false; emit showBusy(false); return; }
void ThumbView::load() { emit showBusy(true); loadPrepare(); initThumbs(); updateThumbsCount(); loadVisibleThumbs(); if (GData::includeSubFolders) { QDirIterator iterator(GData::currentViewDir, QDirIterator::Subdirectories); while (iterator.hasNext()) { iterator.next(); if (iterator.fileInfo().isDir() && iterator.fileName() != "." && iterator.fileName() != "..") { thumbsDir->setPath(iterator.filePath()); initThumbs(); updateThumbsCount(); loadVisibleThumbs(); if (abortOp) { goto finish; } } QApplication::processEvents(); } QItemSelection dummy; handleSelectionChanged(dummy); } finish: emit showBusy(false); busy = false; return; }
void CPictureViewer::Zoom(float factor) { dprintf(DEBUG_INFO, "CPictureViewer::Zoom %f\n",factor); showBusy(m_startx + 3, m_starty + 3, 10, 0xff, 0xff, 00); int oldx = m_CurrentPic_X; int oldy = m_CurrentPic_Y; unsigned char * oldBuf = m_CurrentPic_Buffer; m_CurrentPic_X = (int) (factor * m_CurrentPic_X); m_CurrentPic_Y = (int) (factor * m_CurrentPic_Y); m_CurrentPic_Buffer = CFrameBuffer::getInstance()->Resize(m_CurrentPic_Buffer, oldx, oldy, m_CurrentPic_X, m_CurrentPic_Y, m_scaling); if (m_CurrentPic_Buffer == oldBuf) { // resize failed hideBusy (); return; } if (m_CurrentPic_X < (m_endx - m_startx)) m_CurrentPic_XPos = (m_endx - m_startx - m_CurrentPic_X) / 2 + m_startx; else m_CurrentPic_XPos = m_startx; if (m_CurrentPic_Y < (m_endy - m_starty)) m_CurrentPic_YPos = (m_endy - m_starty - m_CurrentPic_Y) / 2 + m_starty; else m_CurrentPic_YPos = m_starty; if (m_CurrentPic_X > (m_endx - m_startx)) m_CurrentPic_XPan = (m_CurrentPic_X - (m_endx - m_startx)) / 2; else m_CurrentPic_XPan = 0; if (m_CurrentPic_Y > (m_endy - m_starty)) m_CurrentPic_YPan = (m_CurrentPic_Y - (m_endy - m_starty)) / 2; else m_CurrentPic_YPan = 0; CFrameBuffer::getInstance()->displayRGB(m_CurrentPic_Buffer, m_CurrentPic_X, m_CurrentPic_Y, m_CurrentPic_XPan, m_CurrentPic_YPan, m_CurrentPic_XPos, m_CurrentPic_YPos); }
EncTtsCfgGui::EncTtsCfgGui(QDialog* parent, EncTtsSettingInterface* iface, QString name) : QDialog(parent) { m_settingInterface = iface; m_busyCnt=0; // create a busy Dialog m_busyDlg= new QProgressDialog("", "", 0, 0,this); m_busyDlg->setWindowTitle(tr("Waiting for engine...")); m_busyDlg->setModal(true); m_busyDlg->setLabel(0); m_busyDlg->setCancelButton(0); m_busyDlg->hide(); connect(iface,SIGNAL(busy()),this,SLOT(showBusy())); connect(iface,SIGNAL(busyEnd()),this,SLOT(hideBusy())); //setup the window setWindowTitle(name); setUpWindow(); }
void CPictureViewer::Move(int dx, int dy) { dprintf(DEBUG_INFO, "CPictureViewer::Move %d %d\n", dx, dy); showBusy(m_startx + 3, m_starty + 3, 10, 0x00, 0xff, 00); int xs, ys; xs = CFrameBuffer::getInstance()->getScreenWidth(true); ys = CFrameBuffer::getInstance()->getScreenHeight(true); m_CurrentPic_XPan += dx; if (m_CurrentPic_XPan + xs >= m_CurrentPic_X) m_CurrentPic_XPan = m_CurrentPic_X - xs - 1; if (m_CurrentPic_XPan < 0) m_CurrentPic_XPan = 0; m_CurrentPic_YPan += dy; if (m_CurrentPic_YPan + ys >= m_CurrentPic_Y) m_CurrentPic_YPan = m_CurrentPic_Y - ys - 1; if (m_CurrentPic_YPan < 0) m_CurrentPic_YPan = 0; if (m_CurrentPic_X < (m_endx - m_startx)) m_CurrentPic_XPos = (m_endx - m_startx - m_CurrentPic_X) / 2 + m_startx; else m_CurrentPic_XPos = m_startx; if (m_CurrentPic_Y < (m_endy - m_starty)) m_CurrentPic_YPos = (m_endy - m_starty - m_CurrentPic_Y) / 2 + m_starty; else m_CurrentPic_YPos = m_starty; CFrameBuffer::getInstance()->displayRGB(m_CurrentPic_Buffer, m_CurrentPic_X, m_CurrentPic_Y, m_CurrentPic_XPan, m_CurrentPic_YPan, m_CurrentPic_XPos, m_CurrentPic_YPos); }
bool CPictureViewer::DecodeImage(const std::string & name, bool showBusySign, bool unscaled) { dprintf(DEBUG_NORMAL, "CPictureViewer::DecodeImage: %s\n", name.c_str()); /* if (name == m_NextPic_Name) { return true; } */ int x; int y; int imx; int imy; // Show red block for "next ready" in view state if (showBusySign) { dprintf(DEBUG_INFO, "CPictureViewer::DecodeImage: show red block\n"); showBusy(m_startx + 3, m_starty + 3, 10, 0xff, 00, 00); } CFormathandler * fh; if (unscaled) fh = fh_getsize(name.c_str (), &x, &y, INT_MAX, INT_MAX); else fh = fh_getsize(name.c_str (), &x, &y, m_endx - m_startx, m_endy - m_starty); if (fh) { if (m_NextPic_Buffer != NULL) { free (m_NextPic_Buffer); } m_NextPic_Buffer = (unsigned char *) malloc (x*y*3); if (m_NextPic_Buffer == NULL) { printf ("CPictureViewer::DecodeImage: Error: malloc\n"); return false; } dprintf(DEBUG_INFO, "CPictureViewer::DecodeImage: --->Decoding Start(%d/%d)\n", x, y); if (fh->get_pic(name.c_str(), &m_NextPic_Buffer, &x, &y) == FH_ERROR_OK) { dprintf(DEBUG_INFO, "CPictureViewer::DecodeImage: <---Decoding Done\n"); if ((x > (m_endx - m_startx) || y > (m_endy - m_starty)) && m_scaling != CFrameBuffer::NONE && !unscaled) { if ((m_aspect_ratio_correction * y * (m_endx - m_startx) / x) <= (m_endy - m_starty)) { imx = (m_endx - m_startx); imy = (int) (m_aspect_ratio_correction * y * (m_endx - m_startx) / x); } else { imx = (int) ((1.0 / m_aspect_ratio_correction) * x * (m_endy - m_starty) / y); imy = (m_endy - m_starty); } // resize m_NextPic_Buffer = CFrameBuffer::getInstance()->Resize(m_NextPic_Buffer, x, y, imx, imy, m_scaling); x = imx; y = imy; } m_NextPic_X = x; m_NextPic_Y = y; if (x < (m_endx - m_startx)) m_NextPic_XPos = (m_endx - m_startx - x) / 2 + m_startx; else m_NextPic_XPos = m_startx; if (y < (m_endy - m_starty)) m_NextPic_YPos = (m_endy - m_starty - y) / 2 + m_starty; else m_NextPic_YPos = m_starty; if (x > (m_endx - m_startx)) m_NextPic_XPan = (x - (m_endx - m_startx)) / 2; else m_NextPic_XPan = 0; if (y > (m_endy - m_starty)) m_NextPic_YPan = (y - (m_endy - m_starty)) / 2; else m_NextPic_YPan = 0; } else { printf("CPictureViewer::DecodeImage: Unable to read file !\n"); free (m_NextPic_Buffer); m_NextPic_Buffer = (unsigned char *) malloc (3); if (m_NextPic_Buffer == NULL) { printf ("CPictureViewer::DecodeImage: Error: malloc\n"); return false; } memset(m_NextPic_Buffer, 0, 3); m_NextPic_X = 1; m_NextPic_Y = 1; m_NextPic_XPos = 0; m_NextPic_YPos = 0; m_NextPic_XPan = 0; m_NextPic_YPan = 0; } } else { printf ("CPictureViewer::DecodeImage: Unable to read file or format not recognized!\n"); if (m_NextPic_Buffer != NULL) { free (m_NextPic_Buffer); } m_NextPic_Buffer = (unsigned char *) malloc (3); if (m_NextPic_Buffer == NULL) { printf ("CPictureViewer::DecodeImage: Error: malloc\n"); return false; } memset(m_NextPic_Buffer, 0, 3); m_NextPic_X = 1; m_NextPic_Y = 1; m_NextPic_XPos = 0; m_NextPic_YPos = 0; m_NextPic_XPan = 0; m_NextPic_YPan = 0; } m_NextPic_Name = name; hideBusy (); return (m_NextPic_Buffer != NULL); }