void mainLoop() { //The first time you run TackFPS it will return a trash value, so get it out of the way now TackFPS(true); //Pre-emptively call the resize and draw functions to get the cycle going reshape(miWidth, miHeight); bool running = true; sf::Event event; while(running) { draw(); while(window.pollEvent(event)) { switch(event.type) { case sf::Event::Closed: running = false; break; case sf::Event::Resized: reshape(event.size.width, event.size.height); break; case sf::Event::KeyPressed: keyDown(event.key.code); break;// TODO codes case sf::Event::MouseMoved: mouseDrag(event.mouseMove.x, event.mouseMove.y); break; case sf::Event::MouseButtonPressed: mousePress(event.mouseButton.button, 1, event.mouseButton.x, event.mouseButton.y); break; case sf::Event::MouseButtonReleased: mousePress(event.mouseButton.button, 0, event.mouseButton.x, event.mouseButton.y); break; case sf::Event::TextEntered: charTyped(event.text.unicode); break; default: cout << "unhandled event:" << event.type << endl; break; } } window.display(); } }
DialPage::DialPage() { QGraphicsGridLayout* mainLayout = new QGraphicsGridLayout(); setLayout(mainLayout); currentNumber = new Plasma::Frame(this); currentNumber->setText("Dial"); currentNumber->setFrameShadow(Plasma::Frame::Sunken); currentNumber->setMinimumSize(0,50); currentNumber->setStyleSheet("background-color:#AAAAFF;border-size:2px;border-style:sunken;"); //currentNumber->setEnabledBorders(FrameSvg::EnabledBorders::Raised); mainLayout->addItem(currentNumber,0,0,1,6); QString numbers[12] = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "*", "0", "#"}; QString texts[12] = { "" , "abc", "def" , "ghi" , "jkl", "mno" , "pqrs", "tuv", "wxyz", "" , "" , "" }; for(int i = 0 ; i < 12 ; i++) { DialButton* newButton = new DialButton(this); newButton->setMinimumHeight(40); newButton->setLetter(numbers[i]); newButton->setText(numbers[i]+((!texts[i].isEmpty())?("\n"+texts[i]):"")); mainLayout->addItem(newButton,1+i/3,2*(i%3),1,2); connect(newButton,SIGNAL(typed(QString)),this, SLOT(charTyped(QString))); } Plasma::PushButton* newButton = new Plasma::PushButton(this); newButton->setText("Call"); newButton->setIcon(KIcon("/usr/share/kde4/apps/sflphone-plasmoid/icons/outgoing.svg")); mainLayout->addItem(newButton,5,0,1,3); Plasma::PushButton* cancelButton = new Plasma::PushButton(this); cancelButton->setText("Cancel"); cancelButton->setIcon(KIcon("/usr/share/kde4/apps/sflphone-plasmoid/icons/hang_up.svg")); mainLayout->addItem(cancelButton,5,3,1,3); connect(newButton, SIGNAL(clicked()), this, SLOT(call())); connect(cancelButton, SIGNAL(clicked()), this, SLOT(cancel())); }