Exemplo n.º 1
0
void QuickLauncher::addAppBeforeManually(TQString url, TQString sender)
{
    if (sender.isNull())
    {
        addApp(url, Append, true);
    }
    int pos = findApp(sender);
    if (pos < 0) 
    {
        pos = Append;
    }
    DEBUGSTR << "QuickLauncher::addAppBefore(" << url << 
                "," << sender << "):  pos=" << pos << endl << flush;
    addApp(url, pos, true);
}
Exemplo n.º 2
0
void QuickLauncher::loadConfig()
{
    DEBUGSTR << "QuickLauncher::loadConfig()" << endl << flush;
    //TDEConfig *c = config();
    //c->setGroup("General");
    setConserveSpace(m_settings->conserveSpace());
    setDragEnabled(m_settings->dragEnabled());
    /*DEBUGSTR << "    IconDim="<<m_iconDim << endl << flush;
    DEBUGSTR << "    ConserveSpace=" << (m_manager->conserveSpace()) << 
        endl << flush;
    DEBUGSTR << "    DragEnabled=" << isDragEnabled() << endl << flush;*/
    TQStringList volatileButtons = m_settings->volatileButtons();
    TQStringList urls = m_settings->buttons();
    if (m_settings->showDesktopEnabled()) {
        if (!urls.contains("SPECIAL_BUTTON__SHOW_DESKTOP"))
            urls.prepend("SPECIAL_BUTTON__SHOW_DESKTOP");
    }
    else {
        if (urls.contains("SPECIAL_BUTTON__SHOW_DESKTOP"))
            urls.remove("SPECIAL_BUTTON__SHOW_DESKTOP");
    }
    kdDebug() << "GetButtons " << urls.join("/") << endl;
    TQStringList::Iterator iter(urls.begin());
    int n = 0;
    while (iter != urls.end()) {
        TQString url = *iter;
        addApp(url, n, false);
        ++iter;
        ++n;
    }

    // Restore sticky state
    for (n=0; n<int(m_buttons->size()); ++n)
    {
        QuickButton* button = (*m_buttons)[n];
        if (volatileButtons.contains(button->menuId()) == false)
        {
            button->setSticky(true);
        }
        button->setDynamicModeEnabled(m_settings->autoAdjustEnabled());
    }

    m_popularity->readConfig(m_settings);
    m_popularity->setHistoryHorizon(m_settings->historyHorizon()/100.0);

    TQStringList serviceNames = m_settings->serviceNames();
    TQValueList<int> insPos = m_settings->serviceInspos();
    for (int n=std::min(serviceNames.size(),insPos.size())-1; n>=0; --n)
    {
        m_appOrdering[serviceNames[n]] = insPos[n];
    }
}
QList<QAction*> CustomDesktopMenu::contextualActions()
{
  qDeleteAll(m_actions);
  m_actions.clear();
  
  if (!menuconfig.isEmpty()) {
    QList<QMenu*> menuList;
    menuList.append(0);
    QMenu* curMenu = 0;
    QStringList configLines = menuconfig.split( "\n", QString::SkipEmptyParts );
    foreach( QString cfgLine, configLines ) {
      if (!cfgLine.startsWith("#")) {
        if (cfgLine.startsWith("-")) {
          addSep(curMenu);
        } else if (cfgLine.endsWith(".desktop")) {
          addApp(curMenu, cfgLine);
        } else if (cfgLine.startsWith("[menu]")) {
          QStringList cfgParts = cfgLine.split( "\t", QString::SkipEmptyParts );
          if (cfgParts.size() == 3) {
            curMenu = addMnu(curMenu, cfgParts[2], cfgParts[1]);
            menuList.append(curMenu);
          } else if (cfgParts.size() == 2) {
            curMenu = addMnu(curMenu, "", cfgParts[1]);
            menuList.append(curMenu);
          }
        } else if (cfgLine.startsWith("[end]")) {
          menuList.removeLast();
          curMenu = menuList.last();
        } else if (cfgLine == "{favorites}") {
          fillFavorites(curMenu);
        } else if (cfgLine.startsWith("{programs}")) {
          QStringList cfgParts = cfgLine.split( "\t", QString::SkipEmptyParts );
          if (cfgParts.size() == 2) {
            fillPrograms(curMenu, cfgParts[1]);
          } else {
            fillPrograms(curMenu, "/");
          }
        } else {
          QStringList cfgParts = cfgLine.split( "\t", QString::SkipEmptyParts );
          if (cfgParts.size() == 3) {
            addCmd(curMenu, cfgParts[1], cfgParts[0], cfgParts[2]);
          } else if (cfgParts.size() == 2) {
            addCmd(curMenu, "", cfgParts[0], cfgParts[1]);
          } else {
            addItm(curMenu, "", cfgParts[0]);
          }
        }
      }
    }
  }
Exemplo n.º 4
0
QDocker::QDocker(QWidget *parent) : QWidget(parent)
{
    m_web = new QWebView(this);

    //m_web->setWindowFlags(Qt::FramelessWindowHint);
    m_appCount = 0;
    initUI();
    addApp((LOCAL("xjb/公务卡系统3.4.0/GwCard.exe")),LOCAL("公务卡"));
    addApp(LOCAL("xjb/县区财政预算执行系统系统管理3.4.0/jy.exe"),LOCAL("系统管理"));
    addApp((LOCAL("xjb/县区财政预算总会计账务系统3.4.0.0/Account.exe")),LOCAL("会计账务"));
    addApp((LOCAL("xjb/县区行政事业单位账务系统3.4.0.0/DwAccount.exe")),LOCAL("单位账务"));
    addApp((LOCAL("xjb/县区预算执行动态监控及综合查询系统 3.2.0.0/GkQuery.exe")),LOCAL("动态监控"));
    addApp((LOCAL("xjb/县区预算执行系统3.4.0/GkCounty.exe")),LOCAL("预算执行"));
    addApp((LOCAL("xjb/银行支付系统3.4.0/BankClient.exe")),LOCAL("银行支付"));
}
Exemplo n.º 5
0
void ZAddAppDlg::procReg(QString FileRegistry)
{
	QString id;
	QString name;
	QString ico;
	static int i=0;
	
	ZConfig confReg ( FileRegistry, false );
	QStringList grouplist;
	confReg.getGroupsKeyList ( grouplist );
	for ( QStringList::Iterator it = grouplist.begin(); it != grouplist.end(); ++it ) 
	{	 
		name = confReg.readEntry ( *it, "Name", "" );
		id = confReg.readEntry ( *it, "AppID", "" );
		ico = confReg.readEntry ( *it, ICON_NAME, "" );
		#ifdef NEW_PLATFORM
		if (ico=="")
		{
			ico = confReg.readEntry ( *it, "Icon", "" );
		}		
		#endif		
		if (ico=="")
		{
			ico = confReg.readEntry ( *it, "BigIcon", "" );
		}		
		if ( (id!="")&&(name!=""))
		{
			AppRegistry app;
			app.setId(id);
			app.setName(name);
			#ifndef NEW_PLATFORM
			if ( ico.find(".g") == -1 && !QFile::exists(ico) )
			#else
			if ( ico.find(".g") == -1 && ico.find(".k") == -1 &&!QFile::exists(ico) )
			#endif
			{
					ico = confReg.readEntry ( *it, "Directory", "" ) + "/" + ico;
			}	
			app.setIcon(ico);
			mapApp[ i ] = app;
			addApp(name, ico, i);
			++i;
		}
	}	
}
Exemplo n.º 6
0
void QuickLauncher::addApp(TQString url, bool manuallyAdded)
{
    assert(m_buttons);
    TQString newButtonId = QuickURL(url).menuId();
    if (m_appOrdering.find(newButtonId) == m_appOrdering.end())
    {
        m_appOrdering[newButtonId] = m_appOrdering.size();
    }
    uint appPos;
    for (appPos = 0; appPos < m_buttons->size(); ++appPos)
    {
        TQString buttonId = (*m_buttons)[appPos]->menuId();
        if (m_appOrdering[buttonId] >= m_appOrdering[newButtonId])
        {
            break;
        }
    }
    addApp(url, appPos, manuallyAdded);
}
Exemplo n.º 7
0
void Britepad::sortApps() {
  BritepadApp* oldList = appList;
  appList = nullptr;

  while (oldList) {
    BritepadApp* i = oldList;
    BritepadApp* highest = i;
    while (i) {
      if (strcasecmp(i->name(), highest->name()) > 0) {
        highest = i;
      }
      i = i->getNextApp();
    }

    // remove from the list
    BritepadApp* p = highest->getPrevApp();
    BritepadApp* n = highest->getNextApp();
    if (p) { p->setNextApp(n); } else { oldList = n; }
    if (n) { n->setPrevApp(p); }

    addApp(highest);
  }
}
Exemplo n.º 8
0
void QDocker::addApp(QString &path, QString &title)
{
    QPixmap &pix = QAppUtils::ref().getAppIcon(path);
    addApp(pix,title,path);
}
Exemplo n.º 9
0
void QuickLauncher::slotAdjustToCurrentPopularity()
{
    // TODO: Shrink immediately if buttons->size() > maxItems
    kdDebug() << "Starting popularity update" << endl;
    PopularityStatistics* stats = m_popularity;
    int minItems = m_settings->autoAdjustMinItems();
    int maxItems = m_settings->autoAdjustMaxItems();

    static const double hysteresisFactor = 0.90;
    double minAddPopularity = 0;
    for (int n = 0; n < maxItems; ++n)
    {
        // All items with a popularity not less than 0.75 of the average
        // of the first maxItems apps are included in the list
        double belowAvgAllowed = 0.75;
        minAddPopularity += (belowAvgAllowed * stats->popularityByRank(n)) / maxItems;
    }
    double minDelPopularity = minAddPopularity * hysteresisFactor;
    std::map<TQString, QuickButton*> removeableApps;
    std::set<TQString> existingApps;
    int numApps = m_buttons->size();
    for (int n = 0; n < int(m_buttons->size()); ++n)
    {
        QuickButton *button = (*m_buttons)[n];
        if (((stats->popularityByRank(stats->rankByService(button->menuId())) <
             minDelPopularity) || m_settings->autoAdjustEnabled()==false) && 
            (button->sticky() == false)) 
        {
            removeableApps[button->menuId()] = button;
            --numApps;
        }
        existingApps.insert(button->menuId());
    }
    for (int n = 0; 
         (numApps < minItems && stats->popularityByRank(n) > 0) ||
         (numApps < maxItems && stats->popularityByRank(n) > minAddPopularity);
         ++n)
    {
        TQString app = m_popularity->serviceByRank(n);
        if (existingApps.find(app) == existingApps.end())
        {
            addApp(QuickURL(m_popularity->serviceByRank(n)).url(), false);
            kdDebug() << "Adding app " << app << endl;
            ++numApps;
        }
        else if (removeableApps.find(app) != removeableApps.end())
        {
            removeableApps.erase(app);
            ++numApps;
        }
    }
    while (removeableApps.size() > 0)
    {
        removeApp(findApp(removeableApps.begin()->second), false);
        kdDebug() << "Removing app " << removeableApps.begin()->first << endl;
        removeableApps.erase(removeableApps.begin()->first);
    }
    kdDebug() << "done popularity update" << endl;
    m_settings->setAutoAdjustMinItems(minItems);
    m_settings->setAutoAdjustMaxItems(maxItems);

    // TODO: Think of something better than that:
    m_saveTimer->start(10000,true);
}
Exemplo n.º 10
0
void QuickLauncher::refreshContents()
{
    int idim, d(dimension());

    // make sure show desktop setting is honored
    TQStringList urls, volatileUrls;
    ButtonIter iter = m_buttons->begin();
    while (iter != m_buttons->end()) {
        if ((*iter)->sticky() == false)
        {
            volatileUrls.append((*iter)->menuId());
        }
        urls.append((*iter)->menuId());
        ++iter;
    }
    if (m_settings->showDesktopEnabled()) {
        if (!urls.contains("SPECIAL_BUTTON__SHOW_DESKTOP")) {
            urls.prepend("SPECIAL_BUTTON__SHOW_DESKTOP");
            addApp("SPECIAL_BUTTON__SHOW_DESKTOP", 0, true);
        }
    }
    else {
        if (urls.contains("SPECIAL_BUTTON__SHOW_DESKTOP")) {
            urls.remove("SPECIAL_BUTTON__SHOW_DESKTOP");
            removeApp("SPECIAL_BUTTON__SHOW_DESKTOP", true);
        }
    }

    // determine button size
    if (m_settings->iconDim() == SIZE_AUTO)
    {
        if (d < 18)
        {
             idim = std::min(16,d);
        }
        else if (d < 64)
        {
            idim = 16;
        }
        else if (d < 80)
        {
            idim = 20;
        }
        else if (d < 122)
        {
            idim = 24;
        }
        else
        {
            idim = 28;
        }
    }
    else
    {
        idim = std::min(m_settings->iconDim(), d - std::max((d/8)-1, 0) * 2);
    }
    m_space = std::max((idim/8)-1, 0);
    m_border = m_space;
    m_buttonSize = TQSize(idim, idim);
    m_manager->setOrientation(orientation());
    m_manager->setNumItems(m_buttons->size());
    m_manager->setFrameSize(size());
    m_manager->setItemSize(m_buttonSize);
    m_manager->setSpaceSize(TQSize(m_space, m_space));
    m_manager->setBorderSize(TQSize(m_border, m_border));
    if (!m_refreshEnabled)
    {
        m_needsRefresh=true;
        return;
    }
    if (!m_manager->isValid())
    {
        kdDebug()<<endl<<"******WARNING******    Layout is invalid."<<
            endl << flush;
        m_manager->dump();
        return;
    }

    unsigned index;
    TQPoint pos;
    setUpdatesEnabled(false);
    m_buttons->setUpdatesEnabled(false);
    for (index = 0; index < m_buttons->size(); index++)
    {
        pos = m_manager->pos(index);
        QuickButton *button = (*m_buttons)[index];
        button->resize(m_manager->itemSize());
        button->move(pos.x(), pos.y());
        button->setDragging(false);
        button->setEnableDrag(isDragEnabled());
        button->setDynamicModeEnabled(m_settings->autoAdjustEnabled());
    }
    if (m_newButtons)
    {
        m_newButtons->setDragging(false);
    }
    if (m_dragButtons)
    {
        m_dragButtons->setDragging(true);
    }
    m_buttons->show();
    setUpdatesEnabled(true);
    update();
    m_buttons->setUpdatesEnabled(true);
    updateGeometry();
    emit updateLayout();
    updateStickyHighlightLayer();
}