void CarPiApp::mainLoop() { // Create event queue EventQueue::initialize(); // Allow subclass to do any UI-specific initialization onStartMainLoop(); // Create the main menu controller/view and push it MainMenuController *mainMenuController = new MainMenuController(); EventHandler *mainMenuView = createMenuView(mainMenuController->getMenu()); CompositeEventHandler *pair = CompositeEventHandler::makeAdoptedPair(mainMenuController, mainMenuView); pushEventHandler(pair); // Schedule the initial paint event EventQueue::instance()->enqueue(new NotificationEvent(NotificationEvent::PAINT)); // Event loop! while (!m_quit) { Event *evt = EventQueue::instance()->dequeue(); m_handlerStack.back()->handleEvent(evt); delete evt; } // Allow subclass to do UI-specific cleanup onEndMainLoop(); }
void CarPiApp::startMusicNavigator() { std::string musicDir; musicDir += getenv("HOME"); musicDir += "/Music"; MusicFileNavigatorMenuController *controller = new MusicFileNavigatorMenuController(musicDir); EventHandler *view = createMenuView(controller->getMenu()); CompositeEventHandler *pair = CompositeEventHandler::makeAdoptedPair(controller, view); pushEventHandler(pair); }
void OnyxPlayerView::createLayout() { vbox_.removeWidget(&title_widget_); content_widget_.setBackgroundRole(QPalette::Button); normal_mode_pixmap_ = QPixmap(":/player_icons/normal.png"); single_repeat_mode_pixmap_ = QPixmap(":/player_icons/repeat.png"); shuffle_mode_pixmap_ = QPixmap(":/player_icons/shuffle.png"); play_pixmap_ = QPixmap(":/player_icons/play.png"); pause_pixmap_ = QPixmap(":/player_icons/pause.png"); title_title_label_.setPixmap(QPixmap(":/player_icons/title.png")); title_title_label_.setAlignment(Qt::AlignLeft|Qt::AlignVCenter); title_title_label_.setFixedHeight(defaultItemHeight()); title_title_label_.setFixedWidth(AUDIO_INFO_SPACING); artist_title_label_.setPixmap(QPixmap(":/player_icons/artist.png")); artist_title_label_.setAlignment(Qt::AlignLeft|Qt::AlignVCenter); artist_title_label_.setFixedHeight(defaultItemHeight()); artist_title_label_.setFixedWidth(AUDIO_INFO_SPACING); album_title_label_.setPixmap(QPixmap(":/player_icons/album.png")); album_title_label_.setAlignment(Qt::AlignLeft|Qt::AlignVCenter); album_title_label_.setFixedHeight(defaultItemHeight()); album_title_label_.setFixedWidth(AUDIO_INFO_SPACING); current_time_label_.setText("00:00"); current_time_label_.setAlignment(Qt::AlignLeft | Qt::AlignVCenter); current_time_label_.setFixedHeight(defaultItemHeight()); total_time_label_.setText("00:00"); total_time_label_.setAlignment(Qt::AlignRight | Qt::AlignVCenter); total_time_label_.setFixedHeight(defaultItemHeight()); progress_bar_.setStyleSheet(PROGRESS_BAR_STYLE); progress_bar_.setTextVisible(false); createMenuView(); big_layout_.setContentsMargins(2, 2, 0, 2); big_layout_.setSpacing(0); big_layout_.addWidget(&player_title_bar_, 0, Qt::AlignTop); big_layout_.addWidget(&song_list_view_, 1, Qt::AlignTop); // add title info title_layout_.addWidget(&title_title_label_); title_layout_.addWidget(&title_label_); big_layout_.addLayout(&title_layout_); // add artist info artist_layout_.addWidget(&artist_title_label_); artist_layout_.addWidget(&artist_label_); big_layout_.addLayout(&artist_layout_); // add album info album_layout_.addWidget(&album_title_label_); album_layout_.addWidget(&album_label_); big_layout_.addLayout(&album_layout_); time_layout_.addSpacing(SPACING*2); time_layout_.addWidget(¤t_time_label_, 0, Qt::AlignLeft); time_layout_.addWidget(&total_time_label_, 0, Qt::AlignRight); time_layout_.addSpacing(SPACING*2); big_layout_.addLayout(&time_layout_); big_layout_.addWidget(&progress_bar_, 0, Qt::AlignBottom); big_layout_.addWidget(&menu_view_, 0, Qt::AlignBottom); big_layout_.addWidget(&status_bar_, 0, Qt::AlignBottom); }