QgsWelcomePage::QgsWelcomePage( QWidget* parent ) : QTabWidget( parent ) { QVBoxLayout* mainLayout = new QVBoxLayout; mainLayout->setMargin( 0 ); setLayout( mainLayout ); QHBoxLayout* layout = new QHBoxLayout(); layout->setMargin( 9 ); mainLayout->addLayout( layout ); QWidget* recentProjctsContainer = new QWidget; recentProjctsContainer->setLayout( new QVBoxLayout ); QLabel* recentProjectsTitle = new QLabel( QString( "<h1>%1</h1>" ).arg( tr( "Recent Projects" ) ) ); recentProjctsContainer->layout()->addWidget( recentProjectsTitle ); QListView* recentProjectsListView = new QListView(); mModel = new QgsWelcomePageItemsModel( recentProjectsListView ); recentProjectsListView->setModel( mModel ); recentProjectsListView->setItemDelegate( new QgsWelcomePageItemDelegate( recentProjectsListView ) ); recentProjctsContainer->layout()->addWidget( recentProjectsListView ); addTab( recentProjctsContainer, "Recent Projects" ); QWidget* whatsNewContainer = new QWidget; whatsNewContainer->setLayout( new QVBoxLayout ); QLabel* whatsNewTitle = new QLabel( QString( "<h1>%1</h1>" ).arg( tr( "QGIS News" ) ) ); whatsNewContainer->layout()->addWidget( whatsNewTitle ); QgsWebView* whatsNewPage = new QgsWebView(); whatsNewPage->setUrl( QUrl::fromLocalFile( QgsApplication::whatsNewFilePath() ) ); whatsNewPage->page()->setLinkDelegationPolicy( QWebPage::DelegateAllLinks ); whatsNewPage->setContextMenuPolicy( Qt::NoContextMenu ); whatsNewPage->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ); whatsNewPage->setStyleSheet( "background:transparent" ); whatsNewPage->setAttribute( Qt::WA_TranslucentBackground ); whatsNewContainer->layout()->addWidget( whatsNewPage ); // whatsNewContainer->setMaximumWidth( 250 ); // whatsNewContainer->setSizePolicy( QSizePolicy::Fixed, QSizePolicy::Preferred ); addTab( whatsNewContainer, "News" ); connect( whatsNewPage, SIGNAL( linkClicked( QUrl ) ), this, SLOT( whatsNewLinkClicked( QUrl ) ) ); mVersionInformation = new QLabel; mainLayout->addWidget( mVersionInformation ); mVersionInformation->setVisible( false ); mVersionInfo = new QgsVersionInfo(); connect( mVersionInfo, SIGNAL( versionInfoAvailable() ), this, SLOT( versionInfoReceived() ) ); mVersionInfo->checkVersion(); connect( recentProjectsListView, SIGNAL( activated( QModelIndex ) ), this, SLOT( itemActivated( QModelIndex ) ) ); }
QgsWelcomePage::QgsWelcomePage( bool skipVersionCheck, QWidget* parent ) : QWidget( parent ) { QSettings settings; QVBoxLayout* mainLayout = new QVBoxLayout; mainLayout->setMargin( 0 ); setLayout( mainLayout ); QHBoxLayout* layout = new QHBoxLayout(); layout->setMargin( 9 ); mainLayout->addLayout( layout ); QWidget* recentProjctsContainer = new QWidget; recentProjctsContainer->setLayout( new QVBoxLayout ); recentProjctsContainer->layout()->setContentsMargins( 3, 3, 3, 0 ); QLabel* recentProjectsTitle = new QLabel( QString( "<h1>%1</h1>" ).arg( tr( "Recent Projects" ) ) ); recentProjctsContainer->layout()->addWidget( recentProjectsTitle ); QListView* recentProjectsListView = new QListView(); recentProjectsListView->setResizeMode( QListView::Adjust ); mModel = new QgsWelcomePageItemsModel( recentProjectsListView ); recentProjectsListView->setModel( mModel ); recentProjectsListView->setItemDelegate( new QgsWelcomePageItemDelegate( recentProjectsListView ) ); recentProjctsContainer->layout()->addWidget( recentProjectsListView ); layout->addWidget( recentProjctsContainer ); mVersionInformation = new QLabel; mainLayout->addWidget( mVersionInformation ); mVersionInformation->setVisible( false ); mVersionInfo = new QgsVersionInfo(); if ( !QgsApplication::isRunningFromBuildDir() && settings.value( "/qgis/checkVersion", true ).toBool() && !skipVersionCheck ) { connect( mVersionInfo, SIGNAL( versionInfoAvailable() ), this, SLOT( versionInfoReceived() ) ); mVersionInfo->checkVersion(); } connect( recentProjectsListView, SIGNAL( activated( QModelIndex ) ), this, SLOT( itemActivated( QModelIndex ) ) ); }