Introduction and Tasks

2 views
Skip to first unread message

Brandon

unread,
Jan 1, 2010, 5:02:04 AM1/1/10
to Wave Notifier for Mac dev
Hi Group,

I'm a full time Cocoa developer at a company called Atimi Software.
I'd like to know if you'd like some help with the Wave Notifier.
Specifically, I'd like to:
1. Refactor the app to break out all code from main.m into
AppDelegate.m
2. Implement the preference allowing you to set which browser opens
when you click "Go To Inbox"
3. Anything else you think is helpful

Tasks 1 and 2 are complete in my fork already as well as removing a
hard coded constant called SERVICE_NAME which was performing the same
function as the value in CFBundleName.

Let me know if this is of any use in master, otherwise i'll continue
tinkering in my little branch :)


Thanks,

Brandon

hiroshi

unread,
Jan 1, 2010, 8:19:24 AM1/1/10
to Wave Notifier for Mac dev
Hi Brandon,

As for refactoring,
Yes, we should separate AppDelegate from main.m, but we have many
branches and forks depend on current file structure.
I don't know git can merge nicely after refactoring... How do you
think?

> 2. Implement the preference allowing you to set which browser opens
> when you click "Go To Inbox"

I think this is it:
http://github.com/hiroshi/Unofficial-Google-Wave-Notifier/issues#issue/3

I added wish list from my memo:
* get broser list from LSCopyAllHandlersForURLScheme
* choose default browser as the default
* popup button item with application icon
* waveboard schema support (e.g. wave:googlewave.com!w+5YoWnRebA)

> Tasks 1 and 2 are complete in my fork already as well as removing a
> hard coded constant called SERVICE_NAME which was performing the same
> function as the value in CFBundleName.

Please make branches and push them into your fork repository, then
I'll see them.
I think the change about SERVICE_NAME can cherry-pick. not needed a
branch.

> Let me know if this is of any use in master, otherwise i'll continue
> tinkering in my little branch :)

I'm sorry, but I don't get the meaning of this sentence. I guess, you
mean you make a branches, please do so.

Anyway, I'd like to track what change they are when I pull them.

Thanks
--
Hiroshi Saito

Brandon

unread,
Jan 1, 2010, 7:16:11 PM1/1/10
to Wave Notifier for Mac dev

> As for refactoring,
> Yes, we should separate AppDelegate from main.m, but we have many
> branches and forks depend on current file structure.
> I don't know git can merge nicely after refactoring... How do you
> think?

I'm not too sure how well Git handles the change in file structure
because I don't have much experience with it but it needs to happen.
The project is young and the file structure is small enough that this
shouldn't cause significant issues.

>
> > 2. Implement the preference allowing you to set which browser opens
> > when you click "Go To Inbox"
>
> I think this is it:http://github.com/hiroshi/Unofficial-Google-Wave-Notifier/issues#issue/3
>
> I added wish list from my memo:
> * get broser list from LSCopyAllHandlersForURLScheme
> * choose default browser as the default
> * popup button item with application icon

The three points have been implemented.


> * waveboard schema support (e.g. wave:googlewave.com!w+5YoWnRebA)

I'm not sure what this last point is, I could use a bit more detail.


You should see these changes in my repo branch. Pull as necessary.

hiroshi saito

unread,
Jan 1, 2010, 9:46:26 PM1/1/10
to wave-notifie...@googlegroups.com
Hi Brandon,

To pull your fork or cherry-pick your commit, I need to review where
and what changes are. To ease the process it is preferable to do task
commit and create topic branches.
I can't pull whole of the fork without understanding.

In your case,
* refactoring should be separated commit or two
* creating a topic branch is good for you and me, because;
* you can do off-topic changes at master
* I can pull your branch as is

Also, please keep white spaces as is, I prefer 4 spaces instead of a
tab for an indentation.

I'm sorry, I should say earlier.

I added little guideline for developer:
http://wiki.github.com/hiroshi/Unofficial-Google-Wave-Notifier/developer-dashboard
Please read this.

BTW, to keep differences are as small as possible, I attempted to do
`git mv main.m Classes/AppDelegate.m`.
However git didn't seems to understand my intention. Result of diff
show me newly created AppDelegate.m :(

Here is the commit on the "refactor_main_m"
http://github.com/hiroshi/Unofficial-Google-Wave-Notifier/commit/6667103bec71ee81b29705c5780911082abefb65

You can pull or fork this branch or retry yourself :)


It is hard to me to deal with multiple topics in a single thread in English.
I beg you post other topics I skipped as threads (topics).

Thanks
--
Hiroshi Saito

Brandon

unread,
Jan 1, 2010, 11:32:47 PM1/1/10
to Wave Notifier for Mac dev
Hi Hiroshi,

I'll describe my changes. Hopefully this helps a bit.

1. Refactor
I refactored main.m by first creating AppDelegate.m and .h and
creating a Classes folder.
I then cut the App Delegate code out of main.m and pasted into
AppDelegate.m and .h

