[haiku-cdt] Mail: GUI and Queries (was: [haiku-development] Re: Working on Haiku's Mail app)

  • From: "Humdinger" <humdingerb@xxxxxxxxxxxxxx>
  • To: haiku-cdt@xxxxxxxxxxxxx
  • Date: Fri, 04 Dec 2009 11:24:52 +0100

Hello!

All your guys' feedback got me thinking and re-evaluating the approach 
I took regarding the query stuff. I'd like to continue the discussion 
on the CDT mailing list, as I feel ashamed to be abusing this dev-
mailing list any longer.

*Please, if you're still interested, follow up on the CDT list, not the 
dev list.*
[The original thread on the dev list:
http://www.freelists.org/post/haiku-development/Working-on-Haikus-Mail-app]



What do you think of keeping a more traditional Haiku approach and 
losing the expandable query panel altogether? No need for a fancy new 
GUI widget, it saves space and complexity and would enable keyboard 
shortcuts.

Instead of its own view, we'll have the usual Queries menu (ticket 
#1208) and use an additional Queries toolbar button (which is not 
strictly necessary, but users relying on the toolbar would also want to 
access queries from there, I imagine).
Another option is to also provide a context menu on header information, 
so a right-click on e.g. the sender would show the below discussed menu 
item (here: "Same Sender... >") in addition to other options, like 
"Copy to Clipboard", "Add New People File" (if it doesn't already 
exist) etc.



Attention, ASCII art is coming up!

The queries menu:
 ____________
 |_Queries___|_____________
 |                        |
 | Same Subject...      > |
 | Same Sender...       > |
 | Same Mailing List... > |
 | Same Status...       > |
 |------------------------|
 | All in Timeframe     > |
 |------------------------|
 | { User Query 1 }...  > |
 | { User Query 2 }...  > |
 | { User Query 3 }...  > |
 | { User Query 4 }...  > |
 |------------------------|
 | Edit User Queries...   |
 |________________________|
 
What exact queries will be provided remains to be discussed. "Same 
Mailing List" appears only if the To:-field and your Account:-field 
don't match, a sign of a mailing list. The menu also changes when 
writing a new mail: here "Same Sender" is replaced with "Same Receiver" 
etc.

Besides the default queries, you can add user queries which are any 
query you put in "~/config/settings/Mail/User Queries". Only the empty 
attribute fields of those queries are replaced with the corresponding 
values of the current mail. Filled in values will remain untouched. 
That way more complex queries can be used, like "Same Subject && Same 
Sender" or "Same Sender !& Subject=="*[haiku-commits]*"".

Every menu item has a submenu to optionally limit the query to a 
certain timeframe.
You don't have to enter the submenu, if you just click on "Same 
Subject..." the query starts immediately showing all mail of that 
subject without timeframe limit. ("All in Timeframe" being the 
exception for the obvious reason...). This is similar to the "Open...  
>" menu in other apps, that provide a submenu with recent documents, 
> but show the open file dialog when just clicking the menu item.


The timeframe submenu:
 ____________
 |_Queries___|_____________
 |                     ___|_______________
 | Same Subject...    |_____Timeframe_____|
 | Same Sender...     |                   |
 | Same Mailing List..| Since 4 hours   > |
 | Same Status...     | Today           > |
 |--------------------| Since 3 days    > |
 | All in Timeframe   | Since 2 weeks   > |
 |--------------------| Since 6 months  > |
 | { User Query 1 }...|___________________|
 | { User Query 2 }...  > |
 | { User Query 3 }...  > |
 | { User Query 4 }...  > |
 |------------------------|
 | Edit User Queries...   |
 |________________________|


The timefame submenu of every menu item only provides Today and the 
units hours/days/weeks/months. The value is set in the next deeper 
submenu. These values are remembered for each menu item.

I expect a user to mostly reuse the once set value as it's only meant 
to roughly limit the timeframe of his query results. 


The value submenu:
 
 ____________
 |_Queries___|_____________
 |                     ___|_______________
 | Same Subject...    |_____Timeframe_____|
 | Same Sender...     |                   |
 | Same Mailing List..| Since 4 hours   >_|_
 | Same Status...     | Today          | 1 |
 |--------------------| Since 3 days   | 2 |
 | All in Timeframe   | Since 2 weeks  | 3 |
 |--------------------| Since 6 months | 4 |
 | { User Query 1 }...|________________| 5 |
 | { User Query 2 }...  > |            |_6_|
 | { User Query 3 }...  > |            
 | { User Query 4 }...  > |            
 |------------------------|
 | Edit User Queries...   |
 |________________________|
 
Depending on the unit, more or fewer values should be provided.
Maybe:
hours: 1,2,3,4,5,6,9,12 (then you can switch to today)
days: 1,2,3,4,5,6 (then you can switch to week)
weeks: 1,2,3 (then you can switch to month)
months: 1,2,3,6,12 (then you'll skip the timeframe altogether)


If the general idea is accepted, I'll once more update the GUI part of 
my proposal page at http://docs.google.com/View?id=ddx3qxp9_13ftxvhjgj.

Regards,
Humdinger

-- 
--=-=--=-=--=-=--=-=--=-=--=-=--=-=--=-=--=-=--=-
Deutsche Haiku News @ http://www.haiku-gazette.de


Other related posts: