context menu finished, german translation updated

This commit is contained in:
Rafael 2016-04-03 02:27:24 +02:00
parent 0510b47a93
commit f866de1137
15 changed files with 592 additions and 327 deletions

98
PictureCopy.cpp Executable file
View file

@ -0,0 +1,98 @@
/*****************************************************************************
* gta5sync GRAND THEFT AUTO V SYNC
* Copyright (C) 2016 Syping
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*****************************************************************************/
#include "PictureCopy.h"
#include "PictureDialog.h"
#include "SidebarGenerator.h"
#include <QMessageBox>
#include <QFileDialog>
#include <QSettings>
PictureCopy::PictureCopy()
{
}
void PictureCopy::CopyPicture(QWidget *parent, QString picPath)
{
QSettings settings("Syping", "gta5sync");
settings.beginGroup("FileDialogs");
fileDialogPreSave:
QFileInfo sgdFileInfo(picPath);
QFileDialog fileDialog(parent);
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(PictureDialog::tr("Copy picture"));
QStringList filters;
filters << PictureDialog::tr("Snapmatic pictures (PGTA*)");
filters << PictureDialog::tr("All files (**)");
fileDialog.setNameFilters(filters);
QList<QUrl> sidebarUrls = SidebarGenerator::generateSidebarUrls(fileDialog.sidebarUrls());
fileDialog.setSidebarUrls(sidebarUrls);
fileDialog.restoreState(settings.value("CopyPicture","").toByteArray());
fileDialog.selectFile(sgdFileInfo.fileName());
if (fileDialog.exec())
{
QStringList selectedFiles = fileDialog.selectedFiles();
if (selectedFiles.length() == 1)
{
QString selectedFile = selectedFiles.at(0);
if (QFile::exists(selectedFile))
{
if (QMessageBox::Yes == QMessageBox::warning(parent, PictureDialog::tr("Copy picture"), PictureDialog::tr("Overwrite %1 with current Snapmatic picture?").arg("\""+selectedFile+"\""), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes))
{
if (!QFile::remove(selectedFile))
{
QMessageBox::warning(parent, PictureDialog::tr("Copy picture"), PictureDialog::tr("Failed to overwrite %1 with current Snapmatic picture").arg("\""+selectedFile+"\""));
goto fileDialogPreSave;
}
}
else
{
goto fileDialogPreSave;
}
}
bool isCopied = QFile::copy(picPath, selectedFile);
if (!isCopied)
{
QMessageBox::warning(parent, PictureDialog::tr("Copy picture"), PictureDialog::tr("Failed to copy current Snapmatic picture"));
goto fileDialogPreSave;
}
}
else
{
QMessageBox::warning(parent, PictureDialog::tr("Copy picture"), PictureDialog::tr("No valid file is selected"));
goto fileDialogPreSave;
}
}
settings.setValue("CopyPicture", fileDialog.saveState());
settings.endGroup();
}

32
PictureCopy.h Executable file
View file

@ -0,0 +1,32 @@
/*****************************************************************************
* gta5sync GRAND THEFT AUTO V SYNC
* Copyright (C) 2016 Syping
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*****************************************************************************/
#ifndef PICTURECOPY_H
#define PICTURECOPY_H
#include <QWidget>
#include <QString>
class PictureCopy
{
public:
PictureCopy();
static void CopyPicture(QWidget *parent, QString picPath);
};
#endif // PICTURECOPY_H

View file

@ -21,6 +21,8 @@
#include "ui_PictureDialog.h" #include "ui_PictureDialog.h"
#include "SidebarGenerator.h" #include "SidebarGenerator.h"
#include "StandardPaths.h" #include "StandardPaths.h"
#include "PictureExport.h"
#include "PictureCopy.h"
#include "UiModLabel.h" #include "UiModLabel.h"
#include <QDesktopWidget> #include <QDesktopWidget>
@ -161,200 +163,12 @@ void PictureDialog::on_cmdClose_clicked()
void PictureDialog::on_cmdExport_clicked() void PictureDialog::on_cmdExport_clicked()
{ {
QSettings settings("Syping", "gta5sync"); PictureExport::ExportPicture(this, smpic);
settings.beginGroup("FileDialogs");
fileDialogPreSave:
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);
QStringList filters;
filters << tr("JPEG picture (*.jpg)");
filters << tr("Portable Network Graphics (*.png)");
fileDialog.setNameFilters(filters);
QList<QUrl> sidebarUrls = SidebarGenerator::generateSidebarUrls(fileDialog.sidebarUrls());
fileDialog.setSidebarUrls(sidebarUrls);
fileDialog.restoreState(settings.value("ExportPicture","").toByteArray());
if (smpic != 0)
{
QString newPictureFileName;
QString pictureStr = smpic->getPictureStr();
QStringList pictureStrList = pictureStr.split(" - ");
if (pictureStrList.length() <= 2)
{
QString dtStr = pictureStrList.at(1);
QStringList dtStrList = dtStr.split(" ");
if (dtStrList.length() <= 2)
{
QString dayStr;
QString yearStr;
QString monthStr;
QString dateStr = dtStrList.at(0);
QString timeStr = dtStrList.at(1);
timeStr.replace(":","");
QStringList dateStrList = dateStr.split("/");
if (dateStrList.length() <= 3)
{
dayStr = dateStrList.at(1);
yearStr = dateStrList.at(2);
monthStr = dateStrList.at(0);
}
QString cmpPicTitl = picTitl;
cmpPicTitl.replace(" ", "_");
newPictureFileName = yearStr + monthStr + dayStr + timeStr + "_" + cmpPicTitl + ".jpg";
}
}
fileDialog.selectFile(newPictureFileName);
}
if (fileDialog.exec())
{
QStringList selectedFiles = fileDialog.selectedFiles();
if (selectedFiles.length() == 1)
{
QString saveFileFormat;
QString selectedFile = selectedFiles.at(0);
if (selectedFile.right(4) == ".jpg")
{
saveFileFormat = "JPEG";
}
else if (selectedFile.right(4) == ".jpeg")
{
saveFileFormat = "JPEG";
}
else if (selectedFile.right(4) == ".png")
{
saveFileFormat = "PNG";
}
else if (selectedFile.right(7) == ".suffix")
{
if (fileDialog.selectedNameFilter() == "JPEG picture (*.jpg)")
{
selectedFile.replace(".suffix", ".jpg");
}
else if (fileDialog.selectedNameFilter() == "Portable Network Graphics (*.png)")
{
selectedFile.replace(".suffix", ".png");
}
else
{
selectedFile.replace(".suffix", ".jpg");
}
}
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 export current Snapmatic picture"));
goto fileDialogPreSave;
}
}
else
{
QMessageBox::warning(this, tr("Export picture"), tr("No valid file is selected"));
goto fileDialogPreSave;
}
}
settings.setValue("ExportPicture", fileDialog.saveState());
settings.endGroup();
} }
void PictureDialog::on_cmdCopy_clicked() void PictureDialog::on_cmdCopy_clicked()
{ {
QSettings settings("Syping", "gta5sync"); PictureCopy::CopyPicture(this, picPath);
settings.beginGroup("FileDialogs");
fileDialogPreSave:
QFileInfo sgdFileInfo(picPath);
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 picture"));
QStringList filters;
filters << tr("Snapmatic pictures (PGTA*)");
filters << tr("All files (**)");
fileDialog.setNameFilters(filters);
QList<QUrl> sidebarUrls = SidebarGenerator::generateSidebarUrls(fileDialog.sidebarUrls());
fileDialog.setSidebarUrls(sidebarUrls);
fileDialog.restoreState(settings.value("CopyPicture","").toByteArray());
fileDialog.selectFile(sgdFileInfo.fileName());
if (fileDialog.exec())
{
QStringList selectedFiles = fileDialog.selectedFiles();
if (selectedFiles.length() == 1)
{
QString selectedFile = selectedFiles.at(0);
if (QFile::exists(selectedFile))
{
if (QMessageBox::Yes == QMessageBox::warning(this, tr("Copy picture"), tr("Overwrite %1 with current Snapmatic picture?").arg("\""+selectedFile+"\""), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes))
{
if (!QFile::remove(selectedFile))
{
QMessageBox::warning(this, tr("Copy picture"), tr("Failed to overwrite %1 with current Snapmatic picture").arg("\""+selectedFile+"\""));
goto fileDialogPreSave;
}
}
else
{
goto fileDialogPreSave;
}
}
bool isCopied = QFile::copy(picPath, selectedFile);
if (!isCopied)
{
QMessageBox::warning(this, tr("Copy picture"), tr("Failed to copy current Snapmatic picture"));
goto fileDialogPreSave;
}
}
else
{
QMessageBox::warning(this, tr("Copy picture"), tr("No valid file is selected"));
goto fileDialogPreSave;
}
}
settings.setValue("CopyPicture", fileDialog.saveState());
settings.endGroup();
} }
void PictureDialog::on_labPicture_mouseDoubleClicked() void PictureDialog::on_labPicture_mouseDoubleClicked()

