Changeset 141260 in webkit


Ignore:
Timestamp:
Jan 30, 2013 6:03:32 AM (11 years ago)
Author:
pfeldman@chromium.org
Message:

Web Inspector: beautify file selector dialog to render as two rows
https://bugs.webkit.org/show_bug.cgi?id=108335

Reviewed by Vsevolod Vlasov.

Go-to-file is now rendered in two rows.

  • inspector/front-end/FilteredItemSelectionDialog.js:

(WebInspector.FilteredItemSelectionDialog):
(WebInspector.FilteredItemSelectionDialog.prototype.focus):
(WebInspector.FilteredItemSelectionDialog.prototype.renderAsTwoRows):
(WebInspector.FilteredItemSelectionDialog.prototype._createItemElement):
(WebInspector.OpenResourceDialog.show):

  • inspector/front-end/ViewportControl.js:

(WebInspector.ViewportControl):
(WebInspector.ViewportControl.prototype.refresh):

  • inspector/front-end/filteredItemSelectionDialog.css:

(.filtered-item-list-dialog > input):
(.filtered-item-list-dialog > div.progress):
(.filtered-item-list-dialog > div.container):
(.filtered-item-list-dialog-item):
(.filtered-item-list-dialog-subtitle):
(.filtered-item-list-dialog-item.one-row .filtered-item-list-dialog-subtitle):
(.filtered-item-list-dialog-item.two-rows):
(.filtered-item-list-dialog-item.selected):
(.filtered-item-list-dialog-item span.highlight):

