本文整理汇总了C++中KviThemeInfo::name方法的典型用法代码示例。如果您正苦于以下问题:C++ KviThemeInfo::name方法的具体用法?C++ KviThemeInfo::name怎么用?C++ KviThemeInfo::name使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KviThemeInfo
的用法示例。
在下文中一共展示了KviThemeInfo::name方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: theme_kvs_cmd_apply
/*
@doc: theme.apply
@type:
command
@title:
theme.apply
@short:
Apply a theme.
@syntax:
theme.apply <package_name:string>
@description:
Attempts to apply the theme specified by <package_name>.
*/
static bool theme_kvs_cmd_apply(KviKvsModuleCommandCall * c)
{
QString szThemePackFile;
KVSM_PARAMETERS_BEGIN(c)
KVSM_PARAMETER("package_name",KVS_PT_STRING,0,szThemePackFile)
KVSM_PARAMETERS_END(c)
KviThemeInfo * themeInfo = new KviThemeInfo();
if(themeInfo->load(szThemePackFile))
{
themeInfo->setSubdirectory(szThemePackFile);
if(KviMessageBox::yesNo(__tr2qs_ctx("Apply theme - KVIrc","theme"),
__tr2qs_ctx("Do you wish to apply theme \"%Q\" (version %Q)?","theme"),
&(themeInfo->name()),&(themeInfo->version())))
{
KviThemeInfo out;
if(!KviTheme::load(szThemePackFile,out))
{
QString szErr = out.lastError();
QString szMsg = QString(__tr2qs_ctx("Failed to apply the specified theme: %1","theme")).arg(szErr);
QMessageBox::critical(0,__tr2qs_ctx("Apply theme - KVIrc","theme"),szMsg,
QMessageBox::Ok,QMessageBox::NoButton,QMessageBox::NoButton);
}
return true;
}
}
c->warning(__tr2qs_ctx("The theme package '%Q' does not exist","theme"),&szThemePackFile);
return true;
}
示例2: theme_kvs_fnc_info
/*
@doc: theme.info
@type:
function
@title:
theme.info
@short:
Return info about an user defined theme.
@syntax:
<themes_list:string> $theme.info(<theme_name:string>)
@description:
Returns as hash the info about an user definded theme.
Hash keys are: name, version, author, description.
*/
static bool theme_kvs_fnc_info(KviKvsModuleFunctionCall * c)
{
QString szThemePackFile;
KVSM_PARAMETERS_BEGIN(c)
KVSM_PARAMETER("package_name",KVS_PT_STRING,0,szThemePackFile)
KVSM_PARAMETERS_END(c)
KviThemeInfo * themeInfo = new KviThemeInfo();
if(themeInfo->load(szThemePackFile))
{
KviKvsHash *pHash=new KviKvsHash();
KviKvsVariant *name=new KviKvsVariant(themeInfo->name());
pHash->set("name",name);
KviKvsVariant *version=new KviKvsVariant(themeInfo->version());
pHash->set("version",version);
KviKvsVariant *author=new KviKvsVariant(themeInfo->author());
pHash->set("author",author);
KviKvsVariant *description=new KviKvsVariant(themeInfo->description());
pHash->set("description",description);
c->returnValue()->setHash(pHash);
return true;
}
c->warning(__tr2qs_ctx("The theme package '%Q' does not exist","theme"),&szThemePackFile);
return true;
}
示例3: deleteTheme
void ThemeManagementDialog::deleteTheme()
{
QList<QListWidgetItem *> itemsSelected = m_pListWidget->selectedItems();
for(int i=0; i < itemsSelected.count(); i++)
{
ThemeListWidgetItem * pItem = dynamic_cast<ThemeListWidgetItem *>(itemsSelected.at(i));
if(!pItem)
return;
KviThemeInfo * pInfo = pItem->themeInfo();
if(pInfo->isBuiltin())
continue;
if(!KviMessageBox::yesNo(
__tr2qs_ctx("Delete Theme - KVIrc","theme"),
__tr2qs_ctx("Do you really wish to delete theme \"%Q\" (version %Q)?","theme"),
&(pInfo->name()), &(pInfo->version()))
)
goto jump_out;
QString szThemePath = ((ThemeListWidgetItem *)itemsSelected.at(i))->themeInfo()->directory();
KviFileUtils::deleteDir(szThemePath);
}
jump_out:
fillThemeBox();
}
示例4: theme_kvs_fnc_info
static bool theme_kvs_fnc_info(KviKvsModuleFunctionCall * c)
{
QString szTheme;
KVSM_PARAMETERS_BEGIN(c)
KVSM_PARAMETER("theme", KVS_PT_STRING, 0, szTheme)
KVSM_PARAMETERS_END(c)
KviKvsHash * pHash = new KviKvsHash();
c->returnValue()->setHash(pHash);
KviThemeInfo theme;
if(!theme.load(szTheme, KviThemeInfo::Auto))
{
c->warning(__tr2qs_ctx("The theme package '%Q' doesn't exist", "theme"), &szTheme);
return true;
}
pHash->set("name", new KviKvsVariant(theme.name()));
pHash->set("version", new KviKvsVariant(theme.version()));
pHash->set("author", new KviKvsVariant(theme.author()));
pHash->set("description", new KviKvsVariant(theme.description()));
return true;
}
示例5: packageThemes
bool packageThemes(
const QString &szPackagePath,
const QString &szPackageName,
const QString &szPackageVersion,
const QString &szPackageDescription,
const QString &szPackageAuthor,
const QString &szPackageImagePath,
KviPointerList<KviThemeInfo> &lThemeInfoList,
QString &szError
)
{
if(szPackagePath.isEmpty())
{
szError = __tr2qs_ctx("Invalid empty package path","theme");
return false;
}
if(szPackageName.isEmpty())
{
szError = __tr2qs_ctx("Invalid empty package name","theme");
return false;
}
QPixmap out;
if(!szPackageImagePath.isEmpty())
{
QImage pix(szPackageImagePath);
if(pix.isNull())
{
szError = __tr2qs_ctx("Failed to load the selected image: please fix it","theme");
return false;
}
if((pix.width() > 300) || (pix.height() > 225))
out = out.fromImage(pix.scaled(300,225,Qt::KeepAspectRatio));
else
out=out.fromImage(pix);
}
KviPackageWriter f;
f.addInfoField("PackageType","ThemePack");
f.addInfoField("ThemePackVersion",KVI_CURRENT_THEME_ENGINE_VERSION);
f.addInfoField("Name",szPackageName);
f.addInfoField("Version",szPackageVersion.isEmpty() ? "1.0.0" : szPackageVersion);
f.addInfoField("Author",szPackageAuthor);
f.addInfoField("Description",szPackageDescription);
// this is the equivalent to an empty date.toString() call, but it's needed
// to ensure qt4 will use the default() locale and not the system() one
f.addInfoField("Date",QDateTime::currentDateTime().toString(Qt::ISODate));
f.addInfoField("Application","KVIrc " KVI_VERSION "." KVI_SOURCES_DATE);
if(!out.isNull())
{
QByteArray * pba = new QByteArray();
QBuffer buffer(pba,0);
buffer.open(QIODevice::WriteOnly);
out.save(&buffer,"PNG");
buffer.close();
f.addInfoField("Image",pba); // cool :) [no disk access needed]
}
QString szTmp;
szTmp.setNum(lThemeInfoList.count());
f.addInfoField("ThemeCount",szTmp);
int iIdx = 0;
for(KviThemeInfo * pInfo = lThemeInfoList.first();pInfo;pInfo = lThemeInfoList.next())
{
if(pInfo->name().isEmpty())
{
szError = __tr2qs_ctx("Invalid theme name","theme");
return false;
}
if(pInfo->version().isEmpty())
{
szError = __tr2qs_ctx("Invalid theme version","theme");
return false;
}
QString szSubdir = pInfo->name() + QString("-") + pInfo->version();
szSubdir.replace(QRegExp("[^a-zA-Z0-9_\\-.][^a-zA-Z0-9_\\-.]*"),"_");
szTmp = QString("Theme%1Name").arg(iIdx);
f.addInfoField(szTmp,pInfo->name());
szTmp = QString("Theme%1Version").arg(iIdx);
f.addInfoField(szTmp,pInfo->version());
szTmp = QString("Theme%1Description").arg(iIdx);
f.addInfoField(szTmp,pInfo->description());
szTmp = QString("Theme%1Date").arg(iIdx);
f.addInfoField(szTmp,pInfo->date());
szTmp = QString("Theme%1Subdirectory").arg(iIdx);
f.addInfoField(szTmp,szSubdir);
szTmp = QString("Theme%1Author").arg(iIdx);
f.addInfoField(szTmp,pInfo->author());
szTmp = QString("Theme%1Application").arg(iIdx);
f.addInfoField(szTmp,pInfo->application());
szTmp = QString("Theme%1ThemeEngineVersion").arg(iIdx);
//.........这里部分代码省略.........
示例6: rx
SaveThemeDialog::SaveThemeDialog(QWidget * pParent)
: KviTalWizard(pParent)
{
setWindowTitle(__tr2qs_ctx("Save Current Theme - KVIrc","theme"));
setMinimumSize(400,350);
KviThemeInfo info;
info.load(KVI_OPTION_STRING(KviOption_stringIconThemeSubdir),KviThemeInfo::Auto);
// welcome page ==================================================================================
QWidget * pPage = new QWidget(this);
QGridLayout * pLayout = new QGridLayout(pPage);
QLabel * pLabel = new QLabel(pPage);
pLabel->setWordWrap(true);
QString szText = "<p>";
szText += __tr2qs_ctx("This procedure allows you to save the current theme settings to a single directory. It is useful if you want to apply other themes or play with the theme settings and later come back to this theme with a single click. It will also allow you to manually modify the theme settings and later export them to a distributable package.","theme");
szText += "</p><p>";
szText += __tr2qs_ctx("You will be asked to provide a theme name, a description and, if you want, a screenshot.","theme");
szText += "</p><p>";
szText += __tr2qs_ctx("Hit the \"Next\" button to begin.","theme");
szText += "<p>";
pLabel->setText(szText);
pLayout->addWidget(pLabel,0,0);
pLayout->setRowStretch(1,1);
addPage(pPage,__tr2qs_ctx("Welcome","theme"));
setBackEnabled(pPage,false);
setNextEnabled(pPage,true);
setHelpEnabled(pPage,false);
setFinishEnabled(pPage,false);
// packager information ================================================================================
pPage = new QWidget(this);
pLayout = new QGridLayout(pPage);
pLabel = new QLabel(pPage);
pLabel->setText(__tr2qs_ctx("Here you need to provide information about you (the author) and a short description of the theme you're creating.","theme"));
pLabel->setWordWrap(true);
pLabel->setTextFormat(Qt::RichText);
pLayout->addWidget(pLabel,0,0,1,2);
pLabel = new QLabel(pPage);
pLabel->setText(__tr2qs_ctx("Theme Name:","theme"));
pLayout->addWidget(pLabel,1,0);
m_pThemeNameEdit = new QLineEdit(pPage);
m_pThemeNameEdit->setText(info.name());
pLayout->addWidget(m_pThemeNameEdit,1,1);
pLabel = new QLabel(pPage);
pLabel->setText(__tr2qs_ctx("Version:","theme"));
pLayout->addWidget(pLabel,2,0);
m_pThemeVersionEdit = new QLineEdit(pPage);
m_pThemeVersionEdit->setText(info.version());
QRegExp rx("\\d{1,2}\\.\\d{1,2}(\\.\\d{1,2})?");
QValidator *validator = new QRegExpValidator(rx, this);
m_pThemeVersionEdit->setValidator(validator);
pLayout->addWidget(m_pThemeVersionEdit,2,1);
pLabel = new QLabel(pPage);
pLabel->setText(__tr2qs_ctx("Description:","theme"));
pLayout->addWidget(pLabel,3,0);
m_pThemeDescriptionEdit = new QTextEdit(pPage);
m_pThemeDescriptionEdit->setText(info.description());
pLayout->addWidget(m_pThemeDescriptionEdit,3,1);
pLabel = new QLabel(pPage);
pLabel->setText(__tr2qs_ctx("Theme Author:","theme"));
pLayout->addWidget(pLabel,4,0);
m_pAuthorNameEdit = new QLineEdit(pPage);
m_pAuthorNameEdit->setText(info.author());
pLayout->addWidget(m_pAuthorNameEdit,4,1);
pLayout->setRowStretch(3,1);
pLayout->setColumnStretch(1,1);
addPage(pPage,__tr2qs_ctx("Theme Information","theme"));
setBackEnabled(pPage,true);
setHelpEnabled(pPage,false);
setNextEnabled(pPage,true);
setFinishEnabled(pPage,false);
// screenshot/logo/icon ================================================================================
pPage = new QWidget(this);
pLayout = new QGridLayout(pPage);
pLabel = new QLabel(pPage);
pLabel->setText(__tr2qs_ctx("Here you can either choose a screenshot image from disk or make one now. The screenshot will be displayed in the tooltips of the theme management dialog and will be also visible in the package installation dialog if you will export the theme to a distributable package.","theme"));
pLabel->setWordWrap(true);
pLabel->setTextFormat(Qt::RichText);
pLayout->addWidget(pLabel,0,0);
//.........这里部分代码省略.........
示例7: saveTheme
bool SaveThemeDialog::saveTheme()
{
m_pImageSelector->commit();
KviThemeInfo sto;
sto.setName(m_pThemeNameEdit->text());
if(sto.name().isEmpty())
{
QMessageBox::critical(this,__tr2qs_ctx("Save Current Theme - KVIrc","theme"),__tr2qs_ctx("You must choose a theme name!","theme"),QMessageBox::Ok,
QMessageBox::NoButton,QMessageBox::NoButton);
return false;
}
sto.setAuthor(m_pAuthorNameEdit->text());
sto.setDescription(m_pThemeDescriptionEdit->toPlainText());
// this is the equivalent to an empty date.toString() call, but it's needed
// to ensure qt4 will use the default() locale and not the system() one
sto.setDate(QLocale().toString(QDateTime::currentDateTime(), "ddd MMM d hh:mm:ss yyyy"));
sto.setVersion(m_pThemeVersionEdit->text());
sto.setApplication("KVIrc " KVI_VERSION "." KVI_SOURCES_DATE);
if(sto.version().isEmpty())
sto.setVersion("1.0.0");
QString szSubdir = sto.name() + QString("-") + sto.version();
szSubdir.replace(QRegExp("[^a-zA-Z0-9_\\-.][^a-zA-Z0-9_\\-.]*"),"_");
sto.setDirectoryAndLocation(szSubdir,KviThemeInfo::User);
QString szAbsDir = sto.directory();
if(!KviFileUtils::makeDir(szAbsDir))
{
QMessageBox::critical(this,__tr2qs_ctx("Save Current Theme - KVIrc","theme"),__tr2qs_ctx("Unable to create theme directory.","theme"),
QMessageBox::Ok,QMessageBox::NoButton,QMessageBox::NoButton);
return false;
}
if(!KviTheme::save(sto))
{
QString szErr = sto.lastError();
QString szMsg2 = QString(__tr2qs_ctx("Unable to save theme: %1","theme")).arg(szErr);
QMessageBox::critical(this,__tr2qs_ctx("Save Current Theme - KVIrc","theme"),szMsg2,
QMessageBox::Ok,QMessageBox::NoButton,QMessageBox::NoButton);
return false;
}
// write down the screenshot, if needed
if(!m_szScreenshotPath.isEmpty())
{
if(!KviTheme::saveScreenshots(sto,m_szScreenshotPath))
{
QMessageBox::critical(this,__tr2qs_ctx("Save Current Theme - KVIrc","theme"),__tr2qs_ctx("Failed to load the selected screenshot image: please fix it","theme"),
QMessageBox::Ok,QMessageBox::NoButton,QMessageBox::NoButton);
setCurrentPage(m_pImageSelectionPage);
return false;
}
}
QString szMsg = __tr2qs_ctx("Theme saved successfully to %1","theme").arg(szAbsDir);
QMessageBox::information(this,__tr2qs_ctx("Save Theme - KVIrc","theme"),szMsg,QMessageBox::Ok,
QMessageBox::NoButton,QMessageBox::NoButton);
return true;
}
示例8: parseThemes
void PackThemeDataWidget::parseThemes(KviPointerList<KviThemeInfo> * pThemeInfoList)
{
QString szPackageName;
QString szPackageAuthor;
QString szPackageDescription;
QString szPackageVersion;
KviThemeInfo * pThemeInfo = 0;
bool bPackagePathSet = false;
QString szPackagePath = QDir::homePath();
KviQString::ensureLastCharIs(szPackagePath,QChar(KVI_PATH_SEPARATOR_CHAR));
if(pThemeInfoList->count() > 1)
{
szPackageName = "MyThemes";
szPackageAuthor = __tr2qs_ctx("Your name here","theme");
szPackageVersion = "1.0.0";
szPackageDescription = __tr2qs_ctx("Put a package description here...","theme");
} else {
if(pThemeInfoList->count() > 0)
{
pThemeInfo = pThemeInfoList->first();
szPackageName = pThemeInfo->subdirectory();
szPackageAuthor = pThemeInfo->author();
szPackageDescription = pThemeInfo->description();
szPackageVersion = pThemeInfo->version();
szPackagePath += pThemeInfo->subdirectory();
if(szPackagePath.indexOf(QRegExp("[0-9]\\.[0-9]")) == -1)
{
szPackagePath += "-";
szPackagePath += szPackageVersion;
}
szPackagePath += KVI_FILEEXTENSION_THEMEPACKAGE;
bPackagePathSet = true;
}
}
if(!bPackagePathSet)
{
szPackagePath += szPackageName;
szPackagePath += "-";
szPackagePath += szPackageVersion;
szPackagePath += KVI_FILEEXTENSION_THEMEPACKAGE;
}
QVBoxLayout * pLayout = new QVBoxLayout(this);
QString szThemesDescription = "<html><body bgcolor=\"#ffffff\">";
int iIdx = 0;
QPixmap pixScreenshot;
QString szScreenshotPath;
for(pThemeInfo = pThemeInfoList->first(); pThemeInfo; pThemeInfo = pThemeInfoList->next())
{
QString szThemeDescription;
if(pixScreenshot.isNull())
{
pixScreenshot = pThemeInfo->smallScreenshot();
if(!pixScreenshot.isNull())
szScreenshotPath = pThemeInfo->smallScreenshotPath();
}
ThemeFunctions::getThemeHtmlDescription(
szThemeDescription,
pThemeInfo->name(),
pThemeInfo->version(),
pThemeInfo->description(),
pThemeInfo->subdirectory(),
pThemeInfo->application(),
pThemeInfo->author(),
pThemeInfo->date(),
pThemeInfo->themeEngineVersion(),
pThemeInfo->smallScreenshot(),
iIdx
);
if(iIdx > 0)
szThemesDescription += "<hr>";
szThemesDescription += szThemeDescription;
iIdx++;
}
szThemesDescription += "</body></html>";
QTextEdit * pTextEdit = new QTextEdit(this);
pTextEdit->setBackgroundRole(QPalette::Window);
pTextEdit->setReadOnly(true);
QTextDocument * pDoc = new QTextDocument(pTextEdit);
pDoc->setHtml(szThemesDescription);
pTextEdit->setDocument(pDoc);
pLayout->addWidget(pTextEdit);
setField("packageName",QVariant(szPackageName));
setField("packageVersion",szPackageVersion);
setField("packageDescription",szPackageDescription);
//.........这里部分代码省略.........