QString ProfilePlotView::profileLabel(Profile::Ptr profile) { if (profile->name()) return QString::fromStdString(profile->name().get()); if (profile->computer()) { if (profile->computer()->name()) return QString::fromStdString(profile->computer()->name().get()); if (profile->computer()->model()) { if (profile->computer()->manufacturer()) { return QString("%1 %2") .arg(QString::fromStdString(profile->computer()->manufacturer().get())) .arg(QString::fromStdString(profile->computer()->model().get())); } else { return QString::fromStdString(profile->computer()->model().get()); } } } return "Unknown Profile"; }
void ProfileList::updateAction(QAction* action , Profile::Ptr info) { Q_ASSERT(action); Q_ASSERT(info); action->setText(info->name()); action->setIcon(KIcon(info->icon())); }
void EditProfileDialog::setupGeneralPage(const Profile::Ptr info) { // basic profile options _ui->profileNameEdit->setText( info->name() ); ShellCommand command( info->command() , info->arguments() ); _ui->commandEdit->setText( command.fullCommand() ); KUrlCompletion* exeCompletion = new KUrlCompletion(KUrlCompletion::ExeCompletion); exeCompletion->setParent(this); exeCompletion->setDir(QString()); _ui->commandEdit->setCompletionObject( exeCompletion ); _ui->initialDirEdit->setText( info->defaultWorkingDirectory() ); KUrlCompletion* dirCompletion = new KUrlCompletion(KUrlCompletion::DirCompletion); dirCompletion->setParent(this); _ui->initialDirEdit->setCompletionObject( dirCompletion ); _ui->initialDirEdit->setClearButtonShown(true); _ui->dirSelectButton->setIcon( KIcon("folder-open") ); _ui->iconSelectButton->setIcon( KIcon(info->icon()) ); _ui->startInSameDirButton->setChecked(info->property<bool>(Profile::StartInCurrentSessionDir)); // window options _ui->showMenuBarButton->setChecked( info->property<bool>(Profile::ShowMenuBar) ); // signals and slots connect( _ui->dirSelectButton , SIGNAL(clicked()) , this , SLOT(selectInitialDir()) ); connect( _ui->iconSelectButton , SIGNAL(clicked()) , this , SLOT(selectIcon()) ); connect( _ui->startInSameDirButton , SIGNAL(toggled(bool)) , this , SLOT(startInSameDir(bool))); connect( _ui->profileNameEdit , SIGNAL(textChanged(const QString&)) , this , SLOT(profileNameChanged(const QString&)) ); connect( _ui->initialDirEdit , SIGNAL(textChanged(const QString&)) , this , SLOT(initialDirChanged(const QString&)) ); connect(_ui->commandEdit , SIGNAL(textChanged(const QString&)) , this , SLOT(commandChanged(const QString&)) ); connect(_ui->showMenuBarButton , SIGNAL(toggled(bool)) , this , SLOT(showMenuBar(bool)) ); connect(_ui->environmentEditButton , SIGNAL(clicked()) , this , SLOT(showEnvironmentEditor()) ); }
void ManageProfilesDialog::itemDataChanged(QStandardItem* item) { if (item->column() == ShortcutColumn) { QKeySequence sequence = QKeySequence::fromString(item->text()); ProfileManager::instance()->setShortcut(item->data(ShortcutRole).value<Profile::Ptr>(), sequence); } else if (item->column() == ProfileNameColumn) { QString newName = item->text(); Profile::Ptr profile = item->data(ProfileKeyRole).value<Profile::Ptr>(); QString oldName = profile->name(); if (newName != oldName) { QHash<Profile::Property, QVariant> properties; properties.insert(Profile::Name, newName); properties.insert(Profile::UntranslatedName, newName); ProfileManager::instance()->changeProfile(profile, properties); } } }
void EditProfileDialog::setProfile(Profile::Ptr profile) { _profileKey = profile; Q_ASSERT( profile ); // update caption updateCaption(profile->name()); // mark each page of the dialog as out of date // and force an update of the currently visible page // // the other pages will be updated as necessary _pageNeedsUpdate.fill(true); preparePage( _ui->tabWidget->currentIndex() ); if ( _tempProfile ) { _tempProfile = new Profile; } }
void ManageProfilesDialog::updateItemsForProfile(const Profile::Ptr profile, QList<QStandardItem*>& items) const { // Profile Name items[ProfileNameColumn]->setText(profile->name()); if (!profile->icon().isEmpty()) items[ProfileNameColumn]->setIcon(KIcon(profile->icon())); items[ProfileNameColumn]->setData(QVariant::fromValue(profile), ProfileKeyRole); items[ProfileNameColumn]->setToolTip(i18nc("@info:tooltip", "Click to rename profile")); // Favorite Status const bool isFavorite = ProfileManager::instance()->findFavorites().contains(profile); if (isFavorite) items[FavoriteStatusColumn]->setData(KIcon("dialog-ok-apply"), Qt::DecorationRole); else items[FavoriteStatusColumn]->setData(KIcon(), Qt::DecorationRole); items[FavoriteStatusColumn]->setData(QVariant::fromValue(profile), ProfileKeyRole); items[FavoriteStatusColumn]->setToolTip(i18nc("@info:tooltip", "Click to toggle status")); // Shortcut QString shortcut = ProfileManager::instance()->shortcut(profile).toString(); items[ShortcutColumn]->setText(shortcut); items[ShortcutColumn]->setData(QVariant::fromValue(profile), ShortcutRole); items[ShortcutColumn]->setToolTip(i18nc("@info:tooltip", "Double click to change shortcut")); }
void ProfileMapper::bindUpdate(statement::ptr s, Persistent::Ptr p) const { Profile::Ptr o = downcast(p); if (o->dive()) s->bind(2, o->dive()->id()); else s->bind(2); if (o->computer()) s->bind(3, o->computer()->id()); else s->bind(3); if (o->profile().empty()) s->bind(5); else s->bind(5, profileToJSON(o->profile())); s->bind(4, o->name()); s->bind(6, o->vendor()); s->bind(7, o->imported()); s->bind(8, o->raw_profile()); }
static bool profileNameLessThan(const Profile::Ptr& p1, const Profile::Ptr& p2) { return QString::localeAwareCompare(p1->name(), p2->name()) <= 0; }