@ -9,22 +9,30 @@ ModifyWidget::ModifyWidget(QWidget *parent) :
pageIndex = 0 ;
this - > setWindowModality ( Qt : : ApplicationModal ) ;
this - > setFixedSize ( QSize ( 1000 , 810 ) ) ;
this - > setWindowTitle ( " 请修改... " ) ;
this - > setWindowFlags ( windowFlags ( ) & ~ Qt : : WindowMaximizeButtonHint ) ;
this - > setWindowFlags ( windowFlags ( ) & ~ Qt : : WindowCloseButtonHint ) ;
mainLayout = new QVBoxLayout ( ) ;
funcLine = new QHBoxLayout ( ) ;
rtn = new QPushButton ( " 返回 " ) ;
InitButton ( rtn ) ;
next = new QPushButton ( " 下一步 " ) ;
InitButton ( next ) ;
// modifyPlace = new CustomizeWidget();
// modifyTraffic = new ConfirmWidget();
// showInfo = new ShowRouteInfoWidget();
modifyPlace = new CustomizeWidget ( ) ;
modifyTraffic = new ConfirmWidget ( ) ;
showInfo = new ShowRouteInfoWidget ( ) ;
this - > setLayout ( mainLayout ) ;
mainLayout - > addLayout ( funcLine ) ;
// mainLayout->addWidget(modifyPlace);
// mainLayout->addWidget(modifyTraffic);
// mainLayout->addWidget(showInfo);
mainLayout - > addWidget ( modifyPlace ) ;
mainLayout - > addWidget ( modifyTraffic ) ;
mainLayout - > addWidget ( showInfo ) ;
funcLine - > addWidget ( rtn ) ;
funcLine - > addStretch ( 5 ) ;
@ -46,19 +54,21 @@ void ModifyWidget::invisibleAll()
void ModifyWidget : : InitModify ( Route * route , int t )
{
oRoute = new Route ;
r = route ;
oRoute - > setAllInfo ( r ) ;
pageIndex = 0 ;
tag = t ;
modifyPlace - > deleteLater ( ) ;
modifyTraffic - > deleteLater ( ) ;
showInfo - > deleteLater ( ) ;
modifyPlace = new CustomizeWidget ( ) ;
modifyTraffic = new ConfirmWidget ( ) ;
showInfo = new ShowRouteInfoWidget ( ) ;
mainLayout - > addWidget ( modifyPlace ) ;
mainLayout - > addWidget ( modifyTraffic ) ;
mainLayout - > addWidget ( showInfo ) ;
// modifyPlace->deleteLater();
// modifyTraffic->deleteLater();
// showInfo->deleteLater();
// modifyPlace = new CustomizeWidget();
// modifyTraffic = new ConfirmWidget();
// showInfo = new ShowRouteInfoWidget();
// mainLayout->addWidget(modifyPlace);
// mainLayout->addWidget(modifyTraffic);
// mainLayout->addWidget(showInfo);
modifyPlace - > initInterface ( r ) ;
@ -67,7 +77,7 @@ void ModifyWidget::InitModify(Route *route, int t)
disconnect ( rtn , 0 , 0 , 0 ) ;
disconnect ( next , 0 , 0 , 0 ) ;
connect ( rtn , & QPushButton : : clicked , this , [ = ] ( ) { this - > setVisible ( false ) ; } ) ;
connect ( rtn , & QPushButton : : clicked , this , [ = ] ( ) { r - > setAllInfo ( oRoute ) ; this - > close ( ) ; } ) ;
connect ( next , & QPushButton : : clicked , this , & ModifyWidget : : switchToModifyTraffic ) ;
}
@ -76,6 +86,7 @@ void ModifyWidget::switchToModifyPlace()
{
if ( pageIndex = = 1 )
{
qDebug ( " switch to place " ) ;
modifyTraffic - > deleteLater ( ) ;
modifyTraffic = new ConfirmWidget ( ) ;
mainLayout - > addWidget ( modifyTraffic ) ;
@ -87,7 +98,7 @@ void ModifyWidget::switchToModifyPlace()
disconnect ( rtn , 0 , 0 , 0 ) ;
disconnect ( next , 0 , 0 , 0 ) ;
connect ( rtn , & QPushButton : : clicked , this , [ = ] ( ) { this - > deleteLater ( ) ; } ) ;
connect ( rtn , & QPushButton : : clicked , this , [ = ] ( ) { r - > setAllInfo ( oRoute ) ; this - > close ( ) ; } ) ;
connect ( next , & QPushButton : : clicked , this , & ModifyWidget : : switchToModifyTraffic ) ;
}
@ -98,6 +109,7 @@ void ModifyWidget::switchToModifyTraffic()
{
if ( pageIndex = = 2 )
{
qDebug ( " switch to traffic " ) ;
showInfo - > deleteLater ( ) ;
showInfo = new ShowRouteInfoWidget ( ) ;
mainLayout - > addWidget ( showInfo ) ;
@ -113,23 +125,26 @@ void ModifyWidget::switchToModifyTraffic()
connect ( next , & QPushButton : : clicked , this , & ModifyWidget : : switchToShowInfo ) ;
}
if ( modifyPlace - > genRoute ( ) )
else
{
pageIndex = 1 ;
r = modifyPlace - > getRoute ( ) ;
if ( modifyPlace - > genRoute ( ) )
{
qDebug ( " switch to traffic " ) ;
pageIndex = 1 ;
r = modifyPlace - > getRoute ( ) ;
modifyTraffic - > setRouteToConfirm ( r ) ;
modifyTraffic - > initWidget ( ) ;
modifyTraffic - > setRouteToConfirm ( r ) ;
modifyTraffic - > initWidget ( ) ;
invisibleAll ( ) ;
modifyTraffic - > setVisible ( true ) ;
invisibleAll ( ) ;
modifyTraffic - > setVisible ( true ) ;
disconnect ( rtn , 0 , 0 , 0 ) ;
disconnect ( next , 0 , 0 , 0 ) ;
connect ( rtn , & QPushButton : : clicked , this , & ModifyWidget : : switchToModifyPlace ) ;
connect ( next , & QPushButton : : clicked , this , & ModifyWidget : : switchToShowInfo ) ;
disconnect ( rtn , 0 , 0 , 0 ) ;
disconnect ( next , 0 , 0 , 0 ) ;
connect ( rtn , & QPushButton : : clicked , this , & ModifyWidget : : switchToModifyPlace ) ;
connect ( next , & QPushButton : : clicked , this , & ModifyWidget : : switchToShowInfo ) ;
}
}
}
@ -138,13 +153,16 @@ void ModifyWidget::switchToShowInfo()
if ( pageIndex = = 1 )
{
r = modifyTraffic - > genRoute ( ) ;
if ( r = = NULL )
Route * route = modifyTraffic - > genRoute ( ) ;
if ( r oute = = NULL )
{
qDebug ( ) < < " traffic send NULL " ;
return ;
}
else
{
r = route ;
qDebug ( " switch to Info " ) ;
pageIndex = 2 ;
showInfo - > setRouteToShow ( r ) ;
showInfo - > initWidget ( ) ;
@ -155,13 +173,107 @@ void ModifyWidget::switchToShowInfo()
p = p - > next ;
}
invisibleAll ( ) ;
showInfo - > setVisible ( true ) ;
disconnect ( rtn , 0 , 0 , 0 ) ;
disconnect ( next , 0 , 0 , 0 ) ;
connect ( rtn , & QPushButton : : clicked , this , & ModifyWidget : : switchToModifyTraffic ) ;
connect ( next , & QPushButton : : clicked , this , [ = ] ( ) { this - > setVisible ( false ) ; } ) ;
connect ( next , & QPushButton : : clicked , this , [ = ] ( ) { addRoute ( r , tag ) ; this - > clo se( ) ; } ) ;
}
}
}
QPushButton * ModifyWidget : : getNext ( )
{
return next ;
}
int ModifyWidget : : getIndex ( )
{
return pageIndex ;
}
void ModifyWidget : : addRoute ( Route * routeToAdd , int tag )
{
qDebug ( ) < < " routeName: " < < routeToAdd - > getRouteName ( ) ;
RouteItem * routeItemsFav = routeToAdd - > getAllItems ( ) ;
QSqlQuery query ( userDb ) ;
//QString sql_count = "select count(distinct routeId) from journey where userId = ?;";
//query.prepare(sql_count);
//query.addBindValue(Id);
//query.exec(sql_count);
//query.next();
int routeId = routeToAdd - > getRouteId ( ) ;
QString sql_delete = " delete from journey where routeId = ? and userId = ? " ;
query . prepare ( sql_delete ) ;
query . addBindValue ( routeId ) ;
query . addBindValue ( Id ) ;
query . exec ( ) ;
QString sql = " insert into journey (userId,routeId,routeName,placeNo,startTime,endTime,placeName,url,cateId,traffic,distance,timeCost,description,tag) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?); " ;
int i = 1 ;
//int size = routeFav->getPlaceSize();
while ( routeItemsFav - > next ! = NULL )
{
routeItemsFav = routeItemsFav - > next ;
query . prepare ( sql ) ;
query . addBindValue ( Id ) ;
query . addBindValue ( routeId ) ;
//query.addBindValue(routeFav->getRouteId());
query . addBindValue ( routeToAdd - > getRouteName ( ) ) ;
//query.addBindValue(routeFav->getRouteName());
query . addBindValue ( i ) ;
query . addBindValue ( routeItemsFav - > startTime . toString ( " yyyy-MM-dd HH:mm:ss " ) ) ;
query . addBindValue ( routeItemsFav - > endTime . toString ( " yyyy-MM-dd HH:mm:ss " ) ) ;
query . addBindValue ( routeItemsFav - > placeName ) ;
query . addBindValue ( routeItemsFav - > url ) ;
query . addBindValue ( routeItemsFav - > cateId ) ;
query . addBindValue ( routeItemsFav - > traffic ) ;
query . addBindValue ( routeItemsFav - > distance ) ;
query . addBindValue ( routeItemsFav - > timeCost ) ;
query . addBindValue ( routeItemsFav - > description ) ;
query . addBindValue ( tag ) ;
query . exec ( ) ;
i + + ;
}
}
void ModifyWidget : : InitButton ( QPushButton * button )
{
button - > setStyleSheet ( " QPushButton { "
" color:#ffffff; "
" background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop:0 #8CA8CC, stop: 1 #8CA8CC); "
" border-style:outset; "
" border-radius:10px; "
" font:bold 16px; "
" font-family: Microsoft YaHei; "
//"min-width:100px;"
//"min-height:20px;"
//"padding:4px;"
" } "
" QPushButton:hover { "
" background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop:0 #6E8AB2, stop: 1 #6E8AB2); "
" border-style:outset; "
" border-radius:10px; "
" font:bold 16px; "
" font-family: Microsoft YaHei; "
//"min-width:100px;"
//"min-height:20px;"
//"padding:4px;"
" } "
" QPushButton:pressed { "
" background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop:0 #6783AB, stop: 1 #6783AB); "
" border-style:outset; "
" border-radius:10px; "
" font:bold 16px; "
" font-family: Microsoft YaHei; "
//"min-width:100px;"
//"min-height:20px;"
//"padding:4px;"
" } " ) ;
}