Example #1
0
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();
}
Example #2
0
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);
}
Example #3
0
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(&current_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);
}