From f48f23c89d96520c1701083ba8616f751830e93b Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Wed, 22 Apr 2009 18:17:50 +0200 Subject: [PATCH] fully-fledged webkit-free welcome mode pros: - the non-webkit version is not castrated any more - i18n should become simpler - but need to make the buttons non-labels for optimal results - if we introduce delayed loading of the help plugin, we would get webkit loading out of the startup's critical path alltogether cons: - the page might be a bit harder to modify for some --- src/plugins/coreplugin/core.qrc | 43 +- src/plugins/coreplugin/coreplugin.cpp | 10 - src/plugins/coreplugin/coreplugin.pro | 8 +- .../html/images/bg_site_header_dark_grey.png | Bin 156 -> 0 bytes .../images/body_bg_circles_bottom_right.png | Bin 23017 -> 0 bytes .../html/images/body_bg_gradient.png | Bin 238 -> 0 bytes .../html/images/product_logo_mirror.png | Bin 51058 -> 0 bytes .../coreplugin/html/images/rc_bottom_left.png | Bin 181 -> 0 bytes .../coreplugin/html/images/rc_bottom_mid.png | Bin 126 -> 0 bytes .../html/images/rc_bottom_right.png | Bin 175 -> 0 bytes .../coreplugin/html/images/rc_mid_left.png | Bin 178 -> 0 bytes .../coreplugin/html/images/rc_mid_mid.png | Bin 158 -> 0 bytes .../coreplugin/html/images/rc_mid_right.png | Bin 174 -> 0 bytes .../coreplugin/html/images/rc_top_left.png | Bin 194 -> 0 bytes .../coreplugin/html/images/rc_top_mid.png | Bin 133 -> 0 bytes .../coreplugin/html/images/rc_top_right.png | Bin 199 -> 0 bytes src/plugins/coreplugin/html/qt.css | 378 -------- .../coreplugin/html/recent_projects.html | 41 - .../coreplugin/html/recent_sessions.html | 43 - src/plugins/coreplugin/html/welcome.html | 78 -- .../welcomemode}/btn_feedback.png | Bin .../welcomemode}/btn_feedback_hover.png | Bin .../welcomemode}/btn_getting_started.png | Bin .../btn_getting_started_hover.png | Bin .../welcomemode}/btn_restore_session.png | Bin .../btn_restore_session_hover.png | Bin .../welcomemode}/feedback-bar-background.png | Bin .../welcomemode}/feedback-text.png | Bin .../welcomemode}/list_bullet_arrow.png | Bin .../welcomemode/mode_project.png} | Bin .../welcomemode}/nokia_logo.png | Bin .../welcomemode}/product_logo.png | Bin .../images => images/welcomemode}/qt_logo.png | Bin .../images/welcomemode/rc_combined.png | Bin 0 -> 530 bytes src/plugins/coreplugin/welcomemode.cpp | 252 +++--- src/plugins/coreplugin/welcomemode.h | 9 +- src/plugins/coreplugin/welcomemode.ui | 821 ++++++++++++++++++ src/plugins/coreplugin/welcomemode_p.h | 82 ++ src/plugins/help/helpplugin.cpp | 14 +- 39 files changed, 1071 insertions(+), 708 deletions(-) delete mode 100644 src/plugins/coreplugin/html/images/bg_site_header_dark_grey.png delete mode 100644 src/plugins/coreplugin/html/images/body_bg_circles_bottom_right.png delete mode 100644 src/plugins/coreplugin/html/images/body_bg_gradient.png delete mode 100644 src/plugins/coreplugin/html/images/product_logo_mirror.png delete mode 100644 src/plugins/coreplugin/html/images/rc_bottom_left.png delete mode 100644 src/plugins/coreplugin/html/images/rc_bottom_mid.png delete mode 100644 src/plugins/coreplugin/html/images/rc_bottom_right.png delete mode 100644 src/plugins/coreplugin/html/images/rc_mid_left.png delete mode 100644 src/plugins/coreplugin/html/images/rc_mid_mid.png delete mode 100644 src/plugins/coreplugin/html/images/rc_mid_right.png delete mode 100644 src/plugins/coreplugin/html/images/rc_top_left.png delete mode 100644 src/plugins/coreplugin/html/images/rc_top_mid.png delete mode 100644 src/plugins/coreplugin/html/images/rc_top_right.png delete mode 100644 src/plugins/coreplugin/html/qt.css delete mode 100644 src/plugins/coreplugin/html/recent_projects.html delete mode 100644 src/plugins/coreplugin/html/recent_sessions.html delete mode 100644 src/plugins/coreplugin/html/welcome.html rename src/plugins/coreplugin/{html/images => images/welcomemode}/btn_feedback.png (100%) rename src/plugins/coreplugin/{html/images => images/welcomemode}/btn_feedback_hover.png (100%) rename src/plugins/coreplugin/{html/images => images/welcomemode}/btn_getting_started.png (100%) rename src/plugins/coreplugin/{html/images => images/welcomemode}/btn_getting_started_hover.png (100%) rename src/plugins/coreplugin/{html/images => images/welcomemode}/btn_restore_session.png (100%) rename src/plugins/coreplugin/{html/images => images/welcomemode}/btn_restore_session_hover.png (100%) rename src/plugins/coreplugin/{html/images => images/welcomemode}/feedback-bar-background.png (100%) rename src/plugins/coreplugin/{html/images => images/welcomemode}/feedback-text.png (100%) rename src/plugins/coreplugin/{html/images => images/welcomemode}/list_bullet_arrow.png (100%) rename src/plugins/coreplugin/{html/images/mode_Project.png => images/welcomemode/mode_project.png} (100%) rename src/plugins/coreplugin/{html/images => images/welcomemode}/nokia_logo.png (100%) rename src/plugins/coreplugin/{html/images => images/welcomemode}/product_logo.png (100%) rename src/plugins/coreplugin/{html/images => images/welcomemode}/qt_logo.png (100%) create mode 100644 src/plugins/coreplugin/images/welcomemode/rc_combined.png create mode 100644 src/plugins/coreplugin/welcomemode.ui create mode 100644 src/plugins/coreplugin/welcomemode_p.h diff --git a/src/plugins/coreplugin/core.qrc b/src/plugins/coreplugin/core.qrc index bd8f3ad11f4..7ffa12b5710 100644 --- a/src/plugins/coreplugin/core.qrc +++ b/src/plugins/coreplugin/core.qrc @@ -1,34 +1,5 @@ - html/images/bg_site_header_dark_grey.png - html/images/body_bg_circles_bottom_right.png - html/images/body_bg_gradient.png - html/images/btn_feedback.png - html/images/btn_feedback_hover.png - html/images/btn_getting_started.png - html/images/btn_getting_started_hover.png - html/images/btn_restore_session.png - html/images/btn_restore_session_hover.png - html/images/feedback-bar-background.png - html/images/feedback-text.png - html/images/list_bullet_arrow.png - html/images/mode_Project.png - html/images/nokia_logo.png - html/images/product_logo.png - html/images/qt_logo.png - html/images/rc_bottom_left.png - html/images/rc_bottom_mid.png - html/images/rc_bottom_right.png - html/images/rc_mid_left.png - html/images/rc_mid_mid.png - html/images/rc_mid_right.png - html/images/rc_top_left.png - html/images/rc_top_mid.png - html/images/rc_top_right.png - html/qt.css - html/recent_projects.html - html/recent_sessions.html - html/welcome.html images/clean_pane_small.png images/clear.png images/closebutton.png @@ -73,5 +44,19 @@ images/unlocked.png images/extension.png images/darkclosebutton.png + images/welcomemode/btn_feedback.png + images/welcomemode/btn_feedback_hover.png + images/welcomemode/btn_getting_started.png + images/welcomemode/btn_getting_started_hover.png + images/welcomemode/btn_restore_session.png + images/welcomemode/btn_restore_session_hover.png + images/welcomemode/feedback-bar-background.png + images/welcomemode/feedback-text.png + images/welcomemode/list_bullet_arrow.png + images/welcomemode/mode_project.png + images/welcomemode/nokia_logo.png + images/welcomemode/product_logo.png + images/welcomemode/qt_logo.png + images/welcomemode/rc_combined.png diff --git a/src/plugins/coreplugin/coreplugin.cpp b/src/plugins/coreplugin/coreplugin.cpp index e99f5b796b8..512ceb01b78 100644 --- a/src/plugins/coreplugin/coreplugin.cpp +++ b/src/plugins/coreplugin/coreplugin.cpp @@ -38,10 +38,6 @@ #include #include -#if !defined(QT_NO_WEBKIT) -#include -#include -#endif using namespace Core::Internal; @@ -72,12 +68,6 @@ bool CorePlugin::initialize(const QStringList &arguments, QString *errorMessage) Q_UNUSED(arguments); const bool success = m_mainWindow->init(errorMessage); if (success) { -#if !defined(QT_NO_WEBKIT) - QWebSettings *webSettings = QWebSettings::globalSettings(); - const QFont applicationFont = QApplication::font(); - webSettings->setFontFamily(QWebSettings::StandardFont, applicationFont.family()); - //webSettings->setFontSize(QWebSettings::DefaultFontSize, applicationFont.pointSize()); -#endif m_welcomeMode = new WelcomeMode; addObject(m_welcomeMode); diff --git a/src/plugins/coreplugin/coreplugin.pro b/src/plugins/coreplugin/coreplugin.pro index c3606c1f1bd..57fac677d04 100644 --- a/src/plugins/coreplugin/coreplugin.pro +++ b/src/plugins/coreplugin/coreplugin.pro @@ -75,6 +75,7 @@ SOURCES += mainwindow.cpp \ icore.cpp HEADERS += mainwindow.h \ welcomemode.h \ + welcomemode_p.h \ editmode.h \ tabpositionindicator.h \ fancyactionbar.h \ @@ -155,14 +156,11 @@ FORMS += dialogs/newdialog.ui \ dialogs/saveitemsdialog.ui \ dialogs/openwithdialog.ui \ editormanager/openeditorsview.ui \ - generalsettings.ui + generalsettings.ui \ + welcomemode.ui RESOURCES += core.qrc \ fancyactionbar.qrc -contains(QT_CONFIG, webkit) { - QT += webkit -} - linux-* { images.files = images/qtcreator_logo_*.png images.path = /share/pixmaps diff --git a/src/plugins/coreplugin/html/images/bg_site_header_dark_grey.png b/src/plugins/coreplugin/html/images/bg_site_header_dark_grey.png deleted file mode 100644 index 044c695a4dcf1d6b7338ba9e6433335a21c5be11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 156 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznU=ZbCVqjo65c9K@fq_A?#5JNMI6tkVJh3R1 z!7(L2DOJHUH!(dmC^a#qvhZZ84Fdy%ou`XqNX4zBIhMuG{{R0kDJdx#z!>JJkie9* zMks={v4J&1h*`7Y>HYon&Ax~4@2__^?a5lu)pl_D9!4e}2CsPzeXG7sYGhzwVDNPH Kb6Mw<&;$UU=QBkB diff --git a/src/plugins/coreplugin/html/images/body_bg_circles_bottom_right.png b/src/plugins/coreplugin/html/images/body_bg_circles_bottom_right.png deleted file mode 100644 index 543e35071ff5cfd574981b5c8e550384798b4325..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23017 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 diff --git a/src/plugins/coreplugin/html/images/product_logo_mirror.png b/src/plugins/coreplugin/html/images/product_logo_mirror.png deleted file mode 100644 index d7aa9d1992f4a96ec4d804a315cd33bc52c98348..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51058 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 diff --git a/src/plugins/coreplugin/html/images/rc_bottom_mid.png b/src/plugins/coreplugin/html/images/rc_bottom_mid.png deleted file mode 100644 index 7c01362073cc8429573776f78e91f976c2c9dcec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmeAS@N?(olHy`uVBq!ia0y~yVBi2@4mJh`h9ms@x)~T4BuiW)N`mv#O3D+9QW+dm z@{>{(JaZG%Q-e|yQz{EjrrIztFerGsIEGZ*N~-zx=4L&cO+#lRgM<)Qgp60(&xgSb c0tpQN&$7nv%j=oKz`(%Z>FVdQ&MBb@0QCbUiU0rr diff --git a/src/plugins/coreplugin/html/images/rc_bottom_right.png b/src/plugins/coreplugin/html/images/rc_bottom_right.png deleted file mode 100644 index eed56c4f5c002a3e65ce04702b8b716b386de972..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175 zcmeAS@N?(olHy`uVBq!ia0y~yVBi2@4mJh`h9ms@x)~T4BuiW)N`mv#O3D+9QW+dm z@{>{(JaZG%Q-e|yQz{EjrrIztFa&zKIEGZ*N~-zx=4L&c%z=d|)8vJj86BKi_y7O* zn`24c!;pgaH*fECcxA}lcFw;3{{8x&{}NuldF$P9hrK5&kau53RvpvF;0aF}=WSWf cz{tkXVzopr09@KaivR!s diff --git a/src/plugins/coreplugin/html/images/rc_mid_left.png b/src/plugins/coreplugin/html/images/rc_mid_left.png deleted file mode 100644 index d6dd8de8cf252ce6dabda8e755a97be8d7fa6d0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178 zcmeAS@N?(olHy`uVBq!ia0y~yVBlb2U^vae#=yW3TzqLF0|SF(iEBhjaDG}zd16s2 zgJVj5QmTSyZen_BP-PNRH^^Fvg6&&yOq1#_sTH*5S#Pc^U-34Zl*Vk0l~iVs$vV&7A%WsxYJECin?iU1*#oEY0l5 z$gFyF**&fI*E>#Z+G+Ry;;DxW4@^I#F0*G4W4*z=VA(7=Rj~zX3zkJR+-b07Xz*nc dPvA6Q*j}M^UBNk5h=GBD!PC{xWt~$(699{#IH3Rl diff --git a/src/plugins/coreplugin/html/images/rc_top_left.png b/src/plugins/coreplugin/html/images/rc_top_left.png deleted file mode 100644 index ffed637a15f20d80abe92e54d3dc7119c3ba2218..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 194 zcmeAS@N?(olHy`uVBq!ia0y~yVBi2@4mJh`h9ms@x)~T4BuiW)N`mv#O3D+9QW+dm z@{>{(JaZG%Q-e|yQz{EjrrIztFr;|8IEGZ*O8WEXr*U&(l|DN&b2F2`X(q!CUiO}> zK;Aij?#z)BE@o1`lHxk|W@Kc`M9~cmC4T3)yDo)I;7B~cG@~KH&)4nBR7Q3N&4lFC v#AnBsGw3UbP0l+XkKAjv`g diff --git a/src/plugins/coreplugin/html/images/rc_top_mid.png b/src/plugins/coreplugin/html/images/rc_top_mid.png deleted file mode 100644 index 10f5abd31c1d1938230c0c8d8554869c8d287305..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133 zcmeAS@N?(olHy`uVBq!ia0y~yVBi2@4mJh`h9ms@x)~T4BuiW)N`mv#O3D+9QW+dm z@{>{(JaZG%Q-e|yQz{EjrrIztFsOUFIEGZ*N($-D`jC2nS;D^l-yiw;OloXQ2?iPo jKmW_GSC?R5;$cu<%3=JwZ1NNa1_lOCS3j3^P6{(JaZG%Q-e|yQz{EjrrIztFl2hVIEGZ*N($-D`jG0tYTxj~P{7{8dh-wV$Is8t z|F3-d-=DwF->yBr{`)ik$o-EVUw>~s<3fq?hRvHeUTb-_`JUtMVk#0f5IN8=t7nDw zgh_{2HcV}uDetlIVF&{=i|B?w|NqOcXKG+zW-t<#t2F2f2DyyE)78&qol`;+0N`6p Ap#T5? diff --git a/src/plugins/coreplugin/html/qt.css b/src/plugins/coreplugin/html/qt.css deleted file mode 100644 index 9e4fb05b8cd..00000000000 --- a/src/plugins/coreplugin/html/qt.css +++ /dev/null @@ -1,378 +0,0 @@ -/************************************** -Nokia, QT Software CSS - IDE Startseite -**************************************/ - -/************************************** -Reset -**************************************/ -* { - - vertical-align: baseline; - font-weight: inherit; - font-family: inherit; - font-style: inherit; - padding: 0; - margin: 0; - -} - -/*image link*/ -a.img_link:link {text-decoration:none;} -a.img_link:visited {text-decoration:none} -a.img_link:active {text-decoration:none} -a.img_link:hover {text-decoration:none} - -/*regular link*/ -a:link {color:#5e5e5e; text-decoration:none;} -a:visited {color:#5e5e5e; text-decoration:none} -a:active {color:#5e5e5e; text-decoration:none} -a:hover {color:#5e5e5e; text-decoration:underline} - -p{ - - font-size:9pt; - - } - -strong{ - font-weight: bold; -} - -em { - font-style: italic; -} - -ul{ - - list-style-type: none; - margin:0px 0px; - padding:15px 0px; - - } - -li { - - background:url(images/list_bullet_arrow.png) top left no-repeat; - font-size:9pt; - padding:1px 0px 0px 22px; - margin:0px 0px 15px 0px; - } - -li:last-child{ - - margin:0px; - - } - - - - - -img { - - border: 0 none; - - } - -/*Welcome Headline*/ -h1{ - - font-size:2em; - font-weight:normal; - padding-bottom:22px; - - color:#4d4d4d; - - } - -/*Headlines Recent...*/ -h2{ - - font-size:18px; - font-weight:normal; - color:#7c92a1; - border-bottom:1px solid #a6b5c1; - padding:5px 0px 10px 0px; - - } - -.clear_float{ - - clear:both; - - } - -.clear_left{ - - clear:left; - - } - -.clear_right{ - - clear:right; - - } - -/************************************** -HTML / BODY -**************************************/ -html, body { - font-family: Arial, Trebuchet, Lucida, sans-serif; - color: #5e5e5e; - background:#d7d7d7 url(images/body_bg_gradient.png) top left repeat-x; - height:100%; -} - -/*Platzierung der Circles unten rechts*/ -.global_container { - position:relative; - width:100%; - min-height:100%; - min-width:550px; -} - - -.footer { - position:relative; - list-style-type:none; - margin:0; - padding:0; - width:100%; - height:55px; - margin-top:-86px; -} - -.feedback-bar { - position:relative; - list-style-type:none; - margin:0; - padding:0; - height: 31px; - width: 100%; - margin-top: 0px; - background-image: url(images/feedback-bar-background.png); -} - -a.btn_feedback { - background-image:url(images/btn_feedback.png); - width:102px; - height:26px; - display:block; - float:left; -} - -a.btn_feedback:hover { - background-image:url(images/btn_feedback_hover.png) -} - -.left-logo { - float:left; - background:none; - margin:0; - padding:0; - padding-left: 15px; - content:url(images/qt_logo.png); - } - -.right-logo { - float:right; - background:none; - margin: 0; - margin-right: 15px; - margin-top: 25px; - padding:0; - content:url(images/nokia_logo.png); - } - -/************************************** -Site Header -**************************************/ -.site_header{ - - height:21px; - background:#686868 url(images/bg_site_header_dark_grey.png) top left repeat-x; - - } - -.site_header p{ - - padding:3px 10px; - color:#fff; - - } - - -/************************************** -Content -**************************************/ -.content_container{ - - margin:0px auto; - - /*CUSTOMIZE WIDTH*/ - width:600px; - } - - -/************************************** -Layout TOP - Logo und Welcome Text -**************************************/ -.layout_top{ - - padding-top:50px; - min-height:250px; - - } - - -/*Product Logo*/ -.layout_top .product_logo{ - - float:left; - width:210px; - - } - -.layout_top .product_logo img{ - - - } - -/*Welcome Text*/ -.layout_top .welcome_text{ - - margin-left:210px; - padding-top:20px; - padding-bottom:30px; - - - } - -.layout_top .welcome_text p{ - - font-size:9pt; - line-height:180%; - - } - -.layout_top .welcome_text .get_started_container{ - - border-top:1px solid #a8a8a8; - margin-top:20px; - padding:10px 0px; - - } - -/*Getting started Button inlusive CSS HOVER*/ -a.btn_getting_started{ - - float:right; - display:block; - background-image:url(images/btn_getting_started.png); - width:133px; - height:29px; - - } - -a.btn_getting_started:hover{ - - background-image:url(images/btn_getting_started_hover.png) - - }; - - -/************************************** -Layout BOTTOM - Recent Projects und Recent Sessions -**************************************/ - - -/*ROUNDED CORNER BOX - fluid layout compatible*/ -.rc_box{} - -.rc_box .top{height:8px;} - -.rc_box .top .left{float:left; height:8px; width:8px; background:url(images/rc_top_left.png) top left no-repeat;} - -.rc_box .top .mid{margin-left:8px; margin-right:8px; height:8px; background:url(images/rc_top_mid.png) top left repeat-x;} - -.rc_box .top .right{float:right; height:8px; width:8px; background:url(images/rc_top_right.png) top left no-repeat;} - - -.rc_box .mid{} - -.rc_box .mid .mid{padding:0px 20px 0px 10px; min-height:203px; background:#e6e6e6 url(images/rc_mid_mid.png) top left repeat-x; border-left:1px solid #a6b5c1; border-right:1px solid #a6b5c1;} - -.rc_box .icon{ - - width:35px; - float:left; - padding-top:3px; - - } - -.rc_box .box_content{ - - margin-left:35px; - - } - - -.rc_box .bottom{height:8px;} - -.rc_box .bottom .left{float:left; height:8px; width:8px; background:url(images/rc_bottom_left.png) top left no-repeat;} - -.rc_box .bottom .mid{margin-left:8px; margin-right:8px; height:8px; background:url(images/rc_bottom_mid.png) top left repeat-x;} - -.rc_box .bottom .right{float:right; height:8px; width:8px; background:url(images/rc_bottom_right.png) top left no-repeat;} - -/*Layout Bottom*/ -.layout_bottom{ padding:10px 0px 50px 0px; } - -/*Recent Projects*/ -.layout_bottom .rec_proj_container{ - - margin-left:50%; - - } - -.layout_bottom .rec_proj_container .rec_proj_box{ - - margin-left:10px; - - } - - - -/*Recent Sessions*/ -.layout_bottom .rec_sess_container{ - - width:50%; - float:left; - - } - -.layout_bottom .rec_sess_container .rec_sess_box{ - - margin-right:10px; - - } - -/*Restore Session Button inlusive CSS HOVER*/ -a.restore_session{ - - float:right; - display:block; - background-image:url(images/btn_restore_session.png); - width:137px; - height:27px; - - } - -a.restore_session:hover{ - - background-image:url(images/btn_restore_session_hover.png) - - }; - - diff --git a/src/plugins/coreplugin/html/recent_projects.html b/src/plugins/coreplugin/html/recent_projects.html deleted file mode 100644 index db1bab8bcff..00000000000 --- a/src/plugins/coreplugin/html/recent_projects.html +++ /dev/null @@ -1,41 +0,0 @@ -
    -
    - -
    -
    -
    -
    -
    - - -
    - -
    - -
    - -
    -
    -

    Recent Projects

    -
      - - -
    -
    - -
    - -
    - - -
    -
    -
    -
    -
    -
    -
    diff --git a/src/plugins/coreplugin/html/recent_sessions.html b/src/plugins/coreplugin/html/recent_sessions.html deleted file mode 100644 index d2f6f2a5967..00000000000 --- a/src/plugins/coreplugin/html/recent_sessions.html +++ /dev/null @@ -1,43 +0,0 @@ -
    diff --git a/src/plugins/coreplugin/html/welcome.html b/src/plugins/coreplugin/html/welcome.html deleted file mode 100644 index 0e5be285775..00000000000 --- a/src/plugins/coreplugin/html/welcome.html +++ /dev/null @@ -1,78 +0,0 @@ - - - - - Nokia, Qt Software - - - - - - - - -
    - - - - - -
    - -
    - -
    -

    Welcome

    -

    Qt Creator is an intuitive, modern cross platform IDE that enables - developers to create graphically appealing applications for desktop, - embedded, and mobile devices. Click on Getting Started to - begin developing with Qt Creator.

    -
    - -   -
    - -
    -
    -
    - - -
    - - - - - - -
    - -
    - - -
    - - - -
    - - - diff --git a/src/plugins/coreplugin/html/images/btn_feedback.png b/src/plugins/coreplugin/images/welcomemode/btn_feedback.png similarity index 100% rename from src/plugins/coreplugin/html/images/btn_feedback.png rename to src/plugins/coreplugin/images/welcomemode/btn_feedback.png diff --git a/src/plugins/coreplugin/html/images/btn_feedback_hover.png b/src/plugins/coreplugin/images/welcomemode/btn_feedback_hover.png similarity index 100% rename from src/plugins/coreplugin/html/images/btn_feedback_hover.png rename to src/plugins/coreplugin/images/welcomemode/btn_feedback_hover.png diff --git a/src/plugins/coreplugin/html/images/btn_getting_started.png b/src/plugins/coreplugin/images/welcomemode/btn_getting_started.png similarity index 100% rename from src/plugins/coreplugin/html/images/btn_getting_started.png rename to src/plugins/coreplugin/images/welcomemode/btn_getting_started.png diff --git a/src/plugins/coreplugin/html/images/btn_getting_started_hover.png b/src/plugins/coreplugin/images/welcomemode/btn_getting_started_hover.png similarity index 100% rename from src/plugins/coreplugin/html/images/btn_getting_started_hover.png rename to src/plugins/coreplugin/images/welcomemode/btn_getting_started_hover.png diff --git a/src/plugins/coreplugin/html/images/btn_restore_session.png b/src/plugins/coreplugin/images/welcomemode/btn_restore_session.png similarity index 100% rename from src/plugins/coreplugin/html/images/btn_restore_session.png rename to src/plugins/coreplugin/images/welcomemode/btn_restore_session.png diff --git a/src/plugins/coreplugin/html/images/btn_restore_session_hover.png b/src/plugins/coreplugin/images/welcomemode/btn_restore_session_hover.png similarity index 100% rename from src/plugins/coreplugin/html/images/btn_restore_session_hover.png rename to src/plugins/coreplugin/images/welcomemode/btn_restore_session_hover.png diff --git a/src/plugins/coreplugin/html/images/feedback-bar-background.png b/src/plugins/coreplugin/images/welcomemode/feedback-bar-background.png similarity index 100% rename from src/plugins/coreplugin/html/images/feedback-bar-background.png rename to src/plugins/coreplugin/images/welcomemode/feedback-bar-background.png diff --git a/src/plugins/coreplugin/html/images/feedback-text.png b/src/plugins/coreplugin/images/welcomemode/feedback-text.png similarity index 100% rename from src/plugins/coreplugin/html/images/feedback-text.png rename to src/plugins/coreplugin/images/welcomemode/feedback-text.png diff --git a/src/plugins/coreplugin/html/images/list_bullet_arrow.png b/src/plugins/coreplugin/images/welcomemode/list_bullet_arrow.png similarity index 100% rename from src/plugins/coreplugin/html/images/list_bullet_arrow.png rename to src/plugins/coreplugin/images/welcomemode/list_bullet_arrow.png diff --git a/src/plugins/coreplugin/html/images/mode_Project.png b/src/plugins/coreplugin/images/welcomemode/mode_project.png similarity index 100% rename from src/plugins/coreplugin/html/images/mode_Project.png rename to src/plugins/coreplugin/images/welcomemode/mode_project.png diff --git a/src/plugins/coreplugin/html/images/nokia_logo.png b/src/plugins/coreplugin/images/welcomemode/nokia_logo.png similarity index 100% rename from src/plugins/coreplugin/html/images/nokia_logo.png rename to src/plugins/coreplugin/images/welcomemode/nokia_logo.png diff --git a/src/plugins/coreplugin/html/images/product_logo.png b/src/plugins/coreplugin/images/welcomemode/product_logo.png similarity index 100% rename from src/plugins/coreplugin/html/images/product_logo.png rename to src/plugins/coreplugin/images/welcomemode/product_logo.png diff --git a/src/plugins/coreplugin/html/images/qt_logo.png b/src/plugins/coreplugin/images/welcomemode/qt_logo.png similarity index 100% rename from src/plugins/coreplugin/html/images/qt_logo.png rename to src/plugins/coreplugin/images/welcomemode/qt_logo.png diff --git a/src/plugins/coreplugin/images/welcomemode/rc_combined.png b/src/plugins/coreplugin/images/welcomemode/rc_combined.png new file mode 100644 index 0000000000000000000000000000000000000000..c395794ca3f353cfb6bf533b1594839f0d1cbf66 GIT binary patch literal 530 zcmeAS@N?(olHy`uVBq!ia0y~yV31&7V7Se}#=yW(&K>xOfq{XsILO_JVcj{ImkbOH zY)RhkE)4%caKYZ?lNlHoI14-?iy0WWg+Z8+Vb&aw0qiB7zOL*ySwuOc#KZhg^f53n zPV#hd45_&F_KvN$Q=-JNkFRZ>zxdcXNubkUX`7$3ONpb~^m&Q)`BjTyn1$+l{kTTAlmma!9>+ z%Om}@@)w`Qq$@8=*uHZ!KtPjb?deTy54itH?cZ;5M+qb-)$7L0z`(G8{{@J;G{xkp z7$XD2gk?)K85kH6kLxlqFevzX1~V`)T$*CS%D|xThQk`9@6oIsppb{^V_>kF=?CI7 zF#NFpaP`-}pBz<%`Ol|M{8A8IZOJdSqrOJhbJeYrcbxt%iupO`^QCtMXJohbcK))e z{QdjyyO(cs(*Hl%a5F1D5)@2@rSZ#ryo+k(_GzwM_U`nQukiu*XW3O)T>`}-gQu&X J%Q~loCIGN<){p=I literal 0 HcmV?d00001 diff --git a/src/plugins/coreplugin/welcomemode.cpp b/src/plugins/coreplugin/welcomemode.cpp index 6c56736f0a4..adf3e933f3d 100644 --- a/src/plugins/coreplugin/welcomemode.cpp +++ b/src/plugins/coreplugin/welcomemode.cpp @@ -32,83 +32,35 @@ #include "uniqueidmanager.h" #include "modemanager.h" -#if !defined(QT_NO_WEBKIT) -#include -#include -#include -#else -#include -#endif #include #include +#include #include -#include -#include +#include #include #include +#include "ui_welcomemode.h" + namespace Core { namespace Internal { -static QString readFile(const QString &name) -{ - QFile f(name); - if (!f.open(QIODevice::ReadOnly)) { - qWarning("Unable to open %s: %s", name.toUtf8().constData(), f.errorString().toUtf8().constData()); - return QString(); - } - QTextStream ts(&f); - return ts.readAll(); -} - struct WelcomeModePrivate { WelcomeModePrivate(); QWidget *m_widget; -#if !defined(QT_NO_WEBKIT) - QWebView *m_webview; -#else - QLabel *m_label; -#endif + QWidget *m_welcomePage; + Ui::welcomePage ui; WelcomeMode::WelcomePageData lastData; - - const QString m_htmlTemplate; - const QString m_sessionHtmlTemplate; - const QString m_projectHtmlTemplate; - const QUrl m_baseUrl; }; -WelcomeModePrivate::WelcomeModePrivate() : - m_widget(new QWidget), -#if !defined(QT_NO_WEBKIT) - m_webview(new QWebView), -#else - m_label(new QLabel), -#endif - m_htmlTemplate(readFile(QLatin1String(":/core/html/welcome.html"))), - m_sessionHtmlTemplate(readFile(QLatin1String(":/core/html/recent_sessions.html"))), - m_projectHtmlTemplate(readFile(QLatin1String(":/core/html/recent_projects.html"))), - m_baseUrl(QUrl(QLatin1String("qrc:/core/html/welcome.html"))) +WelcomeModePrivate::WelcomeModePrivate() { -#if !defined(QT_NO_WEBKIT) - m_webview->setContextMenuPolicy(Qt::NoContextMenu); -#endif } -#if defined(QT_NO_WEBKIT) - -const char LABEL[] = QT_TRANSLATE_NOOP("Core::Internal::WelcomeMode", - "
    " - "



    Welcome

    Qt Creator is an intuitive, modern cross platform IDE that enables " - "developers to create graphically appealing applications for desktop, " - "embedded, and mobile devices. " - "

    (This startup page lacks features due to disabled WebKit support)" - "

    "); - -#endif // --- WelcomePageData bool WelcomeMode::WelcomePageData::operator==(const WelcomePageData &rhs) const @@ -140,27 +92,25 @@ QDebug operator<<(QDebug dgb, const WelcomeMode::WelcomePageData &d) WelcomeMode::WelcomeMode() : m_d(new WelcomeModePrivate) { + m_d->m_widget = new QWidget; QVBoxLayout *l = new QVBoxLayout(m_d->m_widget); l->setMargin(0); l->setSpacing(0); l->addWidget(new QToolBar(m_d->m_widget)); -#if !defined(QT_NO_WEBKIT) - connect(m_d->m_webview, SIGNAL(linkClicked(QUrl)), this, SLOT(linkClicked(QUrl))); - WelcomePageData welcomePageData; - updateWelcomePage(welcomePageData); + m_d->m_welcomePage = new QWidget(m_d->m_widget); + m_d->ui.setupUi(m_d->m_welcomePage); + m_d->ui.sessTreeWidget->viewport()->setAutoFillBackground(false); + m_d->ui.projTreeWidget->viewport()->setAutoFillBackground(false); + l->addWidget(m_d->m_welcomePage); - l->addWidget(m_d->m_webview); - m_d->m_webview->setAcceptDrops(false); - m_d->m_webview->settings()->setAttribute(QWebSettings::PluginsEnabled, false); - m_d->m_webview->settings()->setAttribute(QWebSettings::JavaEnabled, false); + updateWelcomePage(WelcomePageData()); -#else - m_d->m_label->setWordWrap(true); - m_d->m_label->setAlignment(Qt::AlignCenter); - m_d->m_label->setText(tr(LABEL)); - l->addWidget(m_d->m_label); -#endif + connect(m_d->ui.gettingStartedButton, SIGNAL(clicked()), SIGNAL(requestHelp())); + connect(m_d->ui.feedbackButton, SIGNAL(clicked()), SLOT(slotFeedback())); + connect(m_d->ui.restoreSessionButton, SIGNAL(clicked()), SLOT(slotRestoreLastSession())); + connect(m_d->ui.sessTreeWidget, SIGNAL(activated(QString)), SLOT(slotSessionClicked(QString))); + connect(m_d->ui.projTreeWidget, SIGNAL(activated(QString)), SLOT(slotProjectClicked(QString))); } WelcomeMode::~WelcomeMode() @@ -202,78 +152,138 @@ QList WelcomeMode::context() const void WelcomeMode::updateWelcomePage(const WelcomePageData &welcomePageData) { -// should really only modify the DOM tree - -#if defined(QT_NO_WEBKIT) - Q_UNUSED(welcomePageData); -#else - // Update only if data are modified if (welcomePageData == m_d->lastData) return; m_d->lastData = welcomePageData; - QString html = m_d->m_htmlTemplate; - + m_d->m_widget->setUpdatesEnabled(false); if (!welcomePageData.previousSession.isEmpty() || !welcomePageData.projectList.isEmpty()) { - QString sessionHtml = m_d->m_sessionHtmlTemplate; - sessionHtml.replace(QLatin1String("LAST_SESSION"), welcomePageData.previousSession); + m_d->ui.sessTreeWidget->clear(); + m_d->ui.projTreeWidget->clear(); if (welcomePageData.sessionList.count() > 1) { - QString sessions; - foreach (QString s, welcomePageData.sessionList) { - QString last; + foreach (const QString &s, welcomePageData.sessionList) { + QString str = s; if (s == welcomePageData.previousSession) - last = tr(" (last session)"); - sessions += QString::fromLatin1("
  1. %2%3

  2. ").arg(s, s, last); + str = tr("%1 (last session)").arg(s); + m_d->ui.sessTreeWidget->addItem(str, s); } - sessionHtml.replace(QLatin1String(""), sessions); + m_d->ui.sessTreeWidget->updateGeometry(); + m_d->ui.sessTreeWidget->show(); + } else { + m_d->ui.sessTreeWidget->hide(); } - html.replace(QLatin1String(""), sessionHtml); - QString projectHtml = m_d->m_projectHtmlTemplate; - { - QString projects; - QTextStream str(&projects); - - QList >::const_iterator it, end; - end = welcomePageData.projectList.constEnd(); - for( it = welcomePageData.projectList.constBegin(); it != end; ++it) { - const QFileInfo fi((*it).first); - str << "
  3. " << (*it).second << "

  4. \n"; - } - projectHtml.replace(QLatin1String(""), projects); + typedef QPair QStringPair; + foreach (const QStringPair &it, welcomePageData.projectList) { + QTreeWidgetItem *item = m_d->ui.projTreeWidget->addItem(it.second, it.first); + const QFileInfo fi(it.first); + item->setToolTip(1, QDir::toNativeSeparators(fi.absolutePath())); } - html.replace(QLatin1String(""), projectHtml); + m_d->ui.projTreeWidget->updateGeometry(); + + m_d->ui.recentSessionsFrame->show(); + m_d->ui.recentProjectsFrame->show(); + } else { + m_d->ui.recentSessionsFrame->hide(); + m_d->ui.recentProjectsFrame->hide(); } - - m_d->m_webview->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks); - m_d->m_webview->setHtml(html, m_d->m_baseUrl); -#endif + m_d->m_widget->setUpdatesEnabled(true); } -void WelcomeMode::linkClicked(const QUrl &url) +void WelcomeMode::activateEditMode() { - QString scheme = url.scheme(); Core::ModeManager *modeManager = ModeManager::instance(); - if (scheme.startsWith(QLatin1String("gh"))) { - QString s = url.toString(QUrl::RemoveScheme); - if (scheme == QLatin1String("gh")) { - emit requestHelp(s); - } else if (scheme == QLatin1String("gh-project")) { - emit requestProject(s); - if (modeManager->currentMode() == this) - modeManager->activateMode(Core::Constants::MODE_EDIT); - } else if (scheme == QLatin1String("gh-session")) { - emit requestSession(s); - if (modeManager->currentMode() == this) - modeManager->activateMode(Core::Constants::MODE_EDIT); - } - } else { - QDesktopServices::openUrl(url); + if (modeManager->currentMode() == this) + modeManager->activateMode(Core::Constants::MODE_EDIT); +} + +void WelcomeMode::slotSessionClicked(const QString &data) +{ + emit requestSession(data); + activateEditMode(); +} + +void WelcomeMode::slotProjectClicked(const QString &data) +{ + emit requestProject(data); + activateEditMode(); +} + +void WelcomeMode::slotRestoreLastSession() +{ + emit requestSession(m_d->lastData.previousSession); + activateEditMode(); +} + +void WelcomeMode::slotFeedback() +{ + QDesktopServices::openUrl(QUrl(QLatin1String( + "http://www.qtsoftware.com/forms/feedback-forms/qt-creator-user-feedback/view"))); +} + +// --- WelcomeModeButton + +WelcomeModeButton::WelcomeModeButton(QWidget *parent) : + QLabel(parent), + m_isPressed(false) +{ + setCursor(QCursor(Qt::PointingHandCursor)); +} + +void WelcomeModeButton::mousePressEvent(QMouseEvent *event) +{ + if (event->button() == Qt::LeftButton) + m_isPressed = true; +} + +void WelcomeModeButton::mouseReleaseEvent(QMouseEvent *event) +{ + if (event->button() == Qt::LeftButton && m_isPressed) { + m_isPressed = false; + if (rect().contains(event->pos())) + emit clicked(); } } +// --- WelcomeModeTreeWidget + +WelcomeModeTreeWidget::WelcomeModeTreeWidget(QWidget *parent) : + QTreeWidget(parent), + m_bullet(QLatin1String(":/core/images/welcomemode/list_bullet_arrow.png")) +{ + connect(this, SIGNAL(itemClicked(QTreeWidgetItem *, int)), + SLOT(slotItemClicked(QTreeWidgetItem *))); +} + +QSize WelcomeModeTreeWidget::sizeHint() const +{ + return QSize(QTreeWidget::sizeHint().width(), 30 * topLevelItemCount()); +} + +QTreeWidgetItem *WelcomeModeTreeWidget::addItem(const QString &label, const QString &data) +{ + QTreeWidgetItem *item = new QTreeWidgetItem(this); + item->setIcon(0, m_bullet); + item->setSizeHint(0, QSize(24, 30)); + QWidget *lbl = new QLabel(label); + lbl->setCursor(QCursor(Qt::PointingHandCursor)); + lbl->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + QBoxLayout *lay = new QVBoxLayout; + lay->setContentsMargins(3, 2, 0, 0); + lay->addWidget(lbl); + QWidget *wdg = new QWidget; + wdg->setLayout(lay); + setItemWidget(item, 1, wdg); + item->setData(0, Qt::UserRole, data); + return item; +} + +void WelcomeModeTreeWidget::slotItemClicked(QTreeWidgetItem *item) +{ + emit activated(item->data(0, Qt::UserRole).toString()); +} + } // namespace Internal } // namespace Core diff --git a/src/plugins/coreplugin/welcomemode.h b/src/plugins/coreplugin/welcomemode.h index 5b4228b8b8b..52e009acca5 100644 --- a/src/plugins/coreplugin/welcomemode.h +++ b/src/plugins/coreplugin/welcomemode.h @@ -78,12 +78,17 @@ public: signals: void requestProject(const QString &project); void requestSession(const QString &session); - void requestHelp(const QString &help); + void requestHelp(); private slots: - void linkClicked(const QUrl &url); + void slotFeedback(); + void slotRestoreLastSession(); + void slotSessionClicked(const QString &data); + void slotProjectClicked(const QString &data); private: + void activateEditMode(); + WelcomeModePrivate *m_d; }; diff --git a/src/plugins/coreplugin/welcomemode.ui b/src/plugins/coreplugin/welcomemode.ui new file mode 100644 index 00000000000..41686e7fb85 --- /dev/null +++ b/src/plugins/coreplugin/welcomemode.ui @@ -0,0 +1,821 @@ + + + welcomePage + + + + 0 + 0 + 777 + 922 + + + + + 0 + + + 0 + + + + + #gradientWidget { +background-color: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0 rgba(247, 247, 247, 255), stop:1 rgba(215, 215, 215, 255)); +} + +*, * *, * * *, * * * *, * * * * * { +font-family: Arial, Trebuchet, Lucida, sans-serif; +font-size: 9pt; +color: #5e5e5e; +} + +#recentSessionsFrame, #recentProjectsFrame { +border-image: url(:/core/images/welcomemode/rc_combined.png) 8 8 8 8 stretch stretch; +border-width: 8 8 8 8; +} + + + + + 0 + + + 0 + + + + + 0 + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 50 + + + + + + + + 0 + + + + + + 0 + 0 + + + + + + + :/core/images/welcomemode/product_logo.png + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 20 + 20 + + + + + + + + + 0 + 0 + + + + + 360 + 0 + + + + <style> +h1 { + font-size: 2em; + font-weight: normal; + color: #4d4d4d; + margin-top: 0px; + margin-bottom: 20px; +} + +p { + margin-top: 0px; + margin-bottom: 7px; +} +</style> + +<p>&nbsp;</p> +<h1>Welcome</h1> +<!-- QTextDocument does not support line-height, so wrap the lines manually ... --> +<p>Qt Creator is an intuitive, modern cross platform IDE that</p> <p>enables developers to create graphically appealing applications</p> +<p>for desktop, embedded, and mobile devices. Click on <strong>Getting</strong></p> +<p><strong>Started</strong> to begin developing with Qt Creator.</p> +<hr style="margin-top:15px"/> + + + + true + + + + + + + + + + + Qt::Horizontal + + + + 1 + 1 + + + + + + + + + 133 + 29 + + + + * { + background-image: url(":/core/images/welcomemode/btn_getting_started.png"); +} + +*:hover { + background-image: url(:/core/images/welcomemode/btn_getting_started_hover.png) +} + + + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 1 + 50 + + + + + + + + 0 + + + + + + + + 0 + 0 + + + + + 270 + 130 + + + + + 270 + 16777215 + + + + #recentSessionsFrame { +border-image: url(:/core/images/welcomemode/rc_combined.png) 8 8 8 8 stretch stretch; +border-width: 8 8 8 8; +} + + + + + 4 + + + 4 + + + 12 + + + 2 + + + 11 + + + + + :/core/images/welcomemode/mode_project.png + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + <style> +h2 { + font-size: 18px; + font-weight: normal; + color: #7c92a1; + margin-bottom: 0px; +} +</style> + +<h2>Recent Sessions</h2> +<hr/> + + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + Qt::Horizontal + + + + 1 + 1 + + + + + + + + + 0 + 0 + + + + + 137 + 27 + + + + * { + background-image: url(":/core/images/welcomemode/btn_restore_session.png"); +} + +*:hover { + background-image: url(:/core/images/welcomemode/btn_restore_session_hover.png) +} + + + + + + + + + 0 + 0 + + + + Qt::NoFocus + + + QFrame::NoFrame + + + QAbstractItemView::NoSelection + + + QAbstractItemView::ScrollPerPixel + + + false + + + true + + + true + + + 2 + + + false + + + 24 + + + 0 + + + + 1 + + + + + 2 + + + + + + + + Qt::Vertical + + + + 5 + 1 + + + + + + + + + + + Qt::Vertical + + + + 100 + 0 + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::MinimumExpanding + + + + 20 + 10 + + + + + + + + + + + 0 + 0 + + + + + 270 + 16777215 + + + + + 4 + + + 4 + + + 12 + + + 2 + + + 11 + + + -1 + + + + + :/core/images/welcomemode/mode_project.png + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + <style> +h2 { + font-size: 18px; + font-weight: normal; + color: #7c92a1; + margin-bottom: 0px; +} +</style> + +<h2>Recent Projects</h2> +<hr/> + + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + 0 + 0 + + + + Qt::NoFocus + + + QFrame::NoFrame + + + QAbstractItemView::NoSelection + + + QAbstractItemView::ScrollPerPixel + + + false + + + true + + + true + + + 2 + + + false + + + 24 + + + 0 + + + + 1 + + + + + 2 + + + + + + + + + + + Qt::Vertical + + + + 100 + 0 + + + + + + + + + + + + + + Qt::Horizontal + + + + 1 + 10 + + + + + + + + Qt::Horizontal + + + + 1 + 10 + + + + + + + + QLayout::SetDefaultConstraint + + + 15 + + + 15 + + + 12 + + + 0 + + + + + + + + :/core/images/welcomemode/qt_logo.png + + + + + + + Qt::Horizontal + + + + 100 + 1 + + + + + + + + + + + :/core/images/welcomemode/nokia_logo.png + + + + + + + Qt::Vertical + + + QSizePolicy::Ignored + + + + 1 + 1 + + + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 100 + 12 + + + + + + + + + + + + 0 + 0 + + + + + 0 + 31 + + + + false + + + #bottomWidget { +background-image: url(:/core/images/welcomemode/feedback-bar-background.png); +} + + + + + 10 + + + 0 + + + 0 + + + 0 + + + 6 + + + 0 + + + + + + + + :/core/images/welcomemode/feedback-text.png + + + + + + + + 0 + 0 + + + + + 102 + 26 + + + + * { + background-image: url(":/core/images/welcomemode/btn_feedback.png"); +} + +*:hover { + background-image: url(:/core/images/welcomemode/btn_feedback_hover.png) +} + + + + + + + + Qt::Horizontal + + + + 1 + 1 + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 1 + 1 + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 1 + 0 + + + + + + + + + + + + Core::Internal::WelcomeModeButton + QLabel +
    welcomemode_p.h
    +
    + + Core::Internal::WelcomeModeTreeWidget + QTreeWidget +
    welcomemode_p.h
    +
    +
    + + + + +
    diff --git a/src/plugins/coreplugin/welcomemode_p.h b/src/plugins/coreplugin/welcomemode_p.h new file mode 100644 index 00000000000..ad8bcecab71 --- /dev/null +++ b/src/plugins/coreplugin/welcomemode_p.h @@ -0,0 +1,82 @@ +/************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: Qt Software Information (qt-info@nokia.com) +** +** Commercial Usage +** +** Licensees holding valid Qt Commercial licenses may use this file in +** accordance with the Qt Commercial License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Nokia. +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at qt-sales@nokia.com. +** +**************************************************************************/ + +#ifndef WELCOMEMODE_P_H +#define WELCOMEMODE_P_H + +#include +#include +#include + +namespace Core { +namespace Internal { + +class WelcomeModeButton : public QLabel +{ + Q_OBJECT + +public: + WelcomeModeButton(QWidget *parent = 0); + +signals: + void clicked(); + +protected: + virtual void mousePressEvent(QMouseEvent *event); + virtual void mouseReleaseEvent(QMouseEvent *event); + +private: + bool m_isPressed; +}; + +class WelcomeModeTreeWidget : public QTreeWidget +{ + Q_OBJECT + +public: + WelcomeModeTreeWidget(QWidget *parent = 0); + QTreeWidgetItem *addItem(const QString &label, const QString &data); + +signals: + void activated(const QString &data); + +protected: + virtual QSize sizeHint() const; + +private slots: + void slotItemClicked(QTreeWidgetItem *item); + +private: + QIcon m_bullet; +}; + +} +} + +#endif // WELCOMEMODE_P_H diff --git a/src/plugins/help/helpplugin.cpp b/src/plugins/help/helpplugin.cpp index 093eacdf442..9250e2ebd0a 100644 --- a/src/plugins/help/helpplugin.cpp +++ b/src/plugins/help/helpplugin.cpp @@ -68,6 +68,11 @@ #include #include +#ifndef QT_NO_WEBKIT +#include +#include +#endif + using namespace Help; using namespace Help::Internal; @@ -139,6 +144,13 @@ bool HelpPlugin::initialize(const QStringList &arguments, QString *error) qApp->installTranslator(qtr); } +#ifndef QT_NO_WEBKIT + QWebSettings *webSettings = QWebSettings::globalSettings(); + const QFont applicationFont = QApplication::font(); + webSettings->setFontFamily(QWebSettings::StandardFont, applicationFont.family()); + //webSettings->setFontSize(QWebSettings::DefaultFontSize, applicationFont.pointSize()); +#endif + // FIXME shouldn't the help engine create the directory if it doesn't exist? QFileInfo fi(m_core->settings()->fileName()); QDir directory(fi.absolutePath()+"/qtcreator"); @@ -510,7 +522,7 @@ void HelpPlugin::extensionsInitialized() m_bookmarkManager->setupBookmarkModels(); if (Core::Internal::WelcomeMode *welcomeMode = qobject_cast(m_core->modeManager()->mode(Core::Constants::MODE_WELCOME))) { - connect(welcomeMode, SIGNAL(requestHelp(QString)), this, SLOT(openGettingStarted())); + connect(welcomeMode, SIGNAL(requestHelp()), this, SLOT(openGettingStarted())); } }