本文整理汇总了C++中profile::Ptr::setProperty方法的典型用法代码示例。如果您正苦于以下问题:C++ Ptr::setProperty方法的具体用法?C++ Ptr::setProperty怎么用?C++ Ptr::setProperty使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类profile::Ptr
的用法示例。
在下文中一共展示了Ptr::setProperty方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: testProfileFileNames
// Verify the correct file name is created from the untranslatedname
void ProfileTest::testProfileFileNames()
{
Profile::Ptr profile = Profile::Ptr(new Profile);
QFileInfo fileInfo;
ProfileWriter* writer = new KDE4ProfileWriter;
profile->setProperty(Profile::UntranslatedName, "Indiana");
fileInfo.setFile(writer->getPath(profile));
QCOMPARE(fileInfo.fileName(), QString("Indiana.profile"));
profile->setProperty(Profile::UntranslatedName, "Old Paris");
fileInfo.setFile(writer->getPath(profile));
QCOMPARE(fileInfo.fileName(), QString("Old Paris.profile"));
/* FIXME: deal w/ file systems that are case-insensitive
This leads to confusion as both Test and test can appear in the Manager
Profile dialog while really there is only 1 test.profile file.
Suggestions: all lowercase, testing the file system, ...
*/
/*
profile->setProperty(Profile::UntranslatedName, "New Profile");
fileInfo.setFile(writer->getPath(profile));
QCOMPARE(fileInfo.fileName(), QString("new profile.profile"));
*/
/* FIXME: don't allow certain characters in file names
Consider: ,^@=+{}[]~!?:&*\"|#%<>$\"'();`'/\
Suggestions: changing them all to _, just remove them, ...
Bug 315086 comes from a user using / in the profile name - multiple
issues there.
*/
/*
profile->setProperty(Profile::UntranslatedName, "new/profile");
fileInfo.setFile(writer->getPath(profile));
QCOMPARE(fileInfo.fileName(), QString("new_profile.profile"));
*/
delete writer;
}
示例2: createTabFromArgs
void Application::createTabFromArgs(KCmdLineArgs* args, MainWindow* window,
const QHash<QString, QString>& tokens)
{
const QString& title = tokens["title"];
const QString& command = tokens["command"];
const QString& profile = tokens["profile"];
const QString& workdir = tokens["workdir"];
Profile::Ptr baseProfile;
if (!profile.isEmpty()) {
baseProfile = ProfileManager::instance()->loadProfile(profile);
}
if (!baseProfile) {
// fallback to default profile
baseProfile = ProfileManager::instance()->defaultProfile();
}
Profile::Ptr newProfile = Profile::Ptr(new Profile(baseProfile));
newProfile->setHidden(true);
// FIXME: the method of determining whethter to use newProfile does not
// scale well when we support more fields in the future
bool shouldUseNewProfile = false;
if (!command.isEmpty()) {
newProfile->setProperty(Profile::Command, command);
newProfile->setProperty(Profile::Arguments, command.split(' '));
shouldUseNewProfile = true;
}
if (!title.isEmpty()) {
newProfile->setProperty(Profile::LocalTabTitleFormat, title);
newProfile->setProperty(Profile::RemoteTabTitleFormat, title);
shouldUseNewProfile = true;
}
if (args->isSet("workdir")) {
newProfile->setProperty(Profile::Directory, args->getOption("workdir"));
shouldUseNewProfile = true;
}
if (!workdir.isEmpty()) {
newProfile->setProperty(Profile::Directory, workdir);
shouldUseNewProfile = true;
}
// Create the new session
Profile::Ptr theProfile = shouldUseNewProfile ? newProfile : baseProfile;
Session* session = window->createSession(theProfile, QString());
if (!args->isSet("close")) {
session->setAutoClose(false);
}
if (!window->testAttribute(Qt::WA_Resized)) {
window->resize(window->sizeHint());
}
// FIXME: this ugly hack here is to make the session start running, so that
// its tab title is displayed as expected.
//
// This is another side effect of the commit fixing BKO 176902.
window->show();
window->hide();
}
示例3: loadProfile
Profile::Ptr ProfileManager::loadProfile(const QString& shortPath)
{
// the fallback profile has a 'special' path name, "FALLBACK/"
if (shortPath == _fallbackProfile->path())
return _fallbackProfile;
QString path = shortPath;
// add a suggested suffix and relative prefix if missing
QFileInfo fileInfo(path);
if (fileInfo.isDir())
return Profile::Ptr();
if (fileInfo.suffix() != QLatin1String("profile"))
path.append(".profile");
if (fileInfo.path().isEmpty() || fileInfo.path() == QLatin1String("."))
path.prepend(QLatin1String("konsole") + QDir::separator());
// if the file is not an absolute path, look it up
if (!fileInfo.isAbsolute())
path = QStandardPaths::locate(QStandardPaths::GenericDataLocation, path);
// if the file is not found, return immediately
if (path.isEmpty()) {
return Profile::Ptr();
}
// check that we have not already loaded this profile
foreach(const Profile::Ptr& profile, _profiles) {
if (profile->path() == path)
return profile;
}
// guard to prevent problems if a profile specifies itself as its parent
// or if there is recursion in the "inheritance" chain
// (eg. two profiles, A and B, specifying each other as their parents)
static QStack<QString> recursionGuard;
PopStackOnExit<QString> popGuardOnExit(recursionGuard);
if (recursionGuard.contains(path)) {
qWarning() << "Ignoring attempt to load profile recursively from" << path;
return _fallbackProfile;
} else {
recursionGuard.push(path);
}
// load the profile
ProfileReader* reader = new KDE4ProfileReader;
Profile::Ptr newProfile = Profile::Ptr(new Profile(fallbackProfile()));
newProfile->setProperty(Profile::Path, path);
QString parentProfilePath;
bool result = reader->readProfile(path, newProfile, parentProfilePath);
if (!parentProfilePath.isEmpty()) {
Profile::Ptr parentProfile = loadProfile(parentProfilePath);
newProfile->setParent(parentProfile);
}
delete reader;
if (!result) {
qWarning() << "Could not load profile from " << path;
return Profile::Ptr();
} else {
addProfile(newProfile);
return newProfile;
}
}