You'll probably have to manually diff the old main.m and new
AppDelegate.m to get any chances made since I did the refactor.


2. Settings Change
I created a NSWindowController subclass called
SettingsWindowController.m. The job of this class is to separate out
the functionality needed to manage settings away from the AppDelegate.
Currently, the only code is to manage the NSPopUpButton and its
selection.

I added an instance of the SettingsWindowController to the
MainMenu.xib and set the window's delegate property to the new
controller and the controller's window property to the window.


On Jan 1, 6:46 pm, hiroshi saito <hiroshi3...@gmail.com> wrote:
> Hi Brandon,
>
> To pull your fork or cherry-pick your commit, I need to review where
> and what changes are. To ease the process it is preferable to do task
> commit and create topic branches.
> I can't pull whole of the fork without understanding.
>
> In your case,
> * refactoring should be separated commit or two
> * creating a topic branch is good for you and me, because;
>   * you can do off-topic changes at master
>   * I can pull your branch as is
>
> Also, please keep white spaces as is, I prefer 4 spaces instead of a
> tab for an indentation.
>
> I'm sorry, I should say earlier.
>

> I added little guideline for developer:http://wiki.github.com/hiroshi/Unofficial-Google-Wave-Notifier/develo...


> Please read this.
>
> BTW, to keep differences are as small as possible, I attempted to do
> `git mv main.m Classes/AppDelegate.m`.
> However git didn't seems to understand my intention. Result of diff
> show me newly created AppDelegate.m :(
>

> Here is the commit on the "refactor_main_m"http://github.com/hiroshi/Unofficial-Google-Wave-Notifier/commit/6667...

hiroshi saito

unread,
Jan 2, 2010, 3:19:56 AM1/2/10
to wave-notifie...@googlegroups.com
Hi Brandon,

I fetched your master, build it and run it, but it failed to launch.

"Could not connect the action showApplicationPicker: to target of
class SettingsWindowController"

Did you forget to push something?

The last commit is this:
http://github.com/btennant/Unofficial-Google-Wave-Notifier/commit/2c7a9987213f2d1abc555d9d42e789acc3b30734

10/01/02 16:52:25 Unofficial Google Wave Notifier[3884] Could not
connect the action showApplicationPicker: to target of class
SettingsWindowController
10/01/02 16:52:25 Unofficial Google Wave Notifier[3884] Could not
connect the action showApplicationPicker: to target of class
SettingsWindowController
10/01/02 16:52:28 Unofficial Google Wave Notifier[3884] Path (null)
given to -[NSWorkspace iconForFile:] is not a full path.
10/01/02 16:52:28 Unofficial Google Wave Notifier[3884] *** Assertion
failure in -[NSMenuItem initWithTitle:action:keyEquivalent:],
/SourceCache/AppKit/AppKit-949.54/Menus.subproj/NSMenuItem.m:182
10/01/02 16:52:28 Unofficial Google Wave Notifier[3884] An uncaught
exception was raised

10/01/02 16:52:28 Unofficial Google Wave Notifier[3884] Invalid
parameter not satisfying: aString != nil
10/01/02 16:52:28 Unofficial Google Wave Notifier[3884] ***
Terminating app due to uncaught exception
'NSInternalInconsistencyException', reason: 'Invalid parameter not
satisfying: aString != nil'
10/01/02 16:52:28 Unofficial Google Wave Notifier[3884] Stack: (
2510221291,
2537057851,
2510220747,
2530197188,
2429066472,
16316,
2510280693,
2428919182,
2428878778,
2428877084,
2428876127,
2428875933,
2428875084,
9362
)
10/01/02 16:52:28 Unofficial Google Wave Notifier[3884] Stack: (
2510221291,
2537057851,
2510220747,
2530197188,
2429066472,
16316,
2510280693,
2428919182,
2428878778,
2428877084,
2428876127,
2428875933,
2428875084,
9362
)
10/01/02 16:52:31 com.apple.launchd[217]
([0x0-0x161161].com.yakitara.Unofficial_Google_Wave_Notifier[3884])
Exited abnormally: Trace/BPT trap
10/01/02 16:52:31 com.apple.launchd[217]
([0x0-0x161161].com.yakitara.Unofficial_Google_Wave_Notifier[3884])
Exited abnormally: Trace/BPT trap

Brandon

unread,
Jan 2, 2010, 11:46:27 PM1/2/10
to Wave Notifier for Mac dev
Hey,

Looks like there was a leftover connection in the nib that was
pointing to a method I removed. It should work now. Please let me know
if it fails again.


Brandon

On Jan 2, 12:19 am, hiroshi saito <hiroshi3...@gmail.com> wrote:
> Hi Brandon,
>

> I fetched your master, build it and run it, but it failed to launch.
>
> "Could not connect the action showApplicationPicker: to target of
> class SettingsWindowController"
>
> Did you forget to push something?
>

> The last commit is this:http://github.com/btennant/Unofficial-Google-Wave-Notifier/commit/2c7...

Reply all
Reply to author
Forward
0 new messages