Added button to save current listing to json.
This commit is contained in:
@@ -84,6 +84,11 @@ int BackupItem::getIconWidth()
|
|||||||
return ui->itemPicture->width();
|
return ui->itemPicture->width();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString BackupItem::getPath()
|
||||||
|
{
|
||||||
|
return m_path;
|
||||||
|
}
|
||||||
|
|
||||||
void BackupItem::setItemIcon(const QString &path, int item_width, bool try_dds)
|
void BackupItem::setItemIcon(const QString &path, int item_width, bool try_dds)
|
||||||
{
|
{
|
||||||
ui->itemPicture->setMinimumWidth(item_width);
|
ui->itemPicture->setMinimumWidth(item_width);
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ public:
|
|||||||
void setDirectory(const QString &m_path);
|
void setDirectory(const QString &m_path);
|
||||||
const QPixmap *getIconPixmap();
|
const QPixmap *getIconPixmap();
|
||||||
int getIconWidth();
|
int getIconWidth();
|
||||||
|
QString getPath();
|
||||||
|
|
||||||
static bool lessThan(const BackupItem *s1, const BackupItem *s2);
|
static bool lessThan(const BackupItem *s1, const BackupItem *s2);
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,8 @@
|
|||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QDialogButtonBox>
|
#include <QDialogButtonBox>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
|
#include <QFileDialog>
|
||||||
|
#include <QJsonDocument>
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
|
|
||||||
#include <vitamtp.h>
|
#include <vitamtp.h>
|
||||||
@@ -49,10 +51,39 @@ void BackupManagerForm::setupForm()
|
|||||||
{
|
{
|
||||||
this->resize(800, 480);
|
this->resize(800, 480);
|
||||||
connect(ui->backupComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(loadBackupListing(int)));
|
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->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
|
||||||
ui->tableWidget->horizontalHeader()->hide();
|
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)
|
void BackupManagerForm::removeEntry(BackupItem *item)
|
||||||
{
|
{
|
||||||
ConfirmDialog msgBox;
|
ConfirmDialog msgBox;
|
||||||
|
|||||||
@@ -48,8 +48,10 @@ private:
|
|||||||
public slots:
|
public slots:
|
||||||
void loadBackupListing(int index);
|
void loadBackupListing(int index);
|
||||||
void removeEntry(BackupItem *item);
|
void removeEntry(BackupItem *item);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void on_filterLineEdit_textChanged(const QString &arg1);
|
void on_filterLineEdit_textChanged(const QString &arg1);
|
||||||
|
void saveListing();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // BACKUPMANAGERFORM_H
|
#endif // BACKUPMANAGERFORM_H
|
||||||
|
|||||||
@@ -123,6 +123,13 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="saveButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Save listing</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
|
|||||||
Reference in New Issue
Block a user