Lazy initialise organise dialog

This commit is contained in:
John Maguire 2016-02-12 12:25:35 +00:00
parent 0cf83b19ee
commit 589f2ff62e
2 changed files with 9 additions and 6 deletions

View File

@ -183,7 +183,12 @@ MainWindow::MainWindow(Application* app, SystemTrayIcon* tray_icon, OSD* osd,
song_info_view_(new SongInfoView(this)),
artist_info_view_(new ArtistInfoView(this)),
equalizer_(new Equalizer),
organise_dialog_(new OrganiseDialog(app_->task_manager())),
organise_dialog_([=]() {
OrganiseDialog* dialog = new OrganiseDialog(app->task_manager());
dialog->SetDestinationModel(
app->library()->model()->directory_model());
return dialog;
}),
playlist_menu_(new QMenu(this)),
playlist_add_to_another_(nullptr),
playlistitem_actions_separator_(nullptr),
@ -293,9 +298,6 @@ MainWindow::MainWindow(Application* app, SystemTrayIcon* tray_icon, OSD* osd,
device_view_->SetApplication(app_);
playlist_list_->SetApplication(app_);
organise_dialog_->SetDestinationModel(
app_->library()->model()->directory_model());
// Icons
qLog(Debug) << "Creating UI";
ui_->action_about->setIcon(IconLoader::Load("help-about", IconLoader::Base));

View File

@ -25,11 +25,13 @@
#include <QSystemTrayIcon>
#include "config.h"
#include "core/lazy.h"
#include "core/mac_startup.h"
#include "core/tagreaderclient.h"
#include "engines/engine_fwd.h"
#include "library/librarymodel.h"
#include "playlist/playlistitem.h"
#include "ui/organisedialog.h"
#include "ui/settingsdialog.h"
class About;
@ -57,7 +59,6 @@ class Library;
class LibraryViewContainer;
class MimeData;
class MultiLoadingIndicator;
class OrganiseDialog;
class OSD;
class Player;
class PlaylistBackend;
@ -319,7 +320,7 @@ signals:
std::unique_ptr<Equalizer> equalizer_;
std::unique_ptr<TranscodeDialog> transcode_dialog_;
std::unique_ptr<ErrorDialog> error_dialog_;
std::unique_ptr<OrganiseDialog> organise_dialog_;
Lazy<OrganiseDialog> organise_dialog_;
std::unique_ptr<QueueManager> queue_manager_;
std::unique_ptr<TagFetcher> tag_fetcher_;