void FolderMonitor::_update()
	{
		{
			Lock lock(m->mainMutex);

			std::swap(m->fileActions, m->activeFileActions);
		}

		for(auto& action : m->activeFileActions)
		{
			switch (action->type)
			{
			case FileActionType::Added:
				if (!onAdded.empty())
					onAdded(Path(action->newName));
				break;
			case FileActionType::Removed:
				if (!onRemoved.empty())
					onRemoved(Path(action->newName));
				break;
			case FileActionType::Modified:
				if (!onModified.empty())
					onModified(Path(action->newName));
				break;
			case FileActionType::Renamed:
				if (!onRenamed.empty())
					onRenamed(Path(action->oldName), Path(action->newName));
				break;
			}

			FileAction::destroy(action);
		}

		m->activeFileActions.clear();
	}
示例#2
0
	// Add an entity
	void EntitySystem::addEntity(EntityInfo& e)
	{
		// If not already in collection
		if (std::find(_entities.begin(), _entities.end(), (Entity)e) == _entities.end())
		{
			_entities.push_back(e);
			onAdded(e);
		}
	}
示例#3
0
void SalesOrderManager::openEditor(qlonglong id)
{
    SalesOrderEditor* editor = 0;

    if (id > 0)
        editor = editorById.value(id);

    if (!editor) {
        editor = new SalesOrderEditor(id, tabWidget);
        connect(editor, SIGNAL(added(qlonglong)), SLOT(onAdded(qlonglong)));
        connect(editor, SIGNAL(removed(qlonglong)), SLOT(onRemoved(qlonglong)));
        connect(editor, SIGNAL(saved(qlonglong)), SLOT(onSaved(qlonglong)));
        int index = tabWidget->addTab(editor, editor->windowTitle());
        tabWidget->tabBar()->tabButton(index, QTabBar::RightSide)->setToolTip("Tutup");

        if (id != 0)
            editorById.insert(id, editor);
    }

    tabWidget->setCurrentWidget(editor);

    if (tabWidget->isHidden())
        tabWidget->show();
}