summaryrefslogtreecommitdiffstats
path: root/chrome/views/table_view.cc
Commit message (Collapse)AuthorAgeFilesLines
* ===================================================xji@chromium.org2009-01-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change list fixes the following 2 chrome bugs: 2821 RTL: Ellipsis appeared at right for RTL locales on "Task Manager - Google Chrome" dialog (http://crbug.com/2821) 6132: Strings in tables are displayed LTR when they should be RTL (http://crbug.com/6132) =================================================== Background: The above 2 bugs are related to Chrome task manager. Task manager is a TableView, which is a subclass of NativeControl. Currently, TableView window is created by using WS_EX_LAYOUTRTL | WS_EX_RTLREADING flag, which is wrong. WS_EX_LAYOUTRTL | WS_EX_RTLREADING renders a RTL alignment but LTR reading order. Please see the following blog for detail: http://blogs.msdn.com/michkap/archive/2007/03/11/1857043.aspx We need to replace the above flag with WS_EX_LAYOUTRTL only. Consequently, we need to make sure that the various implementations of TableModel::GetText adjust the returned text appropriately if need be. For example, if the text in an URL, then the returned text should be explicitly marked as LTR text. Please note: there are several other places where we create RTL window using WS_EX_LAYOUTRTL | WS_EX_RTLREADING flag, such as AutoCompleteEditView (omnibox), MenuHostWindow, TextField (for example, text in bookmark dialog), and other NativeControl (including checkbox, combobox, native_button, radio_button, separator, tabbed_pane, and tree view). They all need to be fixed. And the following bug is filed for tracking. http://crbug.com/6573 =================================================== The fix is based on Idan's comments on bug 6132 1.create the table view with WS_EX_LAYOUTRTL (rather than WS_EX_LAYOUTRTL | WS_EX_RTLREADING) 2 Make sure that the various implementations of TableModel::GetText adjust the returned text appropriately if need be. If the text in an URL, then the returned text is explicitly marked as LTR text. Otherwise, the returned text is marked with LTR if it is RTL environment and there is no strong RTL character in the text. This is to avoid the wrong placement of (or wrong mirrored) ending-punctuation. =================================================== Since we have quite a few places creating window using WS_EX_LAYOUTRTL | WS_EX_RTLREADING style. We decided to migrate to the right style step to step. This is the first step, and there is unnecessary function introduced by this change list. 1. I am using l10n_util::GetExtendedTooltipStyles() for the right style for now. And I marked a TODO there to obsolete this function name, replace with GetExtendedStyles eventually. (the l10n_util.h is no longer in the change list since I've checked it in with another CL). 2. I introduced native_control::GetAdditionalRTLStyle() which should replace GetAdditionalExStyle() eventually. =================================================== When wrapping text with LTR format in GetText(), ideally, we should parse the text to check whether this is a n URL or not (for example, a webpage title could be an URL, or user could add URL as search engine's name or keyword). I did not do that and only added a TODO there because I think that might be rare case and parsing the text might cause performance degradation. Review URL: http://codereview.chromium.org/18076 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8593 0039d316-1c4b-4281-b951-d872f2087c98
* Move skia_utils into the skia namespace.brettw@google.com2008-12-121-3/+3
| | | | | | Review URL: http://codereview.chromium.org/14079 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6948 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes a handful of related bookmark manager bugs/requests:sky@google.com2008-12-111-2/+3
| | | | | | | | | | | | | | | . Adds a search field before the text field. . When the search node is selected and there are no results or no search text, a descriptive label is drawn on top of the table telling the user what's happening. . In the bookmark menus Edit... is now Rename... for folders. BUG=5272 5319 5273 4165 TEST=see individual bugs Review URL: http://codereview.chromium.org/13724 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6777 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes bug where context menu for table/tree in rtl was showing up onsky@google.com2008-12-101-0/+2
| | | | | | | | | | | the wrong side. BUG=5067 TEST=see bug Review URL: http://codereview.chromium.org/13353 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6734 0039d316-1c4b-4281-b951-d872f2087c98
* Move base/gfx/skia_util to skia/ext/skia_util_win.brettw@google.com2008-12-031-1/+1
| | | | | | | In a later pass, I will separate off the cross-platform part of this file into skia/ext/skia_util (only one function). Review URL: http://codereview.chromium.org/13101 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6306 0039d316-1c4b-4281-b951-d872f2087c98
* Revert my skia file moves because of layout test failures.brettw@google.com2008-12-031-4/+4
| | | | | | Review URL: http://codereview.chromium.org/12892 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6266 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes context menu behavior of table view. In particular when runningsky@google.com2008-12-021-15/+43
| | | | | | | | | | | | | | in an RTL locale and right clicking on the icon some times the scrollbar context menu would appear. I've fixed it by subclassing the context menu handling and getting the location from the position of the mouse. BUG=4752 TEST=see bug, but also make sure this doesn't regress 4750 Review URL: http://codereview.chromium.org/13055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6252 0039d316-1c4b-4281-b951-d872f2087c98
* Move convolver, image_operations, and skia_utils from base/gfx to skia/ext.brettw@google.com2008-12-021-4/+4
| | | | | | | | | | | This changes the namespace in those files from "gfx" to "skia". I split skia_utils into two parts, the Windows specific part is now in a separate file called skia_utils_win. There were several obsolete includes of these headers which I removed. I also removed img_resize_perftest which isn't used and has bitrotted. Review URL: http://codereview.chromium.org/12842 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6248 0039d316-1c4b-4281-b951-d872f2087c98
* Changes table_view to get position for context menu from the currentsky@google.com2008-11-251-0/+15
| | | | | | | | | | | | | | position of the mose. I've no idea why, but it seems when RTL the position passed to OnContextMenu is wrong in weird inconsistent ways. I thought it was interted, but that isn't always the case. I'm also changing the anchor position to top_right when RTL. BUG=4750 TEST=see bug Review URL: http://codereview.chromium.org/12447 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5996 0039d316-1c4b-4281-b951-d872f2087c98
* Rename Container->Widgetben@chromium.org2008-11-211-2/+1
| | | | | | | | | R=erg review url = http://codereview.chromium.org/11348/show git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5849 0039d316-1c4b-4281-b951-d872f2087c98
* Changes TableView to have its own mouse handling code so that we cansky@google.com2008-11-121-4/+150
| | | | | | | | | | | start a drag when user clicks anywhere on a row. BUG=4306 TEST=thoroughly test drag and drop of bookmark manager table. Review URL: http://codereview.chromium.org/9776 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5233 0039d316-1c4b-4281-b951-d872f2087c98
* Changes tree/table to pass in an appropriate location when the contextsky@google.com2008-11-101-0/+18
| | | | | | | | | | | | | menu is invoked from the keyboard. BUG=4029 TEST=In the bookmark manager bring up the context menu of the tree/table via the menu key and make sure the menu appears at a reasonable location. Review URL: http://codereview.chromium.org/10256 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5125 0039d316-1c4b-4281-b951-d872f2087c98
* First cut at the bookmark manager. There are still a fair number ofsky@google.com2008-10-291-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | rough edges, but I'm at a good point where I want to land what I have. Here's what is left: . Flicker on show, likely the result of restoring window placement. . tree flickers when dragging splitter. . table/tree need to autoscroll when drop cursor held at bottom of view. . prompts for deleting. . When you move an item the table snaps to the top, this is because I'm sending out model changed. need a better notification. . Operations in menu to add need to change selection. . Remember split location. I would have preferred to split this up into a couple of reviews, but everything is intertwined now. Sorry. BUG=674 TEST=don't test the bookmark manager yet, but make sure bookmark bar still works. Review URL: http://codereview.chromium.org/8197 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4191 0039d316-1c4b-4281-b951-d872f2087c98
* Handful of changes to NativeControl, TreeView and TableView I'm goingsky@google.com2008-10-241-12/+57
| | | | | | | | | | | | | | | | | | | | to need for the bookmark manager. Specifically: . NativeController now delegates OnContextMenu to the ContextMenuController. . TableView allows a NULL model. . TableView::SetColumns was buggy. . Added a method that TableView invokes after painting. . Added methods to TreeView for getting various state information. BUG=674 TEST=make sure the various places in the UI we uses trees and table work fine: cookies table, passwords table, task manager, bookmark editor, search engines. Review URL: http://codereview.chromium.org/8145 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3956 0039d316-1c4b-4281-b951-d872f2087c98
* Rename ChromeViews namespace to viewsben@chromium.org2008-10-161-3/+3
| | | | | | http://crbug.com/2188 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3495 0039d316-1c4b-4281-b951-d872f2087c98
* Make View::SetBounds take a const gfx::Rect& instead of a const CRect&ben@chromium.org2008-10-161-8/+7
| | | | | | | | | | Make View::DidChangeBounds call Layout by default, eliminating this function from most places. http://crbug.com/2186 Review URL: http://codereview.chromium.org/7429 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3471 0039d316-1c4b-4281-b951-d872f2087c98
* Rename ViewContainer to Container and HWNDViewContainer to ContainerWin.ben@chromium.org2008-10-161-1/+1
| | | | | | | http://crbug.com/3430 Review URL: http://codereview.chromium.org/7376 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3441 0039d316-1c4b-4281-b951-d872f2087c98
* Convert GetPreferredSize from:beng@google.com2008-10-151-7/+2
| | | | | | | | | | | | | | | | | void GetPreferredSize(CSize* out); to: gfx::Size GetPreferredSize(); .. and update some other places to use gfx::Size as well. http://crbug.com/2186 Review URL: http://codereview.chromium.org/7344 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3400 0039d316-1c4b-4281-b951-d872f2087c98
* Enables sorting of the tables in the password editor and the URLsky@google.com2008-10-081-11/+13
| | | | | | | | | | | | picker dialog. BUG=2949 TEST=Try sorting in the password manager dialog table as well as when adding a URL to the list of URLs to open on startup. Review URL: http://codereview.chromium.org/6053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3010 0039d316-1c4b-4281-b951-d872f2087c98
* Adds the ability to sort TableView. Contrary to what we spoke aboutsky@google.com2008-09-261-108/+388
| | | | | | | | | | | | | | | | | | | | | | | the other day I ended up doing the sorting in tableview. This makes it a heck of lot easier than having every model have to deal with it. As part of this I removed the optional non-caching logic from TableView, which was never used. Sadly though, this means there are coordinate transformations. I've only enabled sorting in the keyword editor, I have to make sure all the other places that use TableView can deal with it. For example, task manager can't deal with it currently as it expects the getters to be called only once where as when sorting they may be called multiple times. BUG=2790 TEST=This enables sorting ONLY in the keyword editor. Make sure there aren't any problems in adding/removing/changing entries in the keyword editor after this. Review URL: http://codereview.chromium.org/4276 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2631 0039d316-1c4b-4281-b951-d872f2087c98
* Rename legacy methods that were in CamelCase to unix_hacker.erg@google.com2008-09-171-2/+2
| | | | | | | | | Required going through and modifying some of the code to solve name clashes. Review URL: http://codereview.chromium.org/2945 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2337 0039d316-1c4b-4281-b951-d872f2087c98
* Double clicking on an item in the task manager should bring the relevant tab ↵petersont@google.com2008-09-101-1/+7
| | | | | | | | forward. Review URL: http://codereview.chromium.org/1822 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2026 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes bug in TableView where by we return nothing as selected whensky@google.com2008-09-091-28/+15
| | | | | | | | | | | there was a selection. This appears to be a bug in Vista. I've worked around it by iterating over the elements. BUG=1499 TEST=See my steps in bug. Test on both XP and Vista. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1915 0039d316-1c4b-4281-b951-d872f2087c98
* Makes our tables (task manager, keywords ...) not flicker whensky@google.com2008-08-241-1/+28
| | | | | | | | | | | resizing by doing nothing when we get erase background. BUG=804753 TEST=make sure you don't get any painting artifacts in the task manager and keyword editor. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1292 0039d316-1c4b-4281-b951-d872f2087c98
* Use a more compact license header in source files.license.bot2008-08-241-28/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1287 0039d316-1c4b-4281-b951-d872f2087c98
* Add chrome to the repository.initial.commit2008-07-261-0/+1025
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15 0039d316-1c4b-4281-b951-d872f2087c98