@@ -2150,11 +2150,41 @@ static HB_BOOL hb_gt_qtc_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo )
21502150
21512151 case HB_GTI_WINTITLE:
21522152 pInfo->pResult = hb_gt_qtc_itemPutQString ( pInfo->pResult , pQTC->wndTitle );
2153- if ( pInfo->pNewVal && HB_IS_STRING ( pInfo-> pNewVal ) )
2153+ if ( pInfo->pNewVal )
21542154 {
2155- hb_gt_qtc_itemGetQString ( pInfo->pNewVal , pQTC->wndTitle );
2156- if ( pQTC->qWnd )
2157- pQTC->qWnd ->setWindowTitle ( *pQTC->wndTitle );
2155+ if ( HB_IS_STRING ( pInfo->pNewVal ) )
2156+ {
2157+ hb_gt_qtc_itemGetQString ( pInfo->pNewVal , pQTC->wndTitle );
2158+ if ( pQTC->qWnd )
2159+ pQTC->qWnd ->setWindowTitle ( *pQTC->wndTitle );
2160+ }
2161+ else if ( HB_IS_LOGICAL ( pInfo->pNewVal ) )
2162+ {
2163+ pQTC->fNoFrame = hb_itemGetL ( pInfo->pNewVal );
2164+ if ( pQTC->qWnd )
2165+ {
2166+ Qt::WindowFlags flags = Qt::CustomizeWindowHint;
2167+
2168+ if ( pQTC->fNoFrame )
2169+ {
2170+ hb_gt_qtc_setWindowFlags ( pQTC, /* Qt::WindowTitleHint |
2171+ Qt::WindowSystemMenuHint |*/
2172+ Qt::WindowMinimizeButtonHint |
2173+ Qt::WindowMaximizeButtonHint |
2174+ Qt::WindowCloseButtonHint, HB_FALSE );
2175+ flags |= Qt::FramelessWindowHint;
2176+ }
2177+ else
2178+ {
2179+ if ( pQTC->iCloseMode < 2 )
2180+ flags |= Qt::WindowCloseButtonHint;
2181+ if ( pQTC->fResizable )
2182+ flags |= Qt::WindowMaximizeButtonHint;
2183+ flags |= Qt::WindowMinimizeButtonHint;
2184+ }
2185+ hb_gt_qtc_setWindowFlags ( pQTC, flags, pQTC->fNoFrame );
2186+ }
2187+ }
21582188 }
21592189 break ;
21602190
@@ -3823,14 +3853,21 @@ QTCWindow::QTCWindow( PHB_GTQTC pQTC )
38233853{
38243854 Qt::WindowFlags flags = ( windowFlags () & Qt::WindowType_Mask ) |
38253855 Qt::CustomizeWindowHint |
3826- Qt::WindowMinimizeButtonHint |
3827- Qt::WindowSystemMenuHint |
3828- Qt::WindowTitleHint |
38293856 Qt::Window;
3830- if ( pQTC->iCloseMode < 2 )
3831- flags |= Qt::WindowCloseButtonHint;
3832- if ( pQTC->fResizable )
3833- flags |= Qt::WindowMaximizeButtonHint;
3857+ if ( pQTC->fNoFrame )
3858+ {
3859+ flags |= Qt::FramelessWindowHint;
3860+ }
3861+ else
3862+ {
3863+ if ( pQTC->iCloseMode < 2 )
3864+ flags |= Qt::WindowCloseButtonHint;
3865+ if ( pQTC->fResizable )
3866+ flags |= Qt::WindowMaximizeButtonHint;
3867+ flags |= Qt::WindowMinimizeButtonHint |
3868+ Qt::WindowSystemMenuHint |
3869+ Qt::WindowTitleHint;
3870+ }
38343871
38353872 setWindowFlags ( flags );
38363873
0 commit comments