From e8c3d82db2846ea3d15e3c3fdaafb58e2de87974 Mon Sep 17 00:00:00 2001
From: Rafael <Syping@users.noreply.github.com>
Date: Mon, 28 Mar 2016 21:37:42 +0200
Subject: [PATCH] overwriting changes, german translation updated

---
 PictureDialog.cpp   |  26 +++++++++++++-
 SavegameWidget.cpp  |  28 ++++++++++++++--
 SnapmaticWidget.cpp |   2 +-
 gta5sync_de.qm      | Bin 6138 -> 7254 bytes
 gta5sync_de.ts      |  80 +++++++++++++++++++++++++++++++-------------
 5 files changed, 108 insertions(+), 28 deletions(-)

diff --git a/PictureDialog.cpp b/PictureDialog.cpp
index a75aa78..08e42a8 100755
--- a/PictureDialog.cpp
+++ b/PictureDialog.cpp
@@ -146,11 +146,15 @@ void PictureDialog::on_cmdClose_clicked()
 
 void PictureDialog::on_cmdExport_clicked()
 {
+    QSettings settings("Syping", "gta5sync");
+    settings.beginGroup("FileDialogs");
+
     QFileDialog fileDialog(this);
     fileDialog.setFileMode(QFileDialog::AnyFile);
     fileDialog.setViewMode(QFileDialog::Detail);
     fileDialog.setAcceptMode(QFileDialog::AcceptSave);
     fileDialog.setOption(QFileDialog::DontUseNativeDialog, true);
+    fileDialog.setOption(QFileDialog::DontConfirmOverwrite, true);
     fileDialog.setDefaultSuffix("suffix");
     fileDialog.setWindowTitle(tr("Export picture"));
     fileDialog.setWindowFlags(fileDialog.windowFlags()^Qt::WindowContextHelpButtonHint);
@@ -186,6 +190,7 @@ void PictureDialog::on_cmdExport_clicked()
     }
 
     fileDialog.setSidebarUrls(sidebarUrls);
+    fileDialog.restoreState(settings.value("ExportPicture","").toByteArray());
 
 fileDialogPreSave:
     if (fileDialog.exec())
@@ -224,11 +229,27 @@ fileDialogPreSave:
                 }
             }
 
+            if (QFile::exists(selectedFile))
+            {
+                if (QMessageBox::Yes == QMessageBox::warning(this, tr("Export picture"), tr("Overwrite %1 with current Snapmatic picture?").arg("\""+selectedFile+"\""), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes))
+                {
+                    if (!QFile::remove(selectedFile))
+                    {
+                        QMessageBox::warning(this, tr("Export picture"), tr("Failed to overwrite %1 with current Snapmatic picture").arg("\""+selectedFile+"\""));
+                        goto fileDialogPreSave;
+                    }
+                }
+                else
+                {
+                    goto fileDialogPreSave;
+                }
+            }
+
             bool isSaved = ui->labPicture->pixmap()->save(selectedFile, saveFileFormat.toStdString().c_str(), 100);
 
             if (!isSaved)
             {
-                QMessageBox::warning(this, tr("Export picture"), tr("Failed to save the picture"));
+                QMessageBox::warning(this, tr("Export picture"), tr("Failed to save current picture"));
                 goto fileDialogPreSave;
             }
         }
@@ -238,4 +259,7 @@ fileDialogPreSave:
             goto fileDialogPreSave;
         }
     }
+
+    settings.setValue("ExportPicture", fileDialog.saveState());
+    settings.endGroup();
 }
diff --git a/SavegameWidget.cpp b/SavegameWidget.cpp
index ff42ed6..58886c6 100755
--- a/SavegameWidget.cpp
+++ b/SavegameWidget.cpp
@@ -22,6 +22,7 @@
 #include "SavegameData.h"
 #include <QFileDialog>
 #include <QMessageBox>
+#include <QSettings>
 #include <QFileInfo>
 #include <QFile>
 #include <QUrl>
@@ -71,12 +72,16 @@ void SavegameWidget::on_cmdDelete_clicked()
 
 void SavegameWidget::on_cmdCopy_clicked()
 {
+    QSettings settings("Syping", "gta5sync");
+    settings.beginGroup("FileDialogs");
+
     QFileInfo fileInfo(sgdPath);
     QFileDialog fileDialog(this);
     fileDialog.setFileMode(QFileDialog::AnyFile);
     fileDialog.setViewMode(QFileDialog::Detail);
     fileDialog.setAcceptMode(QFileDialog::AcceptSave);
     fileDialog.setOption(QFileDialog::DontUseNativeDialog, true);
+    fileDialog.setOption(QFileDialog::DontConfirmOverwrite, true);
     fileDialog.setDefaultSuffix("");
     fileDialog.setWindowFlags(fileDialog.windowFlags()^Qt::WindowContextHelpButtonHint);
     fileDialog.setWindowTitle(tr("Copy savegame"));
@@ -112,6 +117,7 @@ void SavegameWidget::on_cmdCopy_clicked()
     }
 
     fileDialog.setSidebarUrls(sidebarUrls);
