OtterBrowser / otter-browser

Otter Browser aims to recreate the best aspects of the classic Opera (12.x) UI using Qt5
https://otter-browser.org
GNU General Public License v3.0
1.79k stars 271 forks source link

Bookmarks Manager - Improvements #297

Open ghost opened 10 years ago

ghost commented 10 years ago

Regarding Bookmarks Manager 1- Sort bookmarks through Drag & Drop, just like in Opera. 2- Delete bookmarks using Delete Key (not working). 3- Select multiple bookmarks (not working)

There might be some other things, which right now do not come to mind...

Emdek commented 10 years ago
  1. Planned from beginning. ;-)
  2. Sure, it should be done for better consistency with other views.
  3. That one is more tricky, but for sure would be useful.
lollox commented 10 years ago
  1. Dual pane/tree view
  2. Sort by [A-Z or Z-A; names, URLs, etc..., personal order] <- Permanet
  3. View by [A-Z or Z-A; names, URLs, etc..., personal order] <- Shows only
Emdek commented 10 years ago

@lollox, could you please elaborate more on that "Dual pane/tree view"? Sorting is easy to do, question is, how it should be done to allow to both make it permanent or temporary?

lollox commented 10 years ago

Dual pane/tree view: http://i.imgur.com/FCWtsxK.jpg

For sort/view: I've always found this Opera feature very interesting since in other browsers I've seen that if you change the order of bookmarks, than you can't turn back anymore (but sometimes you need to view them in a certain order only for that time) ... if this can be done or not with QT5 I really don't know

Emdek commented 10 years ago

@lollox, ah, this one. Well, I would prefer to keep it similar in all views (including cookies, history and transfers), so I can't guarantee that it will be changed.

In case of sorting it's of course doable, the problem is how to distinguish these actions in user interface, for example adding some button to apply (make permanent) after sorting them by clicking on header etc.

lollox commented 10 years ago

About the dual pane view, In Opera you can simply choose what you prefer: http://i.imgur.com/skBsJYR.jpg

About the second one... The best way to me is to copy again from Opera: the bookmarks database (in Opera's case a text file) always stores every entry by the "Personal order" and what you choose form the GUI (names, URL, etc) is how them are showed but without changing nothing in the database (indeed in Opera you can choose the view "personal order").

Then we could even support a secondary command to permanently change the order using one the above schemas

However this is only an idea not very important, but a goodie :) .... much more important to me is instead the first point ;)

Emdek commented 10 years ago

@lollox, well, that could be considered later, however I don't see advantages in this mode. I like that "personal order" proposal, however it might be harder to implement it properly, as usually you should sort by clicking column header, so we would need additional column for that purpose.

ghost commented 9 years ago

Cannot move bookmarks to another folder. Sorting bookmarks in any way doesn't work. All bookmarks are static. No chance to sort.

VSHY commented 8 years ago

In build 94 I see new small bugs:

  1. If one drag&drop bookmark folder, it will be cloned.
  2. Add separator:
    • If to set cursor on the bookmark and to click "Add separator", new separator will be created below of all bookmarks, but not after current.
    • If to set cursor on the bookmark folder and to click "Add separator", new separator will be created inside the current folder (expected after the current folder).
ghost commented 8 years ago

Being unable to manage bookmarks (and passwords) prevent me using (the otherwise brilliant) otter-browser.

  1. I've got a bookmark folder in Bookmarks Bar with a few bookmarks and when I just click on that bookmark folder (and release the mouse button, i.e. without keeping the mouse button pressed), a small dropdown window of my bookmarks in that folder opens in one column and stays opened not requiring to keep the mouse button pressed and I choose and click the bookmark I want to open/load. No issue here. But when I click on another bookmark folder with lots of bookmarks, a big dropdown window of my bookmarks in that folder opens in several columns and immediately closes and contrary to my intention loads an arbitrary bookmark (possibly the one the cursor is on) though I haven't chosen and clicked on that bookmark. That is, I can't choose and click on a bookmark I want to open/load.
  2. That multi-column dropdown or side windows of bookmarks is another issue in itself. I'm looking for a bookmark and I browse my bookmarks folders either in Bookmarks Bar or in Bookmarks Menu. Now I'm in Bookmark Menu and in the first bookmark folder. A small side window opens showing a few numbers of bookmarks in one column. I look at the bookmarks there. No, the one I need is not there. No issue up to that point. But I need to go to the second bookmark folder to look for that bookmark and this time a big side window opens showing bookmarks in multi-columns. No, the bookmark is not there. I need to continue to the third bookmark folder, but I can't. I have to click outside of that big multi-column window to get rid of it and have to start all over again. Besides, such big dropdown windows sometime covering the whole screen is annoying in itself as well.
  3. "Add bookmark here" feature is badly needed at the top of the bookmark folders.
  4. As mentioned above, the ability to delete (right click -> delete) a bookmark is badly needed.
  5. As mentioned above, sorting by drag and drop is needed.
  6. As for the sort order, at the very least, there should be an option to put the latest added bookmark to the top instead of the bottom.
VSHY commented 8 years ago

@AcarBurak

  1. That should be optional.
ghost commented 8 years ago

Sorry, aggree; corrected.

beastie1 commented 8 years ago

There's something with the bookmark manager that has always bothered me. I don't know if it's the intended behavior.

When I double-click a folder Otter wants to open all the bookmarks stored there and only then it expands/collapses the display to show/hide the bookmarks.

I think it should load all the bookmarks if - and only if - I right-click and choose any of the "Open in New ..." commands. But if I right-click and choose "Open" or if I just double-click the folder it should just expand/collapse it.

