Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "mainwindow.h"
- #include "ui_mainwindow.h"
- #include <QDebug>
- #include <QStandardItemModel>
- #include <QStandardItem>
- #include <QStringListModel>
- #include <QAbstractItemModel>
- #include <QListView>
- #include <QVariant>
- #include "model.h"
- #include <cstdlib>
- #include <stdlib.h>
- MainWindow::MainWindow(QWidget *parent) :
- QMainWindow(parent),
- ui(new Ui::MainWindow)
- {
- ui->setupUi(this);
- testCmdAlternative();
- }
- MainWindow::~MainWindow()
- {
- delete ui;
- }
- int MainWindow::testCmdAlternative() {
- FILE *in;
- char buff[512];
- if(!(in = popen("export", "r"))){
- return 1;
- }
- // TableModel *model = new TableModel(4, 2, this);
- // ui->tableView->setModel(model);
- // ui->tableView->horizontalHeader()->setModel(model);
- // for (int row = 0; row < 4; ++row) {
- // for (int column = 0; column < 2; ++column) {
- // QModelIndex index = model->index(row, column, QModelIndex());
- // model->setData(index, QVariant(QString("(%1, %2)").arg(row).arg(column)));
- // }
- // }
- QStringList envVarNames;
- QStringList envVarPaths;
- int row = 1;
- while(fgets(buff, sizeof(buff), in)!=NULL){
- // cout << buff << "TEST " << endl;
- string envPathVar = buff;
- // string envPathVar = cmdResultList.at(i).toLocal8Bit().data();
- // // Convert to QString variable
- QString envPathVarQ = QString::fromStdString(envPathVar);
- // // Split PATH=/path/to/lib at the = to get varName and varPath(s)
- QStringList nameSplitPath = envPathVarQ.split("=");
- qDebug() << "AT0" << nameSplitPath.at(0).toLocal8Bit().data();
- qDebug() << "AT0" << nameSplitPath.at(1).toLocal8Bit().data();
- // // Add EnvPath name to list
- string envVarNameString = nameSplitPath.at(0).toLocal8Bit().data();
- QString envVarName = QString::fromStdString(envVarNameString);
- envVarNames.append(envVarName);
- // // Add EnvPath path to list
- string envVarPathString = nameSplitPath.at(1).toAscii().data();
- QString envVarPath = QString::fromStdString(envVarPathString);
- envVarPaths.append(envVarPath);
- /********************8 Add Path name to list*****************/
- QString itemText = envVarName.replace("export", "");
- QListWidgetItem *newItem = new QListWidgetItem;
- newItem->setText(itemText);
- ui->pathNameListWidget->insertItem(row, newItem);
- row++;
- }
- pclose(in);
- return 0;
- }
- void MainWindow::on_pathNameListWidget_currentRowChanged(int currentRow)
- {
- QString currentVal = (ui->pathNameListWidget->currentIndex().data().toString());
- currentVal.trimmed();
- currentVal.remove(" ");
- // Convert QString to const char*
- QByteArray currentValByteArray = currentVal.toUtf8();
- const char *envVariable = currentValByteArray.data();
- const char *getEnvPaths = getenv(envVariable);
- qDebug() << "char " << strlen(envVariable);
- qDebug() << getEnvPaths;
- if(getEnvPaths == NULL){
- qDebug() << "getenv is null";
- }
- // Set table model
- TableModel *tableModel = new TableModel(5, 1, this);
- ui->tableView->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents);
- ui->tableView->setSelectionMode(QAbstractItemView::SingleSelection);
- ui->tableView->setEditTriggers(QAbstractItemView::DoubleClicked);
- int row = 0;
- QModelIndex index = tableModel->index(row, 0, QModelIndex());
- // Set table column data
- tableModel->setData(index, getEnvPaths, Qt::ItemIsEditable);
- ui->tableView->setModel(tableModel);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement