void ModifyDirDialog::on_pushButton_clicked() {
    QFile chanfile(this->path + "/chan.rbxcc");
    chanfile.open(QIODevice::WriteOnly);
    QString writetochan = "";
    for (int i = 0; i < this->currci.size(); i++)
        writetochan += this->currci[i].getName() + "|" + this->currci[i].getOperatorList().join("-") + "|" + this->currci[i].getWhiteList().join("-") + "|" + this->currci[i].getBlackList().join("-") + "|" + this->currci[i].getMuteList().join("-") + "|";
    chanfile.write(writetochan.toStdString().c_str());
    chanfile.close();

    QFile authfile(this->path + "/auth.rbxca");
    authfile.open(QIODevice::WriteOnly);
    QString writetoauth = "";
    for (int i = 0; i < this->currai.size(); i++)
        writetoauth += this->currai[i].getUsername() + "|" + this->currai[i].getPasswordHash() + "|" + this->currai[i].getROBLOXUsername() + "|" + this->currai[i].getVerificationCode() + "|" + this->currai[i].isVerifiedString() + "\n";
    authfile.write(writetoauth.toStdString().c_str());
    authfile.close();

    QFile banfile(this->path + "/bans.rbxcb");
    banfile.open(QIODevice::WriteOnly);
    QString writetoban = "";
    for (int i = 0; i < this->currbi.size(); i++)
        writetoban += this->currbi[i].getUsername() + "|" + this->currbi[i].getReason() + "\n";
    banfile.write(writetoban.toStdString().c_str());
    banfile.close();


    QMessageBox::information(this, "Saved", "Saving done!", NULL);
}
void ModifyDirDialog::setupTabs() {
    this->ignorePasswordChange = false;

    QFile authfile(this->path + "/auth.rbxca");
    QFile banfile(this->path + "/bans.rbxcb");
    QFile chanfile(this->path + "/chan.rbxcc");
    authfile.open(QIODevice::ReadOnly | QIODevice::Text);
    banfile.open(QIODevice::ReadOnly | QIODevice::Text);
    chanfile.open(QIODevice::ReadOnly | QIODevice::Text);



    QString authcontent;
    authcontent = authfile.readAll();
    authfile.close();

    QStringList authinfo = authcontent.split("\n");
    QList<AuthenticationInfo> autharray;
    int i;
    for (i = 0; i < authinfo.size() - 1; i++)
        if (!authinfo[i].isEmpty())
            autharray.append(*(new AuthenticationInfo(authinfo[i])));
    this->ui->tableWidget->setRowCount(i - 1);
    for (i = 0; i < autharray.size() - 1; i++) {
        this->currai.append(autharray.at(i));
        this->ui->tableWidget->setItem(i, 0, new QTableWidgetItem(autharray.at(i).getUsername()));
        this->ui->tableWidget->setItem(i, 1, new QTableWidgetItem(autharray.at(i).getPasswordHash()));
        this->ui->tableWidget->setItem(i, 2, new QTableWidgetItem(autharray.at(i).getROBLOXUsername()));
        this->ui->tableWidget->setItem(i, 3, new QTableWidgetItem(autharray.at(i).getVerificationCode()));
        this->ui->tableWidget->setItem(i, 4, new QTableWidgetItem(autharray.at(i).isVerifiedString()));
    }
    connect(this->ui->tableWidget, SIGNAL(cellChanged(int,int)), this, SLOT(handleAuthDataChange(int,int)));

    QString bancontent;
    bancontent = banfile.readAll();
    banfile.close();

    QStringList baninfo = bancontent.split("\n");
    QList<BanInfo> banarray;
    for (i = 0; i < baninfo.size(); i++)
        if (!baninfo[i].isEmpty())
            banarray.append(*(new BanInfo(baninfo[i] + "\n")));
    this->ui->tableWidget_3->setRowCount(i - 1);
    for (i = 0; i < baninfo.size() - 1; i++) {
        this->currbi.append(banarray.at(i));
        this->ui->tableWidget_3->setItem(i, 0, new QTableWidgetItem(banarray.at(i).getUsername()));
        this->ui->tableWidget_3->setItem(i, 1, new QTableWidgetItem(banarray.at(i).getReason()));
    }
    connect(this->ui->tableWidget_3, SIGNAL(cellChanged(int, int)), this, SLOT(handleBanDataChange(int, int)));


    QString chancontent;
    chancontent = chanfile.readAll();
    chanfile.close();

    QStringList chaninfo;
    QString chaninfobuffer;
    int count = 0;
    for (i = 0; i < chancontent.length(); i++) {
        if (count == 4 && chancontent.at(i) == '|') {
            chaninfobuffer += QString("|");
            chaninfo.append(chaninfobuffer);
            chaninfobuffer = QString("");
            count = 0;
        }
        else if (chancontent.at(i) == '|') {
            count++;
            chaninfobuffer += QString("|");
        }
        else
            chaninfobuffer += QString(chancontent.at(i));
    }

    QList<ChannelInfo> chanarray;
    for (i = 0; i < chaninfo.size(); i++)
        if (!chaninfo.isEmpty())
            chanarray.append(*(new ChannelInfo(chaninfo[i])));
    this->ui->tableWidget_2->setRowCount(chaninfo.size());
    for (i = 0; i < chaninfo.size(); i++) {
        this->ui->tableWidget_2->setItem(i, 0, new QTableWidgetItem(chanarray.at(i).getName()));
        /*this->currchanlist.append(chanarray.at(i).getName());
        this->curroplist.append(chanarray.at(i).getOperatorList().join("-"));
        this->currwhitelist.append(chanarray.at(i).getWhiteList().join("-"));
        this->currblacklist.append(chanarray.at(i).getBlackList().join("-"));
        this->currmutelist.append(chanarray.at(i).getMuteList().join("-"));*/
        this->currci.append(chanarray[i]);
        this->ui->tableWidget_2->setItem(i, 1, new QTableWidgetItem("..."));
        this->ui->tableWidget_2->setItem(i, 2, new QTableWidgetItem("..."));
        this->ui->tableWidget_2->setItem(i, 3, new QTableWidgetItem("..."));
        this->ui->tableWidget_2->setItem(i, 4, new QTableWidgetItem("..."));
    }
    connect(this->ui->tableWidget_2, SIGNAL(cellClicked(int, int)), this, SLOT(handleCellDblClick(int, int)));
    connect(this->ui->tableWidget_2, SIGNAL(cellChanged(int, int)), this, SLOT(handleChanNameChange(int, int)));
}
示例#3
0
PrintcapEntry* LPRngToolHandler::createEntry(KMPrinter *prt)
{
	QString	prot = prt->deviceProtocol();
	if (prot != "parallel" && prot != "lpd" && prot != "smb" && prot != "socket")
	{
		manager()->setErrorMsg(i18n("Unsupported backend: %1.").arg(prot));
		return NULL;
	}
	PrintcapEntry	*entry = new PrintcapEntry;
	entry->addField("cm", Field::String, prt->description());
	QString	lp, comment("##LPRNGTOOL## ");
	if (prot == "parallel")
	{
		comment.append("DEVICE ");
		lp = prt->device().mid( 9 );
		entry->addField("rw@", Field::Boolean);
	}
	else if (prot == "socket")
	{
		comment.append("SOCKET ");
		KURL url( prt->device() );
		lp = url.host();
		if (url.port() == 0)
			lp.append("%9100");
		else
			lp.append("%").append(QString::number(url.port()));
	}
	else if (prot == "lpd")
	{
		comment.append("QUEUE ");
		KURL url( prt->device() );
		lp = url.path().mid(1) + "@" + url.host();
	}
	else if (prot == "smb")
	{
		comment.append("SMB ");
		lp = "| " + filterDir() + "/smbprint";
		QString	work, server, printer, user, passwd;
		if ( splitSmbURI( prt->device(), work, server, printer, user, passwd ) )
		{
			entry->addField("xfer_options", Field::String, QString::fromLatin1("authfile=\"auth\" crlf=\"0\" hostip=\"\" host=\"%1\" printer=\"%2\" remote_mode=\"SMB\" share=\"//%3/%4\" workgroup=\"%5\"").arg(server).arg(printer).arg(server).arg(printer).arg(work));
			QFile	authfile(LprSettings::self()->baseSpoolDir() + "/" + prt->printerName() + "/auth");
			if (authfile.open(IO_WriteOnly))
			{
				QTextStream	t(&authfile);
				t << "username="******"password="******"Invalid printer backend specification: %1" ).arg( prt->device() ) );
			delete entry;
			return NULL;
		}
	}

	if (prt->driver())
	{
		DrMain	*driver = prt->driver();
		comment.append("filtertype=IFHP ifhp_options=status@,sync@,pagecount@,waitend@ printerdb_entry=");
		comment.append(driver->get("driverID"));
		entry->addField("ifhp", Field::String, QString::fromLatin1("model=%1,status@,sync@,pagecount@,waitend@").arg(driver->get("driverID")));
		entry->addField("lprngtooloptions", Field::String, QString::fromLatin1("FILTERTYPE=\"IFHP\" IFHP_OPTIONS=\"status@,sync@,pagecount@,waitend@\" PRINTERDB_ENTRY=\"%1\"").arg(driver->get("driverID")));
		QMap<QString,QString>	opts;
		QString	optstr;
		driver->getOptions(opts, false);
		for (QMap<QString,QString>::ConstIterator it=opts.begin(); it!=opts.end(); ++it)
			if (it.key() != "lpr")
				optstr.append(*it).append(",");
		if (!optstr.isEmpty())
		{
			optstr.truncate(optstr.length()-1);
			entry->addField("prefix_z", Field::String, optstr);
		}
		if (!opts["lpr"].isEmpty())
			entry->addField("lpr", Field::String, opts["lpr"]);
	}

	entry->addField("lp", Field::String, lp);
	entry->comment = comment;

	return entry;
}