JDownloader Community - Appwork GmbH
 

Reply
 
Thread Tools Display Modes
  #1  
Old 15.04.2015, 07:15
Llamatron
Guest
 
Posts: n/a
Lightbulb Feature RQ: multiple Downloads tabs?

tl;dr summary:
Due to various reasons explained below, I think multiple contexts for the downloads table would be nice to have. Multiple Downloads tabs might be a good way to implement this. Other ways of flipping between search/scroll contexts would be fine.

A history buffer for the search box would NOT be enough, because it wouldn't preserve the window scroll position. edit: valuable context includes which packages are expanded, and which aren't. Also sorting by column.

Now the long version with explanation of why I want this:

When using JD2, I'm often in the middle of sorting out some links (setting comments, looking for duplicates) when a captcha pops up. I usually want to get more info about the download that's about to start. To do this, I have to change my filter pattern and mode. This loses my scroll position, as well as taking a few seconds to revert the filter changes.

So what I want is some way of switching between multiple views of the Downloads table, each view having its own context for scroll position and search filter (including both dropdown boxes).

I want this to make it easier to not lose my place in sorting out possible duplicates when I want to check on something else (usually because a connection is ready to start a download, but it can be other things.)

Anyway, there are a few ways I can think of to build multiple search/scroll contexts into the GUI, but I think the most elegant (or least clunky) would be to to allow the user to open new Downloads tabs.

Actions (like deleting a link or renaming something) in one tab would be visible in other tabs as soon as you switch. Preventing the user from closing the last Downloads tab would be a good idea, but I've seen programs like Vuze that don't work that way. (If you close your last downloads tab in vuze, you can just open another from the menu.)


What I do currently is usually add a |* to the filter string to match all, and flip the selectbox at the right to "running downloads", to quickly find the link that's starting. Then I can see the comment, and what connection it's starting on, and the ETA of other running downloads in case I'm planning to update JD2 or reboot soon, so I can avoid starting a long download that will take much longer than the current longest ETA. (I also sometimes care which connection a link is starting on, if I'm planning to get new IPs for my proxied connections soon to get a new batch of daily limits to work with.)

This makes it fairly easy to get back to my old filter, but it loses my scroll position. That's a big deal if I was using a filter that matched a lot of stuff.

Last edited by Llamatron; 15.04.2015 at 09:14.
Reply With Quote
  #2  
Old 15.04.2015, 12:34
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 60,451
Default

What more information do you need when a captcha is requested?
Think its better to provide as much information as possible than to make the user search/scroll/get info himself.



I can think of multiple VIEWs. For sorting/filtering/searching. Like adding a new view/tab. But they all work on the same list. What do you think about that?
__________________
JD-Dev & Server-Admin
Reply With Quote
  #3  
Old 15.04.2015, 18:21
Llamatron
Guest
 
Posts: n/a
Default

Quote:
I can think of multiple VIEWs. For sorting/filtering/searching. Like adding a new view/tab. But they all work on the same list. What do you think about that?
Yes, that's what I was thinking and trying to explain. And you access the views through the tabs at the top.

I hadn't even considered the possibility of making multiple download tabs with separate lists, so I didn't make sure my explanation made it clear that's not what I was talking about. I'd just run different instances of JD2 if I wanted that!


Quote:
What more information do you need when a captcha is requested?
Think its better to provide as much information as possible than to make the user search/scroll/get info himself.
Hmm, I see what you're thinking. Put more info on the captcha dialog, right? The things I want to check on can include everything from the comment to what other hosters have mirrors of that link, to what other downloads are running.


So I think flipping to a view that I leave set up with that info would be the ideal solution. (e.g. by clicking a tab at the top).

And if I'm not happy with which link came up for captcha, I'll do some searching around for a small or a large file to start, depending on what I want. Or do a quick dup-check if that link wasn't checked yet. So another view to play around with, without losing my context from whatever I was doing before, would be ideal.

Often I want to see whether the download starts, or triggers waittime. That can only happen after the captcha dialog closes.



If there was a "running downloads" view, that would solve a lot of problems. I often find myself flipping to "running downloads", with a search that matches everything (or search by hoster), and with all relevant packages expanded.

Sometimes I don't care about package information at all, and would prefer if the running downloads sorted globally, rather than within the package. (esp. for the case of running downloads.) But it'd get the job done to just be able to have a normal view that I left set to "running downloads" and the filter to match on hoster name.
Reply With Quote
  #4  
