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


C++ KMPrinter::isClass方法代码示例

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


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

示例1: listJobs

bool KMCupsJobManager::listJobs(const QString& prname, KMJobManager::JobType type, int limit)
{
	IppRequest	req;
	QStringList	keys;
	CupsInfos	*infos = CupsInfos::self();

	// wanted attributes
	keys.append("job-id");
	keys.append("job-uri");
	keys.append("job-name");
	keys.append("job-state");
	keys.append("job-printer-uri");
	keys.append("job-k-octets");
	keys.append("job-originating-user-name");
	keys.append("job-k-octets-completed");
	keys.append("job-media-sheets");
	keys.append("job-media-sheets-completed");
	keys.append("job-priority");
	keys.append("job-billing");

	req.setOperation(IPP_GET_JOBS);

	// add printer-uri
	KMPrinter *mp = KMManager::self()->findPrinter(prname);
	if (!mp)
		return false;

	if (!mp->uri().isEmpty())
	{
		req.addURI(IPP_TAG_OPERATION, "printer-uri", mp->uri().prettyURL());
		/*
		req.setHost(mp->uri().host());
		req.setPort(mp->uri().port());
		*/
	}
	else
		req.addURI(IPP_TAG_OPERATION, "printer-uri", QString("ipp://%1/%2/%3").arg(infos->hostaddr(),
                            (mp&&mp->isClass())?"classes":"printers", prname));

	// other attributes
	req.addKeyword(IPP_TAG_OPERATION, "requested-attributes", keys);
	if (type == KMJobManager::CompletedJobs)
		req.addKeyword(IPP_TAG_OPERATION,"which-jobs",QString::fromLatin1("completed"));
	if (limit > 0)
		req.addInteger(IPP_TAG_OPERATION,"limit",limit);

	// send request
	if (req.doRequest("/"))
		parseListAnswer(req, mp);
	else
		return false;

	return true;
}
开发者ID:,项目名称:,代码行数:54,代码来源:

示例2: slotPrinterSelected

void KMMainView::slotPrinterSelected(const QString &prname)
{
    KMPrinter *p = KMManager::self()->findPrinter(prname);
    m_current = p;
    if(p && !p->isSpecial())
        KMFactory::self()->manager()->completePrinter(p);
    m_printerpages->setPrinter(p);

    // update actions state (only if toolbar enabled, workaround for toolbar
    // problem).
    // if (m_toolbar->isEnabled())
    //{
    int mask = (m_manager->hasManagement() ? m_manager->printerOperationMask() : 0);
    bool sp = !(p && p->isSpecial());
    m_actions->action("printer_remove")->setEnabled(!sp || ((mask & KMManager::PrinterRemoval) && p && p->isLocal() && !p->isImplicit()));
    m_actions->action("printer_configure")->setEnabled(!sp || ((mask & KMManager::PrinterConfigure) && p && !p->isClass(true) /*&& p->isLocal()*/));
    m_actions->action("printer_hard_default")
        ->setEnabled((sp && (mask & KMManager::PrinterDefault) && p && !p->isClass(true) && !p->isHardDefault() && p->isLocal()));
    m_actions->action("printer_soft_default")->setEnabled((p && !p->isSoftDefault()));
    m_actions->action("printer_test")->setEnabled((sp && (mask & KMManager::PrinterTesting) && p && !p->isClass(true)));
    bool stmask = (sp && (mask & KMManager::PrinterEnabling) && p);
    m_actions->action("printer_state_change")->setEnabled(stmask && p->isLocal());
    m_actions->action("printer_spool_change")->setEnabled(stmask);
    m_actions->action("printer_start")->setEnabled((stmask && p->state() == KMPrinter::Stopped));
    m_actions->action("printer_stop")->setEnabled((stmask && p->state() != KMPrinter::Stopped));
    m_actions->action("printer_enable")->setEnabled((stmask && !p->acceptJobs()));
    m_actions->action("printer_disable")->setEnabled((stmask && p->acceptJobs()));

    m_actions->action("printer_add")->setEnabled((mask & KMManager::PrinterCreation));
    mask = m_manager->serverOperationMask();
    m_actions->action("server_restart")->setEnabled((mask & KMManager::ServerRestarting));
    m_actions->action("server_configure")->setEnabled((mask & KMManager::ServerConfigure));

    KMFactory::self()->manager()->validatePluginActions(m_actions, p);
    //}
    m_actions->action("printer_tool")->setEnabled(p && !p->isClass(true) && !p->isRemote() && !p->isSpecial());
}
开发者ID:,项目名称:,代码行数:37,代码来源:

示例3: slotRightButtonClicked

void KMMainView::slotRightButtonClicked(const QString &prname, const QPoint &p)
{
    KMPrinter *printer = KMManager::self()->findPrinter(prname);
    // construct popup menu
    m_pop->clear();
    if(printer)
    {
        m_current = printer;
        if(!printer->isSpecial())
        {
            if(printer->isLocal())
                m_actions->action((printer->state() == KMPrinter::Stopped ? "printer_start" : "printer_stop"))->plug(m_pop);
            m_actions->action((printer->acceptJobs() ? "printer_disable" : "printer_enable"))->plug(m_pop);
            m_pop->insertSeparator();
        }
        if(!printer->isSoftDefault())
            m_actions->action("printer_soft_default")->plug(m_pop);
        if(printer->isLocal() && !printer->isImplicit())
        {
            if(!printer->isHardDefault())
                m_actions->action("printer_hard_default")->plug(m_pop);
            m_actions->action("printer_remove")->plug(m_pop);
            m_pop->insertSeparator();
            if(!printer->isClass(true))
            {
                m_actions->action("printer_configure")->plug(m_pop);
                m_actions->action("printer_test")->plug(m_pop);
                m_actions->action("printer_tool")->plug(m_pop);
                m_pop->insertSeparator();
            }
        }
        else
        {
            if(!printer->isClass(true))
            {
                m_actions->action("printer_configure")->plug(m_pop);
                m_actions->action("printer_test")->plug(m_pop);
            }
            m_pop->insertSeparator();
        }
        if(!printer->isSpecial())
        {
            QValueList< KAction * > pactions = m_actions->actions("plugin");
            for(QValueList< KAction * >::Iterator it = pactions.begin(); it != pactions.end(); ++it)
                (*it)->plug(m_pop);
            if(pactions.count() > 0)
                m_pop->insertSeparator();
        }
    }
    else
    {
        m_actions->action("printer_add")->plug(m_pop);
        m_actions->action("printer_add_special")->plug(m_pop);
        m_pop->insertSeparator();
        m_actions->action("server_restart")->plug(m_pop);
        m_actions->action("server_configure")->plug(m_pop);
        m_pop->insertSeparator();
        m_actions->action("manager_configure")->plug(m_pop);
        m_actions->action("view_refresh")->plug(m_pop);
        m_pop->insertSeparator();
    }
    m_actions->action("view_printerinfos")->plug(m_pop);
    m_actions->action("view_change")->plug(m_pop);
    m_actions->action("orientation_change")->plug(m_pop);
    m_actions->action("view_toolbar")->plug(m_pop);
    m_actions->action("view_menubar")->plug(m_pop);
    m_pop->insertSeparator();
    m_actions->action("view_pfilter")->plug(m_pop);

    // pop the menu
    m_pop->popup(p);
}
开发者ID:,项目名称:,代码行数:72,代码来源:


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