+    fileDialog.restoreState(settings.value("CopySavegame","").toByteArray());
 
 fileDialogPreSave:
     if (fileDialog.exec())
@@ -121,11 +127,26 @@ fileDialogPreSave:
         {
             QString selectedFile = selectedFiles.at(0);
 
-            bool isCopied = QFile::copy(sgdPath, selectedFile);
+            if (QFile::exists(selectedFile))
+            {
+                if (QMessageBox::Yes == QMessageBox::warning(this, tr("Copy savegame"), tr("Overwrite %1 with current savegame?").arg("\""+selectedFile+"\""), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes))
+                {
+                    if (!QFile::remove(selectedFile))
+                    {
+                        QMessageBox::warning(this, tr("Copy savegame"), tr("Failed to overwrite %1 with current savegame").arg("\""+selectedFile+"\""));
+                        goto fileDialogPreSave;
+                    }
+                }
+                else
+                {
+                    goto fileDialogPreSave;
+                }
+            }
 
+            bool isCopied = QFile::copy(sgdPath, selectedFile);
             if (!isCopied)
             {
-                QMessageBox::warning(this, tr("Copy savegame"), tr("Failed to copy the savegame"));
+                QMessageBox::warning(this, tr("Copy savegame"), tr("Failed to copy current savegame"));
                 goto fileDialogPreSave;
             }
         }
@@ -135,4 +156,7 @@ fileDialogPreSave:
             goto fileDialogPreSave;
         }
     }
+
+    settings.setValue("CopySavegame", fileDialog.saveState());
+    settings.endGroup();
 }
