From 6bfefea5cb9024ff6c2fbad328273662f40bd156 Mon Sep 17 00:00:00 2001 From: James Allen Date: Tue, 12 Aug 2014 13:18:22 +0100 Subject: [PATCH] Show PDF button in toolbar if file tree is closed in PDF flat view --- .../web/app/views/project/editor/file-tree.jade | 5 +++-- .../web/app/views/project/editor/header.jade | 11 +++++++++++ .../web/public/coffee/ide/pdf/PdfManager.coffee | 1 + .../controllers/PdfViewToggleController.coffee | 17 +++++++++++++++++ .../stylesheets/app/editor/file-tree.less | 2 +- .../web/public/stylesheets/app/editor/pdf.less | 14 -------------- .../public/stylesheets/app/editor/toolbar.less | 16 ++++++++++++++-- 7 files changed, 47 insertions(+), 19 deletions(-) create mode 100644 services/web/public/coffee/ide/pdf/controllers/PdfViewToggleController.coffee diff --git a/services/web/app/views/project/editor/file-tree.jade b/services/web/app/views/project/editor/file-tree.jade index 420b4bc121..f5f4b8a9d6 100644 --- a/services/web/app/views/project/editor/file-tree.jade +++ b/services/web/app/views/project/editor/file-tree.jade @@ -46,14 +46,15 @@ aside#file-tree(ng-controller="FileTreeController").full-size ng-class="{ 'no-toolbar': !permissions.write }" ) - div(ng-show="ui.pdfLayout == 'flat' && (ui.view == 'editor' || ui.view == 'pdf')") + div(ng-show="ui.pdfLayout == 'flat' && (ui.view == 'editor' || ui.view == 'pdf' || ui.view == 'file')") ul.list-unstyled.file-tree-list li( ng-class="{ 'selected': ui.view == 'pdf' }" + ng-controller="PdfViewToggleController" ) .entity .entity-name( - ng-click="ui.view = 'pdf'" + ng-click="togglePdfView()" ) i.fa.fa-fw.toggle i.fa.fa-fw.fa-file-pdf-o diff --git a/services/web/app/views/project/editor/header.jade b/services/web/app/views/project/editor/header.jade index a119c561db..865432b7b9 100644 --- a/services/web/app/views/project/editor/header.jade +++ b/services/web/app/views/project/editor/header.jade @@ -14,6 +14,17 @@ header.toolbar.toolbar-header(ng-cloak, ng-hide="state.loading") tooltip-append-to-body="true" ) i.fa.fa-fw.fa-level-up + span(ng-controller="PdfViewToggleController") + a( + href, + ng-show="ui.pdfLayout == 'flat' && fileTreeClosed", + tooltip="PDF", + tooltip-placement="bottom", + tooltip-append-to-body="true", + ng-click="togglePdfView()", + ng-class="{ 'active': ui.view == 'pdf' }" + ) + i.fa.fa-file-pdf-o .toolbar-center.project-name(ng-controller="ProjectNameController") span.name( diff --git a/services/web/public/coffee/ide/pdf/PdfManager.coffee b/services/web/public/coffee/ide/pdf/PdfManager.coffee index 47ac42a1b6..f53d649e97 100644 --- a/services/web/public/coffee/ide/pdf/PdfManager.coffee +++ b/services/web/public/coffee/ide/pdf/PdfManager.coffee @@ -1,5 +1,6 @@ define [ "ide/pdf/controllers/PdfController" + "ide/pdf/controllers/PdfViewToggleController" "ide/pdf/directives/pdfJs" ], () -> class PdfManager diff --git a/services/web/public/coffee/ide/pdf/controllers/PdfViewToggleController.coffee b/services/web/public/coffee/ide/pdf/controllers/PdfViewToggleController.coffee new file mode 100644 index 0000000000..156d46dd3e --- /dev/null +++ b/services/web/public/coffee/ide/pdf/controllers/PdfViewToggleController.coffee @@ -0,0 +1,17 @@ +define [ + "base" +], (App) -> + App.controller "PdfViewToggleController", ($scope) -> + $scope.togglePdfView = () -> + if $scope.ui.view == "pdf" + $scope.ui.view = "editor" + else + $scope.ui.view = "pdf" + + $scope.fileTreeClosed = false + $scope.$on "layout:main:resize", (e, state) -> + if state.west.initClosed + $scope.fileTreeClosed = true + else + $scope.fileTreeClosed = false + $scope.$apply() \ No newline at end of file diff --git a/services/web/public/stylesheets/app/editor/file-tree.less b/services/web/public/stylesheets/app/editor/file-tree.less index 7e2a3117fa..0356c873f3 100644 --- a/services/web/public/stylesheets/app/editor/file-tree.less +++ b/services/web/public/stylesheets/app/editor/file-tree.less @@ -72,7 +72,7 @@ aside#file-tree { color: @link-color; border-right: 4px solid @link-color; font-weight: bold; - i.fa-folder-open, i.fa-folder, i.fa-file, i.fa-image { + i.fa-folder-open, i.fa-folder, i.fa-file, i.fa-image, i.fa-file-pdf-o { color: @link-color; } padding-right: 32px; diff --git a/services/web/public/stylesheets/app/editor/pdf.less b/services/web/public/stylesheets/app/editor/pdf.less index 17c176305a..8b7bacb047 100644 --- a/services/web/public/stylesheets/app/editor/pdf.less +++ b/services/web/public/stylesheets/app/editor/pdf.less @@ -74,20 +74,6 @@ } .pdf .toolbar { - .log-btn { - &.active, &:active { - .label { - display: none; - } - color: white; - background-color: @link-color; - .box-shadow(inset 0 3px 5px rgba(0, 0, 0, 0.225)); - &:hover { - color: white; - } - } - } - .toolbar-right { margin-right: @line-height-computed / 2; a { diff --git a/services/web/public/stylesheets/app/editor/toolbar.less b/services/web/public/stylesheets/app/editor/toolbar.less index 2b63b41a10..30bc95aaaa 100644 --- a/services/web/public/stylesheets/app/editor/toolbar.less +++ b/services/web/public/stylesheets/app/editor/toolbar.less @@ -16,14 +16,25 @@ a:not(.btn) { display: inline-block; color: @gray-light; - padding: 5px 12px 6px; - margin: 0; + padding: 4px 10px 5px; + margin: 1px 2px; border-radius: @border-radius-small; &:hover { text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); color: @gray-dark; text-decoration: none; } + &.active, &:active { + .label { + display: none; + } + color: white; + background-color: @link-color; + .box-shadow(inset 0 3px 5px rgba(0, 0, 0, 0.225)); + &:hover { + color: white; + } + } } .btn-full-height { @@ -81,6 +92,7 @@ height: 32px; a { padding: 4px 2px 2px; + margin: 0; margin-left: 6px; } .toolbar-right {