export bug fixed, UI updated

This commit is contained in:
Rafael 2016-04-08 19:46:27 +02:00
parent 59b8ba8835
commit 330f0e3984
7 changed files with 211 additions and 159 deletions

View file

@ -37,7 +37,7 @@ void ExportThread::run()
{ {
if (widget->isSelected()) if (widget->isSelected())
{ {
if (profileMap[widget] == "SnapmaticWidget") if (widget->getWidgetType() == "SnapmaticWidget")
{ {
SnapmaticWidget *picWidget = (SnapmaticWidget*)widget; SnapmaticWidget *picWidget = (SnapmaticWidget*)widget;
SnapmaticPicture *picture = picWidget->getPicture(); SnapmaticPicture *picture = picWidget->getPicture();
@ -73,7 +73,7 @@ void ExportThread::run()
} }
} }
} }
else if (profileMap[widget] == "SavegameWidget") else if (widget->getWidgetType() == "SavegameWidget")
{ {
SavegameWidget *sgdWidget = (SavegameWidget*)widget; SavegameWidget *sgdWidget = (SavegameWidget*)widget;
SavegameData *savegame = sgdWidget->getSavegame(); SavegameData *savegame = sgdWidget->getSavegame();

View file

@ -56,8 +56,8 @@ PictureDialog::PictureDialog(ProfileDatabase *profileDB, QWidget *parent) :
// Export menu // Export menu
exportMenu = new QMenu(this); exportMenu = new QMenu(this);
exportMenu->addAction(tr("Export as &picture...", "Export as picture"), this, SLOT(exportSnapmaticPicture())); exportMenu->addAction(tr("Export as &JPG picture..."), this, SLOT(exportSnapmaticPicture()));
exportMenu->addAction(tr("Export for &import...", "Export for import"), this, SLOT(copySnapmaticPicture())); exportMenu->addAction(tr("Export as &GTA Snapmatic..."), this, SLOT(copySnapmaticPicture()));
ui->cmdExport->setMenu(exportMenu); ui->cmdExport->setMenu(exportMenu);
} }

View file

@ -31,7 +31,7 @@
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding"> <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>1</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="text"> <property name="text">
@ -85,6 +85,32 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<layout class="QVBoxLayout" name="vlButtons">
<property name="rightMargin">
<number>5</number>
</property>
<property name="bottomMargin">
<number>5</number>
</property>
<item>
<spacer name="vsButtons">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Expanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" name="hlButtons">
<item> <item>
<widget class="QPushButton" name="cmdExport"> <widget class="QPushButton" name="cmdExport">
<property name="toolTip"> <property name="toolTip">
@ -106,6 +132,10 @@
</widget> </widget>
</item> </item>
</layout> </layout>
</item>
</layout>
</item>
</layout>
</widget> </widget>
</item> </item>
</layout> </layout>

View file

