2016-03-25 07:07:58 +01:00
/*****************************************************************************
* gta5sync GRAND THEFT AUTO V SYNC
2016-03-27 09:52:23 +02:00
* Copyright ( C ) 2016 Syping
2016-03-25 07:07:58 +01:00
*
* 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 "SnapmaticWidget.h"
# include "ui_SnapmaticWidget.h"
2016-03-26 08:53:37 +01:00
# include "SnapmaticPicture.h"
2016-03-27 15:53:32 +02:00
# include "DatabaseThread.h"
2016-03-26 10:46:25 +01:00
# include "PictureDialog.h"
2016-03-28 15:24:09 +02:00
# include <QMessageBox>
2016-03-26 08:53:37 +01:00
# include <QPixmap>
2016-03-28 15:24:09 +02:00
# include <QDebug>
# include <QFile>
2016-03-25 07:07:58 +01:00
2016-03-27 15:53:32 +02:00
SnapmaticWidget : : SnapmaticWidget ( ProfileDatabase * profileDB , DatabaseThread * threadDB , QWidget * parent ) :
QWidget ( parent ) , profileDB ( profileDB ) , threadDB ( threadDB ) ,
2016-03-25 07:07:58 +01:00
ui ( new Ui : : SnapmaticWidget )
{
ui - > setupUi ( this ) ;
2016-03-26 08:53:37 +01:00
picPath = " " ;
2016-03-28 15:24:09 +02:00
picStr = " " ;
2016-03-26 08:53:37 +01:00
smpic = 0 ;
2016-03-25 07:07:58 +01:00
}
SnapmaticWidget : : ~ SnapmaticWidget ( )
{
delete ui ;
}
2016-03-26 08:53:37 +01:00
void SnapmaticWidget : : setSnapmaticPicture ( SnapmaticPicture * picture , QString picturePath )
{
2016-03-28 15:24:09 +02:00
smpic = picture ;
picPath = picturePath ;
picStr = picture - > getPictureStr ( ) ;
2016-03-27 09:52:23 +02:00
QPixmap SnapmaticPixmap = QPixmap : : fromImage ( picture - > getPicture ( ) , Qt : : AutoColor ) ;
2016-03-26 08:53:37 +01:00
SnapmaticPixmap . scaled ( ui - > labPicture - > width ( ) , ui - > labPicture - > height ( ) , Qt : : KeepAspectRatio , Qt : : SmoothTransformation ) ;
2016-03-28 15:24:09 +02:00
ui - > labPicStr - > setText ( picStr ) ;
2016-03-26 08:53:37 +01:00
ui - > labPicture - > setPixmap ( SnapmaticPixmap ) ;
}
2016-03-26 10:46:25 +01:00
void SnapmaticWidget : : on_cmdView_clicked ( )
{
PictureDialog * picDialog = new PictureDialog ( profileDB , this ) ;
picDialog - > setWindowFlags ( picDialog - > windowFlags ( ) ^ Qt : : WindowContextHelpButtonHint ) ;
2016-04-01 01:54:21 +02:00
picDialog - > setSnapmaticPicture ( smpic , picPath , true ) ;
2016-03-26 10:46:25 +01:00
picDialog - > setModal ( true ) ;
2016-03-27 15:53:32 +02:00
// be ready for playerName updated
QObject : : connect ( threadDB , SIGNAL ( playerNameUpdated ( ) ) , picDialog , SLOT ( on_playerNameUpdated ( ) ) ) ;
// show picture dialog
2016-03-26 10:46:25 +01:00
picDialog - > show ( ) ;
picDialog - > exec ( ) ;
picDialog - > deleteLater ( ) ;
2016-03-27 15:53:32 +02:00
delete picDialog ;
2016-03-26 10:46:25 +01:00
}
2016-03-28 15:24:09 +02:00
void SnapmaticWidget : : on_cmdDelete_clicked ( )
{
2016-03-28 21:37:42 +02:00
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 ) ;
2016-03-28 15:24:09 +02:00
if ( uchoice = = QMessageBox : : Yes )
{
2016-03-28 15:32:02 +02:00
if ( ! QFile : : exists ( picPath ) )
2016-03-28 15:24:09 +02:00
{
emit pictureDeleted ( ) ;
}
else if ( QFile : : remove ( picPath ) )
{
emit pictureDeleted ( ) ;
}
else
{
2016-03-28 17:46:42 +02:00
QMessageBox : : warning ( this , tr ( " Delete picture " ) , tr ( " Failed at deleting %1 from your Snapmatic pictures " ) . arg ( " \" " + picStr + " \" " ) ) ;
2016-03-28 15:24:09 +02:00
}
}
}
2016-04-02 19:41:11 +02:00
void SnapmaticWidget : : mouseDoubleClickEvent ( QMouseEvent * ev )
{
QWidget : : mouseDoubleClickEvent ( ev ) ;
on_cmdView_clicked ( ) ;
}