Old 16.04.2015, 10:09
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 60,451
Default

__________________
JD-Dev & Server-Admin
Reply With Quote
  #5  
Old 21.02.2019, 09:18
serrato serrato is offline
DSL Light User
 
Join Date: Dec 2017
Posts: 34
Default

Sorry to bump but any hope for this baby? Or is it infinitely stuck in the queue
Reply With Quote
  #6  
Old 21.02.2019, 10:32
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 60,451
Default

It's a more complex gui work and at the moment we don't have enough time to work on major tickets. Sorry for the bad news :(
__________________
JD-Dev & Server-Admin
Reply With Quote
  #7  
Old 21.02.2019, 11:50
serrato serrato is offline
DSL Light User
 
Join Date: Dec 2017
Posts: 34
Default

Quote:
Originally Posted by Jiaz View Post
It's a more complex gui work and at the moment we don't have enough time to work on major tickets. Sorry for the bad news :(
Ah shucks. Although, how about downgrading this as it seems more complex, into something hopefully simpler? I'm not sure I entirely understood OP's requirements, but this is the gist of what my personal request is:

- Ability to create and destroy extra download tabs (excluding the original one, naturally).
- Extra tabs would be just copies of the original; all visual assets and search functions are all copied over; they're literally copies, just blank.
- One can assign a download to go to another tab, but they cannot exist in more than one tab at the same time.

So in my mind (and I haven't touched programming in quite a bit), I'd have an array of tabs. Each tab has its ID or index or whatever. When a package is in the linkgrabber, there is an option to assign the package to a certain tab (by index for example, or if we can rename the tabs, then the names will be listed). This would be exactly like assigning the save location for each link. The default download-tab will be updated with the last-selected one, or one can change this behaviour in options to not update to last-selected.

[Speaking of which, I know there is a setting to set a default download location, which I have set of course, but is there a way to do what I just mentioned above? That is, have the default location update to the one used previously? I recall I read something similar to it and tried to look for it in the settings and may have found something related but it didn't seem to work (entirely dependent on my original understanding of whether this feature exists or not to begin with). Shall I make a new topic for this instead as this is not really the place for it?]

Anyway do let me know if this seems viable or if I just rewrote what OP wanted lol. Thanks!
Reply With Quote
  #8  
Old 21.02.2019, 12:06
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 60,451
Default

Quote:
Originally Posted by serrato View Post
- Ability to create and destroy extra download tabs (excluding the original one, naturally).
- Extra tabs would be just copies of the original; all visual assets and search functions are all copied over; they're literally copies, just blank.
- One can assign a download to go to another tab, but they cannot exist in more than one tab at the same time.
These 3 points alone are very complex. Update gui code to support multiple tabs. those tabs need their own backends/storages else all of them will show the exact same content backend/frontend must be updated to support
moving links. download core must be updated to support multiple backends and many more.

the initial idea/ticket is not about having seperate download lists but all tabs share the same backend/list and you can just do different filter/views. but the content/downloadlinks will be the same for all. there still will be only 1 download list not multiple lists.
__________________
JD-Dev & Server-Admin
Reply With Quote
  #9  
Old 21.02.2019, 12:08
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 60,451
Default

You cannot assign downloaddirectory to links but only to packages. you can assign/change for each package separately. or do you mean something different? then please let us know
__________________
JD-Dev & Server-Admin
Reply With Quote
  #10  
Old 21.02.2019, 12:45
serrato serrato is offline
DSL Light User
 
Join Date: Dec 2017
Posts: 34
Default

OK I see. So my idea is a bit different.

Regarding the download list and tabs:
Is it possible to retain the original download list (as it is by default a database) and then the tabs are just, at the end of the day, simply different views? For instance, right now each database entry for a download package probably has properties like id, name, save location, password, etc. so how about an extra property that, as aforementioned, defines which download tab it shows up on? Forgive me for sounding dumb as I am not aware of how the backend is set up, but it shouldn't be a difficult change to incorporate.

That way then one can have multiple tabs and assign download packages in linkgrabber to whichever tab they wish. Although as you said that even the ability to create extra download tabs seems to be complex as it is, so I suppose there's some sort of thing that needs to be taken care of so it all works together. But yeah, basically I'm imagining tabs in relationship where only a property in the master database is changed when a package is put in whichever tab. Would this help in not having to have separate backend/storages for each tab? Of course that's entirely dependent on my assumption that there's a master database and the GUI code is separated in such a way.

Regarding the download directory:
Yes, sorry, I meant packages. I'm aware only packages can be set a directory, so yes, I meant packages. I'm looking for a way to have packages adopt the download directory of whatever the directory was set for the previous package (either added or sent to downloads).
Reply With Quote
  #11  
Old 21.02.2019, 15:31
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 60,451
Default

Your idea with the tabID property sounds easy but this also is a complex rewrite.
Just to give some idea what you have to think about
-all actions (hotkey, context menus) have to be updated to work only on those links for the current tab
-model-view-controller requires changes to support different tabs. what happens when you close a specific tab. will those links automatically show up in default tab or not visible at all..automatically assigned to default tab or just shown.
__________________
JD-Dev & Server-Admin
Reply With Quote
  #12  
Old 21.02.2019, 15:35
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 60,451
Default

Quote:
Originally Posted by serrato View Post
Of course that's entirely dependent on my assumption that there's a master database and the GUI code is separated in such a way.
Yes, that's correct. There is a data backend and a model-view controller sitting on top of that. the complete model/databackend is highly optimized to even support 100 of thousands of links and even million of links in list. just by introducing a tabID would break ALL those optimizations as each refresh would mean to go through ALL the entries in backend and check each refresh what items
are meant for what view. all calculations must honor those infos. all actions must honor those infos...

on first sight this seems to be easy change but it basically comes down to multiple data backends and different views
__________________
JD-Dev & Server-Admin
Reply With Quote
  #13  
Old 21.02.2019, 15:38
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 60,451
Default

Quote:
Originally Posted by serrato View Post
I'm looking for a way to have packages adopt the download directory of whatever the directory was set for the previous package (either added or sent to downloads).
I'm sorry but I don't understand. Can you please explain more detailed. What do you mean by *adopt*?
There are many ways to specify download directory. When I understand better what you are trying to achieve, then I can try to help
__________________
JD-Dev & Server-Admin
Reply With Quote
  #14  
Old 22.02.2019, 08:27
serrato serrato is offline
DSL Light User
 
Join Date: Dec 2017
Posts: 34
Default

Right, I understand now. Hope this feature sees the light of day!

BTW I am curious though, have you guys considered using Qt instead of Java? I've noticed that even with thousands of links, something like qBittorrent takes up very little actual memory but jD tends to be heavier unless I reduce the packages that have hundreds or thousands of links within them. Just going by anecdotally of course, I'm not entirely sure if it's the number of links per package or just number of packages that causes more memory requirements.

Regarding the directory adoption, I mean that right now:
1) jD has a default save directory set
2) Whatever is in linkgrabber uses this default directory

Let's say 3) I set the package to download into D:/Not Default.

My request is a feature that will update the default save directory globally to D:/Not Default because this is the directory set for the previous package.

I am still not completely sure if it should update the default directory immediately or only for packages that have started downloading. Though I am leaning towards the former.
Reply With Quote
  #15  
Old 22.02.2019, 22:28
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 60,451
Default

will comment on monday
__________________
JD-Dev & Server-Admin
Reply With Quote
  #16  
Old 11.03.2019, 09:23
serrato serrato is offline
DSL Light User
 
Join Date: Dec 2017
Posts: 34
Default

OK I may have a revised, work-around kind of thing that could possibly achieve a similar organisational effect.

Instead of tabs, have the ability to create a super package, which is only visual and move whichever packages you want into this, like folders:

Currently if one moves a link or package into another package, then it actually moves it in the filesystem as well. But this would be a GUI-only "folder"-package, so to speak, acting visually the same way as any other package except it contains packages. So effectively a folder lol. But again, having no physical effects on the location of its contents.

That way if there are way too many individual packages, it can at least clean up the view and not have to use really long scrollbars lol. Might also help in the GUI drawing functions as closed-folders wouldn't be drawn until open.

What do you think?
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT +2. The time now is 12:50.
Provided By AppWork GmbH | Privacy | Imprint
Parts of the Design are used from Kirsch designed by Andrew & Austin
Powered by vBulletin® Version 3.8.10 Beta 1
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.