158
PictureExport.cpp Executable file
View file

@ -0,0 +1,158 @@
/*****************************************************************************
* gta5sync GRAND THEFT AUTO V SYNC
* Copyright (C) 2016 Syping
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*****************************************************************************/
#include "PictureExport.h"
#include "PictureDialog.h"
#include "SidebarGenerator.h"
#include <QMessageBox>
#include <QFileDialog>
#include <QSettings>
PictureExport::PictureExport()
{
}
void PictureExport::ExportPicture(QWidget *parent, SnapmaticPicture *picture)
{
QSettings settings("Syping", "gta5sync");
settings.beginGroup("FileDialogs");
fileDialogPreSave:
QFileDialog fileDialog(parent);
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(PictureDialog::tr("Export picture"));
fileDialog.setWindowFlags(fileDialog.windowFlags()^Qt::WindowContextHelpButtonHint);
QStringList filters;
filters << PictureDialog::tr("JPEG picture (*.jpg)");
filters << PictureDialog::tr("Portable Network Graphics (*.png)");
fileDialog.setNameFilters(filters);
QList<QUrl> sidebarUrls = SidebarGenerator::generateSidebarUrls(fileDialog.sidebarUrls());
fileDialog.setSidebarUrls(sidebarUrls);
fileDialog.restoreState(settings.value("ExportPicture","").toByteArray());
if (picture != 0)
{
QString newPictureFileName;
QString pictureStr = picture->getPictureStr();
QStringList pictureStrList = pictureStr.split(" - ");
if (pictureStrList.length() <= 2)
{
QString dtStr = pictureStrList.at(1);
QStringList dtStrList = dtStr.split(" ");
if (dtStrList.length() <= 2)
{
QString dayStr;
QString yearStr;
QString monthStr;
QString dateStr = dtStrList.at(0);
QString timeStr = dtStrList.at(1);
timeStr.replace(":","");
QStringList dateStrList = dateStr.split("/");
if (dateStrList.length() <= 3)
{
dayStr = dateStrList.at(1);
yearStr = dateStrList.at(2);
monthStr = dateStrList.at(0);
}
QString cmpPicTitl = picture->getPictureTitl();
cmpPicTitl.replace(" ", "_");
newPictureFileName = yearStr + monthStr + dayStr + timeStr + "_" + cmpPicTitl + ".jpg";
}
}
fileDialog.selectFile(newPictureFileName);
}
if (fileDialog.exec())
{
QStringList selectedFiles = fileDialog.selectedFiles();
if (selectedFiles.length() == 1)
{
QString saveFileFormat;
QString selectedFile = selectedFiles.at(0);
if (selectedFile.right(4) == ".jpg")
{
saveFileFormat = "JPEG";
}
else if (selectedFile.right(4) == ".jpeg")
{
saveFileFormat = "JPEG";
}
else if (selectedFile.right(4) == ".png")
{
saveFileFormat = "PNG";
}
else if (selectedFile.right(7) == ".suffix")
{
if (fileDialog.selectedNameFilter() == "JPEG picture (*.jpg)")
{
selectedFile.replace(".suffix", ".jpg");
}
else if (fileDialog.selectedNameFilter() == "Portable Network Graphics (*.png)")
{
selectedFile.replace(".suffix", ".png");
}
else
{
selectedFile.replace(".suffix", ".jpg");
}
}
if (QFile::exists(selectedFile))
{
if (QMessageBox::Yes == QMessageBox::warning(parent, PictureDialog::tr("Export picture"), PictureDialog::tr("Overwrite %1 with current Snapmatic picture?").arg("\""+selectedFile+"\""), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes))
{
if (!QFile::remove(selectedFile))
{
QMessageBox::warning(parent, PictureDialog::tr("Export picture"), PictureDialog::tr("Failed to overwrite %1 with current Snapmatic picture").arg("\""+selectedFile+"\""));
goto fileDialogPreSave;
}
}
else
{
goto fileDialogPreSave;
}
}
bool isSaved = picture->getPicture().save(selectedFile, saveFileFormat.toStdString().c_str(), 100);
if (!isSaved)
{
QMessageBox::warning(parent, PictureDialog::tr("Export picture"), PictureDialog::tr("Failed to export current Snapmatic picture"));
goto fileDialogPreSave;
}
}
else
{
QMessageBox::warning(parent, PictureDialog::tr("Export picture"), PictureDialog::tr("No valid file is selected"));
goto fileDialogPreSave;
}
}
settings.setValue("ExportPicture", fileDialog.saveState());
settings.endGroup();
}

33
PictureExport.h Executable file
View file

@ -0,0 +1,33 @@
/*****************************************************************************
* gta5sync GRAND THEFT AUTO V SYNC
* Copyright (C) 2016 Syping
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*****************************************************************************/
#ifndef PICTUREEXPORT_H
#define PICTUREEXPORT_H
#include "SnapmaticPicture.h"
#include <QWidget>
#include <QString>
class PictureExport
{
public:
PictureExport();
static void ExportPicture(QWidget *parent, SnapmaticPicture *picture);
};
#endif // PICTUREEXPORT_H

View file

@ -20,6 +20,7 @@
#define SAVEGAMECOPY_H #define SAVEGAMECOPY_H
#include <QWidget> #include <QWidget>
#include <QString>
class SavegameCopy class SavegameCopy
{ {

View file

@ -105,9 +105,14 @@ void SavegameWidget::mouseDoubleClickEvent(QMouseEvent *ev)
} }
} }
void SavegameWidget::setChecked(bool isChecked)
{
ui->cbSelected->setChecked(isChecked);
}
void SavegameWidget::on_savegameSelected() void SavegameWidget::on_savegameSelected()
{ {
ui->cbSelected->setChecked(true); setChecked(true);
} }
void SavegameWidget::contextMenuEvent(QContextMenuEvent *ev) void SavegameWidget::contextMenuEvent(QContextMenuEvent *ev)

