void TrackerSettingsWindow::_HandleChangedSettingsView() { int32 currentSelection = fSettingsTypeListView->CurrentSelection(); if (currentSelection < 0) return; BView* oldView = fSettingsContainerBox->ChildAt(0); if (oldView != NULL) oldView->RemoveSelf(); SettingsItem* selectedItem = dynamic_cast<SettingsItem*>( fSettingsTypeListView->ItemAt(currentSelection)); if (selectedItem != NULL) { fSettingsContainerBox->SetLabel(selectedItem->Text()); BView* view = selectedItem->View(); view->SetViewColor(fSettingsContainerBox->ViewColor()); view->Hide(); fSettingsContainerBox->AddChild(view); view->Show(); } }
QVariant MeeGoIntegration::doProcess(SystemIntegration::Operation act, const QVariant &data) const { switch (act) { case OpenDialog: case ShowWidget: { QWidget *widget = data.value<QWidget*>(); m_window->showWidget(widget); return QVariant(); } case GetSettingsGenerator: { SettingsItem *item = data.value<SettingsItem*>(); const QByteArray name = item->text().original(); ObjectGenerator *generator = NULL; QScopedPointer<ObjectGenerator> gen(SettingsItemHook::generator(item)); const QMetaObject *meta = gen->metaObject(); QLatin1String className = QLatin1String(meta->className()); if (className == QLatin1String("Jabber::JMainSettings")) generator = new QuickGenerator(QLatin1String("accounts/JabberPage.qml")); else if (className == QLatin1String("VAccountSettings")) generator = new QuickGenerator(QLatin1String("accounts/VKPage.qml")); else if (className == QLatin1String("qutim_sdk_0_3::DataSettingsWidget")) generator = new QuickGenerator(QLatin1String("settings/DataItemPage.qml"), new DataSettingsObjectCreator(item)); else if (name == "Auto-away") generator = new QuickGenerator(QLatin1String("settings/AutoAwayPage.qml")); else if (name == "Icq account settings") generator = new QuickGenerator(QLatin1String("accounts/OscarPage.qml")); else if (name == "Connection manager") generator = new QuickGenerator(QLatin1String("settings/ConnectionManagerPage.qml")); else if (name == "BlogImprover") generator = new QuickGenerator(QLatin1String("settings/BlogImproverPage.qml")); else if (name == "Highlighter") generator = new QuickGenerator(QLatin1String("settings/HighlighterPage.qml")); else if (name == "Localization") generator = new QuickGenerator(QLatin1String("settings/LanguagesPage.qml")); else if (name == "Sounds") generator = new QuickGenerator(QLatin1String("settings/SoundThemePage.qml")); else if (name == "Notifications") generator = new QuickGenerator(QLatin1String("settings/NotificationsPage.qml")); else if (name == "UrlPreview") generator = new QuickGenerator(QLatin1String("settings/UrlPreviewPage.qml")); else if (name == "Chat") generator = new QuickGenerator(QLatin1String("settings/ChatPage.qml")); else if (name == "Antispam") generator = new QuickGenerator(QLatin1String("settings/AntispamPage.qml")); else if (name == "Global proxy" || name == "Proxy") generator = new QuickGenerator(QLatin1String("settings/ProxyPage.qml")); else if (name == "Emoticons") generator = new QuickGenerator(QLatin1String("settings/EmoticonsPage.qml")); return qVariantFromValue(generator ? generator : gen.take()); } default: break; } return QVariant(); }
QObject *QuickSettingsModel::widget(int index) { SettingsItem *item = m_items.value(index); if (item) { SettingsWidget *widget = item->widget(); widget->setController(m_controller); return widget; } return NULL; }
SettingsView* TrackerSettingsWindow::_ViewAt(int32 i) { if (!Lock()) return NULL; SettingsItem* item = dynamic_cast<SettingsItem*>( fSettingsTypeListView->ItemAt(i)); Unlock(); return item != NULL ? item->View() : NULL; }
QVariant QuickSettingsModel::data(const QModelIndex &index, int role) const { SettingsItem *item = m_items.value(index.row()); if (!item) return QVariant(); switch (role) { case Qt::DecorationRole: return QVariant(); case Qt::DisplayRole: return item->text().toString(); case IsWidget: return true; case Widget: return qVariantFromValue<QObject*>(item->widget()); case GraphicsItem: return qVariantFromValue<QObject*>(NULL); default: return QVariant(); } }