diff --git a/SnapmaticWidget.cpp b/SnapmaticWidget.cpp
index 9fef30c..9c8d65b 100755
--- a/SnapmaticWidget.cpp
+++ b/SnapmaticWidget.cpp
@@ -72,7 +72,7 @@ void SnapmaticWidget::on_cmdView_clicked()
 
 void SnapmaticWidget::on_cmdDelete_clicked()
 {
-    int uchoice = QMessageBox::question(this, tr("Delete picture"), tr("Are you sure to delete %1 from your Snapmatic pictures?").arg("\""+picStr+"\""), QMessageBox::No | QMessageBox::Yes, QMessageBox::No);
+    int uchoice = QMessageBox::question(this, tr("Delete picture"), tr("Are you sure to delete %1 from your Snapmatic pictures?").arg("\""+picStr+"\""), QMessageBox::Yes | QMessageBox::No, QMessageBox::No);
     if (uchoice == QMessageBox::Yes)
     {
         if (!QFile::exists(picPath))
diff --git a/gta5sync_de.qm b/gta5sync_de.qm
index e83ad13bd8b93ab44640d89bfb9e1b05bb4ea4d5..05a11a5b0765be3c1ef8a1bd77cea71c4df40d60 100755
GIT binary patch
delta 1157
zcmb`ET}V@57{~uRJNr1txtVTGCGwa|3eB&y2|}8EkfCITLE**bJmhL0Hm72cv(k$`
zu<&FCLIu^5^dhsY2>LLhyeLD#AQaN@Lad9lPjBj(D+hrH(ZzZHyzhCR|L^%f?|j;5
z&RM<h9aw(@pf!PgZ31F?!G1^wVoRYIdJY)Nv13C!fbBt*Yl5mt4XSaBX^Wsb%rfnV
zS^z~4b1~`@`AjgEEg67(B&eDyrpG!(oO0&Q-E3fmndu)$1bn(&X7IcYP`j8(zn*|<
zX1?7(MjE;BYJ`jtRAZZblV1ebWcl@t)UdLPEs41VM7FZstpT8c?LI@dV+u)Sq(|7E
zlxqaM6;wkpJ5+a$+_ti_@9$H6i6XkI13swiD%DgZRr*x?7cZci32G#-a=)1bxK5Sl
z?J%AD)kR%HfWC<{j^_i>om|p)N?;h`Dmt=&s3gwwEfdf@;aWD|r2Q0kI+c>jk8^|h
zJ|O%6FPotN+G*a@R7k$je9?_7b{h3CUp!3*QHS|^D=B%Hl7Cr13Bt<x(fBd~wD4bZ
z5`Z{On5@4M;0MDVI-gP9F-`KCIoj{ioUqgay1DSDdkM(>)Fyp20THLPw=Lu!Zlooy
zOiDN8_9>Xpa@k2~Lc2C^3>6UJK@DuEA{Aj@IB`Kh9oz`02^q9H>5rGxii4!JbkhNc
z^f+p@SxsYulD_P1R=Y#26ufT1T_<|#J$A1sm@<TVySGZP)p|Ul%PZ`5S*x8^uiYj!
zD&u9AKo^oisV@l7oPYZhCD1_uu^p&f1g#2zYOHnQZ*S?SLg@RU7+}o%uvD()(j=Pm
z7AYw^mk%LS+il)jkC-PVsEvIO)Z<Foo`pzPb?byhr}$96Hg|QypIJzcv<cD$U5~8!
zzr017&X8rLc~v4rP6?5he3FGWwnQ|WOaF0f1YREmhlZE9^zZ^tw%_U$rQYz^z84Xh
Fs$YJNBtrlI

delta 480
zcmca+@k@V#Nc{!|mSvR;4BUShST3kCFo?7=u)Hx~U=USfU_F1FfkD`S!OLta0|SEx
zgl6V}&|It#T6hD~Bmtm4hEGgW3tJf&ShShu34a8dvz2K<f*}I~^JNIlWzV!G@hJlX
zk1^A>L&^*cyh2QmmWePh)C=8VRycPVXaEC*7EWVcZU=M_t2)c-KA=IuFIiUi17$^I
zfixqK4rE!QvlM7hCxjMMWI10p1*qGV<<sMxKnI*>6<aYKsQ(2!`%@vH#(H+HuO$o&
zY*`SRuZ%ta`XdGg_9FJ8TbCH>8Q4@gd{&%iU=Rr56u;}hz#x>*srCctLcztHNz+Xj
z82Em17JWBjVBng;+3LK3fq{P~XOEsK(86ZUlMeO3kaOf>e4Pq(&;c&h22Y?xZ@GL{
zEe3|*GA`ejKt8`8*A5v`1_qA1TxXqt9^f?Qx+WhAG(VE-n}wn!P~ih^#%*;#1q-<M
z<sJp{!+5kcJ_Gq0yoV!!7O`LBQ+ull46;*vTM{yX4tWP8#55=ONLp_;W%|Orc@_I1
Yrp+SUciAR)3ay#UA=0v0MbwBL0N~(zx&QzG

diff --git a/gta5sync_de.ts b/gta5sync_de.ts
index b8012c3..a3e8480 100755
--- a/gta5sync_de.ts
+++ b/gta5sync_de.ts
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
-<TS version="2.0" language="de_DE">
+<TS version="2.1" language="de_DE">
 <context>
     <name>AboutDialog</name>
     <message>
@@ -66,23 +66,40 @@
         <translation>Keine Crew</translation>
     </message>
     <message>
-        <location filename="PictureDialog.cpp" line="159"/>
+        <location filename="PictureDialog.cpp" line="163"/>
         <source>JPEG picture (*.jpg)</source>
         <translation>JPEG Bild (*.jpg)</translation>
     </message>
     <message>
-        <location filename="PictureDialog.cpp" line="160"/>
+        <location filename="PictureDialog.cpp" line="164"/>
         <source>Portable Network Graphics (*.png)</source>
         <translation>Portable Network Graphics (*.png)</translation>
     </message>
     <message>
-        <source>JPEG picture (*.jpg);;Portable Network Graphics (*.png)</source>
-        <translation>JPEG Bild (*.jpg);;Portable Network Graphics (*.png)</translation>
+        <location filename="PictureDialog.cpp" line="234"/>
+        <source>Overwrite %1 with current Snapmatic picture?</source>
+        <translation>Überschreibe %1 mit aktuellen Snapmatic Bild?</translation>
     </message>
     <message>
-        <location filename="PictureDialog.cpp" line="155"/>
-        <location filename="PictureDialog.cpp" line="231"/>
-        <location filename="PictureDialog.cpp" line="237"/>
+        <location filename="PictureDialog.cpp" line="238"/>
+        <source>Failed to overwrite %1 with current Snapmatic picture</source>
+        <translation>Fehlgeschlagen beim Überschreiben von %1 mit aktuellen Snapmatic Bild</translation>
+    </message>
+    <message>
+        <location filename="PictureDialog.cpp" line="252"/>
+        <source>Failed to save current picture</source>
+        <translation>Fehlgeschlagen beim Speichern vom aktuellen Bild</translation>
+    </message>
+    <message>
+        <source>JPEG picture (*.jpg);;Portable Network Graphics (*.png)</source>
+        <translation type="vanished">JPEG Bild (*.jpg);;Portable Network Graphics (*.png)</translation>
+    </message>
+    <message>
+        <location filename="PictureDialog.cpp" line="159"/>
+        <location filename="PictureDialog.cpp" line="234"/>
+        <location filename="PictureDialog.cpp" line="238"/>
+        <location filename="PictureDialog.cpp" line="252"/>
+        <location filename="PictureDialog.cpp" line="258"/>
         <source>Export picture</source>
         <translation>Bild exportieren</translation>
     </message>
@@ -91,12 +108,11 @@
         <translation type="obsolete">Snapmatic Bild Exporter</translation>
     </message>
     <message>
-        <location filename="PictureDialog.cpp" line="231"/>
         <source>Failed to save the picture</source>
-        <translation>Beim Speichern des Bildes ist ein Fehler aufgetreten</translation>
+        <translation type="vanished">Beim Speichern des Bildes ist ein Fehler aufgetreten</translation>
     </message>
     <message>
-        <location filename="PictureDialog.cpp" line="237"/>
+        <location filename="PictureDialog.cpp" line="258"/>
         <source>No valid file is selected</source>
         <translation>Keine gültige Datei wurde ausgewählt</translation>
     </message>
@@ -180,45 +196,61 @@
         <translation>Löschen</translation>
     </message>
     <message>
-        <location filename="SavegameWidget.cpp" line="54"/>
-        <location filename="SavegameWidget.cpp" line="67"/>
+        <location filename="SavegameWidget.cpp" line="55"/>
+        <location filename="SavegameWidget.cpp" line="68"/>
         <source>Delete savegame</source>
         <translation>Savegame löschen</translation>
     </message>
     <message>
-        <location filename="SavegameWidget.cpp" line="54"/>
+        <location filename="SavegameWidget.cpp" line="55"/>
         <source>Are you sure to delete %1 from your savegames?</source>
         <translation>Bist du sicher %1 von deinen Spielständen zu löschen?</translation>
     </message>
     <message>
-        <location filename="SavegameWidget.cpp" line="67"/>
+        <location filename="SavegameWidget.cpp" line="68"/>
         <source>Failed at deleting %1 from your savegames</source>
         <translation>Fehlgeschlagen beim Löschen %1 von deinen Spielständen</translation>
     </message>
     <message>
-        <location filename="SavegameWidget.cpp" line="82"/>
-        <location filename="SavegameWidget.cpp" line="128"/>
-        <location filename="SavegameWidget.cpp" line="134"/>
+        <location filename="SavegameWidget.cpp" line="87"/>
+        <location filename="SavegameWidget.cpp" line="132"/>
+        <location filename="SavegameWidget.cpp" line="136"/>
+        <location filename="SavegameWidget.cpp" line="149"/>
+        <location filename="SavegameWidget.cpp" line="155"/>
         <source>Copy savegame</source>
         <translation>Spielstand kopieren</translation>
     </message>
     <message>
-        <location filename="SavegameWidget.cpp" line="85"/>
+        <location filename="SavegameWidget.cpp" line="90"/>
         <source>Savegame files (SGTA*)</source>
         <translation>Spielstanddateien (SGTA*)</translation>
     </message>
     <message>
-        <location filename="SavegameWidget.cpp" line="86"/>
+        <location filename="SavegameWidget.cpp" line="91"/>
         <source>All files (**)</source>
         <translation>Alle Dateien (**)</translation>
     </message>
     <message>
-        <location filename="SavegameWidget.cpp" line="128"/>
-        <source>Failed to copy the savegame</source>
-        <translation>Beim Kopieren vom Spielstand ist ein Fehler aufgetreten</translation>
+        <location filename="SavegameWidget.cpp" line="132"/>
+        <source>Overwrite %1 with current savegame?</source>
+        <translation>Überschreibe %1 mit aktuellen Spielstand?</translation>
     </message>
     <message>
-        <location filename="SavegameWidget.cpp" line="134"/>
+        <location filename="SavegameWidget.cpp" line="136"/>
+        <source>Failed to overwrite %1 with current savegame</source>
+        <translation>Fehlgeschlagen beim Überschreiben von %1 mit aktuellen Spielstand </translation>
+    </message>
+    <message>
+        <location filename="SavegameWidget.cpp" line="149"/>
+        <source>Failed to copy current savegame</source>
+        <translation>Fehlgeschlagen beim Kopieren vom Spielstand</translation>
+    </message>
+    <message>
+        <source>Failed to copy the savegame</source>
+        <translation type="vanished">Beim Kopieren vom Spielstand ist ein Fehler aufgetreten</translation>
+    </message>
+    <message>
+        <location filename="SavegameWidget.cpp" line="155"/>
         <source>No valid file is selected</source>
         <translation>Keine gültige Datei wurde ausgewählt</translation>
     </message>