View file

@ -37,6 +37,7 @@ public:
SavegameWidget(QWidget *parent = 0); SavegameWidget(QWidget *parent = 0);
void setSavegameData(SavegameData *savegame, QString savegamePath); void setSavegameData(SavegameData *savegame, QString savegamePath);
void setSelectionMode(bool selectionMode); void setSelectionMode(bool selectionMode);
void setChecked(bool isChecked);
~SavegameWidget(); ~SavegameWidget();
private slots: private slots:

View file

@ -21,6 +21,8 @@
#include "SnapmaticPicture.h" #include "SnapmaticPicture.h"
#include "DatabaseThread.h" #include "DatabaseThread.h"
#include "PictureDialog.h" #include "PictureDialog.h"
#include "PictureExport.h"
#include "PictureCopy.h"
#include <QMessageBox> #include <QMessageBox>
#include <QPixmap> #include <QPixmap>
#include <QDebug> #include <QDebug>
@ -34,6 +36,7 @@ SnapmaticWidget::SnapmaticWidget(ProfileDatabase *profileDB, DatabaseThread *thr
ui->setupUi(this); ui->setupUi(this);
ui->cmdView->setVisible(false); ui->cmdView->setVisible(false);
ui->cmdCopy->setVisible(false); ui->cmdCopy->setVisible(false);
ui->cmdExport->setVisible(false);
ui->cmdDelete->setVisible(false); ui->cmdDelete->setVisible(false);
ui->cbSelected->setVisible(false); ui->cbSelected->setVisible(false);
picPath = ""; picPath = "";
@ -77,7 +80,12 @@ void SnapmaticWidget::on_cmdView_clicked()
void SnapmaticWidget::on_cmdCopy_clicked() void SnapmaticWidget::on_cmdCopy_clicked()
{ {
PictureCopy::CopyPicture(this, picPath);
}
void SnapmaticWidget::on_cmdExport_clicked()
{
PictureExport::ExportPicture(this, smpic);
} }
void SnapmaticWidget::on_cmdDelete_clicked() void SnapmaticWidget::on_cmdDelete_clicked()
@ -110,9 +118,14 @@ void SnapmaticWidget::mouseDoubleClickEvent(QMouseEvent *ev)
} }
} }
void SnapmaticWidget::setChecked(bool isChecked)
{
ui->cbSelected->setChecked(isChecked);
}
void SnapmaticWidget::on_pictureSelected() void SnapmaticWidget::on_pictureSelected()
{ {
ui->cbSelected->setChecked(true); setChecked(true);
} }
void SnapmaticWidget::contextMenuEvent(QContextMenuEvent *ev) void SnapmaticWidget::contextMenuEvent(QContextMenuEvent *ev)
@ -124,7 +137,8 @@ void SnapmaticWidget::contextMenuEvent(QContextMenuEvent *ev)
contextMenu.addSeparator(); contextMenu.addSeparator();
} }
contextMenu.addAction(tr("View picture"), this, SLOT(on_cmdView_clicked())); contextMenu.addAction(tr("View picture"), this, SLOT(on_cmdView_clicked()));
contextMenu.addAction(tr("Copy picture"), this, SLOT(on_cmdView_clicked())); contextMenu.addAction(tr("Copy picture"), this, SLOT(on_cmdCopy_clicked()));
contextMenu.addAction(tr("Export picture"), this, SLOT(on_cmdExport_clicked()));
contextMenu.addAction(tr("Delete picture"), this, SLOT(on_cmdDelete_clicked())); contextMenu.addAction(tr("Delete picture"), this, SLOT(on_cmdDelete_clicked()));
contextMenu.exec(ev->globalPos()); contextMenu.exec(ev->globalPos());
} }

View file

@ -39,11 +39,13 @@ public:
SnapmaticWidget(ProfileDatabase *profileDB, DatabaseThread *threadDB, QWidget *parent = 0); SnapmaticWidget(ProfileDatabase *profileDB, DatabaseThread *threadDB, QWidget *parent = 0);
void setSnapmaticPicture(SnapmaticPicture *picture, QString picturePath); void setSnapmaticPicture(SnapmaticPicture *picture, QString picturePath);
void setSelectionMode(bool selectionMode); void setSelectionMode(bool selectionMode);
void setChecked(bool isChecked);
~SnapmaticWidget(); ~SnapmaticWidget();
private slots: private slots:
void on_cmdView_clicked(); void on_cmdView_clicked();
void on_cmdCopy_clicked(); void on_cmdCopy_clicked();
void on_cmdExport_clicked();
void on_cmdDelete_clicked(); void on_cmdDelete_clicked();
void on_pictureSelected(); void on_pictureSelected();
void on_cbSelected_stateChanged(int arg1); void on_cbSelected_stateChanged(int arg1);

View file

@ -79,6 +79,13 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QPushButton" name="cmdExport">
<property name="text">
<string>Export</string>
</property>
</widget>
</item>
<item> <item>
<widget class="QPushButton" name="cmdDelete"> <widget class="QPushButton" name="cmdDelete">
<property name="text"> <property name="text">

View file

@ -28,7 +28,9 @@ SOURCES += main.cpp \
CrewDatabase.cpp \ CrewDatabase.cpp \
DatabaseThread.cpp \ DatabaseThread.cpp \
IconLoader.cpp \ IconLoader.cpp \
PictureCopy.cpp \
PictureDialog.cpp \ PictureDialog.cpp \
PictureExport.cpp \
ProfileDatabase.cpp \ ProfileDatabase.cpp \
ProfileInterface.cpp \ ProfileInterface.cpp \
ProfileLoader.cpp \ ProfileLoader.cpp \
@ -50,7 +52,9 @@ HEADERS += \
CrewDatabase.h \ CrewDatabase.h \
DatabaseThread.h \ DatabaseThread.h \
IconLoader.h \ IconLoader.h \
PictureCopy.h \
PictureDialog.h \ PictureDialog.h \
PictureExport.h \
ProfileDatabase.h \ ProfileDatabase.h \
ProfileInterface.h \ ProfileInterface.h \
ProfileLoader.h \ ProfileLoader.h \

View file