@ -310,7 +310,7 @@ fileDialogPreOpen:
} }
else else
{ {
QMessageBox::warning(this, tr("Import copy"), tr("Failed to read Snapmatic picture")); QMessageBox::warning(this, tr("Import"), tr("Failed to read Snapmatic picture"));
picture->deleteLater(); picture->deleteLater();
delete picture; delete picture;
goto fileDialogPreOpen; goto fileDialogPreOpen;
@ -325,7 +325,7 @@ fileDialogPreOpen:
} }
else else
{ {
QMessageBox::warning(this, tr("Import copy"), tr("Failed to read Savegame file")); QMessageBox::warning(this, tr("Import"), tr("Failed to read Savegame file"));
savegame->deleteLater(); savegame->deleteLater();
delete savegame; delete savegame;
goto fileDialogPreOpen; goto fileDialogPreOpen;
@ -353,20 +353,20 @@ fileDialogPreOpen:
picture->deleteLater(); picture->deleteLater();
delete savegame; delete savegame;
delete picture; delete picture;
QMessageBox::warning(this, tr("Import copy"), tr("Can't import %1 because of not valid file format").arg("\""+selectedFileName+"\"")); QMessageBox::warning(this, tr("Import"), tr("Can't import %1 because of not valid file format").arg("\""+selectedFileName+"\""));
goto fileDialogPreOpen; goto fileDialogPreOpen;
} }
} }
} }
else else
{ {
QMessageBox::warning(this, tr("Import copy"), tr("No valid file is selected")); QMessageBox::warning(this, tr("Import"), tr("No valid file is selected"));
goto fileDialogPreOpen; goto fileDialogPreOpen;
} }
} }
else else
{ {
QMessageBox::warning(this, tr("Import copy"), tr("No valid file is selected")); QMessageBox::warning(this, tr("Import"), tr("No valid file is selected"));
goto fileDialogPreOpen; goto fileDialogPreOpen;
} }
} }
@ -381,7 +381,7 @@ bool ProfileInterface::importSnapmaticPicture(SnapmaticPicture *picture, QString
QString picFileName = picFileInfo.fileName(); QString picFileName = picFileInfo.fileName();
if (picFileName.left(4) != "PGTA") if (picFileName.left(4) != "PGTA")
{ {
QMessageBox::warning(this, tr("Import copy"), tr("Failed to import copy of Snapmatic picture because the file not begin with PGTA")); QMessageBox::warning(this, tr("Import"), tr("Failed to import the Snapmatic picture, file not begin with PGTA"));
return false; return false;
} }
else if (QFile::copy(picPath, profileFolder + "/" + picFileName)) else if (QFile::copy(picPath, profileFolder + "/" + picFileName))
@ -391,7 +391,7 @@ bool ProfileInterface::importSnapmaticPicture(SnapmaticPicture *picture, QString
} }
else else
{ {
QMessageBox::warning(this, tr("Import copy"), tr("Failed to import copy of Snapmatic picture because the copy failed")); QMessageBox::warning(this, tr("Import"), tr("Failed to import the Snapmatic picture, can't copy the file into profile"));
return false; return false;
} }
} }
@ -427,13 +427,13 @@ bool ProfileInterface::importSavegameData(SavegameData *savegame, QString sgdPat
} }
else else
{ {
QMessageBox::warning(this, tr("Import copy"), tr("Failed to import copy of Savegame file because the copy failed")); QMessageBox::warning(this, tr("Import"), tr("Failed to import the Savegame, can't copy the file into profile"));
return false; return false;
} }
} }
else else
{ {
QMessageBox::warning(this, tr("Import copy"), tr("Failed to import copy of Savegame file because no free Savegame slot left")); QMessageBox::warning(this, tr("Import"), tr("Failed to import the Savegame, no Savegame slot is left"));
return false; return false;
} }
} }
@ -481,6 +481,8 @@ void ProfileInterface::deselectAllWidgets()
} }
void ProfileInterface::exportSelected() void ProfileInterface::exportSelected()
{
if (selectedWidgts != 0)
{ {
int exportCount = 0; int exportCount = 0;
int exportPictures = 0; int exportPictures = 0;
@ -499,7 +501,7 @@ void ProfileInterface::exportSelected()
{ {
exportPictures++; exportPictures++;
} }
else if (widget->getWidgetType() == "SavegameWidgets") else if (widget->getWidgetType() == "SavegameWidget")
{ {
exportSavegames++; exportSavegames++;
} }
@ -510,27 +512,32 @@ void ProfileInterface::exportSelected()
{ {
QInputDialog inputDialog; QInputDialog inputDialog;
QStringList inputDialogItems; QStringList inputDialogItems;
inputDialogItems << tr("Export and Copy pictures"); inputDialogItems << tr("JPG pictures and GTA Snapmatic");
inputDialogItems << tr("Export pictures"); inputDialogItems << tr("JPG pictures only");
inputDialogItems << tr("Copy pictures"); inputDialogItems << tr("GTA Snapmatic only");
bool itemSelected = false; bool itemSelected = false;
QString selectedItem = inputDialog.getItem(this, tr("Export selected"), tr("How should we deal with the Snapmatic pictures?"), inputDialogItems, 0, false, &itemSelected, inputDialog.windowFlags()^Qt::WindowContextHelpButtonHint); QString selectedItem = inputDialog.getItem(this, tr("Export selected"), tr("Export Snapmatic pictures\n\nJPG pictures make it possible to open the picture with a Image Viewer\nGTA Snapmatic make it possible to import the picture into the game\n\nExport as:"), inputDialogItems, 0, false, &itemSelected, inputDialog.windowFlags()^Qt::WindowContextHelpButtonHint);
if (itemSelected) if (itemSelected)
{ {
if (selectedItem == tr("Export and Copy pictures")) if (selectedItem == tr("JPG pictures and GTA Snapmatic"))
{ {
pictureExportEnabled = true; pictureExportEnabled = true;
pictureCopyEnabled = true; pictureCopyEnabled = true;
} }
else if (selectedItem == tr("Export pictures")) else if (selectedItem == tr("JPG pictures only"))
{ {
pictureExportEnabled = true; pictureExportEnabled = true;
} }
else if (selectedItem == tr("Copy pictures")) else if (selectedItem == tr("GTA Snapmatic only"))
{ {
pictureCopyEnabled = true; pictureCopyEnabled = true;
} }
else
{
pictureExportEnabled = true;
pictureCopyEnabled = true;
}
} }
else else
{ {
@ -605,10 +612,17 @@ void ProfileInterface::exportSelected()
} }
} }
} }
else
{
QMessageBox::information(this, tr("Export selected"), tr("No Snapmatic pictures or Savegames files are selected"));
}
}
void ProfileInterface::deleteSelected() void ProfileInterface::deleteSelected()
{ {
if (QMessageBox::Yes == QMessageBox::warning(this, tr("Delete selected"), tr("You really want delete the selected content?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::No)) if (selectedWidgts != 0)
{
if (QMessageBox::Yes == QMessageBox::warning(this, tr("Remove selected"), tr("You really want remove the selected Snapmatic picutres and Savegame files?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::No))
{ {
foreach (ProfileWidget *widget, widgets.keys()) foreach (ProfileWidget *widget, widgets.keys())
{ {
@ -638,7 +652,12 @@ void ProfileInterface::deleteSelected()
} }
if (selectedWidgts != 0) if (selectedWidgts != 0)
{ {
QMessageBox::warning(this, tr("Delete selected"), tr("Failed at delete all selected content")); QMessageBox::warning(this, tr("Remove selected"), tr("Failed at remove the complete selected Snapmatic pictures and/or Savegame files"));
} }
} }
} }
else
{
QMessageBox::information(this, tr("Remove selected"), tr("No Snapmatic pictures or Savegames files are selected"));
}
}

View file

@ -14,6 +14,9 @@
<string>Profile Interface</string> <string>Profile Interface</string>
</property> </property>
<layout class="QVBoxLayout" name="vlProfileInterface"> <layout class="QVBoxLayout" name="vlProfileInterface">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin"> <property name="leftMargin">
<number>0</number> <number>0</number>
</property> </property>
@ -106,7 +109,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>398</width> <width>398</width>
<height>251</height> <height>257</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="vlProfile"> <layout class="QVBoxLayout" name="vlProfile">

View file

@ -176,8 +176,8 @@ void SnapmaticWidget::contextMenuEvent(QContextMenuEvent *ev)
{ {
QMenu contextMenu(this); QMenu contextMenu(this);
QMenu exportMenu(tr("&Export"), this); QMenu exportMenu(tr("&Export"), this);
exportMenu.addAction(tr("Export as &picture...", "Export as picture"), this, SLOT(on_cmdExport_clicked())); exportMenu.addAction(tr("Export as &JPG picture"), this, SLOT(on_cmdExport_clicked()));
exportMenu.addAction(tr("Export for &import...", "Export for import"), this, SLOT(on_cmdCopy_clicked())); exportMenu.addAction(tr("Export as &GTA Snapmatic"), this, SLOT(on_cmdCopy_clicked()));
contextMenu.addAction(tr("&View"), this, SLOT(on_cmdView_clicked())); contextMenu.addAction(tr("&View"), this, SLOT(on_cmdView_clicked()));
contextMenu.addMenu(&exportMenu); contextMenu.addMenu(&exportMenu);
contextMenu.addAction(tr("&Remove"), this, SLOT(on_cmdDelete_clicked())); contextMenu.addAction(tr("&Remove"), this, SLOT(on_cmdDelete_clicked()));

View file

@ -166,7 +166,7 @@
</action> </action>
<action name="actionExport_selected"> <action name="actionExport_selected">
<property name="text"> <property name="text">
<string>&amp;Export selected</string> <string>&amp;Export selected...</string>
</property> </property>
<property name="shortcut"> <property name="shortcut">
<string>Ctrl+E</string> <string>Ctrl+E</string>