Location:
trunk/Source/WebCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r141258 r141260  
     12013-01-30  Pavel Feldman  <pfeldman@chromium.org>
     2
     3        Web Inspector: beautify file selector dialog to render as two rows
     4        https://bugs.webkit.org/show_bug.cgi?id=108335
     5
     6        Reviewed by Vsevolod Vlasov.
     7
     8        Go-to-file is now rendered in two rows.
     9
     10        * inspector/front-end/FilteredItemSelectionDialog.js:
     11        (WebInspector.FilteredItemSelectionDialog):
     12        (WebInspector.FilteredItemSelectionDialog.prototype.focus):
     13        (WebInspector.FilteredItemSelectionDialog.prototype.renderAsTwoRows):
     14        (WebInspector.FilteredItemSelectionDialog.prototype._createItemElement):
     15        (WebInspector.OpenResourceDialog.show):
     16        * inspector/front-end/ViewportControl.js:
     17        (WebInspector.ViewportControl):
     18        (WebInspector.ViewportControl.prototype.refresh):
     19        * inspector/front-end/filteredItemSelectionDialog.css:
     20        (.filtered-item-list-dialog > input):
     21        (.filtered-item-list-dialog > div.progress):
     22        (.filtered-item-list-dialog > div.container):
     23        (.filtered-item-list-dialog-item):
     24        (.filtered-item-list-dialog-subtitle):
     25        (.filtered-item-list-dialog-item.one-row .filtered-item-list-dialog-subtitle):
     26        (.filtered-item-list-dialog-item.two-rows):
     27        (.filtered-item-list-dialog-item.selected):
     28        (.filtered-item-list-dialog-item span.highlight):
     29
    1302013-01-30  Pavel Feldman  <pfeldman@chromium.org>
    231
  • trunk/Source/WebCore/inspector/front-end/FilteredItemSelectionDialog.js

    r141258 r141260  
    4444
    4545    this.element = document.createElement("div");
    46     this.element.className = "js-outline-dialog";
     46    this.element.className = "filtered-item-list-dialog";
    4747    this.element.addEventListener("keydown", this._onKeyDown.bind(this), false);
    4848    var styleElement = this.element.createChild("style");
     
    9494    {
    9595        WebInspector.setCurrentFocusElement(this._promptElement);
    96         if (this._filteredItems.length && !this._viewportControl.lastVisibleIndex())
     96        if (this._filteredItems.length && this._viewportControl.lastVisibleIndex() === -1)
    9797            this._viewportControl.refresh();
    9898    },
     
    105105        if (this._filterTimer)
    106106            clearTimeout(this._filterTimer);
     107    },
     108
     109    renderAsTwoRows: function()
     110    {
     111        this._renderAsTwoRows = true;
    107112    },
    108113
     
    140145    {
    141146        var itemElement = document.createElement("div");
    142         itemElement.className = "item";
     147        itemElement.className = "filtered-item-list-dialog-item " + (this._renderAsTwoRows ? "two-rows" : "one-row");
    143148        itemElement._titleElement = itemElement.createChild("span");
    144149        itemElement._titleElement.textContent = this._delegate.itemTitleAt(index);
    145150        itemElement._titleSuffixElement = itemElement.createChild("span");
    146151        itemElement._titleSuffixElement.textContent = this._delegate.itemSuffixAt(index);
    147         itemElement._subtitleElement = itemElement.createChild("span", "subtitle");
     152        itemElement._subtitleElement = itemElement.createChild("div", "filtered-item-list-dialog-subtitle");
    148153        itemElement._subtitleElement.textContent = this._delegate.itemSubtitleAt(index);
    149154        itemElement._index = index;
     
    638643
    639644    var filteredItemSelectionDialog = new WebInspector.FilteredItemSelectionDialog(new WebInspector.OpenResourceDialog(panel));
     645    filteredItemSelectionDialog.renderAsTwoRows();
    640646    WebInspector.Dialog.show(relativeToElement, filteredItemSelectionDialog);
    641647}
  • trunk/Source/WebCore/inspector/front-end/ViewportControl.js

    r141258 r141260  
    4545    this.element.addEventListener("scroll", this._onScroll.bind(this), false);
    4646    this._firstVisibleIndex = 0;
    47     this._lastVisibleIndex = 0;
     47    this._lastVisibleIndex = -1;
    4848}
    4949
     
    7979    refresh: function()
    8080    {
     81        if (!this.element.clientHeight)
     82            return;  // Do nothing for invisible controls.
     83
    8184        var itemCount = this._provider.itemCount();
    8285
     
    9093
    9194        this._firstVisibleIndex = Math.floor(visibleFrom / this._rowHeight);
    92         this._lastVisibleIndex = Math.max(0, Math.min(Math.ceil(visibleTo / this._rowHeight), itemCount) - 1);
     95        this._lastVisibleIndex = Math.min(Math.ceil(visibleTo / this._rowHeight), itemCount) - 1;
    9396        this._topGapElement.style.height = (this._rowHeight * this._firstVisibleIndex) + "px";
    9497        this._bottomGapElement.style.height = (this._rowHeight * (itemCount - this._lastVisibleIndex - 1)) + "px";
  • trunk/Source/WebCore/inspector/front-end/filteredItemSelectionDialog.css

    r141258 r141260  
    1 .js-outline-dialog > input {
     1.filtered-item-list-dialog > input {
    22    font-size: 11px;
    33    width: 100%;
     
    55}
    66
    7 .js-outline-dialog > div.progress {
     7.filtered-item-list-dialog > div.progress {
    88    position: absolute;
    99    top: 35px;
     
    1313}
    1414
    15 .js-outline-dialog > div.container {
     15.filtered-item-list-dialog > div.container {
    1616    position: absolute;
    1717    top: 38px;
     
    2424}
    2525
    26 .js-outline-dialog > .container > div.item {
     26.filtered-item-list-dialog-item {
    2727    padding: 2px;
    2828    white-space: nowrap;
     
    3232}
    3333
    34 .js-outline-dialog span.subtitle {
     34.filtered-item-list-dialog-subtitle {
    3535    color: rgb(155, 155, 155);
    36     padding-right: 2px;
     36}
     37
     38.filtered-item-list-dialog-item.one-row .filtered-item-list-dialog-subtitle {
    3739    float: right;
    3840}
    3941
    40 .js-outline-dialog .container div.item.selected {
     42.filtered-item-list-dialog-item.two-rows {
     43    border-bottom: 1px solid rgb(235, 235, 235);
     44}
     45
     46.filtered-item-list-dialog-item.selected {
    4147    background-color: rgb(224, 224, 224);
    4248}
    4349
    44 .js-outline-dialog .container div.item span.highlight {
     50.filtered-item-list-dialog-item span.highlight {
    4551    color: black;
    4652    font-weight: bold;
Note: See TracChangeset for help on using the changeset viewer.