当前位置: 首页>>代码示例>>C++>>正文


C++ KConfig::entryIsImmutable方法代码示例

本文整理汇总了C++中KConfig::entryIsImmutable方法的典型用法代码示例。如果您正苦于以下问题:C++ KConfig::entryIsImmutable方法的具体用法?C++ KConfig::entryIsImmutable怎么用?C++ KConfig::entryIsImmutable使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在KConfig的用法示例。


在下文中一共展示了KConfig::entryIsImmutable方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: main

int main(int argc, char **argv)
{
    KAboutData aboutData("kwriteconfig", I18N_NOOP("KWriteConfig"), "1.0.0", I18N_NOOP("Write KConfig entries - for use in shell scripts"),
                         KAboutData::License_GPL, "(c) 2001 Red Hat, Inc. & Luís Pedro Coelho");
    aboutData.addAuthor("Luís Pedro Coelho", 0, "[email protected]");
    aboutData.addAuthor("Bernhard Rosenkraenzer", "Wrote kreadconfig on which this is based", "[email protected]");
    KCmdLineArgs::init(argc, argv, &aboutData);
    KCmdLineArgs::addCmdLineOptions(options);
    KCmdLineArgs *args = KCmdLineArgs::parsedArgs();

    QString group = QString::fromLocal8Bit(args->getOption("group"));
    QString key = QString::fromLocal8Bit(args->getOption("key"));
    QString file = QString::fromLocal8Bit(args->getOption("file"));
    QCString type = args->getOption("type").lower();


    if(key.isNull() || !args->count())
    {
        KCmdLineArgs::usage();
        return 1;
    }
    QCString value = args->arg(0);

    KInstance inst(&aboutData);

    KConfig *konfig;
    if(file.isEmpty())
        konfig = new KConfig(QString::fromLatin1("kdeglobals"), false, false);
    else
        konfig = new KConfig(file, false, false);

    konfig->setGroup(group);
    if(konfig->getConfigState() != KConfig::ReadWrite || konfig->entryIsImmutable(key))
        return 2;

    if(type == "bool")
    {
        // For symmetry with kreadconfig we accept a wider range of values as true than Qt
        bool boolvalue = (value == "true" || value == "on" || value == "yes" || value == "1");
        konfig->writeEntry(key, boolvalue);
    }
    else if(type == "path")
    {
        konfig->writePathEntry(key, QString::fromLocal8Bit(value));
    }
    else
    {
        konfig->writeEntry(key, QString::fromLocal8Bit(value));
    }
    konfig->sync();
    delete konfig;
    return 0;
}
开发者ID:serghei,项目名称:kde3-kdebase,代码行数:53,代码来源:kwriteconfig.cpp

示例2: load

void KDesktopConfig::load( bool useDefaults )
{
  // get number of desktops
  NETRootInfo info( qt_xdisplay(), NET::NumberOfDesktops | NET::DesktopNames );
  int n = info.numberOfDesktops();

  int konq_screen_number = 0;
  if (qt_xdisplay())
     konq_screen_number = DefaultScreen(qt_xdisplay());

  QCString groupname;
  if (konq_screen_number == 0)
     groupname = "Desktops";
  else
     groupname.sprintf("Desktops-screen-%d", konq_screen_number);

  KConfig * kwinconfig = new KConfig("kwinrc");

  kwinconfig->setReadDefaults( useDefaults );

  kwinconfig->setGroup("Desktops");
  for(int i = 1; i <= maxDesktops; i++)
  {
    QString key_name(QString("Name_") + QString::number(i));
    QString name = QString::fromUtf8(info.desktopName(i));
    if (name.isEmpty()) // Get name from configuration if none is set in the WM.
    {
        name = kwinconfig->readEntry(key_name, i18n("Desktop %1").arg(i));
    }
    _nameInput[i-1]->setText(name);

    // Is this entry immutable or not in the range of configured desktops?
    _labelImmutable[i - 1] = kwinconfig->entryIsImmutable(key_name);
    _nameInput[i-1]->setEnabled(i <= n && !_labelImmutable[i - 1]);
  }

  _numInput->setEnabled(!kwinconfig->entryIsImmutable("Number"));

  delete kwinconfig;
  kwinconfig = 0;

  QString configfile;
  if (konq_screen_number == 0)
      configfile = "kdesktoprc";
  else
      configfile.sprintf("kdesktop-screen-%drc", konq_screen_number);

  KConfig *config = new KConfig(configfile, false, false);

  config->setReadDefaults( useDefaults );

  config->setGroup("Mouse Buttons");
  _wheelOption->setChecked(config->readBoolEntry("WheelSwitchesWorkspace",false));

  _wheelOptionImmutable = config->entryIsImmutable("WheelSwitchesWorkspace");

  if (_wheelOptionImmutable || n<2)
     _wheelOption->setEnabled( false );

  delete config;
  config = 0;

  _numInput->setValue(n);
  emit changed( useDefaults );
}
开发者ID:,项目名称:,代码行数:65,代码来源:


注:本文中的KConfig::entryIsImmutable方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。