HgWidgetOptionsView::HgWidgetOptionsView(QGraphicsItem *parent) : HbView(parent), mForm(new HbDataForm(this)), mModel(new HbDataFormModel(this)), mContentReady(false), mUpdateWidgetSize(true) { HbAction *backAction = new HbAction(Hb::BackNaviAction); connect(backAction, SIGNAL(triggered()), SIGNAL(optionsClosed())); setNavigationAction(backAction); HbDataFormModelItem *item = mModel->appendDataFormItem( HbDataFormModelItem::ComboBoxItem, WIDGET_TYPE); item->setContentWidgetData(QString("items"), QStringList("Grid") << "Coverflow" << "T-Bone"); item = mModel->appendDataFormItem( HbDataFormModelItem::ComboBoxItem, SCROLLBAR_VISIBILITY); item->setContentWidgetData(QString("items"), QStringList("Autohide") << "Always on" << "Always off"); item = mModel->appendDataFormItem( HbDataFormModelItem::ToggleValueItem, INTERACTIVE_SCROLLBAR); item->setContentWidgetData(QString("text"), QString("no")); item->setContentWidgetData(QString("additionalText"), QString("yes")); item = mModel->appendDataFormItem( HbDataFormModelItem::ComboBoxItem, MODEL_IMAGE_TYPE); item->setContentWidgetData(QString("items"), QStringList("QImage") << "HbIcon" << "QIcon" << "QPixmap"); item = mModel->appendDataFormItem( HbDataFormModelItem::TextItem, WIDGET_HEIGHT); item->setContentWidgetData(QString("text"), QString("0")); item->setContentWidgetData(QString("inputMethodHints"), Qt::ImhDigitsOnly); item = mModel->appendDataFormItem( HbDataFormModelItem::TextItem, WIDGET_WIDTH); item->setContentWidgetData(QString("text"), QString("0")); item->setContentWidgetData(QString("inputMethodHints"), Qt::ImhDigitsOnly); item = mModel->appendDataFormItem( HbDataFormModelItem::ToggleValueItem, LOW_RES_IMAGES); item->setContentWidgetData(QString("text"), QString("no")); item->setContentWidgetData(QString("additionalText"), QString("yes")); item = mModel->appendDataFormItem( HbDataFormModelItem::ComboBoxItem, TITLE_FONT); item->setContentWidgetData(QString("items"), QStringList("Primary") << "Secondary" << "Title" << "Primary small" << "Digital"); item = mModel->appendDataFormItem( HbDataFormModelItem::ComboBoxItem, DESCRIPTION_FONT); item->setContentWidgetData(QString("items"), QStringList("Primary") << "Secondary" << "Title" << "Primary small" << "Digital"); item = mModel->appendDataFormItem( HbDataFormModelItem::ToggleValueItem, REFLECTIONS_ENABLED); item->setContentWidgetData(QString("text"), QString("no")); item->setContentWidgetData(QString("additionalText"), QString("yes")); item = mModel->appendDataFormItem( HbDataFormModelItem::ToggleValueItem, EFFECT3D_ENABLED); item->setContentWidgetData(QString("text"), QString("no")); item->setContentWidgetData(QString("additionalText"), QString("yes")); item = mModel->appendDataFormItem( HbDataFormModelItem::ToggleValueItem, ITEM_SIZE_POLICY); item->setContentWidgetData(QString("text"), QString("User defined")); item->setContentWidgetData(QString("additionalText"), QString("Automatic")); connect(mModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)), SLOT(updateData(QModelIndex, QModelIndex))); mForm->setModel(mModel); setupData(); mContentReady = true; QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(Qt::Vertical); layout->addItem(mForm); setLayout(layout); }
void UserWidget::buildDialog() { updateColors(); int m = 64; // size of the image int actionSize = KIconLoader::SizeSmallMedium; m_layout = new QGraphicsGridLayout(this); m_layout->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); m_layout->setColumnFixedWidth(0, m); // This could probably be a bit more dynamic m_layout->setColumnMinimumWidth(1, 60); m_layout->setHorizontalSpacing(4); m_image = new ContactImage(m_engine, this); m_image->setPreferredWidth(m); m_image->setPreferredHeight(m); m_image->setMinimumHeight(m); m_image->setMinimumWidth(m); m_layout->addItem(m_image, 0, 0, 1, 1, Qt::AlignTop); m_nameLabel = new Label(this); m_nameLabel->nativeWidget()->setWordWrap(true); m_nameLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); m_nameLabel->setMinimumWidth(60); m_nameLabel->setMaximumHeight(40); m_layout->addItem(m_nameLabel, 0, 1, 1, 1, Qt::AlignTop); m_infoView = new WebView(this); m_infoView->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); //m_infoView->nativeWidget()->setFont(KGlobalSettings::smallestReadableFont()); //m_infoView->nativeWidget()->setWordWrap(true); m_layout->addItem(m_infoView, 1, 0, 1, 2, Qt::AlignTop); Plasma::IconWidget* back = new Plasma::IconWidget; back->setIcon("go-previous-view"); back->setToolTip(i18n("Back")); back->setMinimumHeight(actionSize); back->setMaximumHeight(actionSize); back->setMinimumWidth(actionSize); back->setMaximumWidth(actionSize); m_addFriend = new Plasma::IconWidget; m_addFriend->setIcon("list-add-user"); m_addFriend->setToolTip(i18n("Add friend")); m_addFriend->setMinimumHeight(actionSize); m_addFriend->setMaximumHeight(actionSize); m_addFriend->setMinimumWidth(actionSize); m_addFriend->setMaximumWidth(actionSize); m_sendMessage = new Plasma::IconWidget; m_sendMessage->setIcon("mail-send"); m_sendMessage->setToolTip(i18n("Send message")); m_sendMessage->setMinimumHeight(actionSize); m_sendMessage->setMaximumHeight(actionSize); m_sendMessage->setMinimumWidth(actionSize); m_sendMessage->setMaximumWidth(actionSize); QGraphicsLinearLayout* actionLayout = new QGraphicsLinearLayout(Qt::Horizontal); actionLayout->addItem(back); actionLayout->addStretch(); actionLayout->addItem(m_addFriend); actionLayout->addItem(m_sendMessage); m_layout->addItem(actionLayout, 2, 0, 1, 2); setLayout(m_layout); m_mapper = new QSignalMapper(this); connect(back, SIGNAL(clicked()), SIGNAL(done())); connect(m_sendMessage, SIGNAL(clicked()), m_mapper, SLOT(map())); connect(m_addFriend, SIGNAL(clicked()), m_mapper, SLOT(map())); connect(m_mapper, SIGNAL(mapped(QString)), this, SIGNAL(sendMessage(QString))); updateColors(); connect(&m_personWatch, SIGNAL(updated()), SLOT(dataUpdated())); }
void tst_QGraphicsLayout::moveAndResize() { QFETCH(bool, instantInvalidatePropagation); QFETCH(bool, insideLayout); QFETCH(bool, insideLayoutInLayout); QFETCH(bool, insideWidget); QGraphicsLayout::setInstantInvalidatePropagation(instantInvalidatePropagation); QGraphicsScene scene; WidgetToTestResizeEvents *widget = new WidgetToTestResizeEvents; /* Setup its parent if we want them */ QGraphicsWidget *parent = NULL; if (insideWidget) parent = new QGraphicsWidget; if (insideLayout) { QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(parent); QGraphicsLinearLayout *innerLayout = NULL; if (insideLayoutInLayout) { innerLayout = new QGraphicsLinearLayout; layout->addItem(innerLayout); innerLayout->addItem(widget); } else layout->addItem(widget); } else if (insideWidget) { widget->setParentItem(parent); } new QGraphicsLinearLayout(widget); widget->setGeometry(0,0,100,100); qApp->processEvents(); widget->resizeEventCalled = false; /* Force it grow by changing the minimum size */ widget->setMinimumSize(200,200); qApp->processEvents(); qApp->processEvents(); qApp->processEvents(); QCOMPARE(widget->size(), QSizeF(200,200)); QVERIFY(widget->resizeEventCalled); widget->resizeEventCalled = false; /* Call setPos followed by a resize. We should get a resize event */ widget->setPos(10,10); widget->resize(300,300); qApp->processEvents(); QVERIFY(widget->resizeEventCalled); widget->resizeEventCalled = false; /* Check that just calling setGeometry gives us a resize event */ widget->setGeometry(10,10, 400, 400); qApp->processEvents(); QVERIFY(widget->resizeEventCalled); widget->resizeEventCalled = false; /* Now call setPos followed by increasing the size using setGeometry,*/ widget->setPos(30,30); widget->setGeometry(10,10, 500, 500); qApp->processEvents(); QVERIFY(widget->resizeEventCalled); widget->resizeEventCalled = false; /* Now call setPos followed by increasing the minimum size, to force it to grow */ widget->setMinimumSize(600,600); widget->setPos(30,30); qApp->processEvents(); QCOMPARE(widget->size(), QSizeF(600,600)); QVERIFY(widget->resizeEventCalled); widget->resizeEventCalled = false; QGraphicsLayout::setInstantInvalidatePropagation(false); }
ZoneViewWidget::ZoneViewWidget(Player *_player, CardZone *_origZone, int numberCards, bool _revealZone, const QList<ServerInfo_Card *> &cardList) : QGraphicsWidget(0, Qt::Tool | Qt::FramelessWindowHint), player(_player) { setAcceptHoverEvents(true); setAttribute(Qt::WA_DeleteOnClose); setZValue(2000000006); setFlag(ItemIgnoresTransformations); QGraphicsLinearLayout *hbox = new QGraphicsLinearLayout(Qt::Horizontal); titleLabel = new TitleLabel; connect(titleLabel, SIGNAL(mouseMoved(QPointF)), this, SLOT(moveWidget(QPointF))); closeButton = new QPushButton("X"); connect(closeButton, SIGNAL(clicked()), this, SLOT(close())); closeButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); QGraphicsProxyWidget *closeButtonProxy = new QGraphicsProxyWidget; closeButtonProxy->setWidget(closeButton); hbox->addItem(titleLabel); hbox->addItem(closeButtonProxy); QGraphicsLinearLayout *vbox = new QGraphicsLinearLayout(Qt::Vertical); vbox->addItem(hbox); if (numberCards < 0) { sortByNameCheckBox = new QCheckBox; QGraphicsProxyWidget *sortByNameProxy = new QGraphicsProxyWidget; sortByNameProxy->setWidget(sortByNameCheckBox); vbox->addItem(sortByNameProxy); sortByTypeCheckBox = new QCheckBox; QGraphicsProxyWidget *sortByTypeProxy = new QGraphicsProxyWidget; sortByTypeProxy->setWidget(sortByTypeCheckBox); vbox->addItem(sortByTypeProxy); } else { sortByNameCheckBox = 0; sortByTypeCheckBox = 0; } if (_origZone->getIsShufflable() && (numberCards == -1)) { shuffleCheckBox = new QCheckBox; shuffleCheckBox->setChecked(true); QGraphicsProxyWidget *shuffleProxy = new QGraphicsProxyWidget; shuffleProxy->setWidget(shuffleCheckBox); vbox->addItem(shuffleProxy); } else shuffleCheckBox = 0; extraHeight = vbox->sizeHint(Qt::PreferredSize).height(); resize(150, 150); zone = new ZoneViewZone(player, _origZone, numberCards, _revealZone, this); vbox->addItem(zone); if (sortByNameCheckBox) { connect(sortByNameCheckBox, SIGNAL(stateChanged(int)), zone, SLOT(setSortByName(int))); connect(sortByTypeCheckBox, SIGNAL(stateChanged(int)), zone, SLOT(setSortByType(int))); sortByNameCheckBox->setChecked(settingsCache->getZoneViewSortByName()); sortByTypeCheckBox->setChecked(settingsCache->getZoneViewSortByType()); } retranslateUi(); setLayout(vbox); connect(zone, SIGNAL(optimumRectChanged()), this, SLOT(resizeToZoneContents())); connect(zone, SIGNAL(beingDeleted()), this, SLOT(zoneDeleted())); zone->initializeCards(cardList); }
void ArtistPage::createContent() { MApplicationPage::createContent(); QGraphicsWidget *panel = centralWidget(); MLayout* layout = new MLayout(panel); m_policy = new MLinearLayoutPolicy(layout, Qt::Vertical); layout->setAnimation(NULL); panel->setLayout(layout); layout->setLandscapePolicy(m_policy); layout->setPortraitPolicy(m_policy); if (m_pageMode == ALL_ARTISTS) { // Menu Actions MAction* actionImportLastfm = new MAction(panel); actionImportLastfm->setText(tr("Import from Last.fm")); actionImportLastfm->setLocation(MAction::ApplicationMenuLocation); addAction(actionImportLastfm); connect(actionImportLastfm, SIGNAL(triggered()), this, SLOT(slotImportLastfm())); MAction* actionAddArtist = new MAction(panel); actionAddArtist->setText(tr("Add artist")); actionAddArtist->setLocation(MAction::ApplicationMenuLocation); addAction(actionAddArtist); connect(actionAddArtist, SIGNAL(triggered()), this, SLOT(slotAddArtist())); // Toolbar Actions MAction* actionFilter = new MAction("icon-m-toolbar-filter", "", this); actionFilter->setLocation(MAction::ToolBarLocation); addAction(actionFilter); connect(actionFilter, SIGNAL(triggered()), this, SLOT(slotShowFilter())); } MAction* actionRefresh = new MAction("icon-m-toolbar-refresh", "", this); actionRefresh->setLocation(MAction::ToolBarLocation); addAction(actionRefresh); connect(actionRefresh, SIGNAL(triggered()), this, SLOT(slotRefreshEvents())); MAction* actionSearch = new MAction("icon-m-toolbar-search", "", this); actionSearch->setLocation(MAction::ToolBarLocation); addAction(actionSearch); connect(actionSearch, SIGNAL(triggered()), this, SLOT(slotShowSearch())); // setup model m_artistsModel = new ArtistModel(m_dbStorage, artistsModelQuery()); // filtering text box QGraphicsLinearLayout *containerLayout = new QGraphicsLinearLayout(Qt::Horizontal); MLabel* filterLabel = new MLabel(tr("Filter artist:")); containerLayout->addItem(filterLabel); m_filter = new MTextEdit(MTextEditModel::SingleLine, QString()); containerLayout->addItem(m_filter); m_filter->setObjectName("CommonSingleInputField"); connect(m_filter, SIGNAL(textChanged()), this, SLOT(slotFilterChanged())); m_filterWidget = new MWidget(); m_filterWidget->setLayout(containerLayout); // No artist found label m_noArtistLabel = new MLabel(tr("No artist available, add them using one of " "menu options.")); m_noArtistLabel->setAlignment(Qt::AlignCenter); if (m_artistsModel->rowCount() == 0) m_policy->addItem(m_noArtistLabel); // MList with fast view MList* artistsList = new MList(); artistsList->setSelectionMode(MList::SingleSelection); // Content item creator and item model for the list artistsList->setCellCreator(new ArtistItemCreator(m_pageMode, m_dbStorage, m_country)); artistsList->setItemModel(m_artistsModel); m_policy->addItem(artistsList); connect(artistsList, SIGNAL(itemClicked(QModelIndex)), this, SLOT(slotArtistClicked(QModelIndex))); connect(DBManager::instance(m_dbStorage), SIGNAL(artistAdded(int,bool)), this, SLOT(slotArtistAdded(int,bool))); if (m_pageMode == ARTIST_NEAR_LOCATION_SEARCH) { //overwrite history MApplicationWindow* appWindow = applicationWindow(); MScene* scene = appWindow->scene(); MSceneManager* sceneManager = scene->sceneManager(); QList<MSceneWindow*> history = sceneManager->pageHistory(); if (history.last()->metaObject()->className() == NearLocationSearchPage::staticMetaObject.className()) { // overwrite history only if the last page is NearLocationSearchPage history.removeAt(history.size()-1); if (history.last()->metaObject()->className() != NearLocationMainPage::staticMetaObject.className()) { MApplicationPage* prevPage = new NearLocationMainPage(); history << prevPage; } sceneManager->setPageHistory(history); } //search events m_lastfm->getEventsNearLocation(m_latitude, m_longitude, m_distance); } if (m_dbStorage == DBManager::DISK) { DBManager* db = DBManager::instance(m_dbStorage); QStringList incompleteArtists = db->incompleteArtists(); foreach(QString artist, incompleteArtists) { m_lastfm->getEventsForArtist(artist); }
void tst_QGraphicsLayout::automaticReparenting() { QGraphicsView view; QGraphicsScene scene; { QGraphicsWidget *w = new QGraphicsWidget(); QGraphicsLinearLayout *l = new QGraphicsLinearLayout(w); QGraphicsWidget *w1 = new QGraphicsWidget; l->addItem(w1); scene.addItem(w); QCOMPARE(w1->parentWidget(), w); delete w; } { QGraphicsWidget *w = new QGraphicsWidget(); QGraphicsLinearLayout *l = new QGraphicsLinearLayout(w); QGraphicsWidget *w1 = new QGraphicsWidget; l->addItem(w1); scene.addItem(w); QCOMPARE(w1->parentWidget(), w); QGraphicsWidget *ww = new QGraphicsWidget(); QGraphicsLinearLayout *l1 = new QGraphicsLinearLayout(ww); #if !defined(Q_OS_MAC) && defined(QT_DEBUG) QTest::ignoreMessage(QtWarningMsg, "QGraphicsLayout::addChildLayoutItem: QGraphicsWidget \"\"" " in wrong parent; moved to correct parent"); #endif l1->addItem(w1); QCOMPARE(w1->parentWidget(), ww); delete w; } QGraphicsWidget *window = new QGraphicsWidget(); scene.addItem(window); view.show(); QGraphicsLinearLayout *l1 = new QGraphicsLinearLayout(); QGraphicsWidget *w1 = new QGraphicsWidget(); l1->addItem(w1); QGraphicsWidget *w2 = new QGraphicsWidget(); l1->addItem(w2); QCOMPARE(w1->parentItem(), static_cast<QGraphicsItem*>(0)); QCOMPARE(w2->parentItem(), static_cast<QGraphicsItem*>(0)); scene.addItem(w1); QCOMPARE(w1->parentItem(), static_cast<QGraphicsItem*>(0)); window->setLayout(l1); QCOMPARE(w1->parentItem(), static_cast<QGraphicsItem*>(window)); QCOMPARE(w2->parentItem(), static_cast<QGraphicsItem*>(window)); // Sublayouts QGraphicsLinearLayout *l2 = new QGraphicsLinearLayout(); QGraphicsWidget *w3 = new QGraphicsWidget(); l2->addItem(w3); QGraphicsWidget *w4 = new QGraphicsWidget(); l2->addItem(w4); QGraphicsLinearLayout *l3 = new QGraphicsLinearLayout(); l2->addItem(l3); QGraphicsWidget *window2 = new QGraphicsWidget(); scene.addItem(window2); window2->setLayout(l2); QCOMPARE(w3->parentItem(), static_cast<QGraphicsItem*>(window2)); QCOMPARE(w4->parentItem(), static_cast<QGraphicsItem*>(window2)); // graphics item with another parent QGraphicsLinearLayout *l5 = new QGraphicsLinearLayout(); l5->addItem(w1); l5->addItem(w2); QCOMPARE(w1->parentItem(), static_cast<QGraphicsItem*>(window)); QCOMPARE(w2->parentItem(), static_cast<QGraphicsItem*>(window)); QGraphicsLinearLayout *l4 = new QGraphicsLinearLayout(); l4->addItem(l5); QGraphicsWidget *window3 = new QGraphicsWidget(); scene.addItem(window3); window3->setLayout(l4); QCOMPARE(w1->parentItem(), static_cast<QGraphicsItem*>(window3)); QCOMPARE(w2->parentItem(), static_cast<QGraphicsItem*>(window3)); }
RaptorGraphicsWidget::RaptorGraphicsWidget(QGraphicsItem *parent, const KConfigGroup &appletconfig) : QGraphicsWidget(parent), d(new Private(this)) { setAcceptHoverEvents(true); d->model = new Kickoff::ApplicationModel(this); d->model->init(); d->searchModel = new Kickoff::SearchModel(); d->favoritesModel = new Kickoff::FavoritesModel(this); d->view = new RaptorGraphicsView(this);//Initialize the view as first element, some depend on it d->view->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); d->view->setModel(d->model); d->leftScrollButton = new RaptorScrollButton(RaptorScrollButton::Left, this); // d->view = new RaptorItemsView(); // RaptorItemDelegate *delegate = new RaptorItemDelegate(); d->breadCrumb = new Breadcrumb(d->view, this); d->searchLine = new Plasma::LineEdit(this); d->favoritesIcon = new Plasma::IconWidget(this); d->favoritesIcon->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum); d->favoritesIcon->setIcon(KIcon("rating")); //d->searchLine->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum); d->rightScrollButton = new RaptorScrollButton(RaptorScrollButton::Right, this); d->appletConfig = appletconfig; QGraphicsLinearLayout *verticalLayout = new QGraphicsLinearLayout(Qt::Vertical); QGraphicsLinearLayout *horizontalLayout = new QGraphicsLinearLayout(); horizontalLayout->addItem(d->breadCrumb); horizontalLayout->addStretch(); horizontalLayout->addItem(d->favoritesIcon); horizontalLayout->addItem(d->searchLine); verticalLayout->addItem(horizontalLayout); QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(); layout->setOrientation(Qt::Horizontal); connect(d->leftScrollButton, SIGNAL(clicked()), d->view, SLOT(scrollLeft())); layout->addItem(d->leftScrollButton); layout->addItem(d->view); connect(d->rightScrollButton, SIGNAL(clicked()), d->view, SLOT(scrollRight())); layout->addItem(d->rightScrollButton); verticalLayout->addItem(layout); setLayout(verticalLayout); // // delegate->setTextColor(Plasma::Theme::defaultTheme()->color(Plasma::Theme::TextColor)); // // // let's make the view nicer in the applet // d->view->setAttribute(Qt::WA_NoSystemBackground); // d->view->viewport()->setAutoFillBackground(true); // QPalette p = d->view->viewport()->palette(); // p.setColor(QPalette::Base, Qt::transparent); // d->view->viewport()->setPalette(p); // // d->view->setModel(d->model); // d->view->setItemDelegate(delegate); // // d->view->hideScrollBars(); // // d->proxy = new QGraphicsProxyWidget(this); // d->proxy->setWidget(d->view); KConfigGroup config(&d->appletConfig, "PlasmaRunnerManager"); KConfigGroup conf(&config, "Plugins"); conf.writeEntry("servicesEnabled", true); KService::List offers = KServiceTypeTrader::self()->query("Plasma/Runner"); foreach (const KService::Ptr &service, offers) { KPluginInfo description(service); QString runnerName = description.pluginName(); if (runnerName != "services") { conf.writeEntry(QString(runnerName + "Enabled"), false); } }
SendMessageWidget::SendMessageWidget(DataEngine* engine, QGraphicsWidget* parent) : Frame(parent), m_engine(engine), m_personWatch(engine) { m_updateTimer.setInterval(1000); m_updateTimer.setSingleShot(true); int avatarSize = KIconLoader::SizeMedium; int actionSize = KIconLoader::SizeSmallMedium; Label* title = new Label; title->setText(i18n("<b>Send message</b>")); // Recipient m_image = new ContactImage(m_engine); m_image->setMinimumHeight(avatarSize); m_image->setMinimumWidth(avatarSize); m_image->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); m_toLabel = new Label; m_toEdit = new LineEdit; QGraphicsGridLayout* toLayout = new QGraphicsGridLayout; toLayout->setColumnFixedWidth(0, avatarSize * 1.2); toLayout->addItem(m_image, 0, 0, 2, 1); toLayout->addItem(m_toLabel, 0, 1); toLayout->addItem(m_toEdit, 1, 1); Label* subjectLabel = new Label; subjectLabel->setText(i18n("Subject:")); m_subject = new LineEdit; Label* bodyLabel = new Label; bodyLabel->setText(i18n("Message:")); Frame* bodyFrame = new Frame(this); bodyFrame->setFrameShadow(Sunken); bodyFrame->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); m_body = new TextEdit; (new QGraphicsLinearLayout(bodyFrame))->addItem(m_body); Plasma::IconWidget* cancel = new Plasma::IconWidget; cancel->setIcon("go-previous-view"); cancel->setToolTip(i18n("Back")); cancel->setMinimumHeight(actionSize); cancel->setMaximumHeight(actionSize); cancel->setMinimumWidth(actionSize); cancel->setMaximumWidth(actionSize); m_submit = new Plasma::IconWidget; m_submit->setIcon("mail-send"); m_submit->setToolTip(i18n("Send")); m_submit->setMinimumHeight(actionSize); m_submit->setMaximumHeight(actionSize); m_submit->setMinimumWidth(actionSize); m_submit->setMaximumWidth(actionSize); m_submit->setEnabled(false); QGraphicsLinearLayout* buttonLayout = new QGraphicsLinearLayout(Qt::Horizontal); buttonLayout->addItem(cancel); buttonLayout->addStretch(); buttonLayout->addItem(m_submit); QGraphicsLinearLayout* layout = new QGraphicsLinearLayout(Qt::Vertical, this); layout->addItem(title); layout->addItem(toLayout); layout->addItem(subjectLabel); layout->addItem(m_subject); layout->addItem(bodyLabel); layout->addItem(bodyFrame); layout->addItem(buttonLayout); connect(m_submit, SIGNAL(clicked()), SLOT(send())); connect(cancel, SIGNAL(clicked()), SIGNAL(done())); connect(&m_updateTimer, SIGNAL(timeout()), SLOT(updateTo())); connect(m_toEdit, SIGNAL(editingFinished()), SLOT(updateTo())); connect(m_toEdit, SIGNAL(textEdited(QString)), SLOT(updateSendAction())); connect(m_toEdit, SIGNAL(textEdited(QString)), SLOT(toChanged(QString))); connect(m_toEdit, SIGNAL(returnPressed()), SLOT(switchToSubject())); connect(&m_personWatch, SIGNAL(updated()), SLOT(personUpdated())); connect(m_subject, SIGNAL(textEdited(QString)), SLOT(updateSendAction())); connect(m_subject, SIGNAL(returnPressed()), SLOT(switchToBody())); connect(m_body, SIGNAL(textChanged()), SLOT(updateSendAction())); }
ZoneViewWidget::ZoneViewWidget(Player *_player, CardZone *_origZone, int numberCards, bool _revealZone, bool _writeableRevealZone, const QList<const ServerInfo_Card *> &cardList) : QGraphicsWidget(0, Qt::Tool | Qt::FramelessWindowHint), player(_player), canBeShuffled(_origZone->getIsShufflable()) { setAcceptHoverEvents(true); setAttribute(Qt::WA_DeleteOnClose); setZValue(2000000006); setFlag(ItemIgnoresTransformations); QGraphicsLinearLayout *hbox = new QGraphicsLinearLayout(Qt::Horizontal); titleLabel = new TitleLabel; connect(titleLabel, SIGNAL(mouseMoved(QPointF)), this, SLOT(moveWidget(QPointF))); closeButton = new QPushButton("X"); connect(closeButton, SIGNAL(clicked()), this, SLOT(close())); closeButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); QGraphicsProxyWidget *closeButtonProxy = new QGraphicsProxyWidget; closeButtonProxy->setWidget(closeButton); hbox->addItem(titleLabel); hbox->addItem(closeButtonProxy); QGraphicsLinearLayout *vbox = new QGraphicsLinearLayout(Qt::Vertical); vbox->addItem(hbox); if (numberCards < 0) { QGraphicsProxyWidget *sortByNameProxy = new QGraphicsProxyWidget; sortByNameProxy->setWidget(&sortByNameCheckBox); vbox->addItem(sortByNameProxy); QGraphicsProxyWidget *sortByTypeProxy = new QGraphicsProxyWidget; sortByTypeProxy->setWidget(&sortByTypeCheckBox); vbox->addItem(sortByTypeProxy); QGraphicsProxyWidget *lineProxy = new QGraphicsProxyWidget; QFrame *line = new QFrame; line->setFrameShape(QFrame::HLine); line->setFrameShadow(QFrame::Sunken); lineProxy->setWidget(line); vbox->addItem(lineProxy); QGraphicsProxyWidget *pileViewProxy = new QGraphicsProxyWidget; pileViewProxy->setWidget(&pileViewCheckBox); vbox->addItem(pileViewProxy); } if (_origZone->getIsShufflable() && (numberCards == -1)) { shuffleCheckBox.setChecked(true); QGraphicsProxyWidget *shuffleProxy = new QGraphicsProxyWidget; shuffleProxy->setWidget(&shuffleCheckBox); vbox->addItem(shuffleProxy); } extraHeight = vbox->sizeHint(Qt::PreferredSize).height(); resize(150, 150); QGraphicsLinearLayout *zoneHBox = new QGraphicsLinearLayout(Qt::Horizontal); zoneContainer = new QGraphicsWidget(this); zoneContainer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); zoneContainer->setFlag(QGraphicsItem::ItemClipsChildrenToShape); zoneHBox->addItem(zoneContainer); scrollBar = new QScrollBar(Qt::Vertical); scrollBar->setMinimum(0); scrollBar->setSingleStep(50); connect(scrollBar, SIGNAL(valueChanged(int)), this, SLOT(handleScrollBarChange(int))); QGraphicsProxyWidget *scrollBarProxy = new QGraphicsProxyWidget; scrollBarProxy->setWidget(scrollBar); zoneHBox->addItem(scrollBarProxy); vbox->addItem(zoneHBox); zone = new ZoneViewZone(player, _origZone, numberCards, _revealZone, _writeableRevealZone, zoneContainer); connect(zone, SIGNAL(wheelEventReceived(QGraphicsSceneWheelEvent *)), this, SLOT(handleWheelEvent(QGraphicsSceneWheelEvent *))); // numberCard is the num of cards we want to reveal from an area. Ex: scry the top 3 cards. // If the number is < 0 then it means that we can make the area sorted and we dont care about the order. if (numberCards < 0) { connect(&sortByNameCheckBox, SIGNAL(stateChanged(int)), this, SLOT(processSortByName(int))); connect(&sortByTypeCheckBox, SIGNAL(stateChanged(int)), this, SLOT(processSortByType(int))); connect(&pileViewCheckBox, SIGNAL(stateChanged(int)), this, SLOT(processSetPileView(int))); sortByNameCheckBox.setChecked(settingsCache->getZoneViewSortByName()); sortByTypeCheckBox.setChecked(settingsCache->getZoneViewSortByType()); pileViewCheckBox.setChecked(settingsCache->getZoneViewPileView()); if (!settingsCache->getZoneViewSortByType()) pileViewCheckBox.setEnabled(false); }
void PeopleApplication::createPeoplePage() { //m_AccountManager = AccountManger::getInstance(); m_mainPage = new MApplicationPage; m_mainPage->setTitle(QObject::tr("People","Title of the application")); QGraphicsLinearLayout *linear = new QGraphicsLinearLayout(Qt::Vertical); linear->setContentsMargins(0, 0, 0, 0); linear->setSpacing(0); m_mainPage->centralWidget()->setLayout(linear); m_topSpacer = new QGraphicsWidget; m_topSpacer->setPreferredHeight(0); linear->addItem(m_topSpacer); m_people = new SeasidePeople; linear->addItem(m_people); m_bottomSpacer = new QGraphicsWidget; m_bottomSpacer->setPreferredHeight(0); linear->addItem(m_bottomSpacer); m_actionSearch = new MAction(QObject::tr("Search","Menu action to bring up search for contact list"), this); m_actionSearch->setLocation(MAction::ApplicationMenuLocation); m_mainPage->addAction(m_actionSearch); connect(m_actionSearch, SIGNAL(triggered()), this, SLOT(searchClicked())); m_actionAdd = new MAction(QObject::tr("Add Contact","Menu action to add contact"), this); m_actionAdd->setLocation(MAction::ApplicationMenuLocation); m_mainPage->addAction(m_actionAdd); connect(m_actionAdd, SIGNAL(triggered()), this, SLOT(addNewContact())); m_actionAll = new MAction(QObject::tr("<b>Show All</b>","Menu filter to show all contacts"), this); m_actionAll->setLocation(MAction::ApplicationMenuLocation); m_actionAll->setObjectName("ShowAllFilter"); m_actionAll->setCheckable(true); connect(m_actionAll, SIGNAL(triggered()), m_people, SLOT(filterAll())); m_actionFav = new MAction(QObject::tr("Show Favorites", "Menu filter to show all contacts marked as favorites"), this); m_actionFav->setLocation(MAction::ApplicationMenuLocation); m_actionFav->setObjectName("ShowFavoritesFilter"); m_actionFav->setCheckable(true); connect(m_actionFav, SIGNAL(triggered()), m_people, SLOT(filterFavorites())); m_actionRecent = new MAction(QObject::tr("Show Recent","Menu filter to show all contacts with recent communications"), this); m_actionRecent->setLocation(MAction::ApplicationMenuLocation); m_actionRecent->setCheckable(true); m_actionRecent->setObjectName("ShowRecentFilter"); connect(m_actionRecent, SIGNAL(triggered()), m_people, SLOT(filterRecent())); m_actionFilters = new QActionGroup(this); m_actionFilters->addAction(m_actionAll); m_actionFilters->addAction(m_actionRecent); m_actionFilters->addAction(m_actionFav); m_actionFilters->setExclusive(true); m_mainPage->addActions(m_actionFilters->actions()); connect(m_actionFilters, SIGNAL(triggered(QAction*)), this, SLOT(menuFilterSelected(QAction*))); connect(m_people, SIGNAL(itemClicked(QModelIndex)), this, SLOT(createDetailPage(QModelIndex))); connect(m_people, SIGNAL(editRequest(QModelIndex)), this, SLOT(createEditPage(QModelIndex))); connect(m_people, SIGNAL(callNumber(const QString&)), this, SLOT(callNumber(const QString&))); connect(m_people, SIGNAL(composeSMS(const QString&)), this, SLOT(composeSMS(const QString&))); connect(m_people, SIGNAL(composeIM(const QString&)), this, SLOT(composeIM(const QString&))); connect(m_people, SIGNAL(composeEmail(const QString&)), this, SLOT(composeEmail(const QString&))); m_mainPage->appear(); initSlider(); initSearch(); repositionOverlays(); }
UpcomingEventsWidget::UpcomingEventsWidget( const LastFmEventPtr &event, QGraphicsItem *parent, Qt::WindowFlags wFlags ) : QGraphicsWidget( parent, wFlags ) , m_mapButton( 0 ) , m_urlButton( 0 ) , m_image( new QLabel ) , m_event( event ) { setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Maximum ); m_image->setText( i18n("Loading picture...") ); m_image->setAttribute( Qt::WA_NoSystemBackground ); m_image->setAlignment( Qt::AlignCenter ); m_image->setFixedSize( 128, 128 ); QGraphicsProxyWidget *imageProxy = new QGraphicsProxyWidget( this ); imageProxy->setWidget( m_image ); m_attendance = createLabel(); m_date = createLabel(); m_location = createLabel(); m_name = createLabel(); m_participants = createLabel(); m_tags = createLabel(); m_venue = createLabel(); QGraphicsLinearLayout *buttonsLayout = new QGraphicsLinearLayout( Qt::Horizontal ); buttonsLayout->setSizePolicy( QSizePolicy::Maximum, QSizePolicy::Fixed ); if( event && event->venue() && event->venue()->location ) { QPointF geo( event->venue()->location->longitude, event->venue()->location->latitude ); if( !geo.isNull() ) { m_mapButton = new Plasma::PushButton( this ); m_mapButton->setMaximumSize( QSizeF( 22, 22 ) ); m_mapButton->setIcon( KIcon("edit-find") ); // TODO: a map icon would be nice m_mapButton->setToolTip( i18n( "View map" ) ); buttonsLayout->addItem( m_mapButton ); } } if( event && event->url().isValid() ) { m_urlButton = new Plasma::PushButton( this ); m_urlButton->setMaximumSize( QSizeF( 22, 22 ) ); m_urlButton->setIcon( KIcon("applications-internet") ); m_urlButton->setToolTip( i18n( "Open Last.fm webpage for this event" ) ); connect( m_urlButton, SIGNAL(clicked()), this, SLOT(openUrl()) ); buttonsLayout->addItem( m_urlButton ); } QSizePolicy::Policy minPol = QSizePolicy::Minimum; QGraphicsWidget *supportLabel, *venueLabel, *locationLabel, *dateLabel, *attendLabel, *tagsLabel; supportLabel = createLabel( i18nc("@label:textbox Supporing acts for an event", "Supporting:"), minPol ); venueLabel = createLabel( i18nc("@label:textbox", "Venue:"), minPol ); locationLabel = createLabel( i18nc("@label:textbox", "Location:"), minPol ); dateLabel = createLabel( i18nc("@label:textbox", "Date:"), minPol ); attendLabel = createLabel( i18nc("@label:textbox", "Attending:"), minPol ); tagsLabel = createLabel( i18nc("@label:textbox", "Tags:"), minPol ); QGraphicsGridLayout *infoLayout = new QGraphicsGridLayout; infoLayout->addItem( supportLabel, 0, 0 ); infoLayout->addItem( venueLabel, 1, 0 ); infoLayout->addItem( locationLabel, 2, 0 ); infoLayout->addItem( dateLabel, 3, 0 ); infoLayout->addItem( attendLabel, 4, 0 ); infoLayout->addItem( tagsLabel, 5, 0 ); infoLayout->addItem( m_participants, 0, 1 ); infoLayout->addItem( m_venue, 1, 1 ); infoLayout->addItem( m_location, 2, 1 ); infoLayout->addItem( m_date, 3, 1 ); infoLayout->addItem( m_attendance, 4, 1 ); infoLayout->addItem( m_tags, 5, 1 ); QGraphicsGridLayout *layout = new QGraphicsGridLayout; layout->addItem( imageProxy, 0, 0, 2, 1, Qt::AlignCenter ); layout->addItem( m_name, 0, 1 ); layout->addItem( buttonsLayout, 0, 2, Qt::AlignRight ); layout->addItem( infoLayout, 1, 1, 1, 2 ); setLayout( layout ); QString name = event->name(); if( event->isCancelled() ) name = i18nc( "@label:textbox Title for a canceled upcoming event", "<s>%1</s> (Canceled)", name ); setName( name ); setDate( event->date() ); setLocation( event->venue()->location ); setVenue( event->venue() ); setAttendance( event->attendance() ); setParticipants( event->participants() ); setTags( event->tags() ); setImage( event->imageUrl(LastFmEvent::Large) ); }
GraphicsSimpleBrowser::GraphicsSimpleBrowser(QGraphicsItem *parent) : QGraphicsWidget(parent) , mGraphicsWebView(0) , mAdressBar(0) , mBackButton(0) , mForwardButton(0) , mLoadButton(0) , mProgressBar(0) { QWebSettings *gs = QWebSettings::globalSettings(); gs->setAttribute(QWebSettings::JavaEnabled, true); gs->setAttribute(QWebSettings::PluginsEnabled, true); gs->setAttribute(QWebSettings::LocalStorageDatabaseEnabled, true); gs->setAttribute(QWebSettings::OfflineWebApplicationCacheEnabled, true); gs->setAttribute(QWebSettings::OfflineStorageDatabaseEnabled, true); gs->setAttribute(QWebSettings::JavascriptCanAccessClipboard, true); gs->setAttribute(QWebSettings::DnsPrefetchEnabled, true); setAutoFillBackground(true); mGraphicsWebView = new QGraphicsWebView(); mLabel = new QLabel("QGraphicsWebView"); mCloseButton = new QToolButton(); mCloseButton->setAutoRaise(true); mCloseButton->setText("X"); mBackButton = new QToolButton(); mBackButton->setAutoRaise(true); mBackButton->setArrowType(Qt::LeftArrow); mForwardButton = new QToolButton(); mForwardButton->setAutoRaise(true); mForwardButton->setArrowType(Qt::RightArrow); mLoadButton = new QToolButton(); mLoadButton->setAutoRaise(true); mLoadButton->setText("load"); mAdressBar = new QLineEdit(); mProgressBar = new QProgressBar(); mProgressBar->setMinimum(0); mProgressBar->setMaximum(100); mProgressBar->setValue(0); QGraphicsLinearLayout *mainLayer = new QGraphicsLinearLayout(Qt::Vertical); QGraphicsLinearLayout *titleLayout = new QGraphicsLinearLayout(Qt::Horizontal); QGraphicsProxyWidget *proxyLabel = new QGraphicsProxyWidget(); proxyLabel->setWidget(mLabel); QGraphicsProxyWidget *proxyCloseButton = new QGraphicsProxyWidget(); proxyCloseButton->setWidget(mCloseButton); titleLayout->addItem(proxyLabel); titleLayout->addItem(proxyCloseButton); QGraphicsWidget *titleLayoutItem = new QGraphicsWidget(); titleLayoutItem->setLayout(titleLayout); QGraphicsLinearLayout *controlPanelLayout = new QGraphicsLinearLayout(Qt::Horizontal); QGraphicsProxyWidget *proxyBackButton = new QGraphicsProxyWidget(); proxyBackButton->setWidget(mBackButton); QGraphicsProxyWidget *proxyForwardButton = new QGraphicsProxyWidget(); proxyForwardButton->setWidget(mForwardButton); QGraphicsProxyWidget *proxyAdressBar = new QGraphicsProxyWidget(); proxyAdressBar->setWidget(mAdressBar); QGraphicsProxyWidget *proxyLoadButton = new QGraphicsProxyWidget(); proxyLoadButton->setWidget(mLoadButton); controlPanelLayout->addItem(proxyBackButton); controlPanelLayout->addItem(proxyForwardButton); controlPanelLayout->addItem(proxyAdressBar); controlPanelLayout->addItem(proxyLoadButton); QGraphicsWidget *controlPanelLayoutItem = new QGraphicsWidget; controlPanelLayoutItem->setLayout(controlPanelLayout); QGraphicsProxyWidget *proxyProgressBar = new QGraphicsProxyWidget(); proxyProgressBar->setWidget(mProgressBar); mainLayer->addItem(titleLayoutItem); mainLayer->addItem(controlPanelLayoutItem); mainLayer->addItem(mGraphicsWebView); mainLayer->addItem(proxyProgressBar); setLayout(mainLayer); connect(mGraphicsWebView, SIGNAL(loadProgress(int)), mProgressBar, SLOT(setValue(int))); connect(mGraphicsWebView, SIGNAL(loadStarted()), mProgressBar, SLOT(show())); connect(mGraphicsWebView, SIGNAL(loadFinished(bool)), mProgressBar, SLOT(hide())); connect(mBackButton, SIGNAL(clicked()), mGraphicsWebView, SLOT(back())); connect(mForwardButton, SIGNAL(clicked()), mGraphicsWebView, SLOT(forward())); connect(mAdressBar, SIGNAL(returnPressed()), this, SLOT(on_mAdressBar_returnPressed())); connect(mLoadButton, SIGNAL(clicked()), this, SLOT(on_mLoadButton_clicked())); connect(mGraphicsWebView, SIGNAL(urlChanged(QUrl)), this, SLOT(on_webView_urlChanged(QUrl))); connect(mCloseButton, SIGNAL(clicked()), this, SLOT(on_mCloseButton_clicked())); mAdressBar->setText("vimeo.com"); load(); setFlags(ItemIsMovable | ItemIsSelectable | ItemIsFocusable); }
void SliderContainer::createWidgets (MWidget *parent) { QGraphicsLinearLayout *layout; SYS_DEBUG (""); /* * A container for the two labels. */ setContentsMargins (0, 0, 0, 0); //setStyleName ("CommonPanelInverted"); layout = new QGraphicsLinearLayout (Qt::Vertical); layout->setContentsMargins (0,0,0,0); layout->setSpacing (0); setLayout (layout); /* * "Auto activate power save" label */ m_AutoPSMLabel = new MLabel (parent); // This is needed to select the short translation. m_AutoPSMLabel->setWordWrap (true); m_AutoPSMLabel->setStyleName ("CommonTitleInverted"); layout->addItem (m_AutoPSMLabel); layout->setAlignment (m_AutoPSMLabel, Qt::AlignLeft); /* * A subtitle that shows the current value of the slider. */ m_PsmValueLabel = new MLabel (parent); m_PsmValueLabel->setStyleName ("CommonSubTitleInverted"); m_PsmValueLabel->setObjectName ("PsmValueLabel"); layout->addItem (m_PsmValueLabel); layout->setAlignment (m_PsmValueLabel, Qt::AlignLeft); /* * Power save mode auto activation slider */ m_PSMSlider = new MSlider (parent); m_PSMSlider->setObjectName ("PSMSlider"); m_PSMSlider->setStyleName ("CommonSliderInverted"); m_PSMSlider->setOrientation (Qt::Horizontal); m_PSMSlider->setHandleLabelVisible (true); m_PSMSlider->setRange (0, m_SliderValues.size () - 1); m_PSMSlider->setMaxLabelIconID ("icon-s-common-add-inverse"); m_PSMSlider->setMinLabelIconID ("icon-s-common-remove-inverse"); m_PSMSlider->setMinLabelVisible (true); m_PSMSlider->setMaxLabelVisible (true); layout->addItem (m_PSMSlider); layout->setAlignment (m_PSMSlider, Qt::AlignHCenter); /* * .. and after connect the slidervalue changed signal */ connect (m_PSMSlider, SIGNAL (valueChanged (int)), this, SLOT (sliderValueChanged (int)), Qt::DirectConnection); m_AutoPSMLabel->setText (qtTrId("qtn_ener_activation")); }