@ -43,11 +43,11 @@
</message> </message>
<message> <message>
<location filename="../PictureDialog.ui" line="91"/> <location filename="../PictureDialog.ui" line="91"/>
<location filename="../PictureDialog.cpp" line="175"/> <location filename="../PictureExport.cpp" line="44"/>
<location filename="../PictureDialog.cpp" line="258"/> <location filename="../PictureExport.cpp" line="127"/>
<location filename="../PictureDialog.cpp" line="262"/> <location filename="../PictureExport.cpp" line="131"/>
<location filename="../PictureDialog.cpp" line="276"/> <location filename="../PictureExport.cpp" line="145"/>
<location filename="../PictureDialog.cpp" line="282"/> <location filename="../PictureExport.cpp" line="151"/>
<source>Export picture</source> <source>Export picture</source>
<translation>Экспорт картинки</translation> <translation>Экспорт картинки</translation>
</message> </message>
@ -68,83 +68,83 @@
<translation>Закрыть</translation> <translation>Закрыть</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="69"/> <location filename="../PictureDialog.cpp" line="71"/>
<location filename="../PictureDialog.cpp" line="117"/> <location filename="../PictureDialog.cpp" line="119"/>
<source>Snapmatic Picture Viewer</source> <source>Snapmatic Picture Viewer</source>
<translation>Просмотрщик фотографий Snapmatic</translation> <translation>Просмотрщик фотографий Snapmatic</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="69"/> <location filename="../PictureDialog.cpp" line="71"/>
<location filename="../PictureDialog.cpp" line="117"/> <location filename="../PictureDialog.cpp" line="119"/>
<source>Failed at %1</source> <source>Failed at %1</source>
<translation>Ошибка при %1</translation> <translation>Ошибка при %1</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="106"/> <location filename="../PictureDialog.cpp" line="108"/>
<location filename="../PictureDialog.cpp" line="116"/> <location filename="../PictureDialog.cpp" line="118"/>
<source>No player</source> <source>No player</source>
<translation>Игроков нет</translation> <translation>Игроков нет</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="109"/> <location filename="../PictureDialog.cpp" line="111"/>
<location filename="../PictureDialog.cpp" line="116"/> <location filename="../PictureDialog.cpp" line="118"/>
<source>No crew</source> <source>No crew</source>
<translation>Без группы</translation> <translation>Без группы</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="179"/> <location filename="../PictureExport.cpp" line="48"/>
<source>JPEG picture (*.jpg)</source> <source>JPEG picture (*.jpg)</source>
<translation>Картинка JPEG (*.jpg)</translation> <translation>Картинка JPEG (*.jpg)</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="180"/> <location filename="../PictureExport.cpp" line="49"/>
<source>Portable Network Graphics (*.png)</source> <source>Portable Network Graphics (*.png)</source>
<translation>Картинка Portable Network Graphics (*.png)</translation> <translation>Картинка Portable Network Graphics (*.png)</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="258"/> <location filename="../PictureCopy.cpp" line="68"/>
<location filename="../PictureDialog.cpp" line="328"/> <location filename="../PictureExport.cpp" line="127"/>
<source>Overwrite %1 with current Snapmatic picture?</source> <source>Overwrite %1 with current Snapmatic picture?</source>
<translation>Перезаписать %1 текущей картинкой Snapmatic?</translation> <translation>Перезаписать %1 текущей картинкой Snapmatic?</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="262"/> <location filename="../PictureCopy.cpp" line="72"/>
<location filename="../PictureDialog.cpp" line="332"/> <location filename="../PictureExport.cpp" line="131"/>
<source>Failed to overwrite %1 with current Snapmatic picture</source> <source>Failed to overwrite %1 with current Snapmatic picture</source>
<translation>Не удалось перезаписать %1 картинкой Snapmatic</translation> <translation>Не удалось перезаписать %1 картинкой Snapmatic</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="276"/> <location filename="../PictureExport.cpp" line="145"/>
<source>Failed to export current Snapmatic picture</source> <source>Failed to export current Snapmatic picture</source>
<translation>Не удалось экспортировать текущую картинку Snapmatic</translation> <translation>Не удалось экспортировать текущую картинку Snapmatic</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="282"/> <location filename="../PictureCopy.cpp" line="91"/>
<location filename="../PictureDialog.cpp" line="351"/> <location filename="../PictureExport.cpp" line="151"/>
<source>No valid file is selected</source> <source>No valid file is selected</source>
<translation>Выбранный файл неверен</translation> <translation>Выбранный файл неверен</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="306"/> <location filename="../PictureCopy.cpp" line="46"/>
<location filename="../PictureDialog.cpp" line="328"/> <location filename="../PictureCopy.cpp" line="68"/>
<location filename="../PictureDialog.cpp" line="332"/> <location filename="../PictureCopy.cpp" line="72"/>
<location filename="../PictureDialog.cpp" line="345"/> <location filename="../PictureCopy.cpp" line="85"/>
<location filename="../PictureDialog.cpp" line="351"/> <location filename="../PictureCopy.cpp" line="91"/>
<source>Copy picture</source> <source>Copy picture</source>
<translation>Скопировать картинку</translation> <translation>Скопировать картинку</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="309"/> <location filename="../PictureCopy.cpp" line="49"/>
<source>Snapmatic pictures (PGTA*)</source> <source>Snapmatic pictures (PGTA*)</source>
<translation>Картинки Snapmatic (PGTA*)</translation> <translation>Картинки Snapmatic (PGTA*)</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="310"/> <location filename="../PictureCopy.cpp" line="50"/>
<source>All files (**)</source> <source>All files (**)</source>
<translation>Все файлы (**)</translation> <translation>Все файлы (**)</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="345"/> <location filename="../PictureCopy.cpp" line="85"/>
<source>Failed to copy current Snapmatic picture</source> <source>Failed to copy current Snapmatic picture</source>
<translation>Не удалось скопировать текущую картинку Snapmatic</translation> <translation>Не удалось скопировать текущую картинку Snapmatic</translation>
</message> </message>
@ -163,16 +163,16 @@
</message> </message>
<message> <message>
<location filename="../ProfileInterface.ui" line="179"/> <location filename="../ProfileInterface.ui" line="179"/>
<location filename="../ProfileInterface.cpp" line="165"/> <location filename="../ProfileInterface.cpp" line="172"/>
<location filename="../ProfileInterface.cpp" line="199"/> <location filename="../ProfileInterface.cpp" line="206"/>
<location filename="../ProfileInterface.cpp" line="214"/> <location filename="../ProfileInterface.cpp" line="221"/>
<location filename="../ProfileInterface.cpp" line="242"/>
<location filename="../ProfileInterface.cpp" line="249"/> <location filename="../ProfileInterface.cpp" line="249"/>
<location filename="../ProfileInterface.cpp" line="255"/> <location filename="../ProfileInterface.cpp" line="256"/>
<location filename="../ProfileInterface.cpp" line="270"/> <location filename="../ProfileInterface.cpp" line="262"/>
<location filename="../ProfileInterface.cpp" line="280"/> <location filename="../ProfileInterface.cpp" line="277"/>
<location filename="../ProfileInterface.cpp" line="316"/> <location filename="../ProfileInterface.cpp" line="287"/>
<location filename="../ProfileInterface.cpp" line="322"/> <location filename="../ProfileInterface.cpp" line="323"/>
<location filename="../ProfileInterface.cpp" line="329"/>
<source>Import copy</source> <source>Import copy</source>
<translation>Импортировать копию</translation> <translation>Импортировать копию</translation>
</message> </message>
@ -182,68 +182,68 @@
<translation>Закрыть профиль</translation> <translation>Закрыть профиль</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="88"/> <location filename="../ProfileInterface.cpp" line="91"/>
<source>Loading...</source> <source>Loading...</source>
<translation>Загрузка...</translation> <translation>Загрузка...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="169"/> <location filename="../ProfileInterface.cpp" line="176"/>
<source>All profile files (SGTA* PGTA*)</source> <source>All profile files (SGTA* PGTA*)</source>
<translation>Все файлы профиля (SGTA* PGTA*)</translation> <translation>Все файлы профиля (SGTA* PGTA*)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="170"/> <location filename="../ProfileInterface.cpp" line="177"/>
<source>Savegames files (SGTA*)</source> <source>Savegames files (SGTA*)</source>
<translation>Файлы сохранения (SGTA*)</translation> <translation>Файлы сохранения (SGTA*)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="171"/> <location filename="../ProfileInterface.cpp" line="178"/>
<source>Snapmatic pictures (PGTA*)</source> <source>Snapmatic pictures (PGTA*)</source>
<translation>Картинка Snapmatic (PGTA*)</translation> <translation>Картинка Snapmatic (PGTA*)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="172"/> <location filename="../ProfileInterface.cpp" line="179"/>
<source>All files (**)</source> <source>All files (**)</source>
<translation>Все файлы (**)</translation> <translation>Все файлы (**)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="199"/> <location filename="../ProfileInterface.cpp" line="206"/>
<source>Failed to read Snapmatic picture</source> <source>Failed to read Snapmatic picture</source>
<translation>Не удалось загрузить картинку Snapmatic</translation> <translation>Не удалось загрузить картинку Snapmatic</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="214"/> <location filename="../ProfileInterface.cpp" line="221"/>
<source>Failed to read Savegame file</source> <source>Failed to read Savegame file</source>
<translation>Не удалось загрузить файл сохранения</translation> <translation>Не удалось загрузить файл сохранения</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="242"/> <location filename="../ProfileInterface.cpp" line="249"/>
<source>Can&apos;t import %1 because of not valid file format</source> <source>Can&apos;t import %1 because of not valid file format</source>
<translation>Не получилось импортировать %1 из-за неправильного формата файла</translation> <translation>Не получилось импортировать %1 из-за неправильного формата файла</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="249"/> <location filename="../ProfileInterface.cpp" line="256"/>
<location filename="../ProfileInterface.cpp" line="255"/> <location filename="../ProfileInterface.cpp" line="262"/>
<source>No valid file is selected</source> <source>No valid file is selected</source>
<translation>Выбранный файл неверен</translation> <translation>Выбранный файл неверен</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="270"/> <location filename="../ProfileInterface.cpp" line="277"/>
<source>Failed to import copy of Snapmatic picture because the file not begin with PGTA</source> <source>Failed to import copy of Snapmatic picture because the file not begin with PGTA</source>
<translation>Не удалось имортировать копию картинки Snapmatic, т.к. файл не начинается с PGTA</translation> <translation>Не удалось имортировать копию картинки Snapmatic, т.к. файл не начинается с PGTA</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="280"/> <location filename="../ProfileInterface.cpp" line="287"/>
<source>Failed to import copy of Snapmatic picture because the copy failed</source> <source>Failed to import copy of Snapmatic picture because the copy failed</source>
<translation>Не получилось имортировать копию картинки Snapmatic, потому что не удалось его скопировать</translation> <translation>Не получилось имортировать копию картинки Snapmatic, потому что не удалось его скопировать</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="316"/> <location filename="../ProfileInterface.cpp" line="323"/>
<source>Failed to import copy of Savegame file because the copy failed</source> <source>Failed to import copy of Savegame file because the copy failed</source>
<translation>Не получилось имортировать копию сохранения, потому что не удалось его скопировать</translation> <translation>Не получилось имортировать копию сохранения, потому что не удалось его скопировать</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="322"/> <location filename="../ProfileInterface.cpp" line="329"/>
<source>Failed to import copy of Savegame file because no free Savegame slot left</source> <source>Failed to import copy of Savegame file because no free Savegame slot left</source>
<translation>Не получилось имортировать копию сохранения, потому что не осталось свободных под них слотов</translation> <translation>Не получилось имортировать копию сохранения, потому что не осталось свободных под них слотов</translation>
</message> </message>
@ -285,41 +285,58 @@
<translation>Виджет сохранений</translation> <translation>Виджет сохранений</translation>
</message> </message>
<message> <message>
<location filename="../SavegameWidget.ui" line="36"/> <location filename="../SavegameWidget.ui" line="43"/>
<source>The Third Way (100%) - 00/00/00 00:00:00</source> <source>The Third Way (100%) - 00/00/00 00:00:00</source>
<translation>Третий путь (100%) - 00/00/00 00:00:00</translation> <translation>Третий путь (100%) - 00/00/00 00:00:00</translation>
</message> </message>
<message> <message>
<location filename="../SavegameWidget.ui" line="46"/> <location filename="../SavegameWidget.ui" line="53"/>
<source>View</source>
<translation type="unfinished">Просмотр</translation>
</message>
<message>
<location filename="../SavegameWidget.ui" line="60"/>
<source>Copy</source> <source>Copy</source>
<translation>Копировать</translation> <translation>Копировать</translation>
</message> </message>
<message> <message>
<location filename="../SavegameWidget.ui" line="56"/> <location filename="../SavegameWidget.ui" line="70"/>
<source>Delete</source> <source>Delete</source>
<translation>Удалить</translation> <translation>Удалить</translation>
</message> </message>
<message> <message>
<location filename="../SavegameWidget.cpp" line="57"/> <location filename="../SavegameWidget.cpp" line="68"/>
<location filename="../SavegameWidget.cpp" line="70"/> <location filename="../SavegameWidget.cpp" line="81"/>
<location filename="../SavegameWidget.cpp" line="128"/>
<source>Delete savegame</source> <source>Delete savegame</source>
<translation>Удалить сохранение</translation> <translation>Удалить сохранение</translation>
</message> </message>
<message> <message>
<location filename="../SavegameWidget.cpp" line="57"/> <location filename="../SavegameWidget.cpp" line="68"/>
<source>Are you sure to delete %1 from your savegames?</source> <source>Are you sure to delete %1 from your savegames?</source>
<translation>Вы уверены, что хотите удалить сохранение %1?</translation> <translation>Вы уверены, что хотите удалить сохранение %1?</translation>
</message> </message>
<message> <message>
<location filename="../SavegameWidget.cpp" line="70"/> <location filename="../SavegameWidget.cpp" line="81"/>
<source>Failed at deleting %1 from your savegames</source> <source>Failed at deleting %1 from your savegames</source>
<translation>Не удалось удалить сохранение %1</translation> <translation>Не удалось удалить сохранение %1</translation>
</message> </message>
<message>
<location filename="../SavegameWidget.cpp" line="123"/>
<source>Select</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../SavegameWidget.cpp" line="126"/>
<source>View savegame</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<location filename="../SavegameCopy.cpp" line="68"/> <location filename="../SavegameCopy.cpp" line="68"/>
<location filename="../SavegameCopy.cpp" line="72"/> <location filename="../SavegameCopy.cpp" line="72"/>
<location filename="../SavegameCopy.cpp" line="85"/> <location filename="../SavegameCopy.cpp" line="85"/>
<location filename="../SavegameCopy.cpp" line="91"/> <location filename="../SavegameCopy.cpp" line="91"/>
<location filename="../SavegameWidget.cpp" line="127"/>
<source>Copy savegame</source> <source>Copy savegame</source>
<translation>Копировать сохранение</translation> <translation>Копировать сохранение</translation>
</message> </message>
@ -362,36 +379,67 @@
<translation>Виджет Snapmatic</translation> <translation>Виджет Snapmatic</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.ui" line="51"/> <location filename="../SnapmaticWidget.ui" line="58"/>
<source>PHOTO - 00/00/00 00:00:00</source> <source>PHOTO - 00/00/00 00:00:00</source>
<translation>ФОТО - 00/00/00 00:00:00</translation> <translation>ФОТО - 00/00/00 00:00:00</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.ui" line="61"/> <location filename="../SnapmaticWidget.ui" line="68"/>
<source>View</source> <source>View</source>
<translation>Просмотр</translation> <translation>Просмотр</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.ui" line="71"/> <location filename="../SnapmaticWidget.ui" line="78"/>
<source>Copy</source>
<translation type="unfinished">Копировать</translation>
</message>
<message>
<location filename="../SnapmaticWidget.ui" line="85"/>
<source>Export</source>
<translation type="unfinished">Экспорт</translation>
</message>
<message>
<location filename="../SnapmaticWidget.ui" line="92"/>
<source>Delete</source> <source>Delete</source>
<translation>Удалить</translation> <translation>Удалить</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.cpp" line="75"/> <location filename="../SnapmaticWidget.cpp" line="92"/>
<location filename="../SnapmaticWidget.cpp" line="88"/> <location filename="../SnapmaticWidget.cpp" line="105"/>
<location filename="../SnapmaticWidget.cpp" line="141"/>
<source>Delete picture</source> <source>Delete picture</source>
<translation>Удалить картинку</translation> <translation>Удалить картинку</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.cpp" line="75"/> <location filename="../SnapmaticWidget.cpp" line="92"/>
<source>Are you sure to delete %1 from your Snapmatic pictures?</source> <source>Are you sure to delete %1 from your Snapmatic pictures?</source>
<translation>Уверены, что хотите удалить %1 из коллекции картинок Snapmatic?</translation> <translation>Уверены, что хотите удалить %1 из коллекции картинок Snapmatic?</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.cpp" line="88"/> <location filename="../SnapmaticWidget.cpp" line="105"/>
<source>Failed at deleting %1 from your Snapmatic pictures</source> <source>Failed at deleting %1 from your Snapmatic pictures</source>
<translation>Не удалось удалить %1 из колелкции картинок Snapmatic </translation> <translation>Не удалось удалить %1 из колелкции картинок Snapmatic </translation>
</message> </message>
<message>
<location filename="../SnapmaticWidget.cpp" line="135"/>
<source>Select</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../SnapmaticWidget.cpp" line="138"/>
<source>View picture</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../SnapmaticWidget.cpp" line="139"/>
<source>Copy picture</source>
<translation type="unfinished">Скопировать картинку</translation>
</message>
<message>
<location filename="../SnapmaticWidget.cpp" line="140"/>
<source>Export picture</source>
<translation type="unfinished">Экспорт картинки</translation>
</message>
</context> </context>
<context> <context>
<name>UserInterface</name> <name>UserInterface</name>

