<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>autogen.sh</filename>
    </added>
    <added>
      <filename>config.guess</filename>
    </added>
    <added>
      <filename>config.sub</filename>
    </added>
    <added>
      <filename>configure</filename>
    </added>
    <added>
      <filename>depcomp</filename>
    </added>
    <added>
      <filename>install-sh</filename>
    </added>
    <added>
      <filename>missing</filename>
    </added>
    <added>
      <filename>mkinstalldirs</filename>
    </added>
    <added>
      <filename>rpm.build.tcsh</filename>
    </added>
  </added>
  <modified type="array"/>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>052661a552a60cdc55596377fef716f7599a9f19</id>
    </parent>
  </parents>
  <author>
    <name>Kaity G. B</name>
    <email>uberchick@uberchicgeekchick.com</email>
  </author>
  <url>http://github.com/uberchicgeekchick/get2gnow/commit/1f064d3796cca10c2d79f1aac20fa85840762b99</url>
  <id>1f064d3796cca10c2d79f1aac20fa85840762b99</id>
  <committed-date>2009-10-21T18:56:11-07:00</committed-date>
  <authored-date>2009-10-21T18:56:11-07:00</authored-date>
  <message>#010001a36

Oh my goodness this commit feels so good!  I'll take full credit in being totally awesome!  Yes! Yes! Oh-Yes!

I finally got fed up with random 'libsoup critical errors because it couldn't process more than one request at a time.  So I finally implemented get2gnow's own request queueing.  This automatically effects all QUEUE &amp; POST request that are in get2gnow.  There are a few, actually only 1 think, GET requests.  This needs to be changed so its queued as well.  But otherwise all request are queueing and there are no more libsoup critcal errors not segfaults.  Well not unless you try really really really hard.

I've also implemented an 'update' feature to all of get2gnow's timelines so the 'seleceted_index', i.e. the row you clicked with your mouse or selected by browsing updates.  Browsing updates are now done via the keyboard by pressing &amp; holding &lt;Shift&gt; key or the &lt;Alt&gt;+&lt;Ctrl&gt; keys.  While holding the hotkey trigger one can navigate the on screen updates by pressing navigation keys.  Like Home, End, Up, Down, Page Up, &amp; Page Down.  While &lt;Tab&gt; selects the first update, index 0, regardless of any other keys being pressed or held.

Now when new updates are appended to any of get2gnow's timelines GtkListStore.  get2gnow now remembers &amp; updates, correctly, the selected index of the row you have selected so if you browse up, down, or etc.  get2gnow now browses from the last row you'd selected and not starting from the top like it used to.  However one can easily re-focus on the 1st/most recent by pressing the tab key.

To enter an actual tab into your update press &lt;Ctrl&gt;+[Tab].  A newline can be entered into your update by pressing &lt;Ctrl&gt;+[Enter].  Okay yeah hotkey tangent.

Back to my OnlineService re-factoring to add a threaded queue for libsoup requests.  I implemented this by actually moving a lot into my OnlineServiceWrapper object &amp; added the actual handler &amp; processing methods to my OnlineServiceWrapper object, 'src/online-service-wrapper.c'.

I may still need to add a linked list to track these queued timers but I don't believe so.  All of the checks I've put in place take care of catching any error or issue caused by the account being disconnected or deleted.

I still want to improve &amp; extend my queuing features - but right now it totally kicks ass!  I'm hella happy to have finally finished it and implemented an internal queue for get2gnow so there are no longer any libsoup issues &amp; get2gnow's segfaults...well compared to where they where at they're now a thing of a past(by comparision).

Lastly I've fixed an issue where updates from 'best friends' where notifications of unread updates where being repeated until one actually viewed their timeline/newest updates.  Now selecting a user's update tracks their newest &amp; unread update as being from the selected update forward again.  This was caused by my best friends code being spread across 4-5 different source files and up to 10 different methods.  I am working on centarlizing an improving how best friends are managed - especially their update IDs.  But it is but another part of my much larger re-factoring plan.  So step-by-baby step I'll keep getting closer.

This is just a sign of what I can truly do when I work toward truly beautiful code...its beautifully simple, elegant, and efficiant.  Please if there are any issues that you can find - let me know.  I'm almost ready for a release canidate.  Holy fuck does it feel good to say that, mean it, &amp; know its coming soon.

...a few lil tweaks to how get2gnow uses g_timeout callbacks to improve get2gnow's processor effeciancy.  Especially given how timeouts are used in get2gnow - dbly so for when I use them as parts of several queue implimentations.

Committed on : 2009-10-21 @ 07:56:11 PM</message>
  <tree>bc03bf729ce762035d71bf79d1b09ab68c5c7a81</tree>
  <committer>
    <name>Kaity G. B</name>
    <email>uberchick@uberchicgeekchick.com</email>
  </committer>
</commit>
