Ejemplo n.º 1
0
KalziumDataObject::KalziumDataObject()
{
	QDomDocument doc( "datadocument" );

	KURL url;
	url.setPath( locate("data", "kalzium/data/"));
	url.setFileName( "data.xml" );
	QFile layoutFile( url.path() );

	if (!layoutFile.exists())
	{
		kdDebug() << "data.xml not found, exiting" << endl;
		kapp->exit(0);
		return;
	}

	if (!layoutFile.open(IO_ReadOnly))
	{
		kdDebug() << "data.xml IO-error" << endl;
		return;
	}

	// Check if the document is well-formed
	if (!doc.setContent(&layoutFile))
	{
		kdDebug() << "wrong xml" << endl;
		layoutFile.close();
		return;
	}
	layoutFile.close();

	ElementList = readData( doc );
	m_numOfElements = ElementList.count();
}
void Hypergraph::loadLayout(const QString &fileName)
{
	ifstream layoutFile (fileName.toStdString().c_str(), ios::binary);
	layoutFile.read((char*)&_layoutDim, sizeof(int));
	layoutFile.read((char*)&_nVertices, sizeof(int));
	setNumOfVertices(_nVertices);
	int nEdges;
	layoutFile.read((char*)&nEdges, sizeof(int));
	_edges.clear();
	for (int i=0; i<nEdges; ++i)
	{
		int edgeSize;
		layoutFile.read((char*)&edgeSize, sizeof(int));
		HyperEdge e (edgeSize);
		for (int j=0; j<edgeSize; ++j)
		{
			layoutFile.read((char*)&(e[j]), sizeof(int));
		}
		_edges.push_back(e);
	}
	_layout.resize(_nVertices+nEdges);
	for(int i=0; i<_nVertices+nEdges; ++i)
	{
		_layout[i] = fvec(_layoutDim);
		layoutFile.read((char*)_layout[i].memptr(), _layoutDim*sizeof(float));
	}
	layoutFile.close();
}
Ejemplo n.º 3
0
void MainWindow::SaveSettings()
{
	this->ReadSettingsFromGUI( m_settings );

	FileWriter	file(SETTINGS_FILE_NAME,FileWrite_NoErrors);
	if( file.IsOpen() )
	{
		DataSaver	saver(file);
		saver & m_settings & m_lastInputDir;
	}

	QFile	layoutFile(LAYOUT_FILE_NAME);
	layoutFile.open(QIODevice::WriteOnly);
	if( layoutFile.isOpen() )
	{
		QByteArray geometryData(this->saveGeometry());
		layoutFile.write( geometryData );
	}
}
void Hypergraph::saveLayout(const QString &fileName)
{
	ofstream layoutFile (fileName.toStdString().c_str(), ios::binary);
	layoutFile.write((char*)&_layoutDim, sizeof(int));
	layoutFile.write((char*)&_nVertices, sizeof(int));
	int nEdges = _edges.size();
	layoutFile.write((char*)&nEdges, sizeof(int));
	for (int i=0; i<nEdges; ++i)
	{
		int edgeSize = _edges[i].size();
		layoutFile.write((char*)&edgeSize, sizeof(int));
		for (int j=0; j<edgeSize; ++j)
		{
			layoutFile.write((char*)&(_edges[i][j]), sizeof(int));
		}
	}
	for(int i=0; i<_nVertices+nEdges; ++i)
	{
		layoutFile.write((char*)_layout[i].memptr(), _layoutDim*sizeof(float));
	}
	layoutFile.close();
}
Ejemplo n.º 5
0
void MainWindow::LoadSettings()
{
	FileReader	file(SETTINGS_FILE_NAME,FileRead_NoErrors);
	if( file.IsOpen() )
	{
		DataLoader	loader(file);
		loader & m_settings & m_lastInputDir;
	}
	else
	{
		this->LoadDefaults();
	}

	QFile	layoutFile(LAYOUT_FILE_NAME);
	layoutFile.open(QIODevice::ReadOnly);
	if( layoutFile.isOpen() )
	{
		QByteArray	geometryData(layoutFile.readAll());
		this->restoreGeometry( geometryData );
	}

	this->UpdateGuiFromSettings(m_settings);
}
Ejemplo n.º 6
0
void LnfLogic::dumpPlasmaLayout(const QString &pluginName)
{
    QDBusMessage message = QDBusMessage::createMethodCall("org.kde.plasmashell", "/PlasmaShell",
                                                     "org.kde.PlasmaShell", "dumpCurrentLayoutJS");
    QDBusPendingCall pcall = QDBusConnection::sessionBus().asyncCall(message);

    QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(pcall, this);

    QObject::connect(watcher, &QDBusPendingCallWatcher::finished,
                     this, [=](QDBusPendingCallWatcher *watcher) {
        const QDBusMessage &msg = watcher->reply();
        watcher->deleteLater();
        if (watcher->isError()) {
            emit messageRequested(ErrorLevel::Error, i18n("Cannot retrieve the current Plasma layout."));
            return;
        }

        const QString layout = msg.arguments().first().toString();
        QDir themeDir(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) % QLatin1Literal("/plasma/look-and-feel/") % pluginName);
        if (!themeDir.mkpath("contents/layouts")) {
            qWarning() << "Impossible to create the layouts directory in the look and feel package";
            emit messageRequested(ErrorLevel::Error, i18n("Impossible to create the layouts directory in the look and feel package"));
            return;
        }

        QFile layoutFile(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) % QLatin1Literal("/plasma/look-and-feel/") % pluginName % QLatin1Literal("/contents/layouts/org.kde.plasma.desktop-layout.js"));
        if (layoutFile.open(QIODevice::WriteOnly)) {
            layoutFile.write(layout.toUtf8());
            layoutFile.close();
        } else {
            qWarning() << "Impossible to write to org.kde.plasma.desktop-layout.js";
            emit messageRequested(ErrorLevel::Error, i18n("Impossible to write to org.kde.plasma.desktop-layout.js"));
            return;
        }
        emit messageRequested(ErrorLevel::Info, i18n("Plasma Layout successfully duplicated"));
    });
}
Ejemplo n.º 7
0
void SettingsCache::translateLegacySettings()
{
    if (isPortableBuild)
        return;

    // Layouts
    QFile layoutFile(getSettingsPath() + "layouts/deckLayout.ini");
    if (layoutFile.exists())
        if (layoutFile.copy(getSettingsPath() + "layouts.ini"))
            layoutFile.remove();

    QStringList usedKeys;
    QSettings legacySetting;

    // Sets
    legacySetting.beginGroup("sets");
    QStringList setsGroups = legacySetting.childGroups();
    for (int i = 0; i < setsGroups.size(); i++) {
        legacySetting.beginGroup(setsGroups.at(i));
        cardDatabase().setEnabled(setsGroups.at(i), legacySetting.value("enabled").toBool());
        cardDatabase().setIsKnown(setsGroups.at(i), legacySetting.value("isknown").toBool());
        cardDatabase().setSortKey(setsGroups.at(i), legacySetting.value("sortkey").toUInt());
        legacySetting.endGroup();
    }
    QStringList setsKeys = legacySetting.allKeys();
    for (int i = 0; i < setsKeys.size(); ++i) {
        usedKeys.append("sets/" + setsKeys.at(i));
    }
    legacySetting.endGroup();

    // Servers
    legacySetting.beginGroup("server");
    servers().setPreviousHostLogin(legacySetting.value("previoushostlogin").toInt());
    servers().setPreviousHostList(legacySetting.value("previoushosts").toStringList());
    servers().setHostName(legacySetting.value("hostname").toString());
    servers().setPort(legacySetting.value("port").toString());
    servers().setPlayerName(legacySetting.value("playername").toString());
    servers().setPassword(legacySetting.value("password").toString());
    servers().setSavePassword(legacySetting.value("save_password").toInt());
    servers().setAutoConnect(legacySetting.value("auto_connect").toInt());
    servers().setFPHostName(legacySetting.value("fphostname").toString());
    servers().setFPPort(legacySetting.value("fpport").toString());
    servers().setFPPlayerName(legacySetting.value("fpplayername").toString());
    usedKeys.append(legacySetting.allKeys());
    QStringList allKeysServer = legacySetting.allKeys();
    for (int i = 0; i < allKeysServer.size(); ++i) {
        usedKeys.append("server/" + allKeysServer.at(i));
    }
    legacySetting.endGroup();

    // Messages
    legacySetting.beginGroup("messages");
    QStringList allMessages = legacySetting.allKeys();
    for (int i = 0; i < allMessages.size(); ++i) {
        if (allMessages.at(i) != "count") {
            QString temp = allMessages.at(i);
            int index = temp.remove("msg").toInt();
            messages().setMessageAt(index, legacySetting.value(allMessages.at(i)).toString());
        }
    }
    messages().setCount(legacySetting.value("count").toInt());
    QStringList allKeysmessages = legacySetting.allKeys();
    for (int i = 0; i < allKeysmessages.size(); ++i) {
        usedKeys.append("messages/" + allKeysmessages.at(i));
    }
    legacySetting.endGroup();

    // Game filters
    legacySetting.beginGroup("filter_games");
    gameFilters().setUnavailableGamesVisible(legacySetting.value("unavailable_games_visible").toBool());
    gameFilters().setShowPasswordProtectedGames(legacySetting.value("show_password_protected_games").toBool());
    gameFilters().setGameNameFilter(legacySetting.value("game_name_filter").toString());
    gameFilters().setShowBuddiesOnlyGames(legacySetting.value("show_buddies_only_games").toBool());
    gameFilters().setMinPlayers(legacySetting.value("min_players").toInt());

    if (legacySetting.value("max_players").toInt() > 1)
        gameFilters().setMaxPlayers(legacySetting.value("max_players").toInt());
    else
        gameFilters().setMaxPlayers(99); // This prevents a bug where no games will show if max was not set before

    QStringList allFilters = legacySetting.allKeys();
    for (int i = 0; i < allFilters.size(); ++i) {
        if (allFilters.at(i).startsWith("game_type")) {
            gameFilters().setGameHashedTypeEnabled(allFilters.at(i), legacySetting.value(allFilters.at(i)).toBool());
        }
    }
    QStringList allKeysfilter_games = legacySetting.allKeys();
    for (int i = 0; i < allKeysfilter_games.size(); ++i) {
        usedKeys.append("filter_games/" + allKeysfilter_games.at(i));
    }
    legacySetting.endGroup();

    QStringList allLegacyKeys = legacySetting.allKeys();
    for (int i = 0; i < allLegacyKeys.size(); ++i) {
        if (usedKeys.contains(allLegacyKeys.at(i)))
            continue;
        settings->setValue(allLegacyKeys.at(i), legacySetting.value(allLegacyKeys.at(i)));
    }
}