Binary file not shown.

View file

@ -76,77 +76,77 @@
<translation>Schließen</translation> <translation>Schließen</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="69"/> <location filename="../PictureDialog.cpp" line="71"/>
<location filename="../PictureDialog.cpp" line="117"/> <location filename="../PictureDialog.cpp" line="119"/>
<source>Snapmatic Picture Viewer</source> <source>Snapmatic Picture Viewer</source>
<translation>Snapmatic Bildansicht</translation> <translation>Snapmatic Bildansicht</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="69"/> <location filename="../PictureDialog.cpp" line="71"/>
<location filename="../PictureDialog.cpp" line="117"/> <location filename="../PictureDialog.cpp" line="119"/>
<source>Failed at %1</source> <source>Failed at %1</source>
<translation>Fehlgeschlagen bei %1</translation> <translation>Fehlgeschlagen bei %1</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="106"/> <location filename="../PictureDialog.cpp" line="108"/>
<location filename="../PictureDialog.cpp" line="116"/> <location filename="../PictureDialog.cpp" line="118"/>
<source>No player</source> <source>No player</source>
<translation>Keine Spieler</translation> <translation>Keine Spieler</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="109"/> <location filename="../PictureDialog.cpp" line="111"/>
<location filename="../PictureDialog.cpp" line="116"/> <location filename="../PictureDialog.cpp" line="118"/>
<source>No crew</source> <source>No crew</source>
<translation>Keine Crew</translation> <translation>Keine Crew</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="179"/> <location filename="../PictureExport.cpp" line="48"/>
<source>JPEG picture (*.jpg)</source> <source>JPEG picture (*.jpg)</source>
<translation>JPEG Bild (*.jpg)</translation> <translation>JPEG Bild (*.jpg)</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="180"/> <location filename="../PictureExport.cpp" line="49"/>
<source>Portable Network Graphics (*.png)</source> <source>Portable Network Graphics (*.png)</source>
<translation>Portable Network Graphics (*.png)</translation> <translation>Portable Network Graphics (*.png)</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="258"/> <location filename="../PictureCopy.cpp" line="68"/>
<location filename="../PictureDialog.cpp" line="328"/> <location filename="../PictureExport.cpp" line="127"/>
<source>Overwrite %1 with current Snapmatic picture?</source> <source>Overwrite %1 with current Snapmatic picture?</source>
<translation>Überschreibe %1 mit aktuellen Snapmatic Bild?</translation> <translation>Überschreibe %1 mit aktuellen Snapmatic Bild?</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="262"/> <location filename="../PictureCopy.cpp" line="72"/>
<location filename="../PictureDialog.cpp" line="332"/> <location filename="../PictureExport.cpp" line="131"/>
<source>Failed to overwrite %1 with current Snapmatic picture</source> <source>Failed to overwrite %1 with current Snapmatic picture</source>
<translation>Fehlgeschlagen beim Überschreiben von %1 mit aktuellen Snapmatic Bild</translation> <translation>Fehlgeschlagen beim Überschreiben von %1 mit aktuellen Snapmatic Bild</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="276"/> <location filename="../PictureExport.cpp" line="145"/>
<source>Failed to export current Snapmatic picture</source> <source>Failed to export current Snapmatic picture</source>
<translation>Fehlgeschlagen beim Exportieren vom aktuellen Snapmatic Bild</translation> <translation>Fehlgeschlagen beim Exportieren vom aktuellen Snapmatic Bild</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="306"/> <location filename="../PictureCopy.cpp" line="46"/>
<location filename="../PictureDialog.cpp" line="328"/> <location filename="../PictureCopy.cpp" line="68"/>
<location filename="../PictureDialog.cpp" line="332"/> <location filename="../PictureCopy.cpp" line="72"/>
<location filename="../PictureDialog.cpp" line="345"/> <location filename="../PictureCopy.cpp" line="85"/>
<location filename="../PictureDialog.cpp" line="351"/> <location filename="../PictureCopy.cpp" line="91"/>
<source>Copy picture</source> <source>Copy picture</source>
<translation>Bild kopieren</translation> <translation>Bild kopieren</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="309"/> <location filename="../PictureCopy.cpp" line="49"/>
<source>Snapmatic pictures (PGTA*)</source> <source>Snapmatic pictures (PGTA*)</source>
<translation>Snapmatic Bilder (PGTA*)</translation> <translation>Snapmatic Bilder (PGTA*)</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="310"/> <location filename="../PictureCopy.cpp" line="50"/>
<source>All files (**)</source> <source>All files (**)</source>
<translation>Alle Dateien (**)</translation> <translation>Alle Dateien (**)</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="345"/> <location filename="../PictureCopy.cpp" line="85"/>
<source>Failed to copy current Snapmatic picture</source> <source>Failed to copy current Snapmatic picture</source>
<translation>Fehlgeschlagen beim Kopieren vom Snapmatic Bild</translation> <translation>Fehlgeschlagen beim Kopieren vom Snapmatic Bild</translation>
</message> </message>
@ -160,11 +160,11 @@
</message> </message>
<message> <message>
<location filename="../PictureDialog.ui" line="91"/> <location filename="../PictureDialog.ui" line="91"/>
<location filename="../PictureDialog.cpp" line="175"/> <location filename="../PictureExport.cpp" line="44"/>
<location filename="../PictureDialog.cpp" line="258"/> <location filename="../PictureExport.cpp" line="127"/>
<location filename="../PictureDialog.cpp" line="262"/> <location filename="../PictureExport.cpp" line="131"/>
<location filename="../PictureDialog.cpp" line="276"/> <location filename="../PictureExport.cpp" line="145"/>
<location filename="../PictureDialog.cpp" line="282"/> <location filename="../PictureExport.cpp" line="151"/>
<source>Export picture</source> <source>Export picture</source>
<translation>Bild exportieren</translation> <translation>Bild exportieren</translation>
</message> </message>
@ -177,8 +177,8 @@
<translation type="obsolete">Beim Speichern des Bildes ist ein Fehler aufgetreten</translation> <translation type="obsolete">Beim Speichern des Bildes ist ein Fehler aufgetreten</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="282"/> <location filename="../PictureCopy.cpp" line="91"/>
<location filename="../PictureDialog.cpp" line="351"/> <location filename="../PictureExport.cpp" line="151"/>
<source>No valid file is selected</source> <source>No valid file is selected</source>
<translation>Keine gültige Datei wurde ausgewählt</translation> <translation>Keine gültige Datei wurde ausgewählt</translation>
</message> </message>
@ -198,16 +198,16 @@
</message> </message>
<message> <message>
<location filename="../ProfileInterface.ui" line="179"/> <location filename="../ProfileInterface.ui" line="179"/>
<location filename="../ProfileInterface.cpp" line="165"/> <location filename="../ProfileInterface.cpp" line="172"/>
<location filename="../ProfileInterface.cpp" line="199"/> <location filename="../ProfileInterface.cpp" line="206"/>
<location filename="../ProfileInterface.cpp" line="214"/> <location filename="../ProfileInterface.cpp" line="221"/>
<location filename="../ProfileInterface.cpp" line="242"/>
<location filename="../ProfileInterface.cpp" line="249"/> <location filename="../ProfileInterface.cpp" line="249"/>
<location filename="../ProfileInterface.cpp" line="255"/> <location filename="../ProfileInterface.cpp" line="256"/>
<location filename="../ProfileInterface.cpp" line="270"/> <location filename="../ProfileInterface.cpp" line="262"/>
<location filename="../ProfileInterface.cpp" line="280"/> <location filename="../ProfileInterface.cpp" line="277"/>
<location filename="../ProfileInterface.cpp" line="316"/> <location filename="../ProfileInterface.cpp" line="287"/>
<location filename="../ProfileInterface.cpp" line="322"/> <location filename="../ProfileInterface.cpp" line="323"/>
<location filename="../ProfileInterface.cpp" line="329"/>
<source>Import copy</source> <source>Import copy</source>
<translation>Kopie importieren</translation> <translation>Kopie importieren</translation>
</message> </message>
@ -225,68 +225,68 @@
<translation>Profil schließen</translation> <translation>Profil schließen</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="88"/> <location filename="../ProfileInterface.cpp" line="91"/>
<source>Loading...</source> <source>Loading...</source>
<translation>Lade...</translation> <translation>Lade...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="169"/> <location filename="../ProfileInterface.cpp" line="176"/>
<source>All profile files (SGTA* PGTA*)</source> <source>All profile files (SGTA* PGTA*)</source>
<translation>Alle Profildateien (SGTA* PGTA*)</translation> <translation>Alle Profildateien (SGTA* PGTA*)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="170"/> <location filename="../ProfileInterface.cpp" line="177"/>
<source>Savegames files (SGTA*)</source> <source>Savegames files (SGTA*)</source>
<translation>Spielstanddateien (SGTA*)</translation> <translation>Spielstanddateien (SGTA*)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="171"/> <location filename="../ProfileInterface.cpp" line="178"/>
<source>Snapmatic pictures (PGTA*)</source> <source>Snapmatic pictures (PGTA*)</source>
<translation>Snapmatic Bilder (PGTA*)</translation> <translation>Snapmatic Bilder (PGTA*)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="172"/> <location filename="../ProfileInterface.cpp" line="179"/>
<source>All files (**)</source> <source>All files (**)</source>
<translation>Alle Dateien (**)</translation> <translation>Alle Dateien (**)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="199"/> <location filename="../ProfileInterface.cpp" line="206"/>
<source>Failed to read Snapmatic picture</source> <source>Failed to read Snapmatic picture</source>
<translation>Fehler beim Lesen vom Snapmatic Bild</translation> <translation>Fehler beim Lesen vom Snapmatic Bild</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="214"/> <location filename="../ProfileInterface.cpp" line="221"/>
<source>Failed to read Savegame file</source> <source>Failed to read Savegame file</source>
<translation>Fehler beim Lesen von Spielstanddatei</translation> <translation>Fehler beim Lesen von Spielstanddatei</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="242"/> <location filename="../ProfileInterface.cpp" line="249"/>
<source>Can&apos;t import %1 because of not valid file format</source> <source>Can&apos;t import %1 because of not valid file format</source>
<translation>Kann %1 nicht importieren weil das Dateiformat nicht gültig ist</translation> <translation>Kann %1 nicht importieren weil das Dateiformat nicht gültig ist</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="249"/> <location filename="../ProfileInterface.cpp" line="256"/>
<location filename="../ProfileInterface.cpp" line="255"/> <location filename="../ProfileInterface.cpp" line="262"/>
<source>No valid file is selected</source> <source>No valid file is selected</source>
<translation>Keine gültige Datei wurde ausgewählt</translation> <translation>Keine gültige Datei wurde ausgewählt</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="270"/> <location filename="../ProfileInterface.cpp" line="277"/>
<source>Failed to import copy of Snapmatic picture because the file not begin with PGTA</source> <source>Failed to import copy of Snapmatic picture because the file not begin with PGTA</source>
<translation>Fehlgeschlagenen beim Import vom Snapmatic Bild weil die Datei nicht mit PGTA begint </translation> <translation>Fehlgeschlagenen beim Import vom Snapmatic Bild weil die Datei nicht mit PGTA begint </translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="280"/> <location filename="../ProfileInterface.cpp" line="287"/>
<source>Failed to import copy of Snapmatic picture because the copy failed</source> <source>Failed to import copy of Snapmatic picture because the copy failed</source>
<translation>Fehlgeschlagenen beim Import vom Snapmatic Bild weil kopieren fehlgeschlagen ist</translation> <translation>Fehlgeschlagenen beim Import vom Snapmatic Bild weil kopieren fehlgeschlagen ist</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="316"/> <location filename="../ProfileInterface.cpp" line="323"/>
<source>Failed to import copy of Savegame file because the copy failed</source> <source>Failed to import copy of Savegame file because the copy failed</source>
<translation>Fehlgeschlagenen beim Import vom Spielstand weil kopieren fehlgeschlagen ist</translation> <translation>Fehlgeschlagenen beim Import vom Spielstand weil kopieren fehlgeschlagen ist</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="322"/> <location filename="../ProfileInterface.cpp" line="329"/>
<source>Failed to import copy of Savegame file because no free Savegame slot left</source> <source>Failed to import copy of Savegame file because no free Savegame slot left</source>
<translation>Fehlgeschlagenen beim Import vom Spielstand weil kein Spielstandslot mehr übrig ist</translation> <translation>Fehlgeschlagenen beim Import vom Spielstand weil kein Spielstandslot mehr übrig ist</translation>
</message> </message>
@ -328,41 +328,58 @@
<translation>Spielstand Widget</translation> <translation>Spielstand Widget</translation>
</message> </message>
<message> <message>
<location filename="../SavegameWidget.ui" line="36"/> <location filename="../SavegameWidget.ui" line="43"/>
<source>The Third Way (100%) - 00/00/00 00:00:00</source> <source>The Third Way (100%) - 00/00/00 00:00:00</source>
<translation>The Third Way (100%) - 00/00/00 00:00:00</translation> <translation>The Third Way (100%) - 00/00/00 00:00:00</translation>
</message> </message>
<message> <message>
<location filename="../SavegameWidget.ui" line="46"/> <location filename="../SavegameWidget.ui" line="53"/>
<source>View</source>
<translation>Ansehen</translation>
</message>
<message>
<location filename="../SavegameWidget.ui" line="60"/>
<source>Copy</source> <source>Copy</source>
<translation>Kopieren</translation> <translation>Kopieren</translation>
</message> </message>
<message> <message>
<location filename="../SavegameWidget.ui" line="56"/> <location filename="../SavegameWidget.ui" line="70"/>
<source>Delete</source> <source>Delete</source>
<translation>Löschen</translation> <translation>Löschen</translation>
</message> </message>
<message> <message>
<location filename="../SavegameWidget.cpp" line="57"/> <location filename="../SavegameWidget.cpp" line="68"/>
<location filename="../SavegameWidget.cpp" line="70"/> <location filename="../SavegameWidget.cpp" line="81"/>
<location filename="../SavegameWidget.cpp" line="128"/>
<source>Delete savegame</source> <source>Delete savegame</source>
<translation>Savegame löschen</translation> <translation>Savegame löschen</translation>
</message> </message>
<message> <message>
<location filename="../SavegameWidget.cpp" line="57"/> <location filename="../SavegameWidget.cpp" line="68"/>
<source>Are you sure to delete %1 from your savegames?</source> <source>Are you sure to delete %1 from your savegames?</source>
<translation>Bist du sicher %1 von deinen Spielständen zu löschen?</translation> <translation>Bist du sicher %1 von deinen Spielständen zu löschen?</translation>
</message> </message>
<message> <message>
<location filename="../SavegameWidget.cpp" line="70"/> <location filename="../SavegameWidget.cpp" line="81"/>
<source>Failed at deleting %1 from your savegames</source> <source>Failed at deleting %1 from your savegames</source>
<translation>Fehlgeschlagen beim Löschen %1 von deinen Spielständen</translation> <translation>Fehlgeschlagen beim Löschen %1 von deinen Spielständen</translation>
</message> </message>
<message>
<location filename="../SavegameWidget.cpp" line="123"/>
<source>Select</source>
<translation>Auswählen</translation>
</message>
<message>
<location filename="../SavegameWidget.cpp" line="126"/>
<source>View savegame</source>
<translation>Spielstand ansehen</translation>
</message>
<message> <message>
<location filename="../SavegameCopy.cpp" line="68"/> <location filename="../SavegameCopy.cpp" line="68"/>
<location filename="../SavegameCopy.cpp" line="72"/> <location filename="../SavegameCopy.cpp" line="72"/>
<location filename="../SavegameCopy.cpp" line="85"/> <location filename="../SavegameCopy.cpp" line="85"/>
<location filename="../SavegameCopy.cpp" line="91"/> <location filename="../SavegameCopy.cpp" line="91"/>
<location filename="../SavegameWidget.cpp" line="127"/>
<source>Copy savegame</source> <source>Copy savegame</source>
<translation>Spielstand kopieren</translation> <translation>Spielstand kopieren</translation>
</message> </message>
@ -417,37 +434,68 @@
<translation>Snapmatic Widget</translation> <translation>Snapmatic Widget</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.ui" line="51"/> <location filename="../SnapmaticWidget.ui" line="58"/>
<source>PHOTO - 00/00/00 00:00:00</source> <source>PHOTO - 00/00/00 00:00:00</source>
<translation>FOTO - 00/00/00 00:00:00</translation> <translation>FOTO - 00/00/00 00:00:00</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.ui" line="61"/> <location filename="../SnapmaticWidget.ui" line="68"/>
<source>View</source> <source>View</source>
<translation>Ansehen</translation> <translation>Ansehen</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.ui" line="71"/> <location filename="../SnapmaticWidget.ui" line="78"/>
<source>Copy</source>
<translation>Kopieren</translation>
</message>
<message>
<location filename="../SnapmaticWidget.ui" line="85"/>
<source>Export</source>
<translation>Exportieren</translation>
</message>
<message>
<location filename="../SnapmaticWidget.ui" line="92"/>
<source>Delete</source> <source>Delete</source>
<translation>Löschen</translation> <translation>Löschen</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.cpp" line="75"/> <location filename="../SnapmaticWidget.cpp" line="92"/>
<location filename="../SnapmaticWidget.cpp" line="88"/> <location filename="../SnapmaticWidget.cpp" line="105"/>
<location filename="../SnapmaticWidget.cpp" line="141"/>
<source>Delete picture</source> <source>Delete picture</source>
<translation>Bild löschen</translation> <translation>Bild löschen</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.cpp" line="75"/> <location filename="../SnapmaticWidget.cpp" line="92"/>
<source>Are you sure to delete %1 from your Snapmatic pictures?</source> <source>Are you sure to delete %1 from your Snapmatic pictures?</source>
<translation>Bist du sicher %1 von deinen Snapmatic Bilder zu löschen?</translation> <translation>Bist du sicher %1 von deinen Snapmatic Bilder zu löschen?</translation>
</message> </message>
<message>
<location filename="../SnapmaticWidget.cpp" line="135"/>
<source>Select</source>
<translation>Auswählen</translation>
</message>
<message>
<location filename="../SnapmaticWidget.cpp" line="138"/>
<source>View picture</source>
<translation>Bild ansehen</translation>
</message>
<message>
<location filename="../SnapmaticWidget.cpp" line="139"/>
<source>Copy picture</source>
<translation>Bild kopieren</translation>
</message>
<message>
<location filename="../SnapmaticWidget.cpp" line="140"/>
<source>Export picture</source>
<translation>Bild exportieren</translation>
</message>
<message> <message>
<source>You&apos;re sure to delete %1 from your Snapmatic pictures?</source> <source>You&apos;re sure to delete %1 from your Snapmatic pictures?</source>
<translation type="obsolete">Bist du sicher %1 von deinen Snapmatic Bilder zu löschen?</translation> <translation type="obsolete">Bist du sicher %1 von deinen Snapmatic Bilder zu löschen?</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.cpp" line="88"/> <location filename="../SnapmaticWidget.cpp" line="105"/>
<source>Failed at deleting %1 from your Snapmatic pictures</source> <source>Failed at deleting %1 from your Snapmatic pictures</source>
<translation>Fehlgeschlagen beim Löschen %1 von deinen Snapmatic Bildern</translation> <translation>Fehlgeschlagen beim Löschen %1 von deinen Snapmatic Bildern</translation>
</message> </message>