SystrayPlugin::SystrayPlugin(const KDesktopFile & serviceDesktopFile, QString dbusServiceName, QObject * parent): QObject(parent), d(new Private()) { static QString dbusBase = QLatin1String(NSERVICE_DBUS_NAME_PREFIX".%1"); d->init = false; d->name = serviceDesktopFile.readName();; d->shortName = d->name; d->description = serviceDesktopFile.readComment(); d->dbusServiceName = dbusServiceName; d->dbusServiceAddress = dbusBase.arg(dbusServiceName); d->controlInterface = 0; d->watcher = 0; d->devMode = false; d->startStopAction = 0; // Connect some signals connect(this, SIGNAL(shortStatusChanged(Nepomuk::SystrayPlugin*,Nepomuk::SystrayPlugin::ShortStatus)), this, SIGNAL(changed(Nepomuk::SystrayPlugin*)) ); connect(this, SIGNAL(statusMessageChanged(Nepomuk::SystrayPlugin*,QString)), this, SIGNAL(changed(Nepomuk::SystrayPlugin*)) ); }
// KDE5 TODO: merge with comment()? Need to see what lxr says about the usage of both. QString KFileItem::mimeComment() const { if (!d) { return QString(); } const QString displayType = d->m_entry.stringValue(KIO::UDSEntry::UDS_DISPLAY_TYPE); if (!displayType.isEmpty()) { return displayType; } bool isLocalUrl; QUrl url = mostLocalUrl(&isLocalUrl); QMimeType mime = currentMimeType(); // This cannot move to kio_file (with UDS_DISPLAY_TYPE) because it needs // the mimetype to be determined, which is done here, and possibly delayed... if (isLocalUrl && !d->isSlow() && mime.inherits(QStringLiteral("application/x-desktop"))) { KDesktopFile cfg(url.toLocalFile()); QString comment = cfg.desktopGroup().readEntry("Comment"); if (!comment.isEmpty()) { return comment; } } // Support for .directory file in directories if (isLocalUrl && isDir() && isDirectoryMounted(url)) { QUrl u(url); u.setPath(u.path() + QLatin1String("/.directory")); const KDesktopFile cfg(u.toLocalFile()); const QString comment = cfg.readComment(); if (!comment.isEmpty()) { return comment; } } const QString comment = mime.comment(); //qDebug() << "finding comment for " << url.url() << " : " << d->m_mimeType->name(); if (!comment.isEmpty()) { return comment; } else { return mime.name(); } }
void BasicTab::setEntryInfo(MenuEntryInfo *entryInfo) { blockSignals(true); _menuFolderInfo = 0; _menuEntryInfo = entryInfo; if (!entryInfo) { _nameEdit->clear(); _descriptionEdit->clear(); _commentEdit->clear(); _iconButton->setIcon( QString() ); // key binding part _keyEdit->clearKeySequence(); _execEdit->lineEdit()->clear(); _systrayCB->setChecked(false); _onlyShowInKdeCB->setChecked( false ); _hiddenEntryCB->setChecked( false ); _pathEdit->lineEdit()->clear(); _termOptEdit->clear(); _uidEdit->clear(); _launchCB->setChecked(false); _terminalCB->setChecked(false); _uidCB->setChecked(false); enableWidgets(true, true); blockSignals(false); return; } KDesktopFile *df = entryInfo->desktopFile(); _nameEdit->setText(df->readName()); _descriptionEdit->setText(df->readGenericName()); _descriptionEdit->setCursorPosition(0); _commentEdit->setText(df->readComment()); _commentEdit->setCursorPosition(0); _iconButton->setIcon(df->readIcon()); // key binding part if( KHotKeys::present()) { if ( !entryInfo->shortcut().isEmpty() ) _keyEdit->setKeySequence( entryInfo->shortcut().primary() ); else _keyEdit->clearKeySequence(); } QString temp = df->desktopGroup().readEntry("Exec"); if (temp.startsWith(QLatin1String("ksystraycmd "))) { _execEdit->lineEdit()->setText(temp.right(temp.length()-12)); _systrayCB->setChecked(true); } else { _execEdit->lineEdit()->setText(temp); _systrayCB->setChecked(false); } _pathEdit->lineEdit()->setText(df->readPath()); _termOptEdit->setText(df->desktopGroup().readEntry("TerminalOptions")); _uidEdit->setText(df->desktopGroup().readEntry("X-KDE-Username")); if( df->desktopGroup().hasKey( "StartupNotify" )) _launchCB->setChecked(df->desktopGroup().readEntry("StartupNotify", true)); else // backwards comp. _launchCB->setChecked(df->desktopGroup().readEntry("X-KDE-StartupNotify", true)); _onlyShowInKdeCB->setChecked( df->desktopGroup().readXdgListEntry("OnlyShowIn").contains( "KDE" ) ); // or maybe enable only if it contains nothing but KDE? if ( df->desktopGroup().hasKey( "NoDisplay" ) ) _hiddenEntryCB->setChecked( df->desktopGroup().readEntry( "NoDisplay", true ) ); else _hiddenEntryCB->setChecked( false ); if(df->desktopGroup().readEntry("Terminal", 0) == 1) _terminalCB->setChecked(true); else _terminalCB->setChecked(false); _uidCB->setChecked(df->desktopGroup().readEntry("X-KDE-SubstituteUID", false)); enableWidgets(true, entryInfo->hidden); blockSignals(false); }
void BasicTab::setEntryInfo(MenuEntryInfo *entryInfo) { blockSignals(true); _menuFolderInfo = 0; _menuEntryInfo = entryInfo; if (!entryInfo) { _nameEdit->setText(TQString::null); _descriptionEdit->setText(TQString::null); _commentEdit->setText(TQString::null); _iconButton->setIcon(TQString::null); // key binding part _keyEdit->setShortcut( TDEShortcut(), false ); _execEdit->lineEdit()->setText(TQString::null); _systrayCB->setChecked(false); _pathEdit->lineEdit()->setText(TQString::null); _termOptEdit->setText(TQString::null); _uidEdit->setText(TQString::null); _launchCB->setChecked(false); _terminalCB->setChecked(false); _uidCB->setChecked(false); enableWidgets(true, true); blockSignals(false); return; } KDesktopFile *df = entryInfo->desktopFile(); _nameEdit->setText(df->readName()); _descriptionEdit->setText(df->readGenericName()); _descriptionEdit->setCursorPosition(0); _commentEdit->setText(df->readComment()); _commentEdit->setCursorPosition(0); _iconButton->setIcon(df->readIcon()); // key binding part if( KHotKeys::present()) { _keyEdit->setShortcut( entryInfo->shortcut(), false ); } TQString temp = df->readPathEntry("Exec"); if (temp.left(12) == "ksystraycmd ") { _execEdit->lineEdit()->setText(temp.right(temp.length()-12)); _systrayCB->setChecked(true); } else { _execEdit->lineEdit()->setText(temp); _systrayCB->setChecked(false); } _pathEdit->lineEdit()->setText(df->readPath()); _termOptEdit->setText(df->readEntry("TerminalOptions")); if( df->hasKey( "X-TDE-Username" )) { _uidEdit->setText(df->readEntry("X-TDE-Username")); } else { _uidEdit->setText(df->readEntry("X-KDE-Username")); } if( df->hasKey( "StartupNotify" )) _launchCB->setChecked(df->readBoolEntry("StartupNotify", true)); else // backwards comp. _launchCB->setChecked(df->readBoolEntry("X-TDE-StartupNotify", true)); if(df->readNumEntry("Terminal", 0) == 1) _terminalCB->setChecked(true); else _terminalCB->setChecked(false); _uidCB->setChecked(df->readBoolEntry("X-TDE-SubstituteUID", false) || df->readBoolEntry("X-KDE-SubstituteUID", false)); enableWidgets(true, entryInfo->hidden); blockSignals(false); }