Emdek commented 8 years ago

@VSHY, is that "cloning" easily reproducible in your case or was that just some random glitch? I can't reproduce that but this is how this kind of widget behaves by default, but our changes should prevent that. Also now new items are added next to one that was selected. I'm considering going one step further and selecting that new item too.

@AcarBurak:

  1. yes, it appears to be generic issue that sometimes triggers action unwillingly, but since I've seen similar issue in other Qt based applications it might be some upstream issue, although it might be possible to workaround it (it looks like mouse release event is being sent to menu instead of button, if that is true then we could try to detect that and do not allow to trigger action).
  2. These windows are menus, how they behave depends on platform but they are known to misbehave when there are lots of items... I'm considering use of custom menu, using scroll buttons instead of multiple columns, at least as alternative option. Another thing that could be useful in case of long menus would be optional filter field shown when there are more than n entries (where that value could be customizable, allowing also to disable it).
  3. Personally I don't like that action there but I'm planning to allow to create "template" for bookmarks menu which would allow to specify which actions should show up for each folder.
  4. Do you mean context menu of bookmarks menu? Yes, it could be useful there.
  5. It's already available in manager.
  6. Uhm, I'm not sure if it is good idea to allow to configure such detail.

@beastie1, currently we are listening to double clicks and are using it to trigger open action. I guess that we could solve this by extending our mouse gestures support to item views, then it would be easy to configure it, enabling or disabling that behavior (depending on how it will end up after implementing this, enabled or disabled by default). Although solving the issue managing (multiple selection using Ctrl + Shift) vs navigating (using Ctrl and Shift for open in background etc.) we might need some button with menu to select preferred mode (it could also include switch deciding if sorting should be permanent, which means that new order should be applied to data itself, not just the view).

VSHY commented 8 years ago

@Emdek

is that "cloning" easily reproducible in your case or was that just some random glitch?

Now, the "Start Page" folder cloned only.

Also now new items are added next to one that was selected. I'm considering going one step further and selecting that new item too.

Yes. But when a folder was selected then new item is not added.

Also, if to select any folder and to perform "Add Bookmark" command from context menu, further to fill the "Title" field in the dialog and to click Ok, as result we have a crash:


Exception Analysis


EXCEPTION_RECORD: (.exr -1) ExceptionAddress: 0000000069e77d60 (Qt5Gui!QStandardItem::takeRow+0x0000000000000010) ExceptionCode: c0000005 (Access violation) ExceptionFlags: 00000000 NumberParameters: 2 Parameter[0]: 0000000000000000 Parameter[1]: 0000000000000004 Attempt to read from address 0000000000000004

FAULTING_THREAD: 00000d54 DEFAULT_BUCKET_ID: NULL_CLASS_PTR_READ PROCESS_NAME: otter-browser.exe

FOLLOWUP_IP: Qt5Gui!QStandardItem::takeRow+10 69e77d60 8b6f04 mov ebp,dword ptr [edi+4]

BUGCHECK_STR: NULL_CLASS_PTR_READ_ZEROED_STACK LAST_CONTROL_TRANSFER: from 000000006960ea0e to 0000000069e77d60

STACK_TEXT:
WARNING: Stack unwind information not available. Following frames may be wrong. 00846fbc 6960ea0e 003bc4bd 00000000 00000000 Qt5Gui!QStandardItem::takeRow+0x10 00000000 00000000 00000000 00000000 00000000 MSVCR120!__RTDynamicCast+0x1a

SYMBOL_STACK_INDEX: 0 MODULE_NAME: Qt5Gui DEBUG_FLR_IMAGE_TIMESTAMP: 561c06dd STACK_COMMAND: ~0s ; kb FAILURE_EXCEPTION_CODE: c0000005 FAILURE_IMAGE_NAME: Qt5Gui.dll FAILURE_FUNCTION_NAME: QStandardItem::takeRow

Followup: MachineOwner


Win7 x64, Otter build 99 32-bit.

Added: The problem above with the crash is that instead of "Add Bookmark" dialog opens "Add Folder" dialog. The tilte of the dialog is "Add Bookmark" in both cases.

Emdek commented 8 years ago

@VSHY, this issue should be fixed for next weekly.

beastie1 commented 8 years ago

I understand how it's useful to have multiple columns in the Bookmarks Manager itself, but in the sidebar bookmark manager too?!

Is that the intended behavior or a bug? Or is there no way to have a separate structure for these two?

Emdek commented 8 years ago

@beastie1, this is side effect. I guess that I'll have to come up with some solution to set visible columns in independent way for both. I think that we have the same issue with all managers shown there, all of them share settings (visible columns and sort order) with their versions that use about:.

lollox commented 8 years ago

Something like the responsive design in HTML/CSS would be useful if available in QT technologies... or simply we could use different widget for sidebar panels and full-tab managers

Emdek commented 8 years ago

@lollox, nah, it doesn't make sense to duplicate it, the point is how to store it correctly, especially in conjunction with #1086. We could for example pass identifier of given sidebar to that widget so it would append it (it could be configured per sidebar) or just use one global keyword (all sidebars would share settings for given view).

Emdek commented 7 years ago

I'm not sure if this was mentioned here earlier but it was mentioned on forums: ability to separately sort folders first. It should be easier to do after changing ItemViewWidget to be aware of TreeModel (which has built-in support for folders) and prefer it over ordinary QStandardItemModel (which would allow some other internal improvements too, like better support for exclusive item checking).