~bfiller/gallery-app/crop-test

« back to all changes in this revision

Viewing changes to src/gallery-application.cpp

Delay the opening photo process until all media files are loaded when called by url handler Fixes: 1389514

Show diffs side-by-side

added added

removed removed

Lines of Context:
69
69
      m_pickModeEnabled(false),
70
70
      m_defaultUiMode(BrowseContentMode),
71
71
      m_mediaTypeFilter(MediaSource::None),
72
 
      m_mediaFile("")
 
72
      m_mediaFile(""),
 
73
      m_mediaLoadedTimer(this),
 
74
      m_mediaLoaded(false)
73
75
{
74
76
    m_bguSize = QProcessEnvironment::systemEnvironment().value("GRID_UNIT_PX", "8").toInt();
75
77
    if (m_bguSize <= 0)
117
119
 
118
120
    if (m_cmdLineParser->startupTimer())
119
121
        qDebug() << "Construct GalleryApplication" << m_timer->elapsed() << "ms";
 
122
 
 
123
    m_mediaLoadedTimer.setSingleShot(false);
 
124
    m_mediaLoadedTimer.setInterval(100);
 
125
    QObject::connect(&m_mediaLoadedTimer, SIGNAL(timeout()), this, SLOT(onMediaLoaded()));
120
126
}
121
127
 
122
128
/*!
258
264
        qDebug() << "GalleryManager initialized" << m_timer->elapsed() << "ms";
259
265
 
260
266
    emit mediaLoaded();
 
267
    m_mediaLoaded = true;
261
268
 
262
269
    if (m_cmdLineParser->startupTimer()) {
263
270
        qDebug() << "MainView loaded" << m_timer->elapsed() << "ms";
352
359
{
353
360
    if(!mediaFile.isEmpty()) {
354
361
        m_mediaFile = "file://" + mediaFile;
 
362
        m_mediaLoadedTimer.start();
 
363
    }
 
364
}
 
365
 
 
366
void GalleryApplication::onMediaLoaded()
 
367
{
 
368
    if (m_mediaLoaded) {
 
369
        m_mediaLoadedTimer.stop();
355
370
        Q_EMIT mediaFileChanged();
356
371
    }
357
372
}