forked from qt-creator/qt-creator
welcome screen: preview in news feed, Buttons added, resizing sanatized
Manage Sessions replaces "Restore last session" (which can be done by clicking the "(last session)" session anyway. Also, added a "Create New Project" button. Ensured that the welcome screen is only as high as needed (will orient on the amount of items in the contained treewidgets). Scrolling is still last resort.
This commit is contained in:
@@ -28,14 +28,85 @@
|
|||||||
**************************************************************************/
|
**************************************************************************/
|
||||||
|
|
||||||
#include <QtCore/QDebug>
|
#include <QtCore/QDebug>
|
||||||
|
#include <QtCore/QSysInfo>
|
||||||
|
#include <QtCore/QLocale>
|
||||||
#include <QtGui/QDesktopServices>
|
#include <QtGui/QDesktopServices>
|
||||||
#include <QtGui/QLineEdit>
|
#include <QtGui/QLineEdit>
|
||||||
#include <QtNetwork/QHttp>
|
#include <QtNetwork/QHttp>
|
||||||
|
|
||||||
|
#include <coreplugin/coreconstants.h>
|
||||||
|
|
||||||
#include "rssfetcher.h"
|
#include "rssfetcher.h"
|
||||||
|
|
||||||
|
#ifdef Q_OS_UNIX
|
||||||
|
#include <sys/utsname.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
using namespace Core::Internal;
|
using namespace Core::Internal;
|
||||||
|
|
||||||
|
static const QString getOsString()
|
||||||
|
{
|
||||||
|
QString osString;
|
||||||
|
#if defined(Q_OS_WIN)
|
||||||
|
switch (QSysInfo::WindowsVersion) {
|
||||||
|
case (QSysInfo::WV_4_0):
|
||||||
|
osString += QLatin1String("WinNT4.0");
|
||||||
|
break;
|
||||||
|
case (QSysInfo::WV_5_0):
|
||||||
|
osString += QLatin1String("Windows NT 5.0");
|
||||||
|
break;
|
||||||
|
case (QSysInfo::WV_5_1):
|
||||||
|
osString += QLatin1String("Windows NT 5.1");
|
||||||
|
break;
|
||||||
|
case (QSysInfo::WV_5_2):
|
||||||
|
osString += QLatin1String("Windows NT 5.2");
|
||||||
|
break;
|
||||||
|
case (QSysInfo::WV_6_0):
|
||||||
|
osString += QLatin1String("Windows NT 6.0");
|
||||||
|
break;
|
||||||
|
case (QSysInfo::WV_6_1):
|
||||||
|
osString += QLatin1String("Windows NT 6.1");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
osString += QLatin1String("Windows NT (Unknown)");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#elif defined (Q_OS_MAC)
|
||||||
|
if (QSysInfo::ByteOrder == QSysInfo::BigEndian)
|
||||||
|
osString += QLatin1String("PPC ");
|
||||||
|
else
|
||||||
|
osString += QLatin1String("Intel ");
|
||||||
|
osString += QLatin1String("Mac OS X ");
|
||||||
|
switch (QSysInfo::MacintoshVersion) {
|
||||||
|
case (QSysInfo::MV_10_3):
|
||||||
|
osString += QLatin1String("10_3");
|
||||||
|
break;
|
||||||
|
case (QSysInfo::MV_10_4):
|
||||||
|
osString += QLatin1String("10_4");
|
||||||
|
break;
|
||||||
|
case (QSysInfo::MV_10_5):
|
||||||
|
osString += QLatin1String("10_5");
|
||||||
|
break;
|
||||||
|
case (QSysInfo::MV_10_6):
|
||||||
|
osString += QLatin1String("10_6");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
osString += QLatin1String("(Unknown)");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#elif defined (Q_OS_UNIX)
|
||||||
|
struct utsname uts;
|
||||||
|
if (uname(&uts) == 0)
|
||||||
|
osString += QString("%1 %2").arg(QLatin1String(uts.sysname))
|
||||||
|
.arg(QLatin1String(uts.release));
|
||||||
|
else
|
||||||
|
osString += QLatin1String("Unix (Unknown)");
|
||||||
|
#else
|
||||||
|
ossttring = QLatin1String("Unknown OS");
|
||||||
|
#endif
|
||||||
|
return osString;
|
||||||
|
}
|
||||||
|
|
||||||
RSSFetcher::RSSFetcher(int maxItems, QObject *parent)
|
RSSFetcher::RSSFetcher(int maxItems, QObject *parent)
|
||||||
: QObject(parent), m_items(0), m_maxItems(maxItems)
|
: QObject(parent), m_items(0), m_maxItems(maxItems)
|
||||||
{
|
{
|
||||||
@@ -49,7 +120,15 @@ RSSFetcher::RSSFetcher(int maxItems, QObject *parent)
|
|||||||
void RSSFetcher::fetch(const QUrl &url)
|
void RSSFetcher::fetch(const QUrl &url)
|
||||||
{
|
{
|
||||||
m_http.setHost(url.host());
|
m_http.setHost(url.host());
|
||||||
m_connectionId = m_http.get(url.path());
|
QString agentStr = QString("Qt-Creator/%1 (QHttp %2; %3; %4; %5 bit)")
|
||||||
|
.arg(Core::Constants::IDE_VERSION_LONG).arg(qVersion())
|
||||||
|
.arg(getOsString()).arg(QLocale::system().name())
|
||||||
|
.arg(QSysInfo::WordSize);
|
||||||
|
QHttpRequestHeader header("GET", url.path());
|
||||||
|
qDebug() << agentStr;
|
||||||
|
header.setValue("User-Agent", agentStr);
|
||||||
|
header.setValue("Host", url.host());
|
||||||
|
m_connectionId = m_http.request(header);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RSSFetcher::readData(const QHttpResponseHeader &resp)
|
void RSSFetcher::readData(const QHttpResponseHeader &resp)
|
||||||
@@ -76,6 +155,7 @@ void RSSFetcher::parseXml()
|
|||||||
if (m_xml.isStartElement()) {
|
if (m_xml.isStartElement()) {
|
||||||
if (m_xml.name() == "item") {
|
if (m_xml.name() == "item") {
|
||||||
m_titleString.clear();
|
m_titleString.clear();
|
||||||
|
m_descriptionString.clear();
|
||||||
m_linkString.clear();
|
m_linkString.clear();
|
||||||
}
|
}
|
||||||
m_currentTag = m_xml.name().toString();
|
m_currentTag = m_xml.name().toString();
|
||||||
@@ -84,12 +164,14 @@ void RSSFetcher::parseXml()
|
|||||||
m_items++;
|
m_items++;
|
||||||
if (m_items > m_maxItems)
|
if (m_items > m_maxItems)
|
||||||
return;
|
return;
|
||||||
emit newsItemReady(m_titleString, m_linkString);
|
emit newsItemReady(m_titleString, m_descriptionString, m_linkString);
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (m_xml.isCharacters() && !m_xml.isWhitespace()) {
|
} else if (m_xml.isCharacters() && !m_xml.isWhitespace()) {
|
||||||
if (m_currentTag == "title")
|
if (m_currentTag == "title")
|
||||||
m_titleString += m_xml.text().toString();
|
m_titleString += m_xml.text().toString();
|
||||||
|
else if (m_currentTag == "description")
|
||||||
|
m_descriptionString += m_xml.text().toString();
|
||||||
else if (m_currentTag == "link")
|
else if (m_currentTag == "link")
|
||||||
m_linkString += m_xml.text().toString();
|
m_linkString += m_xml.text().toString();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ public:
|
|||||||
RSSFetcher(int maxItems, QObject *parent = 0);
|
RSSFetcher(int maxItems, QObject *parent = 0);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void newsItemReady(const QString& title, const QString& url);
|
void newsItemReady(const QString& title, const QString& desciption, const QString& url);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void fetch(const QUrl &url);
|
void fetch(const QUrl &url);
|
||||||
@@ -60,6 +60,7 @@ private:
|
|||||||
QXmlStreamReader m_xml;
|
QXmlStreamReader m_xml;
|
||||||
QString m_currentTag;
|
QString m_currentTag;
|
||||||
QString m_linkString;
|
QString m_linkString;
|
||||||
|
QString m_descriptionString;
|
||||||
QString m_titleString;
|
QString m_titleString;
|
||||||
|
|
||||||
QHttp m_http;
|
QHttp m_http;
|
||||||
|
|||||||
@@ -29,9 +29,11 @@
|
|||||||
|
|
||||||
#include "welcomemode.h"
|
#include "welcomemode.h"
|
||||||
#include "icore.h"
|
#include "icore.h"
|
||||||
|
#include "iwizard.h"
|
||||||
#include "coreconstants.h"
|
#include "coreconstants.h"
|
||||||
#include "uniqueidmanager.h"
|
#include "uniqueidmanager.h"
|
||||||
#include "modemanager.h"
|
#include "modemanager.h"
|
||||||
|
#include "newdialog.h"
|
||||||
#include "rssfetcher.h"
|
#include "rssfetcher.h"
|
||||||
|
|
||||||
#include <QtGui/QToolBar>
|
#include <QtGui/QToolBar>
|
||||||
@@ -118,7 +120,7 @@ WelcomeMode::WelcomeMode() :
|
|||||||
l->setMargin(0);
|
l->setMargin(0);
|
||||||
l->setSpacing(0);
|
l->setSpacing(0);
|
||||||
l->addWidget(new QToolBar(m_d->m_widget));
|
l->addWidget(new QToolBar(m_d->m_widget));
|
||||||
m_d->rssFetcher = new RSSFetcher(8, this);
|
m_d->rssFetcher = new RSSFetcher(7, this);
|
||||||
m_d->m_welcomePage = new QWidget(m_d->m_widget);
|
m_d->m_welcomePage = new QWidget(m_d->m_widget);
|
||||||
m_d->ui.setupUi(m_d->m_welcomePage);
|
m_d->ui.setupUi(m_d->m_welcomePage);
|
||||||
m_d->ui.projTitleLabel->setText(titleLabel(tr("Projects")));
|
m_d->ui.projTitleLabel->setText(titleLabel(tr("Projects")));
|
||||||
@@ -146,26 +148,27 @@ WelcomeMode::WelcomeMode() :
|
|||||||
connect(m_d->btnGrp, SIGNAL(buttonClicked(int)), m_d->ui.stackedWidget, SLOT(setCurrentIndex(int)));
|
connect(m_d->btnGrp, SIGNAL(buttonClicked(int)), m_d->ui.stackedWidget, SLOT(setCurrentIndex(int)));
|
||||||
|
|
||||||
connect(m_d->ui.feedbackButton, SIGNAL(clicked()), SLOT(slotFeedback()));
|
connect(m_d->ui.feedbackButton, SIGNAL(clicked()), SLOT(slotFeedback()));
|
||||||
connect(m_d->ui.restoreSessionButton, SIGNAL(clicked()), SLOT(slotRestoreLastSession()));
|
connect(m_d->ui.manageSessionsButton, SIGNAL(clicked()), SIGNAL(manageSessions()));
|
||||||
|
connect(m_d->ui.createNewProjectButton, SIGNAL(clicked()), SLOT(slotCreateNewProject()));
|
||||||
connect(m_d->ui.sessTreeWidget, SIGNAL(activated(QString)), SLOT(slotSessionClicked(QString)));
|
connect(m_d->ui.sessTreeWidget, SIGNAL(activated(QString)), SLOT(slotSessionClicked(QString)));
|
||||||
connect(m_d->ui.projTreeWidget, SIGNAL(activated(QString)), SLOT(slotProjectClicked(QString)));
|
connect(m_d->ui.projTreeWidget, SIGNAL(activated(QString)), SLOT(slotProjectClicked(QString)));
|
||||||
connect(m_d->ui.newsTreeWidget, SIGNAL(activated(QString)), SLOT(slotUrlClicked(QString)));
|
connect(m_d->ui.newsTreeWidget, SIGNAL(activated(QString)), SLOT(slotUrlClicked(QString)));
|
||||||
connect(m_d->ui.sitesTreeWidget, SIGNAL(activated(QString)), SLOT(slotUrlClicked(QString)));
|
connect(m_d->ui.sitesTreeWidget, SIGNAL(activated(QString)), SLOT(slotUrlClicked(QString)));
|
||||||
connect(m_d->ui.tutorialTreeWidget, SIGNAL(activated(QString)), SIGNAL(openHelpPage(const QString&)));
|
connect(m_d->ui.tutorialTreeWidget, SIGNAL(activated(QString)), SIGNAL(openHelpPage(const QString&)));
|
||||||
|
|
||||||
connect(m_d->rssFetcher, SIGNAL(newsItemReady(QString, QString)),
|
connect(m_d->rssFetcher, SIGNAL(newsItemReady(QString, QString, QString)),
|
||||||
m_d->ui.newsTreeWidget, SLOT(slotAddItem(QString, QString)));
|
m_d->ui.newsTreeWidget, SLOT(slotAddNewsItem(QString, QString, QString)));
|
||||||
|
|
||||||
//: Add localized feed here only if one exists
|
//: Add localized feed here only if one exists
|
||||||
m_d->rssFetcher->fetch(QUrl(tr("http://labs.trolltech.com/blogs/feed")));
|
m_d->rssFetcher->fetch(QUrl(tr("http://labs.trolltech.com/blogs/feed")));
|
||||||
|
|
||||||
m_d->ui.sitesTreeWidget->addItem(tr("Qt Software"), QLatin1String("http://www.qtsoftware.com"));
|
m_d->ui.sitesTreeWidget->addItem(tr("Qt Software"), QLatin1String("http://www.trolltech.com"));
|
||||||
m_d->ui.sitesTreeWidget->addItem(tr("Qt Labs"), QLatin1String("http://labs.qtsoftware.com"));
|
m_d->ui.sitesTreeWidget->addItem(tr("Qt Labs"), QLatin1String("http://labs.trolltech.com"));
|
||||||
m_d->ui.sitesTreeWidget->addItem(tr("Qt Git Hosting"), QLatin1String("http://qt.gitorious.org"));
|
m_d->ui.sitesTreeWidget->addItem(tr("Qt Git Hosting"), QLatin1String("http://qt.gitorious.org"));
|
||||||
m_d->ui.sitesTreeWidget->addItem(tr("Qt Centre"), QLatin1String("http://www.qtcentre.org"));
|
m_d->ui.sitesTreeWidget->addItem(tr("Qt Centre"), QLatin1String("http://www.qtcentre.org"));
|
||||||
m_d->ui.sitesTreeWidget->addItem(tr("Qt for S60 at Forum Nokia"), QLatin1String("http://discussion.forum.nokia.com/forum/forumdisplay.php?f=196"));
|
m_d->ui.sitesTreeWidget->addItem(tr("Qt for S60 at Forum Nokia"), QLatin1String("http://discussion.forum.nokia.com/forum/forumdisplay.php?f=196"));
|
||||||
|
|
||||||
m_d->ui.tutorialTreeWidget->addItem(tr("Qt Creator - A quick tour"),
|
m_d->ui.tutorialTreeWidget->addItem(tr("<b>Qt Creator - A quick tour</b>"),
|
||||||
QString("qthelp://com.nokia.qtcreator.%1%2/doc/index.html").arg(IDE_VERSION_MAJOR).arg(IDE_VERSION_MINOR));
|
QString("qthelp://com.nokia.qtcreator.%1%2/doc/index.html").arg(IDE_VERSION_MAJOR).arg(IDE_VERSION_MINOR));
|
||||||
m_d->ui.tutorialTreeWidget->addItem(tr("Understanding widgets"),
|
m_d->ui.tutorialTreeWidget->addItem(tr("Understanding widgets"),
|
||||||
QLatin1String("qthelp://com.trolltech.qt/qdoc/widgets-tutorial.html"));
|
QLatin1String("qthelp://com.trolltech.qt/qdoc/widgets-tutorial.html"));
|
||||||
@@ -299,16 +302,17 @@ void WelcomeMode::slotUrlClicked(const QString &data)
|
|||||||
QDesktopServices::openUrl(QUrl(data));
|
QDesktopServices::openUrl(QUrl(data));
|
||||||
}
|
}
|
||||||
|
|
||||||
void WelcomeMode::slotRestoreLastSession()
|
|
||||||
{
|
|
||||||
emit requestSession(m_d->lastData.previousSession);
|
|
||||||
activateEditMode();
|
|
||||||
}
|
|
||||||
|
|
||||||
void WelcomeMode::slotFeedback()
|
void WelcomeMode::slotFeedback()
|
||||||
{
|
{
|
||||||
QDesktopServices::openUrl(QUrl(QLatin1String(
|
QDesktopServices::openUrl(QUrl(QLatin1String(
|
||||||
"http://www.qtsoftware.com/forms/feedback-forms/qt-creator-user-feedback/view")));
|
"http://www.trolltech.com/forms/feedback-forms/qt-creator-user-feedback/view")));
|
||||||
|
}
|
||||||
|
|
||||||
|
void WelcomeMode::slotCreateNewProject()
|
||||||
|
{
|
||||||
|
Core::Internal::NewDialog dlg(widget());
|
||||||
|
dlg.setWizards(Core::IWizard::wizardsOfKind(Core::IWizard::ProjectWizard));
|
||||||
|
dlg.showDialog();
|
||||||
}
|
}
|
||||||
|
|
||||||
void WelcomeMode::slotNextTip()
|
void WelcomeMode::slotNextTip()
|
||||||
@@ -409,7 +413,8 @@ QTreeWidgetItem *WelcomeModeTreeWidget::addItem(const QString &label, const QStr
|
|||||||
QTreeWidgetItem *item = new QTreeWidgetItem(this);
|
QTreeWidgetItem *item = new QTreeWidgetItem(this);
|
||||||
item->setIcon(0, m_bullet);
|
item->setIcon(0, m_bullet);
|
||||||
item->setSizeHint(0, QSize(24, 30));
|
item->setSizeHint(0, QSize(24, 30));
|
||||||
QWidget *lbl = new QLabel(label);
|
QLabel *lbl = new QLabel(label);
|
||||||
|
lbl->setTextInteractionFlags(Qt::NoTextInteraction);
|
||||||
lbl->setCursor(QCursor(Qt::PointingHandCursor));
|
lbl->setCursor(QCursor(Qt::PointingHandCursor));
|
||||||
lbl->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
lbl->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
||||||
QBoxLayout *lay = new QVBoxLayout;
|
QBoxLayout *lay = new QVBoxLayout;
|
||||||
@@ -422,9 +427,15 @@ QTreeWidgetItem *WelcomeModeTreeWidget::addItem(const QString &label, const QStr
|
|||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
|
|
||||||
void WelcomeModeTreeWidget::slotAddItem(const QString &label, const QString &data)
|
void WelcomeModeTreeWidget::slotAddNewsItem(const QString &title, const QString &description, const QString &link)
|
||||||
{
|
{
|
||||||
addTopLevelItem(addItem(label,data));
|
int itemWidth = width()-header()->sectionSize(0);
|
||||||
|
QFont f = font();
|
||||||
|
QString elidedText = QFontMetrics(f).elidedText(description, Qt::ElideRight, itemWidth);
|
||||||
|
f.setBold(true);
|
||||||
|
QString elidedTitle = QFontMetrics(f).elidedText(title, Qt::ElideRight, itemWidth);
|
||||||
|
QString data = QString::fromLatin1("<b>%1</b><br />%2").arg(elidedTitle).arg(elidedText);
|
||||||
|
addTopLevelItem(addItem(data,link));
|
||||||
}
|
}
|
||||||
|
|
||||||
void WelcomeModeTreeWidget::slotItemClicked(QTreeWidgetItem *item)
|
void WelcomeModeTreeWidget::slotItemClicked(QTreeWidgetItem *item)
|
||||||
|
|||||||
@@ -79,13 +79,14 @@ signals:
|
|||||||
void requestProject(const QString &project);
|
void requestProject(const QString &project);
|
||||||
void requestSession(const QString &session);
|
void requestSession(const QString &session);
|
||||||
void openHelpPage(const QString&);
|
void openHelpPage(const QString&);
|
||||||
|
void manageSessions();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void slotFeedback();
|
void slotFeedback();
|
||||||
void slotRestoreLastSession();
|
|
||||||
void slotSessionClicked(const QString &data);
|
void slotSessionClicked(const QString &data);
|
||||||
void slotProjectClicked(const QString &data);
|
void slotProjectClicked(const QString &data);
|
||||||
void slotUrlClicked(const QString &data);
|
void slotUrlClicked(const QString &data);
|
||||||
|
void slotCreateNewProject();
|
||||||
void slotNextTip();
|
void slotNextTip();
|
||||||
void slotPrevTip();
|
void slotPrevTip();
|
||||||
|
|
||||||
|
|||||||
@@ -6,8 +6,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>742</width>
|
<width>864</width>
|
||||||
<height>637</height>
|
<height>690</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="styleSheet">
|
<property name="styleSheet">
|
||||||
@@ -202,7 +202,7 @@ background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0
|
|||||||
<item>
|
<item>
|
||||||
<widget class="QStackedWidget" name="stackedWidget">
|
<widget class="QStackedWidget" name="stackedWidget">
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>2</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="gettingStartedPage">
|
<widget class="QWidget" name="gettingStartedPage">
|
||||||
<layout class="QGridLayout" name="gridLayout_9">
|
<layout class="QGridLayout" name="gridLayout_9">
|
||||||
@@ -232,6 +232,12 @@ background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0
|
|||||||
<layout class="QGridLayout" name="gridLayout_6">
|
<layout class="QGridLayout" name="gridLayout_6">
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<widget class="QLabel" name="tutorialsTitleLabel">
|
<widget class="QLabel" name="tutorialsTitleLabel">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
<property name="alignment">
|
<property name="alignment">
|
||||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||||
</property>
|
</property>
|
||||||
@@ -240,7 +246,7 @@ background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0
|
|||||||
<item row="1" column="0">
|
<item row="1" column="0">
|
||||||
<widget class="Core::Internal::WelcomeModeTreeWidget" name="tutorialTreeWidget">
|
<widget class="Core::Internal::WelcomeModeTreeWidget" name="tutorialTreeWidget">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
|
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
@@ -361,11 +367,11 @@ background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0
|
|||||||
<property name="styleSheet">
|
<property name="styleSheet">
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_10">
|
<layout class="QGridLayout" name="gridLayout_11">
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<widget class="QLabel" name="didYouKnowTitleLabel">
|
<widget class="QLabel" name="didYouKnowTitleLabel">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
|
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Maximum">
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
@@ -375,8 +381,70 @@ background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0" colspan="3">
|
<item row="0" column="1">
|
||||||
|
<layout class="QGridLayout" name="gridLayout_10">
|
||||||
|
<property name="spacing">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item row="0" column="0" colspan="2">
|
||||||
|
<spacer name="verticalSpacer_4">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Preferred</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>2</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QToolButton" name="prevTipBtn">
|
||||||
|
<property name="text">
|
||||||
|
<string><</string>
|
||||||
|
</property>
|
||||||
|
<property name="arrowType">
|
||||||
|
<enum>Qt::LeftArrow</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QToolButton" name="nextTipBtn">
|
||||||
|
<property name="text">
|
||||||
|
<string>></string>
|
||||||
|
</property>
|
||||||
|
<property name="arrowType">
|
||||||
|
<enum>Qt::RightArrow</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0" colspan="2">
|
||||||
|
<spacer name="verticalSpacer_3">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>2</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0" colspan="2">
|
||||||
<widget class="QTextBrowser" name="didYouKnowTextBrowser">
|
<widget class="QTextBrowser" name="didYouKnowTextBrowser">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
<property name="frameShape">
|
<property name="frameShape">
|
||||||
<enum>QFrame::NoFrame</enum>
|
<enum>QFrame::NoFrame</enum>
|
||||||
</property>
|
</property>
|
||||||
@@ -394,30 +462,6 @@ background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="2">
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
|
||||||
<item>
|
|
||||||
<widget class="QToolButton" name="prevTipBtn">
|
|
||||||
<property name="text">
|
|
||||||
<string><</string>
|
|
||||||
</property>
|
|
||||||
<property name="arrowType">
|
|
||||||
<enum>Qt::LeftArrow</enum>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QToolButton" name="nextTipBtn">
|
|
||||||
<property name="text">
|
|
||||||
<string>></string>
|
|
||||||
</property>
|
|
||||||
<property name="arrowType">
|
|
||||||
<enum>Qt::RightArrow</enum>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@@ -449,17 +493,23 @@ background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0
|
|||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_3">
|
<layout class="QGridLayout" name="gridLayout_3">
|
||||||
<item row="0" column="0" colspan="2">
|
<item row="0" column="0" colspan="3">
|
||||||
<widget class="QLabel" name="recentSessionsTitleLabel">
|
<widget class="QLabel" name="recentSessionsTitleLabel">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Maximum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
<property name="alignment">
|
<property name="alignment">
|
||||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0" colspan="2">
|
<item row="1" column="0" colspan="3">
|
||||||
<widget class="Core::Internal::WelcomeModeTreeWidget" name="sessTreeWidget">
|
<widget class="Core::Internal::WelcomeModeTreeWidget" name="sessTreeWidget">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
|
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
@@ -509,8 +559,8 @@ background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0
|
|||||||
</column>
|
</column>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0">
|
<item row="2" column="0" colspan="2">
|
||||||
<widget class="Core::Internal::WelcomeModeButton" name="restoreSessionButton">
|
<widget class="Core::Internal::WelcomeModeButton" name="manageSessionsButton">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
@@ -534,17 +584,21 @@ background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0
|
|||||||
</string>
|
</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string><qt>Restore Last Session &gt;&gt;</string>
|
<string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||||
|
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||||
|
p, li { white-space: pre-wrap; }
|
||||||
|
</style></head><body style=" font-family:'lucida sans'; font-weight:400; font-style:normal;">
|
||||||
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Manage Sessions...</p></body></html></string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="1">
|
<item row="2" column="2">
|
||||||
<spacer name="horizontalSpacer_3">
|
<spacer name="horizontalSpacer_3">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Horizontal</enum>
|
<enum>Qt::Horizontal</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizeType">
|
<property name="sizeType">
|
||||||
<enum>QSizePolicy::Preferred</enum>
|
<enum>QSizePolicy::Expanding</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizeHint" stdset="0">
|
<property name="sizeHint" stdset="0">
|
||||||
<size>
|
<size>
|
||||||
@@ -554,6 +608,22 @@ background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0
|
|||||||
</property>
|
</property>
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Expanding</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>53</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@@ -563,17 +633,23 @@ background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0
|
|||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_5">
|
<layout class="QGridLayout" name="gridLayout_5">
|
||||||
<item row="0" column="0">
|
<item row="0" column="0" colspan="3">
|
||||||
<widget class="QLabel" name="projTitleLabel">
|
<widget class="QLabel" name="projTitleLabel">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Maximum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
<property name="alignment">
|
<property name="alignment">
|
||||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0">
|
<item row="1" column="0" colspan="3">
|
||||||
<widget class="Core::Internal::WelcomeModeTreeWidget" name="projTreeWidget">
|
<widget class="Core::Internal::WelcomeModeTreeWidget" name="projTreeWidget">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
|
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
@@ -623,6 +699,68 @@ background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0
|
|||||||
</column>
|
</column>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="2" column="0" colspan="2">
|
||||||
|
<widget class="Core::Internal::WelcomeModeButton" name="createNewProjectButton">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string>* {
|
||||||
|
border-image: url(:/core/images/welcomemode/btn_26.png) 7;
|
||||||
|
border-width: 7;
|
||||||
|
padding: -2px 0;
|
||||||
|
font-size: 12px;
|
||||||
|
font-family: lucida sans, dejavu sans, sans serif;
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
*:hover {
|
||||||
|
border-image: url(:/core/images/welcomemode/btn_26_hover.png) 7;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||||
|
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||||
|
p, li { white-space: pre-wrap; }
|
||||||
|
</style></head><body style=" font-family:'lucida sans'; font-weight:400; font-style:normal;">
|
||||||
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Create New Project...</p></body></html></string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="2">
|
||||||
|
<spacer name="horizontalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>157</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<spacer name="verticalSpacer_2">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Expanding</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@@ -660,6 +798,12 @@ background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0
|
|||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="Core::Internal::WelcomeModeTreeWidget" name="newsTreeWidget">
|
<widget class="Core::Internal::WelcomeModeTreeWidget" name="newsTreeWidget">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>360</width>
|
<width>360</width>
|
||||||
@@ -802,7 +946,7 @@ background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0
|
|||||||
<number>15</number>
|
<number>15</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="bottomMargin">
|
<property name="bottomMargin">
|
||||||
<number>17</number>
|
<number>15</number>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<spacer name="horizontalSpacer_5">
|
<spacer name="horizontalSpacer_5">
|
||||||
@@ -873,7 +1017,7 @@ background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0
|
|||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizeType">
|
<property name="sizeType">
|
||||||
<enum>QSizePolicy::Maximum</enum>
|
<enum>QSizePolicy::Expanding</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizeHint" stdset="0">
|
<property name="sizeHint" stdset="0">
|
||||||
<size>
|
<size>
|
||||||
@@ -889,7 +1033,7 @@ background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0
|
|||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizeType">
|
<property name="sizeType">
|
||||||
<enum>QSizePolicy::Maximum</enum>
|
<enum>QSizePolicy::Expanding</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizeHint" stdset="0">
|
<property name="sizeHint" stdset="0">
|
||||||
<size>
|
<size>
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ public:
|
|||||||
QTreeWidgetItem *addItem(const QString &label, const QString &data);
|
QTreeWidgetItem *addItem(const QString &label, const QString &data);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void slotAddItem(const QString &label, const QString &data);
|
void slotAddNewsItem(const QString &title, const QString &description, const QString &link);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void activated(const QString &data);
|
void activated(const QString &data);
|
||||||
|
|||||||
@@ -736,7 +736,7 @@ void HelpPlugin::openHelpPage(const QString& url)
|
|||||||
else {
|
else {
|
||||||
QString page = url.mid(url.lastIndexOf('/')+1);
|
QString page = url.mid(url.lastIndexOf('/')+1);
|
||||||
qDebug() << url << page << url.lastIndexOf('/');
|
qDebug() << url << page << url.lastIndexOf('/');
|
||||||
QDesktopServices::openUrl(QLatin1String("http://doc.qtsoftware.com/latest/")+page);
|
QDesktopServices::openUrl(QLatin1String("http://doc.trolltech.com/latest/")+page);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -78,6 +78,7 @@
|
|||||||
#include <coreplugin/vcsmanager.h>
|
#include <coreplugin/vcsmanager.h>
|
||||||
#include <coreplugin/iversioncontrol.h>
|
#include <coreplugin/iversioncontrol.h>
|
||||||
#include <coreplugin/vcsmanager.h>
|
#include <coreplugin/vcsmanager.h>
|
||||||
|
#include <coreplugin/welcomemode.h>
|
||||||
#include <extensionsystem/pluginmanager.h>
|
#include <extensionsystem/pluginmanager.h>
|
||||||
#include <utils/qtcassert.h>
|
#include <utils/qtcassert.h>
|
||||||
#include <utils/parameteraction.h>
|
#include <utils/parameteraction.h>
|
||||||
@@ -669,6 +670,10 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
|
|||||||
m_projectExplorerSettings.saveBeforeBuild = s->value("ProjectExplorer/Settings/SaveBeforeBuild", false).toBool();
|
m_projectExplorerSettings.saveBeforeBuild = s->value("ProjectExplorer/Settings/SaveBeforeBuild", false).toBool();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Core::Internal::WelcomeMode *welcomeMode = qobject_cast<Core::Internal::WelcomeMode*>
|
||||||
|
(Core::ICore::instance()->modeManager()->mode(Core::Constants::MODE_WELCOME))) {
|
||||||
|
connect(welcomeMode, SIGNAL(manageSessions()), this, SLOT(showSessionManager()));
|
||||||
|
}
|
||||||
connect(m_sessionManagerAction, SIGNAL(triggered()), this, SLOT(showSessionManager()));
|
connect(m_sessionManagerAction, SIGNAL(triggered()), this, SLOT(showSessionManager()));
|
||||||
connect(m_newAction, SIGNAL(triggered()), this, SLOT(newProject()));
|
connect(m_newAction, SIGNAL(triggered()), this, SLOT(newProject()));
|
||||||
#if 0
|
#if 0
|
||||||
|
|||||||
@@ -124,6 +124,7 @@ SessionDialog::SessionDialog(SessionManager *sessionManager, const QString &last
|
|||||||
connect(m_ui.sessionList, SIGNAL(currentItemChanged(QListWidgetItem *, QListWidgetItem *)),
|
connect(m_ui.sessionList, SIGNAL(currentItemChanged(QListWidgetItem *, QListWidgetItem *)),
|
||||||
this, SLOT(updateActions()));
|
this, SLOT(updateActions()));
|
||||||
|
|
||||||
|
m_ui.whatsASessionLabel->setOpenExternalLinks(true);
|
||||||
QStringList sessions = sessionManager->sessions();
|
QStringList sessions = sessionManager->sessions();
|
||||||
foreach (const QString &session, sessions) {
|
foreach (const QString &session, sessions) {
|
||||||
m_ui.sessionList->addItem(session);
|
m_ui.sessionList->addItem(session);
|
||||||
|
|||||||
@@ -62,6 +62,13 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="whatsASessionLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string><a href="qthelp://com.nokia.qtcreator/doc/creator-quick-tour.html#session-management-in-qt-creator">What is a Session?</a></string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="2" column="1" colspan="2">
|
<item row="2" column="1" colspan="2">
|
||||||
<widget class="QDialogButtonBox" name="buttonBox">
|
<widget class="QDialogButtonBox" name="buttonBox">
|
||||||
<property name="standardButtons">
|
<property name="standardButtons">
|
||||||
|
|||||||
Reference in New Issue
Block a user