Added button to save current listing to json.
This commit is contained in:
@@ -84,6 +84,11 @@ int BackupItem::getIconWidth()
|
||||
return ui->itemPicture->width();
|
||||
}
|
||||
|
||||
QString BackupItem::getPath()
|
||||
{
|
||||
return m_path;
|
||||
}
|
||||
|
||||
void BackupItem::setItemIcon(const QString &path, int item_width, bool try_dds)
|
||||
{
|
||||
ui->itemPicture->setMinimumWidth(item_width);
|
||||
|
@@ -39,6 +39,7 @@ public:
|
||||
void setDirectory(const QString &m_path);
|
||||
const QPixmap *getIconPixmap();
|
||||
int getIconWidth();
|
||||
QString getPath();
|
||||
|
||||
static bool lessThan(const BackupItem *s1, const BackupItem *s2);
|
||||
|
||||
|
@@ -28,6 +28,8 @@
|
||||
#include <QDebug>
|
||||
#include <QDialogButtonBox>
|
||||
#include <QDir>
|
||||
#include <QFileDialog>
|
||||
#include <QJsonDocument>
|
||||
#include <QSettings>
|
||||
|
||||
#include <vitamtp.h>
|
||||
@@ -49,10 +51,39 @@ void BackupManagerForm::setupForm()
|
||||
{
|
||||
this->resize(800, 480);
|
||||
connect(ui->backupComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(loadBackupListing(int)));
|
||||
connect(ui->saveButton, SIGNAL(clicked()), this, SLOT(saveListing()));
|
||||
ui->tableWidget->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
|
||||
ui->tableWidget->horizontalHeader()->hide();
|
||||
}
|
||||
|
||||
void BackupManagerForm::saveListing()
|
||||
{
|
||||
int rows = ui->tableWidget->rowCount();
|
||||
QVariantList items;
|
||||
|
||||
for(int i = 0; i < rows; ++i) {
|
||||
BackupItem *item = static_cast<BackupItem *>(ui->tableWidget->cellWidget(i, 0));
|
||||
|
||||
QVariantMap entry;
|
||||
entry.insert("title", item->title);
|
||||
entry.insert("gameid", QFileInfo(item->getPath()).fileName());
|
||||
entry.insert("path", item->getPath());
|
||||
|
||||
items.append(entry);
|
||||
}
|
||||
|
||||
QString output = QFileDialog::getSaveFileName(
|
||||
this, tr("Select save location"), QDir::homePath() + "/listing.json",
|
||||
"JSON (*.json)");
|
||||
|
||||
if(!output.isEmpty()) {
|
||||
QJsonDocument doc = QJsonDocument::fromVariant(items);
|
||||
QFile jsonFile(output);
|
||||
jsonFile.open(QFile::WriteOnly);
|
||||
jsonFile.write(doc.toJson());
|
||||
}
|
||||
}
|
||||
|
||||
void BackupManagerForm::removeEntry(BackupItem *item)
|
||||
{
|
||||
ConfirmDialog msgBox;
|
||||
|
@@ -48,8 +48,10 @@ private:
|
||||
public slots:
|
||||
void loadBackupListing(int index);
|
||||
void removeEntry(BackupItem *item);
|
||||
|
||||
private slots:
|
||||
void on_filterLineEdit_textChanged(const QString &arg1);
|
||||
void saveListing();
|
||||
};
|
||||
|
||||
#endif // BACKUPMANAGERFORM_H
|
||||
|
@@ -123,6 +123,13 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="saveButton">
|
||||
<property name="text">
|
||||
<string>Save listing</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
|
Reference in New Issue
Block a user