The Omni Group Forums

The Omni Group Forums (http://forums.omnigroup.com/index.php)
-   OmniFocus 1 for Mac (http://forums.omnigroup.com/forumdisplay.php?f=38)
-   -   How to add a project focus to a perspective (http://forums.omnigroup.com/showthread.php?t=16258)

magobaol 2010-05-24 06:54 AM

[QUOTE=magobaol;77581]Hi whpalmer4,
thank you for yor hint, but it doesn't work for me. When I click "Show all", just one project remains selected in the sidebar, even if I selected all the projects in my perspective. :-(
[/QUOTE]

Well, actually... this works.
I've just tried again this procedure and this time the projects remain selected. But sometimes not all of them remain selected.
I will do some other test and in case I will report it as a bug.

Ciao,
Francesco

RobTrew 2010-06-10 06:30 AM

[QUOTE=magobaol;77559]what I mean was to filter the projects in the left panel, not just the actions, and I seems there is no way to do this (using the flag status)[/QUOTE]

I tend to use a script for re-focusing the sidebar - on my system it seems to run marginally faster than retrieving a stored perspective.

for example, to list only flagged projects in the sidebar:

[CODE]
property pTitle : "Focus on flagged projects"

tell application "OmniFocus"
set oDoc to default document
set lstProjects to my ProjectList(oDoc)
if length of lstProjects > 0 then
set focus of front document window of oDoc to lstProjects
else
set focus of front document window of oDoc to {}
display dialog "No flagged projects found" with title pTitle
end if
end tell

on ProjectList(oParent)
using terms from application "OmniFocus"
tell oParent
-- ADJUST THE WHERE QUERIES TO MATCH
--THE TYPE OF PROJECTS YOU WANT TO LIST
set lstProjects to projects where (flagged is true) and ((status is active) or (status is on hold))
set lstFolders to folders where hidden is false
end tell
repeat with oFolder in lstFolders
set lstProjects to lstProjects & my ProjectList(oFolder)
end repeat
return lstProjects
end using terms from
end ProjectList
[/CODE]

joshj 2012-04-23 03:04 PM

[QUOTE=RobTrew;78388]I tend to use a script for re-focusing the sidebar - on my system it seems to run marginally faster than retrieving a stored perspective.

for example, to list only flagged projects in the sidebar:

[CODE]
property pTitle : "Focus on flagged projects"

tell application "OmniFocus"
set oDoc to default document
set lstProjects to my ProjectList(oDoc)
if length of lstProjects > 0 then
set focus of front document window of oDoc to lstProjects
else
set focus of front document window of oDoc to {}
display dialog "No flagged projects found" with title pTitle
end if
end tell

on ProjectList(oParent)
using terms from application "OmniFocus"
tell oParent
-- ADJUST THE WHERE QUERIES TO MATCH
--THE TYPE OF PROJECTS YOU WANT TO LIST
set lstProjects to projects where (flagged is true) and ((status is active) or (status is on hold))
set lstFolders to folders where hidden is false
end tell
repeat with oFolder in lstFolders
set lstProjects to lstProjects & my ProjectList(oFolder)
end repeat
return lstProjects
end using terms from
end ProjectList
[/CODE][/QUOTE]



Hi Rob,

Thanks very much for posting the "Focus on flagged projects" Script. I had been trying to fathom a workaround for this in OmniFocus until I found the script.

I was wondering; Is there a way of getting the script to also enable the prioritization of flagged projects in the sidebar? (without effecting the position of those projects within their Projects Folders)

After applying the Script, I tried prioritizing the focused Projects in the Sidebar and they just jumped to the top of the Sidebar (and out of their Project folders - in Library view).

This function would be a great help!

RobTrew 2012-05-03 12:20 PM

I don't think that there is any way of avoiding the fact that dragging focused projects to new relative positions will drag them out of their folders.

Might be worth a request to the Ninjas through Help > Send Feedback ...

In the meanwhile, I think you can probably make the script a bit simpler and faster by rewriting it along these lines:

[CODE]property pTitle : "Focus on flagged projects"

tell application id "OFOC"
tell default document
set refProjects to a reference to (flattened projects where (flagged is true) and ((status is active) or (status is on hold)) and ((its folder is missing value) or ((effectively hidden of its folder) is false)))
set {lstID, lstName} to {id, name} of refProjects
set lstProjects to contents of refProjects
set focus of front document window to lstProjects

if length of lstProjects < 1 then
display dialog "No flagged projects found" buttons "OK" default button "OK" with title pTitle
else -- Place linked MarkDown text in Clipboard
set strMK to ""
repeat with i from 1 to length of lstID
set strMK to strMK & "*" & tab & "[" & item i of lstName & "](omnifocus:///task/" & item i of lstID & ")" & return & return
end repeat
tell application id "MACS" to set the clipboard to strMK
end if
end tell
end tell[/CODE]

RobTrew 2012-05-04 07:20 AM

Edited the code in the previous post to:[LIST][*]Correct the handling of flagged projects which are not inside folders[*]Place a linked text list of the projects (Markdown format) in the clipboard.[/LIST]
(You could at least use this script paste a text list somewhere and reorder that. If you drop the text into a Markdown processor you will get clickable hyperlinks back to the projects in OF).


All times are GMT -8. The time now